GameKeeper: Playing Against ChessMaster with the DGT E-board

 

Introduction

These pair of programs ("ProxyEngine.exe" and "GameKeeper.exe") will enable you to use the DGT Electronic Chess Board (http://www.dgtprojects.com) with Chessmaster (http://www.chessmaster.com). Since moves made by Chessmaster are intercepted (via Winboard protocol) and taken into account, the level of integration is pretty good, almost as if Chessmaster supports the DGT board natively. If a DGT XL clock is connected and set to mode 23, it will be used to display the clock times and announce the moves made by the computer. You will not be able, though, to use the clock in other modes and overwrite Chessmaster's clock times.

Detailed Usage Instructions

1. Go to the folder where Chessmaster is installed and find a file named "TheKing.exe". This is Chessmaster's chess engine. Rename it to "RealEngine.exe". Copy "ProxyEngine.exe" to that folder and rename it to "TheKing.exe". This step is very important so please make sure you get it right. The best way to confirm this is to start a new game against Chessmaster, then take a look at the list of processes using tools such as Task Manager. In addition to "Chessmaster.exe", if you see both "TheKing.exe" and "RealEngine.exe", you are good and ready for the next step.

2. Make sure you have the latest version of DGTEBDLL library installed on your computer. Also make sure that you have the sound files ("computer_move.wav", "user_move.wav", "invalid_move.wav", and "reset.wav") under the same folder as "GameKeeper.exe".

3. Launch "GameKeeper.exe", THEN launch Chessmaster. Go to either the Game Room or the Tournament Room in Chessmaster. Make sure that notation is set to algebraic (Preferences->Notation). If you want spoken move announcements, turn on this feature in Chessmaster (Preferences->Sound).

4. Make sure that the DGTEBDLL has successfully connected to the DGT board (and the DGT XL clock if one is present). You should see a line like "DGT_Status: DGTxxxx OK" in the status window of the GameKeeper program. You can click the "Show DGT Dialog" button (or click the DGT icon in the system tray) to access the configuration dialog of the DGTEBDLL. Make sure that you have "Automatic rotation" turned on and have "Send move after delay" set to a desirable value. All the other settings do not affect the GameKeeper program.

5. Set up the initial position on your DGT board. And start a game in Chessmaster if one is not already started. Note that you can do either one of these two first.

6. If you are using White, go ahead and play your first move on the DGT board and get the game going! If you are using Black, Chessmaster should have already made its first move, start by making that move on the DGT board and continue with your reply.

7. After you make a (semi-legal) move on the DGT board, you will hear an audio feedback ("user_move.wav"), then the move will be sent to Chessmaster. If the move is in fact illegal (like move into check, or expired en passant capture), Chessmaster will make an illegal move sound. In that case, retract your last move and try again.

8. After the computer makes a move, the move coordinates will be displayed on the DGT XL clock if one is present, and you will need to enter that exact move on the DGT board. Once you've done that, the "computer_move.wav" will be played to give you an audio confirmation, and the clock will switch back to show the clock times. If you enter any other moves, the "invalid_move.wav" will be played.

9. If it's the computer's turn to move and the computer is cogitating, and you try to make a move on the DGT board, the "invalid_move.wav" will be played as well. Undo that move and wait for the computer patiently.

10. With 7, 8, and 9, you should be able to play an entire game on the DGT board without looking at the computer screen or getting the board and Chessmaster out of sync. Enjoy!

Pause/Resume/Takeback/Replay

First off, Pause/Resume/Takeback/Replay are not supported via any inputs on the DGT board. In other words, even if you retract the move you just made on the DGT board, it will not trigger a Takeback. These actions have to be done through the Chessmaster GUI, and in addition you would need to do the following things on the DGT board to bring the board and the GameKeeper program in sync with Chessmaster.

When you pause and resume a Chessmaster game, the current chess engine instance will be terminated and a new one will be spawned. Special handling code has been put in place so that most of the time Pause/Resume will be handled transparently and you don't need to do anything extra. However, in the rare situations where move inputs seem to be handled incorrectly after the Resume, you can do a "reset" described in the next paragraph.

After Takeback and Replay actions, you need to manually rearrange the pieces on the DGT board so that the position is in sync with Chessmaster, and then lift both Kings off the board and put them back. This will trigger a "reset" action in the GameKeeper program, which will allow it to handle further move inputs from this new position. The "reset.wav" sound will be played to confirm this action. Note that sometimes after Takeback/Replay, and even after you make a move, Chessmaster's chess engine might not kick in and respond. This is a Chessmaster issue and has nothing to do with the GameKeeper program. Luckily, this problem can be remedied easily with a pause and resume.

Set Up Position

If you are in Chessmaster's Game Room, you can use the "Set Up Position" button to copy the current (arbitrary) position on your DGT board and paste it into Chessmaster. Note that doing so will stop any current Chessmaster game you are playing and set both players to human (this is Chessmaster's behavior whenever you use Edit->Paste->Forsthe Board Position). You can however use the "Set Up Game" feature in Chessmaster afterwards to set the players if you want to play against the computer from this position..

Human vs. Human Game

If you set up a human vs. human game, you can now use the DGT board to input moves for both sides. This could be used to record a game between two humans (and maybe with Chessmaster analyzing in the meanwhile) or to enter a game from a chess book for further study.

The clock times will not be displayed on the DGT XL clock in this case since there is no way to intercept them from Chessmaster. Actually, if this is indeed a game between two humans, you might want to set the DGT XL clock in a proper mode and actually use it as a chess clock.

If a semi-legal but invalid move (like move into check, or expired en passant capture) was made on the DGT board, since no feedback can be obtained from Chessmaster in this case, the current game position assumed by the GameKeeper program will be wrong and need to be manually corrected. This can be achieved by retracting the move and perform a "reset" as described earlier.

Other Notes

1. Since moves are sent to Chessmaster via synthetic keystrokes, please avoid typing or switching different windows to foreground at the same time as you make a move on the DGT board - that's quite unlikely anyway.

2. The clock times displayed on the DGT XL clock might be a couple seconds off from Chessmaster's clock times. This is due to 1) the Chessmaster GUI sometimes sends slightly shortened clock times to the chess engine, probably to ensure a timely reply, and 2) a possible delay in handling the clock information from Chessmaster. Therefore, please avoid using this program to play a bullet game where a 2-3 second clock discrepancy could be fatal. :)

3. Since the clock times can only be intercepted when the Chessmaster GUI passes them to the chess engine, there are some cases where the clock time updates are delayed by one move. For example, when the time control used is "20 moves in 20 minutes", the computer's clock is not adjusted immediately after its 20th move, but rather after the human makes the next move. This is just a small nuisance and shouldn't cause any problems. On the other hand, Fischer style time controls are handled fairly well and don't have this delayed-update glitch.

4. You can replace the sound files ("computer_move.wav", "user_move.wav", "invalid_move.wav", and "reset.wav") with your own versions. Just use these names and put the files under the same folder as "GameKeeper.exe". Also, if you don't want a certain sound to be played, you can just remove the corresponding sound file.

5. This program does not work with Chessmaster versions earlier than 8000 since the chess engines used in those versions weren't Winboard compatible. Chessmaster 8000 might be OK, but hasn't been tested.

Disclaimers

TBD


Last update: September 9, 2005