上古有灵妖游戏内的伤害机制第一期——防御加成的伤害计算公式推导
上古有灵妖游戏内的伤害机制第一期——防御加成的伤害计算公式推导如下:
目前游戏中已经出现了不少按防御结算伤害的灵妖了,如鲲、大禹、旋龟、九尾,相信以后这种灵妖也会越来越多。
在大约一年前,已经搞明白了攻击加成的伤害计算公式,对防御加成的计算公式一直感到好奇但又懒得去推算。直到如今,发现鲲居然有非常不错的输出,再次对这件事提起了兴趣。(不过鲲的伤害属于间接伤害,本期先讨论直接伤害,以后有机会再去探究间伤,这样就可以多水几篇帖子了)
先放上推导结论,没兴趣的可以看到这就走了。
伤害=我方防御×我方攻击÷(我方攻击+2×敌方防御)×技能系数×……(暴伤、伤害加成)
推导过程如下
1. 真实伤害
最简单的模型其实就是真实伤害,这样便不用考虑敌方防御的影响。大禹二技能拥有防御加成的真实物理伤害,经测试,大禹二技能造成的实际伤害稳定为『大禹防御×技能系数』。我们假设『伤害=基础伤害×技能系数』,那么大禹二技能的基础伤害就等于他的防御。(这一点非常关键)
那么可以假设,基础伤害(后面均简称为伤害)=我方防御×某个系数,在敌方防御为0时,这个系数是1。
合理推测一下,『伤害=我方防御×(1-敌方防御÷A)』,A为一个未知表达式。显然,当敌方防御为0时,不论A如何,这个系数(也就是『1-敌方防御÷A』)都为1。
到这里其实很简单了,问题无非就是搞清楚A是什么。
2. A的表达式
其实,这里测试数据走了许多弯路,我从未设想过防御加成的伤害竟然还会与灵妖的攻击相关,不过好在偶然被我发现了。
测试模型为:攻击方旋龟,受击方河伯,取旋龟2技能伤害。
这里测试了多组数据,由于伤害有一定波动,于是分别测了5组取了平均值。
***从1-5组不难看出,伤害确实与旋龟攻击相关。
***刚刚推导的表达式『伤害=我方防御×(1-敌方防御÷A』,简单变形一下,『伤害÷我方防御=1-敌方防御÷A』,从表格最后一列不难看出,当旋龟攻击和河伯防御均相同时,即使改变旋龟防御,『伤害/旋龟防御』也是不变的,那么也就说明表达式A与我方防御无关。
***固定受击方河伯防御,『伤害/旋龟防御』的值同旋龟攻击呈线性相关;固定旋龟攻击,『伤害/旋龟防御』的值同河伯防御呈线性相关。(此处未列详细数据)不难得出『A=系数1×旋龟攻击+系数2×河伯防御』,简单列个二元一次方程即可得出系数1为0.5,系数2为1。
因此,我们便得出了A的表达式,那么也就得到了防御加成下的伤害计算公式。
伤害
=我方防御×(1-敌方防御÷(0.5×我方攻击+敌方防御))
=我方防御×我方攻击÷(我方攻击+2×敌方防御)
同攻击加成的伤害进行对比,其实是非常类似的:
伤害(攻击加成)
=我方攻击×我方攻击÷(我方攻击+2×敌方防御)
关于间接伤害计算公式,敬请期待下一期
以上就是上古有灵妖游戏内的伤害机制第一期——防御加成的伤害计算公式推导相关内容。