您的位置:首页 > 其它

如何高效设计游戏——游戏平衡:RTS显性平衡与隐形平衡

2017-09-19 17:05 1371 查看

前言

    本文主要是针对即时战略游戏RTS的平衡设计的一些概念进行归类阐述。虽然题目是关于即时战略游戏RTS的,但是其中一些概念、思想也同样适合其它类型游戏:策略游戏STG、角色扮演类游戏RPG、战棋类游戏等。

    关于游戏平衡的文章会以三部分内容展开,前两篇《如何高效设计游戏——游戏平衡:RTS显性平衡与隐形平衡(上)》以及       《如何高效设计游戏——游戏平衡:RTS显性平衡与隐形平衡(下)》主要是介绍一些关于平衡设计的概念以及思想,属于内功修养,适合新手以及注重内在想要了解国外成熟模式的游戏设计者。最后一篇文章《如何高效设计游戏——策略游戏的平衡方法》则会着重介绍一些平衡策略游戏兵种的一些方法或者称之为技巧,给那些无从下手以及善于思考的游戏设计者一些参考。

    正如我之前博客预告中所提到的,游戏的平衡归类为两种:【显性平衡】与【隐形平衡】,这也让我想到了另外的两个词来形容:【具体】与【抽象】。在这片文章里我会更加详细的说明“什么是显性平衡”并会试着举一些例子。值得一提的是,本文所提到的一些概念不仅仅局限于策略游戏,适用于一般游戏的平衡设计。

   最后,还请各位尊重作者的劳动果实,切勿进行非法转载,改变原有转载格式、更换文章标题、变更作者等。如果喜欢请关注博客、微博支持。十分感谢!

显性平衡

    显性平衡既是一些表面上硬性的游戏机制设计。例如,利用显性平衡,我们可以设定某种单位无法攻击空中飞行单位。这种【显性平衡】设计相较于【抽象平衡】来说,更容易使玩家理解,降低学习成本。但完整的平衡也需要【抽象平衡】来维持。

    另一种角度来解释【显性平衡】与【隐性平衡】之间的区别是,【显性平衡】会给你一个明确的信息回馈,然而【隐形平衡】则不会那么直接体现出来。我们来假定一个游戏场景:【隐性的信息回馈】是指,当我们派一对步兵去攻击另一对步兵时,当把敌方步兵全部击杀时我方还能剩有一般数量的步兵。【明确的信息回馈】是指,当我们派一对步兵去攻击另一对弓箭手的时候,还没有近身时,全部步兵就已经被弓箭手放到了。

    PS:这里读者们可能没有完全理解。这里“明确回馈”与“隐性回馈”指的是占有优势或者劣势的程度。前者是占有绝对优势或者劣势,已经完全不用关心具体的细节了;后者则需要在优势或者劣势的程度上关注更多,例如结果的稳定性上、优势或者劣势的比例上、损失的程度上等。总结一句话就是,【显性平衡】是“静态的”“表面的”“硬性的”。【隐性平衡】是“动态的”“内部的”“细节的”“定量的”。

    一个游戏的设计应当尽可能的多关注于【显性平衡】设计,因为那是硬性的框架基础,一个好的框架支持可以靠内部细节做到优秀的产品。但是框架基础打的歪,再优秀的内部细节也无力回天。

兵种单位的【维度】

    这里【维度】指的
4000
是兵种的“存在的空间行动属性”不是指的量度。例如,一些陆地行走单位是属于一个存在维度(地面单位or维度),还有一些空中飞行单位则属于另一个存在维度(空中单位or维度)。值得注意的是单位的存在维度不等同于单位的攻击侦测维度。例如在某即时战略游戏中,有一种潜水艇单位,如果想要攻击它,必须先要去侦测这个单位,但是他们确确实实属于地面单位(能攻击地面单位的兵种都可以攻击这个潜水艇)。

    一个游戏到底有多少个维度,是要看游戏的设定本身,亦可以根据设计者的需要来随意改变。《最高指挥官》系列游戏的设定是有三个维度(地面、空中、水下),然而《魔兽争霸》系列则设定为2个维度。有些游戏例如《家园》、《黎明战争》等,设定为一个维度。

    维度设定对于【显性平衡】来说是一种很好的方法,它通常来说更容易被接受被理解。维度设定也会使得技能树的设计更加灵活,给予设计者更多的思路拓展。

    对于某些可以攻击多个维度,甚至不受维度限制的兵种来说,他们比其他兵种的价值更大。他们是“万能兵种”,并且通常会比单攻击维度的兵种训练花费更多。这些“万能兵种”有时候会被削弱防御力或者生命来进行游戏平衡设计。例如,在星际争霸中,神族的重骑兵对战虫族的小狗优势就很弱,考虑到重骑兵的造价是小狗的5倍之多。

攻击属性

    攻击属性是指例如“攻击速率”“攻击范围”“弹速”“伤害范围”之类的一些属性。这些可用【显性平衡】的方法来平衡战斗。

攻击速率

    攻击速率,或者射击速度是攻击属性中是属于一种比较容易表现平衡的类型。我们可以在两次攻击的间隙设定一个延时来控制速率,并且这个延时可以放置在一次攻击之后,或者一次攻击之前,亦或者前后动态随机安置。不过,如果你把这个延时安放在一次攻击之前对比之下会略微劣势于把这个延时安放在一次攻击之后。这是因为,一些特殊的情况如移除攻击范围或者反击将会使前者情况的攻击憋回去,并且放在攻击前面的延时也会留给敌人一个准备间隙。

    显然,延时的长度会决定于一个单位的攻击速度究竟有多块。假设我们只看每秒的伤害输出相同的情况,延时短(攻击速度快)的兵种可能会比延时长(攻击速度慢)的兵种弱。例如,假设两种兵种,每秒能够造成1000点伤害。其中一个兵种的攻击间隔为0.2秒,那么他能够1秒内攻击5次,每次造成200点伤害。而另一种兵种的攻击间隔为1秒,则这个兵种只需要在一秒内攻击一次就能够造成1000点伤害。一次全力的攻击可以使得地方单位毫无苟延的机会。然而,间隔时间短的攻击更擅长于对付比较弱的单位(因为每次攻击相比于高伤害攻击来说,不会造成额外的浪费),所以这种类型的单位会更泛用。

    PS:这里还想补充一点,在单位时间内伤害一定的情况下,高频率攻击对于低频率强力攻击的优势还更多的体现一点,如考虑到命中率的话,高频率会更加占优势,因为这会把这一秒的总伤害拆分成多次伤害,不至于MISS全部的伤害。

攻击范围

    攻击范围,由于玩家很直观的能够看得出一个兵种什么时候能够攻击什么时候不能攻击,所以无疑是另一种容易表现平衡的属性。攻击范围是一个性质非常强的平衡点,因为我们经常会发现攻击范围大的单位可以无伤地给对方造成巨大伤害。

弹速

    弹速,换个角度解释为“从发动攻击到受到攻击的延时”,也是一个可见的平衡量,只不过没有像“攻击速率”以及“攻击范围”那么明显而已,但显然的是,弹速快的攻击总比弹速慢的攻击好吧。值得注意的是弹速慢会造成一种“浪费”攻击机会的一种情况,就像当子弹还在空中“飘过”的时候,攻击目标早就撤离了攻击范围或者早就被灭掉了。

    PS:发生这种情况的前提是,游戏设计机制为“实时碰撞检测”

    对于某些实时碰撞检测的游戏来说,弹速对于游戏的影响还是很大的。虽然实时碰撞检测会使得游戏可玩性高一些,但是会受兵种移动速度以及微操作的影响,使得平衡工作更加困难。例如,《命令与征服 3》中的手榴弹兵投出的手榴弹缓慢且不会追踪,这就意味着只要你能很快意识到并且把你的兵移开就不会受到伤害。在星际争霸中的大部分攻击都是既定目标的,无论你如何闪躲都是徒劳的,或者这多多少少会让你感觉到缺少真实感。

命中

    命中是一个可以根据设计者想要的表现“可显”“可隐”的属性。在《帝国时代 II》中的弓箭手就是一个典型的“显性”例子,并且命中这一性质也被巧妙的设计在科技树中的一项科技中。通过提升这一科技“远程兵种攻击移动中的单位”来从“显性”模式中提升准确率。在《战争黎明》中,命中率这一概念则是通过“隐性”的方式来应用的。命中或者未命中是采用概率判断的形式。随机性固然是不错的想法,不过很难在表现上无法做出真实体验。更何况好多武器的攻击速度非常高,到后来命中率就会变成一个更多牵扯到伤害的一项属性,而并非游戏的战略趣味体验。

移动属性

    单位的移动属性同样也是一个符合“显性”标准的属性,并且可以用来直观的平衡对抗其他的兵种,最基本常用的手段就是修改兵种的移动速度了(一个效果很强的数值,慎调)。另外一些手段,你也可以设计是否允许这个兵种移动时可以攻击,是否需要转向目标方向才能攻击(其中还涉及到转向速度),是否可以越过障碍物(例如空中单位)等等。

    移动属性通常来说都会与视觉体验相联系的,所以你可能更加愿意修改兵种的移动属性,然后再用其他的属性来从全局角度来平衡这个兵种。但是几乎没有听说过某个游戏会放出修改兵种移动属性的补丁,大多的做法都是在造价上以及伤害上作调整。

隐性与反隐形

    这个标题从某种意义上可能会对读者造成一定程度的误导,因为这个技能在一些环境下可以说是无敌了,而并非平衡。这种类型的技能的厉害程度通常对玩家来说已是经显而易见了,因此如何反制才是一个大问题。换句话说,我们可能会经常遇到自己的兵被某种隐性单位一个一个的被杀死的这种情况而感到无计可施。

<
10705
span style="line-height:21px;font-family:'宋体';background-color:rgb(255,255,255);">    值得注意的是,这些技能的实用性,往往是基于有没有或者怎样一种程度设计反制应对这些技能的措施。如何设计这个技能,更多的是一个如何平衡科技树的问题,而非兵种平衡问题。

    至此本章内容毕。

    欢迎各位提出一些观点、想法、建议等

前言

    再次强调,本为以“修心”为主,并不是某种意义上的“干货”,这也正是作者想为国内游戏设计者传达的理念。在国外游戏设计者眼中并没有什么数值策划这一概念,他们更注重的是如何从逻辑的角度来时游戏更加丰富,更加【平衡】,而不是国内游戏设计者眼中,做几个公式、几个函数算来算去就能达到想要的效果了。注意,公式也好,函数也好永远都是死的,如果不注重逻辑上的设计,游戏里的一切都是死的,都是“拉表格”“填表格”做出来的,根本就达不到“动态”的效果。这种硬派作风就相当于编码中的“硬编码(hard
coding)”一样没有自己的灵魂,也无法应对游戏中的各种变化以及各种需求。

    其次需要强调的是,好多设计者习惯用什么“价值衡量”的办法来设计游戏平衡,所谓的“价值衡量”就是把游戏中涉及到的基本属性都通过某种方法映射成“权值”然后来做权值上的运算从而达到衡量这些属性的载体角色或者装备。我想说的是,这种属性的“价值衡量”方法非常不科学,甚至可以断言国家一级精算师恐怕也无法做好所谓的“价值衡量”,因为变量以及影响因素实在是太多了,根本无法准确地衡量各个阶段各个环境下的属性价值,除非在特定的环境限制特定的变量。

    在这一章节,将重点讲述什么是抽象的【隐性平衡】,以及“隐性平衡”是如何被运用到游戏中的。

何为【隐性平衡】

    之前也大概介绍过了,【隐性平衡】既是掀开哪华丽表面之后的,运作在内部的“齿轮”,对任何一个数值或者公式的修改都将影响一个单位兵种的战斗表现。例如,伤害值、生命值、防御值、命中率、护甲类型等等,皆为【隐性平衡】所控制的范畴。

    我们也可以假定一个1对1的战斗场景,在不考虑攻击速度的情况下,两个兵种互相“文斗”轮流做出一次攻击,在这种环境下,我们可以建立出纯净的环境足以安心建立隐性平衡。举个例子,一个步兵攻击一个骑兵造成的伤害可能不如一个枪兵对同样一个骑兵造成的伤害多。这本是基于“枪兵的攻击类型克制骑兵的护甲类型”这一【隐性平衡】而设定的。

伤害类型

    这部分是【隐性平衡】中最纯粹的形式。伤害类型的作用是用来抑制某单位兵种的能力并且与其他单位兵种相联系从而形成某种相生相克的效果。但是这会存在一个问题,就是玩家需要通过不断的游戏体验来加深这部分印象从而达到完全理解。一旦玩家熟悉了,玩家就会把这种规律当做常识来记住,这时我们就不易在这方面做修改了。例如,在《命令与征服3》中,所有的枪械单位总是克制“肉体”步兵单位的。

    在《星际争霸》中,设计者运用了一个相当简单的对应关系来设计攻击类型。其中有4种护甲类型以及3种伤害类型如下:

l  普通攻击对任何护甲类型的单位造成100%伤害

l  爆炸攻击对重型护甲单位造成100%伤害,中型护甲单位75%伤害,轻型护甲单位50%伤害

l  震荡攻击对重型护甲单位造成25%伤害,中型护甲单位50%伤害,轻型护甲单位100%伤害

l  神族的防护盾可以承担一切伤害类型

换句话来说,三种攻击类型,其中一种主要针对小型或者有机单位,另一种则主要针对重甲单位或者建筑类型,最后一种则是泛用性。这种系统设定是可以满足大多数游戏的设计需求的,除非是那种有很多复杂的即死型武器的存在的游戏,如狙击手等(通常来说对重型或者建筑单位基本无效)。然而我们需要时刻注意的是,【显性平衡】永远要比【隐形平衡】更优先考虑,因为前者在设计上更容易得多,这也是为何显示“该目标无法攻击”总是比显示“对敌方造成0.0001点伤害”要好得多的原因。

命中率

    命中率是可以向【显性平衡】的那个方向去设计的,例如上一章节中曾经提到的《帝国时代2》在这点上就做的非常出色。然而命中率也可以朝着【隐性平衡】的方向去设计,我们称之为“命中的概率”。

    通常来说这种概率类型是决定你的兵种攻击的时候究竟可以造成多少伤害的。我们完全没必要把这个设定做很高深很玄乎以至于变成玩家完全无法理解的“数学题”,我们只要确保它能简单的显示到底“命中”还是“未命中”就可以了。在《战争黎明》中,命中率设定有时候会让玩家很难去辨认是否击中,其原因为:①“未命中”信息有时候会漂浮穿过单位兵种后面,②击中信息也有可能出现被兵种遮挡的现象(这些都有可能是渲染BUG造成的),③有些兵种攻击速率是在是太快了,以至于到底是命中还是未命中,怎么也看不清楚。

    就这点问题上,《魔兽争霸3》做的优化就显而易见了。

HP生命点数

    HP的概念已经深刻植入玩家的脑海里了,以至于无论你是否是一名真正的游戏玩家,你都会明确的指导HP代表什么,HP有什么作用。就算是对于某些非正式玩家或者休闲游戏玩家而言,着实不知HP的概念,他们也会很快的理解上手。然而HP这个属性还是归结到【隐性平衡】的设计中,因为大部分玩家都不会关心我到底扣了多少血这个【数】,甚至有些玩家根本不会记得每个兵种到底有多少血。

利用回馈将【隐性平衡】转为【显性平衡】

    对于【隐性平衡】来说,最大的问题就是玩家不能很直白的明白有些东西是如何运作的,是好还是坏。不过这些都可以用过适当的体验调整对一些【隐性平衡】的事件进行一些补偿。例如,发生暴击了,显示数值变一个颜色、大小甚至添加一些音效,回复生命或者吸血的时候也适当的做出一些醒目特征的调整等。试着让拥有相同护甲类型的单位拥有相同的外部特征(穿着、护甲类型的图标等)。试着把该兵种的体积与血量大小进行一些匹配等手段。

    曾经一款独立游戏,Afermath(2008,Gamesfaction),就试着用不同的颜色来代表不同类型的护甲与不同类型的攻击(红色类型的护甲可以抵御红色类型的攻击等)。像这样简单的设计,就可以给游戏带来巨大的体验改善(一个细微的用户界面UI设计可能会给你的游戏带来巨大的改变,这个改变可能是良性的也有可能是恶性的)。所以当你运用了大量的【隐性平衡】设计时,你可以参考本条内容。

 

                                                                                                                                                                Einsphoton

                                                                                                                                                                 2013.01.04
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  游戏