Testing Strength Reduction Parameters

I played an entertaining game against MadChess a few evenings ago. Prior to the game, I adjusted MadChess’ strength reduction parameters because I felt their values caused the engine to play too strongly for a given Elo rating. Perhaps my adjustments made the engine too weak. I’m using “feel”, a very unscientific process. Nevertheless, I enjoyed the game. I played white. MadChess played black, set to 900 Elo. Time control is blitz, 5m + 5s. The game began 1.e4 c5 2.Nf3 g6 3.d4 d6 4.dxc5 Qa5+ 5.Nc3 Qxc5 6.Nd5 Qc6. Here I missed a tactic. Can you spot it? I… Continue Reading

MadChess Blunders… Er, Wait

I had a Frankenstein moment yesterday. I use the word “Frankenstein” in reference to MadChess. Meaning, I’ve used my powers of concentration to create this thing, a chess engine, by imagining, thinking, then writing code to “teach” it to play a game of chess. This thing becomes terribly powerful. It’s capable of playing the game I “taught” it with the strength of a super Grandmaster, far exceeding my abilities. While I’m glad I can use MadChess to analyze my games against Internet opponents (after the game is complete, of course), and rely on MadChess’ suggested improvements and variations (it is… Continue Reading

Tactical Minefield in Won Game

I played an interesting blitz game a couple nights ago against MadChess 3.0 Beta. The engine is strong enough for me to release it. Before I do, I’m improving features not related to maximizing engine strength. In fact, quite the opposite: I’m working on UCI_LimitStrength and UCI_Elo options that reduce the engine’s playing strength. This enables us mere mortals to configure MadChess for a more enjoyable game- competitive but with winning chances gifted to us by an engine purposefully playing inaccuracies and blunders. The game began as follows. Playing white, I develop my pieces. MadChess 3.0 Beta mindlessly pushes a… Continue Reading

MadChess 2.0 Beta Build 127 (Limit-Strength)

I have added parameters to limit the playing strength of MadChess 2.0 Beta. The simplest way to limit the playing strength of MadChess 2.0 Beta is to set the LimitStrength and Elo parameters. The engine will automatically configure material scores and positional knowledge. In addition, the engine will configure search speed (Nodes Per Second), move error, blunder error, and blunder percent based on the Elo value. Continue Reading

MadChess 1.4 Released

I’ve added features to improve MadChess’ value as a sparring partner and analysis tool. I spent a lot of time implementing an algorithm that reduces the playing strength of MadChess. In chess GUIs that support the feature, MadChess will automatically adjust its playing strength to match the user. See the User Guide for details. Source code and EXEs available on the Downloads page. Added UCI_LimitStrength and UCI_Elo options. Added chess personalities from young child to expert. Added MultiPV (display multiple principal variations). Enabled PVS search for MultiPV or when ScoreError > 0. Do not reduce search horizon of pawn pushes.… Continue Reading