Chess engine, in Rust.
Go to file
2024-11-23 20:15:39 -05:00
contrib fix: bitboard not reflecting captures 2024-10-22 16:31:30 -04:00
src tune: piece square tables 2024-11-23 20:15:39 -05:00
tests chore: silence warnings 2024-11-03 11:32:13 -05:00
.gitignore stub: movegen 2024-09-29 10:43:45 -04:00
Cargo.lock initial commit 2024-09-22 21:08:40 -04:00
Cargo.toml refactor: move to main.rs file and add prelude 2024-11-23 18:42:36 -05:00
LICENSE chore: license 2024-10-25 22:30:03 -04:00
README.md feat: basic transposition table 2024-11-17 14:02:47 -05:00
rust-toolchain.toml refactor: random 2024-11-17 10:19:05 -05:00

chess-inator

A chess engine.

Features:

  • Negamax search
  • Alpha-beta pruning
  • Piece-square tables
    • Tapered midgame-endgame evaluation
  • UCI compatibility
  • Iterative deepening
  • Transposition table (Zobrist hashing)
    • Currently only stores best move.

instructions

To run the engine (in UCI mode):

cargo run --release

Quick unit tests:

cargo test

Longer duration, more rigorous tests:

cargo test --release

Flamegraph (on perft):

export CARGO_PROFILE_RELEASE_DEBUG true
cargo flamegraph --test perft