compw00ter — Admin Panel & Live Curation
Date: 2026-06-21 Status: Design — captured; live-control depends on the (not-yet-built) game engine.
A host-facing admin panel that does two jobs: edit heroes (the existing Hero Builder) and live-curate a running match like a Dungeon Master — optionally. The game runs fine on its own; the admin just gets to stir the pot.
The core idea — a human director over the AI director
The engine's AI-Director-lite already paces incidents and bosses automatically. The admin panel surfaces that plan and lets a human override and inject on top of it:
- The game never requires curation. Left alone, it plays itself. The admin augments.
- Foreknowledge: upcoming director-scheduled incidents and bosses are shown to the admin on a timeline so they can see what's coming.
- Intervene: the admin can pull anything forward (trigger now) or inject new chaos by hand — and reach into a specific player to fire their trait manually.
Two parts
1. Hero Builder (already built — PHP)
Create/edit heroes, abilities, traits, and the vocabularies. Writes the SQLite DB the engine reads at match start. (This is the tool we've been building.)
2. Live Game Control (new — part of the engine build)
A privileged admin client of the Node engine (WebSocket), showing live match state plus a timeline lane of scheduled/imminent events. Controls:
- Timeline view — the director's planned incidents & boss arrivals on a time lane (the next ~minutes), each with a "trigger now" to pull it forward.
- Cause an incident — inject one on demand: pick type (Tech / Social / Supply / Chaos / Smoke Break / Food), location or target player, and severity.
- Drop a boss — summon The Wife or The Martin immediately.
- Trigger a trait — pick a player and fire their trait by hand, overriding the meter condition (manual override — it doesn't wait for them to hit the threshold).
- (Nice-to-have, later: pause/cancel/reschedule an upcoming director event, not just trigger it.)
Who runs it
The host runs the admin panel on their own screen — a curator/DM role, not one of the ten playing heroes. One admin per match. (Open: allow a player to also hold the admin panel? Default assumption: dedicated host.)
Architecture fit
- Hero Builder: PHP + SQLite (as built), served by Apache.
- Live Game Control: a special admin role on the Node engine (port 6767) over WebSocket, authenticated/flagged as admin, able to send privileged commands (inject-incident, drop-boss, fire-trait, trigger-scheduled) that the authoritative engine validates and applies.
- The two are linked from one host UI, but are technically separate surfaces (PHP content tool vs real-time engine client).
Why it's good
- Live storytelling: the host can time a Martin to crash the Saturday-night quiz, or fire b0n1's flood right as the team's coasting — comedy and drama on demand.
- Safety valve / difficulty dial: if a run is too easy or too brutal, the host can nudge it.
- Zero-pressure: because nothing's required, a host who just wants to play along can ignore it entirely and let the director run the show.
Scope
- Now: Hero Builder (done). This spec records the live-control design.
- Later (with the engine): the Live Game Control surface — it can't exist until the Node engine and its event/director systems do.
Open questions
- Admin = dedicated host, or can a player curate too? (Assumed: dedicated host.)
- Trigger-now only, or full edit of upcoming director events (cancel/reschedule)?
- Manual trait fire — does it also apply the normal aftermath (meter reset, the spawned incident), or just the visible effect? (Assumed: full normal aftermath.)