Расчет пули в многопользовательской игре - PullRequest
0 голосов
/ 08 февраля 2012

Описание проблемы:
Многопользовательская игра, которая работает в какой-то сети, в игре мало игроков стреляют друг в друга, пули летят не с мгновенной скоростью, достаточно медленно, чтобы вы могли их видеть.

Вопрос:
Кто должен рассчитывать позицию летящей пули и попадания в цель (противник, игрок), сервер или клиент?

Лучшее решение, о котором я подумал:
Клиент отправляет серверу пули начальное местоположение и вектор направления. Затем сервер вычисляет положение пули и наносит удар.

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

Пожалуйста, объясните или направьте на соответствующую статью / книгу.

1 Ответ

2 голосов
/ 08 февраля 2012

То, что вы ищете, немного расплывчато, но, надеюсь, я могу указать вам правильное направление.

Эти статьи дают очень приличное описание многих аспектов созданиясетевой многопользовательский режим в играх.

Кажется, что вы в первую очередь застряли с выбором между авторитетной или неавторизованной моделью сервера.Я не уверен, какой язык или среду разработки вы используете, но Unity 3D дает очень хороший обзор каждой модели и какие у них могут быть преимущества / недостатки.

Надеюсь, этопомогает:)

...