GS2-Experience マスターデータリファレンス

マスターデータのフォーマットと インポートする各種モデルのリファレンス

マスターデータのフォーマット

{
  "version": "2019-01-11",
  "experienceModels": [
    {
      "name": "[string]経験値モデル名",
      "metadata": "[string?]メタデータ",
      "defaultExperience": "[long]経験値の初期値",
      "defaultRankCap": "[long]ランクキャップの初期値",
      "maxRankCap": "[long]ランクキャップの最大値",
      "rankThreshold": {
        "metadata": "[string?]メタデータ",
        "values": [
          "[long]ランクアップ経験値閾値"
        ]
      },
      "acquireActionRates": [
        {
          "name": "[string]報酬加算テーブル名",
          "mode": "[string]報酬加算テーブルの種類",
          "rates": [
            "[double]加算量(倍率)"
          ],
          "bigRates": [
            "[string]加算量(倍率)"
          ]
        }
      ]
    }
  ]
}
有効化条件必須デフォルト値の制限説明
versionstring
2019-01-11マスターデータのフォーマットバージョン
experienceModelsList<ExperienceModel>~ 100 items経験値モデル
経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます(例: 限界突破)。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。

モデル

ExperienceModel

経験値モデル

経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます(例: 限界突破)。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。

有効化条件必須デフォルト値の制限説明
experienceModelIdstring
~ 1024文字経験値モデル GRN
※ サーバーが自動で設定
namestring
~ 128文字経験値モデル名
経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
defaultExperiencelong00 ~ 9223372036854775805経験値の初期値
新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。
defaultRankCaplong
0 ~ 9223372036854775805ランクキャップの初期値
新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。
maxRankCaplong
0 ~ 9223372036854775805ランクキャップの最大値
ランクキャップの絶対的な上限です。ランクキャップ増加操作(限界突破など)を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。
rankThresholdThreshold
ランクアップ閾値
各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。
acquireActionRatesList<AcquireActionRate>0 ~ 100 items報酬加算テーブルリスト
ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。

Threshold

ランクアップ閾値

ランクアップ閾値は経験値からランク(レベル)を決定するために必要な数列です。
[10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。

有効化条件必須デフォルト値の制限説明
metadatastring~ 2048文字メタデータ
メタデータには任意の値を設定できます。
これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。
valuesList<long>
1 ~ 10000 itemsランクアップ経験値閾値リスト
ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3(それ以上の経験値獲得は不可)となります。

AcquireActionRate

報酬加算テーブル

ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。

有効化条件必須デフォルト値の制限説明
namestring
~ 128文字報酬加算テーブル名
この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。
mode文字列列挙型
enum {
  “double”,
  “big”
}
“double”報酬加算テーブルの種類
倍率値の数値精度を選択します。標準的な浮動小数点数(2^48 まで)には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。
定義説明
“double”2^48 未満の浮動小数点数
“big”文字列表記で1024桁未満の浮動小数点数
ratesList<double>{mode} == “double”
✓※
1 ~ 10000 itemsランクごとの加算量(倍率)
ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。
※ mode が “double” であれば 必須
bigRatesList<string>{mode} == “big”
✓※
1 ~ 10000 itemsランクごとの加算量(倍率)
ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。
※ mode が “big” であれば 必須