每个象限中的片段都是四个玩家的同一时刻的客户端视图之一。我们将它们排列起来,以便您可以看到在每个人都与其他人和道具碰撞时,四个预测视图保持一致的程度。
我们使用自己的Unity多人引擎(Reactor)构建了这个原型,以在重力物理交互下测试预测。我们假设基于回滚的预测不太可能工作,所以我们尝试了其他方法。
在打斗游戏中,回滚是很好的:你有有限的角色和物体,一种确定性的模拟,所以重新模拟几帧是很便宜的。在物理基准射击游戏中,回滚是不可行的,因为玩家倾向于聚焦在同一对象上,这会暴露回滚引起的纠正的潜在问题。每次纠正都会重新模拟一个充满刚体的世界,这会导致客户端处理负荷增高,低/不稳定的帧率。如果多个玩家都在推动同一堆碎石,它可能会导致客户端永远无法赶上回滚状态。
我们使用了物理游戏中的一个老方法:客户端侧模拟输入来控制实体的运动,但迅速收敛到服务器状态。这种方法的-tradeoff 是玩家不会感觉到瞬间运动,而是会感觉到他们的角色加速。对于机甲游戏来说这是可以接受的,但对于FPS射击游戏则需要调整。
那些曾经工作过于多人和预测的人,我很好奇你们是如何处理这个问题的。你们在回滚和服务器托管预测之间划分了哪一条线?有人成功地将回滚应用于物理重量游戏吗?如果是这样,那么它需要什么样的努力?什么会让你们失败?
评论 (0)