Skip to content

BenjaminTSmith/GarryKasPyrov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GarryKasPyrov

This is a chess engine and bot that I created completely from scratch in Python. The chessV2.py contains all the code I used for gathering every legal move in a given chess positions, and when run, produces a command line version of chess that can be played using long algebraic notation (e2e4, d7d5, etc;). The file chessai.py contains code for both minimax and quiescence search algorithms along with alpha-beta pruning for the engines move search. The evaluation of each node in the tree search is determined by the pieces value and its positional value based upon the very popular piece square tables by Tomasz Michniewski which can be found here: https://www.chessprogramming.org/Simplified_Evaluation_Function. The garrykasparov.py file utilizes the chessai.py file for its move search, and implements a very simple UCI protocol for chess engine communication. The entirety of the chessV2 engine system was perft tested in various positions and compared to stockfish's perft results, indicating that the move generation and move making was completely bug free. I used pyinstaller to turn garrykasparov.py into an executable file and then used the lichess-bot repository as a bridge to the Lichess API. A link to the bot's Lichess account can be found here: https://lichess.org/@/GarryKasPyrov

About

Simple Python chess AI hosted on Lichess.org

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages