Walleye is a UCI-compatible chess engine written using the classic alpha-beta style AI.
Challenge me on Lichess! https://lichess.org/@/Walleye_Bot
The engine should also work in any chess program that supports UCI, at this time however it has only been tested with Cute Chess.
Walleye is deployed on a fairly cheap AWS instance. You can find out more about how Walleye is deployed here
By default, the engine launches in UCI mode and expects to be loaded into a chess GUI.
However, you can run some commands from the terminal, such as -P to watch the engine play against itself or -T to benchmark move generation and evaluation.
# helpful when profiling, will accept a FEN string
./walleye -T --depth=5# start a game from a FEN string and have the engine play against itself
./walleye --fen="r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1" -PUse ./walleye --help for a complete list of commands.
It is strongly recommended you compile the engine with --release for the best performance.
cargo build --release
In the cargo/config file the target CPU is set to native. During testing I saw modest performance improvements using this setting. If however you plan to compile Walleye and use the binary on multiple systems you should delete these lines before compiling.
- Square Centric 12x12 Array
Extra board squares are sentinel squares to make boundary checking easier.
- Alpha-Beta Pruning
- Iterative Deepening
- Capture/Check Extension
- Killer Moves
- MVV-LVA
- PV Search
- Piece Square Table
- Terminal based games with unicode chess boards
- Robust logging
Walleye comes with a suite of unit tests and perft tests. It has been verified on a variety of positions to around depth 5.
# run perft tests
cargo test perft# run all tests
cargo testWalleye was ranked by CCRL, you can find its rating between versions here
Some resources and tools I found helpful when creating this engine.
If you find an issue with the engine please include the walleye_{PID}.log file along with the report, you can enable this by setting DebugLogLevel to Info in the UCI options.
Walleye is under the MIT license.

