I’ve been playing chess against my engine recently, using a beautiful 23″ wooden board by Drueke, with my notebook PC off to the side. I set the time control to 25 min + 10 sec / move and give myself an extra 5 minutes per game (more time than MadChess) to make the moves on the board and the PC. I figure that’s fair- it averages to 5 seconds per move over 60 moves.
Since MadChess plays chess as well as an international master (slightly below a grand master), and I am nowhere near that strong, I handicapped it to play at 1300 Elo. This is made possible by the UCI_LimitStrength algorithm I implemented in the engine.
25 + 10 is an enjoyable pace. It’s slow enough to think through each move, yet fast enough to complete a game in an hour. After 48 moves (and numerous missed opportunities as post-game analysis revealed), I reach the following position. Playing the black pieces, thinking I needed to move my king up the board to support my passed pawn, I played Kc5, a blunder. Can you find the correct move for black?
Of course! I overlooked the move, thinking it lost material. It does, but only temporarily. The pawn will queen.
I am a better chess programmer than player. I need to play more games and write less code. I must say though, what a strange feeling is produced by playing a game against an artificial intelligence I have created, purposefully handicapping it to get an even game, then unleashing its full potential after the game is concluded so it may identify all the moments I erred. A bit magical and eerie all at once.
The full game, with MadChess’ post-game analysis (at 10 seconds per move), is available by clicking the share icon in the diagram above (the rightmost icon).