sisyphus32-1.1.0 has been yanked.
Sisyphus32
Sisyphus32 is an open-source pruning-based chess engine! It can be run as an executable, where it uses UCI for communication. Alternatively, it can be used as a crate.
Lichess Bot
Supported UCI Commands (documentation)
Sisyphus32 is UCI-compliant, implementing the following UCI commands:
uciucinewgameisreadyposition (fen <fenstring> | startpos) [moves <move1> ... <movei>]go [perft <plies> | [depth <plies>] [wtime <ms>] [btime <ms>] [winc <ms>] [binc <ms>] [movetime <ms>]]stop | squit | qexit | eevaldisplay | dbench | benchmediumbenchlongbenchshortsetoption name Clear Hashsetoption name Threads value <n>setoption name SyzygyPath value <path>setoption name Hash value <size_mb>
Local Development
Setup
- Install Rust.
- (OPTIONAL) download a syzygy tablebase and put it in
tables/syzygy/for optimal performance.
How to use
- Run
cargo build --releaseto build the executable. - Run
cargo run --releaseto build and run the executable. - Run
cargo run --release --no-default-features --features <version>to build and run a specific version of the engine. Version names can be found insrc/versions.rs. - Run
cargo test -- --test-threads=1to run all unit and integration tests. - Run
cargo run --bin test_allto run all unit and integration tests for all versions. - (WINDOWS ONLY) Run
cargo run --bin build_allto build executables for all versions totarget/release_all/. - (WINDOWS ONLY) Run
cargo run --bin cutechess_sprt <version1> <version2>to run SPRT against the specified versions, which should correspond to binary names intarget/release_all/. This requires Cute Chess to be installed. - (WINDOWS ONLY) Run
cargo run --bin samply_profile <profile name>to run a profiler on the specified profile name, which should correspond to a file insrc/bin/. This requires Samply to be installed.