// the take
This is David Ha's reference implementation for the 2018 "World Models" paper — a VAE for visual encoding, an MDN-RNN for learned dynamics, and a small linear controller evolved with CMA-ES, applied to CarRacing and a Doom-based environment. It's for people who want to read the actual code behind a landmark RL paper, not for anyone trying to build on world models today.
Code maps directly onto the paper's architecture (VAE + RNN + linear controller trained separately), which makes it a genuinely useful companion for understanding the method step by step. Includes the actual CMA-ES training logs and best-found weights (carracing.cma.16.64.*.json), so you can inspect real results rather than just trust the paper's numbers. The 'dream_env.py' / 'dream_model.py' setup for training the controller purely inside the learned RNN world model is a nice, self-contained illustration of the paper's central trick.
Dead framework: TF1.x-era code pinned to gym 0.9.4 and numpy 1.13.3 — the README says outright it does not work on gym 0.10+, and neither of those package versions install cleanly on modern Python without real effort. No commits of substance since the paper era; the 2022 push is just a pointer to a different author's TF2.2 reimplementation, meaning this repo itself is effectively unmaintained. Training is distributed via raw bash scripts calling out to GCE (gce_train.bash, gpu_jobs.bash) with no containerization here, so reproducing the original training run requires rebuilding infrastructure that no longer matches current cloud tooling. Not a library — there's no packaging, no API, just scripts per environment, so adopting any part of it means copying and adapting code rather than importing it.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →