欢迎光临散文网 会员登陆 & 注册

【乱斗数据】英雄大招充能比率的计算方法——由拜伦的暗改谈起

2021-10-09 02:27 作者:limitless_1309  | 我要投稿

前情提要:荒野乱斗4.27更新暗改部分分析

(haaan佬就凭着一点wiki数据,分析的七七八八了。毕竟是大神玩家,我这种还要借助datamine的三脚猫根本比不了,大家想学点对局真本事的可以关注一下他~)

先上结论:P=(M*D/400000)*100%

其中M为大招充能乘数各个英雄之间不同,同一英雄的普攻和大招之间通常也不同

D为英雄1级攻击伤害只看英雄的1级面板数据,其它因素对此变量无影响

400000为大招充能总量所有英雄都是一样的,可以理解成大招键是一个总值40w的分数条,从0开始积累,当分数大于等于40w时英雄就可以使用大招了

P为大招充能比率,使用M(普攻)计算P时,将100%/P的结果进一位取整,即为大招充能所需普攻数量(Q)

我们不难看出P与M、P与D之间呈正相关,而P与Q之间呈负相关

案例分析:结合实际的平衡性调整,分析产生“暗改”的原因

首先要明确的一点是,对玩家来说,真正有用的是英雄1级攻击伤害(D)大招充能所需普攻数量(Q)(此处不讨论自动充能、受击充能等特例,所以夸张点说,P=25%和P=33.3%没有区别,反正都是四下普攻

但这里的问题是D能够影响P,进而P可能会影响Q。所以单独对D进行调整的时候,有时就不经意影响到了Q。M在这里就起到了很好的作用,想要对D、Q其一调整,而使另一个保持不变,通过调整M来平衡就行了

开头拜伦的“暗改”和最近雅琪的“暗改”的原因也就很明显了:对D进行调整时没有同步调整M,导致Q的值改变

先看雅琪的例子:

M(雅琪)=79   D(调整前)=1280   D(调整后)=1160

解得P(调整前)=25.28%   P(调整后)=22.91%,因此Q(调整前)=4   Q(调整后)=5

比起“暗改”说是“忘记回调”可能更为恰当……

关于haaan佬指出的拜伦暗改也完全可以解释了:

M(12月)=112   M(2月)=117   M(4月)=118   M(6月)=131

D(12月)=400   D(2月)=380   D(4月)=340   D(6月)=340

P(12月)=11.2%   P(2月)=11.115%   P(4月)=10.03%   P(6月)=11.14%

Q(12月)=9   Q(2月)=9   Q(4月)=10   Q(6月)=9

4月版本中大幅减少了D,却几乎没有增加M,才造成了Q的增加

而拜伦每发子弹造成三次伤害,一套下来刚好9次,所以效果就格外明显

这种情况处理方法也比较简单,增加M就行了,M并不是游戏内的可见数据(安装包里有),也无需在更新日志里进行说明,之前波克、沙迪的大招充能调整就是在保证D不变的情况下,调整M来影响Q。

而在之前的诸多版本中,有细心的朋友可能注意到有些英雄的P在不影响Q的情况下小幅度增加/减少,这就是对英雄进行平衡性调整的时候带来的影响。而一般情况下,对于没有额外获取大招充能方式的英雄来说,这种小幅度的调整带来的影响也是很小的,可以忽略不计

现存的史魁克大招对大招充能bug就非常奇怪了,本来应该按1级史魁克的大招伤害计算,但不知道为什么把各种加成(拉夫补给/老八伤害放大器/吃鸡能量块)所带来的伤害增益也算进去了

特例说明

固定充能比率(科莱特)

不论对面是什么样的英雄,科莱特的单发充能比率都固定为25%,所以普攻四下一大,大招来回两人一大。这点我想玩过几局就会发现的

自动充能(达里尔、艾德加、梅格机甲形态)

也能用上述公式计算,不过此时D固定为100,由M决定P

M(达里尔/艾德加)=132   M(梅格机甲)=800

解得P(达里尔/艾德加)=3.3%   P(梅格机甲)=20%

因此大招充能所需时间T(达里尔/艾德加)=30.3s   T(梅格机甲)=5s

艾德加一妙正如同其描述一样,充能比率提高525%,持续4s

那么这个描述就可以改成“艾德加每秒获得20.625%的大招充能,持续4秒

总共是82.5%的充能,即使用一妙能让艾德加的大招充能时间缩减至9.3s,相当于快了3倍多

范围内自动充能(阿渤图腾、巴兹)

一个是范围内友方,一个是范围内敌方

M(阿渤图腾)=200   M(巴兹)=270

解得P(阿渤图腾)=5%   P(巴兹)=6.75%

因此单人大招充能所需时间T(阿渤图腾)=20s   T(巴兹)=14.8s

现版本阿渤图腾1000血,每秒掉50,最多也只能存在20s,刚好能充满一个大招

巴兹具体来说是在其充能范围内的每敌方英雄每秒提供6.75%的大招充能,敌人越多的话充能就越快(所以单鸡的组队巴兹很快就能有大招)

移动时自动充能(麦克斯一辉)

机制比较特殊,不能代入上面的公式,没找出来对应的算法:(

6月削过以后现在纯靠一辉65s一个大,要注意的是一辉吃的是速度判定,所以麦克斯自身的大招和斯图一妙这种提升速度的加成,也会稍微增强一辉的充能效果

受击充能(挨打F4)

机制也比较特殊,现版本除了跟所受伤害有关以外,跟英雄各自的最大血量也是有关的

又没找出来对应的算法:(所以大招充能所需时间在这四个英雄之间也有区别

不细算了,你玩个肉不会指望着全靠卖血来充能吧

上个版本我记得是2w伤害换一个大,这个版本算不出来但是可以明显看出的是最大血量越低的英雄,充能所需要的伤害越少

“0.1+0.2”的大难题

看到这里有些人可能会发问:“为什么还要通过公式计算这么复杂呢?直接规定P不好吗?

我以一个编程门外汉的角度来尝试解答一下。

英雄的碰撞体积,子弹宽度,子弹速度,装弹速度,攻击范围等等……对战中的一切都可以用数据来量化,而数据的多样化才能创造不同的英雄,如果只是用整数描述这些的话,未免太过单调,而且也不符合实际对战中的应用。

那使用小数不就好了?但是使用二进制的计算机和(普遍来说)使用十进制的人类是不一样的。十进制小数是无法精确转换为二进制的——这导致了计算机运算中的“浮点运算误差

使用excel计算的时候一般会在外面套一个round函数(强制进位),但是这种做法属于亡羊补牢,并没有完全消除误差

那我们何不利用整数值来规定小数,以避免这种误差呢

再结合大招充能的含义,利用伤害D、充能乘数M、充能总量40w来计算充能比率P就显得十分合理简洁了

充能乘数M的存在,也方便平衡性调整时在不改变伤害D的情况下,调整充能比率P

反过来,如果调整伤害D的时候,忽视了对充能乘数M进行平衡,就会造成充能比率P的异常变动——也就是大家说的“暗改”了

(没有阿渤特定皮伤害bug离谱,真的是“错误地引用了布洛克的爆炸范围”,震惊)

所以虽然这些对战数据对我们来说可以用小数来描述,但是计算机的话,可以说是必须转换为整数,才能保证不会出错。通常在百科类网站(比如fandom)上面看到各种整数型数据,也是因为安装包内本身就是这样的

回顾与小结

“数字可不会说谎”,bug又不会凭空出现,本专栏是我在个人认知范围内对大招充能机制进行的解析,一直很好奇之前拜伦“暗改”和这次雅琪“暗改”的原因,加上个人觉得之前玩家社区内关于大招充能机制的概括“只有佩佩和里昂是按伤害判定,其他固定比例”之类的有点太模糊,终于决定自己做点研究:)

因为充能乘数M表面上是不可见数据,本专栏并不提倡玩家进行理论上的计算。想要解释的是“bug是如何产生的”以及“官方如何进行平衡性调整”,也算是给对游戏机制有所好奇的玩家作一点参考吧

文 / EXiT

Fix your game, Bug Stars!


【乱斗数据】英雄大招充能比率的计算方法——由拜伦的暗改谈起的评论 (共 条)

分享到微博请遵守国家法律