cd /news/machine-learning/show-hn-a-14m-param-world-model-of-2… · home › topics › machine-learning › article
[ARTICLE · art-162693] src=maharishiva.github.io ↗ pub= topic=machine-learning verified=true sentiment=↑ positive

Show HN: A 14M-param world model of 2D Minecraft you can play on your phone

A developer posting as Maharishiva released tinywmcraft, a 13.9M-parameter world model of the 2D game Craftax-Classic that generates each next frame, reward and episode-end signal from pixels and actions alone, and can be played in a browser or on a phone. The project's leaderboard shows iteration 3 scoring 0.562 ± 0.017, ahead of iteration 2 at 0.463 ± 0.023 and iteration 1 at 0.287 ± 0.019, with training reported to take under 10 minutes for about $0.1 of compute. The release invites coding agents to retrain the model autoresearch-style and beat 0.562, with the fastest in-world diamond run posted before 24 December 2026 (PST) winning a paper copy of Sutton & Barto's Reinforcement Learning.

read3 min views2 publishedNov 2, 2026
Show HN: A 14M-param world model of 2D Minecraft you can play on your phone
Image: source

GitHub Every frame below is generated by a 14M-parameter world model on your GPU, one action at a time. Train your own, autoresearch style, and beat ours.

now playing: iteration 3 by Maharishiva

autoresearch you can play #

Point your coding agent at tinywmcraft: it trains a world model in 10 minutes, scores it, and tries again. Push the score up, then play the model you made: walk around inside it, craft, fight, and see what it gets wrong.

Beat 0.562 and yours is iteration 4: the crown goes next to your GitHub login, and the player on this page switches to your model. Paste this into your coding agent:

The best so far, by the score: how close imagined play comes to the real game in looks, game logic and memory, and how well the model predicts rewards and deaths, from 0 for a trivial model to 1 for the real game.

  1. 1Maharishiva 0.562 ± 0.017iteration 3 · train.py: shortcut loss, the heads' gradient into the trunk cut to a tenth in the second half, no hard-window mining, 1/8 game-start windows, two fused kernels, 349 lines
  2. 2Maharishiva 0.463 ± 0.023iteration 2 · tile transformer tokenizer trained on clean, half-masked and noised frames, fused Pallas kernels, hard-window mining, half the windows from game starts, symlog two-hot reward head
  3. 3Maharishiva 0.287 ± 0.019iteration 1 · train_tiny.py: the whole model in 178 lines, no custom kernels

the benchmark: score over time, every entry, rules, metrics

#

Get a diamond inside the world model, in the player above, in the fewest steps. The fastest run posted before 24 December 2026 (PST) wins a paper copy of Sutton & Barto's Reinforcement Learning. Press save clip, then post it in the discussion and on X. Rules: diamond_speedrun.md. Found a funny glitch? Post it in the glitch discussion.

the road to a diamond

crafting recipe book #

make needs where
table 2 on an open tile
wood pickaxe 1 next to a table; mines stone and coal
wood sword 1 next to a table
stone pickaxe 1 1 next to a table; mines iron
stone sword 1 1 next to a table
furnace 1 on an open tile
iron pickaxe 1 1 1 1 next to a table and a furnace; mines diamonds
iron sword 1 1 1 1 next to a table and a furnace
place stone 1 on grass, sand, path, water or lava
plant 1 on grass

Wood comes from trees by hand, saplings from grass (1 hit in 10); stone and coal need a wood pickaxe, iron a stone pickaxe, diamonds an iron pickaxe. "Next to" is one of the 8 tiles around you. These are the real game's rules: the world model learned them from pixels and does not always keep them. In the real game, the first unlock of each of the 22 achievements is worth +1.

how it works #

tinywmcraft is a world model of Craftax-Classic, a 2D Minecraft, learned from scratch from pixels and actions alone. Given a history of frames and an action, it generates the next frame, the reward and whether the episode ends; feed its own frames back in and you can play inside it. Every world in the player starts from a first frame the model imagines from noise: nothing is replayed. 13.9M parameters (5.2M tokenizer, 8.6M world model), trained cold in under 10 minutes on one A100, about $0.1 of compute.

Colab Pro: $9.99 for 100 compute units, and a 40 GB A100 uses about 5.4 an hour (~$0.55/h). A full submission, three seeds with their evals, is under $0.5.

inside the model: tokenizer, losses, optimizer, kernels, sampling

── more in #machine-learning 4 stories · sorted by recency
── more on @maharishiva 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-a-14m-param-…] indexed:0 read:3min 2026-11-02 · —