文/五十万
本文写于两年前奶牛关上,初稿粗糙稚嫩,讹误频出。只是两年后的我在这个问题上也并没有什么更深的积累,因此也只稍事修订,微调一下结构,并引入一些新一点的例子,博大方一笑尔。以下是正文:
有朋友提到将战棋类SRPG改成即时制的可能性。我想,作为一个在这个机制上艰涩地探索过一段时间的开发者,应该还是小有一些经验可以谈的。不过本人对于SRPG和RTS的实现机制了解得比较有限,玩过的作品也不算多,所以还是当做抛砖引玉吧。(我一直觉得战棋类游戏应该叫SLG,然而随着国内的手游发展,SLG已经成为某类特定类型游戏的专名了,那么后面还是统一用SPRG来指代战棋类游戏)
粗浅地看,想要调和战棋类SRPG和RTS,可以从两个思路入手。
下面我们分别考察一下每一个思路。
1. 即时化的战棋类游戏——调和即时制与回合制在正式开始之间,我们还是先考察一下概念,即时制和回合制分别意味着什么?
一般意义上理解,即时制的游戏流程中,通常的玩家指令输入是和游戏演算同时进行的,而回合制游戏中,游戏流程中会主动留出一段时间专门给玩家用于下达指令。
更直接一点说,即时制指的是,游戏在时间轴上呈现绵延的连续性而没有被划分为显著的单位,因此在不同的时刻输入游戏指令,在结果上会有显著的差异。而回合制的情况是,游戏的时间轴会被划分为显著的单位,在同一个时间单位内,玩家在不同时刻输入指令,不会对游戏结果造成显著的差异。
需要澄清的是,这里的显著差异是难以定量地界定的。《暗黑破坏神》最初被设计成一款回合制游戏,只是在发行商要求即时制,因此开发团队将游戏改成每秒执行20个回合,变成了即时制。回合制网络游戏都会有一个特定的出手时间,比如炉石的45秒,魔力宝贝的30秒,这些都是无可厚非的回合制,但是《节奏地牢》将这个时间压缩到0.6秒,回合制与即时制的分野就显得很模糊了。这和秃头悖论一样,我们无法给出一个准确的数字说明要拔掉一个人多少头发才会使这个人变成秃头。但是我们见到秃头还是能够一眼识别出秃头,那么我相信不依赖严格的定义也会知道什么是回合制。
暗黑破坏神1
要把一款游戏做成回合制与否,取决于游戏的信息与决策密度。游戏中的每个时刻有多少东西需要玩家思考?希望玩家感到轻松还是压力?游戏希望玩家对自己的每一次决策抱有多大的期待?玩家在1秒钟之内,10秒钟之内或者2分钟之内对游戏的演算结果作出反应,会造成多大的不同?一款游戏的核心体验也由此决定。
不过本文并不打算围绕某种特定的体验做设计,而是单纯希望能够通过脑洞探究一下,一些实验性质的机制组合能够带来怎样的趣味。当然,即时制和回合制在本质上是相互排斥的,所以任何即时元素的添加都会对原来回合制下的体验造成破坏。这里我们只能寄望于探究的过程本身足够有趣了。那么我们就开始着手分解一个战棋类SRPG吧。
1.1.将经典回合制战棋游戏即时化
首先,我们从经典回合制游戏中简单提炼出来一些典型的特征。
回合制
我方回合 -> 友军回合 -> 敌方回合 -> 我方回合
基于格子的行动
这一类包括了大量的经典回合制游戏,譬如火焰纹章系列和机器人大战系列。粗浅地看,此处允许的即时制元素大概有以下两种。
1.1.1. 限定出手时间
对于所有回合制游戏而言,结构上最通用的即时机制就是出手时间。实际设计中,出手时间主要用在网络游戏里,让一个玩家的等待行为不至于太过分地影响其他玩家的体验,常见的如:
出手时间绝对符合即时制的定义,如果玩家不在规定时间内下达指令,那么游戏会认为玩家没有下达指令,此时一些游戏会让玩家轮空,一些游戏会将对应单位托管给AI,可以产生此时操作与彼时操作造成显著差异的情况。不过在继续讨论之前,这里可以先引入两个观察:
第一,严格来说,所有的游戏都有出手时间的限制,因为每个玩家的心中都有一个价值的标尺。假定存在一个更优解,并将它找出来的,需要花费时间,而且还要面临找不出更优解的风险,这样找出一个更优解在玩家这边也是有成本的。如果认为更优解带来的收益比不上思考更优接所花去的时间与风险成本,玩家就不会停下来花更多的时间来思考。简单概括为,玩家思考对策的收益/时间比呈梯度递减。
第二,常见的出手时间的设计是一个上下偏差极大的设计,时间内出手就是有效,时间内没有出手就是无效,没有中间值。如果我们在这里让时间能够更加平滑地影响游戏效率的话,说不定会让对时间的考虑成为更加有意义的行为,例如,花费的时间越多,造成的伤害就越低,获得的分数就越少,等等,这这样关于时间的考虑就会变成一些更加有意义的事情,同时也意味着它将花去玩家更多的精力。
对于许多强调深思熟虑的游戏,尤其是以单机玩法为主,并且需要调动较大量的部队的战棋类SRPG来说,游戏更玩家更加专注于策略本身,以及能够依据自己的尺度来把握自己深思熟虑到什么程度,而不是被计时系统左右了判断。因此往往不适合引入限定出手时间的玩法。尤其是,限定出手时间的玩法未必真的加快了游戏进程,很多时候玩家会倾向于用完所有的回合时间来思考。
1.1.2. 引入时机把控
前面提到,回合制的一个大前提是在某一个特定的回合,就只能有特定的单位可以行动。如果不破坏这个前提,将限定出手时间这个思路再向前走一步,可以把时间压缩得更多一些,例如到5秒、3秒甚至更短的时间内,就可以引入一些特殊的类似时机把控的玩法,当然这种玩法中会要求玩家做出更简单的决策与行动。一言一蔽,QTE。
简要举例:
QTE应用于行动方比应用于非行动方在机制上会更加方便。因为战棋类游戏有多个单位,每次选择其中的一个进行操作,当作为行动方时,玩家知道QTE效果指向的单位,而作为非行动方时,玩家可能会同时有多个单位都受到一个效果的影响,假如给玩家一个QTE,在受击的瞬间按下可以触发效果,抵消某一次攻击伤害的影响,那么在一个非行动回合中有三个单位受到伤害的时候,这个QTE的效果就显得有些模糊了。当然也不是没有Work Around的方法,比如让QTE针对一次特定的攻击行为,或者严格限定结算的顺序轮流触发QTE(好比《三国*》中一个玩家出了万箭齐发而其他的玩家轮流出闪),等等。当然这些已经是非常细枝末节的问题了,就不再深入了。
以上这两条是在完全不破坏回合制框架的情况下,硬生生套上去的即时制元素。由于这些仅仅是非常外围的元素,即便添加了也并不怎么让人觉得我们的SRPG变成了即时制游戏。不过这些元素非常外围并且通用性比较高,强X到任何机制里都是可行的。这里说的仅仅是理论上机制可行,具体体验还需要具体斟酌。下面讨论一下更自由的回合轮换机制。
1.2. 半回合制战棋游戏的即时化
前面说的经典回合制战棋游戏中,普遍存在以阵营为单位的大回合轮换。每一个阵营回合中,该阵营的每一个单位会拥有一个自己的回合。而在类型广泛的半回合制中,回合的轮换机制就自由很多,这里简要列举一些经典回合制的变体规则与相关的例子
经典回合制的变体A:强化个人/单位回合,严格以个人回合驱动阵营回合。
经典回合制的变体B:弱化个人/单位回合,以更自由方式来驱动阵营回合
半回合制:基于个人/单位回合的回合制,完全抛弃阵营回合
简单整理一下上述机制,可以得到,回合制的核心是回合轮换,通过调整回合轮换的机制演变出的不同回合制规则,可以带来不同的体验,那么我们便顺势考虑一下,是否有可能引入一些即时制的玩法,来影响回合制的回合轮换。不过,因为回合制的框架没有被破坏,所以其实能够引入即时玩法的空间大体上还是在前面提过的出手时间和QTE上。
1.2.1. 用出手时间影响回合轮换
试想一种把出手时间纳入到回合轮换机制中的设计,我可以设计这样一个机制:
然而,这里有一个核心问题,如果无法控制玩家的行动时间与获得收益的比例,游戏的平衡就很容易受到破坏。整理一下条件:
所以,如果出手时间影响了玩家下一回合的到来,玩家的所有思考都必须再多一重考虑,即自己的思考是不是在白费时间,这一重考虑会造成相当大的心理负担。
当然,实际设计中可以有各种方式令这种压力小一点。例如:
还有可以提供一些更加间接的补偿方式,例如:
1.2.2. 用QTE影响回合轮换
试想一种用QTE影响回合轮换的机制。
这个设定似乎有一些太出格了。我们试着再多带着一些SRPG的精神去看:
嗯,这样似乎操作性强一点。不过从本质上说,此处真正影响回合轮换的是眩晕效果,QTE只是引入的一个外挂的即时制小游戏而已,实际有效的回合轮换机制依然是前面说的CTB。
1.2.3. 关于ATB的额外讨论——主动激活回合
其实,在ATB与CTB将速度和时间引入游戏之后,我们确实得到了一种用于时间强相关的方式去控制回合轮换的可能性。这里可以稍加仔细地考察一下。
ATB规则中,常常是每个单位有一个随着时间运动的蓄力槽,当蓄力槽满了的时候,就开始该单位的回合。虽然盯着蓄力槽的增长似乎给人一种即时的错觉,但是其实这和我们定义的即时制没有什么关系。因为,一旦允许跳过这一段盯着蓄力槽增长的时间,最终得到的结果与纯静态计算出手顺序是完全一样的,游戏效果也并不因为你多等了一会儿而改变。有一款能够很好地说明这个机制的RM小游戏,叫做《Helen's Mysterious Castle》,整个游戏的核心战斗就是关于计算行动顺序。
不过,如果我们在这里引入一个与时间强相关的激活回合的操作,事情就会变得不一样一些,这里可以参考《幽城幻剑录》的机制。
《幽城幻剑录》
无论如何,《幽城幻剑录》的ATB系统是一个把即时制引入到回合轮换顺序中的有意义的尝试,玩家选择在不同的时刻激活角色的回合,确实会造成不一样的效果。我们可以在这一基础上再做一些强化一下这种随着时间获得行动力,用行动力决定出手顺序的机制。
这样可以初步搭建起来关于等待时间 -> 出手顺序 -> 游戏效率的链条,并且让随时间变化的出手顺序成为游戏的一个有意义的策略维度。个人觉得这套机制或许还挺值得一试的。
当然,这套机制是在不考虑棋盘式战场的情况下引入的。对于棋盘式战场而言,玩家未必在每一个时刻都能够完整准确把握战场上的局面。所以,要么做一些专门的视野设计,要么考虑考虑引入一些其他的功能,比如慢速甚至暂停模式(对于策略游戏来说,慢速与暂停几乎不与任何系统打架,因此是相当优秀的辅助模式)。如果担心这样还可能造成太大压力,实际上是可以把上述的时间流逝也改成自动结算的,考察一下这样的机制:
规则调整之后,我们发现,前面设计的那个关于调整出手顺序的玩法,依然能够成立,然而关于即时操作的部分几乎完全被省去了。由此可以看出,回合是否按照特定的顺序轮换,与玩家是否真的要花时间去等回合轮换,是两件不相*事情。只要回合轮换还保留着,回合制的结构就没有被破坏。
然而,即时主动地激活回合的操作确实能够制造一些此时与彼时的不同,同样的游戏在不同的Time Scale下玩,就会会带来不一样的体验,这正是关于即时制设计有趣的地方。
这个思路常会被用在一些希望轻微强化一下操作元素的回合制游戏里,这类设计我称之为场外技能。
如果套用到我们讨论的SRPG中,就好比在敌方回合中强制插入一个我方回合(也许此时只有特定单位可以行动)。这种设计本质上没有破坏回合制的结构,大体上也尊重了回合制的体验,然而确实能够创造一点点即时的参与感。
1.3. 部分脱离回合制的实验性机制
前面我们整理过回合制的两个核心要素:一个是回合轮换,场上单位轮流行动;一个是回合不共享,当一个单位行动时其他的单位不能行动。前面的讨论虽然能够看到一些有趣的成果,不过也相当明确地揭示了这样一条信息:如果不触及第二条的话,对回合制的即时化方案只能流于表面。那么下面我们简单尝试一下,允许一定程度的回合共享的情况,令单位可以在非自己的回合内作出一定的行动,看一看能够让游戏变得如何更加贴近即时制。
既然这里我们打算接过即时制的担子,那么也在这里对即时制做一些简单的讨论。前面提到即时制的核心特征是,玩家下达的指令发生在不同的现实时间内会造成游戏内的显著差异。这里我们需要谈及另外一个特征,即所谓的“连续性”。这要求即时制游戏比回合制更多地,或者说更详尽地定义一些东西,例如即时制下,我从位置A移动到位置B,对于每一个时刻我所处的位置和状态都需要定义,这样才能够知道在t时刻打在X位置的伤害要不要算到我头上;对于每一个时刻我所处的状态也都需要定义,这样才知道我的技能是在施法动作中被打断还是完整地释放出来了。当然,计算机实际上并不一定需要精确到我们直觉理解的每一时刻,只要精确到足够细小的时间单位(比如帧)就可以给玩家足够连续的体验,不过关于这个问题我们也可以放到后面再讨论。
在理解了即时制的连续性之后,我们便对将回合制改成即时制会遇到的麻烦就会有初步的预期。根据前面对经典回合制战棋游戏的定义,战棋游戏中的单位在游戏中做的基本行为就只有两种,移动和其他行动。当然,不排除也有结合了两种的指令,只是此处为了简化讨论我们还是从简单的二分法开始,我们试着分别将移动和其他行动从回合中拆出来。
1.3.1. 即时移动与回合制战斗
把这两个概念放在一起是不是很容易让人想到《百战天虫》?嗯,虽然百战天虫确实是即时移动,但是我们这里强调的不仅仅是我按了左它就往左走的即时移动,还要包括一定程度的回合共享,即我在移动的时候,别人也可以移动。百战天虫同时只能有一只虫子在移动,因此并不是我们想要找的东西。
但是,如果百战天虫都不算的话,这个机制下的游戏就显得非常诡异了,给人的感觉就像是在,嗯,用苍蝇拍打苍蝇?即时制的时候,玩家和苍蝇都可以自由移动,等到苍蝇在玩家的攻击范围内停留时,系统判定进入玩家的回合,玩家可以选择攻击或者放弃。当玩家使用苍蝇拍攻击,则判定有没有打中,打中了则苍蝇被击*,没有打中则苍蝇逃跑,玩家回合结束,游戏重新进入玩家和苍蝇可以自由移动的即时制阶段。是不是好像有点意思?
如果找到适宜的回合轮换机制与相应的包装,这一机制未尝不可一用。例如我们在这个模型下设计一个高科技的战车对战的游戏。
前面我们说过,即时制与回合制的区别在于下达指令的时间差会不会造成游戏结果上的差异。如果我们的游戏里采用回合制的战斗,意味着并不存在攻击动作,没有给玩家即时反应的机会令玩家防御/闪避/打断等等,那么即时制的引入就没有意义。在一个战车对抗的游戏模型中,如果所有的攻击动作几乎都是瞬时完成的,所有的弹道都是瞬时命中的,完全没有防御/闪避/打断的空间,那么这里到底是做成即时制还是回合制已经不会影响游戏结果,只是在视听表现上有所不同。回合制的战斗会主动地进入每一个单位的回合,给他们机会做动作播特效并让玩家慢慢地看明白究竟每一次伤害都是如何造成的。如果觉得仅仅这些不够“回合制”,我们也可以深化回合的概念,假如每一辆战车的回合包括填弹,瞄准,射击与辅助(允许潜行/架起/修理等)这样的回合阶段,也许可以大幅地将游戏往回合制这一头拽一拽。总得来说,玩家的精力是有限的,游戏的流程是固定的,即时与回合是打架的,此消彼长是不能避免的。
当然,上述的机制其实也可以包装成奇幻RPG的背景,冷兵器和魔法对抗。这样游戏的实际效果大概可以想象成,《龙腾世纪》为每一个单位的每一次攻击动作专门下达一次指令,并且有相应的特写画面。想要保证游戏的趣味性依然依赖于对于数值和战斗节奏的精细把控。(注:这一段讨论中没有顾及到将战棋类游戏的移动改成即时制之后,单位之间在棋盘的大格子上即时移动造成的问题,这个问题留到第2部分关于走格子的RTS时会集中讨论)
1.3.2. 即时战斗与回合制移动
初撰此文的时候,Wartile才放出PV,我当时觉得它应该是一个符合上述定义的游戏。不过至今这个游戏已经发售两年了,我都还没去一探究竟,所以我决定继续在我的臆想上构建这个游戏的玩法规则,请大家千万不要相信我:
这种机制下,Moba中各种躲技能的高端操作就变成了容易实现并且可以规划的。即时的战斗要求游戏明确地定义攻击/技能动作的前摇(出招硬直)、打击帧与后摇(收招硬直),以及弹道的飞行机制、命中机制,伤害判定的时间与范围。但是回合制的移动规则可以要求,在该单位的移动回合之内,所有与战斗相关的即时结算都会暂停,该单位不会受到任何伤害,直到移动到一个新的位置回合结束。重新回到即时制的时候,再继续处理这些之前举起刀还没有砍下去目标就离开了的问题,射在半空中的箭是要追向目标的新位置还是打在目标的旧位置之类的问题,移动之后要不要重置普通攻击时间之类的问题。
从玩家的体验来看,回合制的阶段游戏是暂停的。然而在游戏即时制的连续时间轴上看,一个回合内发生的事情是瞬间完成的,这也符合我们对时间暂停的基本想象。如果我们仅仅考察游戏在即时制的时间轴上内发生了什么,那么这个游戏就像是,一个是所有的单位都没有移动能力,而是只会闪现的Moba游戏,个中趣味大家可以自行体会。初步感觉跟前面的机制具有一些相似的特点,第一是,想要做得好玩,操作性与策略性并重,就非常依赖于对战斗节奏的精细把控,第二是,射程会在游戏中成为非常有意义的属性。
1.4. 同步回合制
前面几节讨论的规则都是从经典战棋SRPG的回合制基础上衍生出来的,我们总结的回合制特点如下:
然而事实上确实存在一些回合制游戏,并不严格依赖上面的规则,其中的典型就是踩雷遇怪的游戏,比如《魔力宝贝》、《梦幻西游》、早期的《仙剑奇侠传》等游戏。虽然这类游戏绝大多数不是战棋,不过既然作为讨论回合制的思想实验,我们无妨也顺带讨论一下。
先定义一下同步回合制。同步回合值指的是,单位/阵营之间可以共享回合,只是对回合的分割方式不太一致。同步回合制会将游戏分割为明确的策略阶段和演算阶段,两个阶段被所有的阵营/单位共享,一般在所有的玩家处理完策略阶段后,共同进入演算阶段,按照演算的规则来执行。
由此我们可以简单看到同步与异步回合制的区别:
从感觉上说,同步回合制的结算阶段不像是完全共享的,因为毕竟行动常常有先后次序。这里可以说见仁见智。我们前面的对回合的定义是,玩家操作指令的现实时间不影响操作的有效性,因此李逍遥砍了拜月教主一刀与玩家的操作没什么关系,可以不被视为一个“李逍遥的回合”。另外,一些游戏的回合制阶段可以有并不循规蹈矩的战斗画面,一些允许合击,一些允许所有不互相干扰的行动同时出手(虽然画面很乱),更进一步地,我们可以想象所有的战斗结算都在一瞬间完成而且不播放动画,没有大家轮流你打我一下我打你一下的视觉表现,“李逍遥的回合”就显得更加难以站得住脚。这里我倾向将整个战斗结算一起统一归入一个同步回合之中。
不过异步与同步回合终归是可以互相嵌套的,例如桌面游戏《全球惊悚》,每一个玩家自己的阶段是异步执行的,但是系统的神秘阶段对是每一个玩家共享的。许多异步回合制游戏也会留出专门供所有单位结算场地、Buff等效果的同步回合。
如果能够接受以上的概念,大家应该都能够感受到,同步回合制本身跟战棋类SRPG的相性很差,因为自古以来棋盘游戏都是异步游戏(这里主要是为了回避同步结算时,多个棋子都想要移动同一个位置这样的情况,关于这一点我们在后面的走格子的RTS里面也会讨论),而同步游戏基本上是不依赖棋盘网格的游戏,比如猜拳,比如狼人*投票,比如扑克亮底牌。不过这里提及同步游戏的主要原因,还是因为它和即时制的相性非常好,所以我们暂且离题一下,讨论一下从指令阶段和结算阶段入手尝试将同步回合制即时化。
1.4.1. 即时的指令输入与回合制的结算
恕我无能,根本无法想象这样的东西存在!Pass。
理性地思考一下是因为定义不符,我们对回合制的定义是,在一个时间范围内,指令输入的实际时间不影响游戏结算结果。说明我们对即时制和回合制定义基于输入而不是结算,指令输入是即时的,就已经完全不是回合制游戏了,无所谓回合制与即时制的结合。
1.4.2. 回合制的指令输入与即时制的结算
那么回合制的指令输入与即时制的战斗呢?这个类型就有比较多可以讨论的成分了。
首先,如果战斗结算变成即时的,这样更合适的叫法是战斗演算。玩家在指令阶段可以自由地排兵布阵,而在结算阶段按照演算即时获得结果。这种类型的游戏机制其实处处都存在,可以简单看一下
看到这里,我们大体可以意识到这个游戏模式的普遍性。所以,我们顺着足球教练思路,再试着引入一些规则,将游戏变得更加自由:
这样,指令阶段可以像回合制一样花费无限的时间去思考,而在演算阶段完全地变成了即时策略类游戏,所以擅长操作的玩家可以很流畅地一口气玩下来,而擅长帷幄的玩家又可以在每一个时刻精心地规划自己的策略,简直是兼具回合制与即时制游戏长处的理想机制!甚至动作游戏都可以这么做(想想那些超越人类极限的TAS,雾)!
当然,如果倒回去一步一步分析刚刚的改动给我们的同步回合制带来了怎样的影响,感到回合制的味道不够的话,可以再考虑引入一些限制,比如限制两次暂停的间隔、可以暂停的总次数、能够叫暂停的时机等。不过,这些也都是一些细节的参数定制了,无关大体,因为我们已经看到,这几步规则改动事实上创造了肥沃的土壤,不仅历史上名作辈出(如博德之门系列、全面战争系列),很多晚近的游戏也都在其上的到滋养(如They are Billions,Bad North)之类。玩家们或多或少都玩过,研发商大厂小厂或多或少也都试过水。只可惜,我们从“即时制的战棋游戏”这样令人兴奋的新奇字眼出发,最终止步于这样成熟的游戏类型,显得创意的火花全然熄灭,难免令人有点失落。
规则上回合与即时之间切换需要面临的主要问题都已经在1.3.中提到了,所以只要稍加注意,在没有特别不符合直觉的规则的情况下,这是一种经过长期与大量验证的保险可行的模式。当然,总会有不那么令人满意的地方,因为我们想要的是战棋类SRPG的即时化,没有划成格子的棋盘怎么行呢?如前面所说,走格子的即时移动的问题,我们在第二部分,走格子的RTS里面讨论。
1.5. 一些其他例子
1.5.1. 回合制 节奏游戏
这里打算讨论的游戏是《节奏地牢》。
有了前面的讨论基础,我们可以比较清晰地看出节奏地牢作为一个回合制游戏的本质。异步回合制游戏,依照我方回合 -> 敌方回合的经典次序进行轮换,并且用音乐的节拍作为出手时间的限制。较快的节奏以及对于单个角色的高频操作让人并不觉得自己在玩一个回合制游戏。如果使用Bard模式,玩家会发现我不动敌也不动,游戏的回合制框架就非常明显地体现出来。
当然这个游戏只是一个精彩的例子,对于我们如何即时化一款战棋SRPG没有什么参考价值,毕竟我们倾向于认为战棋游戏更侧重策略成分(不要想把一首4拍的舞曲拆成4个回合,前3拍玩家依次操作3个角色,第4拍敌人行动什么的,这种游戏简直惨无人道)。
还有一个场外信息,节奏地牢实际上并不是非常严格地按照音乐节拍限制玩家的出手时间的。设计者发现很多玩家虽然能够找到节奏但是不能保证输入的指令准确地在节奏上(比如每次操作都稳定地慢半拍),于是加入了一个漏拍机制,只要玩家两次输入的时间间隔与节奏相一致,就算玩家输入有效。
《节奏地牢》
2. 走格子的RTS——连续VS离散前面对于经典战棋类SRPG的定义包含以下两个基本特征,一个是回合制,另一个是棋盘式的地图。前面的讨论中,我们使用正向思维,直接把回合制的元素从战棋类SLG里刨除,得到了一些即时化的可能性,本篇将试图从一个逆向的思路出发,把棋盘式的地图套给传统RTS,看一下我们都会找到怎样的游戏。
首先还是做一些例行的预备讨论,本质上是主体无关的胡扯,为了节省时间可以直接跳转至2.1。
我们前面对于即时制的定义是,我在此时下达指令与在彼时下达指令会造成游戏结算结果的不同,那么如何定义此时与彼时呢?多数人会存在一种时间是连续的直觉,即任意两个时间刻之间都有一个新的时刻(此处的解释混淆了“连续”与“稠密”的概念,不过这种混用对于我们理解知觉范围内的物理时空不造成影响,所以不做进一步区分)。如果一段时间可以无限地细分为不同的时刻,就意味着计算机要记录无限多个时刻,这显然是不可能的。
出于实用的考虑,我们需要把时间划分为一些不连续的时间段,来制造“连续”的体验。而划分时间有一个非常方便的依据,就是帧率。计算机每秒钟需要多次刷新显示器上的像素点,绘制不同的帧,以给人连贯的动作感,绘制帧的频率就被称为帧率,帧率越高看起来就越连贯(话说写到这里的时候我在面前比划了自己的双手试图感受一下现实世界的帧率和动态模糊的成像技术,真是感人)。所以,不管计算机自己使用怎样的时钟机制,反正最后都是要一帧一帧地绘制到屏幕上,所以拿帧率作为切分时间的依据就是一个非常方便的选项。想像一下,稳定在30的帧率就意味着能够达到1/30秒的操作精度,对于许多游戏来说这已经十分足够了。电影与动画的标准帧率是每秒钟24帧,但是实际的动画制作中为了节省成本常常会做一些二拍一、三拍一甚至四拍一,这样对应的帧率等于就只有12、8、6帧,然而很多没有相应意识的人不见得总能够看出差别。
以上讨论旨在说明我们在游戏世界内的时间并不是直觉意义上“连续”的(伯格森VS普朗克?),而是有限个离散的时间断点组成的。回到即时制,我们所说的此时和彼时区别,就在于两个时刻分属于计算机能够识别的两个不同的时间断点,在两个时间断点间的操作就会被视为同样的操作。咦,操作的实际时间不影响游戏运算结果,这听起来不就是回合制么?所以说,对于计算机而言,回合制和即时制的区别只是在于“回合”与“回合”之间留给玩家多长的反应时间,长如传统战棋SRPG可以等到海枯石烂,短如一些MUG会精确到1/240秒,还有一些介于之间的比如MC里面1秒5Tick的红石能源,或者节奏地牢基于BPM的操作间隔。(你看,对于悍马2K来说,SC2不过是一个回合制游戏而已)
不仅是对于声音,对于图像也是一样的,计算机内计算三维空间有其相应的精度,显示器显示出来也有其相应的精度(像素),所以我们需要先承认,所有的RTS里面,单位移动其实都是走格子,只是格子的大小不同而已。
2.1. 网格坐标与世界坐标
虽然都是走格子,但是走大个子和走小格子的差别还是存在的。我们有理由假设一个游戏希望给玩家制造一种一贯的体验,实验性地强行结合两种体验的结果往往并不非常友好(所以我一开始也承认了我的这篇实验性机制探索并没有什么意义,只是个人的思维游戏而已)。既然前面我们能够有意义地区分回合制与即时制,也就可以有意义地区分一个走格子的游戏和一个不走格子的游戏。
所以一个希望玩家走格子的游戏,会把格子做得非常明显,拿来给玩家走;而一个不希望玩家走格子的游戏,则会尽量地把自己的世界中的格子做得细碎,视觉上也更隐晦,让玩家拥有在一个连续的世界中自由运动的感觉。基于这种区别,我们就可以区分出两种定义位置的方式,我把基于明显的格子来定义位置的方式称为网格坐标,不基于明显的格子来定义位置的方式称为世界坐标。我们后面对游戏的分类也是在基于这两种表示位置的方法之上的。
一些游戏为了方便玩家会将世界坐标转化成网格坐标呈现给玩家,比如魔兽世界中玩家实际上是自由移动的,但是官方的地图依然会给玩家一个2位数的网格坐标表示玩家处在当前地图的X轴和Z轴上的位置。综合来看,采用世界坐标的游戏都可以创建一套或者多套网格坐标规则,将世界坐标以网络坐标表示出来,就好比总能在一个实数系中找到一个向整数系的映射方法。
世界坐标和网格坐标也可以混合使用。一个游戏可以基于世界坐标搭建一个复杂的场景但是让单位在画好的网格上面动(三国志11,Xcom),可以用网格模块化场景但是单位的移动和碰撞依赖的还是世界坐标(MC,塞尔达)。我们接下来讨论的是游戏在定义单位的位置时使用的哪种方式。
2.2. 使用世界坐标的RTS游戏
绝大多数3D游戏都需要基于世界坐标来定义单位的位置的,其实主要是因为当今3D的图像引擎是这么做的(静态体素除外)。毕竟做3D的目的就在于拟真(对于有些项目来讲还包括省钱),用算法保证形体和透视的准确,这些都依赖于精细的世界坐标。即便游戏规则也许会嫁接一套网格坐标进来,也不能避免3D成像需要依赖世界坐标的事实。
成像绕不开世界坐标,所以游戏规则中涉及的碰撞体积,移动速度,攻击范围,全都可以通过世界坐标来体现。举个例子,《魔兽争霸3》的地图编辑器里对单位的定义其实非常细致,但是在常规地图里面我们玩到的是设计师基于对即时战略类游戏的理解设计的单位——他们更希望玩家模块化地理解战斗单位。因此,即便机制允许千差万别的移动速度,依然有大批量单位拥有一样的移动速度。随着RPG地图的兴起,玩家日渐熟悉这些开始没有被用在游戏中的参数,例如初始速度295还是330,射程从128到625,施法距离是600还是2000,都成为了影响游戏平衡性以及玩家选择的重要参数,刀塔2在地图坐标的规划中也继承了同样的世界坐标体系。
能够通过世界坐标体现出来的另一个典型因素是碰撞体积,这个因素在魔兽争霸3的许多自定义地图中被有意识地抛弃了,刀塔2为了寻路顺畅而且比较有意地削弱这种RTS技巧,似乎缩小了英雄的碰撞体积。而在官方的战略地图中意味就很明显,单位被有意识地划分为大型,中型和小型, 单位的碰撞体积对于建筑摆放,阵型控制和围*策略等等都有参考意义。
当然,如前所说,使用世界坐标来定义单位的位置,并不妨碍游戏使用网格坐标来搭建场景。如果进入魔兽争霸的地图编辑器就会明显地发现,游戏的场景是由网格坐标搭建的。玩家在建造阶段是把建筑造在地面上,建筑对地板的吸附,以及目标位置是否是有效的建造位置,这些都是依赖地面的网络来判定的。然而网格坐标仅仅类建造的时候会以UI的形式呈现,等建筑被造出来时就会生成相应的碰撞体积,所以最终决定紧挨着基地背侧造一个人口就会过不去中型单位的依然是基于世界坐标的碰撞体积。
(网格状的地面)
2.3. 使用网格坐标的RTS游戏
嗯,上面的例子不错(废话,War3唉!),不过以上并不是我们希望看到的效果。不要忘记我们还在讨论把一款RTS制作一个SRPG的问题,我们期望看到的是走格子的RTS!所以其实去2D游戏中寻找说不定会更有帮助。
2.3.1. 所有单位都使用网格坐标
如果把眼光放得远一点,就会遇到很多想要实现连续流畅的寻路,但是由于技术限制最终不得不把所有的单位用网格坐标标记起来的游戏。此时的经典范例依然是魔兽争霸,不过是2代。此时游戏中的所有单位的位置都是用网格坐标定义的了。所有可移动的单位体积为1×1,人口为2×2,金矿和功能建筑为3×3,基地4×4。你看,法师对亡灵巫师,圣骑对食人魔法师,近战远程单位都有,技能也有组合也有,都齐了,只要再去掉复选,这已经可以是即时制战棋游戏的一个很好的例子了。
2D RTS最辉煌的作品应该也许非《星际争霸》莫属了吧,但是星际争霸中最广为玩家诟病的就是它的卡寻路的问题——在极端情况下还可能出现两只龙骑相向而行,撞在一起,结果由于每一次修正路径的方向都刚好相冲,然后同步地一起摇摆而没有办法绕开对方。曾经听一个星际玩家这样说过,星际2的Hit&Run是为了走位和操作,而星际1的Hit&Run很大程度上是在避免单位因为卡寻路而发呆。所以,这里只能不无尴尬地说,星际1正好是想要在2d中实现流畅的世界坐标,但是不巧没有做好的那种,在对单位和碰撞的规划上,甚至还没有魔兽2来得干净(你其实走格子会利落很多)。当然,必须承认星际争霸面临着需要同时处理单位视觉、点击响应范围和碰撞判定范围的技术困难,想要在2D环境中让这三者完美协同是非常困难的。至少在我的游戏经历中,几乎没有能够很好地协同这三者的2D游戏。其实另外一个优秀的例子是红警95,它很好地协同了视觉单位和碰撞,一个大格子包含5个小格子,人占小格子,战车和建筑占大格子,单位就可以规整地堆叠在一起。但是此时选择单位的操作就不那么舒服,因为单选的判定框也都叠起来了。
实际上目前看来在2D下把世界坐标做得最稠密的2D RTS游戏是《部落冲突》和《皇室战争》,至少由于缩小了单位的物理阻挡而且控制了同屏单位的数量,互相妨碍的情况非常少出现。当然他们其实也可能使用了3D的引擎,细节我并不清楚。另外由于限制了同屏的单位数量而几乎完全感受不出的走格子游戏是《暗黑破坏神》,而且这也是一个不用选择单位的游戏。
(强迫症福音,龙骑还是能够整齐地站成一个方阵的,只是需要很多努力 _ )
(基地产农民的尝试,可以看出一开始的一圈农民可以非常整齐地拥护在基地周围,之后的农民就开始歪楼,而扰乱队形的就是那红圈圈起来的那两只。目测农民出产的机制是默认距离基地最近的位置,而农民构成的阻挡又刚好不能把基地围成一个规则的形状,在War3里暴雪就学得很聪明,小、中、大型单位的体积分别是16,32,48,建筑的碰撞尺寸也都是16的倍数,大家就可以快乐地整齐地排成一队了)
走格子的RTS本质上需要面临的最大问题就是移动的连续和格子的离散之间的矛盾,即当我走在两个格子之间时,我站在哪一格。一般而言即时战略游戏不允许有2个单位站在一个格子上。这样就没有办法有效地选中其中某一个单位。处于2个单位不能站在同一个格子上的基本原则,需要有机制限制已经站人的格子不可以再站人。魔兽2在一个单位行走到2个格子之间时,会允许出现1个单位同时占有2个格子的情况,此时这2个格子对于其他的单位都是不可用的。所以魔兽争霸2里面常常出现的情况是,2个单位排成队向一个方向走的时候,就会因为发现前面的格子被占了所以绕行的情况,实际操作中很恼人。这种问题想要回避也不难,取消游戏中的单位复选就可以了。一次只能控制一个单位,单位特性再突出一些,做成RPG的感觉不就很好嘛。
(其实刚在他俩是排成一行向左起步走的,但是后面的嫌前面的挡路就要向下绕一下,一会
玩Dota的朋友都应该知道S卡兵或者卡敌人身位这样的事情,这种简单有效的移动规则本质上来源于战棋游戏——当一个位置被别人占了时,在移动的单位就要试图绕开这个位置。魔兽2,包括星际1的情况都是介于完全走格子和完全自由碰撞的之间的过渡时期产物,在能够实现自由碰撞之后他们就立即被抛弃了,想想魔兽争霸3和星际争霸2对于各自的前作的优化便知,而且绕过障碍物的逻辑也依然被延续下来了。(《皇室战争》是我知道仅有的没有采用这种设计,因为这对于直接攻击建筑的单位非常不利,所以CR里一定程度上允许移动单位“挤开”站立单位,但是这个“挤开”的关系非常微妙,以我弃坑之前的观察并没有把握到)
2.3.2. 部分单位使用网格坐标
还有另外一些更特殊的即时战略游戏,他们只有部分单位使用了网格坐标,而另一部分单位使用的是自由移动的世界坐标。这个听起来很无厘头的机制其实是构成了一个非常流行的游戏类型,对的其实就是塔防。
看到这里的大家一定大呼上当,塔防跟我们说的即时策略改走格子没关系啊,因为没有单位在走啊!那所以,就把塔改成能走的就行了,简单。不过这里可以试着用另一种显得更“即时”的方式走。
前面RA95和魔兽2都对于连续移动的单位都有允许同时占两个格子的情况,而且很多时候需要预占前一格——当两个人几乎同时走向同一个目的地的时候,我们看到的最终结果是,一个单位在到达目的地前主动停下,让另一个单位得以走到该位置,就像让路一样。
这里说的另一种走格子的方式就是“挤”出一条路的方式,可以加入一个位置修正的机制,这样单位不需要每走到一个格子的时候看前面的格子需不需要我“让路”,而是无论如何自顾自地走,如果发现走进了不该走的格子就马上回来。这样就可以避免一个单位有时要同时占两个格子的情况,就可以避免让路。不过缺点是修正位置的动作会造成一定延迟,而且需要一些还不错的包装。毕竟玩家不想看到自己的单位没事要先往障碍上挤一下再退回来的情况。
另外,虽然游戏里确实有即时的移动,可是移动还是有一些意义不明的感觉,为什么不像棋子一样抓起来再放下去啊。嗯,好吧既然有了即时移动,那我们也可以再加一点料,给即时移动再增加一些操作感。比如说向特定方向前进2步的时候有冲锋效果,以特定方向迂回的时候有防御效果之类的。这样算没有太辜负我们的即时移动吧!
嗯,市面上有这样的游戏吗?应该还是没有的,我参与开发过一款,不过还没面世就胎死腹中了。所以,不如去玩刀塔自走棋吧?
结语到底为止我大体把我想到的情况都罗里罗嗦地铺陈出来了。如果有能称得上结论的东西,那就是,其实最理想的结合即时与战棋的模式我们大家都见过了,而且其实也已经相当成熟。剩下的虽然机制新奇,但是也可能多是鸡肋,也许已经有许多不为人知的先烈们勇敢地探索了这些领域,只是最后留下的不是丰碑而是无人知晓的荒冢。真正用于商业用途的话,这类机制的性价比会比较低,一方面需要能够完美解释该种机制的世界观,另一方面需要对于关卡与数值的精细把控,而这两者在我这种弱鸡策划面前都近乎玄学。
所以我说了这么多,到底有什么用,呃,除了能拐着玩安利自己的游戏之外,剩下主要是自娱吧,权当从一些简单概念出发来推演游戏机制的思想训练什么的。如果能够顺便娱乐大家的话,当然是最好啦。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved