ガチャマスタフォーマット

ガチャのマスターデータはGS2マネージメントコンソールでガチャ情報を登録し、エクスポートすることで生成できます。

これによって、開発環境用のガチャと製品環境のガチャで同じデータを2度登録する手間を省けます。

また、エクスポートされるデータはただの JSON 形式のデータですので、GS2マネージメントコンソールを通さずに自作のツールでガチャマスタを作成することも可能です。

マスターデータは以下のフォーマットで定義されます。

{
  "version": "2017-11-22",
  "gachas": [
    {
      "meta": "ゴールド 単発ガチャ",
      "name": "gold_x1",
      "prizeJobQueueName": null,
      "prizeJobQueueScriptName": null,
      "prizeTableNames": [
        "gold"
      ]
    },
    {
      "meta": "ゴールド 10連ガチャ",
      "name": "gold_x10",
      "prizeJobQueueName": null,
      "prizeJobQueueScriptName": null,
      "prizeTableNames": [
        "gold",
        "gold",
        "gold",
        "gold",
        "gold",
        "gold",
        "gold",
        "gold",
        "gold",
        "gold"
      ]
    },
    {
      "meta": "魔法石 単発ガチャ",
      "name": "money_x1",
      "prizeJobQueueName": "jobQueue-0001",
      "prizeJobQueueScriptName": "script-draw-0001",
      "prizeTableNames": [
        "money"
      ]
    },
    {
      "meta": "魔法石 10連ガチャ / SR以上1枚確定",
      "name": "money_x10",
      "prizeJobQueueName": null,
      "prizeJobQueueScriptName": null,
      "prizeTableNames": [
        "money",
        "money",
        "money",
        "money",
        "money",
        "money",
        "money",
        "money",
        "money",
        "special"
      ]
    }
  ],
  "prizeTables": [
    {
      "name": "gold",
      "rarities": [
        {
          "name": "n",
          "prizes": [
            {
              "resourceId": "n-0001",
              "weight": 1
            },
            {
              "resourceId": "n-0002",
              "weight": 1
            },
            {
              "resourceId": "n-0003",
              "weight": 1
            },
            {
              "resourceId": "n-0004",
              "weight": 1
            }
          ],
          "weight": 90
        },
        {
          "name": "r",
          "prizes": [
            {
              "resourceId": "r-0001",
              "weight": 1
            },
            {
              "resourceId": "r-0002",
              "weight": 1
            },
            {
              "resourceId": "r-0003",
              "weight": 1
            },
            {
              "resourceId": "r-0004",
              "weight": 1
            }
          ],
          "weight": 9
        },
        {
          "name": "sr",
          "prizes": [
            {
              "resourceId": "sr-0001",
              "weight": 1
            },
            {
              "resourceId": "sr-0002",
              "weight": 1
            },
            {
              "resourceId": "sr-0003",
              "weight": 1
            }
          ],
          "weight": 1
        }
      ]
    },
    {
      "name": "money",
      "rarities": [
        {
          "name": "r",
          "prizes": [
            {
              "resourceId": "r-0001",
              "weight": 1
            },
            {
              "resourceId": "r-0002",
              "weight": 1
            },
            {
              "resourceId": "r-0003",
              "weight": 1
            },
            {
              "resourceId": "r-0004",
              "weight": 1
            }
          ],
          "weight": 70
        },
        {
          "name": "sr",
          "prizes": [
            {
              "resourceId": "sr-0001",
              "weight": 1
            },
            {
              "resourceId": "sr-0002",
              "weight": 1
            },
            {
              "resourceId": "sr-0003",
              "weight": 1
            }
          ],
          "weight": 25
        },
        {
          "name": "ssr",
          "prizes": [
            {
              "resourceId": "ssr-0001",
              "weight": 1
            },
            {
              "resourceId": "ssr-0002",
              "weight": 4
            }
          ],
          "weight": 5
        }
      ]
    },
    {
      "name": "special",
      "rarities": [
        {
          "name": "sr",
          "prizes": [
            {
              "resourceId": "sr-0001",
              "weight": 1
            },
            {
              "resourceId": "sr-0002",
              "weight": 1
            },
            {
              "resourceId": "sr-0003",
              "weight": 1
            }
          ],
          "weight": 95
        },
        {
          "name": "ssr",
          "prizes": [
            {
              "resourceId": "ssr-0001",
              "weight": 1
            },
            {
              "resourceId": "ssr-0002",
              "weight": 4
            }
          ],
          "weight": 5
        }
      ]
    }
  ]
}

グローバルセクション

version

現時点では 『2017-11-22』 を指定してください。 将来フォーマットが変更されたときに読み込むフォーマットバージョンを確定するのに使用します。

gachas

ガチャのマスターリストを定義します。 最大100個のガチャを定義出来ます。

prizeTables

排出確率テーブルのマスターリストを定義します。 最大100個の排出確率テーブルを定義出来ます。

gachas セクション

"meta": "ゴールド 単発ガチャ", "name": "gold_x1", "prizeJobQueueName": null, "prizeJobQueueScriptName": null, "prizeTableNames": [

"gold"

]

name

ガチャの名前を設定します。画面に表示される要素ではありませんので、ガチャを区別可能な値を使用してください。 ガチャの一覧を取得したときの識別や、抽選処理を行う際の識別に使用します。

meta

ガチャに付属するメタデータ。任意の値を設定出来ます。

prizeTableNames

抽選に使用する排出確率テーブル名を指定します。 複数指定することで、複数回抽選することが出来ます。 最大100個の排出確率テーブルを定義出来ます。

prizeJobQueueName

抽選結果を格納する GS2-JobQueue のジョブキュー名を指定します。

prizeJobQueueScriptName

抽選結果を処理するジョブキュー用スクリプトを指定します。

prizeTables セクション

name

排出確率テーブルの名前を設定します。画面に表示される要素ではありませんので、排出確率テーブルを区別可能な値を使用してください。 ガチャの排出確率テーブルに設定して使用します。

rarities

排出確率テーブルに属するレアリティのリストを定義します。 最大100個のレアリティを定義出来ます。

rarities セクション

name

レアリティの名前を設定します。画面に表示される要素ではありませんので、レアリティを区別可能な値を使用してください。 ガチャの排出確率を取得した際に応答値に使用されます。

prizes

レアリティに属する景品のリストを定義します。 最大100個の景品を定義出来ます。

prizes セクション

resourceId

排出される景品のリソースIDを設定します。画面に表示される要素ではありませんので、景品を区別可能な値を使用してください。 ガチャのリソース毎の排出確率取得や、抽選結果の応答値に使用されます。