Sashité for Developers
  1. Sashité for Developers
  2. Specifications
  3. PCN
  4. 1.0.0
  5. Examples
  6. Cross-Style Games

Cross-Style Games (PCN v1.0.0)

This page demonstrates cross-variant games where players use different rule systems (SNN styles) within a single PCN document.

Rule-agnostic contract: PAN actions are validated against the acting side’s style on that turn. Trait derivation: from FEEN + parity of moves.length.


1) CHESS vs Makruk — No Time Control

Different styles per side; free-play (no periods).

{
  "sides": {
    "first":  { "style": "CHESS",  "name": "Western Champion" },
    "second": { "style": "makruk", "name": "Thai Champion" }
  },
  "setup": "rnsmksnr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / C/m",
  "moves": [
    ["e2-e4", 0.0],
    ["d6-d5", 0.0]
  ],
  "status": "in_progress"
}

Notes


2) CHESS vs Shōgi — Asymmetric Time Control

Per-player time control: chess side uses Fischer 3+2, shōgi side uses byōyomi (per-move cap).

{
  "meta": {
    "event": "Hybrid Match",
    "started_at": "2025-01-27T15:00:00Z"
  },
  "sides": {
    "first": {
      "style": "CHESS",
      "name": "Chess Pro",
      "periods": [
        { "time": 180, "inc": 2 }
      ]
    },
    "second": {
      "style": "shogi",
      "name": "Shogi Pro",
      "periods": [
        { "time": 30, "moves": 1 }
      ]
    }
  },
  "setup": "+rnbq+kbn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / C/s",
  "moves": [
    ["e2-e4", 3.8],     // CHESS (bank + inc applies after move)
    ["P*e5", 2.4]       // shogi drop, must satisfy per-move cap 30.0
  ],
  "status": "in_progress"
}

Notes


3) Mixed Quotas — CHESS vs Xiangqi (Canadian vs Bank)

First side (chess) plays Canadian quota; second side (xiangqi) plays a simple bank.

{
  "sides": {
    "first": {
      "style": "CHESS",
      "name": "Alice",
      "periods": [
        { "time": 300, "moves": 25 }
      ]
    },
    "second": {
      "style": "xiangqi",
      "name": "Bob",
      "periods": [
        { "time": 600 }
      ]
    }
  },
  "setup": "+rnbq+kbn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / C/x",
  "moves": [
    ["g1-f3", 4.0],
    ["h10-h9", 6.5]
  ]
}

Notes


4) Pass & Drops in Mixed Styles — No Time, Status Draw

Cross-style mechanics: pass move and drop, no time control, declared draw.

{
  "sides": {
    "first":  { "style": "CHESS", "name": "A" },
    "second": { "style": "shogi", "name": "B" }
  },
  "setup": "8/8/8/8/8/8/8/8 / C/s",
  "moves": [
    ["...", 0.0],   // pass: allowed by PAN, legality per style/engine policy
    ["P*f5", 0.0]   // shogi drop
  ],
  "status": "agreement"
}

Notes


5) Cross-Style Handicap — Asymmetric Budgets

Different budget sizes and systems to create a timed handicap.

{
  "sides": {
    "first": {
      "style": "CHESS",
      "name": "Expert",
      "periods": [
        { "time": 300 }   // pure bank 5
      ]
    },
    "second": {
      "style": "makruk",
      "name": "Beginner",
      "periods": [
        { "time": 900 }   // pure bank 15
      ]
    }
  },
  "setup": "rnsmksnr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / C/m",
  "moves": [
    ["e2-e4", 9.0],
    ["d6-d5", 21.0]
  ],
  "status": "in_progress"
}

Implementation Tips

For end-to-end scenarios, see Complete Game Records. For focused timing mechanisms, see Time Control Systems.