Какой шаблон подходит для проверки попадания пуль в игру, для которой требуется проверка сервера? - PullRequest
3 голосов
/ 18 апреля 2010

Я хотел бы разработать PvP-игру, использующую флэш-память в клиенте и сервере сокетов Java, но мне нужно, чтобы сервер проверял траекторию и, если пули попали в цель из-за мошенничества.

Есть ли учебник или документ, в котором описано, как это сделать?

Ответы [ 4 ]

4 голосов
/ 18 апреля 2010

Для этого вам нужна логика на стороне сервера.

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

клиенты должны быть главным представителем мирового представительства ..

3 голосов
/ 18 апреля 2010

Общая идея для непобедимой многопользовательской игры:

Вам следует отправлять только те клавиши, которые нажимает пользователь, сервер сохраняет их и через некоторое время обрабатывает информацию и отправляет снимок текущего положения всех объектов в игре.

Может быть, если вы не хотите тратить слишком много сетевого трафика:

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

2 голосов
/ 18 апреля 2010

Поскольку вы запрашивали шаблоны, я предполагаю, что вы понимаете, какую логику вы хотите написать на стороне сервера, но не знаете, как организовать ваш код. Вы должны взглянуть на шаблон стратегии (http://en.wikipedia.org/wiki/Strategy_pattern) один раз. Поскольку в этой задаче, основанной на различных местоположениях на экране, необходимо изменить способ проверки данных сервером, шаблон стратегии хорошо подходит для этой проблемы.

1 голос
/ 19 апреля 2010

@ Джек: +1, и вы не должны выполнять физические упражнения на сервере, сервер просто проверяет начальную точку, конечную точку, диапазон и время и т. Д. ... если они разумны!

...