Chess engine, in Rust.
Go to file
dogeystamp ffc2671c4a
tune: PST for pawns in endgame
seemingly setting their value too high makes the engine believe it can
sacrifice material to push non-passed pawns
2024-12-24 20:11:43 -05:00
contrib feat: make tournament script use git tags instead of branches 2024-12-24 12:21:28 -05:00
src tune: PST for pawns in endgame 2024-12-24 20:11:43 -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 build: update msrv to 1.83 and remove beta compiler 2024-12-06 19:58:44 -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

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