本帖最后由 smallcorpse 于 2013-11-21 15:40 编辑
=====在知乎上看到前辈作答游戏系统策划要如何在工作中学习更多的数值策划知识?=====
其中涉及到公式设计的普世原则,我觉得比我写得好太多,而且相当实用。
以下是公式设计的普适原则,同时这几点也是所有数值相关工作的普适原则。
1、简单
公式的简单主要体现在两个方面:一为公式结构的简单,清晰,便于玩家和别的设计者清楚的了解公式内每个变量的作用;二为公式使用函数的简单化,尽量使用四则运算,分段拟合,少使用高次方公式,避免浮点运算。 在具体的设计中,我们很多时候会发现,在使用某个高次函数/椭圆曲线等等可以较之低次函数更加逼近我们的目标,出于求全的心理我们很容易使用这些函数来构建公式,但是实际上,这是完全不必要的。因为,第一,更加逼近目标的成本是使得公式更加冗长和难以理解,这也将造成设计者本身的困扰,而实际上我们很多时候只是需要一个模糊的公式,具体的数值可以通过赋值来解决;第二,一般的,抓住几个数据点,并以此为基础建构的分段函数已经可以解决问题,并不需要高次的函数来一次解决整个曲线,这两种做法的效果一致,但是工时和维护难度却相差甚远。
2、 可拓展公式的可拓展性并不是强求所有的公式都必须无限的延伸,而是说,在整个游戏规划期间,这个公式能够满足所有的演算需要。一个不具备可拓展性的公式,实际上已经从设计上预言了该公式针对系统的寿命,若该寿命规划远小于游戏的预定寿命,那么,这个公式则是失败的。 比如最初的WOW,人物致命率的公式为: 人物致命率=F(敏捷)+装备附加+天赋附加+BUFF附加 这个公式是一个纯粹的叠加公式,它使得人物的致命率不受限制的增长,而实际上,致命率的最高值为100%,再增高是没有意义的,这也就导致了这个系统的寿命是有其上限的,在致命率到达设计的模型上限之后,设计者将不能再对人物的致命率有所增加,这个值也就无法造成玩家的追求点,从而伤害了装备系统的多样性,因此,在资料片中,致命率的公式更改为: 人物致命率=F(等级,致命力) 即装备目前只增强人物的致命力,致命力通过等级来换算成为致命率,以此造成致命率数值的随着等级而衰减,即一些低级的装备将被自然淘汰。但这样还是不够的,因为WOW不是一个升级困难的游戏,当到达最高等级70级时,致命力将不会再衰减,因此致命率还是将逐渐累加。因此暴雪又推出了新的数值“韧性”来解决这个问题,“韧性”将减少玩家被致命一击的几率,这样最终玩家被致命的几率公式即为: 被致命几率=攻击者致命率-F(防御者韧性) 这样,这个系统便得到了无限的拓展,致命率的上限即使超过100%,也是有意义的了。
3、 避免正反馈
正反馈的公式是指这样一种公式,它产生的值将反过来对公式本身的变量产生正的更大的影响。这样的公式体系下,一个微小的改动都可以造成数十倍的放大,而这个放大在当前也许增加了游戏性,但是随着游戏的拓展,可能极大的影响游戏系统的调整和寿命。
仍以WOW为例。在WOW里面,战士的伤害制造公式是一个典型的正反馈的公式,战士的普通伤害将造成怒气的获得,而怒气可以让战士使用更多的伤害技能。这样的公式使得同样的武器对于战士的伤害制造能力的提升是其余职业的几何级数。而这样显然是难以平衡的,因为这两条伤害曲线一条是线性的,一条是非线性的,我们只能让他们在某个点相交而非某一段比较吻合。而一般的,也是WOW设计人员所做的,他们选择了让曲线在末端相交,这也就是WOW中低端战士积弱的根本原因。 但是由于战士的怒气系统是无法更改的,因此,要使现在的现象得到改观,我们看到暴雪开始调整战士的怒气获得公式,而且随着游戏的不断延展,我们还将看到他们就这样一直更改下去。除非他们将每个等级的每个伤害值分段演算曲线并得出公式,否则这是无可避免的。
4、 易于修改没有公式是能被保证不会出错的,我们要做的是在它出错之后尽快的调整它。在这个目的下,简单的公式体系无疑给我们的修改减少了很多麻烦,而在公式内部预留一些调节的参数,有些时候也很重要。 譬如,我们设计一个装备修理公式为每次挨打降低耐久度1点。但是在实际应用中,一些战士类职业由于靠近怪物,因此挨打几率增加,修理费较贵,而这是于系统的设计初衷不相符合的。但是,若没有挨打也降低装备的耐久,这是不符合玩家认知的,这就造成了一个矛盾。那么,若我们在设计的时候预留了一个叫“硬度”的参数以调节装备的磨损速度,则这个问题就迎刃而解了。 又如,我们在设计中,某两个职业所穿的装备是一致的,但是在实际演算中发现,职业A的伤害输出能力较高,因此需要职业B的防御较高以产生平衡,则我们只能通过技能/职业特殊装备的修正来调整这点。但是若在设计中预留了一个职业本身的防御成长值,则这个问题也不将造成调整的困扰。 不过在公式内预留参数也有一个度的把握的问题,即盲目的预留一些并不需要的参数,将使得公式冗长而缺乏效率。具体的实施还是要在具体设计上自行把握。
========以下是泛泛而谈的原文=======
本来想以一个实际的例子作为文章开头,但是由于实例过于理想化,仅为一个理论模型,也就不在此班门弄斧了。
在游戏逻辑设计中,也就是通常所说的游戏策划案。对于游戏内容的搭建大家有着非常非常非常非常非常充分的看法,看法多如牛毛。但是,其弊病也是相当明显的。
我们先放着刚才的论点,举出一个“策划们”比较头疼的概念。在程序逻辑设计中,无论是游戏程序还是其他应用程序还是大型程序系统。首先搭建的是程序的结构框架。这个结构框架将整个程序的结构——逻辑对象与其之间的关系,流程结构,数据流等均作出了明确的规划。这样,一个游戏程序才会健壮。
同样的,游戏逻辑设计中,框架必不可少,通过对游戏需求的了解搭建了框架,你就可以很明确的寻找到各式各样相匹配的游戏内容填补进去。这时候,你所选择的游戏内容和拍脑袋拼凑起来的游戏内容有着天差地别。
那么,如何建立游戏逻辑设计的框架?
这一点我无法以偏概全,免得有人说我教坏小孩子,各位看官就不要扇我脸了。
但是我能告诉你,简单与统一,便是建立健壮游戏逻辑的原则。
简单,指的是在建立游戏逻辑时遵循简单原则,物理学都要搞大统一场理论去整合三个力场公式,游戏也是一样。大道至简,E=mc^2。一个公式要是嵌套太多,太多层级,一点都不简单美观,这就是一个失败的公式。
说了这么多,也该举例说明了(偷笑,你们是不是很期待这一刻),《暗黑破坏神》系列大家一定不陌生,大家还记得暗黑破坏神的一些掉落规则、物品前缀后缀生成规则么?暴雪用一个简单的规则作为框架搭建了庞大的掉体系;同样的,也搭建了一个庞大的物品体系。
一个模块,仅运用一个简单规则。不仅游戏逻辑清晰健壮,程序大爷也不会接到策划案后闷闷的说一声这些小屁孩又开始瞎掰掰了,更重要的是,无论你这个模块多庞大,都有一个简单的规则进行指导,不会出轨。
而统一,则是在简单规则的基础上坚信此规则,不要一个模块根据某一规则设计到一半,突然觉得这一点好像有点不符合常理然后就噼里啪啦打上一块补丁:如果怎么样,就不遵循这个简单规则而去遵循另一个规则。
以上一点在几乎所有的游戏中都有涉及。物理学就经受过这样的洗礼,经典力学解释不了,换量子力学,量子力学解释不了,再换另一个,这些都是因为其简单规则概括的不够全面导致的。遇到这种情况,请尝试修正简单规则,而不是去打补丁。
到了最后,给自己打个小广告,接下来一篇会分享一个实例,对于MMORPG的成长线的规划原则,还会附图哦,请拭目以待。
感谢收看,我们再见。
|