Skip to content

解谜设计-华容道

===概述===

示例图

华容道 游戏关卡如下图。

示例工程

考虑到示例工程中的插件太多了,群友单独拿出来会遇到各种问题。

这里我建立了单独的解谜设计工程,并放入了集合中,方便熟悉用法。

小型示例工程集合链接: https://pan.baidu.com/s/1Z60Fht7alAGZymWOle68PQ提取码: 3r5e

另外,示例中的插件一直在更新,而打包工程中的插件不一定会同步更新哦。

灵感来源

2019年11月,作者我写插件大刀阔斧,

在四个星期内完成了 移动路线核心、事件一体化、输入设备核心 。

目的也很简单,希望把鼠标管理层建设完善,设计一个只能用鼠标才能玩的小游戏。

于是直奔主题,简单写一个华容道的插件,就有了下图的原型。

当时考虑华容道游戏专门作为一个插件,

但觉得功能在别的地方也能用,还是要分,才分成了 事件一体化 这些插件。

(后来的事情你们也知道了,华容道的几个插件,更新次数相当多)

(输入设备核心维护到了v2.0,一体化、鼠标触发事件,都直接被推翻重写了)

===华容道 - 游戏===

游戏简介

1)游戏规则

纯鼠标控制的游戏,鼠标左键或右键拖拽方块。

只有含“@”符号的方块部分,压在了“@”的按压板上,才算通关。

玩家在游戏中可以意会到游戏规则,可以不作详细的规则说明。

2)难度分配

障碍方块的长短,能影响解谜的难度。

障碍方块的形状,能影响解谜的难度。

障碍方块放置后剩余的空间,能极大地影响解谜的难度。

3)禁用能力

无。

4)卡关注意事项

该解谜可随时用鼠标重置,不会卡关。

设计者视角

1)用途

可以作为小游戏加入到主线中,作为开门锁、谜题盒子、古代石板迷阵等场景使用。

2)难度安排

如果你需要在你的游戏中添加该解谜类型,

关卡建议最多两关,难度最大到第四关,可作为 支线或主线谜题 。

第五关类似的可以作为 小分支或成就 。

第六关的设计难度和复杂度都很高,不建议加。

另外,此解谜游戏的设计 不要 在你的游戏主线中出现第二次,忌重复的玩法。

谜题解法

1)空位堵路预判法

华容道中,空位和堵路的数量直接决定了解谜的复杂度。

先考虑将所有 空位 集合在一起,再根据目标方块的堵路关系,构思移动路线。

大部分的解谜关卡的会预留很多空位,所以不用担心空位少谜题解不开的情况。

比如第五关,由于三个柱子挡道,可以确定目标大方块的路线是固定的。

由于大方块体积关系,每次前进都必须要有两个纵向的空位,因此大方块的前进路线中,一定不能有竖方块挡道。

所以需要想办法把所有竖方块转移到大方块后面,才能通过。

===华容道 - 实现===

基础插件

如果要从零开始设计,需要下图的插件:

注意,该文档只详细说明 整体设计思路 和 解谜方法 。

对于具体 事件如何写 ,需要去看看:“8.物体 > 大家族-开关.docx

基础配置

具体注意示例下面的地方:

1)位置重置

游戏流程中,重置关卡 的事件,会手动批量控制所有事件的恢复到原来位置。

离开关卡或刷新地图,也会使得这些方块的位置重置。

(如果你要使得方块位置刷地图时不被重置,可以用“物体-位置存储器”插件)

2)地图事件

所有与该解谜相关的事件 ,都在地图”设计-华容道”中。

这里主要需留意六类事件:

门(触发器,计数开关插件 控制)

按压板(重力开关 控制,指定 重力钥匙 的事件才能起效)

目标方块(含有指定的 重力钥匙 )

进入关卡(移动镜头、关闭鼠标左键控制)

离开关卡(恢复镜头、恢复鼠标左键)

重置关卡(重置中操作 当前关卡 所有方块归位 )

3)地形设计

示例中的地形,不可通行 的部分可以用凹陷或者柱子代替。

另外注意,”@”按压板的位置,占了一块空间。这块空间在部分解谜中可以被利用起来

关卡设计

方块越短,灵活性越高。

方块越长,难度越高。

设计时,最先考虑挖洞/建墙;再放置长方块;最后在能够确保通关的情况下,陆续加入小的短的方块,从而完善关卡设计。

方块事件设计

如果你不想看实现过程,可以直接在示例中复制已有的事件,然后修改行走图、一体化配置即可。可见:方块复制注意

1)方块3D画法

示例中的华容道方块是已经画好的方块,你可以直接把资源拿来使用。

如果要自己画,可以看看文档:“26.图块 > 图块设计-华容道3D方块的画法.docx”。

2)锁定帧

锁定帧的功能来自插件:

◆Drill_EventFrameLock 行走图 - 锁定帧

锁定帧支持 单行走图、八行走图。

锁定后,无论行走图如何、朝向如何,行走图都为软件编辑器中设置的帧图像。

华容道方块是静态方块,使用鼠标接触、拖动时不能改变方块图像,所以需要锁定帧。

3)鼠标悬停响应

鼠标悬停响应的功能来自插件:

Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关

鼠标悬停响应开关在悬停会按下,离开会弹起。

示例中,”悬停”绑定了独立开关A,”按下”绑定了独立开关C。

你可以参考示例中 机关管理层 现成的鼠标响应开关的事件。

或者 鼠标管理层 的可以点击对话的小爱丽丝。原理都是一样的。

鼠标悬停响应的原理设计如下图。

(更底层原理可以去看看文档:“8.物体 > 触发的本质.docx”)

事件页条件描述指令
1开关弹起状态鼠标接近立即开启M1。
2独立开关M2鼠标悬停动作关M2。
3独立开关M1鼠标悬停状态开M2、M3。
4独立开关M3开关按下状态**并行判断M1的开关;****如果M1被关,立即关闭M3。**

4)一体化设计

关卡中的事件,

多个事件绑定了”华容道_第一关_方块_1” 的移动标签;

并且还绑定了”华容道_第一关_方块_1” 的触发标签。

移动一体化用于 鼠标拖拽时,能被整体拖拽移动。

触发一体化用于 鼠标接近方块后,可以点亮方块。

另外,事件进行一体化绑定后,与它所在的位置没有关系。

也就是说,即使两个事件距离很远,也能同步移动、朝向、触发一体化。

注意,多个一体化事件中通常都只留一个动力源,

因为存在多个动力源时,会出现谁决定如何移动的问题。

===华容道 - 注意事项===

方块复制注意

使用事件一体化插件,可以使得多个方块组可以划分成一个群体。

复制多个方块时,要注意修改以下设置:

1.行走图

2.事件一体化标签

3.重力钥匙

作者在制作华容道关卡时,主要工作量都在这些方块标签“华容道_第xx关”的修改上,因为要确保这些方块为一个整体,又不能与其他方块错误绑定到一起。

===华容道 - 常见问题(FAQ)===

重力开关占了体积,方块拖不进去

问题名称重力开关占了体积,方块拖不进去
问题图示
问题描述新工程中,拖动方块后,发现拖不进去。
出现时机> 新工程单独复制就出问题。> 示例中复制的事件就没问题。
原理解析原游戏底层有个设定,就是事件一定会被其他事件阻塞。事件即使“在人物下方”,也会被其他事件阻塞,但不会阻塞玩家。后来作者我可能在 事件穿透关系插件、通行插件 中修改了规则,只有“与人物相同”才会阻塞。这就导致了如果没加那个插件,事件就会被事件阻塞。
解决方案**不需要加额外插件,属于纯粹设计失误。****既然重力开关会阻塞,那么我在事件页中,勾选穿透就行了。**重力开关的全部事件页,设置穿透。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新