JustBot is a competitive chess engine written in Rust, it's my attempt at learning the language while simultaneously working on something interesting to me; it has been a lot of fun and a huge learning experience and I hope to be able to continue working on it. This project has only been possible thanks to the wonderful open-source community. JustBot contains no LLM generated code.
| CCRL | COPE | |||||
|---|---|---|---|---|---|---|
| 40/15 | Blitz 2+1 | 40/2 FRC | Bullet | Rapid | DFRC | |
| v0.4.0 | 3518 [#72] | -- | 3862 [#36] | 3601 [#25] | 3580 [#29] | 3600 [#24] |
| v0.3.0 | 3418 [#115] | -- | -- | 3426 [#37] | 3467 [#40] | -- |
| v0.2.0 | 3124 [#226] | -- | -- | -- | -- | -- |
| v0.1.0 | -- | -- | -- | -- | -- | -- |
You can find precompiled binaries for Linux, Windows and macOS here
avx512: The fastest build, only compatible with newer CPUsavx2: Usable on most modern CPUsgeneric: The slowest build, should run on any x86-64 CPU.
To build the project, you need a working installation of Rust and Cargo, once the repository is cloned, you can run:
Note
Since commit '0390631' Rust 1.95.0 or newer is required
cargo build --release
# ./target/release/justbotOtherwise, if you have GNU make installed you can just run:
make
# ./justbot| Name | Default | Max | Description |
|---|---|---|---|
| Hash | 16 | 1048576 | Sets the size of the transposition table in MB |
| Clear Hash | -- | -- | Clears all entries in the transposition table |
| Threads | 1 | 512 | Sets the number of threads to use during search |
| UCI_Chess960 | false | -- | Enables Chess960 support |
- Chess Programming Wiki
- Maksim Korzh for helpful introductory videos, and where my magic numbers are from
- The very helpful members of the Stockfish Discord Server
- OpenBench as the testing framework, and for data generation
- Bullet for NNUE training
- Pawnocchio for converting PGNs to Viriformat
Additionally, the following engines have been huge sources of ideas and inspiration:
