高效设计游戏——游戏伤害公式的量身定做_第1页
高效设计游戏——游戏伤害公式的量身定做_第2页
高效设计游戏——游戏伤害公式的量身定做_第3页
高效设计游戏——游戏伤害公式的量身定做_第4页
高效设计游戏——游戏伤害公式的量身定做_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高效设计游戏游戏伤害公式的量身定做伤害公式在逻辑上的发展历程 伤害公式是什么?业内的东西,又不是学术研究,所以没什么明确定义。就是看谁讲的有理,谁概括的全,谁认同谁了。所以这里笔者也斗胆尝试给出一个伤害公式的定义:伤害公式:就是为了能够实现定量或者按照一定的逻辑规则扣除目标一定hp的计算方式。这就是伤害公式,我觉得我的设计意图达到了!我就是想要设计出一个能够按照预期的效果扣除目标hp的一种规则。伤害公式是如何在逻辑上演化发展的?在讲伤害公式之前,我们先来看看常用的角色基本属性是如何演化发展的。以下内容可能会有点流水化起初,我们先有了角色的概念。若我们想要两个角色在游戏中发生战斗,那游戏设计师就

2、需要组建一个裁判组,其中计算机充当裁判,游戏设计者来制定游戏规则。就像几个小伙伴用猜拳的方式来角逐一样,我们在游戏软件中会采用一些更加细化并且量化的形式来制定规则。这时我们通常会引入hp(health point)来描述该角色所能够承受的最大伤害,这时我们能够做到的规则就是每次发生攻击,伤害为恒值,直到一方hp为0为止。但是这样做显然会出现维度太少而带来的结果恒定化,并且也显得无聊。下一步,我们引进atk的概念,来形容该角色对目标所造成的伤害。这时,我们可以制定的规则是targethp-a*atk,或者有好事者可以这么干targethp/(a*atk),未尝不可。因为atk已经成为角色的属性了

3、,我们也可以在游戏中对atk进行成长。至此战斗结果还是显得无聊。接着,我们引进def这一属性,来形容该角色对所受到的伤害的减少量。这时我们可以指定的规则有这种targethp-(a*atk-b*targetdef),有这种targethp-(a*atk/f(b*targetdef)),还有这种targethp-f(atk,def)等繁多种类(无穷无尽,无法枚举)。剩下的就要看读者们想用那种,或者需要那种了。至此,我们的战斗规则稍有起色,但是总感觉还是稍有欠缺,因为这场战斗不是那么的刺激。原因可能是少了那么一份“惊喜感”,因为每次战斗结果都一样。为此我们我们需要在前者的基础上加一点未知元素。于是

4、我们有targethp-dmg*random(a,b)或者targethp-dmg+random(a,b)(其中dmg则为之前通过atk与def计算出来的伤害),通常使用前者较多。这样会对结果产生更多随机的未知的处理,使得这场战斗更加趣味化。神马?!觉得还不够刺激?!那好吧。我们为此引入critical%的概念。此属性无法在伤害公式层面上存在,只能安排到战斗逻辑上。例如,我们投一个骰子,如果这个骰子的值落在(0,critical%)区间内,则系统判定该角色攻击为暴击,伤害大量提高为a*dmg。神马?!还不够刺激?!这样唯有引入dodge%的概念了。同样的,此属性也无法存在于伤害公式层面上,只能

5、安排到战斗逻辑上。例如,我们投一个骰子,如果这个骰子的值落在(0,dodge%)区间内,则系统判定为该角色闪避此次攻击,所受到的伤害为0。在此注意一件事情。在游戏的战斗伤害公式与逻辑上有很多对立的属性存在,其中我们已经介绍了atk与def的演化发展思路。同样的也有critical属性与anti-critical(部分游戏可能叫做暴击与韧性)以及dodge与anti-dodge(闪避与命中)等一些列对立属性。我们从设计目的来看,之所以存在对立属性,是因为可能从某种商业化或者趣味的角度出发,我们需要critical以及dodge无限增长或者可增长的空间较大,为了能使这一设计决定不失偏颇,才会想办法

6、去引入另一个属性来进行压制。这在行业内来看是一种包装概念来做收入的手段。伤害公式的种类下面来介绍一些常用的伤害公式。dmg=a*atk-b*targetdef类(俗称加法公式,或减法公式)适用情况俗话说,最简单的反而是最好用的。此公式特点,形式最为简单,结果最为直接,但是需要设计者在整个游戏数值架构内花更多的心思去搭建。这类公式最适合所有atk与def的成长空间有限,并且atk与def成长比例一定的情况下。当然不排除特殊处理过的情况,可能会带来意想不到的效果。问题处理这类公式通常会遇到一个问题,就是当b*targetdef a*atk时,所得伤害是负数,如果直接扣血会发现越扣血越多。此时我们需

7、要在战斗逻辑中补一个漏洞。如果(a*atk b*targetdef)0,则dmg=1。公式变式使用这种公式可能还会遇到一个问题。战斗双方如果实力差距较大时,会发生极端压制情况,既所谓的秒杀。这样,我们可以适当的构造一个减函数f(x),最终修正公式为dmg=(a*atk b*targetdef)*f(diff(atk,targetdef) (其中diff为形容atk与def差的函数)dmg=a*atk*f(targetdef)类(俗称乘法公式,或者除法公式)如果把上一种公式形象描述为“抵消伤害”的话,那么这种公式可以形容为“折损伤害”。这种公式比较适合atk与def的成长空间无限大(就是那种街头

8、泛滥的网友,无限砸装备,无限成长的那种)。问题处理这类公式需要注意f(x)的处理。通常f(x)都会构造出一个带有下界且下界大于0的函数,如图。或者构造一个关于atk与def的函数f(atk,def)并且也需同样造成上图的效果。下载附件 (34.78 kb) 其他类公式dmg=f(atk,targetdef)由于已经归类为其他,所以实在是太繁多了,所以不枚举了。在这里只是提一个常用的一种公式dmg=atk2/(atk + targetdef)。2013-7-22 02:00:32 上传下载附件 (39.55 kb) 如图所示,红线代表伤害关于攻击力的函数曲线,橙黄色代表伤害关于防御力的函数曲线。

9、从这两个函数分析得出,当攻击方攻击力大于防御方防御力时,曲线接近直线既每点攻击力带来的伤害增益为1点。当防御方小于攻击方攻击力时,曲线接近直线既从普遍情况来看,每点防御力带来的伤害减少为0.5点。所以使用这种伤害公式,我们再设计角色属性以及属性的成长的时候,尽量控制atk大于def的情况,这样结果看起来比较好看。如何量身定做自己的伤害公式我们按照目标导向型思路来分析。.1.我们游戏需不需要伤害公式,能否直接扣除固定量的hp,或者atk的值,通常这种设定适合休闲类游戏,或者塔防游戏。2.游戏中参战角色的基本属性有哪些,这些属性是如何定义的?战斗时需要用到哪些属性?3.有没有critical%,有没有dodge%,有没有anti-critical%,有没有anti-dodge%4.伤害结果需不需要带有波动性?5.属性的成长空间是否有限?决定选择哪种类型的公式。6.战斗节奏的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论