Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vietanhdev/chess.mojo
Chess.Mojo 🔥 - The first UCI chess engine in Mojo
https://github.com/vietanhdev/chess.mojo
chess chess-engine mojo mojo-lang uci
Last synced: 7 days ago
JSON representation
Chess.Mojo 🔥 - The first UCI chess engine in Mojo
- Host: GitHub
- URL: https://github.com/vietanhdev/chess.mojo
- Owner: vietanhdev
- License: gpl-3.0
- Created: 2023-11-23T02:12:18.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-25T04:29:56.000Z (about 1 year ago)
- Last Synced: 2024-05-21T12:23:26.559Z (7 months ago)
- Topics: chess, chess-engine, mojo, mojo-lang, uci
- Language: Python
- Homepage:
- Size: 377 KB
- Stars: 20
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mojo - chess.mojo - The first UCI chess engine in Mojo. (🖥️ Applications / Games)
README
# Chess.Mojo 🔥
The first UCI chess engine in the Mojo language. (**WORK IN PROGRESS.**)
![Chess.Mojo](./chess.mojo.png)
## Note
- The current engine is not optimized for speed. It is just a proof of concept.
- The source code was based on [sunfish](https://github.com/thomasahle/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](https://docs.modular.com/mojo/manual/get-started/).
- Run `mojo engine.mojo` to start the engine.## Run with simple UI (In terminal)
- Install Python >= 3.8.
- Install required packages```bash
pip install -r requirements.txt
```- Start the GUI:
```bash
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:
```bash
mojo build --debug-level full engine.mojo
```- Run the engine with `mojo debug` and use the console just like `gdb` or `lldb`:
```bash
mojo debug engine
```## References
- This chess engine is based on [sunfish](https://github.com/thomasahle/sunfish/).