基本概念(ゲーム内セーブ)

ゲーム内セーブとは、ステージ内で生成されたプレイヤーデータを保存する仕組みのことです。
ゲームを一度やめてステージを出たり、後から入り直したりしても、保存したデータは消えずに引き継がれます。

ゲーム内セーブのデータ構造

クリエイターは、「ステージ内データ管理」で複数のゲーム内セーブのテンプレートを作成することができますが、同時に有効化できるのは1つだけです。

1つのテンプレートには、複数のデータ構造が含まれており、各構造は固定長の構造体リストになっています。

(例)
セーブデータ
 └構造体Aリスト(平均戦績)
  └データ1
 └構造体Bリスト(直近3回の戦績)
  └データ1
  └データ2
  └データ3

「ステージ内データ管理」で設定する構造体は、「アドバンスデータ管理」で事前に作成しておく必要があります。
※「ステージ内データ構造体」タブで作成します。

「ステージ内データ構造体」は、「基本構造体」とほぼ同じように使用することができますが、一部サポートされていないデータ型があります。

セーブデータの書き込みと読み込み

セーブデータの書き込みと読み込みには、カスタム変数を使用します。

「ステージ内データ管理」で、「ステージ内データを有効にする」をオンにすることで、テンプレートのデータ構造毎にプレイヤーエンティティにカスタム変数が自動で作成されます。

これらは、通常のカスタム変数と同様にカスタム変数関連のノードやリスト関連のノードを使うことができます。

プレイヤーがステージに入ると、プレイヤーエンティティ生成前に、プレイヤーが所持しているセーブデータが自動でカスタム変数に書き込まれます。
初めてそのステージに挑戦するときは、セーブデータがないため、カスタム変数の構造体リストの長さは0になります。

プレイヤーがステージから退出するとき、カスタム変数に書き込まれたセーブデータがセーブデータファイルに書き込まれ、ステージ外に保存されます。

セーブデータの容量制限

各ステージで利用できるセーブデータの容量には上限があります。
これは、セーブデータを構成する構造体のデータ型によって決まり、文字列型やリスト型はデータ容量が大きくなりやすい傾向があります。

また、セーブデータの容量制限により、セーブデータに含まれるすべてのリスト型データには事前に最大長を定義しておく必要があります。

この事前に決めた最大長を超えてデータを保存することはできません。

セーブデータ構造の更新

すでに使用しているテンプレートに、新しくデータ構造を追加することでセーブデータテンプレートの更新を行います。

また、すでに使用しているセーブデータ構造に新しい項目を追加することでも更新を行うことができます。

今まで使用していたデータテンプレートや項目を削除して、全く新しいものに置き換えるような操作は、セーブデータ構造が一致しなくなる可能性があり、セーブデータがリセットされる可能性があるため推奨されていません。

データテンプレートの比較

テンプレート比較を行うことで、2つのテンプレート間の差分を確認することができます。

右クリックメニューから「比較テンプレートに設定」をクリックし、比較用テンプレートに設定します。

その後、もう1つのテンプレートを開き、「テンプレート比較」をクリックすることで2つのテンプレートを比較することができます。

2つのテンプレート差分が新規追加のみでない場合、テンプレートのデータ照合に失敗します。

コメント