《战斗过程的基本数值知识与理论网易.doc》由会员分享,可在线阅读,更多相关《战斗过程的基本数值知识与理论网易.doc(29页珍藏版)》请在三一办公上搜索。
1、酱油壕赠言:慢慢看,看懂数值你就入门了_战斗过程的基本原理第一章 标准战斗过程网易公司理论研究组 宋悦Ver 1.1内容简介对于大多数游戏来说,战斗过程是最重要和最基本的数学模型,在游戏中我们可以见到各种各样的战斗,方式林林总总,数值名目繁多,过程千变万化。在这让人眼花缭乱的过程背后,有没有基本的规律呢?是不是可以找到一种定量的方法,让我们对战斗过程的设计更加丰富,对平衡性的把握更加准确呢?本文要做的,就是力图在这个方向上迈出第一步。作为战斗过程分析的第一章,本文提出了战斗过程最基本的一个结论:任何一场战斗的双方战斗力差值不变。给出了战斗力的基本算法,战斗力是输出对承受的积分,特别地,在输出与
2、承受无关的情况下,战斗力=输出*承受。并且针对单、多单位各种战斗情况进行了分析,均证明了这一结论。本文分为5个小节。其中引言部分,从心理学层面解释为什么战斗过程在游戏中如此频繁,也说明战斗过程的设计对游戏非常重要。第一节分析了单个单位之间的战斗过程,提出了最基本的战斗力计算方法以及结论,分析了常见的单体战斗力计算公式类型,举出了暗黑破坏神、英雄无敌、魔兽世界与魔兽争霸的基本伤害公式,并进行了简单的分析。第二节分析了多对多情况下由数量带来的战斗力平方增长效应,即兰彻斯特定律,进而得到了在多单位战斗情况下战斗力的计算方法。第三节分析了单对多情况下的战斗力对比图,验证了上述定律,并对一种特殊情况:A
3、OE过程进行了分析。第四节提出了在各种战斗过程下的总的规律和结论。第五节对其它的因素进行了一些考量。包括战斗时间、随机化、离散化对战斗造成的影响。版本介绍时间版本内容06.9.111.0完成了基本内容:战斗力计算方式与守恒定律06.9.181.01加入了事例分析、加入了AOE分析,加入魔法伤害简单评价,更名为战斗过程的基本数学原理内容简介1战斗过程分析2引言2第一章标准战斗过程4第一节单个单位的战斗过程4第二节多个战斗单位的战斗过程13第三节单个单位与多个单位的战斗过程19第四节结论24第五节其它影响战斗过程的因素25战斗过程分析引言战斗是网络游戏玩家进行游戏,尤其是练级的最主要方式。这主要是
4、因为以下原因导致的:1. 毁灭都是人天生的欲望之一。在进化心理学中,K.Lorentz认为正是有了攻击行为,种群的后代才能有最强壮的父母,物种才能代代相传。攻击行为是人类生活不可避免的组成部分。里查德.劳尔也认为,攻击性起源于人类的进化过程,并且因为其生存适应价值一直保存了下来。弗洛伊德的精神分析观点认为,人类存在一种死本能,死本能“极力把个体推向毁灭,减少个体的生命力,直至其回到原来的无生命状态”。当它指向人外部的时候,就表现为对他人的攻击与暴力行为。死本能指出了人有被驱动去攻击、侵略的行为本性。在一般的网络游戏中,新人的第一个动作经常就是关掉了所有对话,然后跑出去打怪,这里面既有人们进行网
5、络游戏的游戏习惯,也说明了人类对于战斗的本能需求。2. 游戏是对现实的一种模拟,而在现实中,战斗几乎贯穿了人类历史的始终,对于战斗的模拟和研究理论,也是非常成熟的。从中国的孙子兵法到克劳塞维茨的战争论,这些都对游戏中战斗的设计提供了非常好的理论依据。从可实现性上来说,游戏是对现实进行数字化的模拟,对人的行为做出相对应的数学理论模型,并且在其中做出玩家可控的部分。战斗中的攻防和伤害,包括加入了神话、奇幻之后的魔法、诅咒,都能够进行很好的量化和数学模拟,如D&D之类的桌面游戏就是量化的方法之一,这些手段使得用计算机来建立模型,构建游戏成为非常容易实现的过程。(吃饭也可以满足上面2个条件,为什么不能
6、是游戏的主要玩法?)3. 战斗过程中存在着矛盾和斗争,情形相对复杂,而且在战斗过程中可以做出丰富的音乐美术效果,满足人在视听方面的需求,存在着大量的信息量,在其中也可以加入非常多的元素供玩家进行控制,如装备的选择、技能的使用。用信息论的角度来看,一个战斗过程,带给玩家的信息要比其它的动作多的多,因此战斗成为网络游戏中玩家最经常体验的过程。正因为如此,战斗过程,可以说是网络游戏中玩家经历的最多,最为经常的游戏体验。对于战斗过程的设计,包括和战斗过程相关的数值设计,也常常成为一个网络游戏设计非常重要的地方。魔兽世界能够受到广大玩家的喜欢,最大亮点之一就是战斗过程的设计,一个好的战斗过程,能够让玩家
7、的游戏过程中充满乐趣,进而影响到玩家的代入感,在玩家看来,与此相关的装备、技能,包括经济系统都是有意义的,玩家也就愿意更投身到游戏中去,体验与此相关的各个系统设计。本文所提到的战斗过程,主要指狭义上的战斗,而非广义上的对抗,如泡泡糖的炸弹人、赛车、棋牌等,均不计算入本文所讨论的战斗范围。第一章标准战斗过程第一节单个单位的战斗过程最简单的战斗示例(出于数学分析方便,我们采用连续的函数,离散过程以后再进行讨论)让我们首先来看一个最基本的战斗过程:事例1:一个100血的战士出城,看到了一只血为90野猪,战士上去砍野猪,野猪同时开始反击。战士每秒的伤害是20,野猪每秒的伤害为10。当战斗进行了4.5秒
8、,野猪被杀死。在此期间野猪一共对战士进行了总量为45的伤害,战士还剩下55点血。(出于数学分析方便,我们采用连续的函数,离散过程以后再进行讨论)整个战斗过程的图如下(不同颜色的线对应野猪的不同伤害值,从右至左分别为10,15,18,20,22.22):从这个图,我们可以看到一些规律:战士和野猪的初始血量是整个曲线的起始点,整个战斗过程就是从起始点回到某个坐标轴的过程。整个战斗过程沿着直线移动,这条直线的斜率,就是战士和野猪的输出速度之比。在这个过程中,我们可以看到,作为互相斗争的双方,都至少存在两个因素,一个是生命,用以保证自己的生存。这个值在有些战斗情况下是人数/耐久等等,在这里统一定义为承
9、受。另一个是伤害,用以破坏对方的生存,在这里同样定义为输出。双方所比较的,其实是时间,看谁能在最短的时间内破坏对方的生存条件。我们可以得到一个最简单的结论:战斗的结果,取决于一个值:。注:上述公式中,下标X、Y分别指在一场战斗中对立的双方,在这里,X指玩家,Y则指野猪。其中,为玩家和怪物的生命,单位为点。、为玩家和怪物的单位时间输出伤害,单位为点/单位时间。这个单位时间一般是秒,但在很多游戏里,不一定以秒为单位时间,比如暗黑破坏神II,常常采用的单位是桢(每秒为24桢)。题外话:暗黑破坏神II(1.09版)也因此遇到过Bug,其中德鲁伊可以用一个技能:狂暴(Fury)。这个技能的效果除了伤害加
10、成以外,在20技能等级的情况下会连续攻击5次。有的玩家采用了相对较快的武器以后,平均每不到5桢就可以使用狂暴,这样系统就无法判定每一次伤害发生在哪一桢了,最终结果是这个终极技能无法产生伤害。最后玩家被迫使用相对较慢的装备来发动Fury,这也直接导致了游戏里物理系德鲁伊没有多少人玩。从式子看,前面一个数是玩家能够坚持的时间,后面一个数值则是玩家杀死怪物的时间。就像两个水池,各自插了一个水管放水,比较哪个水池先被放空就可以了。玩家要战胜怪物,只需要这个值大于0即可。也就是 0做一点简单的变换,也就是需要 我们可以将玩家的定义成玩家的战斗力,记为FC (Fighting Capacity)那么我们就
11、有了一个标准用以衡量角色的战斗能力。在上述的战斗过程中,双方的战斗力之差是一个恒定的值。战斗过程,其实就是一个FC相减的过程,要预估战斗的结果,只需要用FCX FCY 即可,我们不仅仅可以判定战斗的胜利者,还可以,我们还可以计算双方的战斗力比例和胜者所能保留的战斗力。在事例1中,我们可以计算出,战士的战斗力为2000,而野猪为900。因此如果一只一只的攻击,一个战士可以在无恢复的情况下战胜两只野猪。同样还可以计算出,在战胜第一只后,战士的战斗力还剩下1100,由于每秒输出是20,所以剩下55点血。在战胜了第二只野猪后,战斗力还剩下200,也就是10点血。这个战士就必须进行打坐、吃面包、绷带、喝
12、药、治疗等等补给措施了,因为他的实力已经不足够再战胜下一头野猪。玩家在战斗中常用的判断标准就是自己的生命是不是过半,这是有道理的,因为伤害输出和生命的多少无关,生命过半就意味着还有一半以上的战斗力。在几乎所有的网络游戏中,玩家都会关注自己的生命值,一般能够加生命上限的装备和道具,总是比较受玩家欢迎的。因为尽管输出方式千差万别,各种参数一时难以评估,但是生命值,总是能够比较直接的影响到一个角色的战斗力。如果以单位的承受作为横坐标,输出作为纵坐标,那么输出与承受所组成的图形面积,就是一个单位的战斗力。如下图:在实际策划中,如果我们要设计多个不同的战斗单位,他们的攻击力和血量都不相同,那么,只要比较
13、他们的战斗力,也就是生命和输出速度的乘积就可以得到他们的战斗力大小。在图形上,我们可以画出多条HP * =C的双曲线,观测其落点在那条双曲线即可,处于同一条双曲线的,即可认为战斗力相等。如下图战斗能力的等值曲线基于以上推理,我们可以看到在战斗中的基本规则,如果我们定义一个战斗单位的输出与承受的乘积为战斗力,(在以后的分析中,我们会将其推广到战斗力是输出对承受的积分,特别地,在输出与承受无关的情况下,战斗力=输出*承受)那么:在任何一场战斗中,战斗双方的战斗力差值不变。这一规则,贯穿了所有标准战斗类型的过程。在实际的战斗中,伤害总是按照次数和频率来进行的,我们可以用单次伤害值*伤害频率来得到单位
14、时间的伤害,也就是说,我们可以用dmg*f来代替,为简化方便,我们将DMG写成d,那么,在一些情况下,我们可以将玩家的战斗力写成。其中d和f对战斗力的作用同等。比如说,我们设计了两个戒指,一个是伤害+1,一个是攻击速度加10%,那么我们可以将伤害转化成百分比进行计算。如果这1点造成的伤害加成大于10%,即玩家在没有佩戴戒指的时候单次伤害低于10点,那么前一个戒指是更有作用的,反之则是后者。每次10点伤害是这两个道具的平衡点。基于攻-防的战斗方式最简单的战斗模型玩家只能进行很简单的控制,在实际的游戏中只进行这样简单的伤害是难以满足玩家要求的。在很多网络游戏中,常常会采用简单攻防加减的形式来进行战
15、斗过程设计。这种设计的基本规则是:每次攻击造成的伤害=攻击方的攻击力-受攻击方的防御力。即;。下面我们来看看这种设计的数学效果是什么。在这种情况下,我们来看双方的战斗力比值,一方为玩家,攻击力为attX,防御力为defY,攻击频率为fX,另一方是怪物,攻击力为attY,防御力为defY,攻击频率为fY。那么双方的战斗力分别是FCX=FCY=双方的战斗力比值FCX / FCY为(这里采用比值更容易看清楚):FCX / FCY = / 对于以上的公式,我们可以至少看到以下规律:1 对于不同的敌人,玩家的战斗力不再取决于自己本身的数值,还跟玩家具体要面对的怪物的防御力相关。同样,怪物的战斗力也与玩家
16、的防御力相关。因此,玩家和怪物之间的胜负关系,在实力很接近的情况下,可能会无法形成传递关系。这里可以举一个很简单的例子,单位A:=1000,=50,=0,=1,单位B:=1000,=100,=20,=0.25单位C:=1000,=25,=0,=3如果这三个单位进行实际的对战,通过简单的战斗力计算,我们可以看到,AB,BC,而CA。在没有任何外加属性(如单位大小、五行等等)这就形成了一个循环相克的局面。2 将任何一方的FC公式展开,可以看到:。在游戏中,一般来说,战斗力大致相近的玩家在值上是大致相近的,那么遇到怪物时所减少的战斗力决定于。某个单位的攻击频率越高,而对手的甲越厚,这个单位的战斗力就
17、被抑制的最厉害。利用这一点可以做出很多配合,比如设计某种怪攻击力低但攻击频率高,如果加上攻击硬直效果,这种怪对于甲较弱的法系职业就是战斗力很高的,但是对于防高的战士类职业攻击效果就很差,可以促使玩家之间形成配合。3 战斗力对于攻击力和防御力的增加效果,不仅仅取决于该这个加成数值本身,也取决于攻防双方的攻击力与防御力差值的大小。比如,一把武器上具有+3攻击力效果,如果攻方攻击力是200,防御方防御力是20,这时候+3的效果是不明显的,但是,如果防御方的防御力是180,这3点的效果就要明显的多了。所以,战斗数值对于攻、防加成是否敏感,取决于差值的设计。4 在这样的数学模型中,攻击力和防御力在不同的
18、阶段,对于单位的战斗力影响是不同的。一般来说,在同一情况下,攻击力对于战斗结果的影响效果是线性递减的,而防御力对战斗结果的影响效果是线性递增的。举例而言,经过攻防计算后,一个单位每次输出的伤害是10,受到的伤害是10。对于这个玩家而言,增加1点攻击力,所得到的伤害加成依次是10%,9.1%,8.33%.,而增加1点防御力所得到的伤害降低依次是10%,11.11%,12.5%.。所以我们可以看到,同样的攻防指数,在不同的阶段,所产生的结果是差异很大的。例如,在公认平衡性最好的星际争霸中,很多单位的防御升级费用常常是随等级递增的,甚至有的不是线性递增,而是几何级数的递增,如Protoss的离子盾防
19、御1/2/3分别是100/200/400(Mine + Gas),就因为这些升级对于战斗的影响并不是相等的。基于伤害的战斗方式在有些游戏中,单位的属性中不仅仅包含了攻/防,还有伤害值,攻防不再是伤害的决定值,只对伤害起到加/减成的作用。在这里,由于各个游戏攻防的加成方法不同,因此只能给出一个具有不确定性的公式,此类战斗的基本计算公式是:d*注:这里指产生的最终伤害,dmg指单位的标定伤害值一般情况下,的值和正相关,和负相关。具体情况要根据各个游戏的设计情况而定。在有的游戏中,也会导入其它的因素来影响,如Diablo中的物理免疫。下面分别举几个游戏的例子:1.暗黑破坏神2暗黑破坏神的伤害公式比较
20、奇特,其常见的defence数值并不作用于伤害大小,而是决定玩家的格档与闪避几率。而真正对伤害进行减成的,是由装备带来的damage reduce,也就是物理减免。这与D&D规则是非常类似的,最简单的公式如下:%这里的指物理减免率。当然暗黑破坏神2作为暴雪最成功的游戏之一。伤害的计算因素是非常之多的。其中人物角色具有力量(str)和敏捷(dex)两项是直接与物理伤害相关的。其中力量str对伤害进行加成,敏捷对命中率进行加成,(当然受攻击者的敏捷也对防御进行减成)。在不考虑装备以及盾牌格档的情况下,在采用最终伤害=标定伤害*加成*命中率的公式下,其伤害计算公式为:其中为武器攻击力上限,为武器攻击
21、力下限,是attack rating的简写,具体公式为;是defence rating的简写,具体公式为(dex为受攻击方的数值)。举例而言,当一个20级,力量敏捷均为50的野蛮人,在使用伤害为10-20的单手剑对同样等级,为60,物理减免50%的Boss进行攻击时,其单次平均伤害为10.35,用这个数值乘以输出频率(1/输出桢数),乘以该级别下野蛮人的血量,就可以得到该野蛮人在对该Boss的战斗力数值。综合使用护甲与物理减免,这与D&D 的基本思路是类似的。2.魔兽争霸3魔兽争霸3中没有攻击力,只有防御力对伤害进行减成。其具体计算公式为:当0的时候当0的时候其中为攻击类型,如普通攻击、穿刺攻
22、击、攻城攻击等,为防御类型,如轻甲、中甲、重甲等。在魔兽争霸3里,不同的攻击类型和不同的防御类型组合,会产生不同的破坏系数。在这里,随着防御力增加,由此带来的防御力减小无限趋近于100%但不能达到。这两个公式看似复杂,其实都蕴藏着很简单的数学原理。我们可以看到当增加1的时候,对于X方来说,增加6%刚好可以抵消因为Y方加1带来的效果,而6%的伤害加成也就是6%的战斗力加成,因此对于魔兽争霸里单位的数值评估,每一点防御力对应了6%的战斗力。当),杀伤力为(为单位时间输出伤害与战斗单位生命的比值,比如星际争霸中,机枪兵对射,每个机枪兵攻击力为,生命为,那么杀伤力就是。那么战斗过程的微分方程为:加上初
23、始条件,时,x=,y=解这个方程,可以得到如下解当=时,方被消灭,此时方还剩下。双方的战斗曲线图如下:(各条曲线分别代表100vs60,100vs80,100vs90,100vs95和100vs100情况下的战斗过程)这个结果虽然精确,但是仍然不够直观,我们来对这个数学方程进行简单的变幻,将()式左右互换,然后与()式相乘,消去两边的-P,可以得到:进一步得到:从到任何时间单位积分,我们可以得到一个非常重要的结论:写成:也就是说,在任何时候,双方的人数平方的差距不变。那么按照前面“战斗力之差保持不变”的规则,这里的战斗力必然包括了一种平方关系。在多人战斗情况下,假设单个单位的战斗力为,那么对于
24、个单位,其战斗力显然与2*成正比例这也就是著名的兰彻斯特平方定律。这个平方律反应了战斗中的一个规模效应。当作战单位以一定数量增加时,战斗能力以平方关系增长。由上述公式,可以得到几个比较重要的推论: 个战斗单位同时投入战斗,要比一个一个的投入战斗强的多。我们可以计算,个战斗单位同时进行战斗的战斗力总量正比于*,而让他们前后投入战斗,战斗力总量正比于*,这个结果我们也可以直观的理解,因为当个单位在承受伤害的时候,其他的单位都在进行输出,自然总的战斗力就增大了。 即使战斗双方的力量不均衡,只要弱势的一方成功的使得对方不能以全部兵力投入战斗,那么也有可能分成几次战胜对手。在军事上,也就是要造成局部以多
25、打少的战术观点,其数学含义其实是:aabb,那么将取得胜利,反之为。同样,按照上面的数学计算方法,我们可以得到同样变形得到:我们看到,在杀伤力不同的情况下,每个单位的杀伤力同样对实力产生影响。并且在战斗过程中,每个单位的杀伤力与数量平方乘积的差不变。如果我们对杀伤力进行分析,在上述例子中,比较和方的战斗结果,只需要看: 是否大于0HP带入,是因为 杀伤力的定义也就是要比较 那么是不是我们可以定义:;呢?这里我们来看一看我们对于战斗力的定义。战斗力是在承受与输出的所组成图形的面积,那么我们做一个输出与承受的图,可以看到:无论采用积分还是采用三角形面积计算方法,都可以很容易的得到,多单位的战斗力等
26、于(承受能力*输出能力)/2。对于有个单位的战斗团体来说,承受能力=*,最大输出能力=,所以最终的结果是:那么对于刚才的情况,可以得到:只要对比和,就可以很简单的得到和作战的战斗结果。在后面单单位与多单位战斗过程的计算中我们可以看到,这一结论是继续适用的。与前面的计算结果相比,我们可以看到,战斗力的公式其实并没有质的变化,只是它随着人数的平方关系增长。这对于游戏中促进玩家的组队是有非常有利的。如果我们对比多人战斗过程与单人战斗过程的公式,我们可以看到,在单体战斗中,我们认为输出是恒定的,而在多单位战斗中,输出与承受之间存在着正比例关系。这正是兰彻斯特平方律的来源。在单人战斗过程中我们并非就不能
27、产生这种平方律关系,只需要把攻击力正比于生命即可达到这个效果。综合上面的所有过程,可以看到,多人战斗过程仍然贯穿了前面所提到的两个基本定律:1. 战斗力是输出对承受的积分,特别地,在输出与承受无关的情况下,战斗力=输出*承受。2. 战斗过程中仍然是战斗力差值不变的过程。离散化对战斗过程的影响在离散过程下,同样的,会产生一定值的数据偏差,下面我们就来看这种偏差的影响因素。来看一个最简单的例子,如果方有个单位,方有个单位。按照连续情况下的公式计算可以得到,在战斗后,可以剩下个单位。 如果双方的杀伤力都为,也就是说任何一个单位都可以一次杀死另一个单位,那么可以剩下个单位。(X方伤害溢出22个Y方单位
28、生命力) 如果双方的杀伤力都为,剩下个单位。(X方伤害溢出0个Y方单位生命力) 如果双方的杀伤力都为,剩下个单位。(X方伤害溢出34/3个Y方单位生命力) 如果双方的杀伤力都为,剩下个单位。(X方伤害溢出35/2个Y方单位生命力)通过以上的示例可以看到,在离散情况下,由于在最后一轮一定会产生攻击力的浪费应该是因为,弱势方能更快地等比消灭优势方大比例单位2 3 4的最后一轮伤害溢出,并不明显,特别是2完全没有溢出,也就是战斗力的浪费,数值会产生一定的偏移,而且一定是向胜利者不利的方向偏移,杀伤力越小,离散情况越接近于连续过程。额外分析:在2.3.之间插入杀伤力0.4的情况,则X剩下76个单位X方
29、最后一轮伤害溢出22个Y方单位生命力在1.2.之间插入杀伤力0.8的情况,则X剩下60各单位X放最后一轮伤害溢出所以,关于最后一轮输出溢出的说法,应该是不对的应该源于优势方的数量减少比例快慢(特别是第一轮结束的时候,影响极大),即搏命性质越强,对于弱势方更有利再深入一步分析,如果考虑一定几率触发2、3个攻击目标的情况,劣势方在情况1这样的前提下,因为随机性作用,完全可能获胜欢迎交流,QQ416586910请备注30个Y方单位生命力第三节单个单位与多个单位的战斗过程在游戏中,除了单个单位的互相战斗和多个单位的互相战斗之外,还有一种情况,就是单个单位与多个单位的战斗,这种情况也是普遍的,玩家有时候
30、会单人同时面对多个怪物,也会多人一起与一个boss进行战斗。这种情况当然可以看作多单位战斗的离散情况,但是要注意到,如果这样的战斗是实力接近的,比如一个玩家同时面临3个小怪,或者5个玩家同时面对1个boss,在这里,由于一方的数量很小(只有1个),离散化带来的影响已经不可以被忽略。因此有必要单独进行考虑。这种模型下最大的特点在于不对称性。这里的不对称性在于:一方的输出是随着承受递减的,而另一方的输出则是恒定的。假设:单个单位一方(x方)初始生命,伤害为,频率为;多个单位一方(y方)初始生命,伤害为,频率为;初始数量为可以得到数学方程:加上初始条件,t=0时,x=;y=。要注意这里x,y的单位是
31、不同的。x是生命关于时间的变量,y是数量关于时间的变量。解这个方程,可以得到:x对时间的函数是一个二次曲线,y是一个递减的直线。并且在的点,x取到最小值,而y=0。图形如下,单-多单位的战斗过程注:该图数据如下:X方Y方数量120,30,40,50,60生命1600030伤害64频率11因此,只需要看这个最小值是否小于0,将这个t带入到方程的解中,容易得到:也就是,只需要比较与而且,将上面两个方程相乘,(2式左右互换乘1式),同时积分,可以得到, = 也就是说,在任何时候,双方的上述参数值之差不变,因此我们可以定义:跟上面多单位VS多单位的情况相比,在单对多的战斗过程中,我们看到,由于其中的一
32、方输出恒定,而另一方输出随着承受力下降逐渐递减,因此多单位一方的战斗力并不能获得完全的平方加成。在上诉的过程中,我们通过计算所得到的战斗力也是符合单VS单和单VS多的计算结果的。离散化的影响如果我们把这个过程离散化,我们可以看到。我们具体考虑Y方的情况,由于Y方实际上不是完全的连续过程,由于在每个单位受到伤害但未死亡的过程中,Y的输出是不变的,事实上,Y的战斗力减少是阶梯形的,如下图。因此在实际计算中,如果我们考虑战斗力=伤害*承受的整体公式,那么可以得到,Y方的实际战斗力应该是:这就是多人模式下考虑到离散情况以后Y方的实际战斗力。一个特例:AOE战斗过程在上述的所有示例中,任何战斗一方的输出
33、相对独立,或者与承受正相关。那么,是否存在一种可能,使得自己的输出与对方的承受相关呢。事实上,在游戏中这种情况也是经常会出现的。这就是AOE过程。AOE的全称是Area Effect Damage,范围伤害效果。它的特点就是对某个区域进行伤害,而不针对战斗对象。这种区域伤害能够伤害到部分或者全体的敌方单位。如星际争霸的离子风暴、魔兽争霸里的暴风雪、流星雨、魔兽世界中法师的奥术爆炸、魔力宝贝中的强力魔法和超强魔法、梦幻西游的龙卷雨击,CS中的手雷。在这里我们只考虑一种相对简单的情况,也就是一方AOE总是能够攻击到对方的所有人员,而另一方的所有单位都相同。比较典型的例子是魔兽世界中法师的奥术爆炸,
34、魔力宝贝中的超强魔法。这一过程比较简单,不需要解微分方程,只需要用基本的战斗力计算公式即可:假设X方生命为,AOE对每个单体的伤害是,攻击频率是,Y方生命为,每个单体的伤害是,攻击频率是,当Y方的数量为Y时: 在单 VS 单的情况下:在单VS 多的情况下此时X方的伤害提升到,但是我们要看到,Y方由于受到AOE攻击,此时X并不是最优攻击模式,可以看作Y方单位均处于同时攻击与同时死亡,输出与承受无关,因此其战斗力为,因此有:和1V1 的情况相比,由于X方的伤害与Y成正比,因此降低了Y战斗力增长的2阶关系。从整体上看,虽然X的战斗难度仍然增大了,却没有像标准情况增长的那样迅速,而收益的增长速度是不变
35、的,因此与标准情况相比,可以更快的获得收益。因此也经常为玩家所使用,在魔兽世界里,玩家经常会结队去爆怪,在魔力宝贝中,玩家也会经常组织弓手、法师的练级队,在梦幻里,龙宫的龙卷雨击也是非常常用的技能。从上面的战斗力对比数值还可以看到一个有趣的结论:X与Y的战斗力比值,正好是X在无恢复情况下连续单独与Y方战斗的数值。也就是说,如果X采用该群体技能可以一个接一个无恢复的消灭Y个对手,那么就可以一次用AOE群体消灭对方。第四节结论战斗的双方一定都存在两个因素,一个是标识自身生存的因素,这个因素的量化称为承受。承受在单人情况下,表现为生命值,在多人情况下,表现为数量,或者生命值与数量的积。另一个量是破坏对方生存的因素,这个因素的量化,称为伤害输出,简称为输出。输出对承受的积分,特别地,在输出与承受无关的情况下,输出与承受的乘积,表明了该单位战斗能力的强弱,我们定义为战斗力。战斗力是一个单位战斗能力的量化标识。战斗过程就是一个战斗力比较的过程,在这一过程中,战斗双方的战斗力不断下降,但是战斗力的差保持不变(在最简单战斗过程情况下)。战斗力之差在战斗过程中保持不变。这是战斗过程基本定律。第五节其它影响战斗过程的因素以上所分析的过程,基本都是物理攻击过程,但是由于上文中所使用的主要参数包括伤害、承受。与攻击类型
链接地址:https://www.31ppt.com/p-4016094.html