02 Training presets
Watch topology evolve, or follow a policy’s gradient updates.
Choose a learning experiment…
01 Pretrained & ready to play
Start here. See a controller working immediately.
Choose a ready-to-play example…
▶ Load & play
Recorded training, architecture, and measured limits travel with each model.
Why this dodger works ↗
Forecast → measure → rank. The supplied physics model predicts nine candidate headings for 1.2 s. A small trained network scores their clearance, wall margin and motion. It replans every 0.05 s.
A temporal CNN would learn motion and useful features from successive images. Here, velocity and a physical forecast are supplied explicitly: learning only has to rank the alternatives. The history thumbnails are explanatory, not network inputs.
Removing velocity reduces fresh-test survival from 33/40 to 0/40. That supports the importance of motion information; it does not show that a properly trained temporal CNN would be worse.
Read the model, comparison and limitations →
Course rules & obstacles ↗
The ceiling can be touched. It is a passive rebound surface, not a touch-to-lose zone. The attempt ends when the ball sinks, escapes the course or runs out of time.
Two ramps: change the launch and landing angles.Movable bumper: exchanges momentum with the ball.Low beam: limits high arcs; a rebound changes speed and direction.Single strike: after impact, the club freezes and the ball continues under physics.
The policy observes ball and hole state, not an arbitrary obstacle map. It is trained for this particular layout. Watch actual sinks; a high fitness is not a success percentage.
See the contact fix and fresh-shot validation →
Why the first word works better ↗
Acquire first, then refine. The previous search ignored the poor first loop and kept a saturated cart/joint network. This controller learns from neutral commands and is scored on the entire first word.
We tested fixed and shrinking tolerance with the same starts and training budget. Both worked; the selected shrinking run kept every complete loop's mean error below 20 px on 40 fresh nearby starts. That is approximate tracing, not exact handwriting.
The word and future-target cues are known. Thirteen learned coefficients control the cart and telescopes; the existing physical joint servo holds its neutral bend. No planner draws the actual pen trace.
Compare curricula and see the remaining limits →
Initial energy is supplied Both rods start below horizontal, already rotating inward. PPO controls only cart acceleration after release; there is no further state correction.
● Reference ● NEAT ● CMA-ES ● CNN ● Backprop / imitation
Control study ↗ · What is hard, what needs tuning, and what the measurements show.
Same fixed lengths. Different control.
Analytic Fourier θⱼ(t) = φⱼ + 2πkⱼt / TConstant harmonic speeds; phases supplied.
Learned controller θ̇ⱼ = ωmax · πⱼ(observation)Variable speeds from feedback; phases start at zero.
Geometry knows the curve: fixed arm lengths come from the complete curve’s Fourier coefficients. The controller sees the arm angles, current tip-to-target error and a loop-phase clock. It learns variable angular rates on this repeated curve; it does not receive the complete curve at each step. This is curve-specific feedback, not a claim of unseen-curve tracking. The arms use velocity servos.
Advanced experiments & comparators
The complete catalog, engineered baselines, and paired comparisons.
Full catalog
(custom)
★ new
● changed
● differentiable
● CNN
● experimental
● solved
↗ Differentiable Lab · supporting theory
Compare with
(off)
Core (training)
sim speed · execution path · used while training
Sim speed
1.00x
Inspect slowly when needed. Full power and parallel evaluation are in the top row for faster training.
Full power prioritize training
Auto-peek
Peek interval (s)
5s
Use WASM (C++ accelerated)
?
Parallel eval use more cores
—
Benchmark
—
Core (testing)
used while in test mode · usually you don't need these different
Sim speed
1.00x
Full power (no viz throttle)
Use WASM (C++ accelerated)
Model
algorithm · training · stability · mutation · objective
Training
Algorithm
Full NEAT (species + crossover)
CMA-ES (fixed topology, full covariance)
sep-CMA-ES (diagonal covariance, scales to big networks)
Differential Evolution
Particle Swarm (PSO)
Cross-Entropy Method (CEM)
NEAT-simplified (mutation only — likely worse)
Simulated annealing (N chains)
Parallel tempering (replica exchange)
PPO (actor–critic · backprop + Adam)
FD-GD (finite-difference gradient + backtracking line search)
SPSA (simultaneous perturbation gradient)
Adam (SPSA gradient + per-dim adaptive step)
L-BFGS (quasi-Newton, two-loop recursion + line search)
NES / OpenAI-ES (REINFORCE on μ)
xNES (NES + diagonal exp-scale, per-dim variance)
Exact-gradient neural (backprop through the simulator)
Memetic (population + exact-gradient refinement — GA × grad)
Spring-model trajectory search + LQR catch (experimental)
Spring-model LQR (local feedback controller)
Double reference (nonlinear swing-up → LQR hold)
Triple reference (nonlinear swing-up → LQR hold)
Rigid double trajectory search → LQR catch (experimental)
Single swing-up (energy shaping → LQR)
Rigid double LQR (local upright balance)
Rigid TRIPLE trajectory search → LQR (classical experiment)
Rigid triple LQR (local upright balance)
Mixed-bullet planner (model-based avoidance)
Distill planner → network (behavioral cloning + DAgger — watch it learn)
Saved CMA-ES scorer + physical lookahead
Signing-machine planner (approximate physical tracking)
Fourier arms (analytic curve approximation)
Random search (no learning)
Cuckoo Search (Lévy flights)
Whale Optimization (spiral hunting)
Fish Swarm / AFSA (crowding-aware)
Grey Wolf (α/β/δ leader hierarchy)
ACO_R (continuous ant colony)
Firefly (pairwise brightness)
Bat (echolocation)
?
Differentiable-physics mode. This backend learns by
backpropagating through the simulator (or, for LQR, solving analytically),
not by evolving a population — so the population, mutation, speciation and
curriculum controls below are ignored here. The fitness chart plots
mean-upright over the training horizon each step, and the live
view replays the differentiable rollout balancing a double pendulum.
Initial hidden (NEAT)
0
Initial topology
Hidden activation
Show experimental activations
Neuron activation model
Regime
pure
mixed
pure+mixed (experimental)
Palette
legacy (5)
single
all
Existing nodes can change activation
Max funcs / node
3
Mixture combine
raw (linear)
normalized (softmax)
NEAT + frozen CNN front-end (hybrid)
Also include top-K bullets in NEAT input
Hidden units
6
Hidden layers
1
Initial σ
0.50
Policy
MLP — flat layers (works for any setup)
CNN — phase-space (pendulum / golf only)
3D CNN — spatio-temporal (pendulum only)
CNN — multi-scale local+global (dodge — recommended)
CNN — danger grid 16×16 single-scale (dodge — baseline)
Recurrent — leaky-integrator memory (single pendulum · dropout task)
Initial T
1.00
Cooling rate
0.970
T min (cold chain)
0.05
T max (hot chain)
2.00
Swap interval (gens)
4
F (mutation factor)
0.50
CR (crossover rate)
0.90
Probe ε
0.050
Initial α
0.050
NES σ
0.30
NES α
0.10
Population
Elite ratio
0.20
Tournament size
3
Eval seconds
8
Sim speed moved to
Core panel ·
now goes up to 32×
Rollouts/agent
2
Auto-stop on convergence
Converged gens
20
Min fitness
0.60
Stability tol
0.10
Stability
Hall of Fame
1
Mutation
Mutate topology (NEAT-style)
Weight perturb σ
0.15
Weight reset prob
0.05
Add-conn prob
0.30
Add-node prob
0.03
Toggle-conn prob
0.02
Activation mut prob
0.03
Complexity penalty
0.000
Mixture penalty
0.000
Objective
What to optimize
Show all objectives
Target angle (°)
45°
Ball-speed bonus
0.0
Penalize twitchy control
Smoothness magnitude
0.008
Scene
physics · ball · hole · bullet hell · disturbances · adversarial
Physics
Gravity
900
Damping
0.005
Tilt (°)
20°
Tilt spread (°)
0°
Presets
5°
20°
60°
180°
Tilt direction
Both (default ± random)
Left only (negative)
Right only (positive)
Agent control
Accel (bounded target vel, default)
Velocity (instant, simplified)
Force + drag (physical, no cap)
Rail walls (left/right limits)
Curriculum
Start fraction
0.18
Ramp factor
1.050
Level-up threshold
0.70
Stable gens
2
Levels to target
10
Cart max accel
1600
Cart max speed
600
Cart drag (force mode)
8
Upright assist (geometric)
0.000
Joint friction (2-seg)
0.0
Disturbances
Random pushes during eval
Target
Tip (last bob)
Cart
Mid-joint (multi-link only)
Random free node
Strength
200
Duration (s)
0.00
Smoothing (s)
0.00
Interval min (s)
1.0
Interval max (s)
3.0
Adversarial environments
Adversarial env co-evolution
Env pop size
8
Env mutation σ
0.10
Display
visualization toggles
Display
Show top-N ghosts
Ghost count
5
Tip trail
Show helper indicators
Live activations
Simplified network rendering
Show solution space
Show GA state HUD
Projection
PCA (max variance)
Random projection (re-rollable)
MDS / Sammon (preserve distances)
t-SNE (preserve neighborhoods)
UMAP (k-NN graph + neg sampling)
Distance matrix (N×N heatmap)
Behavior-space (what policies DO)
Reroll random basis
Density heatmap
Spread ellipse