Chess engine, in Rust.
Go to file
dogeystamp 86e5780f26
tune: pst
- avoid bongcloud
- avoid knight on edge
- avoid f-g-h pawns moving
- avoid bishop to g5/b5
2024-12-20 16:55:38 -05:00
contrib fix: bitboard not reflecting captures 2024-10-22 16:31:30 -04:00
src tune: pst 2024-12-20 16:55:38 -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