我已经开始开发一个小型多人赛车游戏,显然我们正在使用半条命、雷神之锤和虚幻引擎使用的所有玩家预测、航位推算和延迟补偿技术——但是我们计划在游戏中也有几十辆人工智能汽车.
最初我们决定简单地向所有客户端发送一个随机种子,他们将计算 AI 位置等 - 但是,我们遇到了以下问题:
- 所有客户都会收到运行人工智能汽车的种子
- 客户端只会收到他们视线内玩家的动作更新
- 玩家 A 撞上 NPC 汽车
- 玩家 B 进入玩家 A 的框架
现在由于玩家 B 没有收到玩家 A 的移动,他会假设 AI 车仍在正常移动,并且不会计算玩家 A 撞到其中一辆汽车的事实……
长话短说 - 你如何同步受玩家影响的 AI 单位?