Rust Chess Engine v0.1.0
First public release. A complete chess engine written from scratch in 100% safe Rust (no unsafe, no chess-logic crates), with a full interactive terminal application, UCI support, and a perft-verified move generator.
Engine
0x88mailbox board with FEN parse/serialize and incremental Zobrist hashing- Fully legal move generation: castling through-check rules, en passant pin edge cases, under-promotions, reversible make unmake
- Search: iterative-deepening PVS with transposition table, quiescence + SEE, null-move pruning, late-move reductions, killer/ history ordering, aspiration windows, mate-distance scoring, and time management
- Evaluation: tapered PeSTO piece-square tables plus material, bishop pair,
pawn structure, mobility, king safety, rook placement (proven color-symmetric by test) - Full draw handling: threefold repetition, fifty-move rule, insufficient material
Interactive terminal app
- Login/registration, colored Unicode board, aligned panel UI
- Four modes: Human vs Engine, Human vs Human, Engine vs Engine, Analysis
- 20+ in-game commands: move input in UCI or SAN, undo/redo, hint,
analyze / go depth / go time, eval, stats, hash, perft, save/load PGN,
position setup from FEN, board flip and display toggles
Interfaces & formats
- UCI protocol (works with Arena, Cute Chess, Banksia)
- SAN and PGN import/export, EPD parsing for test suites, small opening book
perftandbenchCLI modes with search telemetry
Quality
- 141 passing tests: perft suite verified against canonical reference counts (start position depth 6 = 119,060,324 nodes; Kiwipete depth 5 = 193,690,690), tactical regression suite, random-game invariant fuzzing, evaluation symmetry, and chess-rules edge cases
- Criterion benchmarks, leveled logging (
RUSTCHESS_LOG), per-search telemetry
Requires stable Rust (edition 2024). Build with cargo build --release. (start position depth 6 = 119,060,324 nodes; Kiwipete depth 5 = 193,690,690), tactical regression suite, random-game invariant fuzzing, evaluation symmetry, and chess-rules edge cases
- Criterion benchmarks, leveled logging (
RUSTCHESS_LOG), per-search telemetry
Requires stable Rust (edition 2024). Build with cargo build --release.