I have released version 3.1 of my chess engine. I worked on the engine over the last year occasionally, when I had time in the evenings. Slowly, I’ve added about 100 Elo points of playing strength compared to the prior release.
This release includes strength improvements achieved by Singular Move, Threat Evaluation, Pawn Structure Evaluation, Move Legality Performance Improvement, Logarithmic LMR Based on QuietMoveNumber and ToHorizon, and evaluation of piece mobility, king safety (including x-ray moves), and threats using Safe Squares.
It also includes code quality improvements such as Color Agnostic Code, Removed Endgame King Safety Evaluation, Code Style Refactor (camelCased Method Parameters), Refactor Static Const to Enum, Reorganize Namespaces, and Remove Over-Counting NPS.
In addition, I fixed an Engine Hang Bug and an Invalid PV Bug.
You may download x64 and x86 versions of the engine from the Downloads page. Install the appropriate version for your computer’s CPU. The x64 binary is the strongest version of the engine.
I estimate MadChess 3.1 plays bullet chess at 2706 Elo and blitz chess at 2742 Elo.
Of course, you may decrease MadChess’ strength for a more enjoyable game via the UCI_LimitStrength
and UCI_Elo
engine options. Enjoy!
Now I’ll take a break from engine programming and actually play some chess. I’ll focus on improving my game (beyond patzer level) before the urge to improve MadChess’ game (to 2800 Elo) inevitably strikes.
Feature | Category | Date | Commit1 | WAC2 | Elo Rating3 | Improvement |
---|---|---|---|---|---|---|
Miscellaneous Improvements | Evaluation | 2022 Aug 30 | 6484a1b | 287 | 2706 | +19 |
Move Legality Performance Improvement |
Search | 2022 Mar 18 | 533e382 | 289 | 2687 | +36 |
Pawn Structure | Evaluation | 2022 Jan 11 | d691b32 | 288 | 2651 | +15 |
Threats | Evaluation | 2021 Oct 24 | 26e5323 | 289 | 2636 | +7 |
Color-Agnostic Code | Evaluation | 2021 Sep 13 | 2b475bc | 286 | 2629 | +12 |
Singular Move | Search | 2021 Jun 14 | 0c601ea | 290 | 2617 | +13 |
Endgame Eval Scaling | Evaluation | 2021 Apr 08 | 4d22dec | 286 | 2604 | +12 |
Bishop Pair | Evaluation | 2021 Mar 14 | 2960ec9 | 285 | 2592 | +22 |
Position Cache Optimization | Search | 2021 Feb 23 | 42d7702 | 286 | 2570 | +8 |
Move Generation Optimization | Search | 2021 Feb 17 | 22002dc | 287 | 2562 | +12 |
PVS and Null Move | Search | 2021 Feb 09 | f231dac | 285 | 2550 | +20 |
Remove Aspiration Windows | Search | 2020 Dec 20 | 4b7963b | 290 | 2530 | +9 |
Time Management | Search | 2020 Dec 19 | d143bb5 | 286 | 2521 | +8 |
Crash Bug | Search | 2020 Aug 29 | 2d855ec | 288 | 2513 | +0 |
King Safety | Evaluation | 2020 Aug 16 | 6794c89 | 288 | 2513 | +63 |
Eval Param Tuning | Evaluation | 2020 Jul 23 | bef88d5 | 283 | 2450 | +30 |
Late Move Pruning | Search | 2020 Feb 08 | 6f3d17a | 288 | 2420 | +29 |
Piece Mobility | Evaluation | 2020 Feb 01 | 5c5d4fc | 282 | 2391 | +62 |
Passed Pawns | Evaluation | 2018 Dec 27 | 103 | 279 | 2329 | +119 |
Staged Move Generation | Search | 2018 Dec 15 | 93 | 275 | 2210 | +39 |
History Heuristics | Search | 2018 Dec 03 | 84 | 275 | 2171 | +28 |
Eval Param Tuning | Evaluation | 2018 Nov 24 | 75 | 272 | 2143 | +47 |
Sophisticated Search Material and Piece Location |
Baseline | 2018 Nov 08 | 58 | 269 | 2096 | 0 |
- GitHub commit (hash) or Subversion source code revision (integer)
- Win At Chess position test, 3 seconds per position
- Bullet chess, 2 min / game + 1 sec / move