Laura is a multi-threaded, UCI-compatible chess engine written in Rust, designed with a focus on speed, modularity, and tactical strength.
The project is divided into two main components:
laura_core– A fast and efficient legal move generator for chess engines.laura_engine– The UCI-compatible chess engine currently under active development.
You have two main options to install and run Laura:
To build Laura optimized for your machine, ensure you have Rust installed, then run:
git clone https://github.com/HansTibberio/Laura.git
cd Laura
RUSTFLAGS="-C target-cpu=native" cargo build --releaseFor even better performance on supported CPUs, enable the bmi2 feature:
RUSTFLAGS="-C target-cpu=native" cargo build --release --features bmi2You can also download a precompiled binary from the Releases section. Just choose the version that matches your system and run the binary directly.
- Hand-crafted static evaluation function
- Super-fast legal move generation
- Fail-soft negamax with alpha-beta pruning
- Iterative deepening
- Aspiration windows
- Principal variation search (PVS)
- Lockless transposition table
- Lazy SMP (multithreaded search)
- Advanced move ordering:
- Killer heuristic
- MVV/LVA (Most Valuable Victim / Least Valuable Attacker)
- Mate distance pruning
- Internal iterative reductions (IIR)
- Quiescence search
This project is licensed under GPLv3. See the LICENSE file for details.
