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
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
|