Have fun exploring the code or playing the engine (UCI).
My goal is to truely understand what it takes to create a 2000 Elo chess engine, and learn a bunch while creating it.
Compiling "UCI_wrapper.cpp" will give you the latest PurplePanda version.
g++ UCI_wrapper.cpp -o PurplePanda.exe -march=native -O3
Alternatively, find the executables under "Releases". You will have to copy the two provided dll files also to the same location as the engine.
Version | Date | Score against previous version |
CCRL rating | Changes |
---|---|---|---|---|
18 | 26 Sep 2024 | 61% (+78 Elo) | - removal of random variation to the static evaluation - Null Move Pruning with R=2 in (very) likely fail-high nodes - moveordering incorporats defended squares - late quiet moves at depth2go=2 are reduced in likely fail-low nodes |
|
17 | 20 Jun 2024 | 60% (+70 Elo) | 1646 | - move representation changed to a single 32-bit number - quiescence search increased from usually 2 ply to always 4 ply - moveordering additionally uses PST - moves to leaf nodes have to be the top ranked move after moveordering - middlegame PST is updated before the search to reflect mobility for rooks and bishops |
16 | 12 Apr 2024 | 56% (+42 Elo) | 1595 | - tempo bonus |
15 | 29 Mar 2024 | 62% (+85 Elo) | - tapered evaluation - tuning of Piece-Square Tables for middle- and endgame based on Texel's tuning method on games from lichess.org |
|
14 | 20 Jan 2024 | 58% (+56 Elo) | 1460 | - improved move ordering; used at every depth - more aggressive pruning at frontier nodes - 3men Distance-To-Mate tablebase used by interior node recognizer |
13 | 4 Sep 2023 | 61% (+78 Elo) | - beta-cutoffs at frontier nodes - tuning of a search parameter |
|
12 | 8 Aug 2023 | 58% (+56 Elo) | 1389 | - improved move generator: finding attacked squares/ pinned pieces - sorting moves incorporated into the move generation; active at depth ≤ 5 |
11 | 20 Jul 2023 | 63% (+92 Elo) | - true iterative deepening: hash lookup for previous best moves at depth ≤ 5 - iterative hash updates - no pseudo-legal moves generated at high depths - bug test introduced with perft |
|
10 | 22 Aug 2022 | 72% (+164 Elo) | 1236 | - simple Piece-Square Tables for middle- and endgame - PST evaluations are updated iteratively - set PST before the search - incomplete UCI support |