为什么你先开的枪,回放中敌人却毫发无伤的反杀你?
近日,常于某S姓大佬组排的Just9n在直播中分析了他的一场游戏,直播录像中显示他打了敌人五枪,四枪身体一枪头,一级防具的敌人按理说早就阵亡了,但是敌人却掏出Tommy Gun直接反杀。
而在敌人的视角中则显示一枪未开,滴血未掉…
今天给大家介绍一个FPS游戏一定涉及到的一个概念——”tickrate“。
tickrate是指服务器每秒钟读取游戏的状态次数,简单点说,就是服务器的有效帧数。复杂点说,游戏世界里面,所有的行为都不是像现实世界一样连续的,而是通过尽可能快的刷新状态来模拟出真实的连贯效果,每一个状态就是一个tick。那么我们常说的64tick和128tick也就不难理解了,在你仔细观察时,128tick的服务器的移动判定会比64的更精确,但同时对CPU的要求也更高。
大家小时候都玩过的连环画,在每页纸上画上不同的动作,然后快速翻页,看起来像是一套连贯的动作,这就和Tick的概念很类似。CS的服务器也是无法即时记录你的状态的,因此它只能多次读取你的状态,比如:所处位置、站or蹲,移动方向等。然后结合敌方的状态以及开火方向,来判定你是否被击中。
接下来说说不同Tick数对于游戏的影响。
一、命中判定问题
就像上图里展现的一样,20tick记录数的是很少的。
在20tick的服务器,有个敌人从如图的位置跳下,刚好经过1~3这块区域,而你用AWP开枪射击。如果你瞄准的位置是在下图的2上,那么你的这一枪是会被判定为未命中的,只有瞄准1或3才可以命中。即使这三个点的位置没有任何问题,都是在敌人的下落轨迹上。
而在128tick的服务器中,不论瞄准的是1、2还是3,都可以被判定为命中。
二、子弹散布差异(不确定)
有部分玩家认为在不同的服务器中,子弹的散布,即大多数玩家说的“弹道”也是不同的。我个人也觉得两者的散布是有一点细小的差距的,这可能是不同tick导致不同判定造成的误差,我也无法确认,毕竟子弹的散布是有一定随机性的,不可能次次相同,V社官方不证实,我们的测试也是有误差的。有兴趣的玩家可以看看贴吧的这篇帖子,虽然权威性有待商榷,但还是有一定的参考性。
以上就是高Tickrate的作用,虽然64tick服务器已经很少出现上述判定错误的情况,而且64tick在守望先锋以及战地4中已经可以算高tick服务器了(日常30tick),但是如果有更好的我们为什么要去选择差的呢?因此目前战地1和4也上线了120tick服务器,而CSGO的正式比赛也采用128tick服务器作为标准服务器。
因此,tickrate越高,意味着玩家跟连线中的角色互动发生的命中率越高,意味着服务器上的计算越符合我们在屏幕上看到的内容。
《绝地求生》这样一款每秒计算8次伤害,自带125ping值的游戏真的还需要优化完善才能更加有竞技性,包括职业比赛的公平性。
领取专属 10元无门槛券
私享最新 技术干货