JP7397224B2 - ゲームプレイのためにユーザを指導するシステム及び方法 - Google Patents

ゲームプレイのためにユーザを指導するシステム及び方法 Download PDF

Info

Publication number
JP7397224B2
JP7397224B2 JP2022580392A JP2022580392A JP7397224B2 JP 7397224 B2 JP7397224 B2 JP 7397224B2 JP 2022580392 A JP2022580392 A JP 2022580392A JP 2022580392 A JP2022580392 A JP 2022580392A JP 7397224 B2 JP7397224 B2 JP 7397224B2
Authority
JP
Japan
Prior art keywords
virtual
game
user
coaching
gameplay
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
JP2022580392A
Other languages
English (en)
Other versions
JP2023533227A (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 Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2023533227A publication Critical patent/JP2023533227A/ja
Application granted granted Critical
Publication of JP7397224B2 publication Critical patent/JP7397224B2/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/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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • 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
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本開示は、ゲームプレイのためにユーザを指導するシステム及び方法に関する。
ビデオゲームは、プレイヤが克服する方法を見つけ出す挑戦を提示するように設計されているのが一般的である。一部のゲームでは、これはマルチプレイヤ設定で他のプレイヤを打ち負かすという挑戦であり、他のゲームでは、これは困難なコンピュータ制御のエンティティを倒すという挑戦であり得る。通常、プレイヤはこれらの挑戦を何度も試み、ゲームのいくつかの複雑さを徐々に学んでスキルを向上させる。さらに、最も困難な状況の一部は頻繁に発生しない可能性があり、プレイヤが以前の遭遇で学んだ教訓を思い出すのが難しくなる。特定のゲームでスキルを向上させるのに時間がかかることに不満を感じるプレイヤもいる。
本発明の実施形態が生み出されたのは、この背景においてである。
本開示の実施形態は、ゲームプレイのためにユーザを指導するシステム及び方法を提供する。
ある実施形態では、様々なゲームジャンルのプレイヤが新しいゲームを学ぶ際のフラストレーションを軽減するためのコーチングシステムが提供される。コーチングはプレイヤのスキルの向上を加速させる。
一実施形態では、仮想ユーザの死亡及び仮想ユーザが逃した攻撃などの一連のゲームプレイイベントが経時的に記録され、収集されてグループ化されたシーケンスになる。本明細書に記載のシステム及び方法は、特定の状況での以前の失敗のビデオ及びコントローラ入力キャプチャを見直して、どの代替戦略を使用する必要があったかを調べて学習するためのユーザインタフェース(UI)を提供する。システム及び方法は、ゲームのプレイ中に発生する失敗に焦点を当てている。
ある実施形態では、本明細書に記載のシステム及び方法は、ゲームフックまたはテレメトリを使用して、ゲームプレイイベントなど、コーチングを適用できるゲーム中のポイントを識別する。例えば、コーチングは、仮想ユーザの死亡後または仮想ユーザへの攻撃後に適用することができる。ゲームプレイイベントの前の最後のX時間単位のゲームの記録(Xは正の実数)がメモリデバイスに保存される。記録は、仮想ユーザの死亡や仮想ユーザへの攻撃などの問題を記述するタグと共に保存される。システム及び方法は、ユーザから受信した入力選択などのオーバーレイと共に記録を再生する専用のUIを生成する。また、タイムラインスクラバーが専用のUIに沿って提供され、ユーザが最後のX時間単位で前後にスクロールできるようにする。また、専用のUIは、ユーザのスキルレベルを上げるためにユーザに提供するメカニクスまたは状況に関するヒントを含む。
一実施形態では、セルフコーチングインタフェースを処理する方法が記載される。方法は、ユーザによるゲームプレイ中にゲームプレイイベントを識別することを含む。ゲームプレイイベントは、スキル閾値を下回っているとタグ付けされる。方法は、ゲームプレイイベントの時間窓の記録を生成することと、ゲームプレイイベントの記録のためにゲームテレメトリを処理することとをさらに含む。ゲームテレメトリは、時間窓のゲームプレイイベントの前のインタラクティブアクションの進行を識別するために使用される。方法は、セルフコーチングインタフェースでオーバーレイコンテンツを生成することを含む。オーバーレイコンテンツは、セルフコーチングインタフェースを介して表示されるとき、記録の1つまたは複数の画像フレームに適用される。オーバーレイコンテンツは、記録の再生中に1つまたは複数の画像フレームに表示される。オーバーレイコンテンツは、ユーザのスキルをスキル閾値を超えるように向上させるためのヒントを提供する。
ある実施形態では、ゲームのプレイ中にプレイヤのセルフコーチングを容易にする方法が記載される。方法は、一連のゲームプレイイベントをゲームイベントデータとして記録することを含む。一連のゲームプレイイベントは、ユーザアイデンティティ(ID)に関連付けられる。方法はさらに、複数の所定のゲームプレイイベントに基づいて一連のゲームプレイイベントを分類することと、複数の所定のゲームプレイイベントの1つに関するコーチングセッションを開始するために1つまたは複数の入力を受信することとを含む。1つまたは複数の入力に応答して、方法は、ゲームイベントデータの一部を取得することを含む。ゲームイベントデータの一部は、一連のゲームプレイイベントのうちの1つの発生の所定の期間内に記録される。一連のゲームプレイイベントの1つは、複数の所定のイベントの1つとして分類される。方法は、ゲームイベントデータの一部をタイムラインバーと共に表示して、プレイヤのセルフコーチングを容易にすることを含む。
ある実施形態では、一連のゲームプレイイベントを有するゲームがユーザアイデンティティを認証した後にアクセスされると、一連のゲームプレイイベントはユーザアイデンティティに関連付けられる。
一実施形態では、方法は、タイムラインバーに沿って時間を示す入力を受信することと、時間を示す入力に従ってゲームイベントデータの一部を変換することも含む。
ある実施形態では、方法は、追加の一連のゲームプレイイベントを追加のゲームイベントデータとして記録することも含む。追加の一連のゲームプレイイベントは、ユーザIDに関連付けられる。方法は、複数の所定のゲームプレイイベントに基づいて追加の一連のゲームプレイイベントを分類することを含む。1つまたは複数の入力に応答して、方法は、追加のゲームイベントデータの一部を取得することを含む。追加のゲームイベントデータの一部は、追加の一連のゲームプレイイベントのうちの1つの発生の所定の期間内に記録される。追加の一連のゲームプレイイベントの1つは、複数の所定のイベントの1つとして分類される。方法は、追加のゲームイベントデータの一部をタイムラインバーと共に表示して、プレイヤのセルフコーチングを容易にすることを含む。
一実施形態では、方法は、追加の一連のゲームプレイイベントを追加のゲームイベントデータとして記録することを含む。追加の一連のゲームプレイイベントは、他のユーザIDに関連付けられる。方法は、複数の所定のゲームプレイイベントに基づいて追加の一連のゲームプレイイベントを分類することを含む。1つまたは複数の入力に応答して、方法は、追加のゲームイベントデータの一部を取得することを含む。追加のゲームイベントデータの一部は、追加の一連のゲームプレイイベントのうちの1つの発生の所定の期間内に記録される。追加の一連のゲームプレイイベントの1つは、複数の所定のイベントの1つとして分類される。方法は、追加のゲームイベントデータの一部をタイムラインバーと共に表示して、プレイヤのセルフコーチングを容易にすることを含む。
本明細書に記載のシステム及び方法のいくつかの利点には、ユーザがビデオゲームを理解し、ゲームをプレイするスキルを迅速に習得できるようにするユーザインタフェースを提供することが含まれる。また、コーチングセッションがビデオゲームに関連付けられ、ユーザがセルフコーチングできるようにアクセスされるため、ビデオゲームが改善される。さらに、不要なネットワークトラフィックが削減される。ユーザがコーチングセッション中に学習したレッスンをビデオゲームのプレイに適用すると、ユーザは、コーチングセッションを適用しない場合に比べて少ないエラーでビデオゲームをプレイすることができる。これらのエラーは、ユーザが使用するクライアントデバイスと、ビデオゲームが実行されるサーバシステムとの間のネットワークトラフィックを不必要に増加させる。
本開示の他の態様は、本開示に記載の実施形態の原理を例を挙げて示す下記の詳細な説明を、添付図面と併せて読むと明らかになろう。
本開示の様々な実施形態は、添付図面と併せて、以下の記載を参照することによって、最も良く理解される。
ゲームのプレイを示すシステムの実施形態の図である。
ゲームの仮想シーンを示すシステムの実施形態の図である。
ゲームの別の仮想シーンを示す図1のシステムの実施形態の図である。
仮想ユーザが死亡するさらに別の仮想シーンを示す図1のシステムの実施形態の図である。
ユーザID1のゲームレコーダによるゲームイベントデータの記録を示すシステムの実施形態の図である。
ユーザID2~Nまでのゲームイベントデータの記録を示すゲームレコーダの実施形態である。
ユーザをトレーニングするためのコーチングセッションを生成するコーチングプログラムの使用を示すシステムの実施形態の図である。
図1の仮想シーンの1つまたは複数の仮想オブジェクト上の1つまたは複数の仮想オブジェクトのオーバーレイを示すためのコーチングシーンの実施形態の図である。
図1のシステムのディスプレイデバイス上にレンダリングされ、表示されるコーチングシーンの実施形態の図である。
図1のディスプレイデバイス上での図7Aのコーチングシーンと別のコーチングシーンの同時表示を示す実施形態の図である。
ユーザID1に関連付けられた図7のコーチングシーンと、ユーザID Nに関連付けられた別のコーチングシーンとの同時レンダリング及び表示を示す、図1のディスプレイデバイスの実施形態の図である。
ディスプレイ画面上にコーチングシーンをレンダリングする代わりに、またはレンダリングすることに加えて、プロセッサが、ヘッドフォンを介して音声としてユーザに出力されるオーディオデータを生成することを示すシステムの実施形態の図である。
図6のコーチングセッションを生成するための推論トレーニングエンジンの使用を示すシステムの実施形態の図である。
モデルをトレーニングする方法の実施形態を示すフローチャートである。
プロセッサシステムと複数のデバイスとの間のルータ及びモデムとコンピュータネットワークとを介した通信を示すシステムの実施形態の図である。
プロセッサシステムをゲームコンソール内に実装できることを示すシステムの実施形態の図である。
コンピュータネットワークとスマートフォンとの間のルータ及びモデムを使用しない、コンピュータネットワークを介したスマートフォンとプロセッサシステムとの間の通信を示すシステムの実施形態の図である。
ヘッドフォンの実施形態の図である。
ディスプレイ画面上にコーチングシーンまたは仮想シーンの画像を表示するためのディスプレイデバイスの実施形態の図である。
本開示の様々な実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。
クライアントデバイスのディスプレイデバイスとインタフェースするために互換性があり、コンピュータネットワークを介してゲームホストシステムと通信することができるゲームコンソールの実施形態のブロック図である。
ヘッドマウントディスプレイ(HMD)のコンポーネントを示すためのHMDの実施形態の図である。
情報サービスプロバイダ(INSP)アーキテクチャの実施形態を示す。
ユーザにゲームプレイを指導するためのシステム及び方法を記載する。本開示の様々な実施形態は、これらの特定の詳細の一部またはすべてが無くても実践されることに留意されたい。他の例では、本開示の様々な実施形態を不必要に分かりにくくしないように、周知のプロセス動作については詳述していない。
図1は、ゲームのプレイを示すシステム100の実施形態の図である。システム100は、ゲームの仮想シーン110を表示するディスプレイデバイス1を含む。ディスプレイデバイス1は、カメラ101の前にある実世界環境の1つまたは複数の画像をキャプチャするカメラ101を有する。例えば、カメラ101は、カメラ101の視野内の1つまたは複数の画像をキャプチャする。一例として、各仮想シーンは画像フレームである。一実施形態では、画像及び画像フレームという用語は、本明細書では交換可能に使用される。本明細書で使用されるディスプレイデバイスの例には、スマートテレビ、テレビ、プラズマディスプレイデバイス、液晶ディスプレイ(LCD)デバイス、及び発光ダイオード(LED)ディスプレイデバイスが含まれる。ユーザ1は、ゲームコントローラ1を使用して、ビデオゲームなどのゲームをプレイしている。ビデオゲームの例には、シングルプレイヤゲームまたはマルチプレイヤゲームが含まれる。ゲームコントローラ1の例には、PlayStation(商標)コントローラ、Xbox(商標)コントローラ、Nintendo(商標)コントローラが含まれる。一例として、ゲームコントローラは、複数のジョイスティックと複数のボタンとを含む。
ディスプレイデバイス1は、ゲームの複数の画像を表示する。ユーザ1は、サーバシステムによってユーザ1に割り当てられたユーザアカウント1にログインして、サーバシステムからゲームにアクセスする。例えば、ユーザに割り当てられたユーザアイデンティティ(ID)と、サーバシステムによってユーザに割り当てられたパスワードが、サーバシステムによって認証されて、ユーザがゲームにアクセスできると判断される。
ゲームにアクセスすると、ユーザ1は、ゲームコントローラ1を使用してゲームをプレイする。ゲームのプレイ中に、仮想シーン110が生成され、ユーザ1に割り当てられたユーザID1が仮想シーン110に表示される。
ゲームにおいて、ユーザ1は、ゲームコントローラ1を使用して、仮想ユーザ102が登ることができる仮想傾斜路112を構築して、別の仮想ユーザ104よりも高さの利点を有する。仮想ユーザ102、仮想傾斜路112、及び仮想ユーザ104は、仮想シーン110内にある。また、ゲームにおいて、仮想ユーザ102の動きは、ゲームコントローラ1を用いてユーザ1によって制御される。ユーザ1は、ゲームコントローラ1を使用して、仮想ユーザ102が手に持っている仮想銃108を制御する。例えば、ユーザ1は、ゲームコントローラ1を使用して、仮想ユーザ104を撃つように仮想銃108を制御する。仮想銃108は、仮想シーン110の一部である。仮想ユーザ104は、マルチプレイヤゲームにおいて、ユーザ2またはユーザ3などの別のユーザによって制御される。
ゲームのプレイ中、仮想シーン110では、仮想ユーザ102が仮想ユーザ104を射撃し、仮想ユーザ104が仮想ユーザ102を射撃している間に、仮想弾丸106が仮想ユーザ102に向けられる。仮想弾丸106は、仮想ユーザ102の側面から仮想ユーザ102の方に向けられている。仮想シーン110は、仮想ユーザ102で仮想弾丸106を発射した仮想ユーザを含まない。仮想シーン110は、仮想木105及び仮想壁107を含む。仮想木105、仮想壁107、仮想傾斜路112、仮想ユーザ102、仮想銃108、仮想弾丸108、仮想ユーザ104のそれぞれは、仮想オブジェクトの例であることに留意されたい。
一実施形態では、サーバシステムは、ユーザID及びパスワードを認証して、ユーザがゲームプレイのために複数のゲームにアクセスできるようにする。
ある実施形態では、ディスプレイデバイス1の代わりに、ヘッドマウントディスプレイ(HMD)が使用される。HMDはユーザ1によって頭部に装着される。
図2は、ゲームの仮想シーン202を示すシステム100の実施形態の図である。仮想シーン202は、ディスプレイデバイス1に表示され、ゲームのプレイ中に仮想シーン110の次に来る。例えば、仮想シーン110及び202の両方が同じゲームセッション中に表示される。ユーザ1は、仮想弾丸106(図1)による命中から仮想ユーザ102を救うことができない。仮想弾丸108が仮想ユーザ102に命中した後、仮想ユーザ102はゲーム内で死亡し、仮想シーン202の仮想ドローン204によってビームを当てられる。また、仮想ユーザ102がゲーム内で死亡する前に、ユーザ1は、ゲームコントローラ1を制御して、仮想ユーザ104を殺すように仮想ユーザ102及び仮想銃108(図1)をさらに制御することにかろうじて成功する。仮想ユーザ104が殺されると、仮想ユーザ104は、仮想シーン202内の別の仮想ドローン206によってビームを当てられる。また、仮想シーン202には、ユーザID1が表示されている。
図3は、ゲームの別の仮想シーン302を示すシステム100の実施形態の図である。仮想シーン302は、仮想シーン202(図2)が表示された後、または仮想シーン110(図1)が表示される前に表示される。仮想シーン302において、仮想ユーザ102は、ゲームコントローラ1を介してユーザ1によって制御される。仮想シーン302は、ディスプレイデバイス1上に表示される。仮想ユーザ102は、仮想銃108を使用して仮想ユーザ104を撃つように制御される。また、仮想シーン302は、仮想ユーザ102によって構築された仮想壁304を含む。例えば、ユーザ1は、ゲームコントローラ1を使用して、仮想ユーザ104によって発射される仮想弾丸から仮想ユーザ102を保護する仮想壁304を構築するように仮想ユーザ102を制御する。
仮想シーン302では、仮想弾丸306が背後から仮想ユーザ102に命中する。ユーザ1は、どの仮想ユーザが仮想ユーザ102に向けて仮想弾丸306を発射したかを、仮想シーン302から見ることはできない。仮想シーン302は、仮想ユーザ102に仮想弾丸306を撃った仮想ユーザを含まない。
仮想シーン302は、図1及び2の仮想シーン110及び202が表示されるゲームセッションと同じまたは異なるゲームセッション中にディスプレイデバイス1に表示されることに留意されたい。例えば、仮想ユーザ102が仮想シーン202で死亡した後、ゲームのゲームプログラムがサーバシステムのプロセッサによって実行されて、ユーザ1が、仮想ユーザ102がリスポーンする、または回復する、または生き返るのを待つ待機期間を提供する。本明細書で使用されるプロセッサの例には、マイクロプロセッサ、マイクロコントローラ、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、またはプログラマブルロジックデバイス(PLD)が含まれる。待機時間は、ゲームが仮想シーン302を表示する前に生じる。この例では、ユーザ1は、仮想シーン202と302の表示の間にユーザアカウント1からログアウトしないので、仮想シーン110、202、及び302は同じゲームセッション中に表示される。別の例として、仮想ユーザ102が仮想シーン202で死亡した後、ユーザ1はユーザアカウント1からログアウトする。ユーザ1は後でユーザアカウント1にログインする。ユーザ1がユーザアカウント1にログインした後、仮想シーン302が表示される。この例では、仮想シーン302は、仮想シーン110及び202が表示されるゲームセッションとは異なるゲームセッション中に表示される。
一実施形態では、ゲームセッションは、ユーザ1によって制御される仮想ユーザ102が死亡するかゲームセッションに勝利した時点で終了する。仮想ユーザ102は、仮想ユーザ102がゲームセッションで他のすべての仮想ユーザを殺すか、またはゲームセッション中に事前に記憶された期間を超えて生き残ったときに、ゲームセッションに勝つ。仮想ユーザ102が死亡すると、仮想ユーザ102はリスポーンされ、別のゲームセッションを開始することができ、仮想ユーザ102が死亡するか別のゲームセッションに勝つと、別のゲームセッションは終了する。
図4は、仮想ユーザ102が死亡するさらに別の仮想シーン402を示すシステム100の実施形態の図である。仮想シーン402は、仮想シーン302(図3)が表示された後に表示される。例えば、仮想シーン302及び402の両方が同じゲームセッション中に表示される。仮想シーン402では、仮想ユーザ102及び104が殺される。仮想ユーザ102は、仮想弾丸306(図3)によって殺される。仮想シーン402は、仮想ユーザ102及び104にビームを当てるために使用される仮想ドローン204及び206を含む。
図5Aは、ゲームレコーダ502によるゲームイベントデータ510の記録を示すシステム500の実施形態の図である。システム500は、プロセッサシステム505を含む。プロセッサシステム505の例は、データセンタまたは複数のデータセンタの1つまたは複数のサーバを含むサーバシステムである。プロセッサシステム505の別の例には、サーバシステムの1つまたは複数のプロセッサが含まれる。プロセッサシステム505のさらに別の例には、1つまたは複数の仮想マシンが含まれる。ゲームレコーダ502の例は、ゲームイベントデータ510のビデオデータとオーディオデータの両方を記録するデジタルビデオレコーダである。プロセッサシステム505は、ゲームレコーダ502、ゲームプロセッサ506、及びコーチングプロセッサ508を含む。ゲームプロセッサ506は、ゲームレコーダ502及びコーチングプロセッサ508に結合される。コーチングプロセッサ508は、ゲームレコーダ502に結合される。
ゲームプロセッサ506は、ゲームプログラム528を実行して、ユーザ1及び他のユーザによるゲームのプレイを容易にする。一例として、ゲームプログラム528は、ゲームエンジン及びレンダリングエンジンを含む。ゲームエンジンは、仮想シーンの様々な仮想オブジェクトの位置及び向きを決定するために実行される。仮想シーンは、仮想オブジェクトの一例である背景を含む。レンダリングエンジンは、仮想シーンの仮想オブジェクトの色、強度、シェーディング、照明などのグラフィックスパラメータを決定するために実行される。ゲームプログラム528は、プロセッサシステム502の1つまたは複数のメモリデバイスに記憶され、1つまたは複数のメモリデバイスはゲームプロセッサ506に結合される。ゲームプログラム528が実行されるとき、ゲームイベントデータ510が生成され、仮想シーン110、220、302、及び402(図1~4)がディスプレイデバイス1に表示される。
生成されたゲームイベントデータ510は、ユーザID1用である。例えば、ゲームイベントデータ510の仮想シーン110(図1)、202(図2)、302(図3)、及び402(図4)は、ゲームプログラム528の実行時に生成される。ゲームプログラム528は、ユーザ1のユーザID1と、パスワードもしくは電話番号またはそれらの組み合わせなどの他の情報とがプロセッサシステム505によって認証されたとき、実行される。
一例として、ゲームイベントデータ510は、仮想シーン202(図2)に示されている仮想ユーザ102の死亡1に至る複数のゲームイベント1~mを含み、ここで、mは正の整数である。例示すると、ゲームイベントデータ510は、仮想シーン110(図1)及び202のデータを含む。さらに例示すると、ゲームイベント512は仮想シーン110のデータであり、ゲームイベント514は仮想シーン202のデータである。別の例として、ゲームイベントデータ510は、仮想シーン402(図4)に示されている仮想ユーザ102の死亡xに至る複数のゲームイベント1~nを含み、ここで、n及びxは正の整数である。例示すると、ゲームイベントデータ510は、仮想シーン302(図3)及び402のデータを含む。さらに例示すると、ゲームイベント516は仮想シーン302のデータであり、ゲームイベント518は仮想シーン402のデータである。別の例として、ゲームイベントデータ510は、仮想ユーザ102の健康レベルが所定の閾値未満に低下するまでの複数のゲームイベント1からoまでを含み、ここで、oは正の整数である。例示すると、ゲームイベント520は、仮想ユーザ102が完全な健康を有する仮想シーンのデータであり、ゲームイベント522は、仮想ユーザ102の健康が所定の閾値未満に低下した仮想シーンのデータである。さらに別の例として、ゲームイベントデータ510は、仮想ユーザの健康レベルが所定の閾値未満に低下するまでの複数のゲームイベント1~pを含み、ここで、pは正の整数である。例示すると、ゲームイベント524は、仮想ユーザ102が完全な健康を有する仮想シーンのデータであり、ゲームイベント526は、仮想ユーザ102の健康が所定の閾値未満に低下した仮想シーンのデータである。ゲームイベント520からゲームイベント522までの一連のゲームイベントは、ゲームイベント524からゲームイベント526までの一連のゲームイベントの発生と同じまたは異なるゲームセッション中に発生することに留意されたい。
ゲームプログラム528の実行中に、ゲームレコーダ502は、ゲームイベントデータ510を記録する。例えば、ゲームレコーダ502のプロセッサは、ゲームイベントデータ510をゲームレコーダ502の1つまたは複数のメモリデバイスに記憶する、または書き込む。メモリデバイスの例には、読み取り専用メモリ、ランダムアクセスメモリ、及びそれらの組み合わせが含まれる。例示すると、メモリデバイスは、フラッシュメモリデバイス、または独立ディスクの冗長アレイ(RAID)である。
ゲームプログラム528の実行中または実行後に、記録されたゲームイベントデータ510が、ゲームレコーダ502からコーチングプロセッサ508に提供される。例えば、コーチングプロセッサ508は、ゲームレコーダ502からゲームイベントデータ510を取得するためにゲームレコーダ502に定期的に要求する。コーチングプロセッサ508からの要求の受信に応答して、ゲームレコーダ502は、ゲームレコーダ502の1つまたは複数のメモリデバイスからゲームイベントデータ510にアクセスし、例えば読み取り、ゲームイベントデータ510をコーチングプロセッサ508に送信する。別の例として、ゲームレコーダ502は、定期的にゲームイベントデータをコーチングプロセッサ508に送信する。例示すると、コーチングプロセッサ508から要求を受信することなく、ゲームレコーダ502は、ゲームレコーダ502の1つまたは複数のメモリデバイスからゲームイベントデータ510にアクセスし、ゲームイベントデータ510をコーチングプロセッサ508に送信する。
ゲームプログラム528の実行中または実行後に、コーチングプログラム530がコーチングプロセッサ508によって実行される。例えば、コーチングプログラム530は、仮想シーン202(図2)の表示後、仮想シーン302(図3)の表示前、または仮想シーン402(図4)の表示後に実行される。
コーチングプログラム530は、コーチングプログラム530がプロセッサシステム505によって実行されるときに、コーチングプログラム530によって実行されるものとして本明細書に記載される機能を実行することに留意されたい。ある実施形態では、ゲームレコーダ502の代わりに、複数のゲームレコーダが使用されることにさらに留意されたい。同様に、ゲームプロセッサ506の一実施形態では、複数のゲームプロセッサが使用される。一実施形態では、コーチングプロセッサ508の代わりに、複数のコーチングプロセッサが使用される。
一実施形態では、ゲームレコーダ502、ゲームプロセッサ506、及びコーチングプロセッサ508は、バスを介して互いに結合される。
ある実施形態では、コーチングプログラム530は、ゲームプログラム528の一部であり、ゲームプログラム528に統合される。例えば、コーチングプログラム520のコンピュータプログラムコードには、ゲームプログラム528のコンピュータプログラムコードが散在している。
一実施形態では、ゲームイベントは、本明細書ではゲームプレイイベントと呼ばれることがある。
ある実施形態では、仮想ユーザ102の死亡が発生するたびに、コーチングプログラム530は、死亡が発生したことをゲームイベントデータ510から識別する。例えば、コーチングプログラム530は、仮想シーン202が仮想ユーザ204の上に仮想ドローン204を含むと判断して、仮想ユーザ102が死亡したと判断する。コーチングプログラム520は、仮想ユーザ102が死亡する仮想シーン202に、死亡または逝去などのキーワードを割り当てるなど、タグを付け、プロセッサシステム505の1つまたは複数のメモリデバイス内にキーワードをメタデータとして記憶する。仮想ユーザ102が死亡するたびに、コーチングプログラム530は、ユーザ1のスキルレベルが、プロセッサシステム505の1つまたは複数のメモリデバイスに記憶されている予め設定された閾値を下回っていると判断する。例えば、仮想ユーザ102がゲーム内で死亡するたびに、ゲームプログラム528は、ユーザID1に対応するスキルレベルを予め設定された閾値未満に低下させる。
図5Bは、ユーザID2~Nまでのゲームイベントデータ504の記録を示すゲームレコーダ502の実施形態であり、ここで、Nは正の整数である。ユーザID2~Nは、ゲームをプレイしている他のユーザ2~Nに割り当てられる。例えば、ユーザID2はユーザ2に割り当てられ、ユーザID NはユーザNに割り当てられる。
ゲームイベントデータ504は、ユーザID Xについての一連のゲームイベント1~qと、ユーザID Nについて記録された別の一連のゲームイベント1~rとを含む。例えば、ゲームイベント550は、ゲームプログラム528(図5A)の実行時にアクセスされる仮想シーンのデータを含む。ゲームイベントqは、仮想ユーザ102の死亡qを含む。ゲームプログラム528は、ユーザID Nがプロセッサシステム505(図5A)によって認証された後にアクセスされる。別の例として、ゲームイベント552は、ゲームプログラム528の実行時にアクセスされる仮想シーンのデータを含む。ゲームイベント552は、ゲームコントローラNを介してユーザNによって制御される仮想ユーザの死亡1を含む。別の例として、ゲームイベント554は、ゲームプログラム528の実行時にアクセスされる仮想シーンのデータを含み、ゲームイベント556は、ゲームプログラム528の実行時にアクセスされる仮想シーンのデータを含む。ゲームイベント556は、ゲームコントローラNを介してユーザNによって制御される仮想ユーザの死亡rを含み、ここで、rは正の整数である。ゲームプログラム528の実行中または実行後に、記録されるゲームイベントデータ504は、ゲームイベントデータ510(図5A)がゲームレコーダ502からコーチングプロセッサ508(図5A)に提供されるのと同じ方法で、ゲームレコーダ502からコーチングプロセッサ508に提供される。
図6は、ユーザ1をトレーニングするためのコーチングセッション608を生成するためのコーチングプログラム530の使用を示すシステム600の実施形態の図である。システム600は、ユーザID1のゲームイベントデータ510を含む。また、システム600は、コーチングプログラム530、ユーザID2~Nのゲームイベントデータ504、クライアントデバイス602、選択されたゲームイベントデータ604、及びメタデータ606を含む。本明細書で使用されるクライアントデバイスの例には、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、スマートフォン、ハンドヘルドリモートコントローラとスマートテレビの組み合わせ、ハンドヘルドコントローラ(HHC)とゲームコンソールの組み合わせ、ならびにハンドヘルドコントローラとヘッドマウントディスプレイ(HMD)の組み合わせが含まれる。ゲームコントローラはHHCの一例である。ディスプレイデバイス1は、クライアントデバイス602のディスプレイデバイスの一例である。
ユーザID1のゲームイベントデータ510は、ビデオデータ612及びオーディオデータ614を含む。一例として、ゲームイベントデータのビデオデータは、仮想シーンに表示される複数の仮想オブジェクトの位置、向き、及びグラフィックスパラメータを含む。また、一例として、ゲームイベントデータのオーディオデータは、仮想シーン内の1つまたは複数の仮想オブジェクトによって発せられる音素、語彙、歌詞、またはフレーズを含む。同様に、ユーザID2~Nのゲームイベントデータ504は、ユーザID2~Nのそれぞれのビデオデータ及びオーディオデータを含む。
メタデータ606の例には、ゲーム内で仮想オブジェクトを生成するための1つまたは複数のゲーム状態などのゲームテレメトリが含まれる。例えば、メタデータ606は、あるゲーム状態を含み、そのゲーム状態に基づいて、仮想シーンで表示も出力も発話もされない仮想オブジェクトがコーチングシーンに表示される。別の例として、メタデータ606は、ゲームプログラム528の実行中に表示された仮想シーン110または202または302または402(図1~4)などの仮想シーン内の1つまたは複数の仮想オブジェクトの位置及び向きに関連付けられた情報である。例示すると、メタデータ606は、仮想シーン110に表示された仮想弾丸106の位置の周囲に仮想矩形フレームが表示される位置である。仮想矩形フレームは、仮想シーン110には表示されない。別の例として、メタデータ606は、仮想シーン110にも202にも302にも402(図1~4)にも表示されない仮想ユーザの位置及び向きである。表示されていない仮想ユーザが、仮想弾丸106(図1)または306(図3)を発射する。コーチングプログラム530は、仮想ユーザ102に向けて仮想弾丸106を発射している仮想ユーザを示すために、仮想弾丸106の位置の隣の位置、例えばその右側の位置に、仮想ユーザ102を撃った仮想ユーザを生成する。さらに別の例として、メタデータ606は、仮想シーン110にも202にも302にも402にも表示されていない、仮想弾丸を発射した仮想ユーザのユーザ名である。別の例として、メタデータ606を使用せずに、仮想シーン110にも202にも302にも402にも表示されない仮想ユーザの視点からのカメラビューを生成する。例えば、メタデータ606を使用せずに、仮想シーン110にも202にも302にも402にも表示されていない仮想ユーザの視点から、仮想シーン110または202または302または402のアクションリプレイを生成する。
コーチングセッション608の例にはコーチングシーンの表示が含まれ、コーチングシーンでは、ユーザ1がゲームをプレイすることはできないが、ユーザ1による以前のゲームプレイ、またはユーザ2~Nによる以前のゲームプレイ、またはそれらの組み合わせに基づいて学習することができる。例えば、コーチングプログラム530は、プロセッサシステム505(図5A)によって実行されて、ユーザID1のためのコーチングセッション608を生成する。コーチングシーンの例は、コーチングプログラム530の実行時に生成及びレンダリングされる仮想シーンである。コーチングセッション608が生成されるとき、1つまたは複数のコーチングシーンがクライアントデバイス602に表示される。コーチングシーンは、ユーザIDに対して表示されたとき、そのユーザIDに対してゲームのプレイを許可しない。例えば、ユーザID1に対するコーチングシーンの表示中、ゲームプログラム528(図5A)は、ユーザID1のプロセッサシステム505によって実行されない。例示すると、ユーザID1の場合、プロセッサシステム505は、ユーザID1に対する1つまたは複数のコーチングシーンの表示中にゲームプログラム528を実行することによって生成される仮想シーンをレンダリングしない。代わりに、プロセッサシステム505は、ユーザID1のための1つまたは複数のコーチングシーンをレンダリングするためのコーチングプログラム530を実行する。
動作610において、コーチングプログラム530は、クライアントデバイス602から入力信号616を受信して、コーチングセッション608を開始する。例えば、ゲームのプレイ中に、ユーザ1はクライアントデバイス1のボタンを選択して、コーチングセッション608を開始するための入力信号616を生成する。例示すると、仮想シーン202または402(図2または4)で仮想ユーザ102が死亡した後、ユーザ1はゲームコントローラ1(図1)のボタンを選択する。選択を受信すると、ゲームコントローラ1は、コーチングセッション608を開始するための入力信号616を生成する。入力信号616は、クライアントデバイス602からコーチングプログラム530に送信される。
コーチングプログラム530は、入力信号616を受信し、入力信号616から、コーチングセッション608が開始されるべきであることを識別する。コーチングセッション608が開始されることを識別すると、コーチングプログラム530は、コーチングプログラム520が開始される1つまたは複数のユーザID622に対する要求620を含む出力信号618を生成する。例えば、出力信号618は、ユーザID1、ユーザID2、ユーザID N、または、ユーザID1、ID2、及びID Nのうちの2つ以上の組み合わせに基づいて、コーチングプログラム530が開始されるべきかどうかに関する情報を取得するために、クライアントデバイス602へのクエリを含む。例示すると、出力信号618は、ゲームのゲームプレイのためにアクセスされるユーザID1、ユーザID2、ユーザID N、またはそれらの2つ以上の組み合わせを取得するための問い合わせを含む。
クライアントデバイス602は、コーチングプログラム530から1つまたは複数のユーザID622の要求620を受信する。例えば、クライアントデバイス602は、クライアントデバイス602のディスプレイ画面に1つまたは複数のユーザID622に対する要求602を表示する。例示すると、クライアントデバイス602は、クライアントデバイス602のディスプレイ画面にユーザID1~Nのリストを表示する。別の例として、クライアントデバイス602は、ユーザ1が装着したヘッドフォンを介して音声を出力し、ユーザ1に1つまたは複数のユーザID622を求める。ヘッドフォンは、クライアントデバイス602の一部であるか、またはクライアントデバイス602に結合されている。さらに別の例として、クライアントデバイス602は、クライアントデバイス602の1つまたは複数のスピーカを介して音声を出力し、ユーザ1に1つまたは複数のユーザID622を求める。
クライアントデバイス602は、ユーザ1から1つまたは複数のユーザID622を受信し、1つまたは複数のユーザID622を含む入力信号623を生成する。例えば、ユーザ1は、ゲームコントローラ1の1つまたは複数のボタンを選択して、1つまたは複数のユーザID622を提供する。例示すると、ユーザ1は、ゲームコントローラ1の1つまたは複数のボタンを選択して、クライアントデバイス602のディスプレイ画面に表示されたユーザID1~Nのうちの1つまたは複数を選択する。クライアントデバイス602は、入力信号623をコーチングプログラム530に送信する。
入力信号623内の1つまたは複数のユーザID622を受信すると、コーチングプログラム530は、出力信号624を生成し、出力信号624には、1つまたは複数のユーザID622に対してコーチングセッション608が生成されるゲームシーケンスタイプを識別するための要求626が含まれる。例えば、要求626は、ゲームシーケンスタイプがタイプ1か、またはタイプ2かに関する問い合わせである。タイプ1のゲームシーケンスの例には、仮想ユーザの死亡に至る複数のゲームイベントが含まれ、タイプ2のゲームシーケンスの例には、仮想ユーザの健康レベルの低下につながる複数のゲームイベントが含まれる。例示すると、タイプ1はゲームイベント512~514、ならびにゲームイベント516及び518を含み、タイプ2はゲームイベント520~522、ならびに524~526を含む(図5A)。
クライアントデバイス602は、ゲームシーケンスタイプを識別するための要求626を含む出力信号624を受信し、クライアントデバイス602のユーザインタフェースまたは別のタイプのインタフェースを介して、ユーザ1に要求を出力する。例えば、クライアントデバイス602は、クライアントデバイス602のディスプレイ画面を介して要求626を表示またはレンダリングする。例示すると、クライアントデバイス602は、仮想ユーザ102の死亡(図1~4)及び仮想ユーザ102の健康レベルの所定の閾値未満への低下を含むゲームシーケンスタイプのリストを表示する。別の例として、クライアントデバイス602は、クライアントデバイス602の1つまたは複数のスピーカを介して音声を出力し、音声は、ゲームシーケンスタイプの要求626を含む。さらに別の例として、クライアントデバイス602は、要求626への応答を取得するために、ヘッドフォンを介してユーザ1に音声を出力する。
要求626に応答して、ユーザ1は、クライアントデバイス602のユーザインタフェースまたは別のタイプのインタフェースを介して、ゲームシーケンスタイプ識別子628を提供する。例えば、ユーザ1は、ゲームコントローラ1の1つまたは複数のボタンを選択して、ゲームシーケンスタイプ識別子628を提供する。例示すると、ユーザ1は、1つまたは複数のボタンを選択して、仮想ユーザ102の死亡または仮想ユーザ102の健康レベルの低下のいずれかのゲームシーケンスタイプを選択する。ゲームシーケンスタイプ識別子628の選択を受信すると、クライアントデバイス602は、ゲームシーケンスタイプ識別子628を含む入力信号630を生成し、入力信号630をコーチングプログラム530に送信する。
コーチングプログラム530は、入力信号630を受信し、入力信号630からゲームシーケンスタイプ識別子628を識別する。ゲームシーケンス識別子628を識別すると、コーチングプログラム530は、ゲームシーケンス識別子628によって識別されたシーケンスタイプのゲームイベントを識別するための要求632を含む出力信号634を生成する。例えば、仮想ユーザ102の死亡というゲームイベント514または518(図5A)に対してコーチングセッション608が生成されるべきかどうかを決定するために、コーチングプログラム530は、ゲームイベント514または518を識別するための要求632を生成する。コーチングプログラム530は、出力信号634をクライアントデバイス602に送信する。
出力信号634を受信すると、クライアントデバイス602は、出力信号634から要求632を識別し、クライアントデバイス602のユーザインタフェースまたは別のインタフェースを介して要求632をユーザ1に提供する。例えば、クライアントデバイス602は、クライアントデバイス602のディスプレイ画面にゲームイベント514及び518のリストを表示する。例示すると、クライアントデバイス602は、クライアントデバイス602のディスプレイ画面に仮想シーン202及び仮想シーン402を表示して、ユーザ1が仮想シーン202及び402のうちの1つを選択できるようにする。
ユーザ1は、要求632に応答して、コーチングセッション608を生成するゲームイベントを識別する。ゲームイベントは、ゲームイベント識別子636を提供するために識別される。例えば、ユーザ1は、ゲームコントローラ1の1つまたは複数のボタンを介して、ゲームイベント514を識別する仮想シーン202、またはゲームイベント518を識別する仮想シーン402を選択する。仮想シーン202または402の選択の受信に応答して、クライアントデバイス602は、ゲームイベント識別子636を有する入力信号638を生成し、入力信号638をコーチングプログラム530に送信する。
入力信号638を受信すると、コーチングプログラム530は、ゲームイベント識別子636を識別し、ゲームユーザID622に対してコーチングセッション608が生成されるゲームイベントデータ604を選択する。例えば、コーチングプログラム530は、ゲームプログラム528がユーザID1に対して実行されるときに表示される仮想シーン202(図2)に基づいて記録されたゲームイベント514(図5A)を識別するゲームイベント識別子636を識別する。選択されたゲームイベントデータ604の例には、ゲームイベント514またはゲームイベント518(図5A)が含まれる。
コーチングセッション608が生成されるゲームイベント識別子636を識別すると、コーチングプログラム530がプロセッサシステム505によって実行されて、選択されたゲームイベントデータ604を出力するために、ゲームイベント識別子636によって識別されたゲームイベントの記録の時点から所定の時間間隔内に記録されたゲームイベントデータ510の一部を記憶する。例えば、コーチングセッション608が生成されるゲームイベント514を識別すると、コーチングプログラム530は、ゲームイベント514が記録される時点の前の所定の時間間隔内に記録される1つまたは複数のゲームイベントを記憶する。コーチングプログラム530は、ゲームイベント514も記憶する。1つまたは複数のゲームイベントは、ゲームイベント514の発生につながるか、またはもたらす。例示すると、コーチングプログラム530は、プロセッサシステム505の1つまたは複数のメモリデバイスから、ゲームイベント514が記録された時点より前の所定の時間間隔外に記録された1つまたは複数のゲームイベントを削除する。ゲームイベント514及び所定の時間間隔内のゲームイベントは、コーチングプログラム530によって、選択されたゲームイベントデータ604として記憶される。また、この図では、プロセッサシステム505は、ゲームイベント514が記録された時点の前の所定の時間間隔内に記録された1つまたは複数のゲームイベントを、プロセッサシステム505の1つまたは複数のメモリデバイス内に保持して、選択されたゲームイベントデータ604を保持する。削除される1つまたは複数のゲームイベントは、保持される1つまたは複数のゲームイベントにつながり、保持される1つまたは複数のゲームイベントは、ゲームイベント514につながる。保持される1つまたは複数のゲームイベントは、選択されたゲームイベントデータ604である。
さらに説明すると、ゲームのゲームセッション中、ゲームプログラム528の実行時に、一連の仮想シーンが生成され、記録される。一連の仮想シーンは、第1シリーズ、第2シリーズ、及び第3シリーズを含む。第1シリーズは、仮想ユーザ102が、レンガまたは金属棒など、仮想兵器及び仮想オブジェクト等のアイテムを収集して、仮想ユーザ102を仮想弾丸から守る連続する仮想シーンの第1セットを含む。第2シリーズは、仮想ユーザ102が他の仮想ユーザと戦う、連続する仮想シーンの第2セットを含む。第3シリーズは、ゲームイベント512及び514(図5A)が記録される仮想シーン110及び202(図1及び2)などの連続する仮想シーンの第3セットを含む。第2シリーズは第1シリーズの後に続き、第3シリーズは第2シリーズの後に続く。プロセッサシステム505は、仮想シーンの第1及び第2シリーズを削除し、仮想シーンの第3シリーズを保持する。第3シリーズは、選択されたゲームイベントデータ604である。
別の例として、コーチングプログラム530は、ゲームイベントデータ510の一部を含む選択されたゲームイベントデータ604を、プロセッサシステム505の1つまたは複数のメモリデバイス内に記憶する。選択されたゲームイベントデータ604が記憶されるプロセッサシステム505の1つまたは複数のメモリデバイスは、ゲームイベントデータ510が記録される1つまたは複数のメモリデバイスとは異なる、例えば同じではない。一実施形態では、異なる1つまたは複数のメモリデバイスに記憶される代わりに、選択されたゲームイベントデータ604は、ゲームイベントデータ510がメモリデバイスに記録されるメモリアドレスとは異なるメモリアドレスでメモリデバイスに記憶される。
さらに別の例として、コーチングセッション608が生成されるゲームイベント514を識別すると、コーチングプログラム530は、ゲームイベント514が記録される時点より前の所定の時間間隔内に記録された1つまたは複数のゲームイベントと、ゲームイベント514が記録された時点の後の予め設定された時間間隔内に記録された1つまたは複数のゲームイベントと、ゲームイベント514とを記憶する。ゲームイベント514が記録された時点の前の所定の時間間隔内に記録される1つまたは複数のゲームイベント、ゲームイベント514、及びゲームイベント514が記録された時点の後の予め設定された時間間隔内に記録された1つまたは複数のゲームイベントは、選択されたゲームイベントデータ604である。例えば、コーチングセッション608が生成されるゲームイベント514を識別すると、コーチングプログラム530は、ゲームイベント514が記録された時点の後の予め設定された時間間隔内に記録される1つまたは複数のゲームイベントを記憶する。ゲームイベント514の後には、ゲームイベント514が記録された時点の後の予め設定された時間間隔内に記録された1つまたは複数のゲームイベントが続く。例示すると、コーチングプログラム530は、プロセッサシステム505の1つまたは複数のメモリデバイスから、ゲームイベント514が記録された時点の後の予め設定された時間間隔外に記録された1つまたは複数のゲームイベントを削除する。ゲームイベント514が記録された時点の後の予め設定された時間間隔内に発生する1つまたは複数のゲームイベントは、削除される1つまたは複数のゲームイベントにつながる。また、この例では、プロセッサシステム505は、ゲームイベント514が記録された時点の後の予め設定された時間間隔内に記録された1つまたは複数のゲームイベントを、プロセッサシステム505の1つまたは複数のメモリデバイス内に保持する。
さらに説明すると、ゲームのゲームセッション中、ゲームプログラム528の実行時に、一連の仮想シーンが生成される。一連の仮想シーンは、第1シリーズ、第2シリーズ、及び第3シリーズを含む。第1シリーズは、仮想シーン202に示されるようにゲームイベント514において仮想ユーザ102が死亡した後、仮想銃弾から仮想ユーザ102を守るために、レンガまたは金属棒など、仮想武器及び仮想オブジェクト等のアイテムを仮想ユーザ102が収集する、連続する仮想シーンの第1セットを含む。第2シリーズは、仮想ユーザ102が他の仮想ユーザと踊る連続する仮想シーンの第2セットを含む。第3シリーズは、仮想ユーザ102が他の仮想ユーザと踊り続ける連続する仮想シーンの第3セットを含む。第2シリーズは第1シリーズの後に続き、第3シリーズは第2シリーズの後に続く。プロセッサシステム505は、仮想シーンの第2及び第3シリーズを削除し、仮想シーンの第1シリーズを保持する。第1シリーズは、選択されたゲームイベントデータ604である。
選択されたゲームイベントデータ604に基づいて、コーチングプログラム530は、メタデータ606を処理して、ユーザ1がゲームイベント識別子636によって識別されるゲームイベントの発生の1つまたは複数の理由を確認できるようにすることでユーザ1のゲームスキルを高めることができる、オーバーレイなどの仮想オブジェクトを生成及びレンダリングする。例えば、コーチングプログラム530は、メタデータ606を処理して、仮想ユーザ102を撃った仮想ユーザの位置及び向きを識別し、仮想ユーザ102を撃った仮想ユーザのオーバーレイを含めることを決定する。オーバーレイが表示されると、ユーザ1は、仮想ユーザ102の死亡の理由を見ることができる。死亡の理由は、仮想ユーザ102を撃った仮想ユーザである。オーバーレイは仮想オブジェクトの一例である。また、コーチングプログラム530は、仮想ユーザを強調するために仮想ユーザを囲む仮想フレームを生成する。別の例として、コーチングプログラム530は、メタデータ606から仮想弾丸106の位置を識別し、仮想ユーザ102がジャンプするか仮想壁によって保護されていた場合、仮想ユーザ102は仮想弾丸106によって殺されなかったであろうと判断する。コーチングプログラム530は、射撃中にジャンプするように、または仮想ユーザ102の周囲に壁を構築するように仮想ユーザ102を制御するようにユーザ1に表示するためのコーチングコメントを生成する。コーチングコメントにより、ユーザ1は、仮想ユーザ102が仮想弾丸106に当たらないように保護することができる。ユーザ1は、コーチングコメントを見直すことができる。仮想ユーザ102が別の仮想弾丸で殺されそうになる同様の状況に直面した場合、ユーザ1がコーチングコメントに従えば、仮想ユーザ102を他の仮想弾丸から守ることができる。
コーチングプログラム530は、選択されたゲームイベントデータ604にオーバーレイしてコーチングセッション608を生成するために、メタデータ606に従って仮想オブジェクトのオーバーレイを生成する。例えば、コーチングプログラム530は、選択されたイベントデータ604として記憶された仮想シーン内の仮想オブジェクトの周囲に仮想フレームをオーバーレイする。別の例として、コーチングプログラム530は、仮想シーン202に仮想オブジェクトをオーバーレイする。仮想シーン202にオーバーレイされた仮想オブジェクトは、仮想弾丸106(図1)を発射した。さらに別の例として、コーチングプログラム530は、オーバーレイとして、弾丸106を発射した仮想オブジェクトのユーザ名またはユーザIDを追加する。
コーチングプログラム530は、コーチングセッション608をクライアントデバイス602に提供する。例えば、プロセッサシステム505は、コーチングプログラム530を実行して、メタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトが選択されたゲームイベントデータ604にオーバーレイされる1つまたは複数のコーチングシーンを生成する。例示すると、1つまたは複数のコーチングシーンは、仮想シーン202上の1つまたは複数の仮想オブジェクトのオーバーレイを含む。1つまたは複数のコーチングシーンは、クライアントデバイス602のディスプレイ画面に表示される。
コーチングセッション608は、入力640がクライアントデバイス602から受信されるまで続く。例えば、入力640は、ユーザ1がゲームコントローラ1の1つまたは複数のボタンを選択してコーチングセッション608を終了するときに生成される。入力640は、入力信号642内でコーチングプログラム530に送信される。コーチングプログラム530は、コーチングプログラム530からコーチングセッション608を終了するための入力640を識別し、コーチングセッション608を終了する。例えば、コーチングプログラム530は、入力640の受信に応答して、ユーザID1のコーチングセッション530を終了する。例示すると、ユーザID1のゲームプログラム528の実行は、ユーザID1のコーチングセッション608が終了した後も継続する。
一実施形態では、コーチングプログラム530は、クライアントデバイス602に、ゲームシーケンスタイプを識別すること、及びゲームシーケンスタイプのゲームイベントを識別することを要求しない。例えば、コーチングプログラム530は、信号624及び634をクライアントデバイス602に送信しない。ユーザ1は、ゲームシーケンスタイプとゲームシーケンスタイプのゲームイベントとを識別する必要は無い。そうではなく、コーチングプログラム530は、仮想ユーザ102の死亡のゲームイベント514または518の直後に、コーチングセッション608を開始するための入力信号616が受信されたと判断する。例えば、コーチングプログラム530は、入力信号616が、ゲームイベント514または518の発生の終了時、及びゲームイベント514または518の後に続くゲームイベントの発生前に受信されたと判断する。そう判断すると、コーチングプログラム530は、コーチングセッション608がゲームイベント514または518のために生成されるべきであると判断する。
一実施形態では、コーチングセッション608は、ゲームのプレイ中に発生する。例えば、コーチングプログラム530とゲームプログラム528の両方が、プロセッサシステム505によって同時に実行される。ユーザ1がゲームをプレイする前に、コーチングプログラム530をゲームプログラム528と同時に実行するための選択を示す入力信号が、プロセッサシステム505によってクライアントデバイス602のゲームコントローラ1から受信される。入力信号を受信すると、プロセッサシステム505は、コーチングプログラム530を実行する。コーチングプログラム530が実行されるとき、メタデータ606に基づいて1つまたは複数の仮想オブジェクトが生成され、ゲームプログラム528の実行によって生成される仮想シーンの仮想オブジェクトと共に表示するために、プロセッサシステム506のコーチングプログラム530によってレンダリングされる。例えば、メタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトは、コーチングセッション608中に仮想シーン110、202、302、及び402に表示される。
一実施形態では、コーチングシーンは、本明細書では、セルフコーチングユーザインタフェースなどのセルフコーチングインタフェースと呼ばれる。
図7Aは、仮想シーン110(図1)で1つまたは複数の仮想オブジェクトの使用を示すためのコーチングシーン700の実施形態の図である。メタデータ606(図6)に基づいて、1つまたは複数の仮想オブジェクトが生成される。コーチングシーン700は、仮想ユーザ102、仮想銃108、仮想弾丸106、及び仮想傾斜路112を含む。コーチングシーン700は、コーチングプログラム530(図6)の実行時に生成され、ディスプレイデバイス1に表示される。
コーチングシーン700は、仮想コメント702、仮想フレーム704、別の仮想フレーム706、銃ID708、仮想フレーム710、弾丸ID712、銃ID714、仮想フレーム716、仮想銃718、仮想ユーザ720、仮想フレーム722、仮想ユーザID724、仮想ゲームコントローラ726、及び仮想ボタンID728を含む。コーチングシーン700は、ユーザ1をコーチングするのに不要な仮想オブジェクトでコーチングシーン700を乱雑にしないように、仮想木105及び仮想壁107を除外する。仮想コメント702、仮想フレーム704、仮想フレーム706、銃ID708、仮想フレーム710、弾丸ID712、銃ID714、仮想フレーム716、仮想銃718、仮想ユーザ720、仮想フレーム722、仮想ユーザID724、仮想ゲームコントローラ726、及び仮想ボタンID728は、メタデータ606に基づいて生成された、オーバーレイなどの1つまたは複数の仮想オブジェクトの例である。仮想ユーザ720は、仮想シーン110(図1A)にはいないことに留意されたい。
仮想コメント702は、ユーザ1が仮想弾丸106に当たらないように、コーチングコメント「今すぐジャンプ!または、今すぐ壁の構築を開始!」である。仮想フレーム704は、仮想ユーザ102を強調するために仮想ユーザ102の周囲に延びている。同様に、仮想フレーム706は、仮想銃108の周囲に延びている。銃ID708は、仮想銃108を強調するために仮想銃108のタイプを識別する。例えば、銃ID708は、仮想銃108がショットガンかピストルか半自動銃か二連銃かAK-47かを識別する。仮想フレーム710は、仮想弾丸106を強調するために仮想弾丸106の周囲に延びている。弾丸ID712は、仮想弾丸106のタイプを識別する。仮想弾丸のタイプの例には、鉛円頭弾、セミジャケット弾、及びフルメタルジャケット弾等が含まれる。
仮想フレーム716は、仮想ユーザ720が手に持っている仮想銃718の周囲に延びている。銃ID714は、仮想銃718のタイプを識別する。仮想フレーム722は、仮想ユーザ720を強調するために仮想ユーザ720の周囲に延びている。仮想ユーザID724は、仮想弾丸106で仮想ユーザ102を撃った仮想ユーザ720を制御する別のユーザに割り当てられるユーザIDである。ユーザID724は、プロセッサシステム505(図5A)によって割り当てられる。仮想ゲームコントローラ726は、ゲームをプレイし、仮想ユーザ102を制御するユーザ1が使用または手に持つゲームコントローラ1の画像である。仮想ボタンID728は、仮想ユーザ102の死亡につながる仮想シーン110(図1)の発生中にユーザ1によって選択されるボタンである。仮想シーン700にメタデータ606を提供することによって、コーチングプログラム530は、ユーザ1のスキルレベルを向上させるために、ユーザ1のセルフコーチングを容易にする。
コーチングシーン700は、タイムラインスクラバー730に沿って、またはタイムラインスクラバー730と同時に表示される。タイムラインスクラバー730は、タイムバー、タイムスケール、時間軸、またはタイムラインである。コーチングプログラム530は、コーチングセッション608の一部であるタイムスクラバー730を生成及びレンダリングする。ユーザ1は、ゲームコントローラ1を使用して、タイムラインスクラバー732のセグメント732、734、及び736などの多くのセグメントのうちの1つを選択して、プロセッサシステム505からコーチングシーン700にアクセスし、コーチングシーン700を見る。例えば、セグメント732が選択されると、コーチングシーン700がディスプレイデバイス1に表示される。
タイムラインスクラバー730は、選択されたゲームイベントデータ604をディスプレイ画面1に表示するためのセグメントを含む。一例として、タイムラインスクラバー730はセグメントを含み、各セグメントは、ゲームコントローラ1を介してユーザ1によって選択されて、入力信号を生成することができる。入力信号が受信されるとき、ゲームイベントに至るまでの仮想シーン、ゲームイベントの仮想シーン、及びゲームイベントの後に発生する仮想シーンの再生が、仮想シーンの1つまたは複数の上に重ねられたオーバーレイコンテンツと共に、コーチングプログラム530によって再生される。別の例として、タイムラインスクラバー730は、コーチングシーンの表示を可能にするために、ゲームコントローラ1を介してユーザ1によって選択できるセグメントのセット738を含み、コーチングシーンには、メタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトが、仮想ユーザ102の死亡の仮想シーン202などの仮想シーンが記録された時点の前の所定の期間中に記録された仮想シーンの部分にオーバーレイされる。所定の期間は、-P時間単位から0時間単位にわたる。ここで、時間単位は、秒または分であってよい。さらに、タイムラインスクラバー730は、コーチングシーンを見るために、ゲームコントローラ1を介してユーザ1が選択できるセグメント736を含み、コーチングシーンには、メタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトが、仮想ユーザ102の死亡時に記録された仮想シーン202などの仮想シーンの一部にオーバーレイされる。タイムラインスクラバー730のセグメント736が、ゲームコントローラ1を介してユーザ1によって選択されるとき、仮想ユーザ102が死亡した仮想シーン202内の仮想オブジェクトの1つまたは複数にオーバーレイされたメタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトを含むコーチングシーンが、コーチングプログラム530によってレンダリングされ、ディスプレイデバイス1に表示される。仮想ユーザ102の死亡は、0単位で記録される。タイムラインスクラバー730は、コーチングシーンの表示を可能にするために、ゲームコントローラ1を介してユーザ1によって選択できるセグメントのセット740を含み、コーチングシーンには、メタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトが、仮想ユーザ102の死亡の仮想シーン202などの仮想シーンが記録された時点の後の予め設定された期間中に記録される仮想シーンの部分にオーバーレイされる。所定の期間は、0時間単位からM時間単位にわたる。ここで、時間単位は、秒または分であってよい。時間単位-PとMの間に時間窓がある。
一実施形態では、コーチングシーン700は、仮想フレーム704、仮想フレーム706、及び銃ID708のうちの1つまたは複数を除外する。例えば、コーチングプログラム530は、仮想フレーム704、仮想フレーム706、及び銃ID708のうちの1つまたは複数が、ユーザ1のスキルレベルを上げるために必要ではないと判断し、したがって、仮想フレーム704、仮想フレーム706、及び銃ID708のうちの1つまたは複数を生成しない。
ある実施形態では、コーチングシーンにおいて仮想オブジェクトの周囲にフレームが延びる代わりに、コーチングプログラム530は、仮想オブジェクトを、コーチングシーンの他の仮想オブジェクトの色または強度または陰影と比較して実質的に異なる色または強度または陰影でレンダリングすることによって仮想オブジェクトを強調表示する。例えば、仮想弾丸106の周囲にフレーム710と、仮想ユーザ720の周囲にフレーム722とが延びる代わりに、コーチングプログラム530は、仮想弾丸106及び仮想ユーザ720を、仮想ユーザ102及び仮想銃108の強度よりも実質的に大きい強度を有するようにレンダリングする。この場合も、仮想ユーザ102及び仮想銃108と比較して仮想弾丸106及び仮想ユーザ720を強調表示することは、ユーザ1のセルフコーチングを容易にする。
ある実施形態では、コーチングシーン700は、仮想木105及び仮想壁107を含む。
一実施形態では、コーチングプログラム530は、死亡または健康レベルの低下などのエンドゲームイベントに至るゲームイベントの数に基づいて、時間単位-PとMの間の期間を変更する。例えば、コーチングプログラム520は、仮想ユーザ102の第1の死に至る戦闘シーケンスに仮想ユーザ102が関与する第1の時間の長さは、仮想ユーザ102の第2の死に至る第2の戦闘シーケンスに仮想ユーザ102が関与する第2の時間の長さより長いと判断する。第1の戦闘シーケンスは1人または複数の仮想ユーザと対戦し、第2の戦闘シーケンスは1人または複数の仮想ユーザと対戦する。コーチングプログラム520は、第1の死に至る選択されたゲームイベントデータ604を第1の時間の長さにわたって記憶し、第2の死に至る選択されたゲームイベントデータ604を第2の時間の長さにわたって記憶する。このようにして、第1及び第2の戦闘シーケンス全体が、コーチングプログラム520によってキャプチャされ、記憶される。
図7Bは、ディスプレイデバイス1にレンダリングされて表示されるコーチングシーン750の実施形態の図である。コーチングシーン750は、タイムラインスクラバー730のセグメント752の選択を示す入力信号に応答して、コーチングシーン750によってレンダリングされる。セグメント752は、ゲームコントローラ1の1つまたは複数のボタンを使用して、ユーザ1によって選択される。
セグメント752はセグメント734から連続しており、セグメント734はセグメント732から連続している。例えば、セグメント752は、仮想シーン110(図1)が記録される時点と仮想シーン202(図2)が記録される時点との間に記録される仮想シーンからの1つまたは複数の仮想オブジェクトを含む。タイムラインスクラバー730のセグメントに対応する各仮想シーンは、ディスプレイ画面1に表示された後に記録される。
コーチングシーン750は、仮想コメント754、仮想フレーム756、仮想弾丸758、及び弾丸ID760を含む。仮想コメント754は、コーチングプログラム530(図6)によって生成され、仮想ユーザ102が仮想弾丸758によって撃たれるのを防ぐようにユーザ1を指導する。例えば、仮想コメント754は、「今すぐ、ジャンプ!」を含む。仮想フレーム756は、仮想弾丸106(図7A)が発射された後に仮想ユーザ720によって発射された仮想弾丸758の周囲に延びている、または取り囲んでいる。仮想フレーム756は、仮想弾丸758を強調表示する。弾丸ID760は、仮想弾丸758のタイプを識別する。コーチングシーン750は、ユーザ1を指導するために不要な仮想オブジェクトでコーチングシーン750を乱雑にしないように、仮想木105及び仮想壁107を除外する。
コーチングシーン750では、図7Aのコーチングシーン700における仮想オブジェクトと比較した仮想オブジェクトの進行が示されていることに留意されたい。例えば、コーチングシーン750では、仮想銃718から発射された仮想弾丸758を囲む仮想フレーム756が示されている。仮想フレーム756は、仮想弾丸106を囲む仮想フレーム710が生成された後に生成される。仮想弾丸758は、仮想弾丸106が発射された後に発射される。また、コーチングシーン750では、仮想コメント754は、仮想壁を構築するオプション無しで仮想ユーザ102がジャンプするように制御するようにユーザ1に指示する。コーチングプログラム530は、仮想弾丸758が発射された時点では、ユーザ1が仮想壁を構築するには遅すぎると判断する。
一実施形態では、セグメント752の隣のセグメント753がゲームコントローラ1を介してユーザ1によって選択されるとき、プロセッサシステム505はメタデータ606を処理して、コーチングシーン750に示される仮想弾丸758の位置と比較して、仮想ユーザ102により近い仮想弾丸758の位置を表示する。セグメント753は、第2の仮想シーンがゲームレコーダ502によって記録される時点から時間的に連続する第1の仮想シーンからの1つまたは複数の仮想オブジェクトを含むコーチングシーンに対応する。第1及び第2の仮想シーンにおける仮想弾丸758の位置は、仮想弾丸758の動きを規定する。コーチングシーン750は、第2の仮想シーンの再生からの仮想オブジェクトを含む。
ある実施形態では、コーチングシーン750は、仮想木105及び仮想壁107を含む。
一実施形態では、仮想コメント702及び754は、スキルレベルを予め設定された閾値よりも高くするためのユーザ1へのヒントの例である。例えば、次のゲームセッション中に、ユーザ1が仮想ユーザ102を制御するか、仮想ユーザ102の少なくとも一方の側に仮想壁を構築するとき、仮想ユーザ102が、仮想ユーザ102の側面または背後からの仮想弾丸に当たる可能性が低減される。仮想ユーザ102は、ゲームセッションの間、より長く生き続けることができ、ゲームプログラム528は、ユーザ1のスキルレベルを、予め設定された閾値より上に上げる。各ヒントは、仮想ユーザ102の死亡の理由を提供する。例えば、仮想ユーザ102は、前のゲームセッション中に仮想壁を構築せず、ジャンプもしなかったために、前のゲームセッション中に死亡した。
図8Aは、ディスプレイデバイス1でのコーチングシーン700と別のコーチングシーン800の同時表示を示す実施形態の図である。コーチングシーン700に加えて、コーチングシーン800が、コーチングプログラム530(図6)によってディスプレイデバイス1にレンダリングされる。例えば、コーチングセッション608(図6)は、コーチングシーン700及び800を含む。別の例として、入力信号は、クライアントデバイス602からコーチングプログラム530によって受信される。入力信号は、コーチングシーン700が生成される元になる仮想シーン110(図1)から記録されたゲームイベントデータのゲームイベント識別子636(図6)の選択と、コーチングシーン800が生成される元になる仮想シーン302(図3)から記録されたゲームイベントデータの別のゲームイベント識別子の選択とを示す。この例では、タイムラインスクラバー730のセグメント732の選択がクライアントデバイス602から受信されるとき、コーチングシーン700及び800の両方が、コーチングプログラム530によって生成され、レンダリングされる。また、この例では、タイムラインスクラバー730は、コーチングプログラム530によって生成され、コーチングシーン700及び800に沿ってレンダリングされる。
コーチングシーン800は、仮想シーン302(図3)に基づいて生成される。例えば、仮想シーン302が記録され、仮想シーン302からの1つまたは複数の仮想オブジェクトがコーチングシーン800に含まれる。例示すると、仮想ユーザ102、仮想弾丸306、及び仮想銃108がコーチングシーン800に含まれる。別の例として、コーチングシーン800は、セグメント732に対応する時点に表示及び記録された仮想シーン302に基づいて生成される。例示すると、仮想シーン302は、仮想ユーザ102のゲームイベントqの時点より前のいくつかの時間セグメントで記録される。仮想シーン302は、コーチングシーン700が生成される元になる仮想シーン110と同じ方法で記録される。
コーチングシーン800は、ユーザID802、仮想フレーム804、仮想ユーザ806、仮想銃808、仮想フレーム810、銃ID812、仮想弾丸306、弾丸ID816、及び仮想フレーム818を含む。ユーザID802、仮想フレーム804、仮想ユーザ806、仮想銃808、仮想フレーム810、銃ID812、弾丸ID816、及び仮想フレーム818は、メタデータ606(図6)に基づいて生成された仮想オブジェクトの1つまたは複数のオーバーレイの例である。
仮想フレーム804は、仮想ユーザ102の死亡xの理由である仮想ユーザ806を強調するために、仮想ユーザ806の周囲に延びている。仮想ユーザ806は、ゲームコントローラを介して別のユーザによって制御される。仮想フレーム810は、仮想ユーザ806が手に持った仮想銃808の周囲に延びて、仮想銃808を強調する。銃ID812は、仮想銃808のタイプを識別する。ユーザID802は、仮想ユーザ806を制御する他のユーザに割り当てられる。ユーザID802は、プロセッサシステム505(図5A)によって割り当てられる。
仮想フレーム818は、仮想ユーザ806によって仮想ユーザ102に向けられた仮想弾丸306を強調するために、仮想弾丸306の周囲に延びている。弾丸ID816は、仮想弾丸306を識別する。また、コーチングシーン800は、ユーザ1のコーチングを容易にするために仮想コメント702を含む。
一実施形態では、コーチングシーン800内に表示される仮想コメントは、仮想コメント702とは異なる。例えば、コーチングシーン800内に表示される仮想コメントは、「今すぐジャンプ!」または「今すぐ壁の構築を開始!」の代わりに、「ジャンプ!」または「壁を構築せよ」である。
ある実施形態では、コーチングシーン800内の1つまたは複数の仮想オブジェクトは、コーチングプログラム530によって強調表示されない。例えば、コーチングプログラム530は、ユーザ1のスキルレベルを高めるために仮想ユーザ102及び仮想銃108を強調する必要はないと判断し、仮想フレーム704及び仮想フレーム706を生成しないと判断する。
図8Bは、ユーザID1に関連付けられたコーチングシーン700と、ユーザID Nに関連付けられた別のコーチングシーン850との同時レンダリング及び表示を示す、ディスプレイデバイス1の実施形態の図である。コーチングシーン850は、コーチングプログラム530(図5A)によって生成される。コーチングシーン850は、ユーザID Nについて生成される。例えば、入力信号623(図6)が、ユーザ1を識別するユーザID1を含み、ユーザID Nが割り当てられた別のユーザを識別するユーザID Nを含むとき、コーチングプログラム530は、プロセッサシステム505の1つまたは複数のメモリデバイスから、ユーザID Nについて記録されたゲームイベントデータ504にアクセスし、ゲームイベントデータ504の一部を、選択されたゲームイベントデータ604の一部として、プロセッサシステム505の1つまたは複数のメモリデバイスに記憶する。例示すると、ゲームイベントデータ504が記録される1つまたは複数のメモリデバイスは、選択されたゲームイベントデータ604が記録される1つまたは複数のメモリデバイスとは異なる。ユーザID Nのメタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトは、ユーザID Nの選択されたゲームイベントデータ604の一部にコーチングプログラム530によってオーバーレイされて、ユーザID Nのコーチングシーン850が生成される。ゲームイベントデータ504は、ユーザID Nを有する他のユーザによるゲームのゲームプレイ中に生成される。
コーチングシーン850は、仮想木852、仮想ユーザ854、仮想銃856、銃ID858、ユーザID860、仮想フレーム862、別の仮想フレーム864、仮想ユーザ866、仮想銃868、仮想フレーム870、別の仮想フレーム872、銃ID874、仮想弾丸876、仮想フレーム878、銃ID880、仮想ユーザ882、仮想フレーム884、仮想銃886、仮想フレーム888、仮想壁890、別の仮想壁892、仮想健康状態894、ユーザID897、及び仮想傾斜路899を含む。コーチングシーン850は、仮想コントローラ896及び仮想ボタン898をさらに含む。ユーザID860、仮想フレーム862、仮想フレーム864、仮想ユーザ854、仮想銃856、銃ID858、仮想フレーム872、銃ID874、仮想フレーム888、仮想フレーム884、仮想フレーム870、仮想コントローラ896、及び仮想ボタン898は、オーバーレイのためにメタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトの例である。
コーチングシーン850は、ゲームプログラム528(図5A)の実行時に生成され、仮想ユーザ882の死に至る仮想シーンに基づいて、ユーザID Nに対して生成される。例えば、コーチングシーン850が生成される元になる仮想シーンは、コーチングシーン850に表示される仮想オブジェクトのうちの1つまたは複数を含む。コーチングシーン850が生成される元になる仮想シーンは、コーチングシーン850で表示するためにメタデータ606に基づいて生成された1つまたは複数の仮想オブジェクトを除外する。例示すると、コーチングシーン850が生成される元になる仮想シーンは、仮想弾丸876、仮想銃886、仮想ユーザ882、仮想傾斜路899、仮想壁890及び892、仮想木852、ユーザID897、仮想ユーザ866、及び仮想銃868を含む。ユーザID Nの仮想シーンは、他のユーザがゲームプログラム528にアクセスした後に生成される。ゲームプログラム528は、ユーザID Nがプロセッサシステム505によって認証されたとき、他のユーザによってアクセスされる。
仮想フレーム862は仮想ユーザ854を囲み、仮想フレーム864は仮想銃856を囲む。銃ID858は、仮想銃856のタイプを識別する。ユーザID860は、ゲームコントローラまたは別のタイプのコントローラを介して仮想ユーザ854を制御するユーザに割り当てられる。仮想フレーム878は、仮想銃856から仮想ユーザ882に向かって発射される仮想弾丸876の周囲に延びている。
仮想健康状態894は、仮想ユーザ882の健康状態である。仮想フレーム884は仮想ユーザ882の周囲に延びており、仮想フレーム888は仮想銃886の周囲に延びている。仮想ユーザ882は、仮想傾斜路899に立っており、仮想壁890及び892によって2つの側面が囲まれている。銃ID880は、仮想銃886のタイプを識別する。また、銃ID874は、仮想銃868のタイプを識別する。仮想フレーム872は仮想銃868を囲み、仮想フレーム870は仮想銃866を囲む。ユーザID897は、ゲームコントローラまたは別のタイプのコントローラを介して仮想ユーザ866を制御しているユーザを識別する。
仮想コントローラ896は、仮想ユーザ882を制御するために他のユーザによって使用されるキーボードなどのコントローラの画像である。仮想ボタン898は、仮想コントローラ896によって表されるコントローラ上のボタンを識別する。ボタンは、ゲームのプレイ中のセグメント732に対応する時点で、他のユーザによって選択される。
タイムラインスクラバー730は、コーチングシーン700及び850の表示に沿って、または表示と同時に表示される。例えば、コーチングプログラム530(図6)は、コーチングシーン700及び850と共にタイムラインスクラバー730を表示するために、コーチングシーン700及び850の同時表示と共にタイムラインスクラバー730をレンダリングする。セグメント732の選択がクライアントデバイス602(図6)のゲームコントローラ1(図1)から受信されたとき、コーチングプログラム530はコーチングシーン850をレンダリングする。コーチングシーン850は、セグメント732に対応する時点に記録された仮想シーンに基づいて生成される。セグメント736は、仮想ユーザ882を制御する他のユーザによるゲームのプレイ中に、仮想ユーザ882の死亡が発生した時点0を示す。
仮想ユーザ882は、仮想ユーザ866を撃っている。銃撃戦の間、仮想ユーザ854は仮想ユーザ882を撃っている。仮想壁892は、仮想ユーザ882が仮想弾丸876によって負傷するのを防ぐ。ユーザ1は、コーチングシーン850から、仮想ユーザ102の側面に仮想壁890などの仮想壁を構築して、仮想ユーザ720が発射した仮想弾丸106から仮想ユーザ102を保護することを学ぶことができる。
一実施形態では、コーチングプログラム530の代わりに、コーチングエンジンが使用される。一例として、エンジンは、エンジンによって実行されるものとして本明細書に記載される機能を実行するためのソフトウェアとハードウェアの組み合わせである。例示すると、エンジンは、エンジンによって実行されるものとして本明細書に記載される機能を実行するようにプログラムされたPLDまたはASICである。
一実施形態では、本明細書に記載するように、任意の仮想フレームが仮想オブジェクトを取り囲んで、仮想オブジェクトを強調する。
図8Cは、ディスプレイ画面1にコーチングシーンをレンダリングする代わりに、またはレンダリングすることに加えて、プロセッサシステム505が、ヘッドフォンを803を介して音声としてユーザ1に出力されるオーディオデータ805を生成することを示すシステム801の実施形態の図である。ヘッドフォン803は、ユーザ1の耳に近接するようにユーザ1によって装着される。コーチングセッション608の間、コーチングプログラム530は、音声としてユーザ1に出力されるオーディオデータ805を生成する。例えば、コーチングセッション608中、仮想コメント702を表示する代わりに、または表示することに加えて、コーチングプログラム530はオーディオデータ805をヘッドフォン803に送信する。オーディオデータ805は、ディスプレイ画面1に表示される仮想コメント702と同時に、またはその代わりに音声として出力される「射撃中にジャンプ」などのメッセージを含む。ヘッドフォン803は、ユーザ1へのメッセージとしてオーディオデータ805を出力する。
ある実施形態では、仮想オブジェクト702、704、706、708、710、712、714、716、718、720、722、724、726、728(図7A)、756、758(図7B)、802、804、806、808、810、812、816、818(図8A)、854、856、858、860、864、878、880、884、888、870、872、874、及び897は、メタデータ606に基づいてコーチングプログラム530によって生成されたオーバーレイコンテンツの例である。
図9は、コーチングセッション608(図6)を生成するための推論トレーニングエンジン902の使用を示すシステム900の実施形態の図である。システム900は、人工知能(AI)プロセッサ904、ユーザID1のゲームイベントデータ510、及びユーザID2~Nのゲームイベントデータ504を含む。AIプロセッサ904は、プロセッサシステム505(図5A)のプロセッサである。
推論トレーニングエンジン902は、特徴抽出器906、特徴分類器908、及びトレーニング対象のモデル910を含む。特徴抽出器906、特徴分類器908、及びモデル910のそれぞれの例は、ASICである。特徴抽出器906、特徴分類器908、及びモデル910のそれぞれの例は、PLDである。モデル910の例は、回路要素のネットワークである。各回路要素は、1つまたは複数の入力と1つまたは複数の出力を有する。回路要素の入力は、1つまたは複数の回路要素の1つまたは複数の出力に結合される。例示すると、モデル910はニューラルネットワークまたは人工知能モデルである。特徴分類器908は、特徴抽出器906及びモデル910に結合される。
推論トレーニングエンジン902は、ゲームレコーダ502の1つまたは複数のメモリデバイスから、ゲームイベントデータ510及びゲームイベントデータ504に、読み取りなどでアクセスする。特徴抽出器906は、ゲームイベントデータ510及び504から特徴を抽出する。特徴が抽出されると、特徴分類器908は、抽出された特徴を分類する。コーチングセッション608を開始する死亡または健康レベルの低下などのゲームイベントを決定し、メタデータ606に基づいて生成された仮想オブジェクトの1つまたは複数のオーバーレイに関連付ける仮想シーンの1つまたは複数の仮想オブジェクトを識別するように、分類された特徴を使用してモデル910をトレーニングする。
図10は、モデル910をトレーニングする方法1000の実施形態を示すフローチャートである。方法1000の動作1002において、特徴抽出器906は、ゲームイベントデータ510及びゲームイベントデータ504(図9)から特徴を識別する。例えば、特徴抽出器906は、仮想シーン202(図2)の仮想ユーザ102の骨格が垂直面ではなく水平面に横たわっていると判断する、または仮想シーン202が、仮想ユーザ102にビームを当てるために仮想ユーザ102の骨格の上に仮想ドローン204を含むと判断する、または「私は死にそうだ」または「私は死んでいる」などの言葉が仮想シーン202で仮想ユーザ102によって発声されたと判断する、またはそれらの組み合わせで仮想シーン202における仮想ユーザ102の死亡を判断する。別の例として、特徴抽出器906は、仮想シーン202内の仮想ユーザ102の仮想健康状態の健康レベルがゼロに低下したと判断して、健康レベルが所定の閾値未満に低下したと判断する。
方法1000の動作1004は、動作1002の後に発生する。動作1004において、特徴分類器908は、ゲームイベントデータ510及び504から抽出された特徴を分類する。例えば、特徴分類器908は、仮想ユーザ102の骨格が水平面に横たわっているので、仮想ユーザ102が死亡したと判断する。別の例として、特徴分類器908は、仮想シーン202が仮想ユーザ102の骨格の上に仮想ドローン204を含むので、仮想ユーザ102が死亡したと判断する。さらに別の例として、特徴分類器908は、仮想シーン202が、仮想シーン202で仮想ユーザ102によって発声された同じ文に単語「I(私)」及び「dead(死んでいる)」、または「I(私)」及び「die(死ぬ)」を含むため、仮想ユーザ102が死亡したと判断する。別の例として、特徴分類器908は、仮想シーン202の仮想ユーザ102の健康レベルが所定の閾値未満に低下したため、仮想ユーザ102の健康状態が低いと判断する。
方法1000の動作1006は、動作1004の後に発生する。動作1006において、モデル910は、シーケンスタイプのゲームイベントの数に基づいてトレーニングされて、次のゲームセッション中のシーケンスタイプのゲームイベントの発生確率を判断する。例えば、モデル910は、仮想ユーザ102が次のゲームセッション中に死亡する確率、または仮想ユーザ102の健康レベルが次のゲームセッション中に閾値未満に低下する確率を判断する。例示すると、仮想ユーザ102が過去10回のゲームセッションのうち少なくとも6回で死亡したと判断すると、モデル910は、仮想ユーザ102が次のゲームセッション中に死亡する確率が高い、例えば、予め設定された閾値を超えると判断する。その一方で、仮想ユーザ102が過去10回のゲームセッションのうち少なくとも6回、生き延びたと判断すると、モデル910は、仮想ユーザ102が次のゲームセッション中に死亡する確率が低い、例えば、予め設定された閾値未満であると判断する。
方法1000の動作1008が、動作1006に続く。動作1008は、プロセッサシステム505によって実行される。次のゲームセッション中にシーケンスタイプのゲームイベントが発生する確率が低いと判断すると、プロセッサシステム505は、動作1008で、次のゲームセッションのためにコーチングセッション608を開始することを推奨しない。その一方で、次のゲームセッション中にシーケンスタイプのゲームイベントが発生する確率が高いと判断すると、プロセッサシステム505は、動作1008で、次のゲームセッションのためにコーチングセッション608を開始することを推奨する。例えば、プロセッサシステム505は、メッセージを生成し、ディスプレイデバイス1に表示するためにメッセージをレンダリングする。メッセージは、ユーザ1がコーチングセッション608を開始したいかどうかをユーザ1にクエリする。別の例として、プロセッサシステム505は、ユーザ1がコーチングセッション608を開始したいかどうかをユーザ1に示すメッセージを含むオーディオデータを生成し、オーディオデータをヘッドフォン910(図9)に送信する。オーディオデータは、ヘッドフォン910によって音声としてユーザ1に出力される。
ディスプレイ画面1に表示されたメッセージを見る、またはヘッドフォン910によって音声として出力されるメッセージを聞くと、ユーザ1は、コーチングセッション608を開始することを示すために、ゲームコントローラ1の1つまたは複数のボタンを選択して入力信号を生成する。コーチングセッション608を開始することを示す入力信号を受信すると、プロセッサシステム505は、コーチングセッション608を開始する。例えば、プロセッサシステム505は、コーチングシーン700(図7A)またはコーチングシーン750(図7B)またはコーチングシーン700及び800の両方(図8A)またはコーチングシーン700及び850の両方(図8B)をディスプレイ画面1に表示するためにレンダリングする。その一方で、コーチングセッション608を開始しないことを示す入力信号を受信すると、プロセッサシステム505は、コーチングセッション608を開始しない。
図11Aは、プロセッサシステム505と、ディスプレイデバイス1106及びハンドヘルドコントローラ1108を含む複数のデバイスとの間の、ルータ及びモデム1104ならびにコンピュータネットワーク1102を介した通信を示すシステム1100の実施形態の図である。ディスプレイデバイス1106の例には、ディスプレイデバイス1(図1)、LCDディスプレイデバイス、LEDディスプレイデバイス、プラズマディスプレイデバイス、HMDが含まれる。ハンドヘルドコントローラ1108の例には、タッチスクリーン、キーパッド、マウス、ゲームコントローラ1、及びキーボードが含まれる。ディスプレイデバイス1106及びハンドヘルドコントローラ1108のそれぞれは、ユーザ1によって使用される。また、ユーザ2~Nのそれぞれは、ハンドヘルドコントローラ1108と同じ構造及び機能を有するハンドヘルドコントローラと、ディスプレイデバイス1106と同じ構造及び機能を有するディスプレイデバイスとを使用する。ディスプレイデバイス1106及びハンドヘルドコントローラ1108は、クライアントデバイス602(図6)の例である。
システム1100は、ルータ及びモデム1104、コンピュータネットワーク1102、及びプロセッサシステム505をさらに含む。システム1100は、ヘッドフォン1110及びディスプレイデバイス1106も含む。ディスプレイデバイス1106は、LCDディスプレイ画面、LEDディスプレイ画面、またはプラズマディスプレイ画面などのディスプレイ画面1112を含む。ディスプレイデバイス1(図1)は、ディスプレイデバイス1106の一例である。コンピュータネットワーク1102の例には、インターネットまたはイントラネットまたはそれらの組み合わせが含まれる。ルータ及びモデム1104の例には、ゲートウェイ装置が含まれる。ルータ及びモデム1104の別の例には、ルータ装置及びモデム装置が含まれる。
ディスプレイ画面1112は、有線接続を介してルータ及びモデム1104に結合される。本明細書で使用される有線接続の例には、データをシリアル方式またはパラレル方式で、またはユニバーサルシリアルバス(USB)プロトコルを適用することによって転送する転送ケーブルが含まれる。
ハンドヘルドコントローラ1108は、コントロール1118、デジタル信号プロセッサシステム(DSPS)1120、及び通信デバイス1122を含む。コントロール1118は、通信デバイス1122に結合されたDSPS1120に結合される。コントロール1118の例には、ボタン及びジョイスティックが含まれる。通信デバイス1122の例には、通信デバイス1122とルータ及びモデム1104との間で、Wi-Fi(商標)またはBluetooth(商標)などの無線プロトコルを使用した通信を可能にする通信回路が含まれる。
通信デバイス1122は、有線接続または無線接続を介してヘッドフォン1110に結合される。本明細書で使用される無線接続の例には、Wi-Fi(商標)またはBluetooth(商標)プロトコルなどの無線プロトコルを適用する接続が含まれる。また、通信デバイス1122は、無線接続を介してルータ及びモデム1104に結合される。無線接続の例には、Wi-Fi(商標)接続及びBluetooth(商標)接続が含まれる。ルータ及びモデム1104は、プロセッサシステム505に結合されたコンピュータネットワーク1102に結合される。
ゲームのプレイ中、プロセッサシステム505は、ゲームプログラム528を実行して、ゲームの1つまたは複数のゲーム状態から画像フレームデータを生成し、伝送制御プロトコル/インターネットプロトコル(TCP/IP)などのネットワーク通信プロトコルを画像フレームデータに適用して、1つまたは複数のパケットを生成し、そのパケットをコンピュータネットワーク1102を介してルータ及びモデム1104に送信する。ルータ及びモデム1104のモデムは、コンピュータネットワーク1102から受信した1つまたは複数のパケットにネットワーク通信プロトコルを適用して、画像フレームデータを取得または抽出し、ルータ及びモデム1104のルータに画像フレームデータを提供する。ルータは、1つまたは複数のパケット内で受信された画像フレームデータに基づいて、ゲームの1つまたは複数の画像を表示するために、ルータとディスプレイ画面1112との間の有線接続を介して画像フレームデータをディスプレイ画面1112にルーティングする。
ゲームの1つまたは複数の画像の表示中に、ゲームレコーダ502は、ゲームイベントデータ510及び504を記録し、これを使用して、コーチングセッション608を生成する、または、モデル910をトレーニングする、またはそれらの組み合わせを行う。また、ゲームプログラム528の実行中、ハンドヘルドコントローラ1108のコントロール1118は、入力信号616、623、630、638、もしくは642、またはタイムラインスクラバー730のセグメントの選択を示す入力信号、またはDSPS1120によって処理される、本明細書に記載される任意の他の入力信号などの入力信号を生成するために、ユーザ1によって選択または移動される。DSPS1120は、入力信号内の情報と同じ情報を有する処理された入力信号を出力するために、入力信号を測定、サンプリング、フィルタリング、もしくは増幅、またはそれらの組み合わせなどで処理する。例えば、DSPS1120は、ユーザ1によって選択されたゲームコントローラ1のボタンを識別する。別の例として、DSPS1120は、ゲームコントローラ1のジョイスティックが動かされたかどうか、またはゲームコントローラ1のボタンがユーザ1によって選択されたかどうかを識別する。処理された入力信号は、DSPS1120から通信デバイス1122に送信される。通信デバイス1122は、無線プロトコルを処理された入力信号に適用して、1つまたは複数の無線パケットを生成し、無線パケットをルータ及びモデム1104に送信する。無線パケットは、処理された入力信号に含まれる情報と同じ情報を含む。
ルータ及びモデム1104のルータは、通信デバイス1122から無線パケットを受信し、無線プロトコルを適用して、無線パケットから処理された入力信号を取得または抽出する。ルータ及びモデム604のルータは、処理された入力信号をルータ及びモデム604のモデムに提供する。モデムは、処理された入力信号にネットワーク通信プロトコルを適用し、1つまたは複数のネットワークパケットを生成する。例えば、モデムは、処理された入力信号が、ゲームプログラム506を実行しているプロセッサシステム502に送信されることを決定し、プロセッサシステム505のネットワークアドレスを1つまたは複数のネットワークパケット内に埋め込む。モデムは、コンピュータネットワーク1102を介してプロセッサシステム505に1つまたは複数のネットワークパケットを送信する。
プロセッサシステム505は、ルータ及びモデム1104から受信した1つまたは複数のネットワークパケットにネットワーク通信プロトコルを適用して、処理された入力信号内の情報を取得または抽出し、図6を参照して上記で説明した方法で情報を処理して、コーチングセッション608を開始する、またはコーチングセッション608の開始を推奨する(図6)。プロセッサシステム505は、出力信号618、624、もしくは634(図6)、または本明細書に記載される任意の他の出力信号、または本明細書に記載されるコーチングシーンの画像フレームデータを含む任意の他の出力信号、または本明細書に記載するオーディオデータを含む出力信号などの出力信号を生成し、ネットワーク通信プロトコルを出力信号に適用して、1つまたは複数のネットワークパケットを生成する。プロセッサシステム505は、コンピュータネットワーク1102を介して1つまたは複数のネットワークパケットをルータ及びモデム1104に送信する。
ルータ及びモデム1104のモデムは、コンピュータネットワーク1102を介して受信した1つまたは複数のネットワークパケットにネットワーク通信プロトコルを適用して、出力信号を取得または抽出する。ルータ及びモデム1104のルータは、無線プロトコルを出力信号に適用して、1つまたは複数の無線パケットを生成し、ハンドヘルドコントローラ1108の通信デバイス1122に無線パケットを送信する。ハンドヘルドコントローラ1108の通信デバイス1122は、ルータ及びモデム1104から受信した1つまたは複数の無線パケットに無線プロトコルを適用して、出力信号を取得または抽出し、ユーザ1に対して音声としてのオーディオデータの出力のために出力信号をヘッドフォン1110に送信する。例えば、通信デバイス1122は、ユニバーサルシリアルバス(USB)プロトコルなどの有線プロトコルを適用して、オーディオデータを有する1つまたは複数のパケットを生成し、1つまたは複数のパケットを有線接続を介してヘッドフォン1110に送信する。別の例として、通信デバイス1122は、無線プロトコルをオーディオデータに適用して、1つまたは複数の無線パケットを生成し、無線接続を介して1つまたは複数の無線パケットをヘッドフォン1110に送信する。
また、ルータ及びモデム1104のルータは、出力信号をディスプレイ画面1112に送信する。出力信号を受信すると、ディスプレイ画面1112は、出力信号の画像フレームデータに従って、1つまたは複数の画像フレームを表示する。
一実施形態では、通信デバイス1122は、ケーブルなどの有線接続を介してルータ及びモデム1104と通信する。
一実施形態では、ディスプレイ画面1112は、無線通信プロトコルを適用する通信デバイスなどの通信デバイスを介してルータ及びモデム1104に結合される。通信デバイスは、ディスプレイデバイス1106の一部である。例えば、ディスプレイ画面1112は通信デバイスに結合される。ルータ1104は、コンピュータネットワーク1102を介して受信した画像フレームデータに無線プロトコルを適用して、1つまたは複数の無線パケットを生成し、1つまたは複数の無線パケットをディスプレイデバイス1106の通信デバイスに送信する。通信デバイスは、無線プロトコルを1つまたは複数の無線パケットに適用して、画像フレームデータを抽出または取得し、本明細書に記載するコーチングシーンの1つまたは複数の画像を表示するために、画像フレームデータをディスプレイ画面1112に送信する。
一実施形態では、ディスプレイデバイス1106及びハンドヘルドコントローラ1108は、スマートフォンまたはタブレットまたはラップトップなどのモバイルデバイス内に統合される。
図11Bは、プロセッサシステム505がゲームコンソール1122内に実装できることを示すシステム1120の実施形態の図である。システム1120は、ディスプレイデバイス1106、ハンドヘルドコントローラ1108、ヘッドフォン1110、ゲームコンソール1122、ルータ及びモデム1104、コンピュータネットワーク1102、ならびにサーバシステム1124を含む。ゲームコンソール1124の例は、ビデオゲームコンソール、またはコンピュータ、または中央処理装置(CPU)とグラフィックス処理装置(GPU)の組み合わせである。例示すると、ゲームコンソール1124は、Sony PlayStation(商標)またはMicrosoft Xbox(商標)である。ゲームコンソール1124は、プロセッサシステム505と、Wi-Fi(商標)通信デバイスまたはBluetooth(商標)通信デバイスなどの通信デバイス1126とを含む。一例として、本明細書で使用されるプロセッサシステムは、1つまたは複数のCPU及び1つまたは複数のGPUを含み、1つまたは複数のCPUは1つまたは複数のGPUに結合される。
サーバシステム1124の例は、1つまたは複数のデータセンタ内に1つまたは複数のサーバを含む。例示すると、サーバはゲームコンソールまたはサーバブレードであってよい。別の例として、サーバシステム1124は、1つまたは複数の仮想マシンを含む。通信デバイス1126は、Wi-Fi(商標)接続またはBluetooth(商標)接続などの無線接続を介してディスプレイデバイス1106の通信デバイスに結合される。さらに、通信デバイス1126は、無線接続を介してハンドヘルドコントローラ1108の通信デバイス1122に結合される。通信デバイス1126は、プロセッサシステム505に結合される。プロセッサシステム505は、有線接続を介してルータ及びモデム1104に結合される。ルータ及びモデム1104は、コンピュータネットワーク1102を介してサーバシステム1124に結合される。
プロセッサシステム505は、サーバシステム1124の代わりに、またはサーバシステム1124と連携して、ディスプレイデバイス1106のディスプレイ画面1112に仮想シーンを表示するためにゲームを実行する。例えば、ゲームコントローラ1を介してユーザ1によって提供されるログイン情報の受信に応答して、プロセッサシステム505は、コンピュータネットワーク1102を介してサーバシステム1124に要求を送信し、ログイン情報が有効であるかどうかを判断する。ゲームコントローラ1から受信したログイン情報が有効であるというインジケーションを、コンピュータネットワーク1102を介してサーバシステム1124から受信すると、プロセッサシステム505は、ゲームコントローラ1及びゲームコンソール1122を介してユーザ1によるゲームのプレイのためにゲームプログラム528を実行する。その一方で、ゲームコントローラ1から受信したログイン情報が無効であるというインジケーションを、コンピュータネットワーク1102を介してサーバシステム1124から受信すると、プロセッサシステム505は、ゲームコントローラ1及びゲームコンソール1122を介したユーザ1によるプレイのためのゲームプログラム528を実行しない。
通信デバイス1126は、入力信号616、623、630、638、もしくは642(図6)、またはタイムラインスクラバー730のセグメントの選択を示す入力信号、または本明細書に記載の任意の他の入力信号などの入力信号を有する無線パケットをハンドヘルドコントローラ1108から受信し、無線プロトコルを無線パケットに適用して、無線パケットから入力信号を抽出し、入力信号をプロセッサシステム505に提供する。プロセッサシステム505は、出力信号618、624、もしくは634(図6)、または本明細書に記載の任意の他の出力信号、または本明細書に記載のコーチングシーンの画像フレームデータを含む任意の他の出力信号、または本明細書に記載のオーディオデータを含む出力信号など出力信号を、上記方法で入力信号に基づいて、生成する。例えば、プロセッサシステム505は、コーチングセッション608のためのデータを生成する。プロセッサシステム505は、出力信号を通信デバイス1126に提供する。通信デバイス1126は、無線プロトコルを出力信号に適用して1つまたは複数の無線パケットを生成し、ハンドヘルドコントローラ1108の通信デバイス1122、またはディスプレイデバイス1106、またはディスプレイデバイス1106及びハンドヘルドコントローラ1108の両方に無線パケットを送信する。
一実施形態では、プロセッサシステム505によって実行されるものとして本明細書に記載される機能の一部は、ゲームコンソール1122のプロセッサシステム505によって実行され、プロセッサシステム505によって実行されるものとして本明細書に記載される残りの機能は、代わりにサーバシステム1124によって実行される。
ある実施形態では、プロセッサシステム505は、有線接続を介してディスプレイデバイス1106に結合される。出力信号は、本明細書に記載されるコーチングシーン、または本明細書に記載される仮想シーンの1つまたは複数の画像をディスプレイデバイス1106に表示するために、有線接続を介してプロセッサシステムからディスプレイデバイス1106に送信される。
一実施形態では、ゲームはゲームコンソール1122に記憶され、ネットワーク化されていないゲームである。この実施形態では、ゲームはシングルプレイヤゲームまたはマルチプレイヤゲームであり、ゲームコンソール1122は、サーバシステム1124からゲームの任意の部分にアクセスするためにサーバシステム1124と通信することはない。
図11Cは、コンピュータネットワーク1102とスマートフォン1142との間にルータ及びモデム1104を使用せずに、コンピュータネットワーク1102を介したスマートフォン1142とプロセッサシステム505との間の通信を示すシステム1140の実施形態の図である。システム1140は、スマートフォン1142、ヘッドフォン1110、セルラーネットワーク1144、コンピュータネットワーク1102、及びプロセッサシステム505を含む。スマートフォン1142は、クライアントデバイス602(図6)の一例である。
スマートフォン1142は、第4世代セルラー無線(4G)接続または第5セルラー無線(5G)接続などのセルラー無線接続を介してセルラーネットワーク1144に結合される。セルラーネットワーク1144は、プロセッサシステム505に結合されたコンピュータネットワーク1102に結合される。
スマートフォン1142は、入力信号616、623、630、638、もしくは642、またはタイムラインスクラバー730のセグメントの選択を示す入力信号、または本明細書に記載の任意の他の入力信号などの入力信号に、4Gまたは5Gプロトコルなどのセルラー通信プロトコルを適用することによって、1つまたは複数のパケットを生成し、その1つまたは複数のパケットをセルラーネットワーク1144に送信する。セルラーネットワーク1144は、1つまたは複数のパケットを受信し、セルラー通信プロトコルを適用して入力信号を取得または抽出し、ネットワーク通信プロトコルを入力信号に適用して1つまたは複数のネットワークパケットを生成する。セルラーネットワーク1144によって生成された1つまたは複数のネットワークパケットは、コンピュータネットワーク1102を介してプロセッサシステム505に送信される。プロセッサシステム505は、セルラーネットワーク1102から受信した1つまたは複数のネットワークパケットを上述の方法で処理して、出力信号618、624、もしくは634、または本明細書に記載の任意の他の出力信号、または本明細書に記載のコーチングシーンの画像フレームデータを含む任意の他の出力信号、または本明細書に記載のオーディオデータを含む出力信号などの出力信号を生成し、出力信号を含む1つまたは複数のネットワークパケットを、コンピュータネットワーク1102を介してセルラーネットワーク1144に送信する。
セルラーネットワーク1144は、プロセッサシステム505から受信した1つまたは複数のネットワークパケットにネットワーク通信プロトコルを適用して、出力信号を取得または抽出し、その出力信号にセルラー通信プロトコルを適用して、1つまたは複数のパケットを生成する。セルラーネットワーク1102は、出力信号を含む1つまたは複数のパケットをスマートフォン1142に送信する。
図12Aは、ヘッドフォン1110の実施形態の図である。ヘッドフォン1110は、通信デバイス1202、デジタル‐アナログ(D/A)コンバータ1204、オーディオアンプ1206、及びスピーカ1208を含む。通信デバイス1202の一例は、有線プロトコルまたは無線プロトコルを適用する通信回路である。
通信デバイス1202は、ハンドヘルドコントローラ1108の通信デバイス1122(図11A)またはスマートフォン1142(図11C)に結合される。デジタル‐アナログコンバータ1204は、通信デバイス1202に結合され、オーディオアンプ1206は、デジタル‐アナログコンバータ1204に結合される。また、スピーカ1208は、オーディオアンプ1206に結合される。
通信デバイス1202は、通信デバイス1122(図11A)またはスマートフォン1142(図11C)からオーディオデータ805(図8C)を有する1つまたは複数のパケットを受信し、有線プロトコルまたは無線プロトコルなどのプロトコルを適用して、1つまたは複数のパケットからオーディオデータ805を抽出または取得する。通信デバイス1202は、オーディオデータ805をデジタル‐アナログコンバータ1204に送信する。デジタル‐アナログコンバータ1204は、オーディオデータ805をデジタル形式からアナログ形式に変換して、アナログオーディオ信号を出力する。デジタル‐アナログコンバータ1204は、オーディオデータ805に基づいて出力されたアナログオーディオ信号をオーディオアンプ1206に送信する。オーディオアンプ1206は、アナログオーディオ信号の振幅または大きさを増加させるなどの増幅を行って、電気信号である増幅されたオーディオ信号を出力する。スピーカ1208は、増幅されたオーディオ信号の電気エネルギーを音声エネルギーに変換して、ユーザ1(図1)が聞く音声を出力する。
一実施形態では、スピーカ1208の代わりに、複数のスピーカが使用される。
図12Bは、ディスプレイ画面1112に、本明細書に記載のコーチングシーンまたは仮想シーンの画像を表示するためのディスプレイデバイス1250の実施形態の図である。ディスプレイデバイス1250は、ディスプレイデバイス1(図1)の一例である。ディスプレイデバイス1250は、通信デバイス1252及びディスプレイ画面1112を含む。ディスプレイデバイス1250の例には、LCDディスプレイデバイス、LEDディスプレイデバイス、及びプラズマディスプレイデバイスが含まれる。ディスプレイ画面1112の例には、LCDディスプレイ画面、LEDディスプレイ画面、及びプラズマディスプレイ画面が含まれる。例示すると、ディスプレイデバイス1250は、スマートフォン1142またはゲームコントローラ1またはタブレットまたはコンピュータのディスプレイデバイスである。コンピュータの例には、デスクトップコンピュータ及びラップトップコンピュータが含まれる。通信デバイス1252の例には、データの通信に有線または無線のプロトコルを適用する通信回路が含まれる。通信デバイス1252は、ディスプレイ画面1112に結合される。
オーディオデータ805(図8C)などの他の形式のデータを生成する代わりに、またはそれに加えて、プロセッサシステム505は、本明細書に記載するコーチングシーンまたは仮想シーンの画像フレームデータを生成する。プロセッサシステム505がオーディオデータ505を有する1つまたは複数のパケットを生成するのと同じ方法で、プロセッサシステム505または通信デバイス1126(図11B)は、ネットワーク通信プロトコル、有線プロトコル、または無線プロトコルなどのプロトコルを画像フレームデータに適用することによって、1つまたは複数のパケットを生成し、その1つまたは複数のパケットをディスプレイデバイス1250に送信する。例えば、図11Aを参照すると、プロセッサシステム505は、ネットワーク通信プロトコルを画像フレームデータに適用して、1つまたは複数のネットワークパケットを生成し、コンピュータネットワーク1102を介して1つまたは複数のネットワークパケットをルータ及びモデム1104に送信する(図11A)。ルータ及びモデム1104は、ルータ及びモデム1104がオーディオデータ805を有する1つまたは複数のネットワークパケットを処理するのと同じ方法で、画像フレームデータを有する1つまたは複数のネットワークパケットを処理して、1つまたは複数のネットワークパケットから画像フレームデータを取得し、無線プロトコルを画像フレームデータに適用して、1つまたは複数の無線パケットを生成し、1つまたは複数の無線パケットを通信デバイス1252に送信する。別の例として、図11Bを参照すると、ゲームコンソール1122の通信デバイス1126は、無線プロトコルを画像フレームデータに適用して、1つまたは複数の無線パケットを生成し、無線パケットをディスプレイデバイス1250の通信デバイス1252に送信する。別の例として、図11Cを参照すると、セルラーネットワーク1144は、プロセッサシステム505からコンピュータネットワーク1102を介して画像フレームデータを有する1つまたは複数のネットワークパケットを受信し、ネットワーク通信プロトコルを適用して、1つまたは複数のネットワークパケットから画像フレームデータを抽出し、画像フレームデータにセルラー通信プロトコルを適用して、1つまたは複数のパケットを生成する。セルラーネットワーク1144は、画像フレームデータを有する1つまたは複数のパケットをスマートフォン1142に送信する。
図12Bを再び参照すると、通信デバイス1152は、画像フレームデータを有する1つまたは複数のパケットを受信し、セルラー通信プロトコル、有線プロトコル、または無線プロトコルなどのプロトコルを適用して、1つまたは複数のパケットから画像フレームデータを抽出または取得し、画像フレームデータをディスプレイ画面1112に送信する。画像フレームデータを受信すると、ディスプレイ画面1112は、本明細書に記載するコーチングシーンまたは仮想シーンを表示する。
図13は、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。クライアントデバイスの例には、ゲームコントローラ、スマートフォン、ゲームコンソール、及びコンピュータが含まれる。ゲームサーバ1302は、ビデオゲームを実行し、生の(圧縮されていない)ビデオ1304及びオーディオ1306を生成する。ゲームイベントデータ510またはゲームイベントデータ504またはそれらの組み合わせは、ビデオ1004及びオーディオ1306の組み合わせの記録の一例である。ゲームサーバ1302は、プロセッサシステム505の一例である。ビデオ1304及びオーディオ1306は、例示の図の参照番号1308に示されるように、ストリーミングのためにキャプチャされ、符号化される。符号化により、ビデオ及びオーディオのストリームが圧縮されて、帯域幅の使用量は低減され、ゲーム体験は最適化される。符号化形式の例には、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9、等が含まれる。
符号化されたオーディオ1310及び符号化されたビデオ1312は、コンピュータネットワーク1102(図11A)の一例であるコンピュータネットワーク1320を介して送信する目的で、参照番号1314に示されるように、ネットワークパケットにさらにパケット化される。一部の実施形態では、ネットワークパケット符号化プロセスは、データ暗号化プロセスも採用することによって、データセキュリティを強化する。例示の実施態様では、オーディオパケット1316及びビデオパケット1318は、コンピュータネットワーク1320を介してトランスポートするために生成される。
ゲームサーバ1302はさらに、触覚フィードバックデータ1322を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。例示の実施態様では、触覚フィードバックパケット1324が、コンピュータネットワーク1320を介したトランスポートのために生成される。
生のビデオ及びオーディオと触覚フィードバックデータとを生成する前述の動作が、データセンタのゲームサーバ1302で実行され、ビデオ及びオーディオを符号化する動作、ならびに符号化されたオーディオ/ビデオ及び触覚フィードバックデータをトランスポートするためのパケット化の動作は、データセンタのストリーミングエンジンによって行われる。参照番号1320に示されるように、オーディオパケット、ビデオパケット、及び触覚フィードバックパケットは、コンピュータネットワークを介してトランスポートされる。参照番号1326に示されるように、オーディオパケット1316、ビデオパケット1318、及び触覚フィードバックパケット1324は、クライアントデバイス602(図6)によって分解され、例えば、解析されて、符号化されたオーディオ1328、符号化されたビデオ1330、及び触覚フィードバックデータ1322をクライアントデバイス602でネットワークパケットから抽出する。データが暗号化されている場合、データの解読も行われる。次に、符号化されたオーディオ1328及び符号化されたビデオ1330は、参照番号1334に示されるように、クライアントデバイスにより復号されて、クライアントデバイス602のディスプレイデバイス1340にレンダリングするためのクライアント側の生のオーディオ及びビデオデータが生成される。触覚フィードバックデータ1322は、クライアントデバイス602のプロセッサによって処理されて、コントローラデバイス1342で、または、例えば、HMD等の、触覚効果をレンダリングすることができる他のインタフェースデバイスで、触覚フィードバック効果を生成する。コントローラデバイス1342は、ゲームコントローラ1の一例である。触覚効果の一例は、コントローラデバイス1342の振動またはランブルである。
当然ながら、ビデオゲームはユーザ入力に応答し、その結果、ユーザ入力の伝送及び処理について上述したのと同様の手順フローであるが、方向がクライアントデバイスからサーバへと逆である手順フローが実行される。図示のように、コントローラデバイス1342、または、例えば、ユーザ1の身体部分などの別の入力デバイス、またはそれらの組み合わせは、入力データ1348を生成する。制御入力信号616、623、630、638、及び642(図6)のいずれも、入力データ1348の一例である。この入力データ1348は、コンピュータネットワーク1320を介してデータセンタにトランスポートするために、クライアントデバイスでパケット化される。入力データパケット1346は、ゲームサーバ1302により解凍及び再構築されて、データセンタ側で入力データ1348を定義する。入力データ1348は、ゲームサーバ1302に供給され、ゲームサーバ1302は、入力データ1348を処理して、ゲームのゲーム状態を生成する。
オーディオパケット1316、ビデオパケット1318、及び触覚フィードバックパケット1324のコンピュータネットワーク1320を介したトランスポート中に、一部の実施形態では、コンピュータネットワーク1320を介したデータの伝送が監視されて、サービス品質が保証される。例えば、参照番号1350により示されるように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むコンピュータネットワーク1320のネットワーク条件が監視され、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整される。すなわち、参考番号1352により示されるように、ネットワークパケットの符号化及び復号は、現在のネットワーク条件に基づいて制御される。
図14は、クライアントデバイスのディスプレイデバイスとインタフェースするために互換性があり、かつ、プロセッサシステム505(図5)等のゲームホストシステムとコンピュータネットワーク1320を介して通信できるゲームコンソール1400の実施形態のブロック図である。ゲームコンソール1122(図11)は、ゲームコンソール1400の一例である。ゲームコンソール1400は、データセンタA内に位置するか、またはユーザ1が居る場所に位置する。一部の実施形態では、ゲームコンソール1400を使用して、HMD1405上に表示されるゲームを実行する。ゲームコンソール1400は、ゲームコンソール1400に接続可能な様々な周辺機器を備えている。ゲームコンソール1400は、セルプロセッサ1428、ダイナミックランダムアクセスメモリ(XDRAM)ユニット1426、専用ビデオランダムアクセスメモリ(VRAM)ユニット1432を備えるリアリティシンセサイザグラフィックスプロセッサユニット1430、及び入力/出力(I/O)ブリッジ1434を有する。ゲームコンソール1400はまた、I/Oブリッジ1434を通してアクセス可能な、ディスク1440aから読み出すためのBlu Ray(登録商標)ディスクリードオンリメモリ(BD-ROM)光ディスクリーダ1440と、取り外し可能スロットインハードディスクドライブ(HDD)1436とを有する。オプションで、ゲームコンソール1400はまた、コンパクトフラッシュ(登録商標)メモリカード、及びメモリスティック(登録商標)メモリカードなどを読み出すためのメモリカードリーダ1438を含み、メモリカードリーダ1438は、I/Oブリッジ1434を介して同様にアクセス可能である。I/Oブリッジ1434はまた、USB2.0ポート1424と、ギガビットイーサネット(登録商標)ポート1422と、IEEE802.11b/g無線ネットワーク(Wi-Fi(商標))ポート1420と、Bluetooth(登録商標)接続を支援することができるBluetooth無線リンクポート1418とに接続する。
動作中、I/Oブリッジ1434は、ゲームコントローラからの、及びHMD1405からのデータを含む、無線、USB、及びイーサネット(登録商標)のデータすべてを扱う。例えば、ユーザ1が、ゲームプログラム528(図11A)など、ゲームコードの一部の実行によって生成されたゲームをプレイしているとき、I/Oブリッジ1434は、ゲームコントローラ1342または1403から、及び/またはHMD1405から、Bluetoothリンクを介して、本明細書に記載の入力データまたは入力信号を受信し、入力データをセルプロセッサ1428に向け、セルプロセッサ1428は、それに応じて、ゲームの現在の状態を更新する。一例として、HMD1405内のカメラは、ユーザ1のジェスチャをキャプチャして、ジェスチャを表す画像を生成する。ゲームコントローラ1342は、HHCの一例であるゲームコントローラ1の一例である。
無線ポート、USBポート、及びイーサネット(登録商標)ポートは、ゲームコントローラ1342及び1403とHMD1405とに加えて、例えば、リモートコントロール1404、キーボード1406、マウス1408、例えば、Sony Playstation Portable(登録商標)エンターテインメントデバイスなどのポータブルエンターテインメントデバイス1410、例えば、EyeToy(登録商標)ビデオカメラ1412などのビデオカメラ、マイクロフォンヘッドセット1414,及びマイクロフォン1415などの他の周辺機器への接続性も提供する。ポータブルエンターテインメントデバイス1410は、ゲームコントローラの一例である。一部の実施形態では、このような周辺機器は、ゲームコンソール1400に無線で接続され、例えば、ポータブルエンターテイメントデバイス1410は、Wi-Fi(商標)アドホック接続を介して通信し、マイクロフォンヘッドセット1414は、Bluetoothリンクを介して通信する。マイクロフォンヘッドセット1414は、ヘッドフォン803(図8C)の一例である。
これらのインタフェースの提供は、ゲームコンソール1400がまた、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、ポータブルメディアプレイヤ、ボイスオーバインターネットプロトコル(IP)電話、携帯電話、プリンタ、及びスキャナなどの他の周辺機器に潜在的に対応可能であることを意味する。
さらに、レガシーメモリカードリーダ1416は、USBポート1424を介してゲームコンソール1400に接続され、ゲームコンソール1400によって使用される種類のメモリカード1448の読み取りを可能にする。ゲームコントローラ1342及び1403とHMD1405とは、Bluetoothリンク1418を介してゲームコンソール1400と無線で通信するように、またはUSBポート1424に接続され、それによってゲームコントローラ1342及び1403とHMD1405とのバッテリを充電するための電力も受け取るように動作可能である。一部の実施形態では、ゲームコントローラ1342及び1403とHMD1405とはそれぞれ、メモリ、プロセッサ、メモリカードリーダ、例えば、フラッシュメモリなどの永久メモリ、例えば、照らされた球形部分、発光ダイオード(LED)、もしくは赤外線ライトなどの発光体、超音波通信用のマイクロフォン及びスピーカ、音響チャンバ、デジタルカメラ、内部時計、例えば、ゲームコンソール1400に面する球形部分などの認識可能な形状、ならびに、例えば、Bluetooth、Wi-Fiなどのプロトコルを使用する無線デバイス等を含む。
ゲームコントローラ1342は、ユーザ1の両手で使用するように設計されたコントローラであり、ゲームコントローラ1403は、アタッチメントを備えた片手コントローラである。HMD1405は、ユーザ1の頭の上及び/または目の前に収まるように設計されている。1つまたは複数のアナログジョイスティックと従来のコントロールボタンとに加えて、各ゲームコントローラ1342及び1403は、三次元位置決定の影響を受ける。同様に、HMD1405は、3次元位置決定の影響を受ける。その結果、一部の実施形態では、ゲームコントローラ1342及び1403とHMD1405のユーザ1によるジェスチャ及び動きは、従来のボタンまたはジョイスティックのコマンドに加えて、またはそれらの代わりに、ゲームへの入力として変換される。オプションで、Playstation(商標)ポータブルデバイスなどの他の無線対応の周辺機器がコントローラとして使用される。Playstation(商標)ポータブルデバイスの場合、追加のゲームまたは制御情報(例えば、制御命令または命の数)は、デバイスのディスプレイ画面上に提供されてよい。一部の実施形態では、ダンスマット(図示せず)、ライトガン(図示せず)、ハンドル及びペダル(図示せず)、または特注コントローラなど、他の代替的または補助的な制御デバイスが使用される。特注コントローラの例には、即答クイズゲーム(同様に図示せず)用の1つまたはいくつかの大型ボタンが含まれる。
リモートコントロール1404も、Bluetoothリンク1418を介してゲームコンソール1400と無線で通信するように動作可能である。リモートコントロール1404は、Blu Ray(商標)ディスクBD-ROMリーダ1440の動作に適した制御、及びディスクコンテンツのナビゲーションに適した制御を含む。
Blu Ray(商標)ディスクBD-ROMリーダ1440は、従来の記録済みCD及び記録可能なCDと、いわゆるスーパーオーディオCDとに加えて、ゲームコンソール1400に対応するCD-ROMを読み出すように動作可能である。Blu Ray(商標)ディスクBD-ROMリーダ1440はまた、従来の記録済みのDVD及び記録可能なDVDに加えて、ゲームコンソール1100に対応するデジタルビデオディスクROM(DVD-ROM)を読み出すように動作可能である。Blu Ray(商標)ディスクBD-ROMリーダ1440は、ゲームコンソール1400に対応するBD-ROMと、従来の記録済みのBlu-Rayディスク及び記録可能なBlu-Rayディスクとを読み出すようにさらに動作可能である。
ゲームコンソール1400は、リアリティシンセサイザグラフィックスユニット1430を介して生成または復号されたオーディオ及びビデオを、ディスプレイ画面1444及び1つまたは複数のラウドスピーカ1446を有する、例えば、モニタまたはテレビセット等のディスプレイ及び音声出力デバイス1442にオーディオコネクタ1450及びビデオコネクタ1452を通して供給するように動作可能であり、または、Bluetooth(登録商標)無線リンクポート1118を介してHMD1405のディスプレイデバイスにオーディオ及びビデオを供給するように動作可能である。オーディオコネクタ1450は、様々な実施形態において、従来のアナログ及びデジタル出力を含み、他方、ビデオコネクタ1452は、コンポーネントビデオ、Sビデオ、コンポジットビデオ、及び1つまたは複数の高解像度マルチメディアインタフェース(HDMI(登録商標))出力を様々に含む。結果として、ビデオ出力は、位相反転線(PAL)または全国テレビジョン方式委員会(NTSC)などの形式、または、2220p、1080i、もしくは1080pの高解像度であってよい。オーディオ処理、例えば、生成、復号などは、セルプロセッサ1408によって行われる。ゲームコンソール1400のオペレーティングシステムは、Dolby(登録商標)5.1サラウンドサウンド、Dolby(登録商標)シアターサラウンド(DTS)、及びBlu-Ray(登録商標)ディスクの7.1サラウンドサウンドの復号を支援する。ディスプレイ及び音声出力デバイス1442は、ディスプレイデバイス1(図1)の一例である。
一部の実施形態では、ビデオカメラ、例えば、ビデオカメラ1412等は、単一の電荷結合素子(CCD)、LEDインジケータ、及びハードウェアベースのリアルタイムデータ圧縮及び符号化装置を備え、これにより、圧縮されたビデオデータは、ゲームコンソール1400により復号されるために、画像内ベースのMPEG(motion picture expert group)規格などの適切な形式で送信される。ビデオカメラ1412のLEDインジケータは、例えば、不利な照明条件などを知らせるために、ゲームコンソール1400からの適切な制御データに応答して点灯するように配置される。ビデオカメラ1112の一部の実施形態は、USB、BluetoothまたはWi-Fi通信ポートを介してゲームコンソール1400に様々に接続する。ビデオカメラの様々な実施形態は、1つまたは複数の関連付けられたマイクロフォンを含み、オーディオデータも送信できる。ビデオカメラのいくつかの実施形態では、CCDは、高解像度ビデオキャプチャに適した解像度を有する。使用時、ビデオカメラによってキャプチャされた画像は、ゲーム内に組み込まれる、またはゲーム制御入力として解釈される。別の実施形態では、ビデオカメラは、赤外光を検出するのに適した赤外線カメラである。
様々な実施形態では、ゲームコンソール1400の通信ポートのうちの1つを介して、例えば、ビデオカメラまたはリモートコントロールなどの周辺機器とのデータ通信が正常に行われるように、デバイスドライバなどの適切なソフトウェアが備えられる。
一部の実施形態では、ゲームコンソール1400、HHC、及びHMD1405を含む前述のシステムデバイスは、HMD1405がゲームのインタラクティブセッションのビデオを表示及びキャプチャすることを可能にする。システムデバイスは、ゲームのインタラクティブセッションを開始し、インタラクティブセッションは、ユーザ1及び他のユーザとゲームとの間の双方向性を定義する。システムデバイスは、さらに、ユーザ1によって操作されるHHC及び/またはHMD1405の初期位置及び向きを決定する。ゲームコンソール1400は、ユーザ1とゲームとの双方向性に基づいて、ゲームの現在の状態を決定する。システムデバイスは、ゲームとのユーザ1のインタラクティブセッション中、HHC及び/またはHMD1405の位置及び向きを追跡する。システムデバイスは、ゲームの現在の状態と、HHC及び/またはHMD1405の追跡された位置及び向きとに基づいて、インタラクティブセッションの観客ビデオストリームを生成する。一部の実施形態において、HHCは、HHCのディスプレイ画面上に観客ビデオストリームをレンダリングする。様々な実施形態において、HMD1405は、HMD1405のディスプレイ画面上に観客ビデオストリームをレンダリングする。
図15を参照すると、HMD1502のコンポーネントを示す図が示されている。HMD1502は、HMD1405(図14)の一例である。HMD1502は、プログラム命令を実行するためのプロセッサ1500を含む。メモリデバイス1502は、記憶目的のために備えられる。メモリデバイス1502の例には、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせが含まれる。任意のユーザ1(図1)が見る視覚的インタフェース、例えば、保存データから生成された画像フレームの表示などを提供するディスプレイデバイス1504が含まれる。HMD1502の電源として、バッテリ1506が備えられる。動作検出モジュール1508は、磁力計1510、加速度計1512、及びジャイロスコープ1514などの様々な種類の動作感知ハードウェアのうちのいずれかを含む。
加速度計は、加速度及び重力誘起反力を測定するデバイスである。単軸及び多軸モデルは、異なる方向における加速度の大きさ及び方向を検出するために利用可能である。加速度計は、傾き、振動、及び衝撃を感知するために使用される。一実施形態では、3つの加速度計1512は、重力の方向を提供するために使用され、重力の方向は、2つの角度、例えば、世界空間ピッチ及び世界空間ロールなどについての絶対基準を与える。
磁力計は、HMD1502付近の磁場の強度及び方向を測定する。一部の実施形態では、3つの磁力計1510は、HMD1502内で使用され、世界空間ヨー角度についての絶対基準を保証する。様々な実施形態では、磁力計は、±80マイクロステラの地球の磁場にわたるように設計される。磁力計は金属の影響を受け、実際のヨーに対して単調なヨー測定を提供する。一部の実施形態において、磁場は実世界環境内の金属により歪み、これによりヨー測定に歪みが生じる。様々な実施形態において、この歪みは、他のセンサ、例えば、ジャイロスコープ1514、カメラ1516等からの情報を使用して較正される。一実施形態では、加速度計1512は、HMD1502の傾き及びアジマスを取得するために磁力計1510と共に使用される。
ジャイロスコープは、角運動量の原理に基づいて、向きを測定または維持するデバイスである。一実施形態では、ジャイロスコープ1514に代わって、3つのジャイロスコープが、慣性感知に基づいて、各軸(x、y、及びz)に対する動きに関する情報を提供する。ジャイロスコープは、高速回転の検出を助ける。しかしながら、ジャイロスコープは、一部の実施形態では、絶対基準が存在しないと、時間の経過と共にドリフトする。これは、定期的なジャイロスコープのリセットをトリガし、リセットは、物体の視覚追跡、加速度計、磁力計などに基づく位置/向きの決定など、他の入手可能な情報を使用して行うことができる。
カメラ1516は、ユーザ1~3のいずれかを取り囲む実世界環境、例えば、部屋、小屋、自然環境などの画像及び画像ストリームをキャプチャするために備えられる。様々な実施形態では、例えば、ユーザ1がHMD1502のディスプレイ等を見ているとき、ユーザ1から離れる方に向いた、背面を向いたカメラ、及び、例えば、ユーザ1がHMD1502のディスプレイ等を見ているとき、ユーザ1の方を向いた、前面を向いたカメラを含む、複数のカメラが、HMD1502に含まれる。さらに、いくつかの実施形態では、実世界環境内の物体の深度情報を感知するために、深度カメラ1518がHMD1502に含まれる。
HMD1502は、オーディオ出力を提供するためのスピーカ1520を含む。また、一部の実施形態では、周囲環境からの音声、ユーザ1が行った発話などを含む、実世界環境からのオーディオをキャプチャするために、マイクロフォン1522が含まれる。HMD1502は、ユーザ1に触覚フィードバックを提供するための触覚フィードバックモジュール1524、例えば、振動デバイスなどを含む。一実施形態では、触覚フィードバックモジュール1524は、ユーザ1に触覚フィードバックを提供するためのHMD1502の動き及び/または振動を発生させることができる。
LED1526は、HMD1502のステータスの視覚インジケータとして備えられる。例えば、LEDは、バッテリレベル、電源オンなどを示してよい。HMD1502がメモリカードからの情報を読み出し、メモリカードに情報を書き込むことを可能にするために、カードリーダ1528が備えられる。周辺機器の接続、または他のデバイス、例えば、他のポータブルデバイス、コンピュータなどへの接続を可能にするためのインタフェースの一例としてUSBインタフェース1530が備えられる。HMD1502の様々な実施形態では、様々な種類のインタフェースのいずれかが、HMD1502のより高い接続性を可能にするために含まれてよい。
無線ネットワーク技術を介してインターネットへの接続を可能にするために、Wi-Fi(商標)モジュール1532が含まれる。また、HMD1502は、他のデバイスへの無線接続を可能にするために、Bluetooth(商標)モジュール1534を含む。一部の実施形態では、他のデバイスへの接続のために通信リンク1536も含まれる。一実施形態では、通信リンク1536は、無線通信に赤外線伝送を利用する。他の実施形態では、通信リンク1536は、他のデバイスとの通信のために、様々な無線または有線の伝送プロトコルのいずれかを利用する。
入力ボタン/センサ1538は、ユーザ1(図1)に入力インタフェースを提供するために含まれる。ボタン、タッチパッド、ジョイスティック、トラックボールなど、様々な種類の入力インタフェースのいずれかが含まれる。様々な実施形態では、超音波技術を介して他のデバイスとの通信を容易にするために、超音波通信モジュール1540がHMD1502に含まれる。
ユーザ1から生理学的データを検出できるようにバイオセンサ1542が含まれる。一実施形態では、バイオセンサ1542は、ユーザ1の皮膚を通してユーザ1の生体電気信号を検出するために、1つまたは複数の乾電極を含む。
HMD1502の前述のコンポーネントは、HMD1502内に含まれ得る単なる例示的なコンポーネントとして記載した。様々な実施形態では、HMD1502は、上記の様々なコンポーネントの一部を含んでもよく、含まなくてもよい。
図16は、情報サービスプロバイダ(INSP)アーキテクチャの実施形態を示す。INSP1302は、地理的に分散し、コンピュータネットワーク1606、例えばLAN、WAN、またはそれらの組み合わせなどを介して接続されたユーザ1に多数の情報サービスを配信する。コンピュータネットワーク1102(図11A)は、コンピュータネットワーク1606の一例である。WANの例にはインターネットが含まれ、LANの例にはイントラネットが含まれる。ユーザ1はクライアントデバイス1620-1を操作し、別のユーザ2は別のクライアントデバイス1620-2を操作し、さらに別のユーザ3はさらに別のクライアントデバイス1620-3を操作する。クライアントデバイス1620-1は、クライアントデバイス602(図6)の一例である。
一部の実施形態では、各クライアントデバイス1620-1、1620-2、及び1620-3は、中央処理装置(CPU)、ディスプレイ、及び入力/出力(I/O)インタフェースを含む。各クライアントデバイス1620-1、1620-2、及び1620-3の例には、パーソナルコンピュータ(PC)、携帯電話、ネットブック、タブレット、ゲームシステム、パーソナルデジタルアシスタント(PDA)、ゲームコンソール1400及びディスプレイデバイス、HMD1502(図15)、ゲームコンソール1400及びHMD1502、デスクトップコンピュータ、ラップトップコンピュータ、スマートテレビなどが含まれる。一部の実施形態では、INSP1602は、クライアントデバイスのタイプを認識し、採用する通信方法を調整する。
一部の実施形態では、INSPは、株価更新などの一種類のサービス、またはブロードキャスト媒体、ニュース、スポーツ、ゲームなどの様々なサービスを提供する。さらに、各INSPによって提供されるサービスは動的である、すなわち、任意の時点でサービスを追加することができる、または取り除くことができる。したがって、特定の個人に特定の種類のサービスを提供するINSPは、時間の経過と共に変わり得る。例えば、クライアントデバイス1620-1がユーザ1の居住地にあるとき、クライアントデバイス1620-1は、クライアントデバイス1620-1の近くのINSPによってサービスを提供され、ユーザ1が異なる都市に移動すると、クライアントデバイス1620-1は、異なるINSPによってサービスを提供される。居住地のINSPは、要求された情報及びデータを新しいINSPに転送し、その結果、情報は、新しい都市までクライアントデバイス1620-1を「追いかけて」、データをよりクライアントデバイス1620-1に近くし、アクセスを容易にする。様々な実施形態では、クライアントデバイス1620-1の情報を管理するマスタINSPと、マスタINSPからの制御下でクライアントデバイス1620-1と直接的にインタフェースをとるサーバINSPとの間に、マスタ-サーバ関係が確立される。一部の実施形態では、クライアントデバイス1620-1が世界中を移動すると、あるISPから別のISPにデータが転送され、これにより、クライアントデバイス1620-1にサービスを提供するのにより良い位置に存在するINSPが、これらのサービスを届けるINSPとなる。
INSP1602は、コンピュータネットワーク1606を経由して顧客にコンピュータベースのサービスを提供するアプリケーションサービスプロバイダ(ASP)1608を含む。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはサービスとしてのソフトウェア(SaaS)とも称されることもある。顧客関係管理などのコンピュータベースのサービスへのアクセスを提供する簡単な形式は、ハイパーテキスト転送プロトコル(HTTP)などの標準プロトコルを使用することによる。アプリケーションソフトウェアは、ベンダのサーバに常駐し、ベンダによって提供される特殊用途クライアントソフトウェア、及び/または他のリモートインタフェース、例えば、シンクライアント等によって、ハイパーテキストマークアップ言語(HTML)等を使用して、ウェブブラウザを通して各クライアントデバイス1620-1、1620-2、及び1620-3によってアクセスされる。
広い地理的領域で提供されるサービスは、多くの場合、クラウドコンピューティングを使用する。クラウドコンピューティングとは、動的にスケーラブルで、多くの場合、仮想化されたリソースがコンピュータネットワーク1606を介したサービスとして提供されるコンピューティング様式である。ユーザ1~3は、ユーザをサポートする「クラウド」のテクノロジインフラストラクチャの専門家である必要はない。一部の実施形態では、クラウドコンピューティングは、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、及びサービスとしてのソフトウエア(SaaS)などの異なるサービスに分けられる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる一般的なビジネスアプリケーションをオンラインで提供し、一方で、ソフトウェア及びデータはサーバに記憶されている。クラウドという用語は、コンピュータネットワーク図におけるコンピュータネットワーク1606の描かれ方に基づいて、例えば、サーバ、ストレージ、及びロジックを使用する、コンピュータネットワーク1606のメタファーとして使用され、コンピュータネットワーク1606が隠し持つ複雑なインフラストラクチャの抽象的概念である。
さらに、INSP1602は、本明細書ではゲーム処理サーバとも呼ばれるゲーム処理プロバイダ(GPP)1610を含み、ゲーム処理プロバイダ(GPP)1610は、シングル及びマルチプレイヤのビデオゲームをプレイするためにクライアントデバイス1620-1、1620-2、及び1620-3によって使用される。コンピュータネットワーク1606を介してプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、クライアントデバイス1620-1、1620-2、及び1620-3からデータを収集し、他のユーザが操作する他のクライアントにデータを配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするために別個のサーバが使用される。一部の実施形態では、GPP1610は、集中型GPP1610にさらに依存することなく情報を交換するクライアントデバイス1620-1、1620-2、及び1620-3の間の通信を確立する。
専用GPPは、クライアントとは独立して実行するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で実行し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大部分のPCベースのマルチプレイヤゲームのためのゲームサーバをホストする方法である。大規模なマルチプレイヤオンラインゲームは、通常、ゲームタイトルを所有しているソフトウェア会社がホストする専用サーバ上で実行し、専用サーバでコンテンツを制御及び更新できる。
ブロードキャスト処理サーバ(BPS)1612は、本明細書ではブロードキャスト処理プロバイダとも呼ばれ、オーディオまたはビデオ信号を視聴者に配信する。非常に狭い範囲の視聴者へのブロードキャストは、ナローキャストと呼ばれることもある。ブロードキャスト配信の最後の区間は、信号がクライアントデバイス1620-1、1620-2、及び1620-3にどのように到達するかであり、一部の実施形態では、信号は、ラジオ局もしくはテレビ局と同様に無線でアンテナ及び受信機に、またはケーブルテレビもしくはケーブルラジオもしくは局を介した「ワイヤレスケーブル」を通して配信される。コンピュータネットワーク1606はまた、様々な実施形態において、信号及び帯域幅の共有を可能にするマルチキャスティングを用いて特に、無線信号またはテレビ信号のいずれかをクライアントデバイス1620-1、1620-2、及び1620-3にもたらす。歴史的に、ブロードキャストは、いくつかの実施形態では、地理的領域、例えば、全国放送、地域放送などによって区切られていた。しかしながら、高速インターネットの普及により、コンテンツは世界のほぼ全ての国に到達できるので、ブロードキャストは地理によって規定されない。
ストレージサービスプロバイダ(SSP)1614は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSP1614は、定期的なバックアップ及びアーカイブも提供する。ストレージをサービスとして提供することにより、クライアントデバイス1620-1、1620-2、及び1620-3は、サービスとしてストレージが使用されない場合と比較して、より多くのストレージを使用する。別の大きな利点は、SSP1614がバックアップサービスを含み、クライアントデバイス1620-1、1620-2、及び1620-3は、ハードドライブに障害が発生してもデータが失われないことである。さらに、一部の実施形態では、複数のSSPは、クライアントデバイス1620-1、1620-2、及び1620-3から受信したデータの全体的または部分的なコピーを有し、クライアントデバイス1620-1、1620-2、及び1620-3が配置されている場所やクライアントのタイプに関係なく、クライアントデバイス1620-1、1620-2、及び1620-3が、効率的な方法でデータにアクセスするのを可能にする。例えば、ユーザ1は、自宅のコンピュータによって個人ファイルにアクセスし、ユーザ1が移動している間は携帯電話によって個人ファイルにアクセスする。
通信プロバイダ1616は、クライアントデバイス1620-1、1620-2、及び1620-3への接続性を提供する。通信プロバイダ1616の一種は、コンピュータネットワーク1606へのアクセスを提供するインターネットサービスプロバイダ(I6P)である。ISPは、ダイヤルアップ、デジタル加入者線(DSL)、ケーブルモデム、ファイバ、無線、または専用の高速インターコネクトなど、インターネットプロトコルデータグラムの供給に適したデータ伝送技術を使用してクライアントデバイス1620-1、1620-2、及び1620-3を接続する。通信プロバイダ1616は、一部の実施形態では、電子メール、インスタントメッセージング、及びショートメッセージサービス(SMS)テキストなどのメッセージングサービスも提供する。別の種類の通信プロバイダは、コンピュータネットワーク1606への直接のバックボーンアクセスを提供することによって帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)である。ネットワークサービスプロバイダの例には、電気通信事業者、データ通信事業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などが含まれる。
データ交換部1618は、INSP1302内のいくつかのモジュールを相互接続し、コンピュータネットワーク1606を介してこれらのモジュールをクライアントデバイス1620-1、1620-2、及び1620-3に接続する。データ交換部1618は、様々な実施形態において、INSP1602のすべてのモジュールが近接している小さい領域をカバーする、または様々なモジュールが地理的に分散しているときには大きな地理的領域をカバーする。例えば、データ交換部1602は、データセンタのキャビネット内の高速のギガビットイーサネット(登録商標)、または大陸間仮想LANを含む。
一部の実施形態では、サーバシステムとクライアントデバイス1620-1~1620-3との間の通信は、無線技術を使用して容易にされてよい。このような技術は、例えば、5G無線通信技術を含み得る。5Gは第5世代のセルラーネットワーク技術である。5Gネットワークはデジタルセルラーネットワークであり、ここでは、プロバイダがカバーするサービスエリアが、セルと呼ばれる小さい地理的領域に分割される。音声と画像を表すアナログ信号は、電話でデジタル化され、アナログ-デジタルコンバータによって変換され、ビットのストリームとして伝送される。セル内のすべての5G無線デバイスは、セル内のローカルアンテナアレイ及び低パワー自動化送受信装置(送信部及び受信部)を用いて電波によって通信し、この通信は、他のセル内で再使用される周波数のプールから送受信装置によって割り当てられた周波数チャネル上で行われる。ローカルアンテナは、高帯域幅光ファイバまたは無線バックホール接続によって、電話網及びインターネットに接続される。他のセルネットワークと同様に、1つのセルから別のセルに移動するモバイルデバイスは、新しいセルに自動的に転送される。当然ながら、5Gネットワークは単に通信ネットワークタイプの一例であり、本開示の実施形態は、前の世代の無線または有線通信、ならびに5Gの後に来る後の世代の有線または無線技術を用いてもよい。
様々な実施形態において、本明細書に記載される一部の実施形態の1つまたは複数の特徴は、本明細書に記載される残りの1つまたは複数の実施形態の1つまたは複数の特徴と組み合わされることに留意されたい。
本開示に記載の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な消費者向け電気製品、小型コンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実践されてよい。一実施態様では、本開示に記載の実施形態は、有線または無線ネットワークを通してリンクされたリモート処理デバイスによってタスクが行われる分散コンピューティング環境で実践される。
前述の実施形態を念頭に置いて、一実施態様では、本開示に記載の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施動作を採用することを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示に記載の実施形態の一部を形成する本明細書に記載される動作のうちのいずれも、有用な機械動作である。本開示に記載の一部の実施形態はまた、これらの動作を行うためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築される、または装置は、コンピュータに記憶されたコンピュータプログラムにより選択的に起動または構成される汎用コンピュータである。具体的には、一実施形態において、様々な汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用される、または、必要な動作を行うためにさらに特化した装置を構築するほうがより好都合な場合がある。
ある実施態様では、本開示に記載の一部の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして具体化される。コンピュータ可読媒体は、後にコンピュータシステムにより読み出されるデータを記憶する任意のデータストレージデバイスである。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続型ストレージ(NAS)、ROM、RAM、コンパクトディスクROM(CD-ROM)、記録可能CD(CD-R)、書き換え可能CD(CD-RW)、磁気テープ、光学データストレージデバイス、非光学データストレージデバイスなどが含まれる。例として、コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワークで結合されたコンピュータシステム上に分散されたコンピュータ可読有形媒体を含む。
さらに、上記の実施形態の一部は、ゲーム環境に関して記載されているが、一部の実施形態では、ゲームの代わりに、他の環境、例えば、ビデオ会議環境などが使用される。
方法の動作を特定の順序で記載したが、当然ながら、オーバーレイ動作の処理が所望の方法で実行される限り、動作間に他のハウスキーピング動作が実行されてよく、または動作がわずかに異なる時間に起こるように調整されてよく、またはシステム内に動作を分散することで、処理に関連する様々な間隔で処理動作が起こることを可能にしてよい。
本開示に記載の前述の実施形態は、理解を明確にするためにある程度詳細に説明したが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、限定ではなく例示としてみなされるべきであり、本実施形態は、本明細書に記載される詳細に限定されるべきではなく、添付の請求項の範囲及び均等物の中で修正されてよい。

Claims (20)

  1. セルフコーチングインタフェースを処理する方法であって、
    ユーザによるゲームプレイ中のゲームプレイイベントを識別することであって、前記ゲームプレイイベントは、ゲームが前記ユーザによってプレイされている間にスキル閾値を下回ったとしてタグ付けされる、前記識別することと、
    前記ゲームプレイイベントの時間窓の記録を生成することと、
    前記ゲームプレイイベントの前記記録のためにゲームテレメトリを処理することであって、前記ゲームテレメトリを使用して、前記時間窓の前記ゲームプレイイベントの前のインタラクティブアクションの進行を識別する、前記処理することと、
    前記セルフコーチングインタフェースでオーバーレイコンテンツを生成することと
    を含み、前記オーバーレイコンテンツは、前記セルフコーチングインタフェースを介して表示されたときに前記記録の1つまたは複数の画像フレームに適用され、前記オーバーレイコンテンツは、前記記録の再生中に、前記1つまたは複数の画像フレームに表示され、
    前記オーバーレイコンテンツは、前記タグ付けされたゲームプレイイベントの前記スキル閾値を超えるように前記ユーザのスキルを向上させるためのヒントを提供する、
    方法。
  2. 前記時間窓が、前記ゲームプレイイベントの前の期間、前記ゲームプレイイベントの時点、及び前記ゲームプレイイベントの後の期間を含む、請求項1に記載の方法。
  3. 前記時間窓が、前記ゲームプレイイベント及び前記ゲームプレイイベントの前に発生する他のゲームプレイイベントと共に変化する、請求項1に記載の方法。
  4. 前記ゲームテレメトリが、前記ユーザの前記スキルが前記閾値を下回る理由を識別するために処理される、請求項1に記載の方法。
  5. 前記ゲームテレメトリが、前記時間窓の前記記録にない仮想オブジェクトを識別するために処理される1つまたは複数のゲーム状態を含む、請求項4に記載の方法。
  6. 前記インタラクティブアクションの進行が、前記時間窓の前記記録にない仮想オブジェクトの動きを含む、請求項1に記載の方法。
  7. 前記オーバーレイコンテンツが、前記仮想オブジェクトを含む、請求項6に記載の方法。
  8. 前記オーバーレイコンテンツが、前記仮想オブジェクトの周囲に配置されるフレームを含む、請求項6に記載の方法。
  9. タイムラインスクラバーを生成することと、
    前記タイムラインスクラバーのセグメントの選択を受信することと、
    前記セグメントの選択に基づいて、前記セルフコーチングインタフェースと前記オーバーレイコンテンツとを変更することと
    をさらに含む、請求項1に記載の方法。
  10. 前記セルフコーチングインタフェースと共に表示するための別のセルフコーチングインタフェースを生成することをさらに含み、前記別のセルフコーチングインタフェースは、別のユーザのゲームプレイに関連付けられ、前記ゲームプレイイベントと同じタイプである、請求項1に記載の方法。
  11. 前記セルフコーチングインタフェースと共に表示するための別のセルフコーチングインタフェースを生成することをさらに含み、前記別のセルフコーチングインタフェースは、前記ユーザのゲームプレイの異なるゲームセッションに関連付けられ、前記ゲームプレイイベントと同じタイプである、請求項1に記載の方法。
  12. 前記オーバーレイコンテンツが前記セルフコーチングインタフェース上にオーバーレイされるコーチングセッションを開始するかどうかを判断するように人工知能モデルをトレーニングすることをさらに含む、請求項1に記載の方法。
  13. 前記セルフコーチングインタフェースが、前記ゲームプレイイベントの発生中に仮想シーンに表示される1つまたは複数の仮想オブジェクトを除外する、請求項1に記載の方法。
  14. 前記セルフコーチングインタフェースが、前記ゲームプレイイベントの発生中に仮想シーンに表示されない1つまたは複数の仮想オブジェクトを含む、請求項1に記載の方法。
  15. セルフコーチングインタフェースを処理するためのサーバシステムであって、
    プロセッサであって、
    ユーザによるゲームプレイ中のゲームプレイイベントを識別することであって、前記ゲームプレイイベントは、ゲームが前記ユーザによってプレイされている間にスキル閾値を下回ったとしてタグ付けされる、前記識別することと、
    前記ゲームプレイイベントの時間窓の記録を生成することと、
    前記ゲームプレイイベントの前記記録のためのゲームテレメトリを処理することであって、前記ゲームテレメトリが、前記時間窓の前記ゲームプレイイベントの前のインタラクティブアクションの進行を識別するために使用される、前記処理することと、
    オーバーレイコンテンツを前記セルフコーチングインタフェースで生成することであって、前記オーバーレイコンテンツは、前記セルフコーチングインタフェースを介して表示されたときに前記記録の1つまたは複数の画像フレームに適用され、前記オーバーレイコンテンツは、前記記録の再生中に、前記1つまたは複数の画像フレームに表示される、前記生成することと、
    を行うように構成され、
    前記オーバーレイコンテンツは、前記タグ付けされたゲームプレイイベントの前記スキル閾値を超えるように前記ユーザのスキルを向上させるためのヒントを提供する、
    前記プロセッサと、
    前記ゲームプレイイベントの前記記録を記憶するために前記プロセッサに結合されたメモリデバイスと、を含む、サーバシステム。
  16. 前記プロセッサが、前記セルフコーチングインタフェースと共に表示するための別のセルフコーチングインタフェースを生成するように構成され、前記別のセルフコーチングインタフェースは、別のユーザのゲームプレイに関連付けられ、前記ゲームプレイイベントに関連する、請求項15に記載のサーバシステム。
  17. 前記プロセッサが、前記セルフコーチングインタフェースと共に表示するための別のセルフコーチングインタフェースを生成するように構成され、前記別のセルフコーチングインタフェースは、前記ユーザのゲームプレイの異なるゲームセッションと、前記ゲームプレイイベントとに関連付けられる、請求項15に記載のサーバシステム。
  18. 前記時間窓が、前記ゲームプレイイベント、及び前記ゲームプレイイベントの前に発生する他のゲームプレイイベントと共に変化する、請求項15に記載の方法。
  19. セルフコーチングインタフェースを処理するためのシステムであって、
    ゲームのプレイ中にゲームプレイイベントの生成を容易にするためにユーザによって使用されるように構成されたクライアントデバイスと、
    コンピュータネットワークを介して前記クライアントデバイスに結合されたサーバと
    を含み、前記サーバは、
    前記ゲームプレイイベントを識別することであって、前記ゲームプレイイベントは、ゲームが前記ユーザによってプレイされている間にスキル閾値を下回ったとしてタグ付けされる、前記識別することと、
    前記ゲームプレイイベントの時間窓の記録を生成することと、
    前記ゲームプレイイベントの前記記録のためのゲームテレメトリを処理することであって、前記ゲームテレメトリが、前記時間窓の前記ゲームプレイイベントの前のインタラクティブアクションの進行を識別するために使用される、前記処理することと、
    前記セルフコーチングインタフェースでオーバーレイコンテンツを生成することと、
    を行うように構成され、
    前記オーバーレイコンテンツは、前記セルフコーチングインタフェースを介して表示されたときに前記記録の1つまたは複数の画像フレームに適用され、前記オーバーレイコンテンツは、前記記録の再生中に、前記1つまたは複数の画像フレームに表示され、
    前記オーバーレイコンテンツは、前記タグ付けされたゲームプレイイベントの前記スキル閾値を超えるように前記ユーザのスキルを向上させるためのヒントを提供する、
    システム。
  20. 前記サーバが、前記セルフコーチングインタフェースと共に表示するための別のセルフコーチングインタフェースを生成するように構成され、前記別のセルフコーチングインタフェースは、別のユーザのゲームプレイに関連付けられ、前記ゲームプレイイベントに関連する、請求項19に記載のシステム。
JP2022580392A 2020-06-26 2021-05-25 ゲームプレイのためにユーザを指導するシステム及び方法 Active JP7397224B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/914,157 US11465051B2 (en) 2020-06-26 2020-06-26 Systems and methods for coaching a user for game play
US16/914,157 2020-06-26
PCT/US2021/034115 WO2021262375A1 (en) 2020-06-26 2021-05-25 Systems and methods for coaching a user for game play

Publications (2)

Publication Number Publication Date
JP2023533227A JP2023533227A (ja) 2023-08-02
JP7397224B2 true JP7397224B2 (ja) 2023-12-12

Family

ID=76444692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022580392A Active JP7397224B2 (ja) 2020-06-26 2021-05-25 ゲームプレイのためにユーザを指導するシステム及び方法

Country Status (5)

Country Link
US (2) US11465051B2 (ja)
EP (1) EP4171769A1 (ja)
JP (1) JP7397224B2 (ja)
CN (1) CN116096466A (ja)
WO (1) WO2021262375A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220317782A1 (en) * 2021-04-01 2022-10-06 Universal City Studios Llc Interactive environment with portable devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011025044A (ja) 2009-07-27 2011-02-10 Sony Computer Entertainment America Llc ランク付けされたユーザが生成したゲームプレイアドバイスのリアルタイムでコンテキストに沿った表示
JP2020503936A (ja) 2017-01-09 2020-02-06 株式会社ソニー・インタラクティブエンタテインメント ユーザ分析システムおよび方法
JP2020512122A (ja) 2017-03-31 2020-04-23 ソニー・インタラクティブエンタテインメント エルエルシー アプリケーション内の行動に基づく個人化されたユーザインターフェース
JP2021512672A (ja) 2018-01-31 2021-05-20 ソニー・インタラクティブエンタテインメント エルエルシー プレイヤーの反応に対する状況適応型ゲームプレイ支援の割り当て

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8221221B2 (en) 2008-09-15 2012-07-17 Sony Computer Entertainment America Llc Metrics-based gaming operations
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9767257B2 (en) * 2011-03-31 2017-09-19 Adidas Ag Group performance monitoring system and method
US9317660B2 (en) * 2011-03-31 2016-04-19 Adidas Ag Group performance monitoring system and method
US8579686B2 (en) * 2011-04-21 2013-11-12 The Predictor Llc Gaming event prediction system and method
MX352036B (es) * 2011-09-01 2017-11-07 Riddell Sistemas y métodos para monitorear un parámetro fisiológico de personas que están realizando una actividad física.
WO2017030844A1 (en) 2015-08-17 2017-02-23 Interdigital Technology Corporation Methods, apparatus and systems for context based just-in-time (jit) video gamers and spectators reconnaissance and assistance
US10956723B2 (en) * 2016-06-03 2021-03-23 Pillar Vision, Inc. Systems and methods for determining reduced player performance in sporting events
US11266912B2 (en) * 2020-05-30 2022-03-08 Sony Interactive Entertainment LLC Methods and systems for processing disruptive behavior within multi-player video game

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011025044A (ja) 2009-07-27 2011-02-10 Sony Computer Entertainment America Llc ランク付けされたユーザが生成したゲームプレイアドバイスのリアルタイムでコンテキストに沿った表示
JP2020503936A (ja) 2017-01-09 2020-02-06 株式会社ソニー・インタラクティブエンタテインメント ユーザ分析システムおよび方法
JP2020512122A (ja) 2017-03-31 2020-04-23 ソニー・インタラクティブエンタテインメント エルエルシー アプリケーション内の行動に基づく個人化されたユーザインターフェース
JP2021512672A (ja) 2018-01-31 2021-05-20 ソニー・インタラクティブエンタテインメント エルエルシー プレイヤーの反応に対する状況適応型ゲームプレイ支援の割り当て

Also Published As

Publication number Publication date
EP4171769A1 (en) 2023-05-03
US11465051B2 (en) 2022-10-11
US20210402302A1 (en) 2021-12-30
US20220387893A1 (en) 2022-12-08
JP2023533227A (ja) 2023-08-02
WO2021262375A1 (en) 2021-12-30
CN116096466A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
JP6448603B2 (ja) マルチ画像インタラクティブゲーミングデバイス
US10343069B2 (en) Systems and methods for executing a training program based on player DNA
RU2605840C2 (ru) Автоматическое создание предлагаемых мини-игр для облачной игры на основе записанного игрового процесса
US20210154583A1 (en) Systems and methods for predicting states by using a distributed game engine
US11321900B2 (en) Systems and methods for adjusting one or more parameters of a GPU
WO2019156798A1 (en) Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
CN111801147B (zh) 机器人的社交媒体连接
US11779847B2 (en) Systems and methods for verifying activity associated with a play of a game
US12029972B2 (en) Systems and methods for facilitating communication between players during game play
JP7397224B2 (ja) ゲームプレイのためにユーザを指導するシステム及び方法
TWI809786B (zh) 用於自舊有遊戲產生元遊戲之系統及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230124

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: 20231031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231130

R150 Certificate of patent or registration of utility model

Ref document number: 7397224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150