DAM 2.2

The international 10 x 10 draughts game for Microsoft® Windows™ 95 and later.
© 1995-1999 Harm Jetten. All rights reserved.
Non-commercial distribution and use allowed.

Contents

General
Rules of the game
Menu selection
How to make a move
How to set up a position
File types
End game databases
DamExchange

General

DAM is freeware, meaning it is protected by copyright but you are welcome to use it to your heart's content, and are allowed to copy and distribute it in complete and unmodified form.

DAM 2.2 for Windows 95 is a descendant of DAM 2.1 for Windows 3.1x, and of DAM 1.3 for the Atari ST and TT computers.

DAM continues searching while it is the opponent's turn to move, and takes so much CPU time that other running Windows programs can become very sluggish. Only while DAM is playing from the opening book, or in the Player - Player setting, it's not too bad.

Rules of the game

10x10 international draughts is played on the dark squares of the board, starting with 20 white and 20 black men. The players move alternately, with white going first. Whoever has no valid move left, loses. Players can agree to draw, also there are some rules for when a game is drawn.

Pieces (men and kings) move only diagonally.

A man may move in one of the two forward directions to the next square, if unoccupied.

Men can capture in both forward and backward directions. A neighbouring opponent piece is captured by jumping over it to the empty square behind. If then another piece can be captured, this is done so, etc. Captures are compulsory. If there is a choice of capture moves, the one that jumps the maximum number of pieces (either men or kings) must be taken. If more than one capture move is possible, each jumping the same number of pieces, the choice is free.

A man, finishing its move on the furthest row, is promoted to king.

A king may make a non-capture move to any empty square in its line of sight, in all four directions.

A king can capture an opponent piece in its line of sight, if followed immediately by an empty square. It can land either on that square, or on any following empty square. In case another capture is possible from any of these landing squares, the king must do so. Again, captures are compulsory, as is taking the maximum possible number of pieces.

Menu selection

DAM's main menus are:

Game    Move    Time    Board    Options    Window    Help

Menu selection: Game

New (or keyboard shortcut Ctrl+N) quits the current game en places the men in the starting position for a new game.

Open (or keyboard shortcut Ctrl+O) retrieves a file with a previously saved game in order to continue that game. Three file types are selectable in the lower left hand corner of the dialog: DAM, PDN, and DOC files.

With Save (or keyboard shortcut Ctrl+S) you can save the current game in a DAM or PDN file.

Print (or keyboard shortcut Ctrl+P) sends information about the current game, including the list of played moves, to the printer.

DamExchange controls the protocol for connecting two draughts programs via serial cable or Internet to play games remotely, see DamExchange.

Exit terminates the program, after a dialog has given you the opportunity to save the current game.

Preferences

The following preferences are being kept in the Registry under HKEY_CURRENT_USER\Software\Harm Jetten\Dam:

- national language used,
- player-player or player-DAM,
- move animation,
- sound on/off, and the names of the .wav files,
- DamExchange port information,
- memory setting,
- PDN save options,
- time setting,
- position and size of the DAM main window,
- position, orientation, and numbering of the board,
- size of the board and view of the pieces,
- whether a position is being set up,
- position and size of the text windows,
- path of the end game database folder,
- name of the current game file.

Equivalent settings from the current DAM game file (who's playing whom, position set up, and time setting) overrule those in the preferences.

Menu selection: Move

Take back (or the Delete key) will undo the last move played. Attention: if it is now DAM's turn to move, it will again play a move after a minimum of 3 seconds. Use Take back twice to undo both your move and DAM's response. The Shift+Delete or Ctrl+Delete keyboard shortcut allows you to undo multiple moves in one go, back to a move number entered by you (with afterwards the same side's turn to move, if possible).
The moves that have been taken back are shown dimmed (gray) in the Game window. By pressing the Esc key, or by playing a different move than shown, these dimmed moves are erased.

In case moves have been taken back, then the next menu item is Forward (the Insert key). This executes the first dimmed (gray) move in the Game window. So, this makes it possible to step through a game in the forward direction. The Shift+Insert or Ctrl+Insert keyboard shortcut allows you to go forward directly to a move number entered by you (with afterwards the same side's turn to move, if possible).

When no moves have been taken back, this menu item is replaced by Repeat last (also the Insert key) which shows the most recently played move on the board.

Computer - Computer lets DAM play against itself until no valid move can be played, or a drawn position is reached.

With Player - Computer, the regular setting, you play against DAM. You are playing white, moving first. If you want to play black, select Computer to move next, (or use the Tab key).

In the Player - Player setting you execute the moves for both white and black.

If it is DAM's turn, Move now forces it to play a move immediately.

Computer to move (or the Tab key) lets DAM play the side whose turn it is.

Player to move (also the Tab key) lets you play the side whose turn it is.

Animation allows you to control the way a move is executed on the board. With Animation › Emphasis, a compound capture is shown somewhat slower; also the squares involved in the last move remain highlighted. This is not the case with Animation › Fast.

Sound is for switching the sound effects on or off.

Sound effects

DAM employs various sound effects:

1. To indicate that the player is attempting an invalid move. By default this is the sound of the dam1.wav file.

2. When executing DAM's move (either a regular move or capture). By default this is the sound of the dam2.wav file.

3. When executing the player's move (either a regular move or capture). By default this is the sound of the dam3.wav file.

If you wish, you may enter the names of your own favourite .wav files in the Options menu Sound dialog.

Menu selection: Time

With Learner level, four levels A through D are available for beginning and learning players, which are easier than the "regular" 1 sec/move setting. At these levels, the search depth is limited, and DAM doesn't think in the opponent's time.

1 sec/move though 120 sec/move allows you to set the time per move to be used by DAM. This time is not precise; DAM will sometimes use more time, or less.

Set time produces a dialog to enter the search time as x moves in y minutes. This is useful for playing in a tournament. DAM distributes the available time among the remaining moves. A value for x of 0 lets DAM play "all" moves within the allotted time, which may result in severe time pressure with long games.

Start clock sets the clock running for the side to move (even if the clock window isn't visible).

Stop clock halts the clock.

Reset clock sets the clock back to zero, and also stops it.

Menu selection: Board

Turn around will rotate the board 180 degrees, interchanging the directions of play for white and black. To indicate this, square 50 is numbered as such.

Numbering switches the numbering of all squares on or off.

You can use Size to select a Small, Medium, or Large sized board.

Pieces offers a Profile or Flat view of the pieces on the board.

To clipboard or Ctrl+C copies the board window as a bitmap to the Windows Clipboard, from where it can be pasted into another application.

Set up means a position can be entered onto the board. See also How to set up a position. When Set up has been chosen, then the following four menu selections are available:

Starting position places the 20 white and 20 black men in their initial positions.

Empty removes all men from the board.

White to move changes the side whose turn it is to white.

Black to move changes the side whose turn it is to black.

Menu selection: Options

Language is for selecting the national language for the menu, window titles, and dialogs.

Preferences is for indicating whether and when DAM's preferences are saved. If Preferences › Save every time has a check mark, the preferences are saved each time DAM is terminated, to become active again the next time DAM is started. Preferences › Save now will make the current preferences be recalled for every subsequent use of DAM.

Toolbar is for showing or hiding the toolbar, which contains buttons for some often-used actions.

Through Properties the following preferences can be adjusted using a tabbed dialog:

Color lets you adjust the colors of the board squares to your taste. Click on the color patch that you wish to change.

Sound is for entering the names of the .wav files for the sound effects.

Memory allows you to select the size of the internal transposition table used by DAM to store intermediate results. Choose between Small (96 k), Medium (384 k), Large (1.5 M), Huge (6 M), and Enormous (24 M). The best setting is the largest one which does not cause Windows to continuously access the hard disk. This again depends on the amount of RAM memory installed in your computer.

With Database you can enter the (full or relative) path of a folder where the optional end game database files are located. Then press button Validate to see a list of the database files and their status (correct name, size, and checksum).

PDN determines how DAM saves a game in a PDN file. When Keep current game info is checked, then the game information of a previously opened or saved PDN game is not erased. When Overwrite PDN file is checked, then this game is not added at the end of the file, but written in place of the old contents (after an alert).
For entering a series of games from a tournament both options should best be turned off; for maintaining an e-mail correspondence game it is more convenient to turn both options on.
When opening games from a PDN or DOC file, you can choose whether DAM places the Starting position or Final position on the board.

DamExchange is for setting up a port for the DamExchange protocol. For playing via the Internet, check off "TCP/IP port". If using a null-modem cable connection, check off "serial port" and select the desired COM port; if needed, use the "Settings" button to call up the Device Manager COM Properties dialog, in order to set the port to 9600 bits per second, 8 data bits, no parity, 1 stop bit, no flow control.

General contains settings indicating whether DAM should ask for confirmation when starting a new game or when quitting the program.
There is also an option that controls whether multiple instances of the DAM program may exist at a time.

Menu selection: Window

This will allow you to open and close text windows containing various types of game information. A check mark in front of the menu selection signals that the matching window is opened. Ctrl+F6 will call successive windows to the top.

Game shows the history of played moves. As the game progresses, the early moves disappear from the window; use the scroll bar at the right to review them.

Principal variation offers a view of DAM's calculation efforts: it shows the most likely (for DAM) sequence of moves to come.

Valid moves lists all moves a player is allowed to make. If it is DAM's turn to move, the best move found so far is listed first, with the valuation of the resulting position (1 man equals approx. 33 million). In player-player mode, and while setting up a position, a move can be followed by a valuation from the endgame database.

Book moves displays the pre-programmed opening moves relevant for the current position.

Clock shows the elapsed time for the game; the top line holds the total game time for White and Black respectively, the bottom line contains the time used for the current or last move.

The PDN text window displays the selected game from the opened PDN or DOC file in the original format. It may show data such as event, site, etc. as well as the sequence of moves and any comments.

The DamExchange window shows the connection status, exchange of moves and "chat" texts occurring during a DamExchange session.

Menu selection: Help

With Contents (or the F1 key) you call up this DAM Help window.

Index offers you a dialog to find a desired subject in the DAM Help system.

About Dam presents the DAM version number and the copyright message.

How to make a move

There are many ways to indicate a move:

1. Click: with the left mouse button, click the source square, the destination square, the pieces to be captured, and/or intermediate squares. As soon as the indicated squares uniquely identify one valid move, that move is executed. If not, the cursor changes into a pointing hand, and more squares must be clicked.

2. Drag: depress the left mouse button on a piece, move the mouse, and release the mouse button above the destination square.

3. Use a text window: with the left mouse button, double click on the desired move in the text window for the valid moves or the book moves.

4. Use the keyboard: type the move to be played, e.g. 33-28 or 50x4, then hit the Enter key. Typing only a source, destination, or intermediate square number works as well, as long as it indicates a single valid move. The keyboard method is not applicable during a DamExchange session; then, only Enter works, for making a forced move.

How to set up a position

Select Set up under the Board menu.

A left mouse click on an empty square gives a man of the most recently touched color. Another click gives a king, then an empty square, then a man of the opposite color, etc.

A right mouse click changes the color of the piece.

You can also use the keyboard to place pieces: e.g. type w 10, followed by the Enter key; this puts a white man on square number 10. B 7 43 44 places three black kings on these squares. A lower case letter gives a man, a capital letter a king. Entering numbers without a letter, e.g. 30 16, erases these squares.

Finally, select Set up again, or Player - Computer, to start playing after the desired position has been entered.

Drawn game

DAM recognizes these forced drawn situations, indicated by Draw in the status bar at the bottom:

- a draw when the same position has occurred three times,
- a draw after 10 moves by 1 king against 1, 2, or 3 kings,
- a draw after 25 moves without a piece being captured or a man being moved.

Author

Harm Jetten
Grondel 43
1275 BE Huizen
The Netherlands

e-mail: hjetten@xs4all.nl
WWW: http://www.xs4all.nl/~hjetten/

File types

Open and Save under the Game menu offer a choice of these file types:

1. DAM files, ending in ".dam" -
A .dam file is read and written in a DAM-specific binary format. It contains a single game, plus its related settings of:
- the pieces on the board,
- the moves played (and taken back),
- whose turn it is (player/computer) with which side,
- whether a position is being set up,
- the time selection,
- the playing time on the clock.

2. PDN files, ending in ".pdn" -
PDN stands for Portable Draughts Notation, and is a universal database format for exchanging games between different draughts programs. PDN was proposed by PC Solutions (Dynamo, Sage), and is derived from the well-known PGN format for chess games.
PDN files can contain multiple games; Open gives you an extra dialog to select the desired game. Subsequently, that game is shown in PDN format in the PDN text window. Furthermore, this dialog has an extra button "Validate" to check games in the PDN file for invalid moves. Checking starts with the selected game and continues until the end of the file, or until an error is found.
If you Save a game, you can enter information like event, site, date, round, player's names, and the result. The game, including this information, is normally added at the end of the selected PDN game file, see also PDN under the Options menu.

3. DOC files, ending in ".doc" -
These are files that are created by the program Turbo Dambase by Klaas Bor, or Truus by Stef Keetman. Like PDN files, DOC files contain one or more games; Open gives you an extra dialog to select the desired game. DAM cannot Save a game as a DOC file.

In particular with PDN and DOC files it is convenient to step through a game in backward and forward direction by using Take back (the Delete key) and Forward (the Insert key), see the Move menu.

Furthermore, you can jump quickly to the previous or next game in a PDN or DOC file using the Ctrl+← and Ctrl+→ keyboard shortcuts.

End game databases

A two-piece end game database (man-man, man-king and king-king) is included in the dam.end file as a standard feature.

Optionally, a set of three-piece end game database files can be installed in a folder whose name is to be entered at Database under the Options menu. These files were created by Gijsbert Wiesenekker (for his draughts program GWD), and can be freely downloaded from the Internet Chess Library. They are included in archive ftp://chess.onenet.net/pub/chess/Unix/zzzzzz-3.4.tar.gz as 12 files named oovo.bin through xxvx.bin. When unpacking these files don't let WinZip (or a similar unpacking tool) do "smart" CR/LF conversion. All 12 files must be exactly 125000 bytes in size.

In addition to the three-piece end game database mentioned above, it is even possible to install a four-piece version. Note that this requires a system with at least 16 MB of RAM and a large, fast hard disk. Under Windows 95, all available memory will be used as a disk cache, just check that no MaxFileCache entry exists in the [vcache] section in system.ini.
The author of the four-piece database is Gijsbert Wiesenekker, who has made it publicly available at the Internet Chess Library as archive ftp://chess.onenet.net/pub/chess/Unix/drend.tar - but note that the size of this file is 8 MB, and the decompressed files in it take up 150 MB of space. The archive includes 25 files named ooovo.bin through xxxvx.bin, which must be processed by a program available from the DAM WWW home page. This produces 25 files named ooovo.cpr through xxxvx.cpr and an index file end4.idx, totalling a mere 20 MB. These .cpr and .idx files are to be placed in the folder entered at Database under the Options menu.

New: DAM can also handle 5- and 6-piece databases (experimentally, for now). These databases are generated using DragonDraughts-0.0.Win32.zip, originating from Michel Grimminck's Dragon draughts program, adapted for Windows. Read the directions on the DAM WWW home page.

In player-player mode, and while setting up a position, moves in the Valid moves window can be followed by a positive or negative number if the endgame database indicates that the resulting position is won or lost, respectively. This makes for a simple endgame database "browser", suitable to set up a position and quickly see the outcome.

DamExchange

DAM implements the "DamExchange" protocol (version 01), as written by Frank Mesander (Tornado). The specification can be found at http://www.dataweb.net/~fmesander/. This protocol allows two computers to play a game via a null-modem cable on the serial port, or through the Internet. It supports player-player games as well as computer-computer games.

First open the DamExchange window using the Window menu.

Then, establish a connection.

Finally, play a game.

To let DAM play a series of games remotely as Initiator against another program, choose process game set.

DamExchange: Establish a connection

To start a session, choose the connection method and port in the DamExchange dialog under the Options menu.

Next, use the Game menu item DamExchange › Activate connection in case of a serial port, or, for an Internet TCP/IP port, DamExchange › Wait for connection.

Your opponent on the other computer then selects DamExchange › Activate connection (serial) or DamExchange › Make connection (TCP/IP). In the latter case, the Internet address of the computer to connect to must be entered in the connection dialog in one of these three formats:

- as dot notation, e.g. 192.168.0.1
- by domain name, e.g. mycomputer.net
- indirectly by an HTTP URL, e.g. http://www.xs4all.nl/~hjetten/online.txt

The last format is convenient in case you have a dial-up account with an Internet service provider; you can use an "IP poster" program such as Here or DynamIP to post your current TCP/IP address to a file (e.g. online.txt) on the server, and then do Wait for connection.
Your opponent uses the HTTP URL address format in the Make connection dialog and gets connected to your computer.

DAM is now ready to play a game.

Once a connection is established, it can be released by selecting DamExchange › Terminate connection from the Game menu.

DamExchange: Play a game

To begin playing a DamExchange game after the connection is established, choose one of the following items from the Game menu:

- To start from the initial position: New
- To start from a saved position: Open
- To start from the current board position: DamExchange › Start game

A dialog will come up to enter the number of moves and time limit, and which color you will play; this information is sent out in the request message.
Your opponent will be able to accept or reject this request by means of a similar dialog.

Once accepted, you play by making alternate moves on the board. The status bar shows which side's turn it is.

At any time, also inbetween games, you can exchange "chat" messages by typing a line of text which appears on the status bar; with Enter, the line is sent out, and appears in the DamExchange window of the opponent.

It is possible to undo played moves with Take back or the Delete key. In the dialog, enter the desired move number, and which color is to move. After the opponent has agreed, the move or moves are taken back at both sides.

In case moves have been taken back, the Shift+Insert or Ctrl+Insert keyboard shortcut allows you to go forward to a desired move number in a similar manner.

A game can be terminated with DamExchange › Stop game.

DamExchange: Process game set

It is possible to let DAM play a series of games against another program remotely with menu item DamExchange › Process game set.

A connection must have been established first, and the remote program is expected to be in the Player - Computer mode.

Through a series of dialogs, DAM requests the name of a PDN log file to store the results, with what time settings to play the games, and it asks for the files from which to take the starting positions of the games. Here, multiple files may be entered, e.g. *.dam to process all .dam games in the indicated folder, or just * to search all sub-folders as well.