诡雅异俗 - 7.实例:逃离监狱(密室逃脱模式)

此篇内容较长,希望大家能耐心看完,以便充分了解整个游戏的制作过程!!

背景故事介绍
我是一名保险公司的推销员,日常工作就是挨家挨户推荐公司的产品。
天有不测风云,那天我到一户人家推销产品,之后他便被人杀人,我作为嫌疑人被关进了这座监狱,等待着最后审判。
但是作为福尔摩斯最忠实的粉丝,我不能坐以待毙,我需要想办法逃出去为自己洗刷冤屈。正在我思考该如何逃出去时,监狱内的看守似乎接到什么指示,着急的跑了出去,我感觉到这是我逃离这里的唯一机会。

场景
1.牢房:关押犯人的小房间,内部格局一目了然
2.办公室:看守人的办公室,从牢房中能看见一点情况
3.走廊:连接众多牢房和办公室,有一扇牢门可以出去

流程
1.使用自制工具将床拆卸,取其两个床腿,拼成杆子,并使用布料进行加固,最后加上一个挂钩做成钩子,钩取办公室内钥匙
2.获取钥匙后可打开铁门,然后探索办公室和走廊
3.走廊的铁门因为是密码门无法通过,但是之前有从下水道越狱成功者,后来用杂物将下水道的入口隐藏了
4.找到下水道并且在办公室内的保险柜找到下水道钥匙,从下水道逃离出去则越狱成功
5.保险柜解密流程:在办公室中有多个调令,以及在办公桌的抽屉里发现一个本日记上面写了多篇日记,通过日记得知保险柜的密码是一些特殊时间的”日期”按照顺序构成的,由此便可打开保险柜

以上为该故事的故事背景以及具体流程,我们需要做的是将该流程进行拆解并在编辑器中将其实现。

物品提取
牢房:床、床腿1、床腿2、杆子、钩子、钥匙
办公室:钥匙、保险柜、下水道钥匙、办公桌、抽屉、档案袋、调令1-n,日记本、日记1-n
走廊:下水道、杂物、牢

除了以上我们能从故事流程中提取出来的关键词以外,还可以添加一些辅助化的关键字,用于辅助玩家了解故事来龙去脉。

操作提取
牢房:床可被拆卸成两个床腿,两个床腿组成杆子,布料可以加固杆子,杆子上可以加钩子,钩子钩取办公室钥匙,使用钥匙开门
办公室:保险柜有密码,找到密码打开保险柜取的下水道钥匙
走廊:移开杂物显示下水道,使用下水道钥匙打开下水道逃离升天

物品直接可以转为节点,操作就是使用节点行为来实现

以上是游戏主体内容,剩下就可以自己发挥了。
例如,我想游戏开始时先显示一个黑屏用于描述故事背景,黑屏结束后显示一个开始按钮,点击开始按钮显示主要的节点,然后开始游戏流程,结束时在此显示黑屏交代后事,最后退出。

有了以上内容,就开始正式的编辑故事了

首先在编辑器中创建故事,然后将”背景故事介绍”粘贴进去:

点击”编辑”按钮,进入”编辑器”。
饭要一步一步吃,事要一步一步做。

首先从节点模版中拖拽一个模版到编辑器中创建一个节点,并命名为”开始”,为了有点区别,给节点设置不同的字体大小和颜色:

根据场景分别创建”牢房”、”办公室”、”走廊”3个节点,在根据需求创建其他节点(牢房和走廊都需要有门,因为我们需要用门来拦住玩家的操作,至于办公室可有可不有因为不会对其设限):

我们将”牢房”、”办公室”、”走廊”3个节点作为根节点,其场景内的所有节点均以对应节点作为父节点。
在牢门上右键,选择”设置父节点”命令或选中节点后,在节点属性框中直接选择父节点,设置牢门的父节点为牢房。并设置父节点引用类型为”强类型”,表示为该节点不能脱离父节点:

其他节点依次操作,”铁门”的父节点设置为”走廊”,至于”牢房”、”办公室”、”走廊”可以循环设置为父节点,形成一个环。
不过这里我们为了好看点,设置”牢房”的父节点为”牢门”,最终显示为:

选中”开始”节点,设置”默认状态”为”是”,表示默认即为显示状态,然后依次设置”牢房”、”牢门”、”办公室”、”走廊”、”铁门”的”默认状态”设置为”否”:

接下来要给”开始”节点添加事件:点击节点后依次显示”办公室”、”牢门”、”走廊”、”牢房”、”铁门”。
默认情况下,”通用模版”在节点事件列表中会存在4个预先添加的”行为”:鼠标按下动画、鼠标抬起动画、节点显示动画、点击显示子节点。
其功能如同描述的一样,有点不同的是鼠标按下动画和抬起动画除了动画以外还存在着音效。

在这里,因为我们需要主动选择需要显示节点,所以无法直接使用”点击显示子节点”事件,点击”已激活”按钮即可关闭该事件。
然后在状态事件列表中,新增事件”显示节点”:

编辑行为,在”触发事件”中添加事件”当点击节点”,在”行为”列表中添加行为”显示节点”,显示间隔设置为”0.1”,节点列表中依次选择需要显示节点:

点击”保存”按钮,然后点击”试玩”,便可体验游戏一下游戏了!!

体验游戏后发现,点击”开始”按钮后会显示出其他节点,但是”开始”按钮未隐藏,所以修改一下”显示节点”行为,新增一个”隐藏节点”行为,类型选择为”自己”:

这样显示其他节点后,便可隐藏自己,快去”保存”并”试玩”一下吧!!

运行游戏后,可以看到两侧的”道具”框和”线索”框也显示出来,但是在这篇故事中不使用它们,我们需要将其隐藏,另外我们还需要在故事开始时,显示黑屏文字来展现故事描述。所以选中”基础”标签,然后将”自动开始”和”显示道具框”和”显示线索框”设置为”否”。
然后在”全局行为”列表中新增行为”显示开始黑屏文字”,事件设置为”当进入故事时”,行为添加”显示黑屏文本”,水平对齐设置为”左对齐”,内容设置为故事背景介绍,自定义事件设置为”开始故事”(因为未勾选”自动开始”,所以必须主动调用”开始故事”事件,否则无法开始游戏):

保存后”试玩”游戏即可看到效果:

接下来我们继续丰富我们的游戏。
根据场景,可以分为”牢房”、”走廊”、”办公室”三块,先做”牢房”这一块。

牢房流程
使用”自制工具”拆解”床”,分成两个”床腿”,两个”床腿”可以组合成”不稳定的杆子”。在使用床单和囚衣加固杆子得到”相对稳定”和”稳定”的杆子,最后使用”挂钩”粘在”稳定的杆子”上得到”带钩子的杆子”,最后使用”带钩子的杆子”钩到办公室内的”钥匙”。

创建节点
首先将”牢房”中所有需要的节点创建出来,然后根据结构和需求设置父节点和父节点关系:

添加提示
选中节点,切换到”节点”页签,编辑”状态行为”列表中”点击弹提示”中的”显示提示”行为并设置”内容”,例如”床”节点:

:一张床,使用<color=green>工具</color>的话可以<color=green>拆卸</color>
牢房:被关押的牢房,需要想办法<color=green>逃离</color>出去
囚衣:囚衣,进入监狱后统一发放的制服!!
床单:床上的铺的床单!!
自制工具:自制的工具,可用来<color=green>拆卸</color>一些东西
马桶:没什么特别的!!
挂钩:贴在墙上<color=green>挂钩</color>,平常用来挂个衣服什么的。
床腿(两个):单个<color=green>床腿</color>的长度不够,两个<color=green>床腿</color>连接起来试试!!
不稳定的杆子:杆子不太稳定,需要使用<color=green>布料</color>加固后才能使用!!
相对稳定的杆子:相对稳定的杆子,但还是无法使用!!在使用<color=green>布料</color>加固下试试!!
稳定杆子:杆子已经够长了,但是还差一个<color=green>钩子</color>才能勾到钥匙!!
带有钩子的杆子:利用这个带钩子的杆子就可以勾到<color=green>钥匙</color>了!!

“牢门”有点不同,它有两种状态:上锁状态和解锁状态,所以”牢门”这个节点添加新的状态:

依次给每个状态都设置”点击显示提示”中的”显示提示”:
上锁状态:铁门被锁住了,使用<color=green>钥匙</color>应该可以打开!
解锁状态:门~开了!!

新建的状态不包含”点击显示提示”行为,需要手动添该行为(行为内容看上图)!!

添加行为
使用”自制工具”拆解”床”,首先点击”床”后不能显示子节点,所有需要将”点击显示子节点”行为关闭,然后添加新的行为显示其他节点:
1.选中”床”节点
2.选中”节点”页签,在节点”状态行为”列表中”新建”行为,行为描述设置为:”拆解床”
3.触发事件添加事件:当节点被触发
4.条件列表中添加条件:判断节点,目标设置为”节点”,点击”选…”选择节点”自制工具”,状态设置为”无”
5.行为列表中,添加”显示节点”行为,显示间隔设置为0.1,节点列表中添加两个”床腿”节点。
6.还在行为列表中,添加”隐藏节点”,类型选”自己”
7.再次添加”隐藏节点”,类型选”目标”,通过这两个”隐藏节点”行为,同时隐藏”床”和”自制工具”两个节点。

保存后,运行”试玩”,拖拽”自制工具”节点到”床”节点上松开鼠标后,即可看到上面添加的行为,用鼠标点击节点,便可看到节点的提示。

剩下的行为,为了省点篇幅,直接上图了:
床腿的组合
为了支持两个床腿互相触发,所以两个床都需要添加组合行为,只不过监听的触发节点不一样而已(请忽略节点ID,因为根据创建顺序每个节点ID都不一致):

布料绑定
“不稳定的杆子”接收”床单”或”囚衣”后,隐藏自己和目标节点,显示”相对稳定的杆子”:

唯一有区别的,这里需要监控两个节点:”床单”、”囚衣”,只要其中任意一个节点触发就可执行行为

“相对稳定的杆子”接收”床单”或”囚衣”后,隐藏自己和目标节点,显示”稳定的杆子”:

绑定钩子
“稳定杆子”接收”挂钩”后,隐藏自己和目标,显示”带有钩子的杆子”:

以上操作完成后,牢房节点的逻辑就完成,保存试玩后游戏中就可以获取到”带有钩子的杆子”。

钩取钥匙
因为,我们想将”牢门”的钥匙放在办公室中,在办公室节点下可以创建一个”钥匙”节点,并在点击”开始”按钮后显示出来:

这里钥匙也有两种状态:
1.未获取状态
显示提示:从牢房中,能看到<color=green>铁门</color>的钥匙,但是距离太远了,需要想办法<color=green>钩</color>到手中
2.获取状态
显示提示:钩到的钥匙,可以打开<color=green>铁门</color>!!

使用”带钩子的杆子”可以切换钥匙的状态,默认为”未获取状态”。
在”未获取”状态的”行为”列表中,添加行为”钩取”,并切换状态:

行为:
“隐藏节点”:未了隐藏目标节点,这里也就是”带有钩子的杆子”
“切换父节点”:这里主要作用修改”父节点关联”关系为”无关联”,以便展示给玩家钥匙的状态
“切换状态”:将节点状态切换到”获取状态”

使用钥匙开牢门
想要开启牢门,则钥匙必须为”获取状态”,所以我们牢门需要切换状态需要判断钥匙的状态:

这样我们”牢房”这一部分的功能就全部完成了!!可以进入试玩了!!

办公室流程
“牢门”未解锁时,办公室无法探索,解锁后点击”办公室”可以查看办公室内物品,”办公室:内有一张”办公桌”和一个”保险柜”,”办公桌”上有一个”档案袋”,里面有”调令”3张。抽屉里有一个”日记本”,里面有”日记”3篇,桌子上有一张”笔记”,上面有一些提示。”保险柜”里有下水道的钥匙

创建节点
依据流程创建节点,并根据结构设置节点关系:

设置提示
依次给节点设置”点击弹提示”事件中提示:
办公桌:办公用的桌子,上面摆满了文件!!
档案袋:王大印的档案袋,里面有几张<color=green>调令</color>
调令1(类型选择”弹框”):
鉴于京城市京北区警察分局副警长 王大印 因不慎遗落枪支导致 1 死 4 伤的重大
安全事故,警察部予以降职处理,并认为其不再适合从事刑警工作,即刻调任至京城市监
狱任职。
警察部部长:林峰
<color=green>2008 年 1 月 11 日</color>
调令2(类型选择”弹框”):
鉴于京城市监狱高级警员 王大印 因不慎遗忘监狱门钥匙导致三名犯人逃窜的重
大责任事故,警察部予以降职处理,并认为其不再适合从事监狱工作,即刻调任 京河镇 任职。
警察部部长:林峰
<color=green>2008 年 7 月 7 日</color>
调令3(类型选择”弹框”):
鉴于京城市京河镇警员 王大印 因漏锁看守室大门以至四名嫌疑犯逃狱
此重大责任事故,警察部予以降职处理,鉴于其认错态度良好,暂不取消工作职务。
警察部部长:林峰
<color=green>2008 年 12 月 8 日<\color>
笔记:天啊,张麻子也逃狱了,我可什么都没有丢啊?不行,我得把这个事隐瞒下来,否则
我就完蛋了。不行,我一定是丢了什么,我发誓,我再也不会忘记东西,我发誓,我一定
会想办法记起来。——王大印
台灯:一个小台灯,看起来很正常!!
抽屉:抽屉内有一个<color=green>日记本</color>
日记本:王大印的日记本,感觉里面应该有<color=green>线索</color>
日记1:2008 年 1 月 11 日,天呐,我被降职了。我真后悔不该返回图书馆去买“哈利波特与凤凰社”,虽然罗琳的签名是那样漂亮,可我却丢了我的枪。
日记2:2008 年 7 月 7 日,王野这个该死的诈骗犯,如果不是它硬要和我争论京城属于哪一个时区的话,我不会把钥匙丢在牢房的,也不会让那几个小子逃跑了!!
日记3:2008 年 12 月 8 日,看来我真的老了,记忆力下降得厉害。他们从走廊<color=green>下水道</color>逃跑后,专门给下水道加了门锁,然后锁在保险柜内,我相信没人能打开它。我要用那些特殊的日子的日期从<color=green>头到尾来</color>作为密码,对于它们我永远不会忘记的。
钥匙(保险柜内的钥匙):能打开<color=green>下水道</color>门的钥匙

在这些节点中,唯有”办公室”和”宝箱柜”需要添加行为。
“办公室”需要根据”牢门”的状态,进行不同的操作,所以”办公室”可有两种状态,然后在”牢门”切换状态时派发”牢门解锁”自定义事件。
选中”基础”,添加自定义事件:

修改”牢门”节点,切换状态时,派发”牢门解锁”自定义事件:

“办公室”节点接受”牢门解锁”事件后,切换状态到”牢门解锁状态”:

然后给”办公室”节点的两个状态添加提示:
牢门未解锁状态:<color=green>牢门</color>尚未开启,无法探索
牢门解锁状态:警员的办公室,刚才不知道为何急匆匆的出去了!!

“办公室”节点在”牢门未解锁状态”时,点击节点时不应该显示子节点,所以需要将”点击显示子节点”行为关闭。但是在”牢门解锁状态”下,还需要支持”点击显示子节点”,所以需要在”牢门解锁状态”下,添加新的事件”点击显示子节点”:

可以先打开节点行为列表中的”点击显示子节点”,在行为编辑窗口中点击”复制行为”,然后在状态行为列表中新建行为,打开行为编辑窗口,点击”粘贴”,快速复制行为

“保险柜”节点也有两种状态:”未解锁状态”和”解锁状态”
同样”未解锁状态”点击节点也不能显示子节点,切换到”解锁状态”后点击显示子节点。所以该节点也同上进行操作。
“保险柜”在”未解锁状态”下时点击需要打开密码输入框,所以添加新事件:

因为在”未解锁状态”下点击要打开密码输入框,所以需要将该状态下的”点击显示提示”关闭。
“数字密码框”:设置密码未1178,根据日记中内容,在结合调令中事件日期可以推算出来。点击”预设”选择”数字”密码库,并添加提示:请输入密码

密码解锁时,还需接受”当节点密码解锁”事件,切换状态:

保存试玩之后,便可体验办公室相关流程!!

走廊流程
搬开杂物,既可以看到”下水道”,使用”宝箱柜”中的”钥匙”打开”下水道”结束游戏

创建节点
根据流程创建节点:

设置提示
依次给节点设置”点击弹提示”事件中提示:
杂物:堆积的杂物,似乎是想<color=green>隐藏</color>些什么
下水道:下水道上锁了,看来需要先找到<color=green>钥匙</color>,否则无法从这里逃出去的!!
铁门:牢门有指纹密码锁,看来不是那么容易打开的!!

添加行为
“杂物”节点添加”移动隐藏”行为,要节点被使用就当做移动,并显示出”下水道”:

触发事件选择”当节点被使用”
添加两个行为:
隐藏节点:隐藏自己
显示节点:显示下水道

“走廊”节点和”办公室”节点一样,唯一的区别是”走廊”点击后指向性显示,”下水道”由杂物移开后显示:

“下水道”节点添加”使用钥匙”行为,接受”钥匙”结束游戏:

保存之后,运行游戏可以发现整个游戏都能执行成功,但是下载打开下水道后立即退出游戏了,我还想再游戏结束后显示一段黑屏交代后续,所以在”基础”选项卡中,取消”自动退出”,并在全局行为添加”显示结束黑屏文字”:

注意:如果为勾选”自动退出”,需要派发”退出故事”事件

到此整个故事已经完成了,可以完成的跑通整个故事了!!!

感谢您的阅读🙏。