Я в настоящее время предпринимаю довольно амбициозный проект. Короче говоря, это многопользовательская стратегия в реальном времени, в которой есть механика бактерий.
По сути, у меня есть два удаленных игрока в окружении, и они могут порождать бактерийоподобные юниты, которые атакуют друг друга и размножаются, дублируя себя, пока не будет достигнут предел ресурса. Это часто приводит к тому, что на экран выводится около 200+ игровых объектов, каждый со своим состоянием и движением. Это звучит плохо, но местный геймплей против бота на самом деле очень хорош, и мне удалось сделать его довольно производительным.
Однако проблема возникает, когда я пытаюсь подключить эту игру к сети. Я уже пытался следовать этому руководству для реализации этой функции: http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Это создает довольно медленный, неприятный игровой опыт даже с лучшей задержкой. Это, вероятно, вызвано необходимостью передавать данные о движении для сотен единиц.
Вопрос, который я задаю:
Как я могу оптимизировать работу сети и синхронизацию множества движущихся устройств между двумя клиентами?
Я уже думал об одном способе сделать это. После порождения отряда они будут двигаться только в одном направлении, пока не столкнутся с чем-то - возможно, я могу синхронизироваться только тогда, когда отряды появляются и когда они взаимодействуют с другим объектом? Будет ли это иметь много пользы? Какой идеальный способ реализовать это?
Заранее спасибо за отзывы!