Reckless is a UCI chess engine written in Rust as a personal project.
Guided by the insights from the chess programming community, it fearlessly combines established concepts, as the name suggests.
- Bitboards with Little-Endian Rank-File Mapping
- Magic Bitboards for sliding piece attacks
- Copy-Make approach
- Pseudo legal move generator
- Pre-calculated attack maps using Fancy Magic Bitboards
- Magic numbers are pre-generated using Reckless Magics
- Compile time generation of move maps using a build script
- Fail-Soft Alpha-Beta
- Principle Variation Search
- Iterative Deepening
- Aspiration Windows
- Transposition Table
- Quiescence Search
- Check Extensions
- Reverse Futility Pruning
- Null Move Pruning
- Late Move Reductions
- Quiet Late Move Pruning
- Hash Move
- MVV-LVA
- Killer Heuristic
- History Heuristic
- Tapered Evaluation
- King-Relative Piece-Square Tables
- Sliding Piece Mobility
- Tempo Bonus
You can download precompiled builds from the GitHub Releases page.
To build the engine from source, make sure you have Rust 1.65 or a later version installed.
If you don't have Rust, follow the official Rust installation guide.
Then, compile the engine using Cargo:
cargo build --releaseReckless is not a standalone chess program but a chess engine designed for use with UCI-compatible GUIs, such as Cute Chess or ChessBase.
Alternatively, you can communicate with the engine directly using the UCI protocol.
Contributions are welcome! If you encounter issues or have suggestions for improvements, please open an issue or submit a pull request.
This project is licensed with the MIT license.