本
文
摘
要
原创: BWMOD
亲爱的朋友们大家好呀!一周一期,绝不托更(是么?)的《CSGO与现实系列》又来啦!CAC 2019上周末落幕,中国战队表现不俗,尤其TYLOO闯进四强,刷新今年大赛最佳成绩。
TYLOO在CAC 2019上重拳出击
玩归玩,闹归闹,别跟孙哥开玩笑
那么本期咱们的主题是什么呢?不知道广大CS:GO玩家是否听说过这么一个说法——“在CS:GO中无论从多高的地方掉落,只要掉落到水中就不会受到伤害(掉HP)”?
我相信应该有许多(甚至绝大多数的)玩家开始点头了!那么,请看一下这样一个视频(GIF)
视频来源bilibili UP主“Cruise懒虫、CSGO”
前面的那几个,把嘴巴合上去,后面的把眼睛收起来。虽然我相信今天咱们要讲的东西很可能会让许多玩家的常识体系崩溃,不过,咱们今天还是要来讲讲CS:GO中的坠落判定(Fall damage)。
早在CS1.6时代,起源引擎神奇的坠落伤害判定就为广大CSer们所诟病。1.6时代坠落伤害奇高(贴近事实),而在后来的CS:S以及CS:GO的开发中,V社吸取了经验教训,大幅度地降低了坠落伤害,使得游戏容错率更高和竞技性更强。试想一下你不小心从Nuke的二楼跳下来直接满血摔死了,你找谁说理去?
在那样的环境下,很多神奇的“速降”方式被开发了出来,比如图中这个技巧你甚至仍能在今天的CS:GO中使用
但即便是在大幅削减过坠落伤害的今天(CS:GO),我们也仍然能够时不时地看到玩家(甚至职业哥们)以各种奇葩的方式摔死。
比如这样的太阳神,
这样的nitr0,
还有这样的彬彬有礼,
甚至你还可能会遇到一些稀奇古怪的BUG:
我在网上查阅相关资料时才发现关于CS:GO坠落伤害的说法真的是百花齐放、千奇百怪啊——什么“坠落时间越长伤害越高说”、“坠落高度和伤害成正比”、“坠落伤害随机” 等说法应有尽有,无所不有。那么真相究竟是怎么样的呢?让我们来看一下以下几个GIF。
以上视频片段来源来自B站UP主“Cruise懒虫、CSGO”
细心的小伙伴可能很快就发现了问题,首先,最后一次的伤害计算有误(实际上应该是-21HP而不是-48HP)而且坠落伤害的数值并不完全是按照高度的增加而增加的。那么事实究竟是怎么样的呢?
在我查阅了大量资料后(官方并没有给出明确解释),终于在找到了关于CS:GO坠落伤害的全面解析。
做解析的Up通过大量实验累积数据从而得出的结果相对可信度较高
那么为了方便大家理解,我们首先来说结论:“坠落伤害仅与坠落瞬间的瞬时速度有关,且存在最大值”
那么接下来我仔细讲解一下,这个结论是怎么产生的。
首先,通过不断地测试(一定要控制变量——最好使用脚本操作,键盘操作的一点差距也会影响结果)得到以下高度与伤害的数据(这里u为units,指游戏内距离单位40u=1m),
接着使用数据做出图像,大致如下
顺带一提:可以造成伤害的最小高度是222u,大概就是Dust2上A小到警家的距离 。
吐槽:223u约等于5m,从五米高的地方跳下去,两腿一伸,啥事没有,果然双方都乃神人也
制图后,将伤害与高度差(即差值Δ)我们可以发现虽然伤害数据成等差数列递增,但高度差与伤害之间的关系并不是简单的一次函数。
然后再次作图(图中曲线为以上图数据求得的模型函数),发现游戏中关于坠落高度和坠落伤害之间的关系很可能符合一个二次函数曲线。
所以所谓的“掉落距离与坠落伤害成正比”的传言不攻自破,而且也证明了坠落伤害并不是随机的。
紧接着我们带入游戏中坠落前的末速度,我们不难看出这些末速度和最终伤害有着明显的一对一的联系。(Estimated Damge为预测伤害,即上图中拟合函数的预测值,在这组数据中,高度较低时,拟合结果较差)
2400u大概就是一张地图的横向距离,NUKE上的大水箱大约为330u,从上面掉下来大概会掉36Hp
有意思的是,当高度达到一定时,速度会成为一个定值(也就是官方的反kz系统)。这就使得无论你在游戏里从多高的地方掉落,最终的伤害数据会一直停留-695HP(图中红色为预估数据)。
除了速度外,其实还有别的东西会影响到CS:GO中的坠落伤害判定——那就是建模。
在CS系列游戏中,物体只有与水平的建模碰撞才会发生伤害判定,而像斜面建模是不会发生判定的。
这也就是为什么CS中会存在SURF的玩法
除了没有伤害判定外,斜面建模甚至可以用来加速
除了斜面建模,你还可以通过旋转减速的方式达到无伤“速降” 。
你也可以用梯子来达到无伤的效果
你甚至还可以使用队友、手雷来达到这一点(如果用队友的话,要求你队友在你落在他身上的一瞬间按下下蹲键减速)。
看到这里,我相信很多人都目瞪口呆了吧!那么现在其实我们就可以解释,为什么最开始的gif中角色掉入有水的区域却仍然会掉血的问题了。CS:GO中的角色掉入水中后速度并不是瞬间归零的,如果水池过浅,角色在未减到安全速度之下时就与水底接触,那么在这种情况下角色就会掉血
再分享给大家一个小贴士:CS:GO中声音判定也是与速度有关的,脚步声能被1100u外的敌人听见,而落地声则是600u。静步会使你的速度降低到原来的52%。
例如对于刀和C4(静步最高速度为250u / s * .52 = 130u / s)而手榴弹则是(245u / s * .52 = 127.4u / s)。但是在进行跳跃落地时,如果角色的速度超过了126u/s,你就会在落地的时候发出声音——换而言之,下次无声跳的时候别切着雷或者刀跳(不知道无声跳的赶紧回去复习)。