Love is

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 „Gefällt mir“

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: Love is ...
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: Love is ...
Android: https://play.google.com/store/apps/details?id=org.apogames.love
Desktop: https://www.apo-games.de/love/Love.jar