{
  "gameId": "67bc30f273d0680018dcda31",
  "name": "Mahjong Ways 2",
  "version": "1.0.0",
  "description": "Ways-pay slot game with variable reel heights, tumble/cascade mechanics, golden symbols in free game, and escalating multipliers",
  "config": {
    "grid": {
      "type": "variable",
      "rows": null,
      "cols": null,
      "reels": 5,
      "reelHeights": [4, 5, 5, 5, 4],
      "totalPositions": 23
    },

    "symbols": [
      { "id": 0,  "code": "NU",  "name": "Null",             "category": "system",  "description": "Empty position" },
      { "id": 1,  "code": "H1",  "name": "High 1",           "category": "high",    "description": "Highest paying symbol" },
      { "id": 2,  "code": "H2",  "name": "High 2",           "category": "high",    "description": "Second highest paying symbol" },
      { "id": 3,  "code": "H3",  "name": "High 3",           "category": "high",    "description": "Third highest paying symbol" },
      { "id": 4,  "code": "H4",  "name": "High 4",           "category": "high",    "description": "Fourth highest paying symbol" },
      { "id": 11, "code": "N1",  "name": "Normal 1",         "category": "normal",  "description": "Highest paying normal symbol" },
      { "id": 12, "code": "N2",  "name": "Normal 2",         "category": "normal",  "description": "Second normal symbol" },
      { "id": 13, "code": "N3",  "name": "Normal 3",         "category": "normal",  "description": "Third normal symbol" },
      { "id": 14, "code": "N4",  "name": "Normal 4",         "category": "normal",  "description": "Fourth normal symbol" },
      { "id": 15, "code": "N5",  "name": "Normal 5",         "category": "normal",  "description": "Lowest paying normal symbol" },
      { "id": 31, "code": "F",   "name": "Scatter",          "category": "scatter", "description": "Triggers free spins when 3+ appear" },
      { "id": 50, "code": "W",   "name": "Wild",             "category": "wild",    "description": "Substitutes for any symbol" },
      { "id": 55, "code": "H1W", "name": "Golden High 1",    "category": "golden",  "description": "Golden version of H1 (acts as wild in free game)" },
      { "id": 56, "code": "H2W", "name": "Golden High 2",    "category": "golden",  "description": "Golden version of H2" },
      { "id": 57, "code": "H3W", "name": "Golden High 3",    "category": "golden",  "description": "Golden version of H3" },
      { "id": 58, "code": "H4W", "name": "Golden High 4",    "category": "golden",  "description": "Golden version of H4" },
      { "id": 65, "code": "N1W", "name": "Golden Normal 1",  "category": "golden",  "description": "Golden version of N1" },
      { "id": 66, "code": "N2W", "name": "Golden Normal 2",  "category": "golden",  "description": "Golden version of N2" },
      { "id": 67, "code": "N3W", "name": "Golden Normal 3",  "category": "golden",  "description": "Golden version of N3" },
      { "id": 68, "code": "N4W", "name": "Golden Normal 4",  "category": "golden",  "description": "Golden version of N4" },
      { "id": 69, "code": "N5W", "name": "Golden Normal 5",  "category": "golden",  "description": "Golden version of N5" }
    ],

    "payTable": {
      "numOfKindTiers": [
        { "label": "3 of a kind", "count": 3 },
        { "label": "4 of a kind", "count": 4 },
        { "label": "5 of a kind", "count": 5 }
      ],
      "regular": [
        { "symbolId": 1,  "code": "H1", "payouts": [10, 25, 50] },
        { "symbolId": 2,  "code": "H2", "payouts": [8, 20, 40] },
        { "symbolId": 3,  "code": "H3", "payouts": [6, 15, 30] },
        { "symbolId": 4,  "code": "H4", "payouts": [5, 10, 15] },
        { "symbolId": 11, "code": "N1", "payouts": [3, 5, 12] },
        { "symbolId": 12, "code": "N2", "payouts": [3, 5, 12] },
        { "symbolId": 13, "code": "N3", "payouts": [2, 4, 10] },
        { "symbolId": 14, "code": "N4", "payouts": [1, 3, 6] },
        { "symbolId": 15, "code": "N5", "payouts": [1, 3, 6] }
      ],
      "scatter": {
        "symbolId": 31,
        "code": "F",
        "note": "Does not pay directly, triggers free spins",
        "countTiers": [
          { "label": "3 scatters", "count": 3, "freeSpins": 0 },
          { "label": "4 scatters", "count": 4, "freeSpins": 10 },
          { "label": "5 scatters", "count": 5, "freeSpins": 12 },
          { "label": "6+ scatters", "count": 6, "freeSpins": 14 }
        ]
      }
    },

    "rules": {
      "minNumOfKind": 3,
      "triggerCount": 3,
      "freeSpinsPerScatter": [0, 10, 12, 14],
      "retrigger": true,
      "retriggerDescription": "3+ scatters during free game adds more free spins"
    },

    "options": {
      "totalBet": [20, 1200],
      "multiplier": [1, 2, 3, 5],
      "freeGameMultiplierBoost": 2
    },

    "states": [
      { "id": 0, "name": "BaseGame", "label": "Base Game" },
      { "id": 1, "name": "FreeGame", "label": "Free Game" }
    ],

    "winTypes": [
      { "id": 0, "name": "NoWin",     "label": "No Win" },
      { "id": 1, "name": "NormalWin", "label": "Normal Win" },
      { "id": 2, "name": "FreeGame",  "label": "Free Game Trigger" }
    ],

    "mechanics": {
      "winType": "ways-pay",
      "winDescription": "3+ matching symbols on consecutive reels from left to right (ways)",
      "tumble": true,
      "tumbleDescription": "Winning symbols removed, remaining drop down, new symbols fill from top",
      "wild": true,
      "wildDescription": "Wild (W) substitutes for any regular symbol",
      "goldenSymbols": true,
      "goldenSymbolsDescription": "Golden variants appear in Reels 2-4. In free game, Reel 3 is entirely golden symbols acting as wilds",
      "variableReels": true,
      "variableReelsDescription": "Reel heights vary: [4, 5, 5, 5, 4]",
      "escalatingMultiplier": true,
      "escalatingMultiplierDescription": "Multiplier increases with each tumble: 1x → 2x → 3x → 5x. Doubled in free game (2x → 4x → 6x → 10x)",
      "buyFeature": true,
      "buyFeatureDescription": "Mode 1 costs 1200 (60x normal bet). Guarantees 3-5 scatters on first spin"
    },

    "modes": [
      {
        "id": 0,
        "name": "Normal",
        "description": "Standard play mode",
        "isBuyFeature": false,
        "totalBet": 20
      },
      {
        "id": 1,
        "name": "Buy Feature",
        "description": "Guaranteed scatter trigger for free spins",
        "isBuyFeature": true,
        "totalBet": 1200
      }
    ]
  }
}
