Skip to content

HasanFakih21/JustBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

290 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

justbot_logo

JustBot Chess Engine

License: GPL-3.0 GitHub Release

JustBot is a competitive chess engine written in Rust, it's my attempt at learning the language while simultaneously working on something interesting to me; it has been a lot of fun and a huge learning experience and I hope to be able to continue working on it. This project has only been possible thanks to the wonderful open-source community. JustBot contains no LLM generated code.

Releases

Version CCRL 40/15 CCRL Blitz
JustBot v0.3.0 3400* 3400*
JustBot v0.2.0 3124 3000*
JustBot v0.1.0 2400* 2400*

Note

*Elo is only an estimate

You can find precompiled binaries for Linux, Windows and macOS here

  • avx512: The fastest build, only compatible with newer CPUs
  • avx2: Usable on most modern CPUs
  • generic: The slowest build, should run on any x86-64 CPU.

Building the project

To build the project, you need a working installation of Rust and Cargo, once the repository is cloned, you can run for a general build:

cargo build --release

For a targeted build you can run:

cargo rustc --release --bin justbot -- -C target-cpu=native

The binary should be located within ./target/release/

Features

Search

  • Alpha-Beta Search
  • Quiescence Search
    • Check Evasions
  • Principal Variation Search
  • Time management
    • Hard/Soft Bounds
  • SEE Pruning
  • Iterative Deepening
  • Check Extensions
  • Null Move Pruning
  • Reverse Futility Pruning
  • Aspiration Windows
  • Late Move Reductions
  • Late Move Pruning
  • Futility Pruning
  • Clustered Transposition Table
  • Improving Modifier

Evaluation

  • NNUE
    • Standard 768 Inputs
    • Dual Perspective
    • 512 HL
    • 8 Output Buckets

Move Ordering

  • Noisy History
  • Quiet History
  • 1 and 2 Ply Continuation Histories

Supported UCI Options

Name Default Max Description
Hash 16 1048576 Sets the size of the transposition table in MB
Clear Hash --- --- Clears all entries in the transposition table
Threads 1 512 Sets the number of threads to use during search

Acknowledgments

Additionally, the following engines have been huge sources of ideas and inspiration:

About

UCI Chess engine written in Rust

Topics

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Contributors