MadChess 3.4 Released

I have released version 3.4 of my chess engine. This release is focused on simplifying code. The engine is not any stronger than MadChess 3.3 at bullet time control, though perhaps it’s stronger at blitz and rapid time controls. I don’t know. I haven’t measured the strength of MadChess in blitz and rapid games since version 3.0. As a first step toward establishing more complete ratings of MadChess and other engines, I have run multi-division round robin tournaments at blitz and rapid time controls. These tournaments include 48 engines in four divisions, with MadChess 3.4 participating in Division 3. See… Continue Reading

MadChess 3.3 Released

I have released version 3.3 of my chess engine. This release adds static exchange evaluation and integrates it into futility pruning and deferring the search of losing captures. This pushed MadChess’ playing strength above 2800 Elo. In addition, I adjusted formulas used to calculate internal limit-strength engine parameters to be based on 2800 Elo instead of 2600 Elo. If you adjusted any values in the MadChess.AdvancedConfig.json file, please recalculate per instructions included in comments in the file. The engine’s UCI_Elo option still has a max value of 2600, though, because the non-PVS search (alpha / beta window remains open at… Continue Reading

MadChess 3.2.2 Released

I have released version 3.2.2 of my chess engine. This release fixes a bug that caused truncated principal variations when MultiPV > 1. Also, it improves the efficiency of MultiPV search, so it gets deeper faster. This release does not add any features nor playing strength. Testers may substitute this version for version 3.2 without any need to restart or re-run tournaments. You may download x64 and x86 versions of MadChess 3.2.2 from the Downloads page. Install the appropriate version for your computer’s CPU. The x64 binary is the strongest version of the engine. Continue Reading

MadChess 3.2.1 Released

I have released version 3.2.1 of my chess engine. This release fixes a bug that caused MadChess to report illegal principal variations. That is, PVs that contain illegal moves. To be clear, the bug never caused MadChess 3.2 to crash. Merely to report fantasy lines. I didn’t notice the issue back in January because of my desire to transition from programming chess to playing chess- which involves fighting the urge to tinker with one more engine issue. I did wonder why MadChess occasionally reported truncated PVs in the CuteChess GUI. One factor contributing to my (chosen) ignorance is the CuteChess… Continue Reading

MadChess 3.2 Released

I have released version 3.2 of my chess engine. The main feature in this release is a sophisticated limit-strength mode, including adjustments to chess knowledge, search speed, chance of erring or blundering, and severity of blunders. MadChess, in limit-strength mode, excludes moves it considers unreasonable (dumb moves even a chess novice wouldn’t play). I have extensively documented the settings and technical implementation of MadChess’ limit-strength mode in The MadChess UCI_LimitStrength Algorithm. I also provide a Limit-Strength FAQ. MadChess 3.2 is slightly stronger than the prior release. I estimate it has gained 60 rating points, climbing to roughly 2770 Elo at… Continue Reading