X-FEN (formerly FRC-FEN) is an extension of Forsyth–Edwards Notation (FEN) introduced by Reinhard Scharnagl in 2003. It was designed to be able to represent all possible positions in Fischer random chess (FRC) and Capablanca random chess (CRC). It is fully backward compatible with FEN.
X-FEN is based on traditional FEN. It differs only in the way that castling and en passant tags are used. Moreover, 10×8 positions which use princess (knight+bishop) and empress (knight+rook) compound pieces are supported.
X-FEN inside of PGN
Games are translated into Portable Game Notation (PGN) format. Each game's starting position must be stored in the PGN for FRC and CRC (but not for traditional chess). Storing the starting position is accomplished with a SetUp tag and an FEN string using the definitions for traditional chess games.
The specification of a target square for an en passant capture differs slightly from standard FEN. FEN records the square just behind any pawn that has made a two-square push forward in the latest move. As such, whenever a pawn makes a two-square move, the en passant square is recorded. For example, in the sample game, FEN includes the square e3 as an en passant square after White makes the first move of the game 1. e4. This is somewhat misleading, as no en passant captures can be made by Black from the position.
X-FEN, on the other hand, includes only true en passant squares. That is, X-FEN records a value in the field for an en passant square only if there are one or more enemy pawns on the same rank on an adjacent file. Thus, after 1.e4, the field for the en passant square is left blank, as Black cannot make an en passant capture. However, it is possible that even if an X-FEN records an en passant square, making that capture would be illegal, because after the capture the king of the capturing player would be in check.
Encoding castling rights
"Kk" identifies the ability of g-castling (or i-castling in 10×8 Chess), and "Qq" indicates c-castling (uppercase for White and lowercase for Black). The new and crucial point of the arrangement is that the castling rights provided by this as default are related to the outermost rook of the affected side. If instead an inner rook is associated with that right, the traditional castling tag will be replaced by the file letter of the involved rook, using upper case for White.
Usually the king's castling target is either two squares away from the left (white) border or one square from the right border. But there are also variants having symmetrically distributed target squares (e.g. Janus Chess), both a single field distant each. Then an additional "s" has to precede the castling tokens. Another prefix "m" means: modern castling (e.g. Embassy Chess or Chess480). Here, the king will move a regular castling distance (8×8: two steps, 10×8: three steps) aside, but at most just before the border.
Ten consecutive free squares in a rank are encoded by "10", and nine free squares are represented with a "9". For a princess (knight+bishop) the letter "A" is used, after its name in Capablanca Chess (the archbishop); an empress (knight+rook) is encoded using the letter "C" (as it is called the chancellor in Capablanca chess). As usual, lowercase letters are used for black pieces.
The starting position of traditional chess and moreover all of the 18 Pseudo FRC starting position arrays (with castling enabled rooks and kings situated in their traditional places) and positions resulting from those entirely will be identically encoded by X-FEN just as usual. Thus X-FEN is fully downwards compatible with traditional FEN.
To use only traditional chess games from within a PGN file (a problem present since Shuffle chess), simply select only PGN entries that do not include any FEN tags.
Castling Right inner rook before 11. O-O
X-FEN = rn2k1r1/ppp1pp1p/3p2p1/5bn1/P7/2N2B2/1PPPPP2/2BNK1RR w Gkq - 4 11
[Event "SmirfGUI Computerchess Game"] [Site "CHESSBOX"] [Date "2005.06.19"] [Time "10:22:29"] [Round "Test"] [White "White"] [Black "Black"] [Result "*"] [Annotator "R. Scharnagl"] [SetUp "1"] [FEN "rnbnkqrb/pppppppp/8/8/8/8/PPPPPPPP/RNBNKQRB w KQkq - 0 1"] 1. h4 g6 2. g3 Bf6 3. a4 Qh6 4. Ra3 Bxh4 5. gxh4 Qxh4 6. Qh3 Qxh3 7. Rxh3 Ne6 8. Bf3 d6 9. Nbc3 Ng5 10. Rhh1 Bf5 11. O-O *
- X-FEN Specification[permanent dead link]
- Scharnagl's Chess960 website, with X-FEN examples