ai-code-battle/bots/gatherer
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
..
Dockerfile Complete Phase 2: HTTP protocol and 6 strategy bots 2026-03-24 07:00:38 -04:00
gatherer fix(replay): ensure events array is always populated in turns 2026-05-26 21:12:12 -04:00
go.mod Complete Phase 2: HTTP protocol and 6 strategy bots 2026-03-24 07:00:38 -04:00
main.go feat(bots): add zone bounds awareness to GathererBot, RusherBot, SwarmBot 2026-05-26 08:03:30 -04:00
strategy.go feat(mechanics): reduce flee thresholds and derive aggression from kill rate 2026-06-17 03:51:15 -04:00