/chrust

Chess + Rust <3. Chess engine written in Rust.

Primary LanguageRustMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn

Chrust: Chess + Rust <3

Logo

About Chrust

Chrust is a chess engine written in Rust. (Very original I know). This is also an opportunity for me to learn rust above a beginner level and maybe build something kinda cool

Chrust supports the standard Minimax algorighm, A+B pruning, and Piece-Square tables for its decision making.

I'm by no means a Rust expert, so if you see any issues in the source code please don't hesitate to show me where I'm stupid.

Built With

Getting Started

To try your hand at beating rusty, either:

1: go to the releases tab and download the latest binary

2: Build and run from source

Prerequisites for Running From Source

Rust tooling installed.

Running Chrust

Clone the source code and navigate to the root directory, and run:

cargo run -- <args>

If running over the Web (default), navigate to a browser and then go to either http://<your_local_ip>:8083 or http://0.0.0.0:8083

Usage

The binary currently supports several command line arguments.

./chrust [-z "TERM"|"WEB"] [-t TICK_SPEED] [-h HUMAN_PLAYS] [-p NUM_PLIES]
Flag Name Description
p num_plies Sets the number of turns (plies) the AI will look ahead. Becareful on numbers >= 4, as the program will become ungodly slow

For a complete description on the arguments, run using the --help flag.

Prerelease

The third Chrust prerelease is completed! Checkout the prerelase here: 0.3.0

To run the program, unzip the archive pertaining to your operating system, and run the appropriate binary.

Any feedback is welcome!

Building For Release

The newest release of Chrust can be found here

If you wish to build in release mode yourself, build scripts are located in the repo root and titled build_<platform>.<extension>.

The build script will place the built binary in the release folder, under the sub folder named after the platform (win|mac|linux).

Dependencies to Build on Windows

  • Rust target profile: x86_64-pc-windows-msvc
  • Visual C++ tool chain

Dependencies to Build on MacOS

  • Rust target profile: x86_64-apple-darwin
  • XCode tool chain

License

Distributed under the MIT License. See LICENSE for more information.

Contact

John Yenter-Briars - jyenterbriars@gmail.com

Project Link: https://github.com/johnyenter-briars/chrust

Acknowledgements