Skip to content

MonliH/crabfish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crabfish 🦀♟️

Crates.io

Crabfish is a chess engine written from scratch, in rust. It can provide a strong next move for the current player, or an evaluation of a board position.

I've been working on this engine for fun. It's playing strength, based on my tests, is around 2000 elo (in the chess.com pool). Based on what I've seen, it's tactical play is quite good but it's positional play sucks.

Install

cargo install crabfish

Build From Source

git clone https://github.com/MonliH/crabfish.git
cd crabfish
cargo run --release

Note: the --release flag when building is VERY IMPORTANT. The engine can not search very deep without the optimizations provided by it.

Usage

You can either use the cli program, with the move subcommand, help:

./target/release/crabfish move --help

Or, if you want to use a chess gui supporting the UCI proticol, launch the engine with the uci argument in your gui:

./target/release/crabfish uci

Techniques

  • Negamax
  • Alpha-Beta pruning
  • Iterative deepening
  • Principal Variation Search
  • Null-move heuristic
  • Reverse futility pruning

About

a chess engine in rust ♟️

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages