战斗过程基本数值知识与理论--网易

上传人:第*** 文档编号:58764678 上传时间:2018-11-01 格式:DOC 页数:29 大小:823.50KB
返回 下载 相关 举报
战斗过程基本数值知识与理论--网易_第1页
第1页 / 共29页
战斗过程基本数值知识与理论--网易_第2页
第2页 / 共29页
战斗过程基本数值知识与理论--网易_第3页
第3页 / 共29页
战斗过程基本数值知识与理论--网易_第4页
第4页 / 共29页
战斗过程基本数值知识与理论--网易_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《战斗过程基本数值知识与理论--网易》由会员分享,可在线阅读,更多相关《战斗过程基本数值知识与理论--网易(29页珍藏版)》请在金锄头文库上搜索。

1、酱油壕赠言:慢慢看,看懂数值你就入门了酱油壕赠言:慢慢看,看懂数值你就入门了_ 战斗过程的基本原理战斗过程的基本原理第一章第一章 标准战斗过程标准战斗过程网易公司网易公司理论研究组理论研究组 宋悦宋悦Ver 1.1内容简介内容简介对于大多数游戏来说,战斗过程是最重要和最基本的数学模型,在游戏中我们可以见 到各种各样的战斗,方式林林总总,数值名目繁多,过程千变万化。在这让人眼花缭乱的 过程背后,有没有基本的规律呢?是不是可以找到一种定量的方法,让我们对战斗过程的 设计更加丰富,对平衡性的把握更加准确呢?本文要做的,就是力图在这个方向上迈出第 一步。作为战斗过程分析的第一章,本文提出了战斗过程最基

2、本的一个结论:任何一场战斗任何一场战斗 的双方战斗力差值不变的双方战斗力差值不变。给出了战斗力的基本算法,战斗力是输出对承受的积分,特别地,战斗力是输出对承受的积分,特别地, 在输出与承受无关的情况下,战斗力在输出与承受无关的情况下,战斗力=输出输出*承受承受。并且针对单、多单位各种战斗情况进行 了分析,均证明了这一结论。本文分为 5 个小节。其中引言部分,从心理学层面解释为什么战斗过程在游戏中如此 频繁,也说明战斗过程的设计对游戏非常重要。第一节分析了单个单位之间的战斗过程, 提出了最基本的战斗力计算方法以及结论,分析了常见的单体战斗力计算公式类型,举出 了暗黑破坏神 、 英雄无敌 、 魔兽

3、世界与魔兽争霸的基本伤害公式,并进行了 简单的分析。第二节分析了多对多情况下由数量带来的战斗力平方增长效应,即兰彻斯特 定律,进而得到了在多单位战斗情况下战斗力的计算方法。第三节分析了单对多情况下的 战斗力对比图,验证了上述定律,并对一种特殊情况:AOE 过程进行了分析。第四节提出 了在各种战斗过程下的总的规律和结论。第五节对其它的因素进行了一些考量。包括战斗 时间、随机化、离散化对战斗造成的影响。版本介绍版本介绍时间版本内容06.9.111.0完成了基本内容:战斗力计算方式与守恒定律06.9.181.01加入了事例分析、加入了 AOE 分析,加入魔法伤害简单评价, 更名为战斗过程的基本数学原

4、理内容简介内容简介1战斗过程分析战斗过程分析2引言2 第一章标准战斗过程4 第一节单个单位的战斗过程4 第二节多个战斗单位的战斗过程13 第三节单个单位与多个单位的战斗过程19 第四节结论24 第五节其它影响战斗过程的因素25战斗过程分析战斗过程分析引言引言战斗是网络游戏玩家进行游戏,尤其是练级的最主要方式。这主要是因为以下原因导 致的:1.毁灭都是人天生的欲望之一。在进化心理学中,K.Lorentz 认为正是有了攻击行为, 种群的后代才能有最强壮的父母,物种才能代代相传。攻击行为是人类生活不可避免 的组成部分。里查德.劳尔也认为,攻击性起源于人类的进化过程,并且因为其生存适 应价值一直保存了

5、下来。弗洛伊德的精神分析观点认为,人类存在一种死本能,死本 能“极力把个体推向毁灭,减少个体的生命力,直至其回到原来的无生命状态” 。当它 指向人外部的时候,就表现为对他人的攻击与暴力行为。死本能指出了人有被驱动去 攻击、侵略的行为本性。在一般的网络游戏中,新人的第一个动作经常就是关掉了所 有对话,然后跑出去打怪,这里面既有人们进行网络游戏的游戏习惯,也说明了人类 对于战斗的本能需求。2.游戏是对现实的一种模拟,而在现实中,战斗几乎贯穿了人类历史的始终,对于 战斗的模拟和研究理论,也是非常成熟的。从中国的孙子兵法到克劳塞维茨的 战争论 ,这些都对游戏中战斗的设计提供了非常好的理论依据。 从可实

6、现性上来说,游戏是对现实进行数字化的模拟,对人的行为做出相对应的 数学理论模型,并且在其中做出玩家可控的部分。战斗中的攻防和伤害,包括加入了 神话、奇幻之后的魔法、诅咒,都能够进行很好的量化和数学模拟,如 D&D 之类的桌 面游戏就是量化的方法之一,这些手段使得用计算机来建立模型,构建游戏成为非常 容易实现的过程。(吃饭也可以满足上面 2 个条件,为什么不能是游戏的主要玩法?)3.战斗过程中存在着矛盾和斗争,情形相对复杂,而且在战斗过程中可以做出丰富 的音乐美术效果,满足人在视听方面的需求,存在着大量的信息量,在其中也可以加 入非常多的元素供玩家进行控制,如装备的选择、技能的使用。用信息论的角

7、度来看, 一个战斗过程,带给玩家的信息要比其它的动作多的多,因此战斗成为网络游戏中玩 家最经常体验的过程。正因为如此,战斗过程,可以说是网络游戏中玩家经历的最多,最为经常的游戏体验。 对于战斗过程的设计,包括和战斗过程相关的数值设计,也常常成为一个网络游戏设计非 常重要的地方。 魔兽世界能够受到广大玩家的喜欢,最大亮点之一就是战斗过程的设计, 一个好的战斗过程,能够让玩家的游戏过程中充满乐趣,进而影响到玩家的代入感,在玩 家看来,与此相关的装备、技能,包括经济系统都是有意义的,玩家也就愿意更投身到游 戏中去,体验与此相关的各个系统设计。本文所提到的战斗过程,主要指狭义上的战斗,而非广义上的对抗

8、,如泡泡糖的炸弹人、赛车、棋牌等,均不计算入本文所讨论的战斗范围。第一章第一章标准战斗过程标准战斗过程第一节第一节 单个单位的战斗过程单个单位的战斗过程最简单的战斗示例最简单的战斗示例(出于数学分析方便,我们采用连续的函数,离散过程以后再进行讨论) 让我们首先来看一个最基本的战斗过程: 事例 1:一个 100 血的战士出城,看到了一只血为 90 野猪,战士上去砍野猪,野猪同 时开始反击。战士每秒的伤害是 20,野猪每秒的伤害为 10。当战斗进行了 4.5 秒,野猪被 杀死。在此期间野猪一共对战士进行了总量为 45 的伤害,战士还剩下 55 点血。 (出于数学分析方便,我们采用连续的函数,离散过

9、程以后再进行讨论)整个战斗过程的图如下(不同颜色的线对应野猪的不同伤害值,从右至左分别为 10,15,18,20,22.22):从这个图,我们可以看到一些规律: 战士和野猪的初始血量是整个曲线的起始点,整个战斗过程就是从起始点回到某个坐 标轴的过程。整个战斗过程沿着直线移动,这条直线的斜率,就是战士和野猪的输出速度 之比。在这个过程中,我们可以看到,作为互相斗争的双方,都至少存在两个因素,一个是 生命,用以保证自己的生存。这个值在有些战斗情况下是人数/耐久等等,在这里统一定义 为承受承受。另一个是伤害,用以破坏对方的生存,在这里同样定义为输出输出。双方所比较的,其实是时间,看谁能在最短的时间内

10、破坏对方的生存条件。我们可以得到一个最简单的结论:战斗的结果,取决于一个值:。XYYX dpthp dpthp注:上述公式中,下标 X、Y 分别指在一场战斗中对立的双方,在这里,X 指玩家,Y 则指野猪。其中,为玩家和怪物的生命,单位为点。、为玩家和怪物的单位XhpYhpXdptYdpt时间输出伤害,单位为点/单位时间。这个单位时间一般是秒,但在很多游戏里,不一定以 秒为单位时间,比如暗黑破坏神 II ,常常采用的单位是桢(每秒为 24 桢) 。题外话:暗黑破坏神 II (1.09 版)也因此遇到过 Bug,其中德鲁伊可以用一个技能: 狂暴(Fury) 。这个技能的效果除了伤害加成以外,在 2

11、0 技能等级的情况下会连续攻击 5 次。有的玩家采用了相对较快的武器以后,平均每不到 5 桢就可以使用狂暴,这样系统就 无法判定每一次伤害发生在哪一桢了,最终结果是这个终极技能无法产生伤害。最后玩家 被迫使用相对较慢的装备来发动 Fury,这也直接导致了游戏里物理系德鲁伊没有多少人玩。从式子看,前面一个数是玩家能够坚持的时间,后面一个数值则是玩家杀死怪物的时 间。就像两个水池,各自插了一个水管放水,比较哪个水池先被放空就可以了。玩家要战 胜怪物,只需要这个值大于 0 即可。也就是 0XYYX dpth dpth做一点简单的变换,也就是需要 XX*dpthYY*dpth我们可以将玩家的定义成玩家

12、的战斗力,记为 FC (Fighting Capacity)那么我dpth*们就有了一个标准用以衡量角色的战斗能力。在上述的战斗过程中,双方的战斗力之差是一个恒定的值。战斗过程,其实就是一个 FC 相减的过程,要预估战斗的结果,只需要用 FCX FCY 即可,我们不仅仅可以判定战 斗的胜利者,还可以,我们还可以计算双方的战斗力比例和胜者所能保留的战斗力。在事 例 1 中,我们可以计算出,战士的战斗力为 2000,而野猪为 900。因此如果一只一只的攻 击,一个战士可以在无恢复的情况下战胜两只野猪。同样还可以计算出,在战胜第一只后, 战士的战斗力还剩下 1100,由于每秒输出是 20,所以剩下

13、55 点血。在战胜了第二只野猪 后,战斗力还剩下 200,也就是 10 点血。这个战士就必须进行打坐、吃面包、绷带、喝药、 治疗等等补给措施了,因为他的实力已经不足够再战胜下一头野猪。玩家在战斗中常用的 判断标准就是自己的生命是不是过半,这是有道理的,因为伤害输出和生命的多少无关, 生命过半就意味着还有一半以上的战斗力。 在几乎所有的网络游戏中,玩家都会关注自己的生命值,一般能够加生命上限的装备 和道具,总是比较受玩家欢迎的。因为尽管输出方式千差万别,各种参数一时难以评估,但是生命值,总是能够比较直接的影响到一个角色的战斗力。 如果以单位的承受作为横坐标,输出作为纵坐标,那么输出与承受所组成的

14、图形面积, 就是一个单位的战斗力。如下图:在实际策划中,如果我们要设计多个不同的战斗单位,他们的攻击力和血量都不相同, 那么,只要比较他们的战斗力,也就是生命和输出速度的乘积就可以得到他们的战斗力大小。在图形上,我们可以画出多条 HP * =C 的双曲线,观测其落点在那条双曲线即可,dpt处于同一条双曲线的,即可认为战斗力相等。如下图战斗能力的等值曲线基于以上推理,我们可以看到在战斗中的基本规则,如果我们定义一个战斗单位的输 出与承受的乘积为战斗力, (在以后的分析中,我们会将其推广到战斗力是输出对承受的积 分,特别地,在输出与承受无关的情况下,战斗力=输出*承受)那么:在任何一场战斗中,战斗

15、双方的战斗力差值不变。在任何一场战斗中,战斗双方的战斗力差值不变。这一规则,贯穿了所有标准战斗类型的过程。在实际的战斗中,伤害总是按照次数和频率来进行的,我们可以用单次伤害值*伤害频 率来得到单位时间的伤害,也就是说,我们可以用 dmg*f 来代替,为简化方便,我们将DMG 写成 d,那么,在一些情况下,我们可以将玩家的战斗力写成。其中 d 和 ff*d*h 对战斗力的作用同等。比如说,我们设计了两个戒指,一个是伤害+1,一个是攻击速度加 10%,那么我们可以将伤害转化成百分比进行计算。如果这 1 点造成的伤害加成大于 10%,即玩家在没有佩戴戒指的时候单次伤害低于 10 点,那么前一个戒指是

16、更有作用的, 反之则是后者。每次 10 点伤害是这两个道具的平衡点。基于攻基于攻- -防的战斗方式防的战斗方式最简单的战斗模型玩家只能进行很简单的控制,在实际的游戏中只进行这样简单的伤 害是难以满足玩家要求的。在很多网络游戏中,常常会采用简单攻防加减的形式来进行战 斗过程设计。这种设计的基本规则是:每次攻击造成的伤害=攻击方的攻击力-受攻击方的防御力。即;。YXXdefattdXYYdefattd下面我们来看看这种设计的数学效果是什么。 在这种情况下,我们来看双方的战斗力比值,一方为玩家,攻击力为 attX,防御力为 defY,攻击频率为 fX,另一方是怪物,攻击力为 attY,防御力为 defY,攻击频率为 fY。那 么双方的战斗力分别是FCX=XYXXf*)a (*deftthFCY=YYf*)a (*XYdeftth双方的战斗力比值 FCX / FCY为(这里采用比值更容易看清楚):FCX / FCY = / XYXXf*)a (*deftthYYf*)a (*XYdeftth对于以上的公式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号