fix(engine): correct ZoneShrinkStep to 2 per plan §3.7.1

Plan §3.7.1 specifies ZoneShrinkStep = 2 for both 2-player and 3+
player configurations. The code incorrectly had ZoneShrinkStep = 1,
causing the zone to shrink too slowly and giving bots more time to
spread out instead of forcing contact.

This fix increases zone shrink rate from 1 to 2 tiles per step,
creating stronger pressure for bot engagement per the plan's
forcing function design.

Closes: bf-3dh4
This commit is contained in:
jedarden 2026-05-25 16:45:12 -04:00
parent 62f94ff0ef
commit 1769f6cf89

View file

@ -242,13 +242,13 @@ func ConfigForPlayers(numPlayers, coresPerPlayer int) Config {
if numPlayers == 2 {
cfg.ZoneStartTurn = 10 // Per plan §3.7.1 to force combat before bots can spread
cfg.ZoneShrinkInterval = 1 // Per plan §3.7.1
cfg.ZoneShrinkStep = 1 // Zone shrinks at same rate as bot movement (1 tile/turn)
cfg.ZoneShrinkStep = 2 // Per plan §3.7.1: 2 tiles per step forces engagement
cfg.ZoneMinRadius = 2 // Per plan §3.7.1: 2-player min radius
cfg.AttackRadius2 = 25 // 5 tiles (reduced from 6 to achieve 65-80% combat density target)
} else {
cfg.ZoneStartTurn = 10 // Per plan §3.7.1
cfg.ZoneShrinkInterval = 1 // Per plan §3.7.1
cfg.ZoneShrinkStep = 1 // Zone shrinks at same rate as bot movement (1 tile/turn)
cfg.ZoneShrinkStep = 2 // Per plan §3.7.1: 2 tiles per step forces engagement
cfg.ZoneMinRadius = 1 // Zone diameter (2) < attack radius (3.5), forces contact
cfg.AttackRadius2 = 12 // 3.5 tiles per plan §3.4 (3+ player)
}