この記事は XBOX コンソールにのみ適用され、PC などの他のプラットフォームには適用されません。
通常のオンライン動作
一般に、XBOX コンソールは、ユーザーが安定したインターネット接続を持ち、XBOX network (XBOX Live としても知られる) およびサードパーティサービスへの完全なアクセス権を持つ、完全に接続された状態で動作します。 この接続状態により、XBOX services は定期的にコンソールの状態を検証し、更新を提供し、ゲームやユーザーに役立つその他のバックグラウンドサービスを実行できます。 ユーザーはほとんどの時間オンライン接続を持っていると想定することをお勧めします。オフラインプレイの原則
オンライン接続が利用できないケースもあります。 オフラインプレイのために、XBOX は次の原則を念頭に置いて設計されています:- 最も重要なこととして、接続の問題があってもユーザーがプレイし続けられるようにする。
- まったく接続がない場合でも、ユーザーがプレイし続けられるようにする。
- 常時接続エクスペリエンスの精神を維持しつつ、ユーザーにとってオフラインプレイをシンプルで予測可能なものにする。
オフラインモード
高レベルでは、接続喪失 のシナリオには 2 つあります:- インターネットサービスの完全な喪失
- 1 つ以上のオンラインサービスの喪失
オフラインシナリオ: ゲーム開始時にインターネットサービスがない
ゲームは次の 3 種類のいずれかとして宣言できます:- XBOX network required: すべてのゲームプレイモードにインターネット接続が必要。
- XBOX Live Gold required: すべてのゲームプレイモードにインターネット接続と XBOX Live Gold メンバーシップが必要。
- XBOX network not required: ゲームには、インターネット接続を必要としないプレイモードが少なくとも 1 つある。技術的には、この種類はアプリケーションマニフェストで明示的には宣言されません。前述の最初の 2 種類のいずれかとして自身を宣言していないアプリは、“XBOX network not required” またはオフラインサポートありとみなされます。
オフラインシナリオ: ゲームプレイ中に接続が失われた
ゲームがすでに実行中に接続が失われた場合、タイトルはシステムから通知されます。 ゲームがオンラインサービスを使用していない場合、セッションを中断せずに続行してください。 ゲームがオンラインサービスをアクティブに使用している場合は、それらのサービスが不要なモードに切り替えるか、オフライン状態のためにゲーミングセッションが終了することをプレイヤーに通知してください。 “XBOX network required” または “XBOX Live Gold required” と宣言されたタイトルは、コンソールが一定期間すべてのネットワーク接続を失うと、システムによって自動的に中断され、システムはユーザーに自動的にエラーメッセージを提供します。 ゲームプレイの中断を伴う他のシナリオと同様に、ユーザーがデータを失うことなく、接続を回復した後にすぐにその状態へ戻れるように、状態を保存してください。オフラインシナリオ: 単一の XBOX services サービスがダウンしている
インターネット接続は問題ないにもかかわらず、特定のオンラインサービスが利用できない状況もあります。 例えば、単一の XBOX service が短期間オフラインになる場合があります。 この場合、特定のサービスへの呼び出しはタイムアウトするか、ゲームにエラーを報告します。 XBOX 360 や Windows でこれらの状況を処理する場合と同様に、オフラインサービス状態を適切に処理する必要があります。 少なくとも、ゲームがクラッシュやハングをしてはなりません。 サービスなしでゲームプレイを続行できない場合は、その状況をユーザーに報告し、そのサービスが不要なゲームの別のエリアでユーザーが続行できるようにしてください。 最良のケースでは、ゲームプレイを続行し、後で送信するためにデータをキャッシュする (ゲームがサービスに書き込みをしていた場合) か、データについて合理的な仮定を行う (ゲームがサービスから読み取りをしていた場合) 必要があります。オフラインシナリオ: サードパーティサービスがダウンしている
ゲームがサードパーティのオンラインサービスに依存している場合、そのサービスが失敗した場合にもゲームは耐障害性を持つ必要があります。 サービスが失敗した場合、ゲームはクラッシュやハングをしてはなりません。 ゲームプレイを続行できない場合、サービスエラーをユーザーに報告してもかまいません。 理想的には、ゲームプレイを続行するか、オンラインサービスを必要としないゲームのエリアで続行できるようにしてください。オフラインシナリオ: クラウドサービスがダウンしている
XBOX の目玉機能の 1 つはクラウドパワーです。 一部のゲームは、追加の計算能力や常時利用可能なゲームサーバーへのアクセスを可能にする Azure PlayFab Multiplayer Servers のような常時接続サービスに完全に依存する場合があります。 プレイヤーへのエクスペリエンスが向上する場合、この常時接続モードは許可され、推奨されています。 ゲームがこのモードを使用する場合、インターネット接続の完全な喪失または特定のクラウドサービスの喪失による (数秒から最大 1 分の) サービス中断に対して耐障害性を持つことをお勧めします。 ただし、ゲームがオフラインモードを持つことは必須ではありません。 ゲームが本当に接続を必要とし、接続が利用できない場合は、ユーザーに通知してゲームプレイセッションを終了してください。XBOX 要件
オフラインシナリオを扱う際の最も重要な要件は、ゲームの安定性です。完全な接続喪失であれ、特定のオンラインサービスのみの喪失であれ、ゲームはハング、クラッシュ、またはユーザーに状態を失わせてはなりません。 ゲームには、ネットワークタイムアウトのシナリオを処理し、オンラインサービスにアクセスする API から返されるエラーを処理する堅牢なシステムが必要です。 ゲームはオフラインプレイをサポートする必要はありません。 サービス接続の喪失のためにゲームが単に続行できない場合、ユーザーに通知し、ゲーミングセッションを終了し、メインメニューまたは初期のインタラクティブ状態に戻ってください。ベストプラクティス
オフライン状況を処理するためのベストプラクティスは次のとおりです:- ユーザーはほとんどの時間オンライン接続を持っていると想定してゲームを設計してください。
- ゲームデザインにとって理にかなっている場合、コンソールがオフライン状態であっても、ユーザーが楽しいエクスペリエンスを得られるゲームプレイモードを設計することを検討してください。
- サービスは利用不能になる可能性があります。接続は失敗する可能性があります。タイムアウトする可能性のある API に対する堅牢なエラー処理を構築するか、オンラインサービスがダウンしたときやインターネット接続が失われたときの失敗状態を報告してください。可能な限り、これらの問題があってもユーザーがプレイし続けられるようにしてください。
- XBOX 要件 (XR) を遵守してください。ハングやクラッシュを起こしてはなりません。
- PLM タイトル中断通知を受け取ったら、ユーザーがデータを失うことなく、ゲームを再開したときに素早くその状態に戻れるように、状態を保存してください。
- アプリケーションマニフェストでタイトルを適切にフラグ付けしてください。すべてのゲームプレイモードに接続が必要な場合にのみ、タイトルを “XBOX network required” とマークしてください。
- XBOX ゲームは、すべてのゲームモードでオンラインサービスを使用および依存することが許可されています。サービス接続の喪失のためにゲームが単に続行できない場合、ユーザーに通知し、ゲーミングセッションを終了し、メインメニューまたは初期のインタラクティブ状態に戻ってください。
- オフライン状態に関するエラーメッセージやヘルプについて、XBOX Help サービスに依存しないでください。XBOX Help サービスは XBOX services への接続を必要とします。
