2026-07-03·3 min read

Perpetūra: building a route from brief to playable

field-notesperpeturaclaude-codewriting

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.