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.

Methodology

2024

Groundwork year. The genetic loop takes shape — populations of neural policies, fitness-driven selection, zero gradients anywhere.

1 Jan 202517 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.

All recordings

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.

Compare players

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.

Methodology & caveats

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.