プレイヤーは、ルートを選び、シーンを解放し、時間を費やした状態で次のエピソードに戻ってきます。セーブデータの互換性は、リリースのたびに維持すべき機能として扱いましょう。新規プレイが正常に動作していても、状態を表す要素の改名、シーンの削除、シリアライズされたオブジェクトの変更によって、古いセーブデータが使えなくなることがあります。
セーブの仕組みはエンジンによって異なります。使用しているエンジンの正確なバージョンに対応するリファレンスを参照し、関係するバージョンを記録してください。このガイドを使って互換性についての約束を定め、検証しましょう。汎用的な移行スクリプトで、あらゆるエンジン更新の互換性を確保できるとは考えないでください。
互換性の取り決めを明示する
保存する状態を変更する前に、次のビルドでどのリリース済みバージョンをサポートするかを決めましょう。通常のセーブデータ、永続的なアンロック、設定、ブラウザからエクスポートしたセーブデータには、それぞれ明確な方針を定めてください。これらは異なる扱いが必要になる場合があります。最初からやり直す必要が生じる可能性がある場合は、事前にプレイヤーへ知らせましょう。
リリース識別子を保持し、セーブ形式を自分で管理できる場合はスキーマのバージョンも保持してください。コンテンツの進行状況は、表示設定や派生データと分けましょう。永続フィールドを変更する前に、その意味とデフォルト値を記録してください。
固定の識別子を優先する
ルートやシーンには、書き直しや翻訳を行っても変わらない識別子を割り当てましょう。互換性を約束している間は、その識別子を変更せずに維持してください。変更が必要な場合は移行を計画するか、どこから先は古いセーブデータがサポート対象外になるのかを明示しましょう。
独自のセーブ形式を管理している場合は、単純なデータを保存し、スキーマを文書化し、読み込むデータを使用前に検証してください。エンジン標準のセーブデータには、異なるシリアライズの規則が適用される場合があります。信頼できるセーブ機能を自作のシリアライザーに置き換える前に、エンジンの指針に従ってください。
状態を変更する前に移行を計画する
フィールドを変更する前に、旧フィールド、新フィールド、変換規則、データの欠落や想定外のデータに対する代替処理を含む移行計画を書きましょう。形式が許す範囲で、移行は決定的で繰り返し実行できるものにしてください。無関係なフィールドの欠落によって、進行度が加算されることがあってはなりません。
Ren'Pyでは、セーブとロールバックの指針、および使用バージョンに適用される互換性の注意事項に従ってください。SugarCubeでは、正確なフォーマットバージョンとセーブAPIを確認してください。Godotで独自の状態を扱う場合は、自分で管理するスキーマを実装してテストしましょう。あるシステムで有効な規則が、別のシステムでも使えるとは限りません。
代表的なセーブデータのライブラリを維持する
開始時点、重要な選択の直前、各主要ルート、エンディングに近づく段階を網羅したセーブデータのライブラリを作りましょう。異なるアンロックや設定、引き続きサポートする旧バージョンも含めてください。匿名化した開発用の状態を使い、不要なプレイヤーデータを収集しないようにしましょう。
テストにはコピーを使い、元のデータは変更せずに残してください。各セーブデータがどのリリースで作られたものかと、ロード後に期待する状態を記録しましょう。例外が発生せずにロードできることは、最初の確認にすぎません。セーブデータによって、プレイヤーが誤ったルートに入ったり、報酬が重複したり、設定が失われたりする可能性は残ります。
実際の更新をテストする
配布用にパッケージ化したビルドを、プレイヤーが実際に使う更新手順に沿ってテストしましょう。必要に応じてインストールするか、サーバーから配信してください。古いセーブデータをロードし、検証に役立つシーンを通してプレイを続け、再度セーブしてロードしましょう。永続的な進行状況と設定は別々に確認してください。
ブラウザ向けビルドでは、オリジン、ストレージの挙動、埋め込み先のホスティング環境を確認しましょう。ゲームのロジックが変わらなくても、URLやストレージのコンテキストが変わると、既存データへのアクセスに影響する場合があります。エクスポートとインポートを提供する場合は、その復元手順を検証し、制限を説明してください。
復元についての明確な情報を公開する
サポートする更新手順、バックアップ方法、既知の互換性の制限を、プレイヤーが見つけられる場所に公開しましょう。バグ報告フォームでは、役立つバージョン情報を尋ねるようにしてください。あるリリースで特定の種類のセーブデータを安全に維持できない場合は、プレイヤーが最後の正常なコピーを上書きする前に、その対応範囲を説明しましょう。
リリースごとに、テスト済みのビルド、スキーマのメモ、セーブデータのマトリックスを一緒に保管してください。移行に関する判断は、ソースコードのリビジョンと紐付けておきましょう。互換性を定期的に確認すれば、保守がしやすくなり、プレイヤーより先に不具合を発見する機会も得られます。
重要な決定事項
- サポートするリリースを明示し、セーブデータの種類ごとに方針を定めましょう。
- 固定IDを維持し、各フィールドの意味とデフォルト値を文書化しましょう。
- 移行後は進行状況を確認し、その後セーブしてロードしましょう。
- 元のセーブデータを安全に保管し、復元方法をプレイヤーに伝えましょう。
ガイドのファイル
テストマトリックス ↓外部のモデル関連コミュニティやコンテンツ公開サイトには、露骨な表現を含むコンテンツが掲載されている場合があります。出典へのリンクは新しいタブで開きます。このガイドでは、リンク先のプレビューを読み込みません。
出典と関連資料 +
最終確認日 2026年10月5日.