《王者荣耀》数值研究

发表于2018-08-22
评论7 2.7w浏览


序言



数值类型


最大生命:大部分英雄


最大法力:大部分法师,多为赠送属性


物理攻击:大部分物理输出英雄


物理防御:代表英雄,项羽


法术攻击:大部分法术输出英雄


法术防御:代表英雄,牛魔


攻速:代表英雄,马可


冷却:代表英雄,貂蝉


暴击几率:代表英雄,孙尚香,猴子


移速:代表英雄,关羽


每5秒回血:续航属性,代表英雄,程咬金


每5秒回蓝:续航属性,大部分法师英雄


物理穿透:后期必备属性,大部分高物理攻击英雄


法术穿透:后期必备属性,大部分高法术攻击英雄


物理吸血:每次攻击至多吸生命的1/10,故需要很快的攻速支撑


法术吸血:代表英雄,芈月


攻击范围:英雄天生优势,极少装备支持,代表英雄,吕布


韧性:无法成长,代表英雄,杨戬,曹操有相关属性


暴击伤害:高暴击英雄单一,但目前成长途径也不多,代表英雄,猴子,黄忠


以上每种属性基本上都能作为一个英雄特色的来进行加工发挥,通过对个别属性的需求来做出每个英雄的特色。


但是部分有上限的属性的产出,还是要严格控制一下,至于哪些属性有上限,将在后续分析中介绍


游戏数值采集


见表格文档


战斗公式推导


由固定数值的防御对应固定数值的免伤比来看,战斗公式很大可能用的是乘法公式(MOBA游戏大部分用的均为乘法公式):


损血 = 攻击*(1-免伤%)


1.乘法公式免伤属性的成长


而正常乘法公式的免伤比计算方法为:


免伤% = 防御/(X+防御)


带入采集数据约为:X = 602,所以


免伤% = 防御/(602+防御)


免伤值是不会大于1的,为一个平滑的弧线成长,同时在攻击方有无穿透的时候呈现两种状态,如下:



2.两种穿透类型的性价比分析


又游戏中还有防御穿透属性,并分为了数值穿透和百分比穿透两种,对于两种穿透属性的带入分析如下:


1)数值型穿透:(代表,黑切)


假设攻方玩家具有y点防御穿透,则守方实际的防御为:防御-y,此时守方玩家的免伤率为:


免伤% =(防御-y)/(602+防御-y)


2)百分比穿透:(代表,破甲弓)


假设攻方玩家具有z%的防御穿透,则守方实际的防御为:防御*(1-z%),此时守方玩家的免伤率为:


免伤% = (防御*(1-z%))/(602+防御*(1-z%))


3)同时作用


如果数值型和百分比穿透同时作用的话,则生效的先后顺序应该为,先结算数值穿透再结算百分比穿透,免伤率计算如下:


免伤% = ((防御-y)*(1-z%))/(602+(防御-y)*(1-z%))


4)两种穿透的收益对比分析


在没有百穿符文的状态下的对比图:



由上图可看出,在敌方的护甲低于425点的时候,200点穿透的作用强于45%穿透,450点之后则效果低于45%穿透


当玩家有了百穿符文后,则对比图如下:



如上图所示,黑切的性价比被延长了,当护甲达到525左右时候性价比才被超过


3.穿透与攻击的性价比分析


玩家开始应该堆100点穿透还是100点攻击

假设玩家开始有200点攻击力,敌方有100点防御力,免伤约为14%,

在什么都不堆的情况下,攻方的真实伤害是:200*0.86=172

如果玩家选择堆100点攻击,则真实伤害是:300*0.86=258,增加了80点伤害

如果玩家选择堆100点穿透,则真实伤害是:200,增加了28点伤害

这是在初始敌方防御力低的情况下分析


但如果攻方的攻击力达到700点,敌方此时是600点防御力,免伤约为50%,

在什么都不堆的情况下,攻方的真实伤害是:700*0.5=350

选择堆100点攻击,则真实伤害为:800*0.5=400,增加50点伤害

选择堆100点穿透,则真实伤害为:700*0.65=455,增加了105点伤害


由上可大致得到:

基础攻击力越大越需要护甲穿透。

敌方防御力越大越需要护甲穿透。


4.技能攻击分析


正常的攻击一般等于的技能攻击,而技能攻击一般是由基础攻击与乘修和加修构成,公式如下:


攻击 = 技能攻击 = 攻击力*技能乘修+技能加修



例如关羽的转刀技能描述如下,

其中215是加修值,而127%为乘修值


此时关羽的攻击为211,如下图



经过乘法修正后得到的最终值为:

Int(211*127%)=267,


即下图所示的游戏内显示数值



同理,关羽在冲锋姿态下造成的伤害为


冲锋伤害=最大生命值*10%+总攻击力

劈砍伤害=总攻击力*150%+250

冲锋总伤害=冲锋伤害+劈砍伤害=最大生命值*10%+总攻击力*250%+250


另外,在英雄技能成长的时候,多成长加修属性,这样更方便可控。


只不过需要注意的是,冲锋伤害的乘修基数值为最大生命,这里是变相加强了关羽对生命的需求性,但相对于攻击力,最大生命值的价值到底是多少呢,我们来做一个简短的分析。


从数据采集样本中我们可以看出,游戏中肉盾的生命数值一般是攻击数值的20倍,所以如果以攻击为基准的话,则


生命=攻击*20,

所以,攻击*20*0.1 =攻击*200%,此为估值

而整个冲锋总伤害=生命换算攻击*200%+总攻击力*250%+250


由上可得到,如果单纯追求伤害的话,关羽堆攻击的伤害加成还是要略大于堆生命的伤害加成的。


但是生命在这里不仅可以为攻方加伤害,还是守方的有效血量,具有双重效果,所以关羽对生命的需求也同样重要。


5.韧性和暴击分析


韧性可以减少被控制时间,唯一获取途径是鞋子,没一点韧性,减少1%受控制时间,非常有用。


暴击率的上限理论上说也是100%,但是由于超过100%暴击后,没有什么意义,故也没设置上限。


暴击效果正常为攻击力的200%,在有无尽之刃的加持下为250%,结算时间为最后结算,下图推算伤害与实际伤害一致。



6.战斗公式整合


游戏战斗公式大致如下:

损血 = 攻击*(1-免伤%)


展开说明:


其中,


攻击力 = 基础攻击力+铭文攻击力+装备攻击力


技能攻击 = 攻击力*技能乘修+技能加修


免伤% = 守方防御/(602+守方防御)=(守方防御-攻方穿透)/(602+守方防御-攻方穿透)


损血 = (总攻击力*技能乘修+技能加修)*(602 /(602+防御-穿透))*(【暴击系数(1 or 0)】*【暴击倍数】)*浮动参数


通过实验得出伤害浮动参数约为1%,即99%至101%


有上限属性


《王者荣耀》英雄属性分为两种,一种是先天就有的,被称之为基础属性,一种是后天出装获取的,被称之为加成属性。属性虽然有很多种,但是有些属性是有最大限制的,而有些属性则是目前装备无法达到上限,需要在出装时候多加注意,因为它有最大限制,超过了就浪费了。


最大物理吸血:100%


注意了,物理吸血最大100%,一个泣血之刃25%,那么四个就满了,所以如果别人说出6个泣血之刃吸血逆天,那准是骗人的!其次目前吸血机制是:群伤吸血少(30%),单体吸血多(100%),近战普攻命中多个目标也是算群体伤害!



最大冷却缩减:40%


法师最大冷却也不是无限叠加,最大也不过40%,也就两个圣杯的事情,但是实战中间法师可不会出两个圣杯,CD流一般出这样的装备:噬神之书+秘法长靴+博学者之怒+痛苦面具+虚无法杖+辉月,但是如果铭文有10%冷缩,辉月就会换成其他装备,比如:贤者、回响、复活甲。



最大攻击速度:200%


需要攻速的一般都是射手,而以马可波罗为例子,马可波罗攻速越快,1/3技能的子弹就越多,总输出也就越高啦,200%攻速=贪婪之噬+急速战靴+末世+纯净苍穹+末世+15%攻速铭文,当然这是马可波罗15级和打野刀满被动的情况下,这套装备还提供20%的物理吸血,再出一个破甲就行了。



《王者荣耀》中主要就是这三个属性要注意了,其他属性对于出装都无关紧要,自然是属性越大越好。


注:


1.暴击概率没有明确限制,但是实际上也是个有上限的属性,超过100%其实也没有更大的作用


2.上限限制实际上是一种人为限制,用来防止某一条属性的溢出和价值不可控


3.因为使用的是除法公式,所以防御的投放也要加以控制,使减伤最多不要超过70%


能力函数推导


首先,确定英雄强弱,主要考量的是多久能把对方英雄打到,即攻击时间的比较。


即我攻击敌方所用的时间,和敌方攻击我所用时间的比较:


我打敌方的攻击时间:


时间1 = 敌方血量/ DPS*(1-敌方免伤)


敌方打我的攻击时间:


时间2 =血量/ 敌方DPS*(1-免伤)


即:



将同一人的参数移至一边,得到



即能力函数计算公式为:



其中,




这里假设4种技能效果一致,便于推导研究,



攻击速度 = 1/攻击间隔


技能的攻击速度实际上就是技能CD的时间倒数,如5秒一次,则攻击速度即为1/5,0.2次/秒


将DPS公式和免伤公式分别带入初始能力公式,整理可得



注:


1.以上的DPS为省略技能的算法,实际的DPS算法需要取普攻和技能间的一个平均值


2.由于DPS的估算要通过战斗时间得出,因为当战斗时间小于部分技能的冷却时间的时候,技能攻速的计算需要用战斗时间来衡量,按上述估算并不准确;


许多英雄就是通过缩短战斗时间来强化自身的能力参数,类如刺客和部分爆发法师,有些英雄则是需要通过正常战斗时间来强化自身的能力参数,如大部分的肉盾职业。但大部分同类型的英雄的战斗参数是基本差不多的。


3.公式里没有含有对控制的计算,一般控制可以理解为降低敌方DPS的一个参数来带入计算。


其余资料见EXCEL(文章底部 阅读原文 下载)

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引