INTL. RAUMSCHACH FED. FOUNDED · MMXXVI

Raumschach Game Notation

The .rgn File Format — Recording, Replaying, and Submitting Games

International Raumschach Federation  ·  2026

The Raumschach Game Notation (RGN) is the official IRF format for recording complete Raumschach games. It stores both the game’s header information — players, date, time control, and result — and the full move list in IRF Standard Notation. RGN files use the extension .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.

Why a Separate Format?

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.

File Format

Header Section

The file begins with a series of tag-pair lines. Each line has the form:

[TagName "Value"]

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.

Move Section

A blank line separates the header section from the move section. Moves are written in IRF Figurine Algebraic Notation, in full origin–destination form:

Move format:FigurineLevelFileRank – LevelFileRank
Figurines:   ♔︎ King   ♕︎ Queen   ♖︎ Rook   ♗︎ Bishop   ♘︎ Knight   🨢︎ Unicorn   ♙︎ Pawn
Capture:   Replace with ×
Promotion:   Append =♕︎ (or =♖︎, =♗︎, =🨢︎, =♘︎)
Check:   Append 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.

A Complete Example

The following is a short illustrative game in RGN format. All seven required tags are present. The game ends in spacemate on move 12.

[Event "Raumschach — Player vs AI"] [Site "raumschach.org"] [Date "2026.06.14"] [White "Avidius Du Vide"] [Black "Raumfischer:Strong"] [Result "1-0"] [Variant "Raumschach-Normal-Form"] [TimeControl "-"] [Termination "Spacemate"] 1. ♘︎Ab1–Ac3 ♘︎Eb5–Dc3 2. ♗︎Ab1–Cc2 ♙︎Ea4–Ea3 3. 🨢︎Ab1–Bc2 ♗︎Eb5–Cd4 4. ♕︎Bc1–Cc2 ♘︎Ed5–Cc4 5. ♙︎Aa3–Ba3 🨢︎Eb5–Da4 6. ♖︎Aa1–Ba1 ♗︎Ed5–Cb3 7. ♕︎Cc2–Dc3 ♔︎Ee5–De4 { Black king ventures forward } 8. 🨢︎Ac1–Bb2 ♔︎Ee4–Ce4 9. ♖︎Aa1–Ca1 ♙︎Ee4–Ee4 10. ♕︎Dc3–Dc4† ♔︎Ee4–Dd5 11. 🨢︎Bb2–Ca3† ♔︎Dd5–Cd4 12. ♕︎Dc4–Dd4††† 1-0
Note on the dash character: IRF notation uses an en-dash (–, U+2013) between origin and destination squares. A plain hyphen-minus (-) and em-dash (—) are also accepted by IRF tools for compatibility. The multiplication sign (×, U+00D7) or the letter x denotes a capture.

Saving a Game from raumschach.org

The web game at raumschach.html generates a complete RGN file automatically when a game concludes. No manual transcription is required.

  1. Play a game to completion (spacemate, stalemate, draw by move rule, or clock expiry).
  2. When the game-over screen appears, the full move list is displayed. Click Download .rgn.
  3. Your browser saves a file named 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.
  4. The file is ready to load into the analysis tool or to submit to the IRF.
Player names: The web game records the human player as "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.

Analyzing a Game at analysis.html

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.

  1. Open analysis.html.
  2. Click Load .rgn file. Select your .rgn file from the file picker.
  3. The move list is extracted from the file and placed in the input box. The game metadata appears in a strip above the box.
  4. Set the engine strength using the slider, then press Analyze →.
  5. The board advances to the final position. Step backward through the game using the arrow keys or by clicking moves in the move table. The Raumfischer engine evaluates each move and flags blunders (??), mistakes (?), and dubious moves (?!) automatically.

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.

Submitting a Game to the IRF

Rated games must be submitted to the IRF administrator as complete game records. The RGN file satisfies all submission requirements automatically.

  1. Ensure the RGN file is complete: all seven required tags must be present, and both players’ IRF member names should appear in the [White] and [Black] tags.
  2. Verify the [Result] tag matches the actual outcome of the game.
  3. Attach the .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].
  4. The administrator will confirm receipt, assign the game a rating update, and add the result to the IRF rating list.
Correspondence games follow the same submission procedure. Use the [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.

Relationship to PGN

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.

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.

Plain-Text Compatibility

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.