Делаю мультиплеер экшен игру. Можно ли все расчёты проводить на сервере, а на клиенте только данные отображать или будет тормозить?
Игра типа slither.io но сложнее и движущихся объектов больше.
Видел игры где при перебоях в связи, на клиенте всё продолжало двигаться, а когда связь с сервером восстанавливалась, то клиент синхронизовался, игроки на экране сдвигались в актуальные места, с тех мест куда они попадали по инерции при обрыве связи.
В общем, если 5-10 раз в секунду через WebSocket браузер будет получать координаты всех объектов, то не будет ничего тормозить и лагать?
Я хочу чтобы у змей поворачивалась голова, могла кусать и останавливаться, цепляться зубами за других змей.
Натыкался в нете на описание такого варианта (пишу в кратце, своими словами, к сожалению ссылку на статью не нашел):
1. каждый подключенный клиент предоставляет часть своих вычислительных ресурсов серверу
2. данные ресурсы объеденяются в некий вычислительный кластер
3. сервер в хаотичном порядке использует данный ресурс для расчетов (другими словами в предоставленном клиенте воркере производятся проверочные расчеты для другого, случайного клиента)
4. контрольная сумма данных расчетов передаются серверу где сравнивается с контрольной суммой данных, переданых контролируемым клиентом