hexe_core
cargo install hexe_core

hexe_core

[WIP] A pure Rust chess engine

by hexe-rs

0.0.5 (see all)License:MIT/Apache-2.0
cargo install hexe_core
Readme

Hexe
A pure Rust chess engine


(pronounced "Hekseh")

Travis Status AppVeyor Status LoC

What is Hexe?

Hexe is an open-source chess engine written in Rust. It is written primarily as a library, with an executable that directly utilizes that library. This project is split into two packages (crates):

  • [ lib + bin ] hexe: The chess engine itself

    • Specialized for Hexe's use cases
    • Contains all code used to run the executable
  • [ lib ] hexe_core: The chess engine's building blocks

    • Supports no_std builds
    • May be used by other chess programs for ease of code reuse

Why "Hexe"?

  1. "Hexe" is German for witch. It denotes the use of magic bitboards within this project.
  2. It refers to 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...

Features

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

hexe

  • UCI compatibility
  • Aspiration Windows
  • Iterative Deepening
  • Killer Moves
  • Minimax with Alpha-Beta pruning
  • Null Move Heuristic
  • Transposition Tables
  • Work-stealing multi-threaded search

hexe_core

  • Bitboard and square-to-piece map chess board representations
  • Lookup tables and magic Bitboards without runtime initialization

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.

GitHub Stars

23

LAST COMMIT

3yrs ago

MAINTAINERS

1

CONTRIBUTORS

2

OPEN ISSUES

2

OPEN PRs

1
VersionTagPublished
0.0.5
4yrs ago
0.0.4
4yrs ago
0.0.3
4yrs ago
0.0.2
4yrs ago
No alternatives found
No tutorials found
Add a tutorial