NEED / Neuroevolution
Morphologies in motion, evolved from noise.
Simulated bodies — cheetahs, walkers, swimmers, landers, humanoids — with one thing in common: no human wrote their controllers, and no gradient ever updated them. This is my master's FYP (final year project), the NEED framework — NeuroEvolution for Effective Decision: evolving neural policies the way nature does, to learn to act without backpropagation.
Environments
8
Recordings on tape
518
Training clips
327
Media archived
416 MB
Research days
1372025
The run
2024 → May 2025. From the first genetic loop to the last recording — one aim throughout: learn to act without backpropagation.
2024
Groundwork year. The genetic loop takes shape — populations of neural policies, fitness-driven selection, zero gradients anywhere.
1 Jan 2025 – 17 May 2025 · 137 days
Thesis season. Operator grid sweeps on CartPole, then the main runs — Lunar Lander, walkers, cheetahs, swimmers, and a humanoid learning to stand. Hybrid selection keeps the search diverse; curriculum learning ramps the difficulty.
Archive · May 2025
Best policies from the season rendered to tape. The recordings carry May 2025 stamps; the thesis was defended 17 May 2025.
The bodies
Eight domains, each its own population and fitness story. Open one to see its clips, weights, and the fitness archive for each generation.
How the bodies learned
Best reward against run length, one line per environment, lifted from the tfevents logs in the repo. Each curve is squeezed to its own peak and its own run length so the shapes compare.
Scalar values logged during training (best reward per generation); the y axis is each environment's own progress toward its final best, the x axis its own run length. Not comparable in absolute terms across environments.
Emergent behavior, playable
The best policies from each environment, rendered to tape. These are the actual archives served by this site, not promotional renders.
Built on experiments, not promises
This is a record of real runs — including the ones that barely moved. My master's FYP, the NEED framework, carried out 2024 into 17 May 2025: a small genetic algorithm of my own, Gymnasium as the playground, and filename metadata as the source of truth. Everything here was learned without backpropagation.
The recipe
A population of neural policies, each a flat vector of weights. Every candidate rolls out in its environment; fitness is the mean episode reward over repeats. Selection is hybrid — novelty mixed with greedy, median-gated past fitness — so being different earns reproduction rights alongside being good. Uniform crossover and polynomial mutation vary the weights, a restructuring pass moves, prunes, and preserves elite connections, and auxiliary rewards plus an ensemble pass add direction and stability.
What the numbers mean
Filename fitness is a mean training value recorded during evolution — not the return of the clip you are watching, which was a separate recording run. Reward shaping and action scaling changed between experiments, so numbers are not directly comparable across all runs. Caveats live on the methodology page.
Where it began
Original sin: CartPole.
The smallest system in the archive is where the toolchain started — archived weights, no video. It is the calibration run: if evolution cannot balance a pole on a cart, it has no business walking a cheetah.
Everything after that — Lunar Lander, the swimmers, the walkers, the humanoids standing up — inherited the same loop: evolve, evaluate, record, archive.
One archived recording: videos_reward_-10_run_30_yKwC_seed_17_18040_20250516_134618_137243-episode-0.mp4