分类
琐事 游戏设计

进化?系统?游戏?

今晚我在看耶鲁大学公开课的《进化、生态和行为原理》时,老师提到了,“自然选择”这一因素在很多学科中都有体现,这时我突然想到,这是因为自然选择也是遵从了系统反馈所导致的,可以从系统思考的角度进行分析。

老师提到了自然选择所要出现的四个因素:繁殖能力差异,性状差异,前两者的相关性,以及性状的遗传性。这四个因素的存在会使得生物由于自然选择而进化——某些性状会使得拥有该性状的生物有更多的后代,也就是说二者存在相关性,而这些性状能够遗传给后代,使这一性状得以保存。

如果从系统的角度来思考,繁殖能力是一种存量,性状也是一种存量,二者的相关性这是这两个存量的联系,遗传则是不同世代生物之间的联系,这两个存量与两个联系构成了自然选择这一反馈回路。这就是为什么自然选择这一元素在诸多学科中都有体现,因为与自然选择相类似的这种系统结构是普遍存在的。

而所有系统都有一个最基础的目标:延续自己的存在,这也是所有生物的基本目标之一。

未命名让我们用系统循环图来分析一下。首先性状和繁殖能力,作为两个存量表示在了图中。然后我们知道性状差异与繁殖能力差异有关系,也就是说性状的变化会导致繁殖能力的变化,老师在课中提到了科学研究表明身高的人拥有的后代更多,因而我们可以认为身高这一性状的提高,会导致繁殖能力这一存量增加,因而二者呈正相关关系,我们用上面那条写着S的射线来连接他们,以表现二者的关系。由于这是系统循环图,因而是会发生循环迭代的,而对于生物来说迭代就是再生产,我们知道占优势的性状会遗传给下一代,因而该性状在经过一次迭代后,在整个生物群体中所占的份额将会上升,或者该性状会得到进一步的加强,因而我们画一条下面的S射线。这样一来这个图就成了一个增强回路:某些性状的出现会使得该生物拥有比其他个体更多的后代,而更多的后代使得该性状更多或更强。

直到在这一性状受到其他条件限制之前,进化都一直不会停止,这是因为自然选择的进化,是一个正反馈回路,它会永无休止的自我强化。

然而在游戏中,玩家追求的是什么呢?在很多游戏中,玩家追求的是强大,比如在《魔兽世界》中,一个负责输出的玩家追求的是DPS。那么他需要提高自己的某些性状——比如力量、敏捷、暴击率,来提高DPS。而DPS提高后玩家能够击败某些BOSS,获得更好的装备,从而使自己的DPS更强。这也是一个简单的正反馈结构,与上面的进化回路一样。

然而,现实中的自然选择进化是极其缓慢的,一次迭代就是一代生物,性状的提升与繁殖能力的提升并不是100%相关的关系,遗传率也并不是100%,因而进化非常缓慢。但在网络游戏中,力量的提升与DPS的提升之间的关系是板上钉钉的事情,这就成了一个非常强的连接,而每次迭代也不过只有一天或者一周——看副本的CD是多久。这样一来,玩家进化的速度远远超过了游戏所能提供资料的速度,玩家不无聊还能怎样呢?

要知道人也是一种生物,所有生物都有改变性状,提高能力,获得优胜的本能——这是所有生物只要活着就要干的事情,正所谓人是用有限追求无限的生物,因而没人能够阻拦玩家获得一件更好装备的动机,没人能阻拦玩家再点一次按钮,看到“经验值+150”的欲望。玩每个游戏都是体验一次生物的进化,玩家从最低等的生物进化到完美生物的过程,一旦到达了完美,游戏也就变得无聊了。

然而,在现实世界中,完美真的能够达到吗?不能,限制因素太多了,对于一个物种来说,生存空间,资源,其他物种,气候,一切的一切都在影响着他们进化的上限。与现实的复杂性想比,MMORPG的线性成长过于乏味。

那么沙盒游戏是如何做的?比如,《模拟城市》存在一个完美的状态吗?或者说,玩家如何评价自己是否到了完美状态?《模拟城市》可不是能用DPS进行测量的游戏,这是PVE游戏长盛不衰的秘密。《我的世界》也是如此,游戏并没有一个完美的状态,因而其可玩性和深度可以说是无限的。

那么PVP游戏的完美是什么?是不败。而若一个PVP游戏某个玩家能做到不败,那就也变成了一个无聊的游戏,因而与人斗其乐无穷。

因而所有的游戏,都像两种东西,一种是电影,你会迎来不可避免的结局,到达高潮到达完美——掌握所有游戏技能,解锁所有游戏内容。另一种则是积木(沙盘PVE)或象棋(PVP),追求没有尽头。

我们回想即使是最古老的街机游戏,也都会有高分榜,街机游戏都像电影一样通过所有关卡后就到达了“完美”,但高分榜的存在却使得你可以和他人或自己进行比赛,这样就使得游戏有了重玩性——虽然在你重玩的时候游戏的可玩性没有任何增加。

就像是《吉他英雄》,即便两个玩家的完成率都达到了100%,所获得的分数也会有着不同。当你占据了全世界高分榜的榜首时,你就成了完美,成了不败,然而任何人都有可能随时把你踢下宝座,但这有着一个前提——那就是任何人都不知道,游戏的最高分到底能达到多少分。想想《水果忍者》或者《逃离神庙》,不是吗?

所以最重要的就是让玩家永远无法达到完美,或者永远不知道完美的状态是什么样子的。

人就是这样,追求无限(或者说极限),而一旦到达了无限,变成了独孤求败,又会觉得无聊。多么纠结的生物!正是达不到极限就痛苦,达到了极限就无聊,童话故事都是以“他们终于在甲子园获得了冠军”或“从此以后过着幸福快乐生活”为结局的,却没提达到极限后怎么样了。

好在人生只有短短数十年,若是永生不死而还无法拜托本能,就会变成以无限追求无限,就像是《这个男人来自地球》一样,那会是多可悲!正因为如此我们需要不断给自己设定新的目标,不是吗?而还有什么比能快速体验一次“从渣渣到上帝”的游戏更让人满足的呢?

这甚至能够解决人类的终极关怀问题,我头一次发现做游戏原来是如此伟大的事业。

分类
塔防 游戏设计

塔防与拉锯战

总的来说这是一篇随笔,想到哪写到哪,也算是为了下一款要设计的游戏理清思路。

一般的塔防中有两个存量,钱与生命值,玩家用钱来造塔,塔若击杀了怪物则会获得金钱,若没能击杀怪物则会损失生命值,若生命值降为0则游戏结束,用图来表示就是这样的:

未命名

我们会发现这游戏有一个问题:一旦没能击杀掉怪物,就会永久损失一部分生命值,并且永久损失一部分金钱收入,这会使得你有更少的钱造塔,因而更加难以防守。这是一个恶性循环,一旦漏怪,就很容易直接导致游戏结束。而从另一方面来考虑,这个游戏循环除了玩家死亡以外是没有其他退出方式的,因而一般游戏会为怪物设置上限,玩家通过了一定波次就算获胜了,因而塔防是一种生存游戏。

如果变成对战游戏,塔能移动,并且如果没被打死且移动到对方基地就使对方基地掉血,那么就变成了一个拉锯战。

未命名

然而我们保留了塔防中的那个增强反馈,即获胜方获得的经济优势更大,能够投入下一波的战斗中;而且传统拉锯战的问题是,在一波中双方对战获胜一方的单位在下一波对战时依然占优势,而且还能加上上一波剩余下来的单位共同推进,这样就变成了滚雪球。因而,双方依靠产兵建筑物无限出兵的设计是不可取的,依靠击杀对方来获得经济的设计也是不可取的,这两个都是增强反馈,会使得游戏进入富者愈富的怪圈,一开始占了优势的玩家就几乎赢定了。

那么我们怎么才能避免这一点?显然我们要改变出兵方式,出兵不应该是一劳永逸的(所有这种一劳永逸式的拉锯战都会配有核弹,因为优势方在经过几个回合的迭代后会积攒下大量的部队优势,核弹清屏是反击的唯一方法),钱也应该更公平,于是很多游戏都提供了按回合给钱的方式,或按照造兵来产钱而不是击败对方单位来产钱的方式,使得一方在一回合中的优势不会积累得过于迅速。过快则游戏依赖运气,过慢则游戏拖沓无聊。

然而拉锯战顾名思义,不是向这面拉,就是向那面拉,战线很少有平衡的时候,一般都是在向着某一面推进。如果玩家每次出兵造的都是在上一次出兵的基础上增添更多单位,那么玩家的战术变化会很慢,而且到后期玩家所制造的单位会是非常非常的多,会导致游戏帧数骤降。

那么如果我们每一次生产的单位都与上一回合不想干,这会如何?玩家的战术能够更有针对性,并且不会导致单位越滚越多。《收入战争》就是这么做的,而且做得很好,玩家依靠造兵来提高每回合的收入,玩家每回合都能把钱花在某一种单位上,使其大量产出,并且每回合能够产出的单位个数有上限,因而虽然玩家越往后钱越多,但手人口限制玩家只能造更贵的单位,而不是更多的地级单位。《收入战争》很好地解决了这两点。

那么《收入战争》有什么问题呢?

他的问题就是,玩家的战术变得太快了,往往一波猝不及防就直接基地被秒杀(这也与后期单位攻击力过高有关)。怎么解决这一点?有两种解决方法,1是让系统能够自动产兵,降低玩家的单位所占的比例,2是加长地图,使战线被推至基地的时间更长。

有两个地图采取了系统自动产兵的方法,来降低玩家单位所占比例,拖延战线的推进速度。一个是暴雪官方的《星宝迷阵》,一个是塔防与拉锯战的结合体《舰队塔防》。这两个游戏都达到了很棒的效果,并且还都有一个共同点:双方的基地都拥有防御设施,《星宝迷阵》是系统玩家所设置的炮塔,《舰队塔防》则是玩家自己建造的塔,也就是说在《舰队塔防》中,玩家不但要像塔防一样防守,还要像拉锯战一样进攻,这两点达到了很好地结合,并且塔防和拉锯战也都是热门地图类型,因而他成功了。

在解决“富者愈富”的问题上,我考虑了一些新的设计,也许也能使得拉锯战更加有趣:

  1. 让单位对基地造成伤害是一次性的。比如基地会反弹伤害,这样一方的单位就不会一旦到达了基地在没有敌人的情况下无限输出早晚打爆基地,单位变成了消耗性的,成功损伤对方基地后自己的单位就会消亡,使得在基地血量上占优势的玩家无法再在战斗部队上继续优势——这其实是最传统的塔防设计,漏怪了基地就掉血,不同的怪漏的血不同。直接像塔防一样单位进入一个区域后消失,使对方基地损血也可以。为基地添加一个周围敌方单位每秒按百分比掉血的光环也可以。总之不能让优势方的单位一旦进入敌对区域就没有任何代价的攻击基地,尤其是随着游戏进程单位越来越强大的游戏,最后基地往往会被秒杀。《英雄联盟》和《DOTA》也存在类似现象,比如强拆塔,偷基地,会导致后期游戏突然死亡,但这加大了观赏性,也使得游戏能够更快结束。
  2. 每回合结算分数。玩家采取每回合决斗的方式,获胜方获得点数,点数到达一定数量就获胜。这样其实也是使得玩家在之前回合获得的优势无法滚动计入下一回合。很多对战游戏都有类似的设计,如《魔兽世界》的奥山战场,或《SD敢达》的组队战斗。这还引入了回合的概念,有些游戏则由于单位一直在不停的刷,因而没有明显的回合概念,有些拉锯战游戏由于战场拉得太长(如Nexus Squadron Strike),虽然双方单位是同时一波刷出但在最前端交锋的单位已经走出去太远太远了,玩家早已忘记那是哪个回合产出的单位了。没有回合概念的拉锯战游戏,《星宝迷阵》是一个很出色的范例,而有回合概念的游戏《舰队塔防》是非常成功的。回合制的拉锯战中,《沙漠风暴》也是一个很好的例子,但该游戏由于经济收入手段较为蛋疼,水平相同的玩家对战游戏往往会陷入僵局,并且该游戏单位是滚雪球式的一波比一波多,最后设计者不得不用终极大决战的方式迫使游戏结束。这并不是好设计。
  3. 强化主场优势。比如刚刚产出的单位会附加一个持续时间短暂的高速移动BUFF。因为目前的拉锯战胜方会在迭代中积累优势,很容易把兵线推到劣势方门口,而拉锯战由于产兵速度固定,劣势方难以翻盘——或者说没有主场优势,因此如果刚刚产出的单位能够获得一个疾跑BUFF,就能够快速支援前线,尤其是前线离己方基地很近的情况下,从而获得主场优势。而优势方由于远离兵线,这一疾跑BUFF对其的帮助则很小。然而若是兵线已经推到了刷兵点、基地上,则疾跑BUFF没用了,因此该BUFF还可以附加其他效果,比如降低受到的伤害,或出生几秒内无敌。很多游戏都有出生几秒内无敌的设计,如格斗游戏,或很多MMORPG刚刚进入PVP地区读条的时候都会这样。总之只要能为劣势方提供主场优势的设计都可以。
  4. 向《星宝迷阵》学习,取消“进化”概念。很多拉锯战和塔防都是随着游戏进程的进行,玩家会造出越来越强大的单位(以及越来越多的单位)。这在塔防中无可厚非,在拉锯战中则不好说。《星宝迷阵》没有这么做,玩家从开始到结束能够召唤的单位和释放的魔法都是现成的。这样的设计配合固定的经济收入速率直接避免了经济滚雪球发生的可能性,玩家不用再体验像Nexus Squadron Strike一样花钱升赚钱率这种糟糕的设计了。也就是说,玩家的军队数量和经济收入水平自始至终都是固定的,这样玩家才会把更大的精力投入在究竟配置什么兵种上,而不是无脑的憋钱、暴兵、一波A死对手。但这也存在一个问题:《星宝迷阵》玩家的核心玩法很大一部分是放在消宝石上的,而没了这部分后,兵种不能升级的话玩家就会觉得过于乏味,因而需要有其他系统来填补上这一空缺。
  5. 加入系统刷兵。系统刷兵的好处前面已经说过了,降低玩家单位所占比例,延缓兵线推进速度,而且就算玩家产出的单位并不是很多,但只要比系统产的单位强力,就会产生一种《DOTA》或《LOL》式的英雄感觉,强化了战术控制,减少了单位数量,使得游戏更好玩。

《星宝迷阵》:

  • 收入:固定(可以粗略的认为玩家的水平可以转换成固定的收入速度。不同难度的电脑就是这么做的)
  • 盟军出兵:有
  • 防御建筑:有
  • 回合:无
  • 无限出兵:否(建造出的单位阵亡后就没有了)

《舰队塔防》:

  • 收入:递增(但由于两种资源有一种占主导,一种负责进攻一种负责防守,因而玩家不会像Nexus Squadron Strike一样,只要玩命憋钱就赢)
  • 盟军出兵:有(因为是塔防游戏,因而对方防御塔所防守的怪就是己方的盟军系统出兵)
  • 防御建筑:有(因为是塔防游戏,就是对方造的塔)
  • 回合:有
  • 无限出兵:否(防御塔是滚雪球式的越造越多,但系统刷怪也是越刷越强,而进攻的怪则是消耗性的死了就没了)

我们再来考虑一下《DOTA》或者《英雄联盟》。游戏胜利目标与拉锯战一样,也是摧毁对方基地。与上面的两个游戏一样,也有防御塔。与上面两个游戏一样,系统也自动刷怪。与上面两个游戏一样,系统也自动给钱(但收入很大部分依赖击杀系统刷的怪与击杀敌对英雄。击杀系统刷的怪与最上面说的塔防是一样的——杀怪赚钱,杀英雄赚钱则是英雄竞技场的额外规则,与FPS游戏杀人计分类似)。如果我们把《DOTA》或者《英雄联盟》的地图砍半,只留下一方的话,就变成了一个生存防守地图,怪物从三条路进攻,逐层摧毁你的防御塔,最后摧毁你的基地,因而你不但要保证自己存活,还要保护基地免受威胁——这听起来为什么很耳熟?因为这与红白机上的经典老游戏《坦克大战》是十分类似的。

VBattleCity0531-4

 

也就是说,一个单人或合作性的生存地图,一旦加入敌对方玩家,在游戏规则没发生改变的情况下,游戏类型也会从生存游戏变成竞技游戏。毫不奇怪,目前《星际争霸2》的热门Arcade游戏几乎都是对战的,合作的生存地图或RPG地图凤毛麟角,完全不像《魔兽争霸3》时候的自定义地图那么多了。

分类
赏析与学习 星际争霸 游戏设计

Nexus Squadron Strike,令人困惑的拉锯战

Nexus Squadron Strike是《星际争霸2》上的一张拉锯战地图,虽然作者更新很频繁,但存在着不少问题。

这个游戏的花钱方式太复杂,是十分让人困惑的。首先造建筑物可以定时刷兵,这个与大部分拉锯战一样,钱则是定时获得的,玩家可以用钱升级给钱率——这就是个糟糕的设计。玩家一开始能造三个种族的1本单位,玩家可以在游戏中随时花钱解锁2本3本单位——这也花钱。最后单位还占人口,玩家需要升级人口——不用说了这也花钱。最后每个单位能单独的升级攻击防御生命值攻速等等,这也花钱。于是这个游戏的钱的流通就像下图一样:

未命名

这样的做法,使得玩家同时面临了许多的抉择:你会想,我是提升经济好,还是提升部队好?而提升部队的话,你又面临着好几个抉择:我是应该造新的,还是应该给老的升级?而造新的你面临如下问题:首先地面的格子是有限制的,你不能无限造新单位;其次造新单位会占用人口,你必须升级人口上限;而且如果你要造高级的单位,还需要解锁科技限制。

那么是否无限升级攻防就可以了?好像基本就是这样,因为攻防是没有上限的,虽然越升越贵,但升级只对单个单位有效,你可以再造一个同样的单位,然后用较低价格升级该单位。

实际上,我认为人口限制和科技等级限制都是没有意义的。首先地面格子不是无限的,这就已经限制了造兵的个数。其次高等级兵种可以用需求低等级兵种科技来解锁(比如造了枪兵才能解锁光头),因而这两个限制都是很糟糕的设计,如果取消掉了这两个限制,玩家在造兵的时候就不会有那么多的顾虑,平衡造新单位还是升攻防就变得很简单。

用钱生钱提高了游戏的复杂性和深度,但这本身是一个增强回路,因而有些玩家难免采取只升钱不造兵的策略,并且作者很难保证这种策略不会成为最优解,更糟糕的是有可能双方玩家都这么做,这样一来游戏的节奏就会变得十分拖沓——而这也正是这游戏的问题所在。地图过长,单位移动过慢,提升赚钱率效果不明显,游戏经常玩上很久也没无法结束,因而这游戏在数值方面的问题也挺大的。

我们再来看一下在各个地区都大受欢迎的舰队塔防的经济模型:

未命名

(目前的版本中玩家漏怪会导致暂时降低农民速度,这样玩家就更需要平衡晶矿与瓦斯,而不是无脑堆1种资源)造塔和农民消耗晶矿,农民能够采集瓦斯,造兵消耗瓦斯。塔用于防守,怪用于进攻,因而我们可以发现在这个游戏中晶矿是用于防守的资源,瓦斯是用于进攻的资源,并且双方都有互相转化的方法——你的晶矿越多能造的农民越多,它能够采集更多瓦斯;而你的瓦斯更多,能造的兵越多,它能够提高你每回合获得的晶矿数。因此玩家在前期会选择是偏向于向晶矿发展还是向瓦斯发展,而Nexus Squadron Strike只要有足够的钱就能赢,并且数值和节奏把握的不好,因而会十分拖沓。虽然经济系统复杂得多了,但玩家需要做的决策并没有那么多,玩家只需要从造塔、造农民、造怪中选择一个就可以了,因而用很低的复杂性换来了很高的游戏深度。Nexus Squadron Strike由于只有一种资源而且所有活动都依赖这种资源,使得游戏变得十分乏味,多人合作也不是有机合作,而是无机合作了——归根结底还是谁的钱多谁赢,而出的是什么兵种根本就无所谓了。