レベルマスタフォーマット

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

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

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

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

{
      "version": "2018-07-18",
      "levelTables": [
          {
              "name": "level-table-0001",
              "thresholds": [
                  100,
                  500,
                  1000
              ]
          },
          {
              "name": "level-table-0002",
              "thresholds": [
                  1000,
                  5000,
                  10000
              ]
          }
      ],
      "resourceTypes": [
          {
              "name": "resource-type-0001",
              "meta": "meta",
              "levelTableName": "level-table-0001",
              "defaultExperience": 0,
              "defaultLevelCap": 50,
              "maxLevelCap": 70
          },
          {
              "name": "resource-type-0002",
              "levelTableName": "level-table-0001",
              "defaultExperience": 0,
              "defaultLevelCap": 2,
              "maxLevelCap": 20
          },
          {
              "name": "resource-type-0003",
              "levelTableName": "level-table-0002",
              "defaultExperience": 300,
              "defaultLevelCap": 50,
              "maxLevelCap": 70,
          }
      ]
  }

グローバルセクション

version

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

levelTables

レベルアップ経験値テーブルのマスターリストを定義します。 1つのレベルマスターに最大100個のレベルテーブルを定義出来ます。

resourceTypes

リソースタイプのマスターリストを定義します。 1つのレベルマスターに最大100個のリソースタイプを定義出来ます。

levelTables セクション

name

レベルテーブルの名前を設定します。 resourceTypes で定義するリソースタイプが使用するレベルテーブルを指定する際に使用します。

thresholds

レベルアップする経験値の閾値を指定します。 ここで指定する値は累積獲得経験値の値(絶対値)であり、前回のレベルアップからの獲得経験値(相対値)ではありません。

resourceTypes セクション

name

リソースタイプの名前を設定します。 GetStatusByResourceType や IncreaseExperienceByUserIdAndResourceType で API を呼び出す際に使用します。

meta

任意のメタデータを指定します。 ここで指定した値は GS2-Script で連携する際にスクリプトの引数に渡されます。

levelTableName

このリソースタイプのリソースがレベル計算に使用するレベルテーブルの名前を指定します。

defaultExperience

新しいリソースを作成したときに初期値として指定する経験値を指定します。

defaultLevelCap

新しいリソースを作成したときに初期値として指定するレベルキャップを指定します。

maxLevelCap

このリソースタイプを持つリソースが取り得るレベルキャップの最大値を指定します。