玩法
你是巴别图书馆里的一名图书管理员。这片图书馆每天都会忘记自己的形状:昨天走过的房间,今天全部变回未知。能留下来的只有语言,也就是你抄到的词和修好的句式。
每天你有一份有限的清醒值,用来探索未知房间、从书架上抄词、修复残缺的句式。把一条句式和一个词拼在一起,就写成一条锚。图书馆会暂时承认这句话,并照它行事。
主线是让图书馆依次承认三句话:“我仍是读者”“边界存在”“馆外存在”。最后一句成立之后,出口才会出现。每过一天,图书馆的吞噬进度加一;走满之前没能离开,你就会被归档。
从《巴别图书馆》出发
这个游戏的设定来自博尔赫斯 1941 年的短篇《巴别图书馆》。小说里,宇宙就是一座图书馆,由数目不定、也许无限的六角形回廊组成,每一间的布置都一样。书由 25 个符号排列而成(22 个字母,加上空格、逗号和句号),没有两本相同。于是一切能写出的话都在馆里某处,而人能碰到的书页几乎全是无意义的字。叙述者年轻时也在馆里游历过,为了找一本书,也许是那本“目录的目录”。
我最想留住的是小说里的那种处境:一个人被无穷的书页围着,相信意义就在某处,却只能一页一页地翻。所以这个游戏里没有敌人,压力来自清醒值一点点用掉,和一座每天都会把你忘掉的图书馆。开场的几段短文我也按这个调子写:
你只记得自己在三十七格六边形迷宫的中心苏醒。身旁的书页空白,书中只夹着几枚残存的词句。
这片怪异的子区每天都会改变形态。书本与组合近乎无尽。未被编目的事物,会逐渐融入无意义的字句之海。
读小说时我一直在想一个问题:既然馆里已经有一切可能的句子,那这里缺的就不是句子,而是哪一句被当真。所以玩家在游戏里不是在发明规则,而是从残词里拼出一句话,请图书馆暂时采信它。书页上确认写锚的按钮,写的就是“采信”。造句、三格锚位、每天清空的地图,都是围绕这个想法搭起来的。
小说里的其它细节,我也尽量在游戏里给它们找了位置。有的成了规则,有的成了房间和道具,有的只留在名字里:
| 小说里 | 游戏里 |
|---|---|
| 六角形的回廊,每一间的布置都一样 | 所有房间都是六边形的图书室,外观相同,区别只在当天显露的“房相” |
| 数目不定、也许无限的回廊 | 37 格的六边形地图,六个方向首尾相接(见下文) |
| 由 25 个符号排成的书,几乎全是无意义的字 | 抄词的书页:一片随机的字母、逗号、句号和空格,里面夹着几个还读得懂的词 |
| 每个六角形里有两盏灯,光线不足,却从不熄灭 | 灯盏房,可以带走一盏馆灯,留到清醒值见底时用 |
| 门廊边的小隔间,可以站着睡觉 | 壁龛房,可以小憩,也可以就在这里睡下,第二天从这里醒来 |
| 寻找“目录的目录”的人 | 索引房只照得见周围六格;标题里的“失索”,说的也是找不到那份总目 |
| 一代代在馆里寻找意义的人 | NPC 失名读者:他记得书页,却不记得自己是不是人 |
| 图书馆是一个球体,中心是任何一个六角形,圆周无法到达 | 图书馆没有“外面”:“边界”和“馆外”在普通书架上抄不到,出口在“馆外存在”之前不存在 |
无数房间,和一张 37 格的地图。 设定上,这座图书馆有无数房间。但如果真做一张无限地图,玩家很难记住自己走到了哪里,加上地图每天都要重置一次,负担会更重。所以我把地图定成 37 格的六边形,六个方向首尾相接:走到边缘的房间再往外走,会从对侧的边缘重新进入地图。玩家怎么走都碰不到头,需要记的却只有 37 格。这个取舍和原作也不冲突,小说结尾,叙述者猜测图书馆是无限而周期性的:一个永恒的旅人朝任何方向走下去,几个世纪后会发现同样的书以同样的无序重复出现。
失败也沿用了开场白里那句话。天数走完、吞噬进度走满时,玩家会被图书馆归档,变成馆里又一页读不懂的字。
主线:让图书馆承认三句话
主线只有一位 NPC 和三句话。我希望它读起来像一个小故事,同时每一步背后都有规则托着,玩家跟着故事走就不会卡住。
- 失名读者的请求。第一天的某个房间里有一张阅览桌,桌边坐着失名读者。在这座未被编目就会化进乱码的图书馆里,忘记自己是谁是一件危险的事,而他已经不确定了。他对玩家说:“我不记得自己是不是读者。如果你能让这句话成立,我就告诉你边界在哪里:我仍是读者。”规则写下“我仍是读者”,让它留在锚位上,再和他交谈。开局的词里没有“读者”,要在抄词时找到;接任务时手里一个都没有的话,他会先给一个。
- 他指出边界。这句话成立之后,失名读者兑现承诺,把“边界”这个词交给玩家,并把剩下的路一次讲完:“让边界存在。然后走到这片子区的边界。边界裂隙会出现。在裂隙里找到馆外。最后,让馆外存在。”
普通书架上抄不到“边界”。在这座图书馆自己的说法里,它没有边,所以它的书页里也不会主动出现这个词。规则奖励边界 ×2、读者 ×2。之后可以写“下一架书回应边界”,让书架再给出一个。如果用光了,每天还能回来找他要一次,他会说:“边界不能被遗忘到无处可去。拿着这点余烬,再让边界存在。” - 让边界存在。“【概念】存在”是分量最重的句式,开局并没有,要在“句式残页”房间里把它修好。平时这张地图首尾相接,走出边缘就会从对侧回来,图书馆没有边。写下“边界存在”之后,这片子区第一次有了边:再走进最外圈的未知房间,门后不再是又一间图书室,而是一道边界裂隙。规则“边界存在”生效时,地图最外圈的下一个未知房间生成为边界裂隙。裂隙不在默认的房间池里,也不能用书签留到第二天。
- 在裂隙里抄到“馆外”。裂隙里的书页只给两个词:边界,或者馆外,其中一定有馆外。这是整个游戏里唯一能抄到“馆外”的地方。规则“馆外”只有 1 点耐久,而且只能填进“【概念】存在”,写一次就用完。
- 让馆外存在。在这之前,出口在这座图书馆里并不存在,走遍 37 格也找不到。写下“馆外存在”,下一扇未知的门后就是出口。规则“馆外存在”在房间生成里优先级最高,下一个未知房间必定是出口,走进去即通关。
三句话一句比一句大:先是一个人的身份,再是这片子区的边,最后是图书馆之外。玩家每天都会失去地图,但手里的词和这条主线的进度会一直留着。
主题:Anchor
这届 Jam 的主题是 Anchor。在一座什么句子都有、地图每天漂走的图书馆里,被采信的那句话就是锚,它把这一天的现实暂时钉住。锚位只有三个,所以“锚定什么”是玩家每天最主要的决定。
设计决策
失去地图,不失去语言
常见的探索游戏靠“推进前线”给玩家成长感。这里我反过来做:地图每天清空,没有永久的路线可以积累。清醒值耗尽也不是死亡,只是这一天结束。
成长被放在语言上。词和句式的耐久跨天保留,玩家从“被图书馆随机摆布”,一步步变成“能命令图书馆生成自己要的房间”。压力则来自天数:每过一天,吞噬进度加一。
词按类型填槽,写不出废句
自由造句最大的问题是会产生大量无效组合,玩家要靠试错才知道哪些话有用。
我把词分成三类:房相概念身份。每条句式带一个指定类型的槽,界面只允许把同类型的词放进去,三类词用颜色区分。4 条句式配十几个词,能写出的每一句话都有效果,玩家的思考全部花在“写哪一句”,不花在“这句话合不合法”。
| 句式 | 槽 | 效果何时发生 |
|---|---|---|
| 下一间显露【房相】 | 房相 | 下一次走进未知房间时,用掉 |
| 下一架书回应【概念】 | 概念 | 下一次抄词时,用掉 |
| 【概念】存在 | 概念 | 留在锚位期间持续生效 |
| 我仍是【身份】 | 身份 | 留在锚位期间持续生效 |
下面是几句具体的话,和图书馆对它们的回应:
下一间显露句式残页
房相 · 一次性
你推开的下一扇未知的门后,一定是句式残页。主线需要的“【概念】存在”就在这种房间里修复。走进去之后,这条锚离开锚位。
下一架书回应边界
概念 · 一次性
下一次抄词,第一个选项固定是“边界”。除了去找失名读者,这是唯一能从书架上拿到这个词的办法。
记忆存在
概念 · 持续
它留在锚位期间,你新走进的每个房间都会保留到第二天,不随地图一起被忘掉。
我仍是引路人
身份 · 持续
进入未知房间不再消耗清醒(平时每次 0.5)。适合想把当天的地图尽量走开的时候。
我仍是引路人+记忆存在
两句同时在锚位
这一天探索不花清醒,新走到的房间明天还在,等于用一天把地图铺开、留给明天。代价是三格锚位占掉两格,只剩一格给“下一间显露”这类一次性的句子周转。
三格锚位,让“挤掉哪一句”成为每天的核心取舍
世界最多同时承认三条锚,新锚会挤掉最旧的一条。
早期版本里,身份类的锚触发一次就离开锚位。后来我把“我仍是【身份】”和“【概念】存在”都改成了留在锚位期间持续生效。这样持续锚会一直占着格子,而一次性的导航锚又需要格子周转,锚位才真正变成稀缺资源。
两类锚还能互相放大。比如“我仍是读者”让抄词从三选一变成四选一,这时再写“下一架书回应边界”,就能在更大的选项里稳定拿到主线需要的词。
主线必须走得通:三层防卡死
规则型解谜最怕玩家把关键资源用光后卡死。主线依赖失名读者,我为这条链做了三层保险:
- 一定遇得到。 NPC 房间固定是第一天生成的第四个房间。如果玩家当时正用锚指定下一间的房相,NPC 就顺延一间,不覆盖玩家写下的话。第一天没遇到的话,第二天的第一个房间必定是它。
- 任务一定交得了。 接任务时如果“读者”一词的耐久为零,NPC 会补一次。
- 后续不会断。 完成任务后,如果“边界”用光了,每天可以向 NPC 再要一次。
补给都设了上限,所以它只保证走得通,不能用来刷资源。
一条规则管线
所有的锚都走同一条路:校验、入队、解析成效果,再由房间生成和抄词去读取。新增一条句式或一个词,只需要在这条管线上加一种效果。
房相概念身份
- “馆外存在”生效:出口
- “下一间显露”生效:指定的房相
- “边界存在”生效且位于地图边缘:边界裂隙
- 否则:默认房间池
预知和实际生成走的是同一套判定,所以索引上看到的房相,进门后一定是它。
48 小时里做什么、不做什么
策划案里有一份范围表。做的每一项都服务于“用语言操纵图书馆”这一个体验,其余的明确不做。
做
- 每日重置的 37 格六边形地图
- 4 条句式、三类词、三格锚位
- 3 个道具、1 个 NPC、1 条主线
- 清醒值作为唯一的行动资源
明确不做
- 战斗、装备、复杂地形
- 多 NPC、剧情分支、多结局
- 永久的地图推进
- 随机出现的坏词或废词
开发中途我还砍掉了一条句式“我记得【房相】”。它不进锚位、跨天生效,是整套规则里唯一的例外。删掉之后,房间生成的判定收敛成上面的四级,玩家要记的规则少了一整类。
我的工作
- 策划:世界观设定,开场白、NPC 台词和界面上的用词;全部规则与数值、主线流程、Jam 范围表。
- 带队:4 人团队的任务拆分和进度。
- 程序:终版每日循环的整合,以及主交互界面。

设计阶段我手绘的主界面草图,成品基本照着它搭。A:清醒值、天数和三条锚,新的在下;B:45 度俯视的房间,只显示玩家和所在的房间;C:六边形地图,选中格子后可以“前往”或“预知”;D:收起的书本,点开后在书页上拼锚;E:当前房间能做的事,每个房间每天只能选一项;F:道具槽,成品里移到了左下角。
