JP6919047B2 - 自動人工知能(ai)パーソナルアシスタント - Google Patents

自動人工知能(ai)パーソナルアシスタント Download PDF

Info

Publication number
JP6919047B2
JP6919047B2 JP2020201724A JP2020201724A JP6919047B2 JP 6919047 B2 JP6919047 B2 JP 6919047B2 JP 2020201724 A JP2020201724 A JP 2020201724A JP 2020201724 A JP2020201724 A JP 2020201724A JP 6919047 B2 JP6919047 B2 JP 6919047B2
Authority
JP
Japan
Prior art keywords
game
team
user
task
users
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
JP2020201724A
Other languages
English (en)
Other versions
JP2021041225A (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 JP2021041225A publication Critical patent/JP2021041225A/ja
Application granted granted Critical
Publication of JP6919047B2 publication Critical patent/JP6919047B2/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/85Providing additional services to players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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/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/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Optics & Photonics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、ビデオゲームに関する。とりわけ、本開示は、ゲームアプリケーションをプレイするユーザのゲームプレイを監視するための方法及びシステムを説明し、ゲームアプリケーション内で利用可能である様々な経路及びそのユーザがその経路に沿ってプレイする方法を学習し、ユーザの過去のパフォーマンス、ユーザの現在のパフォーマンス、ゲームアプリケーションをプレイする他のユーザのパフォーマンス履歴に基づいて、ユーザにアシストを提供する。
本開示の実施形態は、ゲームアプリケーションをプレイする他のユーザのゲームプレイと比較してユーザの熟練度に基づいて、ゲームアシストを、ゲームアプリケーションをプレイするユーザに提供するためのシステム及び方法に関する。ユーザの熟練度は、現在のゲームプレイ中のユーザのパフォーマンス、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられる過去のゲームプレイのユーザのパフォーマンス履歴、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられるユーザのプレイスタイルが考慮される。本開示のさらに他の実施形態は、メンバーのゲームプロファイル、タスクのセット、及び現在のゲーム環境に基づくチームメンバーに対するタスク割当の様々な組み合わせに関するタスクのセットを完了するチームに関する成功の確立を判定する予測モデルに基づいて、マルチプレイヤーゲームアプリケーションをプレイするメンバーのチームに、ゲームアシストを提供するためのシステム及び方法に関する。特に、ゲームプロファイルは、対応するメンバーのプレイ熟練度を定義し、現在のゲームプレイ中のユーザのパフォーマンス、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられる過去のゲームプレイのユーザのパフォーマンス履歴、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられるユーザのプレイスタイルに基づくものである。
一実施形態では、ゲームプレイをアシストするための方法が開示されている。本方法は、ゲームアプリケーションをプレイするユーザのゲームプレイを監視することを含み、ユーザは達成するべき定義済タスクを有する。タスクは、同様に構成タスクを定義するタスクタイプに関連付けられ得る。本方法は、また、タスクタイプの複数のタスクを引き受ける複数のプレイヤーの結果に基づいて、タスクタイプ熟練ルールを判定することを含む。本方法は、タスクタイプ熟練ルールに基づいて、タスクを達成するためのプレイヤー熟練度スコアを判定することを含む。プレイヤー熟練度スコアは、現在のゲームプレイ中のユーザのパフォーマンス、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられる過去のゲームプレイのユーザのパフォーマンス履歴、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられるユーザのプレイスタイルが考慮される。本方法は、プレイヤー熟練度スコア、タスクタイプ熟練ルール、及びタスクに基づいてタスクを達成する際に、ユーザ予測成功率を判定することを含む。いくつかの実施形態では、ゲーム環境もまた考慮される。本方法は、ユーザ予測成功率に基づいてユーザの推薦を判定することを含む。
別の実施形態では、ゲームアシストを提供するための方法が開示されている。本方法は、複数のゲームアプリケーションをプレイする複数のプレイヤーの複数のゲームプレイを監視することを含む。複数のゲームプレイは、達成するべき複数のタスクを含み、複数のタスクは複数のタスクタイプに関連付けられる。本方法は、チームの複数のチームメンバーを登録することを含む。本方法は、また、複数のタスクタイプに関連付けられる複数のチームメンバーに関する複数の評定を判定することを含む。これは、ゲーム熟練評定にアクセスするチームメンバーに関するユーザプロファイルにアクセスすることを含み得る。本方法は、関連タスクのセットからのタスク割当の複数の組み合わせに関して、複数の評定、タスクのセット、及びゲームアプリケーションのゲーム環境の現在の状況に基づいて、タスクのセットを達成する際に、チームに関する複数の予測成功率を判定することを含む。本方法は、タスクのセットを達成する際のチームに関する予測成功率が最高であるように、関連タスクのセットのタスクを複数のチームメンバーに割り当てることを含む。
本開示の他の態様は、本開示の原理を例示により示す添付の図面と併せて、以下の詳細な説明から明らかになるであろう。
本開示は、添付図面と併せて以下の説明を参照することにより最も良く理解され得る。
本開示の一実施形態に従って、パーソナルアシストを、ローカルで実行するゲームアプリケーションをプレイするユーザに提供するシステムを示す。
本開示の一実施形態に従って、パーソナルアシストを、クラウドゲームネットワークを通して実行されるようなゲームアプリケーションをプレイするユーザに提供するシステムを示す。
本開示の一実施形態に従って、図1Aの自動人工知能(AI)パーソナルアシストを示す。
本開示の一実施形態に従って、プロファイラエンジンを訓練するために使用される例示的ニューラルネットワークを示す。
本開示の一実施形態に従って、自動AIパーソナルアシストを、クラウドゲームネットワークを通して実行されるようなゲームアプリケーションをプレイするユーザに提供するためのシステム図200を示す。
本開示の一実施形態に従って、マルチプレイヤーゲームアプリケーションに参加しているチームのメンバーに割り当てられるタスク及びサブタスクを示す。
本開示の一実施形態に従って、ゲームアプリケーションをプレイするユーザのゲームプレイをアシストするための方法におけるステップを示すフロー図である。
本開示の一実施形態に従って、同じタイプのタスクを行うときにチームメンバーの過去のパフォーマンスに基づく提示されたタスクを達成するチームの成功を評価する予測モデルに基づいて、マルチプレイヤーゲームアプリケーションに参加するチームのチームメンバーにタスクを割り当てるための方法におけるステップを示すフロー図である。
本開示の実施形態に従って、ヘッドマウントディスプレイの構成要素を示す図である。
本開示の様々な実施形態に従った、ゲームシステムのブロック図である。ゲームシステムは、ネットワークを介して1つ以上のクライアントにビデオストリームを提供するように構成される。
以下の詳細な説明は、例示の目的で多くの特定の詳細を含むが、当業者であれば、以下の詳細に対する多くの変形及び変更が本開示の範囲内にあることを理解するであろう。したがって、以下に記載される本開示の態様は、一般性を失うことなく、かつ制限を課すことなく、この説明に続く「特許請求の範囲」に記載される。
一般的に、本開示の様々な実施形態は、シングルプレイヤーまたはマルチプレイヤー構成のゲームアプリケーションをプレイするユーザにアシストを提供するシステム及び方法を説明する。特に、ユーザのゲームプレイの入力履歴及び複数のプレイヤーのゲームプレイの履歴の比較は、ゲームアプリケーションをプレイするときに、またはゲームアプリケーションのジャンルをプレイするときに、またはゲームアプリケーション内のタスクまたはサブタスクを達成するときに、ユーザの熟練度を格付けするために使用される。さらに、マルチプレイヤーゲームアプリケーションに参加するチームのチームメンバーの熟練度は、ゲーム環境の状況を仮定して、チームメンバーに関する役割(例えば、割り当てられたタスク)及びチーム構成(例えば、チームメンバー)の適合性に基づいて、チームの成功(例えば、競争ゲームアリーナ内で実施されるようなゲームアプリケーション内のコンテストに勝つこと、ゲームアプリケーションを完了すること、ゲームアプリケーション内のタスク及び/またはサブタスクを完了すること等)の確率を予測するために使用されることができる。その方式において、ユーザの効率性及び/または熟練度は、ゲームアプリケーションをプレイしているユーザに対して定量化することができ、さらに、ユーザまたはチームメンバーのゲームプレイのバランスをとる(例えば、次のタスク、サブタスク、またはアクションを推薦する)ために使用されることができる、及び/またはユーザ及び/またはチームメンバーのゲームプレイ内のタスク、サブタスク、アクションの満足度及び/または達成度を予測するために使用されることができる。特に、人工知能は、シングルプレイヤーモードまたはマルチプレイヤーモードでゲームアプリケーションをプレイするときに、シングルユーザに関する、またはチームのチームメンバーに関する、またはチームに関する、予測成功結果を判定するために、継続的に様々なジャンル(例えば、さまざまなゲームデータ)の複数のゲームアプリケーションをプレイする複数のプレイヤーのゲームプレイを検査し、プレイヤーのゲームスタイル、スキル、及び習慣を学習するために使用されることができる。その方式において、予測モデルは、シングルプレイヤーモードまたはマルチプレイヤーモードの1人以上のプレイヤーの役割の変化に適合することができ、ゲーム環境に関連する変化に適合することができ、チームのチームメンバーのパフォーマンス変化に適合することができる。これに関連して、本開示の実施形態が生じる。
したがって、本開示の実施形態は、ゲームアプリケーションに参加するユーザに、良好なゲームアプリケーションを提供するが、これは、ゲームアプリケーションの困難なセクションを通して悪戦苦闘する代わりに、またはゲームアプリケーションを終了する代わりに、推薦が、ユーザに案内する手助けをするゲームアシスタントの形式で提供されるからである。また、他の実施形態は、上記の達成を提供し、さらに、ゲームアプリケーションに参加するユーザのゲームプレイから集められた分析データの使用によって、ゲームアプリケーションのより効率的な開発を提供する。ゲーム開発者に提供されるフィードバックは、ユーザがゲームアプリケーションで関心を失った場所を(例えば、困難、退屈等によって)識別し、ゲームアプリケーションは、これらの問題を回避する新しいゲームアプリケーションを作成するために開発者によって使用されることができる。
本明細書全体を通して、用語「ゲームアプリケーション」は、ユーザとの相互作用を可能にするアプリケーションを説明する。一実施態様では、ゲームアプリケーションはビデオゲームを含む。本開示の実施形態は、ゲームアシストを、ゲームアプリケーションに参加するユーザに提供する。本開示の一実施形態は、ワードプロセッシング、コンピュータ支援設計等の任意の種類のアプリケーションとやり取りするユーザに、アシストを提供する。
本明細書全体を通して、用語「ユーザ及びプレイヤー」は、交換可能に使用されることができ、ゲームアプリケーションまたは任意の種類のアプリケーションに参加するヒトを説明することを意味する。いくつかの場合、本開示の実施形態は、ゲームクラウドシステム210内でゲームアプリケーションをプレイする「ユーザ」、及びまたゲームクラウドシステム210内で1つ以上のゲームアプリケーションを別々にプレイする1人以上の「プレイヤー」の状況の範囲内で説明され、ユーザは、(例えば、シングルプレイヤーモードまたはマルチプレイヤーモードで)他のユーザと対話する場合がある、または対話する場合がない。
様々な実施形態の上記の一般的な理解により、様々な図面を参照して実施形態の例の詳細をここに説明する。
図1Aは、本開示の一実施形態に従って、対応するユーザにローカルで実行するゲームアプリケーションをプレイするユーザにパーソナルアシストを提供するシステム105Aを示し、バックエンドサーバサポート(例えば、ゲームサーバ205を通ってアクセス可能)は、ゲームアシストを、ゲームアプリケーションをプレイする対応するユーザに提供する目的のために、1人以上のユーザのゲームプレイデータの分析を提供し得る。
図1Aに示されるように、複数のユーザ115(例えば、ユーザ115A、ユーザ115B...ユーザ115N)は、複数のゲームアプリケーションをプレイし、ゲームアプリケーションのそれぞれは、対応するユーザの対応するクライアントデバイス100(例えば、ゲームコンソール)上でローカルに実行される。クライアントデバイス100のそれぞれは、対応するゲームアプリケーションのローカルな実行を同様に行うように構成され得る。例えば、ユーザ115Aは、対応するクライアントデバイス100上で第1のゲームアプリケーションをプレイし得、第1のゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン130Aにより実行される。第1のゲームアプリケーションを実装するゲームロジック117A(例えば、実行可能コード)は、対応するクライアントデバイス100上に記憶され、第1のゲームアプリケーションを実行するために使用される。例示の目的のために、ゲームロジック117Aは、対応するクライアントデバイス100に、ポータブルメディア(例えば、フラッシュドライブ、コンパクトディスク等)を経由して、またはネットワークを経由して配信され(例えば、インターネット150を経由してゲームプロバイダからダウンロードされる)得る。加えて、ユーザ115Bは、対応するクライアントデバイス100上で第2のゲームアプリケーションをプレイし、第2のゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン130Aにより実行される。第2のゲームアプリケーションは、ユーザ115Aのために実行する第1のゲームアプリケーション、または異なるゲームアプリケーションと同一であり得る。第2のゲームアプリケーションを実装するゲームロジック117B(例えば、実行可能コード)は、前述されたような対応するクライアントデバイス100上に記憶され、第2のゲームアプリケーションを実行するために使用される。さらに、ユーザ115Nは、対応するクライアントデバイス100上で第Nゲームアプリケーションをプレイし、第Nゲームアプリケーションのインスタンスは、対応するゲームタイトル実行エンジン130Aにより実行される。第Nゲームアプリケーションは、第1もしくは第2のゲームアプリケーションと同一であり得る、または完全に異なるゲームアプリケーションであり得る。第3のゲームアプリケーションを実装するゲームロジック117C(例えば、実行可能コード)は、前述されたような対応するクライアントデバイス100上に記憶され、第Nゲームアプリケーションを実行するために使用される。
明確性及び例示の目的のために、本開示の実施形態はユーザ115Aを参照して説明され得、ユーザ115Aは複数のユーザ115Aのいずれかを表すものである。
クライアントデバイス100は、ゲームコントローラ、タブレットコンピュータ、キーボード、及びビデオカメラにより取り込まれるジェスチャ、マウス、タッチパッド等の様々な種類の入力デバイスからの入力を受信し得る。クライアントデバイス100は、ネットワーク150を通して、ゲームサーバ205に接続することが可能である少なくともメモリ及びプロセッサモジュールを有する任意の種類のコンピューティングデバイスであり得る。クライアントデバイス100のいくつかの例は、ゲームアシストまたはマルチプレイヤーセッション管理等のバックエンド機能を提供するためにゲームサーバ205と相互作用することが可能である、パーソナルコンピュータ(PC)、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または任意の他の種類のコンピューティングデバイスを含む。
対応するユーザのクライアントデバイス100は、ローカルで実行するゲームタイトル実行エンジン130Aにより実行される、レンダリングされた画像を生成するように、及びディスプレイ上にレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、ユーザ115Aのクライアントデバイス100上で実行する第1のゲームアプリケーションのインスタンスに関連付けられ得る。特に、対応するクライアントデバイス100は、ゲームプレイを駆動するために使用される入力コマンド等によって、対応するユーザのゲームプレイを実施するためにローカルで実行されるような対応するゲームアプリケーションのインスタンスと相互作用するように構成される。
一実施形態では、クライアントデバイス100は、ローカルで実行される特定のゲームアプリケーションをプレイする対応するユーザに関するシングルプレイヤーモードで動作する。下記により十分に説明されるように、ゲームサーバ205を介するバックエンドサーバサポートは、プロファイラエンジン145等によって、ゲームアシストをユーザに提供し得る。
別の実施形態では、複数のクライアントデバイス100は、それぞれがゲームアプリケーションをプレイする対応するユーザのためにマルチプレイヤーモードで動作する。その場合、ゲームサーバを介するバックエンドサーバサポートは、マルチプレイヤー処理エンジン119等によって、マルチプレイヤー機能を提供し得る。特に、マルチプレイヤー処理エンジン119は、特定のゲームアプリケーションに関してマルチプレイヤーゲームセッションを制御するように構成される。例えば、マルチプレイヤー処理エンジン130は、マルチプレイヤーセッションコントローラ116と通信し、マルチプレイヤーセッションコントローラ116は、マルチプレイヤーゲームセッションに参加するユーザ及び/またはプレイヤーのそれぞれとの通信セッションを確立及び維持するように構成される。その方式において、セッション中のユーザは、マルチプレイヤーセッションコントローラ116により制御されるように、相互に通信することができる。
さらに、マルチプレイヤー処理エンジン119は、各ユーザの対応するゲーム環境内でユーザ間の対話を可能にするために、マルチプレイヤーロジック118と通信する。特に、状態共有モジュール117は、マルチプレイヤーゲームセッションにおいてユーザのそれぞれに関する状態を管理するように構成される。例えば、状態データは、特定のポイントにおいて対応するユーザに関するゲームプレイの(ゲームアプリケーションの)状態を定義するゲーム状態データを含み得る。例えば、ゲーム状態データは、ゲームキャラクタ、ゲームオブジェクト、ゲームオブジェクト属性、ゲーム属性、ゲームオブジェクト状態、グラフィックオーバーレイ等を含み得る。その方式において、ゲーム状態データは、ゲームアプリケーション内の対応するポイントに存在するゲーム環境の生成を可能にする。また、ゲーム状態データは、CPU、GPU、メモリ、レジスタ値、プログラムカウンタ値、プログラマブルDMA状態、DMAに関するバッファリングデータ、オーディオチップ状態、CD−ROM状態等の状態のような、ゲームプレイをレンダリングするために使用されるすべてのデバイスの状態を含み得る。また、ゲーム状態データは、実行可能コードのどの部分がそのポイントからビデオゲームを実行するためにロードされる必要があるかを識別し得る。ゲーム状態データを図1C及び図2のデータベース140に記憶し得、状態共有モジュール117によってアクセス可能である。
さらに、状態データは、対応するプレイヤーに関するビデオゲームをパーソナライズする情報を含むユーザ保存データを含み得る。これは、ユーザのキャラクタに関連付けられる情報を含むため、ビデオゲームは、そのユーザへ一意であり得るキャラクタ(例えば、場所、体型、外観、衣服、武器等)によってレンダリングされる。その方式において、ユーザ保存データは、対応するユーザのゲームプレイに関するキャラクタの生成を可能にし、キャラクタは、対応するユーザが現在経験しているゲームアプリケーション内のポイントに対応する状態を有する。例えば、ユーザ保存データは、ゲームをプレイするときに対応するユーザ115が選択したゲーム難易度、ゲームレベル、キャラクタ属性、キャラクタ位置、残存ライフ数、利用可能な残機数、アーマー、トロフィー、タイムカウンタ値等を含み得る。また、ユーザ保存データは、例えば、対応するユーザ115を識別するユーザプロファイルデータを含み得る。ユーザ保存データをデータベース140に記憶し得る。
その方式において、状態共有データ117及びマルチプレイヤーロジック118を使用してマルチプレイヤー処理エンジン119は、マルチプレイヤーゲームセッションに参加するユーザのゲーム環境のそれぞれにオブジェクト及びキャラクタをオーバーレイ/挿入することが可能である。例えば、第1のユーザのキャラクタを第2のユーザのゲーム環境内へオーバーレイ/挿入する。これは、マルチプレイヤーゲームセッションにおけるユーザ間の対話を、自身の各々のゲーム環境のそれぞれを介して(例えば、画面上に表示されるように)可能にする。
加えて、ゲームサーバ205を介するバックエンドサーバサポートは、プロファイラエンジン145及びAIパーソナルアシスタント120等によって、ゲームアシスト機能を提供し得る。特に、ゲームクラウドシステム210内のプロファイラエンジン145は、シングルプレイヤーモードまたはマルチプレイヤーモード等で複数のゲームアプリケーションに参加する1人以上のユーザにゲームアシストを提供するように構成される。概して、人工知能(AI)パーソナルアシスタント120は、プロファイラエンジン145と併せて作動し、ゲームアシストを1人以上のユーザに提供する。一実施形態では、AIパーソナルアシスタント120は、それがパーソナルアシストを要求及び/または受信する目的のためにインターフェースをユーザに提供するように、対応するユーザのクライアントデバイスにローカライズされる。別の実施形態では、AIパーソナルアシスタントは、対応するユーザのクライアントデバイスに対してリモートにある。例えば、一実施形態では、アシストは、ユーザが自身のゲームプレイで非効率的にプレイし及び/または悪戦苦闘していることを判定したとき、シングルプレイヤーモードでゲームアプリケーションをプレイするシングルプレイヤーに提供される。アシストはまた、プレイヤーがアシストを必要とすることを要求または判定されるとき、マルチプレイヤーゲームセッションでプレイするプレイヤーに提供され得る。別の実施形態では、アシストは、チームが、タスクまたはサブタスクまたはアクションを完了する、競争アリーナの他のチームに対抗するコンテストに勝つ、ゲームアプリケーションを完了する等の目標を達成する成功の確率を高めるように、マルチプレイヤーモードのゲームアプリケーションをプレイするメンバーのチームに提供される。
特に、AIパーソナルアシスタント120は、対応するユーザ115のクライアントデバイス100と密接に連動し、対応するユーザ115の現在及び過去のゲームプレイに関するデータを集めるように構成される。さらに、AIパーソナルアシスタント120は、アシストを提供することができるように、対応するユーザ115にインターフェースを提供するように構成される。例えば、プロファイラエンジン145によって生成されるような推薦はインターフェースを経由して提供され得、推薦は、対応するユーザ115の現在のゲームプレイ中にアシストを提供する。AIパーソナルアシスタント120は、一実施形態では、対応するユーザ115のクライアントデバイス100内にローカルで構成され得る。また、ローカライズされたAIパーソナルアシスタント120は、別の実施形態では、クライアントデバイス100に対してリモートに及びゲームクラウドシステム210内から独立しているように構成され得る。例えば、AIパーソナルアシスタント120は、ネットワーク150(例えば、ローカルエリアネットワーク、インターネット等)を経由してアクセスされ得る。さらに別の実施形態では、AIパーソナルアシスタント120は、ゲームクラウドシステム210内でクライアント100に対してリモートであるように構成され得る。その場合、パーソナルアシスタント120は、ゲームクラウドシステム210内でプロファイラエンジン145と直接結合され得る。
示されるように、プロファイラエンジン145は、ゲームアシストのバックエンドサーバ処理を提供するように構成される。特に、ゲームクラウドシステム210を経由して、プロファイラエンジン145は、特にゲームクラウドシステム210が複数のユーザ115に関する1つ以上のゲームアプリケーションのインスタンスを実行するときに、複数のゲームアプリケーションをプレイする複数のユーザのゲームプレイを集めること及び分析することが可能である。例えば、プロファイラエンジン145は、対応するユーザ115Aが任意のゲームアプリケーションをプレイしているとき、ユーザデータを集めること及び分析することが可能である。経時的に、プロファイラエンジン145は、一般的に及び/またはゲームアプリケーションの特定のジャンルに関して、対応するユーザ115Aのプレイスタイルを学習することが可能である。加えて、プロファイラエンジン145は、ユーザデータ、1つ以上のゲームアプリケーションのゲームルール125、1つ以上のゲームアプリケーションのゲームロジック126に基づいて、対応するユーザ115Aに関する熟練度を格付けすることが可能である。一実施形態では、熟練度は、特定のゲームアプリケーションに対して与えられ、ゲームアプリケーションに参加するユーザの現在のゲームプレイ、ゲームアプリケーションに参加するユーザの過去のゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。別の実施形態では、熟練度は、ゲームアプリケーションのジャンルに対して与えられ、ゲームアプリケーションに参加するユーザのゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。さらに別の実施形態では、熟練度は、1つ以上のジャンルのゲームアプリケーションに対して与えられ、ゲームアプリケーションに参加するユーザのゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。複数のユーザ115のそれぞれの熟練度格付けは、ユーザアカウント199のデータベース内に記憶される対応するゲームプロファイルに含まれる。
したがって、プロファイラエンジン145は、対応するユーザのゲームプレイに基づいて、ならびに他のユーザの熟練度及びゲームプロファイルを比較して、対応するユーザの熟練度を格付けし複数のユーザ115毎にゲームプロファイルを構築することが可能である。より多くのデータが複数のユーザのゲームプレイから集められるため、プロファイラエンジン145は、(一般的に、または所与のレベル、サブレベル、もしくは所与の問題に関連する範囲内で)どのように特定のゲームアプリケーションをプレイするべきかを(例えば、ディープラーニングまたは人工知能技法を適用することによって)学習することが可能である、または、成功したユーザ及び/または不成功のユーザ(例えば、誤りから学習する)によってプレイされる。ゲームアプリケーションがプロファイラエンジン145によって学習されるようにプレイされるべき方法は経時的に進化する、これは、より多くのデータがそのゲームアプリケーションをプレイするユーザのゲームプレイで集められるためである。その方式において、特にユーザ115Aがゲームプレイで行き詰ったことを検出するときにゲームアプリケーションをプレイしている、または自身のゲームプレイで非効率的にプレイしているシングルユーザ115Aに推薦を行うことができる。さらに、ユーザ熟練度格付けは、メンバーのチームの目標の完了の成功を予測するために使用されることができる。チーム目標の完了が成功する確率を最大にし、各チームメンバーの熟練度格付け、含有されるタスク、及び可能性として考えられるゲーム環境に基づく方式でタスクを割り当てるように推薦を行い得る。
図1Bは、本開示の一実施形態に従って、パーソナルアシストを、クラウドゲームネットワークを通して実行されるようなゲームアプリケーションをプレイするユーザに提供するシステムを示す。いくつかの実施形態では、クラウドゲームネットワークは、ホストマシンのハイパーバイザ上で実行する複数の仮想マシン(VM)を含むゲームクラウドシステム210であり得、1つ以上の仮想マシンは、ホストのハイパーバイザに利用可能であるハードウェアリソースを利用するゲームプロセッサモジュールを実行するように構成される。
示されるように、ゲームクラウドシステム210は、複数の双方向性ビデオゲームまたはゲームアプリケーションへのアクセスを提供するゲームサーバ205を含む。ゲームサーバ205は、クラウド内で利用可能である、任意の種類のサーバコンピューティングデバイスであり得、1つ以上のホスト上で実行する1つ以上の仮想マシンとして構成され得る。例えば、ゲームサーバ205は、特定のユーザ115Aに関するゲームアプリケーションのインスタンスをインスタンス化するゲームプロセッサをサポートする仮想マシンを管理し得る。したがって、複数の仮想マシンに関連付けられるゲームサーバ205の複数のゲームプロセッサは、複数のユーザ115のゲームプレイに関連付けられるゲームアプリケーションの複数のインスタンスを実行するように構成される。
示されるように、複数のユーザ115はネットワーク150を介してゲームクラウドシステム210にアクセスし、ユーザ115は対応するクライアントデバイス100を介してネットワーク150にアクセスする。例えば、対応するユーザ115Aのクライアントデバイス100は、インターネット等のネットワーク150を通してゲームアプリケーションへのアクセスを要求するために、及びゲームサーバ205により実行され、対応するユーザ115Aに関連付けられる表示デバイスへ配信される、ゲームアプリケーション(例えば、ビデオゲーム)のインスタンスをレンダリングするように構成される。例えば、ユーザ115Aは、ゲームサーバ205のゲームプロセッサ上で実行するゲームアプリケーションのインスタンスとクライアントデバイス100を経由して相互作用し得る。より具体的には、ゲームアプリケーションのインスタンスは、ゲームタイトル実行エンジン130Bにより実行される。特定のゲームアプリケーションを実装するゲームロジック(例えば、実行可能コード)は、データストア140を経由して記憶されアクセス可能であり、ゲームアプリケーションを実行するために使用される。一実施形態では、1つ以上のゲームタイトル実行エンジン130Bは、複数のゲームアプリケーションの複数のインスタンスをサポートするように構成され得る。したがって、ゲームタイトル処理エンジン130Bは、示されるように、複数のゲームロジック177を使用して複数のゲームアプリケーションをサポートすることが可能である。
クライアントデバイス100は、ゲームコントローラ、タブレットコンピュータ、キーボード、及びビデオカメラにより取り込まれるジェスチャ、マウス、タッチパッド等の様々な種類の入力デバイスからの入力を受信し得る。前述されたように、クライアントデバイス100は、ネットワーク150を通して、ゲームサーバ205に接続することが可能である少なくともメモリ及びプロセッサモジュールを有する任意の種類のコンピューティングデバイスであり得る。クライアントデバイス100のいくつかの例は、ゲームアプリケーションのインスタンスを実行するためにゲームサーバ205と相互作用することが可能である、パーソナルコンピュータ(PC)、ゲームコンソール、ホームシアターデバイス、汎用コンピュータ、モバイルコンピューティングデバイス、タブレット、電話、または任意の他の種類のコンピューティングデバイスを含む。
ユーザ115Aのクライアントデバイス100は、ゲームサーバ205によって配信されるレンダリングされた画像を受信するように、及びディスプレイ上にレンダリングされた画像を表示するように構成される。例えば、レンダリングされた画像は、対応するユーザ115Aに関連して、ゲームサーバ205上で実行するゲームアプリケーションのインスタンスに関連付けられ得る。特に、クライアントデバイス100は、ゲームプレイを駆動するために使用される入力コマンド等によって、ユーザ115Aのゲームプレイに関連付けられるゲームアプリケーションのインスタンスと相互作用するように構成される。
ゲームクラウドシステム210内のプロファイラエンジン145は、シングルプレイヤーモードまたはマルチプレイヤーモード等で1つ以上のゲームアプリケーションに参加する1人以上のユーザにゲームアシストを提供するように構成される。特に、人工知能(AI)パーソナルアシスタント120は、プロファイラエンジン145と併せて作動し、ゲームアシストを1人以上のユーザに提供する。例えば、一実施形態では、アシストは、ユーザが自身のゲームプレイで非効率的にプレイし及び/または悪戦苦闘していることを判定したとき、シングルプレイヤーモードまたはマルチモードでゲームアプリケーションをプレイするシングルプレイヤーに提供される。別の実施形態では、アシストは、チームが、タスクまたはサブタスクまたはアクションを完了する、競争アリーナの他のチームに対抗するコンテストに勝つ、ゲームアプリケーションを完了する等の目標を達成する成功の確率を高めるように、マルチプレイヤーモードのゲームアプリケーションをプレイするメンバーのチームに提供される。
特に、AIパーソナルアシスタント120は、対応するユーザ115Aのクライアントデバイス100と密接に連動し、対応するユーザ115Aの現在及び過去のゲームプレイに関するデータを集めるように構成される。さらに、AIパーソナルアシスタント120は、アシストを提供することができるように、対応するユーザ115Aにインターフェースを提供するように構成される。例えば、プロファイラエンジン145によって生成されるような推薦はインターフェースを経由して提供され得、推薦は、対応するユーザ115Aの現在のゲームプレイ中にアシストを提供する。AIパーソナルアシスタント120は、一実施形態では、対応するユーザ115Aのクライアントデバイス100内にローカルで構成され得る。また、ローカライズされたAIパーソナルアシスタント120は、別の実施形態では、クライアントデバイス100に対してリモートであるように及びゲームクラウドシステム210内から独立しているように構成され得る。例えば、AIパーソナルアシスタント120は、ネットワーク150(例えば、ローカルエリアネットワーク、インターネット等)を経由してアクセスされ得る。さらに別の実施形態では、ローカライズされたAIパーソナルアシスタント120は、ゲームクラウドシステム210内でクライアント100に対してリモートであるように構成され得る。その場合、パーソナルアシスタント120は、ゲームクラウドシステム210内でプロファイラエンジン145と直接結合され得る。
示されるように、プロファイラエンジン145は、ゲームアシストのバックエンドサーバ処理を提供するように構成される。特に、ゲームクラウドシステム210を経由して、プロファイラエンジン145は、特にゲームクラウドシステム210がユーザ115に関するゲームアプリケーションのインスタンスを実行するときに、複数のゲームアプリケーションをプレイする複数のユーザ115のゲームプレイを集める及び分析することが可能である。例えば、プロファイラエンジン145は、対応するユーザ115Aが任意のゲームアプリケーションをプレイしているとき、ユーザデータを集める及び分析することが可能である。経時的に、プロファイラエンジン145は、一般的に及び/またはゲームアプリケーションの特定のジャンルに関して、対応するユーザ115Aのプレイスタイルを学習することが可能である。加えて、プロファイラエンジン145は、ユーザデータ、1つ以上のゲームアプリケーションのゲームルール125、1つ以上のゲームアプリケーションのゲームロジック126に基づいて、対応するユーザ115Aに関する熟練度を格付けすることが可能である。一実施形態では、ユーザ115Aの熟練度は、特定のゲームアプリケーションに対して与えられ、ゲームアプリケーションに参加するユーザ115Aの現在のゲームプレイ、ゲームアプリケーションに参加するユーザ115Aの過去のゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザ115Aのゲームプレイの履歴を考慮し得る。別の実施形態では、ユーザ115Aの熟練度は、ゲームアプリケーションのジャンルに対して与えられ、ゲームアプリケーションに参加するユーザ115Aのゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザ115Aのゲームプレイの履歴を考慮し得る。さらに別の実施形態では、115Aの熟練度は、1つ以上のジャンルのゲームアプリケーションに対して与えられ、ゲームアプリケーションに参加するユーザ115Aのゲームプレイに基づくものであり、1つ以上のジャンルのゲームアプリケーションに参加するユーザ115Aのゲームプレイの履歴(例えば、全体的プレイスタイルの証拠)を考慮し得る。複数のユーザ115のそれぞれの熟練度格付けは、ユーザアカウント199のデータベース内に記憶される対応するゲームプロファイルに含まれる。
したがって、プロファイラエンジン145は、対応するユーザ115Aのゲームプレイに基づいて、ならびに他のユーザの熟練度及びゲームプロファイルを比較して、対応するユーザ115Aの熟練度を格付けしユーザ115Aにゲームプロファイルを構築することが可能である。より多くのデータが複数のユーザのゲームプレイから集められるため、プロファイラエンジン145は、(一般的に、または所与のレベル、サブレベル、もしくは所与の問題に関連する範囲内で)どのように特定のゲームアプリケーションをプレイするべきかを(例えば、ディープラーニングまたは人工知能技法を適用することによって)学習することが可能である、または、成功したユーザ及び/または不成功のユーザ(例えば、誤りから学習する)によってプレイされる。ゲームアプリケーションがプロファイラエンジン145によって学習されるようにプレイされるべき方法は経時的に進化する。これは、より多くのデータがそのゲームアプリケーションをプレイするユーザのゲームプレイで集められるためである。その方式において、特にユーザ115Aがゲームプレイで行き詰ったことを検出するときにゲームアプリケーションをプレイしている、または自身のゲームプレイで非効率的にプレイしているシングルユーザ115Aに推薦を行うことができる。さらに、ユーザ熟練度格付けは、メンバーのチームの目標の完了の成功を予測するために使用されることができる。チーム目標の完了が成功する確率を最大にし、各チームメンバーの熟練度格付け、含有されるタスク、及び可能性として考えられるゲーム環境に基づく方式でタスクを割り当てるように推薦を行い得る。
別の実施形態では、前述されたように、マルチプレイヤー処理エンジン119は、ゲームアプリケーションについてマルチプレイヤーゲームセッションを制御することを提供する。特に、マルチプレイヤー処理エンジン119がマルチプレイヤーゲームセッションを管理するときに、マルチプレイヤーセッションコントローラ116は、マルチプレイヤーセッション内のユーザ及び/またはプレイヤーのそれぞれとの通信セッションを確立及び維持するように構成される。その方式において、セッション中のユーザは、マルチプレイヤーセッションコントローラ116により制御されるように、相互に通信することが可能である。
さらに、マルチプレイヤー処理エンジン119は、各ユーザの対応するゲーム環境内でユーザ間の対話を可能にするために、マルチプレイヤーロジック118と通信する。特に、状態共有モジュール117は、マルチプレイヤーゲームセッションにおいてユーザのそれぞれに関する状態を管理するように構成される。例えば、状態データは、前述されたように、特定のポイントにおいて対応するユーザ115Aに関するゲームプレイの(ゲームアプリケーションの)状態を定義するゲーム状態データを含み得る。さらに、前述されたように、状態データは、対応するプレイヤーに関するビデオゲームをパーソナライズする情報を含むユーザ保存データを含み得る。例えば、これは、ユーザのキャラクタと関連付けられる情報を含むため、ビデオゲームは、そのユーザへ一意であり得るキャラクタ(例えば、体型、外観、衣服、武器等)によってレンダリングされる。その方式において、状態共有データ117及びマルチプレイヤーロジック118を使用してマルチプレイヤー処理エンジン119は、マルチプレイヤーゲームセッションに参加するユーザのゲーム環境のそれぞれにオブジェクト及びキャラクタをオーバーレイ/挿入することが可能である。これは、マルチプレイヤーゲームセッションにおけるユーザ間の対話を、自身の各々のゲーム環境のそれぞれを介して(例えば、画面上に表示されるように)可能にする。
図1Cは、本開示の一実施形態に従って、図1A〜図1Bのプロファイラエンジン145及びパーソナルアシスタント120を含む自動人工知能(AI)パーソナルアシスタントシステム129を示す。AIパーソナルアシスタント129は、ゲームアプリケーションをプレイする他のプレイヤーのゲームプレイと比較して、対応する1人のユーザまたは複数のユーザの熟練度に基づいて、シングルプレイヤーモードまたはマルチプレイヤーモードでゲームアプリケーションをプレイする1人以上のユーザにゲームアシストを提供するように構成される。示されるように、システム129のAIパーソナルアシスタント120及びプロファイラエンジン145は、前述されたように、ゲームアシストを提供するように一緒に連動し、一緒に位置し得る、または相互にリモートにあり得る。一実施形態では、各ユーザは別個のAIパーソナルアシスタントシステム129によってサポートされ、AIパーソナルアシスタントシステム129は、一緒に、バックエンドプロファイラエンジン145によってサポートされる少なくとも専用AIパーソナルアシスタント120を含む。例えば、図1Cに示されるように、ユーザ115Sは、プロファイラエンジン145のユーザゲームプレイプロファイラ145Aと通信するAIパーソナルアシスタント120Aによってサポートされる。同様に、他のユーザ(図示されない)は、プロファイラエンジン145のユーザゲームプレイプロファイラ145Aと通信するAIパーソナルアシスタント120Bによってサポートされ得る。また別のユーザ(図示されない)は、プロファイラエンジン145のユーザゲームプレイプロファイラ145Aと通信するAIパーソナルアシスタント120Cによってサポートされ得る。
示されるように、AIパーソナルアシスタントシステム129は、ゲームアプリケーションをプレイするユーザのゲームプレイを監視するように構成される。特に、AIパーソナルアシスタント120は、ユーザのゲームプレイを監視するように及び人工知能(AI)の目的のために使用されることができるユーザデータを集めるように構成される。ゲームプレイにおいて、現在、ユーザは、達成するべき定義済タスク301を有する。タスクは、下記の図3にさらに説明されるように、タスク301の範囲内のハッシュマークによって示されるような単一アクションもしくはサブタスクまたは複数アクションもしくはサブタスクを含み得る。また、タスクは、アクションまたはサブタスクを含まない場合がある。さらに、タスクはタスクタイプによって定義され、それにより、同様のタスクは単一タスクタイプの下でグループ化され得る。これらのタスクは同様の目標を持ち、同様のアクションまたはサブタスクを行い、タスクを完了し得る、または他の類似点を共有し得る。タスクタイプの下でタスクをグループ分けすることによって、タスクタイプのタスクに対処するユーザのゲームプレイは、特定のゲームアプリケーションに関して、ゲームアプリケーションのジャンルに関して、または一般的なゲームアプリケーションに関して、それらのタスクを順調に完了するために、回避するべきアクション、ゲームプレイの最善のスタイル、及びゲームプレイの最も効率的なスタイルをとるために適切なアクションを学習するために分析され得る。
別の実施形態では、ユーザのゲームプレイは、AIパーソナルアシスタント120によって監視される。すなわち、複数のゲームアプリケーションをプレイするユーザの複数のゲームプレイを監視する。ゲームプレイは、対処及び/または達成するべき複数のタスクを含む。監視されるタスクのそれぞれは、対応するタスクタイプによって定義される。その方式において、同じタイプのタスクは、特に現在のタスクに対処するとき、ゲームスタイル、ゲーム習慣、及びユーザの熟練度を判定するために分析されることができる。もしあれば、その情報はどのタイプのアシストかを判定する際に有用であり、特定のタスクタイプの現在のタスクの対処するときに必要である及び/または求められるアシストの程度を判定する際にも有用である。
したがって、タスクまたはサブタスクまたはアクションに対処するクライアントデバイス100のユーザ115Aによってとられた応答毎に、アクション状態121、アクション測定基準122、及びアクション結果123は、対応するAIパーソナルアシスタント120(ローカルにまたはリモートに位置する)によって集められる。応答は、一般的に定義され得、ユーザ115Aによって行われる戦略的決定(例えば、今の攻撃に対する後の攻撃、熱心にまたは不十分にコインを集める等)、ゲームプレイでとられる方向(例えば、町1への進行に対する町2への進行)、行われた選択(アーマー1またはアーマー2を備える)を含み得る。また、どのようにユーザ115Aがアクションまたはサブタスクに対処するか(例えば、どのような順番で、サブタスクを完了する際における成功等)等のタスクに特有であるように、応答を定義し得る。
特に、アクション状態121は、ゲームアプリケーションに関連する範囲内またはゲーム環境の範囲内で対処するアクション、サブタスク、またはタスクを定義する。ゲーム環境は、タスクを説明するアクションタイプの種類が何かを判定するのに役立つ。例えば、あるアクションは、ゲーム環境に応じて異なるように分類され得る。ゲーム環境がリラックスしているとき(例えば、一方の場所から別の場所まで一般的に横断するとき)の第1のタイプの下でアクションを分類し得るが、ゲーム環境が緊迫しているとき(例えば、ボスと戦うとき)の第2のタイプの下でアクションを分類し得る。さらに、アクション測定基準122は、対応するAIパーソナルアシスタント125によって集められる。これらの測定基準は、タスク、サブタスク、またはアクションに対処する際に、ユーザ115Aによってとられた応答に関連付けられる。また、アクション結果123は、対応するAIパーソナルアシスタント125によって集められる。例えば、結果123は、ユーザ115Aがタスク、サブタスク、またはアクションを完了する際に成功したかどうかを含む。また、結果123は、どのように良好に(例えば、効率的に)ユーザ115Aがタスク、サブタスク、またはアクションを対処する際に遂行するかを定義し得る。
集められたデータ(例えば、アクション状態121、アクション測定基準122、及びアクション結果123)は、さらなる分析のために(例えば、推薦を提供するために)、プロファイラエンジン145に配信される。具体的には、集められたデータは、ゲームアプリケーションをプレイするときに、ゲームアプリケーションのジャンルをプレイするときに、または一般的にゲームアプリケーションをプレイするときに、及び特に特定のタスクタイプのタスクに対処するときに、ユーザ115Aに関するユーザ115Aの集められたデータを、ユーザ115Aの現在及び過去のパフォーマンスならびに他のユーザの過去のパフォーマンスと比較するゲームプレイプロファイラ145Aに配信される。その方式において、ユーザゲームプレイプロファイラ145Aは、ゲームクラウドシステム210内で、データストア143内に保存される対応するプレイヤーIDによって識別されるように、ユーザ毎にゲームプロファイルを構築することが可能である。ゲームプロファイルは、1つ以上のゲームアプリケーションの1つ以上のゲームアプリケーションの対応するユーザデータ、ゲームルール125に基づくものであり、ゲームルール125はデータストア140内に記憶される。
一実施形態では、複数のユーザの複数のゲームプレイは、1つ以上のAIパーソナルアシスタントシステム129によって監視される。ゲームプレイは、複数のゲームアプリケーションに関連付けられる。前述されたように、ゲームプレイは対処及び/または達成するべき複数のタスクを含み、各タスクは対応するタスクタイプによって定義される。したがって、前述されたように、集められたデータを複数のユーザに関するゲームプロファイルを構築するために使用することができる。さらに、タスクタイプ熟練ルール及び/またはプレイヤー熟練度スコアは、タスクタイプの複数のタスクに対処する複数のプレイヤーの結果(例えば、プレイヤーのパフォーマンス)に基づいて判定される。
特に、ゲームプロファイル131A〜Nは、ユーザゲームプレイプロファイラ145によって作成される。例示の目的のために、ゲームプロファイルは、複数のタスクに対処するとき、ユーザAのパフォーマンス履歴を含み得る。タスクのそれぞれは、パフォーマンスのグレードが与えられ得る。例えば、ユーザ115Aのゲームプロファイル131Aは、タスク/サブタスク/アクション1に関するグレード1、タスク/サブタスク/アクション2に関するグレード2、タスク/サブタスク/アクション3に関するグレード3等を示す。下記に説明されるように、これらのグレードは任意の種類の任意のタスクに対処するときにユーザ115Aの全体的熟練度を判定するために、または特定の種類のタスクに対処するときにユーザ115Aの熟練度を判定するために使用され得る。
ゲームプロファイル131A〜Nのデータは、ユーザゲームプレイプロファイラ145のディープラーニングエンジン146にフィードバックされ得る。ディープラーニングエンジン146は、ディープラーニングアルゴリズム、強化学習、または他の人工知能ベースアルゴリズムを含む人工知能を利用する。ディープラーニングの検討は図1Dに関して提供される。その方式において、集められたデータの分析は、継続的に、アシストをユーザに提供するために使用される更新済分析データを提供するために行われ得る。例えば、タスクタイプ熟練ルールは、新しいデータを反映されるためにアップグレードされ得る。
さらに、集められたデータは、特定のタスクタイプのタスクに対処するときに、ユーザの熟練度(例えば、ユーザ熟練度スコア)を判定するために使用されることができる。特に、タスクタイプは、さらに、タスクタイプ熟練ルールによって定義され、ユーザの熟練度は、タスクタイプ熟練ルールに基づいて判定される。本ルールは、タスクタイプの複数のタスクに対処する複数のユーザの結果に基づいて判定される。すなわち、1つ以上のゲームアプリケーションのタスクタイプの複数のタスクに対処する複数のユーザからのデータ(例えば、例えば、アクション状態121、アクション測定基準122、及びアクション結果123)は、タスクタイプ熟練ルールを生成するために分析される。例えば、本ルールは、そのタスクタイプのタスクの対する平均応答を定義し得、平均応答は、タスクを達成するのに要する平均時間、またはタスクを達成するのに必要な平均コマンド数等を含む。より積極的または消極的に本ルールを調整し得る。それにより、より積極的なルールは平均ユーザ及び/またはプレイヤーよりも良好なものの応答を定義し、より消極的なルールは平均ユーザ未満のものの応答を定義する。
一実施形態では、特定のタスクに対処するときのユーザの熟練度(例えば、ユーザ熟練度スコア)は、特定のゲームアプリケーションに対して判定され得、ゲームアプリケーションに参加するユーザの現在のゲームプレイ、ゲームアプリケーションに参加するユーザの過去のゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)または複数のジャンル(例えば、全体的プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。例えば、ユーザ熟練度スコアは、ユーザが直面する複数のタスクに遭遇するときにユーザの過去のパフォーマンスに基づくものであり得る。別の実施形態では、ユーザ熟練度スコアは、複数のタスクに遭遇するときにユーザの現在のパフォーマンスに基づくものであり得、この特定のゲームアプリケーションにおけるユーザのゲームプレイヤーだけが考慮される。一実施形態では、ユーザ熟練度スコアは、タスクタイプの複数のタスクに遭遇するときにユーザの過去のパフォーマンスに基づくものであり、現在のタスクに遭遇するときにユーザの現在のパフォーマンスに基づくものである。
別の実施形態では、熟練度は、ゲームアプリケーションのジャンルに対して与えられ、ゲームアプリケーションに参加するユーザのゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。さらに別の実施形態では、熟練度は、1つ以上のジャンルの複数のゲームアプリケーションのタスクタイプの任意のタスクに対処するために与えられ、ゲームアプリケーションに参加するユーザのゲームプレイに基づくものであり、同じジャンル(例えば、プレイスタイル)のゲームアプリケーションに参加するユーザのゲームプレイの履歴を考慮し得る。
現在の熟練度スコアはまた、今後の熟練度スコアを判定するときに、ユーザの過去のパフォーマンスに含まれる。すなわち、ユーザの現在のパフォーマンスは記憶され、今後の熟練度スコアを判定するときに考慮される。
ユーザゲームプレイプロファイラ145Aのディープラーニングエンジン146は、ゲームアプリケーション内で問題、ゲームプレイ困難度等を識別するためにソーシャルネットワークを通してデータ141(例えば、インターネットデータ)を集めることが可能である。例えば、ユーザは、ゲームアプリケーションの特定のセクションをクリアする方法に関する質問を尋ねるゲーム用ブログに提示し得る。ディープラーニングエンジン146は、そのデータを使用し、異なるタスクを識別し、複数のプレイヤーによってプレイされるようなタスクに対する様々なアプローチと、それらのタスクを対処するときのその相対的成功及び/または失敗とを含むデータベースを構築することができる。また、ゲームタイトル処理エンジン130のユーザゲームプレイプロファイラ145Aは、前述されたように、ゲームアプリケーション内の、特定のユーザの通信142、または問題、ゲームプレイ困難度等を識別する際に使用されるユーザ間の通信を分析するように構成される。
さらに、ユーザゲームプレイプロファイラ145Aは、プレイヤー熟練度スコア、タスクタイプ熟練ルール、及びユーザに提示されるタスクに基づいて所与のタスクを達成する際に、ユーザ予測成功率を判定することが可能である。予測成功率は、ユーザが経験する所与のゲーム環境を考慮し得る。
結果として、推薦エンジン135は、現在のタスクに関するユーザ予測成功率に基づいて、ユーザに関する推薦を判定するように構成される。すなわち、推薦はユーザの熟練度に基づいて生成され、熟練度は、現在のゲームプレイ中のユーザのパフォーマンス、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられる過去のゲームプレイのユーザのパフォーマンス履歴、一般的なまたは特定のジャンルのゲームアプリケーションに関連付けられるユーザのプレイスタイルの1つ以上が考慮される。一実施形態では、推薦は、タスクを達成することを容易にするユーザによる推薦アクションまたは応答を含む。推薦エンジン135は、ユーザクライアントデバイス100に表示される、ローカライズされたAIパーソナルアシスタント125に単一の推薦または複数の推薦を配信する。例えば、推薦は、アクション提案124を含み得る。
一実施形態では、ユーザゲームプレイプロファイラ145Aは、達成するべきタスクのセットが与えられるメンバーのチームにアシストを提供するように構成される。ユーザゲームプレイプロファイラ145Aが、チームメンバーのそれぞれのゲームプレイプロファイルを判定し及び/またはそれにアクセスすることが可能であるので、プロファイラの情報を、タスクのセットを順調に達成するためにチームメンバーを最良に利用する方法を判定するために使用することができ、より重要なことに、最も効率的な方式でタスクを完了するようにチームメンバーにタスクを割り当てるために、及び/または関連目標を達成するために(例えば、タスクのセットを完了するために、完了を成功するために、ゲームアプリケーションを完了するために等)成功の確率を最大にするために、チームメンバーにタスクを割り当てるために使用することができる。すなわち、ユーザゲームプレイプロファイラ145Aは、タスクのセットを完了するときに、チームに関する成功の確率を判定する予測モデルに基づいて、ゲームアシストを提供するように構成される。成功の確率は、チームメンバーに割り当てられたタスクの組み合わせ毎に判定され、成功の確率は、メンバーのゲームプロファイル、タスクのセット、及び現在のゲーム環境に基づいて判定される。
図1Dは、本開示の一実施形態に従って、AIパーソナルアシスタント120の1つ以上のモジュールをサポートするディープラーニングエンジン146を訓練するために使用される例示的ニューラルネットワーク190を示す。例えば、ニューラルネットワーク190は、複数のユーザ115に関するゲームプレイプロファイルを判定するために、ユーザゲームプレイプロファイラ145Aによって使用されるデータセットを分析するための自動分析ツールの例を表す。特に、ニューラルネットワーク190のインスタンスは、複数のユーザ115に関するゲームプレイプロファイルを判定するために及び/または特定のユーザのゲームプレイ中に推薦を提供するために、ユーザゲームプレイプロファイラ145Aを訓練するために使用され得る。
ニューラルネットワーク190の異なる種類が可能である。ある例では、ニューラルネットワーク190は、ディープラーニングエンジン146によって実施され得るディープラーニングをサポートする。それに応じて、ディープニューラルネットワーク、従来式ディープニューラルネットワーク、及び/または監督済訓練または未監督訓練を使用する再発ニューラルネットワークを実装することができる。別の例では、ニューラルネットワーク190は、強化学習をサポートするディープラーニングネットワークを含む。例えば、ニューラルネットワーク190は、強化学習アルゴリズムをサポートするマルコフ決定過程(MDP)としてセットアップされる。
概して、ニューラルネットワーク190は、人工ニューラルネットワーク等の相互接続ノードのネットワークを表す。各ノードは、データからいくつかの情報を学習する。相互接続によってノード間で知識を交換することができる。ニューラルネットワーク190への入力は、ノードのセットをアクティブにする。さらに、このノードのセットは他のノードをアクティブにし、それによって、入力についての知識を伝搬する。出力が提供されるまで他のノードにわたって、このアクティブ化プロセスを繰り返す。
示されるように、ニューラルネットワーク190は、ノードの階層を含む。最低の階層レベルにおいて、入力層191が存在する。入力層191は、入力ノードのセットを含む。これらの入力ノードのそれぞれは、ユーザゲームプレイプロファイラ特徴(例えば、ビデオゲームとのユーザの相互作用に、ビデオゲームをプレイするユーザに、ビデオゲーム等に特有の特徴)にマッピングされる。
最高の階層レベルにおいて、出力層193が存在する。入力層193は、出力ノードのセットを含む。例えば、出力ノードは、ユーザゲームプレイプロファイラの1つ以上の構成要素に関する決定を表す。前述されたように、出力ノードは、問題、異なるタスク、ゲームアプリケーション内の特定のタスクを完了するアプローチ、ゲームアプリケーション内の他のゲームプレイ困難度を識別し得、特定のタイプのタスクまたは特定のタスクに関するユーザに関する成功率を予測し、達成するべきタスクのセットが与えられるメンバーのチームに関する成功率を予測し、ユーザ及び/またはチームに関する熟練度スコアを判定し、推薦を判定し、アシストを提供する等を行う。ニューラルネットワーク190のノードは、そのような決定を行うために使用されることができるモデルのパラメータを学習する。
隠れ層192は、入力層191と出力層193との間で存在する。隠れ層192は「N」個の隠れ層を含み、「N」は1以上の整数である。さらに、隠れ層のそれぞれは、また、隠れノードのセットを含む。
入力ノードは、隠れノードに相互接続される。同様に、隠れノードは、出力ノードに相互接続される。しかしながら、入力ノードは、出力ノードに直接相互接続されない。複数の隠れ層が存在する場合、入力ノードは、最低の隠れ層の隠れノードに相互接続される。さらに、これらの隠れノードは、次の隠れ層の隠れ層等に相互接続される、などなどである。次の最高の隠れ層の隠れノードは、出力ノードに相互接続される。
相互接続は、2つのノードを接続する。相互接続は、学習することができる数字的重さを有し、(例えば、ユーザゲームプレイプロファイラ、推薦データセット等に基づいて)入力に適応できる、及び学習することが可能であるニューラルネットワーク190をレンダリングする。
概して、隠れ層192は、入力ノードについての知識を、出力ノードに対応する全てのタスクの中から共有することを可能にする。それを行うために、変数fは、隠れ層192を通って入力ノードに適用される。ある例では、変数fは非線形である。異なる非線形変数fは利用可能であり、例えば、整流関数f(x)=max(0,x)を含む。
ニューラルネットワーク190は、また、最適解を見つけるために、コスト関数cを使用する。コスト関数は、所与の入力x及びグラウンドトルースまたは標的値yに関して、f(x)として定義されるニューラルネットワーク190によって出力される予測の間の偏差を測定する。最適解は、解が最適解のコスト未満のコストを有さない状況を表す。コスト関数の例は、係るグランドトゥルースラベルが利用可能であるデータに関する、予測とグランドトゥルースとの間の平均平方誤差である。学習プロセス中、ニューラルネットワーク190は、バックプロパゲーションアルゴリズムを使用し、異なる最適化方法を採用し、コスト関数を最小にするモデルパラメータを学習することができる。係る最適化方法の例は、確率的勾配降下法である。
ある例では、ニューラルネットワーク190に関する訓練データセットは、同じデータ領域から得られたものである。例えば、ニューラルネットワーク190は、特定のゲームアプリケーションに対して訓練される。この例示では、データ領域は、ビデオゲームとのプレイヤーの相互作用のために集められるゲームセッションデータを含む。別の例では、訓練データセットは、異なるデータ領域から得られたものである。例えば、ニューラルネットワーク190は、ゲームアプリケーションのジャンルに対して訓練される。
したがって、ニューラルネットワーク190は、ユーザ熟練度スコア及びタスクタイプ熟練ルールに基づく特定の種類のタスクまたは特定のタスクに関するユーザの成功率を予測するために使用される予測モデルを定義し得る。加えて、ニューラルネットワーク190は、達成するべきタスクのセットが与えられるメンバーのチームに関する成功率を予測するために使用される予測モデルを定義し得る。これらの予測結果に基づいて、1つ以上の推薦を、ユーザにまたはメンバーのチームに提供し得る。
図2は、本開示の実施形態に従い、ゲームクラウドシステム(GCS)210に記憶されるゲームアプリケーションのアクセス及びプレイを可能にするようなシステム図200を示す。概して、ゲームクラウドシステムGCS210は、ネットワーク220を通して動作するクラウドコンピューティングシステムであり、複数のユーザをサポートし得る。加えて、GCS210は、ゲームタイトル処理エンジン130及びローカライズされたAIパーソナルアシスタント120を使用して、シングルプレイヤーモードまたはマルチプレイヤーモードでゲームアプリケーションをプレイする1人以上のユーザにアシストを提供するように構成される。さらに、GCS210のゲームタイトル処理エンジン130及び1つ以上のAIパーソナルアシスタント120(ローカルまたはリモート)は、ゲームアシストをメンバーのチームに提供するように構成され、それにより、目標の完了が成功する(タスクのセットを完了する、ゲームコンペを勝ち抜く、ゲームアプリケーションを成功する等)確率を高めるように、メンバーへのタスクもしくはサブタスクまたはアクションの割り当てを行う。特に、システム200は、GCS210、1つ以上のソーシャルメディアプロバイダ240、及びユーザデバイス230を含み、これらの全ては、ネットワーク220(例えば、インターネット)を介して接続される。1つ以上のユーザデバイスは、ネットワーク220に接続され、GCS210及びソーシャルメディアプロバイダ240により提供されるサービスにアクセスし得る。
一実施形態では、ゲームクラウドシステム210は、ゲームサーバ205、ビデオレコーダ271、タグプロセッサ273、ユーザプロファイルマネージャを含むアカウントマネージャ274、ゲーム選択エンジン275、ゲームセッションマネージャ285、ユーザアクセスロジック280、ネットワークインターフェース290、及びソーシャルメディアマネージャ295を含む。GCS210はさらに、一般的にデータストア140に記憶され得る、ユーザゲームプロファイルストア、ゲームロジックストア、ゲームアプリケーションルールストア、状態共有ストア、インターネットデータストア、ゲーム状態ストア、ランダムシードストア、ユーザセーブデータストア、スナップショットストア等の複数のゲームストレージシステムをさらに含み得る。他のゲームストレージシステムは、ゲームコードストア261、記録ゲームストア262、タグデータストア263、ビデオゲームデータストア264、及びゲームネットワークユーザストア265を含み得る。一実施形態では、GCS210は、ゲームアプリケーション、サービス、ゲーム関連デジタルコンテンツ、ならびにシステム、アプリケーション、ユーザ及びソーシャルネットワーク間の相互接続性を提供することができるシステムである。GCS210は、ネットワークインターフェース290を介してソーシャルメディアマネージャ295を通してユーザデバイス230及びソーシャルメディアプロバイダ240と通信し得る。ソーシャルメディアマネージャ295は、1人以上のフレンドを関連付けるように構成され得る。一実施形態では、各ソーシャルメディアプロバイダ240は、ユーザソーシャルネットワーク接続を示す少なくとも1つのソーシャルグラフ245を含む。
ユーザUは、ゲームセッションマネージャ285を介してGCS210により提供されるサービスにアクセスすることが可能であり、ユーザUは、図1のユーザ5を表し得る。例えば、アカウントマネージャ274は、GCS210へのユーザUによる認証及びアクセスを可能にする。アカウントマネージャ274は、メンバーユーザについての情報を記憶する。例えば、各メンバーユーザに関するユーザプロファイルは、アカウントマネージャ274により管理され得る。アカウントマネージャ274は、一実施態様では、メンバーユーザに関するゲームプロファイルを管理するように構成され得る。例えば、メンバー情報は、認証目的のためにアカウントマネージャ274により使用されることができる。例えば、アカウントマネージャ274を使用して、メンバーユーザに関連するユーザ情報を更新及び管理し得る。加えて、メンバーユーザにより所有されるゲームタイトルは、アカウントマネージャ274により管理され得る。その方式において、データストア264内に記憶されるビデオゲームは、これらのビデオゲームを所有する任意のメンバーユーザに利用可能になる。
一実施形態では、ユーザ(例えば、ユーザU)は、ネットワーク220を通した接続によって、ユーザデバイス230を経由して、GCS210及びソーシャルメディアプロバイダ240により提供されるサービスにアクセスすることできる。ユーザデバイス230は、有線または無線の、ポータブルまたは非ポータブルの、プロセッサ及びメモリを有する任意の種類のデバイスを含み得る。一実施形態では、ユーザデバイス230は、スマートフォン、タブレットコンピュータ、またはポータブルフォームファクタにタッチスクリーン能力を提供するハイブリッドの形態であり得る。一例示的デバイスは、オペレーティングシステムを起動し、ネットワーク220を通して取得され得る、及びローカルポータブルデバイス(例えば、スマートフォン、タブレット、ラップトップ、デスクトップ等)上で実行され得る様々なアプリケーション(app)へのアクセスが提供される携帯電話デバイスを含み得る。
ユーザデバイス230は、ユーザUに関するインターフェースとして働き、GCS210及びソーシャルメディアプロバイダ240から受信される入力コマンド236、及び表示データ及び/または情報235を送信するディスプレイ232を含む。ディスプレイ232は、タッチスクリーンとして、またはフラットパネルディスプレイ、ブラウン管(CRT)、もしくはディスプレイをレンダリングすることが可能である他のデバイスにより一般に提供されるディスプレイとして構成されることができる。代替として、ユーザデバイス230は、デスクトップコンピュータまたはラップトップコンピュータに類似する、デバイスとは別個のそのディスプレイ232を有し得る。
一実施形態では、ユーザデバイス130は、GCS210と通信し、ユーザUがビデオゲームまたはゲームアプリケーションをプレイすることを可能にするように構成される。例えば、ユーザUは、(例えば、ゲームタイトル等により)ゲーム選択エンジン275を介してビデオゲームデータストア264において利用可能であるビデオゲームを選択し得る。その方式において、選択されたビデオゲームは、GCS210上でゲームサーバ205による実行のために有効にされ、ロードされる。一実施形態では、ユーザデバイス230がGCS210からゲームビデオフレーム235のストリームを受信するように、ゲームプレイは、主にGCS210において実行され、ゲームプレイを駆動するためのユーザ入力コマンド236は、GCS210へ返送される。ストリーミングゲームプレイから受信したビデオフレーム235をユーザデバイス230のディスプレイ232に示す。
一実施形態では、ユーザUがプレイするために利用可能なゲームタイトルを選んだ後に、選ばれたゲームタイトルに関するゲームセッションは、ユーザUによりゲームセッションマネージャ285によって開始され得る。最初に、ゲームセッションマネージャ285は、データストア140内のゲーム状態ストアにアクセスし、もしあれば、ユーザUによりプレイされた最後のセッションの保存されたゲーム状態(選択されたゲームに関する)を読み出し、ユーザUは、前のゲームプレイの停止ポイントからゲームプレイを再開することができる。いったん再開ポイントまたは開始ポイントを識別すると、ゲームセッションマネージャ285は、ゲームプロセッサ210内のゲーム実行エンジンに通知し、ゲームコードストア261から選ばれたゲームタイトルのゲームコードを実行し得る。ゲームセッションを開始した後に、ゲームセッションマネージャ285は、ネットワークインターフェース290を介してユーザデバイス(例えば、ユーザデバイス230)に、ゲームビデオフレーム235(すなわち、ストリーミングビデオデータ)を渡し得る。別の実施形態では、ゲームセッションマネージャ285は、図1Aのマルチプレイヤーセッションコントローラ121から独立して、またはそれと併せて、マルチプレイヤーセッション管理を提供し得る。
ゲームプレイ中に、ゲームセッションマネージャ285は、ゲームプロセッサ210、録画エンジン271、及びタグプロセッサ273と通信し、ゲームプレイまたはゲームプレイセッションの録画(例えば、ビデオ)を生成または保存し得る。一実施形態では、ゲームプレイのビデオ録画は、ゲームプレイ中に入力される、または提供されるタグコンテンツ、及び他のゲーム関連メタデータを含み得る。また、タグコンテンツを、スナップショットを用いて保存し得る。ゲームプレイのビデオ録画は、そのゲームプレイに対応する任意のゲームメトリックと一緒に、記録ゲームストア262内に保存され得る。任意のタグコンテンツをタグデータストア263内に保存し得る。
ゲームプレイ中に、ゲームセッションマネージャ285は、ゲームプロセッサ204と通信し、ビデオゲームの対応するゲームプレイの結果に影響を与えるために使用されるユーザ入力コマンド236を配信及び取得し得る。ユーザUにより入力される入力コマンド236は、ユーザデバイス230からGCS210のゲームセッションマネージャ285に伝達され得る。ゲームプレイを駆動するために使用される入力コマンドを含む入力コマンド236は、タグコンテンツ(例えば、テキスト、画像、ビデオ録画クリップ等)を含むように、ユーザインタラクティブ入力を含み得る。ゲーム入力コマンドは、任意のユーザプレイメトリック(ユーザがゲームをどれくらいの期間プレイしているか等)と同様に、ゲームネットワークのユーザストア165に記憶され得る。ビデオゲームに関するゲームプレイに関連する選択情報を使用して、ユーザに利用可能であり得る複数の特徴を有効にし得る。例えば、ビデオゲームに参加する対応するユーザの熟練度、ゲームアプリケーションのジャンル、または一般的なゲームアプリケーションに関する実施形態では、ゲームネットワークユーザストア265内に集められ及び記憶され得る。ゲームプレイが複数のユーザによってGCS210上で実行するため、ゲームプロファイルをすべてのユーザ毎に生成し得る。その方式において、ユーザのゲームプレイは、複数のユーザのゲームプレイと比較して、ユーザがどのように良好にビデオゲームをプレイしているのかと、ユーザがゲームタイトル処理エンジン130及びローカライズされたAIパーソナルアシスタント120によって提供される推薦から利益を受け得るのかとを判定し得る。シングルプレイヤーモードまたはマルチプレイヤーモードでのユーザへのアシストは、効率的なゲームプレイを容易にすることによって及びゲームアプリケーションのより困難な及び/または不可能なセクションに進むユーザを助けることによって、ゲームアプリケーションまたはビデオゲームをプレイするユーザの経験を高めることができる。ユーザUの場合、ユーザデバイスは、ユーザUがバックエンドサーバ(例えば、ユーザUのゲームプレイ中、ゲームアシストを提供するGCS210のゲームタイトル処理エンジン130)から通信を受信することを可能にするインターフェースを提供する。
図3は、本開示の一実施形態に従って、マルチプレイヤーゲームアプリケーションに参加しているチームのメンバーに割り当てられ得るタスク及びサブタスクを示す。前述されたように、タスク割当はチームメンバーに与えられるタスクのセットを完了するための高い成功確率をもたらすように予測モデルに基づいて判定される。例えば、チームは3人のユーザ(ユーザA、ユーザB、及びユーザC)から成る。タスクAはユーザAに割り当てられており、タスクAはN個のサブタスクを含む。サブタスクのそれぞれは、1つ以上のアクションを含み得る。例えば、タスクAのサブタスク1は3つのアクション(3つのハッシュマークによって示されるような)を含み、サブタスク2は1つのアクションを含み、サブタスク3は4つのアクションを含み、サブタスクNは3つのアクションを含む。示されるように、サブタスクは1つ以上のアクションを含み得るが、サブタスクはアクションを含まない場合がある。さらに、タスクBはユーザBに割り当てられており、タスクBは2つのサブタスクを含み、タスクBのサブタスク1は1つのアクションを含み、タスクBのサブタスク2は5つのアクションを含む。また、タスクCはユーザCに割り当てられており、タスクCはN個のサブタスクを含む。例えば、タスクCのサブタスク1は3つのアクションを含み、サブタスク2は1つのアクションを含み、サブタスク3は3つのアクションを含み、サブタスクNは2つのアクションを含む。
図3はチームのチームメンバーに割り当てられるタスク及びサブタスクに示されているが、本開示の実施形態に前述されたように、チームの1人のメンバーに割り当てられるタスクはゲームアプリケーションに参加するユーザに提示されるタスクを表し得、ユーザの熟練度に基づいて、ユーザにゲームアシストを提供し得る。
本開示の一実施形態に従い、ネットワークを通して通信するゲームサーバ及びクライアントデバイスの様々なモジュールの詳細な説明に関して、ここで、ゲームアシストを提供するための方法は、図4Aのフロー図400に関連して説明される。フロー図400は、ゲームアプリケーションに参加するユーザのゲームプレイをアシストする目的のために、人工パーソナルアシスタントシステム129に含有される動作の処理及びデータフローを示す。
410において、本方法は、ゲームアプリケーションをプレイするユーザのゲームプレイを監視することを含み、ユーザは達成するべき定義済タスクを有し、タスクはタスクタイプによって定義される。その方式において、ユーザのパフォーマンスに関するデータは、ゲームアプリケーションの現在のゲームプレイ中のものである。経時的に、ユーザの複数のゲームプレイ、同じゲームアプリケーションに関連付けられる過去のゲームプレイ中のユーザのパフォーマンスの履歴に関するデータ、一般的なまたは特定のジャンルの複数のゲームアプリケーションを監視することで、一般的なまたは特定のジャンルの複数のゲームアプリケーションに関連付けられるユーザのプレイスタイルを集め、後で分析することができる。ゲームプレイ収集の履歴に関して、ユーザの複数のゲームプレイは監視され、ユーザは特定のゲームアプリケーション及び/または複数のゲームアプリケーションに参加する。ゲームプレイは達成するべき複数のタスクを含み、そのタスクのそれぞれはタスクタイプによって定義される。別の複数のタスクを定義し得、そのタスクのそれぞれを別のタスクタイプによって定義する。
一実施形態では、タスクタイプは、さらにタスクタイプとして識別され得るそれ自体のタスクに限定される。したがって、集められ及び分析されたデータは、ユーザ及び他のプレイヤーに関するゲームアプリケーションのゲームプレイの範囲内で提示されるような特定のタスクに対するユーザ及び/または他のプレイヤーによる応答に基づくものである。別の実施形態では、タスクタイプは、ゲームアプリケーションの複数のゲームプレイで遭遇するタスクを含む。また別の実施形態では、タスクタイプは、複数のゲームアプリケーションの複数のゲームプレイで遭遇するタスクを含む。
420において、本方法は、タスクタイプの複数のタスクの対処する複数のプレイヤーの結果に基づいて、タスクタイプに関するタスクタイプ熟練ルールを判定することを含む。例えば、プレイヤーのゲームプレイを監視し、プレイヤーは複数のゲームアプリケーションをプレイする。ゲームプレイは達成するべき複数のタスクを含み、そのタスクのそれぞれはタスクタイプによって定義される。その方式において、タスクタイプ熟練ルールは、提示されるタスクに対処するとき、どのように作動または応答するべきかの基準を定義する。タスクタイプ熟練ルールは提示されたタスクに特有であり得る、または概して、あるタスクタイプのタスクに適用し得る。タスクタイプ熟練ルールは、プレイヤー熟練度スコアまたは閾値スコアを定義し得る。
430において、本方法は、タスクタイプ熟練ルールに基づいて、タスクを達成するためのユーザ熟練度スコアを判定することを含む。ユーザ熟練度スコアは、複数のゲームアプリケーションの複数のタスクに遭遇するとき、ユーザの過去のパフォーマンスに基づくものであり得、タスクはタスクタイプのものである。一実施形態では、ユーザ熟練度スコアは、タスクに遭遇するときにユーザの現在のパフォーマンスに基づくものであり得、それにより、ゲームアプリケーションのゲームプレイから得られたデータだけが考慮される。また、他の実施形態では、ユーザ熟練度スコアは、タスクに遭遇するときのユーザの現在のパフォーマンスと、複数のゲームアプリケーションの同じタスクタイプの複数のタスクに遭遇するときのユーザの過去のパフォーマンスとの組み合わせに基づくものであり得る。
440において、本方法は、ユーザ熟練度スコア、タスクタイプ熟練ルール、及びタスクに基づいてタスクを達成する際に、ユーザ予測成功率を判定することを含む。また、ゲーム環境を考慮し得る。例えば、ユーザの熟練度が不十分でありタスクが極めて難しい場合、予測成功率は低い場合がある(例えば、25パーセント未満)。しかしながら、ユーザの熟練度が高い場合、特にタスクが適度に難しい場合、予測成功率は高い場合がある(例えば、70パーセントよりも高い)。
450において、本方法は、ユーザ予測成功率に基づいてユーザの推薦を判定することを含む。再度、異なるタスクが提示される不十分な熟練度を有するユーザの上記の例に続いて、その次に、推薦をユーザに提示し得る。推薦は、どのようにユーザがタスク、サブタスク、またはアクションに対処する際に応答するべきかの提案を含み得る。例えば、推薦は、タスクを達成することを容易にするコマンドまたはアクションのセットに推薦された応答を含み得る。推薦は、ユーザの熟練度に合わせられる。例えば、低い熟練度のユーザに与えられる推薦はかなり詳細であり得(例えば、少しずつ着実な指示)、一方、高い熟練度のユーザに与えられる推薦は極めて限定的であり得る、またはユーザにヒントを与えるだけの意図がありとても簡潔であり得る、または推薦を含まない場合がある。
さらに、与えられた推薦はユーザから受信された感度因子によって制御され得、感度因子は、ユーザが推薦を受信することに関心があるかどうかを示し、極めて熱狂的、無関心、少し反対、極めて敵対的等の範囲にわたり得る。例えば、ユーザの感受性が高い場合、推薦がほとんど与えられない、または全く与えられない。他方では、ユーザが推薦を受信する要望を示すような感受性がない場合、より多くの推薦を、要求を行うユーザに与え得る。
図5は、本開示の一実施形態に従って、同じタイプのタスクを行うときにチームメンバーの過去のパフォーマンスに基づく提示されたタスクを達成するチームの成功を評価する予測モデルに基づいて、マルチプレイヤーゲームアプリケーションに参加するチームのチームメンバーにタスクを割り当てるための方法におけるステップを示すフロー図である。すなわち、ゲームアシストをマルチプレイヤーゲーム環境でゲームアプリケーションをプレイするメンバーのチームに提供される。アシストは、チームメンバーへのタスク割当の様々な組み合わせに関するタスクのセットを完了するチームに関する成功の確率を判定する予測モデルに基づいて生成及び提供される。予測モデルは、メンバーのゲームプロファイル、タスクのセット、及び現在のゲーム環境を考慮したものである。
510において、本方法は、複数のゲームアプリケーションをプレイする複数のプレイヤーの複数のゲームプレイを監視することを含む。複数のゲームプレイは、達成するべき複数のタスクを含み、複数のタスクは複数のタスクタイプに関連付けられる。その方式において、プレイヤーのゲームプロファイルは、対応するプレイヤーのパフォーマンス、ゲームアプリケーションまたは複数のゲームアプリケーションに関連付けられる対応するプレイヤーのパフォーマンスの履歴に基づいて生成され得る。また、プレイスタイルは、プレイヤーに対して判定され得る。さらに、プレイヤーの熟練度評定は、単一のタスクタイプのタスクまたは1つ以上のタスクタイプのタスクに遭遇するときに、他のプレイヤーのパフォーマンスに基づいて判定され得る。
520において、本方法は、チームの複数のチームメンバーを登録することを含む。チームメンバーのそれぞれ毎のゲームプロファイルにアクセスし得る。
530において、本方法は、複数のタスクタイプに関連付けられる複数のチームメンバーに関する複数の評定を判定することを含む。すなわち、チームメンバーに関連付けられるユーザ熟練度評定を判定する。これらの評定は、どのメンバーがあるタスクを達成するのに最適であるのかに基づいて、チームメンバーにタスクを割り当てるために使用されることができる。
540において、本方法は、タスクのセットを達成する際のチームに関する予測成功率が最高であるように、複数の評定に基づいて、関連タスクのセットのタスクを複数のチームメンバーに割り当てることを含む。特に、関連タスクのセットからのタスク割当の複数の組み合わせに関して、タスクのセットを達成する際のチームに関する予測成功率を判定する。予測率は、複数の評定、タスクのセット、ゲームアプリケーションのゲーム環境の現在の状況に基づいて判定される。次に、タスクのセットを達成する際にチームに関する対応する予測成功率が最高であるように、関連タスクのセットのタスクを、選択された組み合わせでチームメンバーに割り当てることができる。
タスクのセットが変化するとき、またはタスクのセットが更新されるとき、本プロセスを行い得る。例えば、関連タスクのセットは、達成するべき関連タスクの第2のセットに対して再定義され得、タスクのセットは、複数のイベント(例えば、チームメンバーの減少、期間の経過、あるセットからのタスクの達成、新しいチームメンバーの追加等)に応じて変化する。第2の複数のタスクのタスクは、タスクのセットを達成する際のチームに関する予測成功率が最高であるように、複数の評定に基づいて、複数のチームメンバーに選択された組み合わせに応じて割り当てることができる。
特定の実施形態が、シングルプレイヤーモードまたはマルチプレイヤーモードでゲームアプリケーションに参加する1人以上のユーザへのゲームアシストの提供を示すように提供されているが、これらは、例のために、限定しないで、説明される。本開示を読んだ当業者は、本開示の趣旨及び範囲内に入る追加実施形態を実現するであろう。
広範な地理的エリアにわたり配信される、本実施形態のゲームへのアクセスを提供する等のアクセスサービスがクラウドコンピューティングを使用することが多いことに留意されたい。クラウドコンピューティングは、動的スケーラブルで、多くの場合、仮想化リソースがインターネットを通したサービスとして提供されるコンピューティングのスタイルである。ユーザは、ユーザをサポートする「クラウド」のテクノロジインフラストラクチャの専門家である必要はない。クラウドコンピューティングは、インフラストラクチャアズアサービス(IaaS)、プラットフォームアズアサービス(PaaS)、及びソフトウエアアズアサービス(SaaS)等の異なるサービスに分けられることができる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされるオンラインで、ビデオゲーム等の共通のアプリケーションを提供する一方、ソフトウェア及びデータは、クラウド内のサーバに記憶される。用語「クラウド」は、インターネットがコンピュータネットワーク図にどのように示されているかに基づいて、インターネットのメタファとして使用され、それが隠す複雑なインフラストラクチャの抽象的概念である。
ゲーム処理サーバ(GPS)(または、単に「ゲームサーバ」)は、シングルプレイヤービデオゲーム及びマルチプレイヤービデオゲームをプレイするためにゲームクライアントにより使用される。インターネットを通してプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームは、プレイヤーからデータを収集し、それを他のプレイヤーに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするには別個のサーバが必要となる。別の実施形態では、GPSは、プレイヤーと各々のゲームプレイデバイスとの間の通信を確立し、集中GPSに頼ることなく情報を交換する。
専用GPSは、クライアントとは独立して起動するサーバである。係るサーバは、通常、データセンター内に位置する専用ハードウェア上で起動し、より多くの帯域幅と専用の処理能力を提供する。専用サーバは、ほとんどのPCベースのマルチプレイヤーゲームのためのゲームサーバをホストするのに好ましい方法である。大規模多人数同時参加型オンラインゲームは、通常ゲームタイトルを所有するソフトウェア会社がホストする専用サーバで起動し、サーバがコンテンツを制御及び更新することを可能にする。
ユーザは、少なくともCPU、ディスプレイ及びI/Oを含む、クライアントデバイスでリモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、PDA等であり得る。一実施形態では、ゲームサーバ上で実行するネットワークは、クライアントによって使用されるデバイスの種類を認識し、採用する通信方法を調整する。他の場合、クライアントデバイスは、HTML等の標準的な通信方法を使用して、インターネットを通してゲームサーバ上のアプリケーションにアクセスする。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成によって実践され得る。本開示はまた、有線ベースまたは無線ネットワークを経由してリンクされる、遠隔処理デバイスによりタスクが行われる、分散型コンピューティング環境で実践されることができる。
所与のビデオゲームが特定のプラットフォーム、及び特定の関連コントローラデバイスのために開発され得ることを理解されたい。しかしながら、本明細書に提示されるようなゲームクラウドシステムを介して係るゲームが利用可能になるとき、ユーザは、異なるコントローラデバイスでビデオゲームにアクセスし得る。例えば、ゲームは、ゲームコンソール及びその関連コントローラのために開発されている場合がある一方、ユーザは、キーボード及びマウスを利用して、パーソナルコンピュータからゲームのクラウドベースのバージョンにアクセスする場合がある。係るシナリオでは、入力パラメータ構成は、ユーザの利用可能なコントローラデバイス(この事例において、キーボード及びマウス)により生成されることができる入力から、ビデオゲームの実行のために許容可能である入力へのマッピングを定義することができる。
別の例では、ユーザは、タブレットコンピューティングデバイス、タッチスクリーンスマートフォン、または他のタッチスクリーン駆動型デバイスを介してクラウドゲームシステムにアクセスし得る。この場合、クライアントデバイス及びコントローラデバイスは、入力が検出されたタッチスクリーンの入力/ジェスチャとして提供されながら、同一のデバイス内で一緒に一体化される。係るデバイスについて、入力パラメータ構成は、ビデオゲームに関するゲーム入力に対応する特定のタッチスクリーン入力を定義し得る。例えば、ボタン、方向性パッド、または他のタイプの入力素子は、ビデオゲームの実行中に表示またはオーバーレイされ、ユーザがゲーム入力を生成するためにタッチすることができるタッチスクリーン上の位置を示し得る。特定の方向におけるスワイプ等のジェスチャ、または特有のタッチモーションもまた、ゲーム入力として検出され得る。一実施形態では、例えば、ビデオゲームのゲームプレイを開始する前に、タッチスクリーン上での制御の動作にユーザを慣れさせるように、ゲームプレイ用のタッチスクリーンを介して入力を提供する方法を示すように、チュートリアルをユーザへ提供することができる。
いくつかの実施形態では、クライアントデバイスは、コントローラデバイスに関する接続ポイントとして機能する。すなわち、コントローラデバイスは、無線または有線接続を介してクライアントデバイスと通信し、コントローラデバイスからクライアントデバイスに入力を伝達する。クライアントデバイスは、これらの入力を順に処理し、その後、ネットワーク(例えば、ルータ等のローカルネットワークデバイスを介してアクセスされる)を介して、クラウドゲームサーバに入力データを伝達し得る。しかしながら、他の実施形態では、コントローラ自体は、ネットワークを介してクラウドゲームサーバへ直接に入力を通信する能力を有し、係る入力を最初にクライアントデバイスを通して通信する必要がない、ネットワーク化されたデバイスであり得る。例えば、コントローラは、ローカルネットワークデバイス(前述のルータ等)に接続し、クラウドゲームサーバにデータを送信し、そこからデータを受信し得る。したがって、クライアントデバイスは依然として、クラウドベースのビデオゲームからビデオ出力を受信し、それをローカルディスプレイ上にレンダリングすることを必要とされ得る一方で、入力待ち時間は、コントローラがクラウドゲームサーバへネットワークを通して入力を直接送信することを可能にすることで短くすることができ、クライアントデバイスをバイパスすることが可能である。
一実施形態では、ネットワーク化されたコントローラ及びクライアントデバイスは、あるタイプの入力をコントローラからクラウドゲームサーバに直接、また他のタイプの入力を、クライアントデバイスを介して送信するように構成されることができる。例えば、検出がコントローラ自体から離れた任意の追加ハードウェアまたは処理に依存しない入力は、コントローラからクラウドゲームサーバにネットワークを介して直接送信され、クライアントデバイスをバイパスすることが可能である。係る入力は、ボタン入力、ジョイスティック入力、埋め込み型動き検出入力(例えば、加速度計、磁力計、ジャイロスコープ)等を含み得る。しかしながら、追加ハードウェアを利用する、またはクライアントデバイスによる処理を必要とする入力は、クライアントデバイスによりクラウドゲームサーバに送信されることができる。これらは、クラウドゲームサーバに送信する前に、クライアントデバイスにより処理され得るゲーム環境から取り込まれたビデオまたはオーディオを含み得る。加えて、コントローラの動き検出ハードウェアからの入力は、取り込まれたビデオと併せてクライアントデバイスにより処理され、コントローラの位置及び動きを検出し得、その後、クライアントデバイスによりクラウドゲームサーバに通信されるであろう。様々な実施形態に従って、コントローラデバイスはまた、クライアントデバイスから、またはクラウドゲームサーバから直接、データ(例えば、フィードバックデータ)を受信し得ることを理解されたい。
本明細書に記載される実施形態が任意の種類のクライアントデバイス上で実行され得ることを理解されたい。いくつかの実施形態では、クライアントデバイスは、ヘッドマウントディスプレイ(HMD)である。
図6は、本開示の実施形態に従う、ヘッドマウントディスプレイ650の構成要素を示す図が示される。ヘッドマウントディスプレイ650は、プログラム命令を実行するためのプロセッサ600を含む。メモリ602は、記憶する目的のために提供され、揮発性メモリ及び不揮発性メモリの両方を含み得る。ユーザが視認し得る視覚インターフェースを提供するディスプレイ604を含む。ヘッドマウントディスプレイ650に関する電源としてバッテリ606を提供する。動き検出モジュール608は、磁力計610、加速度計612、及びジャイロスコープ614等の様々な種類の動き感知性ハードウェアのいずれかを含み得る。
加速度計は、加速度及び重力誘起反力を測定するためのデバイスである。単軸及び多軸モデルは、異なる方向における加速度の大きさ及び方向を検出するために利用可能である。加速度計を使用して、傾き、振動、及び衝撃を感知する。一実施形態では、3つの加速度計612を使用して、2つの角度(ワールド空間ピッチ及びワールド空間ロール)に関する絶対参照を与える、重力の方向を提供する。
磁力計は、ヘッドマウントディスプレイの近くの磁場の強さ及び向きを測定する。一実施形態では、3つの磁力計610は、ヘッドマウントディスプレイ内で使用され、ワールド空間ヨー角度に関する絶対参照を確保する。一実施形態では、磁力計は、±80マイクロテスラである、地磁気にわたるように設計される。磁力計は、金属の影響を受け、実際のヨーに関して単調であるヨー測定を提供する。磁場は、ヨー測定に歪みを引き起こす、環境内の金属により歪み得る。必要であれば、この歪みは、ジャイロスコープまたはカメラ等の他のセンサからの情報を使用して較正されることができる。一実施形態では、加速度計612は、磁力計610と一緒に使用され、ヘッドマウントディスプレイ650の傾き及び方位を取得する。
ジャイロスコープは、角運動量の原理に基づき、方向を測定または維持するためのデバイスである。一実施形態では、3つのジャイロスコープ614は、慣性感知に基づき各々の軸(x、y、及びz)にわたる動きについての情報を提供する。ジャイロスコープは、高速回転を検出する際に有用である。しかしながら、ジャイロスコープは、絶対参照が存在しなくても、経時的にドリフトすることができる。これは、定期的にジャイロスコープをリセットすることを必要とし、これは、オブジェクトの視覚追跡、加速度計、磁力計等に基づく位置/方向判定等の他の利用可能な情報を使用して行われることができる。
実環境の画像及び画像ストリームを取り込むためのカメラ616を提供する。2つ以上のカメラは、ヘッドマウントディスプレイ650内に含まれ、ヘッドマウントディスプレイ650は、後ろ向きのカメラ(ユーザがヘッドマウントディスプレイ650のディスプレイを視認するときにユーザとは別の方向に向いている)、及び前向きのカメラ(ユーザがヘッドマウントディスプレイ650のディスプレイを視認するときにユーザに向いている)を含み得る。加えて、デプスカメラ618は、実環境におけるオブジェクトの奥行き情報を感知するためにヘッドマウントディスプレイ650に含まれ得る。
一実施形態では、HMDの前面上に一体化されるカメラを使用して、安全に関する警告を提供し得る。例えば、ユーザが壁またはオブジェクトに近づいている場合、ユーザに警告し得る。一実施形態では、この使用は、室内の物理的オブジェクトの外観図によって提供され、それらの存在をユーザに警告し得る。外形は、例えば、仮想環境内のオーバーレイであり得る。いくつかの実施形態では、HMDユーザは、例えば、床にオーバーレイされる、基準マーカーへのビューが提供され得る。例えば、マーカーは、ユーザがゲームをプレイする部屋のどこが中心であるかの基準をユーザに提供し得る。これは、例えば、ユーザが部屋の中で壁または他のオブジェクトに衝突することを回避するためにどこを移動するべきかの視覚情報をユーザに提供し得る。また、触覚警告、及び/または音声警告をユーザへ提供し、ユーザがHMDを装着し、HMDを用いてゲームをプレイするまたはコンテンツをナビゲートするときに関するさらなる安全性を提供し得る。
ヘッドマウントディスプレイ650は、オーディオ出力を提供するためのスピーカ620を含む。また、周囲環境からの音、ユーザによって生じる音声等を含む、実環境から音を取り込むためのマイクロホン622を含み得る。ヘッドマウントディスプレイ650は、触覚フィードバックをユーザへ提供するための触覚フィードバックモジュール624を含む。一実施形態では、触覚フィードバックモジュール624は、触覚フィードバックをユーザへ提供するように、ヘッドマウントディスプレイ650の動き及び/または振動を生じさせることが可能である。
LED626は、ヘッドマウントディスプレイ650の状態の視覚インジケータとして提供される。例えば、LEDは、バッテリレベル、電源投入等を示し得る。カードリーダー628は、ヘッドマウントディスプレイ650がメモリカードへ、またそこから情報を読み出し及び書き込むことを可能にするように提供される。周辺デバイスの接続、または他のデバイス(他のポータブルデバイス、コンピュータ等)への接続を可能にするためのインターフェースの一例として、USBインターフェース630を含む。ヘッドマウントディスプレイ650の様々な実施形態では、様々な種類のインターフェースのいずれかは、ヘッドマウントディスプレイ650のより高い接続性を可能にするように含まれ得る。
WiFi(登録商標)モジュール632は、無線ネットワーク技術を用いて、インターネットへの接続を可能にするように含まれる。また、ヘッドマウントディスプレイ650は、他のデバイスへの無線接続を可能にするためにBluetooth(登録商標)モジュール634を含む。また、通信リンク636は、他のデバイスへの接続のために含まれ得る。一実施形態では、通信リンク636は、無線通信用の赤外線伝達を利用する。他の実施形態では、通信リンク636は、他のデバイスとの通信のために様々な無線または有線伝達プロトコルのいずれかを利用し得る。
入力ボタン/センサ638は、ユーザに関して入力インターフェースを提供するように含まれる。ボタン、タッチパッド、ジョイスティック、トラックボール等の様々な種類の入力インターフェースのいずれかを含み得る。超音波技術を用いて、他のデバイスとの通信を容易にするためのヘッドマウントディスプレイ650に、超音波通信モジュール640を含み得る。
バイオセンサ642は、ユーザからの生理学的データの検出を可能にするように含まれる。一実施形態では、バイオセンサ642は、ユーザの皮膚を通してユーザの生体電気信号を検出するための1つ以上の乾燥電極を含む。
ヘッドマウントディスプレイ650の前述の構成要素は、ヘッドマウントディスプレイ650内に含まれ得る単なる例示的構成要素として説明されている。本開示の様々な実施形態では、ヘッドマウントディスプレイ650は、様々な前述の構成要素の一部を含み得る、または含まない場合がある。ヘッドマウントディスプレイ650の実施形態は、加えて、本明細書に説明されるような本開示の態様を容易にする目的のために、現在記述されていないが、当該技術分野において既知である他の構成要素を含み得る。
当業者は、本開示の様々な実施形態では、前述のハンドヘルドデバイスが様々な相互作用機能を提供するためにディスプレイ上に表示される対話型アプリケーションと併せて利用され得ることを理解するであろう。本明細書に記載される例示的実施形態は、単に例として提供するものであり、限定として提供するものではない。
図7は、本開示の様々な実施形態に従った、ゲームシステム700のブロック図である。ゲームシステム700は、ネットワーク715を介して、1つ以上のクライアント710にビデオストリームを提供するように構成される。ゲームシステム700は、通常、ビデオサーバシステム720及び選択式ゲームサーバ725を含む。ビデオサーバシステム720は、最小限のサービス品質で1つ以上のクライアント710にビデオストリームを提供するように構成される。例えば、ビデオサーバシステム720は、ビデオゲーム内のビューの状態または視点を変更するゲームコマンドを受信し、クライアント710に、最小遅延時間の状態で、この変更を反映する更新されたビデオストリームを提供し得る。ビデオサーバシステム720は、まだ定義されていないフォーマットを含む、多種多様な代替ビデオフォーマットでビデオストリームを提供するように構成され得る。さらに、ビデオストリームは、多種多様なフレームレートでユーザに提示するように構成されているビデオフレームを含み得る。典型的なフレームレートは、毎秒30フレーム、毎秒60フレーム、及び毎秒720フレームである。ただし、本開示の代替実施形態では、より高いまたはより低いフレームレートが含まれる。
本明細書では、710A、710B等と個々に呼ばれるクライアント710は、ヘッドマウントディスプレイ、端末、パーソナルコンピュータ、ゲームコンソール、タブレットコンピュータ、電話機、セットトップボックス、キオスク、無線デバイス、デジタルパッド、スタンドアロンデバイス、ハンドヘルドゲームプレイデバイス、及び/または同様のものを含み得る。通常、クライアント710は、符号化されたビデオストリーム(すなわち、圧縮された)を受信し、ビデオストリームを復号し、結果として生じるビデオをユーザ(例えば、ゲームのプレイヤー)に提示するように構成される。符号化されたビデオストリームを受信するプロセス、及び/またはビデオストリームを復号するプロセスは、通常、個々のビデオフレームをクライアントの受信バッファに記憶することを含む。ビデオストリームは、クライアント710に統合されたディスプレイ上またはモニタもしくはテレビ等の別個のデバイス上でユーザに提示され得る。クライアント710は、随意に、2人以上のゲームプレイヤーをサポートするように構成される。例えば、ゲームコンソールは、2人、3人、4人またはそれ以上の同時プレイヤーをサポートするように構成され得る。これらのプレイヤーのそれぞれは、別個のビデオストリームを受信し得る、または単一のビデオストリームは、各プレイヤーに対して特別に生成された(例えば、各プレイヤーの視点に基づいて生成された)フレームの領域を含み得る。クライアント710は、随意に、地理的に分散される。ゲームシステム700に含まれるクライアントの数は、1つもしくは2つから数千、数万、またはそれ以上に広く変動し得る。本明細書で使用されるような用語「ゲームプレイヤー」は、ゲームをプレイする人を指すために使用され、用語「ゲームプレイデバイス」は、ゲームをプレイするために使用されるデバイスを指すために使用される。いくつかの実施形態では、ゲームプレイデバイスは、協働してゲームエクスペリエンスをユーザに配信する複数のコンピューティングデバイスを指し得る。例えば、ゲームコンソール及びHMDは、ビデオサーバシステム720と協働して、HMDを介して表示されるゲームを配信し得る。一実施形態では、ゲームコンソールは、ビデオサーバシステム720からビデオストリームを受信し、ゲームコンソールは、レンダリングのためにHMDに、ビデオストリームを転送する、またはビデオストリームへ更新する。
クライアント710は、ネットワーク715を介してビデオストリームを受信するように構成される。ネットワーク715は、電話網、インターネット、無線ネットワーク、電力線ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、プライベートネットワーク、及び/または同様のものを含む任意の種類の通信ネットワークであり得る。典型的な実施形態では、ビデオストリームは、TCP/IPまたはUDP/IP等の標準プロトコルを介して通信される。代替として、ビデオストリームは、独自の規格を介して通信する。
クライアント710の典型的な例は、プロセッサ、不揮発性メモリ、ディスプレイ、復号化ロジック、ネットワーク通信能力、及び入力デバイスを備えるパーソナルコンピュータである。復号化ロジックは、ハードウェア、ファームウェア、及び/またはコンピュータ可読媒体に記憶されたソフトウェアを含み得る。ビデオストリームを復号(及び符号化)するためのシステムは、当該技術分野において周知であり、使用される特定の符号化スキームに応じて異なる。
クライアント710は、必須ではないが、受信ビデオを修正するように構成されたシステムをさらに含み得る。例えば、クライアントは、さらなるレンダリングを行う、1つのビデオ画像を別のビデオ画像にオーバーレイする、ビデオ画像をクロッピングする、及び/または同様のことをするように構成され得る。例えば、クライアント710は、Iフレーム、Pフレーム、及びBフレーム等の様々な種類のビデオフレームを受信し、これらのフレームをユーザへの表示のための画像に処理するように構成され得る。いくつかの実施形態では、クライアント710のメンバーは、ビデオストリーム上でさらなるレンダリング、シェーディング、3Dへの変換、または同様の動作を実行するように構成される。クライアント710のメンバーは、随意に、2つ以上のオーディオまたはビデオストリームを受信するように構成される。クライアント710の入力デバイスは、例えば、片手式ゲームコントローラ、両手式ゲームコントローラ、ジェスチャ認識システム、視線認識システム、音声認識システム、キーボード、ジョイスティック、ポインティングデバイス、力フィードバックデバイス、動き及び/または位置感知デバイス、マウス、タッチスクリーン、ニューラルインターフェース、カメラ、まだ開発段階の入力デバイス、及び/または同様のものを含み得る。
クライアント710によって受信されたビデオストリーム(及び随意にオーディオストリーム)は、ビデオサーバシステム720によって生成及び提供される。本明細書の他の箇所でさらに説明されるように、このビデオストリームはビデオフレームを含む(及びオーディオストリームはオーディオフレームを含む)。ビデオフレームは、ユーザに表示される画像に有意義に貢献する(例えば、それらは適切なデータ構造内に画素情報を含む)ように構成される。本明細書で使用されるような用語「ビデオフレーム」は、ユーザに表示される画像に貢献する(例えば、効果を与える)ように構成されている情報を主に含むフレームを指すために使用される。「ビデオフレーム」に関する本明細書の教示のほとんどは、「オーディオフレーム」にも適用されることができる。
クライアント710は、通常、ユーザからの入力を受信するように構成される。これらの入力は、ビデオゲームの状態を変更するように、またはそれ以外の場合はゲームプレイに影響を与えるように構成されるゲームコマンドを含み得る。ゲームコマンドは、入力デバイスを使用して受信されることができる、及び/またはクライアント710上で実行する命令を算出することによって自動的に生成され得る。受信したゲームコマンドは、クライアント710からネットワーク715を介してビデオサーバシステム720及び/またはゲームサーバ725に通信される。例えば、いくつかの実施形態では、ゲームコマンドは、ビデオサーバシステム720を介してゲームサーバ725に通信される。いくつかの実施形態では、ゲームコマンドの別個のコピーは、クライアント710からゲームサーバ725及びビデオサーバシステム720に通信される。ゲームコマンドの通信は、随意に、コマンドのIDに依存する。ゲームコマンドは、随意に、オーディオまたはビデオストリームをクライアント710Aに提供するために使用されたものとは異なる経路または通信チャネルを経由して、クライアント710Aから通信される。
ゲームサーバ725は、随意に、ビデオサーバシステム720とは異なるエンティティによって運営される。例えば、ゲームサーバ725は、マルチプレイヤーゲームのパブリッシャーによって運営し得る。この例では、ビデオサーバシステム720は、随意にゲームサーバ725によってクライアントとして見なされ、随意にゲームサーバ725の視点から、従来技術のゲームエンジンを実行する従来技術のクライアントであるように見えるように構成される。ビデオサーバシステム720とゲームサーバ725との間の通信は、随意に、ネットワーク715を介して発生する。したがって、ゲームサーバ725は、ゲーム状態情報を複数のクライアントに送信する従来技術のマルチプレイヤーゲームサーバであり得、そのうちの1つがゲームサーバシステム720である。ビデオサーバシステム720は、同時にゲームサーバ725の複数のインスタンスと通信するように構成され得る。例えば、ビデオサーバシステム720は、異なるユーザに複数の異なるビデオゲームを提供するように構成されることができる。これらの異なるビデオゲームのそれぞれは、異なるゲームサーバ725によってサポートし得る、及び/または異なるエンティティによって公開され得る。いくつかの実施形態では、ビデオサーバシステム720の地理的に分散された複数のインスタンスは、複数の異なるユーザにゲームビデオを提供するように構成される。ビデオサーバシステム720のこれらのインスタンスのそれぞれは、ゲームサーバ725の同じインスタンスと通信し得る。ビデオサーバシステム720と1つ以上のゲームサーバ725との間の通信は、随意に、専用の通信チャネルを介して発生する。例えば、ビデオサーバシステム720は、これらの2つのシステム間の通信に専用の高帯域幅チャネルを介してゲームサーバ725に接続し得る。
ビデオサーバシステム720は、少なくともビデオソース730、I/Oデバイス745、プロセッサ750、及び非一過性ストレージ755を備える。ビデオサーバシステム720は、1つのコンピューティングデバイスを含み得る、または複数のコンピューティングデバイス間に分散し得る。これらのコンピューティングデバイスは、随意に、ローカルエリアネットワーク等の通信システムを介して接続される。
ビデオソース730は、例えば、ストリーミングビデオまたは動画を形成する一連のビデオフレーム等のビデオストリームを提供するように構成される。いくつかの実施形態では、ビデオソース730は、ビデオゲームエンジン及びレンダリングロジックを含む。ビデオゲームエンジンは、プレイヤーからゲームコマンドを受信し、受信したコマンドに基づいてビデオゲームの状態のコピーを維持するように構成される。このゲーム状態は、ゲーム環境内のオブジェクトの位置と、通常、視点とを含む。ゲーム状態はまた、オブジェクトの特性、画像、色、及び/またはテクスチャを含み得る。
ゲーム状態は、通常、ゲームルールと、移動、回転、攻撃、フォーカス設定、インタラクト、使用、及び/または同様のものなどのゲームコマンドとに基づいて維持される。ゲームエンジンの一部は、随意に、ゲームサーバ725内に配置される。ゲームサーバ725は、地理的に分散したクライアントを使用する複数のプレイヤーから受信したゲームコマンドに基づいて、ゲームの状態のコピーを維持し得る。これらの場合、ゲーム状態は、ゲームサーバ725によってビデオソース730に提供され、ゲーム状態のコピーが記憶され、レンダリングが行われる。ゲームサーバ725は、ネットワーク715を介してクライアント710から直接ゲームコマンドを受信し得る、及び/またはビデオサーバシステム720を介してゲームコマンドを受信し得る。
ビデオソース730は、通常、レンダリングロジック、例えば、ハードウェア、ファームウェア、及び/またはストレージ755等のコンピュータ可読媒体に記憶されたソフトウェアを含む。このレンダリングロジックは、ゲーム状態に基づいてビデオストリームのビデオフレームを作成するように構成される。レンダリングロジックの全部または一部は、随意に、グラフィックス処理ユニット(GPU)内に配置される。レンダリングロジックは、通常、ゲーム状態及び視点に基づいて、オブジェクト間の三次元空間関係を決定するために、及び/または適切なテクスチャ等を適用するように構成される処理段階を含む。レンダリングロジックは未加工ビデオを生成し、未加工ビデオは通常、クライアント710と通信する前に符号化される。例えば、未加工ビデオは、Adobe Flash(登録商標)規格、.wav、H.264、H.263、On2、VP6、VC−1、WMA、Huffyuv、Lagarith、MPG−x.Xvid.FFmpeg、x264、VP6−8、リアルビデオ、mp3等に従って符号化され得る。符号化処理は、リモートデバイス上のデコーダに配信するために、随意にパッケージ化されたビデオストリームを生成する。ビデオストリームは、フレームサイズ及びフレームレートによって特徴付けられる。任意の他のフレームサイズを使用し得るが、典型的なフレームサイズは、800×600、1280×720(例えば、720p)、1024×768を含む。フレームレートは、1秒あたりのビデオフレームの数である。ビデオストリームは、異なるタイプのビデオフレームを含み得る。例えば、H.264規格は、「P」フレーム及び「I」フレームを含む。Iフレームは表示デバイス上の全てのマクロブロック/画素をリフレッシュするための情報を含む一方、Pフレームはそのサブセットをリフレッシュするための情報を含む。Pフレームは、通常、Iフレームよりもデータサイズが小さい。本明細書で使用されるような用語「フレームサイズ」は、フレーム内の画素数を指すことを意味する。用語「フレームデータサイズ」は、フレームを記憶するために必要なバイト数を指すために使用される。
代替実施形態では、ビデオソース730は、カメラ等のビデオ録画デバイスを含む。このカメラは、コンピュータゲームのビデオストリームに含めることができる遅延ビデオまたはライブビデオを生成するために使用され得る。結果として生じるビデオストリームは、随意に、レンダリングされた画像と、スチルカメラまたはビデオカメラを使用して録画された画像との両方を含む。ビデオソース730は、また、ビデオストリームに含められる事前に録画されたビデオを記憶するように構成されているストレージデバイスを含み得る。ビデオソース730はまた、オブジェクト(例えば、人)の動きまたは位置を検出するように構成される動きまたは位置感知デバイス、ならびに検出された動き及び/または位置に基づいてゲーム状態を決定する、またはビデオを生成するように構成されるロジックを含み得る。
ビデオソース730は、随意に、他のビデオに配置されるように構成されるオーバーレイを提供するように構成される。例えば、これらのオーバーレイは、コマンドインターフェース、ログイン命令、ゲームプレイヤーへのメッセージ、他のゲームプレイヤーの画像、他のゲームプレイヤーのビデオフィード(例えば、ウェブカメラビデオ)を含み得る。タッチスクリーンインターフェースまたは視線検出インターフェースを含むクライアント710Aの実施形態では、オーバーレイは、仮想キーボード、ジョイスティック、タッチパッド、及び/または同様のものを含み得る。オーバーレイの一例では、プレイヤーの音声がオーディオストリーム上にオーバーレイされる。ビデオソース730は、随意に、1つ以上のオーディオソースをさらに含む。
ビデオサーバシステム720が2つ以上のプレイヤーからの入力に基づいてゲーム状態を維持するように構成される実施形態では、各プレイヤーは、ビューの位置及び向きを含む異なる視点を有し得る。ビデオソース730は、随意に、各プレイヤーに対して、各プレイヤーの視点に基づいて別個のビデオストリームを提供するように構成される。さらに、ビデオソース730は、異なるフレームサイズ、フレームデータサイズ、及び/または符号化をクライアント710のそれぞれに提供するように構成され得る。ビデオソース730は、随意に、3Dビデオを提供するように構成される。
I/Oデバイス745は、ビデオサーバシステム720が、ビデオ、コマンド、情報要求、ゲーム状態、視線情報、デバイス動作、デバイス位置、ユーザ動作、クライアントID、プレイヤーID、ゲームコマンド、セキュリティ情報、オーディオ、及び/または同様のもの等の情報を送信及び/または受信するように構成される。I/Oデバイス745は、通常、ネットワークカードまたはモデム等の通信ハードウェアを含む。I/Oデバイス745は、ゲームサーバ725、ネットワーク715、及び/またはクライアント710と通信するように構成される。
プロセッサ750は、本明細書で検討されるビデオサーバシステム720の様々な構成要素内に含まれるロジック(例えば、ソフトウェア)を実行するように構成される。例えば、プロセッサ750は、ビデオソース730、ゲームサーバ725、及び/またはクライアントクォリファイア760の機能を行うために、ソフトウェア命令でプログラムされ得る。ビデオサーバシステム720は、随意に、プロセッサ750の2つ以上のインスタンスを含む。プロセッサ750はまた、ビデオサーバシステム720によって受信されたコマンドを実行するために、または本明細書で検討されるゲームシステム700の様々な要素の動作を調整するために、ソフトウェア命令でプログラムされ得る。プロセッサ750は、1つ以上のハードウェアデバイスを含み得る。プロセッサ750は、電子プロセッサである。
ストレージ755は、非一過性アナログデバイス及び/またはデジタルストレージデバイスを含む。例えば、ストレージ755は、ビデオフレームを記憶するように構成されるアナログストレージデバイスを含み得る。ストレージ755は、コンピュータ可読デジタルストレージ、例えば、ハードドライブ、光学ドライブ、またはソリッド状態ストレージを含み得る。ストレージ715は、ビデオフレーム、人工フレーム、ビデオフレーム及び人工フレームの両方を含むビデオストリーム、オーディオフレーム、オーディオストリーム、及び/または同様のものを記憶するように(例えば、適切なデータ構造またはファイルシステムによって)構成される。ストレージ755は、随意に、複数のデバイス間に分散される。いくつかの実施形態では、ストレージ755は、本明細書の他の箇所で考察されるビデオソース730のソフトウェア構成要素を記憶するように構成される。これらの構成要素は、必要なときにセットアップされる準備ができるフォーマットに記憶され得る。
ビデオサーバシステム720は、随意に、クライアントクォリファイア760をさらに備える。クライアントクォリファイア760は、クライアント710Aまたは710B等のクライアントの能力を遠隔で判定するように構成される。これらの能力は、クライアント710A自体の能力、及びクライアント710Aとビデオサーバシステム720との間の1つ以上の通信チャネルの能力の両方を含み得る。例えば、クライアントクォリファイア760は、ネットワーク715を経由して通信チャネルをテストするように構成し得る。
クライアントクォリファイア760は、クライアント710Aの能力を手動または自動で判定(例えば、発見)することができる。手動判定は、クライアント710Aのユーザと通信することと、ユーザに能力を提供するように依頼することとを含む。例えば、いくつかの実施形態では、クライアントクォリファイア760は、クライアント710Aのブラウザ内に画像、テキスト、及び/または同様のものを表示するように構成される。一実施形態では、クライアント710Aは、ブラウザを含むHMDである。別の実施形態では、クライアント710Aは、ブラウザを有するゲームコンソールであり、HMD上に表示され得る。表示されたオブジェクトは、ユーザが、クライアント710Aのオペレーティングシステム、プロセッサ、ビデオデコーダタイプ、ネットワーク接続のタイプ、ディスプレイ解像度等の情報を入力することを要求する。ユーザによって入力された情報は、クライアントクォリファイア760に戻るように通信する。
自動判定は、例えば、クライアント710A上のエージェントの実行によって、及び/またはクライアント710Aへのテストビデオの送信によって実行し得る。エージェントは、ウェブページに埋め込まれる、またはアドオンとしてインストールされるJava(登録商標)スクリプト等のコンピューティング命令を含み得る。エージェントは、随意に、クライアントクォリファイア760によって提供される。様々な実施形態では、エージェントは、クライアント710Aの処理能力、クライアント710Aの復号化及び表示能力、クライアント710Aとビデオサーバシステム720との間の通信チャネルの遅延時間の信頼性及び帯域幅、クライアント710Aのディスプレイタイプ、クライアント710A上に存在するファイアウォール、クライアント710Aのハードウェア、クライアント710A上で実行するソフトウェア、クライアント710A内のレジストリエントリ、及び/または同様のものを発見することができる。
クライアントクォリファイア760は、ハードウェア、ファームウェア、及び/またはコンピュータ可読媒体に格納されたソフトウェアを含む。クライアントクォリファイア760は、随意に、ビデオサーバシステム720の1つ以上の他の要素とは別個のコンピューティングデバイス上に配置される。例えば、いくつかの実施形態では、クライアントクォリファイア760は、クライアント710とビデオサーバシステム720の2つ以上のインスタンスとの間の通信チャネルの特性を判定するように構成される。これらの実施形態では、クライアントクォリファイアによって発見された情報を使用して、ビデオサーバシステム720のどのインスタンスがクライアント710の1つにストリーミングビデオを配信するのに最適なのかを判定することができる。
本明細書に定義される様々な実施形態が本明細書に開示される様々な特徴を使用して特定の実施態様に組み合わされ得ること、または組み立てられ得ることを理解されたい。したがって、提供される例は、様々な要素を組み合わせて、より多くの実施態様を定義することにより可能である様々な実施態様に限定されず、いくつかの可能な例であるに過ぎない。いくつかの例において、いくつかの実施態様は、開示された、または均等な実施態様の趣旨から逸脱することなく、より少ない要素を含み得る。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステム構成で実践され得る。本開示の実施形態は、また、有線ベースまたは無線ネットワークを経由してリンクされる、遠隔処理デバイスによりタスクが行われる、分散型コンピューティング環境で実践されることができる。
上記の実施形態を念頭に置いて、本開示の実施形態がコンピュータシステムに記憶されたデータを含む様々なコンピュータ実装動作を使用し得ることを理解されたい。これらの動作は、物理量の物理的操作を必要とする動作である。本開示の実施形態の部分を形成する、本明細書に記載されている動作のいずれかは、有用な機械動作である。本発明の実施形態はまた、これらの動作を行うためのデバイスまたは装置に関する。本装置は、必要とされる目的のために特別に構築されることができ、または本装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または構成された汎用コンピュータであり得る。特に、本明細書の教示に従って書かれたコンピュータプログラムとともに様々な汎用マシンを使用することができ、または必要とされる動作を行うより特殊化した装置を構築することがより便利であり得る。
本開示は、また、コンピュータ可読媒体上のコンピュータ可読コードとして具体化されることができる。コンピュータ可読媒体は、データを記憶することができる任意のデータストレージデバイスであり、このデータは、その後、コンピュータシステムによって読み取られることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、ならびに他の光学及び非光学データストレージデバイスを含む。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶及び実行されるように、ネットワーク結合コンピュータシステムを通して分散されるコンピュータ可読有形媒体を含み得る。
本方法の動作が特定の順序で説明されているが、他のハウスキーピング操作が動作間で行われ得る、または動作が、わずかに異なる時間に発生するように調整し得る、もしくはオーバーレイ動作の処理が所望の方法で行われる限り、処理に関連する様々な間隔で処理動作の発生を可能にするシステムに分散され得ることを理解されたい。
前述の開示は、理解を明確にするために幾分詳細に説明されてきたが、添付の「特許請求の範囲」内である種の変更及び修正を実践され得ることは明らかであろう。したがって、本実施形態は例示的であって限定的ではないと見なされるべきであり、本開示の実施形態は本明細書に与えられた詳細に限定されるものではないが、添付の「特許請求の範囲」及び均等物の範囲内で修正され得る。

Claims (19)

  1. チーム環境においてゲームプレイをアシストする方法であって、
    ゲームサーバにおいて、複数のゲームアプリケーションをプレイする複数のユーザの複数のゲームプレイを監視することであって、前記複数のゲームプレイは達成するべき複数のタスクを含み、前記複数のタスクは複数のタスクタイプに関連付けられ、複数のクライアントデバイスを通して前記複数のユーザは、ネットワークを介して前記ゲームサーバに通信可能に接続されている、前記監視することと、
    前記ゲームサーバにおいて、前記複数のタスクタイプのタスクを達成する際の前記複数のユーザに対する複数のプレイヤー熟練度スコアを判定し、前記複数のユーザが前記複数のゲームプレイに参加するにつれて前記複数のプレイヤー熟練度スコアを継続的に更新することと、
    前記ゲームサーバにおいて、ゲームセッションにおいてマルチプレイヤーゲームアプリケーションをプレイする第1のチームに対して第1の複数のユーザを割り当てることと、
    前記ゲームサーバにおいて、前記ゲームセッションにおいて前記マルチプレイヤーゲームアプリケーションをプレイする第2のチームに対して第2の複数のユーザを割り当てることであって、前記第1のチームおよび前記第2のチームは試合において互いに競っており、前記試合において前記第1のチームおよび前記第2のチームのそれぞれは前記マルチプレイヤーゲームアプリケーションにおいて関連タスクのセットを達成する、前記割り当てることと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第1の複数のユーザの第1の複数のプレイヤー熟練度スコアにもとづいて前記関連タスクのセットを達成する際の前記第1のチームに対する第1の成功の確率を判定することと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第2の複数のユーザの第2の複数のプレイヤー熟練度スコアにもとづいて前記関連タスクのセットを達成する際の前記第2のチームに対する第2の成功の確率を判定することと、
    前記ゲームサーバにおいて、いずれのチームがより高い成功の確率を有するかにもとづいて前記第1のチームおよび前記第2のチームの間で前記試合の勝者を予測することと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第1のチームまたは前記第2のチームのいずれがより低い成功の確率を有するかにもとづいて予測された負けるチームに、前記ネットワークを通して推薦を生成し提供することであって、前記推薦は前記予測された負けるチームに対する対応する成功の確率を高める、前記生成し提供することと、
    を含む、方法。
  2. 前記ゲームサーバにおいて、前記関連タスクのセットからの複数のタスク割り当ての組み合わせに対して、前記第1のチームの前記第1の複数のユーザに対する前記第1の複数のプレイヤー熟練度スコアにもとづいて前記関連タスクのセットを達成する際の前記第1のチームに対する複数の予測成功率を判定することと、
    最も高い予測成功率を有する第1のタスク割り当ての組み合わせに関連付けられた前記第1の複数のユーザに前記関連タスクのセットにおけるタスクを割り当てることとをさらに含む、請求項1に記載の方法。
  3. 前記複数のプレイヤー熟練度スコアを判定することは、
    第1のタスクタイプの第1のタスクに割り当てられる前記第1のチームの第1のユーザに対して、対応するゲームプレイにもとづいて前記第1のタスクタイプに対する第1のプレイヤー熟練度スコアを判定することを含む、請求項1に記載の方法。
  4. 第1のゲームアプリケーションのセットをプレイする前記第1のユーザの第1の複数のゲームプレイを監視することをさらに含み、前記第1の複数のゲームプレイは前記第1のタスクタイプの第1の複数のタスクを含む、請求項3に記載の方法。
  5. 前記第1のチームが前記勝者であることを予測することと、
    前記第2のチームの既存ユーザを、前記第2の成功の確率を高めるプレイヤー熟練度スコアをもつ新しいユーザで置き換えるように、前記第2のチームに前記新しいユーザを推薦することとをさらに含む、請求項1に記載の方法。
  6. チーム環境においてゲームプレイをアシストする方法であって、
    ゲームサーバにおいて、複数のゲームアプリケーションをプレイする複数のユーザの複数のゲームプレイを監視することであって、前記複数のゲームプレイは達成するべき複数のタスクを含み、前記複数のタスクは複数のタスクタイプに関連付けられ、複数のクライアントデバイスを通して前記複数のユーザは、ネットワークを介して前記ゲームサーバに通信可能に接続されている、前記監視することと、
    前記ゲームサーバにおいて、前記複数のタスクタイプのタスクを達成する際の前記複数のユーザに対する複数のプレイヤー熟練度スコアを判定し、前記複数のユーザが前記複数のゲームプレイに参加するにつれて前記複数のプレイヤー熟練度スコアを継続的に更新することと、
    前記ゲームサーバにおいて、ゲームセッションにおいてマルチプレイヤーゲームアプリケーションをプレイする第1のチームに対して第1の複数のユーザを割り当てることと、
    前記ゲームサーバにおいて、前記ゲームセッションにおいて前記マルチプレイヤーゲームアプリケーションをプレイする第2のチームに対して第2の複数のユーザを割り当てることであって、前記第1のチームおよび前記第2のチームは試合において互いに競っており、前記試合において前記第1のチームは前記マルチプレイヤーゲームアプリケーションにおいて第1の関連タスクのセットを達成し、前記第2のチームは第2の関連タスクのセットを達成する、前記割り当てることと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第1の複数のユーザの第1の複数のプレイヤー熟練度スコアにもとづいて前記第1の関連タスクのセットを達成する際の前記第1のチームに対する第1の成功の確率を判定することと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第2の複数のユーザの第2の複数のプレイヤー熟練度スコアにもとづいて前記第2の関連タスクのセットを達成する際の前記第2のチームに対する第2の成功の確率を判定することと、
    前記ゲームサーバにおいて、いずれのチームがより高い成功の確率を有するかにもとづいて前記第1のチームおよび前記第2のチームの間で前記試合の勝者を予測することと、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第1のチームまたは前記第2のチームのいずれがより低い成功の確率を有するかにもとづいて予測された負けるチームに、前記ネットワークを通して推薦を生成し提供することであって、前記推薦は前記予測された負けるチームに対する対応する成功の確率を高める、前記生成し提供することと、
    を含む、方法。
  7. 前記第1の関連タスクは前記第2の関連タスクと同一である、請求項6に記載の方法。
  8. 前記第1の関連タスクのセットからの第1の複数のタスク割り当ての組み合わせに対して、前記第1のチームの前記第1の複数のユーザに対する第1の複数のプレイヤー熟練度スコアにもとづいて前記第1の関連タスクのセットを達成する際の前記第1のチームに対する第1の複数の予測成功率を判定することと、
    第1の最も高い予測成功率を有する第1のタスク割り当ての組み合わせに関連付けられた前記第1の複数のユーザに前記第1の関連タスクのセットにおけるタスクを割り当てることとをさらに含む、請求項6に記載の方法。
  9. 前記第2の関連タスクのセットからの第2の複数のタスク割り当ての組み合わせに対して、前記第2のチームの前記第2の複数のユーザに対する第2の複数のプレイヤー熟練度スコアにもとづいて前記第2の関連タスクのセットを達成する際の前記第2のチームに対する第2の複数の予測成功率を判定することと、
    第2の最も高い予測成功率を有する第2のタスク割り当ての組み合わせに関連付けられた前記第2の複数のユーザに前記第2の関連タスクのセットにおけるタスクを割り当てることとをさらに含む、請求項8に記載の方法。
  10. 前記複数のプレイヤー熟練度スコアを判定することは、
    第1のタスクタイプの第1のタスクに割り当てられる前記第1のチームの第1のユーザに対して、対応するゲームプレイにもとづいて前記第1のタスクタイプに対する第1のプレイヤー熟練度スコアを判定することを含む、請求項6に記載の方法。
  11. 第1のゲームアプリケーションのセットをプレイする前記第1のユーザの第1の複数のゲームプレイを監視することをさらに含み、前記第1の複数のゲームプレイは前記第1のタスクタイプの第1の複数のタスクを含む、請求項10に記載の方法。
  12. 前記第1のチームが前記勝者であることを予測することと、
    前記第2のチームの既存ユーザを、前記第2の成功の確率を高めるプレイヤー熟練度スコアをもつ新しいユーザで置き換えるように、前記第2のチームに前記新しいユーザを推薦することとをさらに含む、請求項6に記載の方法。
  13. チーム環境においてゲームプレイをアシストするプログラムを格納した非一時的コンピュータ読み取り可能媒体であって、前記非一時的コンピュータ読み取り可能媒体は、
    ゲームサーバにおいて、複数のゲームアプリケーションをプレイする複数のユーザの複数のゲームプレイを監視するプログラム命令であって、前記複数のゲームプレイは達成するべき複数のタスクを含み、前記複数のタスクは複数のタスクタイプに関連付けられ、複数のクライアントデバイスを通して前記複数のユーザは、ネットワークを介して前記ゲームサーバに通信可能に接続されている、前記監視するプログラム命令と、
    前記ゲームサーバにおいて、前記複数のタスクタイプのタスクを達成する際の前記複数のユーザに対する複数のプレイヤー熟練度スコアを判定し、前記複数のユーザが前記複数のゲームプレイに参加するにつれて前記複数のプレイヤー熟練度スコアを継続的に更新するプログラム命令と、
    前記ゲームサーバにおいて、ゲームセッションにおいてマルチプレイヤーゲームアプリケーションをプレイする第1のチームに対して第1の複数のユーザを割り当てるプログラム命令と、
    前記ゲームサーバにおいて、前記ゲームセッションにおいて前記マルチプレイヤーゲームアプリケーションをプレイする第2のチームに対して第2の複数のユーザを割り当てるプログラム命令であって、前記第1のチームおよび前記第2のチームは試合において互いに競っており、前記試合において前記第1のチームは前記マルチプレイヤーゲームアプリケーションにおいて第1の関連タスクのセットを達成し、前記第2のチームは第2の関連タスクのセットを達成する、前記割り当てるプログラム命令と、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第1の複数のユーザの第1の複数のプレイヤー熟練度スコアにもとづいて前記第1の関連タスクのセットを達成する際の前記第1のチームに対する第1の成功の確率を判定するプログラム命令と、
    前記ゲームサーバにおいて、前記ゲームセッションの間、前記第2の複数のユーザの第2の複数のプレイヤー熟練度スコアにもとづいて前記第2の関連タスクのセットを達成する際の前記第2のチームに対する第2の成功の確率を判定するプログラム命令と、
    前記ゲームサーバにおいて、いずれのチームがより高い成功の確率を有するかにもとづいて前記第1のチームおよび前記第2のチームの間で前記試合の勝者を予測するプログラム命令と、
    前記ゲームセッションの間、前記第1のチームまたは前記第2のチームのいずれがより低い成功の確率を有するかにもとづいて予測された負けるチームに、前記ネットワークを通して推薦を生成し提供するプログラム命令であって、前記推薦は前記予測された負けるチームに対する対応する成功の確率を高める、前記生成し提供するプログラム命令と、
    を含む、非一時的コンピュータ読み取り可能媒体。
  14. 前記第1の関連タスクは前記第2の関連タスクと同一である、請求項13に記載の非一時的コンピュータ読み取り可能媒体。
  15. 前記第1の関連タスクのセットからの第1の複数のタスク割り当ての組み合わせに対して、前記第1のチームの前記第1の複数のユーザに対する第1の複数のプレイヤー熟練度スコアにもとづいて前記第1の関連タスクのセットを達成する際の前記第1のチームに対する第1の複数の予測成功率を判定するプログラム命令と、
    第1の最も高い予測成功率を有する第1のタスク割り当ての組み合わせに関連付けられた前記第1の複数のユーザに前記第1の関連タスクのセットにおけるタスクを割り当てるプログラム命令とをさらに含む、請求項13に記載の非一時的コンピュータ読み取り可能媒体。
  16. 前記第2の関連タスクのセットからの第2の複数のタスク割り当ての組み合わせに対して、前記第2のチームの前記第2の複数のユーザに対する第2の複数のプレイヤー熟練度スコアにもとづいて前記第2の関連タスクのセットを達成する際の前記第2のチームに対する第2の複数の予測成功率を判定するプログラム命令と、
    第2の最も高い予測成功率を有する第2のタスク割り当ての組み合わせに関連付けられた前記第2の複数のユーザに前記第2の関連タスクのセットにおけるタスクを割り当てるプログラム命令とをさらに含む、請求項15に記載の非一時的コンピュータ読み取り可能媒体。
  17. 前記複数のプレイヤー熟練度スコアを判定するプログラム命令は、
    第1のタスクタイプの第1のタスクに割り当てられる前記第1のチームの第1のユーザに対して、対応するゲームプレイにもとづいて前記第1のタスクタイプに対する第1のプレイヤー熟練度スコアを判定するプログラム命令を含む、請求項13に記載の非一時的コンピュータ読み取り可能媒体。
  18. 第1のゲームアプリケーションのセットをプレイする前記第1のユーザの第1の複数のゲームプレイを監視するプログラム命令をさらに含み、前記第1の複数のゲームプレイは前記第1のタスクタイプの第1の複数のタスクを含む、請求項17に記載の非一時的コンピュータ読み取り可能媒体。
  19. 前記第1のチームが前記勝者であることを予測するプログラム命令と、
    前記第2のチームの既存ユーザを、前記第2の成功の確率を高めるプレイヤー熟練度スコアをもつ新しいユーザで置き換えるように、前記第2のチームに前記新しいユーザを推薦するプログラム命令とをさらに含む、請求項13に記載の非一時的コンピュータ読み取り可能媒体。
JP2020201724A 2016-06-30 2020-12-04 自動人工知能(ai)パーソナルアシスタント Active JP6919047B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662357248P 2016-06-30 2016-06-30
US62/357,248 2016-06-30
US15/467,557 US10195531B2 (en) 2016-06-30 2017-03-23 Automated artificial intelligence (AI) personal assistant
US15/467,557 2017-03-23
JP2018568899A JP6806810B2 (ja) 2016-06-30 2017-04-27 自動人工知能(ai)パーソナルアシスタント

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018568899A Division JP6806810B2 (ja) 2016-06-30 2017-04-27 自動人工知能(ai)パーソナルアシスタント

Publications (2)

Publication Number Publication Date
JP2021041225A JP2021041225A (ja) 2021-03-18
JP6919047B2 true JP6919047B2 (ja) 2021-08-11

Family

ID=58739345

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018568899A Active JP6806810B2 (ja) 2016-06-30 2017-04-27 自動人工知能(ai)パーソナルアシスタント
JP2020201724A Active JP6919047B2 (ja) 2016-06-30 2020-12-04 自動人工知能(ai)パーソナルアシスタント

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018568899A Active JP6806810B2 (ja) 2016-06-30 2017-04-27 自動人工知能(ai)パーソナルアシスタント

Country Status (5)

Country Link
US (3) US10195531B2 (ja)
EP (1) EP3478385A1 (ja)
JP (2) JP6806810B2 (ja)
CN (2) CN115089972A (ja)
WO (1) WO2018004812A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10888788B2 (en) * 2016-06-30 2021-01-12 Sony Interactive Entertainment Inc. Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
WO2018081469A1 (en) 2016-10-26 2018-05-03 Soroco Private Limited Systems and methods for discovering automatable tasks
US10471360B2 (en) 2017-03-06 2019-11-12 Sony Interactive Entertainment LLC User-driven spectator channel for live game play in multi-player games
US20180315131A1 (en) * 2017-04-28 2018-11-01 Hrb Innovations, Inc. User-aware interview engine
US11237872B2 (en) * 2017-05-23 2022-02-01 Kla-Tencor Corporation Semiconductor inspection and metrology systems for distributing job among the CPUs or GPUs based on logical image processing boundaries
WO2018221068A1 (ja) 2017-05-30 2018-12-06 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
US10427047B2 (en) * 2018-01-08 2019-10-01 Sony Interactive Entertainment LLC Identifying player engagement to generate contextual game play assistance
US10610783B2 (en) * 2018-01-31 2020-04-07 Sony Interactive Entertainment LLC Assignment of contextual game play assistance to player reaction
US10792577B2 (en) 2018-02-28 2020-10-06 Sony Interactive Entertainment LLC Discovery and detection of events in interactive content
US10765957B2 (en) 2018-02-28 2020-09-08 Sony Interactive Entertainment LLC Integrating commentary content and gameplay content over a multi-user platform
US11065548B2 (en) * 2018-02-28 2021-07-20 Sony Interactive Entertainment LLC Statistical driven tournaments
US10792576B2 (en) 2018-02-28 2020-10-06 Sony Interactive Entertainment LLC Player to spectator handoff and other spectator controls
US10953335B2 (en) 2018-02-28 2021-03-23 Sony Interactive Entertainment Inc. Online tournament integration
US10814228B2 (en) 2018-02-28 2020-10-27 Sony Interactive Entertainment LLC Statistically defined game channels
US10818142B2 (en) 2018-02-28 2020-10-27 Sony Interactive Entertainment LLC Creation of winner tournaments with fandom influence
US10765938B2 (en) 2018-02-28 2020-09-08 Sony Interactive Entertainment LLC De-interleaving gameplay data
TWI716706B (zh) * 2018-03-01 2021-01-21 致伸科技股份有限公司 人工智能之輔助操作系統
CN108379834B (zh) * 2018-03-12 2021-02-02 腾讯科技(深圳)有限公司 一种信息处理的方法及相关设备
US10874947B2 (en) * 2018-03-23 2020-12-29 Sony Interactive Entertainment LLC Connecting a player to expert help in real-time during game play of a gaming application
US11533777B2 (en) 2018-06-29 2022-12-20 At&T Intellectual Property I, L.P. Cell site architecture that supports 5G and legacy protocols
US10728826B2 (en) * 2018-07-02 2020-07-28 At&T Intellectual Property I, L.P. Cell site routing based on latency
JP6987709B2 (ja) * 2018-07-12 2022-01-05 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US11348031B2 (en) * 2018-08-22 2022-05-31 International Business Machines Corporation Modeling mastery in distributed cognitive systems and storing the results in a ledger
US10576380B1 (en) * 2018-11-05 2020-03-03 Sony Interactive Entertainment LLC Artificial intelligence (AI) model training using cloud gaming network
US10918946B2 (en) * 2018-11-05 2021-02-16 Sony Interactive Entertainment LLC In-game information platform
CN109453524B (zh) * 2018-11-14 2022-05-10 腾讯科技(深圳)有限公司 一种对象匹配的方法、模型训练的方法及服务器
JP7376593B2 (ja) * 2018-12-31 2023-11-08 インテル・コーポレーション 人工知能を利用した安全保障システム
US10946281B2 (en) 2019-03-29 2021-03-16 Nvidia Corporation Using playstyle patterns to generate virtual representations of game players
JP6997386B2 (ja) * 2019-04-12 2022-01-17 株式会社カプコン ゲーム関連サービス提供プログラムならびにサーバ装置
US11604980B2 (en) * 2019-05-22 2023-03-14 At&T Intellectual Property I, L.P. Targeted crowd sourcing for metadata management across data sets
US20210064965A1 (en) * 2019-08-26 2021-03-04 Nvidia Corporation Content recommendations using one or more neural networks
US11117053B2 (en) * 2019-09-11 2021-09-14 Sony Interactive Entertainment LLC Node based world mapping for finite, depth first search
US20210086089A1 (en) * 2019-09-25 2021-03-25 Nvidia Corporation Player analysis using one or more neural networks
JP6966655B2 (ja) 2019-09-30 2021-11-17 株式会社日立情報通信エンジニアリング 状態予測システム
US11213746B2 (en) * 2019-10-22 2022-01-04 Microsoft Technology Licensing, Llc Providing automated user input to an application during a disruption
US11123639B2 (en) * 2019-11-18 2021-09-21 Sony Interactive Entertainment Inc. Server-based mechanics help determination from aggregated user data
US20210158141A1 (en) * 2019-11-22 2021-05-27 Sony Interactive Entertainment Inc. Control input scheme for machine learning in motion control and physics based animation
US11417171B2 (en) * 2019-12-20 2022-08-16 Igt Artificial intelligence (AI) implementations for providing game recommendations at a gaming device, and related systems, devices, and methods
CN111135559B (zh) * 2019-12-27 2023-06-27 北京像素软件科技股份有限公司 游戏数据处理方法、装置、电子设备及存储介质
US11541317B2 (en) * 2020-02-06 2023-01-03 Sony Interactive Entertainment Inc. Automated weapon selection for new players using AI
US11816112B1 (en) 2020-04-03 2023-11-14 Soroco India Private Limited Systems and methods for automated process discovery
US20210397971A1 (en) * 2020-06-22 2021-12-23 Nvidia Corporation Recommendation generation using one or more neural networks
CN111951366B (zh) * 2020-07-29 2021-06-15 北京蔚领时代科技有限公司 一种云原生3d场景游戏方法和系统
JP7140996B2 (ja) * 2021-01-14 2022-09-22 株式会社カプコン ゲーム関連サービス提供プログラムならびにサーバ装置
WO2022182724A1 (en) * 2021-02-24 2022-09-01 Interdigital Patent Holdings, Inc. Method and system for dynamic content satisfaction prediction
WO2023043493A1 (en) * 2021-05-26 2023-03-23 Google Llc Efficient gameplay training for artificial intelligence
CN113413607A (zh) * 2021-06-28 2021-09-21 网易(杭州)网络有限公司 一种信息推荐方法、装置、计算机设备及存储介质
CN114338709B (zh) * 2021-12-07 2023-08-29 贵阳语玩科技有限公司 一种用户头像同步方法、装置、存储介质及电子设备
US20230310995A1 (en) * 2022-03-31 2023-10-05 Advanced Micro Devices, Inc. Detecting personal-space violations in artificial intelligence based non-player characters
US20230405461A1 (en) * 2022-05-27 2023-12-21 Sony Interactive Entertainment LLC Systems and methods for enabling predictive assistance during gameplay
US20230381661A1 (en) * 2022-05-27 2023-11-30 Sony Interactive Entertainment LLC Systems and methods for enabling interactive game assistance during gameplay
GB2623094A (en) * 2022-10-05 2024-04-10 Sony Interactive Entertainment Inc Processing devices and methods
US20240115948A1 (en) * 2022-10-05 2024-04-11 Sony Interactive Entertainment Inc. Method and system for auto-playing portions of a video game

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6899628B2 (en) * 2001-07-13 2005-05-31 Game Account Limited System and method for providing game event management to a user of a gaming application
US7452273B2 (en) * 2001-12-12 2008-11-18 Cantor Index, Llc Method and apparatus for providing advice regarding gaming strategies
US20040097287A1 (en) * 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network
US20070112706A1 (en) * 2005-01-24 2007-05-17 Microsoft Corporation Handicapping in a Bayesian skill scoring framework
US8066568B2 (en) * 2005-04-19 2011-11-29 Microsoft Corporation System and method for providing feedback on game players and enhancing social matchmaking
JP4220532B2 (ja) * 2005-05-11 2009-02-04 株式会社バンダイナムコゲームス サーバシステム及びデータ管理販売方法
KR100766545B1 (ko) * 2005-09-08 2007-10-11 엔에이치엔(주) 게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템
CN101313322A (zh) * 2005-11-21 2008-11-26 微软公司 队伍匹配
US20080220854A1 (en) 2007-03-08 2008-09-11 Timothy Michael Midgley Method and apparatus for collecting user game play data and crediting users in an online gaming environment
US9108108B2 (en) * 2007-09-05 2015-08-18 Sony Computer Entertainment America Llc Real-time, contextual display of ranked, user-generated game play advice
JP5795460B2 (ja) * 2009-03-04 2015-10-14 株式会社タイトー ゲームプログラム及びゲーム機
JP5600027B2 (ja) * 2010-04-14 2014-10-01 株式会社ソニー・コンピュータエンタテインメント ゲーム支援サーバ、ゲーム支援システム及びゲーム支援方法
JP5588389B2 (ja) * 2011-03-29 2014-09-10 株式会社コナミデジタルエンタテインメント ゲームシステム、及びプログラム
ES2730740T3 (es) * 2011-09-29 2019-11-12 Sony Interactive Entertainment Europe Ltd Sistema de asistencia de vídeo juego y método
US8814663B2 (en) * 2012-05-24 2014-08-26 Sap Ag Predictive analysis based on player segmentation
WO2016040336A1 (en) * 2014-09-08 2016-03-17 Game Sports Network, Inc. Method and system for presenting and operating a skill-based activity
US10118099B2 (en) * 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
CN105426969A (zh) * 2015-08-11 2016-03-23 浙江大学 一种非完备信息的博弈策略生成方法
CN105302963A (zh) * 2015-10-30 2016-02-03 沈阳航空航天大学 一种机器博弈优化方法
CN106406912A (zh) * 2016-10-27 2017-02-15 赵长江 一种基于虚拟现实的模拟游戏系统以及实现方法

Also Published As

Publication number Publication date
CN109562298B (zh) 2022-06-28
US20180001206A1 (en) 2018-01-04
WO2018004812A1 (en) 2018-01-04
JP6806810B2 (ja) 2021-01-06
CN115089972A (zh) 2022-09-23
JP2019524212A (ja) 2019-09-05
US20190168122A1 (en) 2019-06-06
US10870057B2 (en) 2020-12-22
JP2021041225A (ja) 2021-03-18
US10195531B2 (en) 2019-02-05
CN109562298A (zh) 2019-04-02
EP3478385A1 (en) 2019-05-08
US20210106919A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
JP6919047B2 (ja) 自動人工知能(ai)パーソナルアシスタント
US11383167B2 (en) Automated artificial intelligence (AI) control mode for playing specific tasks during gaming applications
KR102257367B1 (ko) 게이밍 애플리케이션의 게임 플레이 동안 플레이어를 실시간으로 전문가 도움과 연결
US11724204B2 (en) In-game location based game play companion application
JP7339318B2 (ja) ゲーム内位置ベースのゲームプレイコンパニオンアプリケーション
JP6959267B2 (ja) 場所ベースゲームプレイコンパニオンアプリケーションを使用するチャレンジの生成

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201207

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201207

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210721

R150 Certificate of patent or registration of utility model

Ref document number: 6919047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150