ai-code-battle/engine
jedarden 9dae3bd3de fix(engine): reduce 2-player spawn radius and zone shrink step for combat density
Problem: Plan §3.7.1 claims 65-80% combat density for 2-player matches,
but actual testing showed 0% combat deaths. Zone killed all bots before
they could fight.

Root cause:
- Spawn radius 50% (10 tiles from center) put bots too far apart
- Zone shrink step 2 tiles/turn was too fast
- Bots died to zone before reaching each other

Solution:
- Reduce 2-player spawn radius from 50% to 10% (~2 tiles from center)
- Reduce zone shrink step from 2 to 1 tile/turn (slower zone)
- Bots now spawn close enough to reach safe zone and fight

Results:
- Before: 0% combat density (all zone deaths)
- After: 100% combat density (2 deaths per match across 20+ test matches)
- Tested against: swarm/gatherer, hunter/rusher, guardian/random

Updated TestSpawnRadiusOutsideZone to TestSpawnRadiusWithinReach to
reflect the new design (spawn within reach of safe zone, not outside).

Closes: bf-1jya
2026-05-25 13:50:09 -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 style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
bot_http_test.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -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 style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -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 style(engine): align struct field names in GameState 2026-05-24 19:19:45 -04:00
grid.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
grid_test.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
integration_test.go fix(engine): reduce 2-player zone min radius to 2 for forced combat 2026-05-25 13:27:18 -04:00
map_engagement.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
map_engagement_test.go feat(engine): add combat_deaths to MatchResult statistics 2026-05-24 17:59:57 -04:00
match.go fix(engine): reduce 2-player spawn radius and zone shrink step for combat density 2026-05-25 13:50:09 -04:00
match_test.go fix(engine): reduce 2-player spawn radius and zone shrink step for combat density 2026-05-25 13:50:09 -04:00
replay.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
thumbnail.go style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
turn.go feat(engine): add combat_deaths to MatchResult statistics 2026-05-24 17:59:57 -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 fix(engine): reduce 2-player spawn radius and zone shrink step for combat density 2026-05-25 13:50:09 -04:00
winprob.go feat(engine): integrate Monte Carlo win probability computation into match runner 2026-04-21 08:46:39 -04:00