Diffusion Miner
An action-conditioned world model that learned a falling-sand mining sandbox. You hold A / D to walk, W or Space to jump, and the arrows to dig; it invents the next frame.
256×256 at 12 FPS. The attention prefix is 12 latent frames; a ConvGRU world memory scans 48. About 220M parameters. The codec is a frozen Tile VAE trained on this game, not SDXL. Needs a CUDA GPU with BF16.
This release is the teacher-stage instantaneous flow checkpoint. One step is the right setting — there is no distilled student.
Play it
pip install torch numpy pillow safetensors huggingface_hub
hf download kerzgrr/diffusionminer --local-dir checkpoints/diffusionminer
python checkpoints/diffusionminer/live_infer.py \
--local-dir checkpoints/diffusionminer \
--steps 1
If the weights are already in the current directory:
python live_infer.py --steps 1 --window-scale 3 --seed 2026
Click the window once so it has focus. Esc quits. Clicking the canvas drops a miner into the latent history if you want to poke it.
Write a short gameplay GIF with the scripted training miner:
python live_infer.py \
--local-dir checkpoints/diffusionminer \
--steps 1 \
--seed-play \
--autoplay \
--frames 144 \
--output diffusionminer.gif
Controls
| key | action |
|---|---|
A |
move left |
D |
move right |
W / Space |
jump |
| ← ↑ → ↓ | dig that way |
Action vector is [left, right, jump, dig_left, dig_right, dig_up, dig_down] as floats in {0,1}. Opposite move keys cancel. Only one dig direction is active at a time.
What's in the files
| file | what |
|---|---|
ema.safetensors |
playable teacher weights |
codec.pt |
frozen Tile VAE |
config.json |
video / model / codec settings used at train time |
livediffusion/ |
inference package used by live_infer.py |
live_infer.py |
live play launcher |
demo.gif |
scripted gameplay clip |
If something breaks, it is probably a GPU that cannot do BF16, or running live_infer.py without the rest of this snapshot on sys.path.
- Downloads last month
- 15
