ai-code-battle/engine
jedarden 16d474aceb feat(engine): add shrinking play-zone (storm) for combat density
Add configurable active zone that contracts toward map center on an interval,
forcing bots together to trigger focus-fire engagements. Bots outside the zone
die with reason "zone", and zone bounds are recorded in replay turns.

Config fields:
- ZoneEnabled: enable/disable the zone
- ZoneStartTurn: turn when zone starts shrinking (default 50)
- ZoneShrinkInterval: turns between shrink steps (default 5)
- ZoneShrinkStep: tiles to shrink each step (default 2)
- ZoneMinRadius: minimum zone radius (default 10)

Turn sequence update: MOVE → COMBAT → ZONE → CAPTURE → COLLECT → SPAWN → ENERGY_TICK

Zone phase inserted after COMBAT, uses toroidal distance calculation,
and emits bot_died events with reason "zone" for killed bots.

Replay update: ZoneBounds struct added to ReplayTurn to record center,
radius, and active state per turn for visualization.

Determinism verified: all tests pass, engine remains deterministic.

Closes: bf-2g96
2026-05-24 10:01:34 -04:00
..
auth.go fix: resolve universal stalemate — signing format and secret decryption 2026-04-30 21:48:25 -04:00
auth_test.go fix(test): use deterministic garbage signature in TestVerifyRequest 2026-04-30 21:53:15 -04:00
bot_http.go phase-9: implement bot debug telemetry with values and heatmap support 2026-05-08 11:02:43 -04:00
bot_http_test.go fix(engine): enforce strict HMAC response signature verification per §4.4 2026-04-22 13:18:10 -04:00
bot_local.go Implement Phase 1 core engine: grid, combat, fog of war, turn execution 2026-03-24 01:48:27 -04:00
bot_strategies.go feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
bot_strategies_phase13.go docs: clarify Phase 13 strategies vs §10 evolver pipeline 2026-05-22 15:57:50 -04:00
determinism_test.go Complete Phase 1: add connectivity validation and determinism tests 2026-03-24 03:44:44 -04:00
game.go feat(engine): add shrinking play-zone (storm) for combat density 2026-05-24 10:01:34 -04:00
grid.go Implement Phase 1 core engine: grid, combat, fog of war, turn execution 2026-03-24 01:48:27 -04:00
grid_test.go feat(engine): add TestINV6_ToroidalBounds property-based fuzz test 2026-05-03 23:52:44 -04:00
integration_test.go feat(worker): add map engagement score tracking and verify win_prob in replays 2026-05-03 23:21:57 -04:00
map_engagement.go feat(worker): implement map engagement scoring per plan §14.6 2026-05-04 02:28:45 -04:00
map_engagement_test.go feat(worker): implement map engagement scoring per plan §14.6 2026-05-04 02:28:45 -04:00
match.go Spawn bots at all cores, increase default CoresPerPlayer to 2 2026-05-17 23:38:22 -04:00
replay.go feat(engine): add shrinking play-zone (storm) for combat density 2026-05-24 10:01:34 -04:00
thumbnail.go feat(config): add season_id + rules_version to Config per §4.2 2026-04-22 18:09:26 -04:00
turn.go feat(engine): add shrinking play-zone (storm) for combat density 2026-05-24 10:01:34 -04:00
turn_test.go fix(engine): use core1 variable in spawn priority tiebreak test 2026-04-22 14:45:06 -04:00
types.go feat(engine): add shrinking play-zone (storm) for combat density 2026-05-24 10:01:34 -04:00
winprob.go feat(engine): integrate Monte Carlo win probability computation into match runner 2026-04-21 08:46:39 -04:00