数值碎碎念(一)——流水账般的碎碎念
本文同步发表在知乎、Gameres、Gad上,欢迎讨论。
知乎链接:https://zhuanlan.zhihu.com/p/37429657
Gameres链接:http://bbs.gameres.com/thread_808493_1_1.html
1、关于数值策划的必须能力
统筹力和执行力是必备的。
统筹力,就是大局观,统筹全局的能力,时刻知道自己应该关注什么。例如,用真随机还是伪随机?没有一定之规,通常来说战斗用真随机,防止类似“垫刀”的情况发生;经济系统相关的用伪随机,用户感受通常更好,然而也会有例外。其他例子,例如:BOSS掉落关注的是什么?全局期望。战斗中命中和暴击关注的是什么?发生概率。二者的区别在哪里?一个是全局感受,一个是个体感受。对于每天只能刷有限次数的Boss,调整BOSS掉落率,单独的正常玩家是很难感受到的;但是调整命中暴击率,一个玩家也许是感受得到的。但是,需要时刻谨记的是:数值会引导用户行为,虽然玩家也许没有意识到行为的发生原因,但其行为的结果一定会体现在游戏里,削弱某个boss掉落后,打这个boss的人就是会少,可能还伴随着不少玩家的流失,尽管玩家个体未必察觉得到,但是作为一个整体,玩家的行为是会被一些细微改动影响的。
其次执行力,就是自己要实实在在地去游戏里玩。比如6个门派,需要两两对掐至少100次;12000种怪物数值,那就至少要杀12000次,个别怪物要杀几百次;为什么不自己做一个工具或者直接让程序写个测试工具呢?测试工具要有,但是自己也要实实在在的玩。工具只能告诉你结果,但是其中的感受只有自己去玩了才知道。例如,暴击发生在第14s、75s、126s、183s、192s、236s、277s,这个感受是什么样的?你会不会期待暴击发生? 300s之内为了多一次暴击你愿意花多少钱?不同的人会有不同的答案,这个就是感受,工具不能告诉你,只有自己体验了才能知道。还要知道自己的感受大概处于人群中的一个什么位置;由于大部分统计可以归为正态曲线,那也就需要根据以往的经验,估计自己上大约在曲线上的哪一个点。
说白了,数值策划与其他岗位需要的基本素质在本质上是完全一样的:天马行空地想,脚踏实地地做,仅此而已。
我们都知道数值工作分为“设定”和“推导”两部分,“设定”这个工作其实并非数值本身的,而是需要跟主策划核对想要的效果后,把主策划想要的效果定量地去描述每一个系统的定位、感受,这个是比较考验经验的一个东西,往往在外行人看来技术含量比较低,以至于可能完全没有策划经验的人也想进来插一嘴(如果是外行领导就非常蛋疼了,但是这里我们不是为了吐槽,所以也不必多说,相信大家自有体会);我们主要讨论推导。
2、从战斗公式谈起
假设A为攻击,D为防御,单次伤害的基础战斗公式无非三种:
F(A)-f(D),f(A)/g(A,D),A*(1-f(D))
某些公式可能既能写成第二种形式也写成第三种形式;其余都是据此变化而来的,各自的好处已经有诸多讨论不再赘述了。绝大部分游戏的战斗在小数值范围内都可以近似为:
(c1*A-c2*D)*c3*c4/(1-c5)*(1+f)...........................................(1)
c1~c5为常数,f为随机浮动系数
看上去似乎有多余的常数,在数学上,上面的公式可以化简为:
(c1*A-D)*c2*f...................................................................(2)
更简洁,似乎也更容易理解,常数项也更少。然而这正是接下来要谈到的:数学与数值的区别。
毋庸置疑,二者在数学上的确是等价的,然而实际的区别是,公式(1)的每个常数项有且仅有一个实际意义。
公式(1)中,c1为全局攻击修正,c2为全局防御修正,c3为全局伤害修正,这三个数字的意义是:让玩家可见的数值看上去好看。c4是门派(或者叫职业)修正,c5是抗性,这个参数可能根据游戏的不同,可能是动态的,也可能是写死不变的,所以c4和c5是不可能忽略的。
那么回过头来看公式(1)中的c1 c2 c3,的确可以化简为(A+c1*D)*c2,但是单独调整对于数值工作来说显然更具有实际意义。因为,最终的结果并不仅仅是为了得到一条完美的曲线,如果只需求曲线的话,取两个点然后TCB插值是最简单而且效果最好的做法。
然而这里会涉及到一个悖论:在我刚接触数值工作的时候,忘记从何处看到这样的说法:公式中使用的常数越多,说明这个公式越不好,因为假设的东西太多了,而假设的东西越多误差也就越大。当时深以为然,不过随着了解的加深,再结合以前一些其他经历,我认为修改成这样比较妥当:公式中的所有常数,必须有基于设计目的或者基于用户感受的实际意义。
为什么不用TCB?因为张力矢量的方向、大小基本没有实际意义,所以在做成长曲线的时候,一般都只用多项式、双曲、指数、对数等方法。
备注:关于时机:公式(1)应该是在设计、规划时考虑的问题,此时考虑公式(2)是错误的;但是,在向程序提需求的时候,一定要说明:公式(1)可以化简为公式(2)的形式,首选公式(1),因为策划的规划与实现之间不需要进行换算,但是若实现难度大,或效率有问题,用公式(2)实现也可以接受。理论上两种计算方式都不会产生影响,但是:首先,对于底层机制并不像程序那样了解,也许用的机制跟我们想的不一样;其次,我们对于程序需求难度估计不准,很可能程序认为该需求的难度比我们评估得要难很多,在这种情况下,我们通常会认为,执行者的评估会比其他人的评估更准确一些。
3、什么是平衡?
做数值入行接触到的第一个概念,往往是“平衡”;那么什么是平衡呢?
这时我们脑海中的蹦出来的概念是:战士,法师,弓箭手,三个职业两两对打,最后同时死亡,这就是平衡了。
这个概念并没错,这种情况下确实是平衡的,事实上我们在实际制作游戏时,职业强度确实也是前期规划时的一个重要考量。
只是……这并不是我们的唯一考量。
“职业强度平衡”,是我们后期设计数值投放的一个基础,包括技能,包括装备,包括宠物等等,放出的数值都会依照这个设计按一定比例投放;但是这个只是战斗上的平衡,我们更需要注意的,是经济上的平衡。
什么是经济上的平衡呢?说来也简单,我们在游戏中的产出——养成这条经济线可能分为几个层级,按极简情况讨论分为高性价比和低性价比两种吧,对于所有玩家,必然是先追求高性价比的养成再追求低性价比的养成。那么,假设在玩家看来,某个游戏里高性价比的养成有两种方式,装备强化和宠物强化,理论上来讲,投入相同的时间精力和金钱在两个系统上,玩家获得的属性提升也应该是相同的;然而事实上,在某些游戏里,玩家的感觉与实际设计并不一致,比如宠物强化可能看上去性价比很高,但事实上是一个低性价比系统,因此就会有玩家误入歧途(当然这里是指意外情况,也有很多游戏是故意设计如此的,这里我们先不讨论),这时候我们就说,“宠物强化”这一条经济线是失衡了的。
为什么会失衡呢?一条经济线是由产出——资源——消耗三部分组成的,其中任意一个出问题都会造成失衡。如产出线:同样消耗的情况下,装备强化材料由一个5分钟的副本产出,宠物强化材料由一个半小时副本产出,或者10个5分钟的副本产出,这就显然是有问题的。当然实际设计中,大多数有经验的策划不会设计出这样的经济线,但这样的设计却是在不少游戏里出现的:某副本既按一定几率产出养成玩法A的材料,同时也按一定几率产出养成玩法B的材料,并且A与B出现的比例与期望的养成结果一致。但是实际游戏结果上却并非如此,持续玩这个副本的大多数玩家不是A养得高就是B养得高,更可怕的是很多玩家认为这个副本没有作用而放弃了。为什么会出现这个状况呢?因为随机这件事,除了期望之外,还有“方差”,因而试图用随机要素控制玩家的成长节奏是不合适的;
另外在上面的例子中,对于玩家来说,每个行为所对应的后果应该是相对确定的,也就是说,为了强化装备而来的玩家,一定能获得装备强化材料,只是数量上未必如愿而已(数量可以随机,但材料的大类是确定的,玩家可能想要40级材料但掉落了一堆30级是可接受的,但如果没掉材料反而掉了宝石,这个副本的定位就会让玩家产生混乱)。
因此在设计经济线的时候,我们通常会采取比较简单的做法:一个日常活动玩法(我们称产出玩法)主要对应一个资源,且该资源只会被一个系统消耗掉,这样我们在考虑经济系统的时候会简单很多。
当然,实际制作时也会预留一些产出给运营活动或放利类玩法使用,只不过那就不是设计最初需要考虑的事情了。
总之,大多数MMO而言,游戏中的单个经济线拿出来,往往是单线程的:产出——资源——消耗,这个很少会有交叉。