(57)【要約】ゲーム支援方法である。ゲームアプリケーションについてのプレイヤーのゲームプレイに関する情報をバックエンドサーバで受信する。第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを情報から決定する。この情報から、ゲームアプリケーションをプレイしたエキスパートのエキスパートゲームプレイの履歴エキスパートゲームコンテキストを決定する。第一ゲームプレイに関連する支援クエリを受信する。第一プレイヤーの現在のゲームコンテキストを履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを有する少なくとも１人のエキスパートを決定する。支援を得るために、第一エキスパートを第一プレイヤーに割り当てる。第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にする。【選択図】図４Ｂ
2021518201.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム支援を提供する方法であって、
ネットワークを介してバックエンドサーバにおいて、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信し、
第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを前記情報から決定し、
前記ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを前記情報から決定し、前記エキスパートゲームプレイが前記ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されるものであり、
前記第一ゲームプレイに関連する支援クエリを受信し、
前記第一プレイヤーの前記現在のゲームコンテキストを前記複数の履歴エキスパートゲームコンテキストと比較して、前記第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも１人のエキスパートを決定し、
支援を得るために第一エキスパートを前記第一プレイヤーに割り当て、
前記第一エキスパートのデバイスと前記第一プレイヤーのデバイスとの間に通信セッションを生成して、前記第一エキスパートが前記第一プレイヤーへの支援をすることを可能にする、方法。
【請求項２】
前記比較では、
前記第一ゲームコンテキストと前記複数の履歴エキスパートゲームコンテキストとの間で複数のマッチングベクトルを決定し、各マッチングベクトルが前記対応する履歴エキスパートゲームコンテキストを前記第一ゲームコンテキストにマッチングさせる品質を示すマッチング値を有するものであり、
閾値を上回るマッチング値を有する１セットのマッチングした履歴エキスパートゲームコンテキストを決定し、
前記第一エキスパートの前記第一プレイヤーへの割り当てを行い、前記第一エキスパートは前記１セットのマッチングしたエキスパートゲームコンテキスト内で第一履歴エキスパートゲームコンテキストと関連付けられる、請求項１に記載の方法。
【請求項３】
前記第一エキスパートの前記第一プレイヤーへの割り当てでは、
最高値を有する第一マッチング値を決定し、前記第一マッチング値は前記第一エキスパートの前記第一履歴エキスパートゲームコンテキストに対応する、請求項２に記載の方法。
【請求項４】
前記第一エキスパートの前記第一プレイヤーへの割り当てでは、
前記支援クエリに応答して生成される支援を要求する通知を、前記少なくとも１人のエキスパートの１つ以上のデバイスにブロードキャストし、
応答の競争では、前記第一エキスパートから受信する前記通知への第一応答が最短の応答時間を有することを決定する、請求項１に記載の方法。
【請求項５】
前記通信セッションは、
音声チャネルと、
テキストチャネルと、
ビデオチャットチャネルと、
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項６】
前記第一プレイヤーの前記デバイスから前記ゲームプレイのビデオを共有する認可を受信し、
前記通信セッションを介して前記ゲームプレイの前記ビデオを前記第一エキスパートの前記デバイスにストリーミングする、請求項１に記載の方法。
【請求項７】
前記ゲームプレイの前記ビデオを前記第一プレイヤーの前記デバイスと互換性があるように再フォーマットする、請求項６に記載の方法。
【請求項８】
前記第一プレイヤーの前記デバイスから前記ゲームプレイの制御を共有する認可を受信し、
前記第一エキスパートの前記デバイスから、前記第一プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに第一セットの入力制御を配信する、請求項１に記載の方法。
【請求項９】
前記第一プレイヤーの前記デバイスから前記第一エキスパートのゲームプレイを受信する認可を受信し、
前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記第一プレイヤーの前記現在のゲームコンテキストに前記第一エキスパートのゲームプレイをストリーミングする、請求項１に記載の方法。
【請求項１０】
対応するプレイヤーの前記現在のゲームコンテキストは、
キャラクターと、
キャラクターの種族または種類と、
前記キャラクターが直面している現在のクエストと、
前記キャラクターについての次のクエストと、
ゲーム環境中の前記ゲームプレイの位置と、
前記ゲーム環境中の前記ゲームプレイのレベルと、
アセットと、
ロードアウトと、
前記キャラクターのスキルセットと、
前記対応するプレイヤー、または対応するエキスパートの全体的なゲームスキルと、
前記ゲームアプリケーションをプレイするリーセンシーと、
ヘルプを求める意思表明と、を含む、請求項１に記載の方法。
【請求項１１】
前記通信セッションは、ピアツーピア接続である、請求項１に記載の方法。
【請求項１２】
前記通信セッションは、中間ノードとして前記バックエンドサーバを含む、請求項１に記載の方法。
【請求項１３】
ゲーム支援を提供するためにコンピュータプログラムを格納する非一時的なコンピュータ可読媒体であって、
ネットワークを介してバックエンドサーバにおいて、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信するためのプログラム命令を有し、
第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを前記情報から決定するためのプログラム命令を有し、
前記ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを前記情報から決定するためのプログラムを有し、前記エキスパートゲームプレイが前記ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されるものであり、
前記第一ゲームプレイに関連する支援クエリを受信するためのプログラム命令を有し、
前記第一プレイヤーの前記現在のゲームコンテキストを前記複数の履歴エキスパートゲームコンテキストと比較して、前記第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも１人のエキスパートを決定するためのプログラム命令を有し、
支援を得るために第一エキスパートを前記第一プレイヤーに割り当てるためのプログラム命令を有し、
前記第一エキスパートのデバイスと前記第一プレイヤーのデバイスとの間に通信セッションを生成して、前記第一エキスパートが前記第一プレイヤーへの支援をすることを可能にするためのプログラム命令を有する、コンピュータ可読媒体。
【請求項１４】
比較するための前記プログラム命令には、
前記第一ゲームコンテキストと前記複数の履歴エキスパートゲームコンテキストとの間で複数のマッチングベクトルを決定するためのプログラム命令を有し、各マッチングベクトルが前記対応する履歴エキスパートゲームコンテキストを前記第一ゲームコンテキストにマッチングさせる品質を示すマッチング値を有するものであり、
閾値を上回るマッチング値を有する１セットのマッチングした履歴エキスパートゲームコンテキストを決定するためのプログラム命令を有し、
前記第一エキスパートを前記第一プレイヤーに割り当てるためのプログラム命令を有し、前記第一エキスパートは前記１セットのマッチングしたエキスパートゲームコンテキスト内で第一履歴エキスパートゲームコンテキストと関連付けられるものである、請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記第一エキスパートを前記第一プレイヤーに割り当てるための前記プログラム命令は、
最高値を有する第一マッチング値を決定するためのプログラム命令を有し、前記第一マッチング値は前記第一エキスパートの前記第一履歴エキスパートゲームコンテキストに対応するものである、請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記第一プレイヤーの前記デバイスから前記ゲームプレイのビデオを共有する認可を受信するためのプログラム命令と、
前記通信セッションを介して前記ゲームプレイの前記ビデオを前記第一エキスパートの前記デバイスにストリーミングするためのプログラム命令と、をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１７】
前記第一プレイヤーの前記デバイスから前記ゲームプレイの制御を共有する認可を受信するためのプログラム命令と、
前記第一エキスパートの前記デバイスから、前記第一プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに第一セットの入力制御を配信するためのプログラム命令と、をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１８】
前記第一プレイヤーの前記デバイスから前記第一エキスパートのゲームプレイを受信する認可を受信するためのプログラム命令と、
前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記第一プレイヤーの前記現在のゲームコンテキストに前記第一エキスパートのゲームプレイをストリーミングするためのプログラム命令と、をさらに含む、請求項１３に記載のコンピュータ可読媒体。
【請求項１９】
前記通信セッションは、ピアツーピア接続である、請求項１３に記載のコンピュータ可読媒体。
【請求項２０】
コンピュータシステムであって、
プロセッサを有し、
前記プロセッサに結合されたメモリを有し、前記メモリには命令が格納されており、前記命令は、前記コンピュータシステムにより実行される場合に、ゲーム支援を提供する方法を前記コンピュータシステムに実行させ、前記方法では、
ネットワークを介してバックエンドサーバにおいて、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信し、
第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを前記情報から決定し、
前記ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを前記情報から決定し、前記エキスパートゲームプレイが前記ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されるものであり、
前記第一ゲームプレイに関連する支援クエリを受信し、
前記第一プレイヤーの前記現在のゲームコンテキストと前記複数の履歴エキスパートゲームコンテキストとの比較を行って、前記第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも１人のエキスパートを決定し、
支援を得るために第一エキスパートを前記第一プレイヤーに割り当て、
前記第一エキスパートのデバイスと前記第一プレイヤーのデバイスとの間に通信セッションを生成して、前記第一エキスパートが前記第一プレイヤーへの支援をすることを可能にする、コンピュータシステム。
【請求項２１】
前記比較では、
前記第一ゲームコンテキストと前記複数の履歴エキスパートゲームコンテキストとの間で複数のマッチングベクトルを決定し、各マッチングベクトルが前記対応する履歴エキスパートゲームコンテキストを前記第一ゲームコンテキストにマッチングさせる品質を示すマッチング値を有するものであり、
閾値を上回るマッチング値を有する１セットのマッチングした履歴エキスパートゲームコンテキストを決定し、
前記第一エキスパートの前記第一プレイヤーへの割り当てを行い、前記第一エキスパートは前記１セットのマッチングしたエキスパートゲームコンテキスト内で第一履歴エキスパートゲームコンテキストと関連付けられるものである、請求項２０に記載のコンピュータシステム。
【請求項２２】
前記第一エキスパートの前記第一プレイヤーへの割り当てでは、
最高値を有する第一マッチング値を決定し、前記第一マッチング値は前記第一エキスパートの前記第一履歴エキスパートゲームコンテキストに対応するものである、請求項２１に記載のコンピュータシステム。
【請求項２３】
前記第一プレイヤーの前記デバイスから前記ゲームプレイのビデオを共有する認可を受信し、
前記通信セッションを介して前記ゲームプレイの前記ビデオを前記第一エキスパートの前記デバイスにストリーミングする、請求項２０に記載のコンピュータシステム。
【請求項２４】
前記第一プレイヤーの前記デバイスから前記ゲームプレイの制御を共有する認可を受信し、
前記第一エキスパートの前記デバイスから、前記第一プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに第一セットの入力制御を配信する、請求項２０に記載のコンピュータシステム。
【請求項２５】
前記第一プレイヤーの前記デバイスから前記第一エキスパートのゲームプレイを受信する認可を受信し、
前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記第一プレイヤーの前記現在のゲームコンテキストに前記第一エキスパートのゲームプレイをストリーミングする、請求項２０に記載のコンピュータシステム。
【請求項２６】
前記通信セッションは、ピアツーピア接続である、請求項２０に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ゲームアプリケーションに関する。とりわけ、本開示は、ゲームアプリケーションをプレイするプレイヤーのゲームプレイのサポートにエキスパート支援を提供するための方法及びシステムを説明する。
【背景技術】
【０００２】
処理能力が高くなるにつれ、ビデオゲームはより複雑で大規模になってきている。しかしながら、複雑さが増すと、ユーザにとっては、場合によって、ビデオゲームを介してナビゲートすること、及び／またはビデオゲームを完了することがますます困難となる。例えば、ビデオゲームは、より大規模になり、ユーザが利用できる数百万から数兆もの利用可能なオプションを含む場合がある。そのため、ユーザは、これらの利用可能なオプションのそれぞれを試すことさえできず、それらのオプションのどれが利用可能かを理解することさえできない。他の場合では、ユーザは、ナビゲートまたは解決がおそらく不可能であるビデオゲーム中のポイントに到達してしまう場合もある。
ユーザにとって、これは非常に頻繁に発生し、さらに、ユーザがゲームを進めるのが困難または不可能であることからゲームに不満を募らせるようになり、最終的にビデオゲームを中止するに至る。例えば、ビデオゲームのゲームプレイにおいて、ユーザは、ゲームプレイを進めるために、明らかなゲートウェイを通過してゲーム世界の別の部分に到達しようとしている場合がある。説明のために、ユーザは、ゲートウェイとして機能する滝を通過する必要があり、通過の際に利用可能なすべてのオプションを使い果たしたように思える場合を例にとる。実際には解決策が利用可能であり、それがわかっている場合には簡単（例えば、安定した岩を選んで滝を通り抜ける）だとしても、理由はどうあれ、エントリを得るための正しい進路または操作シーケンスをユーザが見つけられない場合がある。何時間も無駄にした後、ユーザは、先に進む方法を見つけることができずにゲームを中止して諦めるおそれもある。
【０００３】
本開示の実施形態は、このような背景の下になされたものである。
【発明の概要】
【０００４】
本開示の実施形態は、通信セッションを介してゲームアプリケーションをプレイするプレイヤーをエキスパートあるいは上級者に接続して、プレイヤーのゲームプレイ中にリアルタイム支援を提供することに関する。本開示のいくつかの発明の実施形態を以下に記載する。
【０００５】
一実施形態では、ゲーム支援を提供する方法を開示する。この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信する。この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。この方法は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されている。この方法は、第一ゲームプレイに関連する支援クエリを受信する。この方法は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも１人のエキスパートを決定する。この方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。この方法は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にする。
【０００６】
他の実施形態では、ゲーム支援を提供するためにコンピュータプログラムを格納する非一時的なコンピュータ可読媒体を開示する。このコンピュータ可読媒体は、ネットワークを介してバックエンドサーバにおいて、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信するためのプログラム命令を含む。コンピュータ可読媒体は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定するためのプログラム命令を含む。コンピュータ可読媒体は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定するためのプログラム命令を含み、エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成される。
コンピュータ可読媒体は、第一ゲームプレイに関連する支援クエリを受信するためのプログラム命令を含む。コンピュータ可読媒体は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを有する少なくとも１人のエキスパートを決定するためのプログラム命令を含む。コンピュータ可読媒体は、支援を得るために第一エキスパートを第一プレイヤーに割り当てるためのプログラム命令を含む。コンピュータ可読媒体は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にするためのプログラム命令を含む。
【０００７】
さらに他の実施形態では、プロセッサ、及びプロセッサに結合されるメモリを含み、このメモリがその中に命令を格納し、これらの命令がコンピュータシステムにより実行される場合に、ゲーム支援を提供する方法をコンピュータシステムに実行させる、コンピュータシステムを開示する。この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信する。この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。
この方法は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されている。この方法は、第一ゲームプレイに関連する支援クエリを受信する。この方法は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも１人のエキスパートを決定する。この方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。この方法は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にする。
【０００８】
本開示の他の態様は、本開示の原理を例示により示す添付の図面と併せて、以下の詳細な説明から明らかになるであろう。
【０００９】
本開示は、添付図面と併せて以下の詳細な説明を参照することでより良く理解されよう。
【図面の簡単な説明】
【００１０】
【図１Ａ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するために使用されるシステムを示し、ゲームアプリケーションは、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワークを介して実行していることができる。
【図１Ｂ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、プレイヤーにローカルに実行しているゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムを示す。
【図１Ｃ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、クラウドゲームネットワークを介して実行されるゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムを示す。
【図２】本開示の一実施形態による、ゲームクラウドシステム（ＧＣＳ）中でアクセスを有効にし、ゲームアプリケーションをプレイするためのシステム図、及び通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するヘルプセッションの実装を示し、ゲームアプリケーションは、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワークを介して実行していることができる。
【図３Ａ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する方法におけるステップを示すフロー図である。
【図３Ｂ】本開示の一実施形態による、ゲームアプリケーションをプレイして支援を要求するプレイヤーに提供される支援形式を決定する方法におけるステップを示すフロー図である。
【図４Ａ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムまたは方法におけるデータフローを示すデータフロー図である。
【図４Ｂ】本開示の一実施形態による、支援を要求するプレイヤーのコンテキストに限定されるゲームステートデータを使用してローカルで実行するゲームアプリケーションをプレイするエキスパートのゲームプレイを示すデータフロー図であり、エキスパートのゲームプレイは、プレイヤーにストリーミングされる。
【図５Ａ】本開示の一実施形態による、ゲームアプリケーションをプレイするプレイヤーのゲームコンテキストのコレクション、及びプレイヤーのゲームプレイを進めるためにリアルタイム支援を提供するエキスパートの選択中にゲームアプリケーションのエキスパートのゲームコンテキストへのゲームコンテキストのマッチングの図解であり、セクションは、支援についてのプレイヤーによる要求に応答して行われる。
【図５Ｂ】本開示の一実施形態による、ゲームアプリケーションをプレイする、対応するプレイヤーのゲームコンテキストについて収集される情報のタイプの図解である。
【図６Ａ】本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解であり、ユーザインタフェースは、プレイヤーとエキスパートとの間の双方向のテキストによる会話を表示するウィンドウを含む。
【図６Ｂ】本開示の一実施形態による、音声通信セッションなどの通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解であり、ユーザインタフェースは、音声通信セッションと同期しているエキスパートのリアルタイムビデオを表示するウィンドウを含むことができ、エキスパートは、プレイヤーのゲームプレイの制御を引き継いだ。
【図７】本開示の一実施形態による、ゲームアプリケーションの存続期間中のエキスパートの可用性のボリュームを示すグラフであり、エキスパートは、リアルタイムでゲームアプリケーションをプレイするプレイヤーにリアルタイム支援を提供し、その上、グラフは、記録されたヘルプセッションの可用性を示し、そこでエキスパートは、ゲームアプリケーションをプレイするプレイヤーへの支援を提供する。
【図８】本開示のさまざまな実施形態の態様を行うために使用され得る例示的なデバイスのコンポーネントを図示する。
【図９】本開示の一実施形態に従って、示されるヘッドマウントディスプレイのコンポーネントを示す図解である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明は、例示の目的で多くの特定の詳細を含むが、当業者であれば、以下の詳細に対する多くの変形及び変更が本開示の範囲内にあることを理解するであろう。したがって、以下に記載される本開示の態様は、一般性を失うことなく、かつ限定となることなく、この説明に続く特許請求の範囲に記載される。
【００１２】
概して、本開示のさまざまな実施形態は、通信セッションを介してプレイヤーをエキスパートあるいは上級者に接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステム及び方法を説明する。例えば、プレイヤーがゲームアプリケーションの一部分に行き詰まった場合、プレイヤーは、ユーザインタフェースを介して、ゲームコンソールまたはモバイルアプリケーション（例えば、モバイルデバイス上で実行される）などを介してヘルプを要求することができる。次いで、プレイヤーは、通信セッションを介して、より経験豊富なプレイヤー（例えば、エキスパート）に接続され、エキスパートは、ゲーム支援を提供する（例えば、エキスパートはプレイヤーが行き詰まりを解消するのを援助することができる）。
エキスパートは、彼らがプレイしたいかなるゲームについても、いつでもエキスパート自身を「利用可能」とマーク付けすることができる。エキスパートは、一般に、エキスパートとして登録した、及び／または資格を取得したプレイヤーである。プレイヤーがそのゲームについてヘルプを要求するときに、その要求は、援助することができる可能性が最も高い利用可能なエキスパートに送信される。エキスパートは、プレイヤーにマッチングし、ライブヘルプセッションを介して、またはヘルプセッションの以前の記録を介して接続され得る。エキスパートは、プレイヤーが苦労しているゲームのコンテキストに関連する彼らの能力に基づいて選択される。
一実施形態では、ヘルプ要求を受諾する第一エキスパートは、プレイヤーとのヘルプセッションを開始し、プレイヤーへのライブエキスパートのマッチングは、ライブヘルプセッションを提供するように構成されるライドヘイリングＵｂｅｒ（登録商標）モデルに似ている。プレイヤーを助けることができるエキスパートに接続するために、クエスト、レベル、ロードアウト、位置、スキルなどのような、プレイヤーの現在のセッションに関する重要なデータをキャプチャする。次に、プレイヤーは、理想的にはゲームのその部分（例えば、プレイヤーが現在プレイしていて支援を必要としている部分）で既に勝利したエキスパート、及び理想的には同様のコンフィグレーションによってその部分で勝利したエキスパートとペアにされる。
ヘルプセッション中に、エキスパートは、テキスト、音声、ビデオ、及び／または埋め込みビデオを介して、ウェブ、モバイル、またはコンソールインタフェースからガイダンスを提供することができる。別の実施形態では、プレイヤーは、記録されたヘルプセッションを介してエキスパートに接続される。記録されたヘルプセッションは、所与のクエリ及び／またはゲームコンテキストに対して最適な支援を提供することができるため、ライブヘルプセッションを介してプレイヤーをエキスパートに接続する代わりに、プレイヤーは、記録されたヘルプセッションを介してエキスパートに接続される。一実施形態では、所与のクエリ及び／またはゲームコンテキストについて記録されたヘルプセッションは、ユーザ／プレイヤーのフィードバックに基づいてランク付けされ、これらのランク付けに基づいて選択される。
【００１３】
さまざまな実施形態の上記の一般的な理解により、さまざまな図面を参照して実施形態の例の詳細をここに説明する。
【００１４】
本明細書全体を通して、「ゲームアプリケーション」への参照は、入力コマンドの実行を通して指示される任意のタイプのインタラクティブアプリケーションを表現することを意味する。例示的な目的のみのために、インタラクティブアプリケーションは、ゲーム、ワードプロセッシング、ビデオ処理、ビデオゲーム処理などのためのアプリケーションを含む。さらに、ビデオゲーム及びゲームアプリケーションという用語は互いに置換可能である。
【００１５】
図１Ａは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するために使用されるシステム１０を示す。例えば、支援は、ゲームプレイをサポートするように構成されるユーザインタフェースを通じて提供されてもよい。ゲームアプリケーションは、本開示の一実施形態に従い、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワーク経由で実行していることができる。
【００１６】
図１Ａに示されるように、ゲームアプリケーションは、ユーザ５のクライアントデバイス１００においてローカルに実行していることができる、またはクラウドゲームネットワークもしくはゲームクラウドシステムのバックエンドゲームサーバ２０５において動作するバックエンドゲーム実行エンジン２１１において実行していることができる。ゲーム実行エンジン２１１は、ゲームサーバ２０５の多くのゲームプロセッサ２０１のうちの１つの内で動作していることができる。いずれの場合も、クラウドゲームネットワークは、ヘルプセッション中の通信セッションを介してプレイヤーをエキスパートに接続することにより、プレイヤーにリアルタイム支援を提供するように構成される。
ヘルプセッションは、ゲームアプリケーションをプレイしているプレイヤーのゲームプレイ中に行われる。プレイヤーがユーザインタフェース１１０を介してヘルプを要求し、ユーザインタフェース１１０に提供されるヘルプセッション中のヘルプとインタラクトする（例えば、見る、聞く、提示するなど）ことができるように、クライアントデバイス１００においてユーザインタフェース１１０は、ヘルプセッションをサポートすることができる。さらに、ゲームアプリケーションは、シングルプレイヤーモードまたはマルチプレイヤーモードにおいて実行していることができ、そこで本発明の実施形態は、両方の動作モードにマルチプレイヤー強化（例えば、支援、通信など）を提供する。
【００１７】
いくつかの実施形態において、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン（ＶＭ）を含むことができ、１つ以上の仮想マシンは、シングルプレイヤービデオゲームまたはマルチプレイヤービデオゲームのサポートにおけるホストのハイパーバイザに利用可能であるハードウェアリソースを利用してゲームプロセッサモジュール２０１を実行するように構成される。他の実施形態において、クラウドゲームネットワークは、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、そこで各ローカルコンピューティングデバイスは、シングルプレイヤービデオゲームまたはマルチプレイヤービデオゲームなどの、ビデオゲームのインスタンスを実行することができる。
例えば、マルチプレイヤーモードにおいて、ビデオゲームは、ローカルに実行しながら、同時にクラウドゲームネットワークは、各ローカルコンピューティングデバイスから情報（例えば、ゲームステートデータ）を受信し、その結果、ローカルコンピューティングデバイスのうちの１つ以上の全体を通してその情報を配信するので、各ユーザは、マルチプレイヤービデオゲームのゲーム環境内で他のユーザとインタラクトする（例えば、ビデオゲーム内の対応するキャラクターを通して）ことが可能である。その方式において、クラウドゲームネットワークは、マルチプレイヤーゲーム環境内の各ユーザについてのゲームプレイを調整し、組み合わせる。
【００１８】
図示されるように、システム１０は、複数のインタラクティブゲームアプリケーションへのアクセスを提供するゲームプロセッサモジュール２０１を実行するゲームサーバ２０５を含む。ゲームサーバ２０５は、前述したように、クラウド内で利用可能である、任意のタイプのサーバコンピューティングデバイスであることができ、１つ以上のホスト上で実行する１つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ２０５は、ゲームプロセッサ２０１をサポートする仮想マシンを管理することができる。また、ゲームサーバ２０５は、追加のサービス及び／またはコンテンツをユーザ５に提供するように構成される。例えば、ゲームサーバは、通信セッションを介してゲームアプリケーションをプレイしているプレイヤーをエキスパートに接続して、リアルタイム支援を提供するように構成可能であり、そこでゲームサーバは、以下でさらに説明されるように、支援についての要求を受信し、プレイヤーを適切なエキスパートとマッチングさせ、プレイヤーのゲームプレイ中にプレイヤーをエキスパートにリアルタイムで接続するヘルプセッションを確立するように構成される。
【００１９】
クライアントデバイス１００は、インターネットなどのネットワーク１５０経由でゲームアプリケーションへのアクセスを要求するために、そしてゲームサーバ２０５により実行されてユーザ５と関連する表示装置１２及び／またはヘッドマウントディスプレイ（ＨＭＤ）１０２に配信されるビデオゲームまたはゲームアプリケーションのインスタンスをレンダリングするように構成される。例えば、ユーザ５は、ゲームプロセッサ２０１上で実行するゲームアプリケーションのインスタンスを含むクライアントデバイス１００を介してインタラクトしていることができる。また、クライアントデバイス１００は、前述したように、ゲームアプリケーションのローカルな実行するように構成定されたゲーム実行エンジン１１１を含むことができる。
クライアントデバイス１００は、ゲームコントローラ６、タブレットコンピュータ１１、キーボード、及びビデオカメラによりキャプチャされるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス１００は、ネットワーク１５０経由でゲームサーバ２０５に接続することが可能である少なくともメモリ及びプロセッサモジュールを含む任意のタイプのコンピューティングデバイスであり得る。クライアントデバイス１００のいくつかの例は、ビデオゲームのインスタンスを実行するためにゲームサーバ２０５とインタラクトすることが可能である、パーソナルコンピュータ（ＰＣ）、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または任意の他のタイプのコンピューティングデバイスを含む。実施形態では、ＨＭＤ１０２は、クライアントデバイス１００の機能を実行するように構成され得る。
【００２０】
クライアントデバイス１００は、レンダリングされた画像を受信し、レンダリングされた画像をディスプレイ１２及び／またはＨＭＤ１０２に表示するように構成される。例えば、ネットワーク１５０を介して、レンダリングされた画像は、ユーザ５に関連してゲームサーバ２０５のゲーム実行エンジン２１１上で実行するゲームアプリケーションのインスタンスによって配信され得る。別の例では、ローカルゲーム処理を通じて、レンダリングされた画像は、ローカルゲーム実行エンジン１１１によって配信され得る。いずれの事例においても、クライアントデバイス１００は、例えば、ゲームプレイを駆動するために使用される入力コマンドを介して、ユーザ５のゲームプレイと関連する実行エンジン２１１または１１１とインタラクトするように構成される。
【００２１】
さらに、クライアントデバイス１００は、ゲームアプリケーションをプレイするときにゲームサーバ２０５とインタラクトし、ユーザ５のゲームプレイの１つ以上のゲームコンテキストをキャプチャして格納するように構成され、そこで各ゲームコンテキストは、ゲームプレイに関連する情報（例えば、ゲームステート、ユーザ情報など）を含む。さらに特に、ゲームサーバ２０５のゲームプロセッサ２０１は、ゲームアプリケーションをプレイするときに、ユーザ５のゲームプレイのゲームコンテキストを生成する、及び／または受信するように構成される。
別の実装では、ゲームコンテキストは、クライアントデバイス１００上のローカルゲーム実行エンジン１１１により生成され、ネットワーク１５０経由でゲームプロセッサ２０１に出力され、配信され得る。さらに、ゲームコンテキストは、ゲームコンテキストジェネレータ１２２などを介して、クラウドネットワークにおいてゲームプロセッサ２０１内のゲーム実行エンジン２１１によって生成され得る。ゲームコンテキストは、クライアントデバイス１００にローカルに格納される、及び／またはゲームサーバ２０５のコンテキストプロファイルデータベース１４２に格納され得る。
【００２２】
各ゲームコンテキストは、ゲームプレイに関連するメタデータ及び／または情報を含む。ゲームコンテキストは、レベルの途中など、ゲームアプリケーションをプレイする進行中のさまざまなポイントでキャプチャされ得る。説明のために、ゲームコンテキストは、プレイヤー（例えば、プレイヤーのキャラクター）がゲームアプリケーション内でいた位置、プレイヤーがゲームアプリケーション内でいる位置、プレイヤーがしたこと、プレイヤーまたはキャラクターが蓄積したアセット及びスキル、プレイヤーに提示されるクエストまたはタスク、ならびにプレイヤーがゲームアプリケーション内で向かう位置を決定するのに役立つことができる。
さらに、プレイヤーのゲームプレイ中にヘルプを要求しているプレイヤーをエキスパートにマッチングさせるときなどに、各ゲームコンテキスト中のメタデータ及び情報は、ユーザのゲームプレイに関連するサポートを提供する、及び／またはそれを提供するために分析されることができ、そこでゲームプレイは、ヘルプについての要求に関連する特定のコンテキストを含み、選択されたエキスパートは、そのコンテキストについてのヘルプを提供するのに最適である。具体的には、ゲームコンテキストに基づいて、クライアントデバイス１００は、ゲームサーバ２０５とインタラクトしてユーザインタフェースを表示するように構成され、このユーザインタフェースは、通信セッションを介してゲームアプリケーションをプレイするプレイヤーをエキスパートに接続し、プレイヤーのゲームプレイ中にリアルタイム支援を提供することができる。
【００２３】
さらに特に、ゲームコンテキストは、そのポイントでゲームのステートを定義するゲームステートデータをも含む。例えば、ゲームステートデータは、ゲームキャラクター、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイ、ユーザ５のゲームプレイのゲーム世界内のキャラクターの位置、ゲームプレイのシーンまたはゲーム環境、ゲームアプリケーションのレベル、キャラクターのアセット（例えば、武器、ツール、爆弾など）、キャラクターの種類または種族（例えば、魔法使い、戦士など）、プレイヤーに提示されている現在のクエスト及び／またはタスク、ロードアウト、キャラクターのスキルセットなどを含むことができる。
そのようにして、ゲームステートデータは、ビデオゲーム中の対応するポイントで存在したゲーム環境の生成を可能にする。また、ゲームステートデータは、例えば、ＣＰＵ、ＧＰＵ、メモリ、レジスタ値、プログラムカウンタ値、プログラマブルＤＭＡステート、ＤＭＡについてバッファリングされたデータ、オーディオチップステート、ＣＤ−ＲＯＭステートなど、ゲームプレイをレンダリングするために使用されるあらゆるデバイスのステートを含むことができる。ゲームステートデータは、ゲームステートデータベース１４５に格納される。
【００２４】
また、ゲームコンテキストは、プレイヤーに関連するユーザ及び／またはプレイヤー情報を含むことができる。一般的に、ユーザ／プレイヤーの保存データは、対応するプレイヤーについてのビデオゲームをパーソナライズする情報を含む。これは、プレイヤーのキャラクターと関連する情報を含むため、ビデオゲームは、そのプレイヤーに一意であることができるキャラクター（例えば、体型、種族、外観、衣服、武器など）によってレンダリングされる。そのようにして、ユーザ／プレイヤーの保存データは、対応するプレイヤーのゲームプレイについてキャラクターの生成を可能にし、そこでキャラクターは、ゲームコンテキストと関連するゲームアプリケーション内のそのポイントに対応するステートを有する。
例えば、ユーザ／プレイヤーの保存データは、プレイヤーのスキルまたは能力、プレイヤーがヘルプを求める全体的な準備状況、プレイヤーによるゲームアプリケーションをプレイするリーセンシー、ユーザ５がゲームをプレイするときに選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値、及び他のアセット情報などを含むことができる。また、ユーザ／プレイヤーの保存データは、例えば、プレイヤー５を識別するユーザプロファイルデータを含むことができる。ユーザ／プレイヤーの保存データをデータベース１４１に格納する。
【００２５】
一実施形態では、ゲームコンテキストは、スナップショット情報に関連し、このスナップショット情報は、対応するスナップショットと関連するビデオゲーム内のポイントから開始するビデオゲームのインスタンスの実行を可能にする情報を提供する。プレイヤーのゲームプレイ中にキャプチャされ、格納される特定のスナップショットへのアクセスにより、ゲームステート、及び可能であれば前述のゲームコンテキストに関連するユーザ情報などのスナップショット中の情報を使用して、ゲームアプリケーションの別のインスタンスを実行することができる。例えば、別のユーザは、スナップショットに関連するゲームプレイの並行バージョンにジャンプすることができる。スナップショットの作成及び使用に関する完全な考察は、「Ｍｅｔｈｏｄ  Ａｎｄ  Ｓｙｓｔｅｍ  Ｆｏｒ  Ｓａｖｉｎｇ  Ａ  Ｓｎａｐｓｈｏｔ  ｏｆ  Ｇａｍｅ  Ｐｌａｙ  Ａｎｄ  Ｕｓｅｄ  Ｔｏ  Ｂｅｇｉｎ  Ｌａｔｅｒ  Ｅｘｅｃｕｔｉｏｎ  Ｏｆ  Ｔｈｅ  Ｇａｍｅ  Ｐｌａｙ  Ｂｙ  Ａｎｙ  Ｕｓｅｒ  Ａｓ  Ｅｘｅｃｕｔｅｄ  Ｏｎ  Ａ  Ｇａｍｅ  Ｃｌｏｕｄ  Ｓｙｓｔｅｍ」と題する、米国出願第１５／４１１，４２１号内に提供されており、これは参照により、その全体が援用される。
【００２６】
一実施形態では、スナップショットは、そのポイントにおいてレンダリングされるシーンのスナップショット画像を含む。スナップショット画像をスナップショット画像データベース１４６内に格納する。スナップショット画像は、タイムラインに関してサムネイル形式で提示されることができ、そこでスナップショットは、タイムラインによって示されるように、ビデオゲームを通してユーザによる進度に対応するポイントにおいてユーザのゲームプレイ内へさまざまなビューを提供する。タイムラインを使用して、プレイヤーのゲームプレイのある特定の部分（例えば、最後の２分間）をリプレイして、支援を提供するときにエキスパートに状況認識を提供することができる。リプレイ部分を高速化することができる。エキスパートに、リプレイ部分を示した後、ライブゲームプレイを示す。
【００２７】
さらに、対応するプレイヤーに関連する情報を含むプレイヤープロファイルを生成し、プロファイルデータベース１４３に格納することができる。プロファイル情報は、名前、年齢、居住地、アカウント情報、ゲームコンテキストからのユーザ関連情報（例えば、データベース１４１に格納されているユーザ保存データ）などを含むことができる。プレイヤー／エキスパートのゲームプロファイルジェネレータ１２１は、プレイヤープロファイルを作成して管理するように構成される。
【００２８】
ゲームプロセッサ２０１は、通信セッションを介してプレイヤーをエキスパートに接続することなどによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するヘルプセッションの確立及び管理を容易にするヘルプセッションコントローラ１２０を含む。ヘルプセッションコントローラ１２０は、例えば、エキスパートマッチングエンジン１２３、プレヘルプセッションマッチングエンジン１２４、共有画面コントローラ１２６、共有プレイコントローラなどを含む、１つ以上のコンポーネントを制御し、ヘルプセッションを確立して管理することができる。例えば、プレイヤーがクエリ（例えば、「ボスＡを倒すにはどうすればよいですか？」または「ヘルプが必要です、今！」）などを通じてヘルプを要求した場合、ヘルプセッションコントローラ１２０は、ヘルプセッションをサポートする通信セッションを介してそのプレイヤーをエキスパートと接続するように構成されるため、エキスパートが支援を提供することができる。
【００２９】
特に、ゲームプロセッサ２０１は、ヘルプセッションコントローラ１２０と協動して、プレイヤー及び選択されたエキスパートについてのゲームコンテキストに基づいて、プレイヤーをエキスパートにマッチングさせるように構成されるエキスパートマッチングエンジン１２３を含む。すなわち、プレイヤーを助けることができるエキスパートに接続するために、前述のゲームコンテキストを含む、ゲームの基準として定義され得る、クエスト、レベル、ロードアウト、位置、スキルなどのような、プレイヤーの現在のセッションに関する重要なデータをキャプチャする。
具体的には、マッチングプロセスは、エキスパートを選択するときに、ゲームの基準及び／または閾値に焦点を合わせる。ゲームの基準は、前述されるゲームステート及びユーザ／プレイヤーの保存データ、プレイヤーによって設定される特定の基準（例えば、最高のエキスパート、５つ星のエキスパートに限る）、エキスパートの可用性などを含む、ゲームコンテキスト情報であることができる。例えば、ゲームの基準を使用して、プレイヤーを、ゲームの基準（例えば、特定の情報の重み付け）に基づいてゲームアプリケーションに関して同様の経験を有するエキスパートと対に、あるいはペアにする。
ゲームの基準は、エキスパートのプールを管理可能なセットにフィルタリングするための閾値情報を含むことができる。例えば、閾値は、最低限の品質基準（例えば、エキスパートの格付け、査定など）、またはゲームアプリケーションのプレイにおけるリーセンシー（recency）、つまり最後にアプリケーションをプレイしてからの経過時間とすることができ、これにより、エキスパートは、すぐに思い出せないと悩むことなく、最新の支援を提供することができる。理想的には、ゲームの基準に基づいて、エキスパートは、すでにゲームのその部分（例えば、プレイヤーが現在プレイしていて支援を必要とする部分）をクリアあるいは勝利しており、理想的には同様のコンフィグレーションでゲームのその部分をクリアあるいは勝利している。
【００３０】
エキスパートは、一般に、エキスパートとして登録した、及び／または資格を取得したプレイヤーである。一実施形態では、任意のプレイヤーは、対応するゲームアプリケーションの一部分を少なくともプレイした後に、エキスパートとして登録することができる。別の実施形態では、プレイヤーは、資格基準に達した後にのみエキスパートとして登録することができる。例えば、資格は、プレイヤーが他のゲームのエキスパートである、またはプレイヤーが対象のゲームアプリケーションを高いスキルでプレイしたときに、またはプレイヤーが資格基準（例えば、資格認定ボス、中間ボス、エンドボスなど）であると識別されるある特定のタスクもしくはクエストを達成したときに、プレイヤーに与えられることができる。他の資格認定方法がサポートされている。プレイヤー／エキスパートのゲームプロファイルジェネレータ１２１は、エキスパートプロファイルを作成して管理するように構成される。エキスパート登録情報及びプロファイル情報は、データベース１４７に格納され得る。
【００３１】
一実施形態では、プレイヤーがそのゲームについてヘルプを要求するときに、その要求は、ヘルプすることができる可能性が最も高い利用可能なエキスパートに送信される。すなわち、エキスパートのプールをフィルタリングして、プレイヤーと同様のゲームコンテキストを有する１セットのエキスパートを決定する。一実施形態では、ヘルプ要求を受諾するフィルタリングされたセットから、第一エキスパートは、支援を提供するエキスパートとして選択される。その場合、プレイヤーと選択されたエキスパートとの間にヘルプセッションを確立する。別の実施形態では、選択されたエキスパートは、ゲームコンテキスト、閾値、格付けなどを含むゲーム基準に基づいて最高のマッチングを有するエキスパートである。ヘルプセッション中に、エキスパートは、ウェブ、モバイル、またはコンソールインタフェースからテキストまたは音声を介してガイダンスを提供することができる。
【００３２】
一実施形態では、プレイヤーをより良く援助するために、エキスパートは、Ｓｈａｒｅ  Ｓｃｒｅｅｎ（またはＳｈａｒｅＳｃｒｅｅｎ）機能などを介して、プレイヤーの画面を観戦することを要求することができる。その後、エキスパートは、プレイヤーのゲームストリーム（例えば、ビデオ）を見て、ゲームプレイ中にガイダンスを提供することができる。共有画面コントローラ１２６を介してヘルプセッションコントローラ１２０と協動してＳｈａｒｅ  Ｓｃｒｅｅｎ機能を管理する。
【００３３】
プレイヤーがエキスパートの支援の有無にかかわらず、所与の目的（例えば、タスク、クエストなど）をプレイヤー自身で完了することができない場合、エキスパートは、一実施形態では、ゲームアプリケーションの制御をエキスパートに移行させるように構成されるＳｈａｒｅ  ＰｌａｙまたはＳｈａｒｅＰｌａｙコンフィグレーションなどで、プレイヤーのコントローラを共有するようプレイヤーに要請することができる。別の場合では、プレイヤーは、ゲームプレイの制御を引き継ぐようにエキスパートに積極的に要求することができる。どちらの場合でも、次ぎに、エキスパートは、ＳｈａｒｅＰｌａｙまたは任意の同様の機能を介してリモートでプレイヤーのゲーム（ゲームプレイなど）を制御することができる。
そのため、エキスパートは、プレイヤーのために目的を完了させることができる。いつでも、制御をプレイヤーに戻すことができる。例えば、プレイヤーは、プレイヤーによってアクティブ化されるときに制御をもう一度プレイヤーに切り替えるマスター位置（例えば、キルスイッチ）を有することができる。一例として、プレイヤーは、エキスパートが合意されたものを越えている（例えば、エキスパートが目的を越えてプレイしている）と判断することができる、またはプレイヤーが別の目的を達成することを希望すると判断することができる。また、いつでも（その間またはその後）エキスパートは常に制御をプレイヤーに戻すことができる。ＳｈａｒｅＰｌａｙ機能は、ヘルプセッションコントローラ１２０と協動して、共有プレイコントローラ１２７を介して管理される。
【００３４】
ゲームプロセッサ２０１は、エキスパートの格付け及び／またはランク付けを格納するように構成される格付けマネージャ１５１を含む。例えば、ヘルプセッションの最後に、プレイヤーは、さまざまなメトリクス（助けになる、親切である、知識があるなど）に沿ってエキスパートのヘルプの品質を格付けすることができる。これらの格付けは、格付けに従って、利用可能な最高品質のヘルプにプレイヤーを接続するために、システムにフィードバックされ得る。
例えば、格付けは、特定のゲームアプリケーションに特有であることができる。一実施形態では、最高品質（例えば、「５つ星のヘルプ」）で格付けされているエキスパートは、デジタルゲーム（無料または有料）、クラウドストレージ、ディスカウント、オンラインマルチプレイヤーゲームなどへのアクセスを提供するＳＯＮＹ  ＰｌａｙＳｔａｔｉｏｎ  Ｐｌｕｓメンバーシップなどのゲームサービスにサブスクリプションを有するプレイヤーにのみ利用可能にされる。資格のあるエキスパートへのサブスクリプションアクセス、ならびにメンバーシップ及び特典の管理は、サブスクリプションヘルプセッションマネージャ１５２によって管理される。
【００３５】
ヘルプセッションマネージャ１５２の別の機能として、高格付けされたエキスパート、つまりレートが高いエキスパートは、ヘルプサービスを通じて独自の「プロフェッショナルヘルプ」ビデオチャネルを有する資格があることができる。そのように、それらの高格付けされたエキスパートは、ヘルプセッション中に彼らのヘルプを収益化する（例えば、サブスクリプションサービスまたは有料サービスを通じて）ことができる。
【００３６】
さらに、各ヘルプセッションを記録し、ヘルプセッションデータベース１４９に格納することができる。例えば、ヘルプセッションコントローラは、対応するヘルプセッションを記録して格納するように構成される。そのため、ライブヘルプセッションのためにプレイヤーをエキスパートに接続する代わりに、プレイヤーは、プレイヤーによって提示される特定のクエリを対象として記録されたヘルプセッションに接続され得る。場合によっては、記録されたヘルプセッションは、任意の利用可能なライブヘルプセッションを上回る高格付け、つまり高いレートを有する。例えば、プレイヤーが以前に遭遇した類似の状況について、ヘルプを求めるときに、それらの状況に支援を提供する記録されたヘルプセッションを返すことができる。これにより、ライブエキスパートが利用可能ではない場合でもヘルプを利用可能にする。また、以下で説明されるように、最高の支援を提供する記録されたヘルプセッションは、ライブヘルプセッションよりも好ましい場合がある。
【００３７】
図７は、本開示の一実施形態による、ゲームアプリケーションの存続期間中のライブヘルプセッションの可用性、及び記録されたヘルプセッションの可用性を示すグラフ７００を示す。特に、ｙ軸は、ゲームアプリケーションの存続期間中の任意の時点で利用可能なエキスパートまたは記録されたセッションの数などの単位量を示す。例えば、ｘ軸は、ゲームアプリケーションのリリースから、リリース日から１４ヶ月を超えるような期間を示す。線７２０は、エキスパートが提供するライブヘルプセッションの可用性を示す。線７１０は、記録されたヘルプセッションの可用性を示し、そこで記録されたヘルプセッションは、プレイヤーのヘルプについてのクエリまたは要求にとって重要である特定のゲームアプリケーションについての支援を提供する。
図示されるように、ゲームアプリケーションの存続期間の早期（０〜７ヶ月）の間、ゲームアプリケーションが比較的新しく、ゲーマーの間でゲームアプリケーションに関心が高いので、ライブヘルプセッションをすぐに利用可能である。ただし、７ヶ月後、プレイヤー及び／またはエキスパートが他のゲームアプリケーションをプレイすることに移ると、ゲームアプリケーションへの関心は着実に衰える。一方、線７１０によって示されるように、記録されたヘルプセッションは７ヶ月の期間のあたりで定常に達することができる。すなわち、線７１０及び７２０は、最初の６ヶ月間、互いに密接してたどり、ライブヘルプ及び記録されたヘルプの可用性がほぼ等しいことを示すことができる。ライブヘルプが減少するにつれて、記録されたヘルプが支援を要求するプレイヤーに提供され得る。
【００３８】
図７の線７１０及び７２０は、可用性の例示的なパターンを示す。例えば、線７１０に示される記録されたヘルプセッションの可用性は、ゲームアプリケーションの存続期間の早期（例えば、０〜６ヶ月）を通して、線７２０に示されるライブヘルプセッションの可用性に意図的に従う場合がある。特に、線７１０に示される記録されたヘルプセッションの数は、ヘルプセッションデータベースフィルタ１５６によって制御され得る。記録されたヘルプセッションは、さまざまな基準に基づいてデータベース１４９から定期的にパージ、あるいは削除され得る。例えば、ヘルプセッションの数が増えると、格付けに基づいてより良い品質のヘルプセッションが記録され得る。そのため、品質の低いヘルプセッションはパージされ得る。さらに、一定期間の後、フィルタ１５６は、特定の数のヘルプセッションのみを保持することができる。
例えば、特定のクエリについて、フィルタ１５６は、そのクエリを対象とする１つまたは２つの記録されたヘルプセッションのみを格納すると決定することができる。そのクエリを対象とする他のヘルプセッションはパージされ得る。そのように、記録されたヘルプセッションのデータベース１４９は、高品質のもの（例えば、支援を提供することに関して）である、限られた量のヘルプセッションを格納するように管理され得る。これは、図７に１０ヶ月を超えて示されるように、記録されたヘルプセッションの数の経時的な減少をもたらすことができる。
さらに、記録されたヘルプセッションの数が管理されるので、データベース１４９の検索はより効率的である。例えば、記録されたヘルプセッションのマッチングエンジン１２４によって行われる検索は、ライブヘルプセッションがマッチングする、または提示される前に、クエリまたはヘルプの要求を記録されたヘルプセッションにマッチングさせる。場合によっては、記録されたヘルプセッションは特定のクエリに対して最高品質の支援を提供し、ライブヘルプセッションは不要になる。その場合、記録されたヘルプへの接続は、より効率的である。
【００３９】
これらの記録されたヘルプセッションは、ヘルプセッションタガー１５４を使用して、特定のクエリに関連する情報によってタグ付けされ得る。そのようにして、記録されたヘルプセッションにタグ付けすることができるため、対応するクエリとヘルプセッションとの間のマッチングを決定することができる。例えば、クエリがプレイヤーによって提示されるときに、ヘルプセッションデータベース１４９内の適切なタグを検索する（例えば、関連クエリを識別する）ことにより、そのクエリに直接支援を提供することができる記録されたヘルプセッションをみつけることができる。
【００４０】
ゲームプロセッサ２０１は、プレイヤーを誘導してエキスパートとして登録するように構成されるエキスパートインセンティブエンジン１５３を含む。エキスパートは、ヘルプセッションに参加するためにいくらかのインセンティブを必要とする場合がある。インセンティブは、前述の資格とは異なることができる。資格のあるプレイヤーのみをエキスパートとして登録することができるように資格基準を設定することができる。ただし、プレイヤーが資格を得ても、そのプレイヤーが登録するという保証はない。インセンティブは、エキスパートとして登録するプレイヤーに奨励を提供することができる。例えば、報奨金を登録されたエキスパートに与えることができる。
これらの報奨金は、さまざまな形式で手に入ることができる。ある場合には、報奨金は、エキスパートだけに利用可能にされるゲームアプリケーションの特定の部分のリリースであることができる。リリースは、登録されたエキスパートだけに利用可能にされる、オブジェクト、またはゲームの領域、または特定のタスク、または特定のクエストであることができる。例えば、リリースは、ダウンロード可能なコンテンツ（ＤＬＣ）の形式で手に入ることができる。さらに、報奨金は、トロフィーまたはエキスパートポイントの形式で手に入ることができ、どちらも他のエキスパートとの比較として使用され得る。例えば、２人のフレンド間で、誰がより多くのエキスパートポイント、またはより多くのトロフィーを持っているかがわかり、競争が発生することもある。
【００４１】
ゲームプロセッサ２０１は、スポイラー警告コントローラ１５０を含む。ライブヘルプセッション中に、エキスパートが支援を提供するときに過度に多くのことを明らかにしてしまうおそれがある。すなわち、エキスパートは、プレイヤーにとってゲームのネタバレとなる情報、あるいはスポイル情報を明らかにする場合がある。通常、プレイヤーは、スポイル情報の条件を備える関連情報を認識していない。ネタバレあるいはスポイルの例としては、プレイヤーがレベルのまだ途中であるのにレベルの最後に発生するボスの名前、レベルまたはゲームアプリケーション全体の最終目標であるオブジェクト、ゲーム環境内の地名、クエスト名、オブジェクト名、またはまだ遭遇していないキャラクターなどが挙げられる。スポイラー警告コントローラ１５０は、「オン」のときにプレイヤーがスポイル情報を気にすることをエキスパートに通知し、「オフ」のときにスポイル情報が公開されてもプレイヤーがあまり気にせず、おそらく気にしないことをエキスパートに通知する、トグル機能を管理することができる。
スポイラー警告コントローラ１５０は、キーワード識別などを通じて、スポイル情報を自動的に検出するように構成され得る。キーワードは、データベース１４８に格納され得る。キーワードの識別時に、その情報を、プレイヤーへの提示前にマスキングすること（例えば、テキストをマスキングする、または関連するオーディオをミュートすることなど）ができる。マスキングを可能にするために、わずかな時間遅延が導入される場合がある。さらに、スポイラー警告コントローラ１５０は、スポイラー警告などの形式で、エキスパートがスポイル情報を明らかにしようとしていることをプレイヤーに通知することができる。次に、プレイヤーは、情報を公開する、または情報の公開を拒否する、認可を与えるような、追加の命令を提供することができる。
【００４２】
ゲームプロセッサ２０１は、記録されたヘルプセッションのハイライトリールを生成するように構成されるヘルプセッションハイライトジェネレータ１５５を含む。ハイライトは、記録されたヘルプセッションに提示されるように、ゲームプレイ内の１つ以上のオブジェクト（例えば、キャラクター）のアクティブモーションによって識別され得る。非アクティブ期間は、重要な支援が提供されていないことを示すことができる。記録されたヘルプセッションのハイライトリール及び完全版の両方をデータベース１４９に格納することができる。
その記録されたヘルプセッションを、後日プレイヤーによって行われるクエリに応答して選択するときに、記録されたヘルプセッションのハイライトリールを要求しているプレイヤーに最初に提示することができる。要求される場合、完全版も提示することができる。一実施形態では、要求されることを期待してハイライトリールが再生されている間に完全版がダウンロードされる。そのように、要求に応じて完全版をすぐに再生することができる。別の実施形態では、ハイライトリールを提示するオプションとともに完全版を最初に提示する。例えば、最も適切なセクション（例えば、支援が与えられているセクション）が７分のヘルプセッション中の２分に始まるという通知から完全版を始めることができる。その時点で、要求するプレイヤーにハイライトリールを再生するオプションを提示することができる。
【００４３】
一実施形態において、ヘルプセッションは、表示及びインタラクション用にデバイス１１（例えば、タブレット）に配信されることができ、そこでデバイス１１は、ユーザ５のインタラクションのためにゲームアプリケーションを実行する、及び／またはこのゲームアプリケーションの実行をサポートするように構成されるクライアントデバイス１００とは別個のものであってよい。例えば、第一通信チャネルは、ゲームサーバ２０５とクライアントデバイス１００との間に確立されることができ、別個の、第二通信チャネルは、ゲームサーバ２０５とデバイス１１との間に確立され、ヘルプセッションを配信することができる。
【００４４】
図１Ｂは、通信セッションを介してプレイヤーをエキスパートに接続するなどのヘルプセッションを通じて、または記録されたヘルプセッションを提供することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステム１０６Ｂを示し、ゲームアプリケーションは、対応するプレイヤーに対してローカルに実行し、バックエンドサーバサポート（例えば、ゲームサーバ２０５を介してアクセス可能な）は、ヘルプセッションの確立及び管理を実装することができる。一実施形態では、システム１０６Ｂは、図１Ａのシステム１０、及び図２のシステム２００と協動して機能し、図１Ａで前述したように、ゲームクラウドシステム２１０においてヘルプセッションコントローラ１２０を介して、ライブまたは記録されたヘルプセッションを通じてプレイヤーにリアルタイム支援を提供する。ここで図面を参照して、同様の参照番号は、同一の、または対応する部分を示す。
【００４５】
図１Ｂに示されるように、複数のプレイヤー１１５（例えば、プレイヤー５Ａ、プレイヤー５Ｂ．．．プレイヤー５Ｎ）は、複数のゲームアプリケーションをプレイし、そこで各ゲームアプリケーションは、対応するユーザの対応するクライアントデバイス１００（例えば、ゲームコンソール）上でローカルに実行される。複数のプレイヤー１１５のうちの少なくとも１人は、エキスパート１９０である。システム１０６Ｂは、ある期間にわたるような１つ以上の時点で複数のプレイヤー１１５によるゲームプレイをサポートする。さらに、複数のプレイヤー１１５のそれぞれは、前述したように、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する情報を受信するように構成される、以前に導入されたデバイス１１へのアクセスを有する。
各クライアントデバイス１００は、対応するゲームアプリケーションのローカルな実行が行われるという点で、同様に構成され得る。例えば、プレイヤー５Ａは、対応するクライアントデバイス１００上で第一ゲームアプリケーションをプレイしていることができ、そこで第一ゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１により実行される。第一ゲームアプリケーションを実装するゲームロジック１２６Ａ（例えば、実行可能なコード）は、対応するクライアントデバイス１００に格納され、第一ゲームアプリケーションを実行するために使用される。例示目的のために、ゲームロジックは、対応するクライアントデバイス１００へ、ポータブルメディア（例えば、フラッシュドライブ、コンパクトディスクなど）を介して、またはネットワークを介して配信される（例えば、インターネット１５０を介してゲームプロバイダからダウンロードされる）ことができる。
加えて、プレイヤー５Ｂは、対応するクライアントデバイス１００上で第二ゲームアプリケーションをプレイし、そこで第二ゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１により実行される。第二ゲームアプリケーションは、プレイヤー５Ａについて実行する第一ゲームアプリケーションと同一である、または異なるゲームアプリケーションであることができる。第二ゲームアプリケーションを実装するゲームロジック１２６Ｂ（例えば、実行可能なコード）は、前述されるように対応するクライアントデバイス１００上に格納され、第二ゲームアプリケーションを実行するために使用される。
さらに、プレイヤー１１５Ｎは、対応するクライアントデバイス１００上で第Ｎゲームアプリケーションをプレイし、そこで第Ｎゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン１１１により実行される。第Ｎゲームアプリケーションは、第一もしくは第二ゲームアプリケーションと同一であることができる、または完全に異なるゲームアプリケーションであることができる。第三ゲームアプリケーションを実装するゲームロジック１２６Ｎ（例えば、実行可能なコード）は、前述されるように対応するクライアントデバイス１００に格納され、第Ｎゲームアプリケーションを実行するために使用される。
【００４６】
さらに、あるポイントでエキスパート１９０は、システム１０６Ｂで少なくとも１つのゲームアプリケーションをプレイしている場合があり、エキスパートとして登録されている。例えば、エキスパートは、前述したように、ゲームロジック１２６Ｘ及びゲームタイトル実行エンジン１１１を有するクライアントデバイス１００の協動により、対応するゲームアプリケーションをプレイしていることができる。そのようにして、システム１０６Ｂでゲームアプリケーションを現在プレイしているプレイヤーは、前述されるようにヘルプセッションコントローラ１２０を介して要求し、エキスパート１９０と接続されることができ、このエキスパートは、選択されるときに、要求するプレイヤーのゲームプレイについての支援を提供することができる。支援を提供するときに、エキスパート１９０は、クライアントデバイス１００によってサポートされる必要はないことができ、デバイス１１（例えば、スマートフォン）またはＨＭＤ１０２などの任意のデバイスを使用して対応するヘルプセッションに参加することができる。
【００４７】
前述したように、クライアントデバイス１００は、ゲームコントローラ、タブレットコンピュータ、キーボード、ビデオカメラによりキャプチャされるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス１００は、ネットワーク１５０経由でゲームサーバ２０５に接続することが可能である少なくとも１つのメモリ、及び１つのプロセッサモジュールを含む、任意のタイプのコンピューティングデバイスであることができる。
また、対応するプレイヤーのクライアントデバイス１００は、ローカルに、またはリモートに実行するゲームタイトル実行エンジン１１１により実行される、レンダリングされた画像を生成するために、そしてディスプレイにレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、プレイヤー５Ａのクライアントデバイス１００で実行する第一ゲームアプリケーションのインスタンスと関連付けられることができる。例えば、対応するクライアントデバイス１００は、ゲームプレイを駆動するために使用される入力コマンドなどを介して、対応するプレイヤーのゲームプレイを実装するためにローカルで、またはリモートで実行されるような対応するゲームアプリケーションのインスタンスとインタラクトするように構成される。
【００４８】
一実施形態において、クライアントデバイス１００は、ゲームアプリケーションをプレイしている、対応するプレイヤーについてシングルプレイヤーモードで動作している。ゲームサーバ２０５を介してバックエンドサーバサポートは、本開示の一実施形態に従い、以下に説明されるように、対応するプレイヤーのゲームプレイをサポートする支援、例えば、支援を提供するエキスパートに関するライブまたは記録されたヘルプセッションにプレイヤーを接続する支援を提供することができる。
【００４９】
他の実施形態では、複数のクライアントデバイス１００は、特定のゲームアプリケーションを各プレイする、対応するプレイヤーについてマルチプレイヤーモードで動作する。その事例において、ゲームサーバを介してバックエンドサーバサポートは、マルチプレイヤー処理エンジン１１９などを介して、マルチプレイヤー機能性を提供することができる。特に、マルチプレイヤー処理エンジン１１９は、特定のゲームアプリケーションについてマルチプレイヤーゲームセッションを制御するために構成される。
例えば、マルチプレイヤー処理エンジン１３０は、マルチプレイヤーセッションコントローラ１１６と通信し、これは、マルチプレイヤーゲームセッションに参加するユーザ及び／またはプレイヤーのそれぞれとの通信セッションを確立し、維持するように構成される。そのように、セッション中のプレイヤーは、マルチプレイヤーセッションコントローラ１１６により制御されるように、相互に通信することが可能である。
【００５０】
さらに、マルチプレイヤー処理エンジン１１９は、各ユーザの対応するゲーム環境内でユーザ間のインタラクションを可能にするために、マルチプレイヤーロジック１１８と通信する。特に、ステート共有モジュール１１７は、マルチプレイヤーゲームセッションにおいて各ユーザについてのステートを管理するように構成される。例えば、ステートデータは、特定のポイントにおいて対応するユーザについてのゲームプレイの（ゲームアプリケーションの）ステートを定義するゲームステートデータを含むことができる。例えば、ゲームステートデータは、ゲームキャラクター、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイなどを含むことができる。
その方式において、ゲームステートデータは、ゲームアプリケーション内の対応するポイントに存在するゲーム環境の生成を可能にする。またゲームステートデータは、ＣＰＵ、ＧＰＵ、メモリ、レジスタ値、プログラムカウンタ値、プログラマブルＤＭＡステート、ＤＭＡについてバッファリングされたデータ、オーディオチップステート、ＣＤ−ＲＯＭステートなどのステートのような、ゲームプレイをレンダリングするために使用されるあらゆるデバイスのステートを含むことができる。またゲームステートデータは、実行可能なコードのどの部分がそのポイントからビデオゲームを実行するためにロードされる必要があるかを識別することができる。ゲームステートデータは、図１Ａ及び図２のデータベース１４０内に格納されることができ、ステート共有モジュール１１７によりアクセス可能である。
【００５１】
さらに、ステートデータは、対応するプレイヤーについてビデオゲームをパーソナライズする情報を含むユーザ保存データを含むことができる。これは、ユーザによりプレイされるキャラクターと関連する情報を含むため、ビデオゲームは、そのユーザへ一意であることができるキャラクター（例えば、位置、体型、外観、衣服、武器など）によってレンダリングされる。その方式において、ユーザ保存データは、対応するユーザのゲームプレイについてキャラクターの生成を可能にし、このキャラクターは、対応するユーザが現在経験しているゲームアプリケーション内のポイントに対応するステートを有する。例えば、ユーザ保存データは、対応するユーザ１１５Ａがゲームをプレイするときに選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値などを含むことができる。また、ユーザ保存データは、例えば、対応するユーザ１１５Ａを識別するユーザプロファイルデータを含むことができる。ユーザ保存データをデータベース１４０に格納することができる。
【００５２】
その方式において、ステート共有データ１１７及びマルチプレイヤーロジック１１８を使用してマルチプレイヤー処理エンジン１１９は、マルチプレイヤーゲームセッションに参加するユーザの各ゲーム環境内にオブジェクト及びキャラクターをオーバーレイ／挿入することが可能である。例えば、第一ユーザのキャラクターを第二ユーザのゲーム環境内へオーバーレイする／挿入する。これは、マルチプレイヤーゲームセッションにおけるユーザ間のインタラクションを、彼らの各ゲーム環境のそれぞれを介して（例えば、画面上に表示されるように）可能にする。
【００５３】
さらに、ゲームサーバ２０５を介してバックエンドサーバサポートは、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供することを含むサポートサービスを提供することができる。以前に導入されたように、ヘルプセッションコントローラ１２０は、支援を提供する１つ以上のヘルプセッションを確立して管理するように構成される。例えば、コントローラ１２０は、ヘルプセッションをサポートするために確立される通信セッションを介して、要求するプレイヤーをエキスパートに接続するように構成される。ヘルプセッションは、ライブ支援を提供するエキスパートとのライブであることができる、またはヘルプセッションは、事前に記録され得る。
【００５４】
図１Ｃは、本開示の一実施形態による、クラウドゲームネットワークを介して実行されるようなゲームアプリケーションをプレイする複数のプレイヤー１１５（例えば、プレイヤー５Ｌ、５Ｍ．．．５Ｚ）にゲーム制御を提供するシステム１０６Ｃを示す。いくつかの実施形態において、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン（ＶＭ）を含むゲームクラウドシステム２１０であることができ、１つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。一実施形態では、システム１０６Ｃは、図１Ａのシステム１０、及び／または図２のシステム２００と連動して機能し、通信セッションを介してプレイヤーをエキスパートに接続するようなヘルプセッションを通じて、または記録されたヘルプセッションを提供することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する。ここで図面を参照するが、図面において同様の参照番号は、同一の、または対応する部分を示す。
【００５５】
図示されるように、ゲームクラウドシステム２１０は、複数のインタラクティブビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームサーバ２０５を含む。ゲームサーバ２０５は、クラウド内で利用可能である、任意のタイプのサーバコンピューティングデバイスであることができ、１つ以上のホスト上で実行する１つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ２０５は、ユーザについてのゲームアプリケーションのインスタンスをインスタンス化するゲームプロセッサをサポートする仮想マシンを管理することができる。そのため、複数の仮想マシンと関連するゲームサーバ２０５の複数のゲームプロセッサは、複数のユーザ１１５のゲームプレイと関連するゲームアプリケーションの複数のインスタンスを実行するように構成される。そのように、バックエンドサーバサポートは、複数のゲームアプリケーションのゲームプレイの媒体（例えば、ビデオ、オーディオなど）のストリーミングを複数の対応するユーザに提供する。
【００５６】
複数のプレイヤー１１５は、ネットワーク１５０を介してゲームクラウドシステム２１０にアクセスし、そこでプレイヤー（例えば、プレイヤー５Ｌ、５Ｍ．．．５Ｚ）は、対応するクライアントデバイス１００’を介してネットワーク１５０にアクセスし、そこでクライアントデバイス１００’は、図１Ａから１Ｂのクライアントデバイス１００（例えば、ゲーム実行エンジン１１１などを含む）と同様に構成され得る、または計算機能（例えば、ゲーム実行エンジン２１１を含む）を提供するバックエンドサーバとインタフェースすることを提供するシンクライアントとして構成され得る。さらに、複数のプレイヤー１１５のそれぞれは、前述したように、通信セッションを介して、または記録されたヘルプセッションに接続することによって、プレイヤーをエキスパートに接続するヘルプセッションを容易にするように構成される、以前に導入されたデバイス１１へのアクセスを有する。
特に、対応するプレイヤー５Ｌのクライアントデバイス１００’は、インターネットなどのネットワーク１５０経由でゲームアプリケーションへのアクセスを要求するように、そしてゲームサーバ２０５により実行され、対応するプレイヤー５Ｌと関連する表示装置に配信される、ゲームアプリケーション（例えば、ビデオゲーム）のインスタンスをレンダリングするように構成される。例えば、プレイヤー５Ｌは、クライアントデバイス１００’を介して、ゲームサーバ２０５のゲームプロセッサ上で実行するゲームアプリケーションのインスタンスとインタラクトすることができる。さらに特に、ゲームアプリケーションのインスタンスは、ゲームタイトル実行エンジン２１１により実行される。ゲームアプリケーションを実装するゲームロジック（例えば、実行可能なコード）は、前述される、データストア１４０を介して格納され、アクセス可能であり、ゲームアプリケーションを実行するために使用される。ゲームタイトル処理エンジン２１１は、示されるように、複数のゲームロジック１７７を使用して複数のゲームアプリケーションをサポートすることが可能である。
【００５７】
さらに、あるポイントでエキスパート１９０’は、システム１０６Ｂで少なくとも１つのゲームアプリケーションをプレイしている場合があり、エキスパートとして登録されている。例えば、エキスパート１９０’は、前述したように、クライアントデバイス１００’の協動により対応するゲームアプリケーションをプレイしていることができる。そのようにして、システム１０６Ｃでゲームアプリケーションを現在プレイしているプレイヤーは、前述されるようにヘルプセッションコントローラ１２０を介して要求してもよく、エキスパート１９０’と接続されることができ、このエキスパート１９０′は、選択されるときに要求するプレイヤーのゲームプレイについての支援を提供することができる。支援を提供するときに、エキスパート１９０’は、クライアントデバイス１００’によってサポートされる必要はなくてよく、デバイス１１（例えば、スマートフォン）またはＨＭＤ１０２などの任意のデバイスを使用して対応するヘルプセッションに参加することができる。
【００５８】
前述したように、クライアントデバイス１００’は、ゲームコントローラ、タブレットコンピュータ、キーボード、ビデオカメラにより捕捉されるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス１００’は、ネットワーク１５０経由でゲームサーバ２０５に接続することが可能である少なくともメモリ及びプロセッサモジュールを含む、任意のタイプのコンピューティングデバイスであることが可能である。
また、対応するプレイヤーのクライアントデバイス１００’は、ローカルに、またはリモートに実行するゲームタイトル実行エンジン２１１により実行される、レンダリングされた画像を生成するように、そしてディスプレイにレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、プレイヤー５Ｌのクライアントデバイス１００’上で実行する第一ゲームアプリケーションのインスタンスと関連付けられることができる。例えば、対応するクライアントデバイス１００’は、ゲームプレイを駆動するために使用される入力コマンドなどを介して、対応するプレイヤーのゲームプレイを実装するためにローカルに、またはリモートに実行されるような対応するゲームアプリケーションのインスタンスとインタラクトするように構成される。
【００５９】
他の実施形態において、前述される、マルチプレイヤー処理エンジン１１９は、ゲームアプリケーションについてマルチプレイヤーゲームセッションを制御することを提供する。特に、マルチプレイヤー処理エンジン１１９がマルチプレイヤーゲームセッションを管理するときに、マルチプレイヤーセッションコントローラ１１６は、マルチプレイヤーセッション内のユーザ及び／またはプレイヤーのそれぞれとの通信セッションを確立し、維持するように構成される。そのように、セッション中のプレイヤーは、マルチプレイヤーセッションコントローラ１１６により制御されるように、相互に通信することが可能である。
【００６０】
さらに、マルチプレイヤー処理エンジン１１９は、各プレイヤーの対応するゲーム環境内でプレイヤー間のインタラクションを可能にするために、マルチプレイヤーロジック１１８と通信する。特に、ステート共有モジュール１１７は、マルチプレイヤーゲームセッションにおいて各プレイヤーについてのステートを管理するように構成される。例えば、ステートデータは、前述したように、特定のポイントで対応するプレイヤー１１５Ａについてのゲームプレイの（ゲームアプリケーションの）ステートを定義するゲームステートデータを含むことができる。
さらに、前述したように、ステートデータは、対応するプレイヤーについてビデオゲームをパーソナライズする情報を含むユーザ／プレイヤーの保存データを含むことができる。例えば、ステートデータは、ビデオゲームが、そのユーザに一意であることができるキャラクター（例えば、体型、外観、衣服、武器など）によってレンダリングされるように、ユーザのキャラクターと関連する情報を含む。その方式において、ステート共有データ１１７及びマルチプレイヤーロジック１１８を使用してマルチプレイヤー処理エンジン１１９は、マルチプレイヤーゲームセッションに参加するユーザの各ゲーム環境内にオブジェクト及びキャラクターをオーバーレイ／挿入することが可能である。これは、マルチプレイヤーゲームセッションにおけるユーザ間のインタラクションを、彼らの各ゲーム環境のそれぞれを介して（例えば、画面上に表示されるように）可能にする。
【００６１】
さらに、ゲームサーバ２０５を介してバックエンドサーバサポートは、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供することを含むサポートサービスを提供することができる。以前に導入されたように、ヘルプセッションコントローラ１２０は、支援を提供する１つ以上のヘルプセッションを確立して管理するように構成される。例えば、コントローラ１２０は、ヘルプセッションをサポートするために確立される通信セッションを介して、要求するプレイヤーをエキスパートに接続するように構成される。ヘルプセッションは、ライブ支援を提供するエキスパートとのライブで行うこともできれば、ヘルプセッションを、事前に記録することもできる。
【００６２】
図２は、本開示の実施形態に従い、ゲームクラウドシステム（ＧＣＳ）２１０に格納されるゲームアプリケーションへのアクセス及びプレイを可能にするシステム図２００を示す。概して、ゲームクラウドシステムＧＣＳ２１０は、ネットワーク２２０経由で動作するクラウドコンピューティングシステムであり、複数のユーザをサポートすることができる。さらに、ＧＣＳ２１０は、ライブヘルプセッションをサポートする通信セッションを介してプレイヤーをエキスパートに接続することによって、またはプレイヤーを記録されたヘルプセッションに接続することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するように構成される。
例えば、ヘルプセッションコントローラ１２０は、ヘルプセッションを確立して管理するように構成される。さらに、ヘルプセッションコントローラ１２０の協動により、通信セッションコントローラは、１つ以上のヘルプセッションを介してプレイヤーとエキスパートとの間の通信セッションを生成して管理するように構成される。また、ＧＣＳ２１０は、ヘルプを要求するプレイヤーを、支援を提供するのに最も適しているエキスパートにマッチングさせるために使用されるゲームコンテキスト情報をキャプチャして保存するように構成される。
例えば、エキスパートは、同じ武器またはアセットセットを備える同じタイプのキャラクターを使用して、ゲームアプリケーションの同じセクションを最近プレイした場合がある。一実施形態では、ゲームコンテキストは、前述したように、ゲームプレイ中に生成されるスナップショットに基づいてキャプチャされる。例えば、スナップショットジェネレータ２１２は、１つ以上のゲームアプリケーションをプレイする１人以上のユーザのゲームプレイのスナップショットを生成する、及び／またはキャプチャするように構成され得る。１つ以上のユーザデバイスは、ネットワーク２２０に接続されることができ、ＧＣＳ２１０及びソーシャルメディアプロバイダ２４０により提供されるサービスにプレイヤーがアクセスすることができる。
【００６３】
一実施形態において、ゲームクラウドシステム２１０は、ゲームサーバ２０５、ビデオレコーダ２７１、タグプロセッサ２７３、及びユーザプロファイルマネージャを含むアカウントマネージャ２７４、ゲーム選択エンジン２７５、ゲームセッションマネージャ２８５、ユーザアクセスロジック２８０、ネットワークインタフェース２９０、ならびにソーシャルメディアマネージャ２９５を含む。ＧＣＳ２１０は、一般的にデータストア１４０に格納され得る、ゲームステートストア、ランダムシードストア、ユーザ保存データストア、スナップショットストアなどの複数のゲームストレージシステムをさらに含むことができる。
他のゲームストレージシステムは、ゲームコードストア２６１、記録されたゲームストア２６２、タグデータストア２６３、ビデオゲームデータストア２６４、及びゲームネットワークユーザストア２６５を含むことができる。一実施形態において、ＧＣＳ２１０は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、ならびにシステム、アプリケーション、ユーザ、及びソーシャルネットワーク間の相互接続性を提供することができるシステムである。ＧＣＳ２１０は、ネットワークインタフェース２９０を介してソーシャルメディアマネージャ２９５を介してユーザデバイス２３０及びソーシャルメディアプロバイダ２４０と通信することができる。ソーシャルメディアマネージャ２９５は、１人以上のフレンドを関連付けるように構成され得る。一実施形態において、各ソーシャルメディアプロバイダ２４０は、ユーザソーシャルネットワーク接続を示す少なくとも１つのソーシャルグラフ２４５を含む。
【００６４】
ユーザ／プレイヤー５は、ゲームセッションマネージャ２８５を介してＧＣＳ２１０によって提供されるサービスにアクセスすることができる。例えば、アカウントマネージャ２７４は、ＧＣＳ２１０へのプレイヤー５による認証及びアクセスを可能にする。アカウントマネージャ２７４は、メンバープレイヤーについての情報を格納する。例えば、各メンバーユーザについてのユーザプロファイルは、アカウントマネージャ２７４により管理され得る。その方式において、アカウントマネージャ２７４は、メンバー情報を、認証目的のために使用されることが可能である。例えば、アカウントマネージャ２７４を使用して、メンバーユーザ／プレイヤーに関連するユーザ情報を更新し、管理することができる。加えて、メンバープレイヤーにより所有されるゲームタイトルは、アカウントマネージャ２７４により管理され得る。そのように、これらのゲームアプリケーションを所有する任意のメンバープレイヤーに、データストア２６４内に格納されるゲームアプリケーションを利用可能にする。
【００６５】
一実施形態において、ユーザ、例えば、プレイヤー５は、ネットワーク２２０経由の接続を通じてユーザデバイス２３０としてＧＣＳ２１０及びソーシャルメディアプロバイダ２４０により提供されるサービスにアクセスすることが可能である。ユーザデバイス２３０は、有線の、または無線の、ポータブルの、またはポータブルではない、プロセッサ及びメモリを含む任意のタイプのデバイスを含むことが可能である。一実施形態において、ユーザデバイス２３０は、スマートフォン、タブレットコンピュータ、またはポータブルフォームファクタにタッチスクリーン機能を提供するハイブリッドの形態にあることができる。１つの例示的なデバイスは、オペレーティングシステムを実行し、ネットワーク２２０経由で取得されることができ、またローカルポータブルデバイス（例えば、スマートフォン、タブレット、ラップトップ、デスクトップなど）で実行され得るさまざまなアプリケーション（アプリ）へのアクセスを備える携帯電話機を含むことが可能である。
【００６６】
ユーザデバイス２３０は、プレイヤー５のためのインタフェースとして機能し、入力コマンド２３６を送信し、ＧＣＳ２１０及びソーシャルメディアプロバイダ２４０から受信されるデータ及び／または情報２３５を表示するディスプレイ２３２を含む。ディスプレイ２３２は、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、またはディスプレイをレンダリングすることが可能である他のデバイスにより一般に提供されるタッチスクリーン、またはディスプレイとして構成されることが可能である。これに代えて、ユーザデバイス２３０は、デスクトップコンピュータまたはラップトップコンピュータに類似する、デバイスとは別のそのディスプレイ２３２を含むことも可能である。追加のデバイス２３１（例えば、図１Ａのデバイス１１）は、プレイヤーのゲームプレイのサポートにリアルタイム支援を提供する目的で、プレイヤー５に利用可能である場合がある。
【００６７】
一実施形態において、ユーザデバイス１３０は、ＧＣＳ２１０と通信し、プレイヤー５がゲームアプリケーションをプレイすることを可能にするように構成される。いくつかの実施形態において、ＧＣＳ２１０は、ホストマシンのハイパーバイザ上で動作する複数の仮想マシン（ＶＭ）を含むことができ、１つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。例えば、プレイヤー５は、ゲーム選択エンジン２７５を介してビデオゲームデータストア２６４に利用可能であるゲームアプリケーションを選択する（例えば、ゲームタイトルなどにより）ことができる。
ゲームアプリケーションをシングルプレイヤーゲーム環境内で、またはマルチプレイヤーゲーム環境内でプレイすることができる。その方式において、選択されたゲームアプリケーションは、ＧＣＳ２１０上でゲームサーバ２０５による実行のために有効にされ、ロードされる。一実施形態において、ユーザデバイス２３０がＧＣＳ２１０からゲームビデオフレーム２３５のストリームを受信するように、ゲームプレイは、主にＧＣＳ２１０において実行され、ゲームプレイを駆動するためのユーザ入力コマンド２３６は、ＧＣＳ２１０に返送される。ストリーミングゲームプレイから受信したビデオフレーム２３５をユーザデバイス２３０のディスプレイ２３２に示す。
他の実施形態において、ＧＣＳ２１０は、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、そこで各ローカルコンピューティングデバイスは、シングルプレイヤーゲームアプリケーションまたはマルチプレイヤーゲームアプリケーションなどの、ゲームアプリケーションのインスタンスを実行することができる。例えば、マルチプレイヤーゲーム環境において、ゲームアプリケーションは、ローカルに実行しながら、同時にクラウドゲームネットワークは、各ローカルコンピューティングデバイスから情報（例えば、ゲームステートデータ）を受信し、ローカルコンピューティングデバイスのうちの１つ以上の全体を通してその情報を適宜に配信するので、各ユーザは、マルチプレイヤーゲームアプリケーションのゲーム環境内で他のユーザ（例えば、ビデオゲーム内の対応するキャラクターを通して）とインタラクトすることが可能である。その方式において、クラウドゲームネットワークは、マルチプレイヤーゲーム環境内の各ユーザについてのゲームプレイを調整し、組み合わせる。
【００６８】
一実施形態において、プレイヤー５がプレイするために利用可能なゲームタイトルを選択した後に、選択されたゲームタイトルについてのゲームセッションは、ユーザＵ０によりゲームセッションマネージャ２８５を介して開始され得る。最初に、ゲームセッションマネージャ２８５は、データストア１４０内のゲームステートストアにアクセスし、もしあれば、ユーザＵ０によりプレイされた最後のセッションの保存されたゲームステート（選択されたゲームについての）を取得するため、プレイヤー５は、前のゲームプレイの停止ポイントからゲームプレイを再開することが可能である。
再開または開始ポイントを識別すると、ゲームセッションマネージャ２８５は、ゲームプロセッサ２０１内のゲーム実行エンジンに通知し、ゲームコードストア２６１から選択されたゲームタイトルのゲームコードを実行することができる。ゲームセッションを開始した後に、ゲームセッションマネージャ２８５は、ネットワークインタフェース２９０を介してユーザデバイス、例えば、ユーザデバイス２３０へゲームビデオフレーム２３５（すなわち、ストリーミングビデオデータ）を渡すことができる。
【００６９】
ゲームプレイ中に、ゲームセッションマネージャ２８５は、ゲームプロセッサ２０１、記録エンジン２７１、及びタグプロセッサ２７３と通信し、ゲームプレイまたはゲームプレイセッションの記録（例えば、ビデオ）を生成する、または保存することができる。一実施形態において、ゲームプレイのビデオ記録は、ゲームプレイ中に入力される、または提供されるタグコンテンツ、及び他のゲーム関連メタデータを含むことが可能である。またタグコンテンツは、スナップショットを介して保存され得る。ゲームプレイのビデオ記録は、そのゲームプレイに対応する任意のゲームメトリックとともに、記録されたゲームストア２６２内に保存され得る。任意のタグコンテンツをタグデータストア２６３内に保存することができる。
【００７０】
ゲームプレイ中に、ゲームセッションマネージャ２８５は、ゲームサーバ２０５のゲームプロセッサ２０１と通信し、ゲームアプリケーションの対応するゲームプレイの結果に影響を与えるために使用されるユーザ入力コマンド２３６を配信し、取得することができる。プレイヤー５により入力される入力コマンド２３６は、ユーザデバイス２３０からＧＣＳ２１０のゲームセッションマネージャ２８５に送信され得る。入力コマンド２３６は、ゲームプレイを駆動するために使用される入力コマンドを含み、タグコンテンツ（例えば、テキスト、画像、ビデオ記録クリップなど）を含むような、ユーザインタラクティブ入力を含むことができる。ゲーム入力コマンドは、任意のユーザプレイメトリック（ユーザがゲームをどのくらいプレイしているかなど）と同様に、ゲームネットワークのユーザストアに格納され得る。ゲームアプリケーションについてのゲームプレイに関連する選択情報を使用して、ユーザに利用可能であることができる複数の特徴を有効にすることができる。
【００７１】
ゲームプレイが複数のユーザによりＧＣＳ２１０上で実行されるため、これらのゲームプレイから生成され、格納される情報は、特にゲームプレイをＧＣＳ２１０経由で実行するときに、任意の要求するユーザが他のユーザのゲームプレイを経験することを可能にする。特に、ＧＣＳ２１０のスナップショットジェネレータ２１２は、ＧＣＳ２１０を介してゲームアプリケーションをプレイするユーザのゲームプレイにより生成されるスナップショットを保存するように構成される。プレイヤー５の場合に、ユーザデバイスは、プレイヤー５がゲームプレイ中にゲームアプリケーションと関わることを可能にするインタフェースを提供する。ユーザＵ０によるゲームプレイのスナップショットを生成し、ＧＣＳ２１０に保存する。スナップショットジェネレータ２１２は、図２に示されるようなゲームサーバ２０５の外部で実行することができる、またはゲームサーバ２０５の内部で実行することができる。
【００７２】
さらに、プレイヤー及びエキスパートのゲームプレイから収集される情報を使用して、プレイヤーがヘルプを要求するときに、プレイヤーをエキスパートにマッチングさせることができる。そのように、エキスパートは、プレイヤーが経験する特定のゲームコンテキストを与えられるプレイヤーに最もよく支援を提供することができ、そこでエキスパートはエキスパートのプールから選択される。例えば、選択されたエキスパートは、同じゲームアプリケーションを、同じキャラクターを使用して、同じアセット（例えば、武器など）を使用して、ほぼ同じスキルなどを使用してプレイした場合がある。加えて、エキスパートは、同じレベルで最近プレイした場合があるため、ゲームアプリケーションがエキスパートの心の中では記憶に新しい。エキスパートがゲームアプリケーションを最近プレイしたため、これにより、エキスパートがいかなるスポイラー情報も経験する機会がなかった可能性があるので、エキスパートがいかなるスポイラーも明らかにする機会が少ない可能性がある。
【００７３】
実施形態では、ヘルプセッションは、ヘルプセッションの通信セッション（例えば、音声、テキスト、ビデオなど）を確立するために、ネットワーク２２０を介してユーザデバイス２３１またはユーザデバイス２３０に配信され得る。例えば、ヘルプセッションは、ユーザデバイス２３０（例えば、ゲームコンソールまたはクライアントデバイスに接続されるディスプレイ）に提示されてもよい。別の例では、ヘルプセッションは、通信セッションを確立する（例えば、テキスト、オーディオ、ビデオなどを提供する）際に使用されるユーザデバイス２３１に提示されてもよい。ユーザデバイス２３１は、ヘルプセッション中にエキスパートによって使用されるデバイスなどのモバイルデバイス（例えば、スマートフォン）であることができる。その場合、エキスパートがゲームアプリケーション自体をプレイしていないため、エキスパートは、ゲームコンソールまたはクライアントデバイスへのアクセスを有する必要はない。
【００７４】
図３〜８は、ゲームアプリケーションをプレイするユーザのコンテキスト内で説明される。一般に、ゲームアプリケーションは、ユーザ入力に応答する任意のインタラクティブゲームであることができる。特に、図３〜８は、ゲームアプリケーションをプレイするプレイヤーが、ライブヘルプセッションを介してエキスパートと接続すること、または記録されたヘルプセッションへのアクセスを提供することのいずれかによって、リアルタイム支援を受信することができる方法を記述する。
【００７５】
本開示の一実施形態に従い、ネットワーク経由で通信するゲームサーバ及びクライアントデバイスのさまざまなモジュールの詳細な説明に関して、ここで対応するプレイヤーのゲームプレイをサポートするゲーム支援を提供する方法は、図３Ａのフロー図３００Ａに関連して説明される。フロー図３００Ａは、ゲームアプリケーションをプレイするプレイヤーを、支援を提供する（例えば、ライブヘルプセッションを通じて）エキスパートに、または記録されたヘルプセッションに接続する目的で、ゲームサーバ側に含まれる操作のプロセス及びデータフローを示す。ヘルプセッションをプレイヤーのデバイスに送信することができ、このプレイヤーのデバイスは、ゲームアプリケーションをプレイするプレイヤーのゲームプレイを表示する別のデバイスとは別個のものであってよい。特に、フロー図３００Ａの方法は、図１Ａ〜１Ｃ及び図２のヘルプセッションコントローラ１２０によって少なくとも部分的に実行され得る。
【００７６】
３１０において、この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについて複数のプレイヤーの複数のゲームプレイに関連する情報を受信する。これらのプレイヤーは、ゲームアプリケーションを現在プレイしている、またはゲームアプリケーションをプレイした場合がある。一部の実施形態では、情報はゲームプレイを含む。一部の実施形態では、情報は、ゲームステートデータなど、ゲームプレイに関連して生成されるメタデータ及び／または情報を含む。
例えば、情報は、前述したように、ゲームステート情報及びユーザ／プレイヤーの保存情報を含むことができる。この情報は、スナップショット情報を含むことができ、このスナップショット情報は、対応するスナップショットと関連するビデオゲーム内のポイントから開始するビデオゲームのインスタンスの実行を可能にする情報を提供することができる。
例えば、ゲームステート情報は、対応するポイントでのゲームプレイのステートを定義し、キャラクター情報（例えば、種類、種族など）、ゲームアプリケーション、キャラクターがいる位置、プレイしているレベル、キャラクターのアセット、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイ、キャラクターアセット、キャラクターのスキルセット、ゲーム環境／世界内でのキャラクターの地理的位置、プレイヤーに提示されている現在のクエスト及び／またはタスク、ロードアウト、キャラクターのスキルセットなど含むことができる。ゲームステートデータは、ゲームプレイ中に対応するポイントに存在したゲーム環境の生成を可能にする。さらに、プレイヤーに関連したユーザ／プレイヤー情報は、対応するプレイヤーについてのビデオゲームをパーソナライズする情報、例えば、プレイヤーのスキルまたは能力、プレイヤーがヘルプを求める全体的な準備状況、プレイヤーによるゲームアプリケーションをプレイするリーセンシー、ゲームをプレイするときにユーザ５が選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値、及び他のアセット情報などを含むことができる。
【００７７】
３２０において、この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。第一ゲームコンテキストは、第一プレイヤーのゲームプレイの現在のステートに関連する。具体的には、第一プレイヤーの現在のゲームプレイに関する情報を受信する。ある場合では、現在のゲームプレイは、第一プレイヤーがゲームアプリケーションを現在プレイしているような、ライブである。ゲームコンテキストは、ゲームプレイ中の特定のポイントでゲーム環境を定義する。現在のゲームコンテキストは、対応するゲームプレイ中の現在のポイントでゲーム環境を定義する。ゲームコンテキストは、対応するゲームプレイ中の１つ以上のポイントに対して定義され得る。例えば、ゲームコンテキストは、プレイヤーのキャラクター、そのプレイヤーのさまざまな特性、そのプレイヤーと関連するアセット、そのプレイヤーに提示されるタスクなどを定義することができる。ゲームコンテキストは、ゲームプレイに関連して生成される以前に受信したメタデータ及び／または情報に基づく、またはこれらに密接に関連することができる。
【００７８】
３３０において、この方法は、この情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。一実施形態では、エキスパートも、ゲームアプリケーションを現在プレイしており、対応するゲームプレイを介して新しい履歴エキスパートゲームコンテキストを生成していることができる。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成される。
前述したように、一般に、ゲームコンテキストは、対応するゲームプレイ中の１つ以上のポイント、例えば、１人以上のエキスパートについてのポイントに対して定義され得る。エキスパートゲームプレイは、複数のゲームプレイから、具体的には、エキスパートとして分類されるプレイヤーのゲームプレイから取得される。プレイヤーは、自己登録によって、資格によって、または任意の他の方法によって分類され得る。一実施形態では、すべてのプレイヤーの複数のゲームプレイのゲームコンテキストを決定したときに、エキスパートゲームコンテキストを同時に決定した。そのため、プレイヤーがエキスパートとして分類されると、エキスパートの対応するゲームプレイヤーのゲームコンテキスト情報をエキスパートゲームコンテキストの１つとして識別することができる。
さらに、ゲームコンテキスト情報は、対応するゲームプレイ中に複数のポイントについて決定され得る。例えば、第一エキスパートについてのゲームコンテキスト情報は、ゲームプレイ中の第一ポイントにおける第一ゲームコンテキスト、ゲームプレイ中の第二ポイントにおける第二ゲームコンテキスト．．．及びゲームプレイ中の第Ｎポイントにおける第Ｎゲームコンテキストを含むことができる。例えば、対応するエキスパートについてのゲームプレイは、複数のゲームコンテキストを含むことができ、これらのゲームコンテキストは、レベル１でボスに対面するためのゲームコンテキスト、レベル２でボスに対面するためのゲームコンテキスト、所与のサイドクエスト内の進度などについてのゲームコンテキストを含む。複数のプレイヤーをエキスパートとして分類したときに、各エキスパートについてのゲームコンテキスト情報を決定することができる。
【００７９】
特定のゲームアプリケーションについて分類されたエキスパートは、複数のプレイヤーのセットを構成する。前述したように、エキスパートは、いかなる適格基準などもなく、自己登録であることができる。別の実施形態では、エキスパートは、前述したように、プレイヤーのスキル、タスクの達成、クエストの終了、一定期間内にゲームの一部分の終了、一定期間内にゲームの終了などのような、何らかの資格を有することができる。資格に達した後に、エキスパートは、自己登録することができる、及び／またはエキスパートとして自動的にラベル付けされる（例えば、認可によって）ことができる。
【００８０】
同じゲームアプリケーションをプレイする、異なるプレイヤー及び／またはエキスパートは、彼らの対応するゲームプレイ内で同じ、または類似のゲームコンテキストを含むことができる。例えば、同じゲームアプリケーションをプレイする、すべての複数のプレイヤーのゲームコンテキストを収集することにより、異なるプレイヤーのゲームプレイは、同じアセットを有する類似のキャラクター、異なるプレイヤーの類似のプレイスタイル、ゲームアプリケーションのゲーム世界を通じて類似のルーティングなどを含むように調整され得る。以下で説明されるように、支援を要求するプレイヤーのゲームプレイにエキスパートが支援を提供することができるように、ゲームコンテキスト情報を使用して、あるプレイヤーをエキスパートとして分類される別のプレイヤー（例えば、自己登録、資格を持つなど）とマッチングさせることができる。
【００８１】
３４０において、この方法は、第一ゲームプレイに関連する支援クエリを受信する。すなわち、第一プレイヤーも支援についての要求を行っている、または要求の通知などを行っている。例えば、クエリは、ゲーム中の特定のポイント（例えば、レベルボス、クエスト、タスクなど）に勝利する方法を特に対象とすることができる、またはオブジェクトに関する情報（例えば、ボスの名前、ゲームプレイ中に遭遇したオブジェクト）を獲得することを対象とすることができる、またはゲームアプリケーション中のこのポイントでのプレイヤーに対する全体的な目的を対象とすることができる。
【００８２】
加えて、第一プレイヤーの現在のゲームコンテキストは、要求が行われるゲームプレイ中のポイントに最も近いゲームステートに関連する。例えば、ゲームコンテキストは、第一プレイヤーのキャラクター、キャラクターが保有するアセット、キャラクターが遭遇するゲームアプリケーション中のレベル、及びレベルのシーンに関する情報を提供することができる。第一プレイヤーによる支援についてのいかなるクエリまたは要求も、必ず現在のゲームコンテキストに関連する。そのため、第一プレイヤーの現在のゲームコンテキストに厳密にマッチングするゲームコンテキストを含む別のプレイヤー（例えば、分類されたエキスパート、フレンドなど）のゲームプレイは、第一プレイヤーに役立つゲームアプリケーションの知識を含むことができる。
【００８３】
３５０において、方法は、第一プレイヤー（ヘルプを要求する）の現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、それぞれのゲームプレイヤーのゲームコンテキストに関してなど、エキスパートが第一プレイヤーにどの程度厳密にマッチングするかを確認する。すなわち、比較により、各エキスパートのゲームプレイが、どの程度厳密に第一プレイヤーのゲームプレイにマッチングするかを判断する。一実施形態では、比較は、特定のエキスパートについてキャプチャされる各ゲームコンテキストに対して実行され、第一プレイヤーの第一ゲームコンテキストに最も近いゲームコンテキストは、そのエキスパートを表すものとして使用される。他の実施形態では、特定のエキスパートのゲームプレイ中にさまざまなポイントで収集されるゲームコンテキスト情報を組み合わせて、第一プレイヤーの第一ゲームコンテキストとの比較に使用することができる。一実施形態では、少なくとも１人のエキスパートは、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを有すると判定される。
【００８４】
３６０において、方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。すなわち、次いで、第一エキスパートは、第一プレイヤーに第一プレイヤーのゲームプレイに関して支援を提供することができる。エキスパートのプールから第一エキスパートを選択する目的で、さまざまな選択方法を実装することができる。例えば、第一エキスパートは、第一プレイヤー、及びエキスパートのセット／プール内のエキスパートのゲームコンテキストに基づいて選択される。
【００８５】
一実施形態では、第一エキスパートは、ゲームコンテキスト間のマッチングの品質に基づいて選択される。例えば、１セットのマッチングしたエキスパートゲームコンテキストは、図３Ｂに関してさらに説明されるように、対応するエキスパートゲームコンテキストを第一ゲームコンテキストにマッチングさせる品質を示すマッチング値を含む。例えば、方法は、最高値を含む第一マッチング値を決定する。第一マッチング値は、エキスパートゲームコンテキストに対応する。ある場合では、第一マッチング値は、第一エキスパートの第一エキスパートゲームコンテキストに対応する。そのため、ヘルプセッションについて第一エキスパートを選択し、そこで第一エキスパートは、ゲームコンテキストに基づいて、エキスパートのプールから、第一プレイヤーにヘルプを提供するのに最も適している。
【００８６】
他の実施形態では、エキスパートのプールからの第一エキスパートは、稼働率に基づいて選択される。これは、エキスパートを、ヘルプを要求するプレイヤーにマッチングするための単純なアプローチを提供する。特に、このアプローチは、ゲームアプリケーションが最初にリリースされたときに有益であることができる。最近のリリースのため、登録されているエキスパートが多くはない可能性があり、情報が不足しているため、エキスパート間のいかなる比較も行うことが困難である場合がある。一実施形態では、ヘルプセッションのために、利用可能な第一エキスパートを選択し、第一プレイヤーに割り当てる。
【００８７】
他の実施形態では、図３Ｂにさらに説明されるように、援助することができる可能性が最も高い、資格を持った、及び／または利用可能なエキスパートからの応答への競争などの中で、応答時間に基づいてエキスパートを選択する。他の実施形態では、一度に１人のエキスパートをポーリングして、彼らが支援を提供したいかどうかを判定する。ポーリングプロセス中、図３Ｂにさらに説明されるように、肯定的に応答する第一エキスパートは、支援を提供するために割り当てられる。
【００８８】
特に、３７０において、方法は、第一プレイヤー及び第一エキスパートを接続する通信セッションを生成する。一実施形態では、バックエンドサーバにおいて通信セッションマネージャは、通信セッションを確立して管理するための媒介として機能する。少なくとも、通信セッションは、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間で確立される。通信セッションを使用して、第一エキスパートと第一プレイヤーとの間のヘルプセッションなどによって、エキスパートがプレイヤーに支援を提供することができる。
一実施形態では、通信セッションは、テキスト、オーディオ、ビデオ、埋め込みオーディオ及びビデオなどのように構成される。例えば、方法は、音声チャネルを確立することのうちの１つ以上を備えることができ、通信セッションにおいてテキストチャネルを確立することができ、ビデオチャット用に設定されるビデオチャネル（例えば、埋め込みビデオ）を確立することができる。また、通信セッションマネージャは、ＳｈａｒｅＳｃｒｅｅｎ機能、ＳｈａｒｅＰｌａｙ機能などを提供するように、さまざまな通信形式を可能にする新しいセッションを作成するように機能することができる。一実施形態では、通信セッションは、ピアツーピア接続であることができる、または中間ノードとして機能するバックエンドサーバを含むことができる。すなわち、通信セッションマネージャによって作成されると、通信セッションは、第一プレイヤーのデバイスと第一エキスパートのデバイスとの間の直接通信路である。他の実施形態では、通信セッションは、バックエンドサーバを介して流れることができる。
【００８９】
一実施形態では、前述したように、第一エキスパートは、共有画面機能などを通じて、第一プレイヤーの画面を共有することができる。第一プレイヤーのゲームプレイを表示することにより、第一エキスパートは、第一プレイヤーが直面している問題をよりよく感じ取るので、より良いヘルプを提供することができる。共有画面機能は、一実施形態では、通信セッションを通じて実装される。画面を共有する要求は、第一プレイヤーまたは第一エキスパートのいずれかによって行われることができる。
例えば、第一エキスパートは、第一プレイヤーのゲームプレイのビデオを共有する要求を行う場合がある。一実施形態では、この要求をバックエンドサーバにおいてヘルプセッションコントローラが受信する。要求の通知を第一プレイヤーのデバイスに送信する。例えば、この通知をヘルプセッションコントローラから配信することができる。認可は、ヘルプセッションコントローラによって第一プレイヤーのデバイスから受信され、この認可は、ゲームプレイのビデオをエキスパートと共有するために第一プレイヤーによって提供される。そのため、第一プレイヤーのゲームプレイは、第一エキスパートのデバイスにストリーミングされる。例えば、ヘルプセッションコントローラは、通信セッションを通じて、または独立したストリーミングチャネルを通じてストリーミングを容易にすることができる。
【００９０】
他の実施形態では、第一エキスパートは、前述したように、共有プレイ機能などを介して、第一プレイヤーのゲームプレイの制御を引き継ぐことができる。共有プレイにより、エキスパートは、ゲームプレイの制御を引き継ぎ、例えば、第一プレイヤーが実行することができない目標を完了することができる。プレイを共有する要求は、第一プレイヤーまたは第一エキスパートのいずれかによって行われることができる。例えば、第一エキスパートのデバイスからの要求を受信し、その要求は、第一プレイヤーのゲームプレイの制御を共有するように要請する。エキスパートからの要求は、ユーザのゲームプレイ内の目標を達成するためのエキスパートからの支援のオファーの形式であることができる。この要求をバックエンドサーバにおいてヘルプセッションコントローラが受信することができる。
この要求の通知は、ヘルプセッションコントローラによって生成され、ヘルプセッションコントローラから第一プレイヤーのデバイスに配信され得る。認可は、ヘルプセッションコントローラによって第一プレイヤーのデバイスから受信され、この認可は、ゲームプレイの制御をエキスパートと共有するために第一プレイヤーによって提供される。そのように、エキスパートは、ゲーム入力コマンドをサブミットすることによってゲームプレイの制御を引き継ぐことができる。一実施形態では、１セットの入力制御またはコマンドは、ヘルプセッションコントローラによって第一エキスパートのデバイスから受信される。ゲームエンジン（例えば、ローカルコンソールまたはバックエンドゲームプロセッサ）が第一プレイヤーのコントローラデバイスから発信する入力コマンドをブロックし、第一エキスパートのコントローラデバイスから発信する入力コマンドを通過させるように、ブロックは、第一プレイヤーの入力コントローラからの入力コマンドに置かれる。
例えば、ヘルプセッションコントローラは、第一プレイヤーのゲームプレイのためにゲームアプリケーションを実行するプロセッサ（例えば、ゲームエンジン）に命令を送信して、第一プレイヤーに関連する入力制御をブロックすることができる。そのため、第一エキスパートのコントローラデバイスからの１セットの入力制御は、第一プレイヤーのゲームプレイのためにゲームアプリケーションを実行するプロセッサ（例えば、ゲームプロセッサ）に配信される。さらに、制御はいつでも第一プレイヤーに戻すことができる。例えば、前述したように、第一プレイヤーは、いつでも（キルコマンドなどを使用して）ゲームプレイの制御を取り戻す機能を有することができる。
【００９１】
図３Ｂは、本開示の一実施形態による、ゲームアプリケーションをプレイし、支援を要求するプレイヤーに提供されている支援の形式を決定するための方法におけるステップを示すフロー図３００Ｂである。フロー図３００Ｂは、ゲームアプリケーションをプレイするプレイヤーを、支援を提供する（例えば、ライブヘルプセッションを通じて）エキスパートに、または記録されたヘルプセッションに接続する目的で、ゲームサーバ側に含まれる操作のプロセス及びデータフローを示す。ヘルプセッションをプレイヤーのデバイスに送信することができ、このプレイヤーのデバイスは、ゲームアプリケーションをプレイするプレイヤーのゲームプレイを表示する別のデバイスと別個のものとすることができる。フロー図３００Ｂは、一実施形態では、フロー図３００Ｂがフロー図３００Ａの拡張であるように、フロー図３００Ａと連携して実装され得る。特に、フロー図３００Ｂの方法は、図１Ａから１Ｃ及び図２のヘルプセッションコントローラ１２０によって少なくとも部分的に実行され得る。
【００９２】
３５０’において、方法は、３５０で前述されたマッチングを実行するときに複数のマッチングベクトルを決定する。すなわち、第一ゲームコンテキストと複数の履歴エキスパートゲームコンテキストとの間で複数のマッチングベクトルを決定する。各マッチングベクトルは、対応するエキスパートの対応する履歴エキスパートゲームコンテキストに関連付けられる。また、各マッチングベクトルは、対応する履歴エキスパートゲームコンテキストを第一ゲームコンテキストにマッチングさせる品質を示すマッチング値（例えば、品質係数またはＱ値）を含む。
【００９３】
３５１において、方法は、閾値を超えるマッチング値を有する、１セットのマッチングした履歴エキスパートゲームコンテキストを決定する。これは、エキスパートのセット／プールを、第一プレイヤーの第一ゲームコンテキストにより厳密にマッチングするより小さな１セットのエキスパートにフィルタリングする。第一プレイヤーのゲームプレイの現在のコンテキストを考えると、より小さな１セット中のエキスパート、またはエキスパートゲームコンテキストが閾値を上回るマッチング値を含むエキスパートは、第一プレイヤーにヘルプを提供するのにより良く適している。
【００９４】
決定ステップ３６１において、方法は、より小さな１セットのエキスパート中の任意のエキスパートが適宜に（例えば、すぐに、５分内などに）支援を提供するために利用可能であるかどうかを決定する。例えば、ゲームアプリケーションの最初の６ヶ月から１年内には多くのアクティビティがある場合があり、エキスパートは、新着で知識豊富な支援を提供するために直ちに利用可能である。その期間を過ぎると、エキスパートによって提供される支援が陳腐化する可能性があり、これらのエキスパートが利用できない場合がある。例えば、これらのエキスパートは、支援を提供するときに速度を上げるまでにある一定の時間を必要とする場合がある。
【００９５】
ライブ支援を提供するエキスパートが利用可能ではなかった場合に、方法は、３６２に進み、閾値を超えるベクトルのマッチング値を有する履歴エキスパートゲームコンテキストを含む１つ以上の記録されたヘルプセッションを決定する。例えば、履歴エキスパートゲームコンテキストは、上記の３５０’及び３５１により分析され得る。３６３において、第一プレイヤーの支援クエリに応答するのに最も適している、記録されたヘルプセッションは、第一プレイヤーのデバイスにストリーミングされる。例えば、選択され記録されたヘルプセッションは、最も高いマッチング値を含むことができる。
【００９６】
一方、ライブ支援を提供するために利用可能なエキスパートがいる場合、この方法は、「または」ステップ３６９に示されるように、エキスパートを選択するために１つ以上のパスを取ることができる。一実施形態では、エキスパートは、応答時間に基づいて選択される。例えば、プレイヤーがそのゲームに対してヘルプを要求するときに、その要求は、以前に決定されたより小さな１セットのエキスパートのような、援助することができる可能性が最も高い利用可能なエキスパートに送信される。
一実施形態では、３６６において、第一プレイヤーからのクエリに応答して生成されるヘルプセッションの通知を提供するブロードキャストを実行する。この通知は、前述される、１セットのマッチングしたエキスパートゲームコンテキスト（例えば、閾値を満たすもの）に対応する１セットのマッチングしたエキスパートの複数のデバイスにブロードキャストされる。一実施形態では、３６７において、ヘルプ要求を受諾する第一エキスパートを選択し、第一プレイヤーとのヘルプセッションに割り当てる。例えば、応答の競争では、通知への第一応答が最短の応答時間（例えば、受信したすべての応答から）を有すると決定し、そこで第一応答を第一エキスパートから受信する。３７０’において、応答するエキスパートが、支援を得るために第一プレイヤーに割り当てられる。
【００９７】
他の実施形態では、３６４において、方法は、より小さな１セットのエキスパート（例えば、閾値を超えるマッチング値を有するマッチングした履歴エキスパートゲームコンテキストを含む）中の次に利用可能なエキスパートに通知を送信する。次に利用可能なエキスパートは、より小さな１セット中の残りのエキスパート（通知されていないエキスパート）の最も高いマッチング値を含むことに基づいて決定され得る。決定ステップ３６５では、この方法は、次に利用可能なエキスパートから何らかの肯定的な応答を受信したかどうかを判定する。そうでない場合、この方法は、３６４に戻り、前述したように、この通知を新しく選択された「次に利用可能なエキスパート」に再送信する。そうである場合、方法は、３７０’に進み、応答するエキスパートが、支援を得るために第一プレイヤーに割り当てられる。
【００９８】
図４Ａは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムまたは方法におけるデータフローを示すデータフロー図である。図４は、実施形態では図１Ａ〜１Ｃ及び図２のシステム及び方法を通してデータフローを表すことができる。
【００９９】
図示されるように、プレイヤー１（Ｐ１）は、ゲームアプリケーションをプレイしている。プレイヤーＰ１は、自分のゲームプレイ中に障害物に遭遇し、情報及び／または支援を要求することがある。例えば、前述したように、プレイヤーＰ１からのクエリは、ユーザインタフェース１１０−Ｐ１を介して行われ、ネットワーク１５０を介して配信され、バックエンドサーバのヘルプセッションコントローラ１２０に戻される。特に、ヘルプセッションコントローラ１２０と協動するマッチングエンジン１２３は、プレイヤーＰ１及びエキスパートのプール４４０のゲームコンテキストにマッチングするように構成される。エキスパートのプールは、複数のプレイヤー４１０から選ばれ、プレイヤーは、１つ以上のゲームアプリケーションをプレイしている。プール４４０内のすべてのエキスパートは、ゲームアプリケーションをプレイしたことがあり、例えば、ゲームアプリケーションのエキスパートとして登録されている。例えば、プール４４０は、１人以上のエキスパートＥ１．．．Ｅ５．．．Ｅ１０３．．．Ｅｎを含む。
【０１００】
ゲームコンテキスト４２０は、比較のためにマッチングエンジン１２３に入力される。例えば、入力は、プレイヤーＰ１についてゲームコンテキスト４２０−Ｐ１、エキスパートＥ１についてゲームコンテキスト４２０−Ｅ１、エキスパートＥ１０３についてゲームコンテキスト４２０−Ｅ１０３、エキスパートＥ６４についてゲームコンテキスト４２０−Ｅ６４、エキスパートＥ５についてゲームコンテキスト４２０−Ｅ５．．．及びエキスパートＥｎについてゲームコンテキスト４２０−Ｅｎを含む。マッチングエンジンによって実行されるマッチングプロセスは前述された。基本的には、プレイヤーＰ１のゲームコンテキスト４２０−Ｐ１を、エキスパートのプール４４０に関連する各ゲームコンテキストと比較する。マッチングベクトルを、各ゲームコンテキストに対して決定し、各マッチングベクトルは、対応するエキスパートゲームコンテキストをプレイヤーＰ１のゲームコンテキスト４２０−Ｐ１にマッチングさせる品質を示す対応するマッチング値（例えば、品質係数またはＱ値）を含む。
【０１０１】
マッチングエンジン１２３は、エキスパートのプール４４０からエキスパートの１人を選択するように構成される。示されるように、エキスパートＥ５を選択し、マッチングエンジン１２３からの出力４３５として提供する。プレイヤーＰ１に支援を提供するヘルプセッションを生成して管理する目的で、出力４３５をヘルプセッションコントローラ１２０に提供する。前述したように、エキスパートの選択のために１つ以上の方法を実装することができる。例えば、エキスパートのプール４４０は、閾値をマッチング値に適用することによってさらにフィルタリングされてもよく、閾値基準を満たすマッチング値に関連するエキスパートは、選択のために検討される。
一実施形態では、最高品質のマッチング値をエキスパートの選択に使用する。すなわち、最も高いマッチング値を選択に使用する。別の例では、ヘルプセッション要求の通知は、閾値基準を満たすマッチング値に関連するエキスパートに配信される。最初に通知に応答するエキスパートをヘルプセッションに選択することができる。さらに別の例では、閾値基準を満たすマッチング値に関連するエキスパートのいずれかを、ランダム選択、最初の選択などによって選択することができる。ゲームコンテキスト４２０、及びマッチングエンジン１２３のマッチングプロセスのさらなる考察を図５Ａ〜５Ｂに関して提供する。
【０１０２】
一実施形態では、プレイヤーＰ１をエキスパートにマッチングさせるのではなく、マッチングエンジン１２３は、フレンドのプールからエキスパートのフレンドを選択することができる。例えば、フレンドは、１つ以上のソーシャルネットワークを通じて確立されるソーシャルネットワークのフレンドであることができる。
【０１０３】
ヘルプセッションコントローラは、ヘルプセッションを確立して管理し、プレイヤーＰ１にリアルタイム支援を提供するように構成される。例えば、通信セッションは、プレイヤーＰ１のデバイス（例えば、ユーザインタフェース１１０−Ｐ１）とエキスパートＥ５のデバイス（例えば、ユーザインタフェース１１０−Ｅ５）との間で生成される。一実施形態では、通信セッションは、ヘルプセッションコントローラ１２０の通信セッションマネージャと、プレイヤーＰ１のデバイスと、エキスパートＥ５のデバイスとの間で生成される。他の実施形態では、通信セッションを生成し、プレイヤーＰ１のデバイスとエキスパートＥ５のデバイスとの間の直接通信を確立する。
【０１０４】
通信セッションでは、１つ以上の通信チャネルを確立することができる。例えば、音声チャネル４５１、テキストチャネル４５２、画面共有チャネル４５３、及び／または共有プレイチャネルのうちの１つ以上を確立することができる。示されるように、音声チャネル４５１は、双方向通信路であるため、プレイヤーＰ１及びエキスパートＥ５は、互いの音声通信に話しかけ、聞くことができる。また、テキストチャネル４５２は、双方向通信路であるため、プレイヤーＰ１及びエキスパートＥ５は、テキスト化によって互いに通信することができる。さらに、画面共有チャネル４５３は、一方向通信路であることができるため、プレイヤーＰ１のゲームプレイからのビデオは、表示するためにエキスパートＥ５のデバイスに配信される。さらに、共有プレイチャネル４５４は、双方向通信路であることができるため、入力制御は、エキスパートＥ５から、プレイヤーＰ１にローカルのゲームエンジンに、またはバックエンドサーバにおいて別のゲームエンジンに通信され得る。
【０１０５】
ヘルプセッションコントローラ１２０とユーザインタフェース１１０−Ｐ１との間に、またはユーザインタフェース１１０−Ｅ５に制御及び他の情報を渡すために、別個の制御チャネルを確立することができる。例えば、プレイヤーＰ１から発信する入力制御をブロックする、または画面共有チャネル４５３を介してビデオを送信する、命令をユーザインタフェース１１０−Ｐ１に配信することができる。さらに、格付け情報は、格付け情報を提供するチャネル４５５を介して配信されてもよい。例えば、ヘルプセッション後、プレイヤーＰ１は、チャネル４５５を介してヘルプセッションの格付けを提供することができる。さらに、プレイヤーＰ１は、エキスパートＥ５の全体的なパフォーマンス（例えば、人格、有用性、スポイラーのリリースを制御する能力、ゲームアプリケーションについての知識の深さなど）の格付けを提供することができる。また、エキスパートＥ５は、プレイヤーＰ１の格付け（例えば、協力レベル、ヘルプを受諾する能力、人格、感謝の気持ちなど）を提供することができる。
【０１０６】
一実施形態では、ヘルプセッションは、ユーザのゲームプレイと同時に、プレイヤーＰ１に関連する第二コンピューティングデバイスに実装される。例えば、一実施形態では、ユーザのゲームプレイを表すデータをプレイヤーＰ１の第一コンピューティングデバイスに配信するために確立される第一通信チャネル、及びヘルプセッションに関連するデータをプレイヤーＰ２の第二コンピューティングデバイスに配信するために確立される第二通信チャネルのような、情報を配信する２つの通信チャネルが存在してもよい。例えば、第一コンピューティングデバイスは、ローカルゲームコンソール及び／またはディスプレイであってよく、第二コンピューティングデバイスは、スマートフォンであることができる。他の実施形態では、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを通じて、ユーザのゲームプレイを表すデータとともに配信され得る。
【０１０７】
図４Ｂは、本開示の一実施形態による、支援を要求するプレイヤーＰ１のコンテキストに限定されるゲームステートデータを使用してローカルに実行するゲームアプリケーションをプレイするエキスパートＥ−５のゲームプレイを示すデータフロー図であり、エキスパートＥ５のゲームプレイは、プレイヤーＰ１にストリーミングされる。図４Ｂは、図４Ａに記述されるように、プレイヤーＰ１と選択されたエキスパートＥ５との間の情報のフローのさらなる図解を提供する。
【０１０８】
図示されるように、プレイヤーＰ１は、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中に支援を要求するクエリを送信している。クエリは、プレイヤーＰ１のローカルコンピューティングデバイス１００などによって、経路「Ａ」を介してバックエンドサーバ２０５に配信される。ローカルコンピューティングデバイス１００は、ゲームコンソールであることができ、ゲームアプリケーションは、デバイス１００上で実行され得る、またはローカルデバイス１００と通信するクラウドゲームネットワークにおいて実行され得る。
サーバ２０５は、前述したように、１人以上のエキスパートＥ１、Ｅ２．．．Ｅｎに通知を送信する。例えば、この通知は、複数のエキスパートに、または一度に１人のエキスパートにブロードキャストされ得る。例えば、通知を経路「Ｂ」に沿ってエキスパートＥ５のデバイスに配信し、支援を提供する要求の受諾も配信して経路「Ｂ」に沿ってサーバ２０５に返す。命令及び／または通信は、経路「Ｆ」を介してサーバ２０５とエキスパートＥ５のデバイスとの間で渡され得る。例えば、１つ以上の通信セッションを確立する命令を使用することができる。
【０１０９】
このポイントで、サーバ２０５は、エキスパートＥ５についての通信セッションを確立し、プレイヤーＰ１に支援を提供することができる。一実施形態では、通信セッションは、サーバ２０５（例えば、経路「Ｃ」、「Ｄ」、及び「Ｅ」）を介して、プレイヤーＰ１のデバイスとエキスパートＥ５のデバイスとの間で確立される。他の実施形態では、通信セッションは、ピアツーピアネットワーク接続（例えば、経路「Ｇ」）を介して、プレイヤーＰ１のデバイスとエキスパートＥ５のデバイスとの間で確立される。例えば、ピアツーピアネットワーク接続は、ＷｅｂＲＴＣ（ウェブリアルタイム通信）接続であってよく、これは、１つ以上のデバイス上のウェブブラウザ及びモバイルアプリケーションが、アプリケーションプログラミングインタフェース（ＡＰＩ）を介してリアルタイム通信（ＲＴＣ）によって通信することを可能にする。
【０１１０】
前述したように、テキスト、音声、ビデオ、ビデオチャットなどを含む、さまざまな通信形式を使用して、経路「Ｅ」などを介して、エキスパートＥ５が支援を提供することを可能にすることができる。一実施形態では、プレイヤーＰ１のゲームプレイをエキスパートＥ５と共有するＳｈａｒｅＳｃｒｅｅｎ要求を行い、経路「Ｃ」を介して、またはピアツーピア接続経路「Ｇ」を介して、プレイヤーＰ１のデバイス１００からエキスパートＥ５のデバイスにゲームプレイ（例えば、ビデオ、オーディオなど）を配信することができる。さらに、ゲームプレイの制御をプレイヤーＰ１とエキスパートＥ５との間で共有するＳｈａｒｅＰｌａｙ要求を行うことができ、そこでエキスパートＥ５によるコントローラ入力を使用して、ゲームプレイを制御する。その場合、コントローラ入力は、経路「Ｄ」を介して、またはピアツーピア接続経路「Ｇ」を介して、エキスパートＥ５のデバイスからプレイヤーＰ１のデバイス１００に配信される。一実施形態では、経路「Ｃ」、「Ｄ」、及び／または「Ｅ」を介して提供される通信は、ピアツーピア接続経路「Ｇ」を介して提供され得る。
【０１１１】
さらに他の実施形態では、プレイヤーＰ１のゲームプレイを保護するために、エキスパートＥ５のゲームプレイが支援クエリに関連しているプレイヤーＰ１に支援を提供することに焦点が置かれていることができるように、エキスパートＥ５は、プレイヤーＰ１の現在のコンテキストに限定される独立したエキスパートゲームプレイを生成する。例えば、プレイヤーＰ１は、自分のゲームプレイを誰にも汚されたくない場合があるため、エキスパートがゲームプレイをプレイして難しいタスクを終えることなく、プレイヤーＰ１がゲームアプリケーションを終了したい。プレイヤーＰ１は、難しいタスクを実行する、及び／または解決することができる方法を確認したい場合がある。そのため、制限されたステート情報をエキスパートＥ５のデバイスに提供する場合がある。制限されたステート情報は、エキスパートＥ５のデバイス上でプレイヤーＰ１の現在のコンテキストを複製するのに過不足のない情報を提供するゲームステートデータであることができる。そのように、エキスパートＥ５は、ローカルデバイス上でゲームアプリケーションをプレイして、現在のコンテキストについてのエキスパートゲームプレイを生成し、エキスパートゲームプレイをストリーミングしてプレイヤーＰ１に返すことができる。
【０１１２】
例えば、本開示の一実施形態に従って、エキスパートＥ５は、ローカルモバイルデバイス４１１を使用して、ゲーム支援を提供することができる。モバイルデバイス４１１は、タブレット、または携帯電話などであることができる。制限されたステート情報をモバイルデバイス４１１上にロードして、制限された現在のコンテキスト内でゲームアプリケーションを実行する。制限されたステート情報は、フォーマットデータを含むことができるため、ゲームアプリケーションは、デバイス４１１内で実行され、デバイス４１１に表示され得る。
さらに、エキスパートＥ５が入力制御を生成することができるように、入力制御ボタンをデバイス４１１のタッチ面上に生成して表示することができる。示されるように、モバイルデバイス４１１上で実行されるようなエキスパートＥ５のゲームプレイは、インタラクション（例えば、視聴など）のためにプレイヤーＰ１のデバイス１００に配信される。例えば、先に導入されたように、プレイヤーＰ１は、ユーザインタフェース１１０−Ｐ１上でエキスパートゲームプレイＥ５を視聴している。ユーザインタフェース１１０−Ｐ１は、エキスパートゲームプレイ、エキスパートＥ５からの通信（例えば、ビデオチャット、テキスト、音声など）、入力コントローラシーケンスなどを示す１つ以上のウィンドウを含むことができる。ストリーミングされた情報は、経路Ｇ１を介して、またはサーバを中間ノードとして含む通信セッションを介してピアツーピア接続（例えば、ＷｅｂＲＴＣ）に提供され得る。
【０１１３】
他の実施形態では、エキスパートＥ５は、ゲームコンソール４１３のようなローカルコンピューティングデバイス、またはコンピュータプロセッサへのアクセスを有することができる。エキスパートＥ５は、同じゲームアプリケーション、もしくは異なるアプリケーションをプレイしていることができる、またはゲームコンソール４１３、コントローラ４０６、及びディスプレイ４１２を介して任意のゲームアプリケーションをプレイするために容易に利用可能であることができる。通知を受信すると、サーバ２０５は、ゲームアプリケーションをロードアップする命令をゲームコンソール４１３に送信することができる。
また、プレイヤーＰ１の現在のコンテキストに関連するゲームステートもロードすることができる。ある場合には、ゲームアプリケーションは、例えばローカルメモリによって、またはクラウドゲームネットワークサービスによって、ゲームコンソール４１３に利用可能である。そのように、エキスパートＥ５が自分自身のゲームプレイを通じて支援を提供するように要求される場合、ゲームアプリケーションは、所与の現在のコンテキストに対する制御入力を受信する準備ができている。ゲームコンソールは、フォーマット情報を受信することができるため、ゲームアプリケーションは、ゲームコンソール４１３上で実行され、コントローラ４０６によって提供されるコントローラ入力に応答可能であることができる。示されるように、ゲームコンソール４１３上で実行されるような（またはゲームコンソール４１３と協動して、クラウドゲームネットワーク上で実行されるような）エキスパートＥ５のゲームプレイを、インタラクション（例えば、視聴など）のためにプレイヤーＰ１のデバイス１００に配信する。
例えば、先に導入されたように、プレイヤーＰ１は、ユーザインタフェース１１０−Ｐ１上でエキスパートゲームプレイＥ５を視聴している。ユーザインタフェース１１０−Ｐ１は、エキスパートゲームプレイ、エキスパートＥ５からの通信（例えば、ビデオチャット、テキスト、音声など）、入力コントローラシーケンスなどを示す１つ以上のウィンドウを含むことができる。ストリーミングされた情報は、経路Ｇ２を介して、またはサーバを中間ノードとして含む通信セッションを介してピアツーピア接続（例えば、ＷｅｂＲＴＣ）に提供され得る。
【０１１４】
図５Ａは、本開示の一実施形態による、ゲームアプリケーションをプレイするプレイヤーのゲームコンテキストのコレクション、及びプレイヤーのゲームプレイを進めるためにリアルタイム支援を提供するエキスパートの選択中にゲームアプリケーションのエキスパートのゲームコンテキストへのゲームコンテキストのマッチングの図解であり、セクションは、支援についてのプレイヤーによる要求に応答して行われる。図５Ａに示されるマッチングプロセスは、マッチングエンジン１２３によって実装され得る。さらに、図５Ａを、図４と整列させると、選択されたエキスパートＥ５を示す出力４３５を提供するために、マッチングエンジン１２３によって、プレイヤーＰ１及びエキスパートのプール４４０のゲームコンテキストが比較されることを示すことができる。
【０１１５】
特に、図５Ａは、プレイヤーＰ１のゲームプレイ中の特定の瞬間に関連している。例えば、タイムライン５２０は、プレイヤーＰ１のゲームプレイ中のさまざまなポイントを示す。これらのポイントは、時間ｔ０．．．時間ｔ１０．．．から現在の時間である時間ｔ２５など、タイムライン５２０中の時間値が割り当てられることができる。
【０１１６】
一実施形態では、タイムラインを使用して、プレイヤーＰ１のゲームプレイのリプレイを、ヘルプセッションの選択されたエキスパートに提供することができる。例えば、リプレイは、タイムラインによって示されるように、予め選択された期間（例えば、１つの期間、２つの期間など）に、ゲームプレイを巻き戻すことができる。スナップショットは、タイムライン５２０の各時点に関連付けられることができ、スナップショットは、リプレイを生成するために使用される。他の実施形態では、エキスパートは、どの程度の巻き戻しを実行するかを選択することができる。例えば、タイムライン５１０は、エキスパートのデバイスに送信され、タイムラインは、プレイヤーＰ１のゲームプレイ中に生成される複数のスナップショットを含む。スナップショットの選択は、第一エキスパートのデバイス（例えば、ある時点に関連付けられる）から受信する。ゲームプレイは、ゲームプレイが第一エキスパートのデバイス上で選択されたスナップショットから開始されるように、選択されたスナップショットまで巻き戻される。リプレイがゲームプレイの現在のフレームに追いついた後、ライブゲームプレイは、エキスパートに提示され得る。
【０１１７】
加えて、スクリーンショット５１０は、時間ｔ２５におけるプレイヤーＰ１のゲームプレイ中に生成される現在のビデオフレームを示す。スクリーンショット５１０は、プレイヤーＰ１のライブゲームプレイを示す。単に説明目的のみのために、スクリーンショット５１０は、Ｋｒａｔｏｓ５１１と敵の戦闘員５１２との間の戦闘を含むことができる。Ｇｏｄ  ｏｆ  Ｗａｒゲームアプリケーションでは、Ｋｒａｔｏｓは、ギリシャ神話のスパルタの戦士であり、Ｇｏｄ  ｏｆ  ＷａｒのＡｒｅｓを殺す任務を負わされている。ゲームプレイでは、プレイヤーＰ１は、Ｋｒａｔｏｓ５１１を制御することができる。
【０１１８】
前述したように、マッチングエンジン１２３は、プレイヤーＰ１のゲームコンテキスト４２０−Ｐ１、及びエキスパートプール４４０のゲームコンテキストを入力として取得する。例えば、各ゲームコンテキストは、プレイヤーＰ１及びエキスパートのプール４４０について同様に構成され、ゲームステート及びユーザ／プレイヤーの保存データのような、前述されたパラメータ５４５を含む。例えば、パラメータ５４５は、ゲームステートデータ、例えば、キャラクター、キャラクターの種族または種類、キャラクターが直面している現在のクエスト、キャラクターについての次のクエスト、ゲーム環境中のゲームプレイの位置、ゲームアプリケーション中のゲームプレイのレベル、キャラクターのアセット（例えば、盾の種類、剣の種類、爆弾の種類など）、ロードアウト、キャラクターのスキルセット（ジャンプスキル、スタミナなど）などを含むことができる。パラメータ５４５は、ユーザ保存データ（例えば、ユーザプロファイルデータ）、例えば、プレイヤーまたは対応するエキスパートの全体的なゲームスキル、ゲームアプリケーションをプレイするリーセンシー、ヘルプを求める意欲あるいは意思表明（ウィリングネス：willingness）などを含むことができる。
【０１１９】
前述したように、マッチングエンジン１２３は、エキスパートのプール４４０のゲームコンテキストのそれぞれについてマッチングベクトルを生成するように構成される。例えば、マッチングエンジン１２３は、基準マッチング５４０を実行し、マッチングベクトルを生成する。各マッチングベクトルは、対応するエキスパートゲームコンテキストをプレイヤーＰ１のゲームコンテキストにマッチングさせる品質を示すマッチング値（例えば、品質係数またはＱ値）を含む。
例えば、図５Ａは、列５８１において、エキスパートＥ１のゲームコンテキスト４２０−Ｅ１とプレイヤーＰ１のゲームコンテキスト４２０−Ｐ１との比較を示す。チェックマークは、ゲームコンテキストの対応するパラメータまたは基準についてのマッチングを示す。チェックマークがないことは、マッチングがないことを示す。一実施形態では、チェックマークは、値１が与えられるが、任意の値を与えられることができる。示されるように、ゲームコンテキスト４２０−Ｅ１は、少なくともキャラクターの種族、シールド、スタミナ、及び爆弾についてのパラメータにマッチングする。これは、エキスパートＥ１のゲームプレイがこれらの定義パラメータを含む可能性が高いことを示す。
【０１２０】
この比較プロセスは、エキスパートのプール４４０に関連する各ゲームコンテキストについてマッチングエンジン１２３によって繰り返され得る。例えば、図５Ａは、列５８５において、エキスパートＥ５のゲームコンテキスト４２０−Ｅ５とプレイヤーＰ１のゲームコンテキスト４２０−Ｐ１との比較を示す。示されるように、すべてのパラメータが対応するチェックマークを含むため、ゲームコンテキスト４２０−Ｅ５は、ゲームコンテキスト４２０−Ｐ１に厳密にマッチングする。
【０１２１】
加えて、マッチングエンジン１２３は、マッチングベクトルに対して実行される重み付きアプリケーション５５０を適用することができる。例えば、列５５５は、マッチングエンジン１２３によって使用されるゲームアプリケーションのゲームコンテキストにおける各パラメータ５４５についての重み付け係数を示す。重み付けは、対応するパラメータの重要度を定義する。一実施形態では、重み付け係数が大きいほど、パフォーマンスが高くなる。もちろん、その逆は、選択プロセス全体を通して実装され得る。示されるように、キャラクターの種族が０．６の重み、シールドが０．８の重み、剣が０．４の重み、ジャンプスキルが１．２の重み、スタミナが１．４の重み．．．爆弾が０．２の重みを有する。すなわち、キャラクターのスタミナ及びジャンプスキルは、比較において高く評価される。これらの係数は、特定のタスクまたはクエストを達成する際に重要である場合がある。
【０１２２】
また、追加の係数５６０は、マッチングエンジン１２３によって考慮され得る。これらの係数も、ゲームコンテキストを比較するときに重みを与えられることができる。例えば、追加の係数は、エキスパートの格付け、エキスパートのランキング、エキスパートが最高の可能なランキングを示すゴールドスターステータスに到達したかどうか、可用性などを含むことができる。
【０１２３】
マッチングエンジン１２３は、エキスパート選択プロセス５７０を実行する。例えば、マッチングベクトルは、基準マッチング５４０、重み付け５５０、及び追加の係数５６０の考慮を実行した後にマッチング値が与えられる。例えば、エキスパートＥ１について、マッチング値５９１（３．０）を生成する。また、エキスパートＥ５について、マッチング値５９５（４．６）を生成する。２人のエキスパート間では、プレイヤーＰ１のクエリに対する支援を提供する際に、エキスパートＥ１よりも、エキスパートＥ５は、より高いマッチング値を有し、より良い品質のマッチングを示すことができるので、エキスパートＥ５は、より良く適していることができる。
【０１２４】
エキスパート選択プロセス５７０によって実行されるようなエキスパート選択は、前述したように、任意の数の選択プロセスまたは基準を利用することができる。説明のために、最高品質のマッチングを使用した場合、マッチングベクトルの最高値は、最高品質のマッチングを示すことができる。その場合、マッチングエンジン１２３は、図４とともに整列する、エキスパートＥ５の選択を出力４３５として提供する。
【０１２５】
図５Ｂは、本開示の一実施形態による、ゲームアプリケーションをプレイする、対応するプレイヤーまたはエキスパートのゲームコンテキスト４２０について収集される情報のタイプの図解である。ゲームコンテキスト４２０は、プレイヤーまたはエキスパートに関連付けられることができる。例えば、図５Ａの例に従い、プレイヤーＰ１、及びエキスパートのプール４４０内のエキスパートについてのそれぞれのゲームコンテキストは、同様に構成され得る。
【０１２６】
単に説明のために、全体的なゲームコンテキスト４２０は、対応するプレイヤーまたはエキスパートのゲームプレイのさまざまなポイントでキャプチャされ得る。すなわち、定義されたタイムスタンプごとに１つずつ、複数のゲームコンテキストをキャプチャすることができる。示されるように、ゲームコンテキストは、データのブロックとして配置され得る。垂直方向のスライスは、画定され、ゲームステート５０１についての垂直方向のスライス５９５、ユーザデータ５０２についての垂直方向のスライス５９６、エキスパートデータ５０３についての垂直方向のスライス５９７、及びタイムスタンプ５０４についての垂直方向のスライス５９８を含む。
【０１２７】
加えて、各水平方向のスライスは、対応するタイムスタンプについて特定のゲームコンテキストを画定する。例えば、時間ｔ０で水平方向のスライス５０５はゲームコンテキスト４２０−ｔ０を画定し、時間ｔ１で水平方向のスライス５０６はゲームコンテキスト４２０−ｔ１を画定し．．．時間ｔｎで水平方向のスライス５０７はゲームコンテキスト４２０−ｔｎを画定する。すなわち、各水平方向のスライス（特定のゲームコンテキストに対応する）に対して、それぞれのスライス中の各パラメータについての情報を提供する。例えば、時間ｔ０及び対応するゲームコンテキスト４２０−ｔ０について、ゲームステート５０１に対応する垂直方向のスライス５９５に対して、水平方向のスライス５０５の対応する交点は、１つ以上のパラメータ、例えば、キャラクター、キャラクターの種族、クエスト、レベル、位置、ロードアウト、キャラクターのスキルセットなどに関する情報を含む。
加えて、時間ｔ０及び対応するゲームコンテキスト４２０−ｔ０について、ユーザデータ５０２に対応する垂直方向のスライス５９６に対して、水平方向のスライス５０５の対応する交点は、１つ以上のパラメータ、例えば、ユーザスキルセット、プレイのリーセンシー、ヘルプ能力因子（ヘルプを受諾する意欲あるいは意思表明）、ユーザ格付けまたはランキングなどに関する情報を含む。
また、時間ｔ０及び対応するゲームコンテキスト４２０−ｔ０について、エキスパートデータ５０３に対応する垂直方向のスライス５９６に対して、水平方向のスライス５０５の対応する交点は、１つ以上のパラメータ、例えば、エキスパートのスキルセット、プレイのリーセンシー、エキスパートがスポイラーに関してどの程度ルーズかを示すスポイラー係数、エキスパート格付け、エキスパートランキング、可用性、ヘルプ履歴などに関する情報を含む。ゲームステート５０１、ユーザデータ５０２、及びエキスパートデータ５０３を含むゲームコンテキスト４２０中のカテゴリに関する情報は、例示目的のために提供されるに過ぎず、ゲームコンテキストについて画定されたカテゴリのそれぞれの間で移動する、または各カテゴリ間で共有される、または各カテゴリ中に異なる情報を含むことができる。
【０１２８】
図６Ａは、本開示の一実施形態による、ユーザＰ１についてのユーザインタフェース１１０−Ｐ１の図解であり、ユーザインタフェースは、プレイヤーＰ１のゲームプレイ中にリアルタイム支援を提供する。プレイヤーＰ１は、ゲームアプリケーションをプレイしていることができる。支援は、ヘルプセッションを通じて提供され、ヘルプセッションは、通信セッションを介してプレイヤーＰ１をエキスパートに接続することによって実施される。
【０１２９】
図６Ａでは、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを通じて、プレイヤーＰ１のゲームプレイを表すデータとともに配信され得る。示されるように、ユーザインタフェース１１０−Ｐ１は、第一画面またはウィンドウにおける現在のゲームプレイのスクリーンショット５１０’を示す。例えば、スクリーンショットは、先に導入されたように、ゲームアプリケーション、Ｇｏｄ  ｏｆ  ＷａｒでＫｒａｔｏｓ５１１と敵の戦闘員５１２との間のインタラクションを示すことができる。
【０１３０】
加えて、ユーザインタフェース１１０−Ｐ１は、ヘルプセッションを示す第二画面またはウィンドウ６１０を示す。ウィンドウ６１０は、プレイヤーＰ１とエキスパートとの間の双方向のテキスト会話を表示する。説明のために、プレイヤーＰ１はＲｉｖｅｒ  Ｈｓｕと名付けられることができ、エキスパートはＡｓｐｅｎと名付けられることができる。図６Ａのヘルプセッションは、リアルタイムに生成されるため、ヘルプセッションを通じて提供される情報は、プレイヤーＰ１のゲームプレイをサポートするように、プレイヤーＰ１のゲームプレイと同時に配信される。特に、ウィンドウ６１０は、プレイヤーＰ１（Ｒｉｖｅｒ）とエキスパート（Ａｓｐｅｎ）との間で進行中の会話の間に行われているテキストエントリを示す。ヘルプセッションの会話では、エキスパートは、プレイヤーＰ１が直面している問題をすばやく特定し、その問題の解決に支援を提供している。例えば、プレイヤーＰ１がレベル３の終わりにボスを倒すことができないという問題があり得る。エキスパート（Ａｓｐｅｎ）は、プレイヤーＰ１（Ｒｉｖｅｒ）によって制御されているゲームプレイ中にプレイヤーＰ１に指示を提供している。プレイヤーＰ１がボスに勝ち、ダイアログの最後にエキスパートに感謝したので、これらの指示は役に立った。
【０１３１】
図６Ｂは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤー（例えば、プレイヤーＰ１）のゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解である。支援は、ヘルプセッションを通じて提供され、ヘルプセッションは、通信セッションを介してプレイヤーＰ１をエキスパートＥ５（Ａｓｐｅｎ）に接続することによって実施される。図６Ｂは、図６Ａと整列しており、ここではエキスパートＥ５及びプレイヤーＰ１は、ヘルプセッションに参加している。
【０１３２】
図６Ｂでは、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを介して、プレイヤーＰ１のゲームプレイを表すデータとともに配信され得る。示されるように、ユーザインタフェース１１０’−Ｐ１は、第一画面またはウィンドウにおける現在のゲームプレイのスクリーンショット５１０”を示す。例えば、スクリーンショットは、先に導入されたように、ゲームアプリケーション、Ｇｏｄ  ｏｆ  ＷａｒでＫｒａｔｏｓ５１１と敵の戦闘員５１２との間のインタラクションを示すことができる。
【０１３３】
加えて、ユーザインタフェース１１０’−Ｐ１は、ヘルプセッションを示す第二画面またはウィンドウ６３０を示す。ヘルプセッションでは、前述したように、エキスパート及びプレイヤーＰ１は、共有プレイ機能に同意していることができ、プレイヤーＰ１のゲームプレイの制御は、エキスパートによって引き継がれることができる。一実施形態では、ユーザインタフェース１１０’−Ｐ１は、ヘルプセッション中の音声通信セッションと同期してエキスパートのリアルタイムビデオを表示するウィンドウ６５０を含むことができる。エキスパートは、エキスパートとプレイヤーＰ１との間のオーディオと同期する埋め込みビデオを通じて、指示または支援を提供していることができる。さらに、共有プレイ機能では、エキスパートは、プレイヤーのゲームプレイの制御を引き継いだ。例えば、エキスパートは、以前にプレイヤーＰ１が達成することができなかった戦闘で、キャラクターＫｒａｔｏｓ５１１が敵の戦闘員５１２を倒すように制御を引き継ぐことができた。エキスパートが制御する場合、ゲームプレイは、画面またはウィンドウ５１０”に示される。
【０１３４】
さらに、ウィンドウ６３０は、エキスパートによって提供される支援に関連する情報を提供することができる。例えば、敵の戦闘員５１２と戦うときにエキスパートが行う制御入力（例えば、入力コマンド）シーケンスを提供することができる。単に説明のために、エキスパートは、プレイヤーＰ１に、敵の戦闘員５１２（ボスとして）を倒すための鍵が「ハンマーブローシーケンス」を実行することであると伝えることができた。プレイヤーＰ１は、そのシーケンスを知らない場合があり、またはそのシーケンスを実行することに熟練していない場合があり、エキスパートが敵の戦闘員５１２を倒すためにゲームプレイの制御を引き継ぐことを認可した。エキスパートがゲームプレイを制御するための入力コマンドを送信しているときに、関連したコントローラの入力またはアクションをウィンドウ６３０に表示する。例えば、コントローラ入力６６０のシーケンスは、右ボタン、左ボタン、Ａボタン、Ａボタン、Ｏボタン、Ｘボタンなどを含むことができる。
【０１３５】
図８は、本開示のさまざまな実施形態の態様を行うために使用され得る例示的なデバイス８００のコンポーネントを図示する。例えば、図８は、一実施形態に従い、ヘルプセッション中にゲームアプリケーションをプレイするプレイヤーをエキスパートに接続することにより、そのプレイヤーにリアルタイム支援を提供するなど、ユーザのサポートにサービスを提供するデバイスを実装するのに適している例示的なハードウェアシステムを示す。このブロック図は、本開示の一実施形態を実施するのに適している、パーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、または他のデジタルデバイスであるか、またはそれらが組み込まれたデバイス８００を示す。デバイス８００は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央処理装置（ＣＰＵ）８０２を含む。
ＣＰＵ８０２は、１つ以上の同種または異種処理コアから構成され得る。例えば、ＣＰＵ８０２は、１つ以上の処理コアを有する１つ以上の汎用マイクロプロセッサである。さらなる実施形態は、前述したように、少なくともヘルプセッションコントローラ１２０を通じて実装される場合、メディア及びインタラクティブエンターテイメントアプリケーションなどの高度に並列で計算集約型のアプリケーション、またはライブヘルプセッションもしくは記録されたヘルプセッションのいずれかを通じてリアルタイム支援を提供するように構成されるアプリケーションに特に適合されるマイクロプロセッサアーキテクチャを備える１つ以上のＣＰＵを使用して実装され得る。デバイス８００は、支援を要求するプレイヤー（例えば、ゲームコンソール）にローカライズされる、またはそのプレイヤー（例えば、バックエンドサーバプロセッサ）からリモートにあることができる。
【０１３６】
メモリ８０４は、ＣＰＵ８０２による使用のためのアプリケーション及びデータを格納する。ストレージ８０６は、アプリケーション及びデータのために不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、信号伝送及び記憶媒体に加えて、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びＣＤ‐ＲＯＭ、ＤＶＤ‐ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ‐ＤＶＤ、または他の光ストレージデバイスを含むことができる。ユーザ入力デバイス８０８は、１人以上のユーザからデバイス８００にユーザ入力を通信し、その例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画またはビデオレコーダ／カメラ、ジェスチャを認識するための追跡デバイス、及び／またはマイクロフォンを含むことができる。
ネットワークインタフェース８１４は、電子通信ネットワーク経由で他のコンピュータシステムとデバイス８００が通信することを可能にし、ローカルエリアネットワーク、及びインターネットなどのワイドエリアネットワーク経由の有線または無線通信を含むことができる。オーディオプロセッサ８１２は、ＣＰＵ８０２、メモリ８０４、及び／またはストレージ８０６によって提供される命令及び／またはデータからアナログまたはデジタルオーディオ出力を生成するように適合される。ＣＰＵ８０２、メモリ８０４、データストレージ８０６、ユーザ入力デバイス８０８、ネットワークインタフェース８１０、及びオーディオプロセッサ８１２を含むデバイス８００のコンポーネントは、１つ以上のデータバス８２２を介して接続される。
【０１３７】
グラフィックスサブシステム８１４は、データバス８２２、及びデバイス８００のコンポーネントにさらに接続される。グラフィックスサブシステム８１４は、グラフィックスプロセッシングユニット（ＧＰＵ）８１６及びグラフィックスメモリ８１８を含む。グラフィックスメモリ８１８は、出力画像の各画素についての画素データを格納するために使用されるディスプレイメモリ（例えば、フレームバッファ）を含む。グラフィックスメモリ８１８は、ＧＰＵ８１６と同じデバイスに統合されてもよく、ＧＰＵ８１６を有する別個のデバイスとして接続されてもよく、及び／またはメモリ８０４内に実装されてもよい。
画素データは、ＣＰＵ８０２から直接にグラフィックスメモリ８１８に提供され得る。これに代えて、ＣＰＵ８０２は、所望の出力画像を画定するデータ及び／または命令をＧＰＵ８１６に提供し、それらから、ＧＰＵ８１６は、１つ以上の出力画像の画素データを生成する。所望の出力画像を画定するデータ及び／または命令は、メモリ８０４及び／またはグラフィックスメモリ８１８に格納され得る。一実施形態では、ＧＰＵ８１６は、あるシーンについてのジオメトリ、照明、シェーディング、テクスチャリング、動き、及び／またはカメラパラメータを定義する命令及びデータから出力画像についての画素データを生成するための３Ｄレンダリング機能を含む。ＧＰＵ８１６は、シェーダプログラムを実行することが可能な１つ以上のプログラム可能な実行部をさらに含むことができる。
【０１３８】
グラフィックスサブシステム８１４は、グラフィックスメモリ８１８からの画像についての画素データを定期的に出力して、表示装置８１０に表示する、またはプロジェクションシステム８４０によって投影する。表示装置８１０は、ＣＲＴ、ＬＣＤ、プラズマ、及びＯＬＥＤディスプレイを含む、デバイス８００からの信号に応答して視覚情報を表示することが可能な任意のデバイスであることができる。デバイス８００は、例えば、アナログまたはデジタル信号を表示装置８１０に提供することができる。
【０１３９】
特定の実施形態は、ライブヘルプセッション（例えば、通信セッションを通じてプレイヤーをエキスパートに接続する）または記録されたヘルプセッション（例えば、通信セッションを介して送信される記録されたヘルプセッションにプレイヤーを接続する）を通じて、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援の提供を実証するために提供されたが、これらは例として説明されており、限定するものとして説明されていない。本開示を読んだ当業者は、本開示の趣旨及び範囲内に入る追加の実施形態を実現するであろう。
【０１４０】
本実施形態のゲームへのアクセスを提供するような、アクセスサービスは、広範な地域にわたり配信され、クラウドコンピューティングを使用することが多いことに留意するべきである。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合には仮想化されたリソースがインターネット経由のサービスとして提供されるコンピューティングのスタイルである。ユーザは、ユーザをサポートする「クラウド」のテクノロジインフラストラクチャのエキスパートである必要はない。
クラウドコンピューティングは、インフラストラクチャアズアサービス（ＩａａＳ）、プラットフォームアズアサービス（ＰａａＳ）、及びソフトウェアアズアサービス（ＳａａＳ）などのさまざまなサービスに分けることができる。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされるオンラインで、ビデオゲームなどの共通のアプリケーションを提供することが多く、ソフトウェア及びデータは、クラウド内のサーバに格納される。クラウドという用語は、インターネットがコンピュータネットワーク図にどのように描かれているかに基づいて、インターネットのメタファとして使用され、メタファが隠す複雑なインフラストラクチャの抽象的概念である。
【０１４１】
ゲーム処理サーバ（ＧＰＳ）（または簡単に「ゲームサーバ」）は、シングルプレイヤービデオゲーム及びマルチプレイヤービデオゲームをプレイするためにゲームクライアントにより使用される。インターネット上でプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームはプレイヤーからのデータを収集し、それを他のプレイヤーに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホスティングするための別のサーバが必要となる。他の実施形態では、ＧＰＳは、プレイヤーとそれぞれのゲームプレイデバイスとの間の通信を確立し、集中ＧＰＳに頼ることなく情報を交換する。
【０１４２】
専用ＧＰＳは、クライアントとは独立して実行されるサーバである。このようなサーバは、通常、データセンター内に位置付けられた専用ハードウェア上で実行され、より大きい帯域幅及び専用の処理パワーを提供する。専用サーバは、大部分のＰＣベースのマルチプレイヤーゲームのためのゲームサーバをホスティングするのに好ましい方法である。大規模多人数同時参加型オンラインゲームは、通常ゲームタイトルを所有するソフトウェア会社がホストする専用サーバで実行され、コンテンツを制御及び更新することができる。
【０１４３】
ユーザは、クライアントデバイスによってリモートサービスにアクセスし、これらのクライアントデバイスは、少なくともＣＰＵ、ディスプレイ及びＩ／Ｏを含む。クライアントデバイスは、ＰＣ、携帯電話、ネットブック、ＰＤＡなどであることができる。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントによって使用されるデバイスのタイプを認識し、採用される通信方法を調整する。他の場合には、クライアントデバイスは、ＨＴＭＬなどの標準的な通信方法を使用して、インターネット経由でゲームサーバ上のアプリケーションにアクセスする。
【０１４４】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステム構成によって実施し得る。本開示は、有線ベースのネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することもできる。
【０１４５】
所与のビデオゲームまたはゲームアプリケーションが特定のプラットフォーム、及び特定の関連したコントローラデバイスのために開発され得ることを理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介してこのようなゲームを利用可能にするときに、ユーザは、異なるコントローラデバイスによってビデオゲームにアクセスすることができる。例えば、ゲームは、ゲームコンソール及びその関連したコントローラのために開発されている可能性があるが、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスしているかもしれない。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス（この事例において、キーボード及びマウス）により生成されることが可能である入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することが可能である。
【０１４６】
別の実施例において、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動型デバイスを介してクラウドゲームシステムにアクセスすることができる。この事例において、クライアントデバイス及びコントローラデバイスは、同一のデバイス内に合わせて一体化され、入力は検出されたタッチスクリーンの入力／ジェスチャとして提供され。このようなデバイスの場合、入力パラメータ構成は、ビデオゲームについてのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。
例えば、ボタン、方向パッド、または他のタイプの入力素子は、ビデオゲームの実行中に表示され、またはオーバーレイされ、ユーザがゲーム入力を生成するためにタッチすることが可能であるタッチスクリーン上の位置を示すことができる。特定の向きにおけるスワイプまたは特定のタッチモーションなどのジェスチャも、ゲーム入力として検出され得る。一実施形態において、例えば、ビデオゲームのゲームプレイを開始する前に、タッチスクリーン上での制御の操作にユーザを慣れさせるために、ゲームプレイ用のタッチスクリーンを介して入力を提供する方法を示す、チュートリアルをユーザに提供することが可能である。
【０１４７】
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスについての接続ポイントとして機能する。すなわち、コントローラデバイスは、無線または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスに入力を送信する。クライアントデバイスは、これらの入力を順に処理し、その後ネットワーク（例えば、ルータなどのローカルネットワークデバイスを介してアクセスされる）を介してクラウドゲームサーバに入力データを送信することができる。しかしながら、他の実施形態において、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、これらのような入力を最初にクライアントデバイスを介して通信する必要がなく、ネットワーク化されたデバイスであることが可能である。
例えば、コントローラは、ローカルネットワークデバイス（前述のルータなど）に接続し、クラウドゲームサーバにデータを送信し、このクラウドゲームサーバからデータを受信することができる。したがって、クライアントデバイスは、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイ上にレンダリングすることを必要とされたままであり得るが、コントローラがクラウドゲームサーバにネットワーク経由で直接に入力を送信することを可能にし、クライアントデバイスをバイパスすることにより、入力レイテンシを低減することが可能である。
【０１４８】
一実施形態において、ネットワーク化されたコントローラ及びクライアントデバイスは、ある特定のタイプの入力をコントローラからクラウドゲームサーバへ直接に、他のタイプの入力をクライアントデバイスを介して送信するように構成することが可能である。例えば、検出がコントローラ自体から離れた任意の追加のハードウェアまたは処理に依存しない入力は、コントローラからクラウドゲームサーバへネットワークを介して直接に送信され、クライアントデバイスをバイパスすることが可能である。これらのような入力は、ボタン入力、ジョイスティック入力、埋め込み型モーション検知入力（例えば、加速度計、磁力計、ジャイロスコープ）などを含むことができる。しかしながら、追加のハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバに送信されることが可能である。
これらは、クラウドゲームサーバに送信する前に、クライアントデバイスにより処理され得るゲーム環境から捕捉されたビデオまたはオーディオを含むことができる。加えて、クライアントデバイスは、コントローラのモーション検知ハードウェアからの入力を捕捉されたビデオと併せて処理し、コントローラの位置及び動きを検出することができ、その後、クライアントデバイスは、その位置及び動きをクラウドゲームサーバに通信する。さまざまな実施形態に従いコントローラデバイスもクライアントデバイスから、またはクラウドゲームサーバから直接にデータ（例えば、フィードバックデータ）を受信することができることを理解されたい。
【０１４９】
本明細書に記載される実施形態が任意のタイプのクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）またはプロジェクションシステムである。図９は、本開示の一実施形態による、ヘッドマウントディスプレイ１０２のコンポーネントを図示する図解を示す。ＨＭＤ１０２は、ライブヘルプセッションまたは記録されたヘルプセッションのいずれかを介して、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中に提供するリアルタイム支援を受信するように構成され得る。
【０１５０】
ヘッドマウントディスプレイ１０２は、プログラム命令を実行するためのプロセッサ９００を含む。メモリ９０２は、ストレージ目的のために提供され、揮発性メモリ及び不揮発性メモリの両方を含むことができる。ユーザが見ることができる視覚インタフェースを提供するディスプレイ９０４を含む。ヘッドマウントディスプレイ１０２についての電源としてバッテリ９０６を提供する。モーション検知モジュール９０８は、磁力計９１０Ａ、加速度計９１２及びジャイロスコープ９１４などの、さまざまな種類のモーションセンシティブハードウェアのいずれかを含んでもよい。
【０１５１】
加速度計は、加速度及び重力に誘起された反力を測定するためのデバイスである。異なる方向の加速度の大きさと方向とを検出するために、単軸モデル及び多軸モデルを利用できる。加速度計は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、３つの加速度計９１２を使用して２つの角度（ワールド空間ピッチ及びワールド空間ロール）についての絶対参照を与える、重力の方向を提供する。
【０１５２】
磁気計は、ヘッドマウントディスプレイの近くの磁場の強さと方向を測定する。一実施形態において、３つの磁力計９１０Ａは、ヘッドマウントディスプレイ内で使用され、ワールド空間ヨー角度についての絶対参照を確保する。一実施形態では、磁力計は、±８０マイクロテスラである、地磁気にわたるように設計される。磁力計は、金属の影響を受け、実際のヨーに関して単調であるヨー測定を提供する。環境中の金属が原因で磁場が歪み、それによってヨー測定において歪みが発生する場合がある。必要に応じて、ジャイロスコープまたはカメラなどの他のセンサからの情報を使用して、この歪みを較正することができる。一実施形態において、加速度計９１２は、磁力計９１０Ａと合わせて使用され、ヘッドマウントディスプレイ１０２の傾き及び方位を取得する。
【０１５３】
ジャイロスコープは、角運動量の原理に基づいて、向きを測定し、または向きを維持するためのデバイスである。一実施形態では、３つのジャイロスコープ９１４は、慣性感知に基づいてそれぞれの軸（ｘ、ｙ及びｚ）にわたる動きについての情報を提供する。ジャイロスコープは、高速回転を検出するのに有用である。ただし、ジャイロスコープは、絶対基準が存在しないと、時間の経過とともにドリフトしてしまう可能性がある。これには、定期的にジャイロスコープをリセットする必要があり、これは、オブジェクトの視覚追跡、加速度計、磁力計などに基づく位置/向きの判定など、他の入手可能な情報を使用して行うことができる。
【０１５４】
実環境の画像及び画像ストリームをキャプチャするために、カメラ９１６を提供する。後向きのカメラ（ユーザがヘッドマウントディスプレイ１０２のディスプレイを見ているときに、ユーザから離れる方向に向けられる）及び前向きのカメラ（ユーザがヘッドマウントディスプレイ１０２のディスプレイを見ているときに、ユーザに向けられる）を含む、複数のカメラをヘッドマウントディスプレイ１０２に含めることができる。加えて、デプスカメラ９１８は、実環境におけるオブジェクトの奥行き情報を感知するためにヘッドマウントディスプレイ１０２に含まれることができる。
【０１５５】
一実施形態において、ＨＭＤの前面に一体化されるカメラを使用して、安全についての警告を提供することができる。例えば、ユーザが壁またはオブジェクトに接近している場合に、ユーザに警告することができる。一実施形態では、この使用は、室内の物理的オブジェクトの輪郭図によって提供され、それらの存在をユーザに警告することができる。輪郭は、例えば、仮想環境内のオーバーレイであることができる。いくつかの実施形態において、ＨＭＤユーザは、床などにオーバーレイされる、基準マーカーへのビューを提供され得る。例えば、マーカーは、ユーザがゲームをプレイする部屋のどこが中心であるかの基準をユーザに提供することができる。これは、例えば、ユーザが部屋の中で壁または他のオブジェクトに衝突することを回避するためにどこを動くべきかの視覚情報をユーザに提供することができる。また触覚警告、及び／または音声警告をユーザへ提供し、ユーザがＨＭＤを装着し、ＨＭＤを用いてゲームをプレイするまたはコンテンツをナビゲートするときについてのさらなる安全性を提供することが可能である。
【０１５６】
ヘッドマウントディスプレイ１０２は、オーディオ出力を提供するためのスピーカ９２０を含む。また、周囲環境からの音、ユーザによって行われるスピーチなどを含む、実際の環境からのオーディオをキャプチャするために、マイクロフォン９２２を含むことができる。ヘッドマウントディスプレイ１０２は、ユーザに触覚フィードバックを提供するための触覚フィードバックモジュール９２４を含む。一実施形態では、触覚フィードバックモジュール９２４は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ１０２の動き及び／または振動を生じさせることが可能である。
【０１５７】
ＬＥＤ９２６は、ヘッドマウントディスプレイ１０２のステータスの視覚インジケータとして提供される。例えば、ＬＥＤは、バッテリレベル、電源投入などを示すことができる。カードリーダー９２８は、ヘッドマウントディスプレイ１０２がメモリカードへ、またこのメモリカードからの情報を読み出し、書き込むことを可能にするために提供される。ペリフェラルデバイスの接続、または他のデバイス、例えば、他のポータブルデバイス、コンピュータなどへの接続を可能にするためのインタフェースの一例としてＵＳＢインタフェース９３０を含む。ヘッドマウントディスプレイ１０２のさまざまな実施形態では、ヘッドマウントディスプレイ１０２のより高い接続性を可能にするために、さまざまな種類のインタフェースのいずれかが含まれ得る。
【０１５８】
Ｗｉ−Ｆｉモジュール９３２は、無線ネットワークテクノロジーを介してインターネットへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ１０２は、他のデバイスへの無線接続を可能にするためのＢｌｕｅｔｏｏｔｈモジュール９３４を含む。また、他のデバイスへの接続のために通信リンク９３６を含むことができる。一実施形態では、通信リンク９３６は、無線通信のために赤外線伝送を利用する。他の実施形態では、通信リンク９３６は、他のデバイスとの通信のためにさまざまな無線または有線伝送プロトコルのいずれかを利用することができる。
【０１５９】
ユーザに入力インタフェースを提供するために、入力ボタン／センサ９３８を含む。ボタン、タッチパッド、ジョイスティック、トラックボールなどのような、さまざまな種類の入力インタフェースのいずれかを含むことができる。超音波テクノロジーを介して他のデバイスとの通信を容易にするためのヘッドマウントディスプレイ１０２に、超音波通信モジュール９４０を含むことができる。
【０１６０】
ユーザからの生理学的データの検出を可能にするために、バイオセンサ９４２を含む。一実施形態では、バイオセンサ９４２は、ユーザの皮膚を通じてユーザの生体電気信号を検出するための１つ以上の乾式電極を含む。
【０１６１】
３次元の物理環境中に置かれるエミッタ（例えば、赤外線基地局）からの信号に応答するために、フォトセンサ９４４を含む。ゲームコンソールは、フォトセンサ９４４及びエミッタからの情報を分析して、ヘッドマウントディスプレイ１０２に関連する位置及び向きの情報を決定する。
【０１６２】
加えて、視線追跡システム９６５が含まれ、ユーザの視線の追跡を可能にするように構成される。例えば、システム９６５は、ユーザの目の画像をキャプチャする視線追跡カメラを含むことができ、これらの画像を分析し、ユーザの視線方向を決定する。一実施形態では、ユーザの視線方向についての情報を利用して、ビデオレンダリングに影響することができる。例えば、さらなる詳細、中心窩レンダリングによる高解像度、中心窩領域に表示されるパーティクルシステム効果の高解像度、中心窩領域の外側に表示されるパーティクルシステム効果の低解像度、またはユーザが見ている領域におけるより高速な更新などを提供することによって、視線方向におけるビデオレンダリングを優先する、または強調することができる。
【０１６３】
上記のヘッドマウントディスプレイ１０２の構成要素は、ヘッドマウントディスプレイ１０２に含まれ得る単なる例示的な構成要素にすぎないものとして説明されている。本開示のさまざまな実施形態では、ヘッドマウントディスプレイ１０２は、さまざまな前述のコンポーネントのいくつかを含んでもよいし、含まなくてもよい。ヘッドマウントディスプレイ１０２の実施形態は、本明細書に記述されるような本開示の態様を容易にする目的のために、現在記述されていないが、当該技術において既知である他のコンポーネントを追加で含むことができる。
【０１６４】
当業者は、本開示のさまざまな実施形態では、前述のヘッドマウントデバイスがさまざまなインタラクティブ機能を提供するためにディスプレイに表示されるインタラクティブアプリケーションと組み合わせて利用され得ることを理解するであろう。本明細書で説明される例示的な実施形態は、単に例として提供されるものであり、限定として提供されるものではない。
【０１６５】
本明細書に定義されるさまざまな実施形態が本明細書に開示されるさまざまな特徴を使用して特定の実施形態に組み合わされる、または組み立てられることができることを理解するであろう。したがって、提供される実施例は、さまざまな要素を組み合わせて、さらに多くの実施形態を定義することにより可能であるさまざまな実施形態に限定されず、いくつかの可能な実施例であるに過ぎない。いくつかの実施例において、いくつかの実施形態は、開示された、または均等な実施形態の趣旨から逸脱することなく、より少ない要素を含むことができる。
【０１６６】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステム構成によって実施し得る。本開示の実施形態はまた、有線ベースまたは無線ネットワークを介してリンクされる、遠隔処理デバイスによりタスクが実施される、分散型コンピューティング環境で実践されることが可能である。
【０１６７】
上記の実施形態を念頭に置いて、本開示の実施形態がコンピュータシステムに格納されたデータを含むさまざまなコンピュータ実装の動作を使用し得ることを理解されたい。これらの動作は、物理量の物理的処置を必要とする動作である。本開示の実施形態の部分を形成する、本明細書に記載されているあらゆる動作は、有用な機械動作である。本発明の実施形態はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は必要な目的のために特別に構成することができ、または装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動されまたは構成される汎用コンピュータとすることができる。特に、本明細書の教示に従って書かれたコンピュータプログラムと共に、さまざまな汎用マシンを使用することができる、または必要な動作を実行するために、より特殊化した装置を構築することによって、さらに便利にすることができる。
【０１６８】
本開示は、コンピュータ可読媒体上のコンピュータ可読コードとして具体化することもできる。コンピュータ可読媒体は、データを格納することができる任意のデータストレージデバイスであり、このデータは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ）、読み取り専用メモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、ならびに他の光学式及び非光学式データ記憶デバイスが含まれる。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク結合コンピュータシステム上に分散されたコンピュータ可読有形媒体が含まれ得る。
【０１６９】
本方法の動作を特定の順序で説明したが、他の維持管理動作が動作間で実行されてもよく、または動作がわずかに異なる時間で行われるように動作が調整されてもよく、またはオーバーレイ動作の処理が所望の方法で実行される限り、処理に関連するさまざまな間隔で処理操作の発生を可能にするシステムに分散されてもよいことが理解されるべきである。
【０１７０】
上記の開示は、理解を明確にするためにある程度詳細に説明したが、添付の特許請求の範囲内で、特定の変更及び修正を実施することができることは明らかであろう。したがって、本実施形態は例示的であって限定的ではないと見なされるべきであり、本開示の実施形態は本明細書に記載された詳細に限定されるものではなく、添付の特許請求の範囲及び均等物の範囲内で修正し得る。
【図１Ａ】
2021518201.tif 000003
【図１Ｂ】
2021518201.tif 000004
【図１Ｃ】
2021518201.tif 000005
【図２】
2021518201.tif 000006
【図３Ａ】
2021518201.tif 000007
【図３Ｂ】
2021518201.tif 000008
【図４Ａ】
2021518201.tif 000009
【図４Ｂ】
2021518201.tif 000010
【図５Ａ】
2021518201.tif 000011
【図５Ｂ】
2021518201.tif 000012
【図６Ａ】
2021518201.tif 000013
【図６Ｂ】
2021518201.tif 000014
【図７】
2021518201.tif 000015
【図８】
2021518201.tif 000016
【図９】
2021518201.tif 000017
【国際調査報告】
2021518201.tif 000018
2021518201.tif 000019
2021518201.tif 000020