Index - Contents - Home

EPD Files

Extended Position Description files are a common standard for chess information and are composed of chess positions, each with some associated text.

The positions are a slightly shortened FEN (the standard chess position) format. The text is freeform, but normally made up of Opcodes , or fields, separated by semicolons but shown on separate lines in Scid's EPD Window.

EPD files have a number of uses, but are perhaps most commonly used for collections of puzzles, end game studies and tactical shots.

Up to four EPD files may be open at any time. Opening a file with duplicate or erroneous positions will silently eliminate these positions, though poorly formed or non-standard operands are accepted without complaint.

Navigating EPD Files

To browse the positions in an EPD file, simply click on any position, or use the Control+Down, Control+Up, Control+Home, Control+End or Control+? keys. These commands move to the next/previous or first/last position in the file, discarding any changes to the current game and setting the scratch game's start position.

Analyzing EPD Files

EPD files can be analyzed with Tools--> Analyze Positions. A dialogue will ask for the Engine, Analysis Time and Analysis Mode, which will start. Pausing the analysis engine will terminate analysis.

The two modes are Count Best Moves and Annotate. Both modes involve analyzing all positions with an engine. In Best Moves - the existing comments are scanned for 'bm' or 'am' fields, and seeing if this matches the computer evaluation, showing a tally of correct bestmoves at the completion. Annotate mode simply stores the engines evaluation in several opcodes, without checking the best move. The opcodes used are acd, acn, ce, dm and pv. Finally, both these modes can be run together, in which event an additional 'engine' opcode will be written - indicating test success, fail or no-result - and the result stored in the last EPD position.

Annotate mode will first strip out the above opcodes from all positions. To undo any changes made, simply destroy the EPD window without saving the file.

Pasting Analysis

Select Tools--> Paste Analysis (or Control+P) to annotate a single position, overwriting any previous opcodes. Pressing 'Space' in the listbox will start/stop an open engine.

Stripping Out EPD Fields

EPD files one finds on the Internet may contain fields that are not of interest, and they can waste a lot of space in the file. For example, an EPD file of computer evaluations might have ce, acd, acn, pm, pv and id fields but one may only need the ce and pv fields.

Strip out an EPD opcode from all positions in the EPD file by using Tools--> Strip Opcodes.

Sorting EPD Fields

The EPD specification requires that opcodes are sorted. After editing EPD fields, one may sort the current position's opcodes with Tools--> Sort Opcodes.

Adding a New Position

The main board's current position can be appended to the EPD file with Tools--> Add Position. One cannot add a position which already exists in the file. Attempting to do so will simply select that position.

For technical reasons, there is no 'Delete Position' command. To achieve this one must edit the epd file manually with a text editor.

Finding the Deepest Game Position

One can update the board to the deepest ply in the current game that matches a position in the current EPD file by selecting Tools--> Find Deepest Game Position.

The EPD Window Status Bar

The statusbar of each EPD window shows

Other Notes

Scid vs. PC provides a simple Export to EPD feature.

Textual semicolons are stored as "\s" to distinguish them from end-of-field semicolons.

Scid vs PC no longer saves changes automatically, but from File--> Save (or Control+s). The current save status can be seen in the EPD statusbar.

Standard EPD Opcodes

Chessprogramming Opcodes