ZenStory AI

Practical guide · 实用指南

Turn a novel scene into meaningful choices and different endings

小说改互动文游:怎样让选择真正改变剧情和结局

Source checked 2026-09-12 · 源码核对日期

Start with what the player can change, not a button for every paragraph. Preserve the source facts, give each choice a cost and a visible consequence, and carry its state into later scenes. This guide turns one original ferry scene into two decision points and three outcomes before handing the design to Novel to Game. These are authored design notes, not a generated game or proof that a build works.

先确定玩家能改变什么,不要给每段小说机械加上按钮。守住原文事实,让每次选择都有代价与可见后果,并把结果带到后续场景。本指南用一个原创渡口场景,演示两个选择点、三个结果怎样交给 Novel to Game 继续设计;示例是作者设计稿,不是已生成或已运行的游戏。

Novel to GameSource on GitHub

Before you start · 开始之前

Steps · 操作步骤

  1. Find the decision hidden in the prose Write the player’s goal, what blocks it, and what they can actually do. In the ferry example the goal is to leave tonight; the obstacle is an unreadable ticket stamp. Asking someone, fetching a document and accepting a recorded exception are actions; “feel anxious” alone is not.
  2. Protect the source before adding routes Put cited facts and uncertainties in analysis/SOURCE_BIBLE.md. Mark the ferry’s witness-and-register exception as an author-approved rule rather than pretending it was found in the novel. Record narrative-led scope and limits in PRODUCT_BRIEF.md; let game-concept resolve the concept before expanding it.
  3. Give each option a trade-off the player can understand Fetching an official duplicate is dependable but misses tonight’s boat. Finding a witness preserves the chance of boarding but requires a named exception. Explain these stakes before the commitment. Avoid differently worded buttons that immediately produce the same information and state.
  4. Describe conditions and effects in plain language For every choice record: what the player knows, when the option is allowed, what changes, and what the player sees. proof, on_time and exception_consent below are design labels, not built-in Novel to Game APIs. A generic affinity meter is unnecessary unless relationships actually change decisions.
  5. Rejoin locations, not erased histories Both routes can return to the same dock and reuse its art. Keep the evidence and missed-departure state: the duplicate route offers a morning reservation; the witness route offers a recorded exception or staying behind. A later scene must read these differences instead of silently resetting them.
  6. Hand over the causal design before expanding production Ask game-world-design to put the state transitions, ending conditions, narrative beats and smallest playable slice in design/GAME_DESIGN.md. Request a design-only handoff explicitly; the main novel-to-game quick mode otherwise continues the pipeline. Plain-language input, if used, should map to permitted actions rather than letting a persuasive sentence invent evidence or grant a ticket.
  1. 从正文里找出真正的决定 写出玩家目标、阻碍,以及玩家实际能做的动作。渡口示例的目标是今晚离开,阻碍是船票印章模糊。询问证人、补办凭证、接受登记例外是动作;“感到焦虑”本身不是。
  2. 先保护原文,再增加分支 将有引用的事实与疑点写入 analysis/SOURCE_BIBLE.md。渡口的“证人加登记”例外要标成作者批准的新增规则,不能假装小说已经写过。在 PRODUCT_BRIEF.md 限定叙事主导的范围和边界,先由 game-concept 明确概念,再扩展分支。
  3. 让每个选项都有玩家看得懂的取舍 回售票处补办正式凭证稳妥,却会错过今晚的船;寻找证人保留登船机会,但要实名登记为例外。提交选择前说明代价,不要只换按钮措辞,转头又给出完全相同的信息和状态。
  4. 用普通话说明条件和后果 逐项写清:玩家已经知道什么、何时能选、选后改变什么、画面或人物如何反馈。下面的 proofon_timeexception_consent 只是设计记号,不是 Novel to Game 内置 API。关系不影响选择时,不必硬加好感度条。
  5. 可以回到同一地点,不能抹掉经历 两条路线都能回到渡口并复用背景,但保留凭证类型与是否错过船的状态:补票路线只能预约明早;证人路线可接受实名例外或留在岸上。后续场景必须读取这些差异,而不是悄悄重置。
  6. 先交清因果设计,再扩展制作 要求 game-world-designdesign/GAME_DESIGN.md 写清状态变化、结局条件、叙事节拍和最小可玩切片。只要设计交接时须明确要求;总入口 novel-to-game quick 默认会继续整个流程。若使用自然语言输入,也应映射到允许的动作,不能靠一句“说服他”凭空造出证据或船票。

Example · 示例

Original editorial example — The Last Ferry (not tool output)

Prose seed:
The last ferry sounded its warning. Rain had blurred the stamp on Qiao Ning’s
ticket. The keeper laid it beside the register instead of tearing it in half.
“The ticket office can issue a duplicate,” he said. “But not before we leave.”

Approved facts: Qiao Ning bought a ticket; its stamp is now unreadable.
She wants to cross tonight. The keeper cannot accept the blurred stamp alone.
Approved adaptation addition: a purchase witness plus Qiao Ning’s consent to
enter her name in the exception register permits boarding before departure.
The witness route is feasible tonight; a trip to the office misses the ferry.
No invented bribe, forged ticket, secret relative or magical shortcut.

Design notes, not executable syntax:
Initial state: proof=none; on_time=true; exception_consent=false; ending=none.

Decision 1 — choose how to establish the purchase:
A. Fetch an official duplicate; the boat will leave before you return.
   Effect: proof=duplicate; on_time=false.
   Visible feedback: the dock is empty; the keeper offers the morning crossing.
   Outcome A: a confirmed morning place, not a successful departure tonight.
B. Ask the passenger who witnessed your purchase to speak to the keeper.
   Effect: proof=witness; on_time=true. A witness statement enters the register.
   Visible feedback: the keeper explains the named-exception requirement.
   Continue to Decision 2.

Decision 2 — available only with a witness and before departure:
A. Consent to the named exception.
   Effect: exception_consent=true; ending=departed_with_record.
   Outcome B: board tonight; the next scene retains the exception record.
B. Decline the registration.
   Effect: exception_consent=false; ending=stayed_ashore.
   Outcome C: remain ashore; do not silently board in the following scene.

Terminal rule: the duplicate route sets ending=morning_place.
No option from the witness branch is available after that ending.
Restart clears proof, timing, consent and ending to their initial values.

Design-only request for a configured agent with the skills installed:
Use this original scene to prepare a narrative-led adaptation design.
Keep the source facts and label the exception rule as my approved addition.
Use novel-game-analyze, game-concept and game-world-design as appropriate.
Write the brief, source bible, chosen concept and GAME_DESIGN handoff.
Keep two decision points and these three outcomes; list each condition, effect
and player-visible consequence. Do not build or generate paid assets yet.
List unresolved decisions instead of expanding the story on my behalf.
原创编辑示例——《末班渡船》(不是工具运行结果)

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

批准的事实:乔宁确实买过票,但印章已模糊。她希望今晚渡河。
守船人不能仅凭模糊印章放行。
批准的改编新增规则:购票证人作证,且乔宁同意在例外登记簿实名登记,
便可在开船前登船。找证人来得及;回售票处则一定错过本班。
不新增贿赂、假票、隐藏亲属或超自然捷径。

以下是设计记号,不是可执行语法:
初始:proof=none;on_time=true;exception_consent=false;ending=none。

选择点1——怎样证明自己买过票:
A. 回售票处补正式凭证;提前告知返回时船已开走。
   后果:proof=duplicate;on_time=false。
   可见反馈:回到空渡口,守船人提供明早的船位。
   结果A:确认明早可走,不算今晚成功渡河。
B. 请见过你购票的乘客向守船人作证。
   后果:proof=witness;on_time=true;证词记入登记簿。
   可见反馈:守船人说明必须实名登记为例外,进入选择点2。

选择点2——仅在有证人且尚未开船时可选:
A. 同意实名登记。
   后果:exception_consent=true;ending=departed_with_record。
   结果B:今晚登船;下一场仍保留这笔例外记录。
B. 不接受登记。
   后果:exception_consent=false;ending=stayed_ashore。
   结果C:留在岸上;下一场不能又默认角色已经登船。

结束规则:补凭证路线设置 ending=morning_place。
到达该结果后,不再允许使用证人路线的选项。
重新开始时,凭证、时间、同意状态和结局都恢复初始值。

交给已配置且安装了相关技能的 Agent 的“只做设计”请求:
用上述原创场景准备一个叙事主导的互动改编设计。
保留原文事实,把实名例外规则标成我批准的新增设定。
按需要使用 novel-game-analyze、game-concept、game-world-design。
交付产品简报、原著圣经、选定概念及 GAME_DESIGN 设计交接。
先只保留两个选择点与这三个结果,逐项写明条件、变化和玩家可见后果。
暂不构建,不生成付费素材;列出待决项,不擅自替我扩写故事。

Expected files · 预期文件

Verify the result · 验证结果与边界

Sources and version notes · 来源与版本说明