Skip to main content

What it controls

An act is a stage of the story. It limits which characters and locations may appear, states what changes, and explains when the stage can end. In Letter from Mist Harbor, the first act is Tide Before Midnight. It takes the player from receiving the letter to confirming that it came from someone still in the harbor.
Act panel with act name, characters, locations, progress direction, and closure basis

Chinese UI screenshot: act core fields

Act core

Declare every character at the same location

When this act shares its location with an earlier act that already brought a character on stage, this act must place them:
  • They appear here: add them to Available characters and fill in their act goal;
  • They do not appear here: add them to Not appearing in this act.
Leaving both empty blocks Test and Submit for Review: the runtime still treats them as present at this location while this act has not placed them. Not appearing in this act applies to this act only. Add the character back to Available characters in a later act and they return; you do not need to remove the declaration first. It means “they are already gone when this act starts” and does not require staging a departure here — write the departure in the act where it actually happens.

Write the progress direction

Split it into two parts:
  1. Core change: what fact does the player or the world gain by the end of this act?
  2. Change direction: through which different actions can the player approach that change, and what stays up to the player?

Write the closure basis

Use three parts: normal closure (what the player can observe when the act ends normally), early closure (which facts can end it early on a different choice, and which cannot be pretended to have happened), and inherited content (the location, items, clues, intelligence, and state the next act must carry). “Task complete” is not enough; state what the player can actually observe.

Foreshadowing

  • Foreshadowing name: a short identifier for cross-act lookup, distinguishable at a glance;
  • Content: the concrete detail the player can actually reach when it is planted (an object, an action, one line); do not write the full truth yet;
  • Effect: which facts, relationships, or resources change once it is detonated.
Foreshadowing runs as a plant-then-detonate loop: define it in an act’s Foreshadowing, then mark it as planted in an event; detonation never happens on its own, so a later event must explicitly detonate it to close the loop. Every planted foreshadowing needs a detonation or a clear reason to stay open, or the player reads a thread that never pays off.

Events inside an act

Common fields

These are background fields. The player experiences the result through dialogue, observations, clues, and changed access—not through the field labels.

Fine control

Break the event into consecutive story steps, each with:
  • Step name, such as “Confirm the power switch location”;
  • The narrative change this step completes, such as “the player knows the broadcast equipment is behind the waiting room”;
  • Direction guidance and boundaries, such as “the player may investigate the platform first, but a single guess must not count as repairing the equipment”;
  • Driving source: which character, environment, item, or prior fact pushes it.
Each step makes one main change, so the player has a chance to observe and respond.
Required fields: title, act goal, act resolution, and act events. Missing values block testing and review; see Required Fields and Blockers.

Background fields and the player

The act name, connections, character and location selection, progress direction, closure basis, foreshadowing, and event fields are all background direction. The player never sees their text; what they see is the current location description and scene image, character lines and reactions, facts discovered through observation and action, and the location, items, clues, and state carried into the next act. Write player-facing sentences into story background, opening text, location description, clue content, character profile, or ending description—not into act fields.

Player-facing check

If the act allows a player-visible location, character, item, clue, intelligence, or state, open the corresponding player page in a test session and confirm when it appears. The act name alone is not enough to explain what the player sees. Next: Branch.