益智类的游戏非常有意思,但是它的关卡设计并不容易,看上去是随机,同时难度又要由简到难的按顺序增加,同时还要有标准的提示的解法,本节給大家分享一类益智类游戏的关卡设计的解决方法,这个方法我称为: 逆推法。
这里有个游戏开发交流小组 大家可以一起来学习交流哦
首先举2个经典游戏例子来看下逆推法适用的游戏场景。首先我们来看《拼图游戏》的关卡设计, 《拼图游戏》在做关卡设计的时候,大家可能觉得会很简单,只要把图片分成若干的块,然后随机打乱就可以了,这样一个关卡就做完了。那么问题来了:
(1) 如何保证能让难度是按照由低到高的顺序一关关的递增呢?
(2) 如何保证每一组随机打乱以后的关卡,能一定有解,按照一定的步骤能还原回原来的图片状态呢?
(3) 如何能通过计算机自动求解,实现智能提示拼出整个拼图的过程呢?
关卡求解智能提示
再来看一个经典的游戏案例《华容道》,他的主要玩法就是用不同形状的积木块包住物体,然后让玩家移开木块,让玩家和出口之间能有一条直达的路出来,同时还有智能提示,能够提示出每个关卡的移动方法。这里关卡设计同样也面临3个问题:
做关卡设计的时候,我们給策划编写关卡编辑工具,所谓逆推法就是从结果出发来经过难度等级的迭代生成关卡的初始状态。和玩家求解是反着来的,所以叫做逆推法。主要包含一下步骤:
接下来我们以《华容道》为例,讲解关卡编辑器的制作,按照逆推法的第一步,我们需要将结果生成出来,在《华容道》的游戏盘上,我们先生成”玩家块”到”终点”的数据块,这些数据块等下生成关卡地图的时候,这个路径之间不允许有其它的块占用,接下来我们給用户一个可以编辑的工具,让关卡设计着把积木摆好(也可以代码生成块)如下图所示:
接下来,我们就是经过N次步骤,每次用代码随机移动里面可以移动的块,这样就得到了N次操作,将每次操作保存起来。同时得到了经过N次操作以后的关卡结果,这个关卡的结果就是我们呈现給玩家的初始状态,最终游戏的结果,就是关卡编辑者摆出的状态(也可以程序生成)。而保存的N次迭代步骤,反过来就是智能求解。这样就解决了上面所说的关卡编辑的3个问题:
(1) 我们从结果开始逆推,保证了肯定是有解的;
(2) 我们是通过难度+次数来控制经过多少次迭代得到的关卡状态,这样难度是可以控制的。
(3) 我们把关卡编辑器中的步骤反推过来就是智能提示。
好今天的逆推法游戏关卡设计就到这里了,关注我们可以学到更多的关卡编辑的使用技巧。