当前位置:新浪DOTA2专区 >> 正文 作者:康猩猩┊时间:2015-03-23 09:52
学霸的DOTA2:攻速计算及攻速显示面板研究(2)
本文分基础篇和进阶篇。对于大部分dota玩家来说,基础部分就已经足够让他们对dota2中的攻速有一个清楚的认知,如果你也喜欢研究这些机制,或者喜欢打破砂锅问到底,不妨看看后面的进阶部分。

  举第二个栗子,某只影魔拥有200点攻击速度,攻击拥有满级被动的小鹿,则此时影魔的攻击间隔为1.7÷(200%-120%)=2.125秒,假如小鹿有冰甲,则攻击间隔将达到1.7÷(200%-120%-40%)=4.25秒,1秒只能攻击0.23下,输出被大幅度降低。

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

  80攻速的1级大电锤影魔,攻击满被动的小鹿,此时攻击间隔为2.13

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

  小鹿带冰甲,此时影魔攻击间隔为4.25

  尽管冰甲只是多减了40点攻速,但影魔的攻击间隔却大幅增加。

  看到这里,部分玩家可能会有这么个疑问,如果这只影魔再被凤凰的烈火精灵、全能光环减攻速会怎么样,攻击速度会不会变成负数?

  看图

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

  大刑伺候,凤凰F+小鹿被动+双头龙法球+冰甲,总共减150+120+50+40=360点攻速,而影魔也就20+80+100=200点攻速,尽管受到这么多减攻速技能的作用,但是影魔还是有20点攻速,而此时的攻击间隔也达到了可怕的8.5。

  可以看到,攻速最高就600点,最低20点,这是因为war3对攻击速度设定了一个区间,这个区间是[20,500],也就是说,攻击速度最低20点,最高500点,减攻速技能再多,也是白搭,攻速装备再多,也是浪费。dota诞生于war3,这些设定也自然继承了下来了,dota2也不例外,当然,6.83攻速上限被从500改成600。

  看到这里,如果你能充分理解上述内容,你就能应付80%以上的攻速计算问题了。这就是基础部分,概念很简单,不少水友应该早就了解了。

  进阶篇

  在进一步研究之前,我们必须先明确攻速的定义。

  在游戏里,攻速指的就是攻击次数和时间的商,当然,这里的攻速是广义上的攻速,不同游戏对攻速的定义并不一定是一样的,相反,不同的游戏对攻速往往有不同的定义。不同游戏的玩家们对攻速的理解也往往不同,以dota为例,大部分dota玩家口中的攻速其实更经常代表的是攻击频率(Attack perSecond,ApS),然而dota里的攻速则是war3定义的一个抽象变量(dota2亦然),而war3定义的攻速是一个没有量纲的导出量。

  由于攻速是导出量,因此仅有攻速一个量是无法得知一个单位确切的攻击速度到底是多快,无法和现实进行联系,就像你只知道速度,而对米和秒没有概念,就无法对这个速度有一个确切的认识。

  因此,基础攻击间隔这个概念就被引入了,这是一个具象常量,量纲是时间,有了基础攻击间隔,你就能对一个单位的攻速有具体的概念。

  例如在dota里,如果我只告诉你某个单位的攻击速度是200点,你是无法得知这个单位打人究竟有多快,但只要再告诉你这个单位的基础攻击间隔是2秒,你就知道,这个单位每秒攻击1下。

  在基础篇里我们已经讲过dota里(实际上是war3)基础攻击间隔和攻速这两个量的关系,即BAT÷AS=AT,dota2也不外乎如此,但dota2的面板显示却有一个相当奇葩的设定,这个设定得留到后面再详细解释,在此之前还有很多的工作需要做。

  首先让我们看看war3是怎么显示一个单位的攻击速度的。在war3里,一个单位当前的攻击速度通过攻击间隔来表现,war3里攻击速度在其面板上显示的是这几种:非常快,快,中等,慢,非常慢。这6个词分别代表6个攻击间隔区间,war3默认的平衡常数里,非常快代表攻击间隔在(0,1.0),快代表攻击间隔在(1.0,1.5),中等代表攻击间隔在(1.5,2.0),慢代表(2.0,3.0),非常慢代表(3.0,∞),这些数字的单位都是秒。这6个词能提供较为模糊的信息,能让你对这个单位的攻速有一个初步的概念。

  到了dota里,可操作单位往往只有一个英雄,因此对单位信息的了解就更加有必要,特别是攻击速度这么重要的属性,因此光有这6个模糊的词是不够的,我们需要更加具体的信息。随着各路大神的辛勤探索,war3里单位各项属性的相关信息都被一一挖掘出来,他们通过多次试验得出了攻速计算公式,甚至连war3限定最低攻击间隔都挖出来了。因此,基础攻击间隔BAT、攻击间隔AT、攻击速度AS、攻速提升IAS、攻击频率ApS这些概念一个个出现在了我们面前。

  OK,前面扯这么多,都是为了说明攻击速度是一个相当抽象的概念,而Valve定义的攻击速度更加抽象,到后面你就知道为什么会这么说了。

  把目光在转回回到dota2,尽管不少玩家都把攻击速度误解为攻击频率,但Valve仍在dota2里采用一套比较复杂的显示方法——攻击间隔(Attack Time,AT),以及攻击速度(Attack Speed,AS)来组合显示。攻击间隔,即一个单位进行连续攻击时,连续两次攻击中间隔的时间,量纲为秒。而这里的Valve定义的攻击速度,正是进阶篇的重点。

  为什么dota2要采用攻击间隔+攻击速度提升这样比较复杂又不那么直观的显示方式呢?

  这两种显示方式各有利弊,采用ApS这种显示方式,对玩家来说是一个比较容易接受的数据,他所操作的英雄的攻击速度如何一目了然,但是这种显示方式却不利于战场环境下的预先计算。

  例如,我要想击杀对面一个英雄,我知道他有一个技能能降低我的攻击速度,那么问题就来了(拒绝挖掘机),在他降低了你的攻击速度之后,你的ApS是多少呢?由于只有ApS一个数据,除非你对你所操作的英雄的基础数据都十分清楚,否则计算是不可能的,尽管你可以在被降低攻速之后快速地瞄一眼面板来知道你现在的ApS是多少,但对于lol、dota这种战场形势变化迅速的游戏来说,等到你上战场了你才知道准确数据,往往会是致命的,极有可能出现你的估算出现了偏差,导致你没有将其击杀,甚至被反杀。而AT+AS这种组合,虽然没有ApS直观,但却让玩家可以进行预先计算,降低估算错误的风险,哪怕计算并不是那么容易。

  当然实际游戏中,dota和lol两款游戏往往表现出截然不同的风格。尽管LoL的显示方式不便于提前计算,但玩家击杀失败往往不是因为估算问题,而是操作问题。另外LoL的法强等设定使得其英雄的技能伤害偏高,你往往不需要考虑攻击速度的问题,更多的是考虑如何才能把技能打出更高的伤害。

  而Dota在一次击杀中对物理攻击的依赖明显要高于LoL,或许正是考虑到这种情况,Valve采用了AT+IAS组合显示攻速,方便玩家提前进行计算。

  扯远了,回到Valve定义的攻击速度上来。

  在基础篇里,我曾说过,在dota2的攻速显示系统里,“dota2单位面板上显示的攻击速度即攻击速度AS,面板上显示的时间即攻击间隔AT”,这个解释只适用于那些基础攻击间隔为1.7秒的英雄,其中,攻击间隔AT的解释对于基础攻击间隔不是1.7的英雄来说依旧适用,但为什么对于基础攻击间隔不是1.7的英雄来说,AS的解释行不通呢?

  让我们来看一组图

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

  这是大树分别攻击0-4级不可侵犯的小鹿的攻速截图,电锤和冰甲是为了消除敏捷加成的影响,漩涡+25点攻速,加上15点敏捷刚好和冰甲-40攻速相抵消。

  我们知道,大树的基础攻击间隔是1.9秒,也就是说,如果不计算敏捷加成,裸体1级大树的攻击间隔是1.9秒,最后一张图也确实显示了1.9秒的攻击间隔,然而,此时大树的攻击速度却不是100点,而攻速最低时,也不是20点。细心的吧友应该也注意到,这个攻击速度和攻击间隔也和1.9的基础攻击间隔不对应。

  这有悖于基础篇里的BAT÷(1+IAS%)=BAT÷AS%=AT这个公式。

  那是不是说这个公式就是错的呢?非也,这个公式是绝对正确的。

  问题的原因我前面已经提到了,正是Valve在攻速方面的一个奇葩设定。

  在这里,我要引入一个你以前可能从来都没有见过或听说过的常量,这是我为了解释攻速显示面板不符合BAT÷(1+IAS%)=BAT÷AS%=AT这个公式而自创的概念:

  校准攻速或补偿攻速,Calibration/Compensation Attack Speed(CAS)(后面统一称为补偿攻速)

  这个变量是干什么用的呢?看大树攻速的最后一张图

学霸眼中的DOTA2:攻速计算及攻速显示面板研究

  在消除了敏捷加成的影响之后,英雄的攻击速度应该是100点,而大树却只有89点,这是因为大树的补偿攻速是-11点,100点的基础攻击速度在加上-11点的补偿攻速之后,就变成了89点。

新浪游戏APP下载

新浪简介 | About Sina | 网站地图 | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 通行证注册 | 产品答疑


Copyright © 1996-2015 SINA Corporation, All Rights Reserved


新浪公司 版权所有