chess.mojo
chess.mojo copied to clipboard
Chess.Mojo 🔥 - The first UCI chess engine in Mojo
Chess.Mojo 🔥
The first UCI chess engine in the Mojo language. (WORK IN PROGRESS.)

Note
- The current engine is not optimized for speed. It is just a proof of concept.
- The source code was based on sunfish.
Roadmap
- [x] Basic UCI support.
- [x] Runable engine.
- [x] Integrate simple GUI for testing.
- [ ] Use native Mojo data structures for speed:
- [ ] History.
- [ ] Board hashing.
- [ ] Move generation.
- [ ] Integrate NNUE.
- [ ] Multi-threading.
- [ ] Add Mojo GUI.
Usage
- Install Mojo.
- Run
mojo engine.mojoto start the engine.
Run with simple UI (In terminal)
- Install Python >= 3.8.
- Install required packages
pip install -r requirements.txt
- Start the GUI:
chmod +x ./engine.mojo
python play -cmd ./engine.mojo
Note: The engine can be run with any UCI compatible GUI. The simple UI is just for quick testing.
Debugging
- Build the engine with full debug information:
mojo build --debug-level full engine.mojo
- Run the engine with
mojo debugand use the console just likegdborlldb:
mojo debug engine
References
- This chess engine is based on sunfish.