为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于dota游戏中护甲的建模与稳定性分析

2012-02-11 4页 pdf 1MB 33阅读

用户头像

is_436846

暂无简介

举报
基于dota游戏中护甲的建模与稳定性分析 自 动 控 制 原 理 课 程 论 文 NOV.9 2011 基于 dota 游戏中护甲的建模与一阶系统分析 王君迪 (浙江大学 控制科学与工程学系 09级) 摘 要:采用 dota游戏引擎中的基本护甲计算公式,采用一阶系统单位阶跃响应分析,得出护甲收 益递减论,并与另一种护甲收益不变论进行比对分析。提出有效生命理论,分析实战中英雄的出装 思路,对死灵法师进行举例分析,分析其在实战中的受伤害数据,与其能在大型比赛中出现的原因。 关键词:dota;护甲;伤害 ...
基于dota游戏中护甲的建模与稳定性分析
自 动 控 制 原 理 课 程 论 文 NOV.9 2011 基于 dota 游戏中护甲的建模与一阶系统 王君迪 (浙江大学 控制科学与工程学系 09级) 摘 要:采用 dota游戏引擎中的基本护甲计算,采用一阶系统单位阶跃响应分析,得出护甲收 益递减论,并与另一种护甲收益不变论进行比对分析。提出有效生命理论,分析实战中英雄的出装 思路,对死灵法师进行举例分析,分析其在实战中的受伤害数据,与其能在大型比赛中出现的原因。 关键词:dota;护甲;伤害 Dota(Defence of the Ancients,远 古的守护), 是指基于魔兽争霸 3:冰封王 座(由暴雪娱乐公司出品)的多人即时对 战自定义地图,可支持 10个人同时连线游 戏。Dota以对立的两个小队展开对战,通 常是 5v5,游戏目的是守护自己的远古遗 迹(近卫方的生命之树、天灾方的冰封王 座),同时摧毁对方的远古遗迹。DotA是 目前唯一被暴雪娱乐公司官方认可的魔兽 争霸的 RPG地图【1】。Dota 在大学生中的风 靡程度令人咂舌,而随着玩家对游戏的理 解深入,本身存在于游戏中的许多数学模 型被挖掘出来进行研究。本文将对 dota 中英雄护甲进行建模分析,并利用控制理 论中的稳定性分析,对 dota中英雄的物品 出装选择提出更好的。 因为游戏中对战的情况十分复杂,可 能是一对多可能是多对多进行战斗,我们 假设一种最简单的情况,就是只有两个英 雄进行战斗。我们可以把它想象成俩个斗 士在决斗,每个斗士都自己的生命值(即 HP),当生命值为 0时,即为失败。每个人 都有自己技能,施法技能时需要消耗自己 的魔法值,每个人都有三个属性力量,敏 捷,智力,每点力量增加 19点生命值,0.03 点每秒的生命值回复,每点智力增加 13 点魔法值,0.04点每秒的魔法值回复,每 点敏捷增加一点攻击伤害,每 7点增加一 点护甲,每点增加 1%的攻击速度。护甲顾 名思义就是斗士的铠甲,可以减少伤害。 首先设护甲值为 m 可推出:[1-(m*0.06)/(1+m*0.06)]* 初始伤害=最终伤害【2】 (这是暴雪娱乐公司(Dota的平台) 在他制作的游戏里定下的一条规则,如果 当目标造成的伤害类型是普通伤害时,这 条规则就会生效。这是这篇文章的基础之 一。) 如果我们将护甲看成一个系统,那么 这个系统就是一个简单的一阶环节: 50/3 m + 50/3 将初始伤害设成系统输入 u(m)。最 终伤害就是系统输出 y(m)。 下面建立另一个基本理论。 一个游戏人物会有他的生命值上限, 当他受到等于自己生命值上限的普通伤害 时,一般不会死亡,因为他有护甲抵挡一 部分的伤害。 因此,当你拥有护甲,你承受到的伤 害就只是原始伤害的一部分,你可以在护 甲的帮助下,去承受比你生命值上限更多 自 动 控 制 原 理 课 程 论 文 NOV.9 2011 的物理伤害。 如果一个游戏人物受到的伤害全部都 是物理伤害,要计算他的实际伤害承受能 力,不光要看生命值,也要算上护甲。 所以在这里我们就可以定下一个概念: 有效生命。有效生命是指在考虑护甲减伤 的前提下,一个游戏人物最多能承受多少 物理伤害。 其数学表述就是:有效生命=实际 HP/(1-护甲减伤百分比)。 1 护甲基础分析 护甲系统是一个简单的一阶惯性环节。 如果受到一次普通攻击伤害,则可将 其看成单位冲激输入。单位冲激响应为: y(t)=(50/3)*e-(50/3)t 此处 t不代表时间,代表护甲值的提 升量。 一般情况下受到的伤害是持续的,所 以可看称单位阶跃输入,单位阶跃响应为: y(t)=1-e-(50/3)t 其中, td=0.693*0.06=0.04,ts=3*0.06=0.18. 【3】 ts的意义是护甲在一般情况下可减少 18%的伤害。 按暴雪规定的公式: 1点护甲提供的伤害减免为:5.66% (游戏中的数据会被四舍五入) 2点护甲提供的伤害减免为:10.71% 3点护甲提供的伤害减免为:15.25% 4点护甲提供的伤害减免为:19.35% 5点护甲提供的伤害减免为:23.08% 10点护甲提供的伤害减免为:37.50% 20点护甲提供的伤害减免为:54.55% 而根据一阶系统单位阶跃响应曲线 可以发现单纯地提高护甲会使护甲的 效益越来越小。所以我们提出本文重要理 论:护甲收益递减论。 而上面的计算值就是护甲收益递减论 的论据:护甲免百分比与护甲值不成正比, 在护甲值线性提升过程中,护甲免伤百分 比的提升愈趋缓慢。从 0开始,提升 1点 护甲能提升 5.66%的伤害减免,但如果已 经有了 4点护甲,提升一点护甲却只能提 升 3.73%的伤害减免。 但是,如果我们这样看问题:如果原 本伤害减免为 0%,从 0%提升到 20%,面对 1000点物理伤害,就是减少了 200点伤害, 20%的伤害;如果原本伤害减免为 60%,从 60%提升到 80%,面对 1000点物理伤害, 同样减少了 200点伤害,但却减少了 50% 的伤害。因此实际上每点护甲的收益都是 一样的。 但根据一阶系统单位阶跃响应图,似 乎的确是递减的。说明模型存在一定的缺 陷。下面进行进一步研究。 2 护甲与有效生命计算 我们先回顾一下我们的实际伤害公式: [1-(护甲值*0.06)/(1+护甲值 *0.06)]*初始伤害=最终伤害 其中,(护甲值*0.06)/(1+护甲值 *0.06)就是护甲带来的减伤。 也就是这条公式=(1-伤害减免)*初始 伤害=最终伤害 由于有效生命是和最终伤害挂钩的, 自 动 控 制 原 理 课 程 论 文 NOV.9 2011 所以 有效生命=生命值/(1-伤害减免) 既有效生命=生命值/[1-(护甲值 *0.06)/(1+护甲值*0.06)] 最后整理得有效生命=生命值+护甲值 *0.06*生命值 分析以上情况,我们可以发现,有效 生命的引入,相当于在原系统引入了反馈, 受到的伤害值与有效生命的损失直接挂钩, 提高了系统的稳定性,有利于进一步分析。 下面来分析有效生命的最终公式。这 是一个一次函数。由上面的分析过程,可 以看成是系统的闭环特征方程。这个方程 告诉我们,每点护甲值都能增加 6%的有效 生命。 由于缺乏相关一阶系统的理论,我在 这里做出一个猜测,就是一阶系统的特征 方程可以用来判断输入对输出的影响百分 比。但由于笔者学习知识不够深入,这里 缺乏相关手段,是需要改进的地方。 举例分析。 以一个 1000生命值的模型为例,我们 把和初始生命值比较起来的提升称为绝对 提升,和同模型少一点护甲的情况的有效 生命比较起来的提升称为相对提升: 当它拥有 1点护甲,它得到 5.66%的 物理伤害减伤,实际可承受伤害(既有效 生命)是 1060,增加 60点,绝对提升 6%, 相对提升 6% 它拥有 2点护甲,它得到 10.71%的物 理伤害减伤,有效生命是 1120,增加 60 点,绝对提升 6%,相对提升 5.66% 当它拥有 3点护甲,它得到 15.25%的 物理伤害减伤,有效生命是 1180,增加 60 点,绝对提升 6%,相对提升 5.35% 我们可以看到,在这个模型里,每点 护甲都相当于增加了 60点有效生命值,也 就是初始生命值的 6%。 但如果我们和少一点护甲的情况的有 效生命比较起来,他又发生递减了。对的, 护甲就是一个绝对提升不递减,但相对提 升会递减的效果。 换句简单的说,护甲收益就是一个等 差数列,而不是等比数列。当护甲等差的 增长时,有效生命会得到等差的增长,但 护甲等比的增长时,有效生命并不会等比 的增长。 实战举例。 首先要说一点:DotA里的护甲值是有 小数的,所以游戏中的护甲免伤可能跟计 算结果略有出入。 图中的死灵法师,拥有 1204的生命值, 每点护甲能为他提供 6%的有效生命,也就 是每点护甲相当于增加 72点生命值,按照 1力量=19生命值计算,每点护甲相当于 3.8点力量。 他的总有效生命是 2068,也就是忽视 先锋盾格挡,忽视生命恢复,至少需要输 出 2068点物理伤害才能杀死他。 如果他在满生命值的情况下,点下梅 肯,护甲增加 2点,他的有效生命相当于 再提高了 144点。 梅肯本身提供 95点生命值,再加上 5.7点护甲(5点敏捷提供 0.7点护甲,我 们可以把梅肯的护甲增加效果视为 6 点), 在这个例子中,能把死灵法的有效生命从 1508提升到 2068,这里边尚未计算梅肯使 用效果。 所以在实际游戏中,死灵法师出肉装 (撑血撑防)是一项十分正确的决定。由 我们的计算可以看出,有效生命在不使用 自 动 控 制 原 理 课 程 论 文 NOV.9 2011 梅肯的情况下已经达到 2000,而其本身的 技能“死亡脉冲”的加血效果也未计算在 内。如果将模型扩展到承受伤害与输出伤 害比,死灵法师的技能由于兼具加血与伤 害的效果而使其有效生命值更大。所以在 现在的 CW比赛中,死灵法师也经常作为核 心来打后期。 3 护甲提供的减伤效果是递减的,但护 甲提供的有效生命是线性的。 当护甲等差的增长时,有效生命会得 到等差的增长,但护甲等比的增长时,有 效生命并不会等比的增长。 由于 DotA里所有的护甲增加效果都 是等差增加,所以一般的“递减”都可以 无视。 总之,护甲收益递减论和护甲收益固 定论,他们都没有错误。只是同一问题从 不同角度观察从而得出的不同结论而已。 而从控制理论的角度来看,之所以会 有两种论,是因为引入了反馈和没有反馈 的系统有不同的输出响应。 从本文的分析中也可以看出,本模型 依然是十分简单的模型,可以考虑的因素 还有很多,dota虽然是一个游戏,但是仔 细思考之后还是有很多值得计算的内容。 毕竟在暴雪公司设计游戏的工程师,也是 行业里的顶级工程师。游戏里的模型千变 万化,可以分析的内容还是很多的,本文 只是从简单的数学和一阶系统的角度进行 了管中窥豹而已。 参考文献(Reference) 【1】 百度百科,dota,http://baike.baidu.com/view/20844.htm 【2】 暴雪官方主页,游戏原理, http://www.blizzcn.com/html/moshouzhengba3_WarCraft_/moshouzhengba3gongluejingyan/200 90827/3564.html 【3】 自动控制理论例题习题集,杜继宏等编著,清华大学出版社,2002年 6月第一版, p69-70.
/
本文档为【基于dota游戏中护甲的建模与稳定性分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索