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]加算量(倍率)"
]
}
]
}
]
}| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2019-01-11 | マスターデータのフォーマットバージョン | ||
| experienceModels | List<ExperienceModel> | ~ 100 items | 経験値モデル 経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます(例: 限界突破)。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。 |
モデル
ExperienceModel
経験値モデル
経験値とランクシステムのルールを定義します。ランクアップに必要な経験値の閾値、デフォルトのランクキャップ、最大ランクキャップを設定します。ランクキャップはステータスが到達できる最大ランクを制限し、ステータスごとに最大ランクキャップまで引き上げることができます(例: 限界突破)。オプションで、現在のランクに基づいて報酬倍率を調整する入手アクションレートテーブルを含めることができます。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| experienceModelId | string | ※ | ~ 1024文字 | 経験値モデル
GRN ※ サーバーが自動で設定 | ||
| name | string | ✓ | ~ 128文字 | 経験値モデル名 経験値モデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。 | ||
| metadata | string | ~ 2048文字 | メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 | |||
| defaultExperience | long | 0 | 0 ~ 9223372036854775805 | 経験値の初期値 新規作成されたステータスに割り当てられる経験値です。通常、プレイヤーが進行の最初から始めるように 0 に設定されます。初期ランクはこの値からランクアップ閾値テーブルを使用して決定されます。 | ||
| defaultRankCap | long | ✓ | 0 ~ 9223372036854775805 | ランクキャップの初期値 新規作成されたステータスが到達できるデフォルトの最大ランクです。このランクの閾値を超えた経験値は破棄されるかオーバーフロースクリプトがトリガーされます。ランクキャップは限界突破などの操作により、ステータスごとに maxRankCap まで引き上げることができます。 | ||
| maxRankCap | long | ✓ | 0 ~ 9223372036854775805 | ランクキャップの最大値 ランクキャップの絶対的な上限です。ランクキャップ増加操作(限界突破など)を行っても、ランクキャップはこの値を超えることはできません。defaultRankCap 以上の値である必要があります。 | ||
| rankThreshold | Threshold | ✓ | ランクアップ閾値 各ランクに必要な累計経験値を定義する閾値テーブルを参照します。閾値のエントリ数が到達可能な最大ランクを決定し、各エントリの値は次のランクに到達するために必要な経験値を指定します。 | |||
| acquireActionRates | List<AcquireActionRate> | 0 ~ 100 items | 報酬加算テーブルリスト ステータスのランクを参照として使用する際に報酬量を調整するランクベースの倍率テーブルを定義します。各テーブルはランクと倍率をマッピングし、同じアクションからより高ランクのキャラクターがより多くの報酬を受け取るような仕組みを実現できます。 |
Threshold
ランクアップ閾値
ランクアップ閾値は経験値からランク(レベル)を決定するために必要な数列です。
[10, 20] という値を設定した場合、経験値の値が 1~9 の間はランク1、10~19 の間はランク2、経験値の値が 20 でランク3 となり、それ以上経験値を入手することが出来なくなります。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |
|---|---|---|---|---|---|---|
| metadata | string | ~ 2048文字 | メタデータ メタデータには任意の値を設定できます。 これらの値は GS2 の動作には影響しないため、ゲーム内で利用する情報の保存先として使用できます。 | |||
| values | List<long> | ✓ | 1 ~ 10000 items | ランクアップ経験値閾値リスト ランク進行を定義する累計経験値の順序付き配列です。エントリ数が到達可能な最大ランクを決定します。例えば [10, 20] の場合、経験値 0〜9 でランク1、10〜19 でランク2、20 以上でランク3(それ以上の経験値獲得は不可)となります。 |
AcquireActionRate
報酬加算テーブル
ステータスの現在のランクに基づいて報酬量を調整するランクベースの倍率テーブルを定義します。テーブルの各エントリはランクに対応し、入手量に適用される倍率を指定します。標準的な倍精度浮動小数点値と、大規模な計算用の大数値文字列表現の両方をサポートします。
| 型 | 有効化条件 | 必須 | デフォルト | 値の制限 | 説明 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 128文字 | 報酬加算テーブル名 この報酬加算テーブルの一意な識別子です。特定の入手アクションに適用する倍率テーブルを指定する際に参照されます。 | ||||||||
| mode | 文字列列挙型 enum { “double”, “big” } | “double” | 報酬加算テーブルの種類 倍率値の数値精度を選択します。標準的な浮動小数点数(2^48 まで)には “double” を、大規模な計算が必要な場合は 1024 桁までの文字列表現をサポートする “big” を使用します。
| |||||||||
| rates | List<double> | {mode} == “double” | ✓※ | 1 ~ 10000 items | ランクごとの加算量(倍率) ランクをインデックスとする倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。mode が “double” に設定されている場合に使用されます。 ※ mode が “double” であれば 必須 | |||||||
| bigRates | List<string> | {mode} == “big” | ✓※ | 1 ~ 10000 items | ランクごとの加算量(倍率) ランクをインデックスとする文字列表現の倍率値の配列です。i 番目のエントリはステータスがランク i の時に適用される報酬倍率を定義します。大数値精度が必要な計算で mode が “big” に設定されている場合に使用されます。 ※ mode が “big” であれば 必須 |