Files
SirRoboGarage/CONTEXT.md
T
SirStone b7f49071ba feat(evo-bot): initial setup — architecture docs, sparring partner, GA spike prototype
Cherry-picked Evo_Bot-related files from research/goto-controller:
- CONTEXT.md (domain context)
- ADR-0001: neuroevolution with fixed-topology ANN evolved by GA
- GA parameters research doc
- OscillatorBot sparring partner
- prototypes/ga_gun_spike GA prototype
- 13 neuroevolution reference papers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-08-24 08:34:55 +02:00

2.6 KiB

Evo_Bot

Robocode Tank Royale bot with a modular gun system where evolved neural networks learn to predict enemy dodge behavior.

Language

Evo_Bot: The bot itself — handles movement and firing discipline. Guns are pluggable modules. Avoid: robot, tank

Guess Factor (GF): A value from -1 to +1 representing where on the maximum escape angle arc the enemy is. 0 = directly ahead, -1 = full left dodge, +1 = full right dodge. The gun's prediction target. Avoid: aim offset, dodge index

Max Escape Angle (MEA): The widest angle the enemy can reach before a bullet arrives, computed from distance and bullet speed. Guess factor is multiplied by MEA to get the aim offset.

Lateral Velocity: Enemy speed projected perpendicular to the line between you and them. The primary signal for guess factor prediction. Avoid: tangential speed, sideways velocity

Sliding Window: The last N ticks (default 30) of enemy state fed as input to the network. Each tick contains lateral velocity, heading delta, and wall distance ahead. Avoid: observation buffer, input history

Replay Tape: Rolling buffer of recorded enemy states (~2000 ticks). The evolution thread evaluates gun fitness against this tape. Avoid: experience buffer, replay buffer

Virtual Gun: A gun that runs in parallel without actually firing. It tracks where it would have aimed and whether a simulated bullet would have hit. Used to compare gun variants.

Virtual Bullet: A simulated bullet fired by a virtual gun. Never actually sent to the game engine.

TOPO_Gun: Fixed-topology ANN gun evolved by GA. Network shape is predetermined (e.g., 91-8-1), only weights are evolved. Avoid: static gun, fixed gun

NEAT_Gun: Variable-topology ANN gun where evolution can add/remove neurons and connections (NEAT algorithm). Deferred — only built if TOPO_Gun hits a ceiling.

Population: The set of candidate networks (default 64-200) being evolved. Each member is a complete set of ANN weights.

Champion: The best-performing network in the current GA population. The champion's weights are pushed to the inference side when it beats the current best. Avoid: best, winner, elite

Fitness: Hit count when a network's aim predictions are evaluated as virtual bullets against sampled ticks from the replay tape. Avoid: score, reward

Cold Start: The first-ever battle with no saved weights. The gun does not fire until the evolution thread produces its first champion. Subsequent battles load persisted weights.

Weight Persistence: Saving evolved weights to disk. Load order: per-opponent file, then global fallback, then random initialization. Avoid: model saving, checkpointing