Game Saves とは
Game Saves を使用すると、プレイヤーはプラットフォーム、デバイス、ストアを切り替えても進行状況を保ったままゲームを続けられます。Game Saves はファイルの同期と競合解決を処理します。プレイヤーが単一の進行ポイントを維持できるよう支援し、オフライン プレイを完全にサポートします。利点
- プレイヤーの進行状況を個々のデバイスやプラットフォームではなくゲームに関連付けます。
- クロス プラットフォーム同期の実装の複雑さを排除します。
- オンラインとオフラインのプレイをサポートし、それらの状態間の遷移を制御します。
- バージョン競合の可能性を最小限に抑えます。
- プレイヤーがデバイスとプラットフォーム間でシームレスに遷移し、一貫した進行ポイントを維持できるように支援します。
- 必要なときに、プレイヤーが情報に基づいて競合解決と単一の進行ポイントの決定を行えるようコンテキストのヒントを提供します。
- バージョンのロールバックをサポートすることで、悪い状態からプレイヤーを回復させます。
- プレイヤー ベース全体のセーブ アクティビティ、競合、およびロールバックを追跡するための PlayStream イベント を発行します。
- 利用可能な場合、バックグラウンド アップローダーとタイトルから呼び出し可能な UI で動作します。
現在サポートされているゲーム プラットフォーム
- XBOX (One、Series S/X、PC、クラウド)
- Steam (PC、Steam Deck)
- Windows (その他のストアおよびランチャー)
- PlayStation 5
現在サポートされている言語とゲーム エンジン
- C++
- Unreal Engine
サンプル実装
Windows 向けのエンドツーエンドのリファレンス実装 (初期化、クラウド同期 (ダウンロード/アップロード)、競合処理、アクティブ デバイス管理、UI コールバックのデモンストレーション) が GitHub で利用可能です。 Game Saves サンプル – PlayFabGameSaveSample-Windows このサンプルを使用して:- 初期化、ユーザー追加、アップロード操作のコンテキスト内での順序を確認します。
- 最小限のエラー処理パターンと UI コールバックの配線を確認します。
- 本番プロジェクトに API を統合する前に素早く試します。
実装要件
認証要件
- ID リンク: ゲーム セーブをプラットフォーム間でシームレスに遷移させるために、タイトルは共有または連携されたユーザー ID を使用する必要があります。PlayFab は 2 つの認証済みプロバイダー間のアカウント リンクをサポートしています。
プラットフォーム固有の考慮事項
- XBOX/Windows 以外のプラットフォーム: Windows と XBOX 以外のプラットフォーム (Steam Deck など) では、ゲームが UI を提供する必要があります。Game Saves は、ゲームが応答できる UI コールバックをトリガーします。
- XBOX/Windows 以外のプラットフォームでのアップロード処理: Windows と XBOX 以外のプラットフォーム (Steam Deck など) では、Game Saves のアップロードはゲームと同じプロセス内で発生します。この条件は、ゲームがアップロード完了前に終了しないようユーザーに警告する必要があること、そうしないとゲーム セーブがクラウドに到達しないことを意味します。
マルチ プラットフォーム デプロイ
- クロス ストアフロント互換性: 複数のストアフロントでリリースする予定のゲームは、同期しないタイトル更新が共有クラウド ゲーム セーブ データにどう影響するかを検討する必要があります。
- 堅牢なセーブ実装: 必須ではありませんが、最大限の信頼性のために、ゲームは書き込み操作が失敗した場合に常に既知の良好なフォールバックがあるように、ローカル ディスク上の 2 つのセーブ ファイル間で交互に切り替えるダブル バッファリング アプローチを実装する必要があります。このベスト プラクティスはクラウド セーブとは独立しており、異常なゲーム終了時にセーブが破損するのを防ぐのに役立ちます。
