三消游戏基本地形设计教程
发表于2016-07-13
三消游戏中的一个关卡,最直接的构成因素包括:
- 关卡的基本地形
- 关卡的目标
- 关卡中的特殊元素
- 关卡的限制条件(步数,时间等)
今天这篇文章,我们主要探讨的就是关卡的基本地形的设计理论,以及对应的数值评估方式。
在一个关卡式的三消游戏(以《糖果粉碎传奇》为代表),要做出几百个玩法,观感,节奏,体验有所差异的关卡,我们就必须要设计出不同的关卡地形。那么我们如何去评价一个关卡地形的好坏呢?如果我们要制造一些差异性的地形,该如何去设计,又如何去评价它的难度?
《糖果粉碎传奇》33关
玩过《糖果粉碎传奇》的人往往会对它的33关记忆深刻,看起来简单明了的关卡地形,并没有过多的人为障碍,却成为了《糖果粉碎传奇》前期难度最高的一关。这是如何做到的呢?
再来看下面的几个示例关卡:
一个“废关卡”示例
图片说明:蓝色代表有效区域,白色代表禁用,即一般关卡中被“挖去”的部分。
上图中的是一个典型的三消游戏废关卡示例。原因很简单,在这个图中,玩家没有任何可能达成一个三消消除。
我们对其稍做调整,形成如下的关卡地形:
关卡示例
现在有三消游戏引擎的同学不妨把它配置到你的游戏里测试一下,这是一个难度变态到相当无趣的关卡。
我们再给出一个相反例子的关卡:
关卡示例
如上的关卡看起来相当复杂,挖洞的数量非常多,但是各位也不妨去体验一下这个关卡。它的流畅程度会超乎你的想象。甚至于,在相同的目标情况下,这个关卡的完成难度会低于一个9*9的完整关卡(即没有任何地形缺失的关卡)。
这是为什么?到底是哪些元素在影响着关卡地形的难度?我们如何去评估,设计和控制它?
笔者将三消游戏基本地形复杂度的评价因素分为两个核心部分:
- 静态复杂度:即基本地形本身构成的复杂度,与游戏过程独立。
- 动态复杂度:即在玩家实际游戏过程中,因消除和下落行为的过程所形成的复杂度特征。
以下分别进行分析。
静态复杂度的核心因子:平均连通数。
我们使用平均连通数作为关卡基本地形复杂度(不包含特殊元素影响)的评价系数。
平均连通数:关卡中每个点可能形成的三连连通组数。参见下图:
每个格子的连通数示例
这里我们可以看到:
A3格唯一的三消连通方式为A3-B3-C3
B3格有两组:A3-B3-C3和B3-C3-D3
C3格为六组:A3-B3-C3;B3-C3-D3;C3-D3-E3;C1-C2-C3;C2-C3-C4;C3-C4-C5。事实上,一个格子的最大连通数即为6。
如果这是我们某一个关卡的地图,那么该关卡的所有格子总连通数为60,20个格子的平均连通数为60/20=3。
首先我们用平均连通数算法去评估一个基本的9*9关卡。
在没有障碍挖坑的前提下,基本关卡的平均连通度高达4.667。
我们再使用以上的平均连通数算法去评估一些示例关卡:
第一个废关卡的例子:平均连通度为0!
第二个关卡的例子:平均连通度为1.15。直接用文字去描述的话,这个关卡只有从下数的3~4行是有意义的。
这里我们来看一些《Farm Heroes Saga》的关卡例子。
《Farm Heroes Saga》的21关,中间2*2的障碍使得地形的平均连通数下降到3.857。
《Farm Heroes Saga》的39关,中间的两个1*2大大提高了关卡地形的难度,平均连通度3.13。
与上面构成鲜明对比的第49关,虽然中间挖了四个1*2的障碍,横向上只有四个单行的通路,但关卡的平均连通度却反而高达3.643。
《Farm Heroes Saga》的111关,2.52的平均连通度充分证明了它的地形难度。
我们再来分析一下《糖果粉碎传奇》的第33关:
它的平均连通数只有3,这在三消游戏的基本地形里,事实上属于难度相当高的一个数字。
大体上来讲,笔者将平均连通数分为高中低三个档次:
- 高:平均连通数>=3.6,这样的关卡玩起来一般比较流畅,Combo频繁。
- 中:平均连通数在3.2~3.6之间。这样的关卡虽然Combo数量不算太多,但是玩起来还不至于太过吃力。
- 低:平均连通数<3.2。这样的关卡中,玩家往往要花费一些功夫才能找到盘上为数不多的可操作的组合,因为没有可操作而重置局面也显得相对频繁。
当然,以上的定义是基于关卡的消除颜色数量相同而言。平均连通数较低的关卡往往会采用降低本关消除颜色数量的手法来调整整个关卡的难度,因此,平均连通度主要决定的是玩这个关卡时的过程体验,而不是关卡的整体难度。
接下来我们从设计理性层面来分析一下,什么样的关卡平均连通度高,什么样的关卡平均连通度低呢?
笔者的结论是,“二宽”往往是降低关卡平均连通度的“法宝”。
所谓“二宽”,即是指一条宽度为2的横向或纵向区域,它的特点是,区域内的绝大多数点只有单向消除的可能,而不具备双向消除的可能。
最直观的一个例子,请看下面的两个关卡对比:
相同的可操作区域和障碍区域数量,相同的构造方式,“三宽”的关卡比“二宽”的关卡平均连通度整整高了一个点!这也很容易解释,因为“三宽”关卡的每一个格都比“二宽”关卡的对应格多了一个横向的消除机会。
因此的,如果你们想要构造一些关卡较有难度,给玩家较大挑战的关卡,“二宽”往往会成为你最有力的设计武器。
等等,为什么是“二宽”而不是“一宽”呢?这个问题我们在这里作为一个伏笔,笔者会在后文中回答。
这里我们回归到文章开头的第三个示例关卡,平均连通度为2.419:
这个时候肯定会有人问:为什么这个关卡的平均连通度如此之低,但却是一个地形难度相当低的关卡?这就涉及到我们要讲的第二个部分:动态复杂度。
动态复杂度的核心因子:斜向掉落。
在三消游戏的基本下落规则,有一个看起来细节但非常重大的规则分歧:斜向下落处理,即当某个格子的上方为障碍格时,这个格子会从哪里获得消除元素?一般来讲有三种处理方式,如下图:
- 方案A:从障碍格向上递归,直到找到第一个非障碍格,也就是说消除元素从障碍背后直接向下掉落。
- 方案B:斜向掉落,即目标格从其左上或右上方获得。
- 方案C:将所有这种点的上方手动或自动的设置为消除元素生成点。
在当前市面上主流的关卡式三消游戏中,一般都使用方案B。这是为什么呢?斜向下落的优点是什么呢?我们再来看一个例子:
我们用A6的绿色和A7的蓝色进行交换。接下来发生的事情是: ABC三列的1~5行元素下落两行。在这个过程中,可能发生的二度消除(也就是一般意义上说的Combo连击)的机会在哪里呢?
由于当前局面是不会发生消除的,因此新的消除不会发生4~9列内部。在不考虑新生成元素的前提下,Combo消除只会发生在如下组合上:
A5,A8
B5,B8
C5,C8
C1,D3
C2,D4
C3,D5
C4,D6
C5,D7
一共八组。在这八组形成匹配的前提下,如果能够和其上下左右形成三连,则会发生Combo消除。
那么我们再来看一下如下的对比:
为了最大限度的简化问题,我们只加入了A5一个障碍点。当我们相同的用A6的绿色和A7的蓝色进行交换时,由于引入了斜向消除,A6和A7的元素将来自于B列,也就是说,A列上方不下落,B列上方每个元素下降四行,C列上方每个元素下降两行。即在前述8组的基础上,额外增加了ABC三列上方的组合结构变化,大大增加了Combo发生的可能性。(这里的具体计算相当复杂,就不在这里详列了,有兴趣的同学可以自己研究一下,实际的Combo发生概率大概相当于原对比组的两倍以上。)
对于一个关卡地形来讲,其难度主要取决于两个维度:
- 找到一个可行的消除交换的难度及选择数量
- 一次消除交换后发生的Combo消除的数量多少
斜向下落最大的价值就在于大大增加了Combo消除的机会,提高了单次消除行为的玩家体验,增加了产生惊喜(如《糖果粉碎传奇》的Delicious等评语)的机会。
现在我们回头去看一下前面的例子:
这个关卡设计的极为精巧,它的所有消除元素从上落到最下层的过程都需要至少3~4次的斜向下落,这意味着,每一次发生在下方的消除操作都几乎相当于使得其上的整个局面完全颠覆,而在这一颠覆过程中产生了极大数量的Combo可能。
这里,笔者暂时无法给出一个量化动态复杂度的完整算法。个人认为这也是关卡设计中最具魅力的环节之一。
我们来回答前面的一个悬念问题:为什么高难度关卡地形一般使用“二宽”而不是“一宽”?这是因为单纯的“一宽”所能提供的操作空间和变化空间过小,因此在设计“一宽”地形时,必须要比较频繁的进行打破,或增加额外的连通,而这些设定会在很大程度上加大斜向上的不确定性,从而降低难度。因此来讲,“一宽”的关卡在实际成型难度上往往反而不如“二宽”关卡。上面的最后一个例子就是纯“一宽”关卡难度反而低的一个很好的例子。
如何在关卡设计中灵活使用连通度和动态复杂度?
在实际的关卡设计中,连通度和动态复杂度的理念,除了用于关卡地形的基础搭建外,也会灵活的应用于关卡设计中的很多维度,为我们设计出耳目一新的特色关卡。这里笔者给出一些实际设计中的应用例子:
1、碰撞元素的安置
在各种消除元素中,大量存在着这样的一类元素:它们在其上下左右有元素发生消除时(即消除组与这种元素发生了“碰撞”),会发生响应并执行自身的逻辑。这样的元素包括:《糖果粉碎传奇》的巧克力和岩石,《碎碎曲奇》中的巧克力,《Farm Heroes Saga》中的花和水桶等。在设置这种元素的时候,我们可以基于连通度算法,有机的控制该碰撞元素的难度:
很直白的,我们能看出如上的ABCD四个示例中,碰撞元素分别为4,3,2,1方向连通,其碰撞难度依次上升。而在此之上的,我们可以通过控制碰撞元素隔壁元素的连通数,来进一步进行单个元素难度的细节控制。
如上的,碰撞元素隔壁格为纵向连通,其连通数为3。
碰撞元素隔壁格的连通数为2。
在这个极端的例子里,碰撞元素的隔壁格,及周边各个格的连通数均为1,这就极大的提高了玩家达成这一碰撞的难度。
自己感受一下吧…
2、“二宽”的应用
前面我们已经很详细的讲述了“二宽”在关卡地形难度上的价值。那么巧妙的利用二宽关卡,我们能够制作出相当有技巧的关卡或局部。
《Farm Heroes Saga》的62关是一个设计的很精彩的关卡,过关的目标在于多次碰撞中间的水球来收集蓝色的水滴。水球的位置被设定为单向碰撞,而它所有的地形区域均为“二宽”或“一宽”。这使得它成为了游戏中前期非常著名的一个难关。
《Farm Heroes Saga》的110关,纯二宽元素构筑成的关卡,虽然地图看起来比较完整,但是玩起来相当的有技巧。
前面已经提过的,曾经让笔者抓狂的《Farm Heroes Saga》111关。
《Farm Heroes Saga》似乎特别钟爱“二宽”地形。它的第120关时最简单的“二宽”关卡设计,仅仅四个障碍点却能够带来整个关卡相当高的难度。
3、单一关卡内的难度变化——动态地形
作为三消游戏关卡设计的一种常规设计思路,我们会把整个关卡的流程划分为若干个阶段——可以理解成类似《魔兽世界》Raid Boss的阶段机制。玩家在单个关卡过程中会被比较清晰的划分成若干个阶段,每个阶段会有当前阶段的主要目标。而实现这一阶段机制的一个常规手法,就是地形的变化。这里仍然以笔者研究最深入的《Farm Heroes Saga》为例。
《Farm Heroes Saga》中“花”这一元素的机制为:每次在其上下左右任意一格发生消除时,花会发生形状的变化,三次变化后,花消失并在目标上增加花的积分。
在如上的第118关中,初始地形整个被划分为了各种的“一宽”和“二宽”。因此的,关卡第一阶段的主要目的是通过尽量快的“碰撞”花来打破“一宽”和“二宽”地形,制造出更加流畅高效的地形,然后在第二阶段,清除剩余花的同时积累目标所需的各色元素。类似的手法在游戏中反复运用,比如第183关:
第156关:
可以看到,被花所分割的地形往往呈现很明显的二宽特征,有兴趣的同学可以自己计算一下有花和无花状态的平均连通度。