暴雪式平衡的数学模型研究(六)
暴雪式平衡的数学模型研究(六)
----在一款MMORPG中数值策划应当做哪些工作及如何做
作者:东北大包子/包子不卖/xiaobig
(转载请注明出处)
前言:
我很喜欢这个系列的名字,不舍得放弃,
但实际上,我已经跑题很久了,
最近的几章事实上都与暴雪不沾任何的边,
这期的内容我仍然想完成,或许它是非常必要的,
而下期,我想,也许应当是该到回归主题的时候的罢……
==================================================================
一、必须要坚持的几个原则
在介绍一个数值策划的职责之前,或许我有必要以概念性的东西阐述一些废话。
1. 明确你的设计目的
首先声明一点,我这里说的需要坚持的几个原则,并非是一个数值策划必须要做的事情,就如同这里第一点我要说的,虽然我希望每一个数值策划都可以知道自己在做什么,为什么这么做,每一个设计的细节,都可以阐述出合理的理由。(当然,我认为的合理的理由只有一个,就是玩家感受)但事实上,并不是一定需要如此的,我同样也完全可以用各种各样的混蛋理由来说服我的上司采用我的设计,甚至用来说服自己的理由,也仅仅是因为,某某牛B游戏用了,那么我们就要用而已。
如果想要在数值领域做出成就,相信我,这么做完全没有任何好处。
举例:
设计目的:玩家刚进游戏的两个小时之内,主要是熟悉操作,那么这个时候的打怪难度要足够低,尽量降低死亡的可能性,过早的挫折感将会很容易使玩家离开游戏。
2. 保持严谨的逻辑思维过程
当然,以我希望的玩家感受为出发点,那么之后如何为了达到某个设计目的而进行具体设计呢?没有严格的衡量标准,只能说,以自己所掌握的逻辑能力,尽量保证结论的准确性了。当然,尽你努力而已,只要你真的认真做了,那么就不会太差。
举例:
承接第一点中的设计目的,那么我们可以采用的设计手法可以这样:
如果计划在两个小时内升级到5级的话,那么在5级可以设定为一个标准的新手区“封顶”等级,玩家和怪物的战斗从规则方面尽量保证在1V1的情况下,战斗强度尽量设定为:玩家在杀死一个怪物之前,仅仅损失少量的生命,比如1/10①,时间也不可以过长,比如5秒①。
那么根据我们已经设定好的战斗强度,之后就可以进行细节的数值设定了,1级的怪物攻防如何,玩家攻防如何,而上述的1/10以及5秒,由于是感性值,那么我们在设定完攻防,进行简单的模拟测试之后,并非需要测试结果完全匹配这两个值,只要相近就可以了。
当然,也许还需要考虑新人玩家在不知道如何操作情况下的一些极限情况,如果我们的战斗系统规则比较复杂,确实会让很多游戏玩家在刚进入游戏的时候不知道如何战斗,那么也许玩家的生命恢复速度大于怪物对玩家的伤害输出,或许是一种可以考虑的数值设计手段。
3. 时刻对自己的结论抱以怀疑态度
不管你是个数值策划新手还是老手,也不要对自己太过自信,事实上,数值策划在工作过程中的大部分阶段所做的事情都没办法得到及时的验证,在游戏开放测试之前,你所做的事情对与错都是未知的。那么,战斗模拟计算,批量化测试,辅助测试工具等等手段②都是需要反复对自己的数值设定进行验证的必要手段。
之后,即使这些开放测试之前的测试手段得到的结论,看起来没什么问题,但作为我们自己,也必须要尽量考虑到,如果出现问题的话,可能会出现什么问题,如果出现某个问题,那么有可能是哪个地方出现了问题,做好足够的思想准备,那么在之后开放测试的时候,不至于出现问题之后手忙脚乱,或者,额。。。疯掉。。。
时刻怀疑自己,是一种美德,切记!
举例:
我们希望战士可以承受更多的伤害,而盗贼可以输出更多的伤害,但同时我们并不希望太过极端,例如我们希望选择战士的玩家可以放弃一部分承受伤害的能力而获得一些输出伤害的能力,当然我们并不希望战士最终比盗贼的伤害输出能力更强,否则盗贼玩家会由于心理无法得到平衡而诅咒我们这些做数值的白痴。
那么,经过我们数值的设定,已经反复的模拟测试结果之后,我们得到了可以被信任的数据,表明目前的数值设定是合理的,不过,在开放测试之后,通过数据采样收集,我们仍然有很大的可能,发现游戏中战士的伤害输出竟然可以比盗贼还高,出现这种情况,怎么办?
首先,考虑几种可能性,也许是因为战士的伤害输出倾向的武器太过容易获得,而盗贼的同档次武器则获得较难,也许是因为,战士的某个伤害输出技能CD过短,也许是因为盗贼在战斗中由于队伍配合的需要或者生存的需要,而无法专心做伤害输出,也许是因为怪物AI(比如仇恨系统)的原因,使得战士可以肆无忌惮的释放大量伤害技能而盗贼的逃避怪物攻击的技能变得毫无用处,甚至也许是我们的战斗模拟计算器出了问题,也许,还有其他,很多很多的原因。
不管怎么样,我们做好了心理准备,那么下一步的调整工作,就会轻松很多,相信你会很快爱上这个“发现问题——解决问题”的过程③。
4. 用文档记录下所有的一切
我们平时会做大量的思考,大量的……而这些思考的结论会以记忆碎片的形式存留在我们的大脑中,当然,这仅仅是我们自己的财产了,而在游戏开发的团队中,私人财产的价值是很小的。
养成好的习惯,用文档记录下你的设计目的,验证数据,思考过程,不仅仅是为了团队沟通的需要,同时也是对自己记忆的强化,能力的提高,额。。。另外,如果一旦你离开团队,你至少还可以为团队留下一些可以减少损失的重要资料,或者你们的项目最终完成了,不管大获成功还是失败,那么这些文档都将成为宝贵的财富。
==================================================================
二、在MMORPG项目过程中数值策划的工作流程④
1. 立项阶段
这个阶段数值策划也许可以说是可有可无的,这部分工作也许都可以由有能力的主策划来完成,只是需要在结构方面对整个项目核心系统的数值模型进行阐述,目的就是为项目的可行性添加筹码,为了更可能得到投资方的认可,仅此而已,如果说项目中并没有核心的系统是需要依靠完善的数值结构来支撑的,那么这部分工作甚至可以忽略。
2. 程序搭建底层阶段
在这个阶段,由于程序需要开始构建程序的底层结构,因此,很多后续功能的关键性数据接口必须要提前和程序打好招呼,专业一点说,就是“提出需求”。
首先要有一定完整度系统案,然后数值策划就需要针对系统案所涉及的内容进行分析,即使对于一般MMORPG中通用的需求,也必须一并提出,因为你并不能保证程序玩过或者说理解你所认为的“一般的MMORPG”。
这里可能会涉及数据结构,参数接口,数据采样的功能需求等几个关键性工作。
举例:
主角数据结构,这个是任何一个MMORPG都必须要做的工作,需要对各数据项进行定义,包括名称,类型,描述,取值范围,是否需要在服务端保存,是否需要在界面显示等关键属性,这里的大部分属性,都是不能轻易修改的,具体可以咨询程序,对于不能轻易修改的项,需要慎重考虑好,因为这会影响后面的开发。另外,数据项也是需要罗列的,诸如,角色ID,角色种族,角色性别,角色力量/敏捷/智力,所属工会等等,一开始就需要尽量想全面,预留几个空数据位也是必须的,对于新人来说,可以多与程序沟通,以确保最终确定的一套方案可行。
3. 封测版本阶段
在项目封测版本完成之前,这个时期是非常漫长的,半年到一年半都有可能,要做的事情也很多。
首先是数值模型的构建。事实上,数值模型还是很抽象的一个概念,它并非是一个可以看得见的图形,而是一系列数值规则及公式搭建起来的,额。。。可以说是一整套的数值运作流程吧。
这个过程,对于新人来说,也许是比较可怕的,太庞大了,太模糊了,不知道该从什么地方入手,事实上我们都是经历这样一个阶段的,谁都是从新人起步的,不是么?
不要有太大的心理负担,一开始也别把目标定得太大,一点点来,从基础开始。
首先,就从经验值的设计入手好了,首先我们需要得到的数据,是从主策那里,获知预期顶级多少级,总时间长度如何,战斗规模⑤如何,之后,就可以根据已知的这些量来设计经验值曲线了,留下足够的调整参数,以便对曲线可以随时调整(手头暂时没文档,就不贴实例了)
同样方法,角色的属性,成长,装备数值设计,采集/制造系统等等,都是需要经历这样一个类似的流程:“设计目的→数值模型→检验→修改模型至合理→数值设定→测试→再测试”
4. 内测阶段
这个阶段,算做是开放测试的开始了,虽然相比前一个阶段来说,时间较短,但是,我们要做的工作更多了,而且更加枯燥,心理压力是很大的,由于我们之前给程序提供了数据采样的功能需求,那么这个阶段就是我们要拿到这些数据并进行分析的阶段了,很可能我们会面临无法预知的各种问题,意想不到的各种情况,同事的信任,上司的指责,都可能会存在,虽然我们可以无视那些并不了解数值工作的人的非议,但是,无论如何,尽快解决问题都是必须的。
在这个阶段,之前提到的数据采样的功能需求的完善或者说合理性,就非常重要的,你必须想好,如果出现什么样的问题,那么可能会是因为什么原因,那么具体去确认是什么原因的时候,你就会需要这些采样的数据。
举例:
我们之前已经设定好了经验曲线,然而我们希望保证各个职业的升级效率是公平的⑥,到底是不是公平的?我们希望达到的设计目的到底是不是如实的实现了呢,数据采样就非常重要了,诸如我们提到的经验曲线的问题,我们可能就需要,玩家职业对应的各个等级提升的时间,杀怪数量,游戏内各职业玩家的数量及比例。而这个数据采样对服务器造成的负担,虽然可能会遭致程序的一些反感,但是只要我们说服他们,让他们相信,这些付出是值得的,那么之后的工作就会很顺利,他们一定会用他们自己的优势帮助我们更好的完成这个重要的工作。
5. 公测及正式运营阶段
这个阶段,很简单,重复上一个阶段的工作就是了,也可能会有后继版本的新功能相关的工作,这也很正常,重复第3点的工作就是了,可能你会觉得很枯燥。不过,不管怎么样,一份你真正努力用心去做过的事情,用回忆的方式去想想,你会发现,这段时光是最快乐的。
结束,感谢收看!
==================================================================
注释:
①这个两个数值1/10和5秒完全是感性得到的结论了,拿5秒举例来说,就是说多长时间玩家不会觉得厌烦,一般会与玩家以前的游戏经历、习惯,以及本身对于单位时间内玩家接受信息的频率适合程度相关,事实上并非需要考虑这么多复杂的问题,我们只需要依照我们的游戏经历,照搬一个合理的值就可以了,因为理论得到的数据无论如何不会胜过实践得到的数据
②这里举例的几种手段,任选其一即可,并非全部都需要,选择一种合适的,数值策划自己熟悉的,就是最好的
③事实上,很可能,这将是一个循环性的过程!
④这里所提到的流程将会是一个一般性流程,事实上针对每一个项目的具体情况,诸如主策划决策权及能力,系统策划能力及工作职责,数值策划到岗时间及具体能力,程序方面的团队情况等等因素,是需要具体调节的
⑤战斗规模,即一场战斗的时间长短,预估的敌人数量,杀一个敌人的时间等等用来衡量战斗节奏的估算值,它可以包括几个值,比如杀一个怪物需要5秒,找怪并移动至攻击范围内2秒,。或者玩家1分钟内可以击杀20只怪物并休息至满血满魔。
⑥请注意公平而非一致,我们允许法师在某个阶段升级速度较快,但是需要战士在另一个阶段升级较快,或者升级较快的阶段PK能力较弱,那么升级快而PK弱与升级慢而PK强的职业之间自然就会形成合作关系。