Ich habe folgendes gelesen: Wie man ein Wiedergabesystem entwirft Aber es beantwortet meine Frage nicht wirklich.
Mein Spiel wurde mit der Client "Ansicht" des Spiels als separates Programm vom Server "Modell" und "Controller" erstellt. (ein bisschen wie ein MMO oder ein Multiplayer-Spiel, das auf diese Weise gebaut wurde). Die Serverseite ist immer die "Wahrheit" des Spiels. Sie akzeptiert nur Aktionsanforderungen als Eingabe von den Clients und gibt Ereignisse und Nachrichten zum "aktuellen Status" aus.
Das Spielmodell und die Spielregeln sind vollständig deterministisch mit einem festen "Tick" -Updatezyklus, sodass ich auf der Serverseite sowohl die an die Clientansichten gesendeten Ereignisse als auch die Aktionsanforderungen aufzeichnen kann. Beide sind einer bestimmten Zyklusnummer zugeordnet.
Die Frage ist: In diesem Fall sollte ich zum Einrichten eines Wiedergabesystems die Eingabe oder Benutzeraktionsanforderungen (wie dort vorgeschlagen) oder die Ereignisse verwenden?
Es scheint mir, dass beide genau die gleiche Ausgabe geben würden. Die einzigen Unterschiede, die ich sehen kann, sind:
- Ereignisse geben die tatsächliche Ausgabe aus, während Aktionsanforderungen verarbeitet werden müssen, um Ereignisse zu geben.
- Bei Aktionsanforderungen sind möglicherweise weit weniger Daten aufzuzeichnen.
Gibt es noch andere Dinge zu beachten?