Built in the open · lab experiment
Bilevel neuroevolution

Skyline Run AI Trainer AI

An outer NEAT population controls the reward coefficients used by an inner NEAT trainer. Each controller is scored on real level progress, with the hand-tuned rewards rerun as the control.

Play the game: Skyline Run Open the agent AI lab

Meta-training setup

Evaluation horizon per trainer candidate — not the runner's training length (the runner trains open-ended in the AI lab). Runs extend 25% past the horizon, and higher values multiply meta-training time.
Speed
How to read this dashboard
  • An outer NEAT population evolves controllers that tune the game's reward multipliers. Each candidate is scored by running a full inner training session; candidate 1 of every generation runs the hand-tuned rewards as the baseline.
  • Fitness is the tail-weighted average of inner-runner level progress — later generations count more — measured 25% beyond the configured horizon, plus a completion bonus. The course seed rotates every meta generation, so raw fitness is only comparable within a generation — watch the advantage over the baseline instead.
  • Going well looks like: the advantage chart above zero, best level reach climbing toward 100%, and the "Level cleared" badge appearing.
  • The reward multipliers chart shows the knobs the controller is turning — progress, checkpoint, and completion rewards plus the time and death penalties — relative to the 1× dashed line.
Read the deep dive: Teaching the trainer
Meta generation 0
Advantage vs baseline Champion — vs baseline —
Evaluating candidate Candidate 1 is the hand-tuned baseline
Inner generation 0/50
Best level reach How far the current candidate's runners get
Simulation speed 0 ticks/s
Advantage over baseline per generation

Metrics appear once training starts.

Champion vs hand-tuned baseline

Metrics appear once training starts.

Meta fitness per generation

Metrics appear once training starts.

Reward multipliers

Metrics appear once training starts.

Inner-training progress

Metrics appear once training starts.