Project to create Chess game with graphical user interface using Pygame module. Also created move generation programme that generates legal chess moves to chosen depth in Stockfish format.
To try out the offline game, download the following files: board.py, main.py & pieces.py. Install Pygame module with pip.
pip install pygame
Download either of the move generation files and change the position FEN, as well as depth and check_to_depth values.
Tested on Ryzen 5 3600/16 GB RAM/SSD
- v1: 4.52s (1.97 kN/s)
- v2: 0.48s (18.5 kN/s)
- v3: 0.05s (185 kN/s)
- v1: 50.1s (1.95 kN/s)
- v2: 6.18s (15.8 kN/s)
- v3: 0.33s (293 kN/s)
- v1: 46.1s (3.25 kN/s)
- v2: 6.58s (22.8 kN/s)
- v3: 0.62s (241 kN/s)
- v1: 154s (4.38 kN/s)
- v2: 23.6s (28.6 kN/s)
- v3: 2.65s (255 kN/s)
This project took reference and inspiration from the following sources:
- Sebastian Lague's Chess AI
- KettCodes' Chess Game with Pygame
- Chessprogramming Wiki for various positions and perft results to debug move generation programme.
- Numpty Perft for additional test positions and perft results.
- World's Fastest Bitboard Chess Movegenerator for a guide on move generation and bitboards in C++.
- 64 bits representation and manipulation for bitboard representation and calculations.