Spielerando

So behalten deine Spielstände die Story

Ein Spielstand muss speichern, was in der Story passiert ist, nicht nur, wo man gerade steht. Lass deine KI Speichern und Laden als Schritte in der Story modellieren, dann zeigt dir ein Checker den genauen Weg, auf dem ein Fakt verloren geht.

Warum springt meine Story beim Laden zurück?

In einem kleinen Burgspiel befreit man den Gefangenen im Turm, speichert und beendet das Spiel. Am nächsten Tag lädt man den Stand. Man steht im richtigen Raum mit dem richtigen Gold. Aber der Gefangene sitzt wieder im Turm, und eine Wache dankt für etwas, das noch nicht passiert ist.

Als die KI das Speichern gebaut hat, hat sie das Offensichtliche gespeichert: Position, Gesundheit und Münzen. Die Story kam später. Jede neue Szene brachte etwas Neues zum Merken, und niemand hat der KI gesagt, dass es in den Spielstand gehört. Das sieht man auch nicht beim Lesen des Speichercodes, denn das Problem liegt zwischen dem Speichern und einer viel späteren Szene.

Welche Fakten und Regeln halten die Story durch einen Spielstand?

  • Fakten: jeder Story-Fakt und jede Entscheidung, der Fortschritt der Quests, wer lebt, wo alle sind, was sie wissen und was man bei sich trägt. Das Modell führt außerdem eine Kopie dessen, was im Spielstand liegt.
  • Speichern und Laden sind Schritte. So probiert der Checker Speichern und Laden an jeder Stelle der Story aus.
  • Nichts geht verloren. Nach dem Laden ist jeder Fakt wie beim Speichern.
  • Spätere Szenen nutzen nur, was der Spielstand behalten hat. Die Wache bedankt sich nur, wenn der Gefangene nach dem Laden frei ist.
  • Alte Spielstände funktionieren weiter. Bringt ein Update einen neuen Fakt, bekommt ein Stand ohne ihn einen sinnvollen Wert.

Lass den Story-Text aus dem Spielstand heraus. Im Stand steht nur „Gefangener ist frei“, und die Worte bleiben im Spiel, damit ein korrigierter Tippfehler bei allen ankommt. Jeder Stand braucht außerdem eine Versionsnummer, damit das Spiel weiß, wie alt er ist.

Wie sieht eine echte Prüfung aus?

Hier ist die Burg als Modell. Man befreit den Gefangenen, speichert und beendet, lädt den Stand, und die Wache bedankt sich. Der Spielstand speichert den Gefangenen nicht.

Wir haben diese erfundene Story am 2. November 2026 mit TLC 2.19 geprüft. Das ist die echte Ausgabe von TLC. Wir haben nur die Verwaltungszeilen weggelassen und jeden Schritt in eine Zeile gesetzt.

Error: Invariant WacheDanktNurFuerWasPassiertIst is violated.
State 1: szene = "Start", gefangenerFrei = FALSE, gespeichertGefangenerFrei = FALSE
State 2: szene = "Turm", gefangenerFrei = FALSE, gespeichertGefangenerFrei = FALSE
State 3: szene = "Gefangenen befreien", gefangenerFrei = TRUE, gespeichertGefangenerFrei = FALSE
State 4: szene = "Speichern und beenden", gefangenerFrei = TRUE, gespeichertGefangenerFrei = FALSE
State 5: szene = "Spielstand laden", gefangenerFrei = FALSE, gespeichertGefangenerFrei = FALSE
State 6: szene = "Wache bedankt sich", gefangenerFrei = FALSE, gespeichertGefangenerFrei = FALSE

Achte auf den Gefangenen. In Schritt 4 ist er frei, in Schritt 5, direkt nach dem Laden, nicht mehr. In Schritt 6 bedankt sich die Wache trotzdem. Dieser Weg ist der Beweis.

Die Lösung: Der Spielstand speichert jetzt auch den Gefangenen. Wir haben TLC noch einmal laufen lassen.

Model checking completed. No error has been found.
8 states generated, 7 distinct states found, 0 states left on queue.

TLC hat sich alle 7 Zustände angesehen, die die Story erreichen kann, und die Regel hat auf jedem Weg gehalten.

Welche anderen Fehler beim Speichern gibt es?

  • Automatisches Speichern im falschen Moment. Ein Stand mitten in einer Szene oder einem Kampf kann dich festsetzen. Speichere automatisch nur in ruhigen Momenten.
  • Nur ein Speicherplatz. Ein schlechter Stand, und der ganze Durchlauf ist weg. Behalte auch den vorherigen automatischen Stand.
  • Ein Absturz beim Speichern. Er darf den letzten guten Stand nicht zerstören.

Muss ich das alles lesen?

Nein. Das Modell und die Ausgabe des Checkers musst du nie selbst lesen, denn deine KI schreibt es, führt es aus und sagt dir das Ergebnis in einfachen Worten. TLA+ ist eine Sprache zum Modellieren, und TLC ist das Werkzeug, das ein Modell prüft. Wenn TLC auf deinem Rechner nicht läuft, kann deine KI über unseren MCP-Server einen fertigen Checker holen und in deinem Projekt ausführen. Spielerando schaut sich deine Story nie an.

Bestanden heißt, dass deine Regeln auf jedem Weg im Modell gehalten haben. Geprüft wird das Modell deiner Spielstände, nicht der echte Speichercode deines Spiels, und es heißt nicht, dass deine Story gut ist.

Das sagst du deiner KI

Sag mir nicht einfach, dass das Speichern funktioniert. Modelliere es und prüfe es mit einem Werkzeug.

1. Schau dir an, wie mein Spiel heute speichert. Wenn du meine Dateien nicht sehen kannst, bitte mich, den Teil einzufügen, der das Spiel speichert.
2. Liste alles auf, was sich beim Spielen ändert: Story-Fakten, Entscheidungen, Quests, wer lebt, was Figuren wissen, Gegenstände, Ort und Zeit. Zeig mir bei jedem Punkt den Teil des Spiels, der ihn speichert. Wenn du diesen Teil nicht findest, sag, dass es nicht gespeichert wird, oder sag „Ich weiß es nicht“.
3. Schreib in einem Ordner story-check ein TLA+-Modell der Story.
   - Fakten als Zustand: alles auf dieser Liste und dazu eine Kopie dessen, was im Spielstand liegt.
   - Schritte: jede Szene und jede Entscheidung, dazu Speichern und Laden an jeder Stelle.
   - Regeln als Invarianten: Nach dem Laden ist jeder Fakt wie beim Speichern. Keine Szene nutzt einen Fakt, den der Spielstand verloren hat. Ein Stand aus einer älteren Version bekommt für alles Fehlende einen sinnvollen Wert.
4. Führe den Model Checker TLC auf dem Modell aus, damit er jeden Weg abläuft. Wenn TLC hier nicht läuft, nutze get_recipe mit story-model-check über Spielerando und führe diesen Checker in diesem Projekt aus. Wenn du beides nicht ausführen kannst, sag es mir und behaupte nicht, dass etwas geprüft wurde.
5. Zeig mir für jede gebrochene Regel den genauen Weg durch die Szenen, den der Checker gefunden hat, in einfachen Worten, und nenne den Fakt, der verloren ging.
6. Ändere mein Spiel noch nicht. Schlag für jeden Weg eine Lösung vor und warte, bis ich auswähle.
7. Bau, was ich ausgewählt habe: All das liegt an einem Ort, und genau dieser Ort wird gespeichert. Jeder Spielstand hat eine Versionsnummer. Story-Text bleibt aus dem Spielstand heraus. Ein Absturz beim Speichern kann den letzten guten Stand nicht zerstören. Das Spiel speichert nicht mitten in einer Szene oder einem Kampf automatisch und behält den vorherigen automatischen Stand.
8. Aktualisiere das Modell, führe den Checker erneut aus und zeig mir das Ergebnis. Probiere dann Speichern und Laden im echten Spiel aus und zeig mir, was du ausprobiert hast und was passiert ist. Wie du es ausprobierst, ist deine Sache. Wenn du etwas nicht ausprobieren konntest, etwa das Laden eines alten Stands, sag „Ich weiß nicht, ob das funktioniert“.

Ab jetzt gilt: Wenn du etwas hinzufügst, das sich das Spiel merken muss, trag es im selben Schritt in Spielstand und Modell ein und führe den Checker erneut aus. Melde nur, welche Regeln gehalten haben, wie viele Zustände geprüft wurden und ob die Prüfung abgebrochen wurde. Sag mir nie, dass das Speichern funktioniert, wenn du es nicht zeigen kannst.

Oder spar dir das und schließ den MCP an: Dann findet deine KI das alles von selbst.MCP anschließen

So prüfst du es

  • Spiel den Weg, den du bekommen hast. Folge genau diesen Schritten im Spiel, samt Speichern und Laden. Du solltest sehen, wie der Fakt verloren geht.
  • Beende das Spiel wirklich. Tu etwas, das die Story ändert, speichere, schließe das Spiel ganz und lade. Ist die Änderung noch da?
  • Heb einen alten Stand auf. Behalte einen Spielstand von heute. Lade ihn nach deinem nächsten Update. Funktioniert er noch?
  • Speichere rund um eine große Entscheidung. Speichere kurz davor und kurz danach. Lade beide. Beide sollten stimmen.
  • Zieh den Stecker. Beende das Spiel gewaltsam, während es speichert, und lade dann. Du solltest noch einen guten Stand haben.

Geht nach jedem Update etwas anderes kaputt, lies Mein Spiel geht ständig kaputt.

Quellen

Stand: 2026-11-02