如果观众点两次就摸清套路,问题通常不在分支数量,而在选项没有代价:三个按钮的文案不同,但失去的东西、得到的信息、影响的后续节点几乎一样。把每个选择项换算成观众付出什么、换来什么,删掉不改变走向的空选项,再给真正关键的选择加不可逆标记,复看价值才留得住。下面每一步都对应到可配置的字段、可看的日志或页面上直接能点出来的行为,方便逐条核对,而不是只凭感觉判断分支够不够用。
选项只换台词不换代价,观众两三次就能预判结果,复看动力随之消失。建议先把每个选项拆成失去什么、得到什么、影响哪些后续节点三栏;再把不改变任何后续节点的选项降级为台词分支;最后给关闭路径的关键选择加不可逆标记,并写清回退会破坏哪段剧情。判断是否成立,用分支遍历日志和复看清单核对,不要只看选项条数。
把现有选择项列成一张代价表
先不要改剧情,把当前所有选择项按出场顺序抄进一张表。字段至少四列:选项文本、失去的内容、得到的信息、影响的后续节点。判断某个选项有没有代价,就看「失去的内容」这一列能不能填出具体东西——时间、信任、道具、通行资格、某个角色的在场状态。填不出来,这个选项大概率是空的。
| 选项文本 | 失去的内容 | 得到的信息 | 影响的后续节点 |
|---|---|---|---|
| 把钥匙交给对方 | 保留退路的可能,第 3 幕独处场景 | 对方的真实姓名 | node_a12、node_c07 |
| 自己留下钥匙 | 第 3 幕的同行资格 | 无新增情报,但保留一次开锁机会 | node_b04 |
| 「你先走」 | —— | —— | 无 |
第三行就是典型的空选项:只有台词差别,后续节点一栏是空的。表填完后,对照配置文件里每个 choice 的 affects 字段(字段名按你实际使用的工具替换),如果某个选项的 affects 是空数组或指向的节点和兄弟选项完全重合,就把它标出来,进入下一步处理。
删掉没有代价的选项,或者把它降级成台词分支
判定条件很简单:不改变任何后续节点的选项,按台词分支处理,不再作为可选择项弹出,改成自动播放的一句台词或一个短反应。代价表的最后一列写上「降级:仅台词差异」,并注明原因,方便以后回看时知道这里原本被当成过分支。
- 「你先走」:选与不选都进入同一节点,降级为自动台词。
- 「我明白了」:只改主角语气,不改任何角色状态,降级为旁白。
- 「看一眼窗外」:只播一段环境描写,不影响任何节点,降级为可跳过的插入文本。
不建议直接删除这类选项。删掉会改动节奏,降级成台词分支能保住原来的情绪停顿,同时不再消耗观众的选择注意力。降级后要在表上保留这一行,原因是复看检查时会用到:哪些位置原本以为有分支、实际只是换皮,一看表就清楚。
给关键选择加不可逆标记
识别方式看三点:这个选项是否关闭了某条路径、是否消耗了独占资源(时间、道具、某个角色的信任)、是否让后续可达节点的集合明显收窄。三点占其一,就按不可逆处理。标记位置建议放在节点配置里,同时在编辑器或页面上给一个可见标识,避免后期混在普通选项里误改。
{
"node_id": "roof_choice",
"choices": [
{
"id": "give_key",
"text": "把钥匙交给对方",
"lose": ["保留退路的可能", "第 3 幕独处场景"],
"gain": ["对方的真实姓名", "第 4 幕同行资格"],
"affects": ["node_a12", "node_c07"],
"irreversible": true,
"reason": "交出钥匙后不能再进入独占的独处线"
}
]
}上面是通用骨架,字段名按你实际使用的工具替换。标记之后要能验证:跑一次分支遍历,把每次选择经过的节点序列打印出来;如果从 node_a12 之后还能回到交出钥匙之前的节点,说明标记没生效。reason 字段要写清回退会破坏哪段剧情——通常是已经播过的独处场景、已经失去的道具、已经改变的角色关系;硬回退会让这些内容自相矛盾,观众也会立刻发现选择其实不算数。
检查观众第二次观看还能拿到什么
复看价值不是靠隐藏结局堆出来的,而是看第二次观看能否拿到第一次拿不到的内容。建议逐条记录下面三类检查项,每条写清出现位置、触发条件和第一次是否可见。
- 上一次没走到的路径:路径名、进入条件、第一次为什么没走到、第二次从哪里进入。
- 未解释的伏笔:在第几幕埋下、在哪条线上才解释、第一次观看时是否被掩盖。
- 角色状态变化:某个角色在哪条线上换了态度或处境、第一次是否能看到、第二次能否对照出差异。
记录方式可以是一张表或一个 checklist 文件,每条后面留一个「已验证 / 待验证」字段。验证时按第一次观看的默认路径走一遍,再按另一条线走一遍,看这三类内容是否确实不同。如果两条线拿到的信息基本一致,那条线更接近台词分支,回到上一步降级处理。
写清每个选项的即时反馈
观众点完立刻要有感觉,否则会怀疑选择没生效,下一次就不再认真选。给每个选项配一组紧跟在动作之后的反馈,画面、台词、音效三类至少覆盖两类。
{
"choice_id": "give_key",
"feedback": {
"visual": "钥匙离手的手部特写,持续到下一节点开始",
"line": "……你确定?",
"sfx": "金属落地,尾音留到场景切换"
}
}自查项可以按这四条过一遍:反馈是否在同一节点内出现,而不是拖到下一个场景才体现;反馈是否对应该选项独有,换一个选项就不会出现同一句台词或同一个音效;点完到反馈之间的停顿是否过长,超过反应预期会被当成卡顿;跳过对话的观众是否还能看到至少一种反馈,比如画面或音效。
反馈缺失在页面上通常直接看得出来:点完没有任何变化,或者几个选项播放同一段反应。遇到这种情况,先补即时反馈,再回到代价表确认这个选项是否真的改变了后续节点;两件事都不成立的,就按台词分支降级。