Описание проблемы:
Многопользовательская игра, которая работает в какой-то сети, в игре мало игроков стреляют друг в друга, пули летят не с мгновенной скоростью, достаточно медленно, чтобы вы могли их видеть.
Вопрос:
Кто должен рассчитывать позицию летящей пули и попадания в цель (противник, игрок), сервер или клиент?
Лучшее решение, о котором я подумал:
Клиент отправляет серверу пули начальное местоположение и вектор направления. Затем сервер вычисляет положение пули и наносит удар.
Также задумался о синхронизации с точным временем сервера и отправке цифр клиенту (начальная позиция маркера, вектор направления и время), после чего клиент вычисляет попадания. Но проблема существует - что время сервера и клиента не совпадает.
Пожалуйста, объясните или направьте на соответствующую статью / книгу.