欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    战斗过程的基本数值知识与理论网易.doc

    • 资源ID:4016094       资源大小:824.50KB        全文页数:29页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    战斗过程的基本数值知识与理论网易.doc

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

    注意事项

    本文(战斗过程的基本数值知识与理论网易.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开