Синхронизация AI NPC в многопользовательской игре

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

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

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

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

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


person Ron Rejwan    schedule 07.12.2010    source источник
comment
Этот вопрос следует задавать gamedev.stackexchange.com   -  person Vlad.P    schedule 07.12.2010
comment
Пожалуйста, удалите тег AI. Это не имеет ничего общего с ИИ.   -  person ziggystar    schedule 07.12.2010


Ответы (1)


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

person TreDubZedd    schedule 07.12.2010