JP7299231B2 - ゲームアプリケーションのゲームプレイ中のプレイヤーのエキスパートヘルプへのリアルタイム接続 - Google Patents

ゲームアプリケーションのゲームプレイ中のプレイヤーのエキスパートヘルプへのリアルタイム接続 Download PDF

Info

Publication number
JP7299231B2
JP7299231B2 JP2020550150A JP2020550150A JP7299231B2 JP 7299231 B2 JP7299231 B2 JP 7299231B2 JP 2020550150 A JP2020550150 A JP 2020550150A JP 2020550150 A JP2020550150 A JP 2020550150A JP 7299231 B2 JP7299231 B2 JP 7299231B2
Authority
JP
Japan
Prior art keywords
expert
game
player
gameplay
context
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020550150A
Other languages
English (en)
Other versions
JP2021518201A (ja
Inventor
ベネデット ウォレン
ノッス ランドン
ハーマン アンドリュー
スリスーク トム
ロリンスキ チャド
シラジ パーサ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment LLC
Publication of JP2021518201A publication Critical patent/JP2021518201A/ja
Application granted granted Critical
Publication of JP7299231B2 publication Critical patent/JP7299231B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display

Description

本開示は、ゲームアプリケーションに関する。とりわけ、本開示は、ゲームアプリケーションをプレイするプレイヤーのゲームプレイのサポートにエキスパート支援を提供するための方法及びシステムを説明する。
処理能力が高くなるにつれ、ビデオゲームはより複雑で大規模になってきている。しかしながら、複雑さが増すと、ユーザにとっては、場合によって、ビデオゲームを介してナビゲートすること、及び/またはビデオゲームを完了することがますます困難となる。例えば、ビデオゲームは、より大規模になり、ユーザが利用できる数百万から数兆もの利用可能なオプションを含む場合がある。そのため、ユーザは、これらの利用可能なオプションのそれぞれを試すことさえできず、それらのオプションのどれが利用可能かを理解することさえできない。他の場合では、ユーザは、ナビゲートまたは解決がおそらく不可能であるビデオゲーム中のポイントに到達してしまう場合もある。
ユーザにとって、これは非常に頻繁に発生し、さらに、ユーザがゲームを進めるのが困難または不可能であることからゲームに不満を募らせるようになり、最終的にビデオゲームを中止するに至る。例えば、ビデオゲームのゲームプレイにおいて、ユーザは、ゲームプレイを進めるために、明らかなゲートウェイを通過してゲーム世界の別の部分に到達しようとしている場合がある。説明のために、ユーザは、ゲートウェイとして機能する滝を通過する必要があり、通過の際に利用可能なすべてのオプションを使い果たしたように思える場合を例にとる。実際には解決策が利用可能であり、それがわかっている場合には簡単(例えば、安定した岩を選んで滝を通り抜ける)だとしても、理由はどうあれ、エントリを得るための正しい進路または操作シーケンスをユーザが見つけられない場合がある。何時間も無駄にした後、ユーザは、先に進む方法を見つけることができずにゲームを中止して諦めるおそれもある。
本開示の実施形態は、このような背景の下になされたものである。
本開示の実施形態は、通信セッションを介してゲームアプリケーションをプレイするプレイヤーをエキスパートあるいは上級者に接続して、プレイヤーのゲームプレイ中にリアルタイム支援を提供することに関する。本開示のいくつかの発明の実施形態を以下に記載する。
一実施形態では、ゲーム支援を提供する方法を開示する。この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信する。この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。この方法は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されている。この方法は、第一ゲームプレイに関連する支援クエリを受信する。この方法は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも1人のエキスパートを決定する。この方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。この方法は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にする。
他の実施形態では、ゲーム支援を提供するためにコンピュータプログラムを格納する非一時的なコンピュータ可読媒体を開示する。このコンピュータ可読媒体は、ネットワークを介してバックエンドサーバにおいて、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信するためのプログラム命令を含む。コンピュータ可読媒体は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定するためのプログラム命令を含む。コンピュータ可読媒体は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定するためのプログラム命令を含み、エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成される。
コンピュータ可読媒体は、第一ゲームプレイに関連する支援クエリを受信するためのプログラム命令を含む。コンピュータ可読媒体は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを有する少なくとも1人のエキスパートを決定するためのプログラム命令を含む。コンピュータ可読媒体は、支援を得るために第一エキスパートを第一プレイヤーに割り当てるためのプログラム命令を含む。コンピュータ可読媒体は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にするためのプログラム命令を含む。
さらに他の実施形態では、プロセッサ、及びプロセッサに結合されるメモリを含み、このメモリがその中に命令を格納し、これらの命令がコンピュータシステムにより実行される場合に、ゲーム支援を提供する方法をコンピュータシステムに実行させる、コンピュータシステムを開示する。この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについてのプレイヤーの複数のゲームプレイに関連する情報を受信する。この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。
この方法は、情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されている。この方法は、第一ゲームプレイに関連する支援クエリを受信する。この方法は、第一プレイヤーの現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを含む少なくとも1人のエキスパートを決定する。この方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。この方法は、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間に通信セッションを生成して、第一エキスパートが第一プレイヤーへの支援をすることを可能にする。
本開示の他の態様は、本開示の原理を例示により示す添付の図面と併せて、以下の詳細な説明から明らかになるであろう。
本開示は、添付図面と併せて以下の詳細な説明を参照することでより良く理解されよう。
本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するために使用されるシステムを示し、ゲームアプリケーションは、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワークを介して実行していることができる。 本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、プレイヤーにローカルに実行しているゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムを示す。 本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、クラウドゲームネットワークを介して実行されるゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムを示す。 本開示の一実施形態による、ゲームクラウドシステム(GCS)中でアクセスを有効にし、ゲームアプリケーションをプレイするためのシステム図、及び通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するヘルプセッションの実装を示し、ゲームアプリケーションは、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワークを介して実行していることができる。 本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する方法におけるステップを示すフロー図である。 本開示の一実施形態による、ゲームアプリケーションをプレイして支援を要求するプレイヤーに提供される支援形式を決定する方法におけるステップを示すフロー図である。 本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムまたは方法におけるデータフローを示すデータフロー図である。 本開示の一実施形態による、支援を要求するプレイヤーのコンテキストに限定されるゲームステートデータを使用してローカルで実行するゲームアプリケーションをプレイするエキスパートのゲームプレイを示すデータフロー図であり、エキスパートのゲームプレイは、プレイヤーにストリーミングされる。 本開示の一実施形態による、ゲームアプリケーションをプレイするプレイヤーのゲームコンテキストのコレクション、及びプレイヤーのゲームプレイを進めるためにリアルタイム支援を提供するエキスパートの選択中にゲームアプリケーションのエキスパートのゲームコンテキストへのゲームコンテキストのマッチングの図解であり、セクションは、支援についてのプレイヤーによる要求に応答して行われる。 本開示の一実施形態による、ゲームアプリケーションをプレイする、対応するプレイヤーのゲームコンテキストについて収集される情報のタイプの図解である。 本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解であり、ユーザインタフェースは、プレイヤーとエキスパートとの間の双方向のテキストによる会話を表示するウィンドウを含む。 本開示の一実施形態による、音声通信セッションなどの通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解であり、ユーザインタフェースは、音声通信セッションと同期しているエキスパートのリアルタイムビデオを表示するウィンドウを含むことができ、エキスパートは、プレイヤーのゲームプレイの制御を引き継いだ。 本開示の一実施形態による、ゲームアプリケーションの存続期間中のエキスパートの可用性のボリュームを示すグラフであり、エキスパートは、リアルタイムでゲームアプリケーションをプレイするプレイヤーにリアルタイム支援を提供し、その上、グラフは、記録されたヘルプセッションの可用性を示し、そこでエキスパートは、ゲームアプリケーションをプレイするプレイヤーへの支援を提供する。 本開示のさまざまな実施形態の態様を行うために使用され得る例示的なデバイスのコンポーネントを図示する。 本開示の一実施形態に従って、示されるヘッドマウントディスプレイのコンポーネントを示す図解である。
以下の詳細な説明は、例示の目的で多くの特定の詳細を含むが、当業者であれば、以下の詳細に対する多くの変形及び変更が本開示の範囲内にあることを理解するであろう。したがって、以下に記載される本開示の態様は、一般性を失うことなく、かつ限定となることなく、この説明に続く特許請求の範囲に記載される。
概して、本開示のさまざまな実施形態は、通信セッションを介してプレイヤーをエキスパートあるいは上級者に接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステム及び方法を説明する。例えば、プレイヤーがゲームアプリケーションの一部分に行き詰まった場合、プレイヤーは、ユーザインタフェースを介して、ゲームコンソールまたはモバイルアプリケーション(例えば、モバイルデバイス上で実行される)などを介してヘルプを要求することができる。次いで、プレイヤーは、通信セッションを介して、より経験豊富なプレイヤー(例えば、エキスパート)に接続され、エキスパートは、ゲーム支援を提供する(例えば、エキスパートはプレイヤーが行き詰まりを解消するのを援助することができる)。
エキスパートは、彼らがプレイしたいかなるゲームについても、いつでもエキスパート自身を「利用可能」とマーク付けすることができる。エキスパートは、一般に、エキスパートとして登録した、及び/または資格を取得したプレイヤーである。プレイヤーがそのゲームについてヘルプを要求するときに、その要求は、援助することができる可能性が最も高い利用可能なエキスパートに送信される。エキスパートは、プレイヤーにマッチングし、ライブヘルプセッションを介して、またはヘルプセッションの以前の記録を介して接続され得る。エキスパートは、プレイヤーが苦労しているゲームのコンテキストに関連する彼らの能力に基づいて選択される。
一実施形態では、ヘルプ要求を受諾する第一エキスパートは、プレイヤーとのヘルプセッションを開始し、プレイヤーへのライブエキスパートのマッチングは、ライブヘルプセッションを提供するように構成されるライドヘイリングUber(登録商標)モデルに似ている。プレイヤーを助けることができるエキスパートに接続するために、クエスト、レベル、ロードアウト、位置、スキルなどのような、プレイヤーの現在のセッションに関する重要なデータをキャプチャする。次に、プレイヤーは、理想的にはゲームのその部分(例えば、プレイヤーが現在プレイしていて支援を必要としている部分)で既に勝利したエキスパート、及び理想的には同様のコンフィグレーションによってその部分で勝利したエキスパートとペアにされる。
ヘルプセッション中に、エキスパートは、テキスト、音声、ビデオ、及び/または埋め込みビデオを介して、ウェブ、モバイル、またはコンソールインタフェースからガイダンスを提供することができる。別の実施形態では、プレイヤーは、記録されたヘルプセッションを介してエキスパートに接続される。記録されたヘルプセッションは、所与のクエリ及び/またはゲームコンテキストに対して最適な支援を提供することができるため、ライブヘルプセッションを介してプレイヤーをエキスパートに接続する代わりに、プレイヤーは、記録されたヘルプセッションを介してエキスパートに接続される。一実施形態では、所与のクエリ及び/またはゲームコンテキストについて記録されたヘルプセッションは、ユーザ/プレイヤーのフィードバックに基づいてランク付けされ、これらのランク付けに基づいて選択される。
さまざまな実施形態の上記の一般的な理解により、さまざまな図面を参照して実施形態の例の詳細をここに説明する。
本明細書全体を通して、「ゲームアプリケーション」への参照は、入力コマンドの実行を通して指示される任意のタイプのインタラクティブアプリケーションを表現することを意味する。例示的な目的のみのために、インタラクティブアプリケーションは、ゲーム、ワードプロセッシング、ビデオ処理、ビデオゲーム処理などのためのアプリケーションを含む。さらに、ビデオゲーム及びゲームアプリケーションという用語は互いに置換可能である。
図1Aは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するために使用されるシステム10を示す。例えば、支援は、ゲームプレイをサポートするように構成されるユーザインタフェースを通じて提供されてもよい。ゲームアプリケーションは、本開示の一実施形態に従い、ローカルコンピューティングデバイス上で、またはクラウドゲームネットワーク経由で実行していることができる。
図1Aに示されるように、ゲームアプリケーションは、ユーザ5のクライアントデバイス100においてローカルに実行していることができる、またはクラウドゲームネットワークもしくはゲームクラウドシステムのバックエンドゲームサーバ205において動作するバックエンドゲーム実行エンジン211において実行していることができる。ゲーム実行エンジン211は、ゲームサーバ205の多くのゲームプロセッサ201のうちの1つの内で動作していることができる。いずれの場合も、クラウドゲームネットワークは、ヘルプセッション中の通信セッションを介してプレイヤーをエキスパートに接続することにより、プレイヤーにリアルタイム支援を提供するように構成される。
ヘルプセッションは、ゲームアプリケーションをプレイしているプレイヤーのゲームプレイ中に行われる。プレイヤーがユーザインタフェース110を介してヘルプを要求し、ユーザインタフェース110に提供されるヘルプセッション中のヘルプとインタラクトする(例えば、見る、聞く、提示するなど)ことができるように、クライアントデバイス100においてユーザインタフェース110は、ヘルプセッションをサポートすることができる。さらに、ゲームアプリケーションは、シングルプレイヤーモードまたはマルチプレイヤーモードにおいて実行していることができ、そこで本発明の実施形態は、両方の動作モードにマルチプレイヤー強化(例えば、支援、通信など)を提供する。
いくつかの実施形態において、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン(VM)を含むことができ、1つ以上の仮想マシンは、シングルプレイヤービデオゲームまたはマルチプレイヤービデオゲームのサポートにおけるホストのハイパーバイザに利用可能であるハードウェアリソースを利用してゲームプロセッサモジュール201を実行するように構成される。他の実施形態において、クラウドゲームネットワークは、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、そこで各ローカルコンピューティングデバイスは、シングルプレイヤービデオゲームまたはマルチプレイヤービデオゲームなどの、ビデオゲームのインスタンスを実行することができる。
例えば、マルチプレイヤーモードにおいて、ビデオゲームは、ローカルに実行しながら、同時にクラウドゲームネットワークは、各ローカルコンピューティングデバイスから情報(例えば、ゲームステートデータ)を受信し、その結果、ローカルコンピューティングデバイスのうちの1つ以上の全体を通してその情報を配信するので、各ユーザは、マルチプレイヤービデオゲームのゲーム環境内で他のユーザとインタラクトする(例えば、ビデオゲーム内の対応するキャラクターを通して)ことが可能である。その方式において、クラウドゲームネットワークは、マルチプレイヤーゲーム環境内の各ユーザについてのゲームプレイを調整し、組み合わせる。
図示されるように、システム10は、複数のインタラクティブゲームアプリケーションへのアクセスを提供するゲームプロセッサモジュール201を実行するゲームサーバ205を含む。ゲームサーバ205は、前述したように、クラウド内で利用可能である、任意のタイプのサーバコンピューティングデバイスであることができ、1つ以上のホスト上で実行する1つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ205は、ゲームプロセッサ201をサポートする仮想マシンを管理することができる。また、ゲームサーバ205は、追加のサービス及び/またはコンテンツをユーザ5に提供するように構成される。例えば、ゲームサーバは、通信セッションを介してゲームアプリケーションをプレイしているプレイヤーをエキスパートに接続して、リアルタイム支援を提供するように構成可能であり、そこでゲームサーバは、以下でさらに説明されるように、支援についての要求を受信し、プレイヤーを適切なエキスパートとマッチングさせ、プレイヤーのゲームプレイ中にプレイヤーをエキスパートにリアルタイムで接続するヘルプセッションを確立するように構成される。
クライアントデバイス100は、インターネットなどのネットワーク150経由でゲームアプリケーションへのアクセスを要求するために、そしてゲームサーバ205により実行されてユーザ5と関連する表示装置12及び/またはヘッドマウントディスプレイ(HMD)102に配信されるビデオゲームまたはゲームアプリケーションのインスタンスをレンダリングするように構成される。例えば、ユーザ5は、ゲームプロセッサ201上で実行するゲームアプリケーションのインスタンスを含むクライアントデバイス100を介してインタラクトしていることができる。また、クライアントデバイス100は、前述したように、ゲームアプリケーションのローカルな実行するように構成定されたゲーム実行エンジン111を含むことができる。
クライアントデバイス100は、ゲームコントローラ6、タブレットコンピュータ11、キーボード、及びビデオカメラによりキャプチャされるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス100は、ネットワーク150経由でゲームサーバ205に接続することが可能である少なくともメモリ及びプロセッサモジュールを含む任意のタイプのコンピューティングデバイスであり得る。クライアントデバイス100のいくつかの例は、ビデオゲームのインスタンスを実行するためにゲームサーバ205とインタラクトすることが可能である、パーソナルコンピュータ(PC)、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または任意の他のタイプのコンピューティングデバイスを含む。実施形態では、HMD102は、クライアントデバイス100の機能を実行するように構成され得る。
クライアントデバイス100は、レンダリングされた画像を受信し、レンダリングされた画像をディスプレイ12及び/またはHMD102に表示するように構成される。例えば、ネットワーク150を介して、レンダリングされた画像は、ユーザ5に関連してゲームサーバ205のゲーム実行エンジン211上で実行するゲームアプリケーションのインスタンスによって配信され得る。別の例では、ローカルゲーム処理を通じて、レンダリングされた画像は、ローカルゲーム実行エンジン111によって配信され得る。いずれの事例においても、クライアントデバイス100は、例えば、ゲームプレイを駆動するために使用される入力コマンドを介して、ユーザ5のゲームプレイと関連する実行エンジン211または111とインタラクトするように構成される。
さらに、クライアントデバイス100は、ゲームアプリケーションをプレイするときにゲームサーバ205とインタラクトし、ユーザ5のゲームプレイの1つ以上のゲームコンテキストをキャプチャして格納するように構成され、そこで各ゲームコンテキストは、ゲームプレイに関連する情報(例えば、ゲームステート、ユーザ情報など)を含む。さらに特に、ゲームサーバ205のゲームプロセッサ201は、ゲームアプリケーションをプレイするときに、ユーザ5のゲームプレイのゲームコンテキストを生成する、及び/または受信するように構成される。
別の実装では、ゲームコンテキストは、クライアントデバイス100上のローカルゲーム実行エンジン111により生成され、ネットワーク150経由でゲームプロセッサ201に出力され、配信され得る。さらに、ゲームコンテキストは、ゲームコンテキストジェネレータ122などを介して、クラウドネットワークにおいてゲームプロセッサ201内のゲーム実行エンジン211によって生成され得る。ゲームコンテキストは、クライアントデバイス100にローカルに格納される、及び/またはゲームサーバ205のコンテキストプロファイルデータベース142に格納され得る。
各ゲームコンテキストは、ゲームプレイに関連するメタデータ及び/または情報を含む。ゲームコンテキストは、レベルの途中など、ゲームアプリケーションをプレイする進行中のさまざまなポイントでキャプチャされ得る。説明のために、ゲームコンテキストは、プレイヤー(例えば、プレイヤーのキャラクター)がゲームアプリケーション内でいた位置、プレイヤーがゲームアプリケーション内でいる位置、プレイヤーがしたこと、プレイヤーまたはキャラクターが蓄積したアセット及びスキル、プレイヤーに提示されるクエストまたはタスク、ならびにプレイヤーがゲームアプリケーション内で向かう位置を決定するのに役立つことができる。
さらに、プレイヤーのゲームプレイ中にヘルプを要求しているプレイヤーをエキスパートにマッチングさせるときなどに、各ゲームコンテキスト中のメタデータ及び情報は、ユーザのゲームプレイに関連するサポートを提供する、及び/またはそれを提供するために分析されることができ、そこでゲームプレイは、ヘルプについての要求に関連する特定のコンテキストを含み、選択されたエキスパートは、そのコンテキストについてのヘルプを提供するのに最適である。具体的には、ゲームコンテキストに基づいて、クライアントデバイス100は、ゲームサーバ205とインタラクトしてユーザインタフェースを表示するように構成され、このユーザインタフェースは、通信セッションを介してゲームアプリケーションをプレイするプレイヤーをエキスパートに接続し、プレイヤーのゲームプレイ中にリアルタイム支援を提供することができる。
さらに特に、ゲームコンテキストは、そのポイントでゲームのステートを定義するゲームステートデータをも含む。例えば、ゲームステートデータは、ゲームキャラクター、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイ、ユーザ5のゲームプレイのゲーム世界内のキャラクターの位置、ゲームプレイのシーンまたはゲーム環境、ゲームアプリケーションのレベル、キャラクターのアセット(例えば、武器、ツール、爆弾など)、キャラクターの種類または種族(例えば、魔法使い、戦士など)、プレイヤーに提示されている現在のクエスト及び/またはタスク、ロードアウト、キャラクターのスキルセットなどを含むことができる。
そのようにして、ゲームステートデータは、ビデオゲーム中の対応するポイントで存在したゲーム環境の生成を可能にする。また、ゲームステートデータは、例えば、CPU、GPU、メモリ、レジスタ値、プログラムカウンタ値、プログラマブルDMAステート、DMAについてバッファリングされたデータ、オーディオチップステート、CD-ROMステートなど、ゲームプレイをレンダリングするために使用されるあらゆるデバイスのステートを含むことができる。ゲームステートデータは、ゲームステートデータベース145に格納される。
また、ゲームコンテキストは、プレイヤーに関連するユーザ及び/またはプレイヤー情報を含むことができる。一般的に、ユーザ/プレイヤーの保存データは、対応するプレイヤーについてのビデオゲームをパーソナライズする情報を含む。これは、プレイヤーのキャラクターと関連する情報を含むため、ビデオゲームは、そのプレイヤーに一意であることができるキャラクター(例えば、体型、種族、外観、衣服、武器など)によってレンダリングされる。そのようにして、ユーザ/プレイヤーの保存データは、対応するプレイヤーのゲームプレイについてキャラクターの生成を可能にし、そこでキャラクターは、ゲームコンテキストと関連するゲームアプリケーション内のそのポイントに対応するステートを有する。
例えば、ユーザ/プレイヤーの保存データは、プレイヤーのスキルまたは能力、プレイヤーがヘルプを求める全体的な準備状況、プレイヤーによるゲームアプリケーションをプレイするリーセンシー、ユーザ5がゲームをプレイするときに選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値、及び他のアセット情報などを含むことができる。また、ユーザ/プレイヤーの保存データは、例えば、プレイヤー5を識別するユーザプロファイルデータを含むことができる。ユーザ/プレイヤーの保存データをデータベース141に格納する。
一実施形態では、ゲームコンテキストは、スナップショット情報に関連し、このスナップショット情報は、対応するスナップショットと関連するビデオゲーム内のポイントから開始するビデオゲームのインスタンスの実行を可能にする情報を提供する。プレイヤーのゲームプレイ中にキャプチャされ、格納される特定のスナップショットへのアクセスにより、ゲームステート、及び可能であれば前述のゲームコンテキストに関連するユーザ情報などのスナップショット中の情報を使用して、ゲームアプリケーションの別のインスタンスを実行することができる。例えば、別のユーザは、スナップショットに関連するゲームプレイの並行バージョンにジャンプすることができる。スナップショットの作成及び使用に関する完全な考察は、「Method And System For Saving A Snapshot of Game Play And Used To Begin Later Execution Of The Game Play By Any User As Executed On A Game Cloud System」と題する、米国出願第15/411,421号内に提供されており、これは参照により、その全体が援用される。
一実施形態では、スナップショットは、そのポイントにおいてレンダリングされるシーンのスナップショット画像を含む。スナップショット画像をスナップショット画像データベース146内に格納する。スナップショット画像は、タイムラインに関してサムネイル形式で提示されることができ、そこでスナップショットは、タイムラインによって示されるように、ビデオゲームを通してユーザによる進度に対応するポイントにおいてユーザのゲームプレイ内へさまざまなビューを提供する。タイムラインを使用して、プレイヤーのゲームプレイのある特定の部分(例えば、最後の2分間)をリプレイして、支援を提供するときにエキスパートに状況認識を提供することができる。リプレイ部分を高速化することができる。エキスパートに、リプレイ部分を示した後、ライブゲームプレイを示す。
さらに、対応するプレイヤーに関連する情報を含むプレイヤープロファイルを生成し、プロファイルデータベース143に格納することができる。プロファイル情報は、名前、年齢、居住地、アカウント情報、ゲームコンテキストからのユーザ関連情報(例えば、データベース141に格納されているユーザ保存データ)などを含むことができる。プレイヤー/エキスパートのゲームプロファイルジェネレータ121は、プレイヤープロファイルを作成して管理するように構成される。
ゲームプロセッサ201は、通信セッションを介してプレイヤーをエキスパートに接続することなどによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するヘルプセッションの確立及び管理を容易にするヘルプセッションコントローラ120を含む。ヘルプセッションコントローラ120は、例えば、エキスパートマッチングエンジン123、プレヘルプセッションマッチングエンジン124、共有画面コントローラ126、共有プレイコントローラなどを含む、1つ以上のコンポーネントを制御し、ヘルプセッションを確立して管理することができる。例えば、プレイヤーがクエリ(例えば、「ボスAを倒すにはどうすればよいですか?」または「ヘルプが必要です、今!」)などを通じてヘルプを要求した場合、ヘルプセッションコントローラ120は、ヘルプセッションをサポートする通信セッションを介してそのプレイヤーをエキスパートと接続するように構成されるため、エキスパートが支援を提供することができる。
特に、ゲームプロセッサ201は、ヘルプセッションコントローラ120と協動して、プレイヤー及び選択されたエキスパートについてのゲームコンテキストに基づいて、プレイヤーをエキスパートにマッチングさせるように構成されるエキスパートマッチングエンジン123を含む。すなわち、プレイヤーを助けることができるエキスパートに接続するために、前述のゲームコンテキストを含む、ゲームの基準として定義され得る、クエスト、レベル、ロードアウト、位置、スキルなどのような、プレイヤーの現在のセッションに関する重要なデータをキャプチャする。
具体的には、マッチングプロセスは、エキスパートを選択するときに、ゲームの基準及び/または閾値に焦点を合わせる。ゲームの基準は、前述されるゲームステート及びユーザ/プレイヤーの保存データ、プレイヤーによって設定される特定の基準(例えば、最高のエキスパート、5つ星のエキスパートに限る)、エキスパートの可用性などを含む、ゲームコンテキスト情報であることができる。例えば、ゲームの基準を使用して、プレイヤーを、ゲームの基準(例えば、特定の情報の重み付け)に基づいてゲームアプリケーションに関して同様の経験を有するエキスパートと対に、あるいはペアにする。
ゲームの基準は、エキスパートのプールを管理可能なセットにフィルタリングするための閾値情報を含むことができる。例えば、閾値は、最低限の品質基準(例えば、エキスパートの格付け、査定など)、またはゲームアプリケーションのプレイにおけるリーセンシー(recency)、つまり最後にアプリケーションをプレイしてからの経過時間とすることができ、これにより、エキスパートは、すぐに思い出せないと悩むことなく、最新の支援を提供することができる。理想的には、ゲームの基準に基づいて、エキスパートは、すでにゲームのその部分(例えば、プレイヤーが現在プレイしていて支援を必要とする部分)をクリアあるいは勝利しており、理想的には同様のコンフィグレーションでゲームのその部分をクリアあるいは勝利している。
エキスパートは、一般に、エキスパートとして登録した、及び/または資格を取得したプレイヤーである。一実施形態では、任意のプレイヤーは、対応するゲームアプリケーションの一部分を少なくともプレイした後に、エキスパートとして登録することができる。別の実施形態では、プレイヤーは、資格基準に達した後にのみエキスパートとして登録することができる。例えば、資格は、プレイヤーが他のゲームのエキスパートである、またはプレイヤーが対象のゲームアプリケーションを高いスキルでプレイしたときに、またはプレイヤーが資格基準(例えば、資格認定ボス、中間ボス、エンドボスなど)であると識別されるある特定のタスクもしくはクエストを達成したときに、プレイヤーに与えられることができる。他の資格認定方法がサポートされている。プレイヤー/エキスパートのゲームプロファイルジェネレータ121は、エキスパートプロファイルを作成して管理するように構成される。エキスパート登録情報及びプロファイル情報は、データベース147に格納され得る。
一実施形態では、プレイヤーがそのゲームについてヘルプを要求するときに、その要求は、ヘルプすることができる可能性が最も高い利用可能なエキスパートに送信される。すなわち、エキスパートのプールをフィルタリングして、プレイヤーと同様のゲームコンテキストを有する1セットのエキスパートを決定する。一実施形態では、ヘルプ要求を受諾するフィルタリングされたセットから、第一エキスパートは、支援を提供するエキスパートとして選択される。その場合、プレイヤーと選択されたエキスパートとの間にヘルプセッションを確立する。別の実施形態では、選択されたエキスパートは、ゲームコンテキスト、閾値、格付けなどを含むゲーム基準に基づいて最高のマッチングを有するエキスパートである。ヘルプセッション中に、エキスパートは、ウェブ、モバイル、またはコンソールインタフェースからテキストまたは音声を介してガイダンスを提供することができる。
一実施形態では、プレイヤーをより良く援助するために、エキスパートは、Share Screen(またはShareScreen)機能などを介して、プレイヤーの画面を観戦することを要求することができる。その後、エキスパートは、プレイヤーのゲームストリーム(例えば、ビデオ)を見て、ゲームプレイ中にガイダンスを提供することができる。共有画面コントローラ126を介してヘルプセッションコントローラ120と協動してShare Screen機能を管理する。
プレイヤーがエキスパートの支援の有無にかかわらず、所与の目的(例えば、タスク、クエストなど)をプレイヤー自身で完了することができない場合、エキスパートは、一実施形態では、ゲームアプリケーションの制御をエキスパートに移行させるように構成されるShare PlayまたはSharePlayコンフィグレーションなどで、プレイヤーのコントローラを共有するようプレイヤーに要請することができる。別の場合では、プレイヤーは、ゲームプレイの制御を引き継ぐようにエキスパートに積極的に要求することができる。どちらの場合でも、次ぎに、エキスパートは、SharePlayまたは任意の同様の機能を介してリモートでプレイヤーのゲーム(ゲームプレイなど)を制御することができる。
そのため、エキスパートは、プレイヤーのために目的を完了させることができる。いつでも、制御をプレイヤーに戻すことができる。例えば、プレイヤーは、プレイヤーによってアクティブ化されるときに制御をもう一度プレイヤーに切り替えるマスター位置(例えば、キルスイッチ)を有することができる。一例として、プレイヤーは、エキスパートが合意されたものを越えている(例えば、エキスパートが目的を越えてプレイしている)と判断することができる、またはプレイヤーが別の目的を達成することを希望すると判断することができる。また、いつでも(その間またはその後)エキスパートは常に制御をプレイヤーに戻すことができる。SharePlay機能は、ヘルプセッションコントローラ120と協動して、共有プレイコントローラ127を介して管理される。
ゲームプロセッサ201は、エキスパートの格付け及び/またはランク付けを格納するように構成される格付けマネージャ151を含む。例えば、ヘルプセッションの最後に、プレイヤーは、さまざまなメトリクス(助けになる、親切である、知識があるなど)に沿ってエキスパートのヘルプの品質を格付けすることができる。これらの格付けは、格付けに従って、利用可能な最高品質のヘルプにプレイヤーを接続するために、システムにフィードバックされ得る。
例えば、格付けは、特定のゲームアプリケーションに特有であることができる。一実施形態では、最高品質(例えば、「5つ星のヘルプ」)で格付けされているエキスパートは、デジタルゲーム(無料または有料)、クラウドストレージ、ディスカウント、オンラインマルチプレイヤーゲームなどへのアクセスを提供するSONY PlayStation Plusメンバーシップなどのゲームサービスにサブスクリプションを有するプレイヤーにのみ利用可能にされる。資格のあるエキスパートへのサブスクリプションアクセス、ならびにメンバーシップ及び特典の管理は、サブスクリプションヘルプセッションマネージャ152によって管理される。
ヘルプセッションマネージャ152の別の機能として、高格付けされたエキスパート、つまりレートが高いエキスパートは、ヘルプサービスを通じて独自の「プロフェッショナルヘルプ」ビデオチャネルを有する資格があることができる。そのように、それらの高格付けされたエキスパートは、ヘルプセッション中に彼らのヘルプを収益化する(例えば、サブスクリプションサービスまたは有料サービスを通じて)ことができる。
さらに、各ヘルプセッションを記録し、ヘルプセッションデータベース149に格納することができる。例えば、ヘルプセッションコントローラは、対応するヘルプセッションを記録して格納するように構成される。そのため、ライブヘルプセッションのためにプレイヤーをエキスパートに接続する代わりに、プレイヤーは、プレイヤーによって提示される特定のクエリを対象として記録されたヘルプセッションに接続され得る。場合によっては、記録されたヘルプセッションは、任意の利用可能なライブヘルプセッションを上回る高格付け、つまり高いレートを有する。例えば、プレイヤーが以前に遭遇した類似の状況について、ヘルプを求めるときに、それらの状況に支援を提供する記録されたヘルプセッションを返すことができる。これにより、ライブエキスパートが利用可能ではない場合でもヘルプを利用可能にする。また、以下で説明されるように、最高の支援を提供する記録されたヘルプセッションは、ライブヘルプセッションよりも好ましい場合がある。
図7は、本開示の一実施形態による、ゲームアプリケーションの存続期間中のライブヘルプセッションの可用性、及び記録されたヘルプセッションの可用性を示すグラフ700を示す。特に、y軸は、ゲームアプリケーションの存続期間中の任意の時点で利用可能なエキスパートまたは記録されたセッションの数などの単位量を示す。例えば、x軸は、ゲームアプリケーションのリリースから、リリース日から14ヶ月を超えるような期間を示す。線720は、エキスパートが提供するライブヘルプセッションの可用性を示す。線710は、記録されたヘルプセッションの可用性を示し、そこで記録されたヘルプセッションは、プレイヤーのヘルプについてのクエリまたは要求にとって重要である特定のゲームアプリケーションについての支援を提供する。
図示されるように、ゲームアプリケーションの存続期間の早期(0~7ヶ月)の間、ゲームアプリケーションが比較的新しく、ゲーマーの間でゲームアプリケーションに関心が高いので、ライブヘルプセッションをすぐに利用可能である。ただし、7ヶ月後、プレイヤー及び/またはエキスパートが他のゲームアプリケーションをプレイすることに移ると、ゲームアプリケーションへの関心は着実に衰える。一方、線710によって示されるように、記録されたヘルプセッションは7ヶ月の期間のあたりで定常に達することができる。すなわち、線710及び720は、最初の6ヶ月間、互いに密接してたどり、ライブヘルプ及び記録されたヘルプの可用性がほぼ等しいことを示すことができる。ライブヘルプが減少するにつれて、記録されたヘルプが支援を要求するプレイヤーに提供され得る。
図7の線710及び720は、可用性の例示的なパターンを示す。例えば、線710に示される記録されたヘルプセッションの可用性は、ゲームアプリケーションの存続期間の早期(例えば、0~6ヶ月)を通して、線720に示されるライブヘルプセッションの可用性に意図的に従う場合がある。特に、線710に示される記録されたヘルプセッションの数は、ヘルプセッションデータベースフィルタ156によって制御され得る。記録されたヘルプセッションは、さまざまな基準に基づいてデータベース149から定期的にパージ、あるいは削除され得る。例えば、ヘルプセッションの数が増えると、格付けに基づいてより良い品質のヘルプセッションが記録され得る。そのため、品質の低いヘルプセッションはパージされ得る。さらに、一定期間の後、フィルタ156は、特定の数のヘルプセッションのみを保持することができる。
例えば、特定のクエリについて、フィルタ156は、そのクエリを対象とする1つまたは2つの記録されたヘルプセッションのみを格納すると決定することができる。そのクエリを対象とする他のヘルプセッションはパージされ得る。そのように、記録されたヘルプセッションのデータベース149は、高品質のもの(例えば、支援を提供することに関して)である、限られた量のヘルプセッションを格納するように管理され得る。これは、図7に10ヶ月を超えて示されるように、記録されたヘルプセッションの数の経時的な減少をもたらすことができる。
さらに、記録されたヘルプセッションの数が管理されるので、データベース149の検索はより効率的である。例えば、記録されたヘルプセッションのマッチングエンジン124によって行われる検索は、ライブヘルプセッションがマッチングする、または提示される前に、クエリまたはヘルプの要求を記録されたヘルプセッションにマッチングさせる。場合によっては、記録されたヘルプセッションは特定のクエリに対して最高品質の支援を提供し、ライブヘルプセッションは不要になる。その場合、記録されたヘルプへの接続は、より効率的である。
これらの記録されたヘルプセッションは、ヘルプセッションタガー154を使用して、特定のクエリに関連する情報によってタグ付けされ得る。そのようにして、記録されたヘルプセッションにタグ付けすることができるため、対応するクエリとヘルプセッションとの間のマッチングを決定することができる。例えば、クエリがプレイヤーによって提示されるときに、ヘルプセッションデータベース149内の適切なタグを検索する(例えば、関連クエリを識別する)ことにより、そのクエリに直接支援を提供することができる記録されたヘルプセッションをみつけることができる。
ゲームプロセッサ201は、プレイヤーを誘導してエキスパートとして登録するように構成されるエキスパートインセンティブエンジン153を含む。エキスパートは、ヘルプセッションに参加するためにいくらかのインセンティブを必要とする場合がある。インセンティブは、前述の資格とは異なることができる。資格のあるプレイヤーのみをエキスパートとして登録することができるように資格基準を設定することができる。ただし、プレイヤーが資格を得ても、そのプレイヤーが登録するという保証はない。インセンティブは、エキスパートとして登録するプレイヤーに奨励を提供することができる。例えば、報奨金を登録されたエキスパートに与えることができる。
これらの報奨金は、さまざまな形式で手に入ることができる。ある場合には、報奨金は、エキスパートだけに利用可能にされるゲームアプリケーションの特定の部分のリリースであることができる。リリースは、登録されたエキスパートだけに利用可能にされる、オブジェクト、またはゲームの領域、または特定のタスク、または特定のクエストであることができる。例えば、リリースは、ダウンロード可能なコンテンツ(DLC)の形式で手に入ることができる。さらに、報奨金は、トロフィーまたはエキスパートポイントの形式で手に入ることができ、どちらも他のエキスパートとの比較として使用され得る。例えば、2人のフレンド間で、誰がより多くのエキスパートポイント、またはより多くのトロフィーを持っているかがわかり、競争が発生することもある。
ゲームプロセッサ201は、スポイラー警告コントローラ150を含む。ライブヘルプセッション中に、エキスパートが支援を提供するときに過度に多くのことを明らかにしてしまうおそれがある。すなわち、エキスパートは、プレイヤーにとってゲームのネタバレとなる情報、あるいはスポイル情報を明らかにする場合がある。通常、プレイヤーは、スポイル情報の条件を備える関連情報を認識していない。ネタバレあるいはスポイルの例としては、プレイヤーがレベルのまだ途中であるのにレベルの最後に発生するボスの名前、レベルまたはゲームアプリケーション全体の最終目標であるオブジェクト、ゲーム環境内の地名、クエスト名、オブジェクト名、またはまだ遭遇していないキャラクターなどが挙げられる。スポイラー警告コントローラ150は、「オン」のときにプレイヤーがスポイル情報を気にすることをエキスパートに通知し、「オフ」のときにスポイル情報が公開されてもプレイヤーがあまり気にせず、おそらく気にしないことをエキスパートに通知する、トグル機能を管理することができる。
スポイラー警告コントローラ150は、キーワード識別などを通じて、スポイル情報を自動的に検出するように構成され得る。キーワードは、データベース148に格納され得る。キーワードの識別時に、その情報を、プレイヤーへの提示前にマスキングすること(例えば、テキストをマスキングする、または関連するオーディオをミュートすることなど)ができる。マスキングを可能にするために、わずかな時間遅延が導入される場合がある。さらに、スポイラー警告コントローラ150は、スポイラー警告などの形式で、エキスパートがスポイル情報を明らかにしようとしていることをプレイヤーに通知することができる。次に、プレイヤーは、情報を公開する、または情報の公開を拒否する、認可を与えるような、追加の命令を提供することができる。
ゲームプロセッサ201は、記録されたヘルプセッションのハイライトリールを生成するように構成されるヘルプセッションハイライトジェネレータ155を含む。ハイライトは、記録されたヘルプセッションに提示されるように、ゲームプレイ内の1つ以上のオブジェクト(例えば、キャラクター)のアクティブモーションによって識別され得る。非アクティブ期間は、重要な支援が提供されていないことを示すことができる。記録されたヘルプセッションのハイライトリール及び完全版の両方をデータベース149に格納することができる。
その記録されたヘルプセッションを、後日プレイヤーによって行われるクエリに応答して選択するときに、記録されたヘルプセッションのハイライトリールを要求しているプレイヤーに最初に提示することができる。要求される場合、完全版も提示することができる。一実施形態では、要求されることを期待してハイライトリールが再生されている間に完全版がダウンロードされる。そのように、要求に応じて完全版をすぐに再生することができる。別の実施形態では、ハイライトリールを提示するオプションとともに完全版を最初に提示する。例えば、最も適切なセクション(例えば、支援が与えられているセクション)が7分のヘルプセッション中の2分に始まるという通知から完全版を始めることができる。その時点で、要求するプレイヤーにハイライトリールを再生するオプションを提示することができる。
一実施形態において、ヘルプセッションは、表示及びインタラクション用にデバイス11(例えば、タブレット)に配信されることができ、そこでデバイス11は、ユーザ5のインタラクションのためにゲームアプリケーションを実行する、及び/またはこのゲームアプリケーションの実行をサポートするように構成されるクライアントデバイス100とは別個のものであってよい。例えば、第一通信チャネルは、ゲームサーバ205とクライアントデバイス100との間に確立されることができ、別個の、第二通信チャネルは、ゲームサーバ205とデバイス11との間に確立され、ヘルプセッションを配信することができる。
図1Bは、通信セッションを介してプレイヤーをエキスパートに接続するなどのヘルプセッションを通じて、または記録されたヘルプセッションを提供することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステム106Bを示し、ゲームアプリケーションは、対応するプレイヤーに対してローカルに実行し、バックエンドサーバサポート(例えば、ゲームサーバ205を介してアクセス可能な)は、ヘルプセッションの確立及び管理を実装することができる。一実施形態では、システム106Bは、図1Aのシステム10、及び図2のシステム200と協動して機能し、図1Aで前述したように、ゲームクラウドシステム210においてヘルプセッションコントローラ120を介して、ライブまたは記録されたヘルプセッションを通じてプレイヤーにリアルタイム支援を提供する。ここで図面を参照して、同様の参照番号は、同一の、または対応する部分を示す。
図1Bに示されるように、複数のプレイヤー115(例えば、プレイヤー5A、プレイヤー5B...プレイヤー5N)は、複数のゲームアプリケーションをプレイし、そこで各ゲームアプリケーションは、対応するユーザの対応するクライアントデバイス100(例えば、ゲームコンソール)上でローカルに実行される。複数のプレイヤー115のうちの少なくとも1人は、エキスパート190である。システム106Bは、ある期間にわたるような1つ以上の時点で複数のプレイヤー115によるゲームプレイをサポートする。さらに、複数のプレイヤー115のそれぞれは、前述したように、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する情報を受信するように構成される、以前に導入されたデバイス11へのアクセスを有する。
各クライアントデバイス100は、対応するゲームアプリケーションのローカルな実行が行われるという点で、同様に構成され得る。例えば、プレイヤー5Aは、対応するクライアントデバイス100上で第一ゲームアプリケーションをプレイしていることができ、そこで第一ゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン111により実行される。第一ゲームアプリケーションを実装するゲームロジック126A(例えば、実行可能なコード)は、対応するクライアントデバイス100に格納され、第一ゲームアプリケーションを実行するために使用される。例示目的のために、ゲームロジックは、対応するクライアントデバイス100へ、ポータブルメディア(例えば、フラッシュドライブ、コンパクトディスクなど)を介して、またはネットワークを介して配信される(例えば、インターネット150を介してゲームプロバイダからダウンロードされる)ことができる。
加えて、プレイヤー5Bは、対応するクライアントデバイス100上で第二ゲームアプリケーションをプレイし、そこで第二ゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン111により実行される。第二ゲームアプリケーションは、プレイヤー5Aについて実行する第一ゲームアプリケーションと同一である、または異なるゲームアプリケーションであることができる。第二ゲームアプリケーションを実装するゲームロジック126B(例えば、実行可能なコード)は、前述されるように対応するクライアントデバイス100上に格納され、第二ゲームアプリケーションを実行するために使用される。
さらに、プレイヤー115Nは、対応するクライアントデバイス100上で第Nゲームアプリケーションをプレイし、そこで第Nゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン111により実行される。第Nゲームアプリケーションは、第一もしくは第二ゲームアプリケーションと同一であることができる、または完全に異なるゲームアプリケーションであることができる。第三ゲームアプリケーションを実装するゲームロジック126N(例えば、実行可能なコード)は、前述されるように対応するクライアントデバイス100に格納され、第Nゲームアプリケーションを実行するために使用される。
さらに、あるポイントでエキスパート190は、システム106Bで少なくとも1つのゲームアプリケーションをプレイしている場合があり、エキスパートとして登録されている。例えば、エキスパートは、前述したように、ゲームロジック126X及びゲームタイトル実行エンジン111を有するクライアントデバイス100の協動により、対応するゲームアプリケーションをプレイしていることができる。そのようにして、システム106Bでゲームアプリケーションを現在プレイしているプレイヤーは、前述されるようにヘルプセッションコントローラ120を介して要求し、エキスパート190と接続されることができ、このエキスパートは、選択されるときに、要求するプレイヤーのゲームプレイについての支援を提供することができる。支援を提供するときに、エキスパート190は、クライアントデバイス100によってサポートされる必要はないことができ、デバイス11(例えば、スマートフォン)またはHMD102などの任意のデバイスを使用して対応するヘルプセッションに参加することができる。
前述したように、クライアントデバイス100は、ゲームコントローラ、タブレットコンピュータ、キーボード、ビデオカメラによりキャプチャされるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス100は、ネットワーク150経由でゲームサーバ205に接続することが可能である少なくとも1つのメモリ、及び1つのプロセッサモジュールを含む、任意のタイプのコンピューティングデバイスであることができる。
また、対応するプレイヤーのクライアントデバイス100は、ローカルに、またはリモートに実行するゲームタイトル実行エンジン111により実行される、レンダリングされた画像を生成するために、そしてディスプレイにレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、プレイヤー5Aのクライアントデバイス100で実行する第一ゲームアプリケーションのインスタンスと関連付けられることができる。例えば、対応するクライアントデバイス100は、ゲームプレイを駆動するために使用される入力コマンドなどを介して、対応するプレイヤーのゲームプレイを実装するためにローカルで、またはリモートで実行されるような対応するゲームアプリケーションのインスタンスとインタラクトするように構成される。
一実施形態において、クライアントデバイス100は、ゲームアプリケーションをプレイしている、対応するプレイヤーについてシングルプレイヤーモードで動作している。ゲームサーバ205を介してバックエンドサーバサポートは、本開示の一実施形態に従い、以下に説明されるように、対応するプレイヤーのゲームプレイをサポートする支援、例えば、支援を提供するエキスパートに関するライブまたは記録されたヘルプセッションにプレイヤーを接続する支援を提供することができる。
他の実施形態では、複数のクライアントデバイス100は、特定のゲームアプリケーションを各プレイする、対応するプレイヤーについてマルチプレイヤーモードで動作する。その事例において、ゲームサーバを介してバックエンドサーバサポートは、マルチプレイヤー処理エンジン119などを介して、マルチプレイヤー機能性を提供することができる。特に、マルチプレイヤー処理エンジン119は、特定のゲームアプリケーションについてマルチプレイヤーゲームセッションを制御するために構成される。
例えば、マルチプレイヤー処理エンジン130は、マルチプレイヤーセッションコントローラ116と通信し、これは、マルチプレイヤーゲームセッションに参加するユーザ及び/またはプレイヤーのそれぞれとの通信セッションを確立し、維持するように構成される。そのように、セッション中のプレイヤーは、マルチプレイヤーセッションコントローラ116により制御されるように、相互に通信することが可能である。
さらに、マルチプレイヤー処理エンジン119は、各ユーザの対応するゲーム環境内でユーザ間のインタラクションを可能にするために、マルチプレイヤーロジック118と通信する。特に、ステート共有モジュール117は、マルチプレイヤーゲームセッションにおいて各ユーザについてのステートを管理するように構成される。例えば、ステートデータは、特定のポイントにおいて対応するユーザについてのゲームプレイの(ゲームアプリケーションの)ステートを定義するゲームステートデータを含むことができる。例えば、ゲームステートデータは、ゲームキャラクター、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイなどを含むことができる。
その方式において、ゲームステートデータは、ゲームアプリケーション内の対応するポイントに存在するゲーム環境の生成を可能にする。またゲームステートデータは、CPU、GPU、メモリ、レジスタ値、プログラムカウンタ値、プログラマブルDMAステート、DMAについてバッファリングされたデータ、オーディオチップステート、CD-ROMステートなどのステートのような、ゲームプレイをレンダリングするために使用されるあらゆるデバイスのステートを含むことができる。またゲームステートデータは、実行可能なコードのどの部分がそのポイントからビデオゲームを実行するためにロードされる必要があるかを識別することができる。ゲームステートデータは、図1A及び図2のデータベース140内に格納されることができ、ステート共有モジュール117によりアクセス可能である。
さらに、ステートデータは、対応するプレイヤーについてビデオゲームをパーソナライズする情報を含むユーザ保存データを含むことができる。これは、ユーザによりプレイされるキャラクターと関連する情報を含むため、ビデオゲームは、そのユーザへ一意であることができるキャラクター(例えば、位置、体型、外観、衣服、武器など)によってレンダリングされる。その方式において、ユーザ保存データは、対応するユーザのゲームプレイについてキャラクターの生成を可能にし、このキャラクターは、対応するユーザが現在経験しているゲームアプリケーション内のポイントに対応するステートを有する。例えば、ユーザ保存データは、対応するユーザ115Aがゲームをプレイするときに選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値などを含むことができる。また、ユーザ保存データは、例えば、対応するユーザ115Aを識別するユーザプロファイルデータを含むことができる。ユーザ保存データをデータベース140に格納することができる。
その方式において、ステート共有データ117及びマルチプレイヤーロジック118を使用してマルチプレイヤー処理エンジン119は、マルチプレイヤーゲームセッションに参加するユーザの各ゲーム環境内にオブジェクト及びキャラクターをオーバーレイ/挿入することが可能である。例えば、第一ユーザのキャラクターを第二ユーザのゲーム環境内へオーバーレイする/挿入する。これは、マルチプレイヤーゲームセッションにおけるユーザ間のインタラクションを、彼らの各ゲーム環境のそれぞれを介して(例えば、画面上に表示されるように)可能にする。
さらに、ゲームサーバ205を介してバックエンドサーバサポートは、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供することを含むサポートサービスを提供することができる。以前に導入されたように、ヘルプセッションコントローラ120は、支援を提供する1つ以上のヘルプセッションを確立して管理するように構成される。例えば、コントローラ120は、ヘルプセッションをサポートするために確立される通信セッションを介して、要求するプレイヤーをエキスパートに接続するように構成される。ヘルプセッションは、ライブ支援を提供するエキスパートとのライブであることができる、またはヘルプセッションは、事前に記録され得る。
図1Cは、本開示の一実施形態による、クラウドゲームネットワークを介して実行されるようなゲームアプリケーションをプレイする複数のプレイヤー115(例えば、プレイヤー5L、5M...5Z)にゲーム制御を提供するシステム106Cを示す。いくつかの実施形態において、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン(VM)を含むゲームクラウドシステム210であることができ、1つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。一実施形態では、システム106Cは、図1Aのシステム10、及び/または図2のシステム200と連動して機能し、通信セッションを介してプレイヤーをエキスパートに接続するようなヘルプセッションを通じて、または記録されたヘルプセッションを提供することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供する。ここで図面を参照するが、図面において同様の参照番号は、同一の、または対応する部分を示す。
図示されるように、ゲームクラウドシステム210は、複数のインタラクティブビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームサーバ205を含む。ゲームサーバ205は、クラウド内で利用可能である、任意のタイプのサーバコンピューティングデバイスであることができ、1つ以上のホスト上で実行する1つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ205は、ユーザについてのゲームアプリケーションのインスタンスをインスタンス化するゲームプロセッサをサポートする仮想マシンを管理することができる。そのため、複数の仮想マシンと関連するゲームサーバ205の複数のゲームプロセッサは、複数のユーザ115のゲームプレイと関連するゲームアプリケーションの複数のインスタンスを実行するように構成される。そのように、バックエンドサーバサポートは、複数のゲームアプリケーションのゲームプレイの媒体(例えば、ビデオ、オーディオなど)のストリーミングを複数の対応するユーザに提供する。
複数のプレイヤー115は、ネットワーク150を介してゲームクラウドシステム210にアクセスし、そこでプレイヤー(例えば、プレイヤー5L、5M...5Z)は、対応するクライアントデバイス100’を介してネットワーク150にアクセスし、そこでクライアントデバイス100’は、図1Aから1Bのクライアントデバイス100(例えば、ゲーム実行エンジン111などを含む)と同様に構成され得る、または計算機能(例えば、ゲーム実行エンジン211を含む)を提供するバックエンドサーバとインタフェースすることを提供するシンクライアントとして構成され得る。さらに、複数のプレイヤー115のそれぞれは、前述したように、通信セッションを介して、または記録されたヘルプセッションに接続することによって、プレイヤーをエキスパートに接続するヘルプセッションを容易にするように構成される、以前に導入されたデバイス11へのアクセスを有する。
特に、対応するプレイヤー5Lのクライアントデバイス100’は、インターネットなどのネットワーク150経由でゲームアプリケーションへのアクセスを要求するように、そしてゲームサーバ205により実行され、対応するプレイヤー5Lと関連する表示装置に配信される、ゲームアプリケーション(例えば、ビデオゲーム)のインスタンスをレンダリングするように構成される。例えば、プレイヤー5Lは、クライアントデバイス100’を介して、ゲームサーバ205のゲームプロセッサ上で実行するゲームアプリケーションのインスタンスとインタラクトすることができる。さらに特に、ゲームアプリケーションのインスタンスは、ゲームタイトル実行エンジン211により実行される。ゲームアプリケーションを実装するゲームロジック(例えば、実行可能なコード)は、前述される、データストア140を介して格納され、アクセス可能であり、ゲームアプリケーションを実行するために使用される。ゲームタイトル処理エンジン211は、示されるように、複数のゲームロジック177を使用して複数のゲームアプリケーションをサポートすることが可能である。
さらに、あるポイントでエキスパート190’は、システム106Bで少なくとも1つのゲームアプリケーションをプレイしている場合があり、エキスパートとして登録されている。例えば、エキスパート190’は、前述したように、クライアントデバイス100’の協動により対応するゲームアプリケーションをプレイしていることができる。そのようにして、システム106Cでゲームアプリケーションを現在プレイしているプレイヤーは、前述されるようにヘルプセッションコントローラ120を介して要求してもよく、エキスパート190’と接続されることができ、このエキスパート190′は、選択されるときに要求するプレイヤーのゲームプレイについての支援を提供することができる。支援を提供するときに、エキスパート190’は、クライアントデバイス100’によってサポートされる必要はなくてよく、デバイス11(例えば、スマートフォン)またはHMD102などの任意のデバイスを使用して対応するヘルプセッションに参加することができる。
前述したように、クライアントデバイス100’は、ゲームコントローラ、タブレットコンピュータ、キーボード、ビデオカメラにより捕捉されるジェスチャ、マウス、タッチパッドなどのような、さまざまなタイプの入力デバイスからの入力を受信することができる。クライアントデバイス100’は、ネットワーク150経由でゲームサーバ205に接続することが可能である少なくともメモリ及びプロセッサモジュールを含む、任意のタイプのコンピューティングデバイスであることが可能である。
また、対応するプレイヤーのクライアントデバイス100’は、ローカルに、またはリモートに実行するゲームタイトル実行エンジン211により実行される、レンダリングされた画像を生成するように、そしてディスプレイにレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、プレイヤー5Lのクライアントデバイス100’上で実行する第一ゲームアプリケーションのインスタンスと関連付けられることができる。例えば、対応するクライアントデバイス100’は、ゲームプレイを駆動するために使用される入力コマンドなどを介して、対応するプレイヤーのゲームプレイを実装するためにローカルに、またはリモートに実行されるような対応するゲームアプリケーションのインスタンスとインタラクトするように構成される。
他の実施形態において、前述される、マルチプレイヤー処理エンジン119は、ゲームアプリケーションについてマルチプレイヤーゲームセッションを制御することを提供する。特に、マルチプレイヤー処理エンジン119がマルチプレイヤーゲームセッションを管理するときに、マルチプレイヤーセッションコントローラ116は、マルチプレイヤーセッション内のユーザ及び/またはプレイヤーのそれぞれとの通信セッションを確立し、維持するように構成される。そのように、セッション中のプレイヤーは、マルチプレイヤーセッションコントローラ116により制御されるように、相互に通信することが可能である。
さらに、マルチプレイヤー処理エンジン119は、各プレイヤーの対応するゲーム環境内でプレイヤー間のインタラクションを可能にするために、マルチプレイヤーロジック118と通信する。特に、ステート共有モジュール117は、マルチプレイヤーゲームセッションにおいて各プレイヤーについてのステートを管理するように構成される。例えば、ステートデータは、前述したように、特定のポイントで対応するプレイヤー115Aについてのゲームプレイの(ゲームアプリケーションの)ステートを定義するゲームステートデータを含むことができる。
さらに、前述したように、ステートデータは、対応するプレイヤーについてビデオゲームをパーソナライズする情報を含むユーザ/プレイヤーの保存データを含むことができる。例えば、ステートデータは、ビデオゲームが、そのユーザに一意であることができるキャラクター(例えば、体型、外観、衣服、武器など)によってレンダリングされるように、ユーザのキャラクターと関連する情報を含む。その方式において、ステート共有データ117及びマルチプレイヤーロジック118を使用してマルチプレイヤー処理エンジン119は、マルチプレイヤーゲームセッションに参加するユーザの各ゲーム環境内にオブジェクト及びキャラクターをオーバーレイ/挿入することが可能である。これは、マルチプレイヤーゲームセッションにおけるユーザ間のインタラクションを、彼らの各ゲーム環境のそれぞれを介して(例えば、画面上に表示されるように)可能にする。
さらに、ゲームサーバ205を介してバックエンドサーバサポートは、ヘルプセッションを通じてゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供することを含むサポートサービスを提供することができる。以前に導入されたように、ヘルプセッションコントローラ120は、支援を提供する1つ以上のヘルプセッションを確立して管理するように構成される。例えば、コントローラ120は、ヘルプセッションをサポートするために確立される通信セッションを介して、要求するプレイヤーをエキスパートに接続するように構成される。ヘルプセッションは、ライブ支援を提供するエキスパートとのライブで行うこともできれば、ヘルプセッションを、事前に記録することもできる。
図2は、本開示の実施形態に従い、ゲームクラウドシステム(GCS)210に格納されるゲームアプリケーションへのアクセス及びプレイを可能にするシステム図200を示す。概して、ゲームクラウドシステムGCS210は、ネットワーク220経由で動作するクラウドコンピューティングシステムであり、複数のユーザをサポートすることができる。さらに、GCS210は、ライブヘルプセッションをサポートする通信セッションを介してプレイヤーをエキスパートに接続することによって、またはプレイヤーを記録されたヘルプセッションに接続することによって、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するように構成される。
例えば、ヘルプセッションコントローラ120は、ヘルプセッションを確立して管理するように構成される。さらに、ヘルプセッションコントローラ120の協動により、通信セッションコントローラは、1つ以上のヘルプセッションを介してプレイヤーとエキスパートとの間の通信セッションを生成して管理するように構成される。また、GCS210は、ヘルプを要求するプレイヤーを、支援を提供するのに最も適しているエキスパートにマッチングさせるために使用されるゲームコンテキスト情報をキャプチャして保存するように構成される。
例えば、エキスパートは、同じ武器またはアセットセットを備える同じタイプのキャラクターを使用して、ゲームアプリケーションの同じセクションを最近プレイした場合がある。一実施形態では、ゲームコンテキストは、前述したように、ゲームプレイ中に生成されるスナップショットに基づいてキャプチャされる。例えば、スナップショットジェネレータ212は、1つ以上のゲームアプリケーションをプレイする1人以上のユーザのゲームプレイのスナップショットを生成する、及び/またはキャプチャするように構成され得る。1つ以上のユーザデバイスは、ネットワーク220に接続されることができ、GCS210及びソーシャルメディアプロバイダ240により提供されるサービスにプレイヤーがアクセスすることができる。
一実施形態において、ゲームクラウドシステム210は、ゲームサーバ205、ビデオレコーダ271、タグプロセッサ273、及びユーザプロファイルマネージャを含むアカウントマネージャ274、ゲーム選択エンジン275、ゲームセッションマネージャ285、ユーザアクセスロジック280、ネットワークインタフェース290、ならびにソーシャルメディアマネージャ295を含む。GCS210は、一般的にデータストア140に格納され得る、ゲームステートストア、ランダムシードストア、ユーザ保存データストア、スナップショットストアなどの複数のゲームストレージシステムをさらに含むことができる。
他のゲームストレージシステムは、ゲームコードストア261、記録されたゲームストア262、タグデータストア263、ビデオゲームデータストア264、及びゲームネットワークユーザストア265を含むことができる。一実施形態において、GCS210は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、ならびにシステム、アプリケーション、ユーザ、及びソーシャルネットワーク間の相互接続性を提供することができるシステムである。GCS210は、ネットワークインタフェース290を介してソーシャルメディアマネージャ295を介してユーザデバイス230及びソーシャルメディアプロバイダ240と通信することができる。ソーシャルメディアマネージャ295は、1人以上のフレンドを関連付けるように構成され得る。一実施形態において、各ソーシャルメディアプロバイダ240は、ユーザソーシャルネットワーク接続を示す少なくとも1つのソーシャルグラフ245を含む。
ユーザ/プレイヤー5は、ゲームセッションマネージャ285を介してGCS210によって提供されるサービスにアクセスすることができる。例えば、アカウントマネージャ274は、GCS210へのプレイヤー5による認証及びアクセスを可能にする。アカウントマネージャ274は、メンバープレイヤーについての情報を格納する。例えば、各メンバーユーザについてのユーザプロファイルは、アカウントマネージャ274により管理され得る。その方式において、アカウントマネージャ274は、メンバー情報を、認証目的のために使用されることが可能である。例えば、アカウントマネージャ274を使用して、メンバーユーザ/プレイヤーに関連するユーザ情報を更新し、管理することができる。加えて、メンバープレイヤーにより所有されるゲームタイトルは、アカウントマネージャ274により管理され得る。そのように、これらのゲームアプリケーションを所有する任意のメンバープレイヤーに、データストア264内に格納されるゲームアプリケーションを利用可能にする。
一実施形態において、ユーザ、例えば、プレイヤー5は、ネットワーク220経由の接続を通じてユーザデバイス230としてGCS210及びソーシャルメディアプロバイダ240により提供されるサービスにアクセスすることが可能である。ユーザデバイス230は、有線の、または無線の、ポータブルの、またはポータブルではない、プロセッサ及びメモリを含む任意のタイプのデバイスを含むことが可能である。一実施形態において、ユーザデバイス230は、スマートフォン、タブレットコンピュータ、またはポータブルフォームファクタにタッチスクリーン機能を提供するハイブリッドの形態にあることができる。1つの例示的なデバイスは、オペレーティングシステムを実行し、ネットワーク220経由で取得されることができ、またローカルポータブルデバイス(例えば、スマートフォン、タブレット、ラップトップ、デスクトップなど)で実行され得るさまざまなアプリケーション(アプリ)へのアクセスを備える携帯電話機を含むことが可能である。
ユーザデバイス230は、プレイヤー5のためのインタフェースとして機能し、入力コマンド236を送信し、GCS210及びソーシャルメディアプロバイダ240から受信されるデータ及び/または情報235を表示するディスプレイ232を含む。ディスプレイ232は、フラットパネルディスプレイ、ブラウン管(CRT)、またはディスプレイをレンダリングすることが可能である他のデバイスにより一般に提供されるタッチスクリーン、またはディスプレイとして構成されることが可能である。これに代えて、ユーザデバイス230は、デスクトップコンピュータまたはラップトップコンピュータに類似する、デバイスとは別のそのディスプレイ232を含むことも可能である。追加のデバイス231(例えば、図1Aのデバイス11)は、プレイヤーのゲームプレイのサポートにリアルタイム支援を提供する目的で、プレイヤー5に利用可能である場合がある。
一実施形態において、ユーザデバイス130は、GCS210と通信し、プレイヤー5がゲームアプリケーションをプレイすることを可能にするように構成される。いくつかの実施形態において、GCS210は、ホストマシンのハイパーバイザ上で動作する複数の仮想マシン(VM)を含むことができ、1つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。例えば、プレイヤー5は、ゲーム選択エンジン275を介してビデオゲームデータストア264に利用可能であるゲームアプリケーションを選択する(例えば、ゲームタイトルなどにより)ことができる。
ゲームアプリケーションをシングルプレイヤーゲーム環境内で、またはマルチプレイヤーゲーム環境内でプレイすることができる。その方式において、選択されたゲームアプリケーションは、GCS210上でゲームサーバ205による実行のために有効にされ、ロードされる。一実施形態において、ユーザデバイス230がGCS210からゲームビデオフレーム235のストリームを受信するように、ゲームプレイは、主にGCS210において実行され、ゲームプレイを駆動するためのユーザ入力コマンド236は、GCS210に返送される。ストリーミングゲームプレイから受信したビデオフレーム235をユーザデバイス230のディスプレイ232に示す。
他の実施形態において、GCS210は、複数のユーザをサポートする複数のローカルコンピューティングデバイスをサポートするように構成され、そこで各ローカルコンピューティングデバイスは、シングルプレイヤーゲームアプリケーションまたはマルチプレイヤーゲームアプリケーションなどの、ゲームアプリケーションのインスタンスを実行することができる。例えば、マルチプレイヤーゲーム環境において、ゲームアプリケーションは、ローカルに実行しながら、同時にクラウドゲームネットワークは、各ローカルコンピューティングデバイスから情報(例えば、ゲームステートデータ)を受信し、ローカルコンピューティングデバイスのうちの1つ以上の全体を通してその情報を適宜に配信するので、各ユーザは、マルチプレイヤーゲームアプリケーションのゲーム環境内で他のユーザ(例えば、ビデオゲーム内の対応するキャラクターを通して)とインタラクトすることが可能である。その方式において、クラウドゲームネットワークは、マルチプレイヤーゲーム環境内の各ユーザについてのゲームプレイを調整し、組み合わせる。
一実施形態において、プレイヤー5がプレイするために利用可能なゲームタイトルを選択した後に、選択されたゲームタイトルについてのゲームセッションは、ユーザUによりゲームセッションマネージャ285を介して開始され得る。最初に、ゲームセッションマネージャ285は、データストア140内のゲームステートストアにアクセスし、もしあれば、ユーザUによりプレイされた最後のセッションの保存されたゲームステート(選択されたゲームについての)を取得するため、プレイヤー5は、前のゲームプレイの停止ポイントからゲームプレイを再開することが可能である。
再開または開始ポイントを識別すると、ゲームセッションマネージャ285は、ゲームプロセッサ201内のゲーム実行エンジンに通知し、ゲームコードストア261から選択されたゲームタイトルのゲームコードを実行することができる。ゲームセッションを開始した後に、ゲームセッションマネージャ285は、ネットワークインタフェース290を介してユーザデバイス、例えば、ユーザデバイス230へゲームビデオフレーム235(すなわち、ストリーミングビデオデータ)を渡すことができる。
ゲームプレイ中に、ゲームセッションマネージャ285は、ゲームプロセッサ201、記録エンジン271、及びタグプロセッサ273と通信し、ゲームプレイまたはゲームプレイセッションの記録(例えば、ビデオ)を生成する、または保存することができる。一実施形態において、ゲームプレイのビデオ記録は、ゲームプレイ中に入力される、または提供されるタグコンテンツ、及び他のゲーム関連メタデータを含むことが可能である。またタグコンテンツは、スナップショットを介して保存され得る。ゲームプレイのビデオ記録は、そのゲームプレイに対応する任意のゲームメトリックとともに、記録されたゲームストア262内に保存され得る。任意のタグコンテンツをタグデータストア263内に保存することができる。
ゲームプレイ中に、ゲームセッションマネージャ285は、ゲームサーバ205のゲームプロセッサ201と通信し、ゲームアプリケーションの対応するゲームプレイの結果に影響を与えるために使用されるユーザ入力コマンド236を配信し、取得することができる。プレイヤー5により入力される入力コマンド236は、ユーザデバイス230からGCS210のゲームセッションマネージャ285に送信され得る。入力コマンド236は、ゲームプレイを駆動するために使用される入力コマンドを含み、タグコンテンツ(例えば、テキスト、画像、ビデオ記録クリップなど)を含むような、ユーザインタラクティブ入力を含むことができる。ゲーム入力コマンドは、任意のユーザプレイメトリック(ユーザがゲームをどのくらいプレイしているかなど)と同様に、ゲームネットワークのユーザストアに格納され得る。ゲームアプリケーションについてのゲームプレイに関連する選択情報を使用して、ユーザに利用可能であることができる複数の特徴を有効にすることができる。
ゲームプレイが複数のユーザによりGCS210上で実行されるため、これらのゲームプレイから生成され、格納される情報は、特にゲームプレイをGCS210経由で実行するときに、任意の要求するユーザが他のユーザのゲームプレイを経験することを可能にする。特に、GCS210のスナップショットジェネレータ212は、GCS210を介してゲームアプリケーションをプレイするユーザのゲームプレイにより生成されるスナップショットを保存するように構成される。プレイヤー5の場合に、ユーザデバイスは、プレイヤー5がゲームプレイ中にゲームアプリケーションと関わることを可能にするインタフェースを提供する。ユーザUによるゲームプレイのスナップショットを生成し、GCS210に保存する。スナップショットジェネレータ212は、図2に示されるようなゲームサーバ205の外部で実行することができる、またはゲームサーバ205の内部で実行することができる。
さらに、プレイヤー及びエキスパートのゲームプレイから収集される情報を使用して、プレイヤーがヘルプを要求するときに、プレイヤーをエキスパートにマッチングさせることができる。そのように、エキスパートは、プレイヤーが経験する特定のゲームコンテキストを与えられるプレイヤーに最もよく支援を提供することができ、そこでエキスパートはエキスパートのプールから選択される。例えば、選択されたエキスパートは、同じゲームアプリケーションを、同じキャラクターを使用して、同じアセット(例えば、武器など)を使用して、ほぼ同じスキルなどを使用してプレイした場合がある。加えて、エキスパートは、同じレベルで最近プレイした場合があるため、ゲームアプリケーションがエキスパートの心の中では記憶に新しい。エキスパートがゲームアプリケーションを最近プレイしたため、これにより、エキスパートがいかなるスポイラー情報も経験する機会がなかった可能性があるので、エキスパートがいかなるスポイラーも明らかにする機会が少ない可能性がある。
実施形態では、ヘルプセッションは、ヘルプセッションの通信セッション(例えば、音声、テキスト、ビデオなど)を確立するために、ネットワーク220を介してユーザデバイス231またはユーザデバイス230に配信され得る。例えば、ヘルプセッションは、ユーザデバイス230(例えば、ゲームコンソールまたはクライアントデバイスに接続されるディスプレイ)に提示されてもよい。別の例では、ヘルプセッションは、通信セッションを確立する(例えば、テキスト、オーディオ、ビデオなどを提供する)際に使用されるユーザデバイス231に提示されてもよい。ユーザデバイス231は、ヘルプセッション中にエキスパートによって使用されるデバイスなどのモバイルデバイス(例えば、スマートフォン)であることができる。その場合、エキスパートがゲームアプリケーション自体をプレイしていないため、エキスパートは、ゲームコンソールまたはクライアントデバイスへのアクセスを有する必要はない。
図3~8は、ゲームアプリケーションをプレイするユーザのコンテキスト内で説明される。一般に、ゲームアプリケーションは、ユーザ入力に応答する任意のインタラクティブゲームであることができる。特に、図3~8は、ゲームアプリケーションをプレイするプレイヤーが、ライブヘルプセッションを介してエキスパートと接続すること、または記録されたヘルプセッションへのアクセスを提供することのいずれかによって、リアルタイム支援を受信することができる方法を記述する。
本開示の一実施形態に従い、ネットワーク経由で通信するゲームサーバ及びクライアントデバイスのさまざまなモジュールの詳細な説明に関して、ここで対応するプレイヤーのゲームプレイをサポートするゲーム支援を提供する方法は、図3Aのフロー図300Aに関連して説明される。フロー図300Aは、ゲームアプリケーションをプレイするプレイヤーを、支援を提供する(例えば、ライブヘルプセッションを通じて)エキスパートに、または記録されたヘルプセッションに接続する目的で、ゲームサーバ側に含まれる操作のプロセス及びデータフローを示す。ヘルプセッションをプレイヤーのデバイスに送信することができ、このプレイヤーのデバイスは、ゲームアプリケーションをプレイするプレイヤーのゲームプレイを表示する別のデバイスとは別個のものであってよい。特に、フロー図300Aの方法は、図1A~1C及び図2のヘルプセッションコントローラ120によって少なくとも部分的に実行され得る。
310において、この方法は、ネットワークを介してバックエンドサーバで、ゲームアプリケーションについて複数のプレイヤーの複数のゲームプレイに関連する情報を受信する。これらのプレイヤーは、ゲームアプリケーションを現在プレイしている、またはゲームアプリケーションをプレイした場合がある。一部の実施形態では、情報はゲームプレイを含む。一部の実施形態では、情報は、ゲームステートデータなど、ゲームプレイに関連して生成されるメタデータ及び/または情報を含む。
例えば、情報は、前述したように、ゲームステート情報及びユーザ/プレイヤーの保存情報を含むことができる。この情報は、スナップショット情報を含むことができ、このスナップショット情報は、対応するスナップショットと関連するビデオゲーム内のポイントから開始するビデオゲームのインスタンスの実行を可能にする情報を提供することができる。
例えば、ゲームステート情報は、対応するポイントでのゲームプレイのステートを定義し、キャラクター情報(例えば、種類、種族など)、ゲームアプリケーション、キャラクターがいる位置、プレイしているレベル、キャラクターのアセット、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクトステート、グラフィックオーバーレイ、キャラクターアセット、キャラクターのスキルセット、ゲーム環境/世界内でのキャラクターの地理的位置、プレイヤーに提示されている現在のクエスト及び/またはタスク、ロードアウト、キャラクターのスキルセットなど含むことができる。ゲームステートデータは、ゲームプレイ中に対応するポイントに存在したゲーム環境の生成を可能にする。さらに、プレイヤーに関連したユーザ/プレイヤー情報は、対応するプレイヤーについてのビデオゲームをパーソナライズする情報、例えば、プレイヤーのスキルまたは能力、プレイヤーがヘルプを求める全体的な準備状況、プレイヤーによるゲームアプリケーションをプレイするリーセンシー、ゲームをプレイするときにユーザ5が選択したゲーム難易度、ゲームレベル、キャラクター属性、キャラクター位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値、及び他のアセット情報などを含むことができる。
320において、この方法は、この情報から、第一プレイヤーの第一ゲームプレイの現在のゲームコンテキストを決定する。第一ゲームコンテキストは、第一プレイヤーのゲームプレイの現在のステートに関連する。具体的には、第一プレイヤーの現在のゲームプレイに関する情報を受信する。ある場合では、現在のゲームプレイは、第一プレイヤーがゲームアプリケーションを現在プレイしているような、ライブである。ゲームコンテキストは、ゲームプレイ中の特定のポイントでゲーム環境を定義する。現在のゲームコンテキストは、対応するゲームプレイ中の現在のポイントでゲーム環境を定義する。ゲームコンテキストは、対応するゲームプレイ中の1つ以上のポイントに対して定義され得る。例えば、ゲームコンテキストは、プレイヤーのキャラクター、そのプレイヤーのさまざまな特性、そのプレイヤーと関連するアセット、そのプレイヤーに提示されるタスクなどを定義することができる。ゲームコンテキストは、ゲームプレイに関連して生成される以前に受信したメタデータ及び/または情報に基づく、またはこれらに密接に関連することができる。
330において、この方法は、この情報から、ゲームアプリケーションをプレイしたエキスパートの複数のエキスパートゲームプレイの複数の履歴エキスパートゲームコンテキストを決定する。一実施形態では、エキスパートも、ゲームアプリケーションを現在プレイしており、対応するゲームプレイを介して新しい履歴エキスパートゲームコンテキストを生成していることができる。エキスパートゲームプレイは、ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成される。
前述したように、一般に、ゲームコンテキストは、対応するゲームプレイ中の1つ以上のポイント、例えば、1人以上のエキスパートについてのポイントに対して定義され得る。エキスパートゲームプレイは、複数のゲームプレイから、具体的には、エキスパートとして分類されるプレイヤーのゲームプレイから取得される。プレイヤーは、自己登録によって、資格によって、または任意の他の方法によって分類され得る。一実施形態では、すべてのプレイヤーの複数のゲームプレイのゲームコンテキストを決定したときに、エキスパートゲームコンテキストを同時に決定した。そのため、プレイヤーがエキスパートとして分類されると、エキスパートの対応するゲームプレイヤーのゲームコンテキスト情報をエキスパートゲームコンテキストの1つとして識別することができる。
さらに、ゲームコンテキスト情報は、対応するゲームプレイ中に複数のポイントについて決定され得る。例えば、第一エキスパートについてのゲームコンテキスト情報は、ゲームプレイ中の第一ポイントにおける第一ゲームコンテキスト、ゲームプレイ中の第二ポイントにおける第二ゲームコンテキスト...及びゲームプレイ中の第Nポイントにおける第Nゲームコンテキストを含むことができる。例えば、対応するエキスパートについてのゲームプレイは、複数のゲームコンテキストを含むことができ、これらのゲームコンテキストは、レベル1でボスに対面するためのゲームコンテキスト、レベル2でボスに対面するためのゲームコンテキスト、所与のサイドクエスト内の進度などについてのゲームコンテキストを含む。複数のプレイヤーをエキスパートとして分類したときに、各エキスパートについてのゲームコンテキスト情報を決定することができる。
特定のゲームアプリケーションについて分類されたエキスパートは、複数のプレイヤーのセットを構成する。前述したように、エキスパートは、いかなる適格基準などもなく、自己登録であることができる。別の実施形態では、エキスパートは、前述したように、プレイヤーのスキル、タスクの達成、クエストの終了、一定期間内にゲームの一部分の終了、一定期間内にゲームの終了などのような、何らかの資格を有することができる。資格に達した後に、エキスパートは、自己登録することができる、及び/またはエキスパートとして自動的にラベル付けされる(例えば、認可によって)ことができる。
同じゲームアプリケーションをプレイする、異なるプレイヤー及び/またはエキスパートは、彼らの対応するゲームプレイ内で同じ、または類似のゲームコンテキストを含むことができる。例えば、同じゲームアプリケーションをプレイする、すべての複数のプレイヤーのゲームコンテキストを収集することにより、異なるプレイヤーのゲームプレイは、同じアセットを有する類似のキャラクター、異なるプレイヤーの類似のプレイスタイル、ゲームアプリケーションのゲーム世界を通じて類似のルーティングなどを含むように調整され得る。以下で説明されるように、支援を要求するプレイヤーのゲームプレイにエキスパートが支援を提供することができるように、ゲームコンテキスト情報を使用して、あるプレイヤーをエキスパートとして分類される別のプレイヤー(例えば、自己登録、資格を持つなど)とマッチングさせることができる。
340において、この方法は、第一ゲームプレイに関連する支援クエリを受信する。すなわち、第一プレイヤーも支援についての要求を行っている、または要求の通知などを行っている。例えば、クエリは、ゲーム中の特定のポイント(例えば、レベルボス、クエスト、タスクなど)に勝利する方法を特に対象とすることができる、またはオブジェクトに関する情報(例えば、ボスの名前、ゲームプレイ中に遭遇したオブジェクト)を獲得することを対象とすることができる、またはゲームアプリケーション中のこのポイントでのプレイヤーに対する全体的な目的を対象とすることができる。
加えて、第一プレイヤーの現在のゲームコンテキストは、要求が行われるゲームプレイ中のポイントに最も近いゲームステートに関連する。例えば、ゲームコンテキストは、第一プレイヤーのキャラクター、キャラクターが保有するアセット、キャラクターが遭遇するゲームアプリケーション中のレベル、及びレベルのシーンに関する情報を提供することができる。第一プレイヤーによる支援についてのいかなるクエリまたは要求も、必ず現在のゲームコンテキストに関連する。そのため、第一プレイヤーの現在のゲームコンテキストに厳密にマッチングするゲームコンテキストを含む別のプレイヤー(例えば、分類されたエキスパート、フレンドなど)のゲームプレイは、第一プレイヤーに役立つゲームアプリケーションの知識を含むことができる。
350において、方法は、第一プレイヤー(ヘルプを要求する)の現在のゲームコンテキストを複数の履歴エキスパートゲームコンテキストと比較して、それぞれのゲームプレイヤーのゲームコンテキストに関してなど、エキスパートが第一プレイヤーにどの程度厳密にマッチングするかを確認する。すなわち、比較により、各エキスパートのゲームプレイが、どの程度厳密に第一プレイヤーのゲームプレイにマッチングするかを判断する。一実施形態では、比較は、特定のエキスパートについてキャプチャされる各ゲームコンテキストに対して実行され、第一プレイヤーの第一ゲームコンテキストに最も近いゲームコンテキストは、そのエキスパートを表すものとして使用される。他の実施形態では、特定のエキスパートのゲームプレイ中にさまざまなポイントで収集されるゲームコンテキスト情報を組み合わせて、第一プレイヤーの第一ゲームコンテキストとの比較に使用することができる。一実施形態では、少なくとも1人のエキスパートは、第一ゲームコンテキストにマッチングする、対応する履歴エキスパートゲームコンテキストを有すると判定される。
360において、方法は、支援を得るために第一エキスパートを第一プレイヤーに割り当てる。すなわち、次いで、第一エキスパートは、第一プレイヤーに第一プレイヤーのゲームプレイに関して支援を提供することができる。エキスパートのプールから第一エキスパートを選択する目的で、さまざまな選択方法を実装することができる。例えば、第一エキスパートは、第一プレイヤー、及びエキスパートのセット/プール内のエキスパートのゲームコンテキストに基づいて選択される。
一実施形態では、第一エキスパートは、ゲームコンテキスト間のマッチングの品質に基づいて選択される。例えば、1セットのマッチングしたエキスパートゲームコンテキストは、図3Bに関してさらに説明されるように、対応するエキスパートゲームコンテキストを第一ゲームコンテキストにマッチングさせる品質を示すマッチング値を含む。例えば、方法は、最高値を含む第一マッチング値を決定する。第一マッチング値は、エキスパートゲームコンテキストに対応する。ある場合では、第一マッチング値は、第一エキスパートの第一エキスパートゲームコンテキストに対応する。そのため、ヘルプセッションについて第一エキスパートを選択し、そこで第一エキスパートは、ゲームコンテキストに基づいて、エキスパートのプールから、第一プレイヤーにヘルプを提供するのに最も適している。
他の実施形態では、エキスパートのプールからの第一エキスパートは、稼働率に基づいて選択される。これは、エキスパートを、ヘルプを要求するプレイヤーにマッチングするための単純なアプローチを提供する。特に、このアプローチは、ゲームアプリケーションが最初にリリースされたときに有益であることができる。最近のリリースのため、登録されているエキスパートが多くはない可能性があり、情報が不足しているため、エキスパート間のいかなる比較も行うことが困難である場合がある。一実施形態では、ヘルプセッションのために、利用可能な第一エキスパートを選択し、第一プレイヤーに割り当てる。
他の実施形態では、図3Bにさらに説明されるように、援助することができる可能性が最も高い、資格を持った、及び/または利用可能なエキスパートからの応答への競争などの中で、応答時間に基づいてエキスパートを選択する。他の実施形態では、一度に1人のエキスパートをポーリングして、彼らが支援を提供したいかどうかを判定する。ポーリングプロセス中、図3Bにさらに説明されるように、肯定的に応答する第一エキスパートは、支援を提供するために割り当てられる。
特に、370において、方法は、第一プレイヤー及び第一エキスパートを接続する通信セッションを生成する。一実施形態では、バックエンドサーバにおいて通信セッションマネージャは、通信セッションを確立して管理するための媒介として機能する。少なくとも、通信セッションは、第一エキスパートのデバイスと第一プレイヤーのデバイスとの間で確立される。通信セッションを使用して、第一エキスパートと第一プレイヤーとの間のヘルプセッションなどによって、エキスパートがプレイヤーに支援を提供することができる。
一実施形態では、通信セッションは、テキスト、オーディオ、ビデオ、埋め込みオーディオ及びビデオなどのように構成される。例えば、方法は、音声チャネルを確立することのうちの1つ以上を備えることができ、通信セッションにおいてテキストチャネルを確立することができ、ビデオチャット用に設定されるビデオチャネル(例えば、埋め込みビデオ)を確立することができる。また、通信セッションマネージャは、ShareScreen機能、SharePlay機能などを提供するように、さまざまな通信形式を可能にする新しいセッションを作成するように機能することができる。一実施形態では、通信セッションは、ピアツーピア接続であることができる、または中間ノードとして機能するバックエンドサーバを含むことができる。すなわち、通信セッションマネージャによって作成されると、通信セッションは、第一プレイヤーのデバイスと第一エキスパートのデバイスとの間の直接通信路である。他の実施形態では、通信セッションは、バックエンドサーバを介して流れることができる。
一実施形態では、前述したように、第一エキスパートは、共有画面機能などを通じて、第一プレイヤーの画面を共有することができる。第一プレイヤーのゲームプレイを表示することにより、第一エキスパートは、第一プレイヤーが直面している問題をよりよく感じ取るので、より良いヘルプを提供することができる。共有画面機能は、一実施形態では、通信セッションを通じて実装される。画面を共有する要求は、第一プレイヤーまたは第一エキスパートのいずれかによって行われることができる。
例えば、第一エキスパートは、第一プレイヤーのゲームプレイのビデオを共有する要求を行う場合がある。一実施形態では、この要求をバックエンドサーバにおいてヘルプセッションコントローラが受信する。要求の通知を第一プレイヤーのデバイスに送信する。例えば、この通知をヘルプセッションコントローラから配信することができる。認可は、ヘルプセッションコントローラによって第一プレイヤーのデバイスから受信され、この認可は、ゲームプレイのビデオをエキスパートと共有するために第一プレイヤーによって提供される。そのため、第一プレイヤーのゲームプレイは、第一エキスパートのデバイスにストリーミングされる。例えば、ヘルプセッションコントローラは、通信セッションを通じて、または独立したストリーミングチャネルを通じてストリーミングを容易にすることができる。
他の実施形態では、第一エキスパートは、前述したように、共有プレイ機能などを介して、第一プレイヤーのゲームプレイの制御を引き継ぐことができる。共有プレイにより、エキスパートは、ゲームプレイの制御を引き継ぎ、例えば、第一プレイヤーが実行することができない目標を完了することができる。プレイを共有する要求は、第一プレイヤーまたは第一エキスパートのいずれかによって行われることができる。例えば、第一エキスパートのデバイスからの要求を受信し、その要求は、第一プレイヤーのゲームプレイの制御を共有するように要請する。エキスパートからの要求は、ユーザのゲームプレイ内の目標を達成するためのエキスパートからの支援のオファーの形式であることができる。この要求をバックエンドサーバにおいてヘルプセッションコントローラが受信することができる。
この要求の通知は、ヘルプセッションコントローラによって生成され、ヘルプセッションコントローラから第一プレイヤーのデバイスに配信され得る。認可は、ヘルプセッションコントローラによって第一プレイヤーのデバイスから受信され、この認可は、ゲームプレイの制御をエキスパートと共有するために第一プレイヤーによって提供される。そのように、エキスパートは、ゲーム入力コマンドをサブミットすることによってゲームプレイの制御を引き継ぐことができる。一実施形態では、1セットの入力制御またはコマンドは、ヘルプセッションコントローラによって第一エキスパートのデバイスから受信される。ゲームエンジン(例えば、ローカルコンソールまたはバックエンドゲームプロセッサ)が第一プレイヤーのコントローラデバイスから発信する入力コマンドをブロックし、第一エキスパートのコントローラデバイスから発信する入力コマンドを通過させるように、ブロックは、第一プレイヤーの入力コントローラからの入力コマンドに置かれる。
例えば、ヘルプセッションコントローラは、第一プレイヤーのゲームプレイのためにゲームアプリケーションを実行するプロセッサ(例えば、ゲームエンジン)に命令を送信して、第一プレイヤーに関連する入力制御をブロックすることができる。そのため、第一エキスパートのコントローラデバイスからの1セットの入力制御は、第一プレイヤーのゲームプレイのためにゲームアプリケーションを実行するプロセッサ(例えば、ゲームプロセッサ)に配信される。さらに、制御はいつでも第一プレイヤーに戻すことができる。例えば、前述したように、第一プレイヤーは、いつでも(キルコマンドなどを使用して)ゲームプレイの制御を取り戻す機能を有することができる。
図3Bは、本開示の一実施形態による、ゲームアプリケーションをプレイし、支援を要求するプレイヤーに提供されている支援の形式を決定するための方法におけるステップを示すフロー図300Bである。フロー図300Bは、ゲームアプリケーションをプレイするプレイヤーを、支援を提供する(例えば、ライブヘルプセッションを通じて)エキスパートに、または記録されたヘルプセッションに接続する目的で、ゲームサーバ側に含まれる操作のプロセス及びデータフローを示す。ヘルプセッションをプレイヤーのデバイスに送信することができ、このプレイヤーのデバイスは、ゲームアプリケーションをプレイするプレイヤーのゲームプレイを表示する別のデバイスと別個のものとすることができる。フロー図300Bは、一実施形態では、フロー図300Bがフロー図300Aの拡張であるように、フロー図300Aと連携して実装され得る。特に、フロー図300Bの方法は、図1Aから1C及び図2のヘルプセッションコントローラ120によって少なくとも部分的に実行され得る。
350’において、方法は、350で前述されたマッチングを実行するときに複数のマッチングベクトルを決定する。すなわち、第一ゲームコンテキストと複数の履歴エキスパートゲームコンテキストとの間で複数のマッチングベクトルを決定する。各マッチングベクトルは、対応するエキスパートの対応する履歴エキスパートゲームコンテキストに関連付けられる。また、各マッチングベクトルは、対応する履歴エキスパートゲームコンテキストを第一ゲームコンテキストにマッチングさせる品質を示すマッチング値(例えば、品質係数またはQ値)を含む。
351において、方法は、閾値を超えるマッチング値を有する、1セットのマッチングした履歴エキスパートゲームコンテキストを決定する。これは、エキスパートのセット/プールを、第一プレイヤーの第一ゲームコンテキストにより厳密にマッチングするより小さな1セットのエキスパートにフィルタリングする。第一プレイヤーのゲームプレイの現在のコンテキストを考えると、より小さな1セット中のエキスパート、またはエキスパートゲームコンテキストが閾値を上回るマッチング値を含むエキスパートは、第一プレイヤーにヘルプを提供するのにより良く適している。
決定ステップ361において、方法は、より小さな1セットのエキスパート中の任意のエキスパートが適宜に(例えば、すぐに、5分内などに)支援を提供するために利用可能であるかどうかを決定する。例えば、ゲームアプリケーションの最初の6ヶ月から1年内には多くのアクティビティがある場合があり、エキスパートは、新着で知識豊富な支援を提供するために直ちに利用可能である。その期間を過ぎると、エキスパートによって提供される支援が陳腐化する可能性があり、これらのエキスパートが利用できない場合がある。例えば、これらのエキスパートは、支援を提供するときに速度を上げるまでにある一定の時間を必要とする場合がある。
ライブ支援を提供するエキスパートが利用可能ではなかった場合に、方法は、362に進み、閾値を超えるベクトルのマッチング値を有する履歴エキスパートゲームコンテキストを含む1つ以上の記録されたヘルプセッションを決定する。例えば、履歴エキスパートゲームコンテキストは、上記の350’及び351により分析され得る。363において、第一プレイヤーの支援クエリに応答するのに最も適している、記録されたヘルプセッションは、第一プレイヤーのデバイスにストリーミングされる。例えば、選択され記録されたヘルプセッションは、最も高いマッチング値を含むことができる。
一方、ライブ支援を提供するために利用可能なエキスパートがいる場合、この方法は、「または」ステップ369に示されるように、エキスパートを選択するために1つ以上のパスを取ることができる。一実施形態では、エキスパートは、応答時間に基づいて選択される。例えば、プレイヤーがそのゲームに対してヘルプを要求するときに、その要求は、以前に決定されたより小さな1セットのエキスパートのような、援助することができる可能性が最も高い利用可能なエキスパートに送信される。
一実施形態では、366において、第一プレイヤーからのクエリに応答して生成されるヘルプセッションの通知を提供するブロードキャストを実行する。この通知は、前述される、1セットのマッチングしたエキスパートゲームコンテキスト(例えば、閾値を満たすもの)に対応する1セットのマッチングしたエキスパートの複数のデバイスにブロードキャストされる。一実施形態では、367において、ヘルプ要求を受諾する第一エキスパートを選択し、第一プレイヤーとのヘルプセッションに割り当てる。例えば、応答の競争では、通知への第一応答が最短の応答時間(例えば、受信したすべての応答から)を有すると決定し、そこで第一応答を第一エキスパートから受信する。370’において、応答するエキスパートが、支援を得るために第一プレイヤーに割り当てられる。
他の実施形態では、364において、方法は、より小さな1セットのエキスパート(例えば、閾値を超えるマッチング値を有するマッチングした履歴エキスパートゲームコンテキストを含む)中の次に利用可能なエキスパートに通知を送信する。次に利用可能なエキスパートは、より小さな1セット中の残りのエキスパート(通知されていないエキスパート)の最も高いマッチング値を含むことに基づいて決定され得る。決定ステップ365では、この方法は、次に利用可能なエキスパートから何らかの肯定的な応答を受信したかどうかを判定する。そうでない場合、この方法は、364に戻り、前述したように、この通知を新しく選択された「次に利用可能なエキスパート」に再送信する。そうである場合、方法は、370’に進み、応答するエキスパートが、支援を得るために第一プレイヤーに割り当てられる。
図4Aは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することによってゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援を提供するシステムまたは方法におけるデータフローを示すデータフロー図である。図4は、実施形態では図1A~1C及び図2のシステム及び方法を通してデータフローを表すことができる。
図示されるように、プレイヤー1(P1)は、ゲームアプリケーションをプレイしている。プレイヤーP1は、自分のゲームプレイ中に障害物に遭遇し、情報及び/または支援を要求することがある。例えば、前述したように、プレイヤーP1からのクエリは、ユーザインタフェース110-P1を介して行われ、ネットワーク150を介して配信され、バックエンドサーバのヘルプセッションコントローラ120に戻される。特に、ヘルプセッションコントローラ120と協動するマッチングエンジン123は、プレイヤーP1及びエキスパートのプール440のゲームコンテキストにマッチングするように構成される。エキスパートのプールは、複数のプレイヤー410から選ばれ、プレイヤーは、1つ以上のゲームアプリケーションをプレイしている。プール440内のすべてのエキスパートは、ゲームアプリケーションをプレイしたことがあり、例えば、ゲームアプリケーションのエキスパートとして登録されている。例えば、プール440は、1人以上のエキスパートE1...E5...E103...Eを含む。
ゲームコンテキスト420は、比較のためにマッチングエンジン123に入力される。例えば、入力は、プレイヤーP1についてゲームコンテキスト420-P1、エキスパートE1についてゲームコンテキスト420-E1、エキスパートE103についてゲームコンテキスト420-E103、エキスパートE64についてゲームコンテキスト420-E64、エキスパートE5についてゲームコンテキスト420-E5...及びエキスパートEnについてゲームコンテキスト420-Enを含む。マッチングエンジンによって実行されるマッチングプロセスは前述された。基本的には、プレイヤーP1のゲームコンテキスト420-P1を、エキスパートのプール440に関連する各ゲームコンテキストと比較する。マッチングベクトルを、各ゲームコンテキストに対して決定し、各マッチングベクトルは、対応するエキスパートゲームコンテキストをプレイヤーP1のゲームコンテキスト420-P1にマッチングさせる品質を示す対応するマッチング値(例えば、品質係数またはQ値)を含む。
マッチングエンジン123は、エキスパートのプール440からエキスパートの1人を選択するように構成される。示されるように、エキスパートE5を選択し、マッチングエンジン123からの出力435として提供する。プレイヤーP1に支援を提供するヘルプセッションを生成して管理する目的で、出力435をヘルプセッションコントローラ120に提供する。前述したように、エキスパートの選択のために1つ以上の方法を実装することができる。例えば、エキスパートのプール440は、閾値をマッチング値に適用することによってさらにフィルタリングされてもよく、閾値基準を満たすマッチング値に関連するエキスパートは、選択のために検討される。
一実施形態では、最高品質のマッチング値をエキスパートの選択に使用する。すなわち、最も高いマッチング値を選択に使用する。別の例では、ヘルプセッション要求の通知は、閾値基準を満たすマッチング値に関連するエキスパートに配信される。最初に通知に応答するエキスパートをヘルプセッションに選択することができる。さらに別の例では、閾値基準を満たすマッチング値に関連するエキスパートのいずれかを、ランダム選択、最初の選択などによって選択することができる。ゲームコンテキスト420、及びマッチングエンジン123のマッチングプロセスのさらなる考察を図5A~5Bに関して提供する。
一実施形態では、プレイヤーP1をエキスパートにマッチングさせるのではなく、マッチングエンジン123は、フレンドのプールからエキスパートのフレンドを選択することができる。例えば、フレンドは、1つ以上のソーシャルネットワークを通じて確立されるソーシャルネットワークのフレンドであることができる。
ヘルプセッションコントローラは、ヘルプセッションを確立して管理し、プレイヤーP1にリアルタイム支援を提供するように構成される。例えば、通信セッションは、プレイヤーP1のデバイス(例えば、ユーザインタフェース110-P1)とエキスパートE5のデバイス(例えば、ユーザインタフェース110-E5)との間で生成される。一実施形態では、通信セッションは、ヘルプセッションコントローラ120の通信セッションマネージャと、プレイヤーP1のデバイスと、エキスパートE5のデバイスとの間で生成される。他の実施形態では、通信セッションを生成し、プレイヤーP1のデバイスとエキスパートE5のデバイスとの間の直接通信を確立する。
通信セッションでは、1つ以上の通信チャネルを確立することができる。例えば、音声チャネル451、テキストチャネル452、画面共有チャネル453、及び/または共有プレイチャネルのうちの1つ以上を確立することができる。示されるように、音声チャネル451は、双方向通信路であるため、プレイヤーP1及びエキスパートE5は、互いの音声通信に話しかけ、聞くことができる。また、テキストチャネル452は、双方向通信路であるため、プレイヤーP1及びエキスパートE5は、テキスト化によって互いに通信することができる。さらに、画面共有チャネル453は、一方向通信路であることができるため、プレイヤーP1のゲームプレイからのビデオは、表示するためにエキスパートE5のデバイスに配信される。さらに、共有プレイチャネル454は、双方向通信路であることができるため、入力制御は、エキスパートE5から、プレイヤーP1にローカルのゲームエンジンに、またはバックエンドサーバにおいて別のゲームエンジンに通信され得る。
ヘルプセッションコントローラ120とユーザインタフェース110-P1との間に、またはユーザインタフェース110-E5に制御及び他の情報を渡すために、別個の制御チャネルを確立することができる。例えば、プレイヤーP1から発信する入力制御をブロックする、または画面共有チャネル453を介してビデオを送信する、命令をユーザインタフェース110-P1に配信することができる。さらに、格付け情報は、格付け情報を提供するチャネル455を介して配信されてもよい。例えば、ヘルプセッション後、プレイヤーP1は、チャネル455を介してヘルプセッションの格付けを提供することができる。さらに、プレイヤーP1は、エキスパートE5の全体的なパフォーマンス(例えば、人格、有用性、スポイラーのリリースを制御する能力、ゲームアプリケーションについての知識の深さなど)の格付けを提供することができる。また、エキスパートE5は、プレイヤーP1の格付け(例えば、協力レベル、ヘルプを受諾する能力、人格、感謝の気持ちなど)を提供することができる。
一実施形態では、ヘルプセッションは、ユーザのゲームプレイと同時に、プレイヤーP1に関連する第二コンピューティングデバイスに実装される。例えば、一実施形態では、ユーザのゲームプレイを表すデータをプレイヤーP1の第一コンピューティングデバイスに配信するために確立される第一通信チャネル、及びヘルプセッションに関連するデータをプレイヤーP2の第二コンピューティングデバイスに配信するために確立される第二通信チャネルのような、情報を配信する2つの通信チャネルが存在してもよい。例えば、第一コンピューティングデバイスは、ローカルゲームコンソール及び/またはディスプレイであってよく、第二コンピューティングデバイスは、スマートフォンであることができる。他の実施形態では、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを通じて、ユーザのゲームプレイを表すデータとともに配信され得る。
図4Bは、本開示の一実施形態による、支援を要求するプレイヤーP1のコンテキストに限定されるゲームステートデータを使用してローカルに実行するゲームアプリケーションをプレイするエキスパートE-5のゲームプレイを示すデータフロー図であり、エキスパートE5のゲームプレイは、プレイヤーP1にストリーミングされる。図4Bは、図4Aに記述されるように、プレイヤーP1と選択されたエキスパートE5との間の情報のフローのさらなる図解を提供する。
図示されるように、プレイヤーP1は、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中に支援を要求するクエリを送信している。クエリは、プレイヤーP1のローカルコンピューティングデバイス100などによって、経路「A」を介してバックエンドサーバ205に配信される。ローカルコンピューティングデバイス100は、ゲームコンソールであることができ、ゲームアプリケーションは、デバイス100上で実行され得る、またはローカルデバイス100と通信するクラウドゲームネットワークにおいて実行され得る。
サーバ205は、前述したように、1人以上のエキスパートE1、E2...Enに通知を送信する。例えば、この通知は、複数のエキスパートに、または一度に1人のエキスパートにブロードキャストされ得る。例えば、通知を経路「B」に沿ってエキスパートE5のデバイスに配信し、支援を提供する要求の受諾も配信して経路「B」に沿ってサーバ205に返す。命令及び/または通信は、経路「F」を介してサーバ205とエキスパートE5のデバイスとの間で渡され得る。例えば、1つ以上の通信セッションを確立する命令を使用することができる。
このポイントで、サーバ205は、エキスパートE5についての通信セッションを確立し、プレイヤーP1に支援を提供することができる。一実施形態では、通信セッションは、サーバ205(例えば、経路「C」、「D」、及び「E」)を介して、プレイヤーP1のデバイスとエキスパートE5のデバイスとの間で確立される。他の実施形態では、通信セッションは、ピアツーピアネットワーク接続(例えば、経路「G」)を介して、プレイヤーP1のデバイスとエキスパートE5のデバイスとの間で確立される。例えば、ピアツーピアネットワーク接続は、WebRTC(ウェブリアルタイム通信)接続であってよく、これは、1つ以上のデバイス上のウェブブラウザ及びモバイルアプリケーションが、アプリケーションプログラミングインタフェース(API)を介してリアルタイム通信(RTC)によって通信することを可能にする。
前述したように、テキスト、音声、ビデオ、ビデオチャットなどを含む、さまざまな通信形式を使用して、経路「E」などを介して、エキスパートE5が支援を提供することを可能にすることができる。一実施形態では、プレイヤーP1のゲームプレイをエキスパートE5と共有するShareScreen要求を行い、経路「C」を介して、またはピアツーピア接続経路「G」を介して、プレイヤーP1のデバイス100からエキスパートE5のデバイスにゲームプレイ(例えば、ビデオ、オーディオなど)を配信することができる。さらに、ゲームプレイの制御をプレイヤーP1とエキスパートE5との間で共有するSharePlay要求を行うことができ、そこでエキスパートE5によるコントローラ入力を使用して、ゲームプレイを制御する。その場合、コントローラ入力は、経路「D」を介して、またはピアツーピア接続経路「G」を介して、エキスパートE5のデバイスからプレイヤーP1のデバイス100に配信される。一実施形態では、経路「C」、「D」、及び/または「E」を介して提供される通信は、ピアツーピア接続経路「G」を介して提供され得る。
さらに他の実施形態では、プレイヤーP1のゲームプレイを保護するために、エキスパートE5のゲームプレイが支援クエリに関連しているプレイヤーP1に支援を提供することに焦点が置かれていることができるように、エキスパートE5は、プレイヤーP1の現在のコンテキストに限定される独立したエキスパートゲームプレイを生成する。例えば、プレイヤーP1は、自分のゲームプレイを誰にも汚されたくない場合があるため、エキスパートがゲームプレイをプレイして難しいタスクを終えることなく、プレイヤーP1がゲームアプリケーションを終了したい。プレイヤーP1は、難しいタスクを実行する、及び/または解決することができる方法を確認したい場合がある。そのため、制限されたステート情報をエキスパートE5のデバイスに提供する場合がある。制限されたステート情報は、エキスパートE5のデバイス上でプレイヤーP1の現在のコンテキストを複製するのに過不足のない情報を提供するゲームステートデータであることができる。そのように、エキスパートE5は、ローカルデバイス上でゲームアプリケーションをプレイして、現在のコンテキストについてのエキスパートゲームプレイを生成し、エキスパートゲームプレイをストリーミングしてプレイヤーP1に返すことができる。
例えば、本開示の一実施形態に従って、エキスパートE5は、ローカルモバイルデバイス411を使用して、ゲーム支援を提供することができる。モバイルデバイス411は、タブレット、または携帯電話などであることができる。制限されたステート情報をモバイルデバイス411上にロードして、制限された現在のコンテキスト内でゲームアプリケーションを実行する。制限されたステート情報は、フォーマットデータを含むことができるため、ゲームアプリケーションは、デバイス411内で実行され、デバイス411に表示され得る。
さらに、エキスパートE5が入力制御を生成することができるように、入力制御ボタンをデバイス411のタッチ面上に生成して表示することができる。示されるように、モバイルデバイス411上で実行されるようなエキスパートE5のゲームプレイは、インタラクション(例えば、視聴など)のためにプレイヤーP1のデバイス100に配信される。例えば、先に導入されたように、プレイヤーP1は、ユーザインタフェース110-P1上でエキスパートゲームプレイE5を視聴している。ユーザインタフェース110-P1は、エキスパートゲームプレイ、エキスパートE5からの通信(例えば、ビデオチャット、テキスト、音声など)、入力コントローラシーケンスなどを示す1つ以上のウィンドウを含むことができる。ストリーミングされた情報は、経路G1を介して、またはサーバを中間ノードとして含む通信セッションを介してピアツーピア接続(例えば、WebRTC)に提供され得る。
他の実施形態では、エキスパートE5は、ゲームコンソール413のようなローカルコンピューティングデバイス、またはコンピュータプロセッサへのアクセスを有することができる。エキスパートE5は、同じゲームアプリケーション、もしくは異なるアプリケーションをプレイしていることができる、またはゲームコンソール413、コントローラ406、及びディスプレイ412を介して任意のゲームアプリケーションをプレイするために容易に利用可能であることができる。通知を受信すると、サーバ205は、ゲームアプリケーションをロードアップする命令をゲームコンソール413に送信することができる。
また、プレイヤーP1の現在のコンテキストに関連するゲームステートもロードすることができる。ある場合には、ゲームアプリケーションは、例えばローカルメモリによって、またはクラウドゲームネットワークサービスによって、ゲームコンソール413に利用可能である。そのように、エキスパートE5が自分自身のゲームプレイを通じて支援を提供するように要求される場合、ゲームアプリケーションは、所与の現在のコンテキストに対する制御入力を受信する準備ができている。ゲームコンソールは、フォーマット情報を受信することができるため、ゲームアプリケーションは、ゲームコンソール413上で実行され、コントローラ406によって提供されるコントローラ入力に応答可能であることができる。示されるように、ゲームコンソール413上で実行されるような(またはゲームコンソール413と協動して、クラウドゲームネットワーク上で実行されるような)エキスパートE5のゲームプレイを、インタラクション(例えば、視聴など)のためにプレイヤーP1のデバイス100に配信する。
例えば、先に導入されたように、プレイヤーP1は、ユーザインタフェース110-P1上でエキスパートゲームプレイE5を視聴している。ユーザインタフェース110-P1は、エキスパートゲームプレイ、エキスパートE5からの通信(例えば、ビデオチャット、テキスト、音声など)、入力コントローラシーケンスなどを示す1つ以上のウィンドウを含むことができる。ストリーミングされた情報は、経路G2を介して、またはサーバを中間ノードとして含む通信セッションを介してピアツーピア接続(例えば、WebRTC)に提供され得る。
図5Aは、本開示の一実施形態による、ゲームアプリケーションをプレイするプレイヤーのゲームコンテキストのコレクション、及びプレイヤーのゲームプレイを進めるためにリアルタイム支援を提供するエキスパートの選択中にゲームアプリケーションのエキスパートのゲームコンテキストへのゲームコンテキストのマッチングの図解であり、セクションは、支援についてのプレイヤーによる要求に応答して行われる。図5Aに示されるマッチングプロセスは、マッチングエンジン123によって実装され得る。さらに、図5Aを、図4と整列させると、選択されたエキスパートE5を示す出力435を提供するために、マッチングエンジン123によって、プレイヤーP1及びエキスパートのプール440のゲームコンテキストが比較されることを示すことができる。
特に、図5Aは、プレイヤーP1のゲームプレイ中の特定の瞬間に関連している。例えば、タイムライン520は、プレイヤーP1のゲームプレイ中のさまざまなポイントを示す。これらのポイントは、時間t...時間t10...から現在の時間である時間t25など、タイムライン520中の時間値が割り当てられることができる。
一実施形態では、タイムラインを使用して、プレイヤーP1のゲームプレイのリプレイを、ヘルプセッションの選択されたエキスパートに提供することができる。例えば、リプレイは、タイムラインによって示されるように、予め選択された期間(例えば、1つの期間、2つの期間など)に、ゲームプレイを巻き戻すことができる。スナップショットは、タイムライン520の各時点に関連付けられることができ、スナップショットは、リプレイを生成するために使用される。他の実施形態では、エキスパートは、どの程度の巻き戻しを実行するかを選択することができる。例えば、タイムライン510は、エキスパートのデバイスに送信され、タイムラインは、プレイヤーP1のゲームプレイ中に生成される複数のスナップショットを含む。スナップショットの選択は、第一エキスパートのデバイス(例えば、ある時点に関連付けられる)から受信する。ゲームプレイは、ゲームプレイが第一エキスパートのデバイス上で選択されたスナップショットから開始されるように、選択されたスナップショットまで巻き戻される。リプレイがゲームプレイの現在のフレームに追いついた後、ライブゲームプレイは、エキスパートに提示され得る。
加えて、スクリーンショット510は、時間t25におけるプレイヤーP1のゲームプレイ中に生成される現在のビデオフレームを示す。スクリーンショット510は、プレイヤーP1のライブゲームプレイを示す。単に説明目的のみのために、スクリーンショット510は、Kratos511と敵の戦闘員512との間の戦闘を含むことができる。God of Warゲームアプリケーションでは、Kratosは、ギリシャ神話のスパルタの戦士であり、God of WarのAresを殺す任務を負わされている。ゲームプレイでは、プレイヤーP1は、Kratos511を制御することができる。
前述したように、マッチングエンジン123は、プレイヤーP1のゲームコンテキスト420-P1、及びエキスパートプール440のゲームコンテキストを入力として取得する。例えば、各ゲームコンテキストは、プレイヤーP1及びエキスパートのプール440について同様に構成され、ゲームステート及びユーザ/プレイヤーの保存データのような、前述されたパラメータ545を含む。例えば、パラメータ545は、ゲームステートデータ、例えば、キャラクター、キャラクターの種族または種類、キャラクターが直面している現在のクエスト、キャラクターについての次のクエスト、ゲーム環境中のゲームプレイの位置、ゲームアプリケーション中のゲームプレイのレベル、キャラクターのアセット(例えば、盾の種類、剣の種類、爆弾の種類など)、ロードアウト、キャラクターのスキルセット(ジャンプスキル、スタミナなど)などを含むことができる。パラメータ545は、ユーザ保存データ(例えば、ユーザプロファイルデータ)、例えば、プレイヤーまたは対応するエキスパートの全体的なゲームスキル、ゲームアプリケーションをプレイするリーセンシー、ヘルプを求める意欲あるいは意思表明(ウィリングネス:willingness)などを含むことができる。
前述したように、マッチングエンジン123は、エキスパートのプール440のゲームコンテキストのそれぞれについてマッチングベクトルを生成するように構成される。例えば、マッチングエンジン123は、基準マッチング540を実行し、マッチングベクトルを生成する。各マッチングベクトルは、対応するエキスパートゲームコンテキストをプレイヤーP1のゲームコンテキストにマッチングさせる品質を示すマッチング値(例えば、品質係数またはQ値)を含む。
例えば、図5Aは、列581において、エキスパートE1のゲームコンテキスト420-E1とプレイヤーP1のゲームコンテキスト420-P1との比較を示す。チェックマークは、ゲームコンテキストの対応するパラメータまたは基準についてのマッチングを示す。チェックマークがないことは、マッチングがないことを示す。一実施形態では、チェックマークは、値1が与えられるが、任意の値を与えられることができる。示されるように、ゲームコンテキスト420-E1は、少なくともキャラクターの種族、シールド、スタミナ、及び爆弾についてのパラメータにマッチングする。これは、エキスパートE1のゲームプレイがこれらの定義パラメータを含む可能性が高いことを示す。
この比較プロセスは、エキスパートのプール440に関連する各ゲームコンテキストについてマッチングエンジン123によって繰り返され得る。例えば、図5Aは、列585において、エキスパートE5のゲームコンテキスト420-E5とプレイヤーP1のゲームコンテキスト420-P1との比較を示す。示されるように、すべてのパラメータが対応するチェックマークを含むため、ゲームコンテキスト420-E5は、ゲームコンテキスト420-P1に厳密にマッチングする。
加えて、マッチングエンジン123は、マッチングベクトルに対して実行される重み付きアプリケーション550を適用することができる。例えば、列555は、マッチングエンジン123によって使用されるゲームアプリケーションのゲームコンテキストにおける各パラメータ545についての重み付け係数を示す。重み付けは、対応するパラメータの重要度を定義する。一実施形態では、重み付け係数が大きいほど、パフォーマンスが高くなる。もちろん、その逆は、選択プロセス全体を通して実装され得る。示されるように、キャラクターの種族が0.6の重み、シールドが0.8の重み、剣が0.4の重み、ジャンプスキルが1.2の重み、スタミナが1.4の重み...爆弾が0.2の重みを有する。すなわち、キャラクターのスタミナ及びジャンプスキルは、比較において高く評価される。これらの係数は、特定のタスクまたはクエストを達成する際に重要である場合がある。
また、追加の係数560は、マッチングエンジン123によって考慮され得る。これらの係数も、ゲームコンテキストを比較するときに重みを与えられることができる。例えば、追加の係数は、エキスパートの格付け、エキスパートのランキング、エキスパートが最高の可能なランキングを示すゴールドスターステータスに到達したかどうか、可用性などを含むことができる。
マッチングエンジン123は、エキスパート選択プロセス570を実行する。例えば、マッチングベクトルは、基準マッチング540、重み付け550、及び追加の係数560の考慮を実行した後にマッチング値が与えられる。例えば、エキスパートE1について、マッチング値591(3.0)を生成する。また、エキスパートE5について、マッチング値595(4.6)を生成する。2人のエキスパート間では、プレイヤーP1のクエリに対する支援を提供する際に、エキスパートE1よりも、エキスパートE5は、より高いマッチング値を有し、より良い品質のマッチングを示すことができるので、エキスパートE5は、より良く適していることができる。
エキスパート選択プロセス570によって実行されるようなエキスパート選択は、前述したように、任意の数の選択プロセスまたは基準を利用することができる。説明のために、最高品質のマッチングを使用した場合、マッチングベクトルの最高値は、最高品質のマッチングを示すことができる。その場合、マッチングエンジン123は、図4とともに整列する、エキスパートE5の選択を出力435として提供する。
図5Bは、本開示の一実施形態による、ゲームアプリケーションをプレイする、対応するプレイヤーまたはエキスパートのゲームコンテキスト420について収集される情報のタイプの図解である。ゲームコンテキスト420は、プレイヤーまたはエキスパートに関連付けられることができる。例えば、図5Aの例に従い、プレイヤーP1、及びエキスパートのプール440内のエキスパートについてのそれぞれのゲームコンテキストは、同様に構成され得る。
単に説明のために、全体的なゲームコンテキスト420は、対応するプレイヤーまたはエキスパートのゲームプレイのさまざまなポイントでキャプチャされ得る。すなわち、定義されたタイムスタンプごとに1つずつ、複数のゲームコンテキストをキャプチャすることができる。示されるように、ゲームコンテキストは、データのブロックとして配置され得る。垂直方向のスライスは、画定され、ゲームステート501についての垂直方向のスライス595、ユーザデータ502についての垂直方向のスライス596、エキスパートデータ503についての垂直方向のスライス597、及びタイムスタンプ504についての垂直方向のスライス598を含む。
加えて、各水平方向のスライスは、対応するタイムスタンプについて特定のゲームコンテキストを画定する。例えば、時間tで水平方向のスライス505はゲームコンテキスト420-tを画定し、時間tで水平方向のスライス506はゲームコンテキスト420-t1を画定し...時間tで水平方向のスライス507はゲームコンテキスト420-tを画定する。すなわち、各水平方向のスライス(特定のゲームコンテキストに対応する)に対して、それぞれのスライス中の各パラメータについての情報を提供する。例えば、時間t及び対応するゲームコンテキスト420-tについて、ゲームステート501に対応する垂直方向のスライス595に対して、水平方向のスライス505の対応する交点は、1つ以上のパラメータ、例えば、キャラクター、キャラクターの種族、クエスト、レベル、位置、ロードアウト、キャラクターのスキルセットなどに関する情報を含む。
加えて、時間t及び対応するゲームコンテキスト420-tについて、ユーザデータ502に対応する垂直方向のスライス596に対して、水平方向のスライス505の対応する交点は、1つ以上のパラメータ、例えば、ユーザスキルセット、プレイのリーセンシー、ヘルプ能力因子(ヘルプを受諾する意欲あるいは意思表明)、ユーザ格付けまたはランキングなどに関する情報を含む。
また、時間t及び対応するゲームコンテキスト420-tについて、エキスパートデータ503に対応する垂直方向のスライス596に対して、水平方向のスライス505の対応する交点は、1つ以上のパラメータ、例えば、エキスパートのスキルセット、プレイのリーセンシー、エキスパートがスポイラーに関してどの程度ルーズかを示すスポイラー係数、エキスパート格付け、エキスパートランキング、可用性、ヘルプ履歴などに関する情報を含む。ゲームステート501、ユーザデータ502、及びエキスパートデータ503を含むゲームコンテキスト420中のカテゴリに関する情報は、例示目的のために提供されるに過ぎず、ゲームコンテキストについて画定されたカテゴリのそれぞれの間で移動する、または各カテゴリ間で共有される、または各カテゴリ中に異なる情報を含むことができる。
図6Aは、本開示の一実施形態による、ユーザP1についてのユーザインタフェース110-P1の図解であり、ユーザインタフェースは、プレイヤーP1のゲームプレイ中にリアルタイム支援を提供する。プレイヤーP1は、ゲームアプリケーションをプレイしていることができる。支援は、ヘルプセッションを通じて提供され、ヘルプセッションは、通信セッションを介してプレイヤーP1をエキスパートに接続することによって実施される。
図6Aでは、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを通じて、プレイヤーP1のゲームプレイを表すデータとともに配信され得る。示されるように、ユーザインタフェース110-P1は、第一画面またはウィンドウにおける現在のゲームプレイのスクリーンショット510’を示す。例えば、スクリーンショットは、先に導入されたように、ゲームアプリケーション、God of WarでKratos511と敵の戦闘員512との間のインタラクションを示すことができる。
加えて、ユーザインタフェース110-P1は、ヘルプセッションを示す第二画面またはウィンドウ610を示す。ウィンドウ610は、プレイヤーP1とエキスパートとの間の双方向のテキスト会話を表示する。説明のために、プレイヤーP1はRiver Hsuと名付けられることができ、エキスパートはAspenと名付けられることができる。図6Aのヘルプセッションは、リアルタイムに生成されるため、ヘルプセッションを通じて提供される情報は、プレイヤーP1のゲームプレイをサポートするように、プレイヤーP1のゲームプレイと同時に配信される。特に、ウィンドウ610は、プレイヤーP1(River)とエキスパート(Aspen)との間で進行中の会話の間に行われているテキストエントリを示す。ヘルプセッションの会話では、エキスパートは、プレイヤーP1が直面している問題をすばやく特定し、その問題の解決に支援を提供している。例えば、プレイヤーP1がレベル3の終わりにボスを倒すことができないという問題があり得る。エキスパート(Aspen)は、プレイヤーP1(River)によって制御されているゲームプレイ中にプレイヤーP1に指示を提供している。プレイヤーP1がボスに勝ち、ダイアログの最後にエキスパートに感謝したので、これらの指示は役に立った。
図6Bは、本開示の一実施形態による、通信セッションを介してプレイヤーをエキスパートに接続することにより、ゲームアプリケーションをプレイするプレイヤー(例えば、プレイヤーP1)のゲームプレイ中にリアルタイム支援を提供するユーザインタフェースの図解である。支援は、ヘルプセッションを通じて提供され、ヘルプセッションは、通信セッションを介してプレイヤーP1をエキスパートE5(Aspen)に接続することによって実施される。図6Bは、図6Aと整列しており、ここではエキスパートE5及びプレイヤーP1は、ヘルプセッションに参加している。
図6Bでは、ヘルプセッションは、ゲームプレイを示す第一画面、及びヘルプセッションを示す第二画面を含む分割画面などを介して、プレイヤーP1のゲームプレイを表すデータとともに配信され得る。示されるように、ユーザインタフェース110’-P1は、第一画面またはウィンドウにおける現在のゲームプレイのスクリーンショット510”を示す。例えば、スクリーンショットは、先に導入されたように、ゲームアプリケーション、God of WarでKratos511と敵の戦闘員512との間のインタラクションを示すことができる。
加えて、ユーザインタフェース110’-P1は、ヘルプセッションを示す第二画面またはウィンドウ630を示す。ヘルプセッションでは、前述したように、エキスパート及びプレイヤーP1は、共有プレイ機能に同意していることができ、プレイヤーP1のゲームプレイの制御は、エキスパートによって引き継がれることができる。一実施形態では、ユーザインタフェース110’-P1は、ヘルプセッション中の音声通信セッションと同期してエキスパートのリアルタイムビデオを表示するウィンドウ650を含むことができる。エキスパートは、エキスパートとプレイヤーP1との間のオーディオと同期する埋め込みビデオを通じて、指示または支援を提供していることができる。さらに、共有プレイ機能では、エキスパートは、プレイヤーのゲームプレイの制御を引き継いだ。例えば、エキスパートは、以前にプレイヤーP1が達成することができなかった戦闘で、キャラクターKratos511が敵の戦闘員512を倒すように制御を引き継ぐことができた。エキスパートが制御する場合、ゲームプレイは、画面またはウィンドウ510”に示される。
さらに、ウィンドウ630は、エキスパートによって提供される支援に関連する情報を提供することができる。例えば、敵の戦闘員512と戦うときにエキスパートが行う制御入力(例えば、入力コマンド)シーケンスを提供することができる。単に説明のために、エキスパートは、プレイヤーP1に、敵の戦闘員512(ボスとして)を倒すための鍵が「ハンマーブローシーケンス」を実行することであると伝えることができた。プレイヤーP1は、そのシーケンスを知らない場合があり、またはそのシーケンスを実行することに熟練していない場合があり、エキスパートが敵の戦闘員512を倒すためにゲームプレイの制御を引き継ぐことを認可した。エキスパートがゲームプレイを制御するための入力コマンドを送信しているときに、関連したコントローラの入力またはアクションをウィンドウ630に表示する。例えば、コントローラ入力660のシーケンスは、右ボタン、左ボタン、Aボタン、Aボタン、Oボタン、Xボタンなどを含むことができる。
図8は、本開示のさまざまな実施形態の態様を行うために使用され得る例示的なデバイス800のコンポーネントを図示する。例えば、図8は、一実施形態に従い、ヘルプセッション中にゲームアプリケーションをプレイするプレイヤーをエキスパートに接続することにより、そのプレイヤーにリアルタイム支援を提供するなど、ユーザのサポートにサービスを提供するデバイスを実装するのに適している例示的なハードウェアシステムを示す。このブロック図は、本開示の一実施形態を実施するのに適している、パーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、または他のデジタルデバイスであるか、またはそれらが組み込まれたデバイス800を示す。デバイス800は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央処理装置(CPU)802を含む。
CPU802は、1つ以上の同種または異種処理コアから構成され得る。例えば、CPU802は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらなる実施形態は、前述したように、少なくともヘルプセッションコントローラ120を通じて実装される場合、メディア及びインタラクティブエンターテイメントアプリケーションなどの高度に並列で計算集約型のアプリケーション、またはライブヘルプセッションもしくは記録されたヘルプセッションのいずれかを通じてリアルタイム支援を提供するように構成されるアプリケーションに特に適合されるマイクロプロセッサアーキテクチャを備える1つ以上のCPUを使用して実装され得る。デバイス800は、支援を要求するプレイヤー(例えば、ゲームコンソール)にローカライズされる、またはそのプレイヤー(例えば、バックエンドサーバプロセッサ)からリモートにあることができる。
メモリ804は、CPU802による使用のためのアプリケーション及びデータを格納する。ストレージ806は、アプリケーション及びデータのために不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、信号伝送及び記憶媒体に加えて、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及びCD‐ROM、DVD‐ROM、Blu-ray(登録商標)、HD‐DVD、または他の光ストレージデバイスを含むことができる。ユーザ入力デバイス808は、1人以上のユーザからデバイス800にユーザ入力を通信し、その例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画またはビデオレコーダ/カメラ、ジェスチャを認識するための追跡デバイス、及び/またはマイクロフォンを含むことができる。
ネットワークインタフェース814は、電子通信ネットワーク経由で他のコンピュータシステムとデバイス800が通信することを可能にし、ローカルエリアネットワーク、及びインターネットなどのワイドエリアネットワーク経由の有線または無線通信を含むことができる。オーディオプロセッサ812は、CPU802、メモリ804、及び/またはストレージ806によって提供される命令及び/またはデータからアナログまたはデジタルオーディオ出力を生成するように適合される。CPU802、メモリ804、データストレージ806、ユーザ入力デバイス808、ネットワークインタフェース810、及びオーディオプロセッサ812を含むデバイス800のコンポーネントは、1つ以上のデータバス822を介して接続される。
グラフィックスサブシステム814は、データバス822、及びデバイス800のコンポーネントにさらに接続される。グラフィックスサブシステム814は、グラフィックスプロセッシングユニット(GPU)816及びグラフィックスメモリ818を含む。グラフィックスメモリ818は、出力画像の各画素についての画素データを格納するために使用されるディスプレイメモリ(例えば、フレームバッファ)を含む。グラフィックスメモリ818は、GPU816と同じデバイスに統合されてもよく、GPU816を有する別個のデバイスとして接続されてもよく、及び/またはメモリ804内に実装されてもよい。
画素データは、CPU802から直接にグラフィックスメモリ818に提供され得る。これに代えて、CPU802は、所望の出力画像を画定するデータ及び/または命令をGPU816に提供し、それらから、GPU816は、1つ以上の出力画像の画素データを生成する。所望の出力画像を画定するデータ及び/または命令は、メモリ804及び/またはグラフィックスメモリ818に格納され得る。一実施形態では、GPU816は、あるシーンについてのジオメトリ、照明、シェーディング、テクスチャリング、動き、及び/またはカメラパラメータを定義する命令及びデータから出力画像についての画素データを生成するための3Dレンダリング機能を含む。GPU816は、シェーダプログラムを実行することが可能な1つ以上のプログラム可能な実行部をさらに含むことができる。
グラフィックスサブシステム814は、グラフィックスメモリ818からの画像についての画素データを定期的に出力して、表示装置810に表示する、またはプロジェクションシステム840によって投影する。表示装置810は、CRT、LCD、プラズマ、及びOLEDディスプレイを含む、デバイス800からの信号に応答して視覚情報を表示することが可能な任意のデバイスであることができる。デバイス800は、例えば、アナログまたはデジタル信号を表示装置810に提供することができる。
特定の実施形態は、ライブヘルプセッション(例えば、通信セッションを通じてプレイヤーをエキスパートに接続する)または記録されたヘルプセッション(例えば、通信セッションを介して送信される記録されたヘルプセッションにプレイヤーを接続する)を通じて、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中にリアルタイム支援の提供を実証するために提供されたが、これらは例として説明されており、限定するものとして説明されていない。本開示を読んだ当業者は、本開示の趣旨及び範囲内に入る追加の実施形態を実現するであろう。
本実施形態のゲームへのアクセスを提供するような、アクセスサービスは、広範な地域にわたり配信され、クラウドコンピューティングを使用することが多いことに留意するべきである。クラウドコンピューティングは、動的にスケーラブルであり、かつ多くの場合には仮想化されたリソースがインターネット経由のサービスとして提供されるコンピューティングのスタイルである。ユーザは、ユーザをサポートする「クラウド」のテクノロジインフラストラクチャのエキスパートである必要はない。
クラウドコンピューティングは、インフラストラクチャアズアサービス(IaaS)、プラットフォームアズアサービス(PaaS)、及びソフトウェアアズアサービス(SaaS)などのさまざまなサービスに分けることができる。クラウドコンピューティングサービスは、ウェブブラウザからアクセスされるオンラインで、ビデオゲームなどの共通のアプリケーションを提供することが多く、ソフトウェア及びデータは、クラウド内のサーバに格納される。クラウドという用語は、インターネットがコンピュータネットワーク図にどのように描かれているかに基づいて、インターネットのメタファとして使用され、メタファが隠す複雑なインフラストラクチャの抽象的概念である。
ゲーム処理サーバ(GPS)(または簡単に「ゲームサーバ」)は、シングルプレイヤービデオゲーム及びマルチプレイヤービデオゲームをプレイするためにゲームクライアントにより使用される。インターネット上でプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームはプレイヤーからのデータを収集し、それを他のプレイヤーに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホスティングするための別のサーバが必要となる。他の実施形態では、GPSは、プレイヤーとそれぞれのゲームプレイデバイスとの間の通信を確立し、集中GPSに頼ることなく情報を交換する。
専用GPSは、クライアントとは独立して実行されるサーバである。このようなサーバは、通常、データセンター内に位置付けられた専用ハードウェア上で実行され、より大きい帯域幅及び専用の処理パワーを提供する。専用サーバは、大部分のPCベースのマルチプレイヤーゲームのためのゲームサーバをホスティングするのに好ましい方法である。大規模多人数同時参加型オンラインゲームは、通常ゲームタイトルを所有するソフトウェア会社がホストする専用サーバで実行され、コンテンツを制御及び更新することができる。
ユーザは、クライアントデバイスによってリモートサービスにアクセスし、これらのクライアントデバイスは、少なくともCPU、ディスプレイ及びI/Oを含む。クライアントデバイスは、PC、携帯電話、ネットブック、PDAなどであることができる。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントによって使用されるデバイスのタイプを認識し、採用される通信方法を調整する。他の場合には、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、インターネット経由でゲームサーバ上のアプリケーションにアクセスする。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステム構成によって実施し得る。本開示は、有線ベースのネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施することもできる。
所与のビデオゲームまたはゲームアプリケーションが特定のプラットフォーム、及び特定の関連したコントローラデバイスのために開発され得ることを理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介してこのようなゲームを利用可能にするときに、ユーザは、異なるコントローラデバイスによってビデオゲームにアクセスすることができる。例えば、ゲームは、ゲームコンソール及びその関連したコントローラのために開発されている可能性があるが、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスしているかもしれない。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この事例において、キーボード及びマウス)により生成されることが可能である入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することが可能である。
別の実施例において、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動型デバイスを介してクラウドゲームシステムにアクセスすることができる。この事例において、クライアントデバイス及びコントローラデバイスは、同一のデバイス内に合わせて一体化され、入力は検出されたタッチスクリーンの入力/ジェスチャとして提供され。このようなデバイスの場合、入力パラメータ構成は、ビデオゲームについてのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。
例えば、ボタン、方向パッド、または他のタイプの入力素子は、ビデオゲームの実行中に表示され、またはオーバーレイされ、ユーザがゲーム入力を生成するためにタッチすることが可能であるタッチスクリーン上の位置を示すことができる。特定の向きにおけるスワイプまたは特定のタッチモーションなどのジェスチャも、ゲーム入力として検出され得る。一実施形態において、例えば、ビデオゲームのゲームプレイを開始する前に、タッチスクリーン上での制御の操作にユーザを慣れさせるために、ゲームプレイ用のタッチスクリーンを介して入力を提供する方法を示す、チュートリアルをユーザに提供することが可能である。
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスについての接続ポイントとして機能する。すなわち、コントローラデバイスは、無線または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスに入力を送信する。クライアントデバイスは、これらの入力を順に処理し、その後ネットワーク(例えば、ルータなどのローカルネットワークデバイスを介してアクセスされる)を介してクラウドゲームサーバに入力データを送信することができる。しかしながら、他の実施形態において、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、これらのような入力を最初にクライアントデバイスを介して通信する必要がなく、ネットワーク化されたデバイスであることが可能である。
例えば、コントローラは、ローカルネットワークデバイス(前述のルータなど)に接続し、クラウドゲームサーバにデータを送信し、このクラウドゲームサーバからデータを受信することができる。したがって、クライアントデバイスは、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイ上にレンダリングすることを必要とされたままであり得るが、コントローラがクラウドゲームサーバにネットワーク経由で直接に入力を送信することを可能にし、クライアントデバイスをバイパスすることにより、入力レイテンシを低減することが可能である。
一実施形態において、ネットワーク化されたコントローラ及びクライアントデバイスは、ある特定のタイプの入力をコントローラからクラウドゲームサーバへ直接に、他のタイプの入力をクライアントデバイスを介して送信するように構成することが可能である。例えば、検出がコントローラ自体から離れた任意の追加のハードウェアまたは処理に依存しない入力は、コントローラからクラウドゲームサーバへネットワークを介して直接に送信され、クライアントデバイスをバイパスすることが可能である。これらのような入力は、ボタン入力、ジョイスティック入力、埋め込み型モーション検知入力(例えば、加速度計、磁力計、ジャイロスコープ)などを含むことができる。しかしながら、追加のハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバに送信されることが可能である。
これらは、クラウドゲームサーバに送信する前に、クライアントデバイスにより処理され得るゲーム環境から捕捉されたビデオまたはオーディオを含むことができる。加えて、クライアントデバイスは、コントローラのモーション検知ハードウェアからの入力を捕捉されたビデオと併せて処理し、コントローラの位置及び動きを検出することができ、その後、クライアントデバイスは、その位置及び動きをクラウドゲームサーバに通信する。さまざまな実施形態に従いコントローラデバイスもクライアントデバイスから、またはクラウドゲームサーバから直接にデータ(例えば、フィードバックデータ)を受信することができることを理解されたい。
本明細書に記載される実施形態が任意のタイプのクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ(HMD)またはプロジェクションシステムである。図9は、本開示の一実施形態による、ヘッドマウントディスプレイ102のコンポーネントを図示する図解を示す。HMD102は、ライブヘルプセッションまたは記録されたヘルプセッションのいずれかを介して、ゲームアプリケーションをプレイするプレイヤーのゲームプレイ中に提供するリアルタイム支援を受信するように構成され得る。
ヘッドマウントディスプレイ102は、プログラム命令を実行するためのプロセッサ900を含む。メモリ902は、ストレージ目的のために提供され、揮発性メモリ及び不揮発性メモリの両方を含むことができる。ユーザが見ることができる視覚インタフェースを提供するディスプレイ904を含む。ヘッドマウントディスプレイ102についての電源としてバッテリ906を提供する。モーション検知モジュール908は、磁力計910A、加速度計912及びジャイロスコープ914などの、さまざまな種類のモーションセンシティブハードウェアのいずれかを含んでもよい。
加速度計は、加速度及び重力に誘起された反力を測定するためのデバイスである。異なる方向の加速度の大きさと方向とを検出するために、単軸モデル及び多軸モデルを利用できる。加速度計は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、3つの加速度計912を使用して2つの角度(ワールド空間ピッチ及びワールド空間ロール)についての絶対参照を与える、重力の方向を提供する。
磁気計は、ヘッドマウントディスプレイの近くの磁場の強さと方向を測定する。一実施形態において、3つの磁力計910Aは、ヘッドマウントディスプレイ内で使用され、ワールド空間ヨー角度についての絶対参照を確保する。一実施形態では、磁力計は、±80マイクロテスラである、地磁気にわたるように設計される。磁力計は、金属の影響を受け、実際のヨーに関して単調であるヨー測定を提供する。環境中の金属が原因で磁場が歪み、それによってヨー測定において歪みが発生する場合がある。必要に応じて、ジャイロスコープまたはカメラなどの他のセンサからの情報を使用して、この歪みを較正することができる。一実施形態において、加速度計912は、磁力計910Aと合わせて使用され、ヘッドマウントディスプレイ102の傾き及び方位を取得する。
ジャイロスコープは、角運動量の原理に基づいて、向きを測定し、または向きを維持するためのデバイスである。一実施形態では、3つのジャイロスコープ914は、慣性感知に基づいてそれぞれの軸(x、y及びz)にわたる動きについての情報を提供する。ジャイロスコープは、高速回転を検出するのに有用である。ただし、ジャイロスコープは、絶対基準が存在しないと、時間の経過とともにドリフトしてしまう可能性がある。これには、定期的にジャイロスコープをリセットする必要があり、これは、オブジェクトの視覚追跡、加速度計、磁力計などに基づく位置/向きの判定など、他の入手可能な情報を使用して行うことができる。
実環境の画像及び画像ストリームをキャプチャするために、カメラ916を提供する。後向きのカメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ているときに、ユーザから離れる方向に向けられる)及び前向きのカメラ(ユーザがヘッドマウントディスプレイ102のディスプレイを見ているときに、ユーザに向けられる)を含む、複数のカメラをヘッドマウントディスプレイ102に含めることができる。加えて、デプスカメラ918は、実環境におけるオブジェクトの奥行き情報を感知するためにヘッドマウントディスプレイ102に含まれることができる。
一実施形態において、HMDの前面に一体化されるカメラを使用して、安全についての警告を提供することができる。例えば、ユーザが壁またはオブジェクトに接近している場合に、ユーザに警告することができる。一実施形態では、この使用は、室内の物理的オブジェクトの輪郭図によって提供され、それらの存在をユーザに警告することができる。輪郭は、例えば、仮想環境内のオーバーレイであることができる。いくつかの実施形態において、HMDユーザは、床などにオーバーレイされる、基準マーカーへのビューを提供され得る。例えば、マーカーは、ユーザがゲームをプレイする部屋のどこが中心であるかの基準をユーザに提供することができる。これは、例えば、ユーザが部屋の中で壁または他のオブジェクトに衝突することを回避するためにどこを動くべきかの視覚情報をユーザに提供することができる。また触覚警告、及び/または音声警告をユーザへ提供し、ユーザがHMDを装着し、HMDを用いてゲームをプレイするまたはコンテンツをナビゲートするときについてのさらなる安全性を提供することが可能である。
ヘッドマウントディスプレイ102は、オーディオ出力を提供するためのスピーカ920を含む。また、周囲環境からの音、ユーザによって行われるスピーチなどを含む、実際の環境からのオーディオをキャプチャするために、マイクロフォン922を含むことができる。ヘッドマウントディスプレイ102は、ユーザに触覚フィードバックを提供するための触覚フィードバックモジュール924を含む。一実施形態では、触覚フィードバックモジュール924は、触覚フィードバックをユーザに提供するように、ヘッドマウントディスプレイ102の動き及び/または振動を生じさせることが可能である。
LED926は、ヘッドマウントディスプレイ102のステータスの視覚インジケータとして提供される。例えば、LEDは、バッテリレベル、電源投入などを示すことができる。カードリーダー928は、ヘッドマウントディスプレイ102がメモリカードへ、またこのメモリカードからの情報を読み出し、書き込むことを可能にするために提供される。ペリフェラルデバイスの接続、または他のデバイス、例えば、他のポータブルデバイス、コンピュータなどへの接続を可能にするためのインタフェースの一例としてUSBインタフェース930を含む。ヘッドマウントディスプレイ102のさまざまな実施形態では、ヘッドマウントディスプレイ102のより高い接続性を可能にするために、さまざまな種類のインタフェースのいずれかが含まれ得る。
Wi-Fiモジュール932は、無線ネットワークテクノロジーを介してインターネットへの接続を可能にするために含まれる。また、ヘッドマウントディスプレイ102は、他のデバイスへの無線接続を可能にするためのBluetoothモジュール934を含む。また、他のデバイスへの接続のために通信リンク936を含むことができる。一実施形態では、通信リンク936は、無線通信のために赤外線伝送を利用する。他の実施形態では、通信リンク936は、他のデバイスとの通信のためにさまざまな無線または有線伝送プロトコルのいずれかを利用することができる。
ユーザに入力インタフェースを提供するために、入力ボタン/センサ938を含む。ボタン、タッチパッド、ジョイスティック、トラックボールなどのような、さまざまな種類の入力インタフェースのいずれかを含むことができる。超音波テクノロジーを介して他のデバイスとの通信を容易にするためのヘッドマウントディスプレイ102に、超音波通信モジュール940を含むことができる。
ユーザからの生理学的データの検出を可能にするために、バイオセンサ942を含む。一実施形態では、バイオセンサ942は、ユーザの皮膚を通じてユーザの生体電気信号を検出するための1つ以上の乾式電極を含む。
3次元の物理環境中に置かれるエミッタ(例えば、赤外線基地局)からの信号に応答するために、フォトセンサ944を含む。ゲームコンソールは、フォトセンサ944及びエミッタからの情報を分析して、ヘッドマウントディスプレイ102に関連する位置及び向きの情報を決定する。
加えて、視線追跡システム965が含まれ、ユーザの視線の追跡を可能にするように構成される。例えば、システム965は、ユーザの目の画像をキャプチャする視線追跡カメラを含むことができ、これらの画像を分析し、ユーザの視線方向を決定する。一実施形態では、ユーザの視線方向についての情報を利用して、ビデオレンダリングに影響することができる。例えば、さらなる詳細、中心窩レンダリングによる高解像度、中心窩領域に表示されるパーティクルシステム効果の高解像度、中心窩領域の外側に表示されるパーティクルシステム効果の低解像度、またはユーザが見ている領域におけるより高速な更新などを提供することによって、視線方向におけるビデオレンダリングを優先する、または強調することができる。
上記のヘッドマウントディスプレイ102の構成要素は、ヘッドマウントディスプレイ102に含まれ得る単なる例示的な構成要素にすぎないものとして説明されている。本開示のさまざまな実施形態では、ヘッドマウントディスプレイ102は、さまざまな前述のコンポーネントのいくつかを含んでもよいし、含まなくてもよい。ヘッドマウントディスプレイ102の実施形態は、本明細書に記述されるような本開示の態様を容易にする目的のために、現在記述されていないが、当該技術において既知である他のコンポーネントを追加で含むことができる。
当業者は、本開示のさまざまな実施形態では、前述のヘッドマウントデバイスがさまざまなインタラクティブ機能を提供するためにディスプレイに表示されるインタラクティブアプリケーションと組み合わせて利用され得ることを理解するであろう。本明細書で説明される例示的な実施形態は、単に例として提供されるものであり、限定として提供されるものではない。
本明細書に定義されるさまざまな実施形態が本明細書に開示されるさまざまな特徴を使用して特定の実施形態に組み合わされる、または組み立てられることができることを理解するであろう。したがって、提供される実施例は、さまざまな要素を組み合わせて、さらに多くの実施形態を定義することにより可能であるさまざまな実施形態に限定されず、いくつかの可能な実施例であるに過ぎない。いくつかの実施例において、いくつかの実施形態は、開示された、または均等な実施形態の趣旨から逸脱することなく、より少ない要素を含むことができる。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステム構成によって実施し得る。本開示の実施形態はまた、有線ベースまたは無線ネットワークを介してリンクされる、遠隔処理デバイスによりタスクが実施される、分散型コンピューティング環境で実践されることが可能である。
上記の実施形態を念頭に置いて、本開示の実施形態がコンピュータシステムに格納されたデータを含むさまざまなコンピュータ実装の動作を使用し得ることを理解されたい。これらの動作は、物理量の物理的処置を必要とする動作である。本開示の実施形態の部分を形成する、本明細書に記載されているあらゆる動作は、有用な機械動作である。本発明の実施形態はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は必要な目的のために特別に構成することができ、または装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動されまたは構成される汎用コンピュータとすることができる。特に、本明細書の教示に従って書かれたコンピュータプログラムと共に、さまざまな汎用マシンを使用することができる、または必要な動作を実行するために、より特殊化した装置を構築することによって、さらに便利にすることができる。
本開示は、コンピュータ可読媒体上のコンピュータ可読コードとして具体化することもできる。コンピュータ可読媒体は、データを格納することができる任意のデータストレージデバイスであり、このデータは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学式及び非光学式データ記憶デバイスが含まれる。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク結合コンピュータシステム上に分散されたコンピュータ可読有形媒体が含まれ得る。
本方法の動作を特定の順序で説明したが、他の維持管理動作が動作間で実行されてもよく、または動作がわずかに異なる時間で行われるように動作が調整されてもよく、またはオーバーレイ動作の処理が所望の方法で実行される限り、処理に関連するさまざまな間隔で処理操作の発生を可能にするシステムに分散されてもよいことが理解されるべきである。
上記の開示は、理解を明確にするためにある程度詳細に説明したが、添付の特許請求の範囲内で、特定の変更及び修正を実施することができることは明らかであろう。したがって、本実施形態は例示的であって限定的ではないと見なされるべきであり、本開示の実施形態は本明細書に記載された詳細に限定されるものではなく、添付の特許請求の範囲及び均等物の範囲内で修正し得る。

Claims (26)

  1. ネットワークを介して、バックエンドサーバにおいて、ゲームアプリケーションをプレイしている複数のプレイヤーの複数のゲームプレイに関連する情報を受信し、
    前記ゲームアプリケーションをプレイしているプレイヤーのゲームプレイの現在のゲームコンテキストを前記情報から決定し、前記現在のゲームコンテキストはパラメーターのセットにより定義されるものであり、
    前記ゲームアプリケーションをプレイした複数のエキスパートの複数のエキスパートゲームプレイの複数のエキスパートゲームコンテキストを前記情報から決定し、前記複数のエキスパートゲームプレイは、前記ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されるものであり、
    前記複数のエキスパートゲームコンテキストは、前記パラメーターのセットに基づく複数のマッチング値に関連付けられており、
    各マッチング値は、対応するエキスパートゲームコンテキストを、前記プレイヤーの前記ゲームプレイの前記現在のゲームコンテキストに対して関連付け、
    前記パラメーターのセットは、各パラメーターの重み付けを含み、
    パラメーターのセットは、少なくとも2つのパラメーターを含み、各重み付けは、前記パラメーターのセット内の他のパラメーターに関連する対応するパラメーターの重要性を定義するものであり、
    前記ゲームプレイに関連する支援クエリを受信し、
    前記プレイヤーの前記現在のゲームコンテキストを前記複数のエキスパートゲームコンテキストと比較して、前記プレイヤーを支援を得るためのエキスパートに割り当て、前記エキスパートは、前記パラメーターのセットと、閾値を超えるマッチング値を生成する関連付けられた重み付けとに基づいて、前記プレイヤーの前記現在のゲームコンテキストにマッチングするエキスパートゲームプレイのためのエキスパートゲームコンテキストを有するものであり、
    前記エキスパートのデバイスと前記プレイヤーのデバイスとの間に通信セッションを生成して、前記エキスパートが前記プレイヤーに支援をすることを可能にする、方法。
  2. 前記比較では、
    複数のマッチングベクトル内の各マッチングベクトルは、前記対応するエキスパートゲームコンテキストを前記現在のゲームコンテキストにマッチングさせる品質を示す対応するマッチング値を有するものであり、かつ、
    前記閾値を上回るマッチング値を有する、マッチングしたエキスパートゲームコンテキストのセットを決定し、前記エキスパートの前記エキスパートゲームコンテキストは、マッチングするエキスパートゲームコンテキストの前記セットに含まれる、
    請求項1に記載の方法。
  3. 前記割り当てでは、
    前記エキスパートゲームコンテキストのマッチングした前記セットの最高値を決定し、前記最高値は前記エキスパートの前記エキスパートゲームコンテキストに対応する、請求項2に記載の方法。
  4. 前記割り当てでは、
    前記支援クエリに応答して生成される支援を要求する通知を、前記閾値を超えるマッチング値を有するエキスパートゲームコンテキストに関連付けられた少なくとも1人のエキスパートにブロードキャストし、
    応答の競争では、前記エキスパートから受信する前記通知への第一応答が最短の応答時間を有することを決定する、請求項1に記載の方法。
  5. 前記通信セッションは、
    音声チャネルと、
    テキストチャネルと、
    ビデオチャットチャネルと、
    のうちの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記プレイヤーの前記デバイスから前記ゲームプレイのビデオを共有する認可を受信し、
    前記通信セッションを介して前記ゲームプレイの前記ビデオを前記エキスパートの前記デバイスにストリーミングする、請求項1に記載の方法。
  7. 前記ゲームプレイの前記ビデオを前記エキスパートの前記デバイスと互換性があるように再フォーマットする、請求項6に記載の方法。
  8. 前記プレイヤーの前記デバイスから前記ゲームプレイの制御を共有する認可を受信し、
    前記エキスパートの前記デバイスから、前記プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに入力制御のセットを配信し、かつ、
    前記プレイヤーの前記デバイスからの入力制御をブロックする、請求項1に記載の方法。
  9. 前記プレイヤーの前記デバイスから前記エキスパートの現在のゲームプレイを受信する認可を受信し、
    前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記プレイヤーの前記現在のゲームコンテキストに前記エキスパートのゲームプレイをストリーミングする、請求項1に記載の方法。
  10. 前記パラメーターの前記セットは、
    キャラクターと、
    キャラクターの種族または種類と、
    前記キャラクターが直面している現在のクエストと、
    前記キャラクターについての次のクエストと、
    ゲーム環境中の前記ゲームプレイの位置と、
    前記ゲーム環境中の前記ゲームプレイのレベルと、
    アセットと、
    ロードアウトと、
    前記キャラクターのスキルセットと、
    前記対応するプレイヤー、または対応するエキスパートの全体的なゲームスキルと、
    前記ゲームアプリケーションを最後にプレイしてからの経過時間と、
    ヘルプを求める意思表明と、を含む、請求項1に記載の方法。
  11. 前記通信セッションは、ピアツーピア接続である、請求項1に記載の方法。
  12. 前記通信セッションは、中間ノードとして前記バックエンドサーバを含む、請求項1に記載の方法。
  13. 方法を実行するためのコンピュータプログラムを格納するコンピュータ可読媒体であって、
    ネットワークを介して、バックエンドサーバにおいて、ゲームアプリケーションをプレイしている複数のプレイヤーの複数のゲームプレイに関連する情報を受信するためのプログラム命令を有し、
    前記ゲームアプリケーションをプレイしているプレイヤーのゲームプレイの現在のゲームコンテキストを前記情報から決定するためのプログラム命令を有し、前記現在のゲームコンテキストはパラメーターのセットにより定義されるものであり、
    前記ゲームアプリケーションをプレイした複数のエキスパートの複数のエキスパートゲームプレイの複数のエキスパートゲームコンテキストを前記情報から決定するためのプログラム命令を有し、前記複数のエキスパートゲームプレイは、前記ゲームアプリケーションについてのエキスパートとして分類されるプレイヤーから生成されるものであり、前記複数のエキスパートゲームコンテキストは、前記パラメーターのセットに基づく複数のマッチング値に関連付けられており、各マッチング値は、対応するエキスパートゲームコンテキストを、前記プレイヤーの前記ゲームプレイの前記現在のゲームコンテキストに対して関連付け、前記パラメーターのセットは、各パラメーターの重み付けを含み、パラメーターのセットは、少なくとも2つのパラメーターを含み、 各重み付けは、前記パラメーターのセット内の他のパラメーターに関連する対応するパラメーターの重要性を定義するものであり、
    前記ゲームプレイに関連する支援クエリを受信するためのプログラム命令を有し、
    前記プレイヤーの前記現在のゲームコンテキストを前記複数のエキスパートゲームコンテキストと比較するためのプログラム命令を有し、
    前記プレイヤーを支援を得るためのエキスパートに割り当てるためのプログラム命令を有し、前記エキスパートは、前記パラメーターのセットと、閾値を超えるマッチング値を生成する関連付けられた重み付けとに基づいて、前記プレイヤーの前記現在のゲームコンテキストにマッチングするエキスパートゲームプレイのためのエキスパートゲームコンテキストを有するものであり、
    前記エキスパートのデバイスと前記プレイヤーのデバイスとの間に通信セッションを生成して、前記エキスパートが前記プレイヤーに支援をすることを可能にするためのプログラム命令を有する、コンピュータ可読媒体
  14. 比較するための前記プログラム命令では、
    複数のマッチングベクトル内の各マッチングベクトルは、前記対応するエキスパートゲームコンテキストを前記現在のゲームコンテキストにマッチングさせる品質を示す対応するマッチング値を有するものであり、かつ、
    前記閾値を上回るマッチング値を有する、マッチングしたエキスパートゲームコンテキストのセットを決定するためのプログラム命令を有し、
    前記エキスパートの前記エキスパートゲームコンテキストは、マッチングするエキスパートゲームコンテキストの前記セットに含まれる、
    請求項13に記載のコンピュータ可読媒体
  15. 前記割り当てるためのプログラム命令は、
    前記エキスパートゲームコンテキストのマッチングした前記セットの最高値を決定するためのプログラム命令を有し、前記最高値は前記エキスパートの前記エキスパートゲームコンテキストに対応する、請求項14に記載のコンピュータ可読媒体
  16. 前記プレイヤーの前記デバイスから前記ゲームプレイのビデオを共有する認可を受信するためのプログラム命令と、
    前記通信セッションを介して前記ゲームプレイの前記ビデオを前記エキスパートの前記デバイスにストリーミングするためのプログラム命令と、をさらに含む、請求項13に記載のコンピュータ可読媒体
  17. 前記プレイヤーの前記デバイスから前記ゲームプレイの制御を共有する認可を受信するためのプログラム命令を有し、
    前記エキスパートの前記デバイスから、前記プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに入力制御のセットを配信するためのプログラム命令を有し、かつ、
    前記プレイヤーの前記デバイスからの入力制御をブロックするためのプログラム命令を有する、請求項13に記載のコンピュータ可読媒体
  18. 前記プレイヤーの前記デバイスから前記エキスパートの現在のゲームプレイを受信する認可を受信するためのプログラム命令を有し、
    前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記プレイヤーの前記現在のゲームコンテキストに前記エキスパートのゲームプレイをストリーミングする、請求項13に記載のコンピュータ可読媒体
  19. 前記通信セッションは、ピアツーピア接続である、請求項13に記載のコンピュータ可読媒体
  20. サーバにおいて、ゲームアプリケーションをプレイしている複数のプレイヤーの複数のゲームプレイに関連する情報を受信し、
    プレイヤーのゲームプレイの現在のゲームコンテキストを前記情報から決定し、前記現在のゲームコンテキストはパラメーターのセットにより定義されるものであり、
    エキスパートとして分類される一人以上のプレイヤーからの複数のエキスパートゲームコンテキストを前記情報から決定し、前記複数のエキスパートゲームコンテキストは、前記パラメーターのセットに基づく複数のマッチング値に関連付けられており、
    複数のマッチングベクトルの各マッチングベクトルは、対応するマッチング値に関連付けられ、前記対応するマッチング値は、対応するエキスパートゲームコンテキストを、前記プレイヤーの前記ゲームプレイの前記現在のゲームコンテキストに対して関連付けるものであり、前記パラメーターのセットは、各パラメーターの重み付けを含み、パラメーターのセットは、少なくとも2つのパラメーターを含み、各重み付けは、前記パラメーターのセット内の他のパラメーターに関連する対応するパラメーターの重要性を定義するものであり、
    前記ゲームプレイに関連する支援クエリを受信し、
    前記現在のゲームコンテキストを前記複数のエキスパートゲームコンテキストと比較し、
    前記プレイヤーを支援のためのエキスパートに割り当て、前記エキスパートは、前記パラメーターのセットと、閾値を超えるマッチング値を生成する関連付けられた重み付けとに基づいて、前記プレイヤーの前記現在のゲームコンテキストにマッチングするエキスパートゲームコンテキストを有するものであり、
    前記エキスパートのデバイスと前記プレイヤーのデバイスとの間に通信セッションを生成して、前記エキスパートが前記プレイヤーに支援をすることを可能にする、方法。
  21. 前記比較では、
    前記複数のマッチングベクトル内の各マッチングベクトルは、前記対応するエキスパートゲームコンテキストを前記現在のゲームコンテキストにマッチングさせる品質を示す前記対応するマッチング値を有するものであり、かつ、
    前記閾値を上回るマッチング値を有する、マッチングしたエキスパートゲームコンテキストのセットを決定し、前記エキスパートの前記エキスパートゲームコンテキストは、マッチングするエキスパートゲームコンテキストの前記セットに含まれる、
    請求項20に記載の方法。
  22. 前記割り当てでは、
    前記エキスパートゲームコンテキストのマッチングした前記セットの最高値を決定し、前記最高値は前記エキスパートの前記エキスパートゲームコンテキストに対応する、請求項21に記載の方法。
  23. 前記割り当てでは、
    前記支援クエリに応答して生成される支援を要求する通知を、前記閾値を超えるマッチング値を有するエキスパートゲームコンテキストに関連付けられた少なくとも1人のエキスパートにブロードキャストし、
    応答の競争では、前記エキスパートから受信する前記通知への第一応答が最短の応答時間を有することを決定する、請求項20に記載の方法。
  24. 前記プレイヤーの前記デバイスから前記プレイヤーのゲームプレイのビデオを共有する認可を受信し、
    前記通信セッションを介して前記プレイヤーの前記ゲームプレイの前記ビデオを前記エキスパートの前記デバイスにストリーミングする、請求項20に記載の方法。
  25. 前記プレイヤーの前記デバイスから前記プレイヤーのゲームプレイの制御を共有する認可を受信し、
    前記エキスパートの前記デバイスから、前記プレイヤーの前記ゲームプレイ用の前記ゲームアプリケーションを実行するプロセッサに入力制御のセットを配信し、かつ、
    前記プレイヤーの前記デバイスからの入力制御をブロックする、請求項20に記載の方法。
  26. 前記プレイヤーの前記デバイスから前記エキスパートの現在のゲームプレイを受信する認可を受信し、
    前記通信セッションを介して、制限される前記ゲームアプリケーションを実行するプロセッサから、前記プレイヤーの前記現在のゲームコンテキストに前記エキスパートのゲームプレイをストリーミングする、請求項20に記載の方法。
JP2020550150A 2018-03-23 2019-01-22 ゲームアプリケーションのゲームプレイ中のプレイヤーのエキスパートヘルプへのリアルタイム接続 Active JP7299231B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862647541P 2018-03-23 2018-03-23
US62/647,541 2018-03-23
US15/973,246 US10874947B2 (en) 2018-03-23 2018-05-07 Connecting a player to expert help in real-time during game play of a gaming application
US15/973,246 2018-05-07
PCT/US2019/014616 WO2019182680A1 (en) 2018-03-23 2019-01-22 Connecting a player to expert help in real-time during game play of a gaming application

Publications (2)

Publication Number Publication Date
JP2021518201A JP2021518201A (ja) 2021-08-02
JP7299231B2 true JP7299231B2 (ja) 2023-06-27

Family

ID=67984040

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020550150A Active JP7299231B2 (ja) 2018-03-23 2019-01-22 ゲームアプリケーションのゲームプレイ中のプレイヤーのエキスパートヘルプへのリアルタイム接続
JP2020550075A Active JP7379360B2 (ja) 2018-03-23 2019-03-21 人工知能を使用した音声ヘルプシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020550075A Active JP7379360B2 (ja) 2018-03-23 2019-03-21 人工知能を使用した音声ヘルプシステム

Country Status (6)

Country Link
US (5) US10874947B2 (ja)
EP (2) EP3768403A1 (ja)
JP (2) JP7299231B2 (ja)
KR (5) KR102527768B1 (ja)
CN (3) CN112601589B (ja)
WO (2) WO2019182680A1 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805125B2 (en) 2014-06-20 2017-10-31 Google Inc. Displaying a summary of media content items
US10206014B2 (en) * 2014-06-20 2019-02-12 Google Llc Clarifying audible verbal information in video content
CN111315456A (zh) * 2017-09-11 2020-06-19 耐克创新有限合伙公司 用于目标搜索并使用地理寻宝的设备、系统和方法
EP3682398A1 (en) 2017-09-12 2020-07-22 Nike Innovate C.V. Multi-factor authentication and post-authentication processing system
US11263179B2 (en) 2018-06-15 2022-03-01 Microsoft Technology Licensing, Llc System for collaborative editing based on document evaluation
US11100052B2 (en) * 2018-06-20 2021-08-24 Microsoft Technology Licensing, Llc System for classification based on user actions
US10938824B2 (en) 2018-06-20 2021-03-02 Microsoft Technology Licensing, Llc Metric-based content editing system
CN109036425B (zh) * 2018-09-10 2019-12-24 百度在线网络技术(北京)有限公司 用于操作智能终端的方法和装置
CN113260434A (zh) 2018-10-22 2021-08-13 索尼互动娱乐有限责任公司 统一数据平台的数据模型
EP3871423A4 (en) * 2018-10-23 2022-07-06 Sony Interactive Entertainment LLC CROSS-PLATFORM REVEAL BLOCKING SERVICE
EP3870321A4 (en) 2018-10-25 2022-08-10 Sony Interactive Entertainment LLC CROSS-PLATFORM CONSUMPTION OF ITEMS IN A GAME
JP6713525B2 (ja) * 2018-12-19 2020-06-24 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラムおよび情報処理方法
US11011158B2 (en) * 2019-01-08 2021-05-18 International Business Machines Corporation Analyzing data to provide alerts to conversation participants
US10978066B2 (en) 2019-01-08 2021-04-13 International Business Machines Corporation Analyzing information to provide topic avoidance alerts
TWI727590B (zh) * 2019-12-31 2021-05-11 宏碁股份有限公司 遊戲鍵盤設定方法及電子裝置
TWI737220B (zh) * 2020-03-17 2021-08-21 中興保全科技股份有限公司 語音呼救系統
US11260297B2 (en) * 2020-05-01 2022-03-01 Dell Products L.P. Information handling system wheel input device
US11290851B2 (en) * 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
DE102020208206A1 (de) * 2020-07-01 2022-01-05 Robert Bosch Gesellschaft mit beschränkter Haftung Inertialsensoreinheit und Verfahren zum Detektieren einer Sprachaktivität
EP4221853A1 (en) 2020-11-05 2023-08-09 Onmobile Global Solutions Canada Limited Game moment implementation system and method of use thereof
KR102259551B1 (ko) * 2020-11-09 2021-06-03 주식회사 지아소프트 멘토링을 이용한 게임 커뮤니티 운영 서비스 제공 시스템
US11853381B2 (en) * 2020-11-13 2023-12-26 Google Llc Hybrid fetching using a on-device cache
US11420123B2 (en) * 2020-12-30 2022-08-23 Sony Interactive Entertainment Inc. Helper mode in spectated video games
WO2022146719A1 (en) * 2020-12-30 2022-07-07 Sony Interactive Entertainment Inc. Helper mode in spectated video games
CN113244626A (zh) * 2021-05-10 2021-08-13 网易(杭州)网络有限公司 信息推送方法、装置、设备及存储介质
CN113181630B (zh) * 2021-05-14 2022-10-28 歌尔科技有限公司 一种游戏手柄及其扳机
KR20220169926A (ko) * 2021-06-21 2022-12-28 주식회사 버서스나우 스트리밍 내기 게임 방법 및 시스템
KR20220169921A (ko) * 2021-06-21 2022-12-28 주식회사 버서스나우 게임 승패 제공 시스템 및 방법
CN113599827B (zh) * 2021-08-25 2024-02-06 腾讯科技(深圳)有限公司 游戏数据处理方法、装置、设备及计算机可读存储介质
US11865455B2 (en) * 2021-10-26 2024-01-09 Paradigm Tilt LLC Arcade machine strategy guides
WO2023182876A1 (ko) * 2022-03-25 2023-09-28 주식회사 지지큐컴퍼니 맞춤형 게임 코칭 제공방법 및 그 시스템
CN115087061B (zh) * 2022-06-08 2023-08-15 咪咕互动娱乐有限公司 在途云游戏通信方法、设备及存储介质
JP7295999B1 (ja) * 2022-07-22 2023-06-21 株式会社Cygames プログラム、情報処理装置、方法、及びシステム
US11941546B2 (en) 2022-07-25 2024-03-26 Gravystack, Inc. Method and system for generating an expert template

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080004117A1 (en) 2006-07-03 2008-01-03 Microsoft Corporation Multi-Player Gaming
US20140357352A1 (en) 2013-06-03 2014-12-04 Andrew Van Luchene Video game with player assistance

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6663492B2 (en) * 2001-04-03 2003-12-16 Keith L Thompson Game assistant
US7296007B1 (en) * 2004-07-06 2007-11-13 Ailive, Inc. Real time context learning by software agents
US8241129B2 (en) * 2005-06-20 2012-08-14 Microsoft Corporation Setting up on-line game sessions out of a game context
US20070087798A1 (en) * 2005-10-13 2007-04-19 Elliot Mcgucken Morality system and method for video game: system and method for creating story, deeper meaning and emotions, enhanced characters and AI, and dramatic art in video games
US7572187B2 (en) * 2005-10-14 2009-08-11 Leviathan Entertainment Video game environment that tracks help and advice provided to other player characters
US8469821B2 (en) * 2006-02-14 2013-06-25 Leviathan Entertainment, Llc Video game which facilitates players assisting other players
US20080148165A1 (en) * 2006-11-22 2008-06-19 Sony Computer Entertainment America Inc. System and method of providing assistance over a network
US20080194333A1 (en) * 2006-11-22 2008-08-14 Gary Zalewski System and method of providing assistance through incentives
KR20090001499A (ko) * 2007-04-19 2009-01-09 주식회사 모퍼스 게임 트레이너기능을 구비된 서버시스템과 그 제어방법
US20110149020A1 (en) * 2009-12-17 2011-06-23 Ilya Klebanov Method and system for video post-processing based on 3d data
US20120142429A1 (en) * 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
US20160187654A1 (en) * 2011-02-28 2016-06-30 Microsoft Technology Licensing, Llc See-through near-eye display glasses with a light transmissive wedge shaped illumination system
US8628423B2 (en) * 2011-06-28 2014-01-14 United Video Properties, Inc. Systems and methods for generating video hints for segments within an interactive video gaming environment
US8622841B2 (en) 2011-08-02 2014-01-07 Zynga Inc. Automated apparent responses in massively multiplayer online games
US8753183B2 (en) * 2011-11-03 2014-06-17 Cbs Interactive, Inc. Techniques to automatically provide assistance for electronic games
KR101843345B1 (ko) * 2011-12-30 2018-03-30 주식회사 엔씨소프트 온라인 게임에서의 멘토 시스템 및 그 제공방법
US9280610B2 (en) * 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9731206B2 (en) * 2013-02-19 2017-08-15 Amazon Technologies, Inc. Delegating video game tasks via a sharing service
US20140256420A1 (en) * 2013-03-11 2014-09-11 Microsoft Corporation Univied game preview
US9813254B2 (en) 2013-09-04 2017-11-07 Nvidia Corporation System and method for providing real-time assistance regarding a cloud-based application
US10286326B2 (en) * 2014-07-03 2019-05-14 Activision Publishing, Inc. Soft reservation system and method for multiplayer video games
US20170250006A1 (en) * 2014-08-06 2017-08-31 Mido Play Inc. Single platform system for multiple jurisdiction lotteries
KR20180108562A (ko) * 2015-09-02 2018-10-04 아이덴티포, 인크. 지능형 가상 어시스턴트 시스템들 및 관련 방법들
CN105413175A (zh) 2015-10-28 2016-03-23 华为技术有限公司 实现游戏求助的方法、装置和服务器
US10112113B2 (en) * 2016-03-30 2018-10-30 Sony Interactive Entertainment Inc. Personalized data driven game training system
CN106075912B (zh) 2016-06-07 2019-12-03 维沃移动通信有限公司 一种网络游戏互助的方法及网络游戏系统
EP3469802A1 (en) 2016-06-13 2019-04-17 Sony Interactive Entertainment LLC In-game location based game play companion application
US11045737B2 (en) * 2016-06-13 2021-06-29 Sony Interactive Entertainment LLC In-game location based game play companion application
US10179289B2 (en) * 2016-06-21 2019-01-15 Activision Publishing, Inc. System and method for reading graphically-encoded identifiers from physical trading cards through image-based template matching
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
US10195531B2 (en) 2016-06-30 2019-02-05 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) personal assistant
CN107362538B (zh) * 2017-07-05 2018-11-09 腾讯科技(深圳)有限公司 一种游戏辅助信息展示方法、装置以及客户端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080004117A1 (en) 2006-07-03 2008-01-03 Microsoft Corporation Multi-Player Gaming
US20140357352A1 (en) 2013-06-03 2014-12-04 Andrew Van Luchene Video game with player assistance

Also Published As

Publication number Publication date
CN112601589B (zh) 2022-06-24
JP2021518201A (ja) 2021-08-02
KR20210064391A (ko) 2021-06-02
US11857883B2 (en) 2024-01-02
WO2019182680A8 (en) 2020-10-29
US20190291010A1 (en) 2019-09-26
US11590428B2 (en) 2023-02-28
KR102257367B1 (ko) 2021-05-28
WO2019183343A1 (en) 2019-09-26
US20190291011A1 (en) 2019-09-26
JP7379360B2 (ja) 2023-11-14
KR102527768B1 (ko) 2023-05-02
KR102506504B1 (ko) 2023-03-06
US20230016824A1 (en) 2023-01-19
EP3768403A1 (en) 2021-01-27
US20210113931A1 (en) 2021-04-22
KR20230037061A (ko) 2023-03-15
CN112218693A (zh) 2021-01-12
JP2021518197A (ja) 2021-08-02
US10874947B2 (en) 2020-12-29
CN112601589A (zh) 2021-04-02
CN115054911A (zh) 2022-09-16
KR20230061575A (ko) 2023-05-08
KR20210005603A (ko) 2021-01-14
EP3768404A1 (en) 2021-01-27
KR20200128751A (ko) 2020-11-16
US11439917B2 (en) 2022-09-13
US20230211240A1 (en) 2023-07-06
WO2019182680A1 (en) 2019-09-26

Similar Documents

Publication Publication Date Title
JP7299231B2 (ja) ゲームアプリケーションのゲームプレイ中のプレイヤーのエキスパートヘルプへのリアルタイム接続
JP6919047B2 (ja) 自動人工知能(ai)パーソナルアシスタント
JP6806811B2 (ja) ゲーミングアプリケーション中に特定のタスクをプレイするための制御モード
US11724204B2 (en) In-game location based game play companion application
JP7339318B2 (ja) ゲーム内位置ベースのゲームプレイコンパニオンアプリケーション
US20240033643A1 (en) Reporting and crowd-sourced review whether game activity is appropriate for user
JP6959267B2 (ja) 場所ベースゲームプレイコンパニオンアプリケーションを使用するチャレンジの生成
US20240017179A1 (en) Methods and system for predicting duration of multi-player game session
US20240115948A1 (en) Method and system for auto-playing portions of a video game
US20240050857A1 (en) Use of ai to monitor user controller inputs and estimate effectiveness of input sequences with recommendations to increase skill set
US20220101749A1 (en) Methods and systems for frictionless new device feature on-boarding

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230615

R150 Certificate of patent or registration of utility model

Ref document number: 7299231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150