my-server
← Wiki

Portable Draughts Notation

Portable Draughts Notation (.PDN) is the standard computer-processable format for recording draughts games. This format is derived from Portable Game Notation, which is the standard chess format.

PDN files are text files which must contain Tag Pairs and Movetext for each game.

Tag Pairs

Tag pairs begin with "[", the name of the tag, the tag value enclosed in double-quotes, and a closing "]". There must be a newline after each tag. Tag names are case-sensitive.

PDN data for archival storage is required to provide 7 tags.

Event: the name of the tournament or match event
Site: the location of the event. This is in "City, Region COUNTRY" format, where COUNTRY is the 3-letter International Olympic Committee code for the country. An example is "New York City, NY USA".
Date: the starting date of the game, in YYYY.MM.DD form. "??" are used for unknown values
Round: the playing round ordinal of the game
White: the player of the White pieces, in "last name, first name" format
Black: the player of the Black pieces, same format as White
Result: the result of the game. This can only have four possible values: "1-0" (White won), "0-1" (Black won), "1/2-1/2" (Draw), or "*" (other, e.g., the game is ongoing)
FEN: the initial position of the checkers board. This is used to record partial games (starting at some initial position). It is also necessary for some draughts variants where the initial position is not always the same as traditional checkers. If a FEN tag is used, a separate tag pair "SetUp" is required and have its value set to "1".

A position can be stored by the <code>FEN</code> tag: [SetUp "1"] [FEN "[Turn]:[Color 1][K][Square number][,]...]:[Color 2][K][Square number][,]...]"]

Turn: the side to move, <code>B</code> for Black, <code>W</code> for White
Color 1 and Color 2: the color for the Square numbers that follow <code>B</code> for Black, <code>W</code>, and the sequence is unimportant.
K: optional before square number, indicates the piece on that square is a king, otherwise it is a man.
Square number: indicates the square number occupied by a piece. The square number must be at least a "1". On an 8×8 board, it has a range from 1-32. These are comma separated, and the sequence is unimportant.

Examples:

[FEN "B:W18,24,27,28,K10,K15:B12,16,20,K22,K25,K29"]

[FEN "B:W18,19,21,23,24,26,29,30,31,32:B1,2,3,4,6,7,9,10,11,12"]

Movetext

Movetext contains the actual moves for the game. Moves begin with the source square number, then a "-" or "x", finally destination square number. Jumps must be specified by each square that would be jumped ("11x18x25"), or two squares only ("11x25").

The end of the game must contain the 4 standard result codes: "1-0", "1/2-1/2" "0-1", and "*". The codes must be the same as the <code>Result</code> tag pair.

An annotator who wishes to suggest alternative moves to those actually played in the game may insert variations enclosed in parentheses.

Comments may be added by either a ";" (a comment that continues to the end of the line) or a "{" (which continues until a matching "}"). Comments do not nest.

Variants

PDN can be used in a wide variety of draughts variants synthesized with different board sizes. For example, PDN can represent 88 and 1010 boards. It can represent unmatched board sizes by specifying unequivalent values in the <code>Board-width</code> and the <code>Board-height</code> headers. It can include the optional <code>GameType</code> tag to differentiate between different variants.

Type-number: this is one of the following type-numbers:
* 0: Chess
* 1: Chinese chess
* 2-19: future chess expansion
* 20: 1010 draughts (international)
* 21: English draughts (kings only move 1 step at a time)
* 22: Italian draughts (as English, Men cannot take kings, must capture max)
* 23: American pool draughts (as 1010, not obliged to take max)
* 24: Spanish pool draughts (as 1010 rules, but men cannot capture backwards)
* 25: Russian draughts
* 26: Brazilian 88 draughts (same as 1010 rules)
* 27: Canadian 1212 draughts (same as 1010 rules)
* 28: Portuguese draughts
* 29: Czech draughts
* 30: Turkish draughts
* 31: Thai draughts
* 40: Frisian draughts
* 41: Spantsiretti (Russian draughts 108)
* 32-39, 42-49: Future draughts expansion
* 50: Othello
* 98: Antidraughts
Start-color: <code>B</code> for Black, <code>W</code> for White
Board-width: board width
Board-height: board height
Notation
* <code>A</code> - alpha/numeric like chess
* <code>N</code> - numeric like draughts
* <code>S</code> - SAN - short-form chess notation. Then follows a number 0-4 telling where square A1 or 1 is for the side who starts the game (White or Black), 0 = Bottom left, 1=Bottom right, 2=Top left, 3=Top right.
Invert-flag
* <code>0</code> - pieces on dark squares
* <code>1</code> - pieces on light squares

Example

See also

External links

PDN viewers