Meine Gedanken zum Arcade Modus Snake

WICHTIGER HINWEIS
Wie am 01.07.2022 bereits über unser Forum und Socialmedia Kanälen angekündigt, befindet sich das TheLotus Network seit dem 15.07.2022, 23:59 Uhr für unbestimmte Zeit in Wartungsarbeiten. Alle Premium-Ränge werden während der Wartungsarbeiten selbstverständlich pausiert. Bereits gekaufte Ränge werden NICHT erstattet! Weitere Informationen findet ihr hier: Zur News

Vielen Dank für euer Verständnis!
  • Einleitung

    Hey zusammen, seit dem Release hat man hier auf dem Forum nicht viel von mir gehört.


    Durch mein Studium habe ich leider nicht viel Zeit die Modi auf TheLotus zu spielen, doch ich ich habe die letzten Wochenenden wieder Spass daran gewonnen Snake zu spielen und da auf Highscores zu spielen.


    Und so kommen wir auch schon zum Thema vom Beitrag, denn Snake hat eine überraschend komplexe Strategie dahinter, welche man berücksichtigen muss, um die höchsten Scores zu erreichen. Nun haben die meisten Spieler die Grundideen bereits im Bauchgefühl, doch ich möchte in diesem Beitrag diese etwas konkreter definieren, diese anhand ein paar Beispielen erläutern und anschliessend noch ein paar Regeln/Tipps geben, mit denen auch ihr regelmässig Scores von über 400 schaffen könnt.


    Das Spiel

    Den ganzen Beitrag beginne ich vielleicht am besten mit einer kurzen Erklärung worum es in Snake geht, beziehungsweise was möglicherweise nicht auf den ersten Blick offensichtlich ist.


    Es ist wohl allen klar, dass man in Snake versucht so viele Früchte wie möglich zu essen, doch hinter einer guten Punktzahl steckt noch viel mehr.

    Das Problem ist, dass das Spielfeld nur endlich viele Felder hat und die Schlange mit jeder Frucht länger wird. Irgendwann ist der Spieler also gezwungen in sich selbst zu "laufen", spätestens wenn das ganze Feld von ihm besetzt ist. Dieses Ereignis werde ich hier den "Kill Screen" nennen.


    Das Feld besteht aus 64 Feldern und die Schlange fängt mit einer Länge von 3 an. Das bedeutet, dass der Spieler maximal 62 Früchte einsammeln kann bevor er länger als das ganze Spielfeld wird und dann das Spiel fertig ist. Dies zu erreichen braucht nicht besonders viel Strategie sondern hauptsächlich gutes Timing.

    Wenn immer wieder durch den gleichen Pfad im "Kreis" geht und dieser Pfad durch jedes Feld führt, dann schafft man automatische den Kill Screen zu erreichen. Diese Pfade werden in der Graphentheorie "Hamiltonian Cycles" genannt und unten sehen wir ein Beispiel für einen solchen Pfad.



    Wenn man auf einen möglichst hohen Score spielt, muss man also versuchen in 62 Früchten, so viele Punkte zu sammeln.


    Nun ist also die grosse Frage wie man denn die meisten Punkte pro Frucht bekommt.

    Ganz einfach gesagt bekommt man mehr Punkte je schneller man die nächste Frucht erreicht.

    Doch die ganze Geschichte ist etwas komplizierter.


     


    In diesen Beispielen können wir sehen, dass der Apfel direkt vor der Schlange ist. Wenn wir gerade auf den Apfel zugehen, werden wir volle 10 Punkte für den Apfel bekommen. Wenn wir jedoch einen nicht direkten Weg zum Apfel nehmen, erhalten wir weniger Punkte.



    Wenn wir einen kurzen Umweg nehmen und dadurch 2 Schritte länger brauchen, werden wir für den gleichen Apfel nur noch 8 Punkte erhalten.


    Eine interessante Feststellung ist hierbei, dass man nur immer eine gerade Anzahl an Schritten vom optimalen Weg entfernt sein kann, das heisst dass man folgende Punkteverteilung hat.

    Optimaler Weg: 10 Punkte

    2 Schritte länger: 8 Punkte

    4 Schritte länger: 6 Punkte

    6 Schritte länger: 4 Punkte

    8 Schritte länger: 2 Punkte

    Alles Längere: 1 Punkt


    Falls wir die perfekte Runde haben, erhalten wir für jede der 62 Früchte 10 Punkte und enden mit 620 Punkten. Wir sehen an dem momentanen Highscore von 521, dass man dieses Glück leider nicht hat. An der Differenz von 99 kann man erkennen, dass wenn man den Highscore knacken möchte, 99 Punkte zu "verspielen" hat um trotzdem 521 Punkte zu erreichen.


    Nun sieht die Strategie schon etwas komplizierter aus, doch man kann das ganze weiterhin relativ simpel zusammenfassen als:

    "Sammle einfach möglichst schnell jede Frucht ein und erreiche dann den Kill Screen."

    Diese Zusammenfassung leitet aber zu einem falschen Bild, und dies werden wir jetzt in der Strategie sehen. Dabei teile ich das Spiel in 3 Teile ein: Early Game, Mid Game und Late Game


    Early Game

    Im Early Game ist es am einfachsten optimal zu spielen, das heisst aber nicht, dass man hier noch nicht seine Wahrscheinlichkeit auf viele Punkte, verbessern kann.


    Am Anfang kann man fast immer den direkten Pfad zu den Früchten nehmen, jedoch sehen wir auch hier bereits einige Situationen, welche uns Punkte kosten können.


    In den folgenden Grafiken werden wir annehmen, dass die Schlange gerade eine Frucht gegessen hat und das Spiel nun eine neue Frucht auf dem Spielfeld platzieren wird.



    Falls die nächste Frucht auf dem orangenen Feld spawnt, ist es bereits unmöglich 10 Punkte zu bekommen und man kann nur noch 8 Punkte bekommen. Bereits hier würde man 2 Punkte verlieren, auch wenn dies in dem Fall nur mit einer 1/61 Wahrscheinlichkeit passieren würde.


    Nun scheint das auf den ersten Blick nach einem witzigen Fakt, welchen man jedoch nicht ausnützen kann, da es ja eine reine Glückssache ist. Das stimmt jedoch nur dann, wenn man schon die Frucht eingesammelt hat. Auf dem Weg zur Frucht kann man schon einen optimaleren Weg nehmen.


    Wir betrachten folgende Situation:



    Hier haben wir den nächsten Apfel 2 Felder entfernt. Es ist nicht besonders schwer diesen mit 10 Punkten einzusammeln. Wir werden aber sehen, dass wir hier eine klare bessere Option haben. Wir betrachten dafür die beiden Wege, welche möglich sind:


      


    Wir sehen, dass bei der ersten Möglichkeit, jede weitere Fruchtposition auch in 10 Punkte eingesammelt werden kann.

    Bei der 2. Möglichkeit gibt es 3 Felder, welche uns 2 Punkte verlieren würde.


    Im Durchschnitt verliert uns der zweite Weg etwa 0.1 Punkte, was nicht viel ist, aber bereits zeigt, dass eine solch simple Situation Überraschungen mit sich bringen kann.


    Mid Game

    Im Mid Game ist unsere Schlange bereits so lange, dass wir nicht mehr erwarten können, jede Frucht mit den 10 Punkten einsammeln zu können. Zudem haben wir von da aus häufig die Möglichkeit ein paar Punkte zu "opfern" um eine höhere Wahrscheinlich auf mehr Punkte in der Zukunft zu gewinnen.


    Um dieses Phänomen zu sehen, werden wir uns zwei verschiedene Beispiele anschauen.


    Beispiel 1:



    Wir haben gerade den letzten Apfel eingesammelt und sehen nun, dass der Apfel in einer suboptimalen Position ist. Für die vollen 10 Punkte, müssten wir den Apfel in 7 Schritten erreichen, was wir jedoch nicht schaffen können. Die nächsten 8 Schritte sind gezwungen. Unsere Situation danach sieht so aus:



    Wir schaffen es knapp direkt nach unten zu gehen und erreichen dann den Apfel in 15 Schritten. Das gibt uns dann noch 2 Punkte Der Fall sollte klar sein: Wir machen das beste aus dieser schlechten Situation und holen uns diesen einen Bonuspunkt.

    Aber nicht so schnell! Schauen wir was passiert wenn wir das machen:



    Nun können wir das Problem sehen. Der rote Bereich ist für uns in dem Moment unzugänglich, da er aus 24 Feldern besteht und unsere Schlange einiges länger als 24 Felder ist. Es wäre also eine Todesfalle nach rechts zu gehen. Falls also die nächste Frucht in einem der 24 roten Feldern spawnt, haben wir direkt 9 Punkte verloren.

    Bei der nächsten Frucht bekommen wir also im Durchschnitt nur 2.55 Punkte von unserer nächsten Frucht. Tatsächlich ist diese Zahl noch etwas tiefer, und zwar bei ziemlich genau 2, plus einer 3% Wahrscheinlichkeit direkt das ganze Spiel zu verlieren.


    Nun schauen wir uns eine bessere Lösung an, bei welcher wir den einen Punkt "opfern":



    Jedes einzelne Feld ist in der minimalen Schrittmenge erreichbar ohne uns irgendwo zu fangen. Dies ist offensichtlich die viel bessere Lösung, da die nächste Frucht eine durchschnittliche Punktzahl von 10 hat.

    Indem wir den einen Punkt für eine bessere Position opferten, haben wir 8 Punkte dazugewonnen!


    Beispiel 2:


    Die meisten Situationen sind etwas komplizierter, da die Analyse oft mehrere Früchte in die tiefe geht. Das zweite Beispiel zeigen wird. Auch dieses Beispiel habe ich extra so konstruiert, damit die Logik dahinter klar wird, aber eine gewisse Intuition kann daraus gewonnen werden, ohne die genauen Zahlen zu berechnen,



    Wie wir sehen, sieht dieses Beispiel sehr ähnlich aus, wie das vorherige. Auch hier ist die Frucht 7 Felder entfernt und auch hier sind die ersten 8 Züge gezwungen.



    Nun können wir uns erneut entscheiden direkt nach unten zu gehen und uns den einen Bonuspunkt zu schnappen. Ihr könnt euch bestimmt schon denken, dass dies nicht die richtige Entscheidung ist, aber ihr werdet gleich sehen können, wieso das so ist.



    Unsere Schlange teilt das Feld in etwa zwei gleich grosse Bereiche ein, hier durch Orange und Magenta gekennzeichnet.


    Für die folgende Überlegung werden wir annehmen, dass beide Bereiche gleich gross sind.


    Egal auf welcher Seite die nächste Frucht spawnt, wir werden dahin gehen und dann mit 10 Punkten die Frucht bekommen. Jedoch sind wir nun auf unsere Seite beschränkt und wenn die nächste Frucht auf der anderen Seite ist (was etwa 50% der Zeit passiert) , sind wir dumm dran und müssen die 9 verlorenen Punkte einstecken. Die Rechnung geht noch viel tiefer aber wir sehen, dass wir in den nächsten 2 Früchten über 5 Punkte verlieren werden.



    Wenn wir den Umweg nehmen, können wir uns für die nächsten Früchte eine grosse Fläche bereit machen. Auch wenn es nicht gegeben ist, dass wir die 2. Frucht auch in 10 Punkten erreichen können, erhalten wir definitiv mehr als im oberen Beispiel.


    Auch hier ist es besser nicht direkt auf die Punkte zu gehen und stattdessen in die Zukunft zu schauen.


    Etwas, was man beachten soll, ist dass es sich häufig lohnt 1, 3 oder manchmal sogar 5 Punkte zu opfern. Situationen bei denen man mehr opfert sind jedoch sehr selten, weshalb man dies wahrscheinlich nicht machen sollte.


    End Game

    Nun kommen wir ans Ende vom Spiel. Hier spielen wir hauptsächlich darauf, dass wir den Kill Screen erreichen. Da das Feld bereits sehr voll ist, gibt es wenig Möglichkeiten nun noch verschiedene Wege zu nehmen.



    Nun muss ich aber erst noch etwas ansprechen, was ein wichtiger Teil vom Snake Spiel ist, auch wenn es ein Bug ist. Und zwar ist es möglich dass Früchte in der Schlange selbst spawnen. Das macht es natürlich sehr schwer die 10 Punkte zu bekommen, da man erst warten muss bis der Teil der Schlange selbst aus dem Weg ist. Wie wahrscheinlich es ist, dass das passiert, ist nicht klar, aber was man sagen kann, ist dass es wahrscheinlicher wird, je länger man schon am spielen ist. Persönlich habe ich 2 Theorien weswegen dieser Bug Auftritt, aber diese werde ich hier nicht genauer ausführen.

    Dieser Bug kostet viele Punkte, da er in einem Spiel etwa 6 mal vorkommt und das dann schnell über 50 Punkte kostet. Wenn ihr an den Anfang von diesem Beitrag zurück erinnert, wisst ihr noch, dass man für den Rekord 99 Punkte verlieren darf. Durch diesen Bug verliert man also schon etwa die Hälfte aller Punkte, aber hoffentlich wird er schon bald behoben sein.


    Nun zurück zur wirklichen Strategie am Ende des Spieles:


    Dafür schauen wir uns den Hamiltonian Cycle an, den ich am Anfang gezeigt habe. Nur sind wir jetzt noch nicht am Ende, sondern uns fehlen noch 10 Felder.



    Wenn die nächste Frucht in einem der magenta Felder ist, ist das der beste mögliche Fall, da wir unseren Pfad nicht verlassen müssen um die Vollpunktzahl zu erreichen. Doch auch bei den anderen Feldern gibt es bessere und schlechtere Felder. Die hellgrünen Felder sind auch nicht ein sehr grosses Problem, da die Lücke, die sie links hinterlassen eine gerade Anzahl von Feldern breit ist.


    Wenn wir die zwei Fälle anschauen, können wir sehen weshalb das wichtig ist.


     


     


    Wir können sehen, dass wir diese beiden Lücken problemlos in unseren Weg einbauen können ohne, dass weitere Lücken entstehen. In anderen Worten können wir unsere Hamiltonian Cycle problemlos in einen anderen transformieren.


    Nun müssen wir uns noch die dunkelgrünen Felder anschauen. Was passiert, wenn die Frucht auf einem von den Felder spawnt?


     


      


    Auch hier können wir die Lücke ausbessern, jedoch erst nachdem wir von der anderen Seite kommen, bis dahin gibt es immer das Risiko, dass die Frucht in der Lücke spawnt und wir Punkte verlieren. Deswegen kann es sinnvoll sein 2 Punkte aufzugeben um eine gerade Lücke zu lassen.


    Dieses Beispiel führt uns auch noch zu einem anderen Aspekt von Snake. Und zwar ist es unmöglich eine objektiv perfekte Strategie zu haben. Was ich dabei meine, ist dass man bei jeder Entscheidung sich entscheiden muss, was für ein Risiko man eingehen möchte.

    Bei fast jeder Entscheidung gibt es die Möglichkeit zu verlieren, sogar in sehr simplen Situationen:



    Ich bezweifle dass irgendjemand in dieser Situation nicht nach rechts die Frucht einsammeln würde, doch es gibt tatsächlich ein Argument, weshalb man das nicht tun sollte.



    Wenn nun jedoch das nächste Feld zu einer Frucht wird und danach das nächste und immer so weiter, passiert etwas ganz kurioses. Wir können uns zwar an ganz vielen Punkten erfreuen, doch treffen schlussendlich auf unseren Schwanz, den wir gar nicht erst in Betracht bezogen haben. Dass das passiert hat zwar nur eine Wahrscheinlichkeit von 0.000000000002%, doch mathematisch gesehen ist es möglich.

    Falls wir jede Möglichkeit in Betracht ziehen wollen würden, müssten wir tatsächlich das Risiko anschauen, dass dies passiert und wir direkt verlieren würden.


    Dieses Szenario sieht schon sehr theoretisch aus, doch es ist wirklich etwas, was ich mir beim Spielen häufig überlege. Wenn wir zurück zur Situation oben gehen, sehen wir folgende Situation:



    Hier haben wir schon viel weniger Platz womit wir arbeiten können. Wenn ich mich entscheide hier nach rechts zu gehen, habe ich erneut das Risiko, dass ich verlieren könnte.


    Nun ist die Wahrscheinlichkeit bereits bei etwa 1% und die Wahrscheinlichkeit wird mit weniger Feldern nur noch kleiner. Wenn man mehrere solcher Entscheidungen in einem Spiel hat, wird es plötzlich wahrscheinlicher, dass man das Spiel verliert, wenn man immer das Risiko eingeht. Jedes Spiel ist als ein konstantes Abwägen davon, ob man sein Spiel für ein paar Punkte riskieren möchte.


    Was man hier definitiv noch anmerken muss, ist dass das nur durch den Bug passieren kann, dass essen in der Schlange selbst spawnt. Wenn dieser Bug behoben ist, dann gibt es dieses Risiko nicht mehr.



    Nun scheint das alles nach etwas sehr komplizierten und da kann es schnell sein, dass man sagt: "Dieses Risiko möchte ich einfach nicht eingehen und stattdessen werde ich am Ende einfach einem Hamiltonian Cycle folgen."


    Das ist eine komplett legitime Idee und tatsächlich ist das auch das, was ich bei den letzten paar leeren Feldern mache. Aber auch hier kann man sich fragen ob es denn bessere Pfade gibt als andere.

    Und wenn ich das ganze so schon anteasere, dann könnt ihr euch bestimmt schon denken dass die Antwort ja sein wird.


    Wie das sein kann, zeige ich sonst an zwei verschiedenen Positionen in zwei verschiedenen Pfaden.

    Wir schauen uns folgende Pfade an:


      


    Und spezifisch schauen wir uns Positionen an, wenn noch 8 Felder frei sind und wir gerade eine Frucht eingesammelt haben. Die Felder bei denen wir 10 Punkte erhalten indem wir dem Weg folgen, färbe ich Magenta ein.


      


    Wir sehen, dass es im ersten Fall viel weniger Felder gibt, bei denen man 10 Punkte bekommt.

    Während man bei dem rechten Beispiel durchschnittlich 10 Punkte bekommt, erhält man im linken Fall nur 7 Punkte.


    Nun kann man dieses Verfahren für alle 64 möglichen Kopf-Positionen machen und den Durchschnitt des Durchschnittes berechnen. Man erhält somit dann eine Punktzahl für einen Pfad für eine gewisse Lückenlänge.


    Nun kann man wiederum dieses Verfahren für die letzten paar Lückenlängen wiederholen und den Durchschnitt des Durchschnitts des Durchschnitts berechnen und jeder Pfad somit eine Punktzahl geben.


    Nun müssen wir das nur noch für jeden solchen Pfad machen. Es kann ja davon mit Sicherheit nicht so viele geben? 3? 12? 2'222? Wie wärs mit 360'783'593?


    So, nun kommen wir zu meinen Resultaten, welcher Pfad nun wirklich der Beste ist.



    So landen wir bei diesem spiralförmigen Pfad. Beziehungsweise sind die 8 Symmetrien davon alle gleich gut.


    Sollte man nun am Ende diesen Pfad anstreben? Das kann ich nicht sagen, ich kann lediglich sagen, dass dieser der beste Pfad ist, wenn man wirklich keine Abweichungen zulässt. Sobald man wieder ein wenig der vorherigen Strategien zulässt, kann es sein dass ein anderer Pfad besser wird. Jedoch möchte ich mit dieser Beobachtung die Intuition fördern, dass lange geraden bei den Pfaden etwas gutes ist.


    Pausen-Strategie

    Nun kommen wir zu meinem letzten Tipp. Den Trick habe ich vor etwa 2 Wochen gefunden und seither habe ich den Rekord mehrfach schlagen können. Dabei geht es um meine Pausen-Strategie.


    Dabei geht es darum, dass man unlimitiert oft pausieren kann. Die einzige Einschränkung ist, dass man maximal 2 Minuten lang pausieren kann. Wir werden aber für die Strategie nicht 2 Minuten brauchen.


    Wir werden das Pausensystem verwenden um eines der biologischen Grenzen des menschlichen Körpers zu umgehen. Dabei geht es darum, dass der Mensch eine durchschnittliche Reaktionszeit von 200ms - 300ms hat.


    Snake läuft in 5 Frames pro Sekunde. Wenn wir also eine Frucht einsammeln, haben wir genau 200ms Zeit uns zu entscheiden was unser Plan ist. Das ist gerade einmal knapp an der menschlichen Grenze und reicht bei weitem nicht um die ganzen Strategien von oben in Betracht zu ziehen. Nun kommt jedoch der Trick. Als Mensch können wir zwar nicht besonders schnell auf neue Sachen reagieren, jedoch können wir problemlos timen, wenn wir bereits wissen wann etwas passieren wird.


    Da wir wissen wann wir die nächste Frucht einsammeln, können wir genau in diesem Moment das Spiel pausieren und sehen dann für einen kurzen Augenblick wo die nächste Frucht ist.


    Wenn wir entpausieren, müssen wir lediglich die richtige Richtung halten und schon sind wir auf dem richtigen Weg unterwegs.


    Jedoch hilft uns das nicht nur wenn wir Früchte einsammeln, sondern auch wenn wir sehr komplizierte Wege gehen müssen. Wir können dafür in einer Kurve pausieren und dann ohne Zeitdruck die richtige Taste drücken und weiterspielen.


    Wenn man etwas zu früh pausiert, kann man einfach 2 mal schnell hintereinander klicken und schauen ob man bis dann an der gewünschten Position ist.


    Es stellt sich raus, dass Snake gar kein Geschicklichkeitsspiel ist, sondern insgeheim ein Strategiespiel mit einem Mantel!


    Abschluss

    So komme ich auch langsam zum Ende von diesem Thread.


    ich hoffe dass ich euch den Arcade Modus Snake etwas näher bringen konnte.


    Um ein paar Fragen schon im Voraus zu beantworten, habe ich hier am Ende noch ein kleines FAQ:


    "Von wo hast du die ganzen technischen Informationen?"

    Tatsächlich hat es nichts damit zu tun, dass ich Senior bin, sondern ich habe die Informationen über eine Feldstudie gesammelt, bei der ich den Modus einfach oft gespielt habe.


    "Wovon hast du die Zahl der zusammenhängenden Hamiltonian Cycles auf einem 8x8 Feld?"

    Das konnte ich einerseits bis 6x6 selber simulieren, jedoch habe ich aus Laufzeit-Gründen die Zahl gesucht und hier gefunden.


    "Wie hast du die Punktzahl für jeden Pfad berechnet?"

    Ich habe ein Programm geschrieben, was das ganze macht. Jedoch wie oben erwähnt nur bis 6x6. Dann habe ich die analytische Weiterführung des Musters genommen.


    "Von wo hast du die ganzen Grafiken?"

    Ich habe die ganzen Einzelstücke von einem Screenshot nachgepixelt und anschliessend einen Editor programmiert, mit welchem ich mir die Bilder selber generieren kann.


    So, das wars jetzt eigentlich und somit wünsche ich euch allen noch eine schöne Woche! :)


    -Elytron

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!