CheckerBoard help
CheckerBoard is updated frequently. The newest version of CheckerBoard can probably be found on the CheckerBoard homepage. Any news about new versions of CheckerBoard or engines for CheckerBoard are also posted there. Visit often :-)

Index of topics

Getting started

Are you ready for your first game of checkers with CheckerBoard? Here's what you need to know to get started quickly. Start up CheckerBoard. The initial position will be set up on the board, and it is your turn to move. To play, click first on the piece you want to move (the outline of the square you clicked is highlighted), and then click on the square you want to move it to. The checkers engine will start thinking about its move and should respond pretty quickly. Your turn again. In English checkers, you must capture if you can. If there is a possible capture move for you, CheckerBoard will not let you play another move, and tell you in the status bar that you must capture. To play a capture move, follow the same procedure as for a normal move: click on the piece you want to move, and then on it's destination square. Do not click any intermediate squares!
That's already all you need to know to play a game - good luck!

What is CheckerBoard?

CheckerBoard is an interface to a checkers engine. CheckerBoard allows you to load and save games in the standard PDN format, to set up and search for positions in a PDN database, and to replay games. You can also save games as HTML to publish your favorite games on the internet. CheckerBoard itself cannot play checkers; for this it uses a so-called checkers engine. CheckerBoard communicates with the engine and tells it to think about a move. Don't worry, this all happens behind the scenes, you won't notice that there are actually two separate programs at work here. The engine will tell CheckerBoard what move it wants to make, and give it some information about it's thinking process which CheckerBoard will display in the status bar. The name of the engine is displayed in the CheckerBoard window title bar. Normally, will you play against an engine, but you can also have two engines play each other, or have an engine analyze a game.
CheckerBoard comes with three engines: Cake, one of the best checkers programs for the win32 platform, Simple Checkers (with source code), and Dama Italiana (also with source code), which plays the Italian version of checkers. CheckerBoard plays the English/American variation of checkers by default. At the end of this page there is documentation on how CheckerBoard interfaces to checkers engines, so you can easily write your own engine if you want to. All engines which come with the default CheckerBoard installation were programmed by me, but other people have also programmed engines for CheckerBoard. For an up-to-date list of CheckerBoard engines, go to the CheckerBoard homepage on the internet.

Toolbar commands


The toolbar has buttons for some of the most commonly used commands. From left to right, they are
  • Game section
    • New game: resets the current game. You will not be asked if you want to save it!
    • Save game: saves a game to a PDN database
    • Load game: opens a game from a PDN database
    • Find game: searches for the current position in a PDN database
  • Moves section
    • Takeback all: go to the start of the game
    • Takeback: go back one move
    • Forward: go forward one move
    • Forward all: go to end of game
  • Engine section
    • Go: Start engine or force move if the engine is already thinking
    • Book mode: Cycles through the 4 different book settings an engine can have - book off, all kinds of moves, good moves, or best moves only. All kinds of moves is represented by a small question mark in the toolbar icon, best moves with a star in the icon.
    • Engine: switch from primary to secondary engine and back.
  • Miscellaneous section
    • Side to move: this button displays whether it's black's or white's turn - click on it to change the side to move
    • Flip: flips the board so white is at the bottom
    • Mode: switches from normal to two-player mode and back
  • User book section
    • View user book: use the forward/backward buttons to go through the user book
    • Add moves to user book: enter moves which will be added to the user book
    • Delete move from user book: deletes the current position from the user book - this only works when in 'view user book' mode

Menu commands

This section lists and explains all menu commands of CheckerBoard. Most of them are self-explanatory.

The file menu

  • New starts a new game. You will not be asked if you want to save the current game! If you choose new, the current game will be lost.
  • New 3-move chooses one of the 3-move openings of the ACF deck. Use 'Options -> 3-move deck...' to specify which openings CheckerBoard will include in the ballot.
  • Select database lets you choose the current PDN database to load games from and search games in. PDN is the standard file format for checkers games (Portable Draughts Notation). PDN is a lightly structured text file format. You can look at your PDN database with any text editor.
  • Select user book lets you choose the current user book that CheckerBoard uses.
  • Open game displays a list of games in the current PDN database, from which you can select one to open. If you want to load a game from a different PDN database, you first have to use the 'select database' command to choose the other database, and then 'load game'.
  • Save game saves the current game. You can choose the PDN database to save your game to, and it will be appended to the database. You can specify additional information about the game, such as who played, and the result. This information is visible in the 'load game' dialog box and helps you find games.
  • Save game as HTML will create a webpage with a javascript replay of the current game. The webpage contains just that one game, on the left there is a board with forward/backward buttons to play through the game, on the right, the PDN of the game is displayed. The last move played on the board is highlighted in the PDN. The move score is given in PDN rather than in some plain text version, because this way, when somebody loads this page in his browser, he can just select the PDN in the window, copy it, and paste it into his favorite checkers program if it supports this (CheckerBoard does, of course).
    The webpage will only function properly if there is a directory named "gif" in the same directory as the webpage, and in the "gif" directory, there must be 6 gifs named dark.gif, light.gif, lightbm.gif, lightbk.gif, lightwm.gif, lightwk.gif, which are just gifs with empty light and dark squares, and gifs of all piece types. Such a gif-folder is included in the installation of CB, it is installed in the "games" directory inside the CheckerBoard folder. You can just copy this folder to your webserver and everything should work. If you do not like the board style, you can replace the gifs with others you like better.
  • Replace game will replace the game you loaded last in the database with the current game. You can use this to add moves to an existing game by loading it, adding the moves and then replacing the game. You can also add comments to an existing game, by loading it, playing through it, adding comments, and finally replacing it. Make sure you don't change the database after you load the game before replacing it, or CheckerBoard will replace a game in the new current database!
  • Info displays the information belonging to the current game.
  • Analyze makes the checkers engine analyze the current game. In every position, CheckerBoard will call it's primary engine to get an evaluation of the position. The current level determines how long the engine will calculate on average. When CheckerBoard is finished it writes the analysis to a file called 'analysis.htm' and opens this file with the default .htm-viewer - usually internet explorer. Use this feature to search for errors and improvements in games.
  • Quit exits the program and saves (most of) your current settings.

The Edit menu

  • PDN to Clipboard prints the PDN notation of the current game to the clipboard. PDN is plain text formatted lightly to make it machine-readable. You can paste the content of the clipboard in your word processor to print a game, of paste it into an email message to send it to a checkers friend, who can then use...
  • PDN from Clipboard loads a PDN game which has been previously pasted to the clipboard. If you get a PDN game by mail, select the text in your mail program, press Ctrl-C to copy it to the clipboard, switch to CheckerBoard and press Ctrl-V to load the game.
  • FEN to Clipboard prints the FEN notation of the current position to the clipboard. You can paste the content of the clipboard into an email message to send it to a checkers friend, who can then use...
  • FEN from Clipboard loads a FEN string which has been previously pasted to the clipboard. If you get a FEN string by mail, select the text in your mail program, press Ctrl-C to copy it to the clipboard, switch to CheckerBoard and press Alt-V to load the position.
  • Diagram to clipboard copies a bitmap of the current position to the clipboard. You can then paste the diagram into your favorite graphics program or in a word processor like microsoft word. You cannot print games or diagrams directly from CheckerBoard, but you can use the clipboard functions to get moves and diagrams into programs which allow you much better control over what and how to print than I could ever implement in CheckerBoard.
  • Setup Mode enters and exits the setup mode. In setup mode, you can left-click on squares to cycle through black pieces, and you can right-click to cycle through the white pieces. The first click turns a free square into a man, the second click into a king and the third click makes an empty square again. Don't forget to exit the setup mode before playing, CheckerBoard will be confused if you don't exit the setup mode.
  • Clear Board clears the board.

The Search menu

  • Search Mask searches the current PDN database for a combination of things you can specify: You can search for the name of a player, the name of the event, the year the game was played, any arbitrary text in the comments to the game, and you can also include the current board position in the search. The search is case-sensitive, i.e. if you search for "tinsley", you will not find games by "Tinsley" and vice versa. You may also abbreviate a name, e.g. "Tin" will also find games by Tinsley, but would also find games by Tinman if such a player existed. For example, if you wish to find all games by Tinsley in the Double Cross opening, you would enter the moves 9-14 23-18 in 2-player mode, invoke the search mask, type Tinsley in the name field, and check the box labelled search with position.
  • Search Position searches the current PDN database for the current position and displays a list of games to load which all feature the current position. If you played a game and want to know if a certain position has ever come up before, just search for it in a large reference database.
  • Re-Search brings up the results of the last search. CheckerBoard remembers the search results of the last search and doesn't have to perform the search a 2nd time if you use Re-Search.
  • Load previous loads the previous game from the current search result list - the game list you got from the search. Instead of repeatedly using Re-search and selecting the next game from the list, you can simply use load previous and load next to quickly view all games in the search result.
  • Load next loads the next game from the current search result list.
  • Search CR position searches for the current board position with colors reversed. Sometimes a position comes up which is known with colors reversed, CB will help you find such positions.
  • Search Similar searches for a certain theme in the database. Set up a position which contains the theme you want to search for, e.g. black men on 1,2,6,10,15 and 19, the "long dyke" formation. CheckerBoard will look through the database for all games where this situation occurs, that is, it will find all games where these 6 men are in these exact locations, however, only if they are present for at least 4 plies. The reason for this limitation is that often a pattern appears during an exchange, and you don't want to find it in these cases.

The Moves menu

  • Play sends a "play now" command to the checkers engine if it is currently calculating it's next move, which will make it move immediately (However, if the engine does not support the "play now" command, nothing might happen). If it is your turn to move, and you choose "play", the engine will start calculating. You can also use this in the two-player mode to have the engine start thinking about the current position and make a move for you.
  • Back (or the left arrow key) takes back one move.
  • Back all (or the up arrow key) takes back all moves and goes back to the start of the game.
  • Forward (or the right arrow key) moves one move forward in the game.
  • Forward all (or the down arrow key) goes to the end of the game.
  • Add comment allows you to add a short (limited to 1024 characters) text comment to a move. This is saved along with the game and displayed in the status bar when you move through the game move with the forward control. The comment will also appear in the clipboard copy and in the HTML output. Do not use braces ( ), { }, in your comments, they are part of the PDN specification and will confuse CheckerBoard's PDN parser if you use them, possibly rendering your game illegible to CheckerBoard.

The Options Menu

  • Mode: CheckerBoard can be in several different modes. These are:
    • Normal: this mode lets you enter one move, then it calls the engine to play the next move. In this mode, you just play games against the engine.
    • Autoplay, where CheckerBoard will repeatedly call the primary engine so that it will play out a game against itself from the current position.
    • Analysis, where you can enter moves without the computer playing. CheckerBoard will still call the engine, so it will display moves and search information in the status bar while you are entering the moves, but it wont play. This mode is supposed to help you to go over a game and have the engine suggest moves to you.
    • 2 Players lets you enter moves without the engine distracting you. Use this to enter games in CheckerBoard you want to save.
    • Engine - Engine works exactly like 'Autoplay', except that this time CheckerBoard lets the primary engine play a game against the secondary engine, from the current board position. You can watch two engines battle it out this way. If you have chosen anything else than 'Normal' and would like to stop an engine-engine game or the game analysis, just choose 'Normal' again (or press 'Esc').
    • View User Book allows you to review the user book. The user book is a collection of positions and moves, which CheckerBoard will play without consulting the engine if the user book is turned on. You can use this to either improve the book of the engine, or to force it to play certain lines you want to practice. Note that you can access this menu point with the toolbar. While you review the user book moves, you can use the 'Delete from User Book' button in the toolbar to remove a user book move. You have to be in the view user book mode to do this.
    • Edit user book allows you to add moves to the user book. If you add a move in a position which already exists in the user book, you will overwrite the old move. The user book is limited to 1000 moves. However, you can have multiple user books and load any one of them with the "select user book" menu item.
  • Level sets the time the computer will think about its move. The time indicated is only an average time which the computer should use. How long it will really calculate is up to the checkers engine. If you want you can also choose 'exact', then the engine should play exactly after the specified time has been reached. Again, this may not be supported by the engine. The longer you let your engine think about it's moves, the stronger it will play. However, the default checkers engine, Cake, is very strong, and will probably beat you most of the time even on the low levels. You can choose the 'instant' level to make the computer play very fast and much worse than normal. For the weakest possible opponent, make 'simple checkers' your primary engine and set the level to 'instant'.
  • Display: here you can invert the board, have the last move highlighted and toggle board number display on and off.
  • Colors allows you to configure the colors of the board numbers and the highlighting around the selected square.
  • Sound toggles a beep on or off. CheckerBoard beeps when the engine makes a move, if this is enabled.
  • 3-move deck... opens a dialog where you can choose which parts of the 3-move openings should be included when balloting a new 3-move game.
  • Directories lets you specify default directories for CheckerBoard to save its games to.
  • Low priority mode give the checkers engine less computing time. If you want to analyze a position for hours, and want to use your computer for other tasks, it can be a bit sluggish, because the checkers engine requires a lot of CPU time. By lowering the priority of the engine thread, the checkers engine will get less CPU time if you are doing something else with the computer, and will only work when it is idle. If you are not working with your computer, it will be just as fast as in the normal mode.
  • User Book turns on the user book; if this is selected, CheckerBoard will first look up the current position in the user book before asking the engine to select a move. If it finds the position, it will play the user book move without invoking the engine.

Engine

  • Select... opens a dialog in which you can choose your primary and secondary engine. During normal play, CheckerBoard uses the primary engine. In an engine match, it lets the primary engine play against the secondary engine. When analysing a game it uses the primary engine.
  • Options... allows you to set common engine options for the primary or secondary engine. Note that you can select the book setting on the toolbar. The engine settings are:
    • Display all scores: Instead of displaying just the best move, the engine will display scores for all moves in the status bar. Great for analysis!
    • Book strength: You can select from book off to optimal moves. However, the engine decides what to do with this parameter and may not do as you like.
    • Memory settings: the checkers engine typically uses large blocks of memory for the hashtable and for the endgame database cache. You can set preferred sizes for these here. Again, this does not mean the engine will do as you say. CheckerBoard will not allow you to use all memory of your system, as this would result in lots of paging.
    You can set all of these options even if the engine does not support them; refer to the engine help file to find out how it will respond to these settings.
  • Command... gives you a popup box to type in a command which will be passed on to the engine. The reason for this is that although the common engine options will probably cover most options an engine has, there may be additional options an engine programmer has thought of that are not covered. If this is the case, you can type in a command to the engine directly here.
  • About and Help show an about box and a help file for the current engine.

The Internet Menu

All items in the internet menu will only work properly if you have an internet connection! The items in this menu are just shortcuts to some websites you should know about if you play checkers.
  • CheckerBoard homepage goes to the CheckerBoard homepage in the internet.
  • American Checkers Federation takes you to the homepage of the ACF - if you are a serious checkers player in the US, you should consider joining the ACF.
  • English Draughts Association takes you to the homepage of the EDA - if you are a serious checkers player in the UK, you should consider joining the EDA.

The Help Menu

  • About CheckerBoard displays an about box with the version number of CheckerBoard.
  • CheckerBoard help displays this file.
  • Checkers in a Nutshell is a short introduction to the strategy of the game of checkers by Richard Pask. Richard is a checkers grandmaster and has written a number of books on checkers both for beginners and experts.

The Database Menu

If you want to improve the playing strength of Cake 'Sans Souci', you can build the Cake 6-piece database. To simplify this task, I have added a menu item to build the database. Just choose Build 6-piece database, and the database will be created on your computer. The database generator is a separate program, which is invoked by this command. You will see a black window pop up, with rapidly scrolling text in it - a DOS box. Close CheckerBoard, and wait for the generator to complete - you know it is finished when the black window has disappeared. Note that this will take a while: on a fast computer it takes 4 hours (Athlon 1.4GHz), so you best do this over night. You will also need roughly 200MB free disk space temporarily. After the database generator is finished, the database menu item should disappear on the next start of CheckerBoard if you have successfully built the 6-piece database. If you use Cake 'Sans Souci' after building the endgame database, it will tell you that it is using it in the engine about box.

Some typical tasks explained

This section gives you a step-by-step guide to some things you might want to do with CheckerBoard.

Send a game by email to a friend

You just played this great game and want to share it with somebody? If you both have CheckerBoard, no problem! Just press Ctrl+C in CheckerBoard, which copies the game notation and any comments you may have added to the game to the clipboard. A popup window will pop up, and display what has been copied to the clipboard. Press ok to make that popup window disappear again. Switch to your email program, and start a new email to your friend. Once you have that email window open, just press Ctrl+V to paste the game into your email. Send the email. Once your friend receives the email, he can select the text in the email with the mouse, and press Ctrl+C to copy it to the clipboard. Next, he opens CheckerBoard and presses Ctrl+V to paste the game into CheckerBoard. A small popup appears with the game information. Now he can use the forward and backward buttons to replay your game and view your comments on it. Below is a sample you can try to copy it and then paste it into CheckerBoard: Select from the next line...

[Event "Banks ladder, Wilderness 1"] [Black "Wyllie"] [White "Cake++ 1.3 beta v7"] [Result "0-1"] 1. 9-13 22-18 2. 11-16 18-14 3. 10x17 21x14 4. 16-20 24-19 5. 6-10 25-21 6. 10x17 21x14 7. 2-6 29-25 8. 6-10 25-21 9. 10x17 21x14 10. 1-6 30-25 11. 13-17 25-21 12. 8-11 23-18 13. 5-9 14x5 14. 11-16 21x14 15. 16x30 5-1 16. 6-10 14-9 17. 7-11 9-6 18. 12-16 6-2 19. 10-15 18-14 20. 16-19 1-6 21. 19-23 27x18 22. 15x22 14-10 23. 3-8 2-7 24. 11-16 6-9 25. 30-26 9-14 0-1

...to the line above and press Ctrl+C, then, go to CheckerBoard and press Ctrl+V

Add comments to an existing game

If you have saved a game in your PDN database, and would later like to add comments to it, do the following: First, load the game as usual. Then, step through the game with the forward and backward buttons in the toolbar (or, as I prefer, using the right and left arrow key on the keyboard). Whenever you get to a position you would like to add a comment to, hit the space bar, and a small window will pop up where you can enter your comment. Just type in anything you have to say about this position (there is a limit of 256 characters to this comment, so be brief!), and hit return. Continue through the game, until you are done. Now, choose Game->Replace from the menu (or press Ctrl+R) and a dialog to replace the game will pop up. Just hit return, and the game is replaced.

Publishing a game on the internet

If you want to make game of yours or notes to a game available to a larger audience, then CheckerBoard's 'save as HTML' feature is for you. Just enter (or load) the game you wish to publish, add any comments you have to the game, and select 'save as HTML'. CheckerBoard will produce a fully functioning webpage for you which uses JavaScript to let you play through the game on any web browser. You should save the game into the 'games' folder inside CheckerBoard (the save as HTML dialog should default to that folder). Make sure you add the correct file extension, such as .htm or .html to the file name, for example, call it 'game1.htm'. To look at your newly created web page, navigate to the 'games' folder in your windows explorer, and double-click on the newly created file - game1.htm in this example. This will open the file in internet explorer, and you can see if you like the result. For this to work properly, there must be a folder named 'gif' with the six images you need to display a board inside the directory where the file game1.htm is located. If you save the game to the default folder, this is already the case.
To publish the game on the internet, you will have to first upload the images to display the board. These are contained in the 'gif' folder inside the 'games' folder inside the CheckerBoard folder. The 'gif' folder will have to reside in the same directory on your web server as the HTML files you want to publish, in this case, 'game1.htm'. If you already have a folder called 'gif' on your webpage, just copy the 6 gif images in the 'gif' filder into your 'gif' folder on your web server. Now you can upload the HTML file(s), like 'game1.htm'. Once the images are on your web server, you can upload any number of HTML files which use them. If the page does not display properly, i.e. if the board is not displayed, then you have most likely made a mistake with the 'gif' directory.

Rules of the game

The rules of checkers are simple, but there are many different variations of these rules. The rules of the English/American version are: You play on a 8-by-8 board, and the kings can only move one square. There are two kinds of stones in checkers: men and kings. At the beginning of the game, you only have 12 men. Both kinds of pieces can only move diagonally and only one square, however, men can only move forward, whereas kings can also move backward. Besides making normal moves, you can also capture other pieces: if the piece of the opponent is in front of your piece, and the square behind the opponent's piece is free, you can jump onto this free square and remove the opponent's piece. Multiple jumps are also possible. The most important rule in english checkers is that if you can jump, you must. This leads to many tactical possibilities. For further information about the game of checkers, I recommend you visit Jim Loy's excellent website, which has a lot of material on checkers. If you get addicted to checkers, you can consider joining either the american checkers federation, or the english draughts association. Since both organisations may change their web address in the near future, just do a search on Google for them.

For Developers

CheckerBoard is explicitly only designed as an interface. CheckerBoard is free. CheckerBoard is a good choice for an interface if you want to develop an engine, because it relieves you from the hassle of interface programming, and because it gives you the capability to test your engine against other engines with the engine-engine mode. If you would like to program an engine for CheckerBoard or if you have already written a checkers program and want to adapt it to run as engine in CheckerBoard, there is a documentation of the CheckerBoard API on the CheckerBoard website.

Once you have finished your engine, you must copy the dll into the CheckerBoard folder and select your engine with 'engine->select...'. Of course I would love to hear from you if you do write an engine for CheckerBoard. If you do, please send me a mail to nospam1 at fierz dot ch. I would like to link to your page, or, if you don't have one, I would put your engine on my server.


Last modified by Martin Fierz on May 1st, 2005