Love is

So nun habe ich den Vorschlag von TMII umgesetzt und man kann nicht mehr verlieren. Stattdessen kommt ein Hinweis, dass man ‘u’ drücken soll, um den letzten Schritt rückgängig zu machen. Gerade bei schmalen Wegen oder langen Levels sehr praktisch. Vielen Dank für den Hinweis.
Außerdem habe ich weitere Levels erstellt und suche nun nach Sounds.

https://www.apo-games.de/love/

ich finds richtig gut. habe gerade die letzte halbe Stunde vor meiner Mittagspause damit vertrödelt. Super Sache ^^

1 Like

Lustiges Spiel :slight_smile: Bin gerade bei Level 11, aber das ist ziemlich tricky

1 Like

Das freut mich natürlich zu hören, dass es Spaß macht.

Habe das Spiel nun auch im google play store veröffentlicht - https://play.google.com/store/apps/details?id=org.apogames.love . Es spielt sich auf einem Tablet >=9 Zoll echt angenehm und sehr gut. Habe es mit dem galaxy tab 4 10.1 und mit einem Medion Gerät ausprobiert. Bei Smartphones spielt es sich sehr gut, aber der Editor ist nicht so gut bedienbar. Mal schauen ob ich da noch was machen werde. Die letzten Userlevel habe ich aber alle auch im Smartphone erstellt. Geht schon :wink:

Jetzt kommen noch Kleinigkeiten wie Levelauswahl auch im Spiel, Sounds etc.

Vielleicht fallen mir aber noch tolle “Wörter” ein, dann erweitere ich es noch weiter. Überlege schon, wie ich es schaffe auch Spiele mit Maus usw. mit reinzubringen, ohne das es zu aufgesetzt wirkt :smiley: und sich halt gut einfügt. Weil dann kriege ich fast alle Spiele von mir unter in dem Spiel. :smiley:

https://www.apo-games.de/love/

Dank einiges Tester konnte ich ein paar Bugs entdecken und habe sie gleich entfernt.
Außerdem habe ich es etwas sichtbarer gestaltet, ob die Befehl/eine Regel funktioniert oder nicht.

Außerdem gibt es nun eine Desktopversion, welche im Fullscreen läuft und wesentlich performanter als die HTML Version ist: https://www.apo-games.de/love/Love.jar

Aber auch die schicke HTML Version gibt es noch: https://www.apo-games.de/love/ :slight_smile:

Oder aber die Playstore Variante: https://play.google.com/store/apps/details?id=org.apogames.love
Gerade da würde ich mich über ein paar Downloads und nette Bewertungen freuen. =)

Nun gibt es ein neues Verb “ghost” und außerdem das Wort “and” zum Verbinden der Objekte oder Prädikate :wink: :smiley:

Außerdem viel mehr Levels und durch die neuen Wörter habe ich gleich weitere “kleinere” Bugs in der Logik gefixt und wahrscheinlich neue eingebaut …

https://www.apo-games.de/love/

Hab ich da ein bug gefunden?


Es gilt “Hero is you”, “Empty is Goal” und Hero ist auf Empty. :thinking:

Oh stimmt. Scheinbar funktioniert empty is Goal generell nicht mehr. Da muss ich schauen, was da kaputt gegangen ist. Vielen Dank dafür.

Und schöne Lösungsmöglichkeit für das Level, auf die bin ich noch gar nicht gekommen.

Vielen Dank noch einmal für den Fehler.

Nun funktioniert auch “EMPTY IS GOAL” wieder.
Habe nebenbei noch einen Fehler beim Undo beseitigt.

https://www.apo-games.de/love/

1 Like

Kurz eine persönliche Sache:

Ich wurde von jemanden aus dem Forum angeschrieben, dass er es schade findet, dass ich nicht erwähnt habe, woher die Grundidee von “Love is …” stammt. Und das ist auch vollkommen richtig und war nicht meine Absicht. In meinem anderen JavaForum ( http://www.java-gaming.org/topics/iconified/38865/view.html ) habe ich es erwähnt, hier leider vergessen. Generell erwähne ich, wenn eine Idee vom wem anders stammt. Dann versuche ich aber auch keinen 1:1 Klon zu erstellen, sondern das Prinzip zu erweitern mit eigenen Ideen und Leveln. Hier hatte ich es vergessen und das ist mein Fehler. Ich wollte und will mich nicht mit fremden Federn schmücken. Das wollte ich bloß sagen.

Die Grundidee von Love is … stammt von Baba is you. Ein Spiel aus dem Nordic Jam 2017 ( https://hempuli.itch.io/baba-is-you ). Ich fand es damals schon super und wollte es ausprobieren, ob ich das Prinzip übernehmen kann und durch eigene Begriffe weitere Spielprinzipien hinzufügen kann. Das habe ich dann auch. Habe gerade gesehen, dass nun eine Vollversion davon auf Steam und für die Switch herausgekommen ist ( http://www.hempuli.com/baba/ ). Da das Spielprinzip immer noch verdammt genial ist, unterstützt gerne das gepolishte Original.

Love is … wird trotzdem noch weiter entwickelt. Habe noch ein paar Ideen, die ich gerne ausprobieren möchte, unabhängig von Original. :wink: Die Bewegung von Objekten möchte ich noch ermöglichen und Touch/Maus unterstützen. Mir schwebt sowas vor wie Match3 Spiele, aber man muss dabei die Regeln verändern, um es zu lösen. Noch fehlen mir aber die richtigen Begriffe, die in meinen Augen eineindeutig dafür sind. Aber ich bleibe dran, da ich das Prinzip nach wie vor genial finde.

Zwecks Ideen klauen möchte ich auch kurz erwähnen, dass @darekkay mich vor ein paar Jahren auch mal gefragt hat, ob ich wüsste, dass mein ApoSimple es auch im Androidstore gab (aber nicht von mir). Wusste ich nicht. :wink: Ich fand es zwar traurig, dass die andere App viel mehr Downloads hatte als meine, aber generell finde ich es richtig schön, wenn das Spiel, auch durch andere, Leute erreicht und Ihnen ein paar schöne Minuten ermöglicht.

1 Like

Ich erinnere mich an ApoSimple. Jemand hat DEINE App hochgeladen, oder eine ähnliche App? Ich frage nur weil das könnte ja auch zum verteilen von Schadcode genutzt worden sein, irgendwelche Scams, oder - die Bewertung von Apps ist auch immer abhängig von der Bewertung der anderen Apps der gleichen Person - um einen Account zu pushen?

Jemand hat eine ähnliche App hochgeladen. Sie sah SEHR ähnlich aus und auch die GUI sehr ähnlich (gleiches Farbschema, gleiche Formen für das Spiel und die Highscoredarstellung), aber doch minimal anders. Da ich für ApoSimple alles mit Bildern gerendert habe und nichts selber gezeichnet, würde ich behaupten, dies ist eine andere App, aber das Spielprinzip komplett kopiert.
Ob die App trotzdem Schadcode hatte, weiß ich natürlich nicht. :wink:

So nun wieder zu “love is …”. Bin leider immer noch nicht wirklich weiter wie ich entweder touch/Mausevents in das Spiel implementiere oder einfach nur Match3 Spiele.

Idee für Match3 Levels/Spiele:
Ein Sprachkonstrukt aus vier anstatt drei Elementen könnte klappen, sodass man die fest “three” + beweglicher Teil + “is” + “empty” hat. Dann könnte man sie durch verschieben erledigen. Aber ich würde ja nur vertikal und horizontal benötigen und nicht zwangsläufig drei irgendwie nebeneinander. Also nicht perfekt logisch, aber ich könnte damit leben.
Jetzt müsste ich es nur noch sinnvoll hinbekommen, dass es auch nach “unten” rutscht, wenn es darunter leer ist. Da fällt mir noch nichts ein … ist doch zum Mäuse melken. Hat jemand eine Idee? Also für die Schwerkraft. Es würde so etwas gehen wie “Tree is heavy” das bedeutet, wenn das Tile drunter frei ist, fällt es herunter, ABER so richtig logisch ist das bei einem 2D-Top down-Spiel nicht. Ich bräuchte kurz und knapp etwas für “if tile under object is empty then move down”. Jemand eine Idee? Oder habe ich euch jetzt verwirrt?

Andere Idee mit “Move”
Falls jemand auch eine Idee hat damit sich Objekte sinnvoll bei einem Schritt bewegen, dann gerne auch her damit, weil “tree is move” ergibt für mich keinen Sinn, da ich nicht weiß in welche Richtung es sich bewegen soll. Auch ein “tree is ‘move horizontal’” ist nicht eineindeutig, da ich nicht weiß ob es sich im nächsten Schritt nach links oder rechts bewegt.

Aber noch gebe ich nicht auf. Mir werden da noch schöne Wörter einfallen, weil die Levels dafür sind schon in meinem Kopf fertig :smiley:

Heute habe ich mich wieder auf die Suche nach der Performance begangen und habe doch viele recht sinnfreie String Vergleiche gefunden. Durch die Beseitigung selbiger sollte es in der HTML Variante jetzt schon einmal schneller laufen. Aber ich suche noch weiter.
Des Weiteren habe ich angefangen if then mit zu implementieren.
Ziel ist es, dass der Spieler dann “if man is you then water is hot” oder ähnliches zusammenschieben kann. Dabei muss natürlich aufgepasst werden, das water is hot nicht schon vorher zusammengeschoben wird, weil es dann natürlich so gilt. In meinem Kopf gehen dann wirklich lustige Levels.

Mal schauen wann ich es umgesetzt bekomme, aber gerade bin ich wirklich wieder Feuer und Flamme für das Spiel. =)

If then hört sich sehr interessant an. Wenn ich das jetzt richtig interpretiere ist das eine Einschränkung in der Praxis für den Spieler?

Das verstehe ich nicht ganz. Ich dachte eher an eine Erweiterung der Möglichkeiten.
Im folgenden ein Beispiel. Wenn der Spieler einen bestimmten Punkt erreicht, dann verändern sich die Regeln. Im Screenshot sieht man das sehr gut. Laufe zum Herz und wenn du drüber stehst, dann passieren verschiedene Dinge und komme danach mit den Regeln klar. :smiley:

Naja kommt auf die Ansichtsweise an. Für das Spiel entstehen neue Möglichkeiten interessantere Level mit mehr Möglichkeiten zu kreieren. Effektiv wird der Spieler aber eingeschränkt, weil eine if-Bedingung ist nun mal eingeschränkter als ein is.

Das erinnert mich gerade an dieses Paradoxon in der Ethik, das man erst die Freiheit hat eine Entscheidung zu treffen, wenn einem ein Stein in den Weg gelegt wird. Ist ja auch egal :smiley: Ich denke wir sind auf dem gleichen Level :sweat_smile:

1 Like

So nun gibt es die neuste Version mit if then auch online im web und für den Desktop. Die Android Version wird noch nachgezogen.
Ich habe erst einmal drei Levels mit if then implementiert, die ich eigentlich für ein eigenes Spiel plane.
Außerdem gibt es außer “is” nun noch “is not” und “is on”.
Ich werde also jetzt noch ein paar Levels bauen. Aber ihr dürft es auch machen, wenn ihr Lust habt. =)

Web: https://www.apo-games.de/love/
Desktop https://www.apo-games.de/love/Love.jar

Screenshot

So heute habe ich noch einige kleine Fehler gefunden und behoben und fünf weitere Levels gebaut.
Außerdem habe ich die Android Version nun auch aktualisiert.

Vielleicht versuche ich mich jetzt mal an Sounds. Außerdem schwirren mit noch einige Spielideen im Kopf, die jetzt theoretisch umsetzbar sein müssten. =)
Hätte nicht gedacht, dass dieses Spiel mich doch länger beschäftigt als die meisten anderen (und das obwohl z.B. Hitori jetzt schon mehr Downloads hat als Love is … :wink: )

Web: https://www.apo-games.de/love/
Desktop: https://www.apo-games.de/love/Love.jar
Android: https://play.google.com/store/apps/details?id=org.apogames.love

Habe gestern Abend mal wieder Zeit für das Spiel gefunden. Viel neues ist nicht hinzugekommen, aber es wurden einige Bugs entfernt und die Logik für die if Bedingungen gerade gebogen. Wenn ich den Code dafür derzeit sehe, schreit alles nach refactoring und ordentlich machen … mal schauen wann (und wenn ich ehrlich bin auch ob) ich dafür Zeit finde.

entfernte Bugs:

  • im Editor gab es eine Exception wenn eine if Beding ganz außen plaziert wurde
  • Level 34 war super einfach zu lösen, da ich eine Regel vergessen hatte einzufügen (ice is kill). Jetzt ist das Level immer noch nicht super schwer, weil ich gestern neue Möglichkeiten zur Lösung des Levels gefunden habe … aber auch so lösbar wie eigentlich gedacht
  • vorher hat die if then Logik nur gegriffen beim Prädikat is on … nach vielen verzweifelten Aufrufen gestern habe ich es jetzt verstrickt das auch das Prädikat is als Bedingung funktioniert =)

Web: https://www.apo-games.de/love/
Android: https://play.google.com/store/apps/details?id=org.apogames.love
Desktop: https://www.apo-games.de/love/Love.jar

Hach, dieses Spiel lässt mich nicht los…
Dieses mal habe ich die Regeln etwas besser sichtbar gestaltet (jetzt mit blauer Umrandung und bei if then Bedingung falls die Bedingung nicht erfüllt ist, kommt ein rotes Kreuz dazu (siehe Screenshot))
und
!!(viel wichtiger) ich habe es in der Web Version schneller/besser spielbar hinbekommen!!
Der @darekkay sagte mal, wie schafft der Apo nur so ein einfaches 2D-Spiel so langsam hinzubekommen. Das wurmte mich natürlich und jetzt habe ich eine Stellschraube gefunden. Davor wurde die Logik nach jedem Schritt komplett neu ausgewertet (also alle Tiles zurückgesetzt, dann die Regeln eingelesen und danach die Regeln auf alle Tiles angewendet). Jetzt wird nur alles neu berechnet, wenn eine neue Regel hinzukommt oder wegfällt (durchs schieben oder if then). Wenn der Spieler nur läuft und die Regeln nicht verändert, dann müssen nur die Tiles neu berechnet werden, die sich auch bewegt haben. Mag wenig klingen, aber ein 20x20 Feld oder 2 Felder pro Zug neu berechnen bei 10 Regeln … macht einen Unterschied von 4000 zu 20 … also im Regelfall um Faktor 200. =)
Optimiert kann natürlich trotzdem noch werden. :smiley:

Web: https://www.apo-games.de/love/
Android: https://play.google.com/store/apps/details?id=org.apogames.love
Desktop: https://www.apo-games.de/love/Love.jar