ZenStory AI

实用指南

如何用 Novel to Game 把小说改编成游戏候选版本

源码核对日期 2026-09-13

从你拥有或获准改编的小说开始,先选一段玩家能行动、能看到后果的小范围体验,而不是把全书压成梗概。第一份切片要保住原作特有的压力,同时限制场景、系统和素材范围。Novel to Game 的七个 skills 依据确认的简报,从分析、概念与设计推进到构建候选版本。下面的渡口示例先说明如何选范围,再进入制作;只有设计文档,或只有构建成功,都不能算作游戏已经可玩。 拿到候选版本后,先分清是文字让人误解、结果违反已定规则,还是自己想改设计,再要求下一次构建。下方的作者反馈示例说明怎样把修改圈小,而不是把另一种故事当成修错。

所属项目 Novel to Game在 GitHub 查看源码

开始之前

  • 小说文件、目录或链接,以及明确的改编与素材使用边界。能访问文本不等于已经获准改编。
  • 已配置的 Agent 宿主。安装表区分 Claude Code 的 /novel-to-game、Codex 的 $novel-to-game 与 Kimi Code 的 /skill:novel-to-game,请选择对应适配器。
  • 可用的引擎和目标运行环境,或明确的准备计划。模型、媒体与工具服务可能需要另行配置或费用授权。

操作步骤

  1. 安装并选择模式 使用源码 README 中对应宿主的安装行。quick 推荐默认值并继续;director 让你选择概念;resume 读取现有工作区,从最早未完成的交接处恢复。
  2. 确定产品简报 要求建立 PRODUCT_BRIEF.md,明确范围、语言、体验类型、平台、引擎、目标运行环境、实际测试环境、输入与显示要求、内容尺度及权利/素材边界。普通假设可以记录;实质分支或安全敏感决策必须解决。
  3. 先说清来源范围,再挑制作切片 如果要改编整部小说,前三章预览或几个抽样场景不等于全书覆盖。分析流程要求进入概念设计前完成来源覆盖,除非你明确把改编限定在某卷或片段。把这个限制写进简报,并记录缺失或未读部分。“读过但没有相关发现”,与“根本没有读到这一章”不同。首版只做很小一段,不自动授权跳过已经要求的全书分析。
  4. 让改编有原文依据analysis/SOURCE_BIBLE.md 的原文证据与改编边界,再看 concepts/CONCEPT.md 的选定概念和取舍。保留能改变玩家动作、世界回应或视听身份的事实,不逐章复述全部剧情。概念选定段落后,分析阶段再补该段逐事实表。新增玩法例外、状态设计与界面结构属于下游设计,不能倒写成原作证据。想做互动故事时要明确说出,不要默认接受系统型游戏形式。
  5. 选最小范围,但别把承诺的体验一起删掉 点名玩家身份、眼前目标、可用动作、反馈和结果。只比较真正仍开放的取舍,不为凑菜单临时生成几个游戏类型。对下面的渡口简报,只读梗概不能试出选择后果,整座城模拟则需要额外范围与来源材料;一次完整的登船决定就能承载本例承诺。这能展示一个叙事事件,不证明整部小说已经支持可反复运作的经营或战斗循环。切片时长与系统数量服从简报和设计风险,不套通用的“五分钟”或“三个系统”。实际分支设计见有意义的选择
  6. 设计并构建小范围候选版本 依次依据 design/GAME_DESIGN.md、按需的风险匹配白盒、design/ART_DIRECTION.mdbuild/BUILD_BRIEF.md 推进。先把范围控制到能验证完整循环,而不是不断增加功能。
  7. 把作者反馈变成一次有范围的修改 点名具体选项或场景,说明自己做了什么、怎样理解或期待,以及实际看到了什么。分开改表达、修实现与改规则;设计、美术和构建各有归属,修一个按钮不授权重选概念。提出能解决这次阅读或游玩问题的最小改法,并说明哪些不能动。
  8. 在选定环境中验证 运行构建简报记录的命令,用同一次完整运行收集 launch、render、input、coreLoop、outcome 和 restart 证据。替代运行环境通过不代表目标平台兼容。
  9. 如实恢复工作 读取 qa/verification.json、证据文件和 _progress.md,先修复最早失败的交接,再重新验证;工具缺失或行为未测试不能改写成 PASS。

示例

示例

原创范围练习——沿用《有意义的选择》里的渡口处境,不是整本小说的实测分析,也不是已生成的游戏。

正文种子: 末班渡船响过催行的汽笛。乔宁船票上的印章被雨水洇开了。 守船人把票压在登记簿旁,没有撕掉。 “售票处能补凭证,”他说,“但等你回来,这班船就走了。”

把来源分开: - 原文种子给出了印章模糊,以及补凭证会错过本班船。 - 本例作者另行确认:乔宁确实买过票、希望今晚渡河;模糊印章本身不足以让她登船。 - 作者批准的改编例外是新增设计:购票证人作证,加上乔宁同意实名例外登记,即可在本班开船前登船。寻找证人来得及,回售票处补凭证来不及。本设计还约定:补凭证回来后可预约明早的船位;拒绝实名例外则留在岸上。这些结果也属于作者批准的设计。不能把例外与结果归给上面四句原文,也不能倒写成原作证据。 - 没有提供其他章节。本练习明确只改编这个片段,不靠抽样冒充全书改编。

针对这份简报的三种范围提案,不是每次必做的三个游戏概念: A. 把旅途梗概配上“下一页”。它可以提供阅读体验,但不能兑现本简报“选择改变结果”的承诺。 B. 一次完整的登船争议:选择怎样证明购票;对应路线仍可用时,再决定是否接受实名例外。显示今晚出发、留在岸上或预约明早的相应结果,并能重新开始。本练习选这个范围。 C. 整座城与后续旅途,加入探索、交易和大量乘客。这属于额外设计,需要更广的原作覆盖,或作者明确批准的改编新增设计,并重新约定内容预算;不是一概不好,只是不属于当前承诺和已提供的证据范围。

作者可读的切片简报——说明性规划,不是已经创建的 PRODUCT_BRIEF.md: - 玩家:乔宁。目标:争取今晚出发,同时选择愿意承担的凭证与留痕成本。 - 体验:单人、叙事主导;简体中文界面,桌面浏览器,键盘与鼠标。实际可用测试环境另行确认。 - 来源范围:只用所给片段,以及注明来自作者的补充事实;例外规则是批准的改编新增,不是恢复出的原著规则。 - 结构:一次争议、两个选择点、三个明确结果。不承诺未经实际体验的游玩分钟数。具体条件见关联的分支示例,这份简报不替代 GAME_DESIGN。 - 保留:凭证类型和时间影响选项;接受例外会留下明确记录;去售票处后不能悄悄又赶上今晚的船。 - 本切片不做:开放世界旅行、战斗、经济系统、恋爱数值、后续章节与付费素材生成。这个候选版本选择文字和占位素材即可。 - 在定义的结果处结束这次事件;重开恢复初态。结果画面不证明后面的旅途已经发生。

终端——安装 Claude Code 适配器: npx skills add zenstory-ai/novel-to-game -g -y -a claude-code -s '*'

实质选择确定后,再在配置好的宿主里运行完整流程。把输入替换为自己获准使用的片段,作者补充事实和改编新增规则另列: /novel-to-game quick 只改编 /ABS/my-authorized-excerpt.txt,采用上面选定的范围。 不要把片段当成全书。记录来源范围,把作者新增与原文引述分开。将叙事主导承诺、非目标和明确结果保留到 PRODUCT_BRIEF.md 与设计交接中。存在阻断性冲突时先解决,不悄悄扩范围。 只构建这个文字与占位素材候选版本,不调用付费素材生成。记录目标与实际测试运行环境。如实报告工具缺失或未测试行为,不把它们标为 PASS。

这个 quick 请求会继续到构建与测试候选版本,不是只做规划。若只想要分析、概念和设计,应明确要求对应的具名技能阶段及交接文件,然后在构建前停止,示例见《有意义的选择》指南。本文没有实际执行这两类建议请求。

拿到候选之后:三条假设的作者反馈,不是实测记录 以下虚构反馈沿用上面的已批准渡口设计。本指南没有运行生成游戏;这里展示不同改稿任务,不声称候选必有这三个问题,也不新增必须填写的反馈文件格式。

1.“按钮写着‘暂不登记’,我以为之后还能补填姓名,赶上这班船。” 若它对应证人路线里的拒绝选项,可建议改成关联分支示例中的“拒绝实名例外,留在岸上”。改的是选项说明,不是作用。沿用该例证词已经记录的前提,把乔宁是否同意实名例外单独保留;拒绝不抹掉已有证词。先找到现有设计或实现里文案的权威位置,只改相应表达。动作身份、去向和结果不变,不顺手新增又一次登船机会。

2.“我去了售票处补凭证,结尾却说我今晚出发。” 这与已批准的规则冲突:补凭证会错过本班,回来后可预约明早的船位。先分开玩家看到的结尾文案与这次选择实际写入的游戏状态。若状态已经正确保留明早预约,只是文案写了“今晚”,修表达;若规则也把今晚登船机会重新打开,才修相关条件或转换。单凭这条反馈,还不能断定是哪层出错。不能为迁就当前结尾,反改已经确认的时间规则。

3.“我现在想让乔宁拒绝实名例外也能今晚登船。” 这是新设计提案,不是把按钮写清楚。它改变了实名同意与登船的既定关系,也拿掉了原拒绝分支留岸的代价。新故事不一定不好,但要先决定新的取舍与结果。批准后修改受影响的 GAME_DESIGN;只有玩家承诺或范围也变了,才回看 PRODUCT_BRIEF 或 CONCEPT。新增规则仍与 SOURCE_BIBLE 的原文证据分开,不连带改无关美术;也不能擅加一个隐藏惩罚,把旧代价兜回来。

把选定反馈圈成一份小交接: “在证人路线的第二个选择处、证词已经记下之后,我把‘暂不登记’理解成了延期。只把这项拒绝标签改成‘拒绝实名例外,留在岸上’。保留第一个选择、已有证词、单独的实名同意、三个结局、重开行为,以及文字和占位素材的完成形态。指出当前文案由哪里持有、将改什么;不为支持旧标签而改规则。” 这是示意性的作者决定,不是已经修改的实现。处理自己的候选时,应补真实版本、场景或选项锚点及输入顺序,不把这条虚构反馈当作自己运行后的观察。

授权下一轮编辑前,可先发一个纯文字请求: 读取我点名的已有简报、原著圣经、概念、设计与候选相关段落,结合所给反馈,在本次回复里分清措辞问题、违反已批准规则的情况,以及新提出的规则。列出建议改法、归属、冻结项与缺失证据。不只凭结尾一句话猜内部状态。不修改项目文件,不重跑全链,也不生成付费素材;停在提案,等选定修改。 [提供真实工作区路径、候选或版本,以及实际看到的段落或操作。]

选定后,请对应阶段执行有范围的修改,不重新开一轮概念。`resume` 读取实际产物、从最早未完成的交接继续,不是重抽已批准设计的命令。候选原本已有存档或回放记录时,才说明节点标识、动作效果或状态含义的变动是否影响它们;需要时迁移或明确拒绝旧记录,不能当成新历史悄悄解释。不要为填清单给这个小切片新造存档、日志系统。说明实际改了什么、哪些仍未测试;修好这条反馈,不证明游戏已经有趣或所有分支都正确。

预期文件

  • 一份明确的来源范围与体验取舍:切片保留什么、不做什么,扩展还需要哪些来源或作者决定。首版做得小,不等于全书已经分析完。
  • 范围:PRODUCT_BRIEF.md;原文证据:analysis/SOURCE_BIBLE.md;选定概念:concepts/CONCEPT.md
  • 设计:design/GAME_DESIGN.mddesign/ART_DIRECTION.md;构建说明:build/BUILD_BRIEF.md;候选产物:build/app/
  • 运行记录:qa/verification.json 及其引用的证据;进度与下一交接:_progress.md
  • 扩展分支前,可参照有后果的选择示例,把一个场景拆成行动、持久状态与不同结局。

验证结果与边界

  • QA 记录使用 NOT_RUNFAILPASS。六项必检为 launch、render、input、coreLoop、outcome、restart;证据应来自同一次完整运行,不能拼接彼此无关的局部成功。
  • PASS 仅覆盖所记录的运行环境、构建与已检查行为,不认证趣味性、平衡性、商业发布准备程度或权利已清理。
  • 工具、服务权限不足或目标环境未测试必须保留为明确限制。验证器样例只检查记录契约,不证明你的改编能够运行。

来源与版本说明

了解 Novel to Game全部指南