Experion
An NNUE Chess Engine in Crystal github.com/joeyrobert/experion
Experion is my third chess engine, after Cerulean in C and CeruleanJS in JavaScript. It's a UCI engine written in Crystal that evaluates positions with a neural network (NNUE) I trained from scratch, and the training pipeline and match tooling are included in the repository.
Experion beats Fruit 2.1 and Crafty 25.2 in head-to-head matches, the goal I set when I started it. The network is embedded in the binary, and releases ship for Linux, macOS and Windows.
Play in the Browser
Experion also compiles to WebAssembly. On the play page each side of the board can be a human or an engine, so you can play Experion yourself, watch it play other engines like Fruit and CeruleanJS, or run a small tournament between them.
I wrote about how it was built in Experion: Training an NNUE Chess Engine in Crystal.
Crystal Chess Neural Networks WebAssembly