Raumschach Game Notation
The .rgn File Format — Recording, Replaying, and Submitting Games
.rgn and are produced automatically by the raumschach.org web game at the conclusion of each game. They can be loaded directly into the Raumschach Analysis tool and submitted to the IRF administrator as rated game records.
The standard format used for two-dimensional chess game records is PGN (Portable Game Notation), a plain-text format developed in the 1990s whose move language is Standard Algebraic Notation (SAN). SAN is designed for an 8×8 board: it specifies only the destination square, omits the source square, and uses a disambiguation system appropriate to that geometry.
Raumschach requires something different. The game is played on a 5×5×5 board of 125 cells across five levels. Every cell requires three coordinates — level, file, and rank — and IRF notation always records both the origin and destination of every move, prefixed by the Unicode figurine for the moving piece. The game also introduces symbols — boardmate (††), spacemate (†††), and stalemate (≡) — that have no PGN equivalents. Attempting to parse IRF notation as SAN produces errors or silent misreadings.
RGN therefore borrows PGN’s container conventions — the square-bracket tag headers, move numbering, result token, and comment syntax — while specifying its own move language. The format is self-identifying: the mandatory [Variant "Raumschach-Normal-Form"] tag makes clear to any reader or software that the move text is three-dimensional and must not be parsed as SAN. RGN files are plain UTF-8 text and can be opened in any text editor.
The file begins with a series of tag-pair lines. Each line has the form:
Tags must appear one per line, at the very beginning of the file, before any move text. The following tags are defined:
| Tag | Required | Description |
|---|---|---|
| [Event "…"] | Required | Name of the event, tournament, or game type. E.g. "IRF Division 2A — Swiss Qualifier" or "Raumschach — Player vs AI". |
| [Site "…"] | Required | Location or platform. Online games use "raumschach.org". |
| [Date "…"] | Required | Date the game was played, in YYYY.MM.DD format. |
| [White "…"] | Required | Member name of the White player. AI opponents are recorded as "Raumfischer:Strong" etc. |
| [Black "…"] | Required | Member name of the Black player. |
| [Result "…"] | Required | "1-0" (White wins), "0-1" (Black wins), "1/2-1/2" (draw), or "*" (game in progress or result unknown). |
| [Variant "…"] | Required | Either "Raumschach-Normal-Form", "Raumschach-S34A", "Raumschach-S34B", "Raumschach-S35A", or "Raumschach-S38". This tag identifies the file as RGN and distinguishes it from PGN. |
| [TimeControl "…"] | Required | Time control in seconds+increment format. E.g. "5400+30" for Classical (90 min + 30 sec). Use "-" for no time control. |
| [Termination "…"] | Optional | How the game ended. E.g. "Spacemate", "Stalemate", "Threefold repetition", "Draw by the 50-move rule", "White ran out of time". |
Additional tags may be included for correspondence games or annotated games: [Round], [Annotator], [WhiteElo], [BlackElo]. Any unrecognized tag is ignored by IRF tools.
A blank line separates the header section from the move section. Moves are written in IRF Figurine Algebraic Notation, in full origin–destination form:
FigurineLevelFileRank – LevelFileRank– with ×=♕︎ (or =♖︎, =♗︎, =🨢︎, =♘︎)†
Boardmate: Append ††
Spacemate: Append †††
Stalemate: Append ≡
Move pairs are grouped by full-move number in the standard way: 1. WhiteMove BlackMove. Comments may be inserted between moves using curly braces: { comment text }. The move section concludes with the result token on its own line, matching the [Result] tag value.
The following is a short illustrative game in RGN format. All seven required tags are present. The game ends in spacemate on move 12.
x denotes a capture.
The web game at raumschach.html generates a complete RGN file automatically when a game concludes. No manual transcription is required.
raumschach_YYYYMMDD.rgn to your downloads folder. The file contains all header tags filled in from the game’s metadata: date, players, time control, and termination reason."Human" and the AI as "Raumfischer:Strength" (e.g. "Raumfischer:Strong"). For rated games submitted to the IRF, replace "Human" with your IRF member name before submission.
The Raumschach Analysis tool accepts RGN files directly. Loading a file populates the move list automatically and displays the game’s header information — players, date, time control, and termination reason — above the analysis board.
.rgn file from the file picker.Alternatively, if you do not have the RGN file, you may paste the raw move list directly into the text box. The analysis tool accepts plain move lists as well as full RGN input; if a plain move list is pasted, the game metadata header will simply not appear.
Rated games must be submitted to the IRF administrator as complete game records. The RGN file satisfies all submission requirements automatically.
[White] and [Black] tags.[Result] tag matches the actual outcome of the game..rgn file to an email and send it to the IRF administrator via the contact page. The subject line should read: Game submission — [your member name] — [date].[TimeControl "259200+0"] tag (three calendar days per move, expressed in seconds) to indicate correspondence time control, as specified in Section VIII of the IRF Charter. Both players should retain copies of all moves as transmitted, and the complete game may be reconstructed as an RGN file at the conclusion of the correspondence.
RGN is a purpose-built descendant of PGN, not an extension of it. The two formats share the same outer structure — square-bracket tags, move numbering with a period, curly-brace comments, and a result token — so any reader familiar with PGN will find an RGN file immediately legible. The differences are as follows.
[Variant "Raumschach-Normal-Form"]; PGN assumes standard chess when no variant tag is present..rgn, not .pgn, to prevent confusion and avoid misparse by PGN software.RGN files should not be renamed to .pgn. No existing PGN reader will parse them correctly, and the results would be silently wrong rather than visibly erroneous.
Because RGN is plain UTF-8 text, it can be composed, read, or edited in any text editor. Special characters — the piece figurines (♔︎–♙︎ = U+2654–U+2659; 🨢︎ = U+1FA22), the en-dash, the dagger symbols, and the equals sign for promotion — should be stored as their Unicode code points rather than escaped. The file should use Unix line endings (LF) when possible, though Windows line endings (CRLF) are also accepted by IRF tools.
A minimal valid RGN file requires only the seven required header tags and at least one move. A game in progress that has not yet concluded should use [Result "*"] and omit the [Termination] tag.