游戏数值设计讲解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

游戏数值设计手札

作者:沙雷游戏数值设计一直以来都是游戏设计里比较头疼的问题。面对错综复杂的数据结构,总是理不清头绪。总结了很多数值设计的方法,归纳如下,希望对大家有所帮助。

1.建构关系模型

一般的我们会首先构造关系模型,罗列出具体数据之间的关系。这样才能宏观的从总体出发研究数据之间的内在联系。其实数据的值本身并不重要,关系才是本质问题。数据之间的相互作用力才是影响游戏平衡的关键性的所在。

例如:(罗列数据关系,其实就是归纳数据之间影响作用)

(注意:我们在归纳作用时,初学者最好使作用是单向的,这样会避免叠加。)

在上表中,我们发现,等级影响基本属性,基本属性影响扩展属性,最后影响接口属性。

基本属性:只影响自身行为的属性。

扩展属性:受基本属性影响的属性。

接口属性:通过该属性可影响其他单位或外部对象的属性[对外作用的属性]。

在归纳出基本关系之后,接下来我们给每一个数据定义数据类型。

数据类型:

数值范围划定

现在,我们的数据关系结构已经基本成型,下面,我们所要考虑的就是数据取值范围了。例如:

数值设计范例

我们现在通过命中几率来分析一下公式设计的思考过程。

一般的,我们会先考虑最终状态,再反向思考。比如先考虑我们的技能最终的效果是什么,我的攻击力最终是多大,然后反向进行细分,这样更容易把握尺度。

现在首先要考虑的是“命中几率”的MIN 与MAX 分别是多少,我们知道命中是影响单位是否击中其他单位的几率的一个属性。那么它的取值范围应该是在0%~100%之间,不过0%太小,跟本就打不中目标。而100%又太大,次次命中,那么我们决定,将其范围规定至50% ~90%之间,这时候我们再根据第一部分的内容来看一下,都有哪些属性会影响到命中几率,这里我们简单点,就是敏捷。然后我们还要考虑是否有外部属性会影响到我们的命中几率,答案是武器装备的加成。那么“敏捷”与“装备加成”共同影响“命中几率”的范围应该是90%-50%=40%,也就是0.4,我们要通过我们游戏设计的理念(等级对角色影响比较大,还是武器对角色影响比较大,这也主要看我们游戏的收费模式,如果是月卡式的,我们可能侧重于让玩家在线时间长一些,所以侧重于等级,早期游戏这样设计的多一些,如果我们游戏是靠增值服务赚取利润的,我们可能会侧重于装备,不过怎么考虑都可以)思考后决定,让敏捷影响的小一些,影响为0.15,而装备影响为0.25,这样我们把侧重点移到了装备之上。

接下来,先把装备影响的0.25先放在一边,我们单单考虑敏捷这一条分支,我们假设不管什么类型的游戏。是自由加点式,还是固定提升式,我们的敏捷最大值是100点。

那么接下来我们就要考虑的就是我们的敏捷提升方式。是先快后慢呢,还是先慢后快,还是均匀提升。我们罗列一下:

先快后慢:Dex[affect]now=0.15*Dex/(Dex+2/Lvl max)[当前敏捷[影响]=0.15*敏捷/(敏捷+2/等级最大值)] //取三位小数

验算:假定共50级,每升一级有2个敏捷点[用EXCEL列数值,画图表]

曲线:

我们发现最终一级时,我们的敏捷影响力只有0.12,那么我们可以扩大参数,来改正这一问题。将0.15改成0.19。Dex[affect]now=0.19*Dex/(Dex+2/Lvl max)

和我们设想的一样。好我们可以先将这个结果运用其中了,当然,随着游戏进度的开发,我们还将其调整,或修改。

接下来我们考虑另外两种情况。

平均提升:Dex now=0.15*Dex/(Dex max)[当前敏捷[影响]=0.15*敏捷/(敏捷最大值)]

和我们设想的一样。

最后。先慢后快:Dex now=0.15*Dex/(2*Dex max-Dex) [当前敏捷[影响]=0.15*敏捷/(敏捷最大值*2-当前敏捷)]

简单的,我们列出了敏捷影响,实际工作中,我们会根据具体的情况添加参数,改变算法。根据这样的思考方式,我们可以自行的将武器影响算出来。

最后我们将命中几率的公式罗列出来:

Hit_Odds=0.5+0.19*Dex/(Dex+2/Lvl max)+Equip_Effect

命中几率=基础数值+敏捷影响+装备影响。

基线方法:

还有一种,游戏数值设计里的理论之一,它的理念是我们需要一个基线,也可以叫做定锚,意思就是说我们要有个起点,而这个起点应该是在整个数据结构中受影响最小最轻的一个。一般的我们也可把这个部分叫做基础数据。这时候一定要注意,我们现在决定的是结构,绝对不是具体的值。

例如:我们首先拿玩家Level.1时的Str(力量)为基线。然后根据Str决定我们的Atk(攻击力),比如Atk大概是1.5*Str,然后一级的怪大概五下被打死,除去一次的Miss,那么是四下,那么一级的怪的生命大概4倍的Atk,依次类推。;最后组建关系网。

蝴蝶效应:

无论哪种方法,我们都要考虑蝴蝶效应的影响,由于我们的数据结构到后期比较庞大,所以要考虑蝴蝶效应。它的理念是这样的。假设有一只蝴蝶在中国的四川挥动了一下翅膀,而产生的气流波动经过一系列的叠加,就会造成美国加洲的一场风暴。这个也叫“对初始条件的敏感性”,举例来说,比如我们增加一点力量,增加一点力量会增加5点攻击力,武器附加属性提升攻击力50%,又使用职业技能提升攻击力50%,物理攻击又对物理抗性低的怪物有50%的伤害加成,结果因为增加1点力量,提高的伤害为5*150%*150%*150%=16.875伤害,现在我们看到还在可接受范围内,如果,叠加的内容过多,这个数字可能变成天文数字,所以,我们再考虑关系时候,一定要考虑这一点。

当然一个游戏若要最终平衡是靠测试出来的,不过经过这些方法会使我们的游戏的可平衡性(调整到平衡的难易程度)会好一些。

相关文档
最新文档