Autosave
Autosave schreibt den Spielstand von allein. Es wartet, bis der Spieler einen Moment nichts mehr verändert, aber nie länger als eine festgelegte Zeit, und speichert nur in einem ruhigen Moment. Beim Verlassen des Spiels wird sofort gespeichert, und ein misslungenes Speichern wird nach einer wachsenden Wartezeit wiederholt.

Das sagst du deiner KI
Kopiere es in Claude, Cursor oder ChatGPT. Gute Werte und die typischen Fehler stehen schon drin.
Baue „Autosave“ in mein Spiel ein.
Das soll es bewirken: Autosave sorgt dafür, dass ein Absturz, ein leerer Akku oder ein geschlossenes Fenster den Spieler eine Minute Spielzeit kostet und nicht einen ganzen Abend. Der Spieler muss nie ans Speichern denken, und das Spiel hängt nie in einem ungünstigen Moment, um es zu tun.
Baue es genau nach diesem Automaten. Prüfe zuerst, ob er zu meinem Spiel passt, und bau ihn dann so:
```mermaid
stateDiagram-v2
[*] --> clean
clean: Nichts zu speichern
dirty: Änderungen warten
saving: Schreibt
retrying: Wartet auf Wiederholung
clean --> dirty: Spieler ändert etwas
clean --> saving: Änderung beim Verlassen
dirty --> saving: Ruhephase oder Verlassen
saving --> clean: Schreiben gelang
saving --> dirty: gelang, aber Neues dazu
saving --> retrying: Schreiben misslang
retrying --> dirty: Wartezeit vorbei
retrying --> saving: Spieler geht
```
Nimm diese Startwerte:
- settleTime: 3 s
- maxUnsaved: 60 s
- retryDelay: 5 s
- writeTimeout: 10 s
Achte auf diese typischen Fehler:
- Der Spieler bleibt nie stehen: Sag deiner KI: Füge neben der Ruhezeit eine längste Wartezeit hinzu. Ist sie abgelaufen, wird trotzdem gespeichert, im nächsten ruhigen Moment.
- Speichern mitten im Kampf: Sag deiner KI: Starte ein Speichern nur in einem ruhigen Moment, den das Spiel bestimmt, etwa am Boden und ohne Gegner in der Nähe. Beim Verlassen wird trotzdem gespeichert, weil es die letzte Gelegenheit sein kann.
- Änderungen während des Speicherns: Sag deiner KI: Mache beim Start des Speicherns eine Kopie der Daten und merke dir, ob sich danach etwas geändert hat. Markiere die Daten am Ende nur dann als gespeichert, wenn sich zwischendurch nichts geändert hat.
- Ein misslungenes Speichern sieht aus wie ein gutes: Sag deiner KI: Zähle ein Speichern erst als erledigt, wenn das Schreiben Erfolg meldet. Schreibe erst in eine neue Datei und tausche sie erst bei Vollendung ein, damit der alte gute Spielstand heil bleibt. Versuche es nach einer Wartezeit erneut.
- Ein Speichern, das nie antwortet: Sag deiner KI: Gib jedem Speichern ein Zeitlimit. Ist es abgelaufen, gilt das Speichern als misslungen und wird später wiederholt.
- Wiederholen in jedem Takt: Sag deiner KI: Warte nach einem Fehler ein paar Sekunden und nach jedem weiteren Fehler hintereinander länger, bis zu einer Grenze.
- Speichern ohne Änderung: Sag deiner KI: Speichere nur, wenn sich seit dem letzten guten Speichern etwas geändert hat.
Ändere nichts anderes im Spiel. Behaupte nichts, ohne es zu belegen: Modelliere, was dafür nötig ist, und zeig mir, worauf deine Lösung beruht und woran ich sehe, dass sie klappt. Wenn du etwas nicht zeigen kannst, sag, dass du es nicht weißt. Sag mir danach in einfachen Worten, wie ich es ausprobiere.Oder spar dir das und schließ den MCP an: Dann findet deine KI das alles von selbst.MCP anschließen
Was es bewirkt
Autosave sorgt dafür, dass ein Absturz, ein leerer Akku oder ein geschlossenes Fenster den Spieler eine Minute Spielzeit kostet und nicht einen ganzen Abend. Der Spieler muss nie ans Speichern denken, und das Spiel hängt nie in einem ungünstigen Moment, um es zu tun.
So läuft es ab, als Diagramm
Alles, was es sein kann, und was es weiterbewegt. Genau danach baut deine KI.
So läuft es ab, als Diagramm
- Nichts zu speichern → Änderungen warten: Spieler ändert etwas
- Nichts zu speichern → Schreibt: Änderung beim Verlassen
- Änderungen warten → Schreibt: Ruhephase oder Verlassen
- Schreibt → Nichts zu speichern: Schreiben gelang
- Schreibt → Änderungen warten: gelang, aber Neues dazu
- Schreibt → Wartet auf Wiederholung: Schreiben misslang
- Wartet auf Wiederholung → Änderungen warten: Wartezeit vorbei
- Wartet auf Wiederholung → Schreibt: Spieler geht
Gute Startwerte
| Wert | Starte mit | Was es ändert |
|---|---|---|
| settleTime | 3 s | Wie lange der Spieler nichts verändern darf, bevor ein Speichern beginnt. Nach jeder einzelnen Änderung zu speichern hieße, ständig zu schreiben, solange der Spieler beschäftigt ist. Ein paar Sekunden Ruhe sind ein guter Zeitpunkt. |
| maxUnsaved | 60 s | Die längste Zeit, die eine Änderung auf das Speichern warten darf, sobald der Moment ruhig ist. Ein Spieler, der nie stehen bleibt, würde sonst nie gespeichert. Das ist auch die meiste Spielzeit, die ein Absturz kosten kann. |
| retryDelay | 5 s | Wie lange nach einem misslungenen Speichern gewartet wird, bevor es erneut klappt. Die Wartezeit wird mit der Zahl der Fehlschläge hintereinander multipliziert, bis zum Sechsfachen, damit ein voller Speicher nicht dauernd bearbeitet wird. Null ist nicht erlaubt. |
| writeTimeout | 10 s | Wie lange ein Speichern ohne Antwort laufen darf. Ein hängendes Speichern würde alle späteren blockieren, deshalb gilt es nach dieser Zeit als misslungen. |
Was meistens schiefgeht
Der Spieler bleibt nie stehen
Wartet das Spiel auf einen ruhigen Moment und der Spieler verändert ständig etwas, beginnt das Speichern nie. Eine lange Sitzung kann dann auf einmal verloren gehen.
Lösung: Sag deiner KI: Füge neben der Ruhezeit eine längste Wartezeit hinzu. Ist sie abgelaufen, wird trotzdem gespeichert, im nächsten ruhigen Moment.
Speichern mitten im Kampf
Das Speichern fällt in einen Moment, in dem die Figur in der Luft ist, kämpft oder ein Ladebild läuft. Wer später lädt, landet in einem Moment, der sich nicht spielen lässt, etwa in einem Sturz, den man nicht überlebt.
Lösung: Sag deiner KI: Starte ein Speichern nur in einem ruhigen Moment, den das Spiel bestimmt, etwa am Boden und ohne Gegner in der Nähe. Beim Verlassen wird trotzdem gespeichert, weil es die letzte Gelegenheit sein kann.
Änderungen während des Speicherns
Der Spieler hebt etwas auf, während der Spielstand geschrieben wird. Markiert das Spiel am Ende alles als gespeichert, geht dieser Fund ohne Warnung verloren.
Lösung: Sag deiner KI: Mache beim Start des Speicherns eine Kopie der Daten und merke dir, ob sich danach etwas geändert hat. Markiere die Daten am Ende nur dann als gespeichert, wenn sich zwischendurch nichts geändert hat.
Ein misslungenes Speichern sieht aus wie ein gutes
Der Speicher ist voll oder das Schreiben wird abgebrochen. Das Spiel glaubt, gespeichert zu haben, und zeigt keine Warnung. Beim nächsten Laden liegt eine alte oder kaputte Datei vor.
Lösung: Sag deiner KI: Zähle ein Speichern erst als erledigt, wenn das Schreiben Erfolg meldet. Schreibe erst in eine neue Datei und tausche sie erst bei Vollendung ein, damit der alte gute Spielstand heil bleibt. Versuche es nach einer Wartezeit erneut.
Ein Speichern, das nie antwortet
Das Schreiben hängt, zum Beispiel weil ein Cloud-Ordner offline ist. Das Spiel wartet ewig auf die Antwort und startet nie ein weiteres Speichern.
Lösung: Sag deiner KI: Gib jedem Speichern ein Zeitlimit. Ist es abgelaufen, gilt das Speichern als misslungen und wird später wiederholt.
Wiederholen in jedem Takt
Ein Speichern misslingt und das Spiel versucht es sofort wieder, in jedem Takt. Das Spiel ruckelt und der Speicher wird belastet, was den Fehler oft verschlimmert.
Lösung: Sag deiner KI: Warte nach einem Fehler ein paar Sekunden und nach jedem weiteren Fehler hintereinander länger, bis zu einer Grenze.
Speichern ohne Änderung
Das Spiel schreibt nach einem Zeitgeber, auch wenn der Spieler nichts getan hat, etwa in der Pause. Das belastet den Speicher und bremst schwache Geräte ohne Grund.
Lösung: Sag deiner KI: Speichere nur, wenn sich seit dem letzten guten Speichern etwas geändert hat.
So prüfst du, ob es klappt
- Der Spieler hat etwas verändert. sich nichts weiter ändert: beginnt das Speichern nach genau 3 Sekunden Ruhe.
- Der Spieler verändert in jedem Takt etwas. 60 Sekunden vergehen: beginnt das Speichern bei 60 Sekunden, nicht früher und nicht nie.
- Es gibt Änderungen und der Moment ist 150 Sekunden lang nicht ruhig. der Moment ruhig wird: hat vorher kein Speichern begonnen, und eines beginnt im ersten ruhigen Takt.
- Es gibt Änderungen und der Moment ist nicht ruhig. der Spieler geht: beginnt in diesem Takt ein Speichern.
- Nichts hat sich geändert. der Spieler geht: beginnt kein Speichern.
- Ein Speichern läuft. der Spieler weiter Dinge verändert und geht: beginnt kein zweites Speichern.
- Ein Speichern läuft. es Erfolg meldet: ist nichts mehr zu speichern und die Zahl guter Speichervorgänge ist 1.
- Ein Speichern läuft. der Spieler etwas verändert und es dann Erfolg meldet: wartet die Änderung noch auf das Speichern.
- Ein Speichern läuft. es im selben Takt Erfolg meldet, in dem der Spieler etwas verändert: wartet die Änderung noch auf das Speichern.
- Ein Speichern läuft. es einen Fehler meldet: sind die Daten weiter ungespeichert, kein guter Speichervorgang wird gezählt und der nächste Versuch beginnt nach genau 5 Sekunden.
- Acht Speichervorgänge misslingen hintereinander. man die Wartezeiten ansieht: betragen sie 5, 10, 15, 20, 25, 30, 30 und 30 Sekunden.
- Ein Speichern läuft und gibt keine Antwort. 10 Sekunden vergehen: gilt es als misslungen und eine Wartezeit beginnt.
- Ein Speichern ist misslungen. das nächste gelingt: sind die Fehlschläge hintereinander wieder 0.
- Kein Speichern läuft. eine Erfolgs- oder Fehlermeldung eintrifft: wird nichts gezählt.
- Ein Speichern ist gerade misslungen und eine Wartezeit läuft. der Spieler geht: beginnt sofort ein neues Speichern.
- Der Spieler hat etwas verändert. ein sehr langer Takt von 5 Sekunden vergeht: beginnt das Speichern in diesem Takt.
Passt gut zu
- Checkpoints: Eine Markierung ist ein ruhiger, gut gewählter Moment. Behandle sie wie eine Änderung, damit das Speichern wenige Sekunden danach folgt. Fordere ein Speichern an, wenn eine Markierung berührt wird.
- Weltzustands-Flags: Werden Merker und Gegenstände zu verschiedenen Zeitpunkten gespeichert, zeigt ein Laden vielleicht eine geöffnete Tür und den Schlüssel noch in der Tasche. Speichere die Merker zusammen mit allem anderen in einem Schreibvorgang.
- Inventarsystem: Aufheben, Benutzen und Ablegen von Gegenständen sind die Änderungen, deren Verlust Spieler am meisten ärgert. Zähle jede Änderung am Inventar als Änderung, die gespeichert wird.
- Tägliche Belohnungen: Schließt sich das Spiel direkt nach einer Belohnung, muss die Abholung schon geschrieben sein, sonst kann der Spieler sie noch einmal abholen. Speichere, bevor die Belohnung gezeigt wird.
Häufige Fragen
wie baue ich autosave in mein spiel ein
Kopiere das: Baue Autosave ein. Markiere die Daten als geändert, sobald der Spieler etwas Bewahrenswertes verändert. Speichere nach 3 Sekunden ohne Änderung oder spätestens nach 60 Sekunden, aber nur in einem ruhigen Moment. Speichere sofort, wenn der Spieler geht. Misslingt ein Speichern, warte und versuche es erneut.
wie oft soll ein spiel automatisch speichern
Nicht nach einem festen Zeitgeber. Speichere ein paar Sekunden, nachdem der Spieler aufgehört hat, etwas zu verändern, und spätestens eine Minute nach der ersten Änderung. So bleibt der Verlust klein und es wird selten geschrieben.
warum hängt mein spiel beim autosave
Das Speichern läuft im selben Ablauf wie das Spiel und schreibt eine große Datei. Mache zuerst eine Kopie der Daten, schreibe sie im Hintergrund und beginne nur in einem ruhigen Moment. Ein kleines Symbol zeigt dem Spieler, dass es gerade geschieht.
was ist, wenn die speicherdatei kaputt geht
Überschreibe nie die einzige gute Kopie. Schreibe eine neue Datei, prüfe, dass sie vollständig ist, und tausche sie dann ein. Behalte die vorige gute Datei als Sicherung, damit ein abgebrochenes Schreiben nicht den ganzen Spielstand zerstört.
Woher es kommt
Für diese Idee konnten wir noch keine verlässliche Herkunft finden.
Was geprüft wurde
- 20 Tests bestehen auf dem Referenzcode.
- Das Zustandsdiagramm wurde gegen den Code geprüft, mit den Standardwerten und mit jedem niedrigsten und höchsten Wert der Liste.
Deine KI bekommt den Code
Fertiger Beispielcode kommt über die Spielerando-Verbindung, damit deine KI ihn sofort nutzen kann. So verbindest du es