解谜设计-简易魔塔
===概述===
示例图
简易魔塔 游戏关卡如下图。
示例工程
考虑到示例工程中的插件太多了,群友单独拿出来会遇到各种问题。
这里我建立了单独的解谜设计工程,并放入了集合中,方便熟悉用法。
小型示例工程集合链接: https://pan.baidu.com/s/1Z60Fht7alAGZymWOle68PQ提取码: 3r5e |
另外,示例中的插件一直在更新,而打包工程中的插件不一定会同步更新哦。
灵感来源
2023年1月21日,除夕,作者我被一个老游戏风格的ui界面吸引了。
同人act游戏 MakoMakoPanic(沢渡真琴的冒险故事):
https://www.bilibili.com/video/BV1bM4y1T7pW
虽然不能完全模仿游戏,但是这个ui风格,迫使我想开坑。
于是我就以魔塔游戏为灵感,开坑了。
专门设计图中的类似ui,以及简易商店。
(ui完成后,我发现魔塔的设计内容量一点都不小……算是为了一碟醋包了一顿饺子了)
===简易魔塔 - 游戏===
游戏简介
1)游戏规则
简易魔塔使用的是固定镜头视角。
玩家在有限的地图内(13x13)进行解密探索,一共有6层。
玩家可以拾取红黄蓝钥匙,开启对应的红黄蓝门。
玩家可以使用金币购买药水、钥匙。
生命值为零时,游戏失败,需要重新回到起始点,从头再来。
2)难度分配
由于魔塔是单线性闯关解谜,因此这里以玩家收集的金币数量,来划分最终奖励。
普通难度即闯关全层;
挑战难度即在闯关全层的基础上,收集尽可能多的金币,且不消耗金币。
3)禁用能力
禁跳跃。(可选)
禁炸弹。(可选)
4)卡关注意事项
这里使用了插件:
Drill_WindowMenuButton 控件 - 主菜单选项按钮管理器
并连接到了公共事件:“简易魔塔-卡关”。
玩家可以在菜单界面瞬间传回地图的开始点,并重置游戏。
设计者视角
1)用途
魔塔本质上是一个数学管理游戏。
虽然没有传统魔塔那样有攻击防御的设计,
但是按照小爱丽丝必然扣主角1点生命来计算也是有效的。
这样能估算出玩家到达每一层时最多剩余的血量、钥匙。
从而分配boss、重重阻碍的大门。
你也可以采用后面章节的方法来设计:资源换算法 。
2)难度安排
如果你需要在你的游戏中添加该解谜类型,
作为一个独立的支线小游戏来增加你的 游戏性 即可。
你也可以直接基于此制作50层以上的完整魔塔游戏。
谜题解法
1)资源换算法
在玩此类游戏时,我们可以将每个房间都划分成一个个小的区域。
进入区域前,都需要思考一下这会付出多少代价,然后得到多少资源。
如下图,1个敌人(-1生命)可以换 1生命+2塔币。
再如下图,1个敌人(-1生命) 或 1把黄钥匙 可以换 1把蓝钥匙。
1敌人消耗1生命,对应消耗了2塔币。1黄钥匙开门,也对应消耗了2塔币。从理论上二者是等价的,但是我们总会不自觉地会认为 打一个敌人 更值。因为会想当然地觉得自己的生命值很多,不愁用。 |
采用这种方法理解了魔塔之后,
你会发现,有一些区域的交换为 亏损交换,因此在进入前要注意计算一下哦。
===简易魔塔 - 实现===
基础插件
如果要从零开始设计,需要下图的插件:
注意,该文档只详细说明 整体设计思路 和 解谜方法 。
简易魔塔的UI面板设计,可以去看看文档“13.UI > 关于高级变量固定框.docx
”。
基础配置
具体注意示例下面的地方:
1)地形设计
由于魔塔采用固定视角,因此地图图块为 13x13 的大小。
(如果不限制大小,使用一张大地图来设计魔塔的一层,放置道具和怪物时会显得很空。)
2)地图事件
所有与该解谜相关的事件 ,都在地图 设计-简易魔塔 中。
这里主要需留意下面事件:
红黄蓝钥匙/红黄蓝门、塔币、敌人/药水、商店/NPC、楼梯
3)公共事件
其中,需要一个公共事件来切换 简易魔塔 的UI主题。
并且在游戏玩法上,还需具备 重置关卡、被击败 的相关公共事件操作。
(公共事件“UI主题”的具体配置见后面的“插件-参数数字”“插件-高级变量框”)
4)开关和变量
这里用到了 变量58、变量59 ,开关没有用到。
5)图标设置
该游戏中用到了物品,并且使用了窗口字符 ”\i[]” 来描述图标,
所以这里只保留了必要的图标。(图标的位置与图标id相关,所以画的很空)
6)物品设置
简易魔塔中的道具、图标等,需要自己定义。
这里固定使用了 物品113、114、115、116。
7)动画设置
量子妹遭遇敌人时,会播放战斗动画。
8)插件-参数数字
简易魔塔解谜中,有两个地方用到了参数数字的样式。
》地图临时漂浮参数数字(回复时+1被打时-1的数字效果)
》高级变量固定框(进入游戏后,右侧的UI展示板)
9)插件-地图临时漂浮参数数字
该插件主要用于 回复时+1被打时-1 的数字效果。
10)插件-高级变量固定框
该插件主要用于设计简易魔塔的UI菜单。
UI具体设计在 ”13.UI > 关于高级变量固定框.docx
” 中的 简易魔塔设计 章节有讲解,
如果需要设计,可以去看看文档。
11)插件-多层行走图魔法圈
该插件用于指示量子妹所在位置,
以防玩家找不到量子妹的位置。
12)插件-事件复制器
该解谜在关卡完成后,弹出奖励,用到了事件复制器。
复制 模板管理层 的下图的水晶。
注意,模板管理层的地图id有变化,事件复制器的指令需要修改地图id的值。
13)插件-主菜单选项按钮管理器
该插件用于防止玩家卡关而设置,
虽然简易魔塔中不太可能存在卡关,但就怕玩家出现意外情况。
此外, 基础工程示例 中没有加这个插件。
(本来这个小游戏就加了特别多的插件了,要加防卡关功能,又要关联很多核心…)
UI设计
通过地图镜头偏移,腾出一部分空间,可以用于显示魔塔的UI面板。
这部分空间一定要提前规划好,ui会影响镜头显示的图块数量。
示例的分辨率为 816x624 ,能显示 17x13个图块。
下图的ui横向挡住了240像素,即留下了12x13个图块的面积。
(12x13图块的面积显示了 13x13的图块,因为左右两侧显示了一半图块的墙壁)
之所以要采用固定视角,是因为游戏原本的地图太大了。![]() |
初始结构
先把所有的楼梯与传送都搭建好。
由于示例中作者我将 六层 全部合在了同一张地图中,
因此楼梯传送使用的是 本图位置传送,需要手动控制画面淡入淡出。
(这里采用了图片快照的方式淡入淡出)
红蓝黄门的定义
简易魔塔中,有三种颜色的门,分别对应 红、黄、蓝 钥匙。
一把钥匙只能开一扇门,也就是说,只要玩家身上有蓝钥匙,那么就能开启蓝色的门,开启门后钥匙-1即可。
设计如下图,页1为没钥匙情况,页2为有钥匙情况,页3为已开门的情况。
道具的定义
需要定义可拾取的道具包括:药水、塔币、红钥匙、蓝钥匙、黄钥匙。
玩家接近后自动触发即可。
注意,捡起道具后,必须设置为 开启独立开关A进入到空事件页。
因为要考虑关卡重置情况,物品需要恢复到原来可拾取的状态。
敌人的定义
由于主打解谜,这里将角色与敌人的战斗,简化成固定-1生命。
方便玩家计算,也方便设计者自己计算。
当玩家的生命低于0时,执行 被击败 的流程。
商店/NPC的定义
游戏中还需要定义商店提供给玩家更多的选择。
这里分为 药水商店、钥匙商店 以及 分散在简易魔塔里的各种一次性NPC商店。
需要注意,需要先将金币数赋值给变量21,
如果玩家金币不够,则交易失败,提示金币不够;
如果玩家金币足够,则根据情况 添加购买的道具,扣除塔币道具。
===简易魔塔 - 注意事项===
由于魔塔是相对来说体量较大的小游戏,拥有完整的地图、行走图、面板、道具等一系列的内容。因此小游戏中的诸多瑕疵,在制作者眼里感受不到,但是玩家会发现不合适。 |
玩家反馈-找不到主角
由于量子妹和背景墙都是纯蓝色,并且所有道具和小爱丽丝都在动,因此在量子妹上了第二层后,很难发现所在位置。
于是这里作者我给她加了一个魔法圈,提高辨识度。
玩家反馈-生命扣除不显眼
量子妹遇到敌人小爱丽丝时,撞了一下,扣除了1生命,但是没及时留意剩余生命值。
虽然我加了-1的效果,但是被攻击的特效太大,很难注意到。。。
后来作者我将这个参数数字的资源调大了两倍:
这里说明一下参数数字来自于下面的插件:
Drill_CoreOfGaugeNumber 系统 - 参数数字核心
Drill_GaugeFloatingNum 地图UI - 临时漂浮参数数字
对应示例中的配置:
核心插件配置参数数字资源及样式,子插件 配置弹道 并 提供插件指令。
玩家反馈-奖励机制不明确
首先,示例中的最终任务就是收集水晶。
为了收集水晶,然后将所有支线分散到各个小游戏中。
作者我没有在游戏中添加任何剧情,甚至量子妹为什么要收集这些水晶也没有提及。这样是为了避免使得玩家为收集水晶而强迫自己玩游戏,毕竟主要目的是插件示例。 |
对于鼠标管理层的小游戏,你能直接看到左侧有多少水晶,当前关卡能产生多少奖励。
而对于简易魔塔,玩家只知道要爬魔塔,却不知道爬魔塔的最终奖励。
因此一开始需要说清楚。
你在游戏中收集水晶没有任何成就感,这是正常的感受,因为示例没有给予你任何奖励机制,也没有故事背景。矩量水晶这种关键任务道具在你自己的游戏中需要赋予意义,这样才会有成就感。 |
玩家反馈-插件的bug
接下来就是游戏过程中发现的一些插件的bug:
鼠标点击不是很灵敏,点到一些位置时,量子妹不会移动。
保存后,再读取,魔塔面板消失了。
上述bug都被修复,但由于bug特别不明显,作者我在设计解谜时完全没有发现,但是玩家能明显发现问题。
===简易魔塔 - 常见问题(FAQ)===
动画播放失败
问题名称 | 动画播放失败 |
问题图示 | ![]() |
问题描述 | 在遇到第一个小爱丽丝敌人后,出现了下面的报错。 |
出现时机 | > 新工程中出现。 |
原理解析 | 作者在设置小爱丽丝敌人事件时,会播放两个动画。如果没有动画,会显示空或者问号。![]() |
解决方案 | 添加用到的两个动画效果即可;或者改全部小爱丽丝敌人的事件指令。![]() |
进入游戏后,没显示UI面板
问题名称 | 进入游戏后,没显示UI面板 |
问题图示 | ![]() |
问题描述 | 进入简易魔塔游戏后,右侧是空的,没有显示UI面板。 |
出现时机 | > 新工程中出现。 |
原理解析 | 因为复制的新插件,不带UI配置。复制后,没有任何UI显示才是正常的。![]() |
解决方案 | 单纯的高级变量固定框插件的配置问题。从示例中复制配置,以及复制对应的资源图片即可。(不显示UI面板,并不会影响游戏进程,但会影响玩家体验) |
公共事件不执行
问题名称 | 公共事件不执行 |
问题图示 | ![]() |
问题描述 | 进入游戏后,发现量子妹就是0血。遇到第一个敌人,就输了。 |
出现时机 | > 新工程中出现。 |
原理解析 | 因为复制后,公共事件的id变了。复制示例中的事件,仍然关联的是原来的公共事件。找不到公共事件的时候,会出现问号。(游戏中不会报错,只是什么都不会执行)![]() |
解决方案 | 你需要检查所有执行公共事件的指令,然后换上对应新的公共事件。![]() |