【空想游戏机制】#4 环境树 Environment Tree
2023-07-05 11:21 作者:飞虎233-放置游戏 | 我要投稿
使用树状图生成关卡并放置谜题。

介绍
PCG(程序生成内容)是这几年一直在被反复使用的游戏机制。一个好的随机生成游戏能让玩家体会到无限的多样性。但不幸的是,很少有游戏能把随机做得那么好。尤其在游戏关卡解谜生成这块,随机生成器几乎无法模拟出像经典塞尔达传说或银河战士/恶魔城那样的设计。
这个想法与其说是是游戏机制不如说是游戏设计思维,以树状结构来描述游戏世界并插入谜题,说不定可以制造出非常好的随机地牢。
描述

这是一个有两层楼和屋顶的示例地图,蓝色部分是普通的地牢门,浅灰色的门则隐藏的,需要使用炸弹或火焰来打开。

而这是这张地图的树状结构图,表现了建筑中各房间的空间连接逻辑。由于地牢不存在多入口、单向门等设计,所以这样的结构图也比较好做。
假设我们要做三个简单的锁钥谜题。在设计前你可以直观地注意到一点——这里的蓝线就是到达各区域的道路,如果我们锁上其中一段蓝线,那么其所直接连接的叶子节点也会被锁定。现在让我们锁定屋顶(图中红色部分)。
从道路引申到房间,谜题部分对应的枝干房间,其所有叶子房间可以被作为谜题区域。在这里,2楼(F2 Lobby)就很适合作为放置屋顶钥匙的地方。相似地,我们可以把2楼的门锁上(绿色),钥匙放到后屋(紫色),再把后屋锁上,钥匙放在走廊。
这种谜题生成规则可以有效避免在生成过程中出现让卡关(比如2楼的钥匙在3楼)的情况。
思考
这套系统还是过于简单了,如果你要设计更复杂的谜题(比如单向门)或者非线性流程/开放世界,那么现在的这个规则集就不会有很好的效果。
可以将一整个树作为一个节点,这常见于设计较为自由的开放区域,玩家的目标固定,但到达目标的方式是自由的。基于此,也可以为多入口区域设置两套有共有区域的树,再把它们拼合起来设计路线。