https://github.com/emmiegit/chess
Code and experiments related to chess and chess engines.
https://github.com/emmiegit/chess
Last synced: about 1 year ago
JSON representation
Code and experiments related to chess and chess engines.
- Host: GitHub
- URL: https://github.com/emmiegit/chess
- Owner: emmiegit
- License: mit
- Created: 2022-04-16T17:01:03.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-11T02:59:07.000Z (about 2 years ago)
- Last Synced: 2025-02-05T01:26:53.611Z (over 1 year ago)
- Language: Rust
- Size: 157 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## mallard-chess
Chess engine wrapper created for fun. Intended for use with xboard; utilizes the [Universal Chess Interface](https://en.wikipedia.org/wiki/Universal_Chess_Interface).
To use it in xboard, add engine lines similar to the following:
```
"Pacifist" -fcp "mallard-chess pacifist" -fUCI
"Worstfish" -fcp "mallard-chess -N 10000 worstfish" -fUCI
```
These chess engines are my implementation of some of the silly strategies used in [tom7](http://tom7.org)'s fantastic video [30 Weird Chess Algorithms: Elo World](https://www.youtube.com/watch?v=DpXy041BIlA).
## Requirements
Because the engine uses [stockfish](https://stockfishchess.org/) for actual game engine decisioning, it must be installed and available in your `$PATH`.
This code should be portable, but I do not use Windows and am not confident it will work flawlessly.
## Execution
```
cargo run --release -- [options]
```
Run with `--help` for command-line usage. Current engines are:
* `random` (Choose moves at random)
* `pacifist` (Avoids making moves that checkmate, capture, or check)
* `stockfish` (Run Stockfish normally)
* `worstfish` (Use Stockfish to choose the worst-scoring moves)
* `mediocrefish` (Uses Stockfish to choose a median score move)
* `drawfish` (Uses Stockfish to attempt to stalemate)
* `scoville` (Plays X% of moves using Stockfish, diluting the rest with random moves)