【Warface】后坐原理及「回归后坐」隐藏属性解析

给这个属性起名琢磨了好久,最终还是选定了这个最能体现其本质的词——回归
此文主要分为3个部分
后坐相关参数原理解释
具备典型「回归后坐」属性的枪械一览及规律总结
非典型「回归后坐」枪械简述

①后坐原理解析
宏观:后坐模板Recoil Pattern(单位)
※此部分仅为对有限的参数大量观察得出的表观结论,没有精确理论支撑,可能引起争议
优先级最高的参数,后坐上限(枪口总上扬角度)、每发子弹的不规则后坐方向等,不由其它参数决定,而由后坐模板RP硬性框定
显然,玩家目前能够得知的RP参数尚且非常有限
最远弹着点限制[xmax,ymax](未知位移相对单位)
经过大量观察RP图样本后发现
该限制仅代表“相对值”而非“绝对值”,仅能纵向(内部)参考而不能横向对比
甚至,该限制仅仅是RP图中展示的不足的、亦或是超量的——与该枪弹匣载弹量不匹配的弹着点的最远处坐标而已
即便如此,RP图仍然具有相当的参考价值
RP是研究后坐原理绕不开的、必须被考虑到的宏观参数
※当分析后坐原理时遇到与理论推导相悖的现象时,常以后坐模板RP的硬性框定去解释


后坐模板随机度Recoil Randomness(未知类对数函数相对单位;底数>1)
通过观察和经验可以发现,后坐模板RP仅在后坐模板随机度RR≥1(上刺刀)时产生肉眼可见的变化
类似于底数>1的对数函数关系
故做此猜想
※待编辑:Loop Start

微观:其它后坐参数(单位)
※若未做特殊说明,以下解析均以“未受后坐模板Recoil Pattern限制(自由后坐)”为前提。因为当后坐模板的干扰可以忽略后,下一组两发弹着点间的连线相对上一组两发弹着点间的连线的两组斜率可视作仅改变很小的角度θ;此时dx*cosθ≈dx——化非线性关系的不可加为线性可加
※以下积分运算均暂不计不定积分的积分常数C
※默认姿势均为立姿开镜
【后坐增幅Recoil Attack(每发)】
当连续射击时;后坐增幅RA是后坐稳定前位移x1对后坐稳定前耗弹量n1的二阶导数(加速度);在理论射速RPM一定的情况下;后坐增幅RA越大,下一组两发弹着点间的位移相对上一组两发弹着点间的位移递增越明显
为方便统一单位(每ms)通常将其化为∣x1∣对射频的倒数时间τ1的函数关系
设当前后坐幅度为R
其中,RA=x1''
R(n1)=∫RAdn1=n1*RA
x1(n1)=∫dx1=∫RDn1=∫(n1*RA)dn1=(1/2)*RA*n1²
τ1(n1)=∫dτ1=∫τ1dn1=n1*[1/(RPM/60)*1000]
故n1(τ1)=τ1/[1/(RPM/60)*1000]
即∣x1(τ1)∣=(1/2)*RA*{τ1/[1/(RPM/60)*1000]}²
设当n1=n1max时,R(n1)=n1max*RA恰好到达RM;相对地,当x1=x1max时,后坐稳定前位移恰好结束
在实际应用中,由于n1∈N;一般采用
n1max=⌈RM/RA⌉(向上取整)

【最大后坐幅度Recoil Maximum(每发)】
当连续射击时,设载弹量为N足以支撑RA达到RM;最大后坐幅度RM是后坐稳定后位移x2对后坐稳定后耗弹量n2的导数(最大速度);下一组两发弹着点间的位移相对上一组两发弹着点间的位移不再以RA递增,达到稳定;RM越大,即代表后坐达到稳定后任意两发弹着点间的间隙越大
为方便统一单位(每ms)通常将其化为∣x2∣对射频对倒数时间τ2的函数关系
其中,RM=x2'
x2(n2)=∫dx2=∫RMdn2=n2*RM
τ2(n2)=∫dτ2=∫τ2dn2=(n2*[1/(RPM/60)*1000]
故n2(τ2)=τ2/[1/(RPM/60)*1000]
∣x2(τ2)∣=RM* {τ2/[1/(RPM/60)*1000]}

【后坐回复冷却时间Recoil Decay Delay(毫秒)】
在这里引入“等效后坐幅度修正”概念
前述的“连续”实际上是相对与鼠标信号是否连续输入而言,后坐过程本身是不连续的。而后坐回复响应实际上全程都在起作用,将会暴露这一点
故只有经过等效修正后,才能真正将后坐过程看作是连续的
普遍地
对于大多数后坐回复冷却时间RDD<全自动射击每发子弹时间间隔dτ的枪械
意味着即使全速射击,每发子弹的后坐也总会有回复的机会
设全自动每发子弹固有后坐回复时间为t0
t0=dτ-RDD

【后坐回复幅度Recoil Decay(每秒)】
与前述相应地,即使连续射击,也会因为dτ过大,而导致先达到被作用了满额的后坐增幅RA的当前后坐幅度R,再以后坐回复幅度RD削减掉被作用了t0之久的后坐幅度
设全自动每发子弹固有后坐回复幅度为RD0
RD0=RD*t0/1000
在达到后坐稳定前
设削减掉RD0后的R为等效当前后坐R0
R0(n1)=n1*RA-RD0
设当n1=n1max0时,R0(n1)=n1max0*RA恰好到达最大后坐幅度RM
此时,真实的恰好到达RM的耗弹量
n1max0=⌈(RM+RD0)/RA⌉
※在实际应用时,RD0可忽略不计;通常仍采用前式n1max=⌈RM/RA⌉
当达到后坐稳定后
设等效最大后坐幅度为RM0
RM0=RM-RD0

用修正后的R0(n1)替换之前的R(n1)
R0(n1)=∫RAdn1-RD0=n1*RA-RD0
x10(n1)=∫dx10=∫R0dn1=∫(n1*RA-RD0)dn1=(1/2)*RA*n1²-RD0*n1
∣x10(τ1)∣=(1/2)*RA*{τ1/[1/(RPM/60)*1000]}²-RD0*{τ1/[1/(RPM/60)*1000]}
用修正后的RM0替换之前的RM
x20(n2)=∫dx20=∫RM0dn2=n2*RM0
∣x20(τ2)∣=RM0* {τ2/[1/(RPM/60)*1000]}
设修正后的总后坐位移为X0,弹匣清空所需时间为T;显然地,当n2=N-n1max0时,后坐结束;相对地,当x20=X0-x1max0时,后坐稳定后位移结束
X0=∫[0,n1max0]dn1∫[0,n1max0*RA-RD0]RAdn1+∫[n1max0,N]RM0dn2
∣X0(T)∣=∣x10(τ1)∣+∣x20(τ2)∣
此式表明
在经过等效后坐幅度修正后的连续射击时,且后坐模板Recoil Pattern的干扰可以忽略(即自由后坐)时
整段后坐位移等于
后坐稳定前:后坐增幅RA在0到真实的恰好达到最大后坐幅度RM的耗弹量n1max0上对耗弹量n1的二次积分
与
后坐稳定后:等效最大后坐幅度RM0在真实的恰好达到最大后坐幅度RM的耗弹量n1max0到载弹量N上对耗弹量n2的定积分
之和
可以理解为
前一段:“初速度”=每发固有后坐回复幅度RD0、方向相反;加速度=后坐增幅RA的匀加速“直线”运动
加上
后一段:速度=等效最大后坐幅度RM0的匀速“直线”运动
便是整段后坐
特别地,当后坐回复冷却时间RDD≥全自动射击每发时间间隔dτ时(如Mini Uzi、Gilboa DBR),无需进行等效修正
即
X=∫[0,n1max]dn1∫[0,n1max*RA]RAdn1+∫[n1max,N]RMdn2
∣X(T)∣=∣x1(τ1)∣+∣x2(τ2)∣
特别地,当载弹量N不足以支撑后坐增幅RA达到最大后坐幅度RM时(如除一代皇冠版本以外的SCAR H)
只计后坐稳定前部分
即
X0=∫[0,N]dn1∫[0,N*RA-RD0]RAdn1
∣X0(T)∣=∣x10(τ1)∣
这便是连续射击时后坐的本质
e.g.
「HOWA Type89 Custom」

「FN SCAR H」

※今猜想:之所以后坐模板Recoil Pattern只能纵向(内部)参考而不能横向对比,可能与之前忽略的每把枪独特的积分常数C的值不确定有关

【后坐归零冷却时间Recoil Reset Delay(毫秒)】
当不连续射击时,不妨设鼠标的信号输入中断的瞬间恰好在射频倒数τ的节点;问题变得简明起来
在后坐回复阶段,按理说后坐将进入一段方向相反的、速度=RD的匀速“直线”运动
但位移此时不再是令人感兴趣的研究对象,以下只做时间相关讨论
在这一瞬间,后坐回复冷却时间RDD和后坐归零冷却时间RRD计时器同时开始响应
设后坐回复时间为t
若在后坐稳定前
t(n1)=RDD+(n1*RA)/RD*1000
若在后坐稳定后
t=RDD+RM/RD*1000
※由于被除数过大,一般不会考虑后坐稳定后的情况
普遍地
当RDD<RRD时,若后坐回复幅度RD不足以支撑当前后坐幅度R在这段时间差内回复至0
即
R(n1)-(RRD-RDD)*RD/1000>0
总有t>RRD
事实上,对大多数枪械而言
即使R(n1=1),也有t(n1=1)>>RRD
此时后坐归零将必然覆盖后坐回复——后坐归零为主导:在经过RRD计时后,后坐强制归零
特别地
当t<RRD时
在后坐归零前足以使后坐回复至0——后坐回复为主导:在经过t计时后,后坐提前回复至0
可见,后坐归零优先级高于后坐回复

【后坐平滑度Recoil Smoothness(未知负相关相对单位)】
可能不会对后坐模板或未受后坐模板限制的自由后坐的实际弹着点造成任何实质性的影响
仅为视觉效果
后坐平滑度RS越大,后坐过程看起来“帧数越高”,即体感后坐越小;呈负相关
※目前尚没有任何事实证据表明RS跟后坐时镜座的抖动程度有直接关系

②具备典型「回归后坐」属性的枪械一览及其判据归纳
【定义】
「回归后坐」是
在具有该属性的一把典型全自动枪械的任意后坐时刻
切换至任意射频(可趋近于RPM极限)的非连续射击时
着弹点总是回归于第1发指向第2发后坐位矢延长线上的某一点处
这一现象的概括
※当不具备「回归后坐」切换至非连续射击时,后坐将继续行进且不会回落。弹道规律为既有全自动弹道的慢速放大版本
通俗地说就是——全自动枪里的“半自动激光枪”
※「典型全自动」指最常见的能够高速全速射击的枪械种类;如冲锋手枪、步枪、冲锋枪、机枪、重机枪
「非典型全自动」则指全自动狙击枪、全自动霰弹枪;个别以跨职业定位步枪(HCAR、G28、钴动力27)为基底衍生的全自动步枪(HCAR Auto);它们使用的是另外两套后坐模板
这里只讨论前者

【具有该属性的枪械一览】
※ 斜体表示仅该皮肤版具有而原版不具有





【判定标准】(三项需同时满足)
1)后坐回复冷却时间 Recoil Decay Delay ≠ 0 ms
典型反例:MG36
「MG36」

※符合这种规律后坐模板的大部分是最早期推出的枪械
2)后坐归零冷却时间 Recoil Reset Delay = ??? ms
典型反例:UMP45、Vz83
「UMP45」

※符合这种规律后坐模板的大部分是16年后至今推出的新式枪械;另外包括一小部分中期枪械
3)单发后坐回复时间 [ t = RDD+(1*RA)/RD*1000 ] >> (典型RRDmax = 250) ms
典型反例:G18、MPA930、MP7、XM8LMG
「MP7」

※符合这种规律后坐模板的枪械很少,仅上述四把
(目前该标准尚未发现例外)
正面典例:
「M4A1」

※符合这种规律后坐模板的大部分是最早期~16年推出的枪械(最近的一把是重做之后的XM8)
在事前未亲手试验的情况下
我利用该标准成功“预测”了CZ75A、CTAR21、PP2000、MP9、K7、MP7J
成功排除了97B、Vz83、MPA930、MG36
可见该标准的泛用性
※ 但事实上,「回归后坐」属性本身存在巨大的时代断层
新推出的枪械已经早已不会再套用旧有的后坐模板;因此该判据已经失去了“预测”价值

【原理猜想】
※ 很遗憾,鉴于后坐归零冷却时间 Recoil Reset Delay 的???值目前无法判明其定义
故无法精确给出判定标准的原理——该标准来源仅为大量的数据统计和观察逆推得到的表观结论,并无硬核理论含金量
目前的猜想是:
由于非连续射击导致了单发后坐回复时间 t 与后坐归零冷却时间 Recoil Reset Delay 的优先级冲突(通常来说后者的优先级大于前者)
导致后坐模板 Recoil Pattern 在第1发到第2发之间被“切断”——后续所有弹着点都将收敛于该方向上不远处一点,与何时开始切换至非连续射击无关
(经观测,该点并非总是最大后坐幅度Maximum Recoil 的落点;但符合WFCompare在“后坐力相关”方面的描述:

故在定义时,委婉地采用了“延长线上某一点”的用词)
因而呈现出回归性

【评判一把回归后坐枪优劣的要点】
1.第一发到第二发后坐的位矢尽可能竖直向上
2.后坐停止的位置尽可能离第二发原点位置近
3.最大散布( maximum spread)尽可能小
4.射速上限尽可能低(以防粘滞误触)
5.最大最小伤害射程衰减头部倍率等硬性指标尽可能好
6.如果直瞄精度足够优秀,则可以不开镜达到与恒定精度相似的效果(如CZ75 Auto)
按lz个人射击体验
AUG HBAR、PP2000、M4A1、SR2、XM8等都是比较推荐的
而远程性能优秀的则有M60 Ares、皇冠97式、XM8C等
其中AUGH Winter Camo由于更改了Recoil Pattern,虽然仍然保留有回归后坐属性,且硬性指标更优秀;但经观测,第一发至第二发的矢量变成了沿左上,所以lz便打消了购买收藏的念头
(所以说懂数据真的能省钱啊

【功能应用】
首先声明:UP坚决反对一切第三方辅助插件在任何FPS游戏上的应用
一方面,合理手操该属性可以极大地提高一把枪的能力上限
可显著提高其在PVE模式中的远距离多爆头表现——只要队伍中有一位懂得「回归后坐」操作的玩家,几乎总能拿满杀敌分数皇冠
另一方面,鉴于绑定本属性的枪械存在巨大的时代断层,其固有性能早已远远落后于现有防具发展——故「回归后坐」在PVP模式中表现相当有限(放弃原有的全自动能力去追求精确性本身就是舍本逐末的)。「回归后坐」并不会改变这些枪在PVP模式中的“娱乐”定位
UP不建议「回归后坐」在PVP中应用
其实这个隐藏属性比上一篇「恒定精度」更早发现
之所以一直藏着掖着不发布就是考虑到可能造成的不健康游戏导向
但经UP多次尝试,「回归后坐」在PVP中表现属实费拉不堪;另外鉴于其“任意射频”特性、不像其他硬性半自动武器需要根据理论射速精确控制射击间隔;使得某些辅助插件相比起手操在短时间内并不会获得太多优势
故在历经一年半之久的痛定思痛(tuo geng)后,终于决定公开此研究成果

③非典型「回归后坐」枪械概述
【原理说明】
上面已经提到:当不具备「回归后坐」切换至非连续射击时,后坐将继续行进且不会回落。弹道规律为既有全自动弹道的慢速放大版本
因此,当其全自动后坐本身就存在收敛特性的时候,其非连续射击的后坐显然将不失真地复制并放大这一特性
只不过,这类枪械只会在达到后坐上限时才呈现收敛性,若在此时切换至非连续射击,其弹着点将依旧维持在原收敛点而不会回落至第二发处
故称其为非典型「回归后坐」
本身就是“全自动激光枪”,换成半自动当然也是激光枪啦
【目前发现的具备该属性枪械一览】
上面也已经提到过全自动狙击枪、全自动霰弹枪大多套用的另外一套后坐模板,正是此套
这套后坐模板相对来说极为简化,自由后坐过程几乎是完全线性的,且后坐模板的限制仅为一明确终点
正是由于该单点限制,使得它们具备全自动射击下的收敛性——非典型回归性
同样因为这一点,使得此类枪械非常容易受到后坐模板随机度Recoil Randomness的干扰(如被削弱后的VSS)
※可能有缺漏
※M60 MK60 Mod是Ares M60的原型,现已绝版


【参考文献】
[1] Warface Fandom Wiki——https://warface.fandom.com/wiki/Weapon_Stats
[2] WFCompare——wfcompare.cf
希望这篇研究对其他存在相似后坐算法的射击游戏亦能带来参考价值
引用请注明出处