ZenStory AI

互动故事与游戏

小说改游戏怎么做:先选一段可玩剧情,再做出第一版

Novel to Game · 更新于 2026-10-15

创作路径做出可玩的游戏原型 · 第 1/4 步

从你拥有或获准改编的小说开始,先选一段玩家能行动、能看到后果的小范围体验。第一段可玩内容要保住原作特有的紧张感,同时限制场景、系统和素材范围。Novel to Game 的七个 skills 依据确认的简报,从分析、概念与设计一路做出一版待检查的游戏。下面的渡口示例先说明如何选范围,再进入制作;做出这一版并通过运行检查,才算真正能玩。拿到这一版后,先分清是文字让人误解、结果违反已定规则,还是自己想改设计,再让它做下一版。下方的作者反馈示例说明怎样把修改圈小,把另一种故事当作新的设计决定来处理。

方法来自novel-to-game10 个方法文件

所属项目 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.md、build/BUILD_BRIEF.md 并构建正式候选版本。首版范围以能验证一次完整循环为准。
  7. 把作者反馈变成一次有范围的修改 点名具体选项或场景,说明自己做了什么、怎样理解或期待,以及实际看到了什么。分开改表达、修实现与改规则;设计、美术和构建各有归属,修一个按钮只动它所属的那一层,概念保持已确认的样子。提出能解决这次阅读或游玩问题的最小改法,并说明哪些不能动。
  8. 在选定环境中验证 运行构建简报记录的命令,用同一次完整运行收集 launch、render、input、coreLoop、outcome 和 restart 证据。在替代环境中测试时,把目标平台独有的输入、打包、性能和设备行为记为限制。
  9. 如实恢复工作 读取 qa/verification.json、证据文件和 _progress.md,先修复最早失败的交接,再重新验证;工具缺失或行为未测试,记为 NOT_RUN、FAIL 或明确限制。

示例

示例

原创范围练习:沿用《有意义的选择》里的渡口处境,只拿一个片段在纸面上推演。

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

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

针对这份简报的三种范围提案: A. 把旅途梗概配上“下一页”。它提供的是阅读体验;本简报承诺“选择改变结果”,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 与设计交接中。存在阻断性冲突时先解决,范围保持已约定的大小。 只构建这个文字与占位素材候选版本,不调用付费素材生成。记录目标与实际测试运行环境。工具缺失或未测试行为如实记为 NOT_RUN、FAIL 或限制。

这个 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.md 与 design/ART_DIRECTION.md;构建说明:build/BUILD_BRIEF.md;候选版本:build/app/。
  • 运行记录:qa/verification.json 及其引用的证据;进度与下一交接:_progress.md。
  • 扩展分支前,可参照有后果的选择示例,把一个场景拆成行动、持久状态与不同结局。

检查结果

  • QA 记录使用 NOT_RUN、FAIL 或 PASS。六项必检为 launch、render、input、coreLoop、outcome、restart;六项证据都来自同一次完整运行。
  • PASS 只覆盖所记录的运行环境、构建与已检查行为。需要评估趣味性、平衡性、商业发布准备或权利清理时,另立任务单独进行。
  • 工具、服务权限不足或目标环境未测试,都保留为明确限制。验证器样例只检查记录格式;改编能否运行,看你自己那次完整运行的证据。

来源

全部指南