Skip to content

Teach AI to imagine how its world works.

Simulusion trains world models: AI that watches a world, learns its rules and imagines what happens next.

What is a world model? A simulator the AI builds for itself.

Most AI learns by trial and error in the real world: slow, costly and sometimes unsafe. A world model watches instead. It learns the rules well enough to imagine what happens next, so an agent can practise in its head.

  1. A real frame of the cartpole task

    1 · Observe

    It watches the world

    Real frames go in and are squeezed into a small internal state.

  2. 2 · Imagine

    It dreams ahead

    That state rolls forward on its own. No real world needed.

  3. Return 75 → 49360k steps

    3 · Act

    It learns from the dream

    Rewards it imagines teach it to act, then it acts for real.

Every model runs the same loop. Swap the model, keep the loop.

  1. 1 · WORLD

    Pick a world

    env_backend="dmc"
  2. 2 · MODEL

    Pick a model

    create_model("dreamer")▾
  3. 3 · TRAIN

    Train it

    agent.train()
  4. 4 · IMAGINE

    Let it imagine

    make_stepper(agent)

Twelve models, four ways to imagine. Each family dreams in its own way.

  • Latent state

    Imagine in a hidden state

    Squeeze the world into a small hidden state, then imagine forward from there.

  • Discrete tokens

    Imagine like a sentence

    Turn each frame into a handful of tokens and predict the next ones, like words.

  • Diffusion

    Imagine by denoising

    Draw every next frame out of noise, one denoising step at a time.

  • Representation

    Imagine what things mean

    Predict what hidden parts of a picture mean, not their exact pixels.

See all twelve modelsBrowse all twelve models
recording · dreamer · cartpole swing-up
Real environmentImagined, 28 steps aheadImagined by Dreamer, 28 steps ahead

Watch it imagine. Left is real. Right is dreamed.

After five real frames the model stops looking and imagines the rest from its own actions. The halves agree, then drift. Where they differ is exactly where the model is wrong, and we show that too.

Trained on
One 4 GB laptop GPU
Recordings
Nine models, nine clips
Reproduce
python demos/run_all.py

Same start, different finish. Three models, one task, one starting score.

Evaluation return on DeepMind Control cartpole swing-up; higher is better. Dreamer and DreamerV2 trained for 60k environment steps, PlaNet for 75 minutes.

  • Dreamer60k steps493
  • PlaNet75 minutes435
  • DreamerV260k steps250

Up and running in minutes. Write a few lines, run one command.

train.py
import simulusion as simagent = sim.create_model(  "dreamer",  env="Pendulum-v1",  env_backend="gym",  total_steps=5_000,)agent.train()
Terminal
$ pip install "simulusion[gym]"$ simulusion models list$ python train.py

What’s new.

Full changelog
  1. Oct 2026Release

    Simulusion 1.0.0

    Twelve world models behind one PyTorch API, installable with pip.

  2. Oct 2026Demo

    IRIS plays a full round of Boxing

    Its policy, imagined rollout and discrete tokens, from one training run.

  3. Oct 2026Demo

    Dreamer imagines cartpole

    Return rose from about 75 to 493 in 60k steps on a 4 GB laptop GPU.

Train your first world model today.

Open source, MIT licensed, and runs on a laptop GPU.

pip install simulusion