velvet-chess
velvet-chess copied to clipboard
:chess_pawn: Velvet Chess Engine - written in Rust
:chess_pawn: Velvet Chess Engine
Velvet Chess Engine is a UCI chess engine written in Rust.
Version 7.0.0 is currently ranked around 3580 Elo (Blitz) and 3485 Elo (40/15) in the Computer Chess Rating Lists (CCRL):
In Fischer Random Chess, the single-threaded rating is around 3750 Elo:
In order to play against Velvet, you need a Chess GUI with support for the UCI protocol.
Starting with v3.3.0 Velvet also supports the Fischer Random Chess (Chess960) variant. This requires a Chess GUI/UCI client which supports the Chess960 extension as described in the UCI specification.
v4.0.1 also added support for DFRC ("Double Fischer Random Chess").
:inbox_tray: Download
Executables for Windows, macOS and Linux can be downloaded from the releases page.
:computer: Manual compilation
Since Velvet is written in Rust, a manual compilation requires the installation of the Rust tool chain (e.g. using rustup). The installed Rust version must support the Rust 2021 Edition (i.e. v1.56 and upwards).
Then you can compile the engine using cargo:
cargo build --release --bin velvet
To compile the engine without Syzygy tablebase support (e.g. when the target architecture is not supported by the Fathom library),
you can pass the no-default-features
flag:
cargo build --no-default-features --release --bin velvet
:scroll: License
This project is licensed under the GNU General Public License - see the LICENSE for details.
:tada: Acknowledgements
- The Chess Programming Wiki (CPW) has excellent articles and descriptions
- A big thanks to all the chess engine testers out there