Я прочитал это: Как спроектировать систему воспроизведения, но она не отвечает на мой вопрос.
Моя игра построена с клиентом «просмотр» игры как отдельная программа от сервера «модель» и «контроллер». (немного похоже на mmo или любую многопользовательскую игру, созданную таким образом). Серверная сторона всегда является «правдой» игры, она принимает только запросы действий в качестве входных данных от клиентов и выходные события и сообщения «текущего состояния».
Модель и правила игры полностью детерминированы с фиксированным циклом обновления «тиков», поэтому на стороне сервера я могу записывать как события, отправленные клиентским представлениям, так и запросы действий. Оба связаны с определенным номером цикла.
Вопрос заключается в следующем: в этом случае, чтобы настроить систему воспроизведения, я должен использовать ввод, или запросы действий пользователя (как там предлагается) или события?
Мне кажется, что оба дадут одинаковый результат. Единственные различия, которые я вижу:
- События дают реальный результат, в то время как запросы действий должны быть обработаны, чтобы дать события.
- Запросы действий могут быть гораздо меньше данных для записи.
Есть ли другие вещи, чтобы рассмотреть?