Dev log
Building a game AI, one experiment at a time.
Notes from building an Azul engine: search algorithms, a machine-learning pipeline from self-play data to a trained neural network, and the performance engineering that makes it play well in real time. Every claim comes with a measurement.
Speed is strength: an NNUE-style evaluator in Go
Updating only what a move changes, in exact integer arithmetic, made the network three times faster and worth 50 Elo more, with the same weights.
Teaching a neural network to judge Azul
1.5 million self-play positions, a network trained from scratch in Go and again in PyTorch on a GPU, and the one feature that turned a tie into a win.
Building a game engine for Azul
Exact rules, an alpha-beta search that solves rounds to the end, and an evaluation tuned by self-play. The classic engine the neural network later had to beat.