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