Every file in this project is a piece of a single fiction: a stationary survival reality-TV show where a contestant wakes up in a 12×12 cell with a streaming rig that is already live. Nothing here is a generic RPG adventure bolted onto that premise — the economy, the audience, the rooms, and the exits all exist to make one thing true: the player would rather stream than escape, and the Warden wants it that way.
The thing the whole design serves
The loop is the point. Stream → the audience grows → viewers turn into Escape Points → those points buy upgrades → the room and the show grow → eventually the door opens. Every file type is a valve on that loop somewhere:
- Character — the contestant. Stats, energy, following, Escape Fund, gear. The thing that plays the loop.
- NPC — everyone in the fiction around the contestant: chat regulars, Warden staff, guests, rivals, sponsors. People the loop happens to, and in front of.
- Equipment — the physical rig and comforts the contestant owns. Feeds your viewers and subs without draining energy.
- Upgrade — what Escape Points buy in the Warden's Market. Room expansions, gear tiers, comfort, and the escape routes.
- Stream Event — the unscheduled beat that interrupts any stream. Weighted; some help, some hurt. This is where the show's chaos lives.
- Holodeck Scenario — a paid, deliberate break from the loop: a scenario pack that costs energy and returns content.
- Location — where the contestant is, from the starting cell up through the full house and the hallway beyond the door.
The rule to hold onto
If you are adding a file and you are not sure which type it is, ask what role it plays in the loop. Does it happen to the contestant during a stream? It's a Stream Event. Does the contestant decide to buy it to grow? It's an Upgrade. Is it a person in the fiction? It's an NPC. Does it sit in the room and quietly make the rig better? It's Equipment. The types overlap on purpose, but each answers to a different valve on the loop — keep a thing under the one valve it actually turns.
Where states live
The contestant's current numbers — energy, followers, subs, Escape Fund, viewers, streams completed — live on the Character. Follower milestones (1k/5k/10k/25k/50k) and the three escape roads are described in the Player's Handbook, not modeled as busy data, because they are milestones on the character's own counts. The room a contestant currently occupies is a Location; when they buy an upgrade that transforms the space, point them at the new location rather than editing the old one — The Room becomes The Apartment becomes The House, each its own file.
The startingViewers field on Character is the one derived number worth knowing about: it blends followers, presence, and gear and is computed, not hand-entered. Edit its inputs — followers, stats.presence, or the gear it references — and the number follows. Never try to type over a computed value.