词条

伤害计算公式及相关分析

PC
最近更新 : 2023-12-21 15:45 · 阅读数:3555 · 发布于:四川省 历史记录
页面贡献者:
共 1 人编辑
省流:伤害计算公式与四测相同,换掉了部分例子。

是否为二级目录:

是否为二级目录:

伤害 = 攻击力区间*防御减伤系数区间*技能倍率*暴击爆伤区间*弱点克制区间*buff区间*掩体稳态减伤区间 + 固定伤害(向上取整,独立显示),最后向上取整
伤害计算公式适用于敌我双方,怪打你造成的伤害也是用这个公式 (而且简单很多没什么乘区)

是否为二级目录:

攻击力区间 = 局内战役攻击力buff*向上取整后的(基础攻击力*攻击力百分比 + 部分攻击力相关buff),最后再向上取整
攻击力区间由以上三大板块构成,其中的攻击力均指代进攻方的攻击力和携带的攻击力buff,右侧的部分攻击力相关buff的一个例子是塞布丽娜的大招(提升20%防御力的攻击力,这并不会直接加到基础攻击力上)
板块1:局内战役攻击力buff,比如奇塔大招的火热攻势II15%攻击力提升,随机增益中的攻击提升I10%攻击力提升(与前者不可叠加会被前者覆盖)
板块2:基础攻击力(均为具体整数数值) = 人形基础攻击力 + 武器(含配件贡献) + 心智螺旋
板块3:攻击力百分比(均为百分比) = 武器(配件贡献 + 金武器一般带的15%) + 心智螺旋
后两个板块综合计算后的结果可以在整备室中直接看到,整备室中虽然会显示小数点,但在实际的伤害和攻击力buff的计算中使用的是向上取整后的整备室面板
在综合三个板块的计算后,仍然要最后再向上取整一次得到最终的攻击力,最终的攻击力会直观的显示在战役内左下角人形的面板上
注:如果吃到局内战役攻击力buff则会将攻击力显示为黄色(局内战役buff大多会显示为黄色),可以直接拿这个值来算伤害

是否为二级目录:

防御减伤系数区间 = 攻击力/(攻击力+防御力)
减伤系数区间由以上两大板块构成,其中的攻击力均指代进攻方的攻击力和携带的攻击力buff,防御力均指代受击方的防御力
减伤系数板块1:攻击力区间已在1.1节中进行了介绍,不再赘述

减伤系数板块2:防御力区间,与攻击力区间的计算类似
防御力 = (局内战役的 无视防御buff + 防御降低buff + 防御力提升的被动buff)*向上取整后的(基础防御力*防御力百分比),最后再向上取整
防御力板块1:局内战役的 无视防御的buff:比如托洛洛被动给的无视20%防御的随机增益(穿透I);
防御降低buff:比如莉塔拉使用技能3后施加的30%防御降低,比如纳甘左轮的酸蚀类30%防御降低(两者不可叠加且后者优先级更高,不会被前者覆盖)
防御力提升的被动buff:比如镜像勘测2-3的小boss稳态大于0时的100%防御提升。
防御力板块2:基础防御力(均为具体整数数值) = 人形基础防御力 + 武器(含配件贡献) + 心智螺旋
防御力板块3:防御力百分比(均为百分比) = 武器(主要是配件贡献) + 心智螺旋
后两个板块综合计算后的结果可以在整备室中直接看到,整备室中虽然会显示小数点,但在实际的伤害和防御力buff的计算中使用的是向上取整后的整备室面板
在综合三个板块的计算后,仍然要最后再向上取整一次得到最终的防御力,最终的防御力因为无视防御判定机制问题可能不能直观看到,但仍可以通过计算确定。
注:四测的乌云也许在于浮点数取整问题,比如33级金币本的基础防御力400在被施加30%防御降低后可以在面板上看到281而非280.
注:吃到局内战役防御力提升buff后在左下角的角色面板上会显示为黄色

是否为二级目录:

可以在整备室中直接看技能介绍了解技能倍率,云图强固后某些技能倍率可能会提高,提高后的倍率仍旧以技能介绍中的数值为准

是否为二级目录:

根据暴击率判定是否暴击,如果暴击了则有一个独立的爆伤乘区计入伤害的计算
注1:托洛洛大招的爆伤提升为加算,武器配件的暴击爆伤提升为加算
注2:测试中没有关注暴击是否真的按照暴击率正常生效
注3:是否暴击的判定为伪随机,不管怎么悔棋回溯这一次攻击前人形到达的位置,这回合该角色的攻击暴击了则一直暴击,不暴击则一直不暴击(不确定伪随机程度,有待进一步检验)

是否为二级目录:

如果攻击方使用技能的属性不克制受击方的弱点,则该区间为1。
如果攻击方使用技能的属性克制受击方一个弱点,则额外有一个独立的1.1异位克制区间计入伤害的计算,并且造成的稳态伤害+2。
如果攻击方使用技能的属性克制受击方两个弱点,则额外有一个独立的1.2异位克制区间计入伤害的计算,并且造成的稳态伤害+4。
注:是否有该区间的加成可以通过在预攻击时技能描述的上方文字或敌方弱点是否高亮闪烁来简单判断(没有则不显示)
注:该区间暂无任何buff增益。

是否为二级目录:

buff区间包含了众多的增伤和减伤,他们彼此间均为加算,下面逐项对其进行介绍(已经过一定翻译)
*精准增伤:单体类技能伤害提升(双重对策)
*范围增伤:范围类技能伤害提升(双重对策)
*导染增伤:消耗导染时伤害提升(金武器梅扎露娜烙印)
*基础增伤:不消耗导染的基础类攻击伤害提升
*回合外增伤:非自身回合时造成的伤害增加
*以上五类增伤均有相对应的五类减伤
*造成(的)伤害提高/降低(这一大类描述):例如托洛洛满足条件时的技能3、大猫猫的大招和被动、蓝色武器的特效等等等等
*受到(的)伤害减少/增加(这一大类描述):例如主线中六分仪、黑眼等小boss在稳态大于0时可以通过消耗稳态来减伤;或者配件本燃烧者等稳态大于0时一直有80%减伤;防御类减益易伤I等等
*众多的buff与debuff:
比如金武器游星、金石奏等的被动(比如技能伤害提高);制胜追击、异位打击、异位提振套装效果;琼玖对无掩体保护者的增伤;琼玖大招对于增援的增伤;精准与覆盖提升I、精准与范围防御I、异位提升等等buff
*......应该还有,留待补充
注:只要不是特别明显在其它区间的buff(比如攻击力提升),往这里塞八成是没错的。

是否为二级目录:

稳态减伤: 当受击单位相对于攻击方位于掩体内,且受击单位的稳态在受击后仍大于0时,固定的60%稳态减伤生效;
当受击后稳态为0,如果受到的是物理伤害或非受击方弱点的伤害,则本次伤害的计算中稳态减伤仍然生效;
当受击后稳态为0,且受到的是受击方弱点的伤害,则稳态减伤失效降为0。
掩体减伤: 掩体减伤生效的条件是 受击者相对于攻击来源处受到掩体的保护(若不受到掩体保护则哪怕稳态大于0也没有稳态减伤)。目前存在四种不同类型的,分别提供20%、25%、30%、35%的掩体减伤。
以上两种减伤同时生效时,掩体减伤与稳态减伤加算。
托洛洛的最后一个固键、金武器光学幻境的特质等可以少量无视掩体减伤,加算。
注:具有AOE机制的范围类与近战技能可以直接无视稳态减伤。
注:掩体减伤区间是否生效只依赖于攻击来源处与受击方的相对位置(有没有受到掩体保护),掩体保护是稳态减伤生效的必要不充分条件(还得稳态大于0,临界破稳到0攻击的减伤判定在要看是否克制了受击方弱点,克制则稳态减伤不生效;反之则生效)。

是否为二级目录:

比如溢火、灼烧等减益。
比如塞布丽娜的大招触发重复地格。
向上取整,独立显示。

是否为二级目录:

因为细节机制太多,所以另开一贴,后续不定期更新?
之后编辑放链接

是否为二级目录:

是否为二级目录:

伤害计算公式:
伤害 = 攻击力区间*减伤系数区间*技能倍率*暴击爆伤区间*异位克制区间*buff区间*掩体减伤区间 + 固定伤害(向上取整,独立显示),最后向上取整
在有了伤害计算公式后,自然会想要求一个最高伤害(极大值),最肉有效血量(极小值)。而因为玩家手头的资源是有限的,所以我们必须先对约束价值,也就是公式中各项属性的游戏内获取成本(能浮动的主要是配件词条)有所理解-3.1节;
首先关注伤害极大值:有了约束价值后,先尝试对具体情境下的词条最优分配问题进行计算-3.2节;再将具体情境拓展到不同初始条件下进行计算-3.3节(同时伴有简略的分析(看图说话));
随后对一个词条在暴击爆伤区间、减伤系数区间、(攻击*减伤系数)区间的收益以及常见buff在buff区间的收益进行了计算(同时伴有简略的理论最优分配的分析(不够完善))(3.4-3.6节)
最后简略的对生命与防御词条(伤害极小值)进行了讨论-3.7节。

是否为二级目录:

由于角色、武器升级,心智螺旋等对各项属性的提升是固定的,唯一有浮动的、需要做取舍的仅有武器配件系统,所以这里重点对配件进行分析。
截取之前对金配件粗糙统计分析的部分结论:https://bbs.nga.cn/read.php?tid=38109141

结论一:八类词条可能获得的基础值:
1.攻击数值[8 10 12 14 16 18],6个等级
2.防御数值[7 9 11 13 15],5个等级
3.生命数值[16 20 24 28 32 36],6个等级
4.攻击百分比[1.5 1.9 2.3 2.7 3.1]%,5个等级
5.防御百分比[1.5 1.9 2.3 2.7 3.1]%,5个等级
6.生命百分比[1.5 1.9 2.3 2.7 3.1]%,5个等级
7.暴击率百分比[2 2.5 3 3.5 4 4.5]%,6个等级
8.爆伤百分比[1 1.5 2 2.5 3 3.5 4 4.5]%,8个等级

结论二:
金配件中八类词条的获取概率勉强相近。
金配件中八类词条各个基础值的获取概率勉强相近。

结论三:
强化:金配件中各个词条的强化加权概率相近,且所有词条的强化加权公式相同。
(实际上不够充分,没有给出各个词条的加权等级之间的关系,只能假设强化后金配件中各个词条的加权等级相近)

结论四:
因为各个词条满强化加权后的数值是基础数值的三倍,单个配件的副词条不可重复,枪管可有四个词条而其余部位仅有三个,
所以一套所有词条都强化满的配件最多可以有4*3+3*3*3 = 39个词条。
所以在下文的计算中超过39个词条的部分没有太大实际意义(或者把等级提升的属性转化成词条个数,但那不如直接改计算的初始数值,不过在收益比较平缓时把这些属性当词条算算也还可以),
实际上单个词条的加权等级期望值约为6(实际上可能还要小,使用单个配件的总加权等级期望值才更加合理,根据统计分析这应该会比单个词条的6更小),也就是基础值的2倍,所以4*2+3*3*2 = 26个才是比较贴合实际的参考词条数,超过26个词条数时数据的参考意义逐渐减少。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
约束价值估算:
约束价值指的是在消耗相同体力成本下能获得的金配件各词条数值属性之间的关系。
利用以上的结论可以对各词条间的数值比例进行期望值计算,有两种方法可以对约束价值进行估算。
方法一:
1.根据上述的结论二,直接取各个词条基础值的平均值作为约束价值,也就是说,攻击数值:防御数值:生命数值:攻击百分比:防御百分比:生命百分比:暴击率百分比:爆伤百分比 = 13:11:26:2.3%:2.3%:2.3%:3.25%:2.75% = 约束价值
2.强化后,根据上述的结论三(不够充分),强化不会对约束价值产生影响,因为分子分母同乘了同一个加权等级的强化概率分布函数。

方法二(同样用到上述的结论,不再重复说明):
1.严格计算期望值。以攻击百分比与暴击率百分比的期望值比值为例:攻击百分比/暴击率百分比 = (1/5)*(1/6)*[1.5/2 + 1.5/2.5 + 1.5/3 + 1.5/3.5 + 1.5/4 + 1.5/4.5 + 1.5换成1.9且分母不变的如左侧的6个数(1.5→1.9) + (1.9→2.3) + (2.3→2.7) + (2.7→3.1)] = 0.7633(比方法一的2.3/3.25 = 0.7077大),简单来说就是遍历每一种可能的基础值比例,再用对应的获取概率对该比值进行加权,最后全部求和得到最终的期望比值。
2.强化后,再次严格计算期望值(需要遍历各种加权等级的期望值再求和),但强化后各词条的各种可能的加权等级的强化概率分布拟合函数并不明确,所以难以计算。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
因为方法二计算所需的拟合函数未知,且可能存在一定的自洽性问题,所以本文使用方法一对约束价值进行计算,换句话说,在下文的具体计算中,将以:
攻击数值:防御数值:生命数值:攻击百分比:防御百分比:生命百分比:暴击率百分比:爆伤百分比
= 13:11:26:2.3%:2.3%:2.3%:3.25%:3.25%
= 约束价值 = 各词条"约束价值单位"

作为计算单元。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注1:爆伤的获取成本虽然较高,但在本文中基本上将它与其他词条“一视同仁”
注2:在下文的计算中实际上放开了攻击数值等词条最多有4(每个配件的副词条不可重复)*3(满加权等级)个,爆伤词条最多有1*3个 这一类的约束,对于这一类的约束仅在计算完成后略作讨论。
注3:为了与暴击率对称,人为将爆伤的平均约束价值2.75改为了3.25,在下文将看到这间接让两者的词条收益在去整数的初始条件相同时相等。

是否为二级目录:

各个词条的约束价值虽然都变大了(过两天发具体数值),但总体来说相互之间的比例没太大变化,所以原来的计算结论应该不太会偏离。
新的词条收益可以尝试用(新约束价值/
旧约束价值)*旧的收益数据计算。
暴击爆伤应该还是不怎么站得起来,初始暴击爆伤高且情况比较极端时(比如托洛洛)才有一定的选择价值。
希望能得到一些建议。

在下文中,如果没有提到要开始计算肉度(生命与防御),都将默认关心的是我方对敌方造成的伤害极大值,也就是说,主要关心攻击、暴击爆伤的词条分配问题(因为除配件外得数值基本固定,可视为初始值)(部分角色的防御力也可提高攻击力,但暂时不对这方面进行讨论)。
在进行"枯燥而不明所以"的分析前,先尝试计算一个具体的实例也许更具有实际意义,同时也可以为后续理解提供一定的参考。
问题实例:在不考虑任何buff与队友的情况下,带40级紫武器一九一七的40级琼玖攻击防御力为1000(要塞伯爵四)的受击方时,要如何分配配件的词条才能让伤害有最大值?应该优先堆哪一个词条?
问题中已经给出了初始条件
攻击方攻击力 = (人形基础237 + 武器基础249 + 心智螺旋68 (=554) + 武器配件基础攻击力)*(1 + 心智螺旋20%攻击力 + 武器配件攻击力百分比);暴击率0.2;爆伤1.2
受击方防御力 = 1000
其余的技能倍率、buff区间等区间暂时不纳入考虑
伤害期望值 = 攻击力*攻击力/(攻击力+受击方防御力)*((1 - 暴击率)*1 + 暴击率*爆伤)
伤害期望函数为攻击力、暴击、爆伤的单调递增函数与防御力的单调递减函数(不会出现堆属性堆着堆着伤害反而变低的情况)。
各词条的约束价值与边界约束已在3.1中进行介绍。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
:已知初始条件,先设置一个总的待分配的词条数目,一个一个词条地分配,尝试分别将词条放入攻击数值、攻击百分比、暴击率百分比、爆伤百分比当中,选取放入后伤害期望是最大的词条为本次分配的词条;进入下一个词条的分配。
第一张图y轴分配词条的结果是对每一个总的待分配词条数x独立经过上述一个个词条分配的循环后得到的结果,虽然每次算x的时候以(x-1)为基础接着算就可以了,有点浪费。
第二张图y轴提升率(收益)的计算说明:对于每一个总的待分配词条数x,选择(x-1)处的计算结果为"初始值"并计算对应的"初始"伤害期望值,将仅剩的待分配的一个词条分别放入四类副词条后,分别计算对应的伤害期望值,
收益(提升率) = (放入一个词条后的伤害期望值 - "初始"伤害期望值)/("初始"伤害期望值)
后文提到收益如无特殊说明均以此处为定义
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
总词条上限为40时:
对上图的简略分析:
1.在该初始条件下,可以看到词条的优先级为:
攻击数值>攻击%>暴击%=爆伤%
2.在堆了10个攻击数值词条后,攻击数值词条的提升率≈攻击%词条,且这一关系基本会平行延续下去,暴击和爆伤也有类似的平行关系。
3.在初始选择一定攻击数值或攻击%词条后,对应的“最优”词条分配方案,总是为这两个纠缠交替(这次攻击数值词条多一个,下次攻击%词条多一个,不会出现某个词条要多两个的情况),这同时对应于两个词条收益的纠缠下降。
根据收益的定义,堆单一词条的收益总是随着初始词条数的升高而降低的(稀释),在两类攻击词条的收益相近时,就开始了对它们分配的纠缠交替。
两类攻击词条的关系有点类似于武当梯云纵左脚踩右脚升天的关系(实际升不了,最多摔得好看点),因为攻击数值词条增多可以减小攻击%的收益衰减速度(相比于一直堆攻击%的收益衰减)(因为它增加了初始值),反过来也有同样的关系。
实际上我们更关心发生纠缠的临界值x在哪,这可以通过简洁的计算(让两类攻击词条对攻击的提升相等)得到:
(x+13)*1.2 = x*(1.2 + 2.3%)
→ x = 1.2*13/2.3%
 收益临界值x = (1 + 初始心智螺旋20攻击%)*攻击数值约束价值13/攻击%约束价值2.3%
所以临界值x在初始心智螺旋为20%、10%、0时分别为678、621、565.
记得我们的初始攻击力为554,所以要分别先堆10个、6个、1个(向上取整后)攻击数值词条(因为攻击数值词条和初始攻击力在同一区间)再交替堆攻击数值、攻击%词条。
初始心智螺旋为10%、0时的计算结果如下所示,均符合预期:
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注:以上计算中没有考虑
1.除爆伤外的词条最多只能有4*3个
2.爆伤词条最多有1*3个
3.暴击率不能超过100%等约束,但这些约束在四测环境下对上述结论的影响应该不大。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
虽然没什么参考价值,但最后顺便放一下在以上"最优"词条分配下总攻击和总伤害期望随总的待分配词条数的变化。 (“近似平行”,"都可以平行",不是)
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
以上的做法虽然看似比较合理,但其实不一定真的能达到理论上的伤害最大值。
因为我的数学差,所以不对这种方法的合法性及其失效位置进行证明。作为替代,转而穷举证明其结果在当前环境下(总词条数不会超过39,所以后续实际计算时的最大词条都设为40)的有效性。
穷举证明思路:总的待分配词条固定时,遍历总词条分配于攻击数值、攻击百分比、暴击率百分比、爆伤百分比的所有组合的可能,筛选得到伤害期望值为最大值时的词条分配情况。最后与上述的分配结果进行比较。
结果显示,在总的待分配词条小于等于121时,两种计算方法的分配结论一致(当为122时,最优分配为40 30 26 26,暴击率已经超过100%)
(因为早早得到了结论,所以偷懒没有写很多约束,但在四测的环境下应该已经够得出结论了,回头再补这些约束)。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
为了节省下一小节的计算时间以及偷懒,在下文中的计算将主要采用第一种方法
但因为第一种方法存在一些缺陷,为了保证下文数据仍有一定的有效性,我分别计算了四种极端情况初始攻击力和防御力下(因为初始攻击、防御值与分配单个词条的收益存在单调的关系,所以这里考虑极端的边界初始条件应该能比较有力的用于证明后续采用第一种方法计算的有效性),上述两种算法从哪一个总待分配词条数x开始出现差异:
1.初始攻击力 = 10,初始防御力 = 10;两种算法在总待分配词条数x = 125处出现差异。
2.初始攻击力 = 3000,初始防御力 = 10;两种算法在总待分配词条数x = 49处出现差异。
3.初始攻击力 = 10,初始防御力 = 3000;两种算法在总待分配词条数x = 192处出现差异。
4.初始攻击力 = 3000,初始防御力 = 3000;两种算法在总待分配词条数x = 73处出现差异。
因为出现差异的x均大于40,而下一小节仅关注x = 40的情况,所以在下一小节中使用第一种计算方法应该是有效的
对上图的简略分析:
1.以上出现差异的x的位置均符合公式的图像,初始攻击力越大、初始防御力越小,一个攻击力词条带来的收益越小,越容易被暴击爆伤的收益超过,从而导致两种计算方法的差异。
2.在初始攻击力较高,稀释够严重时,有部分词条分配给了暴击爆伤,且分配给暴击爆伤的词条数基本相等;此外随着分配暴击爆伤到的词条增多,暴击爆伤的收益"反常"的不减反增。
通过对暴击爆伤区间进行一定的化简和举例,可以得到对第二点的一定理解,比较详细的分析与数值展示将在3.4节进行。
暴击爆伤区间的期望值 = (1 - 暴击率)*1 + 暴击率*爆伤
= 1 + 暴击率*(爆伤-1)
注意到初始条件为暴击率0.2,爆伤1.2,可以看到该期望值对于暴击爆伤的起点均为0.2,是对称的,所以分配给暴击爆伤的词条数也直观的应该基本相等。
再来算三个例子:1.初始条件为暴击率0.2,爆伤1.2,增加一个暴击词条3.25%的收益为(1 + 0.2325*0.2)/(1 + 0.2*0.2) - 1 = 0.00625
2.初始条件为暴击率0.5,爆伤1.5,增加一个暴击词条3.25%的收益为(1 + 0.5325*0.5)/(1 + 0.5*0.5) - 1 = 0.013 > 0.00625
3.初始条件为暴击率0.5,爆伤1.2,增加一个暴击词条3.25%的收益为(1 + 0.5325*0.2)/(1 + 0.5*0.2) - 1 = 0.0059 < 0.00625(堆单一词条稀释)
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注1:本文的总待分配词条数均为从1开始,所以有时在x轴的最左方看不到0.
注2:写了一半发现忘记把共键和解锁三个固键给的3%还是5%的初始百分比纳入考虑了,就不补了

是否为二级目录:

在上一小节中已经为本节采用的“最优”计算方法的有效性提供了一定的证明,所以本节解放了上一小节的初始攻击力与初始防御力,它们均将从10慢慢增加到3000(步长为1),但为了画出3D图,付出的代价是将总的待分配词条数目固定(否则成4D图了)。
下方所示的图中,总的待分配词条数目均固定为40(所有词条均满加权),也许设置为15、25可能更加有实际使用价值(图也不会这么无聊),后续再补?(其实也不用补了,3.5节已经给出了“理论最优”分配)
这里应对的问题还是和上节类似:
固定总的待分配词条数,不同初始攻击力、防御力条件下,如何分配4类副词条的个数使伤害期望值最大化?
下方的两个视频是上方的图的x与y轴的扫描切片,扫描到的初始攻击力与初始防御力在图的左上方显示

追放 约束下的伤害极值 不同初始攻击力、防御力条件下的40个金配件词条"最优"分配

追放 约束下的伤害极值 不同初始攻击力、防御力条件下的40个金配件词条"最优"分配(扫防御)


对上图或视频的简略分析:
1.随着初始攻击的变化,两类攻击词条的分配将随之改变,关于临界值的简略讨论已在3.2节中进行,这里只是多了几个实践例子,所以不再赘述。
注意两者分配词条数之差即是多的词条建议优先分配的数目
2.在该条件下,初始防御力的多寡对于词条"最优"分配结果没有任何影响。
注意到减伤系数区间 = 1/(1+防御/攻击),随着防御提升单调递减(且防御恒>0),随着攻击提升单调递增;
但防御为受击方属性,我方配件能调控的仅有这里的攻击力。所以在不同防御力下求伤害期望最大值时,我们能做的只有让总攻击力最大化,这就回到了之前两类攻击词条的纠缠交替分配上了。
换句话说,对于减伤区间,这意味着我们不用管这个怪防御力多少,那个怪防御力多少,在追求伤害最大化时仅需要关注自身两类攻击词条的分配即可。
但需要注意,敌方防御力会影响攻击词条的收益,进而让攻击词条收益可能不如暴击爆伤词条,使得对不同防御力的受击方,最优的词条分配方案是不同的(实际上应该不用太纠结这个,一般只会对防御力高的怪感兴趣,防御力高的时候攻击词条收益高,应该不太会碰到暴击爆伤收益那条线(3.2节四种极端边界时的差异位置x可以提供一定参考))(其实这就是3.2节中两种不同算法出现差异的原因之一,暴击爆伤虽然刚开始看起来收益小,但随着词条分配它们的收益会增加,然后突然暴起抢过攻击词条)
3.防御力越高,攻击词条收益越大。
从减伤系数可以直观看出,假如防御力趋于0,那么攻击力再怎么增加两者之比都仍会趋于0;而防御力较大时,攻击的增加则会有一定收益;当防御力趋于∞则一切都会趋于0.
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注:初始攻击力从10扫到3000,较高的部分其实可能并没有太大价值,只是为了保持和防御力保持表面上的对称(敌方防御力是可能很高的,有些怪有大量的防御%buff被动)

是否为二级目录:

在3.2节中我们对暴击爆伤区间的期望值有了一定的认识:
暴击爆伤区间的期望值 = = 1 + 暴击率*(爆伤-1)
现在考虑一个问题
分配到暴击爆伤区间的总词条数nbjbs固定(视为常数)的情况下,如何将它们分配到暴击与爆伤区间才能使收益最大?
:用常用的单变量函数求极值的方法,期望值函数对暴击或爆伤词条nbj的导数 = 0,是极大还是极小值的证明偷懒不进行(二次倒数的负正)(下一小节也偷了这个懒)
可以看到结果和之前猜想的一样,在初始条件(暴击 = 爆伤 -1)下,将nbjbs平均分配到nbj与nbs时收益最大。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
既然平均分配时收益最大,那么再来看一下在暴击率<1之前,维持(暴击 = 爆伤 -1)时,不同初始条件下增加一个暴击或爆伤词条的收益
初始的爆伤越大,增加词条的收益越高。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
最后,看一下不同初始暴击爆伤条件下,该区间的期望值以及增加一个暴击或爆伤词条的收益

追放 不同初始暴击爆伤下的暴击爆伤词条收益 约束下的伤害极值3.4


具体扫三维图的数据见上方视频
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注:图中计算的区间为:暴击[0.2,1.1];爆伤[1.2,3],步长为0.001

是否为二级目录:

首先,我们关注不同初始攻击与防御下的减伤系数,以及增加一个防御数值词条或防御%词条后对减伤系数的改变(Δ减伤系数)
减伤系数 = 攻击力/(攻击力+受击方防御力)

其次,计算在不同初始攻击与防御下,增加一个防御数值词条或防御%词条后在减伤系数区间的收益(也就是上面右侧两张图除以第一张图)

追放 不同初始攻击防御下的减伤系数与对应增加防御词条的收益 约束下的伤害极值3.5


具体扫三维图的数据见上方视频
对于减伤系数区间,我们不关心增加攻击词条的收益,因为外边还有一个攻击区间。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
下面考虑(攻击*减伤系数)区间
与3.4节类似,同样提出一个问题
分配到(攻击*减伤系数)区间的总词条数t固定(视为常数)的情况下,如何将它们分配到攻击数值与攻击%词条才能使收益最大?
:用常用的单变量函数求极值的方法,(攻击*减伤系数)函数对攻击数值的词条个数ngj的导数 = 0,是极大还是极小值的证明偷懒不进行(二次倒数的负正)
在使用一些 ngj、gj、fy > 0 的边界条件后,我们得到了一个与防御力无关的最优分配方案,这验证了在3.3节中的猜想。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
单独对攻击力区间提出同样的收益问题,在计算后可以发现它的词条分配方案(gj、ngj、t的函数)与(攻击*减伤系数)区间的结果一致
同时注意:初始攻击百分 = 0.2,t = 40,初始攻击 = 1198.26 时,恰好让分配的攻击数值词条ngj = 0,这与3 .3 节中的计算结果自洽。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
再来画一下初始攻击百分 = 0的解函数的gif图,t∈[0,40]
ngj = (t + 43.47826086956522 - 0.07692307692307693*gj)/2
注意 0 ≤ ngj ≤ t。
不同初始攻击百分比下的解函数已在图的末尾显示。
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
在进入具体的收益计算前,我们最后再提出一个总问题
分配到(攻击*减伤系数*暴击爆伤)区间的总词条数s固定(视为常数)的情况下,如何分配攻击数值、攻击%、暴击%、爆伤%词条才能使收益最大?
:用常用的多变量函数求极值的方法,(攻击*减伤系数*暴击爆伤)函数对ngj、nbgj、nbj、nbs的导数 = 0(这里以对ngj的计算为例),是极大还是极小值的证明偷懒不进行(二次倒数的负正)
在使用一些 ngj、gj、fy > 0 的边界条件后,容易发现可能只有{fy → ...}的解有实际意义(其它明显与边界条件冲突,其实防御的解中开头的负号也很危险),这也许意味着,最终的词条分配方案可能与初始防御相关,与3.3节的猜测自洽。
注:也可以对nbgj、nbj、nbs的偏导作同样的计算,得到多个解(约束),最终形成方程组使得ngj、nbgj、nbj、nbs成为各种初始攻击、防御、暴击、爆伤的函数。(这些条件可能还不够,多元函数求极值没这么简单)
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
接下来我们进入(攻击*减伤系数)区间,
在不同的初始攻击、防御力下,增加一个攻击数值、攻击%、防御数值、防御%词条的收益如下,
初始的攻击%与防御%均设为10%。

追放 不同初始攻击防御下的攻击*减伤系数与对应增加攻击、防御词条的收益 约束下的伤害极值3.5


具体扫三维图的数据见上方视频
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
本节的最后,看一下初始攻击为554时,一直堆攻击数值或攻击%词条对于攻击力区间的收益:
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注:防御提升带来的收益实际是负的,本节展示的数据均以经过绝对值处理。
初始攻击与防御力∈[10,3000],扫图时因为在靠近10的地方数值较高而将区间变为[100或200,3000]

是否为二级目录:

在讨论完攻击区间、减伤系数区间、暴击爆伤区间后,我们把注意力转移到各类buff的收益(含buff区间)。
1.战役内攻击力提升buff
比如奇塔的大招0.15和蜘蛛的技能-0.1。
为攻击力区间的单独乘区,收益高于面板显示的数值(因为减伤系数区间也有攻击力)

2.buff区间的buff
比如五类增伤和减伤(比如双生对策套装的0.1、托洛洛被动0.1等)、造成的伤害提升、受到的伤害减弱等buff(很多敌方势力有消耗稳态减伤,所以初始buff系数从0.3开始算到2)。
一般会5%、10%、15%、20%...的给这一类buff,简单的计算一下在不同初始条件下这类buff的收益:
3.暴击爆伤提升buff
比如奇塔0.1和托洛洛的大招。
偷个懒,只算维持(暴击= 爆伤-1)情况的收益。

4.防御降低buff
比如托洛洛和琼玖的固键-0.2和奇塔大招0.1。
这里算了一下减防20%的收益,初始攻击与防御力∈[10,3000]
注:某些敌方势力携带大量的防御力提升buff(甚至200%以上),因为无视防御与这些防御力提升buff加算,所以在碰到这些敌方势力的时候,无视防御20%的收益会更低。

是否为二级目录:

现在我们把目光从伤害极大值转移到伤害极小值(肉度)(实际上在3.5节已经对防御词条的收益进行了计算)。
在开始讨论生命和防御词条的优劣之前,我们先对它们各自的增加一个数值或百分比词条收益相等时的临界值进行计算,这里需要的计算与3.2节对攻击收益临界值的计算类似:
“(x+13)*1.2 = x*(1.2 + 2.3%)
→ x = 1.2*13/2.3%
 收益临界值x = (1 + 初始心智螺旋20攻击%)*攻击数值约束价值13/攻击%约束价值2.3%
生命收益临界值x在初始心智螺旋为20%、10%、0时分别为1357、1243、1130;
防御收益临界值x在初始心智螺旋为20%、10%、0时分别为574、526、478;
(达不到临界值就堆数值,直到临界值才交替着堆数值词条和百分比词条)
注意整备室面板的数值已经将百分比计入了计算,所以不能直接拿来用
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
伤害的另一面即为生命,所以在对防御与生命进行取舍之前,需要对伤害计算公式有一定了解(部分区间已在上方讨论过了)。
但为了偷懒,这里直接用上述的临界值做一个粗糙计算
问:以上述的生命与防御收益临界值(取初始百分比为1.1的情况)为初始条件,在什么情况下一个增加生命或防御词条的收益相等?
解:在3.5节我们已经对一个防御词条在攻击*减伤系数区间内的所有有所理解:
较为随意地取0.01作为收益,因为受到伤害时配件词条中一般只有防御词条对减伤有益,所以不用考虑其他的区间,直接计算:
伤害(生命词条)26*初始的1.1 = 防御词条收益0.01*其他区间。
那么其他区间要达到2860,才能使增加生命或防御词条的收益相等。
伤害 = 攻击力区间*减伤系数区间*技能倍率*暴击爆伤区间*异位克制区间*buff区间*掩体减伤区间 + 固定伤害(向上取整),最后向上取整
敌方单位的暴击率一般为0且攻击为物理属性,所以不考虑暴击爆伤区间和异位克制区间;不考虑掩体减伤区间和buff区间以及固定伤害;
伤害 = 攻击力区间*减伤系数区间*技能倍率
以要塞伯爵四的攻击力1025,技能倍率1.5(较高者);我方人形防御力500(实际上会大一点)为例,伤害 = 1033.4 < 2860.
所以,粗糙地讲,如果以肉度为目标,应该优先考虑生命词条
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
注:在塞布丽娜中,防御属性已与攻击属性有一定挂钩,这给分析带来了一些麻烦,因为防御时我方为受击方,攻击时我方为攻击方(两套不同的数值),防御提升带来的攻击收益与更加麻烦的该人形在整场战役中的伤害占比、敌方的防御力等因素挂钩。
也许之后的人形还有生命转攻击,攻击转防御,防御转减伤buff等各种各样的属性转化,但这里的讨论就先简略的到此为止了。
其实目前大量出现的减伤buff和稳态系统、距离敌方单位的距离等因素的绑定也算这种转化的一种,只不过这些属性稍微脱离了伤害系统,与行动力、稳态系统等挂钩。(其实体验下来还是有点单调,希望有新花样)

是否为二级目录:

本次的数据采集于四测,清注意时效性
数据、公式、图片数据、推论、结论等如有错误还请指正
从3.4节起,看图说话的小结、结论变得比较少,行文仓促潦草,如果有哪些地方难以理解或者没读懂还请指出
-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​
公测后,如果各个词条的约束价值有所改变,作为粗略的估计,可以尝试(新约束价值/旧约束价值)*目前的收益数据(这也是我直接算词条收益而不是导数的原因,词条收益相对来说更加平均一点);收益临界值的计算公式也比较简单。

是否为二级目录:

1.暴击爆伤的收益低可能是好事:
相比于命中率,低暴击时的暴击更容易让人感到“惊喜”而非挫败;但暴击高了以后如果多次不暴击,带来的挫败感也许还要超过miss,压低暴击的收益也许能保留这份“惊喜”(随机性我认为还是要有的,不然也许过于死板了)
注意追放的暴击为半伪随机,且没有独立判定暴击与否的多段伤害,不知道程序员有没有设计暴击保底的算法,没有的话太关注暴击凹分斩杀的人有福了
爆伤只能有一个词条也许方便把控伤害极值?

2.最近aoe削弱说的比较多
不提第一要义弱保软(云母产能低,部分玩家想要硬核一些,不如开放地图编辑器等开放玩法让玩家自我产销)和要塞伯爵等因素,想问一下大家对单位地形敌方势力个数,敌方势力分布情况的期望值是多少?(aoe一般能炸到多少人?)
有了这个期望值以后,结合人形、武器的数值,也许可以算一算单体、范围伤害的金、紫人形间平衡做得怎么样
(顺便问一下解包能解出伤害计算公式吗?四测时候60级人形和敌方势力的数值目前有没有解包数据?(也许还能做个敌方势力生态观察与精英怪应对建议))

3.掩体减伤、异位克制区间、稳态系统好像要改?
好像没什么人讨论?呼叫硬核玩家
4.总算填完了一个坑,拖了一个月,拖延症晚期
第四部分人形节奏榜的坑随着天气越来越冷,越来越遥遥无期,如果有人做的话可以抽象出一些战役信息参数来交给不同的人形,比如上面2提到的单位地形敌方势力个数,与技能覆盖地形数相乘就可以得到技能倍率(也许还可以反过来比较单体和范围伤害的人形,看看数值策划把这个值设成什么样了)。
之前已经提了一些可以纳入考虑的一些因素就不再赘述了,总之,有缘再见。

是否为二级目录:

本次的数据采集于???,请注意时效性
本次的数据来源均为自测
数据、公式、推论、结论等如有错误还请指正
因为想保留四测时的帖子所以另开了一贴
一朵乌云:之前的乌云源于奇妙的浮点数取整?

是否为二级目录:

这次的各种buff相比三四测给的这么多,是不是因为掩体减伤独立出去了,那样0.7*1.5也只有1.05.

原作者:聊以行国 授权转载,首发自NGA
投稿模式

评论(2)

竹与期 WAP

2023年12月30日 01:59 来自辽宁省

这个就叫专业

#2

0 1

回旋镖 PC

2023年12月25日 15:16 来自上海

佬!

#1

0 0