Stonefish is an amateur chess engine written in Rust. Not to be confused with the much stronger Stockfish!
- Supports the Universal Chess Interface (UCI).
- Minimax search with alpha–beta pruning and iterative deepening.
- Multi-threaded search.
- Heuristic evaluation of material value and piece position.
The engine is available on Lichess as StonefishEngine.
Feel free to challenge it to games when it is online!
The engine implements the UCI protocol and should work with most GUIs.
To use it, obtain a binary of the engine (see below) and configure it in a program of your choice!
Here's how to compile the engine locally:
-
Install Rust.
-
Clone the project:
# Using HTTPS git clone https://github.com/TimJentzsch/stonefish_engine.git # Using SSH git clone git@github.com:TimJentzsch/stonefish_engine.git # Using GitHub CLI gh repo clone TimJentzsch/stonefish_engine
-
Move into the folder:
cd stonefish_engine
-
Build the project:
cargo build --release
You will then find the compiled program in stonefish_engine/target/release
.
- Pleco by @sfleischman105 for board representation and move generation.
- UCI Protocol for engine–GUI communication.
- lichess-bot by @ShailChoksi to let the bot run on Lichess.
This project is available under the GPL-3.0 license.