Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timjentzsch/stonefish_engine
An amateur chess engine written in Rust.
https://github.com/timjentzsch/stonefish_engine
chess chess-engine rust uci-chess-engine
Last synced: 9 days ago
JSON representation
An amateur chess engine written in Rust.
- Host: GitHub
- URL: https://github.com/timjentzsch/stonefish_engine
- Owner: TimJentzsch
- License: gpl-3.0
- Created: 2021-11-28T16:52:30.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-17T16:48:29.000Z (over 1 year ago)
- Last Synced: 2024-10-09T06:42:21.187Z (about 1 month ago)
- Topics: chess, chess-engine, rust, uci-chess-engine
- Language: Rust
- Homepage: https://lichess.org/@/StonefishEngine
- Size: 188 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stonefish Engine
Stonefish is an amateur chess engine written in Rust.
Not to be confused with the much stronger [Stockfish](https://stockfishchess.org/)!## Features
- Supports the [Universal Chess Interface](https://backscattering.de/chess/uci/) (UCI).
- [Minimax](https://en.wikipedia.org/wiki/Minimax) search with [alpha–beta pruning](https://en.wikipedia.org/wiki/Alpha%E2%80%93beta_pruning) and [iterative deepening](https://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search).
- Multi-threaded search.
- Heuristic evaluation of material value and piece position.## Usage
### Lichess
The engine is available on Lichess as [StonefishEngine](https://lichess.org/@/StonefishEngine).
Feel free to challenge it to games when it is online!
### Chess GUI
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!
### Compile From Source
Here's how to compile the engine locally:
1. Install [Rust](https://www.rust-lang.org/learn/get-started).
2. Clone the project:
```sh
# Using HTTPS
git clone https://github.com/TimJentzsch/stonefish_engine.git
# Using SSH
git clone [email protected]:TimJentzsch/stonefish_engine.git
# Using GitHub CLI
gh repo clone TimJentzsch/stonefish_engine
```
3. Move into the folder:```sh
cd stonefish_engine
```
4. Build the project:```sh
cargo build --release
```You will then find the compiled program in `stonefish_engine/target/release`.
## Resources
- [Pleco](https://github.com/sfleischman105/Pleco) by [@sfleischman105](https://github.com/sfleischman105https://github.com/sfleischman105) for board representation and move generation.
- [UCI Protocol](https://backscattering.de/chess/uci/) for engine–GUI communication.
- [lichess-bot](https://github.com/ShailChoksi/lichess-bot) by [@ShailChoksi](https://github.com/ShailChoksi) to let the bot run on [Lichess](https://lichess.org/).## License
This project is available under the [GPL-3.0](LICENSE) license.