fix(engine): reduce zone min radius for 3+ player to force combat contact

For 3+ player matches, ZoneMinRadius was 3 (zone diameter 6) but attack
radius is only 3.5 tiles (AttackRadius2=12). Bots at opposite edges of
the final zone were 6 tiles apart - well outside attack range - allowing
energy farming without forced combat.

Set ZoneMinRadius=1 for 3+ player (zone diameter 2 < attack radius 3.5),
guaranteeing any two bots in the final zone are within attack range.

Tested with acb-local: 6-player match now shows combat_deaths>0 for all
players. 2-player unchanged (ZoneMinRadius=3, attack radius 6).

Closes: bf-1qg4
This commit is contained in:
jedarden 2026-05-24 22:50:43 -04:00
parent 1478a9365c
commit c80a02f39b

View file

@ -249,7 +249,7 @@ func ConfigForPlayers(numPlayers, coresPerPlayer int) Config {
cfg.ZoneStartTurn = 15 // Start zone at turn 15 for 3+ players (per plan §3.7.1)
cfg.ZoneShrinkInterval = 2 // Shrink every 2 turns per plan §3.7.1
cfg.ZoneShrinkStep = 2 // 2 tiles per interval (per plan §3.7.1)
cfg.ZoneMinRadius = 3 // Final zone diameter (6) forces bots into attack range (3.5)
cfg.ZoneMinRadius = 1 // Zone diameter (2) < attack radius (3.5), forces contact
cfg.AttackRadius2 = 12 // 3.5 tiles per plan §3.4 (3+ player)
}