AlphaLudo
About

A Ludo engine, a network that learned it, and this page.

AlphaLudo is a side project by Sumit Pal on what it actually takes to teach a small neural network a game of chance. Everything was built end to end: the game engine, the training pipeline, the interpretability work, and the site you are reading.

588Kparameters, running on your device
2 or 4players, one network
62logged experiments in the journal
56.1%against V15.2, the model it replaced, over 1,000 games

The AI you play against

The opponent is AlphaLudo V17, a graph transformer with 587,691 parameters. It treats the 15×15 board as a graph: each of the 225 cells is a node described by 5 numbers, and 4 layers of attention pass information between them, nudged along the routes tokens actually travel.

It has two outputs. One scores every cell you could move a token from and picks the best; the other estimates each player’s chance of winning, which is the number you see during a game. It sees only the current board, keeps no history, and runs no search: one forward pass per move, about 13ms on a laptop. At full strength it always plays its top-scored move, so the same position gets the same answer every time.

The same network plays two-player and four-player games. It learned from random weights, in two stages. First it imitated a search player (Expecti-MCTS with 3,000 simulations a move, and a four-player search built for it) until it played about as well. Then it played against a ladder of bots, earlier versions of itself and itself, rewarded only for winning. It beats V15.2, the model it replaced, in 56.1% of games and its own search teacher in 53.5%; at a table of four it takes 26.7% against three copies of its four-player teacher, where an even share is 25%. The research page has the whole story, including what didn’t work. V15.2 is still here as the classic two-player opponent.

How to play

Pick two players (you and AlphaLudo, in opposite corners) or four (you and three AlphaLudos), and your colour. You always move first and play goes clockwise; your colour only decides where you sit, the game is the same. You take turns rolling one die, and the first to bring all four tokens home to the centre wins.

  • Leaving base. A token needs a 6 to come out onto your start square.
  • Moving. Move one token forward by the number you rolled, around the board and up your coloured home column. You need the exact number to reach home.
  • Capturing. Land on a single opposing token and it goes back to its base. Two or more tokens of one player on the same square form a block and can’t be captured, though you can pass them.
  • Safe squares. Start squares and star squares are safe; nothing is captured there.
  • Extra turns. Rolling a 6, capturing, and bringing a token home each earn another roll. Three 6s in a row forfeits the turn.

To play: press Space or tap the die to roll, then click or tap a highlighted token. The number keys 1–4 pick a token too. If only one move is possible, it plays itself.

How this page works

Game engine
AlphaLudo’s Rust engine compiled to WebAssembly, the same code the network was trained against.
Inference
ONNX Runtime Web (single-threaded WASM). The model file is 2.8MB.
The board
three.js and WebGL, with a flat board if WebGL isn’t available.
Front end
Plain ES modules, no framework.
Hosting
Static files on Cloudflare Pages. There is no server to talk to.
Download
About 6MB the first time you play, most of it the inference runtime and the model. Your browser keeps them afterwards. The research and about pages load none of it.

What we collect

Nothing. There is no backend. Your moves never leave your browser: the engine and the network both run on your machine. There are no analytics, no cookies and no tracking, and the fonts are served from this site rather than a third party.

Your display name, your win–loss record and your sound setting are kept in your browser’s local storage, on this device only. Clearing the site’s data removes them.

The only third-party content is the AlphaGo documentary on the research page, a youtube-nocookie.com player that loads only when you press play. Share buttons open the network you pick, only when you pick it.

Who made it

AlphaLudo is built by Sumit Pal. It started in October 2025 as a question about how small a network could be and still play well, and is still going a year later. The training pipeline and the interpretability work are open source, including the training journal the numbers on this site come from.

Other work

AlphaLudo is one of a few independent research projects, all run end to end and all public, failures included.

  • Phronesis: can activation steering install epistemic virtues, such as calibrated hedging and abstention, in small LLMs? Three findings against matched random controls, with a labelled failure-mode dataset. Preprint · dataset · code
  • Trivium: four deliberately independent physics projects and a bridge that cross-checks them, with pre-registered attempts to falsify every result. ansatz-machine proves exact solutions of Einstein’s equations; tabula-geometrica has networks rediscover spacetime geometry from raw observations; DeepStrain searches real LIGO/Virgo data; vestigium is a verified lab for the quantum measurement problem; and cuspis takes on one open question about entanglement in conformal field theories. The bridge that ties them together is trivium.

Credits

The ideas it borrows are credited on the research page. The site is set in Instrument Serif, Geist and Geist Mono, under the SIL Open Font License. The board is drawn with three.js and the network runs on ONNX Runtime Web.