A pure Rust chess engine
(pronounced "Hekseh")
Hexe is an open-source chess engine written in Rust. It is written primarily as a library, with a separate executable CLI frontend. This project is split into three packages (crates):
[ bin ] hexe_bin
The CLI frontend for Hexe that actually executes the chess engine.
[ lib ] hexe
(documentation)
The chess engine itself. All code is heavily opinionated and specialized for Hexe's use cases.
[ lib ] hexe_core
(documentation)
The chess engine's building blocks. It can be used easily by other chess programs and engines for better code reuse and efficiency.
"Hexe" means "witch" in German, denoting the use of magic bitboards within this project.
"Magic bitboards" refers to a very fast perfect hash function used for indexing into a large precomputed table of bishop and rook attacks.
"Any sufficiently advanced technology is indistinguishable from magic."
If she weighs the same as a duck... she's made of wood. And therefore...
See CONFIGURATION.md
.
The goal of this project is to have the following features:
hexe
hexe_core
libc
Hexe is automatically tested against a minimum Rust version: 1.25.0.
Hexe is written to be available for the main platforms that Rust compiles to.
hexe
and hexe_core
are both automatically tested—separately—against all
Tier 1 platforms. As of this writing, they are:
Platform | Version | Bits |
---|---|---|
macOS | 10.7+, Lion+ | 32/64 |
MinGw/MSVC | Windows 7+ | 32/64 |
Linux | 2.6.18+ | 32/64 |
hexe_core
is designed to not require the Rust standard library. Because
of this, it is compatible with all platforms that stable Rust compiles to.
Hexe wrappers are currently available in the following languages:
Hexe is licensed under either of
at your choosing.