ai-code-battle/cmd
jedarden d5515e0bca feat(mechanics): reduce flee thresholds and derive aggression from kill rate
## Flee Threshold Changes
- Reduced flee threshold from AttackRadius2+4 to AttackRadius2 (no buffer)
- Modified bots: farmer, gatherer, siege
- Bots now only consider enemies in actual attack range, not preemptively
- Added outnumber logic: only flee when nearbyAllies < nearbyEnemies

## Behavior Vector Changes
- Derive aggression from actual kill rate (not self-reported)
- Formula: behaviorVec[0] = min(killRate, 1.0)
- Preserves existing economy value or defaults to 0.5
- Enhanced logging to show derived aggression value

## Rationale
Aggression must be economically necessary, not just rewarded.
Previous flee logic created a false safe option that discouraged combat.
Now bots only flee when actually outnumbered within combat range.

Related: bf-413 genesis bead tracking mechanics iteration
2026-06-17 03:51:15 -04:00
..
acb-api feat(api): add GET /api/status/{bot_id} endpoint per plan §8.2 2026-05-25 16:53:03 -04:00
acb-enrichment fix(dockerfile): correct golang version from 1.24 to 1.25 2026-06-04 08:52:03 -04:00
acb-evolver feat(mechanics): reduce flee thresholds and derive aggression from kill rate 2026-06-17 03:51:15 -04:00
acb-index-builder feat(evolution, web): add live match counter per plan §16.18 2026-05-26 19:57:57 -04:00
acb-local Implement SiegeBot: spawn-lockout strategy 2026-06-17 01:02:01 -04:00
acb-map-evolver style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
acb-mapgen fix(mapgen): align spawn radius comment with actual implementation (30% vs 15%) 2026-05-26 19:28:49 -04:00
acb-maps-loader style: format Go files with gofmt 2026-05-25 15:33:38 -04:00
acb-matchmaker style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
acb-wasm style: apply gofmt alignment fixes across codebase 2026-05-24 10:40:33 -04:00
acb-worker feat(engine): add pre-generated map loading from map library 2026-05-25 14:14:27 -04:00