Trail:一条线走遍每一格的新逻辑游戏

查看原文 HN 讨论

文章摘要

Trail 是一个极简的网格逻辑游戏,规则一句话就能说完:一条线,走遍每一格。从棋盘上的起点圆环出发,画一条连续的线,让它经过每一个格子,不重复、不遗漏。游戏免费,网页版和 iOS App 玩的是同一批关卡,作者是 franze。

它的设计重心不在「题库」而在生成器。站点的说明反复强调:每一关都是由算法生成、验证并调过难度的,「一关比一关难一点点」,而且「永远有一条走得通的路」。这解决了此类路径谜题最容易翻车的地方——玩家卡住时最怕的是怀疑题目本身无解。通关提示里那句「解开了,还有一百万关」也说明了生成式关卡的规模优势。

机制是靠一层层新地形叠加起来的,每种地形都只有一条规则,但组合起来会产生相当复杂的推理:墙(线不能穿过);箭头格(必须按箭头指的方向离开);传送门(同色成对,从一个进、从另一个出;如果双胞胎格已经被填过,这个传送门就是关闭的——这条规则是很多关卡的陷阱所在);标记格(线必须在这里结束);冰面(滑的,在冰上不能转弯,所以问题往往出在「你是从哪个方向进入冰面的」);门与闸(门只能单向通过,闸是只有一个入口的格子);钥匙与锁(捡到的钥匙会挂在屏幕下方,带着它走到颜色和点数都匹配的锁前,到达的瞬间锁自动打开)。

交互设计明显是为单手拇指优化的,几条细节很见功力:可以从线头拖拽,也可以在屏幕任意位置滑动——「你的拇指永远不需要够到棋盘」;点一个同行或同列前方的格子,线会自己跑过去;沿着线往回拖不会撤销,只有点击一个已经走过的格子才会把线收回到那里;双击起点圆环重开本关;长按灯泡图标会让线自己一步步往前走(提示功能);长按重开键可以跳过一关。评分是三点制:不用撤销、不用提示、第一次尝试通过才是三点,而且「后来的重玩只会提高评价,不会降低」——解得足够干净时,线会开始发光。还有一个社交小设计:在关卡列表里长按一关可以生成图片分享给别人。

工程上它是一个纯 canvas 的 PWA:整站只有一个 <canvas id="board"> 和几个空的 screen 容器,所有界面都由 JS 绘制;有 manifest、支持离线;界面做了英语和德语双语;明确只支持竖屏(手机横过来会弹出提示让你转回去);生成器跑在 Web Worker 里。免费网页版之上有一个 App Store 的引导:「同样的关卡,做成 App:全屏、离线、带触感反馈,免费。」

HN 评论精华

这条 Show HN 拿到 5 分、2 条评论,讨论很短但都是正面的实感反馈。

pedromosilva 说「游戏不错,很喜欢音效,上手也容易」——音效被单独点名,对一个纯逻辑游戏来说算是个信号:这类游戏的手感很大程度上来自每一步落子的反馈。

DramatisPersona 说「玩着挺有意思」,然后给了本帖唯一一条具体建议:难度曲线抬得太慢。他理解教学关必须做得简单,但认为「大概到第 5 关就该开始加难度了,否则很难保持投入」。

这条建议其实正好击中了程序化生成关卡的一个典型难题。Trail 的生成器把难度做成了一条连续平滑上升的曲线(「每一关比前一关难一点点」),在数学上很整齐,但在体验上未必最优:新玩家需要的是尽快遇到第一个「卡住然后想通」的时刻,那一下才是解谜游戏真正的钩子。一条太平缓的曲线会让前十几关都停留在「照着规则走一遍」的水平,而所有的新机制——传送门、冰面、钥匙与锁——都还没登场。这也是算法生成与手工设计的经典分工:生成器擅长无限供给,教学关的节奏却往往还是要靠人手动排。