Designing the Sacred Timeline
The rewind mechanic is the thesis of CONTRABAND. Getting it right took more iteration than any other system. Here's how it evolved from "save/load reskinned" to something that actually says what the game wants to say.
The original idea
The first prototype had a simple save/load system dressed up as timeline branching. You picked a choice; if you didn't like the outcome, you reloaded. The UI called it "rewinding" but mechanically it was just a load. Playtesters said it felt good mechanically but narratively flat. The game had no reason to claim that timelines branch; it just looked like a standard RPG with save scumming encouraged.
The breakthrough happened when a playtester asked: "If I rewind, what happens to the version of me who made the other choice?" The right answer, for this game, turned out to be: that version is still real. The timeline you walked away from did not cease to exist. It exists in a ghost branch, and characters who can perceive ghost branches — Vex, the Oracle, the Weavers — remember what happened there.
The technical challenge
Making ghost branches real required storing every decision, not just the current state. Each rewind creates a new branch entry in a tree structure; old entries persist. The save file grows linearly with total decisions made across all branches, not just the active one.
For a 20-hour game with 63 narrative scenes and roughly 200 decision points, a fully-branched save is about 80KB of JSON. Not small, but not enormous either. I considered compressing it; I decided not to. The transparency of readable JSON is valuable for debugging and for players who care.
The narrative challenge
Characters who remember ghost branches had to be written as if they had actually lived those branches. Vex's dialog is full of callbacks to choices the player made in branches they abandoned. This required writing every decision path, not just the "current" one — and writing characters who could reference them without being confused.
The solution was to write characters outside of branches. Vex does not exist in a specific timeline; she exists as the convergence of many. Her dialogue system can draw from any branch because she, narratively, has access to any branch. The Oracle works the same way but stronger — she speaks only in future tense because she has already experienced the conversation in some timeline.
The UX challenge
Players needed to understand that the timeline was real without being lectured. Early prototypes had tutorial pop-ups explaining the rewind system. Playtesters ignored them. I replaced the tutorials with a single visual: the Sacred Timeline panel, a vertical spine with branching horizontal lines. Players opened it once out of curiosity and understood the system in 30 seconds. No explanation needed.
The panel is intentionally clickable on any node. You can rewind to any past decision by clicking. This is more convenient than most RPG save systems and is the mechanical reward for understanding the concept. Players who experiment with the timeline are rewarded; players who don't can ignore it.
The balance challenge
Making rewinds free would have trivialized consequence. Making them costly (limited uses, credit cost, etc.) would have broken the "every timeline is real" fantasy. The solution was to make rewinds free mechanically but expensive thematically. The Scourge AI tracks rewind origins and sends reinforcements. The Weavers warn about tree instability. The Oracle charges extra memory from "heavy branchers." Rewinding feels psychologically costly even when it isn't mechanically gated.
This is the part I'm most proud of. The mechanic stays accessible, but the game's fiction makes you feel the weight of what you did in abandoned branches. Players tell me they often choose not to rewind a bad outcome because "that's what happens now."
What I got wrong (initially)
Version 1 of the Sacred Timeline allowed combat rewinds to undo combat state entirely. Playtesters used this to grind difficult fights — lose, rewind, try again with better knowledge. It worked mechanically but broke the fiction badly. Combat was supposed to matter. Rewinding to redo it made nothing matter.
Version 2 changed the rule: you can rewind to before combat started, but you cannot rewind within combat. Once a fight begins, you commit. This made combat matter again. The silent rewind (learned from Vex at +80 reputation) is the only exception, and it's gated behind reputation specifically to make it feel earned.
What I learned
Narrative mechanics need fiction that supports them. The Sacred Timeline works because the world of CONTRABAND believes in branches. If the world didn't believe, the mechanic would feel like save/load. Every mechanic in a game is a collaboration between code and story. Getting them to align is the design work.
I also learned that telling players "every choice is real" is not the same as showing them. The most convincing moment in any playtest was when Vex said "in the other version, you killed me." Players who had actually killed Vex in a branch they abandoned sat up straight and understood. That single line did more work than any tutorial.