Skip to content

Laser Tag System Design Notes

Status: PROPOSED — idea parking. Scott's early system design notes (pre-dating the 2026-08-30 sessions), recorded 2026-08-30 with annotations. Owner: delan

Most of these are only possible on an owned system — which the vendor research (venue-idaho-research.md §10) confirmed: no commercial vendor exposes a real-time event stream, so this entire document is a specification of the layer EchoSpire owns. Annotations: [ruled] already decided in laser-tag-crossover.md; [validated] independently confirmed by the research digests; an improvement added at recording time; [caution] a flag to resolve before building.

The credit-locked alcoves (new, 2026-08-30)

Equipment stored behind locked alcoves in the equipment room — a fixed number of them — unlockable only with skill credits. Character level gates the quality of the armor inside.

◆ Improvements at recording: the hardware already exists in the parked kit (maglock + LED alcove, ~$30/door — the escape-room parts bin). The fixed number is the design gold: scarcity turns the equipment room into a strategy layer — league teams budget credits for alcove access the way they budget anything else. Merge with the secret-passages idea below: the best cache sits behind credits AND knowledge (the unmapped corridor's door takes both). Legal note: skill-earned credits buying in-game advantage is clean in Idaho (no chance in the earn loop — see research §15); the sealed-league rule still applies — alcove gear is for casual/campaign modes, or league-normalized. Fiction: the alcove is a requisition locker; the printed work order is the receipt. Companion to the ruled "armory as credit sink."

Arena

  • Interactive objects — [validated] the ESP32 node fleet; the arena is a cluster.
  • Secret passages/rooms, entrance sequence different each game; the most powerful weapons hide there — [validated] scrim reveals + fail-safe maglocks (research §1) deliver rooms that "weren't there," and the seed (ruled: the seed is the realm) generates the per-match entrance sequence. ◆ Merge with credit alcoves above.
  • Easily changeable arena, things on wheels locked down — [ruled] the safety line: move light/air/sound/images freely; mass only soft, barriered, overhead, or staff-pushed. Wheels + lock-downs fit "staff-pushed at turnover" exactly.
  • Indoor GPS tracking per vest — [validated, downgraded] UWB in a hazed arena full of bodies is a researched trap (§4 broadcast research). V1 is zone-presence via node doorframes; the event log yields the same analytics. Revisit cm-tracking at flagship budget. ◆ The fiction absorbs the imprecision: the humble map is true but vague.
  • Cameras everywhere → safety panel + food-court projection — [validated] fixed wides + render-from-telemetry (the Unity killcam is the broadcast renderer); food-court projection = the parked spectator screens. [caution] minors on camera: consent in waivers, RAM-only ring buffers where used for echo capture, no-broadcast lane (research §2, §4).

Game Templates

Template = name, run time, style (FFA/teams/etc.), max players, starting difficulty, plus exposed properties of every interactive object (player lights, arena lights/sounds, emitters — radius blasts, story usage — and shootable triggers: doors, NPC kills, smoke/lighting effects, NPC actions). Role-based play (medic/sniper/tank).

  • [validated] This is the format spec + sanctioned action table the championship research demanded: versioned templates ARE the league ("the spec document is the league"), and template + seed = a replayable match.
  • [ruled] Roles = classes = the carried loadout ("factions worn, classes carried").
  • ◆ Player-lights-off (stealth) needs a safety floor: a moving player is never fully dark — minimum position glow or IR-only beacon the system sees but players don't.

The Quest Dial (2026-08-30 — answer to "can quests run all the time?")

Quests-vs-normal is a false binary once the template system exists: a "normal" match is just Template 0. The answer is a dial, not a dedicated arena:

  • T0 "Skirmish" — pure classic tag. Kept forever: purists, leagues, and the balance-data control group. Echoes + two-screen debrief stay on (they're passive).
  • T1 "Work Order" — the walk-in default: one witnessed randomizer modifier + one mid-match event. The queue is the briefing — the modifier card flips on the queue screens while players wait to vest, so the quest wrapper costs zero cycle time. To an 8-year-old it's still "normal laser tag"; it's just not generic.
  • T2 "Contract" — party/group bookings: optional roles, 2–3 objectives, host-led.
  • T3 "Deployment" — the pod, full narrative, scheduled, premium.
  • T4 Campaign/League — persistent consequences; matches write into the Chronicle.

Rules that make it work: T0–T1 are fully automated (nodes + templates + the AI Spire's line pool — no game master on the floor); human-led sessions exist only in scheduled tiers. Walk-in hours serve T1 by default with T0 selectable; deep quests are bookings, not the queue. So: no dedicated "normal-only" arena is needed — "normal" must always be available, which is a template and a schedule, not a building. With two arenas, the natural split is queue arena (T0–T1 rotating) vs scheduled arena (T2–T4); a one-arena Outpost time-slices instead.

Template selection (2026-08-31): who picks the template depends on the tier — selection is a booking-layer feature, never a floor-queue feature. (1) Walk-in queue: rotation, not menu. A tiny venue population fragments instantly if everyone picks from ten templates (the online-games playlist-proliferation lesson) — the floor runs a posted "now playing / up next" rotation, tuned by demand data. (2) Bounded floor vote: the queue screen offers the next match a choice of 2–3 candidate templates; the crowd votes, ties resolved by the Spire — selection feeling without queue fragmentation, and the vote doubles as the witnessed-randomizer theater and as preference telemetry. (3) Booking layer: full selection. Parties and Deployments pick their template (escape-room model; premium templates price premium). (4) Demand-formed sessions: post scheduled sessions with a seat threshold — "Deployment: 7pm Saturday, 9/12 seats" — auto-run at threshold, merge/refund below it by T-24h. This is Scott's "schedule as demand arrives," formalized. (5) League: operator-push, frozen spec. Hot-swap vs cold-swap templates: software-only templates switch between any two matches (the arena is a state vector); templates needing physical changes (periaktoi turns, prop swaps) only switch at turnovers — the rotation schedules cold-swaps at natural breaks. Multi-arena programmability is confirmed critical and is exactly what the owned software-defined arena buys.

Arena Enhancements

  • Dynamic obstacles moving mid-game — [ruled] only within the safety line (soft, barriered, overhead, or staff-pushed). The breathing wall is the sanctioned version.
  • Fog, strobes, wind — [validated] commodity DMX hardware on the sACN bus (research §3); fire-marshal coordination for haze, strobe caps, epilepsy signage.
  • Thematic zones — [validated] the realm-map biome matrix is the cue-sheet source; re-theming is a lighting state + periaktoi turn.
  • AR glasses — [caution — wild tier, parked skeptically] ◆ Headset fleets are the logistics that helped kill The VOID: sanitation, breakage, focal safety while running in the dark, per-session fitting time. The arena already does AR's job with projection and LED — the room is the display. Revisit only when hardware is glasses-weight and venue-proven elsewhere.

Interactive Objects

  • Hackable terminals (reveal positions, disable traps) — [validated] ESP32 node + screen; ◆ the hack minigame can be the Axiom verb, and "reveal enemy positions" should surface on the humble map — hacking shows the true record, on-pillar.
  • Destructible environments — ◆ implement as light: a "destroyed" barricade is a node state (dark/red/passable flag), not broken mass. Repairable by the repair path — destruction feeds the Salvari loop.
  • Power-ups scattered in-arena — [caution] fine as placed-by-seed pickups (skill to reach); never chance-drops tied to credit earning (Idaho: chance may touch fiction and tactics, never the ledger).

GPS and Tracking Enhancements

  • Heat maps — [validated] free projection over the event log; also the echo layer is literally a heat map made of ghosts.
  • Customizable pre-game paths, post-game analysis — ◆ this is the briefing-room planning table feeding the killcam replay; a Deployments feature, and a natural membership perk (your plans and replays live on your profile).

Active Game (the operator console)

Difficulty adjustment, template selection, override anything (shut off a vest, suspend the game, grant abilities live), track progress → award Victory Points → profile update, memberships get local/national rankings.

  • [ruled] This is the Arena Commander = the human authority above the AI Spire (AI narrates and flavors; deterministic hardware adjudicates; the Commander vetoes).
  • ◆ Every override is logged and visible in the post-match true record — the humble ledger applies to staff too. An operator god-mode that leaves no trace would violate the pillar the whole venue is built on.
  • Victory Points — [validated] these became the skill credits (research §15): earn by skill/participation only, never cash-out, two ledgers, closed loop across all EchoSpire facilities.

Player

Leveling (spend VP or $$), attributes (health, armor, lights, regen), handicap from history, player name, historical stats, rank bands (Silver 2, Gold 4), national/local ranking, stat graphs over time, skill tree specialization, welfare monitoring.

  • Handicap is a family-market gem: auto-handicap lets grandma and the teen play the same match honestly. Rules: ON in family/casual modes, OFF in league (integrity), and disclosed — hidden handicaps read as rigged. Fiction-wrap it: "the Spire calibrates."
  • [caution] Leveling by $$: fine in casual/campaign contexts, banned in league (sealed), and $$ must never touch credit earning rates (Idaho compounding risk). Prefer $$ buys cosmetics + campaign conveniences; skill buys power.
  • Skill tree — [ruled context] this is the cross-system RPG: share progression, never stored value; asymmetric gifts between game and arena; league sealed.
  • [caution] Vitals monitoring: real-time biometrics on minors is BIPA-class territory and medical-claim surface. ◆ Staged version achieves the safety goal without biometrics: accelerometer-based "player down / long inactivity" alerts to the Commander console. Revisit true vitals only with counsel.
  • Ranks/leaderboards — [validated] the Laserforce Global-Score pattern; national ranking = the federation ledger (venues as nodes).

Gun

Swappable guns (unlock areas containing different guns — detach/attach), gun leveling via VP/$$ with an upgrade tree (choices lock out others), attributes (rate of fire, accuracy, blast radius, friendly fire, max ammo, lights, volume), notification window (low ammo, low armor, level-ups, K/D, next objective, Arena Commander warnings), per-player sound (music/effects/objective VO — "maybe in a hat"), microcomputer in vest or gun, simulated ammo types (bullet/laser/elemental: lightning, fire, earth, water) interacting with armor types.

  • [ruled] Swappable guns = the class system, staged Gen 1 software → Gen 2 shells → Gen 3 ID-chip modules with real optics differences. Unlock-areas = the credit alcoves above.
  • Ammo/armor types — ◆ trivially buildable on an owned protocol and impossible on commercial gear: the shot packet carries {ammo_type}, the armor profile maps a damage table. The deep version: realm seeds re-weight the ammo/armor matrix per match ("water realm: lightning surges") — the meta changes every game, which is the "new realm every run" promise expressed in combat rules. This one idea justifies the owned protocol by itself.
  • Per-player audio — ◆ the hat is right, and the fiction assigns it: faction headgear (helmet, hood, hard-hat) carries a wipeable bone-conduction or open-ear driver — hygiene-safe (no in-ear contact), leaves ears open for safety, and the AI Spire's pre-rendered line pool + name callouts (research: ~$0.20–0.60/match live path) delivers per-player objectives. Headgear also completes the costume silhouette.
  • Upgrade trees with lockouts — the game's class/House composability, ported; keep tree state on the profile so it follows the player across facilities.
  • Notification window — the gun/bracer display; Commander warnings get a reserved, unmistakable channel (safety messages never share a channel with fiction).

Stubs recorded for later

  • League — see the championship section (seeded async matches, spec-as-league).
  • Achievements — profile layer; cross-system gifts candidate.
  • Memberships — per-household pricing ruled; profile + rankings + booking perks.
  • NPCs — nodes + AI Spire voices; "kill NPC" triggers exist in templates.
  • Bookings — Deployments scheduling; party/ward/corporate group sales.

Companion Phone App (recorded 2026-08-30)

Scott's early feature list: pre-game (profiles, stats/ranks/achievements, spend Victory Points, booking/scheduling, team creation, avatar/loadout customization, gun/equipment upgrades); in-game (real-time personal/team stats, objective/power-up notifications, mini-map with player locations, voice/text chat, Arena Commander messages, remote control of game elements — traps, doors — and hacking mini-games); post-game (performance breakdowns, heat maps, accuracy/movement analysis, friend comparisons, replays/highlights, local/national leaderboards, social sharing, clans); additional (event notifications, personalized offers, arena maps/guides, app settings/themes, store for items/upgrades/cosmetics via VP or real money).

Annotations:

  • The headline: most of this app already exists — it's the video game. One identity (WO-R1), so the player's profile, loadouts, credits, and skill tree live in the EchoSpire game client; the "companion app" is the game with an arena tab. No FEC on earth can ship a companion app that is a full game — the moat again. The one genuinely NEW surface: a lightweight booking/parent app or web flow (reserve, parties, per-household membership management, waivers) — never force a non-gaming parent through a deckbuilder to book a birthday.
  • In-game phone features — [ruled: wrong device]. Phones stay in lockers on the floor: running in the dark while reading a phone is a safety hazard, and open phones in a dark arena full of minors is a filming problem (camera/consent research). Every in-game feature already has a better home: stats/notifications → gun window, bracers, audio headgear; mini-map → arena screens and the humble map; Commander warnings → the reserved audio channel.
  • The redirect that makes the in-game list great: the booth role. "Control elements remotely + hacking mini-games" becomes a fifth seat — one team member in the ops room with the live map, opening doors, triggering constructs, feeding intel (Keep-Talking-style asymmetric play; the Machinist/Axiom verbs as a support station). Also: eliminated players hack from wall terminals while awaiting respawn. Spectator phones in the food court get the read-only live map/stats (the broadcast overlay page, already speced) — parents watching their kids' match from the cafe is a feature worth more than any mini-map on the floor.
  • Post-game — [validated, the strongest section]. Heat maps, breakdowns, replays, highlights are all projections of the event log already built for broadcast; per-player takeaway clips are the researched retention engine (the Veo model); leaderboards follow the Laserforce Global-Score pattern.
  • The app's arena map shows the official map — subtly wrong in the same ways as the laminated one on the wall (the parked "map is the record" idea). Truth is found in the building, never in the app.
  • [caution] COPPA: the app skews under-13 — parental consent, data minimization, no behavioral ads to kids. Build family accounts (parent owns, child sub-profiles), which happens to match the per-household membership exactly.
  • [caution] Voice chat: open in-app voice + minors is a moderation and safeguarding surface no venue should build. Match-scoped push-to-talk on the equipment (headgear), recorded, venue-local. Adult clans can live on Discord.
  • [caution] The store and the 30% tax: real-world purchases (venue card reloads, bookings, physical goods — the Starbucks pattern) are exempt from app-store IAP cuts; digital cosmetics used in the video game are NOT — keep the boundary clean: arena/physical purchases on the card rails, game cosmetics under the game store's own rules. Spending earned credits in-app is not an IAP (no money moves). "Personalized offers" run through the parent account, never targeted at child profiles.
  • ◆ The app is also the cross-media key's home: scan the printed work order → the seed unlocks in the game (already parked).

Simulator

Software testable independent of hardware.

  • [validated, strongly] The pattern is already proven in this repo (the game's headless simulation). The arena version: replay event logs against the rules engine with virtual nodes/guns; the Unity killcam renderer doubles as the visualizer. ◆ Bonus nobody planned: the simulator is also the league dispute resolver and anti-cheat — any match can be re-run from its signed log (duplicate-bridge model), and a log that doesn't re-simulate cleanly is a tamper flag. One spine: game sim, arena sim, broadcast replay, and dispute resolution are the same engine.