Rust / Python · Aug 2026

Riftbound Self-Play

I trained a model that plays Riftbound against itself. Running the games ended up being the slow part, so I rebuilt that loop in Rust and training got a lot faster.

It plays both sides of every match, and every game it finishes turns into training data for the next version. My first version spent most of its time just running games though, so I rebuilt the game loop in Rust. It uses the CPU way better now, and I can train and test new versions a lot faster. And when something goes wrong I can replay the match move by move and see exactly what happened.

If you want to together, or you just want to talk about any of this, my email’s right here.