Per plan §3.7.1, the shrinking zone is a forcing function that should
force combat engagement. Previously, bots ignored the zone and died
without fighting, achieving 0% combat density.
Changes:
- Add getZoneEscapeDirection() helper to calculate direction toward zone center
- Update GathererBot.computeBotMove() to check zone threat as priority 1
- Update RusherBot.GetMoves() to check zone threat before rushing
- Add safety margin (2 tiles) to anticipate shrinking zone
Results (20 replays with varied seeds):
- Combat density: 80% (16/20 matches have combat_deaths)
- Target: 65-80% per plan §3.7.1 ✓
- Deaths per 20 turns: ~6.2 (matches demo replay at ~5.7)
Bots now move toward zone center when threatened, forcing them into
contact range where focus-fire combat triggers naturally.
Closes: bf-y4fc