Задать вопрос
Ответы пользователя по тегу Игровые приставки
  • Методы синхронизации в онлайн играх?

    @s0rr0w
    Если брать CounterStrike, то там работает следующая логика

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

    Ситуация на сервере и в клиенте немного асинхронная, игрок может изменить свое местоположение в клиенте, но сервер узнает про это только через время.
    Ответ написан
    Комментировать