Как управлять движением мобов в онлайн-игре?
У меня есть консольный сервер, и также есть подключаемые к серверу игроки-клиенты (unity игра).
Клиенты отправляют свои координаты на сервер (знаю что не безопасно). Сервер в свою очередь рассылает координаты игрока всем подключенным игрокам.
Но как быть с мобами?
Нужно, чтобы мобы двигались, обходя присутствующие в игре препятствия.
Но в связи с тем, что сервер не имеет данных об игровой локации, а является лишь посредником данных между игроками, как управлять движением мобов?
Как это реализовано в других онлайн-играх?
Возможно, мне необходимо всё же сделать сервер не консольным приложением, а полноценным подобием игры с полноценной игровой локацией? Но вряд-ли онлайн игры работают по такому принципу.
Нужно, чтобы все мобы у каждого клиента были на одинаковых координатах, то есть - синхронизированы. Поэтому, локально обрабатывать движение ботов на стороне каждого клиента по отдельности нельзя. Должен быть один управляющий центр.
Мне важна не техническая составляющая вопроса, а больше логическая.
Как это должно быть реализовано?
Ответы (1 шт):
Как правило сервер хранит у себя все данные, включая игровую локацию, положение игроков, мобов и игровых предметов.
Он при этом вполне может быть консольным, то есть не выводить никакую графическую информацию о игровом мире.
Сервер рассылает всю эту информацию игрокам. Информацию о перемещении мобов сервер рассчитывает сам, а о перемещении игроков получает от самих игроков, и рассылает всё это остальным игрокам.