# MVP gameplay balance This document locks the compact gameplay configuration evaluated for Milestone 014. Human confirmation of the revised map belongs in `docs/PLAYTEST_REPORT.md`. ## Locked configuration | Parameter | Locked value | Purpose | | --- | ---: | --- | | Maze dimensions | 32 x 32 cells | Square map with one eighth of the former area | | Initial vision radius | 3 cells | Current-view-only exploration | | Cross-half connection pairs | 2 | Four seam crossings between conceptual halves | | Extra cycle pairs | 8 | Proportional route density without removing dead ends | | Minimum start-to-exit separation | 22 cells | Linear scaling by approximately the square root of eight | | Landmark pairs | 2 | Four spatial-memory cues in symmetric positions | | Vision-artifact pairs | 1 | Two one-use artifacts; preserves the MVP minimum | | Compass pairs | 1 | One compass for each player's own exit | | Movement cooldown | 150 ms | Server-enforced minimum accepted-move interval | | Enhanced-vision duration | 10 successful moves | MVP artifact duration | | Draw window | 200 ms | Authoritative simultaneous-exit boundary | | Match timer | None | Matches end only by defined result conditions | The values come from `maze32_maze_default_config()` and `maze32_game_default_config()`. They are server-owned defaults; browser clients cannot alter them. ## Deterministic generation evidence `test/host/test_maze_generation.c` generates and validates seeds 0 through 1,023 with this configuration. For every generated map it proves reachability, central symmetry, positive cycles and dead ends, at least four cross-half connections, paired player-relative route distances, and this balance invariant: ``` start_to_key_distance >= key_to_exit_distance ``` The test measures shortest traversable routes, not straight-line distance. It therefore establishes that finding a key is never made easier by a shorter required route than the later exit search. It does not substitute for human search behaviour in a maze with fog of war, landmarks, compasses, and artifacts. The most recent recorded sweep (2026-09-08) reported: | Metric | Observed range across 1,024 seeds | | --- | ---: | | Cycles | 19..19 | | Dead ends | 74..128 | | Start to key | 93..422 cells | | Key to exit | 84..352 cells | | Start to exit | 26..242 cells | | Generation attempts | 1..2 | At the 150 ms cooldown, an uninterrupted shortest 93-cell key route takes at least 13.95 seconds of accepted-move time. Actual match duration also includes route discovery, current-view-only navigation, the exit search, detours, interactions, and player decisions. The approximately five-minute target must be confirmed by the representative human-playtest procedure; no hard timer is introduced to force that outcome. ## Tuning decision The topology and object counts were reduced with the map area while retaining the three-cell base view, ten-move artifact effect, 150 ms cooldown, and 200 ms draw window. These interaction values remain unchanged until representative playtesting of the compact map supplies evidence for a further adjustment. If playtesting identifies a material duration or navigation problem, change only the smallest relevant locked value, rerun the 1,024-seed suite, record the new range here, and repeat the affected playtests.