Shifting Focus

Those of you who’ve written a chess engine understand how difficult it is to refrain from tinkering with the code. One always has ideas for more efficient algorithms or more concise code. These ideas need expression, need testing and verification. But at some point, due to the cruel law of diminishing returns, one has to walk away and work on other problems. I feel I’ve reached that point. I’d like to shift my focus from improving the playing strength of MadChess to writing a Graphical User Interface (GUI). To that end, I spent time today reading about the latest Microsoft… Continue Reading

Testing MadChess 1.3

I am testing MadChess 1.3 at rapid time controls (15 min / game + 10 sec / move). You can follow the games on the Live Games page. I’m running four instances of the Shredder GUI. I wrote a script to transfer tournament standings and games to this website, using the Windows FTP command line utility. I registered a task in the Windows Task Scheduler to run the script every five minutes. Earlier I tested MadChess 1.3 at faster time controls and got these results: Bullet ( 2 min / game +  1 sec / move): 2153 +/- 22 Elo… Continue Reading

MadChess 1.2 Released

I’ve managed to add another 100+ Elo to MadChess. I estimate MadChess’ playing strength is ~ 2090 Elo at bullet time control. At blitz, I estimate its strength is ~ 2140 Elo. The strength improvement is mostly due to more efficient move generation and an improved principal variation search algorithm. Those and other more cosmetic changes are detailed below. Source code and EXEs available on the Downloads page. Implemented a check evasion move selector. Improved principal variation search algorithm. Improved efficiency of aspiration windows. Window is increased in configurable steps instead of doubling. Decreased positional bonuses. Added bonuses for backward… Continue Reading

MadChess 1.1 Released

I’ve made many changes to MadChess, detailed below. I tested at my usual bullet time control (2 min + 1 sec / move) and found only a 30 Elo gain, a bit disappointing for so many changes. However, informal testing at 40 moves in 4 min shows a much larger gain- potentially 60 Elo. This makes sense because my engine is a relatively slow searcher. Perhaps the CCRL testers can verify? I removed 174 lines of code and gained 30 Elo. At this rate, if I remove all the code my engine will play with super Grandmaster strength, ha ha!… Continue Reading

MadChess 1.0 Released

I have renamed my chess program. Considering my family name is Madsen, I went with the obvious: MadChess. MadChess 1.0 is 150 Elo stronger than its predecessor, RumbleMinze 1.0.33. MadChess 1.0 is nearly equal in strength to MicroMax 4.8 and Roce 0.0390 in bullet chess (2 min / game + 1 sec / move). It is slightly weaker than Faile 1.4. Most of the strength increase is due to incremental move generation (using the C# yield statement) and an incrementally updated list of attackers for any rank, file, upward diagonal, or downward diagonal. This speeds up capture generation and check… Continue Reading