(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023174606
(43)【公開日】2023-12-07
(54)【発明の名称】ゲームプレイ中の予測支援を可能にするシステム及び方法
(51)【国際特許分類】
A63F 13/87 20140101AFI20231130BHJP
A63F 13/847 20140101ALI20231130BHJP
A63F 13/79 20140101ALI20231130BHJP
A63F 13/71 20140101ALI20231130BHJP
【FI】
A63F13/87
A63F13/847
A63F13/79
A63F13/71
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023087011
(22)【出願日】2023-05-26
(31)【優先権主張番号】17/827,603
(32)【優先日】2022-05-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ヴィクトリア ドルン
(72)【発明者】
【氏名】サラ カープ
(72)【発明者】
【氏名】セピデ カリミ
(72)【発明者】
【氏名】セレステ ビーン
(72)【発明者】
【氏名】リズ ユンガー
(57)【要約】
【解決手段】ゲームプレイ中に支援を提供する方法が説明される。この方法は、ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスすることを含む。プロフィルモデルは、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される。この方法は、ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受け取ることと、ユーザが、ゲーム内のタスクを完了することができないという1つ以上の予測指標に応答して、ユーザのための支援入力を生成することとをさらに含む。タスクはゲームコンテキストに関連付けられている。支援入力は、ユーザがタスクを実行する前に提供される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ゲームプレイ中に支援を提供する方法であって、
ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスすることであって、前記プロフィルモデルが、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される、前記アクセスすることと、
前記ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受け取ることと、
前記ユーザが、前記ゲーム内のタスクを完了することができないという前記1つ以上の予測指標に応答して、前記ユーザのための支援入力を生成することであって、前記タスクがゲームコンテキストに関連付けられている、前記生成することと、
を含み、
前記ユーザが前記タスクを実行する前に前記支援入力が提供される、方法。
【請求項2】
前記プロフィルモデルは、前記ユーザアカウントを介して行われる1つ以上のゲームプレイによって訓練されるニューラルネットワークを含み、前記1つ以上のゲームプレイが、前記複数のゲームコンテキストのラベル付け及び分類、ユーザインタラクションのラベル付け及び分類、ならびにパフォーマンスメトリックのラベル付け及び分類を行うために使用される、請求項1に記載の方法。
【請求項3】
前記支援入力の前記生成することは、前記ゲームセッションの前記ゲームコンテキストが、前記プロフィルモデルを訓練するために使用される前記複数のゲームコンテキストのうちの1つ以上に似ていることを判定して行われる、請求項2に記載の方法。
【請求項4】
前記1つ以上のゲームプレイの状態データを生成することと、
前記状態データを解析して、前記1つ以上のゲームの前記複数のゲームコンテキスト、前記複数のゲームコンテキストとの前記ユーザインタラクション、ならびに前記ユーザインタラクション及び前記複数のゲームコンテキストに基づいて生成される前記パフォーマンスメトリックを識別することと、
をさらに含む、請求項2に記載の方法。
【請求項5】
前記複数のゲームコンテキストを識別するために、前記複数のゲームコンテキストにラベル付けすることと、
前記ユーザインタラクションを識別するために、前記ユーザインタラクションにラベル付けすることと、
前記パフォーマンスメトリックを識別するために、前記パフォーマンスメトリックにラベル付けすることと、
前記ゲームコンテキストのそれぞれにレベルを提供するために、前記ゲームコンテキストを分類することと、
前記ユーザインタラクションのそれぞれにレベルを提供するために、前記ユーザインタラクションを分類することと、
前記パフォーマンスメトリックのそれぞれにレベルを提供するために、前記パフォーマンスメトリックを分類することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記1つ以上の予測指標が、前記ゲームコンテキストの前記レベル、前記インタラクションの前記レベル、及び前記パフォーマンスメトリックの前記レベル、前記ゲームコンテキストの前記レベルの出現回数、前記インタラクションの前記レベルの出現回数、及び前記パフォーマンスメトリックの前記レベルの出現回数に基づいて判定される、請求項5に記載の方法。
【請求項7】
前記支援入力は、コントローラ入力データ、前記ゲームのコントローラ上の1つ以上のライトを制御するためのライトデータ、前記ゲームセッション中に使用されるディスプレイデバイス上に提示するためのスクリーンテキストデータ、及び前記ゲームセッション中に音を出力するための音声データを含む、請求項1に記載の方法。
【請求項8】
ゲームプレイ中に支援を提供するためのコンピュータシステムであって、
プロセッサであって、
ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスすることであって、前記プロフィルモデルが、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される、前記アクセスすることと、
前記ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受け取ることと、
前記ユーザが、前記ゲーム内のタスクを完了することができないという前記1つ以上の予測指標に応答して、前記ユーザのための支援入力を生成することであって、前記タスクがゲームコンテキストに関連付けられている、前記生成することと、
前記ユーザが前記タスクを実行する前に、前記支援入力を提供することと、
を行うように構成されている前記プロセッサと、
前記プロセッサに結合されているメモリデバイスと、
を備える、コンピュータシステム。
【請求項9】
前記プロフィルモデルは、前記ユーザアカウントを介して行われる1つ以上のゲームプレイによって訓練されるニューラルネットワークを含み、前記1つ以上のゲームプレイが、前記複数のゲームコンテキストのラベル付け及び分類、ユーザインタラクションのラベル付け及び分類、ならびにパフォーマンスメトリックのラベル付け及び分類を行うために使用される、請求項8に記載のコンピュータシステム。
【請求項10】
前記ゲームセッションのゲームコンテキストが、前記プロフィルモデルを訓練するために使用される前記複数のゲームコンテキストのうちの1つに似ていることを、前記プロフィルモデルが判定したとき、前記支援入力が生成される、請求項9に記載のコンピュータシステム。
【請求項11】
前記プロセッサは、
前記1つ以上のゲームプレイの状態データを生成することと、
前記状態データを解析して、前記1つ以上のゲームの前記複数のゲームコンテキスト、前記複数のゲームコンテキストとの前記ユーザインタラクション、ならびに前記ユーザインタラクション及び前記複数のゲームコンテキストに基づいて生成されるパフォーマンスメトリックを識別することと、
を行うように構成されている、請求項9に記載のコンピュータシステム。
【請求項12】
前記プロセッサは、
前記複数のゲームコンテキストを識別するために、前記ゲームコンテキストにラベル付けすることと、
前記ユーザインタラクションを識別するために、前記ユーザによる前記ユーザインタラクションにラベル付けすることと、
前記パフォーマンスメトリックを識別するために、前記パフォーマンスメトリックにラベル付けすることと、
前記複数のゲームコンテキストのそれぞれにレベルを提供するために、前記複数のゲームコンテキストを分類することと、
前記ユーザインタラクションのそれぞれにレベルを提供するために、前記ユーザインタラクションを分類することと、
前記パフォーマンスメトリックのそれぞれにレベルを提供するために、前記パフォーマンスメトリックを分類することと、
を行うように構成されている、請求項11に記載のコンピュータシステム。
【請求項13】
前記1つ以上の予測指標が、前記複数のゲームコンテキストの前記レベル、前記ユーザインタラクションの前記レベル、及び前記パフォーマンスメトリックの前記レベル、前記複数のゲームコンテキストの前記レベルの出現回数、前記ユーザインタラクションの前記レベルの出現回数、及び前記パフォーマンスメトリックの前記レベルの出現回数に基づいて判定される、請求項12に記載のコンピュータシステム。
【請求項14】
前記支援入力は、コントローラ入力データ、前記ゲームのコントローラ上の1つ以上のライトを制御するためのライトデータ、前記ゲームセッション中に使用されるディスプレイデバイス上に提示するためのスクリーンテキストデータ、及び前記ゲームセッション中に音を出力するための音声データを含む、請求項8に記載のコンピュータシステム。
【請求項15】
ゲームプレイ中に支援を提供するためのシステムであって、
クライアントデバイスと、
コンピュータネットワークを介して前記クライアントデバイスに結合されたサーバであって、
ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスすることであって、前記プロフィルモデルが、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される、前記アクセスすることと、
前記ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受信することと、
前記ユーザが、前記ゲーム内のタスクを完了することができないという前記1つ以上の予測指標に応答して、前記ユーザのための支援入力を生成することであって、前記タスクがゲームコンテキストに関連付けられている、前記生成することと、
前記ユーザが前記タスクを実行する前に前記支援入力を送信することと、
を行うように構成されている前記サーバと、を備え、
前記クライアントデバイスが、前記コンピュータネットワークを介して前記サーバから前記支援入力を受信するように構成されている、システム。
【請求項16】
前記ゲームセッションの前記ゲームコンテキストが、前記プロフィルモデルを訓練するために使用される前記複数のゲームコンテキストのうちの1つに似ていることを、前記プロフィルモデルが判定したとき、前記支援入力が生成される、請求項15に記載のシステム。
【請求項17】
前記プロフィルモデルは、前記ユーザアカウントを介して行われる1つ以上のゲームプレイによって訓練されるニューラルネットワークを含み、前記1つ以上のゲームプレイが、前記複数のゲームコンテキストのラベル付け及び分類、ユーザインタラクションのラベル付け及び分類、ならびにパフォーマンスメトリックのラベル付け及び分類を行うために使用される、請求項15に記載のシステム。
【請求項18】
前記サーバは、
前記1つ以上のゲームプレイの状態データを生成することと、
前記状態データを解析して、前記1つ以上のゲームの前記複数のゲームコンテキスト、前記複数のゲームコンテキストとの前記ユーザインタラクション、ならびに前記ユーザインタラクション及び前記複数のゲームコンテキストに基づいて生成される前記パフォーマンスメトリックを識別することと、
を行うように構成されている、請求項17に記載のシステム。
【請求項19】
前記プロフィルモデルは人工知能モデルであり、前記サーバは、
前記複数のゲームコンテキストを識別するために、前記複数のゲームコンテキストにラベル付けすることと、
前記ユーザインタラクションを識別するために、前記複数のゲームコンテキストとの前記ユーザインタラクションにラベル付けすることと、
前記パフォーマンスメトリックを識別するために、前記ユーザインタラクションに基づいて得られたパフォーマンスメトリックにラベル付けすることと、
前記複数のゲームコンテキストのそれぞれにレベルを提供するために、前記複数のゲームコンテキストを分類することと、
前記ユーザインタラクションのそれぞれにレベルを提供するために、前記ユーザインタラクションを分類することと、
前記パフォーマンスメトリックのそれぞれにレベルを提供するために、前記パフォーマンスメトリックを分類することと、
を行うように構成されており、
前記1つ以上の予測指標が、前記複数のゲームコンテキストの前記レベル、前記ユーザインタラクションの前記レベル、及び前記パフォーマンスメトリックの前記レベル、前記複数のゲームコンテキストの前記レベルの出現回数、前記ユーザインタラクションの前記レベルの出現回数、及び前記パフォーマンスメトリックの前記レベルの出現回数に基づいて判定される、請求項17に記載のシステム。
【請求項20】
前記クライアントデバイスは、ハンドヘルドコントローラまたはヘッドマウントディスプレイである、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲームプレイ中の予測支援を可能にするシステム及び方法に関する。
【背景技術】
【0002】
従来のゲームは、プレーヤが、ゲーム環境内の仮想表現であるそれぞれのゲーム内アバタを使用して、互いに助け合ってタスクを完了する協力型マルチプレーヤモードを提供することがある。マルチプレーヤモードでは、通常、2人の別々のプレーヤが協力して目標を達成する。
【0003】
対照的に、シングルプレーヤゲームモードでは、ゲームの目的は、ゲームの世界で個々のプレーヤに課題を提供することであり、ゲーム内の目標を達成するのはこのプレーヤ次第である。ただし、時折、シングルまたはマルチプレーヤゲームでは、プレーヤが持っているスキルよりも多くのスキルを利用する課題が提供される。
【0004】
従来、シングルまたはマルチプレーヤゲームによって提供される課題に対応するために、プレーヤの中には、自分のゲームの進行状況を、テキストドキュメントまたは一連のビデオとして、詳しく説明するものもいる。しかし、特にプレーヤが特定の課題を克服できない場合には、これらの解決策は不十分なものとなり得る。
【0005】
こうした背景のもと、本発明の実施形態が生じる。
【発明の概要】
【0006】
本開示の実施形態は、ゲームプレイ中の予測支援を可能にするシステム及び方法を提供する。
【0007】
一実施形態では、ユーザの傾向、スキルレベル、入力精度、及び一般能力を学習するために、ある期間にわたってユーザのゲームプレイを処理する方法が説明される。ゲームプレイは、1つ以上のゲームについて、プレーヤなどのユーザのゲームプレイ履歴を取り込むことによって処理されてもよい。ゲームプレイ履歴は、1つ以上のゲームのそれぞれについてのゲーム状態データを含み得、これらは、異なるインスタンスでのゲームのコンテキスト及び特定のゲームコンテキストに対するユーザの反応を識別する。時間の経過とともに、様々な種類の入力とゲームコンテキストとを分類して、ユーザのゲームの傾向と潜在的な弱点とを説明するプロフィルモデルを構築することが可能である。プロフィルモデルを使用すると、現在のゲームプレイ中に、人工知能プロセッサなどの1つ以上のプロセッサが、特定のコンテキストでユーザが移動または達成しようとしている場所を予測することができる。プレーヤが弱体化している特定のコンテキストでユーザがゲーム入力または入力の組み合わせを試みている場合に、1つ以上のプロセッサが、その特定のコンテキストのためのボタン入力または戦術の提案という形でユーザを支援してもよい。
【0008】
いくつかの実施形態では、特定のゲームコントロールへの正しい入力を継続的に提供できないユーザが、ユーザの代わりにボタンを自動的に押す1つ以上のプロセッサによって支援を受けてもよい。ユーザに代わるこのボタン押下は、特定のゲームコンテキストに対するユーザの予測された意図に基づいて行われる。予測された意図は、1つ以上のプロセッサによって判定される。
【0009】
いくつかの実施形態では、1つ以上のプロセッサは、ユーザが、何らかの目的不到達または失敗の後に、特定のレベル、入力の組み合わせを完了すること、または結果を達成することが困難または不可能であることを予見している場合に、ユーザの代わりに複数のボタン押下またはボタン押下の組合せを実行してもよい。
【0010】
実施形態では、予測支援は、支援モードがユーザによってアクティブにされると、1つ以上のプロセッサによって自動的に提供されてもよい。ユーザが、支援モードがアクティブになっていることを承知しているときに、1つ以上のプロセッサが、特定のタスクを実行する際のユーザの予測された意図または弱点に基づいて、1つ以上の入力をユーザの代わりに適用してもよい。
【0011】
一実施形態では、支援モードは、ユーザが、ゲームシステムに、1つ以上のゲームタスク、シーケンス、レベルを完了すること、またはユーザにとって困難な結果を達成することを許可するオートパイロットの形態であり得る。ユーザが快適に制御を再開できると感じたら、支援モードを非アクティブにすることができる。
【0012】
実施形態では、1つ以上のプロセッサは、ユーザのゲームスタイルを学習し、それを使用して、予測された意図に基づいて、ユーザの代わりにボタンを押す。例えば、1つ以上のプロセッサは、ユーザにゲーム内のタスクを迅速に達成するように通知する、仮想オブジェクトを飛び越えるように通知する、などの1つ以上のテストを実行して、ユーザのゲームスタイルを判定する。この例では、1つ以上のプロセッサは、ゲームスタイルをユーザプロフィルに保存してプロフィルモデルを構築し、そのゲームスタイルを使用してユーザのゲームを調整する。
【0013】
一実施形態では、方法は、冷めた感じの気分、激しい感じの気分など、ユーザの気分または熱心さを判定すること、及びゲームプレイのモードを調節することを含む。例えば、モードは、ユーザが示す気分または熱心さに基づいて、簡単なモードまたは難しいモードに調節される。
【0014】
実施形態では、この方法は、ユーザを訓練するために、ボタンの点灯及び触覚フィードバックを制御することを含む。
【0015】
一実施形態では、新規または初心者のユーザの場合、支援モードを簡単なモードにすることができ、中程度の熟練ユーザの場合、支援モードをミディアムモードにすることができ、経験豊富なユーザの場合、支援モードを難しいモードにすることができる。
【0016】
実施形態では、ゲームプレイ中に支援を提供する方法が説明される。この方法は、ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスすることを含む。プロフィルモデルは、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される。この方法は、ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受け取ることと、ユーザが、ゲーム内のタスクを完了することができないという1つ以上の予測指標に応答して、ユーザのための支援入力を生成することとをさらに含む。タスクはゲームコンテキストに関連付けられている。支援入力は、ユーザがタスクを実行する前に提供される。
【0017】
一実施形態では、ゲームプレイ中に支援を提供するためのコンピュータシステムが説明される。本コンピュータシステムは、プロセッサを含む。プロセッサは、ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスする。プロフィルモデルは、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される。このプロセッサは、ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受け取ることと、ユーザが、ゲーム内のタスクを完了することができないという1つ以上の予測指標に応答して、ユーザのための支援入力を生成することとを行う。タスクはゲームコンテキストに関連付けられている。プロセッサは、ユーザがタスクを実行する前に支援入力を提供する。本コンピュータシステムは、プロセッサに結合されたメモリデバイスを含む。
【0018】
実施形態では、ゲームプレイ中に支援を提供するシステムが説明される。このシステムは、クライアントデバイスと、コンピュータネットワークを介してクライアントデバイスに結合されたサーバとを含む。サーバは、ユーザのユーザアカウントに関連付けられたプロフィルモデルにアクセスする。プロフィルモデルは、1つ以上のゲームの複数のゲームコンテキストに基づいて、1つ以上の予測指標を生成するために使用される。サーバは、ユーザアカウントを介して、ゲームセッションのためにゲームにアクセスするための要求を受信する。サーバは、ユーザが、ゲーム内のタスクを完了することができないという1つ以上の予測指標に応答して、ユーザのための支援入力を生成する。タスクはゲームコンテキストに関連付けられている。サーバは、ユーザがタスクを実行する前に支援入力を送信する。クライアントデバイスは、コンピュータネットワークを介してサーバから支援入力を受信する。
【0019】
本明細書で説明するシステム及び方法のいくつかの利点には、ゲームのプレイ中にユーザに予測支援を提供することが含まれる。予測支援を提供することにより、ネットワークトラフィックの効率とサーバの効率とが向上する。ユーザは、予測支援が提供されると、ゲームとインタラクションしてゲーム内を先に進む。予測支援がなければ、ユーザはゲームを進めることができず、コントローラを不適切な方法で操作し続ける。コントローラを不適切な方法で操作すると、不適切な入力が生成されてしまう。その後、その不適切な入力がサーバに送信され、それによってサーバとコントローラとの間のネットワークトラフィックが増加してしまう。また、サーバの負荷も増加する。ユーザに予測支援を提供することにより、不適切な入力が生成される可能性が減少するため、サーバの効率が向上する。また、ネットワークトラフィックの輻輳の可能性が減少する。ネットワークトラフィックの輻輳の可能性が減少する場合、ネットワークの効率が向上する。
【0020】
本開示の他の態様は、本開示に記載の実施形態の原理を例として示す下記の発明を実施するための形態を、添付図面と併せて読むと明らかになろう。
【図面の簡単な説明】
【0021】
本開示の様々な実施形態は、添付図面と併せて、以下の記載を参照することによって、最も良く理解される。
【0022】
【
図1】ユーザによるゲームのプレイを可能にするためにユーザに提示される複数のアクティビティを示すゲームコンテキストの実施形態の図である。
【0023】
【
図2】ユーザが行った各アクティビティの間のアクティビティレベルと、ユーザがアクティビティを終えるのに要した時間とを示すグラフである。
【0024】
【
図3】ユーザがゲームコンテキスト内のアクティビティに参加するときのゲームシステムの1つ以上のプロセッサによる状態データの収集を示すグラフである。
【0025】
【
図4】ユーザの複数のゲームコンテキストへの取り組みから判定された状態データに基づく予測指標の生成を示すシステムの実施形態の図である。
【0026】
【
図5】予測指標に基づいてハンドヘルドコントローラ(HHC)を介してユーザに支援入力データを提供するためのゲームシステム及びHHCの使用を示すシステムの実施形態の図である。
【0027】
【
図6】支援入力データが生成され、HHCの1つ以上の異なる領域に送信されることを示すシステムの実施形態の図である。
【0028】
【
図7】本開示の様々な実施形態の態様を実行するために使用することができる例示的なデバイスの構成要素を示す。
【発明を実施するための形態】
【0029】
ゲームプレイ中の予測支援を可能にするシステム及び方法について説明する。本開示の様々な実施形態は、これらの特定の詳細の一部または全てが無くても実施されることに留意されたい。他の例では、本開示の様々な実施形態を不必要に分かりにくくしないように、周知のプロセス動作については詳述していない。
【0030】
図1は、ユーザ102によるゲームのプレイを可能にするためにユーザ102に提示される複数のアクティビティA1、A2、A3、及びA4を示すゲームコンテキスト100の実施形態の図である。本明細書で説明するゲームコンテキストの例は、1つ以上のアクティビティを有する仮想現実(VR)シーンなどの1つ以上の仮想シーンである。例示すると、ゲームコンテキスト100は、仮想シーンであり、仮想シーンは、仮想キャラクタ106、別の仮想キャラクタ108、仮想巨人110、仮想ゲームチェスト112、及び仮想谷114などの複数の仮想オブジェクト、ならびに仮想シーン内の仮想オブジェクトの互いに対する位置及び向きを含む。例示では、各仮想オブジェクトは、仮想オブジェクトの形状、サイズ、及び色によって識別される。
【0031】
ユーザ102は、ハンドヘルドコントローラ(HHC)104を使用してゲームをプレイする。HHC104は、ゲームコントローラの例である。ユーザ102は、HHC104を使用することによって、ユーザ102に割り当てられたユーザアカウント1にログインし、ユーザアカウント1を介して、クラウドシステムまたはコンピューティングデバイスなどのゲームシステムからゲームのゲームセッションにアクセスする。一例を挙げると、ゲームシステムは、1つ以上のプロセッサ及び1つ以上のメモリデバイスを含む。1つ以上のプロセッサは、1つ以上のメモリデバイスに結合されている。プロセッサの例には、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、マイクロコントローラ、またはマイクロプロセッサが含まれる。メモリデバイスの例には、読み出し専用メモリ(ROM)、またはランダムアクセスメモリデバイス(RAM)、またはそれらの組み合わせが含まれる。例示すると、メモリデバイスは、フラッシュメモリ、またはハードディスク、または独立ディスクの冗長アレイ(RAID)である。コンピューティングデバイスの例には、デスクトップコンピュータ、ラップトップコンピュータ、スマートテレビ、タブレット、ヘッドマウントディスプレイ(HMD)、ゲームコンソール、及びスマートフォンが含まれる。クラウドシステムの例には、1つ以上のサーバが含まれる。
【0032】
HHC104及び/またはコンピューティングデバイスはクライアントデバイスの例であり、クラウドシステムはサーバシステムの例であることに留意されたい。クライアントデバイスは、インターネット、イントラネット、またはそれらの組み合わせなどのコンピュータネットワークを介してサーバシステムに結合される。
【0033】
ゲームセッションは、ゲームコードなどのゲームプログラムが、ゲームシステムの1つ以上のプロセッサによって実行されるときにアクセスされる。ゲームセッションにアクセスすると、ゲームコンテキスト100がクライアントデバイスのディスプレイデバイスに表示される。ゲームセッション中、ユーザ102は、ゲームコンテキスト100内で、アクティビティA1~A4などの複数のアクティビティに遭遇する。例えば、ユーザ102は、HHC104を使用して、仮想キャラクタ106を制御し、仮想キャラクタ108と戦う。この例では、仮想キャラクタ106と仮想キャラクタ108との間の戦いは、ゲームコンテキスト100内のアクティビティA1の例示である。さらに、この例では、次に、ユーザ102は、HHC104を使用して、仮想キャラクタ106を制御し、仮想巨人110と戦う。この例では、仮想巨人110との戦いは、アクティビティA2の例示である。また、この例では、アクティビティA2に参加した後、例えば、仮想キャラクタ106が、HHC104を介してユーザ102によって制御されて、仮想巨人110と戦い、仮想巨人110に勝ち抜いた後、仮想キャラクタ106は仮想ゲームチェスト112を見つける。この例では、ユーザ102は、HHC104を制御して仮想ゲームチェスト112を開き、仮想ゲームチェスト112から仮想銃または仮想弾薬などの仮想アイテムを取得する。この例では、仮想キャラクタ106による仮想ゲームチェスト112の開封、及び仮想ゲームチェスト112からの仮想アイテムの回収は、アクティビティA3の例示である。さらに、この例では、アクティビティA3の後、ユーザ102は、HHC104を介して仮想キャラクタ106を制御して、仮想谷114を渡る。この例では、仮想キャラクタ106が仮想谷114を渡る動作は、アクティビティA4の例である。この例では、ゲームコンテキスト100を生成するためのゲームコンテキストデータは、クライアントデバイスのディスプレイデバイス上に表示するために、ゲームシステムの1つ以上のプロセッサによって生成される。ゲームセッションの終了時に、ユーザ102は、HHC104を使用して、ユーザアカウント1からログアウトする。ユーザアカウント1からログアウトすると、ゲームセッションが終了する。
【0034】
同様に、ユーザ104は、ユーザアカウント1を介してこのゲームまたは他のゲームの追加のゲームセッションにアクセスする。ユーザ102が追加のゲームセッションにアクセスすると、ゲームシステムの1つ以上のプロセッサがゲームコンテキスト116を作成し、ユーザ102は、追加のゲームセッションのそれぞれにおいて、ゲームコンテキスト116によって提供される複数のアクティビティと関わる。一例を挙げると、ゲームコンテキスト116のうちの1つ以上は、ゲームコンテキスト100を有するゲームのゲームコンテキストと同じゲームのものである。例示すると、ゲームコンテキスト100は、ゲームタイトルFortnite(商標)を有するゲームのものであり、ゲームコンテキスト116のうちの1つ以上は、ゲームタイトルFortnite(商標)を有する同じゲームのものである。別の例として、ゲームコンテキスト116のうちの1つ以上は、ゲームコンテキスト100を有するゲームとは異なるゲームのものである。例示すると、ゲームコンテキスト100は、ゲームタイトルFortnite(商標)を有するゲームのものであり、ゲームコンテキスト116のうちの1つ以上は、ゲームタイトルApex Legends(商標)を有する異なるゲームのものである。追加のゲームセッションのそれぞれは、ユーザアカウント1にログインした後にユーザ102によってアクセスされ、ユーザ102がユーザアカウント1からログアウトした後に追加のゲームセッションのそれぞれが終了することに留意されたい。
【0035】
実施形態では、ゲームセッションでユーザ102が最終結果を達成すると、ゲームセッションは終了する。
【0036】
一実施形態では、ゲームのゲームセッションは、ゲームが終了するか、またはユーザ102によって終了するように制御されたときに終了する。ゲームが終了した後、同じゲームまたは別のゲームのゲームセッションが、ユーザ102によるゲームプレイのために、ゲームシステムの1つ以上のプロセッサからアクセスされる。
【0037】
一実施形態では、1つ以上の仮想シーンは、1つ以上の拡張現実(AR)シーンを含む。
【0038】
実施形態では、ユーザ102は、ゲームをプレイするためにHHC104の代わりに複数のハンドヘルドコントローラを使用する。例えば、ユーザ102は、ゲームをプレイするために、左手に第1のハンドヘルドコントローラを持ち、右手に第2のハンドヘルドコントローラを持つ。ハンドヘルドコントローラのそれぞれは、本明細書ではゲームコントローラと呼ばれることがある。
【0039】
一実施形態では、ゲームコンテキストは、他の任意の数のアクティビティを含む。例えば、ゲームコンテキストは、1つのアクティビティ、または2つのアクティビティ、または10のアクティビティを含む。
【0040】
一実施形態では、HHC104の代わりに、HMDがコントローラとして使用される。
【0041】
実施形態では、HHC104に加えて、HMDがコントローラとして使用される。この実施形態では、HHC104及びHMDは、本明細書ではコントローラと呼ばれる。
【0042】
図2は、アクティビティA1~A4のそれぞれの間の難易度などのアクティビティレベルと、ユーザ102がアクティビティを完了するのにかかった時間tとを示すグラフ200である。グラフ200は、アクティビティレベルをy軸にプロットし、時間tをx軸にプロットする。時間tは、時間t0から時間t22に及ぶ。時間t0~t22のうち、連続する2つの時間の間の期間は等しいことに留意されたい。例えば、時間t0からt1までの期間は、時間t1からt2までの期間と等しい。アクティビティレベルは0から8までの幅があり、0から8まで増加する。0は簡単なアクティビティレベルであり、8は困難なまたは過酷なアクティビティレベルであり、1から7までのアクティビティレベルは簡単なレベルと難しいレベルとの間にわたる。アクティビティレベルは、ゲームシステムの1つ以上のプロセッサによって実行されるゲームプログラムによって割り当てられる。
【0043】
グラフ200に示されるように、ゲームシステムの1つ以上のプロセッサは、アクティビティレベル4をアクティビティA1に割り当て、ユーザ102(
図1)がアクティビティA1を終えるのに時間t0から時間t6までの第1の期間を要することを判定する。例えば、ゲームシステムの1つ以上のプロセッサは、クロックソースを含むか、またはクロックソースにアクセスし、クロックソースによって生成されたクロック信号に基づいて、ユーザ102がユーザアカウント1を介して仮想キャラクタ108(
図1)と戦い、仮想キャラクタ108に勝ち抜くのに第1の期間を要することを判定する。同様に、ゲームシステムの1つ以上のプロセッサは、アクティビティレベル8をアクティビティA2に割り当て、ユーザ102がアクティビティA2を終えるのに時間t6から時間t24までの期間を要することを判定し、アクティビティレベル1をアクティビティA3に割り当て、ユーザ102がアクティビティA3を終えるのに時間t14から時間t17までの期間を要することを判定し、アクティビティレベル3をアクティビティA4に割り当て、ユーザ102がアクティビティA4を終えるのに時間t17から時間t22までの期間を要することを判定する。例えば、ゲームシステムの1つ以上のプロセッサは、クロック信号に基づいて、ユーザ102がユーザアカウント1を介して仮想巨人110(
図1)と戦うのに第2の期間を要することを判定する。この例では、第2の期間は、仮想キャラクタ106(
図1)が仮想巨人110と戦い、仮想巨人110に勝ち抜くのに要する時間である。この例では、ゲームシステムの1つ以上のプロセッサは、第2の期間が第1の期間よりも長いことをさらに判定する。同様に、ゲームシステムの1つ以上のプロセッサは、ゲームコンテキスト116(
図1)中にユーザ102によって完了されるアクティビティのアクティビティレベルを判定する。
【0044】
図3は、ユーザ102(
図1)がゲームコンテキスト100内のアクティビティA1~A4に参加するときのゲームシステムの1つ以上のプロセッサによる状態データ302の収集を示すグラフ300である。状態データの例を以下に示す。ゲームシステムの1つ以上のプロセッサは、アクティビティA1~A4のそれぞれの間に状態データ302を収集する。例えば、ユーザ102がアクティビティA1~A4に参加するとき、ゲームシステムの1つ以上のプロセッサは、状態データ302を判定する、識別する、またはアクセスするなど取得し、状態データ302をゲームシステムの1つ以上のメモリデバイスに格納する。
【0045】
状態データ302はオンザフライで取得され格納されることに留意されたい。例えば、仮想キャラクタ106が仮想キャラクタ108(
図1)と戦い、仮想キャラクタ108に勝ち抜いた直後に、ゲームシステムの1つ以上のプロセッサは、仮想キャラクタ108の姿勢及び向きに対する仮想キャラクタ106の姿勢及び向きに基づいて、仮想キャラクタ106が仮想キャラクタ108との戦いを終えたことを判定し、仮想キャラクタ108の姿勢及び向きに対する仮想キャラクタ106の姿勢及び向きが得られるとすぐに、ユーザアカウント1に割り当てられた、仮想ポイントの数、または仮想キルの数、またはそれらの組み合わせなどの仮想成果の数を識別する。この例では、その仮想キャラクタ108の姿勢は、ゲームコンテキスト100(
図1)におけるデッドポジションまたは仮想地面に平らに横たわる姿勢などの横向姿勢である。また、この例では、その仮想キャラクタ106の姿勢は、立位などの立向き姿勢である。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、アクティビティレベルをアクティビティA1の4として識別し、第1の期間を計算する。この例では、仮想キャラクタ106の姿勢及び向き、仮想キャラクタ108の姿勢及び向き、仮想成果の数、アクティビティレベル、及び第1の期間は、状態データ302の例であり、1つ以上のプロセッサが、ゲームシステムの1つ以上のメモリデバイスに、仮想成果の数、アクティビティレベル、及び第1の期間を格納する。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、アクティビティA1~A4に関わっている間に、ユーザアカウント1内でユーザ102に割り当てられたスキルレベルを識別する。例えば、スキルレベルは、初心者、平均、またはエキスパートである。この例では、スキルレベルは、コンテキスト100を使用したゲームプレイに先行するゲームプレイ中、及びコンテキスト100を使用したゲームプレイ中に、ユーザ102のパフォーマンスレベルに基づいて、1つ以上のプロセッサによってユーザ102に割り当てられる。この例では、スキルレベルは、状態データ302の例示である。
【0046】
さらに、この例では、ゲームシステムの1つ以上のプロセッサは、アクティビティA1に関わるために、HHC104(
図1)のボタンのそれぞれを押し付けるまたは押し進めるなど動かすのにかかった時間、あるいはジョイスティックなどのボタンのセットの1つを動かすのにかかった時間、HHC104の複数の連続する位置及び向きのうちの2つの間でHHC104を動かすのにかかった時間、またはそれらの組み合わせを追跡する。この例では、HHC104のボタンのそれぞれを動かすのにかかる時間は、状態データ302の例である。また、この例では、HHC104のボタンのセットを複数の連続する位置及び向きのうちの2つの間で移動させるのにかかる時間は、状態データ302の例である。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、アクティビティA1に関わるために、HHC104のボタンを押し付けるまたは押し進めるなどの複数の移動を追跡し、ゲームシステムの1つ以上のメモリデバイスに、時間及びボタン移動回数を格納する。この例では、移動回数は、状態データ302の例である。例示すると、ゲームシステムの1つ以上のプロセッサは、仮想キャラクタ106及び108など、アクティビティA1がディスプレイデバイスに表示された時間から、ユーザ102がHHC104のXボタンを押してジャンプを開始し、それによって仮想キャラクタ108(
図1)に撃たれるのを回避するのに10秒かかったと判定する。例示では、ゲームシステムの1つ以上のプロセッサは、仮想キャラクタ106が仮想キャラクタ108を撃ち、仮想キャラクタ108に勝ち抜くことができるようにするために、ユーザ102がXボタンを押した後にHHC104のR1ボタンを押すのに15秒かかったと判定する。例示では、Xボタン及びR1ボタンのそれぞれは、HHC104のボタンのうちの1つのボタンの例である。
【0047】
さらに、例示では、ゲームシステムの1つ以上のプロセッサは、HHC104のボタンの、磁力計、加速度計、及びジャイロスコープなどの慣性センサから受け取った慣性センサデータに基づいて、仮想キャラクタ108に勝ち抜くために仮想キャラクタ106を移動中に、HHC104の、ジョイスティックセットなどのボタンのセットのうちの1つの、複数の連続した位置及び向きを判定する。さらに例示すると、ボタンのセットのうちの1つの、複数の連続する位置及び向きは、第1の位置(x1,y1,z1)、第1の向き(θ1,φ1,γ1)、第2の位置(x2,y2,z2)、及び第2の向き(θ2,φ2,γ2)を含む。さらなる例示では、x1及びx2のそれぞれは、HHC104の本体の基準座標からのx軸に沿ったそれぞれの距離であり、y1及びy2のそれぞれは、基準座標からのy軸に沿ったそれぞれの距離であり、z1及びz2のそれぞれは、基準座標からのz軸に沿ったそれぞれの距離であり、θ1はx軸と第1の位置との間の角度であり、θ2はx軸と第2の位置との間の角度であり、φ1はy軸と第1の位置との間の角度であり、φ2はy軸と第2の位置との間の角度であり、γ1はz軸と第1の位置との間の角度であり、γ2はz軸と第2の位置との間の角度である。さらに、この例では、1つ以上のプロセッサは、HHC104のボタンのセットのうちの1つの、複数の連続した位置及び向きを判定する。
【0048】
この例では、ゲームシステムの1つ以上のプロセッサは、移動されたHHC104のボタンのそれぞれを識別して、移動されたまたは移動されていないHHC104のボタンの別のボタンと区別する。また、この例では、ゲームシステムの1つ以上のプロセッサは、アクティビティA1と関わっている間にHHC104のボタンがユーザ102によって動かされる順序などのシーケンスを判定する。この例では、HHC104のボタンのセットのうちの1つの、複数の連続する位置及び向き、動かされるHHC104のボタンのそれぞれの識別、及びシーケンスは、状態データ302の例である。
【0049】
同様に、ゲームコンテキスト100のアクティビティA2~A4に関する状態データ302は、ゲームシステムの1つ以上のプロセッサによって取得され、ゲームシステムの1つ以上のメモリデバイスに格納される。さらに、同様に、ゲームコンテキスト116(
図1)に関する状態データは、ゲームシステムの1つ以上のプロセッサによって取得され、ゲームシステムの1つ以上のメモリデバイスに格納される。
【0050】
図4は、ユーザ102のゲームコンテキスト100及びゲームコンテキスト116への取り組みから判定された状態データ418に基づく、予測結果などの予測指標426の生成を示すシステム400の実施形態の図である。システム400は、メタデータプロセッサ402、コンテキストラベラ404、アクションラベラ406、メトリックラベラ408、コンテキスト分類器410、アクション分類器412、メトリック分類器414、及びプロフィルモデル416を含む。一例を挙げると、コンテキストラベラ404、アクションラベラ406、メトリックラベラ408、コンテキスト分類器410、アクション分類器412、メトリック分類器414、及びプロフィルモデル416のそれぞれは、ハードウェアコンポーネントまたはソフトウェアコンポーネントである。例示すると、コンテキストラベラ404、アクションラベラ406、メトリックラベラ408、コンテキスト分類器410、アクション分類器412、メトリック分類器414、及びプロフィルモデル416のそれぞれは、人工知能(AI)プロセッサによって実行されるソフトウェアプログラムまたはソフトウェアの一部である。さらに例示すると、プロフィルモデル416は、機械学習モデル、またはニューラルネットワーク、または人工知能モデルである。別の例示として、コンテキストラベラ404、アクションラベラ406、メトリックラベラ408、コンテキスト分類器410、アクション分類器412、メトリック分類器414、及びプロフィルモデル416のそれぞれは、ASICまたはPLDのハードウェア回路部分である。AIプロセッサ及びメタデータプロセッサ402は、ゲームシステムの1つ以上のプロセッサの例である。システム400は、状態データ418、ゲームコンテキスト420、ユーザインタラクション422、及びパフォーマンスメトリック424をさらに含む。状態データ418の例は、状態データ302(
図3)と、ユーザ102のゲームコンテキスト116への取り組みに基づいて生成された状態データとの組み合わせを含む。
【0051】
ゲームシステムの1つ以上のプロセッサは、オンザフライで状態データ418を収集する。例えば、ゲームシステムの1つ以上のプロセッサは、ゲームコンテキスト420の1つとのユーザインタラクション422の1つ以上から状態データ418を取得しながら、ゲームコンテキスト420の1つを生成するために実行されるゲームプログラムを中断しない。
【0052】
ゲームコンテキスト420の例には、ゲームコンテキスト100及びゲームコンテキスト116(
図1)が含まれる。ユーザインタラクション422の例には、HHC104のボタンを動かすのにかかる時間、HHC104のボタンのセットのそれぞれを、HHC104のボタンの複数の連続する位置及び向きのうちの2つの間で動かすのにかかる時間、ボタン移動の数、動かされるボタンの識別、HHC104のボタンが動かされるシーケンス、及びゲームコンテキスト420のそれぞれとのユーザインタラクション422中のHHC104のボタンのセットのそれぞれの、複数の連続する位置及び向きが含まれる。さらに、パフォーマンスメトリック424の例には、ゲームコンテキスト420のそれぞれの間に収集された仮想成果の数、またはゲームコンテキスト420のそれぞれの間のユーザ102のスキルレベル、またはゲームコンテキスト420のそれぞれの間のそれらの組み合わせに基づいて判定された値が含まれる。例えば、ゲームシステムの1つ以上のプロセッサは、ゲームコンテキスト100のアクティビティA1~A4の間のユーザ102の平均スキルレベルと、ゲームコンテキスト100の間にユーザアカウント1を介してユーザ102によって達成された第1の数の仮想成果との重み付けされた組み合わせに基づいて、第1のパフォーマンスメトリックを生成する。この例では、ゲームシステムの1つ以上のプロセッサは、ゲームコンテキスト116の1つの間のユーザ102のエキスパートスキルレベルと、ゲームコンテキスト116の1つの間にユーザアカウント1を介してユーザ102によって達成された第2の数の仮想成果との重み付けされた組み合わせに基づいて、第2のパフォーマンスメトリックを生成する。この例では、第2のパフォーマンスメトリックは、第1のパフォーマンスメトリックの値よりも大きいか、または小さい値である。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、第1の識別子PM1を第1のパフォーマンスメトリックに割り当て、第2の識別子PM2を第2のパフォーマンスメトリックに割り当てる。この例では、第1の識別子及び第2の識別子PM1及びPM2は、状態データ418の一部である。
【0053】
ゲームシステムの1つ以上のプロセッサは、異なる識別子を、ユーザインタラクション422及びパフォーマンスメトリック424よりもゲームコンテキスト420に割り当てる。例えば、ゲームシステムの1つ以上のプロセッサは、識別子のそれぞれが用語GCを有した識別子をゲームコンテキスト420に割り当てる。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、識別子のそれぞれが用語UIを有した識別子をユーザインタラクション422に割り当てる。また、この例では、ゲームシステムの1つ以上のプロセッサは、識別子のそれぞれが用語PMを有した識別子をパフォーマンスメトリック424に割り当てる。ゲームコンテキスト420、ユーザインタラクション422、及びパフォーマンスメトリック424の識別子は、状態データ418の一部である。
【0054】
また、ゲームシステムの1つ以上のプロセッサは、ゲームコンテキスト420のそれぞれに異なる識別子を割り当てる。例えば、ゲームコンテキスト100には、GC1などの識別子が割り当てられ、ゲームコンテキスト116のうちの1つには、GC2などの識別子が割り当てられて、ゲームコンテキスト100をゲームコンテキスト116のうちの1つと区別する。
【0055】
ゲームシステムの1つ以上のプロセッサは、さらに、HHC104の各ボタンと、ボタンの動きの異なる各タイプとに、異なる識別子を割り当てる。例えば、ゲームシステムの1つ以上のプロセッサは、識別子BT1をHHC104の第1のボタンに割り当て、識別子BT2をHHC104の第2のボタンに割り当てる。さらに、この例では、ゲームシステムの1つ以上のプロセッサは、識別子1BPを第1のボタンの押し付けに割り当て、識別子2BPUを第2のボタンの押し進めに割り当てる。別の例として、ゲームシステムの1つ以上のプロセッサは、識別子2BPUDUをボタンの押し上げに割り当て、別の識別子2BPUDDをボタンの押し下げに割り当て、さらに別の識別子2BPUDRを右方向にボタンを押すことに割り当て、さらに別の識別子2BPUDLを左方向にボタンを押すことに割り当てる。この例では、上方向、下方向、右方向、及び左方向の移動が、ボタンの移動のタイプである。HHC104のボタンの識別子及びボタンの動きのタイプの識別子は、状態データ418の一部である。
【0056】
さらに、ゲームシステムの1つ以上のプロセッサは、HHC104のボタン、ボタンの動きのタイプ、及びゲームコンテキスト420の間の対応識別子を提供する。例えば、ゲームシステムの1つ以上のプロセッサは、対応識別子CI1を割り当てて、ゲームコンテキスト100の識別子と、ユーザ102のゲームコンテキスト100への取り組み中に動かされたHHC104の1つ以上のボタンの1つ以上の識別子と、取り組み中の1つ以上のボタンの1つ以上の動きのタイプの1つ以上の識別子との間の一意の関係を識別する。対応識別子はまた、状態データ418の一部である。
【0057】
メタデータプロセッサ402は、コンテキストラベラ404、アクションラベラ406、及びメトリックラベラ408に結合される。また、コンテキストラベラ404はコンテキスト分類器410に結合され、アクションラベラ406はアクション分類器412に結合され、メトリックラベラ408はメトリック分類器414に結合される。コンテキスト分類器410、アクション分類器412、及びメトリック分類器414は、プロフィルモデル416に結合される。コンテキストラベラ404は、アクションラベラ406及びメトリックラベラ408に結合される。
【0058】
メタデータプロセッサ402は、ゲームシステムの1つ以上のメモリデバイスから状態データ418にアクセスし、状態データ418を解析して、ゲームコンテキスト420、ユーザインタラクション422、及びパフォーマンスメトリック424を識別する。例えば、メタデータプロセッサ402は、状態データ418の各行を読み取って、ゲームコンテキスト420、ユーザインタラクション422、及びパフォーマンスメトリック424を区別する。例示すると、メタデータプロセッサ402は、識別子GC、UI、及びPMに基づいて、ゲームコンテキスト420、ユーザインタラクション422、及びパフォーマンスメトリック424を区別する。さらに例示すると、メタデータプロセッサ402は、識別子GCを有する状態データ418の行がゲームコンテキスト420の1つであり、識別子UIを有する状態データ418の行がユーザインタラクション422の1つであると判定する。
【0059】
コンテキストラベラ404は、メタデータプロセッサ402からゲームコンテキスト420を受け取り、ゲームコンテキスト420のそれぞれを識別して、ゲームコンテキストにラベルを付ける。例えば、コンテキストラベラ404は、ゲームコンテキスト100が、ゲームコンテキスト116のうちの1つのゲームコンテキストの仮想オブジェクトのセットとは違った異なる仮想オブジェクトのセットを含むと判定する。例示すると、コンテキストラベラ404は、仮想オブジェクトのサイズ、形状、色、またはそれらの組み合わせに基づいて、ゲームコンテキスト内の各仮想オブジェクトを識別し、ゲームコンテキスト内の仮想オブジェクトの識別子から、ゲームコンテキスト100が、ゲームコンテキスト116のうちの1つにおける仮想オブジェクトのセットとは違った異なる仮想オブジェクトのセットを含むことをさらに判定する。さらに例示すると、コンテキストラベラ404は、ゲームコンテキスト100が仮想キャラクタ106、仮想キャラクタ108、仮想巨人110、仮想ゲームチェスト112、及び仮想谷114を含むことを識別する。さらなる例示では、コンテキストラベラ404は、ゲームコンテキスト116の1つが仮想アバタ、仮想デスクトップモニタ、仮想ペンシルホルダ、及び仮想デスクを含むことを識別する。さらなる例示では、仮想キャラクタ106、仮想キャラクタ108、仮想巨人110、仮想ゲームチェスト112、及び仮想谷114のセットは、仮想アバタ、仮想デスクトップモニタ、仮想ペンシルホルダ、及び仮想デスクのセットと異なる。別の例として、コンテキストラベラ404は、ゲームコンテキスト100をゲームコンテキスト116の1つから区別するために、ゲームシステムの1つ以上のプロセッサによって、ゲームコンテキスト116のうちの1つに割り当てられたGC2などの識別子とは違った、GC1などの異なる識別子がゲームコンテキスト100に割り当てられていることを判定する。ゲームコンテキスト420のそれぞれのラベル付けは、ゲームコンテキスト420の1つをゲームコンテキスト420の別の1つから区別する。コンテキストラベラ404は、ゲームコンテキスト420のラベルをアクションラベラ406及びメトリックラベラ408に提供する。
【0060】
アクションラベラ406は、メタデータプロセッサ402からユーザインタラクション422を受け取り、コンテンツラベラ404からゲームコンテキスト420のラベルを受け取り、ゲームコンテキスト420のそれぞれの間に、ユーザインタラクション422のそれぞれを識別して、ユーザインタラクション422のそれぞれにラベルを付ける。例えば、アクションラベラ406は、HHC104のボタンの識別子に基づいて、HHC104の残りのボタンからボタンを区別し、ボタンの動きのタイプの識別子に基づいて、ボタンの動きのタイプをゲームコンテキスト420のうちの1つの間のHHC104のボタンの別の動きのタイプから区別する。
【0061】
メトリックラベラ408は、メタデータプロセッサ402からパフォーマンスメトリック424を受け取り、コンテンツラベラ404からゲームコンテキスト420のラベルを受け取り、ゲームコンテキスト420のそれぞれの間にパフォーマンスメトリック424のそれぞれを識別して、パフォーマンスメトリック424のそれぞれにラベルを付ける。例えば、メトリックラベラ408は、ゲームコンテキスト420のうちの1つの間のパフォーマンスメトリックの識別子に基づいて、第1のパフォーマンスメトリックを第2のパフォーマンスメトリックから区別する。
【0062】
各ラベルは識別である。例えば、ラベルは、あるラベルを別のラベルと区別する英数字のシーケンスである。
【0063】
コンテキスト分類器410は、コンテキストラベラ404からゲームコンテキスト420のラベルを受け取り、ゲームコンテキスト420のそれぞれを分類して、ゲームコンテキスト分類を出力する。例えば、コンテキスト分類器410は、ゲームコンテキスト100がA1及びA2などの所定数のアクティビティを含み、各アクティビティが3.5などの所定のレベルを超えるアクティビティレベルを有すると判定する。この例では、コンテキスト分類器410は、コンテキスト100を困難なコンテキストとして分類する。この例では、困難なコンテキストは、コンテキスト分類の1つの例である。別の例として、コンテキスト分類器410は、ゲームコンテキスト116の1つが所定の数のアクティビティを有さず、各アクティビティが所定のレベルを超えるアクティビティレベルを有すると判定する。この例では、コンテキスト分類器410は、ゲームコンテキスト116のうちの1つが簡単なコンテキストであると判定する。この例では、簡単なコンテキストは、コンテキスト分類の1つの例である。
【0064】
同様に、アクション分類器412は、アクションラベラ406からユーザインタラクション422のラベルを受け取り、ユーザインタラクション422のそれぞれを分類して、アクション分類を出力する。例えば、アクション分類器412は、ユーザ102が、HHC104のXボタンを押すなどの複数のゲームコンテキスト420との複数のユーザインタラクション420に参加するのに所定の時間よりも長くかかったと判定する。この例では、仮想キャラクタ106及び108(
図1)が複数のゲームコンテキスト420内で表示された後、仮想キャラクタ108によって発射された仮想弾丸をかわすために仮想キャラクタ106がジャンプを開始するように制御するユーザインタラクション420の1つが発生する。さらに、この例では、アクション分類器412は、複数のユーザインタラクション422のそれぞれを難しいインタラクションとして分類する。この例では、ゲームコンテキスト420の数は予め設定された数よりも多く、ユーザインタラクション422の数はゲームコンテキスト420の数に等しい。別の例として、アクション分類器412は、ユーザ102が、仮想巨人110(
図1)を撃つために使用されるR1ボタンの代わりに、仮想銃を再装弾するために使用される四角ボタンを押すなど、複数のユーザインタラクション422に参加していることを判定する。この例では、ゲームコンテキスト100(
図1)などの複数のゲームコンテキスト420に関わるために、複数のユーザインタラクション422が発生する。この例では、アクション分類器412は、四角ボタンを押す複数のユーザインタラクション422のそれぞれを難しいインタラクションとして分類する。この例では、ゲームコンテキスト420の数は予め設定された数よりも多く、ユーザインタラクション422の数はゲームコンテキスト420の数に等しい。この例では、射撃用のR1ボタンは、射撃するために押すべき所定のボタンである。さらに別の例として、アクション分類器412は、ユーザ102が、複数のユーザインタラクション422を介して、複数のゲームコンテキスト420と関わっていることを判定する。この例では、複数のユーザインタラクション422のそれぞれの例示は、複数のゲームコンテキスト420のそれぞれにおいて、仮想巨人110と戦い、仮想巨人110に勝ち抜くために、HHC104上のボタンの所定のシーケンスとは異なるHHC104上のボタンのシーケンスを、押すなど、選択することである。さらに、この例では、アクション分類器412は、複数のユーザインタラクション422のそれぞれを難しいインタラクションとして分類する。この例では、ゲームコンテキスト420の数は予め設定された数よりも多く、ユーザインタラクション422の数はゲームコンテキスト420の数に等しい。
【0065】
先行する3つの例では、難しいインタラクションはアクション分類の例である。さらに別の例として、アクション分類器412は、仮想キャラクタ108がゲームコンテキスト100(
図1)内に表示された後、ユーザ102がHHC104のXボタンボタンを押してジャンプを開始するのにかかった時間が所定の時間以下であることを判定し、その結果、ボタンを押すというユーザインタラクション422の1つを簡単なインタラクションとして分類する。別の例として、アクション分類器412は、ユーザ102がR1ボタンを押して仮想巨人110を撃つことを判定し、したがって、所定のボタンであるR1ボタンを押すというユーザインタラクション422の1つを簡単なインタラクションとして分類する。さらに別の例として、アクション分類器412は、ユーザ102が仮想巨人110と戦うためにHHC104上のボタンの所定のシーケンスを押すなど選択することを判定して、ユーザインタラクション422の1つを簡単なインタラクションとして分類する。先行する3つの例では、簡単なインタラクションはアクション分類の例である。
【0066】
さらに、メトリック分類器414は、メトリックラベラ408からパフォーマンスメトリック424のラベルを受け取り、パフォーマンスメトリック424のそれぞれを分類してメトリック分類を出力する。例えば、メトリック分類器414は、第1のパフォーマンスメトリックが所定の閾値を上回っていることを判定して、ユーザ102が、ゲームコンテキスト100のアクティビティA1~A4とインタラクションしている間、高いパフォーマンスメトリックを有することを判定する。この例では、メトリック分類器414は、第2のパフォーマンスメトリックが所定の閾値を下回っていることを判定して、ユーザ102が、ゲームコンテキスト100のアクティビティA1~A4とインタラクションしている間、低いパフォーマンスメトリックを有することを判定する。さらに、この例では、メトリック分類器414は、第2のパフォーマンスメトリックが所定の閾値であることを判定して、ユーザ102が、ゲームコンテキスト100のアクティビティA1~A4とインタラクションしている間、平均のまたは低いパフォーマンスメトリックを有することを判定する。この例では、高、低、及び平均のパフォーマンスメトリックは、メトリック分類の例である。
【0067】
各分類はレベルである。例えば、困難なコンテキストは分類レベルであり、簡単なコンテキストは別の分類レベルである。別の例として、難しいインタラクションは分類レベルであり、簡単なインタラクションは分類レベルである。さらに別の例として、高いパフォーマンスメトリックは分類レベルであり、平均のまたは低いパフォーマンスメトリックは分類レベルである。
【0068】
アクション分類器412は、ユーザインタラクション422のラベルをプロフィルモデル416に提供する。例えば、アクション分類器412は、HHC104のどのボタンがユーザ102によって動かされたか、HHC104のジョイスティックなどのボタンのセットの位置及び向き、ならびにボタンを押し付ける、またはボタンを押し進める、またはある方向にボタンを押すなどの動きのタイプを示すラベルを提供する。プロフィルモデル416はまた、コンテキスト分類器410からコンテキスト分類を受け取り、アクション分類器412からアクション分類を受け取り、メトリック分類器414からメトリック分類を受け取って、予測指標426を生成する。例えば、プロフィルモデル416は、メトリック分類から、予め設定された閾値よりも大きい数のゲームコンテキスト420において、メトリック分類が高パフォーマンスメトリックであることを識別する。さらに、この例では、プロフィルモデル416は、コンテキスト分類器410から受け取ったコンテキスト分類から、複数のゲームコンテキスト420のそれぞれが、難しいコンテキストであることを識別する。さらに、この例では、プロフィルモデル416は、複数のゲームコンテキスト420に関わっている間、ユーザ102によるインタラクションが簡単なインタラクションであることを識別する。この例では、高パフォーマンスメトリック、難しいコンテキスト、及び簡単なインタラクションの間の対応は、関係の例である。この例では、プロフィルモデル416は、ユーザ102が将来、複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストが表示されるゲームセッション中に、高いパフォーマンスメトリックを達成することを示す、ユーザ102にとって好ましい予測指標を生成する。
【0069】
一例を挙げると、予測指標426のそれぞれは、ユーザ102のゲームスキルの指標である。例示すると、予測指標426のそれぞれは、ユーザ102が複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストの目標を達成するかどうかを示す。例示では、目標は、同様のゲームコンテキストのアクティビティA1~A4の1つ以上を行って終わらせることである。例示では、目標が達成されない場合、ユーザ102は、同様のゲームコンテキストを有するゲームにおいて先へ進まない、または前進しない。さらに例示すると、ユーザ102がゲームの同様のゲームコンテキストのアクティビティA1~A4を完了することができない場合、ゲームシステムの1つ以上のプロセッサは、ゲームの別のゲームコンテキストを表示することができない。さらなる例示では、他のゲームコンテキストは、ゲームに従って同様のゲームコンテキストに連続して続く。別の例示として、目標は、同様のゲームコンテキストとインタラクションすることによって、所定の数の仮想ポイントを獲得することである。例示では、目標が達成されない場合、ユーザ102は、同様のゲームコンテキストを有するゲームにおいて先へ進まない。さらに例示すると、ユーザ102が同様のゲームコンテキストで所定数の仮想ポイントを獲得できない場合、ゲームシステムの1つ以上のプロセッサは、ゲームの別のゲームコンテキストを表示できない。
【0070】
別の例として、プロフィルモデル416は、メトリック分類から、予め設定された閾値よりも大きい数のゲームコンテキスト420において、メトリック分類が平均のまたは低いパフォーマンスメトリックであることを識別する。さらに、この例では、プロフィルモデル416は、コンテキスト分類器410から受け取ったコンテキスト分類から、複数のゲームコンテキスト420のそれぞれが、難しいまたは簡単なコンテキストであることを識別する。さらに、この例では、プロフィルモデル416は、複数のゲームコンテキスト420に関わっている間、ユーザ102によるインタラクションが難しいインタラクションであることを識別する。この例では、平均のまたは低いパフォーマンスメトリック、難しいまたは簡単なコンテキスト、及び難しいまたは簡単なインタラクションの間の対応は、関係の例である。この例では、プロフィルモデル416は、ユーザ102が、複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストが表示されるゲームセッション中に、低いまたは平均のパフォーマンスメトリックを達成することを示す、ユーザ102にとって好ましくない予測指標を生成する。この例では、好ましくない予測指標は、ユーザ102の1つ以上のゲームスキルの欠如を示す。例示すると、好ましくない予測指標は、ユーザ102が、将来、複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストで目標を達成するために、所定のシーケンスとは違った異なるHHC104のボタンのシーケンスを押すことを示す。別の例として、好ましくない予測指標は、ユーザ102が、将来、複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストで、HHC104のジョイスティックを下方向ではなく上方向に押すことを示す。例示では、下方向は、複数のゲームコンテキスト420のうちの1つ以上と似ているゲームコンテキストで目標を達成するための所定の方向である。
【0071】
さらに別の例として、プロフィルモデル416は、メトリック分類から、予め設定された閾値以下である数のゲームコンテキスト420において、メトリック分類が高パフォーマンスメトリックであることを識別する。この例では、ゲームコンテキスト420の数は、メトリック分類の数に等しい。さらに、この例では、プロフィルモデル416は、コンテキスト分類器410から受け取ったコンテキスト分類から、複数のゲームコンテキスト420のそれぞれが、難しいコンテキストであることを識別する。さらに、この例では、プロフィルモデル416は、複数のゲームコンテキスト420に関わっている間、ユーザ102による複数のユーザインタラクション422が簡単なインタラクションであることを識別する。この例では、ユーザインタラクションの数は、ゲームコンテキスト420の数に等しいか、少ないか、または多い。この例では、プロフィルモデル416は、ユーザ102が、ゲームコンテキスト420の1つ以上と似ているゲームコンテキストが表示されるゲームセッション中に、低いパフォーマンスメトリックを達成することを示す、ユーザ102にとって好ましくない予測指標を生成する。
【0072】
さらに別の例として、プロフィルモデル416は、メトリック分類から、予め設定された閾値以下である数のゲームコンテキスト420において、複数のメトリック分類が高パフォーマンスメトリックであることを識別する。この例では、ゲームコンテキスト420の数は予め設定された数よりも多く、メトリック分類の数はゲームコンテキスト420の数に等しい。さらに、この例では、メトリック分類の数は、ゲームコンテキスト420の数の代わりにパフォーマンスメトリック424の数に等しい。さらに、この例では、プロフィルモデル416は、コンテキスト分類器410から受け取ったコンテキスト分類から、複数のゲームコンテキスト420のそれぞれが、簡単なコンテキストであることを識別する。さらに、この例では、プロフィルモデル416は、複数のゲームコンテキスト420に関わっている間、ユーザ102によるインタラクションが難しいインタラクションであることを識別する。この例では、プロフィルモデル416は、ユーザ102が、ゲームコンテキスト420の1つ以上と似ているゲームコンテキストが表示されるゲームセッション中に、低いパフォーマンスメトリックを達成することを示す、ユーザ102にとって好ましくない予測指標を生成する。コンテキスト分類器410から受け取ったコンテキスト分類、アクション分類器412から受け取ったアクション分類、及びメトリック分類器414から受け取ったメトリック分類に基づく予測指標426の生成は、プロフィルモデル426を訓練する例であることに留意されたい。
【0073】
一実施形態では、メタデータプロセッサ402は、ゲームシステムの1つ以上のメモリデバイスから状態データ418にアクセスしない。むしろ、この例では、メタデータプロセッサ402は、ゲームコンテキスト420とのユーザインタラクション422中に状態データ418を取得するゲームシステムの1つ以上のプロセッサから直接状態データ418にアクセスする。
【0074】
実施形態では、ゲームコンテキスト及び選択コンテキストという用語は、本明細書では交換可能なようにして使用される。
【0075】
一実施形態では、予め設定された数のゲームコンテキスト420の所定数のアクティビティが、ユーザアカウント1及びHHC104を介してユーザ102によって完了されると、ゲームシステムの1つ以上のプロセッサによって高パフォーマンスメトリックが生成される。この実施形態では、予め設定された数のゲームコンテキスト420の所定数のアクティビティが、ユーザアカウント1及びHHC104を介してユーザ102によって完了されないと、ゲームシステムの1つ以上のプロセッサによって低パフォーマンスメトリックが生成される。
【0076】
実施形態では、難しいインタラクションは、本明細書では不適切なインタラクションと呼ばれることがあり、簡単なインタラクションは、本明細書では適切なインタラクションと呼ばれることがある。
【0077】
図5は、ゲームシステム502及びHHC104を使用して、予測指標426に基づいてHHC104を介してユーザ102に支援入力データ506を提供することを示すシステム500の実施形態の図である。システム500は、コンピューティングデバイスまたはクラウドシステムなどのゲームシステム502を含む。システム500は、クライアントデバイスのディスプレイデバイスの例であるディスプレイデバイス514をさらに含む。
【0078】
ゲームシステム502は、状態データ418、メタデータプロセッサ402、パフォーマンスメトリック424、プロフィルモデル416、支援データジェネレータ504、支援入力データ506、ゲームのゲームプログラム510、現在のゲームプレイデータ508、及び支援入力機能512を含む。一例を挙げると、ゲームプログラム510を有するゲームは、それに基づいて予測指標426が生成されるゲームの1つ以上と同じか、または異なる。支援データジェネレータ504の例は、ゲームシステム502の1つ以上のプロセッサである。
【0079】
支援入力機能512の例は、ハードウェアまたはソフトウェアである。例示すると、支援入力機能512は、ゲームシステム502の1つ以上のプロセッサによって実行されるソフトウェアプログラムである。別の例示として、支援入力機能512は、ゲームシステム502のASIC、またはPLD、または別の集積回路である。
【0080】
同様に、支援データジェネレータ504の例は、ハードウェアまたはソフトウェアである。例示すると、支援データジェネレータ504は、ゲームシステム502の1つ以上のプロセッサによって実行されるソフトウェアプログラムである。別の例示として、支援データジェネレータ504は、ゲームシステム502のASIC、またはPLD、または別の集積回路である。
【0081】
プロフィルモデル416は、ゲームプログラム510に結合された支援入力機能512に結合される。プロフィルモデル416は、予測指標426を支援入力機能512に提供する。例えば、支援入力機能512を実行するゲームシステム502の1つ以上のプロセッサは、プロフィルモデル416から予測指標426を受け取る。支援データジェネレータ504は、プロフィルモデル416及び支援入力機能512にも結合される。支援入力機能512及びゲームプログラム510は、HHC104に結合される。支援データジェネレータ504は、ゲームプログラム510に結合される。
【0082】
予測指標426が生成されるゲームセッションの発生中または発生後に、ユーザ102は、ユーザアカウント1にログインし、HHC104を使用して、ゲームプログラム510を有するゲームにアクセスするための要求を生成し送信する。ユーザ102がユーザアカウント1にログインし、ゲームシステム502の1つ以上のプロセッサによってゲームへのアクセスが提供されると、ゲームシステム502の1つ以上のプロセッサは、ユーザ102がゲームプログラム510の実行中に支援入力機能512を使用したいかどうかを判定するためのプロンプトをディスプレイデバイス514に表示する要求をクライアントデバイスに送信する。ユーザ102は、HHC104を使用して、ユーザ102が支援入力機能512を使用したいことを示し、HHC104は、そのインディケーションをゲームシステム502に送信する。HHC104からインディケーションが受信されると、ゲームプログラム510が、支援入力機能512と共に、ゲームシステム502の1つ以上のプロセッサによって実行されて、ディスプレイデバイス514上でゲームの現在のゲームセッションを開始する。支援入力機能512は、プロフィルモデル416から予測指標426を受け取り、予測指標426を適用する。ユーザ102が支援入力機能512を適用することを望まないという別のインディケーションを受信すると、ゲームプログラム510は、支援入力機能512を適用することなく実行される。
【0083】
現在のゲームセッション中に、ゲームプログラム510が実行されると、ゲームシステム502の1つ以上のプロセッサが現在のゲームプレイデータ508を生成する。例示すると、現在のゲームプレイデータ508は、ゲームプログラム510を有するゲームの現在のゲームコンテキスト、現在のゲームコンテキストとのユーザ102の複数のユーザインタラクション、及び現在のゲームコンテキストとのユーザインタラクションに基づいて、ゲームシステム502の1つ以上のプロセッサによって判定されたパフォーマンスメトリックを含む。
【0084】
それに基づいて現在のゲームプレイデータ508が生成される現在のゲームセッションの間中にまたはその前に、支援データジェネレータ504は、プロフィルモデル416にアクセスして、プロフィルモデル416から予測指標426を受け取る。例えば、支援データジェネレータ504は、プロフィルモデル416から予測指標426を要求する。この例では、プロフィルモデル416は、その要求に応答して、予測指標426を支援データジェネレータ504に送る。次いで、支援データジェネレータ504は、予測指標426を分析するなど、処理して、支援入力データ506を生成または出力する。例えば、支援データジェネレータ504は、ゲームコンテキスト420の1つ以上とのユーザインタラクション422の1つ以上に基づいて生成された好ましくない予測指標を受け取る。この例では、支援入力データ506は、好ましくない予測指標を好ましい予測指標に修正するように生成される。この例では、好ましくない予測指標は、ユーザ102が、現在のゲームコンテキストを有するゲームにおいて、仮想キャラクタをキルする、または所定数の仮想ポイントを達成する、または仮想の谷を渡る、または仮想の山を越える、または仮想キャラクタ108をキルする、または仮想巨人110をキルする、またはそれらの組み合わせなどのタスクを完了できないことを示す。
【0085】
この例では、支援データジェネレータ504は、ゲームプログラム510と通信して支援入力データ506を生成し、それによって好ましくない予測指標を好ましい予測指標に修正する。例示すると、支援データジェネレータ504は、アクション分類器412から受け取ったユーザインタラクション422のラベルに基づいて、予め設定された量のゲームコンテキスト420の1つ以上の間に、ユーザ102がR1ボタンの代わりに四角ボタンを選択して、仮想巨人110(
図1)などの1つ以上の仮想オブジェクトを撃ったことを識別する。例示では、支援データジェネレータ504は、ゲームプログラム510と通信して、予め設定された量のゲームコンテキスト420の1つ以上にわたる1つ以上の好ましくない予測指標を1つ以上の好ましい予測指標に修正するために、四角ボタンの代わりにR1ボタンを押すべきことを判定する。さらに、例示では、支援データジェネレータ504は、現在のゲームコンテキスト中またはその直前に、ユーザ102が四角ボタンの代わりにR1ボタンを選択することをユーザ102に示すなど示唆するために、支援入力データ506を生成する。例示では、R1ボタンの選択は入力タイプの例である。例示では、支援入力データ506は、R1ボタンを強調表示するための光データ、またはR1ボタンを押し下げるように制御するための押下入力データである。例示では、押下入力データは、コントローラ入力データの例である。
【0086】
別の例示として、支援データジェネレータ504は、アクション分類器412から受け取ったユーザインタラクション422のラベルに基づいて、ユーザ102がHHC104を操作して、第1のシーケンスまたは第1の連続順に従って、HHC104のボタンのセットを選択することを識別する。例示では、支援データジェネレータ504は、ゲームプログラム510と通信して、予め設定された量のゲームコンテキスト420の1つ以上にわたる1つ以上の好ましくない予測指標を1つ以上の好ましい予測指標に修正するために、HHC104のボタンのセットが第2のシーケンスまたは第2の連続順に従って選択されることを判定する。例示では、1つ以上の好ましくない予測指標は、ユーザ102が現在のゲームコンテキストを有するゲームでタスクを完了することができないことを示す。例示では、支援データジェネレータ504は、現在のゲームコンテキスト中またはその直前に、ユーザ102が第2のシーケンスに従ってボタンのセットを選択することをユーザ102に示すなど示唆するために、支援入力データ506を生成する。例示では、第2のシーケンスによるボタンのセットの選択は、入力タイプの例である。例示では、支援入力データ506は、第2のシーケンスの順序でボタンのセットを強調表示する光データ、または第2のシーケンスに従ってボタンのセットを押し下げるための押下入力データである。例示では、押下入力データは、コントローラ入力データの例である。
【0087】
別の例として、予め設定された量のゲームコンテキスト420にとって好ましい予測指標426を受け取ると、支援データジェネレータ504は、支援入力機能512に提供するための支援入力データ506を出力しない。
【0088】
現在のゲームセッション中に、支援データジェネレータ504は、支援入力データ506を支援入力機能512に提供する。支援入力機能512は、支援入力データ506を受け取り、現在のゲームセッションでのゲームプレイのために、支援入力データ506を適用して、ゲームプログラム510の実行中にユーザインタラクションを修正するように、ゲームシステム502の1つ以上のプロセッサによって実行される。
【0089】
ユーザ102が、それに基づいて現在のゲームプレイデータ508が生成されるゲームをプレイしている間に、支援入力機能512は、予測指標426及び現在のゲームプレイデータ508を分析するなど処理して、支援入力データ506をHHC104に送信するかどうかを判定する。例えば、支援入力機能512は、ゲームコンテキスト420の1つ以上とのユーザインタラクション422の1つ以上に基づいて生成された好ましくない予測指標を受け取る。この例では、支援入力機能512は、ゲームプログラム510からゲームプレイデータ508を取得し、このゲームプレイデータ508から、ユーザ102がインタラクションしている現在のゲームコンテキストを識別するなど検出し、現在のゲームコンテキストが、それに基づいて好ましくない予測指標が生成される予め設定された量のゲームコンテキスト420と似ているかどうかを判定する。例示すると、支援入力機能512は、現在のゲームコンテキスト内の予め設定された量の仮想オブジェクトが、それに基づいて好ましくない予測指標が生成される予め設定された量のゲームコンテキスト420のそれぞれにおける予め設定された量の仮想オブジェクトと一致するかどうかを判定する。例示では、仮想オブジェクトのサイズ、形状、及び色に基づいて、予め設定された量の仮想オブジェクトが識別される。さらに、例示では、現在のゲームコンテキスト内の予め設定された量の仮想オブジェクトが、予め設定された量のゲームコンテキスト420内の予め設定された量の仮想オブジェクトと一致すると判定すると、支援入力機能512は、現在のゲームコンテキストが、予め設定された量のゲームコンテキスト420と似ていると判定し、支援入力データ506をHHC104に送信するように判定する。その一方で、例示では、現在のゲームコンテキスト内の予め設定された量の仮想オブジェクトが、予め設定された量のゲームコンテキスト420内の予め設定された量の仮想オブジェクトと一致しないと判定すると、支援入力機能512は、現在のゲームコンテキストが、予め設定された量のゲームコンテキスト420と似ていないと判定し、現在のゲームコンテキストに対する支援入力データ506をHHC104に送信しない。
【0090】
例を続けると、支援入力機能512は、現在のゲームコンテキストが、それに基づいて予測指標426が生成される予め設定された量のゲームコンテキスト420に似ていると判定すると、支援入力データ506をHHC104に送信するなど、支援キューをアクティブにする。この例では、支援入力データ506は、現在のゲームコンテキストに対して潜在的に好ましくない予測指標を好ましい予測指標に修正するために送信される。例示すると、支援データジェネレータ504は、アクション分類器412から受け取ったユーザインタラクション422のラベルに基づいて、ユーザ102が、好ましくない予測指標が生成される予め設定された量のゲームコンテキスト420の間に、R1ボタンの代わりに四角ボタンを選択したことを識別する。例示では、支援データジェネレータ504は、支援入力機能512に支援入力データ506を提供する。例示では、仮想キャラクタ108または仮想巨人110(
図1)と戦うタスクを実行するなど、ユーザ102が現在のゲームコンテキストとインタラクションしようとする前に、支援入力機能512が支援入力データ506をHHC104に送信して、ユーザ102が四角ボタンの代わりにR1ボタンを選択したことをユーザ102に示す。例示では、支援入力データ506は、R1ボタンを発光させる光データ、またはR1ボタンを自動で押すように制御する押下入力データ、またはそれらの組み合わせである。例示では、支援入力データ506は、現在のゲームコンテキストが生成された後であるが、ユーザ102が現在のゲームコンテキストとインタラクションする前に送信される。例示では、支援入力データ506は、ゲームシステム502がクラウドシステムである場合、コンピュータネットワークを介してゲームシステム502からHHC104に送信される。さらに、例示では、支援入力データ506は、ゲームシステム502がコンピューティングデバイスである場合、有線または無線通信媒体を介してゲームシステム502からHHC104に送信される。有線通信媒体の例はケーブルであり、無線通信媒体の例は、Bluetooth(商標)またはWi-Fi(商標)など、無線プロトコルを通信に適用する媒体である。
【0091】
別の例示として、支援データジェネレータ504は、アクション分類器412から受け取ったユーザインタラクション422のラベルに基づいて、現在のゲームコンテキストと似ているゲームコンテキスト420のうちの1つ以上の間に、ユーザ102がHHC104上の四角ボタンを選択することを識別する。例示では、支援データジェネレータ504は、四角ボタンの選択に対応する予測指標426の1つが好ましくないことを識別する。例示では、支援データジェネレータ504は、支援入力機能512に支援入力データ506を提供する。さらに、例示では、ユーザ102が現在のゲームコンテキストとインタラクションしようとする前に、支援入力機能512が支援入力データ506をHHC104に送信して、ユーザ102がR1ボタンを選択したことをユーザ102に示す。
【0092】
さらに別の例示として、支援データジェネレータ504は、アクション分類器412から受け取ったユーザインタラクション422のラベルに基づいて、現在のゲームコンテキストと似ているゲームコンテキスト420のうちの1つ以上の間に、ユーザ102がHHC104を操作して、第1のシーケンスまたは第1の連続順に従って、HHC104のボタンのセットを選択したことを識別する。例示では、支援データジェネレータ504は、第1のシーケンスによるボタンのセットの選択に対応する予測指標426の1つが好ましくないことを識別する。例示では、支援データジェネレータ504は、支援入力機能512に支援入力データ506を提供する。例示では、ユーザ102が現在のゲームコンテキストとインタラクションしようとする前に、支援入力機能512が、支援入力データ506をHHC104に送信して、ユーザ102が、第2のシーケンスに従ってボタンのセットを選択したことをユーザ102に示すなど示唆する。支援入力データ506がHHC104に送信されると、予測ゲーム支援が、ユーザアカウント1及びHHC104を介してユーザ102に提供される。
【0093】
現在のゲームコンテキストまたは次のゲームコンテキストなどのゲームコンテキストがディスプレイデバイス514に表示されている間はいつでも、ゲームシステム502の1つ以上のプロセッサは、支援入力機能512が中断されるかどうかを判定する。例えば、現在のゲームコンテキスト及び次のゲームコンテキストなどの1つ以上のゲームコンテキストとのユーザ102のインタラクションに基づいて、予測指標426が修正されるか、またが追加の予測指標が生成される。この例では、ユーザ102のインタラクションは、支援入力機能512が適用されて、予測指標426のうちの1つ以上を好ましくないものから好ましいものに修正した後に発生する。さらに、この例では、支援入力機能512は、1つ以上のゲームコンテキストとのユーザインタラクションに基づいて、少なくとも所定数の予測指標426が好ましくないものから好ましいものに修正されるかどうかを判定する。この例では、そのように判定すると、1つ以上のプロセッサは、現在のゲームコンテキストまたは次のゲームコンテキストなどのゲームコンテキスト中に、支援入力機能512をゲームプログラム510に適用しないように支援入力機能512を非アクティブ化する。一例を挙げると、次のゲームコンテキストは、現在のゲームプレイデータ508が生成される現在のゲームセッションの後に発生する次のゲームセッション中に発生する。別の例として、1つ以上のプロセッサは、1つ以上のゲームコンテキスト中に所定数の仮想ポイントが達成されるか、または1つ以上のゲームコンテキスト中に所定の結果が達成されるか、または1つ以上のゲームコンテキスト中に所定数のゲームタスクが達成されるか、またはそれらの組み合わせかを判定する。この例では、そのように判定すると、1つ以上のプロセッサは、支援入力機能512を非アクティブ化する。
【0094】
実施形態では、ユーザ102は、HHC104を使用して、現在のゲームコンテキストまたは次のゲームコンテキストなどのゲームコンテキストの任意の時点で、支援入力機能512を非アクティブ化する。
【0095】
一実施形態では、支援入力機能512は、ゲームプログラム510と統合される。例えば、ゲームシステム502の1つ以上のプロセッサは、支援入力機能512及びゲームプログラム510を含むプログラムを時分割方式で実行する。
【0096】
実施形態では、支援データジェネレータ504、支援入力データ506、支援入力機能512、及びゲームプログラム510のうちの2つ以上が互いに統合される。例えば、ゲームシステム502の1つ以上のプロセッサは、支援データジェネレータ504、支援入力機能512、及びゲームプログラム510を含むプログラムを時分割方式で実行する。
【0097】
一実施形態では、ゲームシステム502の1つ以上のプロセッサは、現在のゲームコンテキストの前に、ゲームの訓練セッションまたはキャリブレーションセッション中に、ユーザ102のゲームスタイルを学習して、予測指標426のうちの1つ以上を判定し、予測指標426のうちの1つ以上を適用して、現在のゲームコンテキスト中にユーザ102のためにHHC104の1つ以上のボタンを押すかまたは強調表示するなど、制御する。さらに、この実施形態では、HHC104の1つ以上のボタンを制御することに加えて、またはその代替として、ゲームシステム502の1つ以上のプロセッサが、訓練またはキャリブレーションセッションに基づいて生成された1つ以上の予測指標426に基づいて、ゲームプログラム510を制御する。例えば、ゲームシステム502の1つ以上のプロセッサは、ユーザ102に訓練セッションまたはキャリブレーションセッションでタスクを迅速に達成するように通知する、仮想オブジェクトを飛び越えるなどの1つ以上のテストを実行して、ユーザ102のゲームスタイルを判定する。この例では、ゲームシステム502の1つ以上のプロセッサは、ゲームスタイルをユーザ102のユーザプロフィルに保存してプロフィルモデル416を構築し、そのゲームスタイルを使用してユーザ102のゲームを調整する。例えば、ゲームシステム502の1つ以上のプロセッサは、現在のゲームコンテキストがディスプレイデバイス514に表示される前に、ゲームプログラム510を下方に調節するために、現在のゲームコンテキストの1つ以上の部分を修正する。この例では、現在のゲームコンテキストの1つ以上の部分を修正して、1つ以上の修正された現在のゲームコンテキストを出力し、それによって現在のゲームコンテキストとのインタラクション中にユーザ102がパフォーマンスメトリックを増加できるようにする。例示すると、ゲーム502の1つ以上のプロセッサは、現在のゲームコンテキストを修正して、アクティビティA2などのアクティビティを削除するか、または仮想巨人112(
図1)の機能の修正など、1つ以上の仮想オブジェクトの機能を修正し、それによって仮想キャラクタ106(
図1)を攻撃する回数を所定の回数未満にするか、またはアクティビティを別の簡単なアクティビティに置き換える。さらなる例示では、アクティビティは、3.5などの所定のレベルよりも高いアクティビティレベルを有し、簡単なアクティビティは、所定のレベル未満のアクティビティレベルを有する。別の例示として、ゲーム502の1つ以上のプロセッサは、現在のゲームコンテキストを修正して、現在のゲームコンテキスト内で1つ以上の仮想オブジェクトが移動する速度を低下させる。
【0098】
一実施形態では、ゲームシステム502の1つ以上のプロセッサは、ユーザ102の気分または熱心さ、例えば冷めた感じの気分または激しい感じの気分などを判定し、その気分または熱心さに基づいてゲームのゲームプレイのモードを調節する。例えば、モードは、ユーザ102が表現する気分または熱心さに基づいて、簡単なモードまたは難しいモードに調節される。例示すると、ゲームシステム502の1つ以上のプロセッサは、HHC104の、1つ以上のマイクロフォンを介して、キャリブレーションまたは訓練セッション中にユーザ102によって発せられた音に基づく音声データを受信する。例示では、ゲームシステム502の1つ以上のプロセッサは、その音声データを所定の音声データと比較して、ユーザ102が動揺しているかリラックスしているかを判定する。例示では、ユーザ102が動揺していると判定すると、ゲームシステム502の1つ以上のプロセッサは、ゲームを下方に調節して、上述の方法で現在のゲームコンテキストを表示する。さらに、例示では、ユーザ102がリラックスしていると判定すると、ゲームシステム502の1つ以上のプロセッサは、現在のゲームコンテキストを表示するために、ゲームを下方に調節すること、またはゲームを上方に調節することをしない。さらに例示すると、ゲームシステム502の1つ以上のプロセッサは、現在のゲームコンテキストがディスプレイデバイス514に表示される前に、ゲームプログラム510を上方に調節するために、現在のゲームコンテキストの1つ以上の部分を修正する。さらなる例示では、現在のゲームコンテキストの1つ以上の部分を修正して、1つ以上の修正された現在のゲームコンテキストを出力し、それによって現在のゲームコンテキストとのインタラクション中にユーザ102に挑戦する。さらなる例示では、ゲーム502の1つ以上のプロセッサは、現在のゲームコンテキストを修正して、アクティビティA1~A4にアクティビティを追加するか、または仮想巨人112(
図1)の機能の修正など、1つ以上の仮想オブジェクトの機能を修正し、それによって仮想キャラクタ106(
図1)を攻撃する回数を所定の回数よりも多くするか、またはアクティビティA1~A4の1つ以上をより難しいアクティビティに置き換える。例示では、より難しいアクティビティは、8より大きいアクティビティレベルを有する。別のさらなる例示として、ゲーム502の1つ以上のプロセッサは、ユーザ102に挑戦するため現在のゲームコンテキストを修正して、現在のゲームコンテキスト内で1つ以上の仮想オブジェクトが移動する速度を上げる。
【0099】
実施形態では、ゲームシステム502の1つ以上のプロセッサは、ユーザプロフィルに基づいて、ユーザ102が初心者プレーヤであると判定すると、ゲームを下方調節する。この実施形態では、ゲームシステム502の1つ以上のプロセッサは、ユーザプロフィルに基づいて、ユーザ102が経験豊富なプレーヤであると判定すると、ゲームを上方調節する。さらに、この実施形態では、ゲームシステム502の1つ以上のプロセッサは、ユーザプロフィルに基づいて、ユーザ102が中級者プレーヤであると判定すると、ゲームを上方または下方に調節しない。この実施形態では、中級者プレーヤは、経験豊富なプレーヤと初心者プレーヤとの中間のレベルを有する。
【0100】
図6は、支援入力データ506が生成され、HHC104の複数の異なる領域に送信されることを示すシステム600の実施形態の図である。システム600は、ディスプレイデバイス602及びHHC104を含む。ディスプレイデバイス602は、ディスプレイデバイス514(
図5)の例である。ディスプレイデバイス602の例としては、デスクトップコンピュータのディスプレイデバイス、ラップトップコンピュータのディスプレイデバイス、HMDのディスプレイデバイス、スマートテレビのディスプレイデバイス、及びスマートフォンのディスプレイデバイスが挙げられる。また、HHC104は、表示画面を有するディスプレイデバイス616を含む。HHC104は、HHC104のディスプレイデバイスのプロセッサ及びグラフィック処理ユニット(GPU)をさらに含む。HHC104のプロセッサはHHC104のGPUに結合され、GPUはHHC104の表示画面に結合される。
【0101】
HHC104は、左ジョイスティック602及び右ジョイスティック604を含む。HHC104は、上へ移動ボタン、下へ移動ボタン、右へ移動ボタン、及び左へ移動ボタンなどの方向ボタンを含む方向パッド606をさらに含む。HHC104はまた、Xボタン、Oボタン、三角ボタン、及び四角ボタンを含む。HHC104は、L1ボタン及びR1ボタンを有する。左ジョイスティック602及び右ジョイスティック604のそれぞれは、HHC104のボタンの例である。また、HHC104の各ボタンは、HHC104のコンポーネントの例であり、HHC104の各コンポーネントは、HHC104の領域の例である。HHC104は、ハウジングなどの本体608を含み、そこから左ジョイスティック602及び右ジョイスティック604が垂直上方に延びる。
【0102】
HHC104のプロセッサは、それぞれのドライバを介して、HHC104の各コンポーネントに関連付けられたそれぞれのライトシステムに結合される。例えば、HHC104のプロセッサは、第1のドライバを介してHHC104のXボタンに関連付けられた第1のライトシステムに結合され、第2のドライバを介してHHC104のOボタンに関連付けられた第2のライトシステムに結合される。この例では、HHC104のプロセッサは、第3のドライバを介して左ジョイスティック602に関連付けられた第3のライトシステムに結合され、第4のドライバを介して右ジョイスティック604に関連付けられた第4のライトシステムに結合される。さらに、この例では、HHC104のプロセッサは、第5のドライバを介してL1ボタンに関連付けられた第5のライトシステムに結合され、第6のドライバを介してR1ボタンに関連付けられた第6のライトシステムに結合される。ドライバの例には、互いに結合された1つ以上のトランジスタが含まれる。ライトシステムの例は、発光ダイオード(LED)、または光源、またはLEDストリップ、またはLEDライトのストリング、またはレーザーライト、または電球などの1つ以上の発光体を含む。各発光体は、ユーザに見える可視光を放出する。
【0103】
一例を挙げると、ライトシステムから発せられた光がユーザ102に対してボタンを強調して、ユーザ102がボタンを押すように動機付ける場合、ライトシステムはHHC104のボタンに関連付けられる。例示として、Xボタンは、プラスチックなどの透明または半透明の材料から製造され、第1のライトシステムはXボタンの底面に取り付けられる。例示では、第1のライトシステムは、Xボタンの底面に取り付けられて、透明または半透明の材料の上面の下に配置される1つ以上のLEDライトを含む。別の例示として、第3のライトシステムは、左ジョイスティック602を強調するために左ジョイスティック602のヘッドまたは本体を取り囲む1つ以上のLEDライトを含む。さらに、例示では、第3のライトシステムは、HHC104の本体608のエンクロージャ内に配置され、左ジョイスティック602の直径よりも大きい直径を有する円の形状を形成する。例示では、左ジョイスティック602は、その本体がヘッドの下に位置し、ヘッドとの接合部で一体化されている。
【0104】
また、HHC104のプロセッサは、それぞれのドライバ及びそれぞれのドライブシステムを介して、HHC104のそれぞれのボタンに結合される。例えば、HHC104のプロセッサは、一次ドライバ及び一次駆動システムを介してHHC104のXボタンに結合され、二次ドライバ及び二次駆動システムを介してHHC104のOボタンに結合される。この例では、HHC104のプロセッサは、三次ドライバ及び三次駆動システムを介してHHC104のL1ボタンに結合され、四次ドライバ及び四次駆動システムを介してHHC104のR1ボタンに結合される。駆動システムの例は、コイル及び磁石を含む。この例では、コイルは一端で磁石に近接し、反対側の端でドライバに近接している。この例では、コイルを通って流れる電流によって誘導された磁場が磁石の磁場と干渉するとき、コイルは磁石に近接する。さらに、この例では、磁石は、HHC104のボタンの近くにあり、ボタンを押すなどの制御を行う。例示すると、ボタンを制御するために磁石がボタンの下側に取り付けられるか、または固定される。
【0105】
また、HHC104のプロセッサは、オーディオドライバ及びオーディオ駆動システムを介してHHC104のスピーカに結合される。例えば、HHC104のプロセッサは、第1のオーディオドライバ及び第1のオーディオ駆動システムを介してHHC104の第1のスピーカに結合され、第2のオーディオドライバ及び第2のオーディオドライバシステムを介してHHC104の第2のスピーカに結合される。オーディオドライバの一例は、1つ以上のトランジスタを含む。オーディオ駆動システムの例は、1つ以上のコイル及び1つ以上の磁石の配列を含む。スピーカの例は、振動板を含む。この例では、スピーカの1つ以上の磁石は、スピーカの振動板に近接している。
【0106】
HHC104のプロセッサは、ゲームシステム502(
図5)から支援入力データ506(
図5)を受信する。支援入力データ506は、ユーザ102がゲームコンテキスト610とインタラクションしようとする前に、HHC104のプロセッサによって受信される。支援入力データ506は、Xボタンを押すようにユーザ102に示すために、HHC104のプロセッサにXボタンを強調表示するように指示する。Xボタンを押すことを示す支援入力データ506を受信すると、HHC104のプロセッサは、制御信号を第1のドライバに送る。制御信号を受け取ると、第1のドライバは、電流信号を生成し、その電流信号を第1のライトシステムに送る。電流信号を受け取ると、Xボタンに関連付けられている第1のライトシステムが点灯して、Xボタンを強調表示する。ユーザ102が、強調表示されたXボタンを押すなどして選択すると、仮想キャラクタ612は、仮想キャラクタ612がゲームコンテキスト610の別の仮想キャラクタ614によって撃たれるのを防ぐためにジャンプするようにユーザ102によって制御される。
【0107】
Xボタンの強調表示に加えて、またはその代替として、支援入力データ506は、「Xを押してください」などの通知618を表示して、ユーザ102にXボタンを押して、ゲームコンテキスト610とインタラクションするように動機付けるための画面テキストデータなどの通知データを含む。支援入力データ506は、HHC104のプロセッサに、ディスプレイデバイス602を制御して、ユーザ102にXボタンを押すように指示する通知618を生成するように指示する。支援入力データ506を受け取ると、HHC104のプロセッサは、支援入力データ506をHHC104のGPUに送る。支援入力データ506を受け取ると、GPUは、HHC104の表示画面を制御して、ディスプレイデバイス602の表示画面上に通知618を表示する。
【0108】
通知618を表示することに加えて、またはその代替として、及びXボタンを強調表示することに加えて、またはその代替として、支援入力データ506は、ゲームコンテキスト610内でXボタンを押すようにユーザ102を動機付けるために、「Xを押してください」などの音を生成するための音声データを含む。支援入力データ506は、HHC104のプロセッサに、HHC104のスピーカを制御して、ユーザ102にXボタンを押すように指示する音を生成するように指示する。支援入力データ506を受け取ると、HHC104のプロセッサは、制御信号を生成し、その制御信号をHHC104のオーディオドライバに送る。制御信号を受け取ると、オーディオドライバは、電流信号をオーディオ駆動システムに出力する。オーディオ駆動システムは、磁場を生成してスピーカの振動板を制御し、それによってユーザ102にXボタンを押すよう動機付けるため「Xを押してください」などの音を出力する。
【0109】
通知618を表示することに加えて、またはその代替として、及びXボタンを強調表示することに加えて、またはその代替として、及び通知618を表示することに加えて、またはその代替として、支援入力データ506は、HHC104のプロセッサに、Xボタンを押すなど自動的に選択するためにXボタンを制御するよう指示する。Xボタンを押すことを示す支援入力データ506を受信すると、HHC104のプロセッサは、制御信号を一次ドライバに送る。制御信号を受け取ると、一次ドライバは、電流信号を生成し、その電流信号を一次駆動システムのコイルに送る。電流信号を受け取ると、一次駆動システムのコイルが磁場を生成する。磁場は、一次駆動システムの磁石の磁場と相互作用して、Xボタンを本体608に向かって下向きに押すなど制御する。
【0110】
同様に、支援入力データ506は、ユーザ102がゲームコンテキスト620とインタラクションしようとする前に、HHC104によって受信される。支援入力データ506は、HHC104のプロセッサに、左ジョイスティック602を動かすよう指示する。左ジョイスティック602の選択は、ユーザ102がゲームコンテキスト620を進めるのに役立つ。例えば、左ジョイスティック602を選択すると、ユーザアカウント1を介して獲得される仮想ポイントの数が増加する。別の例として、左ジョイスティック602を選択すると、仮想キャラクタ612がゲームコンテキスト620内で生き続けるのに役立って、仮想キャラクタ616がゲームコンテキスト622を先に進めるようにする。左ジョイスティック602を選択するよう指示する支援入力データ506を受信すると、HHC104のプロセッサは、制御信号を第3のドライバに送る。制御信号を受け取ると、第3のドライバは、電流信号を生成し、その電流信号を第4のライトシステムに送る。電流信号を受け取ると、左ジョイスティック602に結合されている第3のライトシステムがオンになり、左ジョイスティック602を強調表示するように光を発する。ユーザ102が左ジョイスティック602を動かすと、仮想キャラクタ612は、仮想キャラクタ612がゲームコンテキスト616の仮想キャラクタ614によって撃たれるのを防ぐために、左に動くようユーザ102によって制御される。
【0111】
左ジョイスティック602の強調表示に加えて、またはその代替として、支援入力データ506は、「左スティック」などの通知623を表示して、ユーザ102に左ジョイスティック602を動かして、ゲームコンテキスト620とインタラクションするように動機付けるための画面テキストデータなどの通知データを含む。支援入力データ506は、HHC104のプロセッサに、ディスプレイデバイス602を制御して、ユーザ102に左ジョイスティック602を押すように指示する通知623を生成するように指示する。支援入力データ506を受け取ると、HHC104のプロセッサは、支援入力データ506をHHC104のGPUに送る。支援入力データ506を受け取ると、GPUは、HHC104の表示画面を制御して、表示画面上に通知623を表示する。
【0112】
また、支援入力データ506は、ユーザ102がゲームコンテキスト622とインタラクションしようとする前に、HHC104によって受信される。支援入力データ506は、R1ボタンを押すなど選択するようにユーザ102に示すなど示唆するために、HHC104のプロセッサにR1ボタンを強調表示するように指示する。R1ボタンを選択することを示す支援入力データ506を受信すると、HHC104のプロセッサは、制御信号を第6のドライバに送る。制御信号を受け取ると、第6のドライバは、電流信号を生成し、その電流信号を第6のライトシステムに送る。電流信号を受け取ると、R1ボタンに結合された第6のライトシステムが、電圧源から電力を受け取るなどオンになって、R1ボタンを照らす。ユーザ102がR1ボタンを選択すると、仮想キャラクタ612は、ゲームコンテキスト622の仮想キャラクタ615をキルするために仮想キャラクタ614で仮想弾丸を発射するように、ユーザ102によって制御される。
【0113】
R1ボタンの強調表示に加えて、またはその代替として、支援入力データ506は、「R1を押してください」などの通知624を表示して、ユーザ102に、ゲームコンテキスト622内でR1ボタンを押すように動機付けるための画面テキストデータなどの通知データを含む。支援入力データ506は、HHC104のプロセッサに、ディスプレイデバイス602を制御して、ユーザ102にXボタンを押すように指示する通知618を生成するように指示する。支援入力データ506を受け取ると、HHC104のプロセッサは、支援入力データ506をHHC104のGPUに送る。支援入力データ506を受け取ると、GPUは、HHC104の表示画面を制御して、表示画面上に通知624を表示する。
【0114】
通知624を表示することに加えて、またはその代わりに、支援入力データ506は、「R1を押してください」などの音を生成するための音声データを含んで、ユーザ102がR1ボタンを押してゲームコンテキスト610とインタラクションするように動機付ける。支援入力データ506は、HHC104のプロセッサに、HHC104のスピーカを制御して、ユーザ102にR1ボタンを押すように指示する音を生成するように指示する。支援入力データ506を受け取ると、HHC104のプロセッサは、制御信号を生成し、その制御信号をHHC104のオーディオドライバに送る。制御信号を受け取ると、オーディオドライバは、電流信号をオーディオ駆動システムに出力する。オーディオ駆動システムは、磁場を生成してスピーカの振動板を制御し、それによってユーザ102にR1ボタンを押すよう動機付けるため「R1を押してください」などの音を出力する。
【0115】
R1ボタンを強調表示することに加えて、またはその代替として、及び通知624を表示することに加えて、またはその代替として、及びR1ボタンを押すようにユーザ102に示すために音を出力することに加えて、またはその代替として、支援入力データ506は、HHC104のプロセッサに、R1ボタンを押すなど自動的に選択するためにR1ボタンを制御するよう指示する。R1ボタンを押すことを示す支援入力データ506を受信すると、HHC104のプロセッサは、制御信号を四次ドライバに送る。制御信号を受け取ると、四次ドライバは、電流信号を生成し、その電流信号を四次駆動システムのコイルに送る。電流信号を受け取ると、四次駆動システムのコイルが磁場を生成する。磁場は、四次駆動システムの磁石の磁場と相互作用して、R1ボタンをHHC104の本体608に向かって下向きに押すなど制御する。
【0116】
ゲームコンテキスト610、620、及び624のうちの1つなどの現在のゲームコンテキストから生成された状態データ、現在のゲームコンテキスト中のユーザインタラクション、ならびに現在のゲームコンテキストとのユーザインタラクションに基づいて生成されたパフォーマンスメトリックは、状態データ418(
図4)の一部になって、プロフィルモデル416を絶えずまたは継続的になど、動的に更新することに留意されたい。例えば、メタデータプロセッサ402は、状態データ418を解析して、ゲームコンテキスト610、620、及び624とのユーザインタラクションから、及びユーザインタラクションによって達成されるパフォーマンスメトリックから、ゲームコンテキスト610、620、及び624を区別する。そして、ゲームコンテキスト610、620、及び624、ゲームコンテキストとのユーザインタラクション、ならびにユーザインタラクションによって達成されるパフォーマンスメトリックは、ラベラ404~408によってラベル付けされ、次いで分類器410~414によって分類されて、プロフィルモデル416(
図4)に分類を提供する。プロフィルモデル416は、その分類と、ラベルの1つ以上とに基づいて、予測指標426に追加する追加の予測指標を生成するか、または予測指標426を更新する。
【0117】
一実施形態では、HMDは、支援入力データ506に基づいて、HHC104と同じように制御される。例えば、支援入力データ506に基づいて、HMDの右側を照明する、またはHMDの左側を照明する、またはHMDの上側を照明する、またはHMDの下側を照明するなど、特定の領域を照明する。この例では、4つの側面のうちの1つの照明は、ユーザ102に対して、HMD上に表示されるゲームコンテキストとインタラクションするために、4つの側面のうちの1つの方向を見るように指示する。
【0118】
実施形態では、ライト、または押下入力、または通知、またはそれらの組み合わせを介してユーザ102にフィードバックを提供することに加えて、またはその代わりに、触覚フィードバックデータをHHC104の1つ以上のボタンに提供することによって、触覚フィードバックがユーザ102に提供される。
【0119】
一実施形態では、本明細書に記載の実施形態は1つ以上のゲームに適用されるが、実施形態は、メタバースなどの1つ以上のインタラクティブ空間のマルチメディアコンテキストにも同様に適用される。
【0120】
図7は、本開示の様々な実施形態の態様を実行するために使用することができる例示的なデバイス700のコンポーネントを示す。このブロック図は、本開示の実施形態を実施するのに好適なパーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、サーバ、または他のデジタルデバイスを組み込むことができる、またはこれらであり得る、デバイス700を示す。デバイス700は、ソフトウェアアプリケーション及び任意選択でオペレーティングシステムを実行するための中央処理装置(CPU)702を含む。CPU702は、1つ以上の同種または異種処理コアを含む。例えば、CPU702は、1つ以上の処理コアを有する1つ以上の汎用マイクロプロセッサである。さらなる実施形態は、クエリの解釈、文脈的に関連するリソースの識別、及び文脈的に関連するリソースのビデオゲーム内での即時実施及びレンダリングなど、高並列及び計算集約的なアプリケーションに特に適合したマイクロプロセッサアーキテクチャを有する1つ以上のCPUを使用して、実施することができる。デバイス700は、ゲームセグメント(例えば、ゲームコンソール)をプレイするプレーヤにローカライズされたもの、またはプレーヤからリモートであるもの(例えば、バックエンドサーバプロセッサ)、またはクライアントへのゲームプレイのリモートストリーミングのためにゲームクラウドシステムで仮想化を使用する多くのサーバの1つであってもよい。
【0121】
メモリ704は、CPU702によって使用されるアプリケーション及びデータを記憶する。ストレージ706は、アプリケーション及びデータに不揮発性ストレージ及び他のコンピュータ可読媒体を提供し、固定ディスクドライブ、取り外し可能ディスクドライブ、フラッシュメモリデバイス、コンパクトディスクROM(CD-ROM)、デジタル多用途ディスクROM(DVD-ROM)、Blu-ray(登録商標)、高精細DVD(HD-DVD)、または他の光学記憶デバイス、ならびに信号伝送及び記憶媒体を含んでもよい。ユーザ入力デバイス708は、1人または複数のユーザからのユーザ入力をデバイス700に通信する。ユーザ入力デバイス708の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画またはビデオレコーダ/カメラ、ジェスチャを認識する追跡デバイス、及び/またはマイクロフォンが含まれる。ネットワークインタフェース714は、デバイス700が電子通信ネットワークを介して他のコンピュータシステムと通信することを可能にし、ローカルエリアネットワーク、及びインターネットなどのワイドエリアネットワークにわたる有線または無線通信を含んでもよい。オーディオプロセッサ712は、CPU702、メモリ704、及び/またはデータストレージ706によって提供される命令及び/またはデータから、アナログまたはデジタル音声出力を生成するように適合される。CPU702、メモリ704、データストレージ706、ユーザ入力デバイス708、ネットワークインタフェース710、及びオーディオプロセッサ712を含むデバイス700のコンポーネントは、データバス722を介して接続される。
【0122】
グラフィックサブシステム720はさらに、データバス722及びデバイス700のコンポーネントと接続される。グラフィックサブシステム720は、グラフィック処理ユニット(GPU)716及びグラフィックスメモリ718を含む。グラフィックスメモリ718は、出力画像の各画素の画素データを格納するために使用される表示メモリ(例えばフレームバッファ)を含む。グラフィックスメモリ718は、GPU716と同一のデバイスに統合されてもよく、GPU716と別個のデバイスとして接続されてもよく、及び/またはメモリ704内で実装されてもよい。画素データは、CPU702からグラフィックスメモリ718に直接提供されてもよい。代わりに、CPU702は、所望の出力画像を定義するデータ及び/または命令をGPU716に提供し、GPU716は、そこから1つ以上の出力画像の画素データを生成する。所望の出力画像を定義するデータ及び/または命令は、メモリ704及び/またはグラフィックスメモリ718に記憶されてもよい。1つの実施形態では、GPU716は、シーンに対するジオメトリ、照明、シェーディング、テクスチャリング、動き、及び/またはカメラパラメータを定義する命令及びデータから、出力画像の画素データを生成する3次元(3D)レンダリング機能を含む。GPU716は、シェーダプログラムを実行することが可能な1つ以上のプログラマブル実行ユニットをさらに含むことができる。
【0123】
グラフィックスサブシステム714は、グラフィックスメモリ718から画像の画素データを定期的に出力して、ディスプレイデバイス710に表示させる。ディスプレイデバイス710は、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、プラズマディスプレイ、及び有機発光ダイオード(OLED)ディスプレイを含む、デバイス700からの信号に応答して視覚情報を表示できる任意のデバイスとすることができる。デバイス700は、ディスプレイデバイス710に、例えば、アナログ信号またはデジタル信号を提供することができる。
【0124】
現在の実施形態のゲームへのアクセス提供など、広範囲な地域にわたり配信されるアクセスサービスは、多くの場合、クラウドコンピューティングを使用することに留意されたい。クラウドコンピューティングとは、動的にスケーラブルで多くの場合仮想化されたリソースがインターネットを介したサービスとして提供されるコンピューティング様式である。ユーザは、ユーザをサポートする「クラウド」の技術的インフラストラクチャのエキスパートである必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのソフトウェア(SaaS)などの異なるサービスに分類することができる。クラウドコンピューティングサービスは、多くの場合、ビデオゲームなどの共通のアプリケーションを、ウェブブラウザからアクセスするオンラインで提供するが、ソフトウェア及びデータは、クラウド内のサーバに記憶される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいたインターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
【0125】
ゲームサーバは、いくつかの実施形態では、ビデオゲームプレーヤのための持続的情報プラットフォームの動作を実行するために使用され得る。インターネット上でプレイされる大抵のビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、プレーヤからデータを収集し、収集したデータを他のプレーヤに配信する専用サーバアプリケーションを使用する。他の実施形態では、ビデオゲームは、分散型ゲームエンジンによって実行されてよい。これらの実施形態では、分散型ゲームエンジンは、複数の処理エンティティ(PE)上で実行されてよく、その結果、各PEは、ビデオゲームが実行される所与のゲームエンジンの機能セグメントを実行する。各処理エンティティは、ゲームエンジンからは単なる計算ノードと見なされる。ゲームエンジンは通常、機能的に多様な一連の操作を行って、ユーザが体験する追加のサービスと共にビデオゲームアプリケーションを実行する。例えば、ゲームエンジンは、ゲームロジックを実装し、ゲーム計算、物理的過程、ジオメトリ変換、レンダリング、照明、シェーディング、オーディオ、及び追加のゲーム内またはゲーム関連サービスを実行する。追加のサービスには、例えば、メッセージング、ソーシャルユーティリティ、オーディオ通信、ゲームプレイ再生機能、ヘルプ機能などが含まれてよい。ゲームエンジンは、特定のサーバのハイパーバイザによって仮想化されたオペレーティングシステム上で実行されてよいが、他の実施形態では、ゲームエンジン自体が複数の処理エンティティに分散され、各エンティティはデータセンタの異なるサーバユニットに常駐してよい。
【0126】
この実施形態によると、動作の実行のために各処理エンティティは、各ゲームエンジンセグメントのニーズに応じて、サーバユニット、仮想マシン、またはコンテナであってよい。例えば、ゲームエンジンセグメントがカメラの変換を担当する場合、比較的単純な数学演算(例えば、行列変換)を多数行うことになるので、その特定のゲームエンジンセグメントは、GPUに関連付けられた仮想マシンと共にプロビジョニングされてよい。より少ないがより複雑な操作を必要とする他のゲームエンジンセグメントは、1つ以上のより高出力のCPUに関連付けられた処理エンティティと共にプロビジョニングされてよい。
【0127】
ゲームエンジンを分散することにより、ゲームエンジンは、物理サーバユニットの能力に拘束されない弾力性のある計算特性を備える。代わりに、ゲームエンジンは、必要に応じて、ビデオゲームの要求を満たすためにより多いまたは少ない計算ノードと共にプロビジョニングされる。ビデオゲーム及びビデオゲームプレーヤの観点からは、複数の計算ノードに分散されているゲームエンジンは、ゲームエンジンマネージャまたはスーパーバイザがワークロードを分散し、結果をシームレスに統合して、エンドユーザにビデオゲーム出力構成要素を提供するので、単一の処理エンティティで実行される非分散ゲームエンジンと区別できない。
【0128】
ユーザは、少なくともCPU、ディスプレイ及び入力/出力(I/O)インタフェースを含む、クライアントデバイスを使用してリモートサービスにアクセスする。クライアントデバイスは、パーソナルコンピュータ(PC)、携帯電話、ネットブック、携帯情報端末(PDA)などであることができる。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントによって使用されるデバイスの種類を認識し、採用する通信方法を調整する。別の事例では、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、インターネットを介してゲームサーバ上のアプリケーションにアクセスする。所与のビデオゲームまたはゲームアプリケーションは、特定のプラットフォーム及び特定の関連コントローラデバイス用に開発され得ることを、理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介してこのようなゲームを利用可能にするときに、ユーザは、異なるコントローラデバイスによってビデオゲームにアクセスすることができる。例えば、ゲームは、ゲームコンソール及びその関連したコントローラのために開発されている可能性があるが、ユーザは、キーボード及びマウスを利用するパーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスすることができる。このようなシナリオにおいて、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この事例において、キーボード及びマウス)により生成されることが可能である入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することが可能である。
【0129】
別の実施例では、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動デバイスを介して、クラウドゲームシステムにアクセスし得る。この場合、クライアントデバイス及びコントローラデバイスは、同じデバイス内に一緒に統合され、検出されたタッチスクリーン入力/ジェスチャにより入力が提供される。このようなデバイスについて、入力パラメータ構成は、ビデオゲームについてのゲーム入力に対応する特定のタッチスクリーン入力を定義することができる。例えば、ボタン、指向性パッド、または他のタイプの入力素子は、ビデオゲームの実行中に表示され、またはオーバレイされ、ユーザがゲーム入力を生成するためにタッチすることが可能であるタッチスクリーン上の位置を示すことができる。特定の向きにおけるスワイプなどのジェスチャ、または特定のタッチモーションもゲーム入力として検出されることができる。一実施形態では、タッチスクリーン上での制御操作にユーザを慣れさせるために、例えばビデオゲームのゲームプレイを始める前に、タッチスクリーンを介してゲームプレイに入力する方法を示すチュートリアルが、ユーザに提供され得る。
【0130】
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスについての接続ポイントとして機能する。すなわち、コントローラデバイスは、無線接続または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスへ入力を送信する。次に、クライアントデバイスは、これらの入力を処理して、その後入力データを、ネットワーク(例えばルータなどのローカルネットワークデバイスを介してアクセスされるネットワーク)を介して、クラウドゲームサーバへ送信し得る。しかしながら、他の実施形態において、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、これらのような入力を最初にクライアントデバイスを通して通信する必要がなく、ネットワーク化されたデバイスであることが可能である。例えば、コントローラは、ローカルネットワークデバイス(前述のルータなど)に接続して、クラウドゲームサーバとデータを送受信し得る。したがって、クライアントデバイスは、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイにレンダリングすることを必要とされたままであることができながら、入力レイテンシは、コントローラがクラウドゲームサーバへネットワーク経由で直接に入力を送信することを可能にし、クライアントデバイスをバイパスすることにより減少することが可能である。
【0131】
1つの実施形態において、ネットワーク化されたコントローラ及びクライアントデバイスは、特定のタイプの入力をコントローラからクラウドゲームサーバへ直接に、また他のタイプの入力をクライアントデバイスを介して送信するように構成されることが可能である。例えば、コントローラ自体は別として、任意の追加のハードウェアまたは処理に依存しない検出による入力は、クライアントデバイスをバイパスして、ネットワークを介して直接コントローラからクラウドゲームサーバへ送信することができる。これらのような入力は、ボタン入力、ジョイスティック入力、埋め込み型動き検出入力(例えば、加速度計、磁力計、ジャイロスコープ)などを含むことができる。しかしながら、追加のハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバへ送信されることが可能である。これらは、クラウドゲームサーバへ送信する前に、クライアントデバイスにより処理されることができるゲーム環境から捕捉されたビデオまたは音声を含むことができる。加えて、コントローラの動き検出ハードウェアからの入力は、捕捉されたビデオと併せてクライアントデバイスにより処理され、コントローラの位置及び動きを検出することができ、その後、クライアントデバイスによりクラウドゲームサーバへ通信される。様々な実施形態によるコントローラデバイスはまた、クライアントデバイスから、または直接クラウドゲームサーバから、データ(例えばフィードバックデータ)を受信し得ることを理解されたい。
【0132】
一実施形態では、HMDを介して仮想環境を使用して、様々な技術例を実施することができる。HMDは、仮想現実(VR)ヘッドセットと呼ばれることもある。本明細書で使用するとき、「仮想現実」(VR)という用語は、一般に、仮想空間またはメタバースにいる感覚をユーザに提供するために、HMDの(ユーザによって制御される)動きにリアルタイムで応答するように、HMD(またはVRヘッドセット)を通して、仮想空間を視聴することを含む、仮想空間/仮想環境とのユーザインタラクションのことをいう。例えば、ユーザは、所与の方向を向いているときに仮想空間の3次元(3D)表示を見ることができ、ユーザが側方を向き、それによってHMDの向きを同じように変えると、仮想空間のその側方の表示がHMD上にレンダリングされる。HMDは、眼鏡、ゴーグル、またはヘルメットと同じようにして装着することができ、ビデオゲームまたは他のメタバースコンテンツをユーザに表示するように構成されている。HMDは、ユーザの目に近接して、表示機構を提供することにより、ユーザに非常に没入感のある体験をもたらし得る。したがって、HMDは、ユーザの視野の大部分、または全体さえも占める表示領域をユーザの目のそれぞれに提供することができ、3次元的な奥行き及び遠近感を伴う視聴を提供することもできる。
【0133】
一実施形態では、HMDは、ユーザがVRシーンとインタラクションしている間にユーザの目の画像をキャプチャするように構成された視線追跡カメラを含むことができる。視線追跡カメラ(複数可)によってキャプチャされた視線情報は、ユーザの視線方向、及びユーザが注目している、またはインタラクションすることに関心があるVRシーン内の特定の仮想オブジェクト及びコンテンツアイテムに関連する情報を含むことができる。したがって、ユーザの視線方向に基づいて、システムは、ユーザがインタラクションし、関わることに関心を持っている場合に、ユーザにとって潜在的な焦点となる可能性がある特定の仮想オブジェクト及びコンテンツアイテム、例えば、ゲームキャラクタ、ゲームオブジェクト、ゲームアイテムなどを検出することができる。
【0134】
いくつかの実施形態では、HMDは、ユーザの体の動きなどのユーザの実世界空間の画像、及び実世界空間に配置され得る任意の実世界オブジェクトの画像をキャプチャするように構成された、外向きのカメラ(複数可)を含んでもよい。いくつかの実施形態では、外向きのカメラによってキャプチャされた画像を分析して、HMDに対する実世界オブジェクトの位置/向きを判定することができる。HMDの既知の位置/向きを用いて、実世界のオブジェクト、及びユーザのジェスチャ及び動きからの慣性センサデータを、ユーザがVRシーンとインタラクションしている間、継続的に監視及び追跡することができる。例えば、ゲーム内のシーンとインタラクションしている間、ユーザは、シーン内の特定のコンテンツアイテムを指さしたり、その方向に歩いたりするなど、様々なジェスチャを行い得る。一実施形態では、ジェスチャをシステムによって追跡及び処理して、ゲームシーン内の特定のコンテンツアイテムとのインタラクションの予測を生成することがある。いくつかの実施形態では、機械学習を使用して、上記の予測を促進または支援してもよい。
【0135】
HMD使用中に、様々な種類の片手用コントローラ、及び両手用コントローラを使用してもよい。ある実施態様では、コントローラに含まれるライトを追跡することによって、またはコントローラに関連する形状、センサ、及び慣性データを追跡することによって、コントローラ自体を追跡することができる。これらの各種のコントローラ、または実行されて1つ以上のカメラで取り込まれる単純な手のジェスチャさえも使用することによって、HMD上にレンダリングされた仮想現実環境またはメタバースをインタフェースすること、制御すること、操作すること、この仮想現実環境またはメタバースとインタラクトすること、及びこの仮想現実環境またはメタバースに参加することが可能になる。場合によっては、HMDをネットワーク経由でクラウドコンピューティング及びゲームシステムにワイヤレスで接続できる。一実施形態では、クラウドコンピューティング及びゲームシステムは、ユーザがプレイしているビデオゲームを維持し、実行する。いくつかの実施形態では、クラウドコンピューティング及びゲームシステムは、ネットワークを介してHMD及びインタフェースオブジェクトから入力を受信するように構成される。クラウドコンピューティング及びゲームシステムは、実行中のビデオゲームのゲーム状態に影響を与えるように入力を処理するように構成される。実行中のビデオゲームからのビデオデータ、音声データ、及び触覚フィードバックデータなどの出力は、HMD及びインタフェースオブジェクトに送信される。他の実施態様では、HMDは、セルラネットワークなどの代替メカニズムまたはチャネルを介してワイヤレスでクラウドコンピューティング及びゲームシステムと通信することができる。
【0136】
さらに、本開示の実施態様は、ヘッドマウントディスプレイに関して記載され得るが、他の実施態様では、本実施態様に従って、ビデオをレンダリングし、及び/またはインタラクティブなシーンまたは仮想環境の表示を提供するように構成され得る、ポータブルデバイス画面(例えば、タブレット、スマートフォン、ラップトップなど)または他の任意のタイプのディスプレイを含むがこれに限定されない、非ヘッドマウントディスプレイを代わりに使ってもよいことが理解されよう。当然のことながら、本明細書で規定した種々の実施形態を、本明細書で開示した種々の特徴を用いて具体的な実施に結合するかまたは組み立ててもよい。したがって、提供される例は、可能な例の一部にすぎず、様々な要素を組み合わせることでより多くの実施態様を規定することが可能な様々な実施態様に制限を加えるものではない。ある例では、ある実施態様は、開示されたまたは同等の実施態様の趣旨から逸脱することなく、より少ない要素を含んでもよい。
【0137】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生用エレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成によって実施してもよい。本開示の実施形態はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされる遠隔処理デバイスによりタスクが行われる分散コンピューティング環境においても、実施することができる。
【0138】
方法の操作は特定の順序で記載したが、修正されたゲーム状態を生成するためのテレメトリ及びゲーム状態データの処理が所望の方法で実行される限り、操作間に他のハウスキーピング操作が実行されてもよく、または操作がわずかに異なる時間に起こるように調整されてもよく、またはシステム内に操作を分散することで、処理に関連する様々な間隔で処理操作が起こることを可能にしてもよいことを、理解されたい。
【0139】
1つ以上の実施形態は、コンピュータ可読媒体上のコンピュータ可読コードとして作ることもできる。コンピュータ可読媒体は、データを記憶することができる任意のデータ記憶装置とすることができる。データはその後にコンピュータシステムによって読み取ることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、並びに他の光学及び非光学データ記憶装置を含む。コンピュータ可読媒体には、コンピュータ可読コードが分散方式で格納され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体が含まれ得る。
【0140】
一実施形態では、ビデオゲームは、ゲーム機、パーソナルコンピュータ、またはサーバ上でローカルに実行される。場合によっては、ビデオゲームはデータセンタの1つ以上のサーバによって実行される。ビデオゲームが実行されるとき、ビデオゲームのいくつかのインスタンスは、ビデオゲームのシミュレーションであり得る。例えば、ビデオゲームは、ビデオゲームのシミュレーションを生成する環境またはサーバによって実行され得る。シミュレーションは、いくつかの実施形態では、ビデオゲームのインスタンスである。他の実施形態では、シミュレーションはエミュレータによって生成されてもよい。いずれの場合でも、ビデオゲームがシミュレーションとして表現されている場合、そのシミュレーションは、ユーザ入力によってインタラクティブにストリーミング、実行、及び/または制御できるインタラクティブコンテンツをレンダリングするために実行することができる。
【0141】
様々な実施形態において、本明細書に記載されるいくつかの実施形態の1つ以上の特徴は、本明細書に記載される残りの実施形態の1つ以上の1つ以上の特徴と組み合わされることに留意されたい。
【0142】
前述の実施形態は、理解を明確にするためにある程度詳細に説明されたが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。従って、本実施形態は、限定ではなく例示としてみなされるべきであり、本実施形態は、本明細書に記載される詳細に限定されるべきではなく、添付の特許請求の範囲及び均等物の中で変更されてもよい。