RTS Game Protocol - PullRequest
       3

RTS Game Protocol

3 голосов
/ 24 июля 2011

Я думал о многопользовательской RTS-игре.Часть, которую я не могу обойти, - это синхронизация движения юнита.Если я переместу блок A, чтобы определить XY, я должен передать это обратно на сервер, который передает другому клиенту.

Мне интересно, как будут выглядеть сообщения.Не могли бы вы сообщить серверу, что я перемещаю блок A в XY из JZ?Может быть, вам нужно вместо этого сообщить координаты движения по координатам?Какова наиболее эффективная методология передачи движения единиц от одного клиента к другому?

Ответы [ 2 ]

4 голосов
/ 25 июля 2011

Я предполагаю, что вы собираетесь использовать сетевую парадигму клиент-сервер? В этом случае вы не можете доверять клиентам обработку фактического расположения блоков, вы должны делегировать эту задачу на сервер. Затем вы берете список команд от каждого клиента за такт и вычисляете движение каждого подразделения, как только это будет выполнено, на следующем тике вы передаете положение каждого подразделения, относящегося к каждому клиенту (либо на основе всей карты, либо для каждого просмотра) и запустите процесс заново.

Если вас интересует только парадигма Peer-to-Peer, процесс несколько проще, так как вы можете использовать круговую цепочку, в этом случае каждый клиент получает только от одного клиента и отправляет только одному клиенту которая может быть визуализирована как круг клиентов, отправляющих и получающих каждую, или (крайне неэффективная) система, посредством которой клиент отправляет позицию своих подразделений друг другу и получает позицию подразделений другого от каждого другого клиента.

Лично я считаю, что парадигма клиент-сервер будет лучшим вариантом, поскольку вы устраняете эффекты совокупной задержки и проблему мошеннического клиента.

Удачи в вашем проекте! :)

0 голосов
/ 24 июля 2011

Я бы подумал, что вы скажете серверу переместить блок A, чтобы определить XY, и он сообщит всем клиентам текущее местоположение блока (если они могут видеть этот блок), когда он перемещается на каждом временном шаге.это в основном помещает поиск пути и обработку битвы на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...