解谜设计-限时拼图
基础插件
限时拼图 游戏关卡如下图。
如果要从零开始设计,需要下图的插件:
注意,该文档只详细说明 整体设计思路 和 解谜方法 。
对于具体 事件如何写 ,需要去示例中 图片管理层 了解一下 吸附槽 的使用。
想了解图片控制具体如何写,去看看 "16.图片 > 关于鼠标拖拽图片.docx
" 。
基础配置
具体注意示例下面的地方:
1)图片
其中,固定ID 20的图片为 拼图板。
ID为 21及之后的图片,都用作 拼图碎片 用。
2)地图事件
留意关卡中的三个事件控制,
分别对应了: 开始游戏、离开游戏、关卡重置。
3)公共事件
留意公共事件的控制设置:
这两个公共事件都是并行处理的,实时控制 门判定、时间流逝 处理。
4)插件对象
这里用到了 变量数组核心 插件,方便实时判断内容,
并且给一个数组起名“拼图用临时数组”。
插件中,需要添加吸附槽,并且离开游戏时,要清除槽。
限时拼图-谜题设计
设计简介
1)游戏规则
纯鼠标控制的游戏,鼠标左键或右键拖拽拼图。
需要在规定的时间内完成拼图。
拼图全部完成,并且图形合理(顺序一致)才可通关。
规则细节:** 不要出现两个图像完全一样的拼图(比如空白的拼图块)**,这样会直接破坏拼图的判定条件。
2)难度分配
时间长短,能影响关卡难度。
拼图数量,能影响关卡难度。
有无预览图,能影响关卡难度。
拼图的图案相似程度,能影响关卡难度。
拼图形状,能影响关卡难度。
3)禁用能力
禁跳跃。
4)卡关注意事项
该解谜可随时用鼠标重置,不会卡关。
设计建议
1)设计者视角
从一般玩家的角度来说,拼图数量为4x3,4x4,5x4 比较合适。
因为拼图类游戏从一开始的定位就应该是 轻度解谜 。
不要让玩家在拼图游戏中花费超过10分钟以上的游戏时间。
2)关卡安排建议
如果你需要在你的游戏中添加该解谜类型,
关卡建议最多一关,作为 支线或主线谜题,比如 一个秘密门通过石板拼图 才能开启。
第六关可以加,但是要多给玩家时间去拼图。
3)灵感来源
2021年10月17日,作者我在4399上玩一个游戏:
http://www.4399.com/flash/6605_1.htm#his_default_3
这个游戏通过方向键控制猫咪移动房间,用现有插件无法制作,差距很大。
所以作者我并没有开坑。
但后来,群友跟我说,该去修一下 图片吸附槽 的bug了。
再然后,群友又问我,图片吸附槽有没有具体的介绍,示例就一个事件,没讲清楚。
图片吸附槽插件我在2020年11月就写了,但是有bug,一直没时间深入那个插件。
好吧,那就写个 图片吸附槽 的具体应用吧。
看这个游戏横纵分割成了许多方格房间。
突然灵感涌现,我可以使用吸附槽,制作拼图小游戏呀,像图中横竖切片这样。
如果只是单纯拼图,可能没什么难度。这个小游戏限时,我也可以给拼图加限时设置。
于是就开坑了。
拼图设计细节
1)图像大小与拼图碎片
设计关卡时,一定要最先确定图片的大小。
因为图片的大小将直接影响吸附槽的每个坐标点分配。
比如下图,360x360大小,切分成3x3等分。每个图片的大小为:120x120大小。
注意,切分时,碎片也有不等的情况,比如第三关的图片:
原图原考虑为 450x360 的大小,分成16份。
但是由于16份无法整除450,所以只能重设为448,再进行切片分割。
2)拼图板、拼图、预览图 布局
你需要先确定 拼图板和预览图 的位置,再考虑拼图位置。
因为拼图需要在矩形范围内随机放置,这需要贴很多指令,如果后期要变,改起来也麻烦。
3)吸附槽布局
每个图片的锚点都以正中心为准。
这里吸附槽的位置比较难对,需要通过计算来判断点位置。
使用插件指令“>图片吸附槽 : DEBUG吸附槽范围查看 : 开启”,即可显示吸附槽的范围。
以第一关为例,
图片的宽度为 120x120,那么槽的横竖间距必然为120。
中间的槽,与拼图板的坐标重合,那么就根据坐标计算9个槽分别所处的位置。
注意,吸附槽的吸附范围不要重叠,这样会影响图片的吸附顺序。
(重叠位置中,吸附槽id越小越优先吸附。)
4)吸附槽样式
由于第三关和第四关的切片非常窄。
所以这里吸附范围被设置成方形。
5)吸附槽玩法设计细节
2024年4月,作者我大幅度强化了 图片吸附槽 插件的功能。
可以使用交换玩法来进行拼图,所以这里作者我额外设计了交换型的第二关。
交换型关卡比传统型关卡减少了很多鼠标点击的操作,
降低了许多鼠标操作上的难度。
6)拼图关卡重置
重置关卡时,需要先合并 吸附偏移量,再执行 弹性移动 动画,移动到随机的矩形范围内。
吸附合并 相关内容,可以去看看“16.图片 > 关于鼠标拖拽图片.docx
”的说明。
剩余时间设计细节
1)并行执行 每帧时间减一
公共事件“限时拼图-时间流逝”中,
游戏开关开启后,将会不停地 并行执行 该公共事件。
每次执行完后,等待1帧,这样能够确保 每帧都执行一次 时间减一。
(注意,设置 并行+公共事件 时,必须等待,不然会导致无限执行,造成死循环。)
另外,公共事件“限时拼图-门判定”中,
每次执行等待2帧,其主要目的是减少执行次数,防止执行次数过多卡顿。
(因为每次都要用数组检查一下图片的顺序,可以适当降低执行)
2)重置关卡时机
变量57用于控制剩余时间。
每帧会减一后,只要时间大于0,就一定会有 特定的一帧会减到0 ,接着就变为负数继续减一。
通过这种方法,可以确保时间在为0时,只执行一次 关卡失败 功能。
如果要跳过这个重置关卡的检查,直接将 剩余时间 设为负数,这样就不会遇到等于0的情况了。
3)剩余时间条设计
具体可以去看看 “13.UI > 关于高级变量固定框.docx
”。
限时拼图-谜题解法
记忆法
多拼几次,印象就加深了。通过多次游戏形成记忆,自然就容易了。
这是因为大多拼图拼过第一次之后,拼图位置会留下记忆,这就使得再次拼的时间将远小于第一次拼。
限时拼图这类游戏,属于轻度解谜,没有特别巧的方法。