From 1769f6cf89b1ed54d26e165cc743226ccde88265 Mon Sep 17 00:00:00 2001 From: jedarden Date: Mon, 25 May 2026 16:45:12 -0400 Subject: [PATCH] =?UTF-8?q?fix(engine):=20correct=20ZoneShrinkStep=20to=20?= =?UTF-8?q?2=20per=20plan=20=C2=A73.7.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- engine/types.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/types.go b/engine/types.go index 1b6fb07..f5e33f6 100644 --- a/engine/types.go +++ b/engine/types.go @@ -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) }