核心思想: 服务器不光储存当前的游戏状态,还会储存过去一段时间内所有玩家的位置记录。当服务器收到一个射击指令时,它会查询这个指令是什么时候从客户端发出的。然后,它会把“回溯”到那个时间点,查看所有玩家当时的确切位置,再来判断这次射击是否命中。 举个例子: 玩家 A 的延迟是 50ms,玩家 B 的延迟是 150ms。 玩家 A 开了一枪,目标是玩家 B。这个操作指令需要 50ms 到达服务器。 服务器收到指令,但它需要判断的是玩家 B 在 50ms 前 的位置,而不是服务器收到指令的现在位置。 为什么是 50ms 前?因为玩家 A 发出指令时,玩家 B 在服务器看来,可能已经移动到了另一个位置。服务器为了公平,必须模拟玩家 A 看到的那个瞬间的玩家 B 位置。 如果玩家 B 的电脑也做了预测,它可能已经移动到了一个“安全”的位置。但延迟补偿让服务器回溯到更早的时间点,那时候玩家 B 可能还在玩家 A 的准星里。 好处: 大大提高了射击的命中感,尤其是对于高延迟的玩家来说,他们射击时感觉到的目标位置,往往就是服务器认为的那个目标位置,从而提高了射击的准确性。 潜在问题: 对于低延迟的玩家来说,他们可能会感觉到,自己明明已经躲进掩体了,却还是被命中了。这是因为高延迟玩家的射击,在服务器看来,是命中了他们躲进掩体前的那个瞬间。这也是一个权衡,通常设计者会尽量在各个方面寻找平衡。
使命召唤4:现代战争(Call of Duty 4: Modern Warfare),这款2007年问世的FPS巨头,绝不是一个简单的游戏,它在电子游戏,尤其是第一人称射击游戏的历史长河中,拥有着举足轻重的地位。毫不夸张地说,它重新定义了现代FPS游戏,为后续无数作品铺平了道路,甚至可以说是奠定了现.............
说到一局就让人惊呼“硬核”的FPS游戏,我的脑海里立马跳出那么几个,尤其是那种让你在短时间内体会到什么是“死亡如风,常伴吾身”的游戏。第一个必须是 《逃离塔科夫》(Escape from Tarkov)。这个游戏刚开始接触的门槛就高得离谱,别提玩一局了,光是熟悉它的界面和基础操作就得花费不少功夫。但.............