叙事引擎
一整份叙事设计文档,从头到尾替你起草。
节拍表、角色与世界圣经、任务状态机、对话树、bark、字符串表。每一拍都绑着具体机制。交到你手上之前先过验证,导出的是一个带历史的 git 仓库。

这不是运行时的 AI NPC 对话。这里没有任何东西会跟你的玩家说话。叙事引擎站在那一层的上游——它写的是那些系统据以搭建的设计文档,交付形态是文件。
- 03节拍表你改过
- 04角色 · 世界
- 05任务待重生成
- 06对话待重生成
- 07载体待重生成
- 01你把节拍表里的一拍重写了。
- 02引擎算出后面哪些东西是在这一拍之上做的,把它们标成待重做。
- 03角色与世界不依赖这一拍,原样不动——你自己写过的每一句话也一样。
它和别的东西差在哪
下面每一行说的都是软件真做了什么,不是形容词。
| 别处 | 这里 |
|---|---|
| 生成对话。 | 生成整份叙事设计文档。 |
| 运行时即兴。 | 设计期定稿——进 git、可 diff、可导出。 |
| 编辑器里加了个 AI 按钮。 | 一条有验证的产线。没过检查的东西到不了你手上。 |
| AI 写完你再改。 | AI 起草,你定稿。你上过墨的地方,之后任何一次生成都碰不动。 |
| 故事和玩法各写各的。 | 每个节拍都绑着具体机制——由 schema 强制,不靠自觉。 |
| 框架库:给你一套模板去填。 | 方法论包:可执行规则 + critic 清单 + 节奏约束,它们参与验证;还能拿两本方法论对同一个项目跑 A/B 对比。 |
| 改一处,重新生成整份。 | 依赖图 + 脏传播:改一个机制,只有真正受影响的产物被重生成。 |
跑完能拿到什么
每一步都是一份窄合同。门在你手上,没有哪一步会绕过你往下跑。
- 01
玩法发散
先从创意里掏出能玩的循环,此时还没有一个字的文案。
- 02
方向发散
几个彼此不同的叙事方向供你挑——这是审批门,不是建议。
- 03
节拍表
结构。每一拍都绑着机制,并落在一条情绪律动曲线上。
- 04
角色 · 世界
每个角色一份档案与声音圣经——语域、口头禅、禁用词——外加世界圣经。
- 05
任务
任务状态机:前置条件、效果、失败分支。
- 06
对话
对话树,没有断头节点、没有不可达节点。
- 07
载体
过场、bark、环境叙事、系统文本——故事真正抵达玩家的那四条路。
- 08
导出
Yarn Spinner 文件、ID 稳定的字符串表,以及整个项目的 git 仓库(带完整历史)。
铅笔、墨水、上墨
模型起草的都是铅笔;你改过的是墨水;你锁定的已上墨——之后任何一次生成、修订或脏传播都不会覆盖它。这一条由引擎强制,不是约定俗成:一条会写到已上墨字段上的代码路径,过不了它自己的测试。
是你的仓库,不是我们的数据库
一个项目就是一个纯文本目录。导出给你的是一个带完整历史的 git 仓库——每一次生成、每一次编辑、每一次审批都是一个提交——外加 Yarn Spinner 的对话与一份字符串表,它的 ID 在重生成之间保持稳定,本地化不会跟着错位。哪天你不付钱了,已经产出的东西照样能读、能改、能比对、能拿走。
为什么不直接问 AI?
可以,单写一场戏本来就该直接问。但放到一整个游戏的规模上,你会拿到一份读起来像样、却引用着从没定义过的角色、中段节奏平掉、故事和玩法两张皮的东西——而且改一个机制就要全部重来。这里值钱的不是「能调模型」,是它外面那层编排、方法论包和验证器。