From 1478a9365cf46de7c7d7d551f1bc4b3d3d785bc3 Mon Sep 17 00:00:00 2001 From: jedarden Date: Sun, 24 May 2026 22:35:15 -0400 Subject: [PATCH] =?UTF-8?q?fix(evolver):=20use=20ConfigForPlayers=20for=20?= =?UTF-8?q?2-player=20matches=20per=20plan=20=C2=A73.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The evolver arena was using DefaultConfig() which has attack_radius2=12 for all matches. Per plan §3.4, 2-player matches should have attack_radius2=36 (6 tiles) to achieve 65-80% combat density. This bug caused evolved bots to learn energy-farming strategies since enemies were rarely in attack range on 40x40 maps with only 3.5 tile radius. With the correct 6-tile radius, bots will experience actual combat during evolution and should develop fighting behaviors. Closes: bf-3lt3 Co-Authored-By: Claude Opus 4.7 --- cmd/acb-evolver/internal/arena/arena.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/acb-evolver/internal/arena/arena.go b/cmd/acb-evolver/internal/arena/arena.go index 88a1ebb..7fdbcb0 100644 --- a/cmd/acb-evolver/internal/arena/arena.go +++ b/cmd/acb-evolver/internal/arena/arena.go @@ -283,7 +283,7 @@ func (a *Arena) runMatch(ctx context.Context, candidateURL string, opp BotRecord matchID := fmt.Sprintf("eval-%d", time.Now().UnixNano()) mr := engine.NewMatchRunner( - engine.DefaultConfig(), + engine.ConfigForPlayers(2, 2), // 2-player match, 2 cores per player per plan §3.4 engine.WithTimeout(a.cfg.BotTimeout), engine.WithRNG(rand.New(rand.NewSource(a.rng.Int63()))), )