Я начал разрабатывать небольшую многопользовательскую гоночную игру, очевидно, что мы используем все методы предсказания игрока, методики компенсации мертвого счета и компенсации отставания, которые используют Half Life, Quake и Unreal - однако мы планируем иметь десятки автомобилей ИИ втакже и в игре.
Изначально мы решили просто посылать случайное начальное число всем клиентам, и они будут рассчитывать позиции ИИ и т. д. - однако мы столкнулись со следующей проблемой:
- Все клиенты получают семена для управления машинами ИИ
- Клиенты получают обновления о движении только для игроков в пределах их прямой видимости
- Игрок А попадает в машину NPC
- Игрок Б входит в игрока Аframe
Теперь, так как игрок B не получил движения игрока A, он будет считать, что машина ИИ все еще движется, как и должно, и не будет рассчитывать, что игрок A ударил одного изэти машины ...
Короче говоря, как вы можете синхронизировать ИИ юниты, на которых воздействовали игроки?