1、高中的数学,各种函数的定义与特征、等差等比数列及其求和等自然丝毫不能忘却,而高等数学也需要经常用到,包括正态分布、概率统计、离散数学等诸多相关的技术。一定程度上可以说,数值计算要求的是数学专业的人员,至少是理科出身。 紧密的思维。数值计算需要制作人员具有紧密的思维,公式设计者自然需要如此,每一条公式不仅仅针对一个数值而已,数值计算过程中的所有数据就好像一个紧密而复杂的网状结构,环环相连,牵一发动全身,稍有不慎即会影响到整个战斗系统、或升级系统、或职业系统、或经济系统填表的人也丝毫不能错乱思维,一来公式是死的,数据需要适应游戏而微调,对微调的数据和公式产生的数据,填表人员需要有敏锐的触觉;二来,
2、填表人员也需要时刻清楚并警惕数据间的全局联系。 对数字敏锐,乃至敏感。对数字的大与小的概念一定要很灵活而又很敏感。对数字敏感,不单要对单个的数字的差异有所敏感,还需对整个数值段都具有敏感的触觉。例如一列不同等级的攻击力数据,需要从中迅速观察并在脑海里构造出其数值曲线。 耐苦、负责并能承受压力。正如前文所说,一个游戏的数值计算过程并不是几天或一周的事情,而是一个至少历时两三月才初步完成的过程,计算完毕以后还要不断的修正甚至重设计公式。数值人员需要每天对着多张填满密密麻麻的数值的表格,并且经常需要心算和笔算,如果没有耐苦、负责和能承受压力,或者喜欢这份工作的人员,势必很快感到枯燥繁琐,而更严重的是
3、导致数值计算上的出错,这是比工作效率下降要严重百倍的后果。 经验。理所当然,经验是数值计算的宝贵资源。经验分为两种,游戏的经验和数值计算的经验。前者指从大量的游戏过程中获得的感觉积累和公式积累,这并不单单能靠几款网游的浸淫就能造就的,无论单机还是网游,需要涉猎的面很广,观今天很多经典的数值模型,大多来自单机的;后者指从事数值计算工作的经验,同样是A的x次方,A的2次方的曲线和A的3次方的曲线可能不少人还能轻易感觉出来,A5和A2(A33A),其中的微妙差别就要靠经验才能洞察出来了,对于很多蹩脚的公式或者不合理的数值设定,很多时候对公式调整一两个参数即可修正到很好的效果,而另外,如果C是由A和B
4、共同推出的,当C出问题的时候究竟调整A好还是调整B好,这也是十分需要经验的地方。4. 数值计算流程案例以下从一个系统相对简单的游戏来简单说一下数值计算的流程,初版的征服是笔者开始研究分析的第一个数值模型,其结构简单却基本系统完善,下文以该游戏作为数值计算流程的分析案例。4.1. 主要系统细化如上图所示,系统案的细化是做在数值计算之前,而职业、技能、装备、物品、战斗五大系统则是数值计算中不可或缺的五个最主要的指导中心。职业系统。决定游戏中职业的数量和职业的特色,这两方面决定了整个技能系统,决定了战斗系统中的玩法,也决定了各个职业的主属性的成长比例。技能系统。技能对战斗系统是一个修正的作用,数值计
5、算的目的是要做到数值平衡,而由于技能的加入,技能的平衡也变得首当其冲,而与此同时还要注意技能和职业配合后的平衡、技能在PvP中的职业平衡。装备系统。装备系统是基于职业系统而产生的,由于有了不同的职业及其职业特色,于是有了适合不同职业的武器和不同职业穿戴的防具和饰品。由职业系统衍生出来的装备系统,在数值计算中的经济系统的计算,起到了很重要的作用,包括PvM、装备耐久耗损、装备价格、怪物掉落等等。物品系统。由装备系统衍生出物品系统,或者一定程度上说,物品系统也可以自我产生的。物品系统在数值计算中主要指药品,由于装备和玩家本属性带来的攻防,导致不同职业的药品消耗程度不同、回城速度不同,进而影响到数值
6、计算中的药品价格、升级消耗、怪物掉落等数据。战斗系统。游戏中数值计算最重要的参考系统,战斗系统为物理攻击和技能攻击设计战斗伤害的计算,而这个计算的流程和计算的公式,则是数值计算中的核心环节和主要依据。其次,战斗系统的设计也决定了主属性与辅助属性的换算关系。4.2. 初期感觉设定在数值计算启动之前,需要做的另一件准备工作是对游戏的初期感觉进行设定。最初需要设定的五个基本感觉为:角色的成长曲线、角色的经验曲线、游戏花费时长、各职业属性比例和属性校正参数。角色成长曲线。成长曲线是设计师给玩家的一种游戏感觉,同时也很大程度上烘托了游戏的世界观,角色到底是大器晚成型还是逐步成长型,还是像方仲永式的先快后
7、慢型,这几种不同的角色成长曲线决定了真正的数值计算中各项数值随着等级和时间的增长速度和程度。角色经验曲线。经验曲线也是设计师给玩家的一种游戏感觉,其影响的主要是玩家的升级速度和升级感觉,以征服为例,它是一种五级一阶梯的经验曲线,如下图所示:通过经验曲线的确定,数值计算中以此为依据,确定游戏的每个等级的升级时间、杀怪时间、回城频率等时间相关的数据,而这些时间相关的数据,都是以初期定下的角色经验曲线为参照的。游戏花费时长。游戏花费时长是另一个用于确定时间相关类数据的初期感觉数据,通过游戏花费时长的确定,配合游戏的角色经验曲线,可以界定出角色每级升级所需要的时间,从而通过这个升级时间可以推导出游戏的
8、其他时间数据。 各职业属性比例。由职业系统的细化可以得到各职业的特征,这些特征主要为两样:职业属性比例和职业技能。前者是数值计算前期对角色属性数据推导的主要依据,而后者在数值计算设计到技能的时候开始产生主要的参照作用。以勇士为例,当确定了勇士的力:敏:体:魔5:2:3:0的时候,可以通过数值计算求出勇士每级的基本数值和装备后的相关数值,而后可以通过这些数据推导出怪物的相关属性数据,从而推导出以后的数据。 属性校正参数。通过以上的初期感觉设定可以通过数值计算推出游戏中的主属性数据,然而游戏中有更多的辅助属性数据,比方说命中闪避血值魔法值,这些数据的推导需要初期定下的一些属性校正参数(例如一点体质
9、换算多少点血值),推导出了辅助数据,才能对其他的数据进行进一步的推导。4.3. 数值计算流程当主要系统细化完成、初期主要的感觉也设定完毕之时,可以着手开始数值计算的工作了,针对数值计算最高层的看的角度不同,其流程也有所不同,但是实际上他们说的是同一回事的,以下按两种不同的角度去描述数值计算的流程,再配合一个实例讲解一下前期的数值推导。上图为数值计算的其中一种角度上看的推导流程,正如前文所说,系统的细化和初期定下的感觉是数值计算的输入,在真正的数值计算过程中,可以分为三步来推导:时间类数据、属性类数据和校正类数据。时间类数据时间类数据指的是和时间相关的数据,这些数据玩家是看不到的,也是很难算出准
10、确的数值的,因为这些数据算是从初期定下的感觉数据中经过一次加工的感觉数据;时间类数据包括每级的升级所需时长、每级玩家杀死怪物所需的时间、每级怪物杀死玩家所需的时间、玩家的回城频率、玩家的寻怪时间等等;时间类的数据为后面两步的数据提供了最重要的时间属性,这些属性用于计算角色的数值、怪物的数值以及经济系统有很大的作用;属性类数据属性类数据指的是角色的属性、怪物的属性以及物品装备的属性;属性类数据包括不同职业的主属性、怪物的主属性以及物品装备的属性、价格;这些属性类的数据其实都是由时间数据来推导出来的,比方说由角色的血值、怪物的攻击力以及怪物杀死玩家的时间,可以计算出玩家的防御值,同理,也能用玩家的
11、攻击和玩家杀死怪物所需时间算出怪物的血值;校正类数据这些数据往往用于校正前面的一些属性类数据的计算结果,为了数值平衡而计算出来的用于调整的数据;校正类数据包括技能数据、命中闪避数据、怪物掉落数据等等;推导校正类数据的同时,会使用校正类数据进一步推导一些属性类数据,而后再推导出相关的校正类数据,两者是一个互相推导互相验证的过程。以下是从另一个角度看数值计算的流程:从另一个角度上看,实际上数值计算的过程是先通过细化的系统和初期定下的感觉先定下一个主要职业的属性,而后通过这个主要职业的属性来推出其他职业的属性。计算出各职业的属性数据以后,通过这些数据和时间数据来计算出怪物的属性数据。最后通过各职业的
12、属性数据和怪物属性数据,计算出装备的属性数据和物品的属性数据,并用这两者相互验证。这种角度上的数值计算实际上和前一种的计算方法本质上是一样的,只是划分的方式和看问题的角度有所不同而已。以下以征服的数值计算为例,谈谈前期的数值计算是怎么界定和怎么开展下去的。4.4. 数值计算前期案例以下的例子谈谈征服的初版的前期数值计算是怎么界定和怎么开展的,之所以以初版为例是因为初版没有太多其他复杂的系统加入(比方说等级藐视系统、技能系统、XP系统等等)。征服界定四个职业,而经验曲线如同前面图例所示,为5级的阶梯式增长曲线,成长曲线为逐步成长型的曲线。数值计算最前期最关键的一步是定下每级升级所需的时长,以征服
13、而言,在前期定下了从1级练级到顶级大概需要消耗玩家720个小时,然后用这个时间算出一条自然成长的经验曲线征服采用的是最简单的方法,用等比数列求和公式求出公比,而后用公比和首项求出各级的自然成长的升级耗时。随后把每级的升级耗时转化为5级阶梯式的升级耗时,这样就完成了最初期的升级时间计算了。大概流程如下图所示:与此同时可以开始先算出一个职业的主属性数据和部分副属性数据了,在征服里面是先算勇士职业的数据的,根据职业设定的力:0的设定,以及初期界定的各职业初始属性点数和每级升级获得点数,可以得出勇士各等级的四项主属性的数据,而后通过初期感觉定下的属性校正参数可以得出勇士的血值、命中和敏捷。正如前文所说
14、,职业属性数据计算出来以后可以开始计算怪物的属性数据了,通过勇士数据的计算,可以计算出怪物的攻防,再利用勇士和怪物杀死对方所需要的时间可以分别计算出各自的其他数据,例如勇士的防御、怪物的血值。当怪物的基本属性基本计算完毕的时候,用这些数据重新校正勇士职业的数据,校正无误以后就可以用勇士的数据推导出其他职业的数据了。大概的流程如下图所示:接下来,通过各职业的属性数据和怪物的属性数据,通过战斗系统的设定共同计算出装备的属性数据。比方说通过怪物杀死角色的时间计算出角色需要具备的防御,通过这个防御值和角色本身的防御值计算出防具所带来的防御值。而另一方面,通过初定的玩家的回城时间、背包的大小和每级升级过
15、程中怪物对玩家的累积伤害计算出当级血瓶的补血量,而后通过初定的单位血的单价计算出每级血瓶的价格,通过初定的血价和装备价的比值求出每级装备的总价值,而后通过不同装备之间初定的价格比求出每级的不同装备的价格。在耐久相关计算上,通过角色杀死怪物所需时间、角色当级升级所需时间以及命中闪避等数据来计算出当级升级所需要的攻击次数和受击次数,从而计算出每次换武器防具前的这个求和数值,通过这两组数据推算出武器防具的耐久,而后通过相应的武器防具的价格算出其修理费用。通过每级所需的血瓶费用、更换装备所需费用和修理装备所需费用,可以推算出当级怪物所需掉落的总价值,从而推算出掉落几率、掉落种类和掉落价值量。由于该过程
16、相关太多,基本上涉及整个数值计算的网络了,因此这个过程的概括图这里就不示意出来了。最后,开始校正类数据的计算,计算技能相关的数据来调整战斗系统的平衡度,校正怪物掉落和耐久相关数据来调整经济系统。完成了大部分的数据的计算以后,同时也开始重新走一次流程或者用已有的计算出来的数据重新验证前面的数据,以达到二次校正的目的。当这些都基本完成以后,就可以把数据填写入数据库里面,进行外部测试来对数据进行再次验证和调整了。5. 卷末语以上的征服的数值计算流程只是一个简单的例子,其系统结构和数值的逻辑关系非常直白,而战斗系统的计算公式和其他辅助数据的推导公式也异常的简单,因此以上的流程只能算是一个入门的教程。数
17、值计算的技术和经验并不是短时间就能完全掌握并且熟练的事情,建议专门从事数值计算的人员先从简单的游戏的数值计算模型开始学起(比如征服初版),而后开始对一些经典且数值精良的游戏的数值模型进行研究和学习(比方说笔者前段时间在研究的Diablo数值和RO数值)。游戏数值策划入门17173人才 2010-06-05 公主坟新闻相册设计游戏各种核心公式之前,首先必须制定人物的各种数值项目。这部分范围很广,从各种属性到攻击力、命中率等等都属于人物数值部分。要整理这些乱七八糟的项目有许多方法,因公司而异(其实是因人而异)。我一般采用“关系树”的方式来整合。使用这一结构首先要找到树的根,也就是所有数值共同参考与
18、依据的项目。接下来,由树根衍生出几个重要的节点,再由这些节点衍生更多的枝节。首先说明:数值设定属于实践性很强的东西,没太多可以介绍的,而且不同人所用的方式可能大相径庭,加上我也是初级层次。故所说内容仅供参考!制定人物的各种数值项目 以MMORPG(最常见类型)为例,很显然以人物等级作为关系树的根是最适当不过的。因为在游戏里,等级的意义基本上代表一个人能力强弱的评判。由等级衍生出来的第二层节点,就是人物的基本属性,一般设定的基本属性包括力量、智力、敏捷、魅力、体质、运气等等。基本属性可多可少,在我设计的游戏中,只选择四种作为第二层节点,以避免分枝过于庞大。我所选择的四种基本属性分别是力量、体质、
19、敏捷、智力(是不是爆土?)前三项为肉体层面、后一种是精神层面。节点选出来之后,只要把剩下来的数值项目依照相应的属性相关挂在节点下面,然后简单的连连看,这株互相纠结的关系树就完成了。 这株关系树是所有核心公式的蓝图,这使得接下来的最复杂工作变得更为清楚。各种公式的拟定与试算 将人物各种数值定义清楚之后,接下来就是各种公式的计算了。公式的意义就是定义不同属性项目之间的关系,所以在设定公式之前,需先作一次各种成长曲线的函数整理,例如某种成长曲线是大器晚成型的,那就对应二次函数或三次函数的正区间有了这些整理过后的工具,接下来的工作就是把一条公式所需的各个函数加进来,比如攻击力的计算公式里包含了等级、力
20、量、武器攻击参数、附加值与随机数等。简单拟定公式的模式后,接着就是通过不断的试算来调整系数、使其平衡。 这部分是策划过程中的一个重点,可能要花若干礼拜面对十几条公式与十几万个试验数值,没亲身经验的人根本难以分析公式的意义,除此之外,与设计、跟踪程序一样,要把调整系数分离出来,以便往后调整平衡度时可以只针对一个系数函数作调整。 除非是D&D基础的系统,不然游戏公式很少会相同的,因为参数不同。设计游戏的公式,要从需求开始着手。考虑的状况越多,参数就越多,你的公式相对就复杂,也就更难平衡。 一般来说,存在竞争的网络游戏的“平衡”并非“平衡”的本来意义,只有相对的制衡,就像生物链一样,MMORPG也一
21、样,各职业间若没有足够的互补或者制衡,就只是个人英雄主义而已)。 简单的说,要设计一个攻击的公式,你会想到什么相关参数? 假设:力量*2+武器附加攻击力攻击力 就是说这种设计的攻击力是偏重在个人体能上的数值,上面的公式只是角色的攻击力,那么实际攻击呢? 这里还需要设计防御力的公式,假设跟攻击力一样: 基本防御力 + 装备附加防御力防御力总值 那么再假设战斗公式的设计是: (攻击力总值 - 敌方防御力总值)*5*(50150的随机数修正值)攻击点数 那战斗的状况除了100击中以外,还有哪些状况呢? 还有Miss 和Combo、敌人逃跑等等,这些也都要有参数可以运算或者随机数。 上面的公式只是随便
22、写的,但这已经有很多的参数了。其实把你对战斗所做的考虑因素设想好,先不管那些数值要增大或减小,至少所需的参数就都有了。公式设想好再去调整各参数的比重差异,公式里最好保留一些可以调整比例的地方,只要有范围可以调整,将来就不至于牵一发而动全身。JL_STAR设计升级曲线 公式完成后,可以再设想其它诸如装备、等级限制等问题,接着便是设计升级曲线了。想想你希望这游戏的进行时间及相应状态是怎样的? 玩家从1级开始大约每一级的攻击力可以提升多少?防御力又提升多少?以最佳情况去看(各等级最强状态),套进你的公式里,也就可以知道怎么设定敌人角色数值,获得经验值等,以此便可以设定出最佳状态下升级所需要的时间。M
23、MORPG可以依此计算出玩家升至X级必须花费的最低时间代价,至于防止Power LV(提升等级能力),则是游戏系统设计的问题了,例如能够增加各种能力的物品、法术之类的,这种东西的价格与代价会影响泛滥程度,不过也可以量化计算代价。 这就是所谓的纸上最优化,把公式和数值做成EXCEL表格方便调整,基本定型以后就要等到有Beta版本可以运行后才能测试调试,这时公式中的数值Range便可发挥作用,可以进行微调,而不必为了公式的改动去大幅度修改角色参数。 总之还是要看你希望游戏如何进行,按照你的需要去调整数值以达到目的。目的用大白话来说就像是:我打敌人同时敌人打我,多少等级内不会挂掉?我多少等级,适合打
24、什么样的敌人?而以我设定的最佳情况下(最佳升级路线),打这一等级的怪要打多少只、花多少时间可以升级?确立你的目的,才能反推出该怎么设计。 拿战棋游戏来说,游戏是一局一局进行的,如果敌人角色数量固定而且没有可反复练功的关卡,那么除了调节战斗公式以外,经验值总数也要计算好,当然,还是可以安排最佳路线。有几个地方可以动手脚: 1.给我方角色一定份额的补给品(像是补HP、补MP之类的) 2.在地图上放些补血宝物 3.增减敌人的数量 4.地图的天然屏障 5.增减我消费型方肉盾角色数量 总之,尽量把要调整的地方设计成Range或者游戏的其它地方,这样才不需要老是和公式搏斗,改了公式又要改全部角色数值,那可
25、是会做恶梦的。另外,在设计难度时,可以比自己设想的稍难一些,因为玩家都是很变态的。 想做数值的,先把该类型游戏的数值研究透。做RPG,Diablo烂熟是有必要的。【讨论】数值策划到底需要什么技能才能入门?新手看见各大招牌数值的都是一头蒙,说实话,那上面的要求真的很高,我敢保证,拉出现在任职的一年经验的数值策划,有80%达不到那要求。我觉得数值策划的基本要求的就是,excel使用足够熟练(说实话,新手这个也很难达到,现在的新手都眼高手低,都觉得excel简单,但真正能做到熟练的也没几个),高中的函数曲线理解足够深刻,不需要太复杂的,简单的一次二次函数要足够熟练。逻辑思维够严密(对事情考虑要够全面)。最后说高数的问题,现在很多都要这个,其实,我觉得这是一种思想,当你数学知识越多,越深,那么你就能在数值策划的位子上走的越远。个人拙见,欢迎讨论搜 数值策划入门讲义(XX文库)看讲义
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1