Docs/PRD.mdOutcome
Who is the player? What must the complete loop feel like?
Alpha-7 Tanks Arena / Engineering field notes
Closing the game-development loop with Codex—from a written contract to something you can test, see, ship, and trust.
01 / The operating model
02 / Specification as executable context
Docs/PRD.mdWho is the player? What must the complete loop feel like?
Docs/DESIGN.mdWarm concrete. Tactical hierarchy. Orange only when it means something.
Docs/SPEC.mdServer authority, client intent, deterministic maps, debug hooks.
Docs/QA_PLAN.mdCommands, screens, interactions, device tiers, honest boundaries.
03 / Architecture follows the contract
The smallest multiplayer architecture is the one where every disputed fact has a clear owner.
04 / Automated floor
shared → client → servermovement · maps · combatproduction bundlespnpm debug:agent:strictcreate → join → ready → countdown05 / Make the game explain itself
Expose the live state, reproduce the condition, and compare the result.
> window.render_game_to_text() { "route": "gameplay", "debug": { "counts": { "players": 8 }, "hud": { "layout": { "overlap": { "matchHeaderWithMinimap": false, "abilityOutsideViewport": false }}} }, "room": { "matchState": "danger" }, "map": { "materialSource": "reference-informed-concrete-v4" }, "arena": { "lighting": { "source": "seeded-directional-v1" }} }
06 / Browser-based validation
07 / Root-cause iteration
08 / Confidence ladder
One green path is a checkpoint—not confidence.
deterministic setup
measure
comparelatency · loss
jitter
reconnecthealthz
WebSocket
CORSphones · LAN
8-player soak
game feel09 / The operating contract
Specify what must be true. Then keep closing the loop.