Skip to content

GNUSheep/SheepEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♟️ SHEEP ENGINE ♟️

Logo

Overview

A simple chess engine, with UCI and Web Gui

Movegeneration and board representation

I am using a Rust chess libary in order to generate moves, and keep current board position.

Search

To search for best move, I implemented:

  • Alpha-Beta pruning
  • Move ordering
  • Iterative Deepening

Move ordering is based on best move from previous iterration, mvv-lva, killer moves

Evaluation

Sheep engine uses Simplified Evaluation Function, including piece values, piece-square tables, passed or dobuled pawn

How to use it

To use sheep engine u can download binary version, or build from source

Source

Just download the source code, and run

cargo build --release

Binary file should be found in target/release/chess_engine

Using it

After start engine will wait until u type one of the options gui or uci.

GUI: Start web server at localhost:8080, where u can play by just moving piece

UCI: Engine will start in uci mode, and will be ready to play.

I implemented basic UCI commands, it's working pretty well with arena chess gui

TODO LIST

  • Implement transposisiton tables
  • Implement openining and ending tables
  • Check engine strength (ELO)
  • Refactorize code