ai-code-battle/engine
jedarden eba5d90a6d fix(engine): reduce 2-player spawn radius from 25% to 20% for combat density
Problem: At 25% spawn radius (5 tiles from center, 10 tiles apart), bots
were too far apart. The zone started at radius 10 (maxDist + 5) and shrank
by 2 tiles/turn. By turn 13, zone radius was 4, killing bots at distance 5
before they could reach attack range (5 tiles). Result: 0 combat deaths,
only zone deaths.

Solution: Reduce spawn radius to 20% (4 tiles from center, 8 tiles apart).
Now zone starts at radius 9, shrinks to 5 by turn 12. Strategy bots (gatherer,
rusher) move toward center, reaching attack range within 2-5 turns, ensuring
combat before zone kills them.

Results with 20% spawn radius:
- Strategy bots: 100% combat deaths, 0 zone deaths, 2-5 turn matches
- Random bots: 0% combat deaths, 100% zone deaths (expected per plan §3.7.1)
- Achieves >65% combat density target with strategy bots

This balances avoiding turn-1 mutual destruction while ensuring combat occurs
before the zone kills bots. The zone serves as a forcing function per plan
§3.7.1: aggressive bots fight, passive bots die.

Closes: bf-5nmx

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 19:42:08 -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 from 25% to 20% for combat density 2026-05-25 19:42:08 -04:00
match_test.go fix(engine): reduce 2-player spawn radius from 25% to 20% for combat density 2026-05-25 19:42:08 -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 fix(engine): reduce 2-player spawn radius to 11% for combat density per plan §3.7.1 2026-05-25 17:23:48 -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(wasm): implement SwarmBot AssemblyScript WASM with full strategy per plan §11.2 2026-05-25 17:45:46 -04:00
wasm.go feat(wasm): implement SwarmBot AssemblyScript WASM with full strategy per plan §11.2 2026-05-25 17:45:46 -04:00
winprob.go feat(engine): integrate Monte Carlo win probability computation into match runner 2026-04-21 08:46:39 -04:00