(57)【要約】【解決手段】ゲーム相互作用のための方法である。本方法は、第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャすることを含む。本方法は、第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することを含み、パラメータ情報は、複数のスナップショットのうちの１つ以上のスナップショットに基づくものである。本方法は、ユーザ定義済パッケージに関するマーカを生成することを含む。本方法は、第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供することを含み、マーカは、ユーザ定義済パッケージへのアクセスを可能にする。【選択図】図４Ｂ
2019524180.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム相互作用のための方法であって、
第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャすることと、
前記第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して前記第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することであって、前記パラメータ情報は前記複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、前記生成することと、
前記ユーザ定義済パッケージに関するマーカを生成することと、
第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供することであって、前記マーカは前記ユーザ定義済パッケージへのアクセスを可能にする、前記提供することと、
を含む、方法。
【請求項２】
前記第１のユーザの第３のコンピューティングデバイス上に表示される前記第１のユーザのゲームプレイと同時に、前記第１のコンパニオンインターフェースを前記第１のコンピューティングデバイス上に表示することであって、前記第１のコンパニオンインターフェースは前記第１のユーザのゲームプレイをサポートするように構成されている、前記表示することと、
前記第１のコンパニオンインターフェースから、前記第１のコンピューティングデバイスからの前記ユーザ定義済パッケージに関連する前記パラメータ情報の第１の部を受信することと、
前記パラメータ情報の前記第１の部を受信しながら、前記第１のユーザのゲームプレイを一時停止することと、
前記パラメータ情報の前記第１の部を受信した後、前記第１のユーザのゲームプレイを再開することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１のユーザのゲームプレイを前記第１のユーザの第３のコンピューティングデバイス上にリプレイすることと、
前記第３のコンピューティングデバイス上に表示される前記第１のユーザのゲームプレイのリプレイと同時に、前記第１のコンパニオンインターフェースを前記第１のコンピューティングデバイス上に表示すること、
前記ゲームプレイのリプレイ中、前記第１のコンパニオンインターフェースを経由して、前記第１のコンピューティングデバイスからの前記ユーザ定義済パッケージに関連する前記パラメータ情報を受信することと、
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ユーザ定義済パッケージはクエストであり、前記方法は、さらに、
前記第１のユーザの前記第１のコンパニオンインターフェースから前記クエストを定義する１つ以上のアセットまたは達成パラメータを受信することを含む、請求項１に記載の方法。
【請求項５】
アセットまたは達成パラメータの第１のセットは、開始地点及び終地点を含む前記ゲームアプリケーションのゲーム世界内における１つ以上の地点を含み、第２のアセットまたは達成パラメータは、前記地点の横断を完了するための閾値時間を含む、請求項４に記載の方法。
【請求項６】
前記方法は、さらに、
前記第２のコンピューティングデバイスから前記クエストの開始を示す前記第２のユーザによる前記マーカの選択を受信することと、
前記ユーザ定義済パッケージ内に含有されるスナップショットに基づいてクエストゲームプレイを開始することであって、前記スナップショットは、選択済スナップショットに対応する前記ゲームアプリケーションの地点から始まる前記第１のユーザの前記ゲームプレイに基づいて前記クエストゲームプレイ用の前記ゲームアプリケーションの実行を可能にする、前記開始することと、
前記第２のユーザのために実行される前記ゲームアプリケーションから生成される第２の複数のスナップショットをキャプチャすることであって、前記第２のユーザのゲームプレイは第４のコンピューティングデバイス上に表示される、前記キャプチャすることと、
前記第２の複数のスナップショットに基づいて、前記第２のユーザによるクエスト進捗を追跡することと、
前記第２のユーザの前記クエストゲームプレイと同時に、第２のコンパニオンインターフェースを前記第２のコンピューティングデバイス上に表示することであって、前記第２のコンパニオンインターフェースは、前記クエスト進捗に関連する情報を提供するように、及び前記クエストゲームプレイをサポートするように構成されている、前記表示することと、
を含む、請求項４に記載の方法。
【請求項７】
レーダマッピングを前記第２のコンパニオンインターフェース内に生成することであって、前記レーダマッピングは、前記ゲームアプリケーションのゲーム世界内で前記第２のユーザによって制御されるように、前記クエストゲームプレイのキャラクタを示す、前記生成することと、
前記レーダマッピングの中心において前記キャラクタを位置決めすることと、
をさらに含む、請求項６に記載の方法。
【請求項８】
前記マーカはメッセージであり、前記方法は、さらに、
前記メッセージを定義する情報を、前記第１のユーザの前記第１のコンピューティングデバイスから受信することと、
第４のコンピューティングデバイス上に表示される前記第２のユーザのゲームプレイ用の前記ゲームアプリケーションを実行することと、
前記ゲームアプリケーションのゲーム世界内で前記第２のユーザによって制御されるキャラクタを示すレーダマッピングを生成することと、
前記レーダマッピングを、前記第２のコンピューティングデバイス上に表示される第２のコンパニオンインターフェース上に表示することと、
前記第２のユーザによって制御される前記キャラクタが、前記ユーザ定義済パッケージによって定義される前記ゲーム世界内の場所に到達するとき、前記メッセージを前記レーダマッピング内に表示することと、
を含む、請求項１に記載の方法。
【請求項９】
前記第１のユーザのフレンドを前記第２のユーザとして識別することと、
前記メッセージを前記フレンドに、前記第２のコンピューティングデバイスを介して送信することと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
ゲーム相互作用のためのコンピュータプログラムを記憶する非一過性コンピュータ可読媒体であって、前記コンピュータ可読媒体は、
第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャするためのプログラム命令と、
前記第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して前記第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成するためのプログラム命令であって、前記パラメータ情報は前記複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、前記プログラム命令と、
前記ユーザ定義済パッケージに関するマーカを生成するためのプログラム命令と、
第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供するためのプログラム命令であって、前記マーカは前記ユーザ定義済パッケージへのアクセスを可能にする、前記プログラム命令と、
を含む、非一過性コンピュータ可読媒体。
【請求項１１】
前記ユーザ定義済パッケージはクエストであり、前記非一過性コンピュータ可読媒体は、さらに、
前記第１のユーザの前記第１のコンパニオンインターフェースから前記クエストを定義する１つ以上のアセットまたは達成パラメータを受信するためのプログラム命令を含む、請求項１０に記載の非一過性コンピュータ可読媒体。
【請求項１２】
アセットまたは達成パラメータの第１のセットは、開始地点及び終地点を含む前記ゲームアプリケーションのゲーム世界内における１つ以上の地点を含み、第２のアセットパラメータまたは達成パラメータは、前記地点の横断を完了するための閾値時間を含む、請求項１１に記載の非一過性コンピュータ可読媒体。
【請求項１３】
前記第２のコンピューティングデバイスから前記クエストの開始を示す前記第２のユーザによる前記マーカの選択を受信するためのプログラム命令と、
前記ユーザ定義済パッケージ内に含有されるスナップショットに基づいてクエストゲームプレイを開始するためのプログラム命令であって、前記スナップショットは、選択済スナップショットに対応する前記ゲームアプリケーションの地点から始まる前記第１のユーザの前記ゲームプレイに基づいて前記クエストゲームプレイ用の前記ゲームアプリケーションの実行を可能にする、前記プログラム命令と、
前記第２のユーザのために実行される前記ゲームアプリケーションから生成される第２の複数のスナップショットをキャプチャするためのプログラム命令であって、前記第２のユーザのゲームプレイは第４のコンピューティングデバイス上に表示される、前記プログラム命令と、
前記第２の複数のスナップショットに基づいて、前記第２のユーザによってクエスト進捗を追跡するためのプログラム命令と、
前記第２のユーザの前記クエストゲームプレイと同時に、第２のコンパニオンインターフェースを前記第２のコンピューティングデバイス上に表示するためのプログラム命令であって、前記第２のコンパニオンインターフェースは、前記クエスト進捗に関連する情報を提供するように、及び前記クエストゲームプレイをサポートするように構成されている、前記プログラム命令と、
をさらに含む、請求項１１に記載の非一過性コンピュータ可読媒体。
【請求項１４】
レーダマッピングを前記第２のコンパニオンインターフェース内に生成するためのプログラム命令であって、前記レーダマッピングは、前記ゲームアプリケーションのゲーム世界内で前記第２のユーザによって制御されるように、前記クエストゲームプレイのキャラクタを示す、前記プログラム命令と、
前記レーダマッピングの中心において前記キャラクタを位置決めするためのプログラム命令と、
をさらに含む、請求項１３に記載の非一過性コンピュータ可読媒体。
【請求項１５】
前記マーカはメッセージであり、前記非一過性コンピュータ可読媒体は、さらに、
前記メッセージを定義する情報を、前記第１のユーザの前記第１のコンピューティングデバイスから受信するためのプログラム命令と、
第４のコンピューティングデバイス上に表示される前記第２のユーザのゲームプレイ用の前記ゲームアプリケーションを実行するためのプログラム命令と、
前記ゲームアプリケーションのゲーム世界内で前記第２のユーザによって制御されるキャラクタを示すレーダマッピングを生成するためのプログラム命令と、
前記レーダマッピングを、前記第２のコンピューティングデバイス上に表示される第２のコンパニオンインターフェース上に表示するためのプログラム命令と、
前記第２のユーザによって制御される前記キャラクタが、前記ユーザ定義済パッケージによって定義される前記ゲーム世界内の場所に到達するとき、前記メッセージを前記レーダマッピング内に表示するためのプログラム命令と、
を含む、請求項１０に記載の非一過性コンピュータ可読媒体。
【請求項１６】
コンピュータシステムであって、
プロセッサと、
メモリであって、前記プロセッサに結合され、及び前記コンピュータシステムによって実行される場合、前記コンピュータシステムに、
第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャすることと、
前記第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して前記第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することであって、前記パラメータ情報は前記複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、前記生成することと、
前記ユーザ定義済パッケージに関するマーカを生成することと、
第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供することであって、前記マーカは前記ユーザ定義済パッケージへのアクセスを可能にする、前記提供することと、
を含む、ゲーム相互作用のための方法を実行させる前記メモリ内に記憶される命令を有する、前記メモリと、
を含む、コンピュータシステム。
【請求項１７】
前記ユーザ定義済パッケージはクエストであり、前記方法は、さらに、
前記第１のユーザの前記第１のコンパニオンインターフェースから前記クエストを定義する１つ以上のアセットまたは達成パラメータを受信することを含む、請求項１６に記載のコンピュータシステム。
【請求項１８】
アセットまたは達成パラメータの第１のセットは、開始地点及び終地点を含む前記ゲームアプリケーションのゲーム世界内における１つ以上の地点を含み、第２のアセットパラメータまたは達成パラメータは、前記地点の横断を完了するための閾値時間を含む、請求項１７に記載のコンピュータシステム。
【請求項１９】
前記方法は、さらに、
前記第２のコンピューティングデバイスから前記クエストの開始を示す前記第２のユーザによる前記マーカの選択を受信することと、
前記ユーザ定義済パッケージ内に含有されるスナップショットに基づいてクエストゲームプレイを開始することであって、前記スナップショットは、選択済スナップショットに対応する前記ゲームアプリケーションの地点から始まる前記第１のユーザの前記ゲームプレイに基づいて前記クエストゲームプレイ用の前記ゲームアプリケーションの実行を可能にする、前記開始することと、
前記第２のユーザのために実行される前記ゲームアプリケーションから生成される第２の複数のスナップショットをキャプチャすることであって、前記第２のユーザのゲームプレイは第４のコンピューティングデバイス上に表示される、前記キャプチャすることと、
前記第２の複数のスナップショットに基づいて、前記第２のユーザによってクエスト進捗を追跡することと、
前記第２のユーザの前記クエストゲームプレイと同時に、第２のコンパニオンインターフェースを前記第２のコンピューティングデバイス上に表示することであって、前記第２のコンパニオンインターフェースは、前記クエスト進捗に関連する情報を提供するように、及び前記クエストゲームプレイをサポートするように構成されている、前記表示することと、
を含む、請求項１７に記載のコンピュータシステム。
【請求項２０】
前記マーカはメッセージであり、前記方法は、さらに、
前記メッセージを定義する情報を、前記第１のユーザの前記第１のコンピューティングデバイスから受信することと、
第４のコンピューティングデバイス上に表示される前記第２のユーザのゲームプレイ用の前記ゲームアプリケーションを実行することと、
前記ゲームアプリケーションのゲーム世界内で前記第２のユーザによって制御されるキャラクタを示すレーダマッピングを生成することと、
前記レーダマッピングを、前記第２のコンピューティングデバイス上に表示される第２のコンパニオンインターフェース上に表示することと、
前記第２のユーザによって制御される前記キャラクタが、前記ユーザ定義済パッケージによって定義される前記ゲーム世界内の場所に到達するとき、前記メッセージを前記レーダマッピング内に表示することと、
を含む、請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオゲームまたはゲームアプリケーションに関する。とりわけ、本開示は、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする場所ベースコンパニオンアプリケーションにおいてクエスト及び／またはチャレンジを生成するための、及びクエスト及び／またはチャレンジと相互作用するための方法及びシステムを説明する。
【背景技術】
【０００２】
コンピューティングリソース（ハードウェア及びソフトウェア）を使用するクラウドベースシステムは、ネットワーク（例えば、インターネット）を通してサービスを送達する。ゲームに関連するサービスは、リモートクライアントへのコンテンツのストリーミングを可能にし、ほとんどの処理は、分散され得るサーバ上に行われる。いくつかの場合、ビデオゲームはクラウドベースシステム内で実行し、順に、リモートクライアントに提供された入力は、クライアントの場所において専用ゲームハードウェアの必要がなく、ビデオゲームの実行を駆動する。したがって、クラウドベース処理及びゲームに関して人気が増加している。この理由として、ユーザが、それが複雑なハードウェア制限なしで、より多くのビデオゲームタイトルにアクセスし易いことを発見し、ゲームサプライヤが、それが、中心場所からゲームコードを管理し易いことを発見するためである。また、クラウドサーバの処理能力がより大きければ、ビデオゲームがより複雑かつ広大になることを可能にする。
【０００３】
ビデオゲームは、ユーザ相互作用のための１つ以上のミニゲームを含み得る。ミニゲームは、ビデオゲームに関連する場合がある、または関連しない場合がある。例えば、ミニゲームは、ビデオゲームの範囲内で使用されることができる特別な武器を取得すること、追加のポイントを得ること、寿命を補充すること、ボーナスステージ、シークレットレベル等、ビデオゲームを進めるために、ユーザによってプレイされ得る。いくつかのミニゲームは、ユーザの楽しみのために純粋にプレイされ、ビデオゲームを通して、ユーザに進めさせる場合がある、または進めさせる場合がない。例えば、ミニゲームは、ビデオゲームに何らかの関係がなく、ユーザが経過する時間を過ごすように設計される最小限のグラフィックを用いて熱中する難題であり得る。
【０００４】
しかしながら、これらのミニゲームは、それらの対応するビデオゲームの制約内に開発される。すなわち、固定数のミニゲームだけが、対応するビデオゲームのために作成され得、いったんビデオゲームが完全に開発されると、ミニゲームの作成が終了する。ミニゲームがビデオゲームのコードの範囲内で開発者によって作成されるため、結果として生じるミニゲームは、開発者の創造力の範囲、時間的制約、及び人的制約による数及びスコープに限定され得る。
【０００５】
それは、本開示実施形態が生じるこの文脈中にある。
【発明の概要】
【０００６】
本開示の実施形態は、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする場所ベースコンパニオンアプリケーションにおいてクエスト及び／またはチャレンジを生成することに関する。本開示のいくつかの発明に関する実施形態は下記に説明される。
【０００７】
一実施形態では、ゲーム相互作用のための方法が説明される。本方法は、第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャすることを含む。本方法は、第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することであって、パラメータ情報は複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、当該生成することを含む。本方法は、ユーザ定義済パッケージに関するマーカを生成することを含む。本方法は、第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供することであって、マーカはユーザ定義済パッケージへのアクセスを可能にする、当該提供することを含む。
【０００８】
別の実施形態では、ゲーム相互作用のためのコンピュータプログラムを記憶する非一過性コンピュータ可読媒体が説明される。コンピュータ可読媒体は、第１のユーザのために実行されるゲームアプリケーションから生成される複数のスナップショットをキャプチャするためのプログラム命令を含む。コンピュータ可読媒体は、第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成するためのプログラム命令であって、パラメータ情報は複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、当該プログラム命令を含む。コンピュータ可読媒体は、ユーザ定義済パッケージに関するマーカを生成するためのプログラム命令を含む。コンピュータ可読媒体は、第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供するためのプログラム命令であって、マーカはユーザ定義済パッケージへのアクセスを可能にする、当該プログラム命令を含む。
【０００９】
さらに別の実施形態では、コンピュータシステムが開示され、コンピュータシステムはプロセッサ及びメモリを含み、メモリは、プロセッサに結合され、及びコンピュータシステムによって実行される場合、コンピュータシステムに、ゲーム相互作用のための方法を実行させるメモリ内に記憶された命令を有する。本方法は、第１のユーザの第１のコンピューティングデバイスの第１のコンパニオンインターフェースを経由して第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することであって、パラメータ情報は複数のスナップショットのうちの１つ以上のスナップショットに基づくものである、当該生成することを含む。本方法は、ユーザ定義済パッケージに関するマーカを生成することを含む。本方法は、第２のユーザの第２のコンピューティングデバイス上に表示するためにマーカを提供することであって、マーカはユーザ定義済パッケージへのアクセスを可能にする、当該提供することを含む。
【００１０】
本開示の他の利点は、本開示の原理の例を用いて示す添付の図面と併せて解釈される以下の詳細な説明から明らかである。
【図面の簡単な説明】
【００１１】
本開示は、添付の図面と併せて解釈される以下の説明を参照して最良に理解され得る。
【００１２】
【図１Ａ】本開示の一実施形態による、ゲームアプリケーションがローカルコンピューティングデバイス上でまたはクラウドゲームネットワークを通して実行することができる、対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装するために使用されるシステムを示す。
【００１３】
【図１Ｂ】本開示の一実施形態による、対応するユーザに対してローカルで実行する１つ以上のゲームアプリケーションをプレイする１人以上のユーザに、ゲーム制御を提供し、及びバックエンドサーバサポートが対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装し得る、システムを示す。
【００１４】
【図１Ｃ】本開示の一実施形態による、クラウドゲームネットワークを通して実行されるようなゲームアプリケーションをプレイする１人以上のユーザに、ゲーム制御を提供し、及びバックエンドサーバサポートが対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装し得る、システムを示す。
【００１５】
【図２】本開示の一実施形態による、ゲームクラウドシステム（ＧＣＳ）内のゲームアプリケーションのアクセス及びプレイと、対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースの実装とを可能にするためのシステム図を示す。
【００１６】
【図３】本開示の一実施形態による、クエスト及び／またはチャレンジを生成する対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを使用するゲームアプリケーションに関連して、クエスト及び／またはチャレンジを生成するための方法のステップを示すフロー図である。
【００１７】
【図４Ａ】本開示の一実施形態による、第１のユーザによるゲームアプリケーションのゲームプレイ中にキャプチャされるスナップショットに関連して生成されるノード（対応するスナップショットを伴う）の階層を示し、サイドクエストのノードが示され、サイドクエストが対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを使用して生成される、ノードグラフの例証である。
【００１８】
【図４Ｂ】本開示の一実施形態による、第１のユーザのゲームプレイをサポートし、コンパニオンインターフェースがサイドクエストを生成するために使用される、コンパニオンインターフェースの例証である。
【００１９】
【図５Ａ】本開示の一実施形態による、コンパニオンインターフェースがサイドクエストをプレイする招待状を含む、サイドクエストに関連付けられる同じゲームアプリケーションをプレイする第２のユーザのコンパニオンインターフェースの例証である。
【００２０】
【図５Ｂ】本開示の一実施形態による、コンパニオンインターフェースがサイドクエストをプレイする招待状を含むメッセージを含む、サイドクエストに関連付けられる同じゲームアプリケーションをプレイする場合がある、またはプレイしない場合がある第２のユーザのコンパニオンインターフェースの例証である。
【００２１】
【図５Ｃ】本開示の一実施形態による、サイドクエストをプレイする第２のユーザのコンパニオンインターフェースを示す。
【００２２】
【図６Ａ】本開示の一実施形態による、ゲームアプリケーションのサイドクエストをプレイする第２のユーザのコンパニオンインターフェース内に表示されるようなサイドクエストのためのリーダーボードを示す。
【００２３】
【図６Ｂ】本開示の一実施形態による、リーダーボードが第２のユーザのコンパニオンインターフェース内に表示される、クエスト開発者によって作成されたような最も評判が良いサイドクエストを示すリーダーボードを示す。
【００２４】
【図７】本開示の実施形態による、示されるヘッドマウントディスプレイの構成要素を示す図である。
【００２５】
【図８】本発明の様々な実施形態による、ゲームシステムのブロック図である。ゲームシステムは、ネットワークを介して、ビデオストリームを１つ以上のクライアントに提供するように構成されている。
【発明を実施するための形態】
【００２６】
以下の詳細な説明が例証の目的のために多くの具体的な詳細を含有するが、当業者は、以下の詳細に対する多くの変形例及び改変が本開示の範囲内にあることを理解するであろう。したがって、下記に説明される本開示の態様は、この説明に続く「特許請求の範囲」に対して、一般概念のいかなる損失を生じさせることなく、また制限を課すことなく記述される。
【００２７】
一般的に、本開示の様々な実施形態は、ユーザのゲームプレイをサポートするように構成されている場所ベースコンパニオンインターフェースを実装するシステム及び方法を説明し、コンパニオンインターフェースは、ゲームプレイに基づくがゲームアプリケーション内に含有されない、クエスト及び／またはチャレンジを生成するように構成されている。本開示の実施形態は、場所ベースコンパニオンアプリケーションを経由して、ゲームアプリケーションの追加使用を提供する。コンパニオンインターフェースは、ユーザのゲームプレイにおけるキャラクタの場所に基づいて生成される状況関連情報（例えば、メッセージング、補助情報等）を含む。当該情報は、１人以上のユーザのゲームプレイ中に、定期的に集められたスナップショットに基づくものであり、スナップショットは、対応するユーザのゲームプレイに関するメタデータ及び／または情報を含有し、スナップショットに対応するゲームアプリケーションのジャンプ点において、対応するゲームアプリケーションの別のインスタンスを有効にするように構成可能である。加えて、コンパニオンインターフェースは、ユーザが、ユーザのゲームプレイ（例えば、スナップショットに含有される情報）に基づいて、クエスト及び／またはチャレンジを生成することを可能にするように構成可能である。これらのクエスト及び／またはチャレンジは、対応するゲームアプリケーションの開発後に新たに作成され、それによって、新しいユーザがゲームアプリケーションをプレイするにつれ、広範囲のクエスト及び／またはチャレンジの継続的生成を可能にする。さらに、クエスト及び／またはチャレンジは、対応するゲームアプリケーションをプレイする状況の範囲内で、またはその状況の範囲外で任意のユーザによってプレイされることができる。クエスト及び／またはチャレンジは、コンパニオンインターフェース、メッセージング、電子メール等による招待状等によって、ユーザのフレンドに標的化され得る。クエスト及び／またはチャレンジは、また、ゲームサーバ、ウェブサイト、招待状、メッセージング等によって一般公衆に利用可能にされ得る。
【００２８】
場所ベース情報は、ユーザのゲームプレイ中に定期的に集められるスナップショットのために生成されるパラメータを定義することを含む。特に、スナップショットは、ユーザのゲームプレイに関するメタデータ及び／または情報を含有し、スナップショットに対応するゲームアプリケーションのジャンプ点において、対応するゲームアプリケーションの別のインスタンスを有効にするように構成可能である。状況関連情報は、また、同じゲームアプリケーションをプレイする他のユーザのそのゲームプレイ中に集められた情報を含む。当該方式では、ユーザは、ユーザの現在の進捗（例えば、ゲーム世界における場所等）に基づいて、状況関連情報を受信することが可能である。例えば、状況関連情報は、ユーザのゲームプレイにおける補助を提供することができ、当該情報は、ゲームプレイ場所、過去のゲームプレイ、及び予期されるゲームプレイに基づくものであり得る。さらに、コンパニオンインターフェースは、ユーザからのメッセージを作成するために使用されることができる。
【００２９】
様々な実施形態の上記の一般的理解によって、実施形態の例示的詳細は、ここで、様々な図面を参照して説明されるであろう。
【００３０】
本明細書の全体を通して、「ビデオゲーム」または「ゲームアプリケーション」への言及は、入力コマンドの実行によって指示される任意の種類の対話型アプリケーション表すことを意味する。例証の目的だけのために、対話型アプリケーションは、ゲーム用アプリケーション、ワード処理、ビデオ処理、ビデオゲーム処理等を含む。さらに、用語「ビデオゲーム」及び「ゲームアプリケーション」は交換可能である。
【００３１】
図１Ａは、本開示の一実施形態による、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートするように構成された場所ベースコンパニオンインターフェースを実装するために使用され、及びゲームアプリケーションのゲームプレイに基づいてクエスト及び／またはチャレンジを生成するために使用されるシステム１０を示し、ゲームアプリケーションはローカルコンピューティングデバイス上でまたはクラウドゲームネットワークを通して実行することができる。コンパニオンインターフェースは、ゲームアプリケーションをプレイする他のユーザのために、相互作用のためにコンテンツ（例えば、クエスト及び／またはチャレンジ等）を作成するために使用され得る。クエスト及び／またはチャレンジは、スナップショット情報等のゲームアプリケーションをプレイするユーザのゲームプレイ中にキャプチャされる場所ベース情報に基づいて作成される。
【００３２】
図１Ａに示されるように、ゲームアプリケーションは、ユーザ５のクライアントデバイス１００において、ローカルに実行し得る、または、クラウドゲームネットワークまたはゲームクラウドシステムのバックエンドゲームサーバ２０５で動作するバックエンドゲーム実行エンジン２１１において実行し得る。ゲーム実行エンジン２１１は、ゲームサーバ２０５の多くのゲームプロセッサ２０１の１つの内部で動作し得る。いずれの場合でも、クラウドゲームネットワークは、ゲームアプリケーションをプレイする１人以上のユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを提供するように構成されている。さらに、ゲームアプリケーションは、シングルプレイヤーモードまたは複数プレイヤーモードで実行し得、本発明の実施形態は、両方の動作モードに対する複数プレイヤーに関する強化（例えば、補助、通信等）を提供する。
【００３３】
いくつかの実施形態では、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で起動する複数の仮想マシン（ＶＭ）を含み得、１つ以上の仮想マシンは、シングルプレイヤーまたは複数プレイヤービデオゲームをサポートするホストのハイパーバイザに利用可能であるハードウェアリソースを利用してゲームプロセッサモジュール２０１を実行するように構成されている。他の実施形態では、クラウドゲームネットワークは、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、各ローカルコンピューティングデバイスは、シングルプレイヤーまたは複数プレイヤービデオゲーム等のようなビデオゲームのインスタンスを実行し得る。例えば、複数プレイヤーモードでは、ビデオゲームがローカルで実行している間、クラウドゲームネットワークは、同時に、情報（例えば、ゲーム状態データ）を各ローカルコンピューティングデバイスから受信し、１つ以上のローカルコンピューティングデバイスの全体に対して、適宜、当該情報を分散し、これにより、各ユーザは、複数プレイヤービデオゲームのゲーム環境において、（例えば、ビデオゲームの対応するキャラクタによって）他のユーザと対話することが可能である。当該方式によって、クラウドゲームネットワークは、複数プレイヤーゲーム環境内で、各ユーザに対して複数のゲームプレイを調整し組み合わせる。
【００３４】
示されるように、システム１０は、複数の対話型ゲームアプリケーションへのアクセスを提供するゲームプロセッサモジュール２０１を実行するゲームサーバ２０５を含む。前に説明されたように、ゲームサーバ２０５は、クラウド内で利用可能である任意の種類のサーバコンピューティングデバイスであり得、１つ以上のホスト上で実行する１つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ２０５は、ゲームプロセッサ２０１をサポートする仮想マシンを管理し得る。ゲームサーバ２０５は、また、追加サービス及び／またはコンテンツをユーザ５に提供するように構成されている。さらに下記に説明されるように、例えば、ゲームサーバは、状況関連情報を生成する及び／または受信する目的のために、ユーザ５に表示可能なコンパニオンインターフェースを提供するように構成可能である。
【００３５】
クライアントデバイス１００は、インターネット等のネットワーク１５０を通して、ゲームアプリケーションへのアクセスを要求するように、ならびにゲームサーバ２０５によって実行され及びユーザ５に関連付けられる表示デバイス１２に送達されるビデオゲームまたはゲームアプリケーションのインスタンスをレンダリングするように構成されている。例えば、ユーザ５は、ゲームプロセッサ２０１上で実行するゲームアプリケーションのインスタンスで、クライアントデバイス１００を経由して対話し得る。前に説明されたように、クライアントデバイス１００は、また、ゲームアプリケーションのローカルで実行するように構成されているゲーム実行エンジン１１１を含み得る。クライアントデバイス１００は、ゲームコントローラ６、タブレットコンピュータ１１、キーボード等の様々な種類の入力デバイスからの入力と、ビデオカメラ、マウス、タッチパッド等によってキャプチャされるジェスチャとを受信し得る。クライアントデバイス１００は、ネットワーク１５０を通してゲームサーバ２０５に接続することが可能である、少なくともメモリ及びプロセッサモジュールを有する任意の種類のコンピューティングデバイスであり得る。クライアントデバイス１００のいくつかの例は、パーソナルコンピュータ（ＰＣ）、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話機、またはゲームサーバ２０５と相互作用しビデオゲームのインスタンスを実行することができる任意の他の種類のコンピューティングデバイスを含む。
【００３６】
クライアントデバイス１００は、レンダリング画像を受信するように、及びレンダリング画像をディスプレイ１２上に表示するように構成されている。例えば、クラウドベースサービスによって、レンダリング画像は、ユーザ５に関連して、ゲームサーバ２０５のゲーム実行エンジン２１１上で実行するゲームアプリケーションのインスタンスによって送達され得る。別の例では、ローカルゲーム処理によって、レンダリング画像は、ローカルゲーム実行エンジン１１１によって送達され得る。いずれの場合でも、クライアントデバイス１００は、ゲームプレイを駆動するために使用される入力コマンド等によって、ユーザ５のゲームプレイに関連して、実行エンジン２１１または１１１と相互作用するように構成されている。
【００３７】
さらに、クライアントデバイス１００は、ゲームアプリケーションをプレイするとき、ゲームサーバ２０５と相互作用し、ユーザ５のゲームプレイのスナップショットをキャプチャ及び記憶するように構成され、各スナップショットは、ゲームプレイに関連する情報（例えば、ゲーム状態等）を含む。例えば、スナップショットは、ユーザ５のゲームプレイのゲーム世界内のキャラクタの場所に対応する場所ベース情報を含み得る。さらに、スナップショットは、対応するユーザが、スナップショットのキャプチャに対応するゲームアプリケーションのジャンプ点において、保存されたゲームプレイにジャンプすることを可能にする。したがって、ユーザ５は、選択済スナップショットに対応するジャンプ点において自身の保存されたゲームプレイにジャンプすることができ、別のユーザは、ユーザ５のゲームプレイにジャンプし得る、または、ユーザ５は、選択済スナップショットに対応するジャンプ点において、別のユーザの保存されたゲームプレイにジャンプし得る。さらに、クライアントデバイス１００は、ゲームサーバ２０５と相互作用し、場所ベースコンパニオンインターフェースをコンパニオンインターフェース発生器２１３から表示するように構成され、コンパニオンインターフェースは、補助情報、メッセージング、対話式クエスト及びチャレンジ等の状況に基づく関連のあるコンテンツを受信及び／または生成するように構成されている。特に、ゲームプレイに関する場所ベース情報等のユーザ５のゲームプレイ中にキャプチャされるスナップショットに含有される情報は、他のユーザのゲームプレイ中にキャプチャされる情報とともに、状況に基づく関連のあるコンテンツを生成するために使用される。
【００３８】
より具体的には、ゲームサーバ２０５のゲームプロセッサ２０１は、ゲームアプリケーションをプレイするとき、ユーザ５のゲームプレイのスナップショットを生成及び／または受信するように構成されている。例えば、スナップショットは、クライアントデバイス１００上のローカルゲーム実行エンジン１１１によって生成され、ネットワーク１５０を通してゲームプロセッサ２０１に出力及び送達され得る。加えて、スナップショットは、エンジン２１１上で実行するゲームアプリケーションのインスタンス等によって、ゲームプロセッサ２０１内のゲーム実行エンジン２１１によって生成され得る。加えて、他の仮想マシンに関連付けられるゲームサーバ２０５の他のゲームプロセッサは、他のユーザのゲームプレイに関連付けられるゲームアプリケーションのインスタンスを実行するように、及びそれらのゲームプレイ中にスナップショットをキャプチャするように構成され、この追加情報は、状況関連情報を作成するために使用され得る。
【００３９】
スナップショット発生器２１２は、ユーザ５のゲームプレイから生成される複数のスナップショットをキャプチャするように構成されている。各スナップショットは、対応するスナップショットに関連付けられるビデオゲームの地点から始まるビデオゲームのインスタンスの実行を可能にする情報を提供する。スナップショットは、ユーザ５によるゲームアプリケーションのゲームプレイ中に自動的に生成される。ある実施形態では、スナップショットのそれぞれの一部は、独立して構成されるまたはデータストア１４０の下に構成される関連データベース内に記憶される。別の実施形態では、スナップショットは、ユーザ５による命令によって手動で生成され得る。当該方式では、対応するスナップショットの選択によって、任意のユーザは、対応するスナップショットに関連付けられるゲームアプリケーションの地点におけるユーザ５のゲームプレイにジャンプし得る。加えて、複数のゲームアプリケーションをプレイする他のユーザのゲームプレイのスナップショットもキャプチャされ得る。したがって、ゲームプロセッサ２０１は、対応するスナップショットに基づいて任意のユーザの保存されたゲームプレイへのジャンプを可能にするために、データベース１４０内の情報にアクセスするように構成されている。すなわち、要求を行うユーザは、スナップショットを生成及び保存した元のユーザのゲームプレイのゲームキャラクタを使用して選択済スナップショットに対応するジャンプ点において、ビデオゲームをプレイすることを始めることが可能である。
【００４０】
スナップショットの作成及び使用の十分な考察は、「Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ  Ｆｏｒ  Ｓａｖｉｎｇ  Ａ  Ｓｎａｐｓｈｏｔ  ｏｆ  Ｇａｍｅ  Ｐｌａｙ  Ａｎｄ  Ｕｓｅｄ  Ｔｏ  Ｂｅｇｉｎ  Ｌａｔｅｒ  Ｅｘｅｃｕｔｉｏｎ  Ｏｆ  Ｔｈｅ  Ｇａｍｅ  Ｐｌａｙ  Ｂｙ  Ａｎｙ  Ｕｓｅｒ  Ａｓ  Ｅｘｅｃｕｔｅｄ  Ｏｎ  Ａ  Ｇａｍｅ  Ｃｌｏｕｄ  Ｓｙｓｔｅｍ」と題された、米国出願第１５／４１１，４２１号の中で提供され、これは、その全体を参照することによって事前に組み込まれていたものである。スナップショットの作成及び実施の簡潔な説明は下記に続く。
【００４１】
特に、各スナップショットは、スナップショットに対応するゲームアプリケーションの地点において始まるゲームアプリケーションのインスタンスの実行を可能にするメタデータ及び／または情報を含む。例えば、ユーザ５のゲームプレイでは、スナップショットは、レベルの中間等において、ゲームアプリケーションの進行中における特定の地点で生成され得る。関連スナップショット情報は、データベース１４０の１つ以上のデータベース内に記憶される。ポインタは、特定のスナップショットに対応する各データベース内の情報を関連付けるために使用されることができる。当該方式では、ユーザ５のゲームプレイを経験することを望む別のユーザまたは自身の事前のゲームプレイを再度経験することを望む同じユーザ５は、着目するゲームアプリケーションの地点に対応するスナップショットを選択し得る。
【００４２】
各スナップショットのメタデータ及び情報は、ユーザのゲームプレイに関連する追加情報を提供する、及び／またはそれを提供するために分析され得る。例えば、スナップショットは、ユーザ（例えば、ユーザのキャラクタ）がゲームアプリケーション内に存在していた場所、ユーザがゲームアプリケーションにいる場所、ユーザが行ったこと、ユーザが蓄積しているアセット及びスキル、ならびにユーザがゲームアプリケーション内で進む予定の場所を判定することに役立ち得る。この追加情報は、ユーザのゲームプレイに基づくクエスト及び／またはチャレンジを生成するために使用され得、クエスト及び／またはチャレンジは、ゲームアプリケーション内に含有されない。例えば、ユーザは、ユーザのゲームプレイ（例えば、最小限の武器を使用してボスに攻撃する）を模倣するクエスト及び／またはチャレンジを作成するアセット及び達成パラメータ（例えば、否定的及び肯定的）を定義し得る。ユーザは、同じ制約（例えば、最小限の武器）で、クエストを試み及びクリアする（例えば、ボスを攻撃する）ように、他のユーザを挑発し得る。
【００４３】
スナップショットは、当該地点でレンダリングされるシーンのスナップショット画像を含む。スナップショット画像は、スナップショット画像データベース１４６内に記憶される。タイムラインにおけるサムネイルの形態に存在するスナップショット画像は、ビデオゲームによるユーザによって進行中における対応する地点において、ユーザのゲームプレイのビューを提供する。
【００４４】
より具体的には、スナップショットは、また、当該地点における、ゲームの状態を定義するゲーム状態データを含む。例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクト状態、グラフィックオーバーレイ等を含み得る。当該方式では、ゲーム状態データは、ビデオゲームの対応する地において存在していたゲーム環境の生成を可能にする。ゲーム状態データは、また、ＣＰＵ、ＧＰＵ、メモリ、登録値、プログラムカウンタ値、プログラム可能ＤＭＡ状態、ＤＭＡに関するバッファデータ、オーディオチップ状態、ＣＤ−ＲＯＭ状態等の状態など、ゲームプレイをレンダリングするために使用されるすべてのデバイスの状態を含み得る。ゲーム状態データは、また、どの実行可能コードの一部が当該地点からビデオゲームを実行するためにロードされる必要があるかを識別し得る。ゲーム状態データの全てがキャプチャ及び記憶される必要はなく、スナップショットに対応する地点でゲームを開始するために、実行可能コードに関して十分であるデータのみが必要である。ゲーム状態データは、ゲーム状態データベース１４５内に記憶される。
【００４５】
スナップショットは、また、ユーザ保存データを含む。概して、ユーザ保存データは、対応するユーザに関するビデオゲームを個人用にする情報を含む。これは、ユーザのキャラクタに関連付けられる情報を含み、これにより、ビデオゲームは、ユーザに一意であり得るキャラクタ（例えば、姿、見た目、衣類、武器等）でレンダリングされる。当該方式では、ユーザ保存データは、対応するユーザのゲームプレイのキャラクタの生成を可能にし、当該キャラクタは、スナップショットに関連付けられるビデオゲームの地点に対応する状態を有する。例えば、ユーザ保存データは、ゲームをプレイするときユーザ５によって選択されたゲーム困難度、ゲームレベル、キャラクタ属性、キャラクタの場所、残された寿命の数値、利用可能である寿命に関する可能である合計数、鎧、戦利品、時間カウンタ値、及び他のアセット情報等を含み得る。ユーザ保存データはまた、例えば、ユーザ５を識別するユーザプロフィールデータを含み得る。ユーザ保存データは、データベース１４１内に記憶される。
【００４６】
加えて、スナップショットは、また、人工知能（ＡＩ）モジュール２１５によって生成されるランダムシードデータを含む。ランダムシードデータは、元のゲームコードの一部ではない場合があるが、ゲーム環境をユーザによりリアルに及び／または魅力的に見えさせるように、オーバーレイ内に追加され得る。すなわち、ランダムシードデータは、ユーザのゲームプレイにおける対応する地点に存在するゲーム環境に関する追加特徴を提供する。例えば、ＡＩキャラクタは、オーバーレイ内に、ランダムに生成及び提供され得る。ＡＩキャラクタは、ゲームをプレイする任意のユーザ関連付けられないが、ユーザの経験を向上させるゲーム環境に置かれる。例証として、これらのＡＩキャラクタは、街のシーンで街路をランダムに歩き得る。加えて、他のオブジェクトは、オーバーレイ内で生成され、及びその内部に存在し得る。例えば、背景の雲及び空間を通るように飛んでいる鳥は、オーバーレイ内に生成され、及びその内部に存在し得る。ランダムシードデータは、ランダムシードデータベース１４３内に記憶される。
【００４７】
当該方式では、ユーザ５のゲームプレイを経験することを望む別のユーザは、着目するビデオゲームの地点に対応するスナップショットを選択し得る。例えば、ユーザによるタイムラインに存在するスナップショット画像またはノードグラフ内のノードの選択は、ゲームプロセッサ２０１のジャンプ実行エンジン２１６が、対応するスナップショットにアクセスすること、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化すること、及びスナップショットに対応するビデオゲームのある地点で始まるビデオゲームを実行することを可能にする。当該方式では、スナップショットは、スナップショットに対応する地点において、要求を行うユーザが、ユーザ５のゲームプレイにジャンプすることを可能にする。加えて、ユーザ５は、他のユーザのゲームプレイにアクセスし得る、またはさらに、対応するスナップショットを使用して同じまたは他のゲームアプリケーションの自身の事前のゲームプレイにアクセスし得る。特に、ユーザ５によるスナップショットの選択（例えば、タイムラインに、またはメッセージ等による）は、対応するスナップショットが対応するゲームアプリケーションでキャプチャされた地点において、対応するゲームアプリケーションを実行することを始めるために、実行エンジン２１６が、スナップショット（例えば、メタデータ及び／または情報）を様々なデータベースから（例えば、データベース１４０から）集めることを可能にする。
【００４８】
ゲームプロセッサ２０１は、ゲームアプリケーションをプレイするときにユーザ５のゲームプレイをサポートするコンパニオンインターフェースを生成するように構成されている場所ベースコンパニオンアプリケーション発生器２１３を含む。発生器２１３は、ユーザ５のゲームプレイに基づく、ユーザ５に送達される、またはユーザ５から受信される状況関連情報（例えば、補助情報、メッセージ等）を作成するために使用されることができ、状況関連情報は、場所ベース情報（例えば、スナップショット）を使用して作成される。状況関連情報は、また、ゲームアプリケーションをプレイする他のユーザのゲームプレイから集められた情報に基づくものであり得る。例えば、実施形態では、場所ベース情報は、クラウドソーシング環境において同じゲームアプリケーションをプレイする複数のユーザの現在の及び／または過去のゲームプレイに基づくものであり得る、それにより、当該情報は、複数のゲームプレイの観察及び／または分析によって判定され得る。当該方式では、クラウドソースコンテンツは、ゲームプレイ中に発見され得、コンテンツは、同じゲームアプリケーションをプレイする他のプレイヤーに有用であり得る、または、向上したユーザ経験をこれらの他のプレイヤーに提供し得る。状況関連情報は、ユーザのフレンドから生成され得る。ユーザは、孤立してゲームアプリケーションをプレイし（例えば、単独でプレイする）、第１のユーザのゲームプレイを進める際に役立つコンパニオンインターフェースを経由して情報を受信し得る、または向上されたユーザ経験を提供するために、これらを行い得る。ユーザは、（例えば、単独で、または複数プレイヤーモードで）同時にゲームアプリケーションをプレイする全てのフレンドのグループと一緒にプレイし得、当該情報は、フレンド間でリアルタイムの対話をもたらす。
【００４９】
特に、発生器２１３は、特定の状況（例えば、キャラクタの現在の場所、ゲーム状態情報等）に関して（例えば、スナップショットに基づいて）特定のゲームアプリケーションのユーザ５のゲームプレイの進捗を判定するように構成可能であり、ユーザ５のゲームプレイを表示するデバイスから分離したデバイス１１上で表示可能なコンパニオンインターフェースに送達され得る状況関連情報を判定するように構成可能である。例えば、状況関連情報は、ゲームアプリケーションによる処理において補助を提供する情報を提供し得る。状況関連情報は、どのエリアにキャラクタが訪れるか、どのタスクがゲームプレイを進めるために要求されるか、どのアセットがゲームプレイを進めるために必要とされるか（例えば、要求タスクを達成するために必要となるアセット）等を含む、ユーザ５のゲームプレイで向かうであろう場所を予測するように構成されている予測エンジン２１４によって提供される情報を考慮したものであり得る。
【００５０】
コンパニオンインターフェースはまた、他のユーザによる対話のために、ユーザ５によって状況に基づく関連のあるコンテンツを作成するために使用され得る。例えば、コンパニオンインターフェースに示される場所ベース情報（例えば、レーダマッピング、中間地点等）は、クエスト／チャレンジエンジン２１９によって実施されるように、対話型コンテンツ（例えば、クエスト、チャレンジ、メッセージ等）を作成する作成を容易にし得る。すなわち、ユーザ５は、ユーザのゲームプレイに基づくがゲームアプリケーション内に含有されない対話型コンテンツ（例えば、クエスト及び／またはチャレンジ）を作成するために、場所ベース情報（例えば、スナップショット）を使用し得る。特に、クエスト及び／またはチャレンジは、ユーザのゲームプレイ中にキャプチャされるスナップショット内に含有される情報に基づいて、アセットパラメータ及び達成パラメータによって定義され得る。これらのクエスト及び／またはチャレンジの範囲は、ゲームアプリケーションをプレイする現在のユーザ及び後のユーザの創造力だけによって制限されている。加えて、エンジン２１９は、これらのクエスト／チャレンジとの相互作用を容易にする。
【００５１】
示されるように、コンパニオンインターフェースは、表示及び相互作用のためのデバイス１１（例えば、タブレット）に送達され、デバイス１１は、ユーザ５との対話のためのゲームアプリケーションの実行を実行及び／またはサポートするように構成されているクライアントデバイス１００から分離し得る。例えば、第１の通信チャネルは、ゲームサーバ２０５とクライアントデバイス１００との間に確立し得、分離している第２の通信チャネルは、ゲームサーバ２０５とデバイス１１との間に確立し得る。
【００５２】
図１Ｂは、本開示の一実施形態による、対応するユーザに対してローカルで実行する１つ以上のゲームアプリケーションをプレイする１人以上のユーザに、ゲーム制御を提供し、及びバックエンドサーバサポート（例えば、ゲームサーバ２０５を経由してアクセス可能である）が対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装し得る、システム１０６Ｂを示す。一実施形態では、システム１０６Ｂは、対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装する、図１Ａのシステム１０及び図２のシステム２００と連動して動く。ここで図面を参照すると、同様の参照番号は同一の部分または対応する部分を指定する。
【００５３】
図１Ｂに示されるように、複数のユーザ１１５（例えば、ユーザ５Ａ、ユーザ５Ｂ・・・ユーザ５Ｎ）は、複数のゲームアプリケーションをプレイし、ゲームアプリケーションのそれぞれは、対応するユーザの対応するクライアントデバイス１００（例えば、ゲームコンソール）上で、ローカルで実行される。加えて、前に説明されたように、複数のユーザ１１５のそれぞれは、デバイス１１へのアクセス権を有し、前に紹介されたような、デバイス１１は、対応するゲームアプリケーションをプレイする、対応するユーザに状況関連情報を提供するデバイス１１上に表示するためのコンパニオンインターフェースを受信及び／または生成するように構成されている。コンパニオンインターフェースは、クエスト／チャレンジを生成するために使用され得、また、クエスト／チャレンジエンジン２１９等によって、クエスト／チャレンジをプレイするために、またはクエスト／チャレンジとの相互作用をサポートするために使用され得る。クライアントデバイス１００のそれぞれは、対応するゲームアプリケーションのローカルでの実行が行われる点で、同様に構成され得る。例えば、ユーザ５Ａは、対応するクライアントデバイス１００上の第１のゲームアプリケーションをプレイし得、第１のゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１によって実行される。第１のゲームアプリケーションを実施するゲームロジック１２６Ａ（例えば、実行可能コード）は、対応するクライアントデバイス１００上に記憶され、第１のゲームアプリケーションを実行するために使用される。例証の目的のために、ゲームロジックは、携帯用媒体（例えば、フラッシュドライブ、コンパクトディスク等）によって、またはネットワークを経由して（例えば、ゲームプロバイダからインターネット１５０を経由してダウンロードされる）、対応するクライアントデバイス１００に送達され得る。加えて、ユーザ５Ｂは、対応するクライアントデバイス１００上の第２のゲームアプリケーションをプレイし、第２のゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１によって実行される。第２のゲームアプリケーションは、ユーザ５Ａのために実行する第１のゲームアプリケーションに同一であり得る、または異なるゲームアプリケーションであり得る。第２のゲームアプリケーションを実施するゲームロジック１２６Ｂ（例えば、実行可能コード）は、前に説明されたような対応するクライアントデバイス１００上に記憶され、第２のゲームアプリケーションを実行するために使用される。さらに、ユーザ１１５Ｎは、対応するクライアントデバイス１００上のＮ番目のゲームアプリケーションをプレイし、Ｎ番目のゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１によって実行される。Ｎ番目のゲームアプリケーションは、第１または第２のゲームアプリケーションに同一であり得る、または完全に異なるゲームアプリケーションであり得る。第３のゲームアプリケーションを実施するゲームロジック１２６Ｎ（例えば、実行可能コード）は、前に説明されたような対応するクライアントデバイス１００上に記憶され、Ｎ番目のゲームアプリケーションを実行するために使用される。
【００５４】
前に説明されたように、クライアントデバイス１００は、ゲームコントローラ、タブレットコンピュータ、キーボード等の様々な種類の入力デバイスからの入力と、ビデオカメラ、マウス、タッチパッド等によってキャプチャされるジェスチャとを受信し得る。クライアントデバイス１００は、ネットワーク１５０を通してゲームサーバ２０５に接続することが可能である、少なくともメモリ及びプロセッサモジュールを有する任意の種類のコンピューティングデバイスであり得る。また、対応するユーザのクライアントデバイス１００は、ローカルまたはリモートで実行するゲームタイトル実行エンジン１１１によって実行されるレンダリング画像を生成するように、及びレンダリング画像をディスプレイ上に表示するように構成されている。例えば、レンダリング画像は、ユーザ５Ａのクライアントデバイス１００上で実行する第１のゲームアプリケーションのインスタンスと関連付けられ得る。例えば、対応するクライアントデバイス１００は、ゲームプレイを駆動するために使用される入力コマンド等によって、対応するユーザのゲームプレイを実施するために、ローカルまたはリモートで実行されるような対応するゲームアプリケーションのインスタンスと相互作用するように構成されている。
【００５５】
一実施形態では、クライアントデバイス１００は、ゲームアプリケーションをプレイする対応するユーザのためのシングルプレイヤーモードで動作している。バックエンドサーバは、本開示の一実施形態による、下記に説明されるような対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースサービスを提供し得る。
【００５６】
別の実施形態では、複数のクライアントデバイス１００は、それぞれが特有のゲームアプリケーションをプレイする対応するユーザのための複数プレイヤーモードで動作している。その場合、ゲームサーバを介するバックエンドサーバサポートは、複数プレイヤー処理エンジン１１９等によって複数プレイヤー機能を提供し得る。特に、複数プレイヤー処理エンジン１１９は、特定のゲームアプリケーション用の複数プレイヤーゲームセッションを制御するように構成されている。例えば、複数プレイヤー処理エンジン１３０は、複数プレイヤーセッションコントローラ１１６と通信し、複数プレイヤーセッションコントローラ１１６は、複数プレイヤーゲームセッションに参加するユーザ及び／またはプレイヤーのそれぞれとの通信セッションを確立及び維持するように構成されている。当該方式では、当該セッションにおけるユーザは、複数プレイヤーセッションコントローラ１１６によって制御されるように、相互に通信することができる。
【００５７】
さらに、複数プレイヤー処理エンジン１１９は、各ユーザの対応するゲーム環境内でのユーザ間の対話を可能にするために、複数プレイヤーロジック１１８と通信する。特に、状態共有モジュール１１７は、複数プレイヤーゲームセッションにおけるユーザのそれぞれに関する状態を管理するように構成されている。例えば、状態データは、特定地点における、対応するユーザに関する（ゲームアプリケーションの）ゲームプレイの状態を定義するゲーム状態データを含み得る。例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクト状態、グラフィックオーバーレイ等を含み得る。当該方式では、ゲーム状態データは、ゲームアプリケーションの対応する地点において存在するゲーム環境の生成を可能にする。ゲーム状態データは、また、ＣＰＵ、ＧＰＵ、メモリ、登録値、プログラムカウンタ値、プログラム可能ＤＭＡ状態、ＤＭＡに関するバッファデータ、オーディオチップ状態、ＣＤ−ＲＯＭ状態等の状態など、ゲームプレイをレンダリングするために使用されるすべてのデバイスの状態を含み得る。ゲーム状態データは、また、どの実行可能コードの一部が当該地点からビデオゲームを実行するためにロードされる必要があるかを識別し得る。ゲーム状態データは、図１Ｃ及び図２のデータベース１４０内に記憶され得、状態共有モジュール１１７によってアクセス可能である。
【００５８】
さらに、状態データは、対応するプレイヤーのためにビデオゲームを個人用にする情報を含むユーザ保存データを含み得る。これは、ユーザによってプレイされるキャラクタに関連付けられる情報を含み、これにより、ビデオゲームは、ユーザに一意であり得るキャラクタ（例えば、場所、姿、見た目、衣類、武器等）でレンダリングされる。当該方式では、ユーザ保存データは、対応するユーザのゲームプレイのキャラクタの生成を可能にし、当該キャラクタは、対応するユーザによって現在経験しているゲームアプリケーションの地点に対応する状態を有する。例えば、ユーザ保存データは、ゲームをプレイするときユーザ１１５Ａによって選択されたゲーム困難度、ゲームレベル、キャラクタ属性、キャラクタの場所、残された寿命の数値、利用可能である寿命に関する可能である合計数、鎧、戦利品、時間カウンタ値等を含み得る。ユーザ保存データはまた、例えば、対応するユーザ１１５Ａを識別するユーザプロフィールデータを含み得る。ユーザ保存データは、データベース１４０内に記憶され得る。
【００５９】
当該方式では、状態共有データ１１７及び複数プレイヤーロジック１１８を使用する複数プレイヤー処理エンジン１１９は、オブジェクト及びキャラクタを、複数プレイヤーゲームセッションに参加するユーザのゲーム環境のそれぞれにオーバーレイ／挿入することが可能である。例えば、第１のユーザのキャラクタは、第２のユーザのゲーム環境にオーバーレイ／挿入される。これは、それらの各々のゲーム環境のそれぞれ（例えば、スクリーン上に表示されるようなもの）を介して、複数プレイヤーゲームセッションにおけるユーザ間の対話を可能にする。
【００６０】
加えて、ゲームサーバ２０５を介するバックエンドサーバサポートは、コンパニオンアプリケーション発生器２１３によって生成されるコンパニオンインターフェースを経由して提供された場所ベースコンパニオンアプリケーションサービスを提供し得る。前に紹介されたように、発生器２１３は、ユーザ５に送達される、またはユーザ５から受信される状況関連情報（例えば、補助情報、メッセージ等）を作成するように構成されている。当該情報は、特定のアプリケーションに関するユーザ５のゲームプレイに基づいて（例えば、スナップショットに提供された情報に基づいて）生成される。当該方式では、発生器２１３は、ユーザ５のゲームプレイの状況を判定し、（例えば、ユーザ５のゲームプレイを表示するデバイスから分離した）デバイス１１上で表示可能なコンパニオンインターフェースに送達可能である状況関連情報を提供することが可能である。加えて、クエスト／チャレンジエンジン２１９は、ユーザのゲームプレイに基づくがゲームアプリケーション内に含有されない対話型コンテンツ（例えば、クエスト／チャレンジ）を作成するために、ユーザ５がゲームアプリケーションをプレイすることを可能にするように構成されている。特に、クエスト及び／またはチャレンジは、ユーザのゲームプレイ中にキャプチャされるスナップショット内に含有される情報に基づいて、アセットパラメータ及び達成パラメータによって定義され得る。加えて、エンジン２１９は、これらのクエスト／チャレンジとの相互作用を容易にする。例えば、コンパニオンインターフェースは、クエスト／チャレンジをプレイするための招待状（例えば、メッセージ、レーダマッピング内のマーカ等）を表示し得る。一実施形態では、クエスト／チャレンジは、直接、コンパニオンインターフェース内でプレイされ得る。別の実施形態では、クエスト／チャレンジは、（例えば、ジャンプゲームプレイを経由して）コンパニオンインターフェースの外側でプレイされるが、コンパニオンインターフェースは、クエスト／チャレンジをサポートする（例えば、クエスト／チャレンジによる進捗を示す）ように構成されている。
【００６１】
図１Ｃは、本開示の一実施形態による、クラウドゲームネットワークを通して実行されるようなゲームアプリケーションをプレイするユーザ１１５（例えば、ユーザ５Ｌ、５Ｍ・・・５Ｚ）に、ゲーム制御を提供するシステム１０６Ｃを示す。いくつかの実施形態では、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で起動する複数の仮想マシン（ＶＭ）を含むゲームクラウドシステム２１０であり得、１つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成されている。一実施形態では、システム１０６Ｃは、図１Ａのシステム１０及び／または図２のシステム２００と連動して動き、対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装する。ここで図面を参照すると、同様の参照番号は同一の部分または対応する部分を指定する。
【００６２】
示されるように、ゲームクラウドシステム２１０は、複数の対話型ビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームサーバ２０５を含む。ゲームサーバ２０５は、クラウド内で利用可能である任意の種類のサーバコンピューティングデバイスであり得、１つ以上のホスト上で実行する１つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ２０５は、ユーザのゲームアプリケーションのインスタンスをインスタンス化するゲームプロセッサをサポートする仮想マシンを管理し得る。したがって、複数の仮想マシンに関連付けられるゲームサーバ２０５の複数のゲームプロセッサは、複数のユーザ１１５のゲームプレイに関連付けられるゲームアプリケーションの複数のインスタンスを実行するように構成されている。当該方式では、バックエンドサーバサポートは、複数のゲームアプリケーションのゲームプレイのメディア（例えば、ビデオ、音声等）を、複数の対応するユーザにストリーミングすることを提供する。
【００６３】
複数のユーザ１１５は、ネットワーク１５０を介してゲームクラウドシステム２１０にアクセスし、ユーザ（例えば、ユーザ５Ｌ、５Ｍ・・・５Ｚ）は、対応するクライアントデバイス１００’を介してネットワーク１５０にアクセスし、クライアントデバイス１００’は、図１Ａ−１Ｂのクライアントデバイス１００（例えば、ゲーム実行エンジン１１１等を含む）と同様に構成され得る、またはコンピュータの機能を提供するバックエンドサーバ（例えば、ゲーム実行エンジン２１１を含む）とのインターフェースを提供するシンクライアントとして構成され得る。加えて、前に説明されたように、複数のユーザ１１５のそれぞれは、デバイス１１へアクセス可能であり、前に紹介されたように、デバイス１１は、状況関連情報を対応するゲームアプリケーションをプレイする対応するユーザに提供するデバイス１１上に表示するためのコンパニオンインターフェースを受信及び／または生成するように構成されている。特に、対応するユーザ５Ｌのクライアントデバイス１００’は、インターネット等のネットワーク１５０を通して、ゲームアプリケーションへのアクセスを要求するように、ならびにゲームサーバ２０５によって実行され及び対応するユーザ５Ｌに関連付けられる表示デバイスに送達されるゲームアプリケーション（例えば、ビデオゲーム）のインスタンスをレンダリングするように構成されている。例えば、ユーザ５Ｌは、ゲームサーバ２０５のゲームプロセッサ上で実行するゲームアプリケーションのインスタンスで、クライアントデバイス１００’を経由して対話し得る。より具体的には、ゲームアプリケーションのインスタンスは、ゲームタイトル実行エンジン２１１によって実行される。ゲームアプリケーションを実装するゲームロジック（例えば、実行可能コード）は、前に説明されたようなデータストア１４０によって記憶され及びアクセス可能であり、ゲームアプリケーションを実行するために使用される。示されるように、ゲームタイトル処理エンジン２１１は、複数のゲームロジック１７７を使用して、複数のゲームアプリケーションをサポートすることが可能である。
【００６４】
前に説明されたように、クライアントデバイス１００’は、ゲームコントローラ、タブレットコンピュータ、キーボード等の様々な種類の入力デバイスからの入力と、ビデオカメラ、マウス、タッチパッド等によってキャプチャされるジェスチャとを受信し得る。クライアントデバイス１００’は、ネットワーク１５０を通してゲームサーバ２０５に接続することが可能である、少なくともメモリ及びプロセッサモジュールを有する任意の種類のコンピューティングデバイスであり得る。また、対応するユーザのクライアントデバイス１００’は、ローカルまたはリモートで実行するゲームタイトル実行エンジン２１１によって実行されるレンダリング画像を生成するように、及びレンダリング画像をディスプレイ上に表示するように構成されている。例えば、レンダリング画像は、ユーザ５Ｌのクライアントデバイス１００’上で実行する第１のゲームアプリケーションのインスタンスと関連付けられ得る。例えば、対応するクライアントデバイス１００’は、ゲームプレイを駆動するために使用される入力コマンド等によって、対応するユーザのゲームプレイを実施するために、ローカルまたはリモートで実行されるような対応するゲームアプリケーションのインスタンスと相互作用するように構成されている。
【００６５】
別の実施形態では、前に説明されたような複数プレイヤー処理エンジン１１９は、ゲームアプリケーション用の複数プレイヤーゲームセッションを制御するために提供する。特に、複数プレイヤー処理エンジン１１９が複数プレイヤーゲームセッションを管理するとき、複数プレイヤーセッションコントローラ１１６は、複数プレイヤーゲームセッションのユーザ及び／またはプレイヤーのそれぞれとの通信セッションを確立及び維持するように構成されている。当該方式では、当該セッションにおけるユーザは、複数プレイヤーセッションコントローラ１１６によって制御されるように、相互に通信することができる。
【００６６】
さらに、複数プレイヤー処理エンジン１１９は、各ユーザの対応するゲーム環境内でのユーザ間の対話を可能にするために、複数プレイヤーロジック１１８と通信する。特に、状態共有モジュール１１７は、複数プレイヤーゲームセッションにおけるユーザのそれぞれに関する状態を管理するように構成されている。例えば、前に説明されたように、状態データは、特定地点における、対応するユーザ１１５Ａに関する（ゲームアプリケーションの）ゲームプレイの状態を定義するゲーム状態データを含み得る。さらに、前に説明されたように、状態データは、対応するプレイヤーに関するビデオゲームを個人用にする情報を含むユーザ保存データを含み得る。例えば、状態データはユーザのキャラクタに関連付けられる情報を含み、これにより、ビデオゲームは、ユーザ（例えば、姿、見た目、衣類、武器等）に一意であり得るキャラクタでレンダリングされる。当該方式では、状態共有データ１１７及び複数プレイヤーロジック１１８を使用する複数プレイヤー処理エンジン１１９は、オブジェクト及びキャラクタを、複数プレイヤーゲームセッションに参加するユーザのゲーム環境のそれぞれにオーバーレイ／挿入することが可能である。これは、それらの各々のゲーム環境のそれぞれ（例えば、スクリーン上に表示されるようなもの）を介して、複数プレイヤーゲームセッションにおけるユーザ間の対話を可能にする。
【００６７】
加えて、ゲームサーバ２０５を介するバックエンドサーバサポートは、コンパニオンアプリケーション発生器２１３によって生成されるコンパニオンインターフェースを経由して提供された場所ベースコンパニオンアプリケーションサービスを提供し得る。前に紹介されたように、発生器２１３は、対応するユーザ（例えば、５Ｌ）に送達される、またはユーザから受信される状況関連情報（例えば、補助情報、メッセージ等）を作成するように構成されている。当該情報は、特定のアプリケーションに関するユーザのゲームプレイに基づいて（例えば、スナップショットに提供された情報に基づいて）生成される。当該方式では、発生器２１３は、対応するユーザのゲームプレイの状況を判定し、（例えば、ユーザ５Ｌのゲームプレイを表示するデバイスから分離した）デバイス１１上で表示可能なコンパニオンインターフェースに送達可能である状況関連情報を提供することが可能である。加えて、前に紹介されたように、コンパニオンアプリケーション発生器２１３はクエスト／チャレンジエンジン２１９を含み、クエスト／チャレンジエンジン２１９は、ゲームアプリケーションをプレイするユーザ５が、ユーザのゲームプレイに基づくがゲームアプリケーション内に含有されないクエスト／チャレンジを作成することを可能にする。加えて、エンジン２１９は、これらのクエスト／チャレンジとの相互作用を容易にする。
【００６８】
図２は、本開示の一実施形態による、ゲームクラウドシステム（ＧＣＳ）２１０に記憶されたゲームアプリケーションのアクセス及びプレイを可能にするためのシステム図２００を示す。一般的に、ゲームクラウドシステムＧＣＳ２１０は、ネットワーク２２０を通して動作し複数のユーザをサポートする、クラウドコンピューティングシステムであり得る。加えて、ＧＣＳ２１０は、複数のユーザのゲームアプリケーションのゲームプレイ中に生成されたスナップショットを保存するように構成され、スナップショットは、要求を行うユーザがスナップショットに対応するゲームアプリケーションのある地点で始めるために、ゲームアプリケーションのインスタンスを開始するために使用されることができる。例えば、スナップショット発生器２１２は、ゲームアプリケーションをプレイする１人以上のユーザのゲームプレイのスナップショットを生成及び／またはキャプチャするように構成されている。スナップショット発生器２１２は、ゲームサーバ２０５の外部または内部で実行し得る。加えて、スナップショットの使用によって、ＧＣＳ２１０は、ユーザが、ゲームアプリケーションによってナビゲートし及びゲームアプリケーションの過去の及び後のシーンをプレビューすることを可能にする。さらに、スナップショットは、要求を行うユーザが対応するスナップショットによってビデオゲームの選択された地点にジャンプし、別のユーザのゲームプレイを経験することを可能にする。特に、システム２００は、ＧＣＳ２１０、１つ以上のソーシャルメディアプロバイダ２４０、及びユーザデバイス２３０を含み、それらの全ては、ネットワーク２２０（例えば、インターネット）を介して接続される。１つ以上のユーザデバイスは、ネットワーク２２０に接続され、ＧＣＳ２１０及びソーシャルメディアプロバイダ２４０によって提供されるサービスにアクセスし得る。
【００６９】
一実施形態では、ゲームクラウドシステム２１０は、ゲームサーバ２０５と、ビデオ記録装置２７１と、タグプロセッサ２７３と、ユーザプロフィールマネージャを含むアカウントマネージャ２７４と、ゲーム選択エンジン２７５と、ゲームセッションマネージャ２８５と、ユーザアクセスロジック２８０と、ネットワークインターフェース２９０と、ソーシャルメディアマネージャ２９５とを含む。ＧＣＳ２１０は、さらに、一般的に、データストア１４０内に記憶され得るゲーム状態ストア、ランダムシードストア、ユーザ保存データストア、スナップショットストア等の複数のゲームストレージシステムを含み得る。他のゲームストレージシステムは、ゲームコードストア２６１、記録済ゲームストア２６２、タグデータストア２６３、ビデオゲームデータストア２６４、及びゲームネットワークユーザストア２６５を含み得る。一実施形態では、ＧＣＳ２１０は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、ならびにシステム、アプリケーション、ユーザ、及びソーシャルネットワーク間の相互接続性を提供することができるシステムである。ＧＣＳ２１０は、ネットワークインターフェース２９０を介して、ソーシャルメディアマネージャ２９５を経由して、ユーザデバイス２３０及びソーシャルメディアプロバイダ２４０と通信し得る。ソーシャルメディアマネージャ２９５は、１人以上のフレンドに関連付けるように構成され得る。一実施形態では、各ソーシャルメディアプロバイダ２４０は、ユーザソーシャルネットワーク接続を示す、少なくとも１つのソーシャルグラフ２４５を含む。
【００７０】
ユーザＵ０は、ゲームセッションマネージャ２８５を介して、ＧＣＳ２１０によって提供されるサービスにアクセスすることが可能であり、ユーザＵ０は、図１のユーザ５を表し得る。例えば、アカウントマネージャ２７４は、ＧＣＳ２１０へのユーザＵ０による認証及びアクセスを可能にする。アカウントマネージャ２７４は、メンバーユーザに関する情報を記憶する。例えば、メンバーユーザ毎のユーザプロフィールは、アカウントマネージャ２７４によって管理され得る。当該方式では、メンバー情報は、認証目的のために、アカウントマネージャ２７４によって使用されることができる。例えば、アカウントマネージャ２２７４は、メンバーユーザに関連するユーザ情報を更新及び管理するために使用され得る。加えて、メンバーユーザによって所有されるゲームタイトルは、アカウントマネージャ２７４によって管理され得る。当該方式では、データストア２６４内に記憶されるゲームアプリケーションは、それらのゲームアプリケーションを所有する任意のメンバーユーザに利用可能になる。
【００７１】
一実施形態では、ユーザ（例えば、ユーザＵ０）は、ネットワーク２２０を通した接続によって、ユーザデバイス２３０を用いて、ＧＣＳ２１０及びソーシャルメディアプロバイダ２４０によって提供されるサービスにアクセスすることができる。ユーザデバイス２３０は、プロセッサ及びメモリを有する、有線または無線、ポータブルまたは非ポータブルの任意の種類のデバイスを含み得る。一実施形態では、ユーザデバイス２３０は、携帯可能形態要素におけるタッチスクリーン能力を提供するスマートフォン、タブレットコンピュータ、またはハイブリッドの形態であり得る。一例示的デバイスは、オペレーティングシステムを実行し、ならびにネットワーク２２０を通して取得され及びローカルポータブルデバイス（例えば、スマートフォン、タブレット、ラップトップ、デスクトップ等）上で実行され得る、様々なアプリケーション（ａｐｐ）へのアクセスが提供される携帯電話デバイスを含み得る。
【００７２】
ユーザデバイス２３０は、入力コマンド２３６を送信するように、及びＧＣＳ２１０及びソーシャルメディアプロバイダ２４０から受信されたデータ及び／または情報２３５を表示するように、ユーザＵ０に関するインターフェースとして働くディスプレイ２３２を含む。ディスプレイ２３２は、タッチスクリーン、もしくは、一般的に、フラットパネルディスプレイによって提供されるディスプレイ、ブラウン管（ＣＲＴ）、またはディスプレイをレンダリングすることが可能である他のデバイスとして構成されることができる。代替として、ユーザデバイス２３０は、デスクトップコンピュータまたはラップトップコンピュータと同様に、本デバイスから分離しているそのディスプレイ２３２を有し得る。追加デバイス２３１（例えば、図１Ａのデバイス１１）は、場所ベースコンパニオンインターフェースを実装する目的のために、ユーザＵ０に利用可能であり得る。
【００７３】
一実施形態では、ユーザデバイス１３０は、ＧＣＳ２１０と通信し、ユーザＵ０がゲームアプリケーションをプレイすることを可能にするように構成されている。いくつかの実施形態では、ＧＣＳ２１０は、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン（ＶＭ）を含み得、１つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成されている。例えば、ユーザＵ０は、ゲーム選択エンジン２７５を介して、ビデオゲームデータストア２６４内で利用可能であるゲームアプリケーション（例えば、ゲームタイトル等によって）を選択し得る。ゲームアプリケーションは、シングルプレイヤーゲーム環境内で、または複数プレイヤーゲーム環境内でプレイされ得る。当該方式では、選択されたゲームアプリケーションは、ＧＣＳ２１０上でゲームサーバ２０５によって実行されるために有効になり及びロードされる。一実施形態では、ゲームプレイは主にＧＣＳ２１０内で実行され、それにより、ユーザデバイス２３０は、ゲームビデオフレーム２３５のストリームをＧＣＳ２１０から受信し、ゲームプレイを駆動するためのユーザ入力コマンド２３６をＧＣＳ２１０に戻すように伝達する。ストリーミングゲームプレイから受信されたビデオフレーム２３５は、ユーザデバイス２３０のディスプレイ２３２に示される。他の実施形態では、ＧＣＳ２１０は、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、各ローカルコンピューティングデバイスは、シングルプレイヤーゲームアプリケーションまたは複数プレイヤーゲームアプリケーション等のゲームアプリケーションのインスタンスを実行し得る。例えば、複数プレイヤーゲーム環境では、ゲームアプリケーションがローカルで実行している間、クラウドゲームネットワークは、同時に、情報（例えば、ゲーム状態データ）を各ローカルコンピューティングデバイスから受信し、１つ以上のローカルコンピューティングデバイスの全体を通して、適宜、当該情報を分散し、これにより、各ユーザは、複数プレイヤーゲームアプリケーションのゲーム環境において、（例えば、ビデオゲームの対応するキャラクタによって）他のユーザと対話することが可能である。当該方式では、クラウドゲームネットワークは、複数プレイヤーゲーム環境内でユーザ毎に、ゲームプレイを調整及び組み合わせる。
【００７４】
一実施形態では、ユーザＵ０がプレイすることが利用可能であるゲームタイトルを選んだ後、ユーザＵ０が、選ばれたゲームタイトルに関するゲームセッションを、ゲームセッションマネージャ２８５により開始し得る。ゲームセッションマネージャ２８５は、最初に、データストア１４０内のゲーム状態ストアにアクセスし、（選択されたゲームに関して）ユーザＵ０によってプレイされる最後のセッションの保存済ゲーム状態を読み出し、必要な場合、これにより、ユーザＵ０は、ゲームプレイを事前のゲームプレイ停止点から再開することができる。いったん再開または開始点が識別されると、ゲームセッションマネージャ２８５は、ゲームコードストア２６１から選ばれたゲームタイトルのゲームコードを実行するために、ゲームプロセッサ２０１内のゲーム実行エンジンに知らせる場合がある。ゲームセッションが開始された後、ゲームセッションマネージャ２８５は、ユーザデバイス（例えば、ユーザデバイス２３０）に対するネットワークインターフェース２９０を介して、ゲームビデオフレーム２３５（すなわち、ストリーミングビデオデータ）を渡し得る。
【００７５】
ゲームプレイ中、ゲームセッションマネージャ２８５は、ゲームプロセッサ２０１、記録エンジン２７１、及びタグプロセッサ２７３と通信し、ゲームプレイまたはゲームプレイセッションの記録（例えば、ビデオ）を生成または保存し得る。一実施形態では、ゲームプレイのビデオ記録は、ゲームプレイ中に入力または提供されたタグコンテンツと、他のゲーム関連メタデータとを含み得る。タグコンテンツは、また、スナップショットによって保存され得る。ゲームプレイのビデオ記録であって当該ゲームプレイに対応する任意のゲームメトリックを伴うものは、記録済ゲームストア２６２内で保存され得る。任意のタグコンテンツは、タグデータストア２６３内で保存され得る。
【００７６】
ゲームプレイ中、ゲームセッションマネージャ２８５は、ゲームサーバ２０５のゲームプロセッサ２０１と通信し、ゲームアプリケーションの対応するゲームプレイの結果に影響を与えるように使用されるユーザ入力コマンド２３６を送達及び取得し得る。ユーザＵ０によって入力される入力コマンド２３６は、ユーザデバイス２３０からＧＣＳ２１０のゲームセッションマネージャ２８５に伝達され得る。ゲームプレイを駆動するために使用される入力コマンドを含む入力コマンド２３６は、タグコンテンツ等（例えば、テキスト、画像、ビデオ記録クリップ等）を含むユーザ対話用入力を含み得る。ゲーム入力コマンド及び任意のユーザプレイメトリック（どれくらいの期間、ユーザがゲームをプレイするのか等）は、ゲームネットワークユーザストア内に記憶され得る。ゲームアプリケーションに関するゲームプレイに関連する選択情報は、ユーザに利用可能であり得る複数の特徴を有効にするために使用されてもよい。
【００７７】
複数のユーザによってＧＣＳ２１０上でゲームプレイを実行するため、それらのゲームプレイから生成及び記憶される情報は、特にゲームプレイがＧＣＳ２１０を通して実行するとき、要求を行う任意のユーザが、他のユーザのゲームプレイを経験することを可能にする。特に、ＧＣＳ２１０のスナップショット発生器２１２は、ＧＣＳ２１０によってゲームアプリケーションを使用するユーザのゲームプレイによって生成されるスナップショットを保存するように構成されている。ユーザＵ０の場合、ユーザデバイスは、ゲームプレイ中にユーザＵ０がゲームアプリケーションに参加することを可能にするインターフェースを提供する。ユーザＵ０によるゲームプレイのスナップショットは、ＧＣＳ２１０上で生成及び保存される。スナップショット発生器２１２は、図２で示されるようなゲームサーバ２０５の外部で実行し得る、または、図１Ａで示されるようなゲームサーバ２０５の内部で実行し得る。
【００７８】
加えて、それらのゲームプレイから集められた情報は、対応するコンパニオンアプリケーションにおいてユーザＵ０に提供される状況関連情報を生成するために使用され得る。例えば、前に紹介されたように、コンパニオンアプリケーション発生器２１３は、ユーザＵ０のゲームプレイをサポートするように構成されている場所ベースコンパニオンインターフェースを実装するように構成され、コンパニオンインターフェースは、ユーザＵ０のゲームプレイにおけるキャラクタの場所に基づいて生成する状況関連情報（例えば、メッセージング、補助情報、補助の提供等）を含む。コンパニオンアプリケーション発生器２１３は、図２で示されるようなゲームサーバ２０５の外部で実行し得る、または、図１Ａで示されるようなゲームサーバ２０５の内部で実行し得る。これらの実施態様では、状況関連情報は、状況関連情報を含むコンパニオンアプリケーションインターフェースの表示のために、ネットワーク２２０を通してユーザデバイス２３１に送達され得る。別の実施形態では、コンパニオンアプリケーション発生器２１３は、ユーザに対してローカルにあり（例えば、ユーザデバイス２３１内で実装される）、状況関連情報を生成すること及びそれを表示することの両方を行うように構成され得る。本実施態様では、ユーザデバイス２３１は、ローカルネットワークを通して（または、外部ネットワーク２２０を経由して）、ユーザデバイス２３０と直接通信し、コンパニオンアプリケーションインターフェースを実装し得、ユーザデバイス２３１は場所ベース情報をユーザデバイス２３１に送達し得、デバイス２３０は状況関連情報を含むコンパニオンアプリケーションインターフェースを生成及び表示するように構成されている。
【００７９】
さらに、コンパニオンアプリケーション発生器２１３はクエスト／チャレンジエンジン２１９を含み、クエスト／チャレンジエンジン２１９は、ゲームアプリケーションをプレイするユーザ５が、ユーザのゲームプレイに基づくがゲームアプリケーション内に含有されないクエスト／チャレンジを作成することを可能にする。加えて、エンジン２１９は、これらのクエスト／チャレンジとの相互作用を容易にする。
【００８０】
さらに、ユーザデバイス２３０は、ユーザＵ０または別のユーザのゲームプレイにおいて生成されるスナップショットを使用して、ゲームアプリケーションの選択された地点にジャンプすることを可能にするインターフェースを提供するように構成されている。例えば、ジャンプゲーム実行エンジン２１６は、対応するスナップショットにアクセスし、スナップショットに基づいてゲームアプリケーションのインスタンスをインスタンス化し、スナップショットに対応するゲームアプリケーションの地点において始まるゲームアプリケーションを実行するように構成されている。当該方式では、スナップショットは、スナップショットに対応する地点において、要求を行うユーザが対応するユーザのゲームプレイにジャンプすることを可能にする。例えば、ユーザＵ０は、任意の他のユーザのゲームプレイを経験することが可能である、または、自身のゲームプレイに戻る、及びレビューする、及び／またはリプレイすることが可能である。すなわち、要求を行うユーザは、対応するゲームプレイのスナップショットを介して、当該ゲームプレイで使用され及びそれに対応するキャラクタを使用して、ゲームアプリケーションをプレイする。ジャンプゲーム実行エンジン２１６は、図２で示されるようなゲームサーバ２０５の外部で実行し得る、または、図１Ａで示されるようなゲームサーバ２０５の内部で実行し得る。
【００８１】
図３〜図８は、ゲームアプリケーションをプレイするユーザの状況の範囲内で説明されている。概して、ゲームアプリケーションは、ユーザ入力に応答する任意の双方向型のゲームであり得る。特に、図３〜図８は、対応するユーザのゲームプレイに基づく（例えば、ゲームプレイ中にキャプチャされるスナップショット情報を使用する）クエスト／チャレンジの生成を含む、ユーザのゲームプレイをサポートするように構成されている場所ベースコンパニオンインターフェースを説明し、コンパニオンインターフェースは、１つ以上のクエスト／チャレンジを分配し、それらと相互作用するために使用され得る。
【００８２】
ここで、ネットワークを通して通信するゲームサーバ及びクライアントデバイスの様々なモジュールの詳細の説明から、対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを実装するための、ならびに１つ以上のクエスト／チャレンジを生成し、それらと相互作用するための方法は、本開示の一実施形態によって、図３のフロー図３００に関して説明される。フロー図３００は、対応するユーザのゲームプレイに基づいて、クエスト／チャレンジを生成するために使用されるコンパニオンインターフェース内で含有される場所ベース情報を生成する目的のために、ゲームサーバ側で関係する動作のプロセス及びデータフローを示す。特に、フロー図３００の方法は、図１Ａ〜図１Ｃ及び図２のクエスト／チャレンジエンジン２１９によって、少なくとも部分的に行われ得る。
【００８３】
図３に開示されるような本発明の実施形態がゲームサーバ側の観点から説明されているが、本発明の他の実施形態は、ユーザのゲームプレイをサポートするゲームアプリケーションを実行するように構成されており、クエスト／チャレンジを生成するように、及び／またはそれらと相互作用するように構成されているゲームプロセッサを含むローカルユーザシステム内の、場所ベースコンパニオンインターフェースを実装するのに適切である。例えば、コンパニオンインターフェースは、ローカル及び分離システム内で実装され得る、または、別のネットワークを通して、バックエンドゲームサーバによって生成され、クエスト／チャレンジを生成し及びそれらと相互作用するために使用され得る。
【００８４】
フロー図３００は、ゲームアプリケーションを実行するための及びゲームアプリケーションをプレイするユーザのゲームプレイの場所ベース情報を生成するための動作３０５、３１０、及び３１５を含む。特に、動作３０５において、本方法は、ユーザのゲームプレイに関連して、ゲームアプリケーションの第１のインスタンスをインスタンス化することを含む。前に説明されたように、一実施形態では、ゲームアプリケーションのインスタンスは、ユーザのクライアントデバイスにおいて、ローカルで実行されることができる。他の実施形態では、ゲームアプリケーションのインスタンスは、バックエンドゲームサーバのバックエンドゲーム実行エンジンにおいて実行し得、当該サーバは、クラウドゲームネットワークまたはゲームクラウドシステムの一部であり得る。動作３１０において、本方法は、ユーザ（例えば、第１のユーザ）による対話のための第１の通信チャネルを通して、ユーザのゲームプレイを表すデータをコンピューティングデバイス（例えば、第３のコンピューティングデバイス）に送達することを含む。通信チャネルは、例えば、インターネット等のネットワークを経由して実施され得る。したがって、レンダリング画像は、第３のコンピューティングデバイスで表示するために送達され得、レンダリング画像は、ユーザのゲームプレイに関連して作られた入力コマンドに応答して、ゲームアプリケーションのインスタンスによって生成される。
【００８５】
動作３１５Ａにおいて、本方法は、ユーザのゲームプレイにおけるキャラクタに関する場所ベース情報を判定することを含む。特に、場所ベース情報は、ゲームアプリケーションに関連付けられるゲーム世界におけるユーザのゲームプレイにおけるキャラクタの場所を参照して作られる。前に説明されたように、場所ベース情報は、ユーザのゲームプレイ中に生成される、キャプチャされる、及び／または記憶されるスナップショット内に含まれ得る。例えば、各スナップショットは、キャラクタの場所を参照して生成されるメタデータ及び／または情報を含む。一実施形態では、メタデータ及び／または情報は、スナップショットに対応するゲームアプリケーションの地点において始まる（例えば、ゲームプレイにおけるキャラクタの場所を反映する、スナップショットがキャプチャされたときのゲームプレイの状態に対応するジャンプ点で始まる）ゲームアプリケーションのインスタンスの実行を可能にするように構成されている。一実施形態では、スナップショットは、クエスト／チャレンジであるジャンプゲームをインスタンス化するために使用され得る。例えば、スナップショットは、ゲームプレイの場所ベース情報と、対応する地点におけるゲームプレイの状態を定義するゲーム状態データ（例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、オブジェクト属性、グラフィックオーバーレイ、キャラクタのアセット、キャラクタのスキルセット、キャラクタに関するゲームアプリケーション内のタスク達成の履歴、ゲーム世界におけるキャラクタの現在の地理的場所、ユーザのゲームプレイにおけるゲームアプリケーションによる進捗、キャラクタのゲームプレイの現在の状態等を含む）とを含み、それにより、ゲーム状態データは、ゲームプレイにおける対応する地点に存在するゲーム環境の生成を可能にする。スナップショットは、ユーザのためにゲームアプリケーションを個人用にするために使用されるユーザ保存データを含み得、当該データは、ゲームプレイにおいて、キャラクタを個人用にする情報（例えば、姿、見た目、衣類、武器、ゲーム困難度、ゲームレベル、キャラクタ属性等）を含み得る。前に説明されたように、スナップショットは、また、ゲーム状態に関するランダムシードデータを含み得る。
【００８６】
前に説明されたように、フロー図３００の残りの動作はコンパニオンアプリケーション発生器及び／またはクエスト／チャレンジエンジン２１９によって行われ得、これらは、ローカルで、またはクラウドゲームネットワークのバックエンドサーバで実行し得る。特に、動作３１５Ｂにおいて、本方法は、ユーザのゲームプレイ中、ゲームアプリケーションから生成される複数のスナップショットをキャプチャすることを含む。スナップショット内に含有される情報は、ゲームプレイに基づくクエスト／チャレンジを生成するために使用され得、ゲームアプリケーション内に含有されない。したがって、ゲームアプリケーションに関連し、及び、いくつかの場合にゲームアプリケーションの実行に依存する追加コンテンツは、新たに生成され得る。これは、１人以上のユーザによって対話するためのゲームアプリケーションに関連するコンテンツの量及びコンテンツの範囲を増加させる。
【００８７】
３２０において、本方法は、第１のユーザのゲームプレイをサポートする特徴を提供するコンパニオンインターフェース（例えば、状況関連情報を含む）を生成することを含み、ユーザまたは任意の他のビューアが、ゲームアプリケーションをプレイしながら、一般的にユーザに役立つリアルタイムの情報にアクセスすることを可能にする。前に紹介されたように、コンパニオンインターフェースは、ユーザのゲームプレイに基づいて、クエスト及び／またはチャレンジを生成するために使用されることができる。例証の目的のために、コンパニオンインターフェースは、クエスト／チャレンジを生成するユーザの第１のコンピューティングデバイス上に表示される。さらに、コンパニオンインターフェースは、ユーザのゲームプレイと同時に、第１のコンピューティングデバイス上に表示される。例えば、一実施形態では、情報を送達する２つの通信チャネルが存在し得、２つの通信チャネルは、コンパニオンインターフェース（例えば、インターフェースの送達と、インターフェースを制御する入力コマンドとを提供する）に関連付けられるデータを送達することが確立される第１の通信チャネルと、（例えば、ユーザに関連付けられる第３のコンピューティングデバイスに）ユーザのゲームプレイを表すデータを送達するために確立される第２の通信チャネルである。別の実施形態では、コンパニオンインターフェースは、ゲームプレイを示す第１のスクリーンと、コンパニオンインターフェースを示す第２のスクリーンとを含む分割表示等によって、ユーザのゲームプレイを表すデータと一緒に送達され得る。より具体的には、コンパニオンインターフェースはリアルタイムで生成され、ユーザのゲームプレイと同時に送達され、それにより、インターフェースを経由して提供される情報は、ユーザのゲームプレイをサポートする。当該方式では、ユーザのゲームプレイは、コンパニオンインターフェースによって提供される情報で拡張され得る。
【００８８】
３３０において、本方法は、第１のユーザの第１のコンパニオンインターフェースを経由して第１のユーザによって提供されるパラメータ情報に従って、ユーザ定義済パッケージを生成することを含む。特に、パラメータ情報は、ユーザのゲームプレイ中にキャプチャされる１つ以上のスナップショットに基づくものである。例えば、ユーザ定義済パッケージは、コンパニオンインターフェース経由してユーザによって提供されるパラメータ情報によって定義されるようなクエスト及び／またはチャレンジを作成する。
【００８９】
例えば、パラメータ情報は、１つ以上のアセットパラメータまたは達成パラメータを含み得る。例証のために、アセットパラメータは、ゲームアプリケーション内でアセットを定義し得、当該アセットは、オブジェクト、スキル、ポイント、レベル、または任意の他の定義可能なアイテムまたは特徴であり得る。達成パラメータは、行われるタスクまたは満たすべき基準を定義し得る。例えば、達成パラメータは、達するゲーム環境におけるポイント、ポイントに達する前に達成したポイント数、取得したオブジェクト、ゲームアプリケーションのあるエリアを獲得しなくてはならない期間等を定義し得る。達成パラメータは、肯定的条件及び／または否定的条件を含み得る。例えば、肯定的条件は、ボスと戦うときに特有の武器の使用を定義し得る、または、あるレベルをとおして敵性戦闘員を殺すことを可能にし得る。一方では、否定的条件は、武器の使用を禁止し得る、または、あるレベルを経験するとき、敵性戦闘員を殺さないことを要求し得る。
【００９０】
一実施形態では、ユーザ定義済パッケージ（例えば、クエスト／チャレンジを定義する）は、ユーザがゲームアプリケーションをプレイするとき、リアルタイムで生成される。この場合、ユーザ定義済パッケージに関連するパラメータ情報の第１の部は、コンパニオンインターフェース内のユーザによって定義され得る。したがって、パラメータ情報の第１の部は、ユーザに対してローカルで、またはバックエンドサーバにおいて、クエスト／チャレンジエンジンによって受信され得、当該エンジンは、クエスト／チャレンジを生成するように構成されている。例えば、第１の部は、達するゲーム環境におけるポイント、取得するアセット、達成する達成度またはタスク等を定義することを含み得る。一実施形態では、パラメータ情報の第１の部を受信しながら、ユーザのゲームプレイを一時停止する。加えて、パラメータ情報の第１の部を受信した後、本方法は、第１のユーザのゲームプレイを再開することを含む。本プロセスは、パラメータ情報の追加部分を生成及び／または受信するために繰り返され得る。当該方式では、ユーザ定義済パッケージの生成は、ユーザのゲームプレイに干渉することなく、実施され得る。
【００９１】
別の実施形態では、ユーザ定義済パッケージは、ゲームプレイの後で生成される。例えば、ユーザ定義済パッケージは、ゲームプレイのリプレイ中に生成され得、コンパニオンインターフェースは、ゲームプレイに関連する情報を表示するために、及びユーザ定義済パッケージを生成するために、ゲームプレイ中にキャプチャされるスナップショット情報を表示するように構成可能である。事前に紹介されたように、ユーザのゲームプレイは、第３のコンピューティングデバイス上に表示され得る。すなわち、リプレイが第３のデバイス上に表示され、コンパニオンインターフェースがユーザ（例えば、第１のデバイス）の別個のデバイス上に表示される。したがって、コンパニオンインターフェースは、第１のユーザのゲームプレイのリプレイと同時に表示可能である。ユーザ定義済パッケージの生成の目的のために、ユーザ定義済パッケージに関連するパラメータ情報は、ゲームプレイのリプレイ中、第１のコンピューティングデバイス上に表示されるようなコンパニオンインターフェースから受信される。例えば、ゲームプレイがリプレイされるとき、リプレイで表示されるようなゲーム環境で達するポイント毎に、パラメータ情報の対応する部分は、達するゲーム環境におけるポイント、取得するアセット、達成する達成度またはタスク等を定義することを含み得る。
【００９２】
また別の実施形態では、ユーザ生成パッケージは自動的に生成され得る。例えば、ユーザのゲームプレイ中にスナップショットをキャプチャすることによって、ユーザ定義済パッケージは、スナップショットの自然順序で、特定のスナップショットの選択によって自動的に生成され得、これは、ゲームプレイのスナップショットが連続順序でキャプチャされ得るためである。例証の目的だけのために、ユーザのゲームプレイに関連する一連のスナップショットは、対応するゲームアプリケーションの最終レベルにおいて、ボスを倒して終わり得る。したがって、ライブのゲームプレイまたはゲームプレイのリプレイ中、コンパニオンインターフェースは、ゲームプレイ中にキャプチャされる対応する情報及び概してゲームプレイまたはリプレイをサポートする情報を表示し得る、及び／または、ユーザ定義済パッケージを生成するように構成されているインターフェースを表示し得る。ゲームプレイ中に発生する一連のスナップショットの最後のスナップショットの選択は、コンパニオンインターフェース（例えば、当該レベルのボスを倒した後に取られた最後のスナップショット）を経由して受信される。順序における最初のスナップショットを判定する。例えば、第１のスナップショットは、最初に当該のレベルのボスと対峙することき、開始点で自然に発生し得、ゲームアプリケーションの開発者によって定義され得る（例えば、ボスの隠れ場所への進入、ボスを示すビデオの撮影の開始等）。また、第１のスナップショットは、任意に選択され得る（例えば、５分等の既定の期間におよぶ）。したがって、第１のスナップショット及び最後のスナップショットの情報は、ユーザ定義済パッケージに関連付けられるパラメータ情報に含まれる。さらに、必要なパラメータ情報は、ユーザ定義済パッケージ（例えば、クエスト／チャレンジを作成する）を定義するために、選択された一連のスナップショットに基づいて自動的に生成される。
【００９３】
図３の３４０において、本方法は、ユーザ定義済パッケージに関するマーカを生成することを含む。マーカは、第２のユーザ（ユーザ定義済パッケージ（クエスト／チャレンジ）と対話し得る可能性があるユーザ）の第２のコンピューティングデバイス上に表示するために提供される。特に、マーカ（例えば、マーカの選択）は、ユーザ定義済パッケージへのアクセスを可能にする。例証のために、マーカを選択することによって、ユーザ定義済パッケージによって作成されたクエスト／チャレンジは、マーカを選択するユーザによる対話の目的のためにインスタンス化される。
【００９４】
マーカは、任意の数の方法によって分散され得る。例えば、マーカは、同じゲームアプリケーションをプレイする別のユーザのコンパニオンインターフェース（すなわち、ユーザ定義済パッケージが生成される）内にセットされるアイコンであり得る。別の例では、マーカは、直接的または間接的に、１つ以上の他のユーザに送達されるメッセージ内にセットされ得る（例えば、テキストメッセージ、電子メールメッセージ、ソーシャルネットワークメッセージ、別のゲームアプリケーションをプレイするユーザをサポートして表示されるコンパニオンインターフェース等にセットされ得る）。別の例では、マーカは、ユーザ定義済パッケージへのリンクとして、ウェブページ内でセットされ得る。マーカの分散を可能にする他の分散方法が想到及びサポートされ、当該マーカはユーザ定義済パッケージへのアクセスを可能にする。
【００９５】
図４Ａは、本開示の一実施形態による、第１のユーザによるゲームアプリケーションのゲームプレイ中にキャプチャされるスナップショットに関連して生成されるノード（対応するスナップショットを伴う）の階層を示すノードグラフの４００Ａの例証であり、サイドクエストのノードが示され、サイドクエストが対応するユーザのゲームプレイをサポートする場所ベースコンパニオンインターフェースを使用して生成される。特に、当該ノードは、スナップショットがキャプチャされているビデオゲームのゲームプレイにおける地点に対応する。
【００９６】
ノードグラフ４００Ａは、対応するユーザのゲームプレイ中にキャラクタがたどる様々な実際の経路を定義する複数のスナップショットノードを含む。例えば、経路４０３は、スナップショットノード４０１と４０２との間に画定される。経路４０３では、キャラクタは、分岐ノード４２２に達するまで、ノード４０２からノード４２１に進み得、分岐ノード４２２では、３つのノード分岐が、キャラクタがゲームプレイ中にたどり得る３つの異なる経路を画定し、ノード分岐４０７はノード４１１、４１２、４１３、及び４１４を含み、ノード分岐４０８はノード４２３、４２４、４２５、及び４２６を含み、ノード分岐４０９はノード４０５及び４０６を含む。他のスナップショットノードは、ユーザのゲームプレイ中に生成され得るが、明確性及び例証の目的のために図示されない。
【００９７】
ノードグラフは、また、サイドクエスト４７０と称されるクエスト／チャレンジを作成するもの等の、ユーザ生成パッケージ内で画定される経路を示す。サイドクエスト４７０は、スナップショットノード４２１に対応するジャンプ点Ａ（または、開始点）と、スナップショットノード４２２に対応する地点Ｂと、スナップショットノード４２３に対応する地点Ｃと、スナップショットノード４２４に対応する地点Ｄと、スナップショットノード４２５に対応する終点Ｅとを含む。これらの地点のそれぞれは、ユーザのゲームプレイ中に定義されるようなゲームアプリケーションにおける特定の地点に対応し得る。
【００９８】
前に説明されたように、スナップショットノードのスナップショットのそれぞれは、選択を行うユーザが、ユーザのゲームプレイにジャンプすることを可能にする。例えば、ゲームプロセッサ２１０のジャンプ実行エンジン２１６が、選択済スナップショット画像にアクセスし（例えば、スナップショット画像によって、ノードグラフ４００Ａのノード選択によって、スナップショットのタイムライン等によって等）、スナップショットに基づいてビデオゲームの別のインスタンスをインスタンス化し、及びキャプチャ済スナップショットに対応するゲームアプリケーションのある地点（ここでは、ジャンプ点として識別される）で始まるゲームアプリケーションを実行するように構成されている。例えば、スナップショットは、クエスト／チャレンジのジャンプゲームを可能にし得る。当該方式では、選択を行うユーザは、ユーザのゲームプレイのキャラクタにジャンプし、当該キャラクタを使用してユーザのゲームプレイのインスタンス化を行う。例証のために、サイドクエスト４７０に関して、サイドクエストを受け入れる／プレイするユーザは、連続順序で、地点Ａ〜Ｅのそれぞれを通ることが要求され得る。一実施形態では、サイドクエスト４７０はある速度実行であり得、時間制限はサイドクエストが完了しなければならない周期を定義する。したがって、スナップショットノード４２１は、開始点Ａで始まる参加中のユーザに関するジャンプゲームプレイのインスタンス化を可能にする。サポートにおいて、コンパニオンインターフェースは、サイドクエスト４７０に関連する追加情報（ナビゲートする次の地点、取得するアセット、満たすべき達成度、行うタスク等）を提供し得る。
【００９９】
図４Ｂは、本開示の一実施形態による、第１のユーザのゲームプレイをサポートし、コンパニオンインターフェースがサイドクエストを生成するために使用される、コンパニオンインターフェース４３０の例証である。特に、コンパニオンインターフェース４３０は、最初に図４Ａに紹介されたサイドクエスト４７０を生成するために使用される。
【０１００】
コンパニオンインターフェース４３０は、サイドクエスト４７０を生成しているユーザのゲームプレイにおけるキャラクタを示すレーダマッピング４９０を含む、ウィンドウ４３１を含む。キャラクタは、レーダマッピング４９０の中心に位置し得る。ゲームプレイは、対応するゲームアプリケーションのゲーム世界内または環境４３３内で行われる。特に、レーダマッピング４９０は、ゲームアプリケーションのゲーム世界の少なくとも一部を示し、レーダマッピング内のオブジェクト間の方向関係（例えば、方向及び距離）を提供する。さらに、レーダマッピング４９０は、ゲーム世界内に位置する少なくともオブジェクト／特徴と、ユーザ及び他のプレイヤーのキャラクタの場所とを含む。
【０１０１】
例えば、レーダマッピング４９０に示されるように、コンパニオンインターフェース４３０は、サイドクエスト４７０の地点Ａ〜Ｅを示す。サイドクエスト４７０は、レーダマッピング４９０（ゲーム世界４３３のオブジェクト間の進行関係及び方向関係を示す）と比べて、ノードグラフ４００Ａ（ゲームアプリケーションによる進行を示す）と異なるように提示される。レーダマッピング４９０は、地点Ａ〜Ｅを含む、その完了形態のサイドクエスト４７０を示す。
【０１０２】
コンパニオンインターフェース４３０は、サイドクエスト４７０を生成するために使用され得る、及び／またはサイドクエスト４７０に関連する情報を提供するために使用され得る。例えば、ウィンドウ４３５はユーザ（Ｊｏｈｎ  Ｄｏｅｎａｖｉｃｈ）がサイドクエスト４７０を生成することを示す。すなわち、ゲームプレイは、対応するゲームアプリケーションとのＪｏｈｎ  Ｄｏｅｎａｖｉｃｈの対話を示す。例証及び明確性の目的のために、サイドクエスト４７０は「レベル７のボス」と称され得る。
【０１０３】
例えば、ウィンドウ４３６に示されるように、コンパニオンインターフェース４３０は、ユーザ定義済パッケージ（例えば、サイドクエスト４７０）を作成するパラメータ情報を定義するために使用され得る。ボタン４５１は、ユーザ（Ｄｏｅｎａｖｉｃｈ）が、サイドクエスト４７０に含有されるゲーム世界４３３内の地点を定義することを可能にする。ボタン４５２は、ユーザが行われるタスクを定義することを可能にする。これらのタスクは、前に紹介されたアセットパラメータ及び／または達成パラメータを満たすことを含み得る。例えば、アセットパラメータは、サイドクエスト４７０の範囲内のキャラクタによって取得されなければならないオブジェクト（例えば、武器、食品等）、スキルレベル、強さ等を定義し得る。達成パラメータは、アセットパラメータ（例えば、アセットを取得する）を含み得、キャラクタが達成しなければならないことを定義する。例えば、達成パラメータは、限定ではないが、オブジェクトを取得する、ゲーム世界のある地点に達する、ボスを攻撃する、ゲームアプリケーションでメンターと会う、スキルレベルに達する、特定のステップのセットを行う、一連の地点を横断する等の、行われる及び完了されるタスクを定義し得る。ボタン４５５は、ユーザが、ユーザ定義済パッケージ（例えば、サイドクエスト４７０を作成する）に関連付けられるパラメータ情報を保存することを可能にする。パラメータ情報を定義するための他のボタンまたは他の方法は、また、ユーザによってアセットパラメータ及び／または達成パラメータを定義するために使用され得るが、図示されない。
【０１０４】
加えて、ボタン４５３は、ユーザがコメントを追加することを可能にする。例えば、コメントは、サイドクエスト４７０をプレイするユーザの状況の範囲内で表示可能であり得る。図５Ｃは、ユーザＤｏｅｎａｖｉｃｈからのコメントまたは一連のコメント５６３がサイドクエスト４７０をプレイする別のユーザのコンパニオンインターフェース４３０’内にどのように表示され得るかを示す。これらのコメント５６３は、他のユーザが地点Ｃ等のサイドクエスト４７０の特定の地点に達すると、表示するためにトリガされ得る。
【０１０５】
さらに、コンパニオンインターフェース４３０は、サイドクエスト４７０の概要を提供し得る。例えば、ウィンドウ４３６の区分４４１は、地点Ａ〜Ｅを含む、サイドクエスト４７０の地点を定義する。開始地点Ａが村である、地点Ｂがミニボスとの戦いを含むゲーム世界４３３内にある、地点Ｃがゲーム世界４３３内に完了する難題である、地点Ｄが、武器（金の弓）が取得されることができるエリアで発生する、及び地点Ｅが、あるレベルのボスとの戦い（例えば、レベル７のボス）が発生するゲーム４３３の範囲内のエリアである等の追加情報が含まれ得る。
【０１０６】
区分４４２は集められたアセットを定義する。例えば、金の弓は、サイドクエスト４７０の最後に、ボスを倒すことが必要とされ、地点Ｄで金の弓を取得することができる。加えて、サイドクエスト４７０の実行中に、３００個のコインを集める必要がある。区分４４３は、サイドクエスト４７０を完了する閾値時間（例えば、１５分）を定義し得る。加えて、区分４４４は、サイドクエスト４７０を完了するために必要な最小のポイント数（例えば、１５００ポイント）を定義し得る。
【０１０７】
前に説明されたように、アセット及び／または達成パラメータは、肯定的条件または否定的条件を含み得る。サイドクエスト４７０は、これらの種類の条件を示す。例えば、区分４４５は、金の剣を使用することが可能ではないことと（ユーザは新たに見つけた金の弓を使用することができることに留意されたい）、高級な戦闘用鎧を使用することが可能ではないこととを含む、サイドクエスト４７０の完了に関連して否定的条件を定義する。推定すると、これは、サイドクエストを完了すること及びそのパラメータまたは条件を満たすことを、さらに困難にし得る。区分４４６は、割り当てられた１５分のうちの５分以内にボスと戦い及び倒すことを含む、サイドクエスト４７０の完了に関連して定義される肯定的条件を定義する。
【０１０８】
図５Ａは、本開示の一実施形態による、コンパニオンインターフェースがサイドクエストをプレイする招待状を含む、サイドクエスト（例えば、クエスト４７０）に関連付けられる同じゲームアプリケーションをプレイする第２のユーザのコンパニオンインターフェース４３０’の例証である。第２のユーザは、サイドクエスト４７０を生成していなかったが、サイドクエスト４７０と相互作用している、またはそれをプレイしている。
【０１０９】
サイドクエスト４７０は、任意の数の方法を使用してインスタンス化され得る。例えば、第２のユーザはメッセージを受信し得、メッセージは、ユーザ定義済パッケージ（例えば、サイドクエスト４７０を定義する）へのアクセスを提供するマーカを含む。メッセージは、電子メール等の任意の形態で提示され、サイト（例えば、ソーシャルネットワークサイト、ゲームサイト等）に投稿され、第２のユーザが（サイドクエストが生成された）ゲームアプリケーションをプレイしている間にコンパニオンインターフェース内に提示され、第２のユーザが別のゲームアプリケーションをプレイしている間にコンパニオンインターフェース内に提示される等の場合がある。一実施形態では、ユーザは、サイドクエストをプレイする招待状をフレンドに送信し得る。その場合、ユーザのフレンド（例えば、第２のユーザ）を識別し得る。メッセージ（例えば、サイドクエスト４７０に関連付けられるユーザ定義済パッケージへのアクセスを提供するマーカを含む）は、第２のユーザに関連付けられるコンピューティングデバイスを介して、第２のユーザフレンドに送達され得る。
【０１１０】
特に、コンパニオンインターフェース４３０’は、ゲームアプリケーションをプレイしながら、第２のユーザのゲームプレイと同時に表示される。示されるように、コンパニオンインターフェース４３０’は、第２のユーザのゲームプレイに関連して提示されるレーダマッピング４９０’を含む。例えば、第２のユーザの矢印点５１０によって表されるキャラクタは、ゲーム世界４３３（図示されない）内に位置し、レーダマッピング４９０’の中心５０１に存在する。矢印点５１０は、また、ゲーム世界４３３内のキャラクタの配向を与え得る。追加オブジェクト５１５及び５１７は、キャラクタの場所５１０に関して示される。これらのオブジェクトは、ゲームアプリケーションをプレイする他のユーザ（例えば、フレンド）の他のキャラクタ、または着目点等であり得る。
【０１１１】
メッセージ５２０は、サイドクエスト作成者からのコメントを含み得る。例えば、作成者Ｊｏｈｎ  Ｄｏｅｎａｖｉｃｈは、作成者がサイドクエスト４７０を作成した理由を説明し得る、または、作成者がそのゲームプレイをプレイするときの条件に従ったものと同じように（例えば、１５分以内に、サイドクエスト４７０に関連付けられるゲームプレイ部分が終了したとき）、第２のユーザに、ある制約または条件が与えられたサイドクエスト４７０を完了させることを挑戦させる挑発的な言葉を含み得る。
【０１１２】
加えて、メッセージ５２０はサイドクエスト４７０の地点Ａ〜Ｅで提示され得るが、開始値点Ａは場所５０２で表示される。一実施形態では、第２のユーザがゲームアプリケーションのゲーム世界４３３における特定の地点（例えば、場所５０１）に達すると、メッセージ５２０及びサイドクエスト４７０の地点は、表示するためにトリガされる。第２のユーザがサイドクエスト４７０を受け入れることを選ぶ場合、レーダマッピング４９０’は、サイドクエスト４７０の開始を示す場所５０２に向かう大まかな方向を提供する。本実施形態では、サイドクエスト４７０は、第２のユーザのゲームプレイの範囲内でプレイされる。別の実施形態では、前に説明されたように、サイドクエスト４７０は、作成を行うユーザＤｏｅｎａｖｉｃｈのジャンプゲームプレイの範囲内でプレイされる。このジャンプゲームプレイは、メッセージ５２０によってアクセスされ得る。
【０１１３】
図５Ｂは、本開示の一実施形態による、サイドクエスト（例えば、クエスト４７０）に関連付けられる同じゲームアプリケーションをプレイする場合がある、またはプレイしない場合がある第２のユーザのコンパニオンインターフェース４３０’’の例証であり、コンパニオンインターフェースはサイドクエストをプレイする招待状を含むメッセージ５３５を含む。この特定の場合、第２のユーザは、ゲーム世界５２８をもたらす別のゲームアプリケーションをプレイし、ゲームプレイは、第２のユーザに関連付けられるコンピューティングデバイス（例えば、第４のコンピューティングデバイス）上に提示される。
【０１１４】
特に、コンパニオンインターフェース４３０’’は、第２のユーザのゲームプレイと同時に表示され、第２のユーザのゲームプレイと関連付けられる別のコンピューティングデバイス（例えば、第２のコンピューティングデバイス）上に表示され、第２のユーザのゲームプレイをサポートするように提示される。示されるように、コンパニオンインターフェース４３０’’は、レーダマッピング５９０を含む。例えば、第２のユーザの矢印点５１０’によって表されるキャラクタは、ゲーム世界５２８内に位置し、レーダマッピング５９０の中心５１１に存在する。追加オブジェクト５１３及び５１９は、キャラクタの場所５１１に関して示される。前に説明されたように、これらのオブジェクトは、ゲームアプリケーションをプレイする他のユーザ（例えば、フレンド）の他のキャラクタ、または着目点等であり得る。
【０１１５】
図５Ｂに示されるように、メッセージは、サイドクエスト４７０の作成者であるＪｏｈｎ  Ｄｏｅｎａｖｉｃｈから送達されるポップアップ式招待状５３０の形態であるが、ポップアップ特徴は必須ではない。招待状５３０は、１つ以上の状況の範囲内で提示され、各状況は、サイドクエスト４７０を作成するために使用されるゲームアプリケーションの任意のプレイの範囲外である。他の実施形態では、メッセージは第２のユーザによって要求され、コンパニオンインターフェース４３０’’内に投入される。特に、ウィンドウ５３５はメッセージの詳細を示す。この特定のシナリオでは、作成者は、メッセージをフレンドのセットに送達する。すなわち、サイドクエスト４７０をプレイする招待状は、ユーザ作成者Ｄｏｅｎａｖｉｃｈの１人以上のフレンドに標的化され得る。これらのフレンドは、（例えば、ソーシャルネットワークのＡＰＩアクセスによって）図２のゲームサーバ２０５によって発見可能であり得、サイドクエスト４７０を作成するために使用される対応するコンパニオンインターフェースを介して、ユーザ作成者に提示される。選択後に、メッセージは、標的化されたユーザに関連付けられる各々のコンピューティングデバイス（コンパニオンインターフェースまたは他のコンピューティングデバイスディスプレイ等を介して）に送達され得る。示されるように、メッセージ５３５は、Ｄａｖｅ  Ｓｍｉｔｈ、Ｊａｃｋ  Ｊｏｈｎｓｏｎ、及びＤｅｂｂｉｅ  Ｋｎｏｔ等を含む６人のユーザに標的化される。
【０１１６】
メッセージ５３５は、サイドクエスト４７０（例えば、地点Ａ〜Ｅ）の地点と、サイドクエストの一般的な説明（例えば、ゲームアプリケーションにおける７番目のレベルのボスまでたどり着き及び攻撃する）とを含む。あるポイント数及びコインを貯めながら、作成者Ｄｏｅｎａｖｉｃｈは、サイドクエストに表されるような作成者がプレイしているゲームアプリケーションがどれくらい楽しいのかを説明し、所与の時間内にサイドクエストをプレイするチャレンジを提示する。招待状は、サイドクエスト４７０を起動するボタン５３７を含む。例えば、サイドクエスト４７０は、作成者（Ｄｏｅｎａｖｉｃｈ）のゲームプレイに基づいて、ジャンプゲームで起動され得る。
【０１１７】
図５Ｃは、本開示の一実施形態による、サイドクエスト（例えば、クエスト４７０）をプレイする第２のユーザのコンパニオンインターフェース５７５を示す。例えば、第２のユーザは、サイドクエスト４７０に関連付けられるユーザ定義済パッケージへのアクセスを提供するマーカ（例えば、コンパニオンインターフェース、または他のディスプレイ内に提示されるもの）を選択し得る。マーカの選択により、第２のユーザの対応するコンピューティングデバイス（例えば、ジャンプゲームにおける第４のコンピューティングデバイス）上でサイドクエスト４７０を開始する。例えば、クエストゲームプレイは、ユーザ定義済パッケージ内に含有されるスナップショットに基づいて開始され得る。スナップショットは、選択済スナップショットに対応するゲームアプリケーションの地点（例えば、地点Ａ）から始まる作成ユーザ（例えば、Ｄｏｅｎａｖｉｃｈ）のゲームプレイに基づいてクエストゲームプレイ用のサイドクエスト４７０に関連付けられるゲームアプリケーションの実行を可能にする。
【０１１８】
特に、コンパニオンインターフェース５７５は、第２のユーザのクエストゲームプレイと同時に生成及び表示される。例えば、コンパニオンインターフェース５７５は、第２のユーザに関連する別のコンピューティングデバイス（例えば、第２のコンピューティングデバイス）上に表示され、クエストゲームプレイをサポートするように提示される。示されるように、コンパニオンインターフェース５７５は、レーダマッピング５９０’を含む。例えば、第２のユーザの矢印点５５０によって表されるキャラクタは、ゲーム世界４３３（前に提示された作成者Ｄｏｅｎａｖｉｃｈのコンパニオンインタフェース４３０）内に位置し、レーダマッピング５９０の中心に存在する。追加オブジェクト５４１及び５４３は、キャラクタの場所５５１に関して示される。前に説明されたように、これらのオブジェクトは、ゲームアプリケーションをプレイする他のユーザ（例えば、フレンド）の他のキャラクタ、または着目点等であり得る。
【０１１９】
クエストゲームプレイ中、クエストゲームプレイから生成される第２の複数のスナップショットはキャプチャされる。当該方式では、クエストゲームプレイ全部にわたる進捗をキャプチャ済スナップショットに基づいて実施することができる。第２のコンパニオンインターフェース５７５は、クエスト進捗に関連する情報を提供するように、及びクエストゲームプレイをサポートするように構成されている。例えば、サイドクエスト４７０に関する命令５６５は、コンパニオンインターフェース５７５のウィンドウ５６０内に提供され得る。
【０１２０】
当該命令は、クエストゲームプレイで様々な地点で、第２のユーザに提示される段階的命令パッケージの一部であり得る、それにより、当該命令は、第２のユーザのクエストゲームプレイにおける場所及び／またはアクションに関連付けられ得、それにより、第１の命令は第１の場所／第１のアクションの組み合わせに関連付けられ得、第２の命令は第２の場所／第２のアクションの組み合わせに関連付けられ得る等が行われる。例えば、クエスト４７０に関する第１の命令は、レーダマッピング５９０’及びゲーム世界４３３内の第１の場所に関連して提示され、第１の命令は、ゲーム世界内の第２の場所に伝わることを含む。例証のように、第１の命令は、キャラクタによって要求された集めるべきアセットと、そのアセットを取得するための命令とを含み得る。追跡により、第１の命令の完了を判定することが可能になる。その後、サイドクエスト４７０に関する第２の命令は、第２のユーザのゲームプレイが第２の場所に達するとき、レーダマッピング内の第２の場所に関連して提供される。また、第２の命令は、第１の場所等に関連して、第１の命令の完了後すぐに提示され得る。
【０１２１】
特に、命令５６５は、レーダマッピング５９０’内に表されるように、サイドクエスト４７０の場所に対応し得る。例えば、当該場所は、サイドクエスト４７０（例えば、パズル）の地点Ｃに対応し得る。図５Ｃに示されるように、第２のユーザがパズルを地点Ｃで完了させ、さらに、ここでレーダマッピング５９０’内に提供された方向の地点Ｄに進み、金の弓を見つける等の命令が提供される。残っている時間がどれくらいか等の追加情報が提供され得る。
【０１２２】
さらに、ウィンドウ５６０は、いくつかのトリガイベント（例えば、地点Ｃでパズルを完了する）の後に、第２のユーザに提示される作成者Ｄｏｅｎａｖｉｃｈからのコメントを含み得る。例えば、コメントは、フレンドからの挑発的な言葉（例えば、「私は、あなたがパズルを解決できると思いませんでした。時間切れになりそうです。あなたが成功しないだろう。」）を含み得る。別の例として、メッセージは、フレンドからの励ましの言葉（例えば、「おめでとう、あなたは最後までやり遂げました！ここに来るまで長い時間かかりました。次のセクションを迅速に終了すると、対照的な側であなたが見えます。）を含み得る。
【０１２３】
図６Ａは、本開示の一実施形態による、ゲームアプリケーションのサイドクエストをプレイする第２のユーザのコンパニオンインターフェース６８０内に表示されるようなサイドクエスト（例えば、作成者Ｄｏｅｎａｖｉｃｈによって生成されるクエスト４７０）のためのリーダーボードを示す。ウィンドウ６１０は、タイトル「レベル７のボス」を含むサイドクエスト４７０に関する情報と、サイドクエスト４７０の作成者Ｄｏｅｎａｖｉｃｈの名前とを含む識別情報を提供する。ウィンドウ６１０は、リーダーボード情報がまたウィンドウ６２０の下で提示されることを示す。
【０１２４】
一使用事例では、第２のユーザがサイドクエスト４７０との相互作用を受け入れた後、コンパニオンインターフェース６８０はクエストゲームプレイをサポートして生成及び提示される。ゲームアプリケーションのゲーム世界４３３に関連して、レーダマッピング６９０がコンパニオンインターフェース６８０内に提示される。サイドクエスト４７０の地点Ａ〜Ｅが提示されており、点線は、サイドクエスト４７０との相互作用中に第２のユーザによってたどる経路を示す。終点Ｅは、また、ボスの記号と一緒に示され、地点Ｅにおけるボスとの戦いが予期されることを示す。
【０１２５】
サイドクエスト４７０が開始する前に、リーダーボードはユーザに提示され得、リーダーボードは、サイドクエスト４７０をプレイする他のユーザに関連する情報を示す。一実施形態では、当該情報はスコアを示す。例えば、ウィンドウ６２０は、「ｃｌａｎ−Ａ」から（例えば、「Ｃｌａｎ−Ａ」の見出しの下に）ハイスコアを示し、「ｃｌａｎ−Ａ」はフレンド（例えば、Ｄｏｅｎａｖｉｃｈ、Ｄａｖｅ  Ｓｍｉｔｈ、Ｊａｃｋ  Ｊｏｈｎｓｏｎ、Ｄｅｂｂｉｅ  Ｋｎｏｔ等）のグループであり得る。「ｃｌａｎ−Ａ」内でサイドクエスト４７０をプレイするユーザのハイスコアが示される。ユーザリストは、そのハンドル名（例えば、ＰｌａｙＳｔａｔｉｏｎネットワーク名「ＰＳＮ」）によって識別される。あるカテゴリで獲得した戦利品の数、ポイント数等の様々な情報の一部が含まれ得る。加えて、サイドクエスト４７０をプレイする全てのユーザから得られたハイスコア（例えば、「Ｇｌｏｂａｌ」の見出しの下）がまた示される。類似する情報（例えば、戦利品情報、スコア情報等）を提示する。
【０１２６】
図６Ｂは、本開示の一実施形態による、リーダーボードが、図６Ａで前に紹介された第２のユーザのコンパニオンインターフェース６８０内に表示される、クエスト開発者によって作成されたような最も評判が良いサイドクエストを示すリーダーボードを示す。一使用事例では、第２のユーザがサイドクエスト４７０との相互作用（例えば、クエストをプレイすること）を受け入れた後、コンパニオンインターフェース６８０はクエストゲームプレイをサポートして生成及び提示される。図６Ａに示されるものと同様に、ゲームアプリケーションのゲーム世界４３３に関連して、レーダマッピング６９０がコンパニオンインターフェース６８０内に提示される。サイドクエスト４７０の地点Ａ〜Ｅが提示され、点線はサイドクエスト４７０との相互作用中に第２のユーザによってたどる経路を示し、ボスとの戦いが終了することが示される。
【０１２７】
サイドクエスト４７０を生成するために使用されるゲームアプリケーションに関連するリーダーボード情報を提供する代わりに、リーダーボード情報は、全ての種類のサイドクエスト（例えば、クエスト／チャレンジ）のために提示され得る。ウィンドウ６３０は、リーダーボードが最良のサイドクエストのためのものであることを示す標識を提供する。したがって、サイドクエスト４７０が開始する前に、図６Ｂのリーダーボードはウィンドウ６４０でユーザに提示され得、リーダーボードは、最も評判が良いサイドクエストに関連する情報を示す。例えば、最も評判が良いサイドクエストは、それらのサイドクエストをプレイするユーザによるプレイ数によって判定され得る。加えて、サイドクエストの作成者が提示される。例えば、「キャンディを集める」と題されたサイドクエストはユーザＴｉｔａｎ１によって作成され、最も多いプレイ２７００を有するように、リーダーボードの上部にある。「ボスＭａｎ  Ｆｕｎ」、「レベル７のボス」、「ｓａｎｄｌｏｔ」等を含む他のサイドクエストがリスト化される。示されるように、サイドクエスト４７０では、１８００プレイを有する最も評判が良いサイドクエストの上位３つがランク付けられる。
【０１２８】
第２のユーザがサイドクエスト４７０をプレイしないことを望む場合、コンパニオンインターフェースは、他のサイドクエストへのアクセスを提供する。例えば、リーダーボード内のサイドクエストのそれぞれは、対応するユーザ定義済パッケージへのアクセスを提供するリンク（例えば、「キャンディを集める」へのリンク）、またはサイドクエストを開始するための任意の他の接続方法を含み得る。
【０１２９】
具体的な実施形態が、ユーザのゲームプレイをサポートするように構成されている場所ベースコンパニオンインターフェースの生成及び実装を実証するように提供されているが、同様に、クエスト及び／またはチャレンジの生成が対応するゲームアプリケーションの開発の範囲外で作成されている。本開示を解釈している当業者は、本開示の主旨及び範囲内に収まる追加実施形態を理解するであろう。
【０１３０】
広範な地理的エリアにわたって送達される本実施形態のゲームへのアクセス等を提供するアクセスサービスが、多くの場合、クラウドコンピューティングを使用することを留意されたい。クラウドコンピューティングは、コンピューティングのスタイルであり、動的に拡張可能であり及び多くの場合、仮想化されたリソースはインターネットを通したサービスとして提供される。ユーザは、ユーザをサポートする「クラウド」の技術インフラストラクチャに関する専門家である必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ（「ＩａａＳ」）、サービスとしてのプラットフォーム（「ＰａａＳ」）、及び／またはサービスとしてのソフトウェア（「ＳａａＳ」）等の異なるサービスに分けられることができる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされるオンラインのビデオゲーム等の一般的アプリケーションを提供する一方で、ソフトウェア及びデータはクラウド内のサーバ上に記憶される。用語「クラウド」は、どのようにインターネットがコンピュータネットワーク図に示されるかに基づいてインターネットに関する例えとして使用され、それが隠す複雑なインフラストラクチャに関する抽象的概念である。
【０１３１】
ゲーム処理サーバ（ＧＰＳ）（または、単に「ゲームサーバ」）は、シングルプレイヤーの及び複数プレイヤーのビデオゲームをプレイするために、ゲームクライアントによって使用される。インターネットを通してプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。一般的に、ゲームは、データをプレイヤーから集める専用サーバアプリケーションを使用し、そのデータを他のプレイヤーに分散する。これは、ピアツーピア配列よりも効率的及び効果的であるが、別個のサーバにサーバアプリケーションをホストすることを要求する。別の実施形態では、ＧＰＳは、プレイヤーとそれらの各々のゲームプレイ用デバイスとの間に通信を確立し、集中型ＧＰＳに依存することなく情報を交換する。
【０１３２】
専用ＧＰＳは、クライアントから独立して起動するサーバである。係るサーバは、通常、データセンター内に位置する専用ハードウェア上で起動し、より広い帯域幅及びより多くの専用処理電力を提供する。専用サーバが、ほとんどのＰＣベースの複数人参加型ゲームのためのゲームサーバをホストする好ましい方法である。多人数参加型オンラインゲームは、通常ゲームタイトルを所有するソフトウェア会社によってホストされる専用サーバ上で起動し、そのゲームが、コンテンツを制御及び更新することを可能にする。
【０１３３】
ユーザは、少なくともＣＰＵ、ディスプレイ、及びＩ／Ｏ（入出力）を含むクライアントデバイスを用いて、リモートサービスにアクセスする。クライアントデバイスは、ＰＣ、携帯電話、ネットブック、ＰＤＡ等であり得る。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントによって使用されるデバイスの種類を認識し、採用される通信方法を調節する。他の場合、クライアントデバイスは、ｈｔｍｌ等の標準的通信方法を使用して、インターネットを通してゲームサーバ上でアプリケーションにアクセスする。
【０１３４】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース電子機器またはプログラム可能家庭用電子機器、ミニコンピュータ、メーンフレームコンピュータ等を含む様々なコンピュータシステム構成で実践され得る。本開示は、また、タスクが有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによって行われる分散コンピューティング環境で実践されることができる。
【０１３５】
所与のビデオゲームが特有のプラットフォーム及び特有の関連のコントローラデバイス用に開発され得ることを理解されたい。しかしながら、そのようなゲームが本明細書に提示されるようなゲームクラウドシステムを介して利用可能にされるとき、ユーザは、異なるコントローラデバイスでビデオゲームにアクセスし得る。例えば、ゲームは、ゲームコンソール及びその関連のコントローラ用に開発されている場合がある一方で、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースバージョンにアクセスする場合がある。そのようなシナリオでは、入力パラメータ構成は、ユーザの利用可能であるコントローラデバイス（この場合、キーボード及びマウス）によって生成されることができる入力から、ビデオゲームを実行するために容認可能である入力までのマッピングを定義することができる。
【０１３６】
別の例では、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動デバイスを介して、クラウドゲームシステムにアクセスし得る。この場合、クライアントデバイス及びコントローラデバイスは、同じデバイスになるように一緒に一体化され、入力が検出済タッチスクリーンの入力／ジェスチャを用いて提供される。係るデバイスに関して、入力パラメータ構成は、ビデオゲームに関するゲーム入力に対応する特定のタッチスクリーン入力を定義し得る。例えば、ボタン、指向性パッド、または他の種類の入力要素は、ユーザがゲーム入力を発生されるために触れることができるタッチスクリーン上の場所を指示するビデオゲームの起動中、表示される、または重ねられる場合がある。特定の方向または特有のタッチ動作のスワイプ等のジェスチャは、また、ゲーム入力として検出され得る。一実施形態では、指導書は、ユーザに、タッチスクリーン上での制御の動作に慣れさせるように、（例えば、ビデオゲームのゲームプレイが始まる前に）ゲームプレイ用のタッチスクリーンを介して入力を提供する方法を示すように、ユーザに提供されることができる。
【０１３７】
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスに関する接続点の役割を果たす。すなわち、コントローラデバイスは、クライアントデバイスとの無線接続または有線接続を介して通信し、入力をコントローラデバイスからクライアントデバイスに伝達する。クライアントデバイスは、順に、これらの入力を処理し、次に、ネットワーク（例えば、ルータ等のローカルネットワークデバイスを介してアクセスされる）を介して、入力データをクラウドゲームサーバに伝達し得る。しかしながら、他の実施形態では、コントローラ自体は、最初にクライアントデバイスを経由して係る入力を通信させることを要求されることなく、クラウドゲームサーバに対するネットワークを介して直接入力を通信させる能力があるネットワークデバイスであり得る。例えば、コントローラは、ローカルネットワークデバイス（前述のルータ等）に接続し、データをクラウドゲームサーバに送信し、及びそれから受信する場合がある。したがって、クライアントデバイスが依然としてクラウドベースビデオゲームから出力されるビデオを受信し、それをローカルディスプレイ上にレンダリングすることが要求され得るが、クライアントデバイスを迂回するように、クラウドゲームサーバに対するネットワークを通して直接コントローラが入力を送信することを可能にすることによって、入力待ち時間を短縮することができる。
【０１３８】
一実施形態では、ネットワークコントローラ及びクライアントデバイスは、ある種類の入力をコントローラから直接クラウドゲームサーバに送信し、及びクライアントデバイスを介して他の種類の入力を送信するように構成されることができる。例えば、入力（その入力の検出がコントローラ自体とは別の任意の追加ハードウェアまたは処理に依存しない）は、クライアントデバイスを迂回するように、ネットワークを介して、コントローラから直接クラウドゲームサーバに送信されることができる。係る入力は、ボタン入力、ジョイスティック入力、内蔵式動き検出入力部（例えば、加速度計、磁気計、ジャイロスコープ）等を含み得る。しかしながら、追加ハードウェアを利用する、またはクライアントデバイスによる処理を要求する入力は、クライアントデバイスによって、クラウドゲームサーバに送信されることができる。これらは、クラウドゲームサーバに送信する前に、クライアントデバイスによって処理され得るゲーム環境からキャプチャされたビデオまたは音声を含む場合がある。加えて、コントローラの動き検出ハードウェアからの入力は、コントローラの位置及び動きを検出するように、キャプチャされたビデオと併せてクライアントデバイスによって処理する場合があり、コントローラは、その後、クライアントデバイスによって、クラウドゲームサーバに通信するであろう。様々な実施形態に従ってコントローラデバイスがまた、データ（例えば、フィードバックデータ）をクライアントデバイスから、またはクラウドゲームサーバから直接受信され得ることを理解されたい。
【０１３９】
本明細書に説明される実施形態が任意の種類のクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）である。
【０１４０】
図７は、本開示の実施形態による、示されるヘッドマウントディスプレイ７５０の構成要素を示す図である。ヘッドマウントディスプレイ７５０は、プログラム命令を実行するためのプロセッサ７００を含む。メモリ７０２は、記憶する目的のために提供され、揮発性メモリ及び不揮発性メモリの両方を含み得る。ユーザが視認し得る視覚インターフェースを提供するディスプレイ７０４が含まれる。バッテリ７０６は、ヘッドマウントディスプレイ７５０用の電源として提供される。動き検出モジュール７０８は、磁気計７１０、加速度計７１２、及びジャイロスコープ７１４等の任意の様々な種類の動き感知ハードウェアを含み得る。
【０１４１】
加速度計は、加速度及び重力誘導反動力を測定するためのデバイスである。単一及び複数の軸モデルは、異なる方向で、加速度の大きさ及び方向を検出することに利用可能である。加速度計は、傾斜、振動、及び衝撃を感知するために使用される。一実施形態では、３つの加速度計７１２は、重力の方向を提供するために使用され、その重力は、２つの角度に関する絶対参照（世界空間ピッチ及び世界空間ロール）を与える。
【０１４２】
磁気計は、ヘッドマウントディスプレイの付近における磁場の強度及び方向を測定する。一実施形態では、３つの磁気計７１０は、ヘッドマウントディスプレイ内で使用され、世界空間のヨー角に関する絶対参照を確実にする。一実施形態では、磁気計は、地磁場が±８０マイクロテスラの範囲にわたるように設計されている。磁気計は、金属による影響を受け、実際のヨーで単調であるヨー測定を提供する。磁場は、ヨー測定において歪みを生じる環境の金属に起因して歪み得る。必要に応じて、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を使用して較正されることができる。一実施形態では、加速度計７１２は、磁気計７１０と一緒に使用され、ヘッドマウントディスプレイ７５０の傾角及び方位角を取得する。
【０１４３】
ジャイロスコープは、角度のモーメントの原理に基づいて、配向を測定または維持するためのデバイスである。一実施形態では、３つのジャイロスコープ７１４は、慣性感知に基づいて、各々の軸（ｘ、ｙ、及びｚ）にわたる運動に関する情報を提供する。ジャイロスコープは高速回転を検出する際に役立つ。しかしながら、ジャイロスコープは、絶対参照の存在なしで、時間超過してドリフトする可能性がある。これは、定期的にジャイロスコープをリセットすることを要求し、オブジェクト、加速度計、磁気計等の視覚的追跡に基づいて位置／配向の判定等の他の利用可能である情報を使用して行うことができる。
【０１４４】
カメラ７１６は、実環境の画像及び画像ストリームをキャプチャするために提供される。２つ以上のカメラは、ヘッドマウントディスプレイ７５０内に含まれ得、ヘッドマウントディスプレイ７５０は、後ろ向きのカメラ（ユーザがヘッドマウントディスプレイ７５０のディスプレイを視認するとき、ユーザから離れるように向いている）と、前向きのカメラ（ユーザがヘッドマウントディスプレイ７５０のディスプレイを視認するとき、ユーザに向かう向きになる）とを含む。加えて、深度カメラ７１８は、実環境におけるオブジェクトの深度情報を感知するためのヘッドマウントディスプレイ７５０内に含まれ得る。
【０１４５】
一実施形態では、ＨＭＤの前面に一体化されるカメラは、安全に関する警報を提供するために使用され得る。例えば、ユーザが壁またはオブジェクトに近づいている場合、ユーザは警告され得る。一実施形態では、オブジェクトの存在をユーザに警告するために、部屋内の物理的オブジェクトの外観図を用いて使用を提供し得る。例えば、外観図は、仮想環境内のオーバーレイであり得る。いくつかの実施形態では、ＨＭＤユーザは、例えば、フロア内で重ねられる参照マーカを視野に入れて提供され得る。例えば、マーカは、ユーザに、ユーザがゲームプレイしている部屋の中心の場所の参照を提供し得る。これは、例えば、視覚情報を、部屋内の壁または他のオブジェクトに衝突することを回避するために、ユーザが移動するべき場所にいるユーザに提供し得る。また、ユーザがＨＭＤを装着する、ゲームをプレイする、またはコンテンツをナビゲートするときにさらなる安全性を提供するために、ユーザに触知性警報及び／または音声警報を提供することができる。
【０１４６】
ヘッドマウントディスプレイ７５０は、音声出力を提供するためのスピーカ７２０を含む。また、マイクロホン７２２は、周囲環境からの音、ユーザによって行われるスピーチ等を含む実環境から音声をキャプチャするために含まれ得る。ヘッドマウントディスプレイ７５０は、触覚フィードバックをユーザに提供するための触覚フィードバックモジュール７２４を含む。一実施形態では、触覚フィードバックモジュール７２４は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ７５０の運動及び／または振動を生じさせることが可能である。
【０１４７】
ＬＥＤ７２６は、ヘッドマウントディスプレイ７５０の状態の可視的インジケータとして提供される。例えば、ＬＥＤは、バッテリレベル、電源オン等を示し得る。カードリーダ７２８は、ヘッドマウントディスプレイ７５０が、情報をメモリカードから読み取り、及び情報をメモリカードに書き込むことを可能にするように提供される。ＵＳＢインターフェース７３０は、周辺デバイスの接続、または他のポータブルデバイス、コンピュータ等の他のデバイスへの接続を可能にするためのインターフェースの一例として含まれる。ヘッドマウントディスプレイ７５０の種々の実施形態では、任意の様々な種類のインターフェースは、ヘッドマウントディスプレイ７５０の良好な接続性を可能にするように含まれ得る。
【０１４８】
Ｗｉ‐Ｆｉモジュール７３２は、無線ネットワーク技術を介して、インターネットへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ７５０は、他のデバイスへの無線接続を可能にするためのＢｌｕｅｔｏｏｔｈ（登録商標）モジュール７３４を含む。通信リンク７３６は、また、他のデバイスに接続するために含まれ得る。一実施形態では、通信リンク７３６は、無線通信に関する赤外線伝送を利用する。他の実施形態では、通信リンク７３６は、他のデバイスと通信するために、様々な無線または有線伝送プロトコルのいずれかを利用し得る。
【０１４９】
入力ボタン／センサ７３８は、ユーザに関する入力インターフェースを提供するために含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等の様々な種類の入力インターフェースのいずれかが含まれ得る。超音波通信モジュール７４０は、超音波技術を用いて他のデバイスとの通信を容易にするために、ヘッドマウントディスプレイ７５０内に含まれ得る。
【０１５０】
生物学的センサ７４２は、ユーザからの生理学的データの検出を可能にするために含まれる。一実施形態では、生物学的センサ７４２は、ユーザの皮膚を通るユーザの生体電気信号を検出するための１つ以上のドライ電極を含む。
【０１５１】
前述のヘッドマウントディスプレイ７５０の構成要素は、ヘッドマウントディスプレイ７５０内に含まれ得る単なる例示的構成要素として説明されている。本開示の種々の実施形態では、ヘッドマウントディスプレイ７５０は、様々な前述の構成要素の一部を含む場合がある、または含まない場合がある。ヘッドマウントディスプレイ７５０の実施形態は、加えて、本明細書に説明されるような本開示の態様を容易にする目的のために、ここでは説明されていないが当技術分野で既知である他の構成要素を含み得る。
【０１５２】
本開示の様々な実施形態では、前述のハンドヘルドデバイスは、様々な対話機能を提供するためにディスプレイ上に表示される対話型アプリケーションと併せて利用され得ることが当業者によって理解されるであろう。本明細書に説明される例示的実施形態は、例示のためだけに提供され、制限する目的のためのものではない。
【０１５３】
図８は、本開示の様々な実施形態による、ゲームシステム８００のブロック図である。ゲームシステム８００は、ネットワーク８１５を介して、ビデオストリームを１つ以上のクライアント８１０に提供するように構成されている。ゲームシステム８００は、一般的に、ビデオサーバシステム８２０と、随意式ゲームサーバ８２５とを含む。ビデオサーバシステム８２０は、最低限の品質のサービスで、ビデオストリームを１つ以上のクライアント８１０に提供するように構成されている。例えば、ビデオサーバシステム８２０は、ビデオゲーム内の視界の状態または視点を変更するゲームコマンドを受信し、クライアント８１０に、最小の遅延時間の状態でこの変化を反映しているビデオストリームの更新を提供し得る。ビデオサーバシステム８２０は、まだ定義されていないフォーマットを含む、多種多様な代替ビデオフォーマットのビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多種多様なフレームレートにおいて、ユーザに提示されるように構成されているビデオフレームを含み得る。一般的なフレームレートは、３０フレーム／秒、６０フレーム／秒、及び８２０フレーム／秒である。しかし、より高い、またはより低いフレームレートが、本開示の代替実施形態に含まれる。
【０１５４】
本明細書に個別に８１０Ａ、８１０Ｂ、等として言及されるクライアント８１０は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話器、セットトップボックス、公衆電話ボックス、無線デバイス、デジタルパッド、独立型デバイス、ハンドヘルドゲームプレイ用デバイス、及び／または同等物を含み得る。一般的に、クライアント８１０は、エンコードされたビデオストリーム（すなわち、圧縮されている）を受信し、ビデオストリームをデコードし、結果として生じるビデオを、例えば、ゲームのプレイヤーのユーザに提示するように構成されている。エンコードされたビデオストリームを受信する及び／またはビデオストリームをデコードするプロセスは、一般的に、クライアントの受信バッファ内に個々のビデオフレームを記憶することを含む。ビデオストリームは、ユーザに、クライアント８１０に不可欠なディスプレイ上で、またはモニタもしくはテレビ等の別個のデバイス上で提示され得る。クライアント８１０は、随意に、２人以上のゲームプレイヤーをサポートするように構成されている。例えば、ゲームコンソールは、２人、３人、４人以上の同時参加型プレイヤーをサポートするように構成され得る。これらのプレイヤーのそれぞれは、別個のビデオストリームを受信し得る、または単一のビデオストリームは、特にプレイヤー毎に生成される、例えば、各プレイヤーの視点に基づいて生成される、フレームの領域を含み得る。クライアント８１０は、随意に、地理的に分散される。ゲームシステム８００内に含まれるクライアント数は、１人または２人から、数千人、数万人、それ以上まで、広範囲に変わり得る。本明細書に使用されるような用語「ゲームプレイヤー」は、ゲームをプレイする人を指すように使用され、用語「ゲームプレイ用デバイス」は、ゲームをプレイするために使用されるデバイスを指すように使用される。いくつかの実施形態では、ゲームプレイ用デバイスは、ゲーム経験をユーザに送達するように協働する複数のコンピューティングデバイスを指し得る。例えば、ゲームコンソール及びＨＭＤは、ビデオサーバシステム８２０と協働し、ＨＭＤによって視認されるゲームを送達し得る。一実施形態では、ゲームコンソールは、ビデオストリームをビデオサーバシステム８２０から受信し、ゲームコンソールは、レンダリングするためにＨＭＤに、ビデオストリームを転送する、またはビデオストリームを更新する。
【０１５５】
クライアント８１０は、ネットワーク８１５を介して、ビデオストリームを受信するように構成されている。ネットワーク８１５は、電話回線、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク、及び／または同等物を含む、任意の種類の通信ネットワークであり得る。一般的な実施形態では、ビデオストリームは、ＴＣＰ／ＩＰまたはＵＤＰ／ＩＰ等の標準プロトコルを用いて通信する。代替として、ビデオストリームは、プロプリエタリ標準を用いて通信する。
【０１５６】
クライアント８１０の一般的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、デコードロジック、ネットワーク通信能力、及び入力デバイスを備える、パーソナルコンピュータである。デコードロジックは、コンピュータ可読媒体上に記憶されるハードウェア、ファームウェア、及び／またはソフトウェアを含み得る。ビデオストリームをデコード（及びエンコード）するためのシステムは、当技術分野で周知であり、使用される特定のエンコードスキームに応じて変わり得る。
【０１５７】
クライアント８１０は、必須ではないが、さらに、受信されたビデオを修正するように構成されているシステムを含み得る。例えば、クライアントは、さらに、レンダリングを行い、１つのビデオ画像を別のビデオ画像上に重ね、ビデオ画像を切り取り、及び／または同様のことを行うように構成され得る。例えば、クライアント８１０は、Ｉフレーム、Ｐフレーム、及びＢフレーム等の様々な種類のビデオフレームを受信し、及びユーザに表示するために、これらのフレームを画像に処理するように構成され得る。いくつかの実施形態では、クライアント８１０のメンバーは、さらに、レンダリング、シェーディング、３Ｄへの変換、またはビデオストリーム上の同様の動作を行うように構成されている。クライアント８１０のメンバーは、随意に、２つ以上の音声またはビデオストリームを受信するように構成されている。クライアント８１０の入力デバイスは、例えば、片手式ゲームコントローラ、両手式ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動き及び／または場所感知デバイス、マウス、タッチスクリーン、神経インターフェース、カメラ、まだ開発中の入力デバイス、及び／または同等物を含み得る。
【０１５８】
クライアント８１０によって受信されるビデオストリーム（及び随意式オーディオストリーム）は、ビデオサーバシステム８２０によって生成及び提供される。さらに本明細書の他の箇所で説明されるように、このビデオストリームは、ビデオフレームを含む（オーディオストリームはオーディオフレームを含む）。ビデオフレームは、ユーザに表示される画像に有意義に寄与するように構成される（例えば、それらは、適切なデータ構造の画素情報を含む）。本明細書に使用されるような用語「ビデオフレーム」は、ユーザに示される画像に寄与する（例えば、画像を生じさせる）ように構成されている情報を主に含むフレームを指すように使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、また、「オーディオフレーム」に適用されることができる。
【０１５９】
クライアント８１０は、一般的に、入力をユーザから受信するように構成されている。これらの入力は、ビデオゲームの状態を変化させる、またはそうでなければゲームプレイに影響を及ぼすように構成されているゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを使用して受信することができる、及び／または、クライアント８１０上で実行するコンピューティング命令によって、自動的に生成され得る。受信ゲームコマンドは、ビデオサーバシステム８２０及び／またはゲームサーバ８２５に対するネットワーク８１５を介して、クライアント８１０から通信する。例えば、いくつかの実施形態では、ゲームコマンドは、ビデオサーバシステム８２０を介して、ゲームサーバ８２５に対して通信する。いくつかの実施形態では、ゲームコマンドの別個のコピーは、クライアント８１０から、ゲームサーバ８２５及びビデオサーバシステム８２０に通信する。ゲームコマンドの通信は、随意に、コマンドの識別情報に依存している。ゲームコマンドは、随意に、オーディオストリームまたはビデオストリームをクライアント８１０Ａに提供するために使用される異なるルートまたは通信チャネルを経由して、クライアント８１０Ａから通信する。
【０１６０】
ゲームサーバ８２５は、随意に、ビデオサーバシステム８２０と異なるエンティティによって動作する。例えば、ゲームサーバ８２５は、複数人参加型ゲームの発行者によって動作し得る。この例では、ビデオサーバシステム８２０は、随意に、ゲームサーバ８２５によって、クライアントとして見なされ、随意に、先行技術のゲームエンジンを実行する先行技術のクライアントであるゲームサーバ８２５の視点から現れるように構成されている。ビデオサーバシステム８２０とゲームサーバ８２５との間の通信は、随意に、ネットワーク８１５を介して発生する。したがって、ゲームサーバ８２５は、ゲーム状態情報を複数のクライアント（それらの１つがゲームサーバシステム８２０である）に送信する先行技術の複数人参加型ゲームサーバであり得る。ビデオサーバシステム８２０は、同時に、ゲームサーバ８２５の複数のインスタンスと通信するように構成され得る。例えば、ビデオサーバシステム８２０は、複数の異なるビデオゲームを異なるユーザに提供するように構成されることができる。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ８２５によってサポートされ得る、及び／または異なるエンティティによって発行され得る。いくつかの実施形態では、ビデオサーバシステム８２０のいくつかの地理的に分散されたインスタンスは、ゲームビデオを複数の異なるユーザに提供するように構成されている。ビデオサーバシステム８２０のこれらのインスタンスのそれぞれは、ゲームサーバ８２５の複数の同じインスタンスと通信し得る。ビデオサーバシステム８２０と１つ以上のゲームサーバ８２５との間の通信は、随意に、専用通信チャネルを介して発生する。例えば、ビデオサーバシステム８２０は、これらの２つのシステム間の通信に専用である高帯域チャネルを介して、ゲームサーバ８２５に接続され得る。
【０１６１】
ビデオサーバシステム８２０は、少なくとも、ビデオソース８３０、入出力デバイス８４５、プロセッサ８５０、及び非一過性ストレージ８５５を備える。ビデオサーバシステム８２０は、１つのコンピューティングデバイスを含み得る、または複数のコンピューティングデバイス間で分散され得る。これらのコンピューティングデバイスは、随意に、ローカルエリアネットワーク等の通信システムを介して接続される。
【０１６２】
ビデオソース８３０は、例えば、動画を形成するストリーミングビデオまたは一連のビデオフレームであるビデオストリームを提供するように構成されている。いくつかの実施形態では、ビデオソース８３０は、ビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、ゲームコマンドをプレイヤーから受信するように、及び受信コマンドに基づいて、ビデオゲームの状態のコピーを維持するように構成されている。このゲーム状態は、ゲーム環境のオブジェクトの位置と、一般的に視点とを含む。ゲーム状態は、また、オブジェクトの特性、画像、色及び／またはテクスチャを含み得る。
【０１６３】
ゲーム状態は、一般的に、ゲームルール、ならびに移動、回転、攻撃、焦点の設定、相互作用、使用、及び／または同様なこと等のゲームコマンドに基づいて維持される。ゲームエンジンの一部は、随意に、ゲームサーバ８２５内に配置される。ゲームサーバ８２５は、地理的に分散したクライアントを使用して、複数プレイヤーから受信されたゲームコマンドに基づいてゲームの状態のコピーを維持し得る。これらの場合、ゲーム状態は、ゲームサーバ８２５によって、ビデオソース８３０に提供され、ゲーム状態のコピーは記憶され、レンダリングが行われる。ゲームサーバ８２５は、ネットワーク８１５を介して、クライアント８１０から直接ゲームコマンドを受信し得る、及び／またはビデオサーバシステム８２０を介してゲームコマンドを受信し得る。
【０１６４】
ビデオソース８３０は、一般的に、レンダリングロジック（例えば、ストレージ８５５等のコンピュータ可読媒体上に記憶されるハードウェア、ファームウェア、及び／またはソフトウェア）を含む。このレンダリングロジックは、ゲーム状態に基づいて、ビデオストリームのビデオフレームを作成するように構成されている。レンダリングロジックの全てまたは一部は、随意に、グラフィック処理ユニット（ＧＰＵ）内に配置される。レンダリングロジックは、一般的に、ゲーム状態及び視点に基づいて、オブジェクト間の３次元空間関係を判定するように、及び／または適切なテクスチャを適用するよう等に構成されている処理段階を含む。レンダリングロジックは、未加工のビデオを作り出し、その次に、未加工のビデオは、通常、クライアント８１０に通信する前にエンコードされる。例えば、未加工のビデオは、Ａｄｏｂｅ  Ｆｌａｓｈ（登録商標）規格、．ｗａｖ、Ｈ．２６４、Ｈ．２６３、Ｏｎ２、ＶＰ６、ＶＣ−１、ＷＭＡ、Ｈｕｆｆｙｕｖ、Ｌａｇａｒｉｔｈ、ＭＰＧ−ｘ．、Ｘｖｉｄ．、ＦＦｍｐｅｇ、ｘ２６４、ＶＰ６−８、ｒｅａｌｖｉｄｅｏ、ｍｐ３などに従ってエンコードされ得る。エンコードプロセスは、リモートデバイス上のデコーダに送達するための随意にパッケージ化されたビデオストリームを作り出す。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。一般的なフレームサイズは、８００×６００、１２８０×７２０（例えば、７２０ｐ）、１０２４ｘ７６８を含むが、任意の他のフレームサイズを使用してもよい。フレームレートは、１秒当たりのビデオフレーム数である。ビデオストリームは、異なる種類のビデオフレームを含み得る。例えば、Ｈ．２６４規格は「Ｐ」フレーム及び「Ｉ」フレームを含む。Ｉフレームは表示デバイス上で全てのマクロブロック／画素をリフレッシュする情報を含む一方で、Ｐフレームはそれらのサブセットをリフレッシュする情報を含む。Ｐフレームは、一般的に、Ｉフレームよりも小さいデータサイズである。本明細書に使用されるような用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するために必要なバイトを指すように使用される。
【０１６５】
代替実施形態では、ビデオソース８３０は、カメラ等のビデオ記録デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含まれる可能性がある遅延ビデオまたはライブビデオを生成するために使用され得る。結果として生じるビデオストリームは、随意に、レンダリング画像、及び静止画またはビデオカメラを使用して記録された画像の両方を含む。ビデオソース８３０は、また、ビデオストリームに含まれる事前に記録されたビデオを記憶するように構成されているストレージデバイスを含み得る。ビデオソース８３０は、また、オブジェクト（例えば、人）の動きまたは位置を検出するように構成されている動きまたは位置感知デバイスと、ゲーム状態を判定するように、または検出された動き及び／または位置に基づくビデオを作り出すように構成されているロジックとを含み得る。
【０１６６】
ビデオソース８３０は、随意に、他のビデオ上で設置されるように構成されているオーバーレイを提供するように構成されている。例えば、これらのオーバーレイは、コマンドインターフェース、命令のログ、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード（例えば、ウェブ画像ビデオ）を含み得る。タッチスクリーンインターフェースまたは視線検出インターフェースを含むクライアント８１０Ａの実施形態では、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッド、及び／または同等物を含み得る。オーバーレイの一例では、プレイヤーの声は、オーディオストリームにオーバーレイされる。ビデオソース８３０は、随意に、１つ以上の音源をさらに含む。
【０１６７】
ビデオサーバシステム８２０が２人以上のプレイヤーからの入力に基づいてゲーム状態を維持するように構成されている実施形態では、各プレイヤーは、視野の位置及び方向を含む異なる視点を有し得る。ビデオソース８３０は、随意に、その視点に基づいて、プレイヤー毎に別個のビデオストリームを提供するように構成されている。さらに、ビデオソース８３０は、クライアント８１０のそれぞれと異なるフレームサイズ、フレームデータサイズ、及び／またはエンコードを提供するように構成され得る。ビデオソース８３０は、随意に、３Ｄビデオを提供するように構成されている。
【０１６８】
入出力デバイス８４５は、ビデオサーバシステム８２０が、ビデオ、コマンド、情報に関する要求、ゲーム状態、視線情報、デバイスの動き、デバイスの場所、ユーザ運動、クライアント識別情報、プレイヤー識別情報、ゲームコマンド、セキュリティ情報、音声、及び／または同等物等の情報を送信及び／または受信するように、構成されている。入出力デバイス８４５は、一般的に、ネットワークカードまたはモデム等の通信ハードウェアを含む。入出力デバイス８４５は、ゲームサーバ８２５、ネットワーク８１５、及び／またはクライアント８１０と通信するように構成されている。
【０１６９】
プロセッサ８５０は、ロジック（例えば、本明細書に考察されるビデオサーバシステム８２０の様々な構成要素内に含まれるソフトウェア）を実行するように構成されている。例えば、プロセッサ８５０は、ビデオソース８３０、ゲームサーバ８２５、及び／またはクライアント修飾子８６０の機能を実現するために、ソフトウェア命令でプログラムされ得る。ビデオサーバシステム８２０は、随意に、プロセッサ８５０の２つ以上のインスタンスを含む。プロセッサ８５０は、また、ビデオサーバシステム８２０によって受信されたコマンドを実行するために、または、本明細書に考察されるゲームシステム８００の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされ得る。プロセッサ８５０は１つ以上のハードウェアデバイスを含み得る。プロセッサ８５０は電子プロセッサである。
【０１７０】
ストレージ８５５は、非一過性アナログ及び／またはデジタルストレージデバイスを含む。例えば、ストレージ８５５は、ビデオフレームを記憶するように構成されているアナログストレージデバイスを含み得る。ストレージ８５５は、コンピュータ可読デジタルストレージ（例えば、ハードドライブ、光学式ドライブ、またはソリッドステートストレージ）を含み得る。ストレージ８５５は、（例えば、適切なデータ構造またはファイルシステムを用いて）ビデオフレーム、人工フレーム、ビデオフレーム及び人工フレームと両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム、及び／または同等物を記憶するように構成されている。ストレージ８５５は、随意に、複数のデバイス間で分散される。いくつかの実施形態では、ストレージ８５５は、本明細書の他の箇所で考察されるビデオソース８３０のソフトウェア構成要素を記憶するように構成されている。これらの構成要素は、必要なときに、セットアップする準備ができているフォーマットで記憶され得る。
【０１７１】
ビデオサーバシステム８２０は、随意に、クライアント修飾子８６０をさらに備える。クライアント修飾子８６０は、クライアント８１０Ａまたは８１０Ｂ等のクライアントの能力をリモートで判定するように構成されている。これらの能力は、クライアント８１０Ａ自体の能力、及びクライアント８１０Ａとビデオサーバシステム８２０との間の１つ以上の通信チャネルの能力の両方を含み得る。例えば、クライアント修飾子８６０は、ネットワーク８１５を経由して、通信チャネルをテストするように構成され得る。
【０１７２】
クライアント修飾子８６０は、手動で、または自動的に、クライアント８１０Ａの能力を判定（例えば、発見）することができる。手動判定は、能力を提供するために、クライアント８１０Ａのユーザと通信することと、ユーザに質問することとを含む。例えば、いくつかの実施形態では、クライアント修飾子８６０は、クライアント８１０Ａのブラウザ内で、画像、テキスト、及び／または同等物を表示するように構成されている。一実施形態では、クライアント８１０Ａは、ブラウザを含むＨＭＤである。別の実施形態では、クライアント８１０Ａは、ＨＭＤ上に表示され得るブラウザを有するゲームコンソールである。表示されるオブジェクトは、ユーザに、クライアント８１０Ａのオペレーティングシステム、プロセッサ、ビデオデコーダの種類、ネットワーク接続の種類、ディスプレイ解像度等の情報を入力することを要求する。ユーザによって入力された情報は、クライアント修飾子８６０に戻るように通信する。
【０１７３】
自動判定は、例えば、クライアント８１０Ａ上のエージェントの実行によって、及び／またはテストビデオをクライアント８１０Ａに送信することによって、発生し得る。当該エージェントは、ウェブページに組み込まれる、またはアドオンとしてインストールされるｊａｖａ（登録商標）スクリプト等のコンピューティング命令を備え得る。当該エージェントは、随意に、クライアント修飾子８６０によって提供される。種々の実施形態では、当該エージェントは、クライアント８１０Ａの処理能力、クライアント８１０Ａのデコード能力及び表示能力、遅延時間の信頼性、ならびにクライアント８１０Ａとビデオサーバシステム８２０との間の通信チャネルの帯域幅、クライアント８１０Ａのディスプレイ種類、クライアント８１０Ａ上に存在するファイアウォール、クライアント８１０Ａのハードウェア、クライアント８１０Ａ上で実行するソフトウェア、クライアント８１０Ａ内のレジストリ項目、及び／または同等物を見つけることができる。
【０１７４】
クライアント修飾子８６０は、ハードウェア、ファームウェア、及び／またはコンピュータ可読媒体上に記憶されるソフトウェアを含む。クライアント修飾子８６０は、随意に、ビデオサーバシステム８２０の１つ以上の他の要素から分離しているコンピューティングデバイス上に配置される。例えば、いくつかの実施形態では、クライアント修飾子８６０は、クライアント８１０と、ビデオサーバシステム８２０の２つ以上のインスタンスとの間の通信チャネルの特徴を判定するように構成されている。これらの実施形態では、クライアント修飾子によって発見された情報は、ビデオサーバシステム８２０のどのインスタンスがストリーミングビデオをクライアント８１０の１つに送達することに最良に適しているかを判定するために使用されることができる。
【０１７５】
本明細書に定義される様々な実施形態は、本明細書に開示される様々な特徴を使用して、特定の実施態様に組み合わされ得る、または組み立てられ得ることを理解されたい。したがって、提供される例は、単なるいくつかの可能である例であり、多くの実施態様を定義する様々な要素を組み合わせることによって可能である様々な実施態様に限定されない。いくつかの例では、いくつかの実施態様は、開示されるまたは同等の実施態様の主旨から逸脱することなく、より少ない要素を含み得る。
【０１７６】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース電子機器またはプログラム可能家庭用電子機器、ミニコンピュータ、メーンフレームコンピュータ等を含む様々なコンピュータシステム構成で実践され得る。本開示の実施形態は、また、タスクが有線ベースネットワークまたは無線ネットワークを経由してリンクされるリモート処理デバイスによって行われる分散コンピューティング環境で実践されることができる。
【０１７７】
上記の実施形態を留意して、本開示の実施形態が、コンピュータシステム内に記憶されるデータを含有する様々なコンピュータ実施動作を採用することができることを理解されたい。これらの動作は、物理量の物理的処置を要求するものである。本開示の実施形態の一部を形成する本明細書に説明される動作のいずれかは、有用な機械動作である。本発明の実施形態は、また、これらの動作を行うためのデバイスまたは装置に関する。本装置は、特別に、要求された目的のために構成されることができる、または、本装置は、コンピュータ内に記憶されるコンピュータプログラムによって選択的にアクティブになる、または構成される汎用コンピュータであり得る。特に、様々な汎用マシンは、本明細書の教示に従って書き込まれたコンピュータプログラムで使用されることができる、または、様々な汎用マシンは、より特殊な装置を構成し、要求動作を行うのにより便利であり得る。
【０１７８】
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして、具体化されることができる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、当該データは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読取専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学データストレージデバイス及び非光学データストレージデバイスを含む。コンピュータ可読媒体は、ネットワーク連結コンピュータシステムを通して分散されるコンピュータ可読有形媒体を含み得、これにより、コンピュータ可読コードは、分散様式で記憶及び実行される。
【０１７９】
本方法の動作が特定の順序で説明されたが、オーバーレイ動作の処理が所望の方法で行われる限り、他のハウスキーピング動作は動作間に行われ得る、または動作は、わずかに異なる時間で発生するように調節され得る、もしくは、処理に関連付けられる様々な間隔における処理動作の発生を可能にするシステム内で分散され得ることを理解されたい。
【０１８０】
理解の明確性の目的のために、前述の開示がいくつかの詳細で説明されているが、ある変更及び修正が添付の「特許請求の範囲」の範囲内で実践されることができることが明白であろう。したがって、本実施形態は、例証であり制限するものではないとして考慮され、本開示の実施形態は、本明細書に与えられた詳細に限定されないが、添付の「特許請求の範囲」の範囲内及びその均等物の範囲内で修正され得る。
【図１Ａ】
2019524180.tif 000003
【図１Ｂ】
2019524180.tif 000004
【図１Ｃ】
2019524180.tif 000005
【図２】
2019524180.tif 000006
【図３】
2019524180.tif 000007
【図４Ａ】
2019524180.tif 000008
【図４Ｂ】
2019524180.tif 000009
【図５Ａ】
2019524180.tif 000010
【図５Ｂ】
2019524180.tif 000011
【図５Ｃ】
2019524180.tif 000012
【図６Ａ】
2019524180.tif 000013
【図６Ｂ】
2019524180.tif 000014
【図７】
2019524180.tif 000015
【図８】
2019524180.tif 000016
【国際調査報告】
2019524180.tif 000017
2019524180.tif 000018