Ho letto questo: Come progettare un sistema di riproduzione Ma non risponde alla mia domanda.
Il mio gioco è costruito con il client "view" del gioco come programma separato dal "modello" del server e "controller". (un po 'come un mmo o qualsiasi gioco multiplayer costruito in questo modo). Il lato server è sempre la "verità" del gioco, accetta solo richieste di azione come input dai client ed eventi di output e messaggi di "stato attuale".
Il modello di gioco e le regole sono completamente deterministici con un ciclo di aggiornamento "tick" fisso, quindi sul lato server posso registrare sia gli eventi inviati alle viste client, sia le richieste di azione. Entrambi sono associati a un numero di ciclo specifico.
La domanda è: in questo caso, per configurare un sistema di riproduzione, dovrei usare l'input, o le richieste di azione dell'utente (come suggerito lì) o gli eventi?
Mi sembra che entrambi darebbero esattamente lo stesso risultato. Le uniche differenze che posso vedere sono:
- Eventi fornisce l'output reale mentre le richieste di azione devono essere elaborate per fornire eventi.
- Le richieste di azione potrebbero contenere molti meno dati da registrare.
Ci sono altre cose da considerare?