Perpetūra: building a route from brief to playable
Each Perpetūra story starts before any prose. This is the shape of the process, with Reine’s route (Belle Époque Paris, 1893) as the running example throughout.
The brief
Before a word is written, the route has a character brief: what she wants, what she fears, which emotional register the story plays in, what the route’s job is in the series. A constraint document, not a character sheet. It names what the route must do to be itself, so the writing can stay on its line.
I open level design the same way. A location brief before geometry: what happened in this space, who uses it, what the player is meant to feel while they’re in it. Skipping the brief doesn’t save time. It just moves the argument to the detail pass, where it costs more to lose.
The research sprint
Once the brief is locked, /new-route triggers a deep-research phase. For
Reine, that meant a research sprint on 1893 Paris: sourced, adversarially
verified, confidence scores on each finding, and an explicit list of things
that seemed right but were refuted.
The output is a research document whose whole job is to surface constraints the brief hadn’t anticipated. Some findings confirmed the plan. Several changed it.
Scaffold before prose
After research, /new-route generates the full story skeleton: an outline,
then a structural stub of all 18 chapters plus prologue and epilogue. Correct
chapter keys, empty prose placeholders, every choice wired so no path is
unreachable. The file compiles and routes correctly before any real prose
exists.
Blockout pass. In level design you don’t dress a space while the navigation is still broken. Same rule here.
Writing chapter by chapter
Prose fills in against the outline, and the outline is there for accountability rather than as a ceiling. I can deviate from it, but that’s a decision, and the reasoning goes in the notes.
Reine is 18 chapters plus three ending variants, written in sequence. Each chapter’s choices feed the lean accumulation that routes the story toward its ending. The player never sees the tally.
The QA gates
Two automated passes run on the finished draft before any human editorial work touches it.
The prose linter catches em-dash counts, repeated sentence openers, name inconsistencies, and style-guide violations. Things a writer stops seeing after the third read.
The structural audit verifies that every chapter node is reachable, every choice is well-formed, every codex entry referenced in the prose actually exists. It’s a connectivity check: the same work as confirming every exit in a level leads somewhere.
The editorial council is a separate step, written up elsewhere in these notes. Reine went through two council passes before release.
Revision in tiers
Fixes go in strict order: spoiler safety first, then structural problems, then over-explanation, then embodiment, then polish. Never out of sequence. Detailing a space whose navigation doesn’t work is the same mistake in both crafts.
Reine’s revision plan documented each fix with tier, rationale, before and after, and the commit that applied it. The plan becomes the audit trail; the audit trail catches regressions.
What done looks like
A shipped story is a data file, three audio tracks, a cast image, codex
entries, a flowchart, and CSS wired to the story’s visual register. The
prose linter passes clean. The structural audit confirms full reachability.
A complete play session at 375px mobile clears without errors. Then the
wip flag flips to false.
The next note goes into what the research phase produced for Belle Époque Paris, and why the useful findings were the ones that constrained the story rather than decorated it.