Spiegazione
PGN, sigla di Portable Game Notation o notazione portabile delle partite, è un formato di testo progettato per salvare e scambiare partite di scacchi. Può essere aperto come testo normale, ma la sua struttura consente a programmi, siti e database di ricostruire la partita.
Le due parti di una partita PGN
- La sezione delle etichette contiene dati fra parentesi quadre, come Event, Site, Date, Round, White, Black e Result. Queste sette etichette formano l'insieme di base per l'archivio.
- La sezione delle mosse contiene numeri di mossa, mosse in , commenti facoltativi, varianti e un indicatore finale di risultato.
I commenti di solito sono racchiusi tra parentesi graffe. Le varianti alternative sono poste fra parentesi e possono contenere altre varianti. Le brevi valutazioni possono essere salvate come NAG, codici composti da $ e un numero. Un singolo file .pgn può contenere una o molte partite separate.
PGN registra una partita completa o un albero di varianti, non soltanto un'istantanea della scacchiera. Quando la partita inizia da una posizione diversa da quella iniziale, le etichette SetUp e possono indicare quella posizione iniziale. FEN, da solo, descrive una posizione, non la storia delle mosse che vi ha condotto.
Cosa non è PGN
PGN non è un protocollo perché un motore pensi o comunichi con un'interfaccia. Protocolli come scambiano comandi fra programmi; PGN scambia registri di partite. Non garantisce neppure che tutti i programmi accettino esattamente le stesse estensioni, quindi i file più portabili rispettano la struttura standard e usano mosse legali.
L'indicatore finale deve essere 1-0, 0-1, 1/2-1/2 oppure *. Inoltre, deve coincidere con l'etichetta Result dell'intestazione. L'asterisco si usa quando la partita è in corso o non ha un risultato finale.
Confusioni comuni
PGN rispetto a FEN
PGN salva una partita e i suoi metadati; FEN descrive una singola posizione iniziale o intermedia.
PGN rispetto a UCI
PGN è un formato di registrazione; UCI è un protocollo di comunicazione con i motori.
Fonti
- 1.Portable Game Notation Specification and Implementation Guide, Steven J. Edwards
- 2.PGN parsing and writing, python-chess
