ZenStory AI

Interactive stories and games

Adapt a novel scene into meaningful choices and endings

Novel to Game · Updated 2026-09-29

Start with what the player can change, and put choices only there. Make an important decision’s trade-off understandable, then write a response that preserves what the player actually chose. This original ferry scene goes from source facts to two decision points, advance information, a confirmation exchange and three different ending passages. A meaningful choice can also converge on an existing ending as long as its route history carries through, and expressive wording has a place too when it is presented as flavor. What follows is an editorial design draft, written before any build or playtest.

Method fromgame-world-design5 method files

Part of Novel to GameSource on GitHub

Before you start

  • Use a scene you wrote or are authorized to adapt. Separate source facts, author-approved additions and unresolved questions; a character acts only on information they have learned.
  • Choose a small narrative-led experience: one player role, a concrete objective, a few locations and an ending condition. Agency comes from what each choice can change, whatever the number of branches.
  • For host setup and the complete pipeline, use the Novel-to-game quick start. This page focuses on adaptation decisions.

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” on its own is only a mood.
  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 addition, kept apart from the source facts. Record narrative-led scope and limits in PRODUCT_BRIEF.md; let game-concept resolve the concept before expanding it.
  3. Put the known stakes before the commitment In this design, explain both routes while Qiao Ning can still choose: an official duplicate misses tonight’s boat but secures a morning place; testimony preserves the chance to board, while a named exception still needs her separate consent. State these practical stakes through information the character can hear or see. “Ask a witness” and “consent to a named entry” are two separate steps. This is a writing decision for this scene: you decide how the cost is shown.
  4. Describe actions and effects without moral labels Use a verb the character can perform, with only the clarification needed for the decision. “Give my name and accept the exception” says more than “Be brave.” Record what the player knows, when the option is available, what changes and how the scene responds. The state labels below are your own design notation. In particular, a recorded witness statement and consent to a named boarding exception are different facts; declining the latter leaves the former on record.
  5. Reuse the scene, keep the route history The same dock can appear on several paths, but the ticket, testimony, timing and available actions must agree with the selected path. Here the duplicate route ends with a morning reservation; the witness route leads to consenting or remaining ashore. Do not reuse “You board with no record left behind” for all three. Reuse the staging and keep each route’s facts separate.
  6. Write the consequence as a scene, then the state label Show the character doing the selected action and the world answering it. The three passages below use a held place, a written name and a returned ticket, objects already in the scene, to make their different outcomes readable. A line that only expresses tone can share an ending and stay as pure flavor. If the concept promises a lasting response to that line, name the later point where it is read and paid off.
  7. 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: a persuasive sentence still goes through the rules, and evidence or a ticket comes only from them.

Example

Example

Original editorial example — The Last Ferry

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.”

Facts treated as approved within this exercise: Qiao Ning bought a ticket, its stamp is unreadable, and she wants to cross tonight. The keeper cannot accept that stamp alone. Adaptation additions treated as approved here: a purchase witness plus Qiao Ning’s consent to enter her name in the exception register permits boarding before departure. Finding the witness takes little enough time; fetching a duplicate misses this ferry but secures a morning place afterward. Refusing the named exception leaves her ashore. No invented bribe, forged ticket, secret relative or magical shortcut. The added rules were written for this adaptation and are labelled apart from the prose seed.

The dialogue, staging and register presentation below are original adaptation copy the editors wrote by hand around those rules. There are still two decision points and three outcomes, and the story stops at the dock.

1. Let Qiao Ning and the player hear the same explanation first The keeper turned the register toward her. “Bring a duplicate back and I’ll hold a place tomorrow morning. For this crossing, someone who was there when you bought the ticket has to testify. Their statement goes in the book. I also need your consent to enter your name before I can let you board as an exception.” “If I ask them to speak, have I already agreed to that?” “No. You decide about your name afterward. Without that agreement, you stay ashore tonight.”

Decision 1 — show action buttons after this exchange; parentheses are help text visible before selecting: A. Fetch an official duplicate. (This ferry will be gone; a morning place can be held.) B. Ask the purchase witness to testify. (The statement will remain on record; named boarding consent comes separately.)

Do not label these “Follow the rules / Cheat,” or substitute “Good ending / Bad ending” for the player’s own view of the cost. The exception is an approved, legitimate rule here.

2. After the testimony, confirm named-exception consent separately After B, the passenger steps beside the register. “I saw her buy that ticket.” The keeper records the statement and pauses with the pen beside the name field. “They saw you buy it; that is written here. For an exception, I still need to enter your name. Do you agree?”

Decision 2 — only with the witness and before departure: A. Give my name and accept the exception. B. Decline the named exception and stay ashore.

This confirms the cost already explained. A refusal leaves the testimony intact; “Nobody knows you were here” would be false. Issuing a duplicate is itself a ticket-office transaction; this example tracks only the boarding-exception entry.

3. Write three different closures at the same dock Each passage replaces its own route’s outcome copy. The three are mutually exclusive, and the number of decision points stays the same.

Outcome A — official duplicate, a place held for morning: When Qiao Ning returned, the ferry was no longer beside the steps. She laid the duplicate next to the register. The keeper checked its number, made an entry under tomorrow morning and handed it back. “Your place is held.” She tucked the duplicate inside the wet ticket. Tonight’s whistle was long gone, but tomorrow’s place was settled.

This fulfills the reservation itself: the place is held for morning, and the crossing has yet to happen. She did not take the witness route; testimony cannot suddenly grant her boarding tonight.

Outcome B — named exception, boarding tonight: “My name is Qiao Ning. Register the exception.” The keeper wrote her name beside the statement, let her see it, and returned the wet ticket. She crossed the gangplank. As the boat drew away from the steps, she slipped the ticket into her pocket; the line in the register on shore did not disappear with her.

The chosen action and boarding happen, and the exception record stays in the register. Any future use of the record is a separate authorial decision.

Outcome C — no named exception, remaining ashore: “Don’t enter my name. I’m not boarding this ferry.” The keeper left the name field empty, closed the register containing the testimony, and returned the wet ticket. Qiao Ning took it and stepped back from the gangplank. When the boat left, she was still on the stone steps.

The refusal and staying behind remain true; the earlier testimony stays in the register, and no morning place has been reserved for her. Neither “She had finally made the right choice” nor an invented punishment is needed to justify this route.

Design labels (notation for the existing handoff): Initial: proof=none; on_time=true; exception_consent=false; ending=none. proof tracks purchase evidence the keeper accepts; with proof=none she still holds the wet ticket. Having purchase evidence still requires the route’s timing and boarding conditions to be met. on_time indicates only whether the route meets this ferry’s boarding window; the ending passage decides whether the boat is still docked. - Decision 1-A: proof=duplicate; on_time=false; ending=morning_place. End here; do not show Decision 2. - Decision 1-B: proof=witness; on_time=true. The statement has been recorded; enter Decision 2. Here proof=witness covers that testimony and record; consent comes at Decision 2. - Decision 2-A: exception_consent=true; ending=departed_with_record. The prose must deliver both the named entry and boarding tonight. - Decision 2-B: exception_consent=false; ending=stayed_ashore. Retain the testimony, without a named boarding exception, an assumed morning reservation or later boarding. Restart restores the initial values and this scene’s history. This slice ends at the dock. If you later extend it, read back the selected route’s proof, testimony, registration and location, and write later consequences into the new scene.

Design-only request for a configured agent with the skills installed: Use this original scene to prepare a narrative-led adaptation design. Preserve the prose seed; separately label approved adaptation rules and new dialogue. 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 decisions and these three outcomes; write advance information, action buttons, the confirmation exchange and each route’s outcome passage. Separate recorded testimony from named-exception consent; do not manufacture trade-offs through hidden punishment or moral labels. Do not build or generate paid assets yet. List unresolved decisions instead of continuing the journey on my behalf.

Expected files

  • PRODUCT_BRIEF.md: player role, scope, narrative-led intent, language and eventual target runtime; at this stage the deliverable is a design-only handoff.
  • analysis/SOURCE_BIBLE.md and concepts/CONCEPT.md: cited source facts, approved adaptation departures and the chosen experience.
  • design/GAME_DESIGN.md: a small route map, conditions/effects, advance information, action labels, confirmation dialogue and route-specific closing passages, alongside ending rules and slice scope. Put this writing inside the existing handoff file.
  • When you later request a build, use the complete quick start. Trace each intended ending separately.

Check the result

  • Read the choice and its response together: did the player understand the known stakes, did the character actually perform the selected action, and does the ending preserve it? An expressive line can share an ending; every promised causal difference needs a point in the scene or later design where it is read.
  • Check impossible combinations: boarding after the ferry has left, using a witness before finding one, or retaining old consent after restart. Use these as review questions for your implementation.
  • Novel to Game is a skills workflow; the branching logic lives in the game you build, and playtesting tells you whether the endings feel natural and fun. Runtime state commits must follow replayable rules; narration such as “You’re aboard” is expression, and the state follows what the rules commit.

Sources

All guides