|
物理攻击公式是很老很老的资料了,有非常多的前辈做了研究。
在我翻旧帖的过程中到也看到了一些正确的结论,只可惜没有记录到现行流通的错误资料中。
物理攻击公式除了系统阐述数值计算过程外,还涵盖了以下这些常被谈论的子话题:240理论,种族属性修正,防御和怕必杀,以及可以类比“精神魔法发动”的,“攻击物理发动”,以及其他许多使用方便的小推论。
因为某种朴素的观念,很多人都认为自然的好于合成的,手算要比自动算更准等等。这在其他条件等同时,并不成立。
但还是有很多人,在偶然心血来潮的冲动下,翻找出错误的物理攻击公式,然后计算器(也是手算,总而言之不是程序)直接得出小数点后三四位的高精确结果。这是可怜、可悲的事情。可怜的是计算者自己从错误的前提出发,经过自己缜密、正确的推算,得出了精度极高的错误结论;可悲的是,这种高精度的结论,使其他阅读者更容易盲目相信。
所以,我一直都不认为,公式是用来计算和显摆的。任何手算的细节,都可以被完整地整合到程序中去。
公式作为集体智慧的记录和结晶,是供其他研究者继承、分析、批判、讨论的公共知识。这才是公式应有的姿态。
§正文
物理攻击公式的完整形态(不考虑细节计算):
f-dam=Tech*Rebirth*Weaponkind*Defstatus*(Cri-dam+Unitstatus*Unitbonus*Weaponbonus*[Race+Ele-1]*b-dam*Float)
用语言描述是这样:
最终伤害=技能修正*精灵变身修正*武器种类修正*防守状态修正*(必杀伤害+单位状态修正*单位优先修正*武器修正*[种族修正+属性修正-1]*中值基础伤害*浮动系数)
下面就从中值基础伤害开始,一步一步详细介绍各个参数
基础伤害由攻击方的攻击和防御方的防御决定,基础伤害并非连续的函数,在攻击力等于0和防御力等于0的时候,会套用不同的算法。使用条件函数可以把基础伤害的计算汇总成一个式子:
b-Dam=(Atk!=0)*(rAtk/(rDef/rAtk+1/3) +(Def<0)*(-Def))+ (Atk==0)*1【注1】
用语言描述是这样:
攻击等于0的时候,基础伤害等于1;
攻击大于0,防御大于0的时候,基础伤害等于 折算攻击/(折算防御/折算攻击+1/3)
攻击大于0,防御小于0的时候,基础伤害等于 折算攻击/(折算防御/折算攻击+1/3)-实际防御 【注2】
【注1】:逻辑运算也有数值,条件为真是1,条件为假是0.
【注2】:实际防御小于零,所以减号的结果就是增加了基础伤害
式子中的一些具体解释
Atk 玩家的攻击力示数,不包括小数点后的部分。如果受伤或者使用了改变攻击力的技能,则用不包括小数点的数值乘以修正后,再略去小数点。
Def 玩家的防御力示数,具体计算同上
rAtk:当Atk数值不超过241时,与atk相等;当Atk超过241后,为240+round((Atk-240)*0.3+0.1),其中,round为四舍五入
可写为 rAtk=(Atk<=241)*Atk+(Atk>241)*(240+round((Atk-240)*0.3+0.1))
rDef:当Def小于0时,等于0;当Def数值不超过241时,与Def相等;当Def超过241后,为240+round((Def-240)*0.3+0.1)
"!=" :不等于运算,如果两边不等于,则返回1,否则返回0.
"==","<" :“等于"和"小于"运算,返回数值的情况同上,其他的逻辑运算也是类似性质,若成立则返回1,不成立返回0.
例如 “800!=0” 返回值为1.
【辟谣】240理论指的就是折算攻击/防御和实际攻击/防御的换算过程。换算中包括了乘以系数0.3的过程,所以很多人都认为攻击、防御突破240之后,“效果”、即攻击-伤害的增幅关系变为原来的30%。这不是正确的理解,240理论若被称作“240修正”,会更能体现其原本的意义。
攻击公式的设定中,本来就是使伤害和攻击力成线性关系。(防御0的情况下)但由于被攻击方的防御力的影响,这个线性关系被歪曲,成为两段,前半段近似二次曲线,后半段逐渐过渡回线性。所谓的“越涨越快突破天际”,只是错把公式看成二次函数而已。
图片中的攻击-伤害曲线,整体来看其实很接近一条直线
防御力的影响使得前期的攻击力收益远低于后期收益。240修正的出现就是对整个伤害曲线进行平衡调整,使玩家早期加攻可以获得较大的收益,算是对初期玩家的照顾。所以,在玩家早期(20级前),装备的意义非常大。相对于“攻击超过了240之后,效果变差”的说法,更正确的理解是“攻击在240之前,收效更高”。
这就是240修正的作用,不坑爹,只是让攻击-伤害在很大的范围内保持准线性关系。
由于防御和伤害的关系和反比例关系接近(类似y=1/x),所以防御的收益并没有攻击显著,在具体考察如何增加生存能力时,需要结合物理攻击公式的所有参数综合计算,才可能得出纯物理伤害的条件下,是先增加防御更好、还是先增加体力更好。
看完上篇,你应该知道传统观点的“240理论”毫无例外全都是错的。240修正只不过是平衡游戏的一个参数,并不坑爹。你要高伤害,就要加高攻,高必杀;你要耐揍,就要考察防御和生命的分配比例。
我个人认为,游戏除了要控制参数收益外,还要控制战斗节奏。所以防御不可能比攻击收益更高,否则一场战斗就要打半个小时了。因此,攻击的地位比防御更高。 |
|
|