(57)【要約】      （修正有）【課題】ゲームプレイをどの方向に進めるかの決定が容易なゲーム方法を提供する。【解決手段】ゲーム方法は、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成された第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することを含む。方法は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立することをさらに含む。方法は、ゲームアプリケーションをプレイする第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイとに関する情報を含むインタフェースを生成することをさらに含む。方法は、第１のユーザの第１のゲームプレイと同時に、表示のためにインタフェースと情報とを第２のチャネルを介して第２のコンピューティングデバイスに配信することをさらに含む。【選択図】図２２Ａ
2020192336.tif 000002
【特許請求の範囲】
【請求項１】
ゲームクラウドシステムにおけるゲーム方法であって、
前記ゲームクラウドシステムが、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成された前記第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することと、
前記ゲームクラウドシステムが、前記第１のユーザに関連付けられた第２のコンピューティングデバイスと第２の通信チャネルを確立することと、
前記ゲームクラウドシステムが、第２のユーザの第２のゲームプレイに関連して、前記ゲームアプリケーションの第２のインスタンスを実施するように構成された前記第２のユーザに関連付けられた第３のコンピューティングデバイスと第３の通信チャネルを確立することであって、前記第１のゲームプレイと前記第２のゲームプレイが同時に起きる、前記第３の通信チャネルを確立することと、
前記ゲームクラウドシステムが、前記第２のユーザに関連付けられた第４のコンピューティングデバイスと第４の通信チャネルを確立することと、
前記ゲームクラウドシステムが、前記第１のユーザの前記第１のゲームプレイと同時に表示するための第１のインタフェースを生成することと、
前記ゲームクラウドシステムが、前記第２のユーザの前記第２のゲームプレイと同時に表示するための第２のインタフェースを生成することと、
前記第１のインタフェースと前記第２のインタフェースを通して前記第１のユーザと前記第２のユーザの間の通信を促進することと、
を含む、ゲーム方法。
【請求項２】
前記ゲームクラウドシステムが、前記第１のユーザの前記第１のゲームプレイおよび前記第２のユーザの前記第２のゲームプレイに関する情報を提供すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ゲームクラウドシステムが、前記第１のユーザの第１のユーザプロフィールにアクセスすることと、
前記ゲームクラウドシステムが、前記第１のユーザプロフィールに基づいて前記第１のユーザの複数の友達を決定することであって、前記複数の友達は、それぞれ、前記ゲームアプリケーションをプレイしており、前記複数の友達の一人は、前記第２のユーザである、前記第１のユーザの複数の友達を決定することと、
前記ゲームクラウドシステムが、前記複数の友達の複数のゲームプレイに関する情報を前記インタフェースに含むことと、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のインタフェースを前記生成することは、
前記ゲームクラウドシステムが、前記第１のインタフェースに表示するためのレーダマッピングであって前記第１のユーザの第１のキャラクタを示すレーダマッピングを、前記第１のユーザの前記第１のゲームプレイに関連して、前記ゲームアプリケーションのゲーム世界内に生成することと、
前記ゲームクラウドシステムが、前記レーダマッピングの中心に前記第１のキャラクタを位置付けることと、
前記ゲームクラウドシステムが、前記レーダマッピングの複数の位置に関心をひく複数のオブジェクトを配置することと
を含み、前記ゲーム世界における前記第１のキャラクタの位置と前記複数のオブジェクトの位置とは、複数の方向関係を作成する、
請求項１に記載の方法。
【請求項５】
前記レーダマッピングのオブジェクトを前記第２のユーザの前記第２のゲームプレイに関連付けられた前記第２のユーザの第２のキャラクタとして含むこと
をさらに含む、請求項４に記載の方法。
【請求項６】
前記ゲームクラウドシステムが、前記ゲーム世界の一部の輪郭を前記レーダマッピングの上に重ね合わせること
をさらに含む、請求項４に記載の方法。
【請求項７】
前記ゲームクラウドシステムが、前記第１のキャラクタを表す方向オブジェクトを生成することと、
前記ゲームクラウドシステムが、前記レーダマッピングの前記中心に前記方向オブジェクトを配置することと、
前記ゲームクラウドシステムが、前記ゲーム世界で前記第１のキャラクタの視点の方向を示すように前記方向オブジェクトを向けることと、
をさらに含む、請求項４に記載の方法。
【請求項８】
前記通信を前記促進することは、前記ゲームクラウドシステムが、前記第２のユーザのストリーミングビデオを提供することを含む、請求項１に記載の方法。
【請求項９】
前記情報を前記インタフェースに含むことは、
前記ゲームクラウドシステムが、目的を達成することを助けるために、前記第１のコンピューティングデバイスから要求を受信することと、
前記ゲームクラウドシステムが、前記情報の指示機能を生成することであって、前記指示機能は、前記目的を達成するために前記第１のユーザが実施可能なコマンドリストを含み、前記コマンドリストは、前記第２のゲームプレイに部分的に基づいている、前記情報の指示機能を生成することと、
を含む、請求項３に記載の方法。
【請求項１０】
インタフェースを前記生成することは、
前記ゲームクラウドシステムが、目的を達成することを助けるために、前記第１のコンピューティングデバイスから要求を受信することと、
前記ゲームクラウドシステムが、前記情報のコーチング機能を生成することであって、前記コーチング機能は、前記第２のゲームプレイに基づいた前記目的の以前の達成を示すビデオクリップを含む、前記情報のコーチング機能を生成することと、
を含む、請求項３に記載の方法。
【請求項１１】
ゲームクラウドシステムにおけるゲームのためのコンピュータプログラムを格納する非一時的コンピュータ読み取り可能な媒体であって、
前記ゲームクラウドシステムが、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成された前記第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立するためのプログラム命令と、
前記ゲームクラウドシステムが、前記第１のユーザに関連付けられた第２のコンピューティングデバイスと第２の通信チャネルを確立するためのプログラム命令と、
前記ゲームクラウドシステムが、第２のユーザの第２のゲームプレイに関連して、前記ゲームアプリケーションの第２のインスタンスを実施するように構成された前記第２のユーザに関連付けられた第３のコンピューティングデバイスと第３の通信チャネルを確立するためのプログラム命令であって、前記第１のゲームプレイと前記第２のゲームプレイが同時に起きる、前記第３の通信チャネルを確立するためのプログラム命令と、
前記ゲームクラウドシステムが、前記第２のユーザに関連付けられた第４のコンピューティングデバイスと第４の通信チャネルを確立するためのプログラム命令と、
前記ゲームクラウドシステムが、前記第１のユーザの前記第１のゲームプレイと同時に表示するための第１のインタフェースを生成するためのプログラム命令と、
前記ゲームクラウドシステムが、前記第２のユーザの前記第２のゲームプレイと同時に表示するための第２のインタフェースを生成するためのプログラム命令と、
前記第１のインタフェースと前記第２のインタフェースを通して前記第１のユーザと前記第２のユーザの間の通信を促進するためのプログラム命令と、
を含む、コンピュータ読み取り可能な媒体。
【請求項１２】
前記ゲームクラウドシステムが、前記第１のユーザの前記第１のゲームプレイおよび前記第２のユーザの前記第２のゲームプレイに関する情報を提供するためのプログラム命令
をさらに含む、請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
前記ゲームクラウドシステムが、前記第１のユーザの第１のユーザプロフィールにアクセスするためのプログラム命令と、
前記ゲームクラウドシステムが、前記第１のユーザプロフィールに基づいて前記第１のユーザの複数の友達を決定するためのプログラム命令であって、前記複数の友達は、それぞれ、前記ゲームアプリケーションをプレイしており、前記複数の友達の一人は、前記第２のユーザである、前記第１のユーザの複数の友達を決定するためのプログラム命令と、
前記ゲームクラウドシステムが、前記複数の友達の複数のゲームプレイに関する情報を前記インタフェースに含むためのプログラム命令と、
をさらに含む、請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１４】
前記第１のインタフェースを前記生成するためのプログラム命令は、
前記ゲームクラウドシステムが、前記第１のインタフェースに表示するためのレーダマッピングであって前記第１のユーザの第１のキャラクタを示すレーダマッピングを、前記第１のユーザの前記第１のゲームプレイに関連して、前記ゲームアプリケーションのゲーム世界内に生成するためのプログラム命令と、
前記ゲームクラウドシステムが、前記レーダマッピングの中心に前記第１のキャラクタを位置付けるためのプログラム命令と、
前記ゲームクラウドシステムが、前記レーダマッピングの複数の位置に関心をひく複数のオブジェクトを配置するためのプログラム命令と、
前記レーダマッピングのオブジェクトを前記第２のユーザの前記第２のゲームプレイに関連付けられた前記第２のユーザの第２のキャラクタとして含むためのプログラム命令と、
を含み、前記ゲーム世界における前記第１のキャラクタの位置と前記複数のオブジェクトの位置とは、複数の方向関係を作成する、
請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１５】
前記通信を前記促進するためのプログラム命令は、前記ゲームクラウドシステムが、前記第２のユーザのストリーミングビデオを提供することを含む、請求項１１に記載のコンピュータ読み取り可能な媒体。
【請求項１６】
コンピュータシステムであって、
プロセッサと、
前記プロセッサと結合され、命令を格納するメモリとを含み、
前記命令が前記コンピュータシステムによって実行される場合、前記コンピュータシステムにゲームインタラクションのための方法を実行させ、前記方法は、
第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成された前記第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することと、
前記第１のユーザに関連付けられた第２のコンピューティングデバイスと第２の通信チャネルを確立することと、
第２のユーザの第２のゲームプレイに関連して、前記ゲームアプリケーションの第２のインスタンスを実施するように構成された前記第２のユーザに関連付けられた第３のコンピューティングデバイスと第３の通信チャネルを確立することであって、前記第１のゲームプレイと前記第２のゲームプレイが同時に起きる、前記第３の通信チャネルを確立することと、
前記第２のユーザに関連付けられた第４のコンピューティングデバイスと第４の通信チャネルを確立することと、
前記第１のユーザの前記第１のゲームプレイと同時に表示するための第１のインタフェースを生成することと、
前記第２のユーザの前記第２のゲームプレイと同時に表示するための第２のインタフェースを生成することと、
前記第１のインタフェースと前記第２のインタフェースを通して前記第１のユーザと前記第２のユーザの間の通信を促進することと、
を含む、コンピュータシステム。
【請求項１７】
前記方法は、
前記第１のユーザの前記第１のゲームプレイおよび前記第２のユーザの前記第２のゲームプレイに関する情報を提供すること
をさらに含む、請求項１６に記載のコンピュータシステム。
【請求項１８】
前記方法は、
前記第１のユーザの第１のユーザプロフィールにアクセスすることと、
前記第１のユーザプロフィールに基づいて前記第１のユーザの複数の友達を決定することであって、前記複数の友達は、それぞれ、前記ゲームアプリケーションをプレイしており、前記複数の友達の一人は、前記第２のユーザである、前記第１のユーザの複数の友達を決定することと、
前記複数の友達の複数のゲームプレイに関する情報を前記インタフェースに含むことと、
をさらに含む、請求項１６に記載のコンピュータシステム。
【請求項１９】
前記方法において、前記第１のインタフェースを前記生成することは、
前記第１のインタフェースに表示するためのレーダマッピングであって前記第１のユーザの第１のキャラクタを示すレーダマッピングを、前記第１のユーザの前記第１のゲームプレイに関連して、前記ゲームアプリケーションのゲーム世界内に生成することと、
前記レーダマッピングの中心に前記第１のキャラクタを位置付けることと、
前記レーダマッピングの複数の位置に関心をひく複数のオブジェクトを配置することと、
前記レーダマッピングのオブジェクトを前記第２のユーザの前記第２のゲームプレイに関連付けられた前記第２のユーザの第２のキャラクタとして含むことと、
を含み、前記ゲーム世界における前記第１のキャラクタの位置と前記複数のオブジェクトの位置とは、複数の方向関係を作成する、
請求項１６に記載のコンピュータシステム。
【請求項２０】
前記方法において、前記通信を前記促進することは、前記第２のユーザのストリーミングビデオを提供することを含む、請求項１６に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオゲームに関する。特に、本開示は、ゲームアプリケーションのゲームプレイに関するゲーム情報を提供するコンパニオンアプリケーションを生成、実施する方法及びシステムを記載する。ゲーム情報は、ユーザのソーシャルネットワークに基づく。
【背景技術】
【０００２】
クラウドベースのシステムは、コンピュータリソース（ハードウェア及びソフトウェア）を用いて、ネットワーク（例えば、インターネット）を通してサービスを配信する。ゲームの文脈においては、サービスによって、遠隔クライアントへのコンテンツのストリーミングを可能になり、ほとんどの処理がサーバで行われ、分配されてよい。遠隔クライアントで行われた入力は、クライアント側に専用のゲームハードウェアを必要とせずに、ビデオゲームの実行を駆動する。従って、クラウドベースのゲームは、ユーザにとっては、複雑なハードウェアの制限無しにより多くのビデオゲームタイトルにアクセスするのが容易になり、ゲーム供給者にとっては、一元化された場所からゲームコードを管理するのが容易になるので、人気が増している。
【０００３】
ユーザが、異なる結果を与える複数のオプションを提示し得るビデオゲームのゲームプレイを進んでいくと、ゲームプレイをどの方向に進めるかの決定が難しい場合がある。例えば、ユーザは、ゲームプレイにおいて目に見えるほどの進展が無い方向を避けたい場合があるが、外部ソースを通して得られる事前の知識が無いと、ユーザは、まさに行き止まりになる方向を回避できない。場合によっては、ユーザは、ゲームのある部分で、ゲームプレイを進行させる適切な方向を発見するまでに、ビデオゲームが提示し得る可能な全ての方向をプレイする場合がある。ビデオゲームにおいて可能な全ての方向をプレイするのを回避することが望ましい。
【０００４】
この文脈において、開示の実施形態が生じる。
【発明の概要】
【０００５】
本開示の実施形態は、ビデオゲームの複数のユーザによるゲームプレイ中に様々なポイントで生成されるスナップショットを保存し、ビデオゲームのゲームプレイ中にユーザに表示可能なタイムラインを生成するシステム及び方法に関する。ここで、スナップショットは、選択したスナップショットに対応するポイントで始まる同じまたは他のユーザによるゲームプレイにジャンプするために使用される。本開示の他の実施形態は、特に、クラウドベースのゲームシステムで実行される時に、記憶されたゲームプレイのビデオ記録を介して、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザがジャンプすることを提供するシステム及び方法に関する。本開示のさらに別の実施形態は、ユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム及び方法に関する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしているユーザ及び他のプレイヤのゲームプレイに関する情報を提供する。本開示の幾つかの発明の実施形態を以下に記載する。
【０００６】
一実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、複数のユーザに関連して実行されたビデオゲームの複数のインスタンスから生成された複数のスナップショットをキャプチャすることを含む。方法は、ビデオゲームをプレイする第１のユーザの第１のタイムラインを表示することをさらに含み、第１のタイムラインは、第１のユーザに関連して実行しているビデオゲームの第１のインスタンスの現在レンダリングされている画像に関連してビデオゲームを進めている少なくとも一人のユーザのスナップショット画像を含む。方法は、第１のユーザに関連付けられた複数の第１のスナップショット画像を複数の第１のサムネイルで第１のタイムラインに表示することも含み、複数の第１のスナップショットは、現在レンダリングされている画像と比べて、第１のユーザの過去の進行を示す少なくとも１つのレンダリングされた画像を含む。方法は、第２のユーザに関連付けられた複数の第２のスナップショットを複数の第２のサムネイルで表示することをさらに含み、複数の第２のスナップショットは、現在レンダリングされている画像の後のビデオゲームのポイントで、第２のユーザの進行を示す少なくとも１つのレンダリングされた画像を含む。
【０００７】
他の実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、ビデオゲームをプレイする第１のユーザに関連して、ゲームクラウドシステムでビデオゲームの第１のインスタンスを実行することを含む。方法は、ビデオゲームの第１のインスタンスの実行に関連して生成された第１の複数のレンダリングされた画像の複数の第１のスナップショットをキャプチャすることを含み、第１のスナップショットは、それぞれ、ビデオゲームの進行の一意のポイントに関連付けられる。方法は、ビデオゲームをプレイしている第２のユーザに関連して、ビデオゲームの第２のインスタンスの実行に関連して生成された第２の複数のレンダリングされた画像の複数の第２のスナップショットをキャプチャすることをさらに含む。方法は、ビデオゲームをプレイする第１のユーザと第２のユーザの進行を示すタイムラインを表示することをさらに含み、タイムラインは、第１のインスタンスの実行から生成された現在レンダリングされている画像と同時に表示される。
【０００８】
さらに別の実施形態において、ゲーム世界をナビゲートするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ビデオゲームをプレイする複数のユーザに関連してビデオゲームの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように構成され、対応するスナップショットは、対応するスナップショットから始まるビデオゲームのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアを含む。ゲームクラウドシステムは、第１のユーザに関連してビデオゲームの第１のインスタンスを実行するように構成された第１の仮想ゲームエンジンを含み、第１の仮想ゲームエンジンは、ビデオゲームをプレイする第１のユーザの第１のタイムラインを生成するように構成され、第１のタイムラインは、第１のインスタンスの現在レンダリングされている画像と比べて、第１のユーザの過去の進行を示す少なくとも１つのレンダリングされた画像を含む複数の第１のスナップショット画像と、第２のユーザに関連付けられた複数の第２のスナップショットとを含み、複数の第２のスナップショットは、現在レンダリングされている画像の後のビデオゲームのポイントの第２のユーザの進行を示す少なくとも１つのレンダリングされた画像を含む。
【０００９】
他の実施形態において、ゲーム世界をナビゲートする方法を開示する。方法は、ストリーミングゲームサービスを介してビデオゲームを実行することを含み、ビデオゲームは、ネットワークを通して通信しているユーザデバイスのディスプレイにレンダリングされ、ユーザデバイスは、第１のユーザに関連付けられている。方法は、ユーザデバイスのディスプレイに、ビデオゲームの複数のシーンを生成することを含み、シーンは、ビデオゲームの異なるパスを通って進行している。方法は、現在レンダリングされているシーンと共に表示するタイムラインを生成することを含み、タイムラインは、第１のユーザによるビデオゲームの進行に関連付けられたスナップショット画像を示す複数の第１のサムネイルを含み、タイムラインは、第２のユーザによるビデオゲームの今後の進行に関連付けられたスナップショット画像を示す複数の第２のサムネイルを含み、複数の第２のサムネイルで第１のサムネイルを選択することによって、第２のユーザに対してレンダリングされるビデオゲームの今後の状態にジャンプできる。
【００１０】
一実施形態において、ゲーム方法を開示する。方法は、ゲームアプリケーションのプレイヤのゲームプレイのビデオ記録をユーザに関連付けられたクライアントデバイスにネットワークを介して配信することを含み、ビデオ記録は、プレイヤのゲームプレイの第１のポイントでキャプチャされたスナップショットに関連付けられている。方法は、ゲームプレイのジャンプポイントの選択をクライアントデバイスから受信することを含む。方法は、スナップショットに基づいてゲームアプリケーションのインスタンスを開始することを含み、インスタンスは、ジャンプゲームプレイをインスタンス化する。方法は、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスすることを含み、入力コマンドのシーケンスは、スナップショットに関連付けられている。方法は、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。複数の画像フレームは、第１のポイントからジャンプポイントまでプレイヤのゲームプレイを再生する。方法は、ジャンプポイントから始まるジャンプゲームプレイのゲームアプリケーションのインスタンスに関して、クライアントデバイスからの入力コマンドを処理することを含む。
【００１１】
ゲームの他の方法を開示する。方法は、プレイヤのゲームプレイの第１のポイントでキャプチャされた開始スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始することを含む。方法は、スナップショットに関連付けられ、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスすることを含む。方法は、ユーザのクライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含み、複数の画像フレームは、ゲームプレイのポイントからゲームプレイを再生する。方法は、複数の画像フレームの第１の画像フレームに対応するクライアントデバイスからジャンプゲームを開始する開始要求を受信することを含み、第１の画像フレームは、ゲームプレイのジャンプポイントに対応する。方法は、ジャンプポイントから始まるジャンプゲームプレイを実行するゲームアプリケーションのインスタンスで、クライアントデバイスからの入力コマンドを処理することを含む。
【００１２】
他の実施形態において、ゲームをするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ゲームアプリケーションをプレイする複数のユーザに関連して、ゲームアプリケーションの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように、また、複数のスナップショットのそれぞれに関する情報をキャプチャするように構成され、対応するスナップショットに関する情報は、対応するスナップショットから始まるゲームアプリケーションのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアと、情報を記憶するためのユーザデータストアとを含む。ゲームクラウドシステムは、仮想ゲームエンジンを含み、仮想ゲームエンジンは、ゲームアプリケーションのプレイヤのゲームプレイのビデオ記録を、ユーザに関連付けられたクライアントデバイスにネットワークを介して配信するように構成される。ビデオ記録は、プレイヤのゲームプレイの第１のポイントでキャプチャされたスナップショットに関連付けられている。仮想ゲームエンジンは、ゲームプレイのジャンプポイントの選択をクライアントデバイスから受信するように構成される。仮想ゲームエンジンは、スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始するように構成され、インスタンスは、ジャンプゲームプレイをインスタンス化する。仮想ゲームエンジンは、ゲームプレイを指示するために使用される入力コマンドのシーケンスにアクセスするように構成され、入力コマンドは、スナップショットに関連付けられている。仮想ゲームエンジンは、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成するように構成される。画像フレームは、第１のポイントからジャンプポイントまでゲームプレイを再生する。仮想ゲームエンジンは、ジャンプポイントから始まるジャンプゲームプレイを実行するゲームアプリケーションのインスタンスで、クライアントデバイスからの入力コマンドを処理するように構成される。
【００１３】
さらに別の実施形態において、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法を開示する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。方法は、第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することを含む。第１の通信チャネルは、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成される。方法は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立することを含む。第１のチャネル及び第２のチャネルは、１つまたは複数の通信ネットワーク内に構成される。方法は、ゲームアプリケーションをプレイする第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイに関する情報を含むインタフェースを生成することを含む。インタフェースは、コンパニオンアプリケーションを実施する。方法は、第１のユーザの第１のゲームプレイと同時に表示するために、インタフェースと情報とを第２のチャネルを介して第２のコンピューティングデバイスに配信することを含む。
【００１４】
他の実施形態においては、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するゲームの他の方法を開示する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。方法は、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを確立することを含み、第１のインスタンスは、クラウドベースのゲームシステム内で実行可能である。方法は、第２のユーザの第２のゲームプレイに関連して、ゲームアプリケーションの第２のインスタンスを確立することを含み、第２のインスタンスは、クラウドベースのゲームシステム内で実行可能である。第１のインスタンス及び第２のインスタンス内で実行される両方のゲームプレイは、同時に生じている。方法は、第１のユーザと第２のユーザが友達関係を有し、両者ともゲームアプリケーションをプレイしていることを、第１のユーザと第２のユーザのユーザプロフィールに基づいて決定することを含む。方法は、第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することを含み、第１の通信チャネルは、ゲームアプリケーションの第１のインスタンスを実施するように構成される。方法は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立することを含む。第１のチャネルと第２のチャネルは、１つまたは複数の通信ネットワーク内に構成される。方法は、ゲームアプリケーションをプレイしている第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイに関する情報を含むインタフェースを生成することを含む。インタフェースは、コンパニオンアプリケーションを実施する。方法は、第１のユーザの第１のゲームプレイと同時に表示するために、インタフェースと情報とを第２のチャネルを介して第２のコンピューティングデバイスに配信することを含む。
【００１５】
他の実施形態においては、ゲームをするように構成されたゲームクラウドシステムを開示する。ゲームクラウドシステムは、ゲームアプリケーションをプレイする複数のユーザに関連して、ゲームアプリケーションの複数のインスタンスを実行するように構成された複数の仮想ゲームエンジンを管理するように構成されたゲームサーバを含み、仮想ゲームエンジンは、複数のインスタンスの実行から生成されたレンダリングされた画像の複数のスナップショットをキャプチャするように、また、複数のスナップショットのそれぞれに関する情報をキャプチャするように構成され、対応するスナップショットに関する情報は、対応するスナップショットから始まるゲームアプリケーションのインスタンスの実行を可能にする。ゲームクラウドシステムは、複数のスナップショットを記憶するためのスナップショットデータストアと、情報を記憶するためのユーザデータストアとを含む。ゲームクラウドシステムは、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを確立、実行するように構成された第１の仮想ゲームエンジンを含む。ゲームクラウドシステムは、第２のユーザの第２のゲームプレイに関連して、ゲームアプリケーションの第２のインスタンスを確立、実行するように構成された第２の仮想ゲームエンジンを含む。ゲームクラウドシステムは、第１のユーザと第２のユーザが友達関係を有し、両者ともゲームアプリケーションをプレイしていると決定するように構成されたコンパニオンアプリケーション生成部を含み、決定は、第１のユーザと第２のユーザのユーザプロフィールに基づく。コンパニオンアプリケーション生成部は、第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立するようにさらに構成され、第１の通信チャネルは、ゲームアプリケーションの第１のインスタンスを実施するように構成される。コンパニオンアプリケーション生成部は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立するようにさらに構成される。第１のチャネル及び第２のチャネルは、１つまたは複数の通信ネットワーク内に構成される。コンパニオンアプリケーション生成部は、ゲームアプリケーションをプレイする第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイに関する情報を含むインタフェースを生成するようにさらに構成される。インタフェースは、コンパニオンアプリケーションを実施する。コンパニオンアプリケーション生成部は、インタフェースと上記情報とを、表示のために第２のチャネルを介して第２のコンピューティングデバイスに配信するようにさらに構成される。
【００１６】
開示の他の態様は、添付の図面と合わせて、開示の原理を例を挙げて示す以下の詳細な記載から明らかとなろう。
【図面の簡単な説明】
【００１７】
開示は、添付の図面と共に以下の記載を参照することによって最も良く理解されよう。
【００１８】
【図１】本開示の一実施形態による、クラウドゲームネットワークを介して実行される複数のユーザのビデオゲームのゲームプレイ中に生成されるスナップショットの保存に使用されるシステムの図である。
【００１９】
【図２】開示の実施形態による、ゲームクラウドシステム（ＧＣＳ）に記憶されたビデオゲームへのアクセス及びプレイ、ゲームプレイに関連して生成されたスナップショットの記憶、スナップショットを介して記憶したゲームプレイのプレビュー、スナップショットを介したビデオゲームのナビゲート、及び、スナップショットを介した記憶されたゲームプレイへのジャンプを可能にするためのシステムダイアグラムを示す。
【００２０】
【図３Ａ】本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示されるタイムラインの図である。タイムラインは、そのユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す、
【００２１】
【図３Ｂ】本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示される１つまたは複数のタイムラインの図である。タイムラインは、一人または複数のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。
【００２２】
【図４Ａ】本開示の一実施形態による、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示すタイムラインの図である。スナップショットの選択によって、スナップショット画像を拡大できる。
【００２３】
【図４Ｂ】本開示の一実施形態による、１つまたは複数のタイムラインの図で、各タイムラインは、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。スナップショットの選択によって、スナップショット画像を拡大できる。
【００２４】
【図５Ａ】本開示の一実施形態による、ビデオゲームのゲームプレイのノードグラフの図である。ノードグラフは、ユーザによるビデオゲームのゲームプレイ中、タイムラインと共に表示される。タイムラインは、ユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。
【００２５】
【図５Ｂ】本開示の一実施形態による、ビデオゲームで利用可能な全ての可能なパスを示すユニバーサルノードグラフまたはノードツリーの図である。
【００２６】
【図５Ｃ】本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットに関連して生成されたノードの階層を示すノードグラフの図である。ノードグラフは、ユーザによるビデオゲームのゲームプレイ中にタイムラインと共に表示され、タイムラインは、ユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。
【００２７】
【図６Ａ】図６Ａは、本開示の一実施形態による、選択したスナップショットノードの近くに線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムラインまたはノードグラフを通して選択できる。
【００２８】
【図６Ｂ】図６Ｂは、本開示の一実施形態による、選択したスナップショットノードの近くに非線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムラインまたはノードグラフを通して選択できる。
【００２９】
【図６Ｃ−６Ｆ】図６Ｃ〜６Ｆは、本開示の一実施形態による、選択したスナップショットノードの近くに並んだスナップショットノードのクラスタに対応するスナップショット画像の図である。
【００３０】
【図７】本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットと、これらのスナップショットのそれぞれをスナップショットデータベースの１つまたは複数のマスターファイルに記憶することを示す図である。
【００３１】
【図８】本開示の一実施形態による、ビデオゲームのユーザのゲームプレイの複数のセグメントの図であり、そのユーザによる、別個のジャンプゲームプレイへの仲介ジャンプ（ｉｎｔｅｒｃｅｄｉｎｇ  ｊｕｍｐ）を含み、これは、同じまたは他のユーザによるビデオゲームの他のゲームプレイ中にキャプチャされたスナップショットに基づく。
【００３２】
【図９】本開示の一実施形態による、ゲーム世界をナビゲートする方法のステップを示すフロー図である。
【００３３】
【図１０】本開示の一実施形態による、ビデオ記録を介したゲームプレイアクセスに使用されるシステムであって、プレイヤのゲームプレイ中にシステムによって生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加している任意のプレイヤの記憶されたゲームプレイにジャンプすることを可能にするシステムのコンポーネントの図である。
【００３４】
【図１１】本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにジャンプするのを可能にする方法のステップのフロー図である。スナップショットは、記憶されたゲームプレイのビデオ記録を通して選択可能である。
【００３５】
【図１２Ａ】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイのビデオ記録の複数のビデオフレームの図である。幾つかのビデオフレームは、対応するスナップショットに関連付けられており、ビデオフレームを選択すると、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショットに基づいて、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイは、要求したユーザによってプレイ可能になる。
【００３６】
【図１２Ｂ】本開示の一実施形態による、ユーザによるゲームアプリケーションのゲームプレイ中に表示されるタイムラインの図である。タイムラインは、プレイヤによるゲームアプリケーションのゲームプレイのスナップショット画像を示し、タイムラインのスナップショット画像を選択すると、そのスナップショット画像に関連付けられたゲームプレイのポイントにほぼ対応するゲームプレイのビデオ記録が表示され、ビデオ記録のビデオフレームを選択すると、プレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化して、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイがユーザによってプレイ可能になる。
【００３７】
【図１３Ａ】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイを導くために前に使用された複数の入力コマンドの図である。入力コマンドの一部（例えば、シーケンス）を使用して、ジャンプゲームプレイの再生部分を実施する。
【００３８】
【図１３Ｂ】本開示の一実施形態による、ジャンプゲームプレイのジャンプポイントに対応する画像フレームの図である。ジャンプゲームプレイは、自動的に実行されて、ゲームプレイを指示する保存した入力コマンドを用いてジャンプポイントまでプレイヤのゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによって、ライブになる。
【００３９】
【図１４】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されるジャンプゲームプレイ中に提示される入力コマンドのシーケンスの図である。入力コマンドのシーケンスは、自動的に実行されて、プレイヤのゲームプレイをジャンプポイントまで再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによってライブになり、要求したユーザは、入力コマンドのシーケンスを模倣して、対応する画像フレームの元の対応するオブジェクトと共に提示されるゴーストオブジェクトに指示できる。
【００４０】
【図１５Ａ−１５Ｅ】図１５Ａ〜図１５Ｅは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイ中に、画像フレームのシーケンスを通して、記憶されたゲームプレイの保存した入力コマンドによって指示される対応するオブジェクトの動きを模倣するゴーストオブジェクトの図である。保存した入力コマンドが、自動的に実行されて、ジャンプポイントまでゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザの入力コマンドを処理することによって、ライブになる。
【００４１】
【図１６】本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいて、インスタンス化されたジャンプゲームプレイのジャンプポイントにプレイヤをガイドするのに使用される機能の図である。
【００４２】
【図１７】本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ユーザが、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにジャンプするのを可能にする方法のステップを示すフロー図である。
【００４３】
【図１８】本開示の一実施形態による、ゲームクラウドシステム（ＧＣＳ）内で実行される複数のユーザのゲームアプリケーションの同時ゲームプレイを可能にし、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム図であり、コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている第１のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。
【００４４】
【図１９】本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを生成、実施するために使用されるシステムのブロック図である。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている第１のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。
【００４５】
【図２０】本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法のステップを示すフロー図である。コンパニオンアプリケーションは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。
【００４６】
【図２１】図２１Ａ〜Ｃは、本開示の一実施形態による、ゲームアプリケーションを同時にプレイしている３人のユーザのゲームプレイの現在のシーンの図である。
【００４７】
【図２２Ａ】本開示の一実施形態による、ゲームアプリケーションをプレイする第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションのゲーム世界で、他のオブジェクトの位置に対する第１のユーザの位置を示すレーダマッピングを含み、オブジェクトは、第１のユーザと第２のユーザのゲームプレイで生成される。
【００４８】
【図２２Ｂ】本開示の一実施形態による、ゲームアプリケーションに関連して、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションを現在プレイしている友達のリストと、友達の各ゲームプレイに関連して、ゲームアプリケーションのゲーム世界で発見した友達の位置に対する第１のユーザの位置を示すレーダマッピングとを含む。
【００４９】
【図２２Ｃ】本開示の一実施形態による、ゲームアプリケーションに関連して、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースの図である。インタフェースは、ゲームアプリケーションのゲーム世界内の第１のユーザの位置と、ゲーム世界内の第２のユーザの位置を指す方向ポインタとを示すレーダマッピングを含む。
【００５０】
【図２２Ｄ】ゲームアプリケーションの第１のインスタンスの実行に関連して、第１のユーザのゲームプレイの現在のシーンを示す図である。現在のシーンは、ゲームアプリケーションのゲーム世界内で、オブジェクトへのガイドを提供する方向ポインタを含み、方向ポインタは、ゲームアプリケーションを同時にプレイしている第２のユーザのゲームプレイに基づき、及び／または、ゲームアプリケーションを同時にプレイしている第２のユーザによって制御可能であり、方向ポインタは、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースを通して生成される。
【００５１】
【図２３】本開示の一実施形態による、ゲームアプリケーションをプレイする第１のユーザの現在のゲームプレイと、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェースを含むサイドバーとを表示する分割画面の図である。インタフェースは、第１のユーザと第２のユーザのゲームアプリケーションのゲームプレイで生成されるゲーム世界の他のオブジェクトの位置に対する、ゲームアプリケーションのゲーム世界内の第１のユーザの位置を示すレーダマッピングを含む。
【００５２】
【図２４】本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法のステップを示すフロー図である。コンパニオンアプリケーションは、ゲームアプリケーションの複数のインスタンスによってクラウドベースのゲームシステム内で実行される同じゲームアプリケーションを全員、同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。
【００５３】
【図２５】開示の実施形態による、ヘッドマウントディスプレイのコンポーネントを示す図である。
【００５４】
【図２６】開示の様々な実施形態による、ゲームシステムのブロック図である。ゲームシステムは、１つまたは複数のクライアントにネットワークを介してビデオストリームを提供するように構成される。
【発明を実施するための形態】
【００５５】
以下の詳細な記載は、説明を目的として多くの特定の詳細を含むが、以下の詳細への多くの変形及び修正は、本開示の範囲内にあることを当業者は理解されよう。従って、以下に記載の本開示の態様は、この記載に続く特許請求の範囲に対して一般性を失うことなく、また、制限を課すことなく、記載される。
【００５６】
一般的に言うと、本開示の様々な実施形態は、特に、クラウドベースのゲームシステムで実行される時に、複数のユーザのビデオゲームのゲームプレイ中に生成されるスナップショットを保存し、ビデオゲームをナビゲートし、ビデオゲームをプレビューし、ビデオゲームの選択したポイントにジャンプして、他のユーザのゲームプレイを体験するシステム及び方法を記載する。スナップショットは、ビデオゲームをプレイしているユーザに対して、タイムラインに表示されてよい。タイムラインで選択したスナップショットは、選択したスナップショットに対応するビデオゲームのジャンプポイントで、ビデオゲームのインスタンスのインスタンス化を可能にするメタデータ及び／または情報を含む。ジャンプポイントで始まるビデオゲームのインスタンスは、要求したユーザが元のユーザと異なる場合でさえ、選択したスナップショットを以前に実行したゲームプレイで生成したる元のユーザに関連して実行される。本開示の実施形態は、以前は利用できなかった同じユーザまたは他のユーザのビデオゲームのインスタンスをロードし、実行する方法を提供する。このようにして、ユーザは、自分のゲームプレイを台無しにすることなしに、他のユーザのゲームプレイを能動的にプレビューできる。また、ユーザは、自分の現在のゲームプレイを台無しにすることなしに、自分の以前のゲームプレイを能動的にプレビューできる。この文脈で、本開示は生じる。
【００５７】
従って、本開示の実施形態は、ゲームアプリケーションの追加の使用法を提供する。例えば、本開示の実施形態は、ゲームアプリケーションの以前のゲームプレイに基づいて、ユーザが、そのゲームアプリケーションの任意の部分にジャンプすることを提供する。例えば、ある実施形態においては、スナップショット画像（例えば、スクリーンショット）の選択を通して、対応するスナップショット情報にアクセスして、ゲームアプリケーションへのジャンプを可能にする。さらに別の実施形態は、ゲームアプリケーションの以前のゲームプレイのビデオ記録に基づいて、ユーザが、そのゲームアプリケーションの任意の部分にジャンプすることを提供する。例えば、ビデオ記録から（例えば、スナップショット画像に対応し得る）ビデオ画像の選択を通して、ビデオ画像（または、スナップショット画像）に関連付けられた対応するスナップショット情報にアクセスして、ゲームアプリケーションへのジャンプを可能にする。このようにして、ユーザは、楽しみのためにゲームアプリケーションのミニセクションを素早くプレイでき、または、ゲームアプリケーションの難しいセクションのナビゲートにどのように成功するかを発見できる。ユーザは、最初の起動シーケンスを使ってゲームアプリケーションをロードする必要なしに、ミニセクションにアクセスできる。さらに、ユーザは、関心のあるセクション（例えば、レベルボスまたはアルティメットボスと戦う）に到達するためにゲーム全体をプレイする必要が無く、すぐにゲームプレイするために関心のあるセクションに直接行くことができるので、気に入らなくなった前のアプリケーションが新しい関心を生み出す。さらに別の実施形態は、上記のことを達成し、且つ、（例えば、ユーザが最初に、一からゲームアプリケーションをロードする時）、初期化シーケンスを最初から実行する代わりに、ゲームサーバは、中間点、または、ジャンプポイントから直接始まるゲームアプリケーションを実行さえすればよいので、ゲームサーバのより良い利用を含む追加の利点及び長所を提供する。よって、選択したジャンプポイントからゲームを開始するのに必要なコードを直接アップロードすることによって、ゲームサーバは、初期化シーケンスをスキップし、また、ゲームアプリケーションのジャンプポイントにナビゲートするためのさらなる実行可能シーケンスもスキップする。
【００５８】
様々な実施形態を上記のように大まかに理解して、実施形態の例の詳細を図面を参照して記載する。
【００５９】
本明細書を通して、「ビデオゲーム」は、入力コマンドの実行を通して指示される任意の種類のインタラクティブなアプリケーションを表す。説明のみを目的として、インタラクティブなアプリケーションは、ゲーム、文書処理、ビデオ処理、ビデオゲーム処理等のアプリケーションを含む。さらに、ビデオゲームとゲームアプリケーションという語は相互に交換可能である。
【００６０】
［スナップショットキャプチャとゲームプレイアクセス］
図１は、本開示の一実施形態による、クラウドゲームネットワークを介して実行される複数のユーザのビデオゲームのゲームプレイ中に生成されたスナップショットの保存、一人または複数のユーザのビデオゲームのゲームプレイのプレビュー、ビデオゲームのナビゲート、及び、同じユーザまたは他のユーザのゲームプレイを体験するためのビデオゲームの選択したポイントへのジャンプに使用されるシステムを示す。ある実施形態においては、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン（ＶＭ）を含んでよく、１つまたは複数の仮想マシンは、ホストのハイパーバイザで利用可能なハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。
【００６１】
図に示すように、システム１０は、複数のインタラクティブなビデオゲームへのアクセスを提供するゲームプロセッサモジュール２１０を実行するゲームサーバ２０５を含む。ゲームサーバ２０５は、クラウドで利用可能な任意の種類のサーバコンピューティングデバイスであってよく、１つまたは複数のホスト上で実行する１つまたは複数の仮想マシンとして構成されてよい。例えば、ゲームサーバ２０５は、ゲームプロセッサ２１０をサポートする仮想マシンを管理してよい。
【００６２】
クライアントデバイス１００は、インターネット等のネットワーク１５０を介してビデオゲームへのアクセスを要求するように、また、ゲームサーバ２０５によって実行され、ユーザ５に関連付けられたディスプレイデバイス１２に配信されるビデオゲームのインスタンスをレンダリングするように構成される。例えば、ユーザ５は、ゲームプロセッサ２１０上で実行するビデオゲームのインスタンスとクライアントデバイス１００を通してインタラクトしてよい。クライアントデバイス１００は、ゲームコントローラ６、タブレットコンピュータ１１、キーボード、ビデオカメラによってキャプチャされるジェスチャ、マウス、タッチパッド等、様々な種類の入力装置からの入力を受信してよい。クライアントデバイス１００は、少なくともメモリとプロセッサモジュールとを有し、ネットワーク１５０を介してゲームサーバ２０５に接続できる任意の種類のコンピューティングデバイスであってよい。クライアントデバイス１００の例には、パーソナルコンピュータ（ＰＣ）、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または、ゲームサーバ２０５とインタラクトして、ビデオゲームのインスタンスを実行できる任意の他の種類のコンピューティングデバイスが含まれる。
【００６３】
クライアントデバイス１００は、ゲームサーバ２０５が配信したレンダリングされた画像を受信するように、また、レンダリングされた画像をディスプレイ１２に表示するように構成される。例えば、レンダリングされた画像は、ユーザ５に関連してゲームサーバ２０５のゲーム実行エンジン２１１で実行しているビデオゲームのインスタンスに関連付けられてよい。詳細には、クライアントデバイス１００は、ユーザ５のゲームプレイに関連付けられたビデオゲームのインスタンスと、ゲームプレイを駆動するように使用される入力コマンド等を通してインタラクトするように構成される。
【００６４】
さらに、クライアントデバイス１００は、ビデオゲームをプレイしている時に、ゲームサーバ２０５とインタラクトして、ユーザ５のゲームプレイのスナップショットをキャプチャ、記憶するように構成される。さらに、クライアントデバイス１００は、ユーザ５のゲームプレイのスナップショットと、同じビデオゲームをプレイする他のユーザの保存されたゲームプレイのスナップショットとを含むタイムラインを表示するようにゲームサーバ２０５とインタラクトするように構成される。各スナップショットは、選択したスナップショットに対応するビデオゲームのジャンプポイントの保存されたゲームプレイにユーザ５がジャンプするのを可能にし、一実施形態においては、保存されたゲームプレイは、ユーザ５とは異なる別のユーザに関連付けられてよい。
【００６５】
より詳細には、ビデオゲームをプレイしている時に、ゲームサーバ２０５のゲームプロセッサ２１０は、ユーザ５のゲームプレイのスナップショットを生成するように構成される。他の仮想マシンに関連付けられたゲームサーバ２０５の他のゲームプロセッサは、他のユーザのゲームプレイに関連付けられたインスタンスを実行するように、また、これらのゲームプレイ中にスナップショットをキャプチャするように構成される。前述のように、ビデオゲームのインスタンスは、ユーザ５のゲームプレイに関連して、ゲーム実行エンジン２１１で実行している。
【００６６】
スナップショット生成部２１２は、ユーザ５のゲームプレイから生成された複数のスナップショットをキャプチャするように構成される。各スナップショットは、対応するスナップショットと関連付けられたビデオゲームのポイントから始まるビデオゲームのインスタンスの実行を可能にする情報を提供する。スナップショットは、ユーザ５によるビデオゲームのゲームプレイ中に自動的に生成される。実施形態において、各スナップショットの部分部分は、独立して構成された関連データベース、または、データストア１４０の下に構成された関連データベースに記憶される。別の実施形態においては、スナップショットは、ユーザ５による命令を通して手動で生成されてよい。このようにして、任意のユーザが、対応するスナップショットの選択を通して、対応するスナップショットに関連付けられたビデオゲームのポイントで、ユーザ５のゲームプレイにジャンプしてよい。ゲームプロセッサ２１０は、対応するスナップショットに基づいて任意のユーザの保存されたゲームプレイにジャンプすることを可能にするために、データベース１４０の情報にアクセスするように構成される。すなわち、要求したユーザは、スナップショットを生成、保存した元のユーザのゲームプレイのキャラクタを用いて、選択したスナップショットに対応するジャンプポイントで、ビデオゲームのプレイを開始できる。
【００６７】
詳細には、各スナップショットは、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームのインスタンスの実行を可能にするメタデータ及び／または情報を含む。例えば、ユーザ５のゲームプレイにおいて、スナップショットは、レベルの中ほど等、ビデオゲームの進行の特定のポイントで生成されてよい。関連するスナップショット情報は、データベース１４０の１つまたは複数のデータベースに記憶される。特定のスナップショットに対応する各データベースの情報を関連付けるためにポインタを使用できる。このようにして、ユーザ５のゲームプレイを体験したい他のユーザは、ビデオゲームの関心のあるポイントに対応するスナップショットを選択してよい。
【００６８】
スナップショットは、そのポイントでレンダリングされるシーンのスナップショット画像を含む。スナップショット画像は、スナップショット画像データベース１４６に記憶される。サムネイルの形でタイムラインに提示されるスナップショット画像は、ユーザのビデオゲームの進行の対応するポイントにおけるユーザのゲームプレイのビューを提供する。
【００６９】
スナップショットは、そのポイントのゲームの状態を規定するゲーム状態データも含む。例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクト状態、グラフィックオーバーレイ等を含んでよい。このようにして、ゲーム状態データは、ビデオゲームの対応するポイントに存在したゲーム環境の生成を可能にする。ゲーム状態データは、ＣＰＵ状態、ＧＰＵ状態、メモリ状態、レジスタ値、プログラムカウンタ値、プログラマブルＤＭＡ状態、ＤＭＡのバッファされたデータ、オーディオチップ状態、ＣＤ−ＲＯＭ状態等、ゲームプレイのレンダリングに使用されるあらゆるデバイスの状態も含んでよい。ゲーム状態データは、そのポイントからビデオゲームを実行するために実行可能コードのどの部分をロードする必要があるかも識別し得る。よいゲーム状態データの全てをキャプチャ、記憶することが必要なわけではなく、実行可能コードがスナップショットに対応するポイントでゲームを開始するために十分なデータだけをキャプチャ、記憶するだけでよい。ゲーム状態データは、ゲーム状態データベース１４５に記憶される。
【００７０】
スナップショットは、ユーザ保存データも含む。一般に、ユーザ保存データは、対応するユーザに合わせてビデオゲームをカスタマイズする情報を含む。これは、ユーザのキャラクタに関連付けられた情報を含み、それによって、ビデオゲームは、そのユーザに固有であってよいキャラクタ（例えば、形、見かけ、衣服、武器等）を用いてレンダリングされる。このようにして、ユーザ保存データは、対応するユーザのゲームプレイに合わせたキャラクタの生成を可能にする。キャラクタは、スナップショットに関連付けられたビデオゲームのポイントに対応する状態を有する。例えば、ユーザ保存データは、ゲームをする時ユーザ５が選択したゲーム難易度、ゲームレベル、キャラクタ属性、キャラクタ位置、残りの命の数、利用可能な命の合計数、武器、トロフィ、タイムカウンタ値等を含んでよい。ユーザ保存データは、例えば、ユーザ５を識別するユーザプロフィールデータも含んでよい。ユーザ保存データは、データベース１４１に記憶される。
【００７１】
さらに、スナップショットは、人工知能（ＡＩ）モジュール２１５によって生成されるランダムシードデータも含む。ランダムシードデータは、元のゲームコードの一部でなくてもよく、オーバーレイに追加されて、ゲーム環境がよりリアルに見えるようにしてよい、及び／または、ユーザにとって魅力があるようにしてよい。すなわち、ランダムシードデータは、ユーザのゲームプレイの対応するポイントに存在するゲーム環境に追加の特徴を提供する。例えば、ＡＩキャラクタが、ランダムに生成されて、オーバーレイに提供されてよい。ＡＩキャラクタは、ゲームをプレイしているどのユーザにも関連付けられず、ゲーム環境に配置されてユーザの体験をより良くする。例示として、これらのＡＩキャラクタは、都市のシーンで通りをランダムに歩いてよい。さらに、他のオブジェクトが、生成されて、オーバーレイに提示されてよい。例えば、背景の雲や空中を飛んでいる鳥が生成されて、オーバーレイに提示されてよい。ランダムシードデータは、ランダムシードデータベース１４３に記憶される。
【００７２】
このようにして、ユーザ５のゲームプレイを体験したい他のユーザは、ビデオゲームの関心のあるポイントに対応するスナップショットを選択してよい。例えば、タイムラインに提示されたスナップショット画像、または、ノードグラフのノードをユーザが選択すると、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、対応するスナップショットにアクセスし、スナップショットに基づいて、ビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。このようにして、スナップショットは、要求したユーザが、スナップショットに対応するポイントのユーザ５のゲームプレイにジャンプするのを可能にする。
【００７３】
ゲームプロセッサ２１０は、ビデオゲームをプレイしているユーザ５のタイムラインを表示しているタイムライン生成部２１３を含む。タイムラインは、ビデオゲームを進んでいる少なくとも一人のユーザ（例えば、ユーザ５及び／または他のユーザ）のスナップショット画像を含み、スナップショット画像は、ユーザ５に関連して実行しているビデオゲームのインスタンスの現在レンダリングされている画像に関して提示される。各スナップショット画像は、ユーザ５によるビデオゲームの進行のある特定のポイントでキャプチャされた特定のスナップショットに対応する。例えば、ユーザ５のゲームプレイに関連して生成されたスナップショットとスナップショット画像とは、ユーザ５のゲームプレイに関連して実行しているビデオゲームのインスタンスの現在レンダリングされている画像の前に生じるビデオゲームのポイントに対応する。すなわち、ユーザ５は、前にビデオゲームのこれらのポイントをプレイしており、これらのポイントに対応する複数のスナップショットとスナップショット画像を生成している。
【００７４】
さらに、第２のユーザのゲームプレイに関連して生成されたスナップショットとそれらに対応するスナップショット画像は、ユーザ５のゲームプレイの現在レンダリングされている画像の前または後に生じるビデオゲームのポイントに対応してよい。すなわち、第２のユーザは、ビデオゲームをプレイしている時、ユーザ５よりも前に進んでいる場合がある。よって、第２のユーザのゲームプレイに対応するスナップショットは、ユーザ５のゲームプレイに関連付けられた現在レンダリングされている画像の前のビデオゲームのポイントで生じてよい、または、現在レンダリングされている画像の後のポイントで生じてよい。タイムラインは、現在レンダリングされている画像の後で生じるビデオゲームのポイントに対応するスナップショット画像を含んでよい、及び／または、現在レンダリングされている画像の前に生じるビデオゲームのポイントに対応するスナップショット画像を含んでよい。
【００７５】
一実施形態においては、タイムラインに提示されるスナップショットを使用して、ユーザ５は他のユーザのゲームプレイにアクセスしてよい。すなわち、タイムラインの選択したスナップショットの選択は、ユーザ５が、スナップショットに対応するポイントの他のユーザのゲームプレイにジャンプするのを可能にする。例えば、ジャンプゲーム実行エンジン２１６は、選択したスナップショットに対応するポイントでビデオゲームの実行を開始するために、スナップショット（例えば、メタデータ及び／または情報）を様々なデータベース（例えば、データベース１４０）から収集する。一実施形態においては、ユーザ５のゲームプレイは、他のユーザのゲームプレイにジャンプすることによって影響を受けない。
【００７６】
別の実施形態においては、タイムラインに提示されるスナップショットが、ユーザ５によって使用されて、現在レンダリングされている画像の前に生じるユーザ自身のゲームプレイのあるポイントにアクセスしてよい。例えば、スナップショットは、ユーザ５のゲームプレイで生成されてよく、タイムラインに提示されてよい。ユーザ５によるスナップショットの選択は、選択したスナップショットに対応する以前のポイントでビデオゲームの実行を開始するために、実行エンジン２１６が、スナップショット（例えば、メタデータ及び／または情報）を様々なデータベース（例えば、データベース１４０）から収集するのを可能にする。このようにして、ユーザ５は、ビデオのある部分（例えば、前のレベル）に戻って再生してよい。一実施形態においては、ユーザ５の現在のゲームプレイは、同じユーザの以前のゲームプレイにジャンプすることによって影響を受けない。
【００７７】
ゲームプロセッサ２１０は、ノードグラフ生成部２１４も含む。ユーザ５がビデオゲームを進むと、ゲームのパスが生成される。特に、ビデオゲームが複雑な場合、他のユーザが、ビデオゲームの異なるパスを生成する場合がある。パスは、ビデオゲームによって確立されるユニバーサル論理パスの一部であってよく、ユニバーサル論理パスは、ビデオゲームをプレイする時、任意のユーザが取り得る全てのパスを含む。よって、ユーザ５のゲームプレイに関連付けられたパスは、ユニバーサル論理パスのサブセットであってよく、ユーザ５のビデオゲームの進行を規定する。論理ノードは、ユニバーサル論理パスの様々なポイントに規定されてよい。例えば、例示すると、ノードは、ゲームの開始、レベルの開始、ゲームの終了、レベルの終了、選択肢の複数のパスの間でユーザが選択することを可能にする分岐点、ビデオゲームの重要なポイント等に構築されてよい。
【００７８】
さらに、ノードは、ユーザ５のゲームプレイに関連付けられたパスの、または、より一般的に、任意のユーザのゲームプレイに関連付けられたパスの、様々なポイントに規定されてよい。例えば、ノードは、スナップショットに関連して規定されてよい。これらのノードは、定期的な間隔（例えば、毎分、５分、１０分等）で規定されてよい。さらに、これらのノードは、ユーザによって手動で規定されてよい。例示すると、これらのノードも、ゲームの開始、レベルの開始、ゲームの終了、レベルの終了、選択肢の複数のパスの間でユーザが選択することを可能にする分岐点、ビデオゲームの重要なポイント等に構築されてよい。
【００７９】
図２は、開示の実施形態による、ゲームクラウドシステム（ＧＣＳ）２０１に記憶されたビデオゲームへのアクセスとプレイを可能にするシステムダイアグラム２００を示す。一般的に言うと、ゲームクラウドシステムＧＣＳ２０１は、ネットワーク２２０を介して動作して複数のユーザをサポートするクラウドコンピューティングシステムであってよい。さらに、ＧＣＳ２０１は、複数のユーザのビデオゲームのゲームプレイ中に生成されたスナップショットを保存するように構成され、スナップショットを使用して、要求したユーザのために、スナップショットに対応するビデオゲームのポイントで開始するビデオゲームのインスタンスを開始できる。さらに、ＧＣＳ２０１は、スナップショットを使用して、ユーザが、ビデオゲームをナビゲートし、ビデオゲームの過去及び未来のシーンをプレビューするのを可能にする。さらに、スナップショットは、要求したユーザが、対応するスナップショットを通してビデオゲームの選択したポイントにジャンプして、他のユーザのゲームプレイを体験するのを可能にする。詳細には、システム２００は、ＧＣＳ２０１、１つまたは複数のソーシャルメディアプロバイダ２４０、及び、ユーザデバイス２３０を含み、それらは全て、ネットワーク２２０（例えば、インターネット）を介して接続されている。１つまたは複数のユーザデバイスは、ネットワーク２２０に接続されて、ＧＣＳ２０１とソーシャルメディアプロバイダ２４０とによって提供されるサービスにアクセスしてよい。
【００８０】
一実施形態においては、ゲームクラウドシステム２０１は、ゲームサーバ２０５、ビデオリコーダ２７１、タグプロセッサ２７３、ユーザプロフィールマネージャを含むアカウントマネージャ２７４、ゲーム選択エンジン２７５、ゲームセッションマネージャ２８５、ユーザアクセス論理回路２８０、ネットワークインタフェース２９０、及び、ソーシャルメディアマネージャ２９５を含む。ＧＣＳ２０１は、ゲーム状態ストア、ランダムシードストア、ユーザ保存データストア、スナップショットストア等の複数のゲームストレージシステムをさらに含んでよく、それらは、一般的に、データストア１４０に記憶されてよい。他のゲームストレージシステムは、ゲームコードストア２６１、ゲーム記録ストア２６２、タグデータストア２６３、ビデオゲームデータストア２６４、及び、ゲームネットワークユーザストア２６５を含んでよい。一実施形態において、ＧＣＳ２０１は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、並びに、システム、アプリケーション、ユーザ、及び、ソーシャルネットワーク間の相互接続性を提供できるシステムである。ＧＣＳ２０１は、ユーザデバイス２３０及びソーシャルメディアプロバイダ２４０と、ネットワークインタフェース２９０を介してソーシャルメディアマネージャ２９５を通して通信してよい。ソーシャルメディアマネージャ２９５は、一人または複数の友達を関連付けるように構成されてよい。一実施形態においては、各ソーシャルメディアプロバイダ２４０は、ユーザのソーシャルネットワーク接続を示す少なくとも１つのソーシャルグラフ２４５を含む。
【００８１】
ユーザＵ０は、ＧＣＳ２０１によって提供されるサービスにゲームセッションマネージャ２８５を介してアクセスでき、ユーザＵ０は、図１のユーザ５を代表してよい。例えば、アカウントマネージャ２７４は、認証と、ユーザＵ０によるＧＣＳ２０１へのアクセスを可能にする。アカウントマネージャ２７４は、メンバーユーザの情報を記憶する。例えば、各メンバーユーザのユーザプロフィールは、アカウントマネージャ２７４によって管理されてよい。このようにして、メンバー情報は、認証目的で、アカウントマネージャ２７４によって使用できる。例えば、アカウントマネージャ２７４を使用して、メンバーユーザに関するユーザ情報を管理、更新してよい。さらに、メンバーユーザが所有するゲームタイトルが、アカウントマネージャ２７４によって管理されてよい。このようにして、データストア２６４に記憶されたビデオゲームは、これらのビデオゲームを所有する任意のメンバーユーザに利用可能にされる。
【００８２】
一実施形態においては、ユーザ、例えば、ユーザＵ０は、ネットワーク２２０を介した接続を通して、ユーザデバイス２３０によってＧＣＳ２０１やソーシャルメディアプロバイダ２４０が提供するサービスにアクセスできる。ユーザデバイス２３０は、プロセッサとメモリを有する、有線または無線、ポータブルまたはポータブルでない任意の種類のデバイスを含み得る。一実施形態においては、ユーザデバイス２３０は、スマートフォン、タブレットコンピュータ、または、ポータブル形式の要素にタッチスクリーン能力を備えるハイブリッドの形態であってよい。例示的なデバイスの１つは、オペレーティングシステムを実行し、且つ、ネットワーク２２０を介して取得されてローカル携帯デバイス（例えば、スマートフォン、タブレット、ラップトップ、デスクトップ等）で実行され得る様々なアプリケーション（ａｐｐ）へのアクセスを備えた携帯電話デバイスを含み得る。
【００８３】
ユーザデバイス２３０は、ディスプレイ２３２を含み、ディスプレイ２３２は、ユーザＵ０が入力コマンド２３６を送信し、ＧＣＳ２０１やソーシャルメディアプロバイダ２４０から受信したデータ及び／または情報２３５を表示するためのインタフェースとして働く。ディスプレイ２３２は、タッチスクリーン、または、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、もしくは、ディスプレイをレンダリングできる他のデバイスによって典型的に提供されるディスプレイとして構成できる。あるいは、ユーザデバイス２３０は、そのデバイスとは別個の、デスクトップコンピュータまたはラップトップコンピュータに類似した、ディスプレイ２３２を有し得る。
【００８４】
一実施形態においては、ユーザデバイス２３０は、ＧＣＳ２０１と通信して、ユーザＵ０がビデオゲームをプレイするのを可能にするように構成される。例えば、ユーザＵ０は、ビデオゲームデータストア２６４で利用可能なビデオゲームをゲーム選択エンジン２７５を介して（例えば、ゲームタイトル等によって）選択してよい。このようにして、選択したビデオゲームは、ＧＣＳ２０１でゲームサーバ２０５によって、有効にされ、実行するためにロードされる。一実施形態においては、ゲームプレイは、主に、ＧＣＳ２０１で実行され、それによって、ユーザデバイス２３０は、ゲームビデオフレーム２３５のストリームをＧＣＳ２０１から受信し、ゲームプレイを駆動するユーザ入力コマンド２３６が、ＧＣＳ２０１に返信される。ストリーミングゲームプレイから受信されたビデオフレーム２３５は、ユーザデバイス２３０のディスプレイ２３２に示される。
【００８５】
一実施形態においては、ユーザＵ０がプレイに利用可能なゲームタイトルを選んだ後、選んだゲームタイトルのゲームセッションが、ゲームセッションマネージャ２８５を通してユーザＵ０によって開始されてよい。ゲームセッションマネージャ２８５は、最初に、データストア１４０のゲーム状態ストアにアクセスして、（選択したゲームに関して）ユーザＵ０がプレイした最後のセッションの保存したゲーム状態があれば、そのゲーム状態を読み出し、その結果、ユーザＵ０は、以前のゲームプレイの終了ポイントからゲームプレイを再開できる。再開または開始のポイントが識別されると、ゲームセッションマネージャ２８５は、ゲームコードストア２６１から選んだゲームタイトルのゲームコードを実行するようにゲームプロセッサ２１０のゲーム実行エンジンに知らせてよい。ゲームセッションが開始された後、ゲームセッションマネージャ２８５は、ネットワークインタフェース２９０を介して、ユーザデバイス、例えば、ユーザデバイス２３０にゲームビデオフレーム２３５（すなわち、ストリーミングビデオデータ）を渡してよい。
【００８６】
ゲームプレイ中、ゲームセッションマネージャ２８５は、ゲームプロセッサ２１０、記録エンジン２７１、及び、タグプロセッサ２７３と通信して、ゲームプレイまたはゲームプレイセッションの記録（例えば、ビデオ）を生成または保存してよい。一実施形態においては、ゲームプレイのビデオ記録は、ゲームプレイ中に入力または提供されたタグコンテンツと、他のゲーム関連メタデータとを含み得る。タグコンテンツも、スナップショットを介して保存されてよい。ゲームプレイのビデオ記録は、ゲームプレイに対応する任意のゲームメトリックと共に、ゲーム記録ストア２６２に保存されてよい。任意のタグコンテンツが、タグデータストア２６３に保存されてよい。
【００８７】
ゲームプレイ中、ゲームセッションマネージャ２８５は、ゲームプロセッサ２０４と通信して、ユーザ入力コマンド２３６を配信及び取得してよく、ユーザ入力コマンド２３６は、ビデオゲームの対応するゲームプレイの結果に影響を与えるために使用される。ユーザＵ０によって入力された入力コマンド２３６は、ユーザデバイス２３０からＧＣＳ２０１のゲームセッションマネージャ２８５に送信されてよい。ゲームプレイを駆動するために使用される入力コマンドを含む入力コマンド２３６は、タグコンテンツ（例えば、テキスト、画像、ビデオ記録クリップ等）など、ユーザインタラクティブ入力を含んでよい。ゲーム入力コマンドと、任意のユーザプレイメトリック（どのくらいの時間ユーザがゲームをプレイしたか等）が、ゲームネットワークユーザストアに記憶されてよい。ビデオゲームに対してゲームプレイに関する選択情報を使用して、ユーザに利用可能であり得る複数の機能を有効にしてよい。
【００８８】
特に、ゲームプレイがＧＣＳ２０１を介して実行される時、ゲームプレイは、ＧＣＳ２０１で複数のユーザによって実行されるので、これらのゲームプレイから生成、記憶された情報は、任意の要求したユーザが他のユーザのゲームプレイを体験することを可能にする。詳細には、ＧＣＳ２０１は、ＧＣＳ２０１を通してビデオゲームをプレイするユーザのゲームプレイによって生成されたスナップショットを保存するように構成される。ユーザＵ０の場合、ユーザデバイスは、ゲームプレイ中、ユーザＵ０がビデオゲームを行うのを可能にするインタフェースを提供する。ユーザＵ０によるゲームプレイのスナップショットが生成され、ＧＣＳ２０１に保存される。
【００８９】
また、ユーザデバイス２３０は、ユーザＵ０がスナップショットを用いてビデオゲームをプレビューするのを可能にするインタフェースを提供するように構成される。例えば、一人または複数のユーザのゲームプレイのスナップショット画像を見ることによって、ユーザＵ０は、ビデオゲームの任意のポイントで、他のユーザがそのポイントを既にプレイしてスナップショットを生成している限り、ビデオゲームの１つまたは複数の部分をプレビューできる。さらに、以下により詳細に記載するように、タイムラインに提示されるスナップショット及び／またはスナップショット画像は、様々なポイントのビデオゲームのプレビューを、それらのポイントでビデオゲームを必ずしもプレイせずに、ユーザに提供し得る。例えば、スナップショット及び／またはスナップショット画像を見ることによって、タイムラインは、ビデオゲームの特定のポイント（単数または複数）においてビデオゲームが従う方向を示し得る。その方向が、行き止まりまたはユーザにとって望ましくない結果につながる場合、ユーザは、そのスナップショットに対応するこれらのポイントにつながるビデオゲームのパスを取るのを回避する選択をしてよい。他方、その方向が望ましい結果（例えば、略奪、面白い戦闘、または、インタラクション等）につながる場合、ユーザはそのスナップショットに対応するこれらのポイントにつながるビデオゲームのパスを取ることを選んでよい。さらに、ユーザデバイス２３０は、ユーザＵ０がビデオゲームをナビゲートするのを可能にするインタフェースを提供するように構成される。例えば、以下により詳細に記載するように、スナップショットを使用して、ビデオゲームを進む一人または複数のユーザが取ったパスを示すノードグラフを生成してよい。ユーザは、ノードグラフとインタフェースして、ノードグラフの選択したノードのスナップショット及び／またはスナップショット画像を表示してよく、これによって、ビデオゲームの様々なノードのビデオゲームのプレビューを、これらのポイントでビデオゲームを必ずしもプレイせずに、ユーザに提供する。ノードグラフの方向が、行き止まりまたはユーザにとって望ましくない結果につながる場合、ユーザは、そのノードに対応するこれらのポイントにつながるビデオゲームのノードパスを取るのを回避する選択をしてよい。他方、そのノードグラフの方向が望ましい結果につながる場合、ユーザは、そのノードに対応するこれらのポイントにつながるビデオゲームのノードパスを取ることを選んでよい。
【００９０】
さらに、ユーザデバイス２３０は、ユーザＵ０または他のユーザのゲームプレイで生成されたスナップショットを用いてビデオゲームの選択したポイントへのジャンプを可能にするインタフェースを提供するように構成される。このようにして、ユーザＵ０は、任意の他のユーザのゲームプレイを体験できる、または、自分のゲームプレイを戻って、見直し及び／または再生できる。すなわち、要求したユーザは、対応するゲームプレイのスナップショットを介して、そのゲームで使用されたそのゲームプレイに対応するキャラクタを用いて、ビデオゲームをプレイする。
【００９１】
図３〜図８について、ビデオゲームをプレイするユーザの文脈内で記載する。一般に、ビデオゲームは、ユーザ入力に応答する任意のインタラクティブゲームであってよい。説明のみを目的として、図３〜図８に関連して記載するビデオゲームは、キャラクタが世界を旅しながら、様々な障害物や挑戦に遭遇する冒険ゲームであってよい。キャラクタは、徒歩で、または、任意の機械的手段を用いてビデオゲームを旅してよい。さらに、キャラクタは、開始から終了に向かってビデオゲームを進む時、遅れにつながり得る１つまたは複数の挑戦に遭遇してよい。
【００９２】
明細書を通して、図３〜図８の１つまたは複数のタイムラインにおける時刻の使用は、ビデオゲームの進行を示すことを意味しており、必ずしも、ユーザがビデオゲームをどれくらいの時間プレイしたかの測定値ではない。
【００９３】
図３Ａは、本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示されるタイムライン３１０ａの図である。タイムラインは、そのユーザのゲームプレイのスナップショット画像と、他のユーザのゲームプレイのスナップショット画像とを示す。さらに、タイムライン３１０ａは、一実施形態においては、ＧＣＳ２０１のゲームサーバ２０５のゲームプロセッサ２１０のタイムライン生成部２１３によって生成される。タイムライン３１０ａを使用して、そのユーザによる以前のゲームプレイと、一人または複数の他のユーザのゲームプレイとを素早くプレビューできる。
【００９４】
ゲームプロセッサ２１０のゲーム実行エンジン２１１がビデオゲームのインスタンスをインスタンス化する間、ウインドウ３５０ａとタイムライン３１０ａが表示される。例えば、ウインドウ３００が、特定のビデオゲームに関して、ユーザのゲームプレイ中にレンダリングされた画像３０５を示す。レンダリングされた画像は、ユーザのビデオゲームの進行の現在のポイントに関連付けられる。図に示すように、レンダリングされた画像３０５において、ゲームプレイでユーザを表すキャラクタ３０６が、オートバイに乗っている。キャラクタ３０６は、山岳地帯の道路をツーリングしており、落石３０７に遭遇した。ユーザのゲームプレイにおいて、キャラクタは、レンダリングされた画像３０５に示すように、短く尖った髪の男性が選択されている。このポイントで、ユーザは、ビデオゲームの進行にいら立つ場合があり、落石を回避する道を探りたい場合がある。例えば、ユーザが落石を通過するのを可能にする解決法を探るために、また、レンダリングされた画像３０５によって表されるユーザの現在の進行を超えたポイントのビデオゲームの未来の体験を探るために、ユーザが、他のユーザのゲームプレイをプレビューしたい場合がある。これらの他のゲームプレイの探検は、タイムライン３１０ａによって、より具体的には、タイムライン３１０ａに表示されるスナップショット画像と、それらに対応するスナップショットとを通して可能にされてよい。前述のように、スナップショットは、対応するスナップショットに関連付けられたビデオゲームのポイントから始まる対応するビデオゲームのインスタンスの実行を可能にする。詳細には、タイムラインに提示されるスナップショット画像またはノードグラフのノードをユーザがさらに選択することによって、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。
【００９５】
タイムライン３１０ａが、ウインドウ３５０ａに表示される。一般に、一人または複数のユーザの１つまたは複数のゲームプレイのスナップショット画像を含む複数のタイムラインが、ウインドウ３５０ａに表示されてよい。図３Ａに示すように、ウインドウ３５０ａは、１つのタイムライン３１０ａを表示してよく、タイムライン３１０ａは、ユーザによるゲームプレイのスナップショット画像と、他のユーザによるゲームプレイのスナップショット画像とを含む。スナップショット画像は、サムネイル及び／またはウインドウに提示され、ユーザのゲームプレイにおいてビデオゲームの現在レンダリングされている画像との関連で表示される。例えば、現在レンダリングされている画像３０５によって表されるビデオゲームのポイントの前に生じるスナップショット画像は、空白のサムネイル３４０ｃの左に表示されてよく、そのポイントの後に生じるスナップショット画像は、サムネイル３４０ｃの右に表示されてよい。ウインドウ３５０ａは、図３Ｂに関連してさらに記載するように、一人または複数のユーザによるビデオゲームの１つまたは複数のゲームプレイのスナップショット画像を含む追加のタイムラインも表示してよい。タイムラインは、ビデオゲームの進行を示し、必ずしも、ユーザがビデオゲームをどれくらいの時間プレイしたかの測定値を示したものではない。
【００９６】
詳細には、タイムライン３１０ａは、ユーザによるゲームプレイのスナップショット画像を含む。例えば、ユーザによるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像（例えば、画像３４０ａ、３４０ｂ、．．．）が、タイムライン３１０ａにサムネイル及び／またはウインドウで表示される。スナップショット画像を一緒に見ることによって、ユーザのゲームプレイの履歴がすぐに分かる。例えば、スナップショット画像３４０ａは、キャラクタ３０６が、坂道または崖をオートバイでジャンプすることを示す。ゲームのこのポイントで、キャラクタ３０６は、スナップショット画像３４０ａの上部左隅の２つの円が示すように、２つの可能な命を有する。その後、ユーザがビデオゲームを進むと、スナップショット画像３４０ｂは、（まだ、２つの可能な命を有する）キャラクタ３０６が、森をオートバイで通り、山に近付くのを示している。ウインドウ３００に示される現在レンダリングされている画像３０５は、キャラクタ３０６が山に到達し、落石３０７に近付いたことを示す。このポイントで、キャラクタ３０６は、２つの可能な命を有する。
【００９７】
レンダリングされた画像３０５が、現在、表示され、ユーザのビデオゲームの進行を表すので、ユーザによる以前のゲームプレイを表すスナップショット画像のみが表示される。これらのスナップショット画像は、典型的に、現在、表示されているレンダリングされた画像３０５によって表されるポイントの前に生じるゲームのポイントを表す。説明のみを目的として、キャラクタの可能な命の総数は、ユーザのビデオゲームの進行のおおまかな評価を表す。しかしながら、ユーザがビデオゲームをプレイする時、前に進んだり戻ったりするのが可能なビデオゲームもある。いずれの場合でも、一実施形態においては、以前レンダリングされた画像に対応するスナップショット画像のみが、タイムライン３１０ａでユーザに表示されてよい。これらのスナップショット画像は、現在レンダリングされている画像３０５に関してタイムライン３１０ａに表示され、現在の画像３０５は、空白のサムネイル３４０ｃによって表される。例えば、スナップショット画像は、空白のサムネイル３４０ｃの左に表示されてよい。さらに、ビデオゲームの第１のポイントでキャプチャされた第１のスナップショット画像をユーザがビデオゲームを一般的に進むと第１のポイントの後に来る第２のポイントで生じる第２のスナップショット画像の左に表示することによって、２つのスナップショット画像間の順序付けが行われてよい。他の実施態様においては、サムネイル３４０ｃに、レンダリングされた画像３０５をポピュレートして、タイムライン３１０ａでユーザの現在の進行を示してよい。
【００９８】
現在レンダリングされている画像３０５の前に生じるビデオゲームのポイントを表すスナップショット画像は、現在レンダリングされている画像３０５の後で生じるビデオゲームのポイント、すなわち、未来のポイントを表すスナップショット画像と区別されるように、表示される。一実施形態においては、スナップショット画像は、グレー表示されてよい。すなわち、現在レンダリングされている画像３０５の前に生じるポイントに対応するスナップショット画像は、ビデオゲームの進行において後に生じるポイントに対応するスナップショット画像より低い強度及び／または解像度で表示される。クロスハッチでスナップショット画像を示す、または、スナップショット画像をぼやけさせる等、他の実施形態もサポートされる。
【００９９】
さらに、タイムライン３１０ａは、他のユーザによるゲームプレイのスナップショット画像を含む。一実施形態においては、この他のユーザは、ソーシャルメディアマネージャ２９５を通して発見された友達であってよい。スナップショット画像は、ランダムなユーザ、または、ビデオゲームでスコアの高いユーザ等、関心の高いユーザのゲームプレイにも対応してよい。説明のみを目的として、図３〜図８に関連して提供される例において、これらの他のユーザは、第１の友達Ｆ１、第２の友達Ｆ２、第３の友達Ｆ３等、現在のユーザの友達と呼ばれる。第１の友達Ｆ１は、長い髪の女性として描かれるキャラクタ３０８をプレイしている。第２の友達Ｆ２は、髪がふさふさした男性として描かれるキャラクタ３０９をプレイしている。第３の友達Ｆ３は、禿げた男性として描かれるキャラクタ３０３をプレイしている。
【０１００】
詳細には、タイムライン３１０ａは、第２のユーザ（例えば、女性キャラクタ３０８をプレイしている友達Ｆ１）によるゲームプレイのスナップショット画像を含む。例えば、第２のユーザによるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像（例えば、画像３６０ｄ、３６０ｅ、３６０ｆ、．．．）が、タイムライン３１０ａにサムネイル及び／またはウインドウで表示される。これらのスナップショット画像は、現在レンダリングされている画像３０５に関連して表示される。例えば、空白のサムネイル３４０ｃの右に表示されるスナップショット画像３６０ｄ、３６０ｅ、３６０ｆは、現在レンダリングされている画像３０５の後のビデオゲームのポイントで生じる。タイムライン３１０ａには示していないが、現在レンダリングされている画像の近くまたは前のビデオゲームのポイントで生じるスナップショット画像（例えば、スナップショット画像３６０ａ、３６０ｂ、３６０ｃ）も任意選択で示されてよく、それらを、図３Ｂのウインドウ３５０ｂに表示されるタイムライン３１０ｂに関連してさらに記載する。
【０１０１】
スナップショット画像を一緒に見ると、現在レンダリングされている画像３０５の後に生じる未来のポイントの第２のユーザ（例えば、友達Ｆ１）のゲームプレイの履歴がすぐに分かる。例えば、スナップショット画像３６０ｄは、川の渡り方を考えている３つの可能な命を有するキャラクタ３０８を示す。ビデオゲームがさらに進むと、キャラクタ３０８は、４つの可能な命を有し、スナップショット画像３６０ｅで熊と戦っている。ビデオゲームがさらに進むと、キャラクタ３０８は、５つの可能な命を有し、スナップショット画像３６０ｆに、砂漠で車を運転しているのが示されている。
【０１０２】
一実施形態においては、タイムラインは、ユーザのビデオゲームの進行と、利用可能なスナップショット画像とに応じて修正されてよい。例えば、現在レンダリングされている画像３０５に関連して（例えば、ユーザまたは他のユーザの）遠過ぎる過去に生じたスナップショット画像は、表示されなくてもよく、未来に生じる（例えば、他のユーザの）スナップショット画像も表示されなくてよい。さらに、他のユーザが、変更及び／または置き換えられると、対応するスナップショット画像は、タイムラインで更新される。
【０１０３】
図３Ｂは、本開示の一実施形態による、ユーザによるビデオゲームのゲームプレイ中に表示される複数のタイムラインの図であり、タイムラインは、一人または複数のユーザのビデオゲームのゲームプレイのスナップショット画像を示す。タイムラインは、ウインドウ３５０ｂに表示される。一実施形態においては、ウインドウ３５０ｂが、ユーザのゲームプレイの現在レンダリングされている画像３０５と共に表示される。例えば、一実施形態においては、タイムライン３１０ｂ、３２０、３３０が、ウインドウ３５０ｂに表示され、ＧＣＳ２０１のゲームサーバ２０５のゲームプロセッサ２１０のタイムライン生成部２１３によって生成される。タイムラインを使用して、ユーザの以前のゲームプレイと、一人または複数の他のユーザ（例えば、友達、ランダムなユーザ、関心のあるユーザ等）のゲームプレイとを素早くプレビューできる。
【０１０４】
図に示すように、タイムライン３１０ｂは、図３Ａに関して記載したように、ユーザによるゲームプレイのスナップショット画像（例えば、３４０ａ、３４０ｂ、．．．）を含む。これらのスナップショット画像は、図３Ｂに示すようにサムネイルで表示されてよく、現在レンダリングされている画像３０５に関連して配置される。例えば、これらのスナップショット画像は、上記のように、現在レンダリングされている画像３０５の左に表示され、一般的に、第１のスナップショット画像が後に生じるスナップショット画像の左に来るように配置される。
【０１０５】
さらに、タイムライン３１０ｂは、第２のユーザ（例えば、女性のキャラクタ３０８をプレイしている第１の友達Ｆ１）によるゲームプレイ中にキャプチャされたスナップショットに対応する複数のスナップショット画像（３６０ａ、３６０ｂ、３６０ｃ、３６０ｄ、３６０ｅ、３６０ｆ、．．．）を含む。これらのスナップショット画像は、上記のように、タイムライン３１０ｂにサムネイルで表示され、現在レンダリングされている画像３０５に関連して配置される。より詳細には、友達Ｆ１のゲームプレイに対応し、現在レンダリングされている画像の近くまたは前のビデオゲームのポイントで生じるスナップショット画像（例えば、スナップショット画像３６０ａ、３６０ｂ、３６０ｃ）も、ユーザのスナップショット画像（例えば、３４０ａ、３４０ｂ、．．．）の下に任意選択で含まれてよい。現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像（例えば、３６０ａ、３６０ｂ、．．．）は、空白のサムネイル３４０ｃの左に配置されてよい。ゲームの進行を示すものとして、スナップショット画像３６０ａ〜３６０ｃは、２つの可能な命を有するキャラクタを示す。スナップショット画像３６０ｃは、現在レンダリングされている画像３０５とビデオゲームの進行においてほぼ同じポイントで生じ、空白のサムネイル３４０ｃのほぼ下に配置される。例えば、スナップショット画像３６０ｃと現在レンダリングされている画像３０５は両方とも、対応するキャラクタを示し、キャラクタは、それぞれ、２つの可能な命を有する。さらに、上記のように、タイムライン３１０ｂのスナップショット画像は、一般的に、第１のスナップショット画像が後に生じるスナップショット画像の左に位置するように配置されてよい。矢印３９９は、第２のユーザである友達Ｆ１に関連付けられたスナップショット画像を結び付けてよい。
【０１０６】
一緒に見ると、スナップショット画像は、第１の友達Ｆ１のゲームプレイの履歴を素早く提供する。例えば、友達Ｆ１のキャラクタ３０８は、最初、スナップショット画像３６０ａにおいて、市街地の通りでオートバイに乗っているのが示されている。その後、友達Ｆ１のビデオゲームの進行において、スナップショット画像３６０ｂは、（２つの可能な命を有する）キャラクタ３０８がオートバイに乗って森を走り、山に近付いているのを示す。ビデオゲームがさらに進むと、キャラクタ３０８は、スナップショット画像３６０ｃにおいて、山道でオートバイに乗っている。例えば、友達Ｆ１のキャラクタ３０８は、ユーザのキャラクタ３０６が現在、レンダリングされた画像３０５で遭遇している落石を回避している場合がある。その後、（３つの可能な命を有する）キャラクタ３０８が、スナップショット画像３６０ｄにおいて、川に近付いているのが示されている。さらに進むと、（４つの可能な命を有する）キャラクタ３０８は、スナップショット画像３６０ｅにおいて熊と戦っており、その後、（５つの可能な命を有する）キャラクタ３０８は、スナップショット画像３６０ｆにおいて砂漠で車を運転しているのが示されている。
【０１０７】
ウインドウ３５０ｂは、第２の友達Ｆ２等、他のユーザのゲームプレイに関連付けられた他のタイムライン３２０を示す。図に示すように、タイムライン３２０は、友達Ｆ２によるゲームプレイのスナップショット画像（３７０ａ、３７０ｂ、３７０ｃ、３７０ｄ、３７０ｅ．．．）を含む。一実施形態においては、これらのスナップショット画像は、サムネイルで表示されてよく、現在レンダリングされている画像３０５に関連して配置される。例えば、現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像（例えば、３７０ａ、３７０ｂ、．．．）は、空白のサムネイル３４０ｃのほぼ左に配置される。上記のように、これらのスナップショット画像は、表示するコンテンツをグレー表示することによって容易に識別し得る。スナップショット画像３７０ｃは、ビデオゲームの進行において現在レンダリングされている画像３０５とほぼ同じポイントで生じ、空白のサムネイル３４０ｃのほぼ下に位置する。現在レンダリングされている画像の後のビデオゲームの進行のポイントで生じるスナップショット画像（例えば、３７０ｄ、３７０ｅ、．．．）は、空白のサムネイル３４０ｃのほぼ右に配置される。さらに、上記のように、タイムライン３２０のスナップショット画像は、一般に、第１のスナップショット画像が後に生じるスナップショット画像の左に位置するように配置されてよい。
【０１０８】
一緒に見ると、スナップショット画像は、第２の友達Ｆ２のゲームプレイの履歴を素早く提供する。例えば、友達Ｆ２の（２つの可能な命を有する）キャラクタ３０９は、最初に、スナップショット画像３７０ａにおいて、川を渡っているのが示されている。その後、友達Ｆ２のビデオゲームの進行において、スナップショット画像３７０ｂは、キャラクタ３０９が森を歩いて横切り、高い山脈に近付いているのを示す。さらに進むと、（２つの可能な命を有する）キャラクタ３０９は、スナップショット画像３７０ｃにおいて、偽の山の頂にいるのが示されている。さらにその後、（４つの可能な命を有する）キャラクタ３０９は、スナップショット画像３７０ｄにおいて、山の面をフリークライミングしているのが示されており、その後、スナップショット画像３７０ｅにおいて、ボートで湖を渡っているのが示されている。
【０１０９】
ウインドウ３５０ｂは、第３の友達Ｆ３等、他のユーザのゲームプレイに関連付けられた他のタイムライン３３０を示す。図に示すように、タイムライン３３０は、友達Ｆ３によるゲームプレイのスナップショット画像（３８０ａ、３８０ｂ、３８０ｃ、３８０ｄ、３８０ｅ、３８０ｆ、．．．）を含む。一実施形態においては、これらのスナップショット画像は、サムネイルで表示されてよく、現在レンダリングされている画像３０５との関連で配置される。例えば、現在レンダリングされている画像の前のビデオゲームの進行のポイントで生じるスナップショット画像（例えば、３８０ａ、３８０ｂ、．．．）は、空白のサムネイル３４０ｃのほぼ左に配置される。これらのスナップショット画像は、上記のように、表示されるコンテンツをグレー表示することによって容易に識別され得る。スナップショット画像３８０ｃは、ビデオゲームの進行において現在レンダリングされている画像３０５とほぼ同じポイントで生じ、空白のサムネイル３４０ｃのほぼ下に位置する。現在レンダリングされている画像の後のビデオゲームの進行のポイントで生じるスナップショット画像（例えば、３８０ｄ、３８０ｅ、３８０ｆ、．．．）は、空白のサムネイル３４０ｃのほぼ右に配置される。さらに、上記のように、タイムライン３２０のスナップショット画像は、一般的に、第１のスナップショット画像が後に生じるスナップショット画像の左に位置するように、配置されてよい。
【０１１０】
一緒に見ると、スナップショット画像は、第３の友達Ｆ３のゲームプレイの履歴を素早く提供する。例えば、友達Ｆ３の（２つの可能な命を有するキャラクタ３０３）は、最初、スナップショット画像３８０ａにおいて、森をオートバイで走っている。その後、友達Ｆ３がビデオゲームの進行において、スナップショット画像３８０ｂは、（２つの可能な命を有する）キャラクタ３０３が川を渡っているのを示す。さらに進むと、スナップショット画像３８０ｃにおいて、（３つの可能な命を有する）キャラクタ３０３が、滝をカヤックで下っているのが示されている。さらにその後、スナップショット画像３８０ｄにおいて、キャラクタ３０３が、モーターボートで湖を渡るのが示されており、次に、スナップショット画像３８０ｅで、キャラクタ３０３が、ボートをドックに入れるのが示されている。さらに進むと、スナップショット画像３８０ｆにおいて、（５つの可能な命を有する）キャラクタ３０３が、次の目的地に向かって航空機を飛ばしているのが示されている。
【０１１１】
異なるタイムラインと呼ばれているが、ウインドウの全てのタイムラインは、ビデオゲームをプレイするユーザに属する１つのタイムラインと呼ばれてよい。さらに、一実施形態においては、他のユーザに関連付けられたタイムライン（例えば、タイムライン３２０、３３０と、３１０の一部）は、新しいユーザのタイムラインで置き換えられてよい。このようにして、交代しているユーザのスナップショット画像が、ユーザに示されてよい。別の実施形態においては、より多くのタイムラインが示されてもよく、または、明瞭にするために、より少ない数のタイムラインが示されてもよい。
【０１１２】
さらに別の実施形態においては、ウインドウ３５０ａまたは３５０ｂのタイムラインは、完全に異なるゲームまたはコンテンツに関連付けられたスナップショット画像を表示してよい。例えば、タイムラインは、他のビデオゲームをプレビューして試させるように、または、他のコンテンツを見るようにユーザを誘うために示されてよい。
【０１１３】
図４Ａは、本開示の一実施形態による、ウインドウ３５０ａに提示されたタイムライン３１０ａの図である。タイムライン３１０ａは、図３Ａで最初に紹介したが、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示し、スナップショットを選択することによって、スナップショット画像を拡大できる。上記のように、ウインドウ３００は、ユーザによるビデオゲームのゲームプレイの現在レンダリングされている画像３０５を示す。タイムライン３１０ａは、現在レンダリングされている画像３０５の前に生じるビデオゲームの進行のポイントで（キャラクタ３０６をプレイしている）ユーザによるゲームプレイのスナップショット画像（３４０ａ、３４０ｂ、．．．）を含む。タイムライン３１０は、現在レンダリングされている画像３０５の後で生じるビデオゲームの進行のポイントで他のユーザ（例えば、キャラクタ３０８をプレイしている友達Ｆ１）によるゲームプレイのスナップショット画像（３６０ｄ、３６０ｅ、３６０ｆ、．．．）も含む。
【０１１４】
より詳細には、スナップショット画像が、タイムライン３１０ａにサムネイルを介して提示される。よって、サムネイルのサイズに応じて、レンダリングされた画像が、小さすぎてあまり詳細を示していない場合がある。ユーザは、拡大するためにスナップショットを選択してよい。例えば、一実施形態においては、ユーザは、スナップショット画像３６０ｅを提示するサムネイルの上にカーソル４９０ａを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。ウインドウ４１０は、選択したサムネイルのほぼ同じエリアに生成、表示される。ウインドウ４１０は、レンダリングされたスナップショット画像３６０ｅを表示し、ウインドウ４１０は、スナップショット画像３６０ｅのより良いビューをユーザに提供するのに十分なサイズである。
【０１１５】
明瞭にするために、スナップショット画像３６０ｅを引き伸ばしたものが、ボックス４２０に提示される。しかしながら、一実施形態においては、ウインドウ４１０及び／またはスナップショット画像３６０ｅを更に選択することによって、ボックス４２０は、ウインドウ４１０に提示されているのよりさらに大きいスナップショット画像３６０ｅを示すウインドウとして表示されてよい。上記のように、スナップショット画像３６０ｅは、他のユーザ（例えば、女性のキャラクタ３０８をプレイする友達Ｆ１）のゲームプレイに関連付けられ、熊と遭遇するキャラクタ３０８を示す。タイムライン３１０ａに提示されたスナップショット画像をスクロールし、拡大された画像を見ることによって、ユーザは、友達Ｆ１のゲームプレイをプレビューできる。このようにして、タイムライン３１０ａに提示された選択したスナップショット画像及び／またはノードグラフのノード（以下に記載）のユーザによる更なる選択は、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームを実行するのを可能にする。例えば、ユーザは、他のユーザ（例えば、友達Ｆ１）のゲームプレイを体験してよく、または、自分のゲームプレイを戻って、再体験及び／または再生してよい。
【０１１６】
図４Ｂは、本開示の一実施形態による、ウインドウ３５０ｂに提示された１つまたは複数のタイムラインの図であり、各タイムラインは、少なくとも一人のユーザのビデオゲームのゲームプレイのスナップショット画像を示し、スナップショットの選択によって、スナップショット画像の拡大図を有効にする。図４Ｂに示すタイムラインは、図３Ｂに関して前述したもので、タイムライン３１０ｂ、３２０、３３０を含む。詳細には、タイムライン３１０ｂは、現在レンダリングされている画像３０５の前に生じるビデオゲームの進行のポイントでキャラクタ３０６をプレイするユーザによるゲームプレイのスナップショット画像を含む。タイムライン３１０ｂは、現在レンダリングされている画像３０５の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントで、キャラクタ３０８をプレイする友達Ｆ１によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像をさらに含む。一実施形態においては、スナップショット画像は、サムネイルで提示される。タイムライン３２０は、現在レンダリングされている画像３０５の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントで、キャラクタ３０９をプレイする友達Ｆ２によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像（３７０ａ、３７０ｂ、３７０ｃ、３７０ｄ、３７０ｅ．．．）を含む。タイムライン３３０は、現在レンダリングされている画像３０５の前、ほぼ同時、及び、後に生じるビデオゲームの進行のポイントでキャラクタ３０３をプレイする友達Ｆ３によるゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像を含む。図４Ｂに示すように、タイムライン３２０のスナップショット画像とのインタラクションをさらに記載する、よって、タイムライン３１０ｂ、３３０のスナップショット画像は、理解を容易にするためにラベルを付けていない。
【０１１７】
より詳細には、スナップショット画像は、タイムライン３１０ｂ、３２０、３３０にサムネイルを介して提示される。よって、サムネイルのサイズに応じて、レンダリングされた画像が小さすぎてあまり詳細を示していない場合がある。ユーザは、タイムラインのいずれかのスナップショットを拡大のために選択してよい。図４Ａは、ユーザに関連付けられたタイムラインのスナップショット画像の選択を示し、図４Ｂは、友達に対応するタイムラインの１つで拡大のためのスナップショット画像の選択を示す。例えば、一実施形態においては、ユーザは、タイムライン３２０のスナップショット画像３７０ｄを提示するサムネイルにカーソル４９０ｂを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。拡大されたウインドウ４６０が、選択したサムネイルとほぼ同じエリアに生成、表示される。ウインドウ４６０は、レンダリングされたスナップショット画像３７０ｄを表示し、ウインドウ４６０は、スナップショット画像３７０ｄのより良いビューをユーザに提供するのに十分な（例えば、対応するサムネイルより大きい）サイズである。
【０１１８】
明瞭さと理解しやすいように、スナップショット画像３７０ｄを引き伸ばしたものが、ボックス４６５に提示される。しかしながら、一実施形態においては、ウインドウ４６０及び／またはスナップショット画像３７０ｄの更なる選択を通して、ボックス４６５は、ウインドウ４６０に提示されるスナップショット画像よりさらに大きいスナップショット画像３７０ｄを示すウインドウとして表示されてよい。上記のように、スナップショット画像３７０ｄは、友達Ｆ２のゲームプレイに関連付けられ、キャラクタ３０９が、切り立った岩肌をフリークライミングしているのを示す。タイムライン３２０に提示されるスナップショット画像をスクロールして、拡大された画像を見ることによって、ユーザは、友達Ｆ２のゲームプレイをプレビューできる。このようにして、タイムライン３２０に提示される選択したスナップショット画像またはユーザによる対応するノードグラフのノード（以下にさらに詳細に記載）をユーザがさらに選択すると、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、対応するスナップショットにアクセスし、選択したスナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、選択したスナップショットに対応するビデオゲームのポイントで開始するビデオゲームを実行するのを可能にする。
【０１１９】
図５Ａは、ビデオゲームのゲームプレイのノードグラフ５３０の図であり、ノードグラフは、図３Ｂで最初に紹介したように、ユーザによるビデオゲームのゲームプレイ中、ウインドウ３５０ｂにタイムライン３１０ｂ、３２０、３３０と共に表示される。詳細には、タイムライン３１０ｂは、ポイントでキャラクタ３０６をプレイするユーザのゲームプレイのスナップショット画像と、他のユーザ（例えば、キャラクタ３０８をプレイする友達Ｆ１）のゲームプレイのスナップショット画像とを示し、タイムライン３２０は、キャラクタ３０９をプレイする友達Ｆ２によるゲームプレイのスナップショット画像を示し、タイムライン３３０は、キャラクタ３０３をプレイする友達Ｆ３によるゲームプレイのスナップショット画像を示す。各タイムラインのスナップショット画像は、上記のように、（例えば、空白のサムネイル３４０ｃによって表される）現在レンダリングされている画像３０５と関連して提示される。ウインドウ３００は、ユーザによるビデオゲームのゲームプレイの現在レンダリングされている画像３０５も示す。
【０１２０】
図５Ａに示すように、スナップショット画像３６０ｅが、タイムライン３１０ｂにおいて、拡大のために（例えば、対応するサムネイルのインタラクションを通して）選択される。スナップショット画像３６０ｅは、現在レンダリングされている画像３０５の後（例えば、未来）に生じるゲームのポイントの友達Ｆ１のゲームプレイに関連付けられる。詳細には、一実施形態においては、ユーザは、タイムライン３１０ｂにおいて、スナップショット画像３６０ｅを提示するサムネイルにカーソル５９０ａを合わせてよい。タッチスクリーンに表示されたスナップショット画像にタッチする等、拡大するスナップショット画像を選択する他の方法もサポートされる。ウインドウ４１０は、上記のように、拡大したスナップショット画像３６０ｅを示す。
【０１２１】
さらに、ノードグラフ５３０が、ウインドウ５１０に提示される。一実施形態においては、ノードグラフ５３０は、複数のノードを含み、複数のノードは、ユーザがビデオゲームを進むとキャラクタが選択し得る様々なパスに対応する。一実施形態においては、ノードグラフ５３０は、図５Ｂにさらに詳細に記載するように、ビデオゲームの全てのノードを示すユニバーサルグラフとして、ウインドウ５１０に提示されてよい。一実施形態においては、ノードグラフ５３０は、ユニバーサルグラフのノードのサブセットを含むように提示されてよく、サブセットは、図５Ｃに関連してさらに記載するように、特に関心のあるノードを示す。例えば、ノードのサブセットは、１つまたは複数のタイムラインに表示されたスナップショット画像に対応してよい。
【０１２２】
ウインドウ５１０は、右下の隅に示されているが、ウインドウ５１０は、ウインドウ３００のどこに位置してもよいことは理解される。さらに、ウインドウ５１０は、見るのに適切な情報を提供するのに十分なサイズであってよい。さらなる選択によって、ウインドウ３００内の拡大されたウインドウとして、または、全画面にウインドウ５１０を表示してよい。
【０１２３】
図に示すように、ノードグラフ５３０のノード５７２は、ユーザがタイムライン３１０ａのスナップショット画像３６０ｅを拡大のために選択したことに応答して、（例えば、太字、拡大、色付き等）で自動的に強調表示されてよい。ノード５７２は、スナップショット画像３６０ｅの位置にほぼ対応し、スナップショット画像３６０ｅに関してビデオゲームのユニバースの文脈を与える。すなわち、ユーザは、スナップショット画像３６０ｅに関心があるので、タイムライン３１０ｂのスナップショット画像３６０ｅを選択することによって、スナップショット画像３６０ｅのより大きいビューを示すウインドウ４１０が提示され、ノード５７２が、ノードグラフ５３０で強調表示される。ノード５７２は、ユーザがノードグラフ５３０のノードを手動で選択することによって強調表示されてもよい。
【０１２４】
要約すると、ノードグラフ５３０は、自動的に、または、ユーザ要求に応答して、ウインドウ５１０に提示されてよく、ノードグラフ５３０は、タイムライン３１０ａに提示されたスナップショット画像に対応するノードのサブセットを含む。さらに、ノード５７２は、提示、強調表示されてよく、ノード５７２は、スナップショット画像３６０ｅに対応するビデオゲームのゲームプレイのポイントの近似位置を示す。さらに、ノード５７２に対応するスナップショット画像３６０ｅが、ウインドウ５２０に提示されてよく、ウインドウ５２０は、ウインドウ４１０より大きく、スナップショット画像３６０ｅのさらに大きいビューを示してよい。
【０１２５】
このようにして、ユーザは、ビデオゲームの多次元ビューを提示される。例えば、ユーザは、自分のゲームプレイの現在のビューをレンダリングされた画像３０５を介して提示される。ビデオゲームの進行の様々なポイントにわたって他のユーザのゲームプレイの素早いプレビューを示す一人または複数のユーザの１つまたは複数のタイムラインと同時に、ユーザのゲームプレイも、（例えば、ユーザタイムラインのレンダリングされた画像３０５とスナップショット画像とを通して）提示される。スナップショット画像は、タイムラインのスナップショット画像に関連付けられたビデオゲームを通るパス、または、ビデオゲームの全ての可能なパスを示すノードグラフを提示されてよい。
【０１２６】
図５Ｂは、本開示の一実施形態による、ビデオゲームで利用できる全ての可能なパスを示すユニバーサルノードグラフ５５０またはノードツリーの図である。ユニバーサルノードグラフ５５０は、図５Ａのウインドウ５１０に表示されてよい。例えば、ビデオゲームは、ノード５５１で示される開始ポイントと、ノード５５２で示される終了ポイントを含んでよい。１つの終了ポイントを示すが、一般的に、ユニバーサルノードグラフは、ビデオゲームを終了する１つまたは複数の選択肢を表す１つまたは複数の終了ポイントを有してよい。さらに、ビデオゲームは、対応するユニバーサルノードグラフに表される１つまたは複数の開始ポイントを有してよい。
【０１２７】
ユニバーサルノードグラフ５５０は、複数のノード（例えば、論理ノード）を含み、複数のノードは、ユーザがビデオゲームを進めると、キャラクタが選択し得る様々な論理パス（明細書で「パス」とも呼ばれる）を規定する。例えば、論理パス５１１は、ノード５０２と５０３との間に規定される。さらに、ユニバーサルノードグラフ５５０は、ノードのサブセットも含んでよい。例えば、ユニバーサルノードグラフ５５０のサブセットであるノードグラフ５３０は、図５Ａのタイムライン３１０ｂに表示されるスナップショット画像に対応するノードとパスとを含む。ノードグラフ５３０は、図５Ａのウインドウ５１０にも示される。
【０１２８】
複数の論理パスが、ノードからノードに線形にユニバーサルグラフ５５０を通って進むように構成されてよい。例えば、ユーザは、論理パス５１４と５１１に沿ってノード５０１と５０３との間をノードグラフ５３０を通って線形（例えば、ノード５０１からノード５０２、次に、ノード５０３）に移動する。すなわち、ノード５０１とノード５０３との間を横断する時、他の論理パスを取ることができない。
【０１２９】
さらに、複数の論理パスが、ノードからノードに非線形に進むように構成されてよい。例えば、ユーザは、論理パス５１１に沿ってノード５０３に到達する時、ノードグラフ５５０を非線形に移動する。詳細には、２つの選択肢が、ノード５０３で利用可能である。第１の選択肢では、キャラクタは、パス５１２を取ってよく、第２の選択肢では、キャラクタは、パス５１３を取ってよい。２つの異なるパスを取ることから異なる結果が生じ得る。
【０１３０】
ビデオゲームの進行は、一般的に、ユニバーサルタイムライン５２９によって規定されてよく、ユニバーサルタイムライン５２９は、開始ポイント５５１に関連付けられた時刻またはマーク５２１で始まり、終了ポイント５５２に関連付けられた時刻またはマーク５２２で終了する。タイムライン５２９における時刻の使用は、ビデオゲームの進行を示すためであり、必ずしも、ユーザがどれくらいの時間ビデオゲームをプレイしたかの測定値ではない。ユーザが、ユニバーサルノードグラフ５３０をノードからノードに移動すると、表示時刻またはマークが、タイムライン５２９に現れてよい。例えば、タイムライン５２９において、ノード５０１は、マーク５２３として表されてよく、ノード５０３は、マーク５２４として表されてよい。進行は、タイムライン５２９に沿って左から右に測定されてよい。例示として、ノード５０１は、ビデオゲームの進行においてノード５０３の前に生じる。よって、ノード５０１を表すマーク５２３は、ノード５０３を表すマーク５２４の左に表示される。さらに、上記のように、進行は、ユーザに関連付けられた様々なキャラクタ値を通して、タイムライン５２９とノードグラフ５５０に関連してさらに示されてよい。例えば、進行は、キャラクタが幾つの可能な命を利用可能かによって、または、キャラクタが何ポイントまたはどれだけのキャッシュを貯めているかによって測定されてよい。
【０１３１】
図５Ｃは、本開示の一実施形態による、図５Ａで最初に紹介したノードグラフ５３０の拡大図で、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットに関連して生成されたスナップショットノードの階層を示す。一実施形態においては、ノードグラフ５３０は、ユーザによるビデオゲームのゲームプレイ中、１つまたは複数のタイムライン（例えば、タイムライン３１０ｂ、３２０、３３０）と共に表示される。例えば、ノードグラフ５３０は、図５Ａのウインドウ５１０に表示されてよく、または、さらに大きいウインドウに表示されてよい。ウインドウ５１０に表示されたノードグラフ５３０の拡大図が、説明のために、図５Ｃに示される。ウインドウ３５０ｂの輪郭が、スナップショット画像と、ノードグラフ５３０の対応するスナップショットノードとを参照するために図５Ｃに提示される。
【０１３２】
詳細には、スナップショットノードは、スナップショットがキャプチャされたビデオゲームのゲームプレイのポイントに対応する。一般的に、スナップショットは、ユニバーサルノードグラフ５５０のノードでキャプチャされてよい。よって、スナップショットノードは、ユニバーサルノードグラフ５５０のノードと一致し得る。しかしながら、スナップショットがユニバーサルグラフの２つのノードの間（例えば、論理パスの真ん中）でキャプチャされた時等、スナップショットノードが、ユニバーサルグラフ５５０のノードと一致しない場合がある。例えば、スナップショットノード５６１は、ユニバーサルノードグラフ５５０の（ノード５６０と５６２に対応する）２つのノード間でキャプチャされてよい。
【０１３３】
ノードグラフ５３０は、対応するユーザのゲームプレイ中にキャラクタが取った様々な実際のパスを規定する複数のスナップショットノードを含む。例えば、パス５７９が、スナップショットノード５６０と５６１の間に規定される。パス５７９は、ユーザのゲームプレイと、友達Ｆ１のゲームプレイとで取られたことが示されている。ノードグラフ５３０は、一人または複数のユーザのゲームプレイで規定されるように、線形パス及び非線形パスのうちの一方または両方を示してよい。
【０１３４】
ノードグラフ５３０は、一実施形態においては、ウインドウ３５０に表示されるタイムライン３１０ｂ、３２０、３３０のスナップショット画像に対応する。例えば、スナップショットノード５６２は、ユーザの現在レンダリングされている画像３０５を表すボックス３４０ｃに対応し、スナップショットノード５０７は、友達Ｆ１のスナップショット画像３６０ｅに対応し、スナップショットノード５９５は、友達Ｆ２のスナップショット画像３７０ａに対応し、スナップショットノード５６５は、友達Ｆ３のスナップショット画像３８０ｄに対応する。このようにして、ユーザは、タイムラインのスナップショット画像と現在レンダリングされている画像とノードグラフ５３０のスナップショットノード等、関連するビデオゲームの少なくとも２つ以上のビューを提示される。現在レンダリングされている画像３０５（ノードグラフ５３０における画像３０５の位置と共に）と、他のスナップショット画像（ノードグラフ５３０におけるそのスナップショット画像の位置と共に）とを相互参照することによって、ユーザは、現在レンダリングされている画像に関連付けられたビデオゲームのポイントの近くでユーザがどのパスを利用可能かを理解できる。よって、ユーザは、ユニバーサルノードグラフ５５０とビデオゲームのノードグラフ５３０内でキャラクタ３０６の方向を定めることができる。そのようにして、ユーザは、ゲームの１つのポイントから次のポイントにナビゲートできる。一実施形態において、スナップショットノードが図５Ｃに示されているが、ノードグラフ５３０は、ユニバーサルノードグラフ５５０によって規定されるように、論理パスを規定するノードを含んでよい。
【０１３５】
より詳細には、キャラクタ３０６をプレイするユーザが取ったパスは、細かい解像度の点線Ａによって示される。例えば、ユーザは、スナップショットノード５６０、５６１、５６２間を進んだ。スナップショットノード５６２から、ユーザのキャラクタ３０６は、スナップショットノード５６２からスナップショットノード５６３、５６４を通って上に進む第１のルートと、スナップショットノード５６５から５６９を通って（例えば、ノード５６５からノード５６６、ノード５６７、ノード５６８、ノード５６９に）スナップショットノード５６２から下に進む第２のルートを取った。友達Ｆ１のキャラクタ３０８が取ったパスは、実線Ｂによって示される。例えば、友達Ｆ１のキャラクタ３０８は、スナップショットノード５６０、５６１、５６２、５６５、５７０、５７１、５７２、５７３、５７４によって規定されるパスに沿って進んだ。また、友達Ｆ２のキャラクタ３０８が取ったパスは、粗い解像度の点線Ｃによって示される。例えば、友達Ｆ２のキャラクタ３０８は、スナップショットノード５９５、５９６、５９７、５９８、５９９、５６９によって規定されるパスに沿って進んだ。友達Ｆ３のキャラクタ３０３が取ったパスは、線Ｄによって示され、キャラクタ３０３が、スナップショットノード５６０、５８１、５８２、５８３、５６５、５８４、５８５、５６８によって規定されるパスに沿って進んだことを示す。
【０１３６】
ビデオゲームの進行において、ユーザは、現在レンダリングされている画像３０５に関連付けられたビデオゲームのポイントに対応するスナップショットノード５６２の後、または、未来に生じるパスを取ったが、スナップショットノード５６２に戻った。例えば、スナップショットノード５６２の後で取られた、スナップショットノード５６４で終了する第１のルートは、行き止まりに到達した場合がある。また、スナップショットノード５６２の後で取られた、ノード５６９で終了する第２のルートは、ユーザにとって満足のいくものでない場合がある。ユーザに関連付けられた現在レンダリングされている画像３０５の後で生じるスナップショットノードに対応するスナップショット画像は、タイムライン３１０ｂには示されていないが、他の実施形態では示されてよい。
【０１３７】
ユーザは、このエリアのビデオゲームのエキサイティングな部分（熊との遭遇）に関する噂を聞いているが、これまでの所、アクションの機会を失っているので、ゲーム進行においてノード５６２に戻る。ともかくもノード５６２を通ってエキサイティングな部分に到達するとユーザは考えている。本開示の実施形態は、他のユーザのゲームプレイをプレビューすることによってビデオゲームの代替のパスを発見し、ビデオゲームのエキサイティングな部分に到達するためにビデオゲームで取る可能なルートを提示する方法をユーザに提供する。例えば、ユーザは、キャラクタ３０８をプレイする友達Ｆ１のスナップショット画像をタイムライン３１０ｂでプレビューしてよく、スナップショット画像３６０ｅに対応するスナップショットノード５０７に関連して熊との遭遇が起こっていることを発見してよい。参照のために、スナップショット画像３６０ｅが、ボックス５０９に示される。タイムライン及び／またはノードグラフに提示されたスナップショット画像が紹介されなければ、ユーザは、関心のあるこれらのエリアをプレビュー及び／または発見するのは難しいであろう。
【０１３８】
詳細には、ユーザは、タイムライン３１０ｂのスナップショット画像を見てスナップショット画像３６０ｅを発見した場合がある、または、ノードグラフ５３０を探索することによってスナップショット画像３６０ｅを発見した場合がある。例えば、タグ５０７が、図５Ｃのノードグラフ５３０のスナップショットノード５７２の隣に示されており、それが、ユーザの注意をひいた可能性がある。ノードグラフ５３０のノード５７２とインタラクトすることによって、スナップショット画像３６０ｅのビューが、図５Ａのウインドウ５２０等で、ユーザに提示されてよい。また、ノードグラフ５３０のスナップショットノード５７２を選択することによって、タイムライン３１０ｂの対応するスナップショット画像３６０ｅは、注意をひくために、強調表示（例えば、太字に）されてよい。このようにして、上記のように、ユーザは、対応するサムネイルの上にカーソルを合わせて、スナップショット画像３６０ｅの拡大バージョンを見てよい。他の実施態様においては、ノードグラフ５３０が、自身の主要なウインドウ（例えば、全画面、または、オーバーレイされたウインドウ３００）に提示される場合、スナップショットノード５７２とのインタラクションによって、他のウインドウ（図示せず）にスナップショット画像３６０ｅを提示させてよい。
【０１３９】
友達Ｆ１のゲームプレイとノードグラフ５３０とをプレビューした後、ユーザは、スナップショット画像３６０ｅに対応するビデオゲーム、より詳細には、友達Ｆ１のゲームプレイをさらに探索したい場合がある。上記のように、本開示の実施形態は、ユーザが、友達Ｆ１のゲームプレイにジャンプするのを可能にする。詳細には、タイムライン３１０ｂまたはノードグラフ５３０を介してユーザがスナップショット画像３６０ｅをさらに選択すると、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、スナップショット画像３６０ｅに対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットとそのスナップショット画像３６０ｅとに対応するビデオゲームの（現在、ジャンプポイントとして識別されている）ポイントで始まるビデオゲームを実行するのを可能にする。このようにして、ユーザは、ノード５０７のビデオゲーム（熊に遭遇）を友達Ｆ１のゲームプレイを通して完全に体験してよい。すなわち、ユーザは、ジャンプノード５７２で友達Ｆ１のキャラクタ３０８にジャンプし、（スナップショット画像３６０ｅに対応する）ジャンプノード５７２に対応するビデオゲームのポイントで始まる友達Ｆ１のゲームプレイをインスタンス化したものをプレイする。よって、ユーザは、最もエキサイティングな部分のゲームプレイにジャンプできる。
【０１４０】
ユーザは、友達Ｆ１のゲームプレイを体験後、友達Ｆ１のゲームプレイによって以前キャプチャされた同じスナップショットノード５７２（熊に遭遇）にナビゲートしようと決めてよい。ノードグラフ５３０は、ユーザの現在の位置からスナップショットノード５７２に到達するために友達Ｆ１が取ったルートのビューを提供する。ユーザの現在の位置は、現在レンダリングされている画像３０５に関連付けられたノード５６２である。例えば、ノードグラフは、ノード５６２とスナップショットノード５７２との間の移動はスナップショットノード５６５と５７０を通ってなし得ることを示す。
【０１４１】
図６Ａは、本開示の一実施形態による、選択したスナップショットノード（例えば、スナップショット画像３６０ｅに関連付けられたスナップショットノード５７２）と近い線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、タイムライン３１０ａまたはノードグラフ５３０を通して選択できる。詳細には、タイムライン３１０ａは、（空白のサムネイル３４０ｃによって表される）現在レンダリングされている画像３０５の前に生じるビデオゲームの進行のポイントでのユーザによるゲームプレイのスナップショット画像（３４０ａ、３４０ｂ、．．．）を含む。タイムライン３１０ａは、上記のように、友達Ｆ１のゲームプレイ中にキャプチャされたスナップショットに対応するスナップショット画像（３６０ｄ、３６０ｅ、３６０ｆ、．．．）をさらに含む。さらに、各スナップショット画像は、ノードグラフ５３０に提示されるスナップショットノード等、スナップショットノードに対応する。
【０１４２】
タイムライン３１０ａは、ユーザ及び友達Ｆ１のゲームプレイ中にキャプチャされた複数のスナップショットから選択したスナップショット画像を示してよい。友達Ｆ１のスナップショット及びスナップショット画像を使用して、粗い解像度と高い解像度とのスナップショット画像の提示を示す。説明を目的として、友達Ｆ１のゲームプレイ中、１００枚のスナップショットがキャプチャされ、キャプチャされた順に１から１００の番号を付けることができる。タイムライン３１０ａは、キャプチャしたスナップショットに対応する全てのスナップショット画像を示す十分な場所が無い場合がある。よって、スナップショット画像のサブセットのみが、タイムライン３１０ａに提示される。さらに、タイムライン３１０ａに並べて提示したスナップショット画像は、連続的に及び／またはシーケンスでキャプチャされていない場合がある。例えば、図６Ａのタイムライン３１０ａに示すように、スナップショット画像３６０ｅは、キャプチャ順で５０の番号が付けられ、そのすぐ右のスナップショット画像は、スナップショット画像３６０ｆで、番号は６０である。よって、９枚のスナップショット画像が、スナップショット画像３６０ｅとスナップショット画像３６０ｆの間でキャプチャされているが、タイムライン３１０ａには示されていない。
【０１４３】
一実施形態においては、より細かい解像度のスナップショット画像が、キャプチャしたスナップショットに基づいて、表示のために生成、提示されてよい。詳細には、画像３６０ｅ等のスナップショット画像を、タイムライン３１０ａを通して、または、ノードグラフ５３０を通してさらに選択すると、より高い解像度を有するスナップショット画像を提示できる。さらに、一実施形態においては、スナップショット画像は、ユーザ（例えば、友達Ｆ１）がゲームプレイ中に取ったパスを示すノードグラフ／ツリー構成で提示される。すなわち、各スナップショット画像は、ノードを表し、スナップショット画像が、ノードグラフ構成で提示される。例えば、ウインドウは、スナップショットノードに対応する画像によってスナップショットノードを表示してよく、スナップショットノードは、選択したスナップショット画像３６０ｅに対応するスナップショットの前及び／または後に連続的にキャプチャされる。スナップショット画像３６０ｅは、上記のように、友達Ｆ１のゲームプレイを開始するためにユーザが選択したジャンプポイントに対応する。ジャンプポイントとして選択する前または後に、ユーザは、スナップショット画像３６０ｅに関連付けられた様々なスナップショット画像を見たい場合がある。
【０１４４】
図６Ａに示すように、スナップショット画像の線形の進行が、選択したスナップショット画像３６０ｅに関連して様々なサムネイルで提示される。スナップショット画像３６０ｅとそれに対応するスナップショットは、上記のように、ジャンプポイント（ＪＰ）とも呼ばれる。選択したスナップショット画像３６０ｅとＪＰは、キャプチャしたスナップショットの順で５０の番号が付けられたスナップショットと関連付けられている。４つのスナップショット画像６１０、３６０ｅ、６１５、６２０が示され、ＪＰの前にキャプチャされた１枚のスナップショット（スナップショットＪＰ−１）、ＪＰ、及び、ＪＰの後にキャプチャされた２枚のスナップショット（スナップショットＪＰ＋１、ＪＰ＋２）に対応することを、図６Ａは示している。すなわち、スナップショット画像は、連続して番号が付けられたスナップショット４９〜５２に対応する。例えば、スナップショット画像６１０（ＪＰ−１）、スナップショット画像３６０ｅ（ＪＰ）、スナップショット画像６１５（ＪＰ＋１）、及び、スナップショット画像６２０（ＪＰ＋２）は、４９〜５２と連続した順番である。このようにして、ユーザは、ノードグラフ構成のスナップショット画像３６０ｅ近くの友達Ｆ１のゲームプレイのアクションをより高い解像度で見ることができる。
【０１４５】
図６Ｂは、本開示の一実施形態による、選択したスナップショットノード（例えば、スナップショット画像３６０ｅに対応するスナップショットノード５７２）の近くに非線形に並んだスナップショットノードのクラスタの図である。スナップショットノードは、図６Ａに関連して前述したように、タイムライン３１０ａまたはノードグラフ５３０を通して選択できる。図６Ａは、スナップショット画像３６０ｅに対応するジャンプポイントＪＰの近くのビデオゲームの線形の進行を示し、図６Ｂは、ＪＰの近くのビデオゲームの非線形の進行を示す。
【０１４６】
例えば、スナップショット画像は、友達Ｆ１がゲームプレイ中に取ったパスを示すノードグラフ／ツリー構成で提示される。すなわち、各スナップショット画像は、ノードを表し、スナップショット画像は、ノードグラフ構成で提示される。図６Ｂに示すように、スナップショット画像の非線形の進行は、順序番号５０が付けられたＪＰとも呼ばれる選択したスナップショット画像３６０ｅに関連して様々なサムネイルで提示される。八枚のスナップショット画像が示される。詳細には、スナップショット画像６０５は、順番４８が付いたスナップショットノードＪＰ−２に対応する。また、スナップショット画像６１０は、順番４９が付いたスナップショットノードＪＰ−１に対応し、スナップショットノードＪＰ−１は、非線形構成を示す決定ノードである。順序番号５０Ａ、５０Ｂで表されるように、２つの選択が可能である。スナップショットノードＪＰ−１から生じる選択の一方は、順番５０Ｂのスナップショット画像６１３に向かう。スナップショットノードＪＰ−１から生じる他の選択は、スナップショット画像３６０ｅと順序番号５０Ａに対応するスナップショットノードＪＰに向かう。このルートは、連続した番号のスナップショットＪＰ＋１（スナップショット画像６１５と順序番号５１に関連）と、スナップショットＪＰ＋２（スナップショット画像６２０と順序番号５２に関連）を通って続く。
【０１４７】
図６Ｃ〜図６Ｆは、本開示の一実施形態による、選択したスナップショットノードの近くに並び、図６Ａ〜図６Ｂに関連して記載したスナップショットノードのクラスタに対応するスナップショット画像の図である。例えば、図６Ｃは、スナップショット画像６１０の図で、友達Ｆ１のゲームプレイで使用されるキャラクタ３０８が、最初に、熊が洞穴にいる時に熊に遭遇することを示す。スナップショット画像６１０は、順序番号４９のスナップショットノードＪＰ−１に対応する。図６Ｄは、スナップショット画像３６０ｅ（スナップショットノードＪＰと順序番号５０に関連）の図で、キャラクタ３０８が熊と近くで接していることを示す。キャラクタ３０８は、キャラクタ３０８が利用できる恐らく唯一のツール及び／または武器であるグルグル巻いたロープを手に持っているのが示されている。図６Ｅは、スナップショット画像６１５（スナップショットノードＪＰ＋１と順序番号５１に関連）の図で、キャラクタ３０８が熊の各脚をロープを使って木に縛ることによって、熊を征服したのを示している。図６Ｆは、スナップショット画像６２０（スナップショットノードＪＰ＋２と順序番号５２に関連）の図で、キャラクタ３０８が熊に勝利した成果を享受しており、武器と他の報奨品（例えば、硬貨、宝石等）を手に入れることができるのを示している。
【０１４８】
図７は、本開示の一実施形態による、ビデオゲームのゲームプレイ中にキャプチャされたスナップショットと、これらのスナップショットのそれぞれを、データストア７５０の別個のマスターファイルとして記憶することを示す。これらのマスターファイルは、この業界で典型的なように、ユーザがビデオゲームを進むにつれて自動的に消去されたり上書きされたりすることはない。このようにして、（例えば、タイムラインにおける）スナップショット画像とノードグラフを提示するために、また、同じまたは他のユーザのゲームプレイのジャンプポイントへのジャンプを可能にするために、各スナップショットに関する情報及びメタデータにいつでも容易にアクセスできる。
【０１４９】
例えば、複数のスナップショットが、特定のユーザのゲームプレイに関連してキャプチャされる。スナップショットは、キャプチャ順に連続して（すなわち、１〜Ｎ）と番号付けされる。図７に示すように、少なくともスナップショット７１１（順番２０）、スナップショット７１２（順番３１）、スナップショット７１３（順番３２）、及び、スナップショット７１４（順番３３）がキャプチャされる。
【０１５０】
各スナップショットは、スナップショットに対応するビデオゲームのポイントで始まるビデオゲームのインスタンスをロード及び実行するのに十分な情報及び／またはメタデータを含む。例えば、各スナップショットは、上記のように、データベース１４５に記憶されたゲーム状態データ、データベース１４６に記憶されたスナップショット画像データ、データベース１４３に記憶されたランダムシードデータ、及び、データベース１４１に記憶されたユーザ保存データを少なくとも含む。一実施形態においては、メタデータは、２つの連続した順番のスナップショットで、及び、その間でビデオゲームのインスタンスを駆動するように使用される入力コマンドを含む。各スナップショットは、データストア７５０の対応するマスターファイルに記憶され、特定のスナップショットに対応するマスターファイルは、関連するアクセスに関して、これらのデータベースのそれぞれを指すポインタを含んでよい。図に示すように、スナップショット７１１は、マスターファイル７５１に記憶され、スナップショット７１２は、マスターファイル７５２に記憶され、スナップショット７１３は、マスターファイル７５３に記憶され、スナップショット７１４は、マスターファイル７５４に記憶される。
【０１５１】
図８は、本開示の一実施形態による、ユーザが、同じまたは他のユーザによるビデオゲームの他のゲームプレイ中にキャプチャされたスナップショットに基づいて、別個のジャンプゲームプレイに仲介ジャンプ(ｉｎｔｅｒｃｅｄｉｎｇ  ｊｕｍｐ)することを含む、ビデオゲームのユーザのゲームプレイの複数のセグメントの図である。例えば、図３〜図６に関連して前述したように、ウインドウ３００に表示されている現在レンダリングされている画像３０５のキャラクタ３０６を用いてゲームをプレイしているユーザは、スナップショット画像３６０ｅによって規定されるジャンプポイント（ＪＰ）の（キャラクタ３０８を有する）友達Ｆ１のゲームプレイにジャンプすることを選択してよい。タイムライン３１０ａ及び／または３１０ｂは、スナップショット画像３６０ｅのプレビューをユーザに提供する。さらに、スナップショット画像３６０ｅは、上記のように、スナップショットノード５７２の対応する位置と（例えば、強調表示等を通して）関連付けることができるので、ノードグラフ５３０は、ビデオゲーム内のスナップショット画像に文脈を与える。友達Ｆ１のゲームプレイ及びキャラクタ３０８へのユーザによるジャンプの開始は、友達Ｆ１のゲームプレイ中にスナップショットノード５７２でキャプチャされたスナップショットに基づいて有効にされる。ジャンプの開始は、タイムライン３１０ａまたは３１０ｂにおいてスナップショット画像３６０ｅをさらに選択することを通して、または、ノードグラフ５３０のノード５７２を選択することを通して、有効にされてよい。同じユーザまたは他のユーザのゲームプレイへのジャンプの開始をサポートすることは、任意の手段または方法（例えば、ジャンプ選択ウインドウ等）を通して達成されてよい。
【０１５２】
一実施形態においては、複数のスナップショットが、ジャンプゲームプレイにおいてキャプチャされる。さらに、ジャンプゲームプレイのビデオ記録は、キャプチャされてよく、後にアクセスするために記憶されてよい。このようにして、任意のユーザが、ジャンプゲームプレイの任意のスナップショットを介してジャンプゲームプレイをプレイしてよい。一実施形態においては、上記のように、ジャンプゲームプレイのスナップショット画像が、タイムラインに配置され、タイムラインを通して、ジャンプゲームプレイがインスタンス化されてよい。
【０１５３】
ビデオゲームとのユーザのインタラクションを、ユーザのゲームプレイ８３０のセグメントに関連して記載し得る。図に示すように、ユーザのゲームプレイ８３０は、第１のセグメント８３１と第２のセグメント８３２を含む。詳細には、ユーザのゲームプレイ８３０の第１のセグメント８３１は、ユーザとビデオゲームとの現在または最初のインタラクションを規定する。よって、図３Ａの現在レンダリングされている画像３０５は、第１のセグメント８３１と関連付けられてよい。説明のために、スナップショットノードグラフ８１０は、図５Ｃに関連して前述したノードグラフ５３０の一部を示す。ユーザのゲームプレイ８３０の第１のセグメント８３１においてキャラクタ３０６が取ったルートが、点線８１１で示され、スナップショットノード５６０、５６１、５６２を含む。現在レンダリングされている画像３０５は、スナップショットノード５６２に関連付けられ、スナップショットノードグラフ８１０は、キャラクタ３０６がスナップショットノード５６２のさらに右の１つのパス８１２を通ってノード５６３、５６４に、また、第２のパス８１３を通ってノード５６５、５６６に行く（例えば、さらに進む）ことを示すが、説明と明瞭にすることを目的として、第１のセグメント８３１の終了を示す。キャラクタ３０６が取ったルートの（スナップショットノード５６２で終了する）この部分は、ノードグラフ８２０でも繰り返され、第１のセグメント８３１の終了までキャラクタ３０６を用いたユーザのゲームプレイを示す。
【０１５４】
スナップショットノード５６２において、上記のように、ユーザは、ビデオゲームの他のポイントを探索することを選んで、友達Ｆ１のゲームプレイへのジャンプを選択してよい（例えば、スナップショット画像３６０ｅをさらに選択）。友達Ｆ１のゲームプレイは、スナップショットノードグラフ８１０の太い実線８９９で示される。この時点で、ユーザのゲームプレイ８３０の第１のセグメント８３１は中断され、ユーザは、スナップショットノード５７２に対応するポイントで、友達Ｆ１のゲームプレイにジャンプする。説明のために、ジャンプゲームプレイは、キャラクタが熊と近くで関わっているポイントで始まる。詳細には、ユーザのゲームプレイ８３０を実行するビデオゲームのインスタンスが、中断され（例えば、第１のセグメント８３１が終了）、ジャンプポイント（スナップショットノード５７２）で始まる友達Ｆ１のジャンプゲームプレイを実行するビデオゲームのインスタンスが、スナップショットノード５７２でキャプチャされた対応するスナップショットに基づいてインスタンス化される。ノード５７２へのジャンプの表示は、曲がった矢印８９１で示される。ジャンプゲームプレイは、ジャンプセグメント８４０によって規定される。
【０１５５】
別の実施形態においては、ジャンプゲームプレイを開始する前に、ユーザのゲームプレイ８３０が、第１のセグメント８３１の終わりで保存、終了される。このようにして、ユーザは、将来、ビデオゲームに戻って、スナップショットノード５６２（例えば、第１のセグメント８３１の終わり）に対応するポイントから再開してよい。すなわち、ユーザは、中断したゲームを効率的に再開し得る。
【０１５６】
一実施形態においては、ユーザのゲームプレイ８３０を実行するビデオゲームのインスタンスは、ユーザがインタラクトするジャンプゲームプレイを実行するビデオゲームのインスタンスとは別個であり、ジャンプゲームプレイは、友達Ｆ１の元のゲームプレイに基づく。説明のために、スナップショットノードグラフ８５０は、ユーザがプレイしたジャンプゲームプレイのジャンプセグメント８４０のキャラクタ３０８が取ったルートを示し、ジャンプゲームプレイのキャラクタ３０８は、元々、友達Ｆ１のゲームプレイによって作成、規定されたものである。ジャンプゲームプレイで取ったルートは、太い点線８９６で示される。
【０１５７】
ノードグラフ８５０で示されたジャンプゲームプレイのキャラクタ３０８が取ったルートは、スナップショットノード５７２で開始し、ノード８５１、８５２、及び、終了ノード８５９に連続して続く。終了ノード８５９は、ジャンプゲームプレイを実行するビデオゲームのインスタンスの終了を示す。点線８９６で示されるジャンプゲームプレイのキャラクタ３０８が取った（ノード５７２、８５１、８５２、８５９を含む）ルートは、ノードグラフ８１０に示す友達Ｆ１のゲームプレイのキャラクタ３０８が取った（ノード５７２、５７３、５７４を含む）ルート８９７とは異なることに注意することは重要である。すなわち、ユーザは、ジャンプゲームプレイを指示する新しい入力コマンドを提供しているので、ユーザが実行するジャンプゲームプレイは、友達Ｆ１の以前に記憶されたゲームプレイとは異なる。例えば、ジャンプゲームプレイにおいて、ユーザが、このポイントのゲームを素早くプレビューして、自分のゲームプレイ８３０においてビデオゲームのこの部分をプレイするか否かを決定する場合があるので、熊との遭遇に成功しないということが生じ得る。他方、友達Ｆｌのゲームプレイは、熊との遭遇に成功したことを示してよい。
【０１５８】
一実施形態においては、ジャンプゲームプレイ中、スナップショットが、ジャンプセグメント８４０に示される各ノード（例えば、ノード５７２、８５１、８５２、８５９）でキャプチャされてよい。ジャンプゲームプレイとそれに関連付けられたスナップショットは、後にアクセスするために記憶されてよい。例えば、ユーザが、ユーザが作成し、ビデオゲームに関連付けられたジャンプゲームプレイを見直し、インスタンス化したい場合がある。他の実施形態においては、ユーザは、他のビデオゲームに関連付けられたジャンプゲームプレイを見直し、インスタンス化したい場合があり、ジャンプゲームプレイは、ユーザまたは他のユーザによって作成されたものである。
【０１５９】
ジャンプゲームプレイを実行後、ユーザのゲームプレイ８３０が再開されてよい。ユーザは、友達Ｆ１のゲームプレイをプレビューし終えて、ジャンプポイントに関連付けられたスナップショットノード５７２に自分のキャラクタ３０６を到達させたい場合がある。このようにして、ユーザのゲームプレイ８３０は、ジャンプポイントの方に向かうルートを含んでよく、そうすることによって、ユーザのゲームプレイのキャラクタは、同じように熊に遭遇する。
【０１６０】
スナップショットノードグラフ８２０は、今、再開されたユーザのゲームプレイ８３０のキャラクタが取るルートを示す。ゲームプレイ８３０の再開は、第２のセグメント８３２によって規定され、再開されたゲームプレイは、太い点線８０９で規定される。よって、ユーザによるゲームプレイ８３０全体は、第１のセグメント８３１（点線８１１）と第２のセグメント８３２（太い点線８０９）とによって示される。一実施形態においては、ゲームプレイ８３０の第２のセグメント８３２は、中断されたビデオゲームのインスタンスを続ける。別の実施形態においては、ゲームプレイ８３０の第２のセグメント８３２は、第１のセグメント８３１が終了しているので、スナップショット５６２に関連付けられたビデオゲームのポイントで始まるビデオゲームの新しいインスタンスで実行される。第２のセグメント８３２は、スナップショットノード５６２で始まり、スナップショットノード８２１、８２２、８２３、８２４、８２９に連続して続く。
【０１６１】
ノードグラフ８２０において、スナップショットノード８２３は、ジャンプポイントに関連付けられたスナップショットノード５７２にほぼ対応する。例えば、ユーザは、自分のゲームプレイ８３０で熊に遭遇したい。詳細には、ユーザのゲームプレイのスナップショットノード５７２へのナビゲーションは、スナップショットノードグラフ５３０及び／またはユニバーサルノードグラフ５５０を介してユーザによってなし得る。詳細には、ユーザは、スナップショットノードグラフ５３０を見直すことによって、他のユーザ（例えば、友達Ｆ１）が遭遇したスナップショットノード５６２とスナップショットノード５７２との間にある可能なパスを発見することができる。さらに、ユーザは、スナップショットノード５６２とスナップショットノード５７２との間にある一般的な論理パスを、ユニバーサルノードグラフ５５０を見直すことによって発見できる。このようにして、ユーザは、（例えば、ノード８２１、８２２を通って）スナップショットノード８２３にナビゲートでき、熊に遭遇できる。ノード８２１、８２２は、友達Ｆ１のゲームプレイ中に元々、キャプチャされたスナップショットノード５６５、５７０とほぼ並んでいるが、同一でなくてもよいことに注意することは重要である。
【０１６２】
スナップショットノード８２３、８２４、及び、８２９等は、第２のセグメント８３２でユーザのゲームプレイ８３０が取ったルートを示し、キャラクタ３０６は、熊と遭遇し、熊と接触している。スナップショットノード８２３で最初に熊と遭遇した後取った（ノード８２４、８２９等を含む）ルートは、ジャンプゲームの（例えば、ノード５７２、８５１、８５２、８５９）ルートと同じでなくてもよく、友達Ｆｌのゲームプレイのルート（例えば、ノード５７２、５７３、５７４）とも同じでなくてもよい。これは、ユーザのゲームプレイ８３０は、ビデオゲームを駆動するユーザ独自の入力コマンドを有するからである。
【０１６３】
ネットワークを介して通信するゲームサーバとクライアントデバイスの様々なモジュールの詳細な記載と共に、本開示の一実施形態による、ゲームネットワークを介して実行するビデオゲームのゲーム世界をナビゲートする方法を、図９のフロー図９００に関連して記載する。フロー図９００は、ネットワークを介してクライアントデバイスに表示される情報を生成するために、ゲームサーバで行われる動作のプロセスとデータフローを示す。
【０１６４】
方法は、動作９１０で始まり、複数のユーザに関連して実行されるビデオゲームの複数のインスタンスから生成される複数のスナップショットをキャプチャすることを含む。詳細には、ビデオゲームのインスタンスは、図１の１つまたは複数のゲームサーバ２０５の１つまたは複数のゲームプロセッサ２１０によって実行されている。ビデオゲームの各インスタンスが実行されると、１つまたは複数のスナップショットがキャプチャされ、スナップショットは、そのスナップショットに対応する上記ビデオゲームのポイントから始まるビデオゲームのインスタンスの実行を可能にする。
【０１６５】
詳細には、スナップショットは、対応するユーザのゲームプレイに関連して実行されるビデオゲームのインスタンスによって生成されるレンダリングされた画像を含むスナップショット画像を含む。レンダリングされた画像は、ビデオゲームのあるポイントに対応するビデオゲームのシーンを示し、そのポイントは、ビデオゲームにおけるユーザのゲームプレイの進行を示す。
【０１６６】
さらに、スナップショットは、上記ビデオゲームのポイントに対応する環境の生成を可能にするゲーム状態データも含む。すなわち、スナップショットに基づいて、対応するシーンと環境が生成され、キャラクタは、ユーザのゲームプレイを通して環境とインタラクトするように命令される。
【０１６７】
さらに、上記のように、スナップショットは、シーンと環境に追加の特徴を提供するランダムシードデータを含む。例えば、クラウド構成と１つまたは複数の一般的キャラクタの動きとは、ユーザのゲームプレイに関連付けられたシーンと環境に含めるために一意に生成されてよい。よって、クラウド構成と１つまたは複数の一般的キャラクタの動きとは、ビデオゲームの各インスタンスに合わせて異なってよい。
【０１６８】
また、スナップショットは、対応するユーザのゲームプレイのキャラクタの生成を可能にするユーザ保存データを含む。キャラクタは、スナップショットがキャプチャされたビデオゲームのポイントに対応する第１の状態を有する。例えば、第１の状態は、キャラクタの様子と種類、キャラクタが身に着けている衣服、キャラクタの達成レベル、キャラクタが使用できる武器、そのポイントでのキャラクタの命の状態等を規定する。
【０１６９】
動作９２０において、方法は、ビデオゲームをプレイする第１のユーザの第１のタイムラインの表示を生成することを含む。第１のタイムラインは、ビデオゲームを進む少なくとも一人のユーザ（第１のユーザ及び／または他のユーザ）のスナップショット画像を含む。タイムラインのスナップショット画像は、第１のユーザに関連して実行しているビデオゲームの第１のインスタンスの現在レンダリングされている画像に関連して表示される。各スナップショット画像は、対応するスナップショットを相互参照できる。現在レンダリングされている画像は、第１のユーザによるビデオゲームの進行の現在のポイントに関連付けられる。
【０１７０】
動作９３０において、方法は、第１のユーザに関連付けられた複数の第１のスナップショット画像を含む複数の第１のサムネイルを、第１のタイムラインに表示するために生成することを含む。すなわち、第１のサムネイルは、第１のユーザのビデオゲームの進行を示す。詳細には、複数の第１のスナップショットは、現在レンダリングされている画像と比べて、第１のユーザの過去の進行を示す少なくとも１つのレンダリングされた画像を含む。
【０１７１】
動作９４０において、方法は、第２のユーザに関連付けられた複数の第２のスナップショット画像を含む複数の第２のサムネイルを、第１のタイムラインに表示するために生成することを含む。すなわち、第２のサムネイルは、第２のユーザのビデオゲームの進行を示す。詳細には、複数の第２のスナップショット画像は、現在レンダリングされている画像の後のビデオゲームのポイントで第２のユーザの今後の進行を示す少なくとも１つのレンダリングされた画像を含む。
【０１７２】
他の実施態様においては、複数の第２のスナップショット画像は、第２のユーザの過去及び／または現在の進行を示す。例えば、第２のスナップショットは、第１のユーザのクライアントデバイスに表示するために生成された現在レンダリングされている画像の前のビデオゲームのポイントの第２のユーザの進行を示す少なくとも１つのレンダリングされた画像を含む。
【０１７３】
さらに別の実施形態においては、追加のタイムラインが、クライアントデバイスに表示するために生成されてよい。例えば、第３のユーザの第２のタイムラインが、表示のために生成される。第２のタイムラインは、第３のユーザの複数の第３のスナップショット画像を含む。第２のタイムラインは、第１のユーザのゲームプレイに関連付けられた現在レンダリングされている画像の前と後のビデオゲームの複数のポイントで、ビデオゲームのゲームプレイ中の第３のユーザの進行を示す複数のレンダリングされた画像を含む。
【０１７４】
上記のように、選択したスナップショット画像は、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、スナップショット画像に対応するスナップショットにアクセスし、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、スナップショットに対応するビデオゲームの（今、ジャンプポイントとして識別された）ポイントから始まるビデオゲームを実行するのを可能にする。例えば、ゲームプロセッサ２１０は、第１のタイムラインの複数の第２のスナップショットから選択したスナップショット画像の第１のユーザの選択を受信する。選択したスナップショット画像は、第２のユーザのゲームプレイに関連付けられている。さらに、ゲームプロセッサは、第１のユーザのゲームプレイに関連して実行されるビデオゲームの第１のインスタンスの実行を、選択したスナップショット画像に関連付けられたビデオゲームのジャンプポイントにジャンプさせるように構成される。一実施態様において、ビデオゲームの第１のインスタンスは、中断及び／または終了され、ビデオゲームの別のインスタンスであるジャンプゲームが、選択したスナップショット画像のスナップショットに基づいてインスタンス化される。
【０１７５】
このようにして、第１のユーザは、第２のユーザのゲームプレイにジャンプできる。例えば、第１のユーザは、ジャンプゲームにおいて、第２のユーザのゲームプレイが使用するキャラクタに命令できる。選択したスナップショット画像の対応するスナップショットは、第２のユーザが保存したデータを含み、そのデータは、第２のユーザのゲームプレイが使用するキャラクタの生成を可能にし、ジャンプゲームにおいて第１のユーザのジャンプゲームプレイも使用される。第２のユーザが保存したデータと第２のキャラクタは、第２のユーザのゲームプレイから生じている。同様に、第１のユーザは、ジャンプゲームの実行中、ジャンプゲームプレイを作成する。
【０１７６】
第１のユーザがジャンプゲームを終えた後、ビデオゲームの第１のインスタンスが再開されてよい。すなわち、ジャンプゲームを実行するビデオゲームの第２のインスタンスを終了させ、第１のユーザのゲームプレイに関連付けられたビデオゲームの第１のインスタンスが再開される。このようにして、第１のユーザは、ビデオゲームの自分のゲームプレイを再開してよい。
【０１７７】
第１のユーザは、第１のユーザの以前のゲームプレイのスナップショット画像を選択してよい。例えば、ゲームプロセッサは、以前のゲームプレイに関連付けられた複数の第１のスナップショット画像の選択したスナップショット画像の選択を受信するように構成されてよい。ビデオゲームの第１のインスタンスの実行により、選択したスナップショット画像に関連付けられたビデオゲームのジャンプポイントにジャンプする。一実施態様において、ジャンプは、選択したスナップショット画像に対応するスナップショットに基づいて、ビデオゲームの別のインスタンスを通して有効にされる。他の実施態様においては、ジャンプは、ビデオゲームの第１のインスタンスを通して有効にされる。
【０１７８】
さらに、ノードグラフが、クライアントデバイスに表示するために生成されてよい。ノードグラフは、上記のように、タイムラインに表示されるスナップショット画像に対応する複数のスナップショットノードを含む。複数のスナップショットノードは、複数のパスを規定し、パスとノードは、第１のユーザと第２のユーザのゲームプレイに関連付けられる。ノードグラフの各ノードは、対応するスナップショットに関連付けられる。
【０１７９】
さらに、ノードグラフは、第１のユーザの同じユーザまたは他のユーザのゲームプレイへのジャンプを可能にし得る。例えば、ゲームプロセッサは、ノードグラフで選択したスナップショットノードの選択を受信するように構成されてよい。スナップショットノードは、対応するスナップショットに関連付けられる。選択したスナップショットノードに対応する選択したスナップショット画像が、任意選択で、クライアントデバイスに表示するために生成されてよい。詳細には、選択したスナップショットノード及び／または対応するスナップショット画像を選択することによって、第１のユーザのゲームプレイに関連して実行されているビデオゲームの第１のインスタンスの実行から選択したノードに関連付けられたビデオゲームのジャンプポイントにジャンプすることを可能にする。
【０１８０】
［ビデオ記録を介したゲームプレイアクセス］
一般的に言うと、本開示の様々な実施形態は、特に、クラウドベースのゲームシステムで実行されている時に、記憶されたゲームプレイのビデオ記録を介して、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザをジャンプさせるシステム及び方法を記載する。ビデオ記録は、元々ゲームプレイ中にキャプチャされた複数のスナップショットを含む、または、参照し、スナップショットは、スナップショットキャプチャに対応するポイントでゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び／または情報を含む。スナップショットは、任意の要求したユーザが、そのユーザが記憶されたゲームプレイを生成したプレイヤでない場合でさえ、ゲームアプリケーションのインスタンスをインスタンス化及び指示するのを可能にする。ビデオ記録は、記憶されたゲームプレイの１つまたは複数のスナップショット画像を含むタイムラインを通して選択可能であってよく、各スナップショット画像は、スナップショットに対応し、スナップショット画像は、ゲームアプリケーションのプレイヤの進行の感覚を視聴者に与えるように表示される。タイムラインは、ユーザがゲームアプリケーションをプレイしている時、提示されてよく、それによって、他のプレイヤのゲームプレイをプレビューすることによってユーザのゲームプレイの可能性の感覚をユーザに与える。ビデオ記録のビデオフレームの選択によって、ジャンプポイントを識別する。選択したビデオフレームは、ジャンプゲームプレイのインスタンス化に使用される対応するスナップショットに関連付けられている。選択したビデオフレームは、スナップショットに対応してなくてもよく、１つまたは複数のスナップショットの場所に、それらの近くに、または、それらの間に位置してよい。ジャンプゲームプレイが、自動的に実行されて、以前使用された保存した入力コマンドを用いてプレイヤのゲームプレイをジャンプポイントに到達するまで再生し、その後、ジャンプゲームプレイは、要求したユーザにとってライブになる（すなわち、ジャンプゲームプレイは、ユーザ入力コマンドによって指示される）。
【０１８１】
ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにビデオ記録を介してユーザをジャンプさせる本開示の実施形態は、上記の図１及び図２のシステム内で実施されてよい。
【０１８２】
図１０は、本開示の一実施形態による、ビデオ記録を介したゲームプレイアクセスに使用されるシステムのコンポーネントを示す。システムは、プレイヤのゲームプレイ中にシステムによって生成、キャプチャされたスナップショットに基づいて、ゲームアプリケーションに参加している任意のプレイヤの記憶されたゲームプレイにユーザがジャンプするのを可能にする。例えば、ある実施形態においては、ビデオ記録を介したゲームプレイアクセスに使用されるコンポーネントは、図１で前述したように、ゲームサーバ２０５のゲームプロセッサ２１０内に含まれてよい。さらに、他の実施形態においては、ゲームサーバ２０５は、図２のゲームクラウドシステム（ＧＣＳ）２０１内に含まれ、それによって、ＧＣＳ２０１は、ビデオ記録を介したゲームプレイアクセスを提供するように構成可能である。
【０１８３】
詳細には、ゲームプロセッサ２１０は、ゲームアプリケーションに参加しているプレイヤの以前のゲームプレイ中にキャプチャされたスナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化するように構成された様々なコンポーネントを含む。ゲームプロセッサ２１０は、図１で前述したが、ゲーム実行エンジン２１１、スナップショット生成部２１２、タイムライン生成部２１３、ノードグラフ生成部２１４、ＡＩオーバーレイモジュール２１５、及び、ジャンプゲーム実行エンジン２１６を含む。さらに、図１０に示すように、ゲームプロセッサ２１０は、ビデオプレイヤ１０１０、再生エンジン１０１５、ジャンプゲーム入力マネージャ１０２０、再生開始ポイントセレクタ１０２５、ゴースティングエンジン１０３０、及び、ガイドエンジン１０３５をさらに含む。ゲームプロセッサ２１０の１つまたは複数のコンポーネントは、単独でまたは併用されて、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイに、記憶されたゲームプレイのビデオ記録を介してジャンプさせるように構成可能である。さらに、ゲームプロセッサ２１０の１つまたは複数のコンポーネントは、開示の他の実施形態において、ＧＣＳ２０１等、クラウドベースのゲームシステム内でビデオ記録を介してゲームプレイへのアクセスを提供する。
【０１８４】
詳細には、図１のシステム１０は、ゲームプロセッサモジュール２１０を実行するゲームサーバ２０５を含み、ゲームサーバ２０５は、複数のインタラクティブなビデオゲームまたはゲームアプリケーションへのアクセスを提供する。より詳細には、ゲームアプリケーションの記憶されたゲームプレイへのインタラクティブなアクセスをゲームプレイのビデオ記録を介して提供する。図１に示すように、クライアントデバイス１００は、ジャンプゲームプレイの形態で、プレイヤの特定のゲームプレイへのアクセスを要求するように構成される。アクセスの要求は、プレイヤのゲームプレイのビデオ記録を介して行われてよく、それによって、ビデオ記録を通して含まれる及び／または参照される関連するスナップショットを使用して、ジャンプゲームプレイをインスタンス化する。詳細には、ゲームサーバ２０１５が、ゲームアプリケーションのインスタンスを実行して、スナップショットに基づいて、ジャンプゲームプレイをインスタンス化し、表示のためにクライアントデバイス１００に配信するレンダリングされた画像を生成する。
【０１８５】
例えば、ビデオプレイヤ１０１０は、ゲームアプリケーションに参加しているプレイヤの選択されたゲームプレイのビデオ記録をプレイする時、複数のビデオフレームを生成するように構成される。ビデオプレイヤ１０１０は、独立して、または、ビデオリコーダ２７１と協働して、ゲームプレイの記録（例えば、ビデオ、オーディオ等）を、そのゲームプレイに対応する任意のゲームメトリックと共に、生成、保存、アクセス、及び／または、プレイしてよい。一実施形態においては、記憶されたゲームプレイのビデオ記録は、クライアントデバイス１００で表示するためにレンダリングされるタイムラインによって提示される記憶されたゲームプレイの１つまたは複数のスナップショット画像を通して選択可能である。スナップショット画像は、ゲームアプリケーションのゲームプレイの進行を示すために提示される。すなわち、ゲームプレイ中にキャプチャされたスナップショット画像の１つを選択すると、記憶されたゲームプレイのビデオ記録の選択及び再生が行われる。ビデオ記録の画像フレームが、ネットワークを介して表示のためにクライアントデバイスに配信される。
【０１８６】
さらに、ビデオ記録は、ゲームプレイ中にキャプチャされた複数のスナップショットを含む、または、参照する。スナップショットは、スナップショットキャプチャに対応するゲームプレイのポイントで、ゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び／または情報を含む。よって、ビデオ記録のジャンプポイントを（例えば、ビデオフレームによって）選択すると、ジャンプポイントで始まるジャンプゲームプレイのインスタンス化が行われる。詳細には、再生エンジン１０１５は、ゲームアプリケーションのインスタンスを作成、実行して、ジャンプゲームプレイをインスタンス化するように構成される。ゲームアプリケーションのインスタンスは、ジャンプポイントの選択を通して決定された関連するスナップショットに基づいて、インスタンス化される。ジャンプポイントは、関連するスナップショットに直接、対応してよい、または、ジャンプポイントは、関連するスナップショットの近く、もしくは、関連するスナップショットと他のスナップショットとの間に位置する。よって、関連するスナップショットを用いて、ジャンプゲームプレイをインスタンス化する。一実施態様においては、再生エンジン１０１５は、単独で、または、ジャンプゲーム実行エンジン２１６と協働して、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。
【０１８７】
詳細には、再生開始ポイントセレクタ１０２５は、ジャンプゲームプレイの再生部分の開始ポイントを決定するように構成される。すなわち、ジャンプポイントの選択後、プレイヤのゲームプレイの実行に使用されるゲームアプリケーションのインスタンスを開始及び／またはインスタンス化するために、適切な関連する開始スナップショットが選択される。ジャンプポイントは、開始スナップショットがキャプチャされたゲームプレイのポイントに対応しなくてもよい。ジャンプゲームプレイの再生部分の間に、記憶されたゲームプレイが、開始スナップショットがキャプチャされたゲームプレイのポイントからジャンプポイントまで自動的に再生され、その後、ジャンプゲームプレイは、要求したユーザにとってライブになって、再生エンジン１０１５及び／またはジャンプゲーム実行エンジン２１６は、要求したユーザのクライアントデバイス１００からの入力コマンドを処理する。
【０１８８】
詳細には、ジャンプゲームプレイの再生部分の間、ジャンプゲーム入力マネージャ１０２０は、ゲームアプリケーションのインスタンスによる実行に使用する複数の入力コマンドを決定し、それらの入力コマンドにアクセスする。複数の入力コマンドは、プレイヤのゲームプレイを指示するために以前に使用されたものである。複数の入力コマンドは、プレイヤのゲームプレイ中に生成された１つまたは複数のスナップショットに関連してキャプチャされ、（例えば、図１のデータストア１４０のデータベース１０４０）に記憶されている。例えば、スナップショットは、対応するスナップショットがキャプチャされたポイントまで、及び、ポイントを含み得るまでに使用した入力コマンドを記憶してよく、入力コマンドは、過去の最も近くのスナップショットに関連付けられたポイントに始まって、収集されてよい。すなわち、対応するスナップショットに対する記憶された入力コマンドは、前のスナップショットから対応するスナップショットにゲームプレイを進める。また、スナップショットは、対応するスナップショットがキャプチャされたポイント、及び／または、そのポイントの後、次の及び／または最も近いスナップショットと関連付けられたポイントで終了するまでに使用された入力コマンドを記憶してよい。すなわち、対応するスナップショットに関して記憶された入力コマンドは、対応するスナップショットから次のスナップショットにゲームプレイを進める。他の実施態様においては、スナップショットは、対応するスナップショットがキャプチャされたポイントの前、及び、後で使用された入力コマンドを記憶してよい。
【０１８９】
ネットワーク１５０を介して通信するゲームサーバ２０５とクライアントデバイス１０との様々なモジュールの詳細な記載と共に、本開示の一実施形態によるゲーム方法をフロー図１１００に関連して記載する。詳細には、フロー図１１００は、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイに、ゲームプレイのビデオ記録を通して等、インタラクティブにアクセスする方法のステップを示す。より具体的には、フロー図１１００の方法は、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、記憶されたゲームプレイにユーザをジャンプさせる方法を開示する。スナップショットは、記憶されたゲームプレイのビデオ記録を通して選択可能である。フロー図１１００は、ネットワーク１５０を介してクライアントデバイス２００で表示される情報を生成する目的で、クラウドベースのゲームシステム２０１（例えば、ＧＣＳ２０１）のゲームサーバ２０５側で行われる動作のプロセス及びデータフローを示す。
【０１９０】
方法の動作１１１０は、記憶されたゲームプレイのビデオ記録をユーザに関連付けられたクライアントデバイスにネットワークを介して配信することを含む。記憶されたゲームプレイは、ゲームアプリケーションに参加しているプレイヤのゲームプレイである。ユーザは、記憶されたゲームプレイを視聴するアクセスを得る。ゲームプレイは、ユーザ以外のプレイヤのゲームプレイであってもよく、ユーザであるプレイヤのゲームプレイであってもよい。
【０１９１】
一実施形態においては、ビデオ記録は、ゲームプレイの１つまたは複数のスナップショット画像を含むタイムラインを通して選択される。図１〜図９に関して前述したように、ゲームアプリケーションに参加している間、タイムラインは、ユーザのゲームプレイと同時に提示されてよい。すなわち、ユーザが、ゲームアプリケーションをプレイしている間、ユーザは、他のプレイヤのゲームプレイをそのゲームプレイのビデオ記録を通して、さらには、他のプレイヤの記憶されたゲームプレイとインタラクティブなアクセスを通して、プレビューしたい場合がある。また、ユーザは、ゲームアプリケーションをプレイしている間、ユーザの記憶されたゲームプレイのビデオ記録を通して、さらに、ユーザの記憶されたゲームプレイとインタラクティブなアクセスを通して、自分のゲームプレイを見直したい場合がある。すなわち、タイムラインのスナップショット画像は、対応するビデオ記録への関連付け及びアクセス、及び／または、ジャンプゲームプレイの形態で、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。
【０１９２】
１１２０において、方法は、ビデオ記録を介したゲームプレイのジャンプポイントの選択をクライアントデバイスから受信することを含む。すなわち、ビデオ記録の選択したポイントは、要求したユーザが、プレイヤのゲームプレイに基づいたジャンプゲームプレイとインタラクティブなアクセスを開始したいジャンプポイントを規定する。言い換えると、要求したユーザは、プレイヤのゲームプレイにジャンプゲームプレイを介してインタラクティブにアクセスしたい。
【０１９３】
１１３０において、方法は、開始スナップショット等、スナップショットに基づいて、ゲームアプリケーションのインスタンスをインスタンス化及び／または開始することを含む。ゲームアプリケーションのインスタンスは、ジャンプゲームプレイをインスタンス化する。詳細には、ビデオ記録は、プレイヤのゲームプレイの第１のポイントでキャプチャされる開始スナップショットを含む、プレイヤのゲームプレイ中にキャプチャされた１つまたは複数のスナップショットに関連付けられている。スナップショットは、スナップショットキャプチャに対応するポイントでゲームアプリケーションのインスタンスのインスタンス化及び／または開始を可能にするメタデータ及び／または情報を含む。例えば、スナップショットは、プレイヤのゲームプレイに関連して実行されたゲームアプリケーションの第１のインスタンスによって生成されたレンダリングされた画像を含むスナップショット画像を含む。スナップショット画像は、プレイヤのゲームプレイのポイントに対応するビデオフレームに対応する。
【０１９４】
説明のために、開始スナップショットは、第１のスナップショット画像を含み、第１のスナップショット画像は、ビデオ記録の第１のビデオフレームに対応し、第１のビデオフレームは、ゲームプレイの第１のポイントにさらに対応する。スナップショットは、上記のように、ゲームプレイの第１のポイントに対応する環境の生成を可能にするゲーム状態データも含む。スナップショットは、上記のように、環境に追加の特徴を与えるランダムシードデータも含む。スナップショットは、上記プレイヤのゲームプレイのキャラクタの生成を可能にするユーザ保存データも含み、キャラクタは、ゲームプレイの第１のポイントに対応する第１の状態を有する。例えば、ユーザ保存データは、プレイヤが選択したゲーム難易度、ゲームレベル、キャラクタ属性、キャラクタ位置、残りの命の数、利用可能な命の総数、防御手段、トロフィ、タイムカウンタ値等を含んでよい。スナップショットは、入力コマンドのシーケンスうち少なくとも１つの入力コマンドも含み、スナップショットに関連付けられた入力コマンド（例えば、スナップショットにつながる、または、スナップショットから離れる）がキャプチャ、記憶される。
【０１９５】
よって、ゲームアプリケーションは、開始スナップショットのキャプチャに対応するポイントで開始され、プレイヤの記憶されたゲームプレイ（例えば、シーン、キャラクタ等）によって前に規定されたゲーム環境に基づく。例えば、開始スナップショットは、プレイヤのゲームプレイの第１のポイントでのゲームアプリケーションのインスタンスのインスタンス化及び／または開始を可能にする。
【０１９６】
一実施形態においては、上記のように、ジャンプポイントは、キャプチャしたスナップショットに対応してよく、キャプチャしたスナップショットを使用して、ジャンプゲームプレイをインスタンス化及び／または開始してよい。例えば、ジャンプポイントが、開始スナップショット（及び、第１のポイント）に直接、対応する時、開始スナップショットを使用して、ジャンプポイントで始まるジャンプゲームプレイをインスタンス化及び／または開始してよく、ジャンプゲームプレイは、要求したユーザからの入力コマンドの実行を通して直ぐに、要求したユーザにとってライブになる。
【０１９７】
別の実施形態においては、ジャンプポイントは、ジャンプゲームプレイをインスタンス化するのに使用されるスナップショットに対応しなくてもよい。すなわち、ジャンプゲームプレイは、開始スナップショットに基づいて、ゲームアプリケーションのインスタンスによってインスタンス化、実行されるが、ジャンプポイントは、プレイヤのゲームプレイの第１のポイントに直接、対応してなくてもよく、第１のポイントは、開始スナップショットに直接対応する。しかしながら、ジャンプポイントは、ジャンプゲームプレイをインスタンス化及び／または開始するのに使用される開始スナップショットと関連付けられ、それによって、ジャンプゲームプレイを使用して、ジャンプポイントに到達し得る。詳細には、ジャンプゲームプレイは、再生部分とライブ部分を含む。従って、ジャンプゲームプレイは、（例えば、記憶されたゲームプレイから保存した入力コマンドを用いて）再生部分を通して自動的に実行されてジャンプポイントに到達してよく、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを実行することによって、要求したユーザにとってライブになる。
【０１９８】
具体的には、再生部分の間、動作１１４０において、方法は、開始スナップショット及び／またはジャンプポイントに関連付けられた複数の入力コマンド及び／または入力コマンドのシーケンスにアクセスすることを含む。入力コマンドは、プレイヤの記憶されたゲームプレイを指示するために前に使用されたものである。
【０１９９】
再生部分の間、入力コマンドは、ジャンプゲームプレイをインスタンス化するゲームアプリケーションのインスタンスによって実行されると、第１のポイントからジャンプポイントまでプレイヤのゲームプレイを再生する。具体的には、動作１１５０において、方法は、クライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。複数の画像フレームは、第１のポイントからジャンプポイントまで（ジャンプゲームプレイにおいて）プレイヤのゲームプレイを再生する。例えば、複数の画像フレームは、プレイヤのゲームプレイの第１のポイントの第１のビデオフレームに対応する第１の画像フレームと、ジャンプポイントの第２のビデオフレームに対応する第２の画像フレームとを含む。再生部分は、第１のポイントに対応する第１の画像フレームと、ジャンプポイントに対応する第２の画像フレームとの間の画像フレームを生成する。
【０２００】
一実施形態においては、方法は、ジャンプゲームプレイの再生部分中に再生及び／または再現されるプレイヤのゲームプレイを早送りすることを含む。すなわち、入力コマンドのシーケンスは、ゲームアプリケーションのインスタンスにおいて順方向に実行され、入力コマンドは、記憶されたゲームプレイの元々の実行を指示するために連続して順序付けることができる。別の実施形態においては、方法は、ジャンプゲームプレイの再生部分中に再生及び／または再現されるプレイヤのゲームプレイを巻き戻しすることを含む。すなわち、入力コマンドのシーケンスは、ゲームアプリケーションのインスタンスにおいて逆の順で実行され、入力コマンドは、記憶されたゲームプレイの元の実行を指示する目的で連続して順序付けることができる。
【０２０１】
一実施形態においては、方法は、入力コマンドのシーケンスの実行をオーバークロックすることを含む。すなわち、ジャンプゲームプレイの再生部分は、速く再生されて、第１のポイントからジャンプポイントまでのゲームプレイは、早送りで表示され、第１のポイントからジャンプポイントまでのゲームプレイは、素早く巻き戻して表示される。これについては、図１３Ａに関連して以下にさらに記載する。
【０２０２】
再生部分の後、ジャンプゲームプレイは、ライブ部分に進む。具体的には、動作１１６０において、方法は、クライアントデバイスから受信され、ジャンプポイントから始まるゲームアプリケーションのインスタンスで実行される入力コマンドを処理することを含む。以前、ジャンプゲームプレイの再生部分中、クライアントデバイスから受信した入力コマンドは、ゲームアプリケーションのインスタンスによって処理されることを妨げられた。
【０２０３】
一実施形態においては、リアルタイムで能動的に生成、記憶されている現在のゲームプレイへのアクセスが提供される。詳細には、ビデオ記録の代わりに、ストリーミングライブビデオが、ネットワークを介してクライアントデバイスに配信される。すなわち、フロー図１１００において、動作１１１０で配信されるコンテンツは、ゲームアプリケーションに参加しているプレイヤのライブゲームプレイのライブストリーミングビデオである。このようにして、ライブゲームプレイ中にキャプチャされたスナップショットは、ユーザが、ジャンプゲームプレイを介してライブゲームプレイを体験するのを可能にするように選択可能であってよい。すなわち、ユーザは、ストリーミングライブビデオのビデオフレームを介して、ライブゲームプレイ中にキャプチャされたスナップショットを選択して、ゲームアプリケーションのインスタンスを開始し、ジャンプゲームプレイを実行できる。
【０２０４】
図１２Ａは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイのビデオ記録１２０１の複数のビデオフレームの図である。ビデオ記録は、記憶されたゲームプレイへのインタラクティブなアクセスに使用される。一実施態様において、ビデオ記録１２０１は、図１１の動作１１２０に記載のジャンプポイント１２９０の選択で、動作１１３０に記載のゲームアプリケーションのインスタンスを開始してジャンプゲームプレイをインスタンス化するために使用される。説明を目的として、ビデオ記録１２０１は、記録の長さを表すバーとビデオ記録１２０１内の各ビデオフレームの近似位置として示される。
【０２０５】
詳細には、ビデオ記録１２０１は、クライアントデバイスでレンダリングされる時、連続的に表示される複数のビデオフレームを含む。ビデオ記録１２０１は、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中に生成されたもので、選択可能な長さであってよい。説明を目的として、ビデオ記録は、ナビゲーションバー１２０１に示す様々なポイントに位置する少なくともビデオフレーム１２１０〜１２１４を含む。１つまたは複数の追加のビデオフレームが、図１２Ａに示すビデオフレームの任意の２つの間に配置されてよいことは理解される。
【０２０６】
さらに、各ビデオフレームは、プレイヤのゲームプレイ中にキャプチャされた少なくとも１つのスナップショットに関連付けることができる。説明を目的として、図１２Ａは、ビデオフレームとスナップショットとの間の密接な相関関係を示し、ビデオフレームが生成されたゲームプレイのポイントで、または、その近くでスナップショットがキャプチャされているので、ビデオフレーム１２１０〜１２１４が示されている。特定のビデオフレームが、スナップショットに直接、対応しなくてもよいが、スナップショットに密接に関連付し得ることに注意することは重要である。例えば、ビデオフレームは、最も近いキャプチャしたスナップショットに関連付けられてよい。このようにして、ビデオフレーム／ビデオ記録とスナップショットとの間の関係は、関連付けによる選択を可能にする。例えば、スナップショットを選択することによって、スナップショットに関連するビデオフレーム及び／またはビデオ記録が分かる。また、ビデオ記録内のビデオフレームを選択することによって、ビデオフレームに関連するスナップショットが分かる。
【０２０７】
ビデオ記録１２０１は、キャプチャしたスナップショットＳＳ−１と、そのスナップショット画像６１０とに密接に相関するビデオフレーム１２１０を含む。詳細には、ビデオフレーム１２１０とスナップショット画像６１０とは、キャラクタ３０８（女性の主人公）が最初に森にある洞穴の前をうろうろしている熊に出くわすゲームプレイのポイントを示す。さらに、ビデオ記録１２０１は、キャプチャしたスナップショットＳＳ−２とそのスナップショット画像３６０ｅとに密接に相関するビデオフレーム１２１２を含む。詳細には、ビデオフレーム１２１２とスナップショット画像３６０ｅとは、キャラクタ３０８が、攻撃的な熊と積極的に関わっている、または、戦っているゲームプレイのポイントを示し、キャラクタ３０８は、武器として使用するグルグル巻いたロープを持っているのが示されている。ビデオ記録１２０１は、キャプチャしたスナップショットＳＳ−３とそのスナップショット画像６１５と密接に相関するビデオフレーム１２１３を含む。詳細には、ビデオフレーム１２１３とスナップショット画像６１５とは、キャラクタ３０８が熊の征服に成功し、熊の脚をグルグル巻いたロープで縛ったゲームプレイのポイントを示す。さらに、ビデオ記録１２０１は、キャプチャしたスナップショットＳＳ−４とそのスナップショット画像６２０と密接に相関するビデオフレーム１２１４を含む。詳細には、ビデオフレーム１２１４とスナップショット画像６２０とは、キャラクタが熊との戦いに勝った後、硬貨でいっぱいの宝箱と、後の戦いに使用できるライフルとを含む報奨を得たゲームプレイのポイントを示す。
【０２０８】
さらに、ビデオ記録１２０１は、ビデオフレーム１２１０（例えば、ＳＳ−１）とビデオフレーム１２１２（例えば、ＳＳ−２）との間に位置するビデオフレーム１２１１を含む。すなわち、ビデオフレーム１２１１は、２つのスナップショットＳＳ−１とＳＳ−２との間のプレイヤのゲームプレイのポイントに位置する。ビデオフレーム１２１１と、２つのスナップショットＳＳ−１とＳＳ−２のうちの少なくとも１つとの間には密接な関連付けを行うことができ、それによって、スナップショットＳＳ−１またはＳＳ−２のいずれかを使用して、プレイヤのゲームプレイへのインタラクティブなアクセスを提供できる。具体的には、本開示の実施形態は、スナップショット間ジャンプポイントとして、２つのスナップショットＳＳ−１とＳＳ−２との間に位置する（矢印によって示される）ビデオフレーム１２１１の選択と、スナップショットＳＳ−１またはＳＳ−２のいずれかを使用してジャンプゲームプレイを開始することを提供する。ジャンプゲームプレイは、再生部分とライブ部分とを含み、ジャンプゲームプレイが、再生部分を通して自動的に実行されて、（例えば、記憶されたゲームプレイから保存した入力コマンドを用いて）ジャンプポイントに到達してよく、その後、ジャンプゲームプレイは、ユーザからの入力コマンドを処理することによって、要求したユーザにとってライブになる。
【０２０９】
図１２Ｂは、本開示の一実施形態による、ユーザによるゲームアプリケーションのゲームプレイ中に表示されるタイムライン３１０ａの図であり、タイムライン３１０ａとの受動的または能動的なインタラクションによって、プレイヤの記憶されたゲームプレイのビデオ記録が表示され、ビデオ記録とさらに受動的または能動的にインタラクションすると、プレイヤのゲームプレイとのインタラクティブなアクセスが提供される。一実施態様において、タイムライン３１０ａは、図１１の動作１１１０に記載されるようなビデオ記録の選択に、図１１の動作１１２０に記載されるようにジャンプポイント１２９０の選択で、動作１１３０に記載されるようなゲームアプリケーションのインスタンスを開始してジャンプゲームプレイをインスタンス化するために使用される。
【０２１０】
上記のように、ウインドウ３００は、ユーザによるゲームアプリケーションのゲームプレイの現在レンダリングされている画像３０５を示す。タイムライン３１０ａは、現在レンダリングされている画像３０５の後で生じるゲームアプリケーションの進行のポイントでプレイヤ（例えば、キャラクタ３０８をプレイする友達Ｆ１）によるゲームプレイのスナップショット画像（例えば、３６０ｄ、３６０ｅ、３６０ｆ、．．．）を含む。スナップショット画像は、例えば、サムネイルを介してタイムライン３１０ａに提示されてよい。サムネイルを能動的または受動的に選択することによって、選択したサムネイルとほぼ同じエリアに生成、表示されるウインドウ４１０で示されるように、対応するスナップショット画像が拡大される。
【０２１１】
一実施形態においては、タイムライン３１０ａとの能動的または受動的なインタラクションによって、プレイヤのゲームプレイのビデオ記録１２０１が選択される。詳細には、タイムライン３１０ａのスナップショット画像３６０ｅを（例えば、カーソル４９０ａ）によって能動的または受動的にさらに選択すると、プレイヤのゲームプレイのビデオ記録１２０１が選択される。例えば、スナップショット画像３６０ｅの選択は、ウインドウ４１０を能動的または受動的に選択することを通してであってよい。一実施態様においては、ビデオ記録１２０１が、現在、表示されている画像３０５と同時にウインドウ１２１２に示されてよい。他の実施態様においては、ウインドウ１２１２は、全画面モードで等、ウインドウ３００とは別に示されてよい。ビデオ記録１２０１は、選択したスナップショット画像３６０ｅに関連付けられたゲームプレイのポイントにほぼ対応する。例えば、ビデオ記録１２０１に示されたクリップは、キャラクタ３０８と熊との間のボス戦に焦点を当ててよく、キャラクタ３０８が最初に熊に出くわすビデオフレーム１２１０で始まり、キャラクタ３０８が、ボス熊との戦いに勝った後、戦利品を調べるビデオフレーム１２１４で終了する。よって、ビデオ記録１２０１は、ビデオフレーム１２１０でプレイを開始してよく、または、選択したスナップショット３６０ｅの近くのビデオフレーム等、ビデオ記録１２０１内の任意のビデオフレームでプレイを開始してよい。
【０２１２】
さらに、ウインドウ１２１２に示されるビデオ記録１２０１は、ナビゲーションバー１２６０によって示され、且つ、ナビゲーションバー１２６０を通して選択可能な任意のビデオフレームを表示してよい。例えば、可動ロケータ１２６５は、ビデオ記録１２０１内のビデオフレーム１２１１の近似位置を示す。また、可動ロケータ１２６５は、ビデオ記録１２０１内の任意のポイント及び／またはビデオフレームに向けられてよい。よって、ビデオ記録１２０１は、（例えば、前進、後退、速く、遅く）ビデオフレームをプレイしてよく、または、特定のビデオフレームで一時停止してよい。例えば、ビデオ記録１２０１全体を見た後、ユーザは、ロケータ１２６５をナビゲーションバー１２６０の適切な位置に動かすことによって、ビデオフレーム１２１１に戻ることを選択してよい。すなわち、ユーザは、ビデオ記録１２０１のコンテンツに関心を持ち、下記のように、プレイヤの記憶されたゲームプレイにインタラクティブにアクセスしたい。例示として、ユーザは、熊とのボス戦を体験したく、熊が攻撃的にキャラクタ３０８に近付いてきているビデオフレーム１２１１で戦闘を開始したい。
【０２１３】
詳細には、ビデオ記録の能動的または受動的なさらなる選択は、記憶されたゲームプレイへのインタラクティブなアクセスを提供する。より具体的には、ビデオ記録１２０１でビデオフレーム（例えば、フレーム１２１１）を能動的または受動的にさらに選択することによって、ジャンプポイント１２９０を規定し、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショット（例えば、ＳＳ−１またはＳＳ−２）に基づいて、ジャンプゲームプレイを実行し、それによって、選択したジャンプポイント１２９０から始まるジャンプゲームプレイが要求したユーザによってプレイ可能になる。上記のように、ジャンプゲームプレイは、再生部分とライブ部分とを含み、ジャンプゲームプレイは、再生部分を通して（例えば、記憶されたゲームプレイからの保存した入力コマンドを用いて）自動的に実行されて、ジャンプポイント１２９０に到達してよく、その後、ジャンプゲームプレイは、ユーザからの入力コマンドを処理することによって、要求したユーザにとってライブになる。関連するスナップショット（例えば、ＳＳ−１またはＳＳ−２）は、ビデオ記録１２０１内に対応するビデオフレームを有するとして示されているが、他の実施形態においては、関連するスナップショットは、ビデオ記録１２０１のビデオフレームに対応しなくてもよく、関連付けられなくてもよい。すなわち、関連するスナップショットは、ビデオ記録１２０１外であってよい。いずれにしても、関連するスナップショットは、ジャンプゲームプレイの記憶されたゲームプレイへのインタラクティブなアクセスを提供し、ジャンプポイント１２９０で始まるジャンプゲームプレイとのインタラクティブなプレイをユーザが開始するのを可能にする。
【０２１４】
図１３Ａは、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイ１３１０を指示するために以前使用された複数の入力コマンド１３３０の図であり、入力コマンドの一部（例えば、シーケンス）を使用して、ジャンプゲームプレイの再生部分を実施する。詳細には、記憶されたゲームプレイ１３１０は、少なくともＳＳ−１とＳＳ−２を含む複数のスナップショットを含み、上記のように、スナップショットは、スナップショットキャプチャに対応するポイントのゲームアプリケーションのインスタンスのインスタンス化を可能にするメタデータ及び／または情報を含む。スナップショットＳＳ−１とＳＳ−２は、それらの近似位置に示され、近似位置は、プレイヤのゲームプレイ１３１０中のキャプチャポイントを規定する。
【０２１５】
さらに、記憶されたゲームプレイ１３１０は、複数の入力コマンド１３３０を含む。説明のみを目的として、これらの入力コマンドは、トグルスイッチ、左正面ボタン、右正面ボタン、記号（例えば、ボックス、三角形、十字等）または文字等によって規定される対応する上下左右または他の選択可能なコマンドを通して発せられる方向コマンドを含んでよい。これらの入力コマンドは、記憶されたゲームプレイ１３１０を指示するために以前使用されたものである。図に示すように、一実施形態においては、入力コマンドは、コマンド間に周期的な間隔を置いて、または、間隔無しに連続的に順序付けられてよい。他の実施形態においては、入力コマンドは、順序付けられなくてもよく、及び／または、連続していなくてもよい。例えば、複数の入力コマンドが、異なるコントローラを通して、同時に発せられて、複数のオブジェクトに指示する場合があり、この場合、順序は重要でないことがある。
【０２１６】
図１３Ａに示すように、ジャンプポイント１２９０は、ゲームプレイ１３１０の文脈内で規定される。例えば、ビデオフレーム（例えば、ビデオフレーム１２１１）の選択は、ゲームプレイ１３１０の文脈内と、新しくインスタンス化されたジャンプゲームプレイの文脈内との両方でジャンプポイント１２９０を規定する。例えば、ジャンプポイントは、ＳＳ−１とＳＳ−２の間に規定されてよく、例として、ビデオ記録１２０１の対応するビデオフレーム１２１１を通して選択可能である。より詳細には、複数の入力コマンド１３３０は、ＳＳ−１とジャンプポイント１２９０との間で発せられた入力コマンドのシーケンス１３３５を含む。また、複数の入力コマンド１３３０は、ジャンプポイント１２９０とＳＳ−２との間で発せられた入力コマンドのシーケンス１３３７を含む。これらのシーケンス１３３５と１３３７を使用して、ジャンプゲームプレイの再生部分を実施、記述する。これについて、以下にさらに記載する。追加の入力コマンドが、ＳＳ−１の前とＳＳ−２の後の両方に示される。
【０２１７】
ビデオ記録、より具体的には、ビデオフレーム１２１１の能動的または受動的な選択によって、上記のように、ＳＳ−１またはＳＳ−２等、関連するスナップショットを用いてジャンプゲームプレイがインスタンス化される。どのスナップショットを選択するかに応じて、ジャンプゲームプレイは、入力コマンドのシーケンスを通して前進してジャンプポイント１２９０に到達する、または、入力コマンドのシーケンスを通して巻き戻って、ジャンプポイント１２９０に到達する。
【０２１８】
ジャンプゲームプレイ１３４０は、ＳＳ−１がゲームアプリケーションのインスタンスを開始してジャンプゲームプレイ１３４０をインスタンス化するのに使用される関連するスナップショットであるとの決定を示す。図に示すように、ジャンプゲームプレイ１３４０は、セクションＡによって規定される再生部分とセクションＢによって規定されるライブ部分とを含む。セクションＡの再生部分においては、ジャンプゲームプレイ１３４０は、記憶されたゲームプレイ１３１０からの保存した入力コマンド（例えば、入力コマンドのシーケンス１３３５）を用いて、ＳＳ−１とジャンプポイント１２９０との間のプレイヤのゲームプレイ１３１０を自動的に実行する。この場合、入力コマンドのシーケンス１３３５は、順方向に実行され、ジャンプポイント１２９０に到達する。一実施形態においては、シーケンス１３３５の実行は、オーバークロックされて素早くジャンプポイントに到達する。再生部分のジャンプポイント１２９０に到達後、セクションＡの再生部分からセクションＢによって示されるライブ部分への遷移が行われ、ジャンプゲームプレイ１３４０は、ユーザからの入力コマンドを処理してライブになり、ユーザは、ジャンプゲームプレイ１３４０にインタラクティブに指示している。
【０２１９】
ジャンプゲームプレイ１３４５は、ＳＳ−２が、ゲームアプリケーションのインスタンスを開始してジャンプゲームプレイ１３４５をインスタンス化するのに使用される関連するスナップショットであると決定することを示す。図に示すように、ジャンプゲームプレイ１３４５は、セクションＣによって規定される再生部分と、セクションＤによって規定されるライブ部分とを含む。セクションＣの再生部分においては、ジャンプゲームプレイ１３４５は、記憶されたゲームプレイ１３１０から保存した入力コマンド（例えば、入力コマンドのシーケンス１３３７）を用いて、ＳＳ−２とジャンプポイント１２９０との間のプレイヤのゲームプレイ１３１０を自動的に実行する。この場合、入力コマンドのシーケンス１３３７は、逆向きに実行されてジャンプポイント１２９０に到達する。一実施形態においては、シーケンス１３３７の実行はオーバークロックされて、ジャンプポイントに素早く到達する。セクションＣの再生部分のジャンプポイント１２９０に到達後、セクションＣの再生部分からセクションＤによって示されるライブ部分への遷移が行われ、ジャンプゲームプレイ１３４５は、ユーザからの入力コマンドを処理することによって、ライブになり、ユーザは、ジャンプゲームプレイ１３４５にインタラクティブに指示している。
【０２２０】
さらに別の実施形態においては、再生部分の間、ジャンプゲームプレイ１３４５が実行している時、追加または補助のコンテンツを別個のウインドウ（図示せず）に表示してよい。一実施形態においては、補助コンテンツは、再生部分に表示するために生成されている画像フレームにオーバーレイされてよい。例えば、補助コンテンツは、再生部分中にジャンプゲームプレイ１３４５が実行している時に示される広告を含んでよい。さらに、別の実施形態においては、補助コンテンツは、ユーザ入力に応答してよい。例えば、補助コンテンツは、他のジャンプゲームプレイであってよい。
【０２２１】
図１３Ｂは、本開示の一実施形態による、ウインドウ１３９０に示されるジャンプゲームプレイの画像フレーム１３１１の図であり、ビデオ記録のビデオフレームの選択によって、ゲームアプリケーションのインスタンスをインスタンス化して、プレイヤのゲームプレイ中にキャプチャされた関連するスナップショットに基づいて、ジャンプゲームプレイを実行し、それによって、ジャンプゲームプレイは、要求したユーザによってプレイ可能になる。図に示すように、画像フレーム１３１１は、ビデオ記録１２０１のビデオフレーム１２１１に関連付けられたジャンプポイント１２９０にほぼ対応する。すなわち、画像フレーム１３１１は、熊が、向きを変え、キャラクタ３０８に向かって歩き、攻撃的に行動しているのを示す。よって、ユーザは、ジャンプゲームプレイのライブ部分で、画像フレーム１３１１からほぼ始まるウインドウ１３９０に示されるジャンプゲームプレイにインタラクティブに指示することができる。画像フレーム１３１１は、ジャンプポイント１２９０に大体、対応する。
【０２２２】
様々な実施形態において、ウインドウ１３９０は、ウインドウ３００とは独立してよい、または、ウインドウ３００と同時に示されてよい。ウインドウ３００は、ゲームアプリケーションに参加しているユーザの現在のゲームプレイを示す。このようにして、ジャンプゲームプレイは、（例えば、ウインドウ１２１２によって示されるウインドウオーバーレイで）ユーザの現在のゲームプレイと同時に示されてよく、または、ジャンプゲームプレイは、全画面モード等で、独立して示されてよい。実施形態において、ユーザの現在のゲームプレイとジャンプゲームプレイとは、同じゲームアプリケーションであってもよく、異なるゲームアプリケーションであってもよい。
【０２２３】
一実施形態においては、ジャンプゲームプレイは、ビデオ記録に別個に記録、記憶される。さらに、複数のスナップショットが、ジャンプゲームプレイの実行中の任意のポイントで、ジャンプゲームプレイ中にキャプチャされてよい。例えば、スナップショットＳＳ−００は、進行バー１３９５で示されるように、ライブジャンプゲームプレイでキャプチャされ、スナップショットＳＳ−００の右に未来の／予測される進行が、点線で示される。このようにして、任意のユーザが、キャプチャしたスナップショットを通して、また、新しくインスタンス化された二次的なジャンプゲームプレイを通して、ジャンプゲームプレイを体験できる。詳細には、ジャンプゲームプレイ中にキャプチャされた選択したスナップショットを使用して、ゲームアプリケーションのインスタンスをインスタンス化して、主要なジャンプゲームプレイ中にキャプチャされた選択したスナップショットに基づいて、二次的なジャンプゲームプレイを実行できる。このようにして、ユーザは、同じユーザが作成した任意の以前のジャンプゲームプレイを体験でき、または、他のプレイヤの記憶されたジャンプゲームプレイを体験できてよい。
【０２２４】
図１４は、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤのゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイ中に提示された入力コマンドのシーケンスの図である。入力コマンドのシーケンスを表示することによって、追加の機能をユーザに与えてよい。一実施形態においては、表示された入力コマンドのシーケンスは、ユーザをジャンプポイントにガイドするのを助けるガイド機能を提供してよい。別の実施形態においては、表示された入力コマンドのシーケンスは、ゴースティングのために使用されてよく、ユーザは、例えば、正確に同じタイミングで、入力コマンドのシーケンスの模倣を試みる。ユーザが元のゲームプレイをどれだけ近く模倣することができるかを示すランニングスコア１４６０が提供されてよい。
【０２２５】
図に示すように、ウインドウ１４１０は、画像フレーム１４０５を含む１つまたは複数の画像フレームによってジャンプゲームプレイを表示する。一実施形態においては、ジャンプゲームプレイの再生部分は、ウインドウ１４１０に表示される。例えば、オブジェクト１４２０は、ジャンプゲームプレイの再生部分の実行ファイルとして表示され、入力コマンドのシーケンス１４５０が、自動的に実行されて、ジャンプポイントまでプレイヤのゲームプレイを再生し、その後、ジャンプゲームプレイは、要求したユーザからの入力コマンドを処理することによってライブになる。オブジェクト１４２０は、元々、プレイヤのゲームプレイで生成されたものである。プレイヤのゲームプレイを指示するのに使用された入力コマンドのシーケンス１４５０も表示される。シーケンス１４５０は、順序付けられたシーケンスで提供されてよく、入力コマンドは、入力コマンドがクライアントデバイスによって生成された順序で提示される。例えば、シーケンス１４５０は、ジャンプゲームプレイの再生部分中に生成された複数の画像フレームのそれぞれにオーバーレイされる。進行バー１４３０上のロケータ１４３５は、画像フレーム１４０５に対応する現在の入力コマンド（例えば、下へ）を含む。一実施態様においては、入力コマンドのシーケンス１４５０が右から左、または、左から右にスクロールする時、ロケータ１４３５は、静止している。他の実施態様においては、ロケータ１４３５が、現在表示されている画像フレーム１４０５と対応する入力コマンドとの間の関係を示す限り、ロケータ１４３５も、入力コマンドのシーケンス１４５０との関連で移動する。トップダウン等でシーケンス１４５０を表示する等、他の実施態様もサポートされる。
【０２２６】
一実施形態においては、要求したユーザは、入力コマンドのシーケンスを模倣して、対応する画像フレームの元の対応するオブジェクトと共に提示されるゴーストオブジェクトに指示できる。詳細には、ゴーストオブジェクト１４２５は、複数の模倣された入力コマンド（図示せず）に応答する。ゴーストオブジェクト１４２５は、オブジェクト１４２０を示す画像フレーム１４０５にオーバーレイし、画像フレーム１４０５のオブジェクト１４２０にも他のオブジェクトにも干渉しないように提示されてよい。模倣されたコマンドが、ユーザのクライアントデバイスで生成され、入力コマンドのシーケンス１４５０に従おうとする。模倣されたコマンドが入力コマンドのシーケンス１４５０にどれだけ厳密に従うかに応じて、ゴーストオブジェクト１４２５の位置と動きが決まる。模倣されたコマンドがシーケンス１４５０に厳密に従えば従うほど、ゴーストオブジェクト１４２５とオブジェクト１４２０とのアライメントは近くなる。
【０２２７】
スコア１４６０は、コマンド、コマンドの順序、及び／または、コマンドのタイミング等において、模倣されたコマンドが入力コマンドのシーケンス１４５０にどのくらい厳密に従うかに基づいて生成されてよい。スコアは、画像フレーム１４０５にオーバーレイしてよい。説明のために、図１５Ａ〜図１５Ｅは、ユーザが、入力コマンドのシーケンス１４５０に従って模倣したコマンドを提供する時、オブジェクト１４２０とゴーストオブジェクト１４２５との間の関係及び／またはアライメントを様々な画像フレームを通して示す。図に示すように、オブジェクト間のアライメントは画像フレームが進行すると、近くなってゆく。図１５Ａの画像フレーム１５０１は、（オブジェクト１４２０とゴーストオブジェクト１４２５との間の粗いアライメント（すなわち、近くに並んでいない）ことを示しており、図１５Ｅの画像フレーム１５０５は、オブジェクト間のより細かいアライメント（すなわち、近くに並んでいる）を示している。
【０２２８】
別の実施形態においては、入力コマンドのシーケンス１４５０は、チュートリアルの形で提示される。すなわち、入力コマンドは、ゲームプレイの特定の部分の進み方をユーザに指導する。例えば、ジャンプゲームプレイ中、再生部分の制御は、元のゲームプレイを自動的に再生する代わりに、ユーザによって実際に指示されてよい。ゴーストオブジェクト１４２５は、チュートリアル中、図１４に示されてもよく、示されなくてもよい。よって、再生部分中、クライアントデバイスからの入力コマンドを処理、使用して、少なくともオブジェクト１４２０を制御してよい。入力コマンドのシーケンスが表示され、ユーザをジャンプポイントに向かわせるのを助けてよい。さらに、ジャンプゲームプレイをジャンプポイントに進ませる試みにおいて、クライアントデバイスからの入力コマンドは、処理という点で制限されてよく、制限された入力コマンドは、ジャンプポイントへのパスに従わず、例えば、ジャンプポイントから、不可避的に逸れてよい。よって、入力コマンドは、ユーザを（例えば、入力コマンドのシーケンスを通して）ジャンプゲームプレイをジャンプポイントに進めるガイドとして提供されてよい。
【０２２９】
図１６は、本開示の一実施形態による、ゲームアプリケーションに参加しているプレイヤに関連付けられた記憶されたゲームプレイ中にキャプチャされたスナップショットに基づいてインスタンス化されたジャンプゲームプレイのジャンプポイントにプレイヤをガイドするために使用される機能の図である。図に示すように、入力コマンドのシーケンス１６２０が、表示されてよく、入力コマンドのシーケンス１６２０は、実行されると、ジャンプポイントにつながる方向にキャラクタ３０８をガイドするのを助ける。例えば、画像フレーム１６１０は、ビデオフレーム１２１１（キャラクタ３０８の方に向きを変えて、キャラクタ３０８の方に歩いてくる攻撃的な熊）と関連付けられたジャンプポイント１２９０の前に生じるスナップショット画像３６０ｄに緊密に対応する。ユーザは、キャラクタ３０８が森を通って歩いている時等、（洞穴の前の熊を示す）ビデオフレーム１２１０に対応するＳＳ−１の前に生じるポイントで、ジャンプゲームプレイの開始を選択してよい。ガイド機能は、記憶されたゲームプレイでプレイヤが使用した入力コマンドのシーケンス１６２０を表示することによって、キャラクタ３０８がジャンプポイント１２９０に行くのを助ける。さらに、矢印１６３０（視覚的支援）等の支援を提示して、キャラクタ３０８に右の方向（例えば、川を渡る）を示すのを助けてよい。
【０２３０】
図１７は、本開示の一実施形態による、ゲーム方法、より詳細には、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにユーザがジャンプするのを可能にする方法のステップを示すフロー図１７００である。フロー図１７００は、ネットワーク１５０を介して通信しているゲームサーバ２０５とクライアントデバイス１０との様々なモジュールによって実施されてよい。詳細には、フロー図１７００は、ゲームアプリケーションに参加しているプレイヤの記憶されたゲームプレイにインタラクティブなアクセスを提供する方法のステップを示す。より具体的には、フロー図１１００の方法は、ゲームプレイ中に生成、キャプチャされたスナップショットに基づいて、記憶されたゲームプレイにユーザをジャンプさせる方法を開示する。フロー図１１００は、クライアントデバイス２００にネットワーク１５０を介して表示される情報を生成する目的で、クラウドベースのゲームシステム２０１（例えば、ＧＣＳ２０１）のゲームサーバ２０５側で行われる動作のプロセスとデータフローを示す。
【０２３１】
動作１７１０において、方法は、プレイヤのゲームプレイの第１のポイントでキャプチャされた開始スナップショットに基づいて、ゲームアプリケーションのインスタンスを開始することを含む。ゲームアプリケーションのインスタンスは、ジャンプゲームプレイをインスタンス化する。開始スナップショットは、開始スナップショットがゲームプレイでキャプチャされた場所に対応するポイントでゲームアプリケーションのインスタンスのインスタンス化及び／または開始を可能にするメタデータ及び／または情報を含む。
【０２３２】
開始スナップショットは、ゲームプレイのビデオ記録を通して選択可能であってよい。一実施態様においては、ビデオ記録は、ライブストリーミングビデオなので、記憶されたゲームプレイは、リアルタイムでも同時に記憶されているライブゲームプレイと考えられる。ビデオ記録のビデオフレームは、プレイヤのゲームプレイの第１のポイントでキャプチャされた開始スナップショットを含む、プレイヤのゲームプレイ中に生成、キャプチャされた１つまたは複数のスナップショットに関連付けることができる。例えば、スナップショットは、プレイヤのゲームプレイと関連して実行されるゲームアプリケーションの第１のインスタンスによって生成されるレンダリングされた画像を含むスナップショット画像を含む。スナップショット画像は、プレイヤのゲームプレイのポイントに対応するビデオフレームに対応し、スナップショット画像を使用して、そのポイントで始まるジャンプゲームプレイを開始してよい。
【０２３３】
動作１７２０において、方法は、開始スナップショットに関連付けられた入力コマンドのシーケンスにアクセスすることを含み、入力コマンドのシーケンスは、プレイヤの記憶されたゲームプレイを指示するために以前使用されたものである。
【０２３４】
動作１７３０において、方法は、ユーザのクライアントデバイスでレンダリングするために、入力コマンドのシーケンスに基づいて、ゲームアプリケーションのインスタンスで複数の画像フレームを生成することを含む。詳細には、複数の画像フレームは、ゲームプレイの第１のポイントからゲームプレイを再生する。このポイントで、ジャンプゲームプレイの再生部分が実行している。一実施形態においては、再生部分は、ジャンプポイントに到達するまで実行され、ジャンプポイントは、ビデオ記録のビデオフレームの能動的または受動的な選択によって規定できる。
【０２３５】
別の実施形態においては、ジャンプポイントは、再生部分中に能動的に規定される。詳細には、動作１７４０において、方法は、複数の画像フレームの選択した画像フレームでジャンプゲームプレイのライブ部分を始める開始要求を受信することを含む。例えば、複数の画像フレームが、再生部分中、表示されているので、第１の画像フレームとの能動的または受動的なインタラクションによって、ライブ部分を始める開始要求を提供し、その後、ジャンプゲームプレイは、ユーザのクライアントデバイスからの入力コマンドの処理を通して、ユーザにとってライブになる。さらに、再生部分が非アクティブ化されて、シーケンスの実行されなかった残りの入力コマンドが、ジャンプゲームプレイを開始するゲームアプリケーションのインスタンスで実行されないようにブロックされる。このようにして、ジャンプポイントは、再生部分中、選択可能であってよく、それによって、（ビデオ記録のビデオフレームを介して選択された）以前規定されたジャンプポイントは、再生部分中、再規定されてよい。例えば、ユーザは、ジャンプゲームプレイ内で能動的なインタラクションの開始を強く望む場合がある。他の実施態様においては、ジャンプポイントは、ジャンプゲームプレイの再生部分とのインタラクションを通して最初に規定されてよい。
【０２３６】
［コンパニオンアプリケーション］
一般的に言うと、本開示の様々な実施形態は、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲームを提供するシステム及び方法を記載する。コンパニオンアプリケーションは、全員、同じゲームアプリケーションをシングルプレイヤモードまたはマルチプレイヤモードで同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。提供された情報は、第１のユーザのゲーム環境の文脈内で関連性があるように、ユーザの現在のゲームプレイに同期される。このようにして、ナビゲーション支援を、ゲームアプリケーションのゲーム世界内の１つまたは複数のキャラクタの位置を示すコンパニオンアプリケーションインタフェース内で提供することができ、キャラクタは、ユーザのゲームプレイ内でインスタンス化される。例えば、ゲームアプリケーション内のオブジェクトの位置を第１のユーザにガイドするナビゲーション支援（例えば、ポインタ）は、インタフェースに設けることができる。オブジェクトは、第１のユーザの友達のゲームプレイ内でインスタンス化されたキャラクタ、ゲーム世界またはゲームユニバース内の関心をひくポイント、ボス、関心をひくゲーム特徴等であってよい。例えば、インタフェースは、ゲームアプリケーションを同時にプレイしている他のユーザの他のキャラクタの位置に対する、第１のユーザの第１のキャラクタの位置を提供してよい。コンパニオンアプリケーションは、第１のユーザが目標を達成するのを助けるコーチングも提供してよく、コーチングは、第２のユーザのゲームプレイに基づいてよい、または、コーチングは、第２のユーザによって直接与えられてよい。例えば、コーチングは、ゲームアプリケーション内の目標またはタスク（例えば、ボスを打ち負かす）を一般的にまたは直接助けるコントローラ入力を示してよい。
【０２３７】
従って、本開示の実施形態は、ゲームアプリケーションの追加の使用法を提供する。実施形態は、（例えば、対応するコンパニオンアプリケーションインタフェースを通して各ユーザに対して）複数のゲームプレイに関する情報を提供してユーザ間で循環させることによって、気に入らなくなった古いゲームアプリケーションが新しい命を得るのを可能にすることを含む、利点及び長所を提供する。これは、元々、シングルプレイヤ体験のために開発されたゲームアプリケーションのマルチプレイヤ体験を可能にする。例えば、第２のユーザは、第１のユーザに対して、目標を達成する（例えば、ゲームアプリケーションの難しいセクションをクリアする）ために、もしくは、第１のユーザをゲーム世界の面白い部分に連れて行くために、コンパニオンアプリケーションを通して役に立つ情報を提供でき、または、二人のユーザがゲームアプリケーションを同時にプレイしてマルチプレイヤゲーム体験を作成している間、両方のユーザ間の通信を可能にする道を提供できる。このようにして、あるユーザが他のユーザのゲームプレイに参加する新しい形式のマルチプレイヤゲーム体験を可能にする。例えば、各ユーザは、他のユーザのゲームプレイに（例えば、励まし、腕前、反省、祝福、嘲り等）のコメント（例えば、テキスト、オーディオ等）をしてよい。また、第２のプレイヤは、ゲームプレイにキャラクタオーバーレイを挿入することによって、第１のユーザのゲームプレイに直接、参加してよく、第２のユーザは、第１のユーザのゲームプレイに関連付けられたゲーム環境内に挿入したキャラクタを直接、制御する。さらに別の実施形態は、上記成果を提供し、且つ、（例えば、第１のユーザの）シングルゲーム世界内で、ゲームクラウドシステム（ＧＣＳ）で個々に実行される複数のユーザのゲームプレイを統合することを含む追加の利点及び長所を提供する。本開示のさらに別の実施形態は、上記成果を提供し、且つ、ゲームアプリケーションのゲームプレイ内でユーザにより良いユーザ体験を提供することを含むさらなる利点と長所を提供する。例えば、ユーザは、ゲームアプリケーションの困難なセクションに苦闘する必要はなく、コンパニオンアプリケーションを介して、他のユーザの助け（例えば、ステップバイステップのコマンド指示、成功したゲームプレイのビデオ記録等）を求めてよい、または、ゲームアプリケーションの関心のあるセクションを、それらのセクションをランダムに発見する必要なく、（例えば、他のユーザからの情報を通して）直接、発見し得る。また、全員、シングルゲームアプリケーションを同時に、おそらくは単独でプレイしている複数のユーザのゲームプレイを統合する新しい方法で、ユーザは、新しいまたは古いゲームアプリケーションをプレイできる。
【０２３８】
全員、ゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を含むユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を提供する本開示の実施形態は、前述の図１及び図２のシステム内で実施されてよい。
【０２３９】
図１８は、本開示の一実施形態による、ゲームクラウドシステム（ＧＣＳ）内で実行される複数のユーザのためのゲームアプリケーションの同時ゲームプレイを可能にし、且つ、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するシステム図を示し、コンパニオンアプリケーション（「コンパニオンインタフェース」または「コンパニオンアプリケーションインタフェース」とも呼ばれる）は、第１のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。情報は、クラウドソーシング環境において同じゲームアプリケーションをプレイする複数のユーザの現在及び／または過去のゲームプレイに基づいてよく、情報は、複数のゲームプレイの観察及び／または分析を通して決定されてよい。一実施形態においては、コンパニオンインタフェースで提供される情報は、同じゲームアプリケーションを同時にプレイしているユーザのゲームプレイに関連してよく（例えば、情報は、ゲームアプリケーションを同時にプレイしているユーザの友達のゲームプレイに関連しており、情報は、友達間のリアルタイムのインタラクションを提供する）、情報は、ユーザのゲームプレイを進める、または、ユーザ体験をより良くする。別の実施形態においては、第１のユーザは、単独でゲームアプリケーションをプレイしており、第１のユーザのゲームプレイを進める助けになるコンパニオンインタフェースを通して、または、ユーザ体験をより良くするために、情報を受信している。
【０２４０】
図１８に示すように、複数のユーザが、ＧＣＳ１８００に記憶及び／またはＧＣＳ１８００で実行される複数のゲームアプリケーション（例えば、ビデオゲーム）（例えば、Ｇｌ、Ｇ２．．．Ｇｎ）にアクセスできる。詳細には、ユーザ１〜３は、それぞれ、ネットワーク１８２０を通してＧＣＳ１８００にアクセスする。例えば、ユーザ１は、クライアントデバイス１８１５を介してネットワーク１８２０を通してＧＣＳ１８００にアクセスする。クライアントデバイスは、シンクライアント（ゲームアプリケーションをＧＣＳで実行する場合）、または、ゲームアプリケーションの部分的または全体的な実行（例えば、ローカルな実行）を可能にするゲームコンソール等、ＧＣＳ１８００へのネットワーク機能を提供するように構成された少なくともメモリとプロセッサモジュールを有する任意の種類のコンピューティングデバイスであってよい。一実施態様においては、クライアントデバイス１８１５は、ネットワーク１８２０を介してゲームアプリケーションへのアクセスを要求するように、また、ＧＣＳ１８００によって実行され、ユーザ１のディスプレイデバイス１８１３に配信されるゲームアプリケーションのインスタンスをレンダリングするように構成される。クライアントデバイス１８１５は、ゲームコントローラ１８１２、タブレットコンピュータ１８１１、キーボード、ビデオカメラによってキャプチャされるジェスチャ、マウス、タッチパッド等、ゲームアプリケーションのインスタンスにコマンドを提供する様々な種類の入力装置からの入力を受信してよい。第２のコンピューティングデバイス１８１１（例えば、タブレットコンピュータ等）は、ユーザ１にコンパニオンアプリケーションインタフェースへのアクセスを提供し、コンパニオンアプリケーションインタフェースは、全員、同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する追加の情報によって、ユーザ１のゲームプレイをサポートする。ユーザ２とユーザ３は、クライアントデバイス、入力装置、及び、二次コンピューティングデバイスの類似の構成を有し、ユーザ２は、クライアントデバイス１８１７に関連付けられ、ユーザ３は、クライアントデバイス１８１９に関連付けられている。
【０２４１】
より詳細には、ユーザ１〜３は、それぞれ、ＧＣＳ１８００を実行している特定のゲームアプリケーション（「Ｇ１」と指定）の対応するインスタンスにアクセスする。このようにして、ユーザ１〜３は、必ずしもマルチプレイヤゲーム環境を通してではなく、ゲームアプリケーションＧｌを同時にプレイしている。例えば、ユーザ１〜３は、それぞれ、シングルプレイヤモードでゲームアプリケーションＧｌをプレイしていてよいが、コンパニオンアプリケーションインタフェースを通して、ゲームプレイ情報を他のユーザに提供してよい。図に示すように、ユーザ１は、世界地図１８０１に示すように、地理的にアメリカ合衆国の西部におり、ユーザ２は、地理的にオーストラリアにおり、ユーザ３は、日本にいる。
【０２４２】
一実施形態においては、ＧＣＳ１８００は、異なる、及び／または、より詳細な構成を通して、図２のＧＣＳ２０１と類似の機能を提供する。一般的に言うと、ＧＣＳ１８００は、ネットワーク１８２０を介して動作して複数のユーザをサポートするクラウドコンピューティングシステムであってよい。ＧＣＳ１８００は、ＧＣＳ１８００によって提供されるサービスの配信を制御するゲームサーバゲートウェイ１８３０と、１つまたは複数のデータセンタ（例えば、米国ロスアンゼルスにあるデータセンタ１８３１、米国サンフランシスコにあるデータセンタ１８３２、日本にあるデータセンタ１８３２）と、データセンタをサポートするゲームサーバ（例えば、複数のゲームサーバ１８４１が、Ｌ．Ａ．のデータセンタ１８３１をサポートし、複数のゲームサーバ１８４３が、サンフランシスコのデータセンタ１８３２をサポートし、複数のゲームサーバ１８４５が日本のデータセンタ１８３３をサポートする）と、を含む。複数のゲームサーバ１８４１、１８４３、１８４５は、図１及び図２で最初に紹介したゲームサーバ２０５と同様に構成されてよい。詳細には、ゲームサーバゲートウェイ１８３０は、どのデータセンタに、また、できれば、どのデータセンタのどのゲームサーバ（ＧＳ）が、対応するユーザからのサービスの要求を処理すべきかを決定できる。例えば、ゲートウェイ１８３０は、要求したユーザにバックエンドゲームサーバのサポートをどのように割り当てるかを決定するために、他のパラメータに加えて、サービスの質（ＱｏＳ）、要求したユーザに供給または契約される帯域幅、要求したユーザの地理的位置、ユーザをサポートするデータセンタの地理的位置、及び／または、要求されたゲームアプリケーション（すなわち、あるゲームサーバが、要求された特定のゲームアプリケーションを処理するために予め構成または予めロードされる）を考慮してよい。この情報の一部は、データベース１８３５に記憶されたユーザプロフィールを介してアクセスされてよく、ユーザプロフィールは、契約されたＱｏＳ、帯域幅サポート、ユーザの地理的位置等に関する情報を含んでよい。図に示すように、ゲートウェイ１８３０は、Ｌ．Ａ．データセンタ１８３１のゲームサーバ１８４２にユーザ１を割り当て、サンフランシスコのデータセンタ１８３２のゲームサーバ１８４４にユーザ２を割り当て、日本のデータセンタ１８３３のゲームサーバ１８４６にユーザ３を割り当てる。一実施態様において、ゲートウェイ１８３０は、特定のデータセンタにユーザを割り当て、データセンタは、対応するゲームサーバへの要求の配信を処理する。
【０２４３】
図に示すように、ゲームサーバゲートウェイ１８３０は、ユーザ１〜３のユーザプロフィールに、データベース１８３５からアクセスして、現在プレイしているゲームアプリケーション、マッチングのための友達リスト等、コンパニオンアプリケーション機能を提供するのに必要な追加の情報を決定してよい。例えば、ユーザ１のユーザプロフィール１８３９は、ユーザ１がメインディスプレイと第２画面をアクティベートしており、第２画面は、コンパニオンアプリケーションインタフェースを表示するように構成されていることを示してよい。これについて、以下にさらに記載する。また、ユーザ１にとって有用で、且つ、コンパニオンアプリケーションインタフェースを通して提供される友達のゲームプレイの情報にアクセスする目的で、ユーザプロフィールデータベース１８３５は、対応するユーザのユーザプロフィールの友達リストにポピュレートするソーシャルネットワークデータベース１８５０等の他のデータベースからの情報を含んでよい。
【０２４４】
図１９は、本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを生成、実施するのに使用されるシステムのブロック図を示し、コンパニオンアプリケーションは、第１のユーザを含む複数のユーザのゲームプレイに関する情報を提供する。情報は、同じゲームアプリケーションをプレイする複数のユーザの現在及び／または過去のゲームプレイに基づいてよい。このようにして、クラウドソースのコンテンツが、ゲームプレイ中に発見されてよく、そのコンテンツは、同じゲームアプリケーションをプレイする他のプレイヤに役立ってよく、または、より良いユーザ体験をこれら他のプレイヤに提供し得る。例えば、ある実施形態においては、コンパニオンアプリケーションの実施に使用されるコンポーネントは、図１で前述したように、ゲームサーバ２０５のゲームプロセッサ２１０内に含まれてもよく、または、ゲームサーバ２０５内でコンパニオンアプリケーションを提供するように構成された別個のプロセッサ内に含まれてもよい。さらに、ゲームサーバ２０５は、図２のゲームクラウドシステム（ＧＣＳ）２０１内に含まれ、それによって、ＧＣＳ２０１は、第１のユーザがゲームアプリケーションをプレイしている間、コンパニオンアプリケーション機能を第１のユーザに提供するように構成される。別の実施形態においては、コンパニオンアプリケーションの実施に使用されるコンポーネントは、ユーザにとってローカルなゲームプロセッサ内に含まれてよい。
【０２４５】
詳細には、ゲームプロセッサ２１０は、ゲームアプリケーションのインスタンスをインスタンス化するように構成された様々なコンポーネントを含む。ある実施形態においては、ゲームアプリケーションのインスタンスは、ジャンプゲームプレイとしてインスタンス化され、ゲームアプリケーションをプレイしている、または、ゲームアプリケーションに参加しているプレイヤの以前のゲームプレイ中にキャプチャされた（例えば、タイムラインまたはビデオ記録を介してアクセスされる）スナップショットに基づいている。図１で前述したように、ゲームプロセッサ２１０は、ゲーム実行エンジン２１１、スナップショット生成部２１２、タイムライン生成部２１３、ノードグラフ生成部２１４、ＡＩオーバーレイモジュール２１５、及び、ジャンプゲーム実行エンジン２１６を含む。さらに、ゲームプロセッサ２１０は、ビデオプレイヤ１０１０、再生エンジン１０１５、ジャンプゲーム入力マネージャ１０２０、再生開始ポイントセレクタ１０２５等、図１０で前述した追加の構成要素を含んでよい。簡潔且つ明瞭にするために、前述したコンポーネントの全てを図１９に示してはいない。さらに、図１９に示すように、ゲームプロセッサ２１０は、コンパニオンアプリケーション生成部１９４０とレーダ情報生成部１９５０をさらに含み、これらは両方とも、コンパニオンアプリケーション機能を提供するのに用いられる。ゲームプロセッサ２１０の１つまたは複数のコンポーネントは、単独で、または、組み合わせて、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションを実施するように構成可能で、コンパニオンアプリケーションは、シングルプレイヤモードまたはマルチプレイヤモードのいずれかで同じゲームアプリケーションをプレイする複数のユーザのゲームプレイに関する情報を含む。
【０２４６】
詳細には、ゲームサーバ２０５は、複数のインタラクティブなビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームプロセッサモジュール２１０を含む。例えば、ゲームプロセッサモジュール２１０は、（例えば、図２のゲーム実行エンジン２１１で）ゲームアプリケーションのインスタンスを実行するように、また、第１のユーザのクライアントデバイスに表示するレンダリングされる画像を配信するように構成されてよく、レンダリングされる画像は、第１のユーザのゲームプレイに関連して、第１のユーザの対応するクライアントデバイスの入力コマンドに応答する。
【０２４７】
さらに、ゲームサーバ２０５は、第１のユーザのゲームプレイをサポートする機能を提供するコンパニオンアプリケーションを実施するように構成可能である。例えば、コンパニオンアプリケーション生成部１９４０は、友達ガイドモジュール１９２０、友達マッチングモジュール１９１０、指示モジュール１９３０、通信セッションマネージャ１９２５、コーチングモジュール１９１５、友達オブジェクトオーバーレイモジュール１９３５、及び、レーダ情報生成部１９５０を含む。コンパニオンアプリケーションは、第１のユーザが、ゲームアプリケーションをプレイしている間、第１のユーザのゲームプレイに一般的に役に立つ情報にアクセスするのを可能にするインタフェースを提供する。情報は、第１のユーザと、第１のユーザの友達等、他のユーザのゲームプレイに基づく。情報は、ナビゲーションポインタ、関心をひくゲーム特徴とその位置、命令、コーチング、レーダマッピングインタフェース、スナップショット情報やジャンプゲームプレイインスタンス化等の他の機能へのアクセスを含んでよい。
【０２４８】
詳細には、友達マッチングエンジン１９１０は、（例えば、ソーシャルネットワークのプロフィール情報にアクセスすることによって）ユーザプロフィールデータベース１９４０内に含まれる情報に部分的に基づいて、第１のユーザの友達を発見するように、また、第１のユーザと同時に現在ゲームアプリケーションをプレイしている友達グループとユーザをマッチングするように構成される。通信セッションマネージャ１９２５は、コンパニオンアプリケーションを配信、サポートする通信チャネルを確立するように構成され、コンパニオンアプリケーションは、第１のユーザのゲームプレイ中に生成されたレンダリングされた画像を表示、その画像とインタラクトするために使用される主要デバイスとは異なる二次デバイスに表示されてよい。
【０２４９】
コンパニオンアプリケーション生成部１９４０は、レーダ情報生成部１９５０を含む。レーダ情報生成部１９５０は、ゲームアプリケーションのゲーム世界内の関心をひく様々なオブジェクトを第１のユーザに示すレーダマッピングを生成するように構成される。詳細には、オブジェクト生成部１９５２は、第１のユーザ及び他のユーザのゲームプレイに関連付けられたオブジェクトを作成し、第１のユーザのレーダマッピングに配置するように構成される。これらのオブジェクトは、第１のユーザのゲームプレイに関連付けられたキャラクタと、第１のユーザの友達のゲームプレイに関連付けられた他のキャラクタとの位置を含む。このようにして、第１のユーザは、第１のユーザの友達が現在使用しているゲーム世界のエリアにナビゲートすることができ、それによって、両者は、何らかの形式のマルチプレイヤゲームに参加し得る。また、レーダ情報生成部は、レーダマッピング内のゲーム世界の少なくとも一部の輪郭を作成、統合するように構成された世界輪郭生成部１９５１を含む。さらに、レーダ情報生成部は、ゲーム世界内の第１のユーザの向きをレーダマッピングを介して示すように構成された方向付けモジュール１９５３を含む。
【０２５０】
コンパニオンアプリケーション生成部１９４０は、指示モジュール１９３０も含む。指示モジュール１９３０は、ゲームアプリケーションの困難であり得るセクションで第１のユーザに情報を与える、または、第１のユーザを支援する指示を表示するために生成するように構成される。例えば、指示モジュール１９３０は、目標の達成の仕方、または、タスクの完成の仕方等に関する指示を提供してよい。指示は、コンパニオンアプリケーションインタフェースを通して、第１のユーザからの支援の要求に応答して生成されてよく、他のユーザのゲームプレイに基づいてよい。同様に、コーチングモジュールは、第１のユーザを支援するコーチング情報を表示するように構成され、または、他のユーザから送られるライブのコーチングを含んでよく、コーチングは、他のユーザのゲームプレイに基づいてよい。コーチングは、第１のユーザからの支援の要求に応答して生成されてよい。さらに、コンパニオンアプリケーション生成部１９４０は、第１のユーザの友達によって制御される友達ガイドモジュールを含む。例えば、方向オブジェクトは、第１のユーザのキャラクタがゲーム世界で取る適切な方向を示してよく、方向オブジェクトは、友達によって制御される。ガイドモジュール１９２０の説明を目的として、友達は、ボスがいるゲーム世界のエリアを第１のユーザがナビゲートするのを支援してよい。さらに、コンパニオンアプリケーション生成部１９４０は、友達オブジェクトオーバーレイモジュール１９３５を含んでよい。友達オブジェクトオーバーレイモジュール１９３５は、第１のユーザの友達のキャラクタを第１のユーザのゲームプレイに関連付けられたレンダリングされた画像にオーバーレイ及び／または挿入するように構成される。このようにして、第１のユーザと友達は、おそらく、シングルプレイヤモードのみをサポートするように元々は設計されたゲームアプリケーションに、マルチプレイヤゲームモードで参加してよい。
【０２５１】
ゲームサーバ２０５の様々なモジュールの詳細な記載と共に、本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法をフロー図２０００に関連して記載する。詳細には、フロー図２０００は、第１のユーザと、第１のユーザの友達等、一人または複数のユーザのゲームプレイに関する関連情報を提供する方法のステップを示し、ゲームプレイは、特定のゲームアプリケーションに関連して同時に生じている。一般的に、情報は、全てゲームアプリケーションのゲーム世界内の、エリア、関心をひくポイント、目標またはタスクを完了するのに有用な情報等、第１のユーザがゲームアプリケーションを理解するのを支援する。他の情報は、友達のゲームプレイのキャラクタの位置を第１のユーザが見つけるのを支援してよく、それによって、第１のユーザは、コンパニオンアプリケーションを介して他のユーザとインタラクティブなゲームセッション（例えば、コーチング、通信、キャラクタオーバーレイ等）に参加している。
【０２５２】
方法の動作２０１０は、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを実施するように構成された第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することを含む。通信チャネルは、例えば、インターネット等のネットワークを通して実施され、第１のユーザのクライアントデバイスに表示するために、ゲームクラウドシステムのゲームサーバで実行されるゲームアプリケーションのインスタンスによって生成されるレンダリングされた画像を配信するように構成される。通信チャネルは、ゲームアプリケーションのインスタンスの実行を指示するために、クライアントデバイスからの入力コマンドをゲームサーバに送り返すようにも構成される。このようにして、ゲームアプリケーションと関連して、第１のユーザのゲームプレイは、有効にされる。
【０２５３】
方法の動作２０２０は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立することを含む。第２のチャネルは、第１のチャネル（例えば、インターネット）を確立するために使用されるのと同じネットワーク内に構成されてよい、または、異なるネットワーク（例えば、携帯電話ネットワーク）内に構成されてよい。例えば、第２のチャネルは、ビデオ機能及びオーディオ機能を有するタブレットコンピュータとの通信支援を提供してよい。ゲームサーバは、第１のユーザに関連付けられたゲームアプリケーションのインスタンスの実行と、第２のチャネルを通して配信される情報及び／またはデータを制御するように構成されるので、第１のユーザのゲームプレイは、第２のチャネルを介して実施される機能によって強化されてよい。例えば、図１９の通信セッションマネージャ１９２５は、第２のチャネルを確立、維持するように構成されてよい。
【０２５４】
方法の動作２０３０は、第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイとに関連する情報を含むインタフェースを生成することを含み、第１のユーザと第２のユーザは、同時にゲームアプリケーションをプレイしている。他の実施形態においては、情報は、第１のユーザ以外の複数のユーザのゲームプレイに関連する。インタフェースは、第１のユーザの現在のゲームプレイに関連する現在の情報を提供する。このようにして、インタフェースは、他の複数のユーザのゲームプレイに基づいた情報を第１のユーザのゲームプレイに接続できる。
【０２５５】
動作２０４０において、方法は、インタフェースと情報とを第２のチャネルを介して表示のために第２のコンピューティングデバイスに配信することを含む。より詳細には、インタフェースは、第１のユーザの第１のゲームプレイと同時に配信され、それによって、インタフェースを通して提供された情報が第１のゲームプレイをサポートする。例えば、情報は、第１のユーザがゲームアプリケーションを進むのを助ける役立つ情報（例えば、視覚的キュー、テキスト指示、ナビゲーションキュー等の形で）を含んでよい。
【０２５６】
複数のユーザのゲームプレイは、クラウドソースのコンテンツを提供し、クラウドソースから、情報を決定及び／または観察できる。情報は、元になるユーザのゲームプレイを進める支援を提供し、及び／または、より良いユーザ体験を提供する。一つの使用例においては、情報は、ゲームアプリケーションを同時にプレイしている複数の友達等、ゲームアプリケーションを同時にプレイし、各コンパニオンインタフェースを通して互いにインタラクトしている複数の関連するユーザのゲームプレイに基づいている。すなわち、コンパニオンインタフェースは、ユーザ間のリアルタイムインタラクションを提供する。他の使用例においては、情報は、複数のユーザの現在及び／または過去のゲームプレイに基づいており、ユーザは、対応するコンパニオンインタフェースを通して情報を受信する第１のユーザに関連していても関連していなくてもよい。例えば、第１のユーザは、単独でまたは一人でゲームアプリケーションをプレイしてよい。単独の場合、情報（例えば、支援、コーチング等）は、記録されたビデオ画像及び／またはテキストコンテンツの形式で配信されてよい。この情報は、リアルタイムで生成されなくてもよく、ゲーム開発者に関連付けられた（例えば、ゲームメーカー、コンソールメーカー等が採用した）人によって生成されてよく、その人の役割は、各コンパニオンインタフェースを通して伝えられる、ユーザの利益になる情報を生成することである。さらに、第三者（営利ベース、非営利ベース等）が、ゲームをする人々の利益になる情報を生成してよい。さらに、情報は、第１のユーザの友達によって、そのプレイヤまたはグループの友達の利益のためだけに生成されてよい。また、情報は、（例えば、クラウドソースの）ゲームインタフェースをプレイしている他の関連する、及び／または、関連のないユーザによって生成されてよい。
【０２５７】
上記のように、ユーザが生成したコンテンツ（例えば、コンパニオンインタフェースに提示される情報）は、第１のユーザの友達によって、または、ゲームコミュニティの誰か他の人によって生成される。クラウドソースコンテンツは、任意の数の方法で、コンパニオンインタフェースを通して第１のユーザに公表されてよい。例えば、表示される情報は、人気要素を通して決定されてよく、それによって、（例えば、視聴数に基づいて）最も人気のある情報が、コンパニオンインタフェースで公表される。別の実施形態においては、表示される情報は、投票によって決定されてよい（例えば、ユーザは、サムズアップ／サムズダウンのメッセージを通して等情報に対するフィードバックを提供できてよい）。一実施形態においては、表示される情報は、レビュースコア（すなわち、情報の視聴者によって提供される星格付け）を通して決定されてよい。さらに別の実施形態においては、表示される情報は、コンパニオンインタフェースに提供される情報を提供する人の体験（例えば、コンテンツを生成しているユーザがゲームアプリケーションをプレイした時間数）に基づいてフィルタリングされてよい。他の実施形態においては、表示される情報は、規定されたグループ（例えば、第１のユーザと友達関係）によってフィルタリングされてよい。よって、コンパニオンインタフェースで提供される情報は、ゲームアプリケーションをプレイするユーザのコミュニティによって生成されるクラウドソースコンテンツの膨大な領域からフィルタリングできる。このようにして、表示される情報は、ユーザにとってより価値があり、より有益である。
【０２５８】
一実施形態においては、コンパニオンインタフェースの表示に利用可能なクラウドソースコンテンツは、対応するユーザ（例えば、第１のユーザ）によってフィルタリングされる。例えば、どの種類の情報をコンパニオンインタフェースに表示するかをユーザが選択できるようにするスライドバーが、（例えば、対応するコンパニオンインタフェースで）ユーザに提示されてよい。一実施形態においては、スライドバーを使用して、ユーザのペルソナを規定してよく、情報は、そのペルソナに応じて対応するコンパニオンインタフェースに表示される。説明のために、ゲームのエキスパートであるユーザは、対応するコンパニオンインタフェースに表示される情報に、おそらく極端なフィルタを使用し、それによって、情報はほとんど表示されない、または、全く表示されない。他方、比較的ゲーム経験のない、ゲームアプリケーションのプレイが下手である、及び／または、プレイする時間が限られた（例えば、素早く、ゲームアプリケーションを終えたい、または、とても忙しい）ユーザは、おそらく、軽いフィルタを使用して、関連情報をできるだけ多く、対応するコンパニオンインタフェースに表示する。
【０２５９】
クラウドソースコンテンツをフィルタリングする目的のためにどのようにユーザを規定し得るかを示す様々な例示のペルソナは、純粋主義者（Ｐｕｒｉｓｔ）、ハードコアゲーマー（Ｈａｒｄｃｏｒｅ  Ｇａｍｅｒ）、完全主義者（Ｃｏｍｐｌｅｔｉｏｎｉｓｔ）、社交的ゲーマー（Ｓｏｃｉａｌ  Ｏｎｅ）、カジュアルゲーマー（Ｃａｓｕａｌ  Ｏｎｅ）、及び、熱心で下手なゲーマ（Ｅａｒｎｅｓｔ  Ｔｅｒｒｉｂａｄ）を含むが、これらに限らない。純粋主義者は、ゲーム攻略本／ガイドを好まないことがあり、元のゲーム／ストーリーに対するいかなる変更にも敏感で、常に、特定の発行者／フランチャイズ／ジャンルのゲームだけをプレイする。純粋主義者は、ゲームアプリケーションのプレイによってのみ開錠できるが、ゲームの結果／筋には関係がないこともある報奨品（例えば、ゲーム発行者／開発者によって提供されるイースターエッグ）を欲しがる／必要とする。ハードコアゲーマーは、全てのプラットフォームの全てのゲームをプレイし、（純粋主義者とは異なり）ガイド／攻略本を使用することが全く嫌ではでない場合もあり、ゲームアプリケーションの全てを完了すること無しに信頼性のために最後までプレイしたく（例えば、単に終了したい）、且つ、ゲームアプリケーションをどれだけ素早く終了できるかを最適にする情報を求める。ハードコアゲーマーは、セクションのスキップを可能にする近道、または、セクションの最後に素早く到達する方法に関するヒントを明らかにするビデオ攻略本及び／またはプロのアドバイスまたはチャットを欲しがる。完全主義者は、タイプによってさらに規定されてよく、タイプは、次のタイプを含むが、これらに限定されない。すなわち、アイテムタイプは、ゲームアプリケーションのあらゆるアイテムまたは最良のアイテムを得る必要があり、探求タイプは、可能なあらゆる探求／ストーリーを終了する必要があり（例えば、伝承主義者（ｌｏｒｅ−ｉｓｔ））、探検タイプは、全てのイースターエッグを知って探す必要があり、クラスタイプは、異なる組立／クラス（例えば、容易なレベル、難しいレベル等）のゲームを再生する。完全主義者は、可能な限り開発者によって規定された達成システムを望む（例えば、開発者／発行者は、アプリケーション固有の達成を提供する）。社交的ゲーマーは、友達がゲームをしているので、ゲームアプリケーションにプレイまたはトライし、ゲームアプリケーションをプレイしている友達とのソーシャルインタラクション（例えば、チャット）の方に関心があり、ギルド／クランに関心があり、且つ、通常、フォーラムで積極的である。社交的ゲーマーは、一人または複数の友達とのマルチプレイヤ体験（例えば、コンパニオンインタフェースを通して促進される協調マルチプレイヤ体験）で強化され得るシングルプレイヤゲームを望み、メッセージング機能（例えば、メッセージプラットフォーム）を好み、友達リストを利用し、ゲーム内チャットを実施する。カジュアルゲーマーは、ゲームアプリケーションをプレイすることを楽しみ、コンテンツのほとんどを体験したいだけで（例えば、ゲームアプリケーションを終了するか否かは気にしない）、楽しみのためにプレイする（例えば、楽しくなければ、ゲーム���プリケーションを止める）。カジュアルゲーマーは、ゲームアプリケーションを素早く終えるために攻略本／ガイドを使用する可能性が高く、できるだけ多くの情報が欲しいので、ネタバレは気にしない。熱心で下手なゲーマーは、一般的にゲームアプリケーションのプレイが実に下手であるが、真にゲームをプレイすることを楽しんでおり、他の人がゲームアプリケーションをプレイするのを見て楽しむことが多く、ゲームアプリケーションで次にすることに関して多くの援助／助け／アドバイスを必要とする傾向があり、ゲームアプリケーションをプレイするのに必要な様々なビルド／技術（例えば、プレイの仕方）を熱心で下手なゲーマーに指導する（例えば、指示を与える）友達からの助けを歓迎する。
【０２６０】
一実施形態においては、コンパニオンインタフェースで特定の情報を見た後、その情報に対するフィードバックを与えることができるインタフェースをユーザは提供されてよい。例えば、インタフェースは、数字による格付け（例えば、５のうちの４）、星格付け（５のうち星三つ）、または、二値による格付けシステム（例えば、（サムズアップ／サムズダウン）等、格付けシステムを実施してよい。この格付け情報は、上記のように、他のユーザに提示されるクラウドソースコンテンツのフィルタリングに使用されてよい。
【０２６１】
一実施形態においては、他のユーザは、第１のユーザの友達を含む。例えば、方法は、第１のユーザの第１のユーザプロフィールにアクセスすることを含んでよい。第１のユーザプロフィールは、第１のユーザに関する情報を含み、また、第１のユーザが現在プレイしているゲームアプリケーションと、第１のユーザの友達と、コンパニオンアプリケーションが有効にされているか否か、コンパニオンアプリケーションインタフェースを対応するユーザに対してどのように表示するか等を含んでよい。第１のユーザプロフィールにアクセスして、ゲームアプリケーションを同時にプレイしている複数の第１のユーザの友達を決定してよい。ユーザの友達は、１つまたは複数のソーシャルネットワーク（例えば、ソーシャルメディアプロバイダ２４０）のユーザのプロフィールにアクセス、相互参照することによって部分的に決定されて、図１８のゲームクラウドシステムＧＣＳ１８００のユーザのネットワークの（例えば、友達の関連付けを用いて）ユーザプロフィールを強化してよい。さらに、ＧＣＳ１８００は、ゲームアプリケーションの複数のインスタンスのインスタンス化と実行をサポートするので、対応するユーザが分かり、データベース１８５０に記憶されたユーザプロフィール内に記憶される。このようにして、ゲームアプリケーションを現在、同様にプレイしている第１のユーザの友達を決定できる。例えば、ユーザ２（第１のユーザの友達）のユーザプロフィールにアクセスして、ユーザ２も現在ゲームアプリケーションをプレイしているか否かを決定してよい。
【０２６２】
例えば、図２１Ａ〜図２１Ｃは、本開示の実施形態による、第１のユーザ （例えば、ユーザ１）と第１のユーザの二人の友達（例えば、ユーザ２とユーザ３）とのゲームプレイを示す。図に示すように、ユーザ１に関連付けられたローカルゲームシステムは、少なくとも図１８に関して前述したように、対応する第１の通信チャネルを介してゲームクラウドシステム（ＧＣＳ）でゲームアプリケーションのインスタンスとして実行されるようにユーザ１のゲームプレイをサポートするクライアントデバイス２０１５、ディスプレイ２０１３、及び、コントローラ２０１２を含む。第２のデバイス（例えば、タブレット）２０１１は、対応する第２の通信チャネルを介してコンパニオンインタフェースを提供し、ＧＣＳによってサポートされる。同様に、ユーザ２に関して、ローカルゲームシステムは、少なくとも図１８に関して前述したように、対応する第１の通信チャネルを介してＧＣＳでゲームアプリケーションのインスタンスとして実行されるようにユーザ２のゲームプレイをサポートするクライアントデバイス２１０５、ディスプレイ２１０３、及び、コントローラ２１０２を含む。第２のデバイス（例えば、タブレット）２１０１は、対応する第２の通信チャネルを介してコンパニオンインタフェースを提供し、ＧＣＳによってサポートされる。同様に、ユーザ３に関して、ローカルゲームシステムは、少なくとも図１８に関して前述したように、対応する第１の通信チャネルを介してＧＣＳでゲームアプリケーションのインスタンスとして実行されるようにユーザ３のゲームプレイをサポートするクライアントデバイス２１２５、ディスプレイ２１２３、及び、コントローラ２１２２を含む。第２のデバイス（例えば、タブレット）２１２１は、対応する第２の通信チャネルを介してコンパニオンインタフェースを提供し、ＧＣＳによってサポートされる。
【０２６３】
三人のユーザ１〜３は全て、ＳＯＮＹ  Ｃｏｍｐｕｔｅｒ  Ｅｎｔｅｒｔａｉｎｍｅｎｔ（ＳＣＥ）発行の「ゴッド・オブ・ウォー（Ｇｏｄ  ｏｆ  Ｗａｒ）」シリーズ（ストーリーは、神話の神の世界で困難に陥る戦士クレイトスを中心に展開する。クレイトスは、最初、軍神アレスに操られて、自分の妻と娘を殺す）のゲーム版のうちの１つ等、同時に同じゲームアプリケーションＧｌをプレイしている。例えば、図２１Ａ〜図２１Ｃは、本開示の一実施形態による、対応するディスプレイに示されるユーザ１〜３のゲームプレイの現在のシーンを示し、ゲームプレイは、ゲームアプリケーションの進行のレベルが異なっていることを示している。詳細には、図２１Ａは、ディスプレイ２０１３のウインドウ２０１７にユーザ１（例えば、第１のユーザ）のゲームプレイを示し、ステージングエリアまたはプラットフォームにいるクレイトスを示す。図２１Ｂは、ユーザ２（例えば、第２のユーザ、第１のユーザの第１の友達とも呼ばれる）のゲームプレイをディスプレイ２１０３のウインドウ２１０７に示し、クレイトスは、神ゼウスと向かい合っており、ゼウスは、アレスがクレイトスの手で亡くなった後、新しい軍神となったクレイトスの死を企てている。図２１Ｃは、ディスプレイ２１２３のウインドウ２１２７にユーザ３のゲームプレイを示しており、クレイトスは戦っている。
【０２６４】
ユーザ１〜３は、シングルプレイヤモードまたはマルチプレイヤモードでプレイしてよい。さらに、第１のユーザ（例えば、ユーザ１）は、第１のユーザのゲームプレイの利益のために、ユーザ１〜３の全てのゲームプレイからの情報の収集と配信を可能にするコンパニオンアプリケーションを有効にした。また、コンパニオンアプリケーションは、第１のユーザのゲームプレイの利益になる情報を配信するため、第１のユーザと一人または複数の他のユーザとの間の通信を含んでよく、それによって、第１のユーザのゲームプレイを中心とした何らかの形態のマルチプレイヤ参加を可能にする（例えば、第１のユーザのゲームプレイに関して支援を提供する）。
【０２６５】
さらに、コンパニオンインタフェースは、コンテンツを一人または複数の友達と共有するために、第１のユーザによって使用されてよい。ゲームアプリケーションをプレイしている第１のユーザの友達は、発見可能で、分かっており、友達の位置は、ゲーム環境内で分かっているので、コンパニオンインタフェースは、一人または複数の友達との情報の共有をユーザに提案、及び／または、ユーザが共有するのを可能にするように構成されてよい。例えば、「あなたの友達のＧａｒｙがゴッド・オブ・ウォーの同じレベルをちょうど今プレイしています。このビデオ（例えば、チュートリアル、第１のユーザのゲームプレイ等）を彼と共有して、彼を助けたいですか？」等のメッセージが、第１のユーザに提示されてよい。
【０２６６】
図２２Ａ〜図２２Ｄは、コンパニオンアプリケーションインタフェースの様々な実施形態を示す。例えば、図２２Ａは、レーダマッピングを示し、図２２Ｂは、第１のユーザ（例えば、ユーザ１）の友達をゲームプレイに示し、図２２Ｃは、ボスを倒すのを助けるために提供される指示を示し、図２２Ｄは、第１のユーザにナビゲーション支援を提供するガイド機能を示す。
【０２６７】
より詳細には、図２２Ａは、図１８と図２１Ａ〜図２１Ｃで紹介された第１のユーザ等、ゲームアプリケーションをプレイしている第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース２２００Ａを示す。インタフェース２２００Ａは、本開示の一実施形態による、ゲームアプリケーションのゲーム世界の他のオブジェクトの位置に対する、第１のユーザ（例えば、ユーザ１）のゲームプレイに関連付けられた第１のキャラクタの位置を示すレーダマッピング２２１０Ａを含み、オブジェクトは、第１のユーザ（例えば、ユーザ１）と第２のユーザ（例えば、ユーザ１の友達）のゲームプレイで生成される。図に示すように、ユーザ１の第１のキャラクタは、同心円によって表されるレーダマッピング２２１０Ａの中心２２０５に位置する。中心２２０５は、第１のキャラクタの位置を表すために拡大され、黒くされてよい。さらに、関心をひく複数のオブジェクトが、レーダマッピング２２１０Ａの複数の位置に示される。例えば、ユーザ２のキャラクタオブジェクトの位置２２０７は、中心２２０５の北側にあり、ボスキャラクタの位置２２０４は、中心２２０５の北側であるが、ユーザ２のキャラクタオブジェクトより近くにあり、関心をひくポイント（ＰＯＩ）の位置２２０６は、中心２２０５のほぼ東側にあり、他のＰＯＩの位置２２０３は、中心２２０５のほぼ南側にあり、ユーザ３のキャラクタオブジェクトの位置２２０２は、中心２２０５のほぼ南西にある。図２２Ａに示すオブジェクトは、説明のためだけに提供されており、実施形態において、他のオブジェクト（タスクを達成する位置）が、インタフェース２２００Ａに提供されてよい。
【０２６８】
一実施形態においては、レーダマッピング２２１０Ａは、一般的なもので、レーダマッピングを通して提供されるゲーム世界の他のオブジェクトに対して、ユーザ１に関連付けられた第１のキャラクタがどこにいるかの素早い参照を提供するが、ゲーム世界の直接的な参照（例えば、ゲーム世界の特徴またはランドマーク）を有する必要はない。すなわち、レーダマッピング２２１０Ａは、図２２Ａに示す中心２２０５の第１のユーザの第１のキャラクタの位置と複数のオブジェクトの位置との間の複数の方向関係を提供する。レーダマッピングは、（例えば、ゲーム世界の小さい部分またはより大きい部分を含むように）任意の範囲にスケーリングできる。
【０２６９】
別の実施形態においては、レーダマッピング２２１０Ａは、レーダマッピング２２１０Ａにオーバーレイまたは重ね合わせてよい世界輪郭２２０１によって表されるように、ゲーム世界の参照を備える。このようにして、第１のユーザは、レーダマッピング２２１０Ａを世界輪郭２２０１と組み合わせて使用することによって、自分のキャラクタと他の関連するオブジェクトとをゲーム世界に配置できる。
【０２７０】
一実施形態においては、ユーザ１のゲームプレイに関連付けられた第１のキャラクタを表すオブジェクトは、方向オブジェクトである。すなわち、方向オブジェクトは、ゲーム世界内の第１のキャラクタの視点の一般的な向きを示す。例えば、中心２２０５の拡大円は、拡大円から視点の方向に延びる矢印を用いる等、視点の方向を示すように強化されてよい。別の実施形態においては、レーダマッピング２２１０Ａは、第１のキャラクタの視点を用いて回転されてよい。
【０２７１】
図２２Ａに示すように、サイドバー２２０９は、コンパニオンアプリケーションによって提供される追加の機能及びその機能に関する情報へのナビゲーションまたはアクセスを提供する。サイドバー２２０９は、インタラクティブブロックを含み、インタラクティブブロックは、（例えば、クリックによって）選択されると、ユーザ１によるこれらの機能へのアクセスが提供される。実施形態において、インタラクティブブロックは、任意の形態の選択可能なアイコンまたは手段によって有効にされてよい。例えば、ブロック２２１１は、ゲームアプリケーションを現在プレイしている友達のリストへのアクセスを「ＦＲＩＥＮＤＳ」機能を介してユーザ１に提供し、ブロック２２１２は、第１のユーザが訪れるべきゲーム世界内の必要な位置に関する情報へのアクセスをユーザ１に提供し、ブロック２２１３は、ブロック２２９１によって提供されるボスに関する情報等、ゲーム世界内の関心を引くゲーム特徴に関する情報へのアクセスを提供し、ブロック２２１4は、友達またはエキスパートの記憶したゲームプレイの部分を含む友達またはエキスパートによるコーチングビデオ、または、友達またはエキスパートの指示ガイドを提供するビデオ記録に関する情報へのアクセスを提供し、ブロック２２１５は、友達のコーチングビデオへのアクセスを提供し、ブロック２２１６は、エキスパートのコーチングビデオへのアクセスを提供し、ブロック２２１７は、友達またはエキスパートによるコーチング指示に関する情報（例えば、指示の直接の通信、または、以前記録されたゲームプレイに基づいた指示）へのアクセスを提供し、ブロック２２１８は、友達からのコーチング指示へのアクセスを提供し、ブロック２２１９は、エキスパートからのコーチング指示へのアクセスを提供し、ブロック２２２０は、友達によって制御される誘導に関する情報へのアクセスを提供する。これらの機能の追加の詳細を図２２Ｂ、図２２Ｃ、図２２Ｄに関連して、以下に記載する。
【０２７２】
図２２Ｂは、本開示の一実施形態による、ゲームアプリケーションに関連して、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース２２００Ｂを示す。例えば、図２２Ａのブロック２２１１の「ＦＲＩＥＮＤＳ」機能を選択した後、インタフェース２２００Ｂが、第２の通信チャネルを介してユーザに提示され、ユーザ１（例えば、第１のユーザ）の友達リストと、それらのユーザそれぞれに関する情報とを含む。
【０２７３】
例えば、ユーザ２は、友達であり、ユーザ２の関連情報２２３０は、ユーザ２が現在、ゲームアプリケーションＧｌをプレイしていること、ユーザ２が地理的にオーストラリアにいること、また、ユーザ２のゲームプレイが、図２１Ｂのウインドウ２１０７に示すように対応するキャラクタがゼウスに会っていることを示すことの表示を含む。追加の機能へのアクセスも、インタフェース２２００Ｂに備えられてよい。例えば、一実施形態においては、インタラクティブアイコン２２３１が、ユーザ１のキャラクタが、ユーザ２のゲームプレイに参加することを可能にする。別の実施形態においては、アイコン２２３１を選択することによって、ユーザ１は、ユーザ２をユーザ１のゲームプレイに参加するように招待している。さらに、インタラクティブアイコン２２３２は、ユーザ２のゲームプレイのタイムラインを、例えば、インタフェース２２００Ｂ内に示すことを可能にする。このようにして、ユーザ１は、タイムラインで特定のスナップショット画像を選択して、上記のように、ユーザ２のゲームプレイ中にキャプチャされた対応するスナップショットに基づいて、ジャンプゲームプレイを開始できる。
【０２７４】
また、ユーザ３は、友達（ユーザ１の第１の友達とも呼ばれる）であり、ユーザ３の関連情報２２３５は、ユーザ３が現在ゲームアプリケーションＧｌをプレイしていること、ユーザ３は、地理的に日本にいること、また、ユーザ３のゲームプレイは、図２１Ｃのウインドウ２１２７に示すように、対応するキャラクタが戦闘中であることを示すことの表示を含む。追加の機能へのアクセスも、インタフェース２２００Ｂに備えられてよい。例えば、一実施形態においては、インタラクティブアイコン２２３６が、ユーザ１のキャラクタがユーザ３のゲームプレイに参加するのを可能にする。別の実施形態においては、アイコン２２３６を選択することによって、ユーザ１は、ユーザ３をユーザ１のゲームプレイに参加するように招待している。また、アイコン２２３８を選択することによって、ユーザ１は、ユーザ３との通信セッションを確立している。
【０２７５】
さらに、インタラクティブアイコン２２３７は、ユーザ３のゲームプレイのタイムラインを、例えば、インタフェース２２００Ｂ内に示すのを可能にする。このようにして、ユーザ１は、タイムラインの特定のスナップショット画像を選択して、上記のように、ユーザ３のゲームプレイ中にキャプチャされた対応するスナップショットに基づいて、ジャンプゲームプレイを開始できる。例えば、タイムラインは、ユーザ３のゲームプレイに関連付けられた複数のスナップショット画像を含む複数のサムネイルを含み、複数のスナップショット画像は、複数のスナップショットに対応し、第１のスナップショットは、第１のスナップショットがキャプチャされたゲームアプリケーションのポイントから始まるゲームアプリケーション（例えば、ジャンプゲームプレイ）のインスタンスの実行を可能にする。詳細には、ジャンプゲームプレイは、ユーザ１によるタイムラインの第１のスナップショット画像の選択を受信し、ユーザ１の第１のスナップショットに基づいて、ゲームアプリケーションの他のインスタンスを開始することに応答して、インスタンス化されてよい。ジャンプゲームプレイは、第１の通信チャネルまたは第２の通信チャネルを介して（例えば、コンパニオンインタフェースを通して）実施されてよい。
【０２７６】
さらに、ウインドウ２２３９のレーダマッピング２２１０Ｂが、インタフェース２２００Ｂに示される（例えば、上部右側の隅に位置する）。レーダマッピング２２１０Ｂは、図２２Ａのレーダマッピング２２１０Ａのフィルタリングされたバージョンで、ユーザ２とユーザ３等、友達に関する情報を示す。例えば、レーダマッピング２２１０Ｂは、友達の各ゲームプレイに関連して、ゲームアプリケーションのゲーム世界で発見された友達の位置に対するユーザ１の位置を示す。すなわち、ユーザ１のゲームプレイに関連付けられたキャラクタの位置（例えば、中心２２０５）が、他のユーザのキャラクタを表すオブジェクトに関連して示される。例えば、ユーザ２のキャラクタオブジェクトの位置２２０７は、中心２２０５の北側にあり、ユーザ３のキャラクタオブジェクトの位置２２０２は、中心２２０５の南西側にある。さらに、様々なユーザに関連付けられたキャラクタの位置が、上記のように、ゲーム世界の輪郭２２０１に対してさらに参照されてよい。
【０２７７】
図２２Ｃは、本開示の一実施形態による、ゲームアプリケーションに関連して、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションインタフェース２２００Ｃを示す。詳細には、インタフェース２２００Ｃの線２２５８の左側の部分２２５９は、ゲームアプリケーションのゲーム世界内のユーザ１（例えば、第１のユーザ）の位置を示すレーダマッピング２２１０Ｃと、ゲーム世界内の第２のユーザ（例えば、ユーザ３）の位置を指す方向ポインタ２２５１とを含む。例えば、インタフェース２２００Ｃは、関心をひくゲーム特徴へのアクセスを提供するブロック２２１３等、図２２Ａの１つまたは複数のインタラクティブブロックの選択に応答して、生成されてよい。図に示すように、ユーザ１は、レーダマッピング２２１０Ｃの中心２２５２に位置する。レーダマッピング２２１０Ｃは、ボスの位置２２５３、ユーザ３のゲームプレイに関連付けられたキャラクタを指す方向ポインタ２２５１等、図２２Ａのレーダマッピング２２１０Ａの関心をひく特徴に関する情報のみを含むバージョンであってよい。
【０２７８】
さらに、コンパニオンアプリケーションインタフェース２２００Ｃは、ボス（例えば、図２２Ａのボス２２０４）を倒す等、タスクの完了の仕方に支援を提供する。支援は、友達（例えば、ユーザ３）にコーチング指示を要求するブロック２２１８を選択することによって、または、上記のようにブロック２２９１を選択することによって、有効にされてよい。応答して、情報の指示機能が生成され、指示機能は、目的を達成するためにユーザ１が実施できるコマンドのリストを含む。指示機能は、必ずしもユーザ３からの直接の入力である必要はなく、ユーザ３のゲームプレイにさらに基づいてよい。詳細には、指示シーケンス２２６５（例えば、右ボタン、左ボタン、Ａボタン等）が、インタフェース２２００Ｃの線２２５８の右側のセクション２２６９に提供される。指示シーケンス２２６５は、目的達成に（例えば、ボスを倒す）助けを求めるユーザ１の第１のコンピューティングデバイスからの要求を受信することに応答して、生成されてよい。
【０２７９】
さらに、支援は、以前に記憶されたゲームプレイのビデオ記録の形態で提供されてよい。例えば、支援は、友達（例えば、ユーザ３）のコーチングビデオを要求するブロック２２１５の選択を通して、または、上記のようにブロック２２９１の選択を通して、有効にされてよい。応答して、情報のコーチング機能が、生成される。コーチング機能は、ユーザ３のゲームプレイに基づいて、以前の目的達成を示すビデオ記録またはビデオクリップを含む。別の実施形態においては、コーチングビデオは、ゲームアプリケーションのある一定の部分へのアプローチの仕方に関する友達またはエキスパートが準備した指示ビデオであってよい。
【０２８０】
さらに、ビデオ記録は、上記のようにジャンプゲームまたはジャンプゲームプレイの開始を可能にするように構成されてよい。例えば、ジャンプゲームは、ユーザ１の第１のコンピューティングデバイスから、ビデオ記録に基づいて、ユーザ３のゲームプレイのジャンプポイントの選択を受信することに応答して、開始されてよい。ゲームアプリケーションの他のインスタンスは、ビデオ記録で参照したスナップショットに基づいて開始され、スナップショットは、ユーザ３のゲームプレイ中にキャプチャされたものである。
【０２８１】
さらに、コンパニオンインタフェース２２００Ｃは、ユーザ３等他のユーザとの通信セッションの形式で、支援を提供してよい。例えば、通信セッションは、図２２Ｂのインタラクティブアイコン２２３８の選択によって有効にされてよい及び／または確立されてよい。具体的には、ウインドウ２２５０は、通信チャネルを介してユーザ３のライブメディアストリームを表示してよい。例えば、ウインドウ２２５０は、インタフェース２２００Ｃ内に組み込まれてよい。ライブメディアストリームは、ユーザ３のストリーミングビデオ、及び／または、ユーザ３のストリーミングオーディオを含んでよい。さらに、方向ポインタ２２５１は、ユーザ１とユーザ３との間の通信セッションを確立することに応答して、生成されてよい。このようにして、ユーザ１は、ユーザ３が体験しているゲーム世界の位置に素早くナビゲートし得る。例えば、ユーザ３は、ゲームアプリケーションのエキサイティングな部分にいて、ユーザ１は、自分のゲームプレイで同じ体験をしたい。ユーザ１は、その位置まで旅をするので、ユーザ１とユーザ３との間の通信は、旅体験を強化してよい。例えば、ユーザ３は、ユーザ１がゲームアプリケーションで何を予測すべきかに関する役に立つヒントを提供してよい、または、ユーザ３は、ユーザ１とたわいない会話をしてよい。
【０２８２】
図２２Ｄは、本開示の一実施形態による、ゲームアプリケーションの第１のインスタンスの実行に関連して、ユーザ１のゲームプレイの現在のシーン２２７０を示し、現在のシーン２２７０は、ゲームアプリケーションのゲーム世界内のガイドをオブジェクトに提供する方向ポインタ２２７５を含む。方向ポインタは、インタフェース２２００Ａで図２２Ａのブロック２２２０を選択することに応答して、生成されてよく、ユーザ１は、友達（例えば、ユーザ３）からのガイドを求めている。例えば、ユーザ１は、図２１Ａに関して前述した現在のシーン２２７０のステージエリアまたはプラットフォームからどの方向に進むべきかを知りたい。よって、制御可能なガイドアイコン（例えば、方向矢印）が、ユーザ１のディスプレイ２０１３のウインドウ２２９０に表示するために、第１のゲームプレイに対して生成された現在のシーン２２７０に挿入またはオーバーレイされてよい。例えば、方向ポインタは、第１のオブジェクト（例えば、第２のユーザのゲームプレイに関連付けられたキャラクタの位置）、または、コンパニオンアプリケーションインタフェースを介して選択可能な表示オブジェクト（ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  ｏｂｊｅｃｔ）（例えば、タスクパフォーマンスの位置）の方向を指す。一実施形態においては、さらに、方向ポインタは、ユーザ３のゲームプレイに基づき、オブジェクトは、ゲームプレイの特定の位置に存在することが分かっている。別の実施形態においては、方向ポインタ２２７５は、ユーザ３によって制御可能である。具体的には、コマンド指示が、ユーザ３（第２のユーザとも呼ばれる）のコンピューティングデバイス（例えば、クライアントデバイス２１２５）から第１の通信チャネルを介して受信される。コマンド指示は、現在のシーン２２７０内の方向ポインタ２２７５を方向付ける。方向ポインタ２２７５は、ユーザ１のゲームプレイに対してゲームアプリケーションのインスタンスを実行するバックエンドゲームクラウドシステムによって、ゲームアプリケーションへのオーバーレイとして生成されてよい。
【０２８３】
図２３には、ゲームアプリケーションをプレイするユーザ１（第１のユーザとも呼ばれる）の現在のゲームプレイを示す第１画面２３２０と、ユーザ１のゲームプレイをサポートするコンパニオンアプリケーションインタフェースを含むサイドバーまたは第２画面２３２５との分割画面２３００が表示されている。すなわち、ユーザ１によってアクセス可能な第２のコンピューティングデバイスに表示するために第２の通信チャネルを通してコンパニオンアプリケーションインタフェースを提供するのではなく、ユーザ１のゲームプレイの表示と共にインタフェースを提供する。すなわち、コンパニオンアプリケーションインタフェースは、第１の通信チャネルを介してユーザ１のコンピューティングデバイスに配信され、例えば、分割画面２３００のサイドパネルに表示される。詳細には、分割画面２３００の第１の部分２３２０は、ユーザ１（例えば、第１のユーザ）のゲームプレイから取った現在のシーン２２７０を示し、クレイトスが、ステージプラットフォームまたはエリアにいて、現在のシー２２７０は、ユーザ１に関連して、図２１Ａで紹介したシーンと一致する。分割画面２３００の第１の部分２３２０は、線２３１５の左側に位置するように示される。
【０２８４】
図２２Ａで最初に紹介したコンパニオンアプリケーションインタフェースは、分割画面２３００の第２の部分２３２５に提供され、第２の部分２３２５は、線２３１５の右側に位置する。コンパニオンアプリケーションは、レーダマッピング２２１０Ａを含み、レーダマッピング２２１０Ａは、ユーザ１と、ユーザ１の少なくとも一人の友達（例えば、第２のユーザとも呼ばれるユーザ３）とのゲームアプリケーションのゲームプレイで生成されるゲーム世界内の他のオブジェクトの位置に対するゲームアプリケーションのゲーム世界内のユーザ１の位置を示す。さらに、第２の部分２３２５に示されるコンパニオンアプリケーションインタフェースは、図２２Ａに関して前述したコンパニオンアプリケーションによって提供される追加の機能または追加の機能に関する情報へのナビゲーションを提供するサイドバー２２０９を含む。
【０２８５】
ネットワークを介して通信するゲームサーバとユーザのクライアントデバイスとの様々なモジュールの詳細な記載と共に、本開示の一実施形態による、第１のユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施を含むゲーム方法を、図２４のフロー図２４００に関連して記載する。コンパニオンアプリケーションは、全員、ゲームアプリケーションの複数のインスタンスによってクラウドベースのゲームシステム内で実行される同じゲームアプリケーションを同時にプレイしている複数のユーザのゲームプレイに関する情報を提供する。フロー図２４００は、ユーザのクライアントデバイスにネットワークを介して表示される情報を生成する目的で、ゲームサーバ側で行われる動作のプロセス及びデータフローを示す。
【０２８６】
動作２４１０において、方法は、第１のユーザの第１のゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスを確立することを含む。例えば、前述したゲームクラウドシステム（ＧＣＳ）内で動作するゲームサーバが、第１のゲームプレイに関連して、第１のインスタンスをインスタンス化、実行して、第１のユーザのクライアントデバイスに表示するレンダリングされた画像を生成するように構成される。
【０２８７】
動作２４２０において、方法は、第２のユーザの第２のゲームプレイに関連して、ゲームアプリケーションの第２のインスタンスを確立することを含む。第２のユーザは、第１のユーザの友達である。例えば、ＧＣＳの同じまたは他のゲームサーバは、第２のゲームプレイに関連して、ゲームアプリケーションの第２のインスタンスをインスタンス化、実行して、第２のユーザのクライアントデバイスに表示するレンダリングされた画像を生成するように構成される。
【０２８８】
よって、ＧＣＳは、第１のユーザと第２のユーザのゲームプレイに関連して、ゲームアプリケーションの両方のインスタンスを実施、サポートできる。ゲームクラウドシステムが、ゲームアプリケーションの第１のインスタンスと第２のインスタンスの実行を制御するので、第１のユーザと第２のユーザの両方のゲームプレイ内で生成されるデータ及び情報は、第１のユーザのゲームプレイを支援するために第１のユーザに通信されてよい。さらに、第１のユーザと第２のユーザの両方のゲームプレイ内で生成されたデータ及び情報は、第１のユーザのゲームプレイに統合されて、第１のユーザのゲームプレイへのマルチプレイヤ参加を提供してよい。同様に、データ及び情報は、第２のユーザのゲームプレイを支援するように、且つ、第２のユーザのゲームプレイへのマルチプレイヤ参加を提供するように使用されてよい。よって、データ及び情報を使用して、いずれかのユーザのゲームプレイをサポートしてよいが、簡潔で明瞭にするために、第１のユーザのゲームプレイをサポートするという文脈内でデータ及び情報の使用及び実施を記載する。
【０２８９】
動作２４３０において、方法は、第１のユーザと第２のユーザが友達関係を有し、両方のユーザが、ゲームアプリケーションを同時にプレイしていると決定することを含む。詳細には、ゲームクラウドシステムは、第１のユーザと第２のユーザのゲームプレイに関連して、ゲームアプリケーションのインスタンスを実行するので、第１のユーザと第２のユーザのゲームクラウドシステム内のユーザプロフィールが、ユーザ間の友達関係を決定するのに必要なデータを提供し得る。例えば、ユーザプロフィールは、対応するユーザに関する情報を含み、どのゲームアプリケーションが現在プレイされているかと、友達リストと、コンパニオンアプリケーションが有効にされているか否か等を含んでよい。詳細には、ゲームアプリケーションの第１のインスタンスと第２のインスタンスがインスタンス化されているので、第１のユーザと第２のユーザのユーザプロフィールが更新されて、第１のユーザと第２のユーザが現在、ゲームアプリケーションをプレイしていることを示す。さらに、ゲームクラウドシステム内のユーザプロフィールは、特定のユーザの友達リストにポピュレートする等のために、他のソーシャルネットワークを通して生成されたプロフィールからの情報で強化されてよい。このようにして、ゲームクラウドシステムのユーザプロフィールの友達リストは、絶えず、更新される。よって、両方のユーザプロフィールにアクセスし、ゲームクラウドシステムのプロフィールを相互参照することによって、第１のユーザと第２のユーザが友達であり、ゲームアプリケーションをプレイ中であると決定することが可能である。
【０２９０】
動作２４４０において、方法は、第１のユーザに関連付けられた第１のコンピューティングデバイスと第１の通信チャネルを確立することを含み、第１の通信チャネルは、ゲームアプリケーションの第１のインスタンスを実施するように構成される。詳細には、通信チャネルは、インターネット等のネットワークを通して実施され、ゲームクラウドシステムのゲームサーバで生成されるレンダリングされた画像を表示のために第１のユーザのクライアントデバイスに配信するように構成される。さらに、通信チャネルは、ゲームアプリケーションの第１のインスタンスの実行を指示して、第１のユーザのゲームプレイを可能にするために、クライアントデバイスからゲームサーバに入力コマンドを返信するように構成される。
【０２９１】
動作２４５０において、方法は、第１のユーザに関連付けられた第２のコンピューティングデバイスと第２のチャネルを確立することを含む。同じまたは異なるネットワークが、第２のチャネルを確立するために構成されてよい。例えば、第２のチャネルは、インターネットの代わりに、モバイルネットワークを介して実施されて、タブレットコンピュータに通信サポートを提供してよい。例えば、図１９の通信セッションマネージャ１９２５が、第２のチャネルを確立、維持するように構成されてよい。第１のユーザと第２のユーザのゲームプレイに基づく情報及び／またはデータは、第２のチャネルを通して配信されて、以下に記載するように、第１のユーザのゲームプレイを強化してよい。
【０２９２】
動作２４６０において、方法は、第１のユーザの第１のゲームプレイと第２のユーザの第２のゲームプレイに関する情報を含むインタフェースを生成することを含む。情報は、第１のユーザの一人または複数の友達等、複数のユーザのゲームプレイにも関連してよい。このようにして、インタフェースは、複数のゲームプレイに基づく情報を第１のユーザのゲームプレイに接続でき、それによって、複数のユーザ（例えば、友達）のゲームプレイは、第１のユーザのゲームプレイにリンクされる。上記のように、インタフェースは、レーダマッピングを含んでよく、レーダマッピングは、第１のユーザのゲームプレイに関連付けられた第１のキャラクタと、レーダマッピングの複数の位置にある第１のユーザが関心を持つ複数のオブジェクトとを示す情報を含む。さらに、レーダマッピングは、第１のキャラクタの位置と複数のオブジェクトの位置との間の複数の方向関係を提供し、オブジェクトは、第２のユーザのゲームプレイに関連付けられたキャラクタ、ボス、関心をひくポイント等を含んでよい。インタフェースは、図２２Ａに示される情報または機能等（例えば、友達、関心をひく位置、関心をひくゲーム特徴、コーチングビデオ、コーチング指示、友達のガイダンス等）他の情報もしくは機能を含んでよく、及び／または、他の情報または機能にアクセスしてよい。
【０２９３】
動作２４７０において、方法は、インタフェースと情報を第２のチャネルを介して第１のユーザのゲームプレイと同時に表示するために第２のコンピューティングデバイスに配信することを含む。このようにして、インタフェースは、第１のユーザのゲームプレイをサポートする。詳細には、情報は、第１のユーザのゲームプレイに関連する現在の情報を提供する。説明を目的として、情報及び／またはデータは、第１のユーザがゲームアプリケーションのゲーム世界を理解するのを支援する。情報及び／またはデータは、ゲーム世界のエリアの記述、関心をひくポイント等を提供する。情報及び／またはデータは、第１のユーザがタスクまたは目標を達成する、または、第２のユーザや第１のユーザの他の友達のゲームプレイのキャラクタの位置を知るのを支援してよい。このようにして、第１のユーザと第１のユーザの友達とのゲームプレイをリンクしてよい。例えば、第１のユーザは、第２のチャネルを通して第２のコンピューティングデバイスに配信されるコンパニオンアプリケーションを介して第２のユーザとのインタラクティブなゲームセッションに参加できる。第１のユーザのゲームプレイをサポートするインタラクティブなゲームセッションは、第２のユーザからのコーチング、第２のユーザとの通信、第１のユーザのゲームプレイ内のキャラクタインタラクションのために第１のユーザのゲームプレイへの（第２のユーザと関連付けられた）キャラクタのオーバーレイ、第２のユーザからの、もしくは、第２のゲームプレイに基づいた視覚的キュー、第２のユーザからの、もしくは、第２のゲームプレイに基づいたテキスト指示、第２のユーザからの、もしくは、第２のゲームプレイに基づいたナビゲーションキュー等を含んでよいが、これらに限らない。
【０２９４】
複数のユーザのゲームプレイに関する情報を含むユーザのゲームプレイをサポートするコンパニオンアプリケーションの実施態様を示すために、具体的な実施形態を記載したが、これらは、例として記載したもので、制限のためではない。本開示を読んだ当業者は、本開示の趣旨及び範囲に該当する追加の実施形態を実現するであろう。
【０２９５】
広範な地理的エリアに亘って配信される、現在の実施形態のゲームへのアクセスを提供する等のアクセスサービスは、クラウドコンピューティングの使用が多いことに注意されたい。クラウドコンピューティングは、動的にスケーリングでき、仮想化されることが多いリソースを、インターネットを介したサービスとして提供するコンピューティングスタイルである。ユーザは、ユーザをサポートする「クラウド」の技術的インフラのエキスパートである必要はない。クラウドコンピューティングは、ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、ＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）、及び、ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）等の異なるサービスに分割できる。クラウドコンピューティングサービスは、ビデオゲーム等の通常のアプリケーションをウェブブラウザからアクセスするオンラインで提供することが多く、ソフトウェアとデータは、クラウドのサーバに記憶される。クラウドという語は、インターネットがどのようにコンピュータネットワーク図に描かれるかと、インターネットが隠す複雑なインフラの抽象化とに基づいて、インターネットのメタファーとして使用さる。
【０２９６】
ゲーム処理サーバ（ＧＰＳ）（または、簡単に、「ゲームサーバ」）は、シングル及びマルチプレイヤビデオゲームをプレイするゲームクライアントによって使用される。インターネットを介してプレイされる大抵のビデオゲームは、ゲームサーバへの接続を介して動作する。典型的には、ゲームは、専用サーバアプリケーションを使用し、専用サーバアプリケーションは、プレイヤからデータを集め、データを他のプレイヤに配信する。これは、ピアツーピア配置よりも効率的で有効であるが、サーバアプリケーションをホストする別個のサーバを必要とする。別の実施形態においては、ＧＰＳは、プレイヤと、プレイヤの各ゲームプレイデバイスとの間の通信を確立して、集中型ＧＰＳに依存すること無しに、情報を交換する。
【０２９７】
専用ＧＰＳは、クライアントから独立して実行するサーバである。このようなサーバは、通常、データセンタにある専用ハードウェアで実行され、より多くの帯域幅と専用処理能力を提供する。専用サーバは、ＰＣベースの大抵のマルチプレイヤゲームにとって、ゲームサーバをホストする好ましい方法である。多人数同時参加型オンラインゲームは、ゲームタイトルを所有するソフトウェア会社によって通常、ホストされる専用サーバで実行し、専用サーバが、コンテンツを制御、更新するのを可能にする。
【０２９８】
ユーザは、遠隔サービスにクライアントデバイスを用いてアクセスする。クライアントデバイスは、少なくともＣＰＵ、ディスプレイ、及び、入出力装置を含む。クライアントデバイスは、ＰＣ、携帯電話、ネットブック、ＰＤＡ等であってよい。一実施形態においては、ゲームサーバで実行しているネットワークは、クライアントが使用するデバイスの種類を認識し、採用する通信方法を調整する。他の場合には、クライアントデバイスは、ｈｔｍｌ等の標準的な通信方法を使用して、インターネットを介してゲームサーバのアプリケーションにアクセスする。
【０２９９】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースもしくはプログラマブル家電、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実践されてよい。開示は、タスクが、有線または無線のネットワークを通してリンクされる遠隔処理デバイスで行われる分散コンピューティング環境でも実践できる。
【０３００】
所与のビデオゲームは、特定のプラットフォームと特定の関連するコントローラデバイス用に開発されてよいことは理解されたい。しかしながら、このようなゲームが、本明細書で提示したゲームクラウドシステムを介して利用できるようにされる時、ユーザは、異なるコントローラデバイスを用いてビデオゲームにアクセスしてよい。例えば、ゲームは、ゲームコンソールとゲームコンソールに関連するコントローラ用に開発される場合があるが、ユーザは、キーボードとマウスを利用してパーソナルコンピュータからゲームのクラウドベース版にアクセスしてよい。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス（この場合、キーボードとマウス）によって生成できる入力から、ビデオゲームの実行で許容できる入力へのマッピングを規定できる。
【０３０１】
別の例においては、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または、他のタッチスクリーン駆動デバイスを介して、クラウドゲームシステムにアクセスしてよい。この場合、クライアントデバイスとコントローラデバイスは、検出されたタッチスクリーン入力／ジェスチャによって入力が提供される同じデバイスに一体化されてよい。このようなデバイスに関して、入力パラメータ構成は、ビデオゲームのゲーム入力に対応する特定のタッチスクリーン入力を規定してよい。例えば、ボタン、方向パッド、または、他の種類の入力要素が、ビデオゲームを実行中に表示、オーバーレイされて、ユーザがタッチして入力を生成できるタッチスクリーン上の位置を示してよい。特定の方向のスワイプ等のジェスチャ、または、特定のタッチ動作も、ゲーム入力として検出されてよい。一実施形態においては、例えば、ビデオゲームのゲームプレイを開始する前に、ユーザをタッチスクリーン上のコントロールの操作に慣れさせるように、タッチスクリーンを介したゲームプレイへの入力の仕方を示すチュートリアルをユーザに提供できる。
【０３０２】
ある実施形態においては、クライアントデバイスは、コントローラデバイスの接続点として働く。すなわち、コントローラデバイスは、クライアントデバイスと無線または有線の接続を介して通信して、コントローラデバイスからの入力をクライアントデバイスに送信する。クライアントデバイスは、次に、これらの入力を処理して、（例えば、ルータ等のローカルネットワークデバイスを介してアクセスされる）ネットワークを介して入力データをクラウドゲームサーバに送信してよい。しかしながら、他の実施形態においては、コントローラ自体が、ネットワークデバイスであってよく、入力を最初にクライアントデバイスに通信する必要なしに、このような入力をネットワークを介して直接クラウドゲームサーバに通信する能力を備える。例えば、コントローラは、ローカルネットワークデバイス（上記ルータ等）に接続して、クラウドゲームサーバにデータを送信、及び、クラウドゲームサーバからのデータを受信してよい。従って、クライアントデバイスが、クラウドベースのビデオゲームからのビデオ出力を受信して、ローカルディスプレイにレンダリングする必要がある場合でさえ、コントローラが、クライアントデバイスを迂回して、ネットワークを介して入力を直接、クラウドゲームサーバに送信できることによって、入力待ち時間を低減できる。
【０３０３】
一実施形態においては、ネットワーク化されたコントローラとクライアントデバイスは、一定の種類の入力をコントローラからクラウドゲームサーバに直接送信するように、また、他の種類の入力をクライアントデバイスを介して送信するように構成できる。例えば、検出がコントローラ自体以外の追加のハードウェアや処理に依存しない入力は、クライアントデバイスを迂回して、コントローラからネットワークを介して直接クラウドゲームサーバに送信できる。このような入力は、ボタン入力、ジョイスティック入力、埋め込み動作検出入力（例えば、加速度計、磁力計、ジャイロスコープ）等を含んでよい。しかしながら、追加のハードウェアを利用する入力、または、クライアントデバイスによる処理を必要とする入力は、クライアントデバイスによってクラウドゲームサーバに送信できる。これらは、クラウドゲームサーバに送信する前にクライアントデバイスによって処理し得るゲーム環境からキャプチャされたビデオやオーディオを含んでよい。さらに、コントローラの動作検出ハードウェアからの入力は、キャプチャされたビデオと共に、クライアントデバイスによって処理されて、コントローラの位置及び動きを検出してよく、位置及び動きは、次に、クライアントデバイスによってクラウドゲームサーバに通信できる。様々な実施形態によるコントローラデバイスは、クライアントデバイスから、または、直接、クラウドゲームサーバからデータ（例えば、フィードバックデータ）も受信してよいことは理解されたい。
【０３０４】
本明細書に記載の実施形態は、任意の種類のクライアントデバイスによって実行されてよいことは理解されたい。ある実施形態においては、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）である。
【０３０５】
開示の実施形態による、ヘッドマウントディスプレイ２５５０のコンポーネントの図である図２５を示す。ヘッドマウントディスプレイ２５５０は、プログラム命令を実行するプロセッサ２５００を含む。メモリ２５０２は、記憶目的で備えられ、揮発性及び不揮発性の両方のメモリを含んでよい。ユーザが視聴し得る視覚インタフェースを提供するディスプレイ２５０４が含まれる。バッテリ２５０６は、ヘッドマウントディスプレイ２５５０の電源として備えられる。動作検出モジュール２５０８は、磁力計２５１０、加速度計２５１２、及び、ジャイロスコープ２５１４等、様々な種類の動作検知ハードウェアのいずれかを含んでよい。
【０３０６】
加速度計は、加速度及び重力によって引き起こされる反力を測定する装置である。異なる方向の加速度の大きさ及び方向を検出する単軸または多軸のモデルが、入手可能である。加速度計を使用して、傾き、振動、及び、衝撃を検知する。一実施形態においては、３つの加速度計２５１２を使用して、重力の方向を提供し、重力の方向は、２つの角度（世界空間のピッチと世界空間のロール）に絶対参照を与える。
【０３０７】
磁力計は、ヘッドマウントディスプレイ付近の磁場の強さと方向を測定する。一実施形態においては、３つの磁力計２５１０は、ヘッドマウントディスプレイ内で使用されて、世界空間のヨー角の絶対参照を確保する。一実施形態においては、磁力計は、±８０マイクロテスラである地球の磁場に亘るように設計される。磁力計は、金属の影響を受け、実際のヨーに単調なヨー測定値を提供する。磁場は、環境内の金属によって歪む場合があり、これは、ヨー測定値に歪みを生じる。必要に応じて、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を用いて較正できる。一実施形態においては、加速度計２５１２は、磁力計２５１０と共に使用されて、ヘッドマウントディスプレイ２５５０の傾きとアジマスを取得する。
【０３０８】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定または維持する装置である。一実施形態において、３つのジャイロスコープ２５１４は、慣性感知に基づいて、各軸（ｘ、ｙ、ｚ）に対する動きの情報を提供する。ジャイロスコープは、速い回転の検出を助ける。しかしながら、ジャイロスコープは、絶対参照の存在がないと時間と共にドリフトし得る。これは、ジャイロスコープを定期的なリセットを必要とし、リセットは、オブジェクトの視覚追跡、加速度計、磁力計等に基づいた位置／向きの決定等、他の利用可能な情報を用いて行うことができる。
【０３０９】
カメラ２５１６は、現実の環境の画像及び画像ストリームをキャプチャするために備えられる。後ろ向き（ユーザが、ヘッドマウントディスプレイ２５５０のディスプレイを見ている時、ユーザから離れる方向）のカメラと、前向き（ユーザが、ヘッドマウントディスプレイ２５５０のディスプレイを見ている時、ユーザに向かう方向）のカメラとを含む、複数のカメラがヘッドマウントディスプレイ２５５０に含まれてよい。さらに、デプスカメラ２５１８が、現実環境のオブジェクトの奥行情報を検知するために、ヘッドマウントディスプレイ２５５０に含まれてよい。
【０３１０】
一実施形態においては、ＨＭＤの前面に一体化されたカメラを使用して、安全性に関する警告を行ってよい。例えば、ユーザが。壁またはオブジェクトに近付いている場合、ユーザに警告してよい。一実施形態においては、使用法は、部屋にある物理的オブジェクトの輪郭が提供されて、物理的オブジェクトの存在をユーザに警告してよい。輪郭は、例えば、仮想環境へのオーバーレイであってよい。ある実施形態においては、ＨＭＤのユーザは、例えば、床にオーバーレイされた基準マーカに対するビューを提供されてよい。例えば、マーカは、ユーザがゲームをプレイしている部屋の中心はどこかの基準をユーザに提供してよい。これは、例えば、部屋の壁や他のオブジェクトに衝突しないためにユーザはどこに動くべきかの視覚情報をユーザに提供し得る。ユーザが、ＨＭＤを着用して、ＨＭＤを用いてゲームをプレイ、または、コンテンツをナビゲートする時、ユーザにさらに安全性を提供するために、触覚警告、及び／またはオーディオ警告もユーザに提供できる。
【０３１１】
ヘッドマウントディスプレイ２５５０は、オーディオ出力を提供するスピーカ２５２０を含む。また、マイクロフォン２５２２が、周辺環境からの音、ユーザが行った会話等を含む、現実環境からのオーディオをキャプチャするために含まれてよい。ヘッドマウントディスプレイ２５５０は、触覚フィードバックをユーザに提供する触覚フィードバックモジュール２５２４を含む。一実施形態においては、触覚フィードバックモジュール２５２４は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ２５５０に動き及び／または振動を生じさせることができる。
【０３１２】
ＬＥＤ２５２６が、ヘッドマウントディスプレイ２５５０の状態の視覚インジケータとして備えられる。例えば、ＬＥＤは、バッテリレベル、電源オン等を示してよい。ヘッドマウントディスプレイ２５５０が、メモリカードに情報を書き込み、メモリカードから情報を読み取るのを可能にするカードリーダ２５２８が備えられる。ＵＳＢインタフェース２５３０が、周辺装置の接続、または、他のポータブルデバイス、コンピュータ等、他の装置への接続を可能にするインタフェースの一例として含まれる。ヘッドマウントディスプレイ２５５０の様々な実施形態において、様々な種類のインタフェースのいずれかが、ヘッドマウントディスプレイ２５５０接続性をより良くできるように含まれてよい。
【０３１３】
ＷｉＦｉ（登録商標）モジュール２５３２が、無線ネットワーク技術を介したインターネットへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ２５５０は、他のデバイスへの無線接続を可能にするＢｌｕｅｔｏｏｔｈ（登録商標）モジュール２５３４を含む。通信リンク２５３６も、他のデバイスへの接続のために含まれてよい。一実施形態においては、通信リンク２５３６は、無線通信に赤外線伝送を利用する。他の実施形態においては、通信リンク２５３６は、他のデバイスとの通信のために様々な無線または有線の伝送プロトコルのいずれかを利用してよい。
【０３１４】
入力ボタン／センサ２５３８は、入力インタフェースをユーザに提供するために含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等、様々な種類の入力インタフェースのいずれかが含まれてよい。超音波通信モジュール２５４０が、超音波技術を用いて他の装置との通信を促進するために、ヘッドマウントディスプレイ２５５０に含まれてよい。
【０３１５】
バイオセンサ２５４２が、ユーザから生理学的データの検出を可能にするために含まれる。一実施形態においては、バイオセンサ２５４２は、ユーザの皮膚を通してユーザの生体電気信号を検出するための１つまたは複数のドライ電極を含む。
【０３１６】
ヘッドマウントディスプレイ２５５０の上記コンポーネントは、ヘッドマウントディスプレイ２５５０に含まれ得る単に例示のコンポーネントとして記載した。開示の様々な実施形態において、ヘッドマウントディスプレイ２５５０は、様々な上記コンポーネントの幾つかを含んでもよく、含まなくてもよい。ヘッドマウントディスプレイ２５５０の実施形態は、本明細書に記載した本開示の態様を容易にする目的で、当分野で既知の、本明細書には記載していない他のコンポーネントをさらに含んでよい。
【０３１７】
開示の様々な実施形態において、上記ハンドヘルドデバイスは、ディスプレイに表示されたインタラクティブなアプリケーションと共に利用して、様々なインタラクティブ機能を提供してよいことを当業者は理解されよう。本明細書に記載の例示の実施形態は、制限のためではなく、例示のためのみに提供している。
【０３１８】
図２６は、開示の様々な実施形態による、ゲームシステム２６００のブロック図である。ゲームシステム２６００は、ネットワーク２６１５を介して１つまたは複数のクライアント２６１０にビデオストリームを提供するように構成される。ゲームシステム２６００は、典型的には、ビデオサーバシステム２６２０とオプションのゲームサーバ２６２５とを含む。ビデオサーバシステム２６２０は、ビデオストリームを１つまたは複数のクライアント２６１０に、最低限のサービスの質で提供するように構成される。例えば、ビデオサーバシステム２６２０は、ビデオゲームの状態、または、ビデオゲーム内の視点を変更するゲームコマンドを受信し、この状態の変化を反映する更新されたビデオストリームを最小限の遅延時間でクライアント２６１０に提供してよい。ビデオサーバシステム２６２０は、今後、規定されるフォーマットを含む広範な代替ビデオフォーマットで、ビデオストリームを提供するように構成されてよい。さらに、ビデオストリームは、広範なフレームレートで、ユーザに提示するように構成されたビデオフレームを含んでよい。典型的なフレームレートは、毎秒３０フレーム、毎秒６０フレーム、及び、毎秒２６２０フレームである。しかし、より多いまたは少ないフレームレートが、開示の代替実施形態に含まれる。
【０３１９】
本明細書で、それぞれ、２６１０Ａ、２６１０Ｂ等と呼ばれるクライアント２６１０は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス等を含んでよい。典型的に、クライアント２６１０は、符号化された（すなわち、圧縮された）ビデオストリームを受信するように、ビデオストリームを復号するように、また、結果として生じるビデオをユーザ、例えば、ゲームのプレイヤに提示するように構成される。符号化されたビデオストリームを受信及び／または復号するプロセスは、典型的に、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント２６１０に一体化されたディスプレイで、または、モニタもしくはテレビ等の別個の装置で、ユーザに提示されてよい。クライアント２６１０は、複数のゲームプレイヤをサポートするように任意選択で構成される。例えば、ゲームコンソールは、２人、３人、４人、または、それより多い同時にプレイしているプレイヤをサポートするように構成されてよい。これらのプレイヤは、それぞれ、別個のビデオストリームを受信してよく、１つのビデオストリームは、各プレイヤに対して特に生成された、例えば、各プレイヤの視点に基づいて生成されたフレームの領域を含み得る。クライアント２６１０は、任意選択で、地理的に分散している。ゲームシステム２６００に含まれるクライアントの数は、１つもしくは２つから何千、何万、または、それ以上まで大きく異なってよい。本明細書では、「ゲームプレイヤ」という語はゲームをプレイする人を指して用いられ、「ゲームプレイデバイス」という語は、ゲームのプレイに使用されるデバイスを指して使用される。ある実施形態においては、ゲームプレイデバイスは、協働してユーザにゲーム体験を配信する複数のコンピューティングデバイスを指してよい。例えば、ゲームコンソールとＨＭＤは、ビデオサーバシステム２６２０と協働して、ＨＭＤを通して視聴されるゲームを配信してよい。一実施形態においては、ゲームコンソールは、ビデオサーバシステム２６２０からビデオストリームを受信し、ゲームコンソールは、ビデオストリーム、または、ビデオストリームへの更新をレンダリングのためにＨＭＤに転送する。
【０３２０】
クライアント２６１０は、ネットワーク２６１５を介してビデオストリームを受信するように構成される。ネットワーク２６１５は、電話ネットワーク、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、広域ネットワーク、プライベートネットワーク等を含む、任意の種類の通信ネットワークであってよい。典型的な実施形態においては、ビデオストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ等の標準的なプロトコルを介して通信される。あるいは、ビデオストリームは、自社規格を介して通信される。
【０３２１】
クライアント２６１０の典型的な例は、プロセッサ、不揮発メモリ、ディスプレイ、復号論理回路、ネットワーク通信機能、及び、入力装置を含むパーソナルコンピュータである。復号論理回路は、ハードウェア、ファームウェア、及び／または、コンピュータ可読媒体に記憶されたソフトウェアを含んでよい。ビデオストリームを復号（及び符号化）するシステムは、当分野では周知であり、使用する特定の符号化スキームによって異なる。
【０３２２】
クライアント２６１０は、受信したビデオを修正するように構成されたシステムをさらに含んでよいが、含まなくてもよい。例えば、クライアントは、さらにレンダリングを行うように、あるビデオ画像を他のビデオ画像にオーバーレイするように、ビデオ画像をクロップするように等、構成されてよい。例えば、クライアント２６１０は、Ｉフレーム、Ｐフレーム、及び、Ｂフレーム等、様々な種類のビデオフレームを受信するように、これらのフレームをユーザに表示する画像に処理するように構成されてよい。ある実施形態においては、クライアント２６１０のメンバーは、さらに、レンダリング、シェーディング、３Ｄへの変換等の操作をビデオストリームに行うように構成される。クライアント２６１０のメンバーは、任意選択で複数のオーディオストリームまたはビデオストリームを受信するように構成される。クライアント２６１０の入力装置は、例えば、片手ゲームコントローラ、両手ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動作及び／または位置検知デバイス、マウス、タッチスクリーン、神経インタフェース、カメラ、今後、開発される入力装置等を含んでよい。
【０３２３】
クライアント２６１０によって受信されるビデオストリーム（及び、任意選択で、オーディオストリーム）は、ビデオサーバシステム２６２０によって、生成、提供される。本明細書の他の箇所でさらに記載するように、このビデオストリームは、ビデオフレームを含む（また、オーディオストリームは、オーディオフレームを含む）。ビデオフレームは、ユーザに表示される画像に意味のある寄与をするように構成される（例えば、ビデオフレームは、適切なデータ構造の画素情報を含む）。本明細書においては、「ビデオフレーム」という語はユーザに示す画像に寄与するように、例えば、画像を生じさせるように構成された情報を主に含むフレームを指して使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、「オーディオフレーム」にも適用できる。
【０３２４】
クライアント２６１０は、典型的にユーザから入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するように、または、他の形でゲームプレイに影響を与えるように構成されたゲームコマンドを含んでよい。ゲームコマンドは、入力装置を用いて受信できる、及び／または、クライアント２６１０で実行するコンピューティング命令によって自動的に生成されてよい。受信したゲームコマンドは、クライアント２６１０からネットワーク２６１５を介してビデオサーバシステム２６２０及び／またはゲームサーバ２６２５に通信される。例えば、ある実施形態においては、ゲームコマンドは、ビデオサーバシステム２６２０を介してゲームサーバ２６２５に通信される。ある実施形態においては、ゲームコマンドの別個のコピーが、クライアント２６１０から、ゲームサーバ２６２５とビデオサーバシステム２６２０とに通信される。ゲームコマンドの通信は、任意選択でコマンドのアイデンティティに依存する。ゲームコマンドは、任意選択で、クライアント２６１０Ａにオーディオストリームまたはビデオストリームを提供するのに使用されるのとは異なるルートまたは通信チャネルを通って、クライアント２６１０Ａから通信される。
【０３２５】
ゲームサーバ２６２５は、任意選択でビデオサーバシステム２６２０とは異なるエンティティによって運営される。例えば、ゲームサーバ２６２５は、マルチプレイヤゲームの発行者によって運営されてよい。この例においては、ビデオサーバシステム２６２０は任意選択でゲームサーバ２６２５によってクライアントとして見られ、任意選択で、ゲームサーバ２６２５の視点から先行技術のゲームエンジンを実行する先行技術のクライアントに見えるように構成される。ビデオサーバシステム２６２０とゲームサーバ２６２５との間の通信は、任意選択で、ネットワーク２６１５を介して生じる。よって、ゲームサーバ２６２５は、ゲーム状態情報を複数のクライアントに送信する先行技術のマルチプレイヤゲームサーバであってよく、その１つが、ゲームサーバシステム２６２０である。ビデオサーバシステム２６２０は、ゲームサーバ２６２５の複数のインスタンスと同時に通信するように構成されてよい。例えば、ビデオサーバシステム２６２０は、複数の異なるビデオゲームを異なるユーザに提供するように構成できる。これらの異なるビデオゲームは、それぞれ、異なるゲームサーバ２６２５によってサポートされてよく、及び／または、異なるエンティティによって発行されてよい。ある実施形態においては、ビデオサーバシステム２６２０の幾つかの地理的に分散したインスタンスが、ゲームビデオを複数の異なるユーザに提供するように構成される。ビデオサーバシステム２６２０のこれらのインスタンスのそれぞれは、ゲームサーバ２６２５の同じインスタンスと通信してよい。ビデオサーバシステム２６２０と１つまたは複数のゲームサーバ２６２５との間の通信は、任意選択で、専用通信チャネルを介して生じる。例えば、ビデオサーバシステム２６２０は、これらの２つのシステムの間の通信に専用の高帯域のチャネルを介してゲームサーバ２６２５に接続されてよい。
【０３２６】
ビデオサーバシステム２６２０は、少なくともビデオソース２６３０、入出力装置２６４５、プロセッサ２６５０、及び、非一時的ストレージ２６５５を含む。ビデオサーバシステム２６２０は、１つのコンピューティングデバイスを含んでもよく、または、複数のコンピューティングデバイス間に分散されてもよい。これらのコンピューティングデバイスは、任意選択でローカルエリアネットワーク等の通信システムを介して接続される。
【０３２７】
ビデオソース２６３０は、ビデオストリーム、例えば、ストリーミングビデオ、または、動画を形成する一連のビデオフレームを提供するように構成される。ある実施形態においては、ビデオソース２６３０は、ビデオゲームエンジンとレンダリング論理回路を含む。ビデオゲームエンジンは、プレイヤからゲームコマンドを受信するように、また、受信したコマンドに基づいて、ビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境のオブジェクトの位置と、典型的に、視点とを含む。ゲーム状態は、オブジェクトの特性、画像、色、及び／または、テクスチャも含んでよい。
【０３２８】
ゲーム状態は、典型的には、ゲーム規則と、移動（ｍｏｖｅ）、回転（ｔｕｒｎ）、攻撃（ａｔｔａｃｋ）、〜にフォーカス設定（ｓｅｔ  ｆｏｃｕｓ  ｔｏ）、インタラクト（ｉｎｔｅｒａｃｔ）、使用（ｕｓｅ）等のゲームコマンドと、に基づいて維持されてよい。ゲームエンジンの一部は、任意選択で、ゲームサーバ２６２５内に置かれる。ゲームサーバ２６２５は、地理的に分散したクライアントを用いて、複数のプレイヤから受信したゲームコマンドに基づいて、ゲームの状態のコピーを維持してよい。これらの場合、ゲーム状態は、ゲームサーバ２６２５によってビデオソース２６３０に提供され、そこで、ゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ２６２５は、クライアント２６１０からネットワーク２６１５を介して直接ゲームコマンドを受信してよい、及び／または、ビデオサーバシステム２６２０を介してゲームコマンドを受信してよい。
【０３２９】
ビデオソース２６３０は、レンダリング論理回路、例えば、ハードウェア、ファームウェア、及び／または、ストレージ２６５５等のコンピュータ可読媒体に記憶されたソフトウェアを典型的に含む。このレンダリング論理回路は、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリング論理回路の全てまたは一部は、任意選択で、グラフィックス処理ユニット（ＧＰＵ）内に配置される。レンダリング論理回路は、典型的には、ゲーム状態及び視点に基づいて、オブジェクト間の三次元空間関係を決定するように、及び／または、適切なテクスチャ等を適用するように、構成された処理段階を含む。レンダリング論理回路は、未加工のビデオを生成し、未加工のビデオは、通常、クライアント２６１０に通信する前に符号化される。例えば、未加工のビデオは、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）規格、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ、Ｘｖｉｄ、ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、リアルビデオ、ｍｐ３等に従って、符号化してよい。符号化プロセスによって、ビデオストリームを生成し、ビデオストリームは、遠隔装置上のデコーダに送るために任意選択でパッケージ化される。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。任意の他のフレームサイズを使用してよいが、典型的なフレームサイズは、８００ｘ６００、１２８０ｘ７２０（例えば、７２０ｐ）、１０２４ｘ７６８を含む。フレームレートは、秒あたりのビデオフレーム数である。ビデオストリームは、異なる種類のビデオフレームを含んでよい。例えば、Ｈ．２６４規格は、「Ｐ」フレームと「Ｉ」フレームを含む。Ｉフレームは、ディスプレイデバイス上の全てのマクロブロック／画素をリフレッシュする情報を含み、Ｐフレームは、そのサブセットをリフレッシュする情報を含む。Ｐフレームは、典型的に、Ｉフレームよりデータサイズが小さい。本明細書においては、「フレームサイズ」という語はフレーム内の画素数を指し、「フレームデータサイズ」という語は、フレームを記憶するのに必要なバイト数を指す。
【０３３０】
代替実施形態においては、ビデオソース２６３０は、カメラ等のビデオ記録装置を含む。このカメラを用いて、コンピュータゲームのビデオストリームに含むことができる遅延ビデオまたはライブビデオを生成してよい。結果として生じるビデオストリームは、任意選択で、レンダリングされた画像と、静止カメラまたはビデオカメラを用いて記録された画像との両方を含む。ビデオソース２６３０は、ビデオストリームに含むために以前記録されたビデオを記憶するように構成された記憶装置も備えてよい。ビデオソース２６３０は、オブジェクト、例えば、人、の動作と位置を検出するように構成された動作または位置検知装置と、検出された動作及び／または位置に基づいて、ゲーム状態を決定、または、ビデオを生成するように構成された論理回路も含んでよい。
【０３３１】
ビデオソース２６３０は、任意選択で、他のビデオ上に配置するように構成されたオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインタフェース、ログイン命令、ゲームプレイヤへのメッセージ、他のゲームプレイヤの画像、他のゲームプレイヤのビデオフィード（例えば、ウェブカムビデオ）を含んでよい。タッチスクリーンインタフェースまたは視線検出インタフェースを含むクライアント２６１０Ａの実施形態においては、オーバーレイは、仮想のキーボード、ジョイスティック、タッチパッド等を含んでよい。オーバーレイの一例においては、プレイヤの音声がオーディオストリーム上にオーバーレイされる。ビデオソース２６３０は、任意選択で、１つまたは複数のオーディオソースをさらに含む。
【０３３２】
ビデオサーバシステム２６２０が複数のプレイヤからの入力に基づいてゲーム状態を維持するように構成される実施形態においては、各プレイヤは、ビューの位置及び方向を含む異なる視点を有し得る。ビデオソース２６３０は、各プレイヤに、各プレイヤの視点に基づいて別個のビデオストリームを提供するように任意選択で構成される。さらに、ビデオソース２６３０は、異なるフレームサイズ、フレームデータサイズ、及び／または、符号化を各クライアント２６１０に提供するように構成されてよい。ビデオソース２６３０は、任意選択で、３Ｄビデオを提供するように構成される。
【０３３３】
入出力装置２６４５は、ビデオ、コマンド、情報の要求、ゲーム状態、視線情報、デバイスの動き、デバイスの位置、ユーザの動作、クライアントＩＤ、プレイヤＩＤ、ゲームコマンド、セキュリティ情報、音声等の情報をビデオサーバシステム２６２０が送信及び／または受信するように構成される。入出力装置２６４５は、典型的には、ネットワークカードまたはモデム等の通信ハードウェアを含む。入出力装置２６４５は、ゲームサーバ２６２５、ネットワーク２６１５、及び／または、クライアント２６１０と通信するように構成される。
【０３３４】
プロセッサ２６５０は、本明細書に記載のビデオサーバシステム２６２０の様々なコンポーネント内に含まれる論理回路、例えば、ソフトウェア、を実行するように構成される。例えば、プロセッサ２６５０は、ビデオソース２６３０、ゲームサーバ２６２５、及び／または、クライアントクオリファイア（Ｃｌｉｅｎｔ  Ｑｕａｌｉｆｉｅｒ）２６６０の機能を行うために、ソフトウェア命令でプログラムされてよい。ビデオサーバシステム２６２０は、任意選択で、プロセッサ２６５０の複数のインスタンスを含む。プロセッサ２６５０も、ビデオサーバシステム２６２０が受信したコマンドを実行するために、または、本明細書に記載のゲームシステム２６００の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされてよい。プロセッサ２６５０は、１つまたは複数のハードウェア装置を含んでよい。プロセッサ２６５０は電子プロセッサである。
【０３３５】
ストレージ２６５５は、非一時的なアナログ及び／またはデジタル記憶装置を含む。例えば、ストレージ２６５５は、ビデオフレームを記憶するように構成されたアナログ記憶装置を含んでよい。ストレージ２６５５は、コンピュータ可読デジタルストレージ、例えば、ハードドライブ、光学式ドライブ、または、ソリッドステートストレージを含んでよい。ストレージ２６１５は、（例えば、適切なデータ構造またはファイルシステムによって）ビデオフレーム、疑似フレーム（ａｒｔｉｆｉｃｉａｌ  ｆｒａｍｅ）、ビデオフレーム及び疑似フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム等を記憶するように構成される。ストレージ２６５５は、任意選択で、複数のデバイスに分散される。ある実施形態においては、ストレージ２６５５は、本明細書の他の箇所に記載のビデオソース２６３０のソフトウェアコンポーネントを記憶するように構成される。これらのコンポーネントは、必要時にすぐにプロビジョニングできるフォーマットで記憶されてよい。
【０３３６】
ビデオサーバシステム２６２０は、任意選択で、クライアントクオリファイア２６６０をさらに含む。クライアントクオリファイア２６６０は、クライアント２６１０Ａ、２６１０Ｂ等のクライアントの能力を遠隔で判定するように構成される。これらの能力は、クライアント２６１０Ａ自体の能力と、クライアント２６１０Ａとビデオサーバシステム２６２０との間の１つまたは複数の通信チャネルの能力との両方を含み得る。例えば、クライアントクオリファイア２６６０は、ネットワーク２６１５を介して通信チャネルをテストするように構成されてよい。
【０３３７】
クライアントクオリファイア２６６０は、クライアント２６１０Ａの能力を手動または自動で判定（例えば、発見）することができる。手動の判定は、クライアント２６１０Ａのユーザと通信することと、能力を提供するようにユーザに依頼することと、を含む。例えば、ある実施形態においては、クライアントクオリファイア２６６０は、クライアント２６１０Ａのブラウザ内に、画像、テキスト等を表示するように構成される。一実施形態においては、クライアント２６１０Ａは、ブラウザを含むＨＭＤである。別の実施形態においては、クライアント２６１０Ａは、ブラウザを有するゲームコンソールであり、ブラウザは、ＨＭＤに表示されてよい。表示されたオブジェクトは、クライアント２６１０Ａのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報をユーザが入力することを要求する。ユーザが入力した情報は、クライアントクオリファイア２６６０に返信される。
【０３３８】
自動判定は、例えば、クライアント２６１０Ａ上でエージェントの実行により、及び／または、テストビデオをクライアント２６１０Ａに送信することにより、行われてよい。エージェントは、ウェブページに埋め込まれた、または、アドオンとしてインストールされたＪＡＶＡ（登録商標）スクリプト等のコンピュータ命令を含んでよい。エージェントは、任意選択で、クライアントクオリファイア２６６０によって提供される。様々な実施形態において、エージェントは、クライアント２６１０Ａの処理能力、クライアント２６１０Ａの復号及び表示能力、クライアント２６１０Ａとビデオサーバシステム２６２０との間の通信チャネルの遅延時間信頼性と帯域幅、クライアント２６１０Ａのディスプレイの種類、クライアント２６１０Ａに存在するファイヤフォール、クライアント２６１０Ａのハードウェア、クライアント２６１０Ａ上で実行されるソフトウェア、クライアント２６１０Ａ内のレジストリエントリ等を見つけることができる。
【０３３９】
クライアントクオリファイア２６６０は、ハードウェア、ファームウェア、及び／または、コンピュータ可読媒体に記憶されたソフトウェアを含む。クライアントクオリファイア２６６０は、任意選択で、ビデオサーバシステム２６２０の１つまたは複数の他の要素とは別個のコンピューティングデバイスに配置される。例えば、ある実施形態においては、クライアントクオリファイア２６６０は、クライアント２６１０と、ビデオサーバシステム２６２０の複数のインスタンスとの間の通信チャネルの特性を判定するように構成される。これらの実施形態においては、クライアントクオリファイアによって発見された情報を用いて、クライアント２６１０の１つにストリーミングビデオを配信するのに最も適しているのはビデオサーバシステム２６２０のどのインスタンスかを決定することができる。
【０３４０】
本明細書に記載の様々な実施形態を組み合わせ、アセンブルして、本明細書に開示の様々な特徴を用いた特定の実施態様にしてよいことは理解されたい。従って、記載の例は、単に可能な例の一部であり、様々な要素を組み合わせて、より多くの実施態様を規定することによって可能になる様々な実施態様を制限するものではない。ある例においては、ある実施態様は、開示した、または、同等の実施態様の趣旨を逸脱することなく、より少ない要素を含んでよい。
【０３４１】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家電、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実践されてよい。本開示の実施形態は、有線または無線ネットワークを介してリンクされる遠隔処理デバイスによってタスクを行う分散コンピュータ環境で実践することもできる。
【０３４２】
上記実施形態に留意して、本開示の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータで実施される動作を採用することができることは理解されたい。これらの動作は、物理量の物理的操作を必要とする動作である。本開示の実施形態の一部を形成する本明細書に記載の動作はいずれも、有用な機械動作である。開示の実施形態は、これらの動作を行うデバイスまたは装置にも関する。装置は、必要な目的のために特に構築することができる。または、装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータであってよい。詳細には、様々な汎用機械が、本明細書の教示に従って書かれたコンピュータプログラムと共に用いることができる、または、要求された動作を行うためにより専門化した装置を構築するとより便利であろう。
【０３４３】
開示は、コンピュータ可読媒体上で、コンピュータ可読コードとして具体化することもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶装置で、そのデータは、後にコンピュータシステムによって読み取ることができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続型ストレージ（ＮＡＳ）、リードオンリメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、及び、他の光学データ記憶装置や非光学式のデータ記憶装置が含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶、実行されるように、ネットワーク接続されたコンピュータシステムを介して分散されたコンピュータ可読有形媒体を含むことができる。
【０３４４】
方法の動作を特定の順で記載したが、オーバーレイ動作の処理が所望のように行われる限り、他のハウスキーピング動作を動作と動作の間に行ってよく、動作は、少し時間を違えて生じるように調整されてよく、または、動作は、処理に関連付けられた様々な間隔で処理動作が行われるのを可能にするシステムに分散されてよいことは理解されたい。
【０３４５】
上記開示は理解しやすいように詳細に記載したが、請求項の範囲内で一定の変更及び修正を行ってよいことは明らかである。従って、本実施形態は、説明のためのもので、制限ではないとみなすべきであり、且つ、本開示の実施形態は、本明細書に記載の詳細に制限されず、添付の請求項の範囲及び同等物の範囲内で修正されてよい。
【図１】
2020192336.tif 000003
【図２】
2020192336.tif 000004
【図３Ａ】
2020192336.tif 000005
【図３Ｂ】
2020192336.tif 000006
【図４Ａ】
2020192336.tif 000007
【図４Ｂ】
2020192336.tif 000008
【図５Ａ】
2020192336.tif 000009
【図５Ｂ】
2020192336.tif 000010
【図５Ｃ】
2020192336.tif 000011
【図６Ａ】
2020192336.tif 000012
【図６Ｂ】
2020192336.tif 000013
【図６Ｃ】
2020192336.tif 000014
【図６Ｄ】
2020192336.tif 000015
【図６Ｅ】
2020192336.tif 000016
【図６Ｆ】
2020192336.tif 000017
【図７】
2020192336.tif 000018
【図８】
2020192336.tif 000019
【図９】
2020192336.tif 000020
【図１０】
2020192336.tif 000021
【図１１】
2020192336.tif 000022
【図１２Ａ】
2020192336.tif 000023
【図１２Ｂ】
2020192336.tif 000024
【図１３Ａ】
2020192336.tif 000025
【図１３Ｂ】
2020192336.tif 000026
【図１４】
2020192336.tif 000027
【図１５Ａ】
2020192336.tif 000028
【図１５Ｂ】
2020192336.tif 000029
【図１５Ｃ】
2020192336.tif 000030
【図１５Ｄ】
2020192336.tif 000031
【図１５Ｅ】
2020192336.tif 000032
【図１６】
2020192336.tif 000033
【図１７】
2020192336.tif 000034
【図１８】
2020192336.tif 000035
【図１９】
2020192336.tif 000036
【図２０】
2020192336.tif 000037
【図２１Ａ】
2020192336.tif 000038
【図２１Ｂ】
2020192336.tif 000039
【図２１Ｃ】
2020192336.tif 000040
【図２２Ａ】
2020192336.tif 000041
【図２２Ｂ】
2020192336.tif 000042
【図２２Ｃ】
2020192336.tif 000043
【図２２Ｄ】
2020192336.tif 000044
【図２３】
2020192336.tif 000045
【図２４】
2020192336.tif 000046
【図２５】
2020192336.tif 000047
【図２６】
2020192336.tif 000048