Синхронизация AI NPC в многопользовательской игре - PullRequest
2 голосов
/ 07 декабря 2010

Я начал разрабатывать небольшую многопользовательскую гоночную игру, очевидно, что мы используем все методы предсказания игрока, методики компенсации мертвого счета и компенсации отставания, которые используют Half Life, Quake и Unreal - однако мы планируем иметь десятки автомобилей ИИ втакже и в игре.

Изначально мы решили просто посылать случайное начальное число всем клиентам, и они будут рассчитывать позиции ИИ и т. д. - однако мы столкнулись со следующей проблемой:

  1. Все клиенты получают семена для управления машинами ИИ
  2. Клиенты получают обновления о движении только для игроков в пределах их прямой видимости
  3. Игрок А попадает в машину NPC
  4. Игрок Б входит в игрока Аframe

Теперь, так как игрок B не получил движения игрока A, он будет считать, что машина ИИ все еще движется, как и должно, и не будет рассчитывать, что игрок A ударил одного изэти машины ...

Короче говоря, как вы можете синхронизировать ИИ юниты, на которых воздействовали игроки?

1 Ответ

1 голос
/ 07 декабря 2010

Предположительно, ваш сервер знает о каких-либо коллизиях.В этом случае просто оповестите всех своих клиентов о результатах столкновения - по существу, повторно отправив ИИ на клиентов, в точке столкновения, с новыми направлениями, скоростями, семенами ГСЧ и т. Д.

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