Home

Awesome

<p align="center"> <a href="https://github.com/hexe-rs/Hexe/"> <img src="https://raw.githubusercontent.com/hexe-rs/Hexe/assets/Icon.png" alt="Hexe" width="250" > </a> <br> A pure <a href="https://www.rust-lang.org">Rust</a> chess engine </p>
<p align="center"><em>(pronounced "Hekseh")</em></p> <div align="center"> <a href="https://travis-ci.org/hexe-rs/Hexe"> <img src="https://travis-ci.org/hexe-rs/Hexe.svg?branch=master" alt="Travis Status"> </a> <a href="hhttps://ci.appveyor.com/project/nvzqz/hexe"> <img src="https://ci.appveyor.com/api/projects/status/github/hexe-rs/Hexe?svg=true" alt="AppVeyor Status"> </a> <img src="https://tokei.rs/b1/github/hexe-rs/Hexe" alt="Lines of code"> <br> <a href="https://www.patreon.com/nvzqz"> <img src="https://c5.patreon.com/external/logo/become_a_patron_button.png" alt="Become a Patron!" height="35"> </a> <a href="https://www.paypal.me/nvzqz"> <img src="https://buymecoffee.intm.org/img/button-paypal-white.png" alt="Buy me a coffee" height="35"> </a> </div>

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:

PlatformVersionBits
macOS10.7+, Lion+32/64
MinGw/MSVCWindows 7+32/64
Linux2.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.