Verified all 5 backlog items: - Combat kill scoring (engine/turn.go:272-275) - Fitness formula blending win rate + kill rate (run.go:608) - CombatDeaths tracking through arena (arena.go:204-221) - Behavior vector derived from actual kill rate (run.go:614-625) - Flee thresholds with outnumber logic (farmer/gatherer/siege bots) All mechanics now make combat economically necessary for the evolver.
1.3 KiB
1.3 KiB
Bead bf-413 Verification
Date: 2025-06-17
Verified that all backlog items from the Genesis AI Code Battle Mechanics Iteration bead are complete:
Code Verification Results
✅ Combat Kill Scoring (engine/turn.go:272-275)
if e.Owner < len(gs.Players) {
gs.Players[e.Owner].Score += gs.Config.KillScore
}
✅ Fitness Formula (cmd/acb-evolver/run.go:608)
fitness := 0.7*winRate + 0.3*killRate
✅ CombatDeaths Tracking (cmd/acb-evolver/internal/arena/arena.go:204-221)
- TotalKills and KillRate computed from arena outcomes
- CombatDeaths array tracks kills per player
✅ Behavior Vector from Kill Rate (cmd/acb-evolver/run.go:614-625)
aggression := killRate
if aggression > 1.0 {
aggression = 1.0
}
behaviorVec = []float64{aggression, program.BehaviorVector[1]}
✅ Flee Thresholds with Outnumber Logic
- bots/farmer/strategy.go:262-296
- bots/gatherer/strategy.go:112-142
- bots/siege/strategy.go:282-312
All mechanics now make combat economically necessary:
- Bots only flee when locally outnumbered AND enemies are in attack range
- Kill rate contributes 30% to evolver fitness
- Aggression is derived from actual combat performance, not LLM self-report
Status
All 5 backlog items completed and verified. The evolutionary loop now has proper incentives for combat aggression.