Engine core
- RustCore engine, board state and move encoding.
- CargoWorkspace split across rules, search, UCI and tooling.
- Bitboards64-bit board representation for fast attack masks.
Pure-Rust chess engine and analysis platform.
A UCI-compatible engine built around fast bitboards, perft-validated legal move generation, alpha-beta search and an NNUE evaluation pipeline inspired by modern engines.
I wanted a project where Rust's ownership model, data layout and performance profile matter on every line.
A chess engine is a tight engineering loop: correctness first, then move ordering, pruning, memory layout and evaluation quality.
The workspace is split into core rules, search, analysis, UCI, CLI and training crates so each layer can be tested independently.
The hot path relies on compact move encoding, bitboards, Zobrist hashing and make/unmake move state to avoid unnecessary allocations.
Move generation and board state stay dependency-light, which makes perft testing and future consumers easier to reason about.
A classical evaluator is useful as a baseline, but NNUE gives the project a serious path toward stronger play.
Compatibility with existing GUIs keeps the engine testable outside of its own CLI.