- Sashité for Developers
- Specifications
- PCN
- 1.0.0
- Examples
- Complete Games
Complete Game Records (PCN v1.0.0)
This page provides end-to-end PCN documents that you can copy/paste and validate. Each example demonstrates the full structure with metadata, players, time control, plies, and outcomes.
All examples are shown in both TOML and JSON formats.
1. Chess — Blitz (Fischer 5+3)
A complete blitz game with Fischer time control.
TOML
[meta]
name = "Blitz Arena Game"
event = "Weekly Blitz"
site = "Chess Club"
round = "12"
started_at = 2025-01-27T14:30:00Z
[[links]]
rel = "canonical"
href = "https://example.com/games/12345"
[[periods]]
duration_ms = 300000
increment_ms = 3000
[sides.first]
name = "Alice"
variant = "Chess"
elo = 2100
[sides.second]
name = "Bob"
variant = "Chess"
elo = 2050
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
elapsed_ms = 8000
assessment = "good"
[[plies]]
pmn = "e7-e5"
elapsed_ms = 12000
[[plies]]
pmn = "g1-f3"
elapsed_ms = 15000
[[plies]]
pmn = "b8-c6"
elapsed_ms = 5000
[[plies]]
pmn = "f1-c4"
elapsed_ms = 12000
[[plies]]
pmn = "f8-c5"
elapsed_ms = 18000
[[plies]]
pmn = "c2-c3"
elapsed_ms = 10000
[[plies]]
pmn = "g8-f6"
elapsed_ms = 8000
assessment = "mistake"
comment = "Better was d6 or Nf6"
[outcome]
result = "1-0"
JSON
{
"meta": {
"name": "Blitz Arena Game",
"event": "Weekly Blitz",
"site": "Chess Club",
"round": "12",
"started_at": "2025-01-27T14:30:00Z"
},
"links": [
{
"rel": "canonical",
"href": "https://example.com/games/12345"
}
],
"periods": [
{ "duration_ms": 300000, "increment_ms": 3000 }
],
"sides": {
"first": {
"name": "Alice",
"variant": "Chess",
"elo": 2100
},
"second": {
"name": "Bob",
"variant": "Chess",
"elo": 2050
}
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4", "elapsed_ms": 8000, "assessment": "good" },
{ "pmn": "e7-e5", "elapsed_ms": 12000 },
{ "pmn": "g1-f3", "elapsed_ms": 15000 },
{ "pmn": "b8-c6", "elapsed_ms": 5000 },
{ "pmn": "f1-c4", "elapsed_ms": 12000 },
{ "pmn": "f8-c5", "elapsed_ms": 18000 },
{ "pmn": "c2-c3", "elapsed_ms": 10000 },
{
"pmn": "g8-f6",
"elapsed_ms": 8000,
"assessment": "mistake",
"comment": "Better was d6 or Nf6"
}
],
"outcome": {
"result": "1-0"
}
}
2. Shōgi — Main Time + Byōyomi
A shōgi game with 10 minutes main time followed by 30 seconds per move.
TOML
[meta]
name = "Meijin Qualifier"
event = "Meijin Tournament"
round = "3"
started_at = 2025-06-10T09:00:00Z
[[periods]]
duration_ms = 600000
[[periods]]
duration_ms = 30000
plies = 1
[sides.first]
name = "Sente"
variant = "Shogi"
[sides.second]
name = "Gote"
variant = "Shogi"
[setup]
feen = "lnsgk^gsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGK^GSNL / S/s"
[[plies]]
pmn = "7g-7f"
elapsed_ms = 5200
[[plies]]
pmn = "3c-3d"
elapsed_ms = 8000
[[plies]]
pmn = "2g-2f"
elapsed_ms = 28400
[[plies]]
pmn = "8d-8e"
elapsed_ms = 4100
[[plies]]
pmn = "B*5e"
elapsed_ms = 15000
check = true
comment = "Bishop drop with check"
[outcome]
result = "1-0"
JSON
{
"meta": {
"name": "Meijin Qualifier",
"event": "Meijin Tournament",
"round": "3",
"started_at": "2025-06-10T09:00:00Z"
},
"periods": [
{ "duration_ms": 600000 },
{ "duration_ms": 30000, "plies": 1 }
],
"sides": {
"first": {
"name": "Sente",
"variant": "Shogi"
},
"second": {
"name": "Gote",
"variant": "Shogi"
}
},
"setup": {
"feen": "lnsgk^gsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGK^GSNL / S/s"
},
"plies": [
{ "pmn": "7g-7f", "elapsed_ms": 5200 },
{ "pmn": "3c-3d", "elapsed_ms": 8000 },
{ "pmn": "2g-2f", "elapsed_ms": 28400 },
{ "pmn": "8d-8e", "elapsed_ms": 4100 },
{
"pmn": "B*5e",
"elapsed_ms": 15000,
"check": true,
"comment": "Bishop drop with check"
}
],
"outcome": {
"result": "1-0"
}
}
3. Classical Chess — Tournament Game with Resignation
A classical tournament game with quota-based time control ending in resignation.
TOML
[meta]
name = "Championship Round 5"
event = "National Championship"
site = "Grand Hall"
round = "5"
started_at = 2025-01-27T12:00:00Z
comment = "A dramatic Sicilian Defense"
[[links]]
rel = "canonical"
href = "https://chess-federation.org/games/2025/championship/r5/1"
[[links]]
rel = "analysis"
href = "https://lichess.org/analysis/pgn/xyz"
[[periods]]
duration_ms = 7200000
plies = 40
[[periods]]
duration_ms = 1800000
[sides.first]
name = "Grandmaster White"
variant = "Chess"
elo = 2650
[sides.second]
name = "International Master Black"
variant = "Chess"
elo = 2480
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
elapsed_ms = 50000
[[plies]]
pmn = "c7-c5"
elapsed_ms = 35000
comment = "The Sicilian Defense"
[[plies]]
pmn = "g1-f3"
elapsed_ms = 42200
[[plies]]
pmn = "d7-d6"
elapsed_ms = 31800
[[plies]]
pmn = "d2-d4"
elapsed_ms = 25000
[[plies]]
pmn = "c5+d4"
elapsed_ms = 28000
[[plies]]
pmn = "f3+d4"
elapsed_ms = 15000
[[plies]]
pmn = "g8-f6"
elapsed_ms = 22000
[[plies]]
pmn = "b1-c3"
elapsed_ms = 18000
assessment = "good"
[[plies]]
pmn = "a7-a6"
elapsed_ms = 45000
assessment = "dubious"
comment = "The Najdorf variation, but perhaps too slow here"
[outcome]
result = "1-0"
JSON
{
"meta": {
"name": "Championship Round 5",
"event": "National Championship",
"site": "Grand Hall",
"round": "5",
"started_at": "2025-01-27T12:00:00Z",
"comment": "A dramatic Sicilian Defense"
},
"links": [
{
"rel": "canonical",
"href": "https://chess-federation.org/games/2025/championship/r5/1"
},
{
"rel": "analysis",
"href": "https://lichess.org/analysis/pgn/xyz"
}
],
"periods": [
{ "duration_ms": 7200000, "plies": 40 },
{ "duration_ms": 1800000 }
],
"sides": {
"first": {
"name": "Grandmaster White",
"variant": "Chess",
"elo": 2650
},
"second": {
"name": "International Master Black",
"variant": "Chess",
"elo": 2480
}
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4", "elapsed_ms": 50000 },
{ "pmn": "c7-c5", "elapsed_ms": 35000, "comment": "The Sicilian Defense" },
{ "pmn": "g1-f3", "elapsed_ms": 42200 },
{ "pmn": "d7-d6", "elapsed_ms": 31800 },
{ "pmn": "d2-d4", "elapsed_ms": 25000 },
{ "pmn": "c5+d4", "elapsed_ms": 28000 },
{ "pmn": "f3+d4", "elapsed_ms": 15000 },
{ "pmn": "g8-f6", "elapsed_ms": 22000 },
{ "pmn": "b1-c3", "elapsed_ms": 18000, "assessment": "good" },
{
"pmn": "a7-a6",
"elapsed_ms": 45000,
"assessment": "dubious",
"comment": "The Najdorf variation, but perhaps too slow here"
}
],
"outcome": {
"result": "1-0"
}
}
4. Game with Variations
A game with analytical variations showing alternative lines.
TOML
[meta]
name = "Analyzed Game"
comment = "Opening analysis with variations"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "e7-e5"
[[plies]]
pmn = "g1-f3"
comment = "The Italian Game begins"
[[plies]]
pmn = "b8-c6"
[[plies]]
pmn = "f1-c4"
assessment = "good"
comment = "The Italian Game - solid and classical"
[[plies.variations]]
pmn = "f1-b5"
comment = "The Ruy Lopez - more complex"
[[plies.variations.variations]]
pmn = "a7-a6"
comment = "The Morphy Defense"
[[plies.variations.variations]]
pmn = "g8-f6"
comment = "The Berlin Defense - very solid"
[[plies.variations]]
pmn = "d2-d4"
comment = "The Scotch Game - aggressive"
JSON
{
"meta": {
"name": "Analyzed Game",
"comment": "Opening analysis with variations"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4" },
{ "pmn": "e7-e5" },
{ "pmn": "g1-f3", "comment": "The Italian Game begins" },
{ "pmn": "b8-c6" },
{
"pmn": "f1-c4",
"assessment": "good",
"comment": "The Italian Game - solid and classical",
"variations": [
{
"pmn": "f1-b5",
"comment": "The Ruy Lopez - more complex",
"variations": [
{ "pmn": "a7-a6", "comment": "The Morphy Defense" },
{ "pmn": "g8-f6", "comment": "The Berlin Defense - very solid" }
]
},
{
"pmn": "d2-d4",
"comment": "The Scotch Game - aggressive"
}
]
}
]
}
5. Draw by Agreement
A game ending in a draw by mutual agreement.
TOML
[meta]
name = "Friendly Match"
event = "Club Evening"
started_at = 2025-01-27T19:00:00Z
[[periods]]
duration_ms = 900000
increment_ms = 10000
[sides.first]
name = "Alice"
variant = "Chess"
[sides.second]
name = "Bob"
variant = "Chess"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
elapsed_ms = 5000
[[plies]]
pmn = "e7-e5"
elapsed_ms = 6000
[[plies]]
pmn = "g1-f3"
elapsed_ms = 8000
[[plies]]
pmn = "b8-c6"
elapsed_ms = 7000
draw_offer = true
comment = "Bob offers a draw"
[[plies]]
pmn = "f1-b5"
elapsed_ms = 12000
draw_offer = true
comment = "Alice accepts the draw"
[outcome]
result = "1/2-1/2"
JSON
{
"meta": {
"name": "Friendly Match",
"event": "Club Evening",
"started_at": "2025-01-27T19:00:00Z"
},
"periods": [
{ "duration_ms": 900000, "increment_ms": 10000 }
],
"sides": {
"first": { "name": "Alice", "variant": "Chess" },
"second": { "name": "Bob", "variant": "Chess" }
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4", "elapsed_ms": 5000 },
{ "pmn": "e7-e5", "elapsed_ms": 6000 },
{ "pmn": "g1-f3", "elapsed_ms": 8000 },
{
"pmn": "b8-c6",
"elapsed_ms": 7000,
"draw_offer": true,
"comment": "Bob offers a draw"
},
{
"pmn": "f1-b5",
"elapsed_ms": 12000,
"draw_offer": true,
"comment": "Alice accepts the draw"
}
],
"outcome": {
"result": "1/2-1/2"
}
}
6. Scholar’s Mate — Checkmate
A quick game ending in checkmate.
TOML
[meta]
name = "Scholar's Mate"
comment = "A classic beginner's trap"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "e7-e5"
[[plies]]
pmn = "f1-c4"
[[plies]]
pmn = "b8-c6"
[[plies]]
pmn = "d1-h5"
comment = "Threatening Qxf7#"
[[plies]]
pmn = "g8-f6"
assessment = "blunder"
comment = "Falls into the trap. Qe7 was necessary."
[[plies]]
pmn = "h5+f7"
check = true
mate = true
assessment = "brilliant"
comment = "Checkmate!"
[outcome]
result = "1-0"
JSON
{
"meta": {
"name": "Scholar's Mate",
"comment": "A classic beginner's trap"
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "e2-e4" },
{ "pmn": "e7-e5" },
{ "pmn": "f1-c4" },
{ "pmn": "b8-c6" },
{ "pmn": "d1-h5", "comment": "Threatening Qxf7#" },
{
"pmn": "g8-f6",
"assessment": "blunder",
"comment": "Falls into the trap. Qe7 was necessary."
},
{
"pmn": "h5+f7",
"check": true,
"mate": true,
"assessment": "brilliant",
"comment": "Checkmate!"
}
],
"outcome": {
"result": "1-0"
}
}
7. Cross-Variant — Chess vs Makruk
A cross-variant game where players use different rule systems.
TOML
[meta]
name = "East Meets West"
event = "Cross-Variant Exhibition"
comment = "An experimental cross-variant match"
[sides.first]
name = "Western Champion"
variant = "Chess"
[sides.second]
name = "Thai Champion"
variant = "Makruk"
[setup]
feen = "rnsmk^snr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/m"
[[plies]]
pmn = "e2-e4"
[[plies]]
pmn = "d6-d5"
[[plies]]
pmn = "e4+d5"
[[plies]]
pmn = "e6+d5"
JSON
{
"meta": {
"name": "East Meets West",
"event": "Cross-Variant Exhibition",
"comment": "An experimental cross-variant match"
},
"sides": {
"first": {
"name": "Western Champion",
"variant": "Chess"
},
"second": {
"name": "Thai Champion",
"variant": "Makruk"
}
},
"setup": {
"feen": "rnsmk^snr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/m"
},
"plies": [
{ "pmn": "e2-e4" },
{ "pmn": "d6-d5" },
{ "pmn": "e4+d5" },
{ "pmn": "e6+d5" }
]
}
8. Game In Progress (No Outcome)
A game that is still ongoing — no outcome section.
TOML
[meta]
name = "Ongoing Correspondence Game"
started_at = 2025-01-15T10:00:00Z
[sides.first]
name = "Player A"
[sides.second]
name = "Player B"
[setup]
feen = "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
[[plies]]
pmn = "d2-d4"
[[plies]]
pmn = "d7-d5"
[[plies]]
pmn = "c2-c4"
comment = "The Queen's Gambit"
JSON
{
"meta": {
"name": "Ongoing Correspondence Game",
"started_at": "2025-01-15T10:00:00Z"
},
"sides": {
"first": { "name": "Player A" },
"second": { "name": "Player B" }
},
"setup": {
"feen": "+rnbq+k^bn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+K^BN+R / C/c"
},
"plies": [
{ "pmn": "d2-d4" },
{ "pmn": "d7-d5" },
{ "pmn": "c2-c4", "comment": "The Queen's Gambit" }
]
}
Structure Summary
A complete PCN document can include:
| Section | Required | Description |
|---|---|---|
meta |
No | Match metadata (name, event, site, round, started_at, comment) |
links |
No | External resource references |
periods |
No | Time control configuration |
sides |
No | Player information (name, variant, elo) |
setup |
Yes | Initial position (must contain feen) |
plies |
No | Sequence of moves with optional timing, annotations, variations |
outcome |
No | Match result |
See Also
- Minimal Documents — Simplest valid PCN
- Time Control Systems — Detailed timing examples
- Special Moves — PMN operators
- Variations and Analysis — Variation examples
- Game Outcomes — Termination scenarios
