Laser Evade

One laser at a time: aim snapshot, warning, then burst. Population runs in parallel each generation; in battle royale mode the round’s winner teaches everyone next round. Camp a wall too long and spikes appear.

Idle
Arena

Bright dot = round winner (highest fitness). Dim dots = everyone else in the same generation, each in a parallel episode. Beams/spikes follow the winner’s world. The view advances only after all dots finish; the server then builds the next generation from that winner (battle royale) or classic GA if you disabled it.

Generation — High score (evolution) — This run — This gen —

Generations

Each dot is one generation (darker = lower best fitness). Click a dot or use the slider on the right.

Generation log

Per-generation deaths (lethal beam vs spike vs survived max steps), mean scores, and what the population struggled with. On this static copy (e.g. GitHub Pages), evolution runs in your browser; the Python server log file is not used.