数值策划新手向教学

发表于2015-08-27
评论1 1.12w浏览

作者:孙志超


网上有汗牛充栋的数值策划学习教程。但通常学不会的依然学不会,几年之后依然在拜大神;勇敢尝试之后的人或者在不断深入提高最终开始掌控全局或者骂两句我擦,数值原来这么简单! 

首先,不同游戏的数值策划难度是不同的。SLG比塔防复杂,有脑RPG比无脑RPG复杂。再其次,国外单机游戏往往是关卡为主数值为辅,国内网游则通常数值即关卡。所以学数值是个很宽泛的概念,没有适用性。

千万不要因为数值策划搞了屏幕数值公式的表就无比崇拜。制表的难度甚至连一个会计都不如。设计和演算数值的难点一个在前一个在后。前就是构架,后就是验证。已经构架好的设计,数值策划=执行策划;没有验证过的数值,尤其是第一次做相关工作,纯属YY。我刚做数值的时候喜欢自我折磨,做类似下面这种恐怖大表,自以为牛,其实既傻且疯。文档已经随损坏的硬盘消失了,不过好在当初在微博上自我调侃过,还留下了缩略图,我找来了:
http://pic2.zhimg.com/6a73c0855f1632f41d26d6019b16c299_b.jpg
世界上大多数事情都是有规律的。因此游戏中,能够发掘出规律并能由程序自动生成的内容,能够达到80%,而手动部分只要有20%。这并不影响一个游戏的趣味性,因为生活也是这个样子的。大部分数值工作,就是创立和填写程序能够自动生成游戏内容的表格。

只要是游戏策划,都能做数值策划,区别只是术业专攻,各有擅长。但凡有人说数值的工作很难他不会做,只有三种可能:1、畏惧未知,2、懒,3、被其他数值策划搞出来的复杂公式加大表吓蒙了。

但是,千真万确并没有那么难,比如说RPG的人物升级,所有上路的数值策划做的演算表头都是玩家级别、 极限玩家升级时间、极限玩家杀怪时间、折算击杀怪物数量、怪物提供经验、玩家升下一级需要经验、极限打怪需要时间、标准打怪需要时间、累积经验等,这里面没有任何高深的学问。有了表头,主策划再给出时间规划,任何人都能拉出表来。但能不能想到这些基本参数,就是上不上路的根本。所以,停留在YY的层面,永远都学不会数值策划,只有亲身下水摸鱼,并且在开发中验证制作方面的合理性、在上线产品中验证演算的正确性,才算是真正学会这项技能。如果没有机会,可以想办法分担一些数值策划的工作,从参与表格的演算开始,过渡到表格的制作,最终也许能参与到设计层面。

关于数值策划的工作,可以说上一天一夜。从授人以渔的角度,就以网游RPG的战斗为例简单说一下如何入手(战斗和经济通常是两大块)。而这些东西,对新人而言恰恰是通过阅读其他数值策划已经制作完成的表是学习不到的。

首先,最重要的,数值工作包含设计、制作、演算三部分。

 

设计方面的流程如下——



 

步骤1:确定数值系统的前提条件、体验、参数

步骤2:属性百分比分配

步骤3:各个系统数值计算

步骤4:角色除技能模块的属性计算模板+角色技能设计

步骤5:根据步骤4,建立一个完全的角色能力模板

步骤6:宠物能力模块的设计、技能设计、属性构成划分

步骤7:怪物数值计算

步骤8:验算模块

步骤9:琐碎工作,后期投放的能力系统计算。

附属工作:任务、副本怪物数值,可以待步骤56 计算完成之后,根据每个任务和副本的需求,进行单独的计算。



 

工作1-5,确定清晰的思路,作为数值工作的一个小阶段。

工作6宠物能力计算,需要思考:宠物的资质比重与技能比重;宠物的技能学习个数差异导致的宠物极限能力的差异对于已成形的数值体系的影响;

工作7 怪物数值计算需要调用标准宠物能力模板,这一工作需要工作6完成之后才可以得出具体的怪物数值

步骤8验算工作需要明确验算结果的评估标准,明确需要对哪些人物/宠物模型进行验算,并且明确怎样的结果是满足设计要求的;怎样的结果是不满足要求的。并且,通过验算的结果,调整之前各个步骤的参数。


 

下面记录一下每个步骤的工作内容。


 

步骤1

确定数值系统的前提条件、体验、参数。首先要确定战斗的操作模式,比如出手规则、引发策略的规则(如基于对方选择、基于自身选择、基于环境选择、基于状态选择等),这些在这一步骤中没有作用,但直接定义了游戏风格并影响之后的设计。然后你需要思考是想要稳定的战斗节奏还是越来越快的战斗节奏?为装备留出较多的空间还是为操作留出的空间?等等


 

其后过程为:

1 描述应用场景的分类(如PVEPVP、副本),以及人物在这些应用场景中的战斗体验(考虑有宠物支持的情形)来确定二级属性的种类,并定义出一级属性与二级属性的关系。

2 确定了应用场景中主要的二级属性之后,就应当描述这些应用场景中我们所期望的用户差异和差异下的战斗体验,来描述各个能力模块的成就成长定位、差异预期。

战斗体验包含:描述战斗时间、补给能力、控制强度、闪避、暴击等基本战斗体验参数,数值规模,数值范围。

3 确定战斗公式。


 

比如说,把游戏分为低端PvE、高端PvEPvP


 

低端PVE指针对低端野外怪物(包括普通怪物、精英怪物)的战斗。做出如下设计:


 

1、击杀时间

玩家可以在5-12秒内击杀一个怪物。

怪物级别越高击杀时间越长。

2、玩家耗血

前期回血道具超过两个怪物的伤害量,后期比一个怪物的伤害量略高。

怪物伤害占血量比重随着级别升高而降低

3、暴击

暴击攻击造成的伤害为未暴击时200%

暴击率是有等级衰减的,由暴击点换算而来。

暴击点的投放需要和等级挂钩,以免造成玩家可以在低级别时获得很高的暴击率

暴击概率大约是15-35%35%是高端付费,装备投放的暴击基本可以维持15%的概率。

装备宝石上投千分比暴击率,而不是暴击点

玩家大致是每杀一个怪可以出现1-2次暴击,高级别玩家需要追求一定的暴击率维持暴击频率

怪物的暴击概率20次攻击大约1次暴击。

4、闪避和命中

对攻击成功率这一参数,通过攻方原始命中率为基础,命中提高攻方的命中率(有上限),闪避降低攻方命中率(有下限)的方式来决定。

普通情况下,怪物每10次攻击中,玩家会闪避1次。

怪物的闪避很低。

5、挂机

玩家可以在提高自身的防御后获得怪物未破防后的体验。便于用户挂机。

6、法力和生命

因为战斗时间比较短,所以法力和生命的作用相对比较小。


 

这样,就可以制作出各项二级属性的关键性、预期追求难度、预期用户差异的设计表。


 

相应可以给出其他场景的设计:


 

高端PVE(副本战斗和野外针对首领、副本boss的战斗):

1、战斗过程

高端PVE通常需要3位以上的玩家共同作战,通常需要至少1位战士(坦克)、1位法师(DPS)和1位牧师(治疗),即铁三角。

2、战斗力

战斗力是对玩家自身属性、装备、宠物、技能的整体数值评价,高端玩家在战斗力数值方面比免费玩家要强很多,为了突出高端付费玩家的优势而又在基础体验上不拉大免费玩家的劣势,我们为高端PVE的怪物定义了一个战斗力标准,玩家的战斗力会影响对怪物的伤害加成。高端付费玩家在战斗力方面有较大优势,可以获得对该怪物的伤害加成,最高不会超过50%

3、属性防御防御

副本怪物和野外高端BOSS会带有一定的属性攻击,玩家可以通过副本掉落的属性防御道具来降低怪物对自身的伤害。

各个难度的副本掉落的属性防御道具是不同的,低级难度的副本掉落的属性防御道具可用于高级难度副本,而最高难度副本掉落的属性防御道具可供下一个副本使用。

4、控制命中

玩家可以通过控制技能让至少一只怪物在一定时间内无法发起攻击。通过追求控制命中属性,玩家对怪物的控制时间可以延长。

控制命中的追求难度比攻防属性要高很多,玩家在攻防属性的追求没有达到一定阶段基本不会考虑追求控制命中。

5、吸收和忽视吸收

玩家可以通过追求物理吸收或者法术吸收来减少怪物对自己的伤害。

部分高端BOSS会带有一定的吸收和忽视吸收属性。

同控制命中和控制抵抗一样,吸收和忽视吸收的追求难度也比较高,玩家通常在攻防属性追求到一定程度后才会追求吸收和忽视吸收。

这个体验可以在不拉大高端玩家和免费玩家体验的同时突出高端玩家的优势。

6、首领

需要大约3-5个玩家才能击杀,并且至少需要1个战士和1个治疗(低级无治疗职业时战士需要通过使用道具回血)。

通常会带有控制抵抗

暴击和闪避概率大约是同级普通怪物的2倍。

基本都带有属性攻击。


 

PVP

1、战斗过程

希望引导玩家先选择杀光对方可召唤的宠物然后再杀角色。

2、时间

所有客观条件相同,使用补血道具的情况下,两组玩家加宠物互相攻击,20秒左右结束战斗(不包含大招)

3、生命和生命恢复

回血道具有一定的CD,每秒回复量基本等于两个怪物的DPS,并且随着玩家级别的提高,药品的恢复在战斗中起的作用越小。

4、法力和法力恢复

回蓝道具有一定的CD,随着玩家级别的提高,药品的恢复在战斗中起的作用越小,玩家必须通过追求法力来达到可以更长久战斗的目的。

5、控制命中与抵抗控制

每种职业的玩家都精通一项控制技能,可以让对方在一定时间内失去战斗力,持续的时间可以通过对控制命中属性的追求而增加,而对方可以通过追求控制状态抵抗属性减少被控制时间。

只能通过宝石追求。70级之后的套装属性会投放命中和抵抗

眩晕是3-7秒、恐惧是5-9秒、变羊是7-11秒等。技能升级提高的命中通过角色升级抵消

期望控制技能对PVP战斗的结果带来较大的影响,以引导高端付费玩家去追求控制命中和控制抵抗

控制命中和控制抵抗的宝石可镶嵌装备要做区分

在技能上限制最多控制时间,如眩晕12秒,恐惧24秒,变羊30秒等。

6、吸收与忽视吸收

家族技能是基础的20%的吸收

除家族技能外,只能通过宝石追求,吸收、忽视吸收宝石的镶嵌装备做区分

战斗计算保证最高只能50%

玩家可以通过提升物理吸收和法术吸收属性来抵消对方玩家的物理攻击与法术攻击,同样对方玩家可以提高忽视物理吸收和忽视法术吸收属性来抵消玩家的物理吸收和法术吸收。

期望吸收和忽视吸收属性上的差异对PVP战斗结果产生较大影响,以此引导高端付费玩家去追求这两个属性。

7、攻防体验

免费玩家和高端付费玩家之间不会出现不破防的情况,也就是防御相对攻击来讲数值比较低,防御大约是攻击的30%左右。

8、暴击

在攻防追求到一定阶段后,为了提高DPS,玩家会转向追求暴击。


 

有了以上的设定,工作就可以开展了。


 

公式设计,真的是小学数学的事情,完全不值得长篇大论分析或探讨不同公式的优劣。只需要在你进行公式设计之前,问自己一个问题:设计这个公式的目的是什么?所有的设计都必须与这个公式设计的目的,即该公式对应的系统目的所符合。譬如,若装备系统的时间规划在整个人物模型中占有较大的比例,则技能系统的效果与装备基本无关无疑是不合时宜的;又如,若需要人物的某项数值如免伤率稳定在某个程度上,则防御值增加造成的免伤率增加是应该随着等级的增加而衰减的,如此种种。


 

以下是公式设计的普适原则,同时这几点也是所有数值相关工作的普适原则。


 

1、简单


 

公式的简单主要体现在两个方面:一为公式结构的简单,清晰,便于玩家和别的设计者清楚的了解公式内每个变量的作用;二为公式使用函数的简单化,尽量使用四则运算,分段拟合,少使用高次方公式,避免浮点运算。

在具体的设计中,我们很多时候会发现,在使用某个高次函数/椭圆曲线等等可以较之低次函数更加逼近我们的目标,出于求全的心理我们很容易使用这些函数来构建公式,但是实际上,这是完全不必要的。因为,第一,更加逼近目标的成本是使得公式更加冗长和难以理解,这也将造成设计者本身的困扰,而实际上我们很多时候只是需要一个模糊的公式,具体的数值可以通过赋值来解决;第二,一般的,抓住几个数据点,并以此为基础建构的分段函数已经可以解决问题,并不需要高次的函数来一次解决整个曲线,这两种做法的效果一致,但是工时和维护难度却相差甚远。 


 

2 可拓展

公式的可拓展性并不是强求所有的公式都必须无限的延伸,而是说,在整个游戏规划期间,这个公式能够满足所有的演算需要。一个不具备可拓展性的公式,实际上已经从设计上预言了该公式针对系统的寿命,若该寿命规划远小于游戏的预定寿命,那么,这个公式则是失败的。

比如最初的WOW,人物致命率的公式为:

人物致命率=F(敏捷)+装备附加+天赋附加+BUFF附加

这个公式是一个纯粹的叠加公式,它使得人物的致命率不受限制的增长,而实际上,致命率的最高值为100%,再增高是没有意义的,这也就导致了这个系统的寿命是有其上限的,在致命率到达设计的模型上限之后,设计者将不能再对人物的致命率有所增加,这个值也就无法造成玩家的追求点,从而伤害了装备系统的多样性,因此,在资料片中,致命率的公式更改为:

人物致命率=F(等级,致命力)

即装备目前只增强人物的致命力,致命力通过等级来换算成为致命率,以此造成致命率数值的随着等级而衰减,即一些低级的装备将被自然淘汰。但这样还是不够的,因为WOW不是一个升级困难的游戏,当到达最高等级70级时,致命力将不会再衰减,因此致命率还是将逐渐累加。因此暴雪又推出了新的数值韧性来解决这个问题,韧性将减少玩家被致命一击的几率,这样最终玩家被致命的几率公式即为:

被致命几率=攻击者致命率-F(防御者韧性)

这样,这个系统便得到了无限的拓展,致命率的上限即使超过100%,也是有意义的了。


 

3 避免正反馈


正反馈的公式是指这样一种公式,它产生的值将反过来对公式本身的变量产生正的更大的影响。这样的公式体系下,一个微小的改动都可以造成数十倍的放大,而这个放大在当前也许增加了游戏性,但是随着游戏的拓展,可能极大的影响游戏系统的调整和寿命。
 

仍以WOW为例。在WOW里面,战士的伤害制造公式是一个典型的正反馈的公式,战士的普通伤害将造成怒气的获得,而怒气可以让战士使用更多的伤害技能。这样的公式使得同样的武器对于战士的伤害制造能力的提升是其余职业的几何级数。而这样显然是难以平衡的,因为这两条伤害曲线一条是线性的,一条是非线性的,我们只能让他们在某个点相交而非某一段比较吻合。而一般的,也是WOW设计人员所做的,他们选择了让曲线在末端相交,这也就是WOW中低端战士积弱的根本原因。

但是由于战士的怒气系统是无法更改的,因此,要使现在的现象得到改观,我们看到暴雪开始调整战士的怒气获得公式,而且随着游戏的不断延展,我们还将看到他们就这样一直更改下去。除非他们将每个等级的每个伤害值分段演算曲线并得出公式,否则这是无可避免的。


 

4 易于修改

没有公式是能被保证不会出错的,我们要做的是在它出错之后尽快的调整它。在这个目的下,简单的公式体系无疑给我们的修改减少了很多麻烦,而在公式内部预留一些调节的参数,有些时候也很重要。

譬如,我们设计一个装备修理公式为每次挨打降低耐久度1点。但是在实际应用中,一些战士类职业由于靠近怪物,因此挨打几率增加,修理费较贵,而这是于系统的设计初衷不相符合的。但是,若没有挨打也降低装备的耐久,这是不符合玩家认知的,这就造成了一个矛盾。那么,若我们在设计的时候预留了一个叫硬度的参数以调节装备的磨损速度,则这个问题就迎刃而解了。

又如,我们在设计中,某两个职业所穿的装备是一致的,但是在实际演算中发现,职业A的伤害输出能力较高,因此需要职业B的防御较高以产生平衡,则我们只能通过技能/职业特殊装备的修正来调整这点。但是若在设计中预留了一个职业本身的防御成长值,则这个问题也不将造成调整的困扰。

不过在公式内预留参数也有一个度的把握的问题,即盲目的预留一些并不需要的参数,将使得公式冗长而缺乏效率。具体的实施还是要在具体设计上自行把握。


 

步骤2

游戏中的系统是既定的,投放的先后顺序也是确定的,根据应用场景与游戏中的系统,可以划分出每个系统所包含的具体属性,根据之前的体验与系统定位,可以得出某个属性在系统中的权重,即具体分配百分比。


 

步骤3

根据步骤2的属性百分比分配结果,逐一计算每个系统中,每个属性具体的属性数值。

在付费提高能力的系统中需要确定用于推算数值的模型属于哪种模型:如普通玩家、典型付费、系统所能到达的最高的人物战斗模型。并根据相应战斗体验推算这一模型下人物的所有属性数值规模。


 

步骤4

根据体验确定技能的攻击力普通攻击攻击力的比重,进而推算主体伤害输出技能数值。


 

步骤5

以模板的形式实现,直接读取各个系统表格,生成需要的人物模型。


步骤6
 

确定宠物的各项一、二级属性定义、关系和算法。

对宠物进行分类(如攻击型、防御型、生命型)与需求情况预估。

设计各等级人物所对应宠物数值上限。

进行各档次宠物数值的梯度规划和各成长阶段宠物能力梯度规划。

宠物技能设计与数值设计。

极限属性验证(宠物各系统配合可达到的最高数值,如最高攻击、最高防御等)。


 

步骤7

类似步骤6


步骤8
进行实际游戏验证,包括:
 

游戏前、中、后期杀怪时间长度(普通、精英、boss)(宠物状态、非宠物状态) 

打怪休息间隔

消耗品使用效率

宠物攻击与人物攻击比例

人物成长速度是否正常、成长效果是否明显 

人物初始值是否合理

装备发放是否即时

装备需求是否和人物同步

装备实用性是否能够体现

人物前期技能是否实用,是否存在鸡肋技能 

人物技能成型等级是否过长

……


 

制作方面的流程比较简单:


 

1、首先确定系统策划案。

2、细分系统策划案的功能点。

3、将细分的功能点以列的形式配置在程序读取表中。具备选择性的功能点可以配置为一列,值配置为枚举。比如一件装备的使用性别为 :男、女、无性别限制,那么就可增加一列使用性别,枚举项为:1 2 3 无性别限制。表格设计者需要将每一列的枚举值写成批注,批注一般写在列的字段名上。

4、设计完成表格之后,与程序共同确认,然后进入程序开发阶段。


 

有个口诀——

顾全局:背景确认

知目的:明确需求

轮廓:字段设定

定结构:流程解析

细打磨:表格装修


 

制作表格和程序息息相关,因为本身就是程序所调用的内容。编码的五大原则完全适用于表格的设计。

No.1——K.I.S.S. keep it simple,stupid,简单化、傻瓜化)

No.2——DRY Dont Repeat Yourself ,避免重复)

No.3——写代码(文档)时时刻设想你就是将来要来维护这坨代码(xiang)的人。

No.4——代码(文档)只是工具,不是手段。

No.5——过早的优化是一切罪恶的根源。


 

一旦建立了严密的表格填写规范,除表格建立者之外的策划和程序,不需要深入了解原理的过程,只需要知道每一步骤该怎么做就行了,大大节约了后续开发时间和培训成本。通常策划只见森林不见树叶,而程序只见树叶不见森林。但制定表格的数值策划,要求不仅仅只见森林而且也要能看见树叶。



演算方面没有流程可言,技巧嘛Excel用得越熟练越好,至于用宏还是用函数,看个人喜好和程序基础,没有更好的刀,只有杀人的刀。在实际工作中,倒是有很多经验,如:
 

1、数值表格应该具备大致相同的格式,互相关联的数值应该整合在一个Excel表格内。

2、重视开放性,简单说即是对后期增删和添加留有余地。这体现在表的格式上(是否方便添加),数值的命名规则,属性分配等问题上是否留有足够的余地。

3、每个字段需要设计得填写简单、表意清晰、易于修改;不要过度排版。

表格中的值,如果是枚举,最好将单元格属性设置为序列,然后设置非法值报警;

表格中的值,如果是数值,那么最好将单元格属性设置为数值,避免在数值单元格中输入英文字母,如 0 输成O

4、多人协作情况下,每次修改表格的时候,必须用SVN等版本工具锁定工作表。

5、所有表格建议放在一个文件夹下,方便表与表之间的调用

6、参数尽可能的放在一起,调整参数即可控制全表。表格公式涉及的参数全部引用。

7、不要使用分类汇总、合计、合并。

8、正式的所有计算公式最好按计算流程详细认真的写成文档。

9、在程序开发阶段,至少需要2个表格目录: 目录1用于平时的调整与修改 ;目录2用于版本构建时转表调用 。每次构建版本,将目录1下的表格拷贝至目录2
 

表格公式最好有详细的批注。

10、对外测试后的版本,每次数值修改,需要记录每一个修改点的清单,方便核对,也方便测试进行专项测试。

11、拉表的时候要未雨绸缪,罗列所有可能的数值。比如一个系统需求是提供2080级角色的收益,那么拉表时,最好把表格从1级拉到120级(120为假设等级上限)。

12、活用 SVN 右键菜单的 Diff with previous version 选项,这主要是转表之后的文件进行前后对比,进行比较。

……


 

基本上工作上几年就都清楚了,实践是一切知识的来源,并非靠事先的学习。


 

任何策划,想要开始着手学习数值策划的内容,只要记住:先想明白为什么做,再想如何去做,最后才是如何做好。只要这个次序没弄错,很快你就能上手了。然后……知道真相的你也许眼泪掉下来。

 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引