hexe-rs / Hexe

[WIP] A pure Rust chess engine
https://docs.rs/hexe
Apache License 2.0
28 stars 0 forks source link
chess hexe rust

Hexe
A pure Rust chess engine


(pronounced "Hekseh")

Travis Status AppVeyor Status Lines of code
Become a Patron! Buy me a coffee

What is Hexe?

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):

Why "Hexe"?

  1. "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.

  2. Clarke's Third Law:

    "Any sufficiently advanced technology is indistinguishable from magic."

  3. If she weighs the same as a duck... she's made of wood. And therefore...

Configuration

See CONFIGURATION.md.

Features

The goal of this project is to have the following features:

hexe

hexe_core

Compatibility

Hexe is automatically tested against a minimum Rust version: 1.25.0.

Cross-Platform Compatibility

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.

Cross-Language Compatibility

Hexe wrappers are currently available in the following languages:

License

Hexe is licensed under either of

at your choosing.