В основном вам нужно выбрать между скорость против безопасность .
Разрешение клиенту выполнять работу, и вычисления выполняются быстрее, но данные находятся под угрозой, потому чтоклиент может манипулировать данными.
С другой стороны, если сервер выполняет всю работу медленнее, но данные более безопасны.
Вы можете выбрать двойной подход, решив позволитьклиент рассчитывает только некоторые данные, синхронизирует их, а затем проверяет их достоверность и позволяет остальным выполняться на сервере.
Это также зависит от скорости выполнения игры, объема рассчитываемых данных, скорости.сервера и полосы / подключений и т. д. *
Вы должны создать прототип обоих методов и попробовать некоторые тесты для эмуляции нагрузки на клиент и сервер.
Если игра небольшая, я бы выбралболее серверная работа.С другой стороны, для гораздо более сложной игры, вероятно, лучше делиться с клиентом большим количеством работы.В любом случае, я думаю, что компромисс всегда необходим.
Вот несколько ссылок, которые могут оказаться полезными
Программирование многопользовательских игр Введение
Реальныесетевая стратегия времени
Поток многопользовательского программирования (старый, но со многими полезными ссылками)
Компенсация лага
Предотвратить мошенничество в мультиплеере
Первая ссылка мне очень помогла в те времена, и imho по-прежнему остается одним из лучших доступных ресурсов по этой теме.
Книги
Программирование многопользовательских игр