Skip to content

chooklii/RustyRook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustyRook

Chess Engine written in Rust

This Engine has no UI - It implements the UCI Chess Protocol. Use the Lichess Bot or any other Chess Software to play against it.

Read More about RustyRook in my Blog

use

cargo build 
or
cargo build --release

to create an executable to use with your local chess software.

You need to copy the 'openings.txt' file to the folder you are running the engine in. If you dont want to use an opening book just create an empty txt file with this name (Config to use no Openings Book will be implemented in the future)

To verify the correctness of changes run the Unit-Tests

cargo test

Advanced Unit-Tests based on Chess Programming Wiki to verify the correctness of the move generation can be used with

cargo test -- --ignored

Chess Programming

Rusty Rook implements Basic Chess Engine Algorithms like

  • Minimax
  • Alpha Beta Prunning
  • Magic Bitboards
  • Parallel Iterative Deepening with prev. best Move sequentially
  • Transpositional Table
  • Some Move Ordering

Possible Improvements for the Future

  • Refactor Pinned Pieces
  • Refactor En-Passant (Does not effect performance)
  • Improve Move-Ordering
  • Add more Stuff like Killer Moves & Null Moves
  • Improve convertion from UCI-Position to Position usize (a1 -> 0)

About

Chess Engine written in Rust

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages