
交互叙事Interactive Narrative
选择 → 后果 → 分支 → 结局
这是什么
你的选择会真的改变故事走向和结局——互动小说、《Life is Strange》、橙光游戏都是这一类。
玩起来
每个选项都像在十字路口签字;读到结局时你会想「如果当时我选了另一条路……」——然后真的回去重选。
为什么值得了解
这是叙事与玩法的交界——「选择→后果→分支」的结构,让故事第一次有了「我」的参与感。
核心循环
Choice → Consequence → Branch → Ending
关键抽象
情节节点 · 分支选择 · 状态变量 · 后果延迟 · 多结局
即时试玩 Demo
交互叙事 Demo
游戏加载中…
规则提示
呈现情节 → 玩家选择 → 更新状态变量 → 进入分支节点 → …… → 到达结局 → 可重开
概念
交互叙事模式以「玩家的选择真实改变故事走向」为核心循环。玩家在关键节点做选择,每个选择带来可见或可追的后果,故事因此分支成不同路径与结局。它的底层是一棵分支状态树:节点是情节,边是选择,叶子是结局。工程实现上,分支叙事依赖状态追踪与条件系统,选择的所有后果必须可回读、可复现。
作用
交互叙事的核心作用是将玩家的决策直接映射为剧情走向的变化,使游戏从被动阅读转为主动参与。它通过状态追踪与分支树实现,赋予玩家因果感与掌控感,提升沉浸度与重玩价值。
意义
掌握交互叙事能让设计者在有限资源下创造高情感投入的体验。它将写作与系统设计融合,强调每个选择的可解释性与代价,推动剧情与玩法的深度协同,是现代叙事游戏的核心竞争力。
核心玩法系统拆解
核心循环流程图

3.1 解决了什么问题?
- 让选择有真实后果,避免「选什么都一样」的伪分支
- 用状态变量记住玩家做过什么,让后果可以延迟兑现
- 用结局收束给玩家「再来一次」的理由
3.2 学习目标
- 理解分支树的最小结构(节点/边/叶子)
- 掌握状态变量设计:什么该被记住、何时兑现
- 能设计 3-5 个结局的最小可玩叙事循环
3.3 最小规则集
- 选择:每个节点给 2-4 个差异明确的选项
- 后果:选择必须改变状态(立即或延迟可见)
- 结局:状态汇聚成可区分的终局(最少 2 个)
常见组合与变体
叙事 + 策略对抗
战斗胜负影响剧情分支(战棋叙事)
叙事 + 经营模拟
经营结果触发不同剧情线
叙事 + 解谜
解谜成功解锁隐藏情节
高级设计与算法(默认折叠)点击展开
设计警告
- 伪分支(殊途同归且无记录)会立刻摧毁玩家信任
- 分支指数爆炸会让剧本不可维护,要用「汇合点」收束
- 后果如果全 immediate 就没有悬念,全延迟就没有反馈感,要混排
算法示例
- 状态机/有向图:情节节点与分支条件
- 变量系统:flags、好感度、线索收集
- 结局判定:多条件阈值与优先级
关键代码(状态旗标 → 结局判定)
ts· 7 行
const ENDINGS: [string, (f: Flags) => boolean][] = [
["篝火夜谈", (f) => f.kind && f.courage], // 优先级从高到低
["一碗热汤", (f) => !!f.kind],
["灯下的影子", (f) => f.courage && !f.warm],
["平安无事", (f) => !!f.cautious],
];
const ending = ENDINGS.find(([, cond]) => cond(flags))?.[0] ?? "雨停";