分类
IDEA 游戏设计

拉锯战的几种模型

自从接触《星际争霸》一来,我一直对其中拉锯战和塔防这两种玩法非常感兴趣。塔防已经成为了一种耳熟能详的游戏类型,而拉锯战所知道的人还那么多——虽然已经有了不少这种的游戏,但并不像塔防一样能一提就让人知道这种游戏的玩法。

拉锯战的玩法有以下几个特点:双方玩家对抗,花费资源向战场中投入兵力,然后士兵们会自动向前方移动,遭遇敌军就会自动展开战斗。由于这种特点,交战点一般会在某个特定的地点展开,双方不断投入兵力,交战线互相拉扯,就像拔河一样,所以被叫做拉锯战(Tug of war)。

以下是拉锯战几种常见的设计模型:

小兵的生产方式

一些拉锯战中玩家花钱购买的兵会直接在游戏中出现,而一些拉锯战中玩家购买的是自动产兵的建筑,只要建筑物还存在就会不断的自动产兵。第一种方式的模型较为简单,第二种方式则会导致随着游戏的进展,单位的数量不断增多,很容易影响到游戏的运行速度,所以第二种做法的拉锯战一般还有一种建筑物升级的机制,来降低单位的数量。

从经济角度来讲,第一种拉锯战玩家的投入容易估算,第二种则由于收益更长期而难以估算,所以平衡商业更难以调整。

从策略的角度来讲,第一种拉锯战对不对的策略组合转型更容易,而第二种则很难转型。

从玩家的操作强度来讲,第一种由于需要玩家不断地花钱造兵,而第二种只要造完之后就不用再管了,因此第一种的操作强度会高于第二种。这并不是一个坏事,因为第二种拉锯战往往玩家能够做的太少,很容易使得游戏节奏拖沓、玩家觉得无聊,因而在第二种拉锯战中往往还要给玩家别的事情可做,但第一种只要控制好节奏就不存在这个问题。

这两种方式实际上是可以结合的。

小兵的进攻方式

传统的拉锯战士兵一旦生产出来之后就会立刻前往前线,然而我们都知道,双方同样是5个士兵的话,5个士兵一起前进会很轻松地打败对方一个一个前往投入作战的5个小兵的。我们可以从兰彻斯特方程来对这个现象进行解释:

远距离交战的时候,任一方实力与本身数量成正比,即兰切斯特线性律。
在近距离交战的时候,任一方实力与本身数量的平方成正比,即兰切斯特平方律。
战斗力=参战单位总数×单位战斗效率

假设每个小兵的攻击力是1,生命值是5,那么一个一个前往作战的这一方5个小兵都死光后,对方才会死掉1个小兵。

如此一来实际上技能熟练的玩家会想办法尽量去积攒大批的部队同时展开对对方的进攻,在没有其他条件影响的情况下,这是获得优势的唯一方法。一旦玩家的单位形成了集团军,对方虽然总产能可能很强,但由于无法结集成规模,很容易陷入无法反败为胜的境地中,这样的游戏正反馈过强,是应该避免的。玩家应该任何时候都有反败为胜的可能性,而不是因为一个前期的失误再也无法挽回颓势。

远程单位和近战单位

兰彻斯特战斗方程还向我们揭示了一点,就是远程单位变多的时候战斗力要比近战单位增加的快得多,因为远程单位的战斗力与数量的平方成正比,而近战的只与数量呈正比。因此在做得不够好的拉锯战游戏或RTS游戏中,聪明的玩家会很快地掌握到造出一大团远程单位就会获得无敌兵团这一真理,《帝国时代》一代就是这种游戏,二代三代之后通过兵种克制的剪刀石头布机制解决了这一问题,但解决得不够巧妙。

想要避免这种无聊情况的出现,就要对远程单位和近战单位进行改良。《战锤40000》在这方面做得十分出色,他的很多机制都是可以借鉴的,如远程单位的命中率惩罚,近战单位的强力的秒杀敌方单位的能力,近战单位强大的突进技能和控制技能等等,一旦近战单位突进到远程单位人中就会展开无情的屠杀,因此玩家不能傻憋远程军队——但他对玩家的即时下达指令能力有着很高的要求,想要适合于自动战斗的拉锯战需要进行改良。《星际争霸2》则是通过提供给玩家大量的范围伤害能力来解决对方纠集成团的军队的,但他们做的不够好,《星际争霸2》中的近战单位的实力非常差,已经沦为了远程单位的天下,这是因为近战单位缺乏有效的突进能力(神族叉子的冲锋+母舰的减速使情况稍微有些好转),远程单位的命中率是100%,而且很多远程单位都拥有强大的范围攻击能力。

正反馈

做的不好的拉锯战很容易正反馈过强或过弱,过强会使得弱势方无法翻盘剩余的游戏时间变成垃圾时间,过弱则会使得双方在很长的时间内都无法决出胜负。《COC》就有这个问题,由于双方的总兵力是固定的,投入战斗后会不断消耗,最后就会产生双方都只剩下一小撮残兵败将游戏半天也没法结束的情况,因此《COC》为每场战斗强制设定了一个3分钟的最大时间,超时就会结束。

这有点像象棋,在游戏开始的时候双方的棋子都是最多的,不断厮杀后有可能陷入残局。

有些拉锯战的做法是每回合双方的军队对冲,战斗结束后剩余方的单位越多对对手造成的伤害越大,这是一种很好地解决反馈问题的方法,但游戏也变成了回合制的。

《剑与勇士》和其他一些拉锯战为玩家引入了直接影响战场的能力——魔法,会对兵线的位置产生重大的影响,但也引入了一种新的资源,需要玩家去掌握。

游戏的节奏对了,基本就做完一半了!

非对称

传统拉锯战都是对称的,也就是双方在战斗过程中拥有的能力是一模一样的,而《COC》变成热门游戏之后,证明了不对称的游戏也是会受到相当程度的欢迎的,这对拉锯战类型的游戏来说也是一个很大的机会。

分类
塔防 游戏设计

塔防与拉锯战

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

一般的塔防中有两个存量,钱与生命值,玩家用钱来造塔,塔若击杀了怪物则会获得金钱,若没能击杀怪物则会损失生命值,若生命值降为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由于只有一种资源而且所有活动都依赖这种资源,使得游戏变得十分乏味,多人合作也不是有机合作,而是无机合作了——归根结底还是谁的钱多谁赢,而出的是什么兵种根本就无所谓了。