Skip to content

v0.1.0 - chess engine

Latest

Choose a tag to compare

@Abhisheklearn12 Abhisheklearn12 released this 02 Jul 12:54
462ef23

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

  • 0x88 mailbox 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
  • perft and bench CLI 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.