《叙事策划与叙事工艺》卷三《叙事体验与路径度量》全 50 篇,也是三卷本的收官卷。卷一回答的是「一个故事能不能先被写成一份规格」,卷二回答的是「这份规格能不能被一台机器确定性地执行」;这一卷回答的是:执行出来的那些路径能不能被度量——而且度量得诚实?
站内的叙事内容基本落在两端:一端是引擎怎么实现(game/client/ 的打字机、立绘口型、过场系统,game/server/ 的 NPC 对话状态架构),一端是散文式的叙事经验(game/indie/ 的分支对话长文、game/industry/ 的叙事设计概览)。中间那一段——把「这段叙事体验好不好」还原成覆盖率、分布熵、曲线 MAE 这类可算的整数,并且明确说清它们不能声称什么——没有人占。 而这一段恰恰是可计算、可跑、可证伪的一段。这一卷补的就是这一段。
做法还是那句话:一份叙事规格,三处消费。config/story_spec.json 是唯一真源,卷一让它「可穷举」,卷二让它「可执行」,这一卷让它「可度量」——路径采样、覆盖缺口、结局分布、张力曲线、一致性残差。三处读的是同一个文件,本卷只读卷二交付的内核与真源,不新造任何规格字段;beats[].tension 与 metrics 是本卷唯一新增的读取对象。改一个阈值或一个节拍标注,全部指标同步改变,且仍能用同一套命令复现。
贯穿全书的是虚构的三夜悬疑叙事 《雾港夜航》(工程名 mistport)与工具链 inkwell:config/ 放规格,sim/ 是 Python 侧的路径采样与曲线计算,core/ 是 TypeScript 的度量内核,web/ 把路径批跑挂到无头浏览器上,out/ 收全部 JSON / CSV / SVG 产物。本页是《叙事体验与路径度量》的全书目录:按章节顺序列出全部 50 篇,点击标题直达正文,也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇
里的分工说明与可运行性口径。
全书概览
| 项目 | 内容 |
|---|---|
| 书稿 | 《叙事策划与叙事工艺》卷三《叙事体验与路径度量》 |
| 篇数 | 50 篇(正文 16 章 48 节 + 目录篇 + 附录 A) |
| 贯穿案例 | 三夜悬疑叙事《雾港夜航》(mistport) |
| 核心主张 | 一份叙事规格,三处消费;把路径的形状还原成可算的整数,并说清它们不能声称什么 |
| 可运行性 | 六档 S / P / W / D / X / B |
| 前置 | 卷二《叙事引擎与分支系统》 (16 章 48 节) |
| 同门 | 卷一《叙事结构与可执行规格》 (16 章 48 节) |
三卷怎么分
| 卷 | 书名 | 回答的问题 |
|---|---|---|
| 卷一 | 叙事结构与可执行规格 | 一个故事怎么写成规格,这份规格自洽吗、可达吗、可覆盖吗 |
| 卷二 | 叙事引擎与分支系统 | 这份规格怎么被执行:状态机、条件求值、确定性回放、可玩原型 |
| 卷三 | 叙事体验与路径度量 | 玩家真的走出来的路径是什么形状,怎么用代理指标度量它、以及这些指标不能声称什么 |
与站内既有内容的分工
- 《游戏设计》卷二《策略涌现与体验度量》 与本卷最像,也最容易被混为一谈。它的真源是机制数值与规则,度量对象是一局战斗的动力学(回合数、动作密度、资源守恒残差),张力来自 HP / 资源 / 回合节奏,玩家侧建模的是动因与类型。本卷的真源是叙事结构与条件,度量对象是玩家路径的形状(覆盖率、结局分布、节拍张力曲线),张力来自作者标注的叙事节拍沿路径的序列,玩家侧只做路径选择策略、不建模动因。两者共享「整数化 + 确定性 + proxy 口径」的工程纪律,但不共享任何规格字段。
- 独立游戏的叙事设计与分支对话 (约 1076 行)是散文式的叙事经验:分支怎么写、好感度怎么调,配的是清单与示意图,代码不可跑。本卷第 1、2、4、7、8 章把同一批问题变成可算的数——一次通关变成可编码的路径,分支覆盖变成千分比,假选择变成可判定的检测,节奏变成密度序列。
- 《游戏设计》卷一《玩法机制与可执行规格》 与本套卷二给出的是可执行的真源与内核;本卷第 6、14、15 章接住它们的输出做度量与回归——这一卷不新造规格字段,只读已有的。
- 《游戏设计》卷三《原型可玩性与品类》 做的是通用可玩性测试设计;本卷第 12 章收口径为叙事路径覆盖 + 结局分布的批跑与断言,真人测试标 X。
- 游戏叙事设计概览 是概论级短文,讲叙事设计有哪些环节;本卷第 9 章做的是设定与行为对齐的回归——把「叙事失调」写成一个可算的残差并给出告警阈值。
- 《游戏设计》卷二
的情绪曲线与张力来自机制动力学;本卷第 5 章的张力来自叙事节拍结构(
beats[].tension)沿玩家路径的序列,§5.3 标题即写死「与机制张力的分工」。 - 《游戏设计》卷二 的玩家动因与类型建模;本卷第 11 章做的是模拟玩家的路径策略(随机 / 贪心 / 覆盖导向),用途是采样,不建模动因、不做玩家分型,§11.3 标题即写死这一分工。
本卷 16 章
第一部分 · 路径、覆盖与平衡(第 1–4 章)
- 第 1 章 玩家路径
- 第 2 章 路径的采样与覆盖
- 第 3 章 结局分布与分支平衡
- 第 4 章 选择的权重与后果可见性
第二部分 · 曲线、张力与一致性(第 5–9 章)
- 第 5 章 叙事张力与释放
- 第 6 章 情感曲线的代理指标
- 第 7 章 叙事节奏与密度
- 第 8 章 好感度曲线的形状
- 第 9 章 叙事一致性的回归
第三部分 · 可视化、模拟与测试(第 10–12 章)
- 第 10 章 曲线的可视化
- 第 11 章 模拟玩家与路径策略
- 第 12 章 叙事规格的可玩性测试
第四部分 · 反推、演化与收官(第 13–16 章)
第 13 章 从度量反推设计
第 14 章 叙事规格演化与回归
第 15 章 叙事质量的代理指标总表
第 16 章 装配:三卷总收官
附录
可运行性
本卷沿用六档口径:S 是 Python 侧的路径采样与曲线计算(覆盖率、分布熵、张力曲线与 MAE、一致性残差、反推与演化回归),P 是 TypeScript 度量内核(node --test),W 是浏览器路径批跑(Playwright 无头真玩),D 是指标定义与清单,X 是需真实环境、命令行不可复现的部分(正文逐处标注),B 是参数扰动与相变扫描(软告警不硬失败)。每一节至少有一个 S / P / W / B 档的代码块,且正文里的每个数字都来自本机实跑。
本卷的每一个指标都是 proxy:分支覆盖率、结局分布熵、张力曲线 MAE、一致性残差、整数不变量残差,全部只做相对比较,正文不出现「更感人」「提升 N 倍」「玩家满意度 X%」这类表述;第 15.3 节专门写「指标不能声称什么」。
怎么读
想先看主张,从目录篇
开始,那里有分工说明与可运行性口径,以及一条路径的度量摘要。想直接动手,从第 2 章
开始写采样与覆盖率,再依次做第 3 章的结局分布与第 5 章的张力曲线。想先看图,直接跳到第 10 章
用纯 xml.etree 出 SVG。只关心结论,看第 9.1 节
的一致性残差与第 15.1 节
的指标定义总表。