Erklärung
PGN, die Abkürzung für Portable Game Notation, ist ein Textformat zum Speichern und Austauschen von Schachpartien. Menschen können es als normalen Text öffnen, während Programme, Websites und Datenbanken die Struktur nutzen, um die Partie wiederherzustellen.
Die zwei Abschnitte einer PGN-Partie
- Der Tag-Pair-Abschnitt enthält Angaben in eckigen Klammern wie Event, Site, Date, Round, White, Black und Result. Diese sieben Tags bilden die grundlegende Archivangabe.
- Der Zugtext enthält Zugnummern, Züge in , optionale Kommentare, Varianten und ein abschließendes Ergebniszeichen.
Kommentare stehen gewöhnlich in geschweiften Klammern. Alternative Varianten stehen in Klammern und können weitere Varianten enthalten. Kurze Bewertungen lassen sich als NAG speichern, also als Codes aus $ und einer Zahl. Eine .pgn-Datei kann eine oder viele getrennte Partien enthalten.
PGN speichert eine Partie oder einen Variantenbaum, nicht nur eine Momentaufnahme des Bretts. Beginnt die Partie aus einer nicht normalen Stellung, können die Header SetUp und diese Ausgangsstellung angeben. FEN allein beschreibt eine Stellung, nicht die Zuggeschichte, die zu ihr führte.
Was PGN nicht ist
PGN ist kein Protokoll, mit dem eine Engine denkt oder mit einer grafischen Oberfläche kommuniziert. Protokolle wie tauschen Befehle zwischen Programmen aus. PGN tauscht Partieaufzeichnungen aus. Die portabelsten Dateien folgen der Standardstruktur und enthalten legale Züge.
Das Endzeichen muss 1-0, 0-1, 1/2-1/2 oder * sein. Es muss außerdem mit dem Header Result übereinstimmen. Das Sternchen steht für eine laufende Partie oder eine Partie ohne verfügbares Endergebnis.
Häufige Verwechslungen
PGN und FEN
PGN speichert eine Partie mit Metadaten, FEN beschreibt eine einzelne Ausgangs- oder Zwischenstellung.
PGN und UCI
PGN ist ein Format für Partieaufzeichnungen, UCI ein Kommunikationsprotokoll für Engines.
Quellen
- 1.Portable Game Notation Specification and Implementation Guide, Steven J. Edwards
- 2.PGN parsing and writing, python-chess
