DotA中的数学原理.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:23 大小:3.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

DotA中的数学原理.pdf

DotA中的数学原理.pdf

预览

免费试读已结束,剩余 13 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DotA(V6.74c)中的数学原理DotA是一款基于暴雪《魔兽争霸3》的游戏。游戏中所直接使用的数学计算虽不复杂,但结合的具体情况越多,对其进行分析就会越困难。本文对此作出初步的探索。基本属性DotA中的每一个英雄,都有生命值(HP)、魔法值(MANA)、攻击力(按中文翻译看应该是ATK,但实际英文却是Damage,即物理伤害)、护甲、射程(分远程近战)这5个显然的基本属性,以及魔法抗性、生命回复速度、魔法回复速度、攻击速度、移动速度这5个非常重要而又不能在游戏界面中直接看到的基本属性。此外,还有攻击前/后摇、施法前/后摇、白天/夜晚视野、弹道这些不常考虑的基本属性等。此外,每个英雄还有三种英雄属性,力量、敏捷、智力。这三种英雄属性并不直接起作用,而是转换为基本属性再起作用。力量属性:每增加一点力量,增加19点生命值和0.03点/秒的生命回复速度。敏捷属性:每增加一点敏捷,提升1%的攻击速度,每7点敏捷增加一点护甲。智力属性:每增加一点智力,增加13点魔法值和0.04点/秒的魔法回复速度。主属性:每个英雄会把力量、敏捷、智力三者中的某一个当作主要属性,每1点主要属性会额外再增加1点攻击力。最后强调一下,为抓住主要矛盾,忽略次要矛盾,在不考虑英雄技能的前提下,直接影响一个英雄作战能力的基本属性是:生命值、攻击力、护甲、魔法抗性、攻击速度、移动速度。护甲两个英雄,不考虑技能的情况下,作战方式只有互A(攻击)。这时产生的伤害都是物理伤害。再简化一下,一个英雄承受物理伤害的能力,仅与自身生命值(HP变为0即为死亡)和自身护甲有关,甚至可以不考虑对方的攻击力与攻击速度等要素了。护甲公式(当a≥0时):0.06×add=×100%,a≥00.06×a+1式中,dd为伤害减少(DamageDecrease),a为护甲值(Armor)。使用MATLAB可以绘出曲线:a=0:50;dd=0.06*a./(0.06*a+1);plot(a,dd)显然,随着护甲的增加,伤害减少的曲线斜率在下降,因此伤害减少的收益会随着护甲的增加而减少。然而,仅仅对此下结论还太早,因为伤害减少并不是一个直接决定英雄承受物理伤害能力的指标,因为它的数值含义还不够明显。为简化思考中的变量,我们不考虑对手的攻击力,也不考虑自身的生命值,仅考虑:在自身拥有某个伤害减少的情况下,与伤害减少为0(护甲为0)相比,能够多承受几次攻击。1h=−11−dd1式中dd是伤害减少,1−dd就是剩余伤害,就是1次攻击变为几次攻击,所以1−ddh为额外攻击次数。当伤害减少为0(护甲为0)时,显然,打一下,是一下,额外攻击次数为0;当伤害减少为50%时,要造成等量伤害,打一下是不够的,要再打一下,额外攻击次数为1。如果绘出额外攻击次数h和护甲a的曲线:a=0:50;dd=0.06*a./(0.06*a+1);h=1./(1-dd)-1;plot(a,h)我们会惊奇地发现:这说明,随着护甲的提升,英雄低档物理伤害的能力是线性提升的。也就是说,不考虑游戏在计算时的四舍五入,在0点护甲时买一个守护指环(+2点护甲)和10点护甲时买,对物理伤害的减免能力应该是一样的,尽管伤害减少的提高不同。值得注意的是,这个h(额外攻击次数),也可以看成是等效额外物理生命(EquivalentExtraPhysicalHP)百分比。在仅考虑物理伤害的情况下,h=3(护甲为50)意味着4下攻击,造成护甲为0时1下攻击相同的结果,因此,可以把拥有50点护甲,看成是等效的额外300%的物理生命值。由于护甲与额外攻击次数的关系是线性的,因此每增加1点护甲,相当于增加6%点等效额外物理生命(不考虑游戏中的四舍五入)。举个例子:如果英雄已经拥有1000点HP和10点护甲,仅考虑提升承受物理伤害的能力,是应该购买活力之球(+250HP)还是板甲(+10护甲)?解:英雄此时具有的等效物理生命值为:EPHP=1000+10×6%×1000=1600如果购买活力之球,则等效物理生命值增量为:∆EPHP=250+10×6%×250=400增加了400点。如果购买板甲,则则等效物理生命值增量为:∆EPHP=10×6%×1000=600增加了600点,因此该选择板甲。当然,实际进行装备选择时往往答案是活力之球,这不仅仅是因为大家没有进行过上述计算,还因为实际游戏中还要考虑到魔法伤害、特定英雄技能、合成高级装备等多方面因素。不过,这里也充分展现了等效物理生命值(EPHP)这一概念的重要之处。当护甲为负数时,计算公式会有变化。伤害减少(其实是增加,以负数表示)随