先定读档的玩家承诺
NovelToGame 的可执行模型区分当前状态、事件与知识。设计存档前先选回滚方式:自由重选、固定历史只回看,还是某些节点不可逆。选择由游戏体验决定,界面说明必须与实现一致。
原创例子:玩家安排社区灯会,答应摊主保留一处位置,把备用钥匙交给志愿者,并私下得知舞台漏水。存档后读入,位置与钥匙归属要保持;只有听过私下说明的人知道漏水,不能让所有 NPC 自动读到。
“好感 35、进度 60%”无法说明这些事实。先列会改变后续选择的记录,普通环境细节不必全部升为多层状态。
存当前是什么,也记曾发生什么
| 内容 | 当前状态 | 事件或后续读取 |
|---|---|---|
| 钥匙 | 志愿者持有 | 记录交付;库房场景读取归属 |
| 摊位 | 已为摊主预留 | 记录承诺;重新分配时人物会回应 |
| 漏水 | 世界事实已成立 | 玩家和在场者知情,其他人仍未知 |
| 晚间检查 | 尚未完成 | 到约定时间形成任务,完成后结清 |
只存终值,人物可能无法点名玩家做过的事;只存事件,载入每次都要重新推演且容易重复后果。按项目需要结合两者,避免为了某个文件名再造一份没人使用的数据表。
读档不能提前触发或重复结算
如果载入发生在检查时间之前,不能因为重新打开界面就触发晚间任务。已完成检查也不能再次扣资源或重新生成漏水危机。到期事项要保留触发条件、状态与结清记录。
选择另一条路线后,检查未选路线的人物、物件和秘密有没有残留。重开则回到定义好的初态,不只清掉画面文字。AI 可以根据已提交状态写对白,不能在读档摘要里顺手改物件归属或关系。
同一版本、初态与输入应得到同样的状态和事件顺序。表达可以变化,已发生事实不能跟着生成文字漂移。
修订规则时说明旧存档能否继续
改一句提示文案通常不改变存档含义;改行动效果、知识权限或不可逆节点则可能改变。为内容、规则与存档保留版本,提供明确迁移,或说明旧档不能继续,不能悄悄按新规则重新解释旧选择。
用实际候选跑三处:承诺之后存读、后果结清之后存读、分支切换与重开。核对同一物件不会复制、秘密不会扩散、到期任务不会复活。
本方法说明需要保留的创作语义,不规定所有游戏都用同一数据库或文件格式。实际读写、异常恢复与界面效果在目标运行环境验证。
常见问题
所有对白都要放进存档吗?
不必。优先保存会改变决策、知识、承诺与后果的事实。对白若产生新承诺,应经规则确认后保存该事实,不能让聊天摘要替代权威状态。
用 skill 来做
请用 game-build 检查当前叙事游戏存读档,保留当前状态与事件依据,重点跑知识、承诺、物件、到期后果、分支切换和重开。
查看具体方法: 快照、事件与回放合同