JP2022525413A - ビデオゲームのコーチングとマッチメイキングのためのaiモデリング - Google Patents

ビデオゲームのコーチングとマッチメイキングのためのaiモデリング Download PDF

Info

Publication number
JP2022525413A
JP2022525413A JP2021555796A JP2021555796A JP2022525413A JP 2022525413 A JP2022525413 A JP 2022525413A JP 2021555796 A JP2021555796 A JP 2021555796A JP 2021555796 A JP2021555796 A JP 2021555796A JP 2022525413 A JP2022525413 A JP 2022525413A
Authority
JP
Japan
Prior art keywords
user
machine learning
game
learning model
session
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.)
Granted
Application number
JP2021555796A
Other languages
English (en)
Other versions
JP7216223B2 (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 JP2022525413A publication Critical patent/JP2022525413A/ja
Application granted granted Critical
Publication of JP7216223B2 publication Critical patent/JP7216223B2/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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

Figure 2022525413000001
【課題】コーチング及びマッチメイキングのためのビデオゲームユーザのAIモデリングの方法が提供される。
【解決手段】ビデオゲームの第1のセッションであって、ユーザのインタラクティブゲームプレイに対して定義された第1のセッションからゲームプレイデータを記録する動作と、ゲームプレイデータを使用して機械学習モデルを訓練する動作であって、訓練によって、機械学習モデルにユーザのインタラクティブゲームプレイを模倣させる、訓練する動作と、訓練後、機械学習モデルにビデオゲームの1つまたは複数のシナリオを経験させ、1つまたは複数のシナリオに応答した機械学習モデルのアクションを評価することによって機械学習モデルの分類を決定する動作と、機械学習モデルの分類を使用して、ビデオゲームの第2のセッションにユーザを割り当てる動作とを含む方法が提供される。
【選択図】図1

Description

本開示は、コーチング及びマッチメイキングのためのビデオゲームユーザのAIモデリングのシステム及び方法に関する。
関連技術の説明
ビデオゲームの分野は、現在急成長を遂げている技術分野であり、今では、専用ゲームコンソール、パーソナルコンピュータ(PC)、及び、より最近では、クラウドアプリケーション/ゲーム及びモバイルデバイスを含む、多数のゲーム及びインタラクティブアプリケーションプラットフォームを含む。ネットワークゲームサービス/システムの一例として、PlayStation(登録商標)ネットワークが挙げられ、これには、コンソールベースゲーム及びクラウドベースゲームの両方をサポートする様々なゲームサービスが含まれる。
このような背景において、本開示の実施形態は生じる。
本開示の実施態様は、コーチング及びマッチメイキングのためのビデオゲームユーザのAIモデリングの方法及びシステムを提供する。
いくつかの実施態様では、ビデオゲームの第1のセッションであって、ユーザのインタラクティブゲームプレイのために定義された第1のセッションからゲームプレイデータを記録する動作と、ゲームプレイデータを使用して機械学習モデルを訓練する動作であって、訓練によって、機械学習モデルにユーザのインタラクティブゲームプレイを模倣させる動作と、訓練後、機械学習モデルにビデオゲームの1つまたは複数のシナリオを経験させ、1つまたは複数のシナリオに応答した機械学習モデルのアクションを評価することによって機械学習モデルの分類を決定する動作と、機械学習モデルの分類を使用して、ビデオゲームの第2のセッションにユーザを割り当てる動作とを含む方法が提供される。
いくつかの実施態様では、ゲームプレイデータは、第1のセッションのビデオと、インタラクティブゲームプレイ中のユーザ入力とを含む。
いくつかの実施態様では、機械学習モデルを訓練することは、ビデオとユーザ入力とを使用して、機械学習モデルが、第1のセッション中にビデオの所与の部分に応答して生成されたユーザ入力と類似する入力を生成することにより、ビデオの所与の部分に対して応答するようにさせる。
いくつかの実施態様では、ビデオの所与の部分は、ビデオの1つまたは複数の画像フレームによって定義される。
いくつかの実施態様では、ユーザ入力は、第1のセッション中にユーザによって操作されるコントローラデバイスから定義される。
いくつかの実施態様では、機械学習モデルはニューラルネットワークである。
いくつかの実施態様では、ビデオゲームの1つまたは複数のシナリオは、第1のセッションから定義されていない、ビデオゲームの1つまたは複数の画像フレームによって定義される。
いくつかの実施態様では、ゲームプレイデータは、ビデオゲームの第1のセッションからのゲーム状態データを含む。
いくつかの実施態様では、分類は、ユーザのスキルレベルを識別し、分類を使用してユーザを第2のセッションに割り当てることは、1人または複数の他のユーザのスキルレベルを識別することと、ユーザのスキルレベルと類似するスキルレベルを有する他のユーザのうちの1人または複数を含むように第2のセッションを構成することとを含む。
いくつかの実施態様では、分類は、ユーザのスキルセットを識別し、分類を使用してユーザを第2のセッションに割り当てることは、1人または複数の他のユーザのスキルセットを識別することと、ユーザのスキルセットを補完するスキルセットを有する他のユーザの1人または複数を含むように第2のセッションを構成することとを含む。
いくつかの実施態様では、ユーザをビデオゲームの第2のセッションに割り当てることは、AIボットを第2のセッションに挿入することを含み、AIボットは、訓練済み機械学習モデルを使用して第2のセッションでゲームプレイを行う。
いくつかの実施態様では、ビデオゲームのユーザセッションであって、ユーザによるビデオゲームのインタラクティブなゲームプレイに対して定義されたユーザセッションからのゲームプレイデータを記録する動作と、ゲームプレイデータを使用して機械学習モデルをインタラクティブなゲームプレイにおけるユーザの傾向を模倣するように訓練する動作と、訓練後、訓練済み機械学習モデルにビデオゲームの所定のシナリオを経験させ、訓練済み機械学習モデルによる所定のシナリオへの応答を分析することにより、訓練済み機械学習モデルの評価を行う動作と、機械学習モデルの評価を使用して、ユーザをビデオゲームの新しいセッションに割り当てる動作とを含む方法が提供される。
いくつかの実施態様では、ゲームプレイデータは、ビデオゲームのユーザセッションからのビデオ及びユーザ入力を含む。
いくつかの実施態様では、インタラクティブゲームプレイにおけるユーザの傾向は、インタラクティブゲームプレイにおけるユーザのアクティビティ及び非アクティビティによって定義される。
いくつかの実施態様では、訓練済み機械学習モデルの評価を行うことは、ユーザのスキルレベルを決定するように構成され、ユーザを新しいセッションに割り当てることは、ユーザの決定されたスキルレベルに基づく。
いくつかの実施態様では、訓練済み機械学習モデルの評価を行うことは、ユーザのスキルセットを決定するように構成され、ユーザを新しいセッションに割り当てることは、ユーザの決定されたスキルセットに基づく。
いくつかの実施態様では、機械学習モデルはニューラルネットワークである。
本開示の他の態様及び利点は、添付の図面と併せて、本開示の原理を例として示す下記の詳細な説明から明らかになるであろう。
本開示は、そのさらなる利点とともに、添付の図面と併せて下記の説明を参照することにより、最も良く理解されるであろう。
本開示の実施態様による、機械学習モデルを訓練し、訓練済み機械学習モデルを様々なゲーム関連のインタラクションに使用するための方法を概念的に示す。 本開示の実施態様による、様々なビデオゲーム関連のコンテキストで機械学習モデルを訓練及び使用するためのシステムを概念的に示す。 本開示の実施態様による、プレーヤのゲームプレイ行動を模倣する訓練済み機械学習モデルを評価または分類するためのプロセスを概念的に示す。 本開示の実施態様による、訓練済み機械学習モデルに基づいてユーザに推奨を提供するためのシステムを示す。 本開示の実施態様による、訓練済み機械学習モデルを使用して、ビデオゲームのマッチメイキングを改善するためのシステムを概念的に示す。 本開示の実施態様による、所与のユーザに複数の機械学習モデルを提供するユーザアカウントのライブラリを概念的に示す。 本開示の実施態様による、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。 本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。 本開示の実施態様による、情報サービスプロバイダアーキテクチャの実施形態を示す。
下記の説明では、本開示の完全な理解を提供するために、多くの具体的な詳細を記載する。しかしながら、本開示は、これらの具体的な詳細の一部または全てがなくとも実践できることは、当業者には明らかであろう。他の例では、本開示を不明瞭にしないために、周知のプロセスのステップについては詳細に記載していない。
大まかに言えば、本開示の実施態様は、機械学習モデルを使用して、プレーヤの個々のスタイル、表現、傾向、好みなどを含む、プレーヤがビデオゲームをプレイする方法を学習するための方法及びシステムに関する。機械学習モデルは、訓練されると、本開示の様々な実施態様による、AIボットの挿入、プレーヤのコーチング、及びプレーヤのマッチメイキングを含む、様々な種類のゲームインタラクションに使用することができる。
図1は、本開示の実施態様による、機械学習モデルを訓練し、訓練済み機械学習モデルを様々なゲーム関連のインタラクションに使用するための方法を概念的に示す。図示の実施態様では、ユーザ100は、ビデオゲームを実行するコンピューティングデバイス104によってディスプレイデバイス106上にレンダリングされるビデオゲームをプレイする。ユーザ100は、ビデオゲームをプレイするとき、ユーザ入力108をコンピューティングデバイス104に提供するように、コントローラデバイス102を操作してよい。コンピューティングデバイス104で実行中のビデオゲームは、ユーザ入力108を受信し、ゲーム状態を更新するためにユーザ入力を処理する。更新されたゲーム状態は、ディスプレイデバイス106上に提示するためにビデオ110(画像フレーム及びオーディオを含む)をレンダリングするために使用される。
ビデオゲーム体験に利用されるハードウェアは、様々な実施態様によって変わり得ることは理解されよう。例えば、コンピューティングデバイスは、ゲームコンソール、パーソナルコンピュータ、ラップトップ、タブレット、携帯電話、または本明細書で説明されるようなビデオゲームを実行することができる任意の他のタイプのコンピューティングデバイスであってよい。いくつかの実施態様では、ビデオゲームはクラウドで実行されるビデオゲームである。つまり、ビデオゲームはクラウドゲームサーバまたはクラウドコンピューティングリソースによって実行され、クラウドコンピューティングリソースは、いくつかの実施態様では、仮想化されたコンピューティングリソースであってよく、ゲームプレイは(インターネットを含む)ネットワークを介してディスプレイデバイス106にストリーミングされる。さらに他の実施態様では、コンピューティングデバイス104の機能は、ディスプレイデバイス106に統合することができる。さらに例を挙げると、様々な実施態様におけるディスプレイデバイス106は、テレビ、LCDディスプレイ、モニタ、タブレット画面または携帯電話画面などのモバイルデバイス画面、プロジェクタなどであってよい。いくつかの実施態様では、ディスプレイデバイス106は、ヘッドマウントディスプレイである。さらに、コントローラデバイス102は、様々な実施態様において、ゲームコントローラ、モーションコントローラ、キーボード、マウス、トラックボール、タッチ式トラックパッド、画像キャプチャデバイス、マイクロフォンなどであってよい。
本開示の実施態様によると、機械学習モデル112(または人工知能モデル)は、ユーザ100のゲームプレイを模倣するように訓練される。すなわち、機械学習モデル112が、所与のゲームシナリオを提示された場合、そのゲームシナリオに応答して、ユーザ100が行い得るのと実質的に類似したゲームプレイアクション、または、ユーザのゲームプレイ技術、スキル、スタイル、傾向、意思決定、好み、コミュニケーション、動きなどに従ったゲームプレイアクションを行うように構成されるように、機械学習モデル112は訓練される。
これを達成するために、ユーザが体験すること(例えば、ユーザがゲームプレイ中に見たり、聞いたり、感じたり、あるいは応答したり反応したりすること)を示すデータと、ユーザのゲームプレイアクション(ユーザがゲームプレイ中に体験したことに応答して行うことまたは決定すること)を示すデータとを利用して、機械学習モデルを訓練することができることが理解されよう。ある意味で、ユーザは、ビデオゲーム中に体験したことの形で入力を受信し、体験したことに応答して特定のゲームプレイアクションの形で出力を提供するエージェントと見なすことができる。したがって、機械学習モデル112を訓練する目標は、同じ入力が提示されたときにユーザが提供するのと同じ出力を提供するように機械学習モデル112を構成することである。
いくつかの実施態様では、機械学習モデル112は、ビデオゲームのセッションからのビデオ110、及びそのセッションからのユーザ入力108を使用して訓練される。いくつかの実施態様では、ビデオ110及びユーザ入力108が最初に記録され、その後、記録されたデータが機械学習モデル112を訓練するために利用されることが理解されよう。他の実施態様では、ビデオ及びユーザ入力を利用して、ビデオゲームのライブゲームプレイと実質的に同時に、または実質的にリアルタイムで機械学習モデルを訓練する。機械学習モデル112の訓練は、コンピューティングデバイス104によって、またはリモートサーバもしくはクラウドゲームシステムなどの別のデバイスによって実行できることが理解されよう。これに関して、いくつかの実施態様では、ビデオ及びユーザ入力は、コンピューティングデバイス104によって記録され、次にクラウドシステムにアップロードされ、クラウドシステムは、ビデオ及びユーザ入力を受信し、それらを適用して機械学習モデルを訓練する。
いくつかの実施態様では、機械学習モデルは、ビデオ110からの画像フレームを使用してより具体的に訓練される。いくつかの実施態様では、ユーザ入力108は、ボタンの押下、ジョイスティックの動き、コントローラデバイス自体のキャプチャされた動きなどの、コントローラデバイス102からのコントローラ入力によって定義される。大まかに言えば、訓練の目標は、機械学習モデル112が、決定ごとにユーザ100のアクションを模倣することである。現在説明しているような画像フレームを使用する実施態様では、ビデオの各フレームは、ボタンの押下などのコントローラ入力を生成することによって、または何もしないことによって、ユーザが反応するシナリオであると見なすことができる。したがって、各フレームはユーザに決定ポイントを提示し、機械学習モデルは、フレームごとにユーザの決定/アクション(何もしないことを含む)を模倣するように訓練される。理想的には、訓練済み機械学習モデルは、コントローラ入力またはその欠如に関して、ユーザが所与の画像フレームまたは画像フレームのシーケンスに応答して生成するのと同じ応答を生成するように構成される。
ユーザ入力としてのコントローラ入力を参照して説明してきたが、原理は、ユーザの動作またはジェスチャ入力、キャプチャされたヘッドマウントディスプレイの動き、音声入力などの他のタイプのユーザ入力にも適用されることが理解されよう。キャプチャ及び適用されるユーザ入力の種類に関係なく、機械学習モデル訓練の目標は、所与の画像フレームまたは画像フレームのシーケンスに応答して同じまたは類似する入力を再現するように機械学習モデルを構成することであることが理解されよう。
さらに、上記のような画像フレームに加えて、機械学習モデル112に訓練データを提供する目的で追加情報を利用することができる。例えば、ゲームプレイからのオーディオ(ビデオ110の一部として含まれ得る)も、ゲームセッション中にユーザ100によって体験されるゲームプレイの別の側面であるため、使用されてよい。さらに、触覚フィードバック情報も、いくつかの実施態様で、訓練データの一部として使用することができる。
上記のフレームごとのアプローチは、機械学習モデル112が一人称シューティングビデオゲームなどのビデオゲームでユーザ100を模倣することを可能にするために役立つ可能性がある。一人称シューティングビデオゲームの場合、フレームごとの変化はビデオゲームの状態の変化を示し、ゲームの結果に影響を与え得るため、ユーザは全てのフレームで効果的に意思決定を行っており、ユーザはフレームごとに反応し得る。ただし、他のタイプのビデオゲームでは、ビデオゲームが、ビデオゲームの結果の決定に対して重大なようにはフレームごとに変化しないので、フレームごとに機械学習モデルを訓練することが必要とされない場合がある。
例えば、ターン制のビデオゲームでは、プレーヤは順番にコマンドを発する。したがって、意思決定はフレームごとに行われるのではなく、所与の各プレーヤが行う各ターンで行われる。ビデオゲームの状態は、プレーヤが入力を行うまで変化しないため、機械学習モデル112を訓練するために、フレームごとに訓練する必要はない。むしろ、例えば、ユーザがアクションを行う機会を有する各ターンで、ユーザが利用できる体験を示すデータを使用して、機械学習モデル112を訓練することができる。前述したのと同じように、ユーザ入力も訓練目的に利用されることが理解されよう。すなわち、機械学習モデル112は、ゲームプレイ中にユーザが利用できる体験を示す所与のデータセットが提示されたときに、ユーザ入力と同じまたは類似する入力を生成するように訓練される。
いくつかの実施態様では、ゲームプレイ中のユーザの体験を示すまたは識別するデータは、実際には、ビデオゲームのセッション中に発生する特定の決定ポイントからキャプチャされた1つまたは複数の画像フレームであってよい。しかしながら、ゲームプレイセッション中にレンダリングされた全ての画像フレームが使用されるのではなく、ゲームプレイ中にユーザの体験またはユーザが利用できるデータを適切に識別するのに十分であり、且つ、ユーザがユーザ入力を提供することによって応答したサブセットが使用されることが理解されよう。
いくつかの実施態様では、ゲームプレイ中のユーザの体験を示すまたは識別するデータは、仮想環境におけるオブジェクトもしくはキャラクタの位置、オブジェクトもしくはキャラクタのプロパティ(例えば、在庫、健康、スキルなど)、またはゲームプレイに影響を与え得る任意の他の変数もしくはエンティティの状態を例として含むが、これらに限定されないゲーム状態データを含み得る。さらに、ユーザ入力を一般にコントローラ入力を参照して具体的に説明してきたが、機械学習モデルを訓練する目的で、特定のタイプのゲーム状態データを含む他の種類のデータを使用して、ゲームプレイ中にユーザが体験することに応答したユーザのアクションを定義できることが理解されよう。
機械学習モデル112は、訓練されると、ユーザ100のゲームプレイスタイル及び傾向を模倣するように構成される。これは、以下でさらに詳しく説明するように、AIボットの挿入(114を参照)、コーチング(116を参照)、及びマッチメイキング(118を参照)などの様々な目的に使用することができる。
大まかに言えば、機械学習モデル112を訓練するという目標は、教師あり学習タスクと見なすことができる。いくつかの実施態様では、機械学習モデル112は、具体的には、人工ニューラルネットワーク(例えば、多層パーセプトロン)である。他の実施態様では、機械学習モデル112は、本開示の実施態様による、ユーザのゲームプレイを模倣するように構成することができる他のタイプの人工知能または機械学習技術(例えば、サポートベクタマシン、線形回帰、ロジスティック回帰、単純ベイズ、決定木、k最近傍法など)を利用することができる。
図2は、本開示の実施態様による、様々なビデオゲーム関連のコンテキストで機械学習モデルを訓練及び使用するためのシステムを概念的に示す。図示の実施態様では、クライアントデバイス212は、ネットワーク210に接続され、ネットワーク210を介してネットワークゲームシステム200と通信する。クライアントデバイス212は、いくつかの実施態様では、ゲームコンソールまたはパーソナルコンピュータなどのビデオゲーム214を実行することができるコンピューティングデバイスである。
説明したように、ユーザ222がビデオゲーム214をプレイすると、ゲームプレイデータ216が生成され、これを使用して、機械学習モデル200を訓練して、ユーザ222のゲームプレイスタイル及び傾向を学習及び模倣することができる。図示の実施態様では、クライアントデバイス224及び236は、クライアントデバイス212と同様に構成されている。例えば、クライアントデバイス224は、ユーザ234によるゲームプレイのためにビデオゲーム226を実行することができ、結果として生じるゲームプレイデータ228は、ユーザ234のゲームプレイを模倣するように機械学習モデル230を訓練するために使用される。同様に、クライアントデバイス236は、ユーザ248によるゲームプレイのためにビデオゲーム240を実行することができ、生成されたゲームプレイデータ242を使用して、ユーザ248のゲームプレイを模倣するように機械学習モデル244を訓練することができる。
いくつかの実施態様では、様々なユーザに対応する訓練済み機械学習モデルを使用して、ユーザを代表するAIボットによるビデオゲームのゲームプレイを可能にすることができる。例えば、いくつかの実施態様では、ビデオゲームは、ネットワークゲームシステム200を使用して、オンラインマルチプレーヤゲームをサポートする。ネットワークゲームシステム200は、ビデオゲームの共有セッション202を実行してよく、クライアントデバイス212、224、及び236のそれぞれは、ネットワーク210を介して共有セッション202に接続する。従来のマルチプレーヤビデオゲームでは、各ユーザはマルチプレーヤセッションでユーザのそれぞれのキャラクタまたはエンティティの制御を担当する。しかしながら、本開示の実施態様によれば、所与のユーザの代わりに、そのユーザに対応するAIボットを展開して、そのユーザに代わってゲームをプレイすることができる。
例えば、図示の実施態様では、ユーザ222に対応するAIボット220は、訓練済み機械学習モデル218を使用して、ビデオゲームの共有セッション202に参加することができる。AIボット220は、ユーザ222に代わってビデオゲームのゲームプレイを行うように構成されたエージェントである。AIボット220は、ユーザのプレイスタイルを学習した訓練済み機械学習モデル218を使用しているので、ユーザ222がビデオゲームをプレイするのと同様の方法でビデオゲームのゲームプレイを行うことが理解されよう。同様に、AIボット232は、ユーザ234のゲームプレイ傾向を学習した機械学習モデル230を使用して、ビデオゲームの共有セッション202に参加するように構成することができる。そして、AIボット246は、ユーザ248のゲームプレイスタイルを模倣するように、訓練済み機械学習モデル244を使用して、ユーザ248に代わって共有セッションに参加することができる。
訓練されたAIボットがユーザに代わってプレイできるようにすることで、新しい種類のインタラクティブな体験が可能になる。例えば、いくつかの実施態様では、ユーザは互いのAIボットと対戦することができる。このようにして、ユーザは、そのユーザがビデオゲームに参加可能でない、あるいは、ビデオゲームに参加していないときでさえ、他のユーザと対戦することがどのようなものであるかを知ることができてよい。いくつかの実施態様では、ユーザはAIボットを互いに対戦させることができる。いくつかの実施態様では、ユーザは自分のAIボットがビデオゲームをプレイするのを見てよい。これは、ユーザがリアルタイムの設定でどのようにプレイするかを効果的に確認できるようにすることで、楽しませてくれるが、三人称の観察者の観点からである。これは、ユーザが自分のAIボットのゲームプレイを観戦することで、リアルタイムで自分がプレイするのを効果的に見ることから学んでよいため、さらに教育的であることが証明され得る。
例えば、ユーザ222及びユーザ234は、例えば、一緒のチームまたは互いに対戦するチームの一部として、ユーザ248とビデオゲームをプレイしたい場合がある。しかしながら、ユーザ248は、ユーザ222及びユーザ234が参加できるのと同時にオンラインではない場合がある。通常、ユーザ248が参加できないことは、集団体験が起こるのを妨げることになる。しかしながら、ユーザ248が参加できない間、ユーザ248のAIボット246は参加可能であり、ユーザ248の代わりにビデオゲームをプレイすることができる。このようにして、ユーザ222及び234は、希望するグループプレイ体験を妨げられず、AIボット246からのゲームプレイへの貢献は、ユーザ248がオンラインでプレイ可能であった場合にユーザ248によって提供されたであろうものと同様になる。したがって、AIボットを使用すると、人間が完全に存在しなくても、マルチプレーヤゲームプレイをシミュレートできる。
図示の実施態様では、ネットワークゲームシステム200は、システムのユーザ間の通信を容易にするように構成された通信モジュール204をさらに含む。例として、そのような通信は、メッセージング、チャット、オーディオ、ビデオ、テキスト、電子メール、コメント、返信などを含み得る。そのような通信は、ここで説明しているビデオゲームへのAIボットの挿入を容易にできることが理解されよう。例えば、あるユーザが他のユーザにメッセージを送信したり、マルチプレーヤビデオゲームに参加するように他のユーザに招待状を送信したりする場合がある。それに応じて、システムは、他のユーザは参加できないが、他のユーザのAIボットはゲームプレイに参加可能であることを示すメッセージで応答して、送信ユーザにAIボットとともにプレイまたはAIボットと対戦するオプションを提供してよい。
さらなる実施態様では、ビデオゲームは、ユーザが別のプレーヤのAIボットを使用して、ビデオゲームの選択したシーンまたは部分のゲームプレイを行い得る機能を提供するように構成することができる。これは、ユーザがゲームの難しいセクションを克服するのを助けるのに役立つ可能性がある。例えば、ユーザは特定のスキルレベルにあって、より高度なプレーヤのAIボットにビデオゲームの難しいセクションをプレイするように要求してよく、そうすることによって、ユーザは、より高度なプレーヤがビデオゲームの難しいセクションをどのようにプレイし、克服するかを見ることができる。このようにして、高度なプレーヤが実際に実証的なリアルタイムのゲームプレイに参加することを必要とせずに、高度でないプレーヤが高度なプレーヤのゲームプレイから学ぶことができる。これにより、経験の浅いプレーヤは、ビデオゲームの特定の部分をカバーするゲームプレイビデオをオンラインで検索するなど、特定の部分の学習に他のより時間のかかる方法に頼ることなく、彼らが興味のある、または克服するのが困難なビデオゲームの特定のセクションをより経験のあるプレーヤが処理するのを見るのを可能にすることが理解されよう。
さらに、ビデオゲームは、他のプレーヤのAIボットがビデオゲームをプレイしているときに、いかなる成績も元のホストユーザのアカウントにクレジットされないように構成できることが理解されよう。したがって、他のプレーヤのAIボットによるゲームプレイは、ホストユーザが視聴または観戦できるが、ビデオゲームのストーリーラインまたは目的のコンテキスト内で、ホストユーザの位置または進行には影響しない。この意味で、他のプレーヤのAIボットによるゲームプレイは、そのようなゲームプレイ中または完了時にセーブポイントが記録されないゲームプレイである。
ただし、他の実施態様では、ユーザは他のユーザのAIボットを借りて意図的に自分のためにプレイすることができ、そのようなゲームプレイ中の成果または成績は保存され、元のユーザのアカウントにクレジットされる。ある意味で、これは、友人に実際にゲームプレイすることを要求せずに、友人に、自分のために、または自分に代わってプレイさせることに似ている。いくつかの実施態様では、ユーザは、他のプレーヤのAIボットの使用料を、例えば、仮想通貨、デジタルアセット、デジタルクレジット、実際の通貨などを使用して支払ってよい。したがって、ユーザが、ビデオゲームの定期的なゲームプレイと進展を通じてAIボットを訓練及び改善し、訓練を受けたAIボットを他のユーザに貸し出すことができる市場を形成できる。いくつかの実施態様では、AIボットは、単位時間ごとに、またはAIボットの使用量を定量化する何らかの他の測定単位でレンタルすることができ、そのため、AIボットのレンタルに支払われる金額は、AIボットが実際に使用された量に依存する。このようなエコシステムでは、所与のAIボットの使用統計を投稿して利用可能にすることができ、ユーザは所与のAIボットに関連するコメントをそのAIボットを使用した後に残してよい。
図2を引き続き参照すると、ネットワークゲームシステム200は、以下でさらに説明するように、訓練済み機械学習モデルに基づいてユーザに推奨を提供するように構成された推奨ロジック206をさらに含む。また、ネットワークゲームシステム200は、以下でさらに説明するように、ビデオゲームに関連してマッチメイキングアクティビティを実行するように構成されるマッチメイキングロジック208をさらに含む。
さらに、いくつかの実施態様では、クライアントデバイスによって実行されると説明されている機能のいずれかが、ネットワークゲームシステム200によって実行できることに留意されたい。例えば、クラウドゲームのセットアップでは、ビデオゲームの実行は、ネットワークゲームシステム200によって行うことができ、クライアントデバイスは、ネットワーク210を介してネットワークゲームシステムからゲームプレイをストリーミングするように構成される。さらに、ゲームプレイデータの記憶、機械学習モデルの訓練、及びAIボットの実装は、いくつかの実施態様では、ネットワークゲームシステム200によって行うことができる。
図3は、本開示の実施態様による、プレーヤのゲームプレイ行動を模倣する訓練済み機械学習モデルを評価または分類するためのプロセスを概念的に示す。すでに説明したように、機械学習モデルは模倣学習用に訓練することができ、機械学習モデルは、ユーザのゲームプレイを模倣することを学習するので、同じタイプのシナリオが提示された場合、ユーザと同様の動きをする。ユーザのゲームプレイ行動を模倣するように機械学習モデルを訓練することの利点の1つは、ユーザのゲームプレイを評価するために、実際のユーザまたは実際のユーザの現実のゲームプレイを観察する必要がないことである。代わりに、機械学習モデルをユーザの傾向を模倣するように訓練することができ、次に、様々なシナリオを提示して、ユーザのゲームプレイ行動を評価できるようにする。この技術は、以前の成果や成績からの外挿に依存せずに、特定のシナリオに関する直接的なパフォーマンス評価を行うことを可能にし、結果は、直接的なパフォーマンス表示を提供するので、ユーザのゲームプレイ行動を分類するための強力で正確な方法である。したがって、所与のシナリオで所与のユーザがどのように実行するかという質問に対する答えは、理論的または外挿推定ではなく、実際のシナリオに対するユーザのAIボットの直接テストに基づく。
図示の実施態様では、訓練済み機械学習モデル300は、様々なシナリオ302、304、306、及び308に適用される。これらのシナリオのそれぞれは、所与のゲーム状況であってよく、ユーザが体験したゲームシナリオを示すものとして機械学習モデル300を訓練するために使用されたタイプのデータを含む。例えば、訓練データがユーザのゲームプレイのキャプチャされたビデオからの画像フレームを含む上記の実施態様によると、各シナリオは、いくつかの実施態様における画像フレームまたは画像フレームのシーケンスを含むことができ、画像フレームは、特定のビデオゲームを定義する。いくつかの実施態様では、そのような画像フレームは、ビデオゲームからのスクリーンショットであってよい。他の実施態様では、各シナリオは、そのようなシナリオがユーザに提示された場合にユーザの体験を定義する他の種類のデータによって定義することができる。
機械学習モデル302のシナリオ302、304、306、及び308への適用によって、それぞれ対応する結果310、312、314、及び316を生成する。いくつかの実施態様では、各結果は、シナリオに応答して機械学習モデル300によって生成されるデータによって定義される。例えば、結果には、シナリオに応答して機械学習モデルによって生成されるコントローラ入力を含み得る。結果は、シナリオに応答した機械学習モデルによる応答アクションの欠如によっても定義できることを理解されたい。
参照番号318では、結果に基づいて評価または分類動作が行われる。例えば、いくつかの実施態様では、これは、シナリオに応答して機械学習モデルによって生成されたコントローラ入力がコントローラ入力の所定のセットと一致するかどうかの判定を含むことができ、コントローラ入力の所定のセットはまた、そのようなコントローラ入力の順序とタイミングの考慮も含み得る。いくつかの実施態様では、評価は、機械学習モデルまたは機械学習モデル300の対応するユーザへのスキルレベルの割り当てを含み得る。様々な実施態様では、評価は、様々なシナリオの経験の結果に基づいた、ユーザもしくは機械学習モデルに起因し得る、また、推奨/コーチング、マッチメイキングなどを提供するダウンストリームのゲーム関連アクティビティに使用することができる、様々なスキル、経験、習熟度、キャラクタタイプ、スタイル、傾向、欠陥、または任意の他のプロパティもしくは分類の決定を含み得る。
したがって、訓練されたAI/機械学習モデルは、様々なシナリオをモデルに提示し、次に、モデルがどのように反応するかに基づいてモデルを分類することによって、評価することができる。いくつかの実施態様では、これは、オンライン訓練プロセスとは別に、オフラインプロセスとして行うことができる。上記のネットワークゲームシステムなどのシステムは、訓練済み機械学習モデルに様々なシナリオを提示し、モデルが行うことを記録し、次に、マッチメイキング、協力アクティビティ、コーチングなどの様々なアクティビティのためにモデルを分類することができる。
いくつかの実施態様では、シナリオは、例えば、ビデオゲームの特定のシーンにロードされるビデオゲームの実行部分によって定義されてよい。ユーザの機械学習モデル(または、ユーザのAIボット)を適用してビデオゲームの一部をプレイすることができ、ゲームプレイの結果を使用して機械学習モデルを分類することができる。モデルがシナリオを生き残るかどうか、1つまたは複数のアクションを取るかどうか、目標に到達するかどうか、成績を達成するかどうか、所与の時間量で何かを達成するかどうかなど、様々なビデオゲーム固有の結果により、ユーザの機械学習モデルの分類が可能になることが理解されよう。
図4は、本開示の実施態様による、訓練済み機械学習モデルに基づいてユーザに推奨を提供するためのシステムを示す。図に示すように、訓練済み機械学習モデル400は、評価/分類モジュール402によって評価または分類することができ、評価/分類モジュール402は、機械学習モデルに様々シナリオを提示することと、結果を評価することとを含む、上記の原理に従って機械学習モデル400の評価を行うように構成することができる。推奨ロジック404は、機械学習モデルの評価の結果に基づいてユーザに推奨を提供するように構成される。ここで説明しているこのような実施態様では、評価は、以下でさらに説明するように、ユーザに推奨を行うのに役立つ情報または分類を提供するように構成されることが理解されよう。
いくつかの実施態様では、システムは、プレーヤのゲームプレイスキルセットの開発及び改善を助けるように、機械学習モデルの評価/分類に基づいてプレーヤに具体的なコーチングを推奨するように構成される。つまり、評価は、特定のスキルや技術など、改善するユーザのゲームプレイのエリアを特定するように構成することができる。いくつかの実施態様では、推奨ロジック404は、ゲーム内コーチング406を提供してよく、ゲーム内コーチング406は、ビデオゲームのゲームプレイ中にプレーヤにヒントまたは他の有用な情報を提供する。これらのコーチングの助言は、訓練済み機械学習モデルに対する特定のユーザの評価に基づいて決定または選択されるため、そのユーザに固有のものであることは理解されよう。いくつかの実施態様では、推奨ロジック404は、チュートリアルまたはレッスン408をユーザに推奨してよく、チュートリアルまたはレッスン408は、一般に、ビデオゲームの実際のゲームプレイのコンテキストの外で発生する。例として、そのようなチュートリアルまたはレッスンは、ユーザが指導を受けて特定のスキルを練習することができる練習環境のレンダリングを伴うことができるが、これに限らない。
いくつかの実施態様では、推奨ロジック404は、例えば、ユーザを様々なプロのプレーヤと比較し、どのプロのプレーヤのスタイルが類似しているかを示すなど、プレーヤ比較410を提供することができる。したがって、推奨ロジック404は、プロのプレーヤのスタイルをユーザに推奨し、おそらく、特定のプロのプレーヤのスタイルに類似したスタイルを開発するための助言をすることができる。推奨ロジック404は、この点に関して特定の学習パスを推奨することができる。
いくつかの実施態様では、推奨ロジック404は、ユーザが自分のゲームプレイを改善するのを助けるように、対戦相手の推奨412を提供することができ、ユーザがプレイする対戦相手を提案する。関連する実施態様において、推奨ロジック404は、例えば、ユーザに対して効果的な戦略を識別し、ユーザのモデルにおいてそのような戦略を効果的に採用する対戦相手をユーザに提示することによってなど、それらの戦略に適応するようにユーザを促すなど、414で敵対する対抗戦略提示を提供することができる。
推奨ロジック404によって提供されるコーチング推奨の結果として、参照番号416に示されているように、機械学習モデル400を訓練するための新しい訓練データが生成されてよいことが理解されよう。したがって、機械学習モデル400は、ユーザがコーチングを受け、コーチングを通じて提供される提案及び戦略を実施するにつれて、時間とともに変化する。
評価モジュール402及び推奨ロジック404は、上記の実施態様に従って、ネットワークゲームシステムまたは様々なクライアントデバイスに組み込むことができることに留意されたい。
図5は、本開示の実施態様による、訓練済み機械学習モデルを使用して、ビデオゲームのマッチメイキングを改善するためのシステムを概念的に示す。図示の実施態様では、各ユーザに対応する様々な訓練済み機械学習モデル500が、機械学習モデルに1つまたは複数のシナリオを提示し、結果を処理することによって、前述のように評価される。この評価の結果は、機械学習モデル500のそれぞれに対応する分類502からなってよい。本実施態様では、これらの分類は、以下でさらに説明するように、ビデオゲームでマッチメイキング機能を実行するのに役立つ。
図示の実施態様では、マッチメイキングロジック504は、ビデオゲームのマッチメイキングを行うように構成される。大まかに言うと、マッチメイキングは、マルチプレーヤビデオゲームでのユーザの割り当てまたは配置に関連する機能を含む。例えば、所与のマルチプレーヤビデオゲームに多くのセッションが存在してよく、ゲームの競争力を高めるために、ゲームの所与のセッションにほぼ類似したスキルレベルのプレーヤを有することが望ましい。したがって、いくつかの実施態様では、機械学習モデルの分類は、対応するプレーヤのスキルレベルを識別するように構成され、マッチメイキングロジック504は、参照番号506に示されるように、レベル適合性のためにマッチメイキングを行うように構成される。すなわち、マッチメイキングロジック504は、ほぼ類似したスキルレベルのプレーヤをビデオゲームの同じセッションに割り当て、全く異なるスキルレベルのプレーヤを同じセッションに割り当てることを回避する。
いくつかの実施態様では、いくつかの既存のゲームセッションの1つに参加する目的で、マッチメイキングロジック504は、参加したいユーザのスキルレベルを識別し、そのユーザと、セッションの既存のユーザとのレベルの適合性に基づいて、ユーザをそのセッションに割り当てる。つまり、マッチメイキングロジックは、セッションの既存のプレーヤが新しいユーザと類似するスキルレベルを持つセッションを見つけ、新しいユーザをそのセッションに割り当てる。いくつかの実施態様では、ユーザがすでに進行中の、または他の複数のユーザがすでに割り当てられている特定のゲームセッションに参加したい場合、マッチメイキングロジック504は、所与のセッションにおけるプレーヤのスキルレベルと、参加を希望するプレーヤのスキルレベルとを識別することができる。また、スキルレベル/適合性に大きな違いがある場合にユーザに通知するように構成することができる。
訓練済み機械学習モデルが評価に利用可能であるため、所与のユーザのスキルレベルを高度の特異性で分類することができることが理解されよう。例えば、一部のビデオゲームは、様々な種類の領域、設定、環境などを有する場合があり、所与のプレーヤのスキルレベルはこれらの様々な環境間で異なる場合がある。例えば、プレーヤは都市型環境と比べて森林型環境の方がゲームプレイが上手であるため、環境によってスキルレベルが異なる。これは、プレーヤの訓練済みモデルに森林型環境と都市型環境を経験させ、結果を追跡することによって評価することができる。そのような環境依存のスキルレベルは、ユーザをビデオゲームの特定のセッションの特定の環境について評価することができ、それに応じて、所与のセッションの特定の環境に固有のスキルレベルに基づいてユーザを割り当てることができるという点で、ここで説明しているレベル適合性マッチメイキングの考慮に入れることができる。
いくつかの実施態様では、マッチメイキングロジック504は、参照番号508に示すように、プレーヤの機械学習モデルの評価/分類に基づいて、プレーヤを異なるチームに分配するように構成される。例えば、プレーヤのスキルレベルは、上記のように決定することができ、次に、互角のチームを提供するように、プレーヤを異なるチームに分配するために利用することができる。
いくつかの実施態様では、マッチメイキングロジック504は、参照番号510に示すように、ゲームプレイにおけるプレーヤのスキルまたは傾向に基づいてプレーヤのマッチングを行うように構成することができる。例えば、いくつかの実施態様では、類似するスタイルまたは傾向を示すプレーヤを同じチームでマッチングすることができる。他の実施態様では、チームが様々なスキルで形成されるように、プレーヤをスキルに基づいて様々なチームに割り当てることができる。つまり、可能な場合、各チームが様々なプレーヤタイプを有するように、類似するスキルセットを有するプレーヤが異なるチームに割り当てられる。いくつかの実施態様では、プレーヤは、プレーヤのスキルセットまたは傾向が補完的であることに基づいて互いにマッチングされる。例えば、ビデオゲームで可能なスキルのグループが与えられた場合、チーム全体のスキルの合計を最大化する方法で、プレーヤをチームの一部として互いにマッチングすることができる。
対戦を考慮して、いくつかの実施態様では、異なるスキルセットまたはスタイルを有するプレーヤが対戦相手としてマッチングされ、より興味深いゲームプレイを提供する。逆に、類似するスキルセットを持つプレーヤは、可能であれば互いにマッチングしなくてよい。
いくつかの実施態様では、マッチメイキングロジック504は、プレーヤの機械学習モデルの評価に基づいて、参照番号512に示すように、プレーヤの役割の充足を実行するように構成される。つまり、ビデオゲームでは、プレーヤを割り当てることができる様々な役割が存在する場合がある。このコンテキストでは、所与のユーザの機械学習モデルを、特定の役割を果たす際にどれだけうまく機能するかという観点から評価することができる。これに基づいて、マッチメイキングロジック504は、例えばチームにおいて、様々な役割を果たすのに最適なプレーヤを決定することができる。
さらに、いくつかの実施態様では、参照番号514で示すように、マッチメイキングロジックはAIボットのマッチメイキングを行うことができる。ユーザに適用される上記のマッチメイキング機能のいずれも、対応するAIボットにも適用でき、対応するAIボットは上記のようにビデオゲームに挿入することができることが理解されよう。例えば、AIボットは、レベルの適合性、スキルセット、所与の役割を果たす能力などに基づいて評価され、配置、または割り当てることができる。
例えば、プレーヤのチームが追加のプレーヤを必要としており、システムは、例えば、ソーシャルグラフ内のチームメンバの1人または複数に結び付けられた対応するユーザからなど、利用可能なAIボットの所与のセットから、チームに参加するのに最適なAIボットを決定する場合がある。いくつかの実施態様では、マッチメイキングロジックは、例えば、誰が参加可能であり、誰が特定の役割を果たす資格があるかを決定することによって、プレーヤまたはAIボット検索を行ってよい。限定的ではない例として、防御的なプレーヤまたはAIボットを探してよく、したがって、システムは、利用可能な訓練済み機械学習モデルの防御能力を、防御的なシナリオをモデルに提示し、モデルがどのように反応するかを決定することによって、評価し、次に、結果に基づいてプレーヤまたはAIボットを選択してよい。
いくつかの実施態様では、機械学習モデルの評価/分類は、個別に行うだけでなく、組み合わせて行うこともできる。訓練済み機械学習モデルの組み合わせを一緒に評価することで、プレーヤの様々なグループを評価することができる。例えば、チームとしてのプレーヤのグループのパフォーマンスを評価するために、彼らの機械学習モデルまたはAIボットに、プレーヤが同時に参加する1つまたは複数のグループシナリオを提示することができ、結果を評価することができる。いくつかの実施態様では、これは、次に互いの後続のアクションまたは決定に影響を与え得るモデルが取ったアクションの影響をシミュレートすることができるように、機能ゲームエンジンコンポーネントの実行を伴い得る。関連する実施態様では、プレーヤの訓練済みモデルを同じグループシナリオに適用し、各プレーヤがグループシナリオ内でどのようにパフォーマンスしたかを判断することで、プレーヤのグループの相互のパフォーマンスを評価することもできる。
ユーザの機械学習モデルまたはAIボットは、時間の経過とともに継続的に更新される可能性があるため、時間の経過とともに変化することが理解されよう。したがって、いくつかの実施態様では、マッチメイキングの現在の評価/分類を提供するために、機械学習モデルは、マッチメイキング要求時に(例えば、ユーザがマルチプレーヤビデオゲームをプレイすることを要求するとき)評価することができる。このようにして、最新の分類が使用される動的なマッチメイキングプロセスが可能になる。
図6は、本開示の実施態様による、所与のユーザに複数の機械学習モデルを提供するユーザアカウントのライブラリを概念的に示す。図に示すように、ユーザアカウントは、図示の実施態様におけるゲームタイトルA、ゲームタイトルB、及びゲームタイトルCなど、ユーザが所有するかまたはユーザがアクセスできる様々なゲームタイトルからなるゲームライブラリ600を有してよい。ユーザアカウントはさらに、ゲームライブラリ600内の各ゲームタイトルの様々な機械学習モデルを含むAIライブラリ602を含む。機械学習モデルA1、A2、及びA3を含むゲームタイトルAの機械学習モデルのセットが、参照番号604に示されている。同様に、ゲームタイトルBの機械学習モデルB1、B2、及びB3と、ゲームタイトルCの機械学習モデルC1、C2、及びC3を含む、ゲームタイトルB及びCの機械学習モデルのセットが、それぞれ参照番号606及び608に示される。
所与のゲームタイトルについて、ユーザは、ユーザのゲームプレイを模倣するように訓練された1つまたは複数の機械学習モデルを所有し得ることが理解されよう。例えば、ユーザが所与のビデオゲームをプレイすると、ユーザの機械学習モデルが進化し、機械学習モデルの様々な状態をキャプチャして保存することができる。したがって、複数の機械学習モデルは、時間の経過とともにプレーヤの様々なバージョンをキャプチャすることができ、様々な時刻におけるそのビデオゲームのユーザの能力のスナップショットとして機能することができる。一般的に言えば、ユーザが所与のビデオゲームをプレイし続けると、ユーザのスキルレベルが上がることが予想される。いくつかの実施態様では、現在よりも以前の時間(及びより低いスキルレベル)でのユーザの能力を示す以前の機械学習モデルを取得できることが有用な場合がある。例えば、スキルレベルが低い友人が、ユーザと対戦したく、そのユーザは、現在スキルレベルが高い。したがって、友人に競争力のあるゲームプレイ体験を提供するために、友人と類似するスキルレベルを有するユーザの以前の機械学習モデルをユーザに代わって展開することができる。
他の実施態様では、ユーザは、異なるキャラクタとしてプレイする、異なる役割でプレイする、異なる進歩または開発パスを追求するなど、ビデオゲームのコンテキスト内の様々な目的に対応する所与のビデオゲームのための複数の機械学習モデルを有し得る。
分類シナリオは、ユーザの機械学習モデルの特性を確認するのに役立つように構成または選択されていることが理解されよう。ビデオゲームのどのタイプのシナリオまたは部分が分類の目的に役立つかを判断するために、ユーザのゲームプレイとゲームシーンを分析して、ゲームプレイのどの側面がロバストな分類を可能にする優れた指標であるかを判断すると役立つ可能性がある。例えば、ユーザのゲームプレイを分析して、プレーヤが統計的に勝つまたは負ける可能性が高くなるアクションのタイプを決定してよい。次に、そのようなアクションの使用を強調するシナリオを分類目的で作成することができる。または、別の例では、ビデオゲームの様々なシーンのゲームプレイを分析して、どのシーンがユーザのスキルまたは成功の良い指標であるか、例えば、特定のシーンを通過したり、特定のシーンで間違いのないアクションを取ったりするユーザは、勝つ可能性が高いこと、を判断することができる。
本開示の実施態様は、ゲームエンジンの一部として含めることができる。大まかに言えば、ゲームエンジンは、ビデオゲームの効率的な開発を可能にする機能を提供するソフトウェア開発フレームワークである。ゲームエンジンは、例を挙げると、グラフィックスレンダリング(例えば、頂点処理、ポリゴン処理、シェーディング、照明、テクスチャリングなどを含む)、サウンド、物理的現象(衝突処理を含む)、アニメーション、スクリプト記述、人工知能、ネットワーキング、ストリーミング、メモリ管理、スレッド化、ローカリゼーションサポート、シーングラフ、シネマティクスなどを含むが、これらに限定されない、ゲーム機能の様々な側面を処理するための再利用可能なモジュールを備えたソフトウェアライブラリを含み得る。
ゲームエンジンは、ゲームコンソール、モバイルデバイス、パーソナルコンピュータなど、様々なハードウェアプラットフォーム用に最適化することができる。限定ではないが例を挙げると、ゲームエンジンは、プラットフォームに応じてメモリ使用量を最適化してよい(例えば、グラフィックパイプラインで様々なタスクの優先順位の付け方など)。いくつかの実施態様では、ハードウェアは、ゲームコンソールなどの何らかの特定の処理エンティティのブレードバージョンであってよい。したがって、ユーザを特定のブレードに割り当ててよく、これにより、コンソールゲームが最適化されたのと同じハードウェアが提供される。
ストリーミング及び/または他のサービス(パケット化、符号化、サービス品質(QOS)監視、帯域幅テスト、ソーシャルネットワーク/友人へのアクセスなど)を提供するためのゲームサーバロジックも存在し得ることが理解されよう。
いくつかの実施態様では、クラウドインフラストラクチャがハイパーバイザを実行する場合があり、ハイパーバイザは、ハードウェアを抽象化し、仮想マシンフレームワークを提供し、仮想マシンフレームワーク上にオペレーティングシステム(OS)をロードすることができる。したがって、スタックは、OS上で実行されるアプリケーション/ビデオゲームを含み得る。このOSは、ハイパーバイザによってインスタンス化された仮想マシン(VM)にロードされ、このVMは、基盤となるハードウェアにロードされる。このように、アプリケーションの実行は必ずしも特定のハードウェアに結合されているわけではない。
いくつかの実施態様では、アプリケーション/ビデオゲームがコンテナ上で実行されて、アプリケーション層で、パッケージングコード及び依存関係を一緒に抽象化し、OSまたはハードウェアプラットフォームに依存しないソフトウェア開発を可能にし、プラットフォーム間でのソフトウェアの移植性が向上する。
いくつかの実施態様では、ゲームエンジンの異なる部分を異なる計算エンティティによって処理することができる分散型ゲームエンジンが採用される。例えば、物理エンジン、レンダリングエンジン(2D/3Dグラフィックス)、サウンド、スクリプト記述、アニメーション、AI、ネットワーキング、ストリーミング(符号化)、メモリ管理、スレッド化などのゲームエンジンの機能は、多くの異なる計算間に分散されている様々な機能処理ブロック及び/またはサービスに分配することができる。分散型ゲームエンジンの場合、待ち時間の問題を回避するために低待ち時間の通信が必要であることが理解されよう。所望のフレームレートを維持するには、計算と通信の合計時間が一定の制約を満たす必要がある。したがって、プロセスをより短い時間で完了することが可能かどうかに応じて、一定のタスクを分割することが効率的である場合とそうでない場合がある。
分散型ゲームエンジンを使用する利点は、必要に応じてコンピューティングリソースをスケールアップまたはスケールダウンできるエラスティックコンピューティングを利用できることである。例えば、従来は単一のハードウェアサーバで実行されていた大規模なマルチプレーヤゲームでは、例えば約100人のプレーヤがいると、ハードウェアリソースが制限され、プレーヤを追加できなくなる。ゲームは追加のプレーヤをキューに入れてよい。つまり、プレーヤはゲームに参加するのを待つ必要がある。ただし、分散型ゲームエンジンでは、エラスティッククラウドコンピューティングリソースを使用することで、需要を満たすために計算ノードを追加できるため、例えば数千人のプレーヤが利用できる。ゲームは、特定のハードウェアサーバの制限による制約を受けなくなる。
したがって、クラウドゲームエンジンは、様々な処理エンティティに機能を分散させることができる。異なるフレームワークで異なる機能を実行できることが理解されよう。例えば、一部の機能(例えば、ソーシャル)はコンテナで実行する方が簡単な場合があるが、グラフィックスはGPUに接続されたVMを使用して実行する方が良い場合がある。
クラウドゲームエンジンの機能の分散を容易にするために、分散/同期層は、例えば、ジョブの送信、データの受信、どのタスクがいつ実行されたかの識別、及び、例えば、ジョブが必要より早く終了した場合のキューイングの処理など、ジョブの分散を管理することができる。いくつかの実施態様では、所与のタスクを必要に応じて動的に細分することができる。例えば、アニメーションは、照明を有することができ、照明が特に複雑な場合、照明を3つの照明ジョブに細分して、コンピューティングに送信し、戻ったときに再構築することができる。したがって、ゲームエンジンの機能は、より多くの作業が必要な場合に細分することができる。
クラウドサービスプロバイダは、例えば1秒あたりの入出力動作(「IOPS」)で、指定されたパフォーマンスレベルでコンピューティングを提供する。したがって、ゲームプロバイダは、クラウドサービスプロバイダからVM、専用の処理能力、メモリの量などを指定し、クラウドサービスプロバイダのシステムを使用して分散型クラウドゲームエンジンをインスタンス化することができる。
いくつかの実施態様では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンの1つまたは複数のコンポーネントまたはモジュールであってよい。いくつかの実施態様では、ライブラリモジュールと更新ハンドラは、別個のコンポーネントであってよい、または、統合することもできる。いくつかの実施態様では、ライブラリモジュール及び更新ハンドラは、ゲームエンジンへの追加として機能してよい。いくつかの実施態様では、上記のように、ゲームエンジンは分散型ゲームエンジンであってよい。
前述のように、本開示の実施態様は、クラウドゲームシステムに適用することができる。クラウドゲームシステムの一例は、Playstation(登録商標)Nowクラウドゲームシステムである。このようなシステムでは、クライアントデバイスは、プレイステーション(登録商標)4ゲームコンソールなどのゲームコンソールであってよい、またはパーソナルコンピュータ、ラップトップ、タブレット、携帯電話、モバイルデバイスなどの別のデバイスであってよい。
大まかに言うと、ゲームタイトルのユーザリクエストが受信されると、クラウドゲームを有効化するために、クラウドゲームサイトに関連付けられたデータセンタ内の1つまたは複数のサーバによりいくつかの動作が実行される。クラウドゲームサイトがユーザリクエストを受信すると、選択されたゲームタイトルに関連付けられたゲームをホストするデータセンタが識別され、選択されたゲームタイトルのゲームをインスタンス化するために、識別されたデータセンタにリクエストが送信される。リクエストに応答して、データセンタのサーバは、ゲームコンテンツをユーザに提示する準備として、ゲームコードを識別し、識別したゲームコードをロードし、ゲームコードに関連するファイルを初期化する。ゲームに関連付けられたゲームデータは、一般的なゲームデータと、ユーザ固有のゲームデータとを含み得る。したがって、ファイルを初期化することは、一般的なゲームデータ及びユーザ固有のゲームデータの両方を識別し、ロードし、初期化することを含み得る。一般的なゲームデータを初期化することは、グラフィックエンジンを初期化すること、グラフィックデータをインストールすること、サウンドファイルを初期化すること、アートワークをインストールすることなどを含み得る。ユーザ固有データを初期化することは、ユーザデータ、ユーザ履歴、ゲーム履歴などを検索すること、転送すること、及びインストールすることを含み得る。
一般的なゲームデータがロード及び初期化されている間、クライアントデバイスでレンダリングするための「スプラッシュ」画面が提供される場合がある。スプラッシュ画面は、ロードされているゲームの代表的な画像を提供するように設計されてよく、ロードされているゲームのタイプのプレビューをユーザに可能にし得る。一般的なゲームデータがロードされると、一定の初期コンテンツがレンダリングされてよく、選択/ナビゲーション画面が、ユーザ選択及びカスタマイズのために提示されてよい。選択/ナビゲーション画面で提供されるユーザ選択入力は、ゲームレベルの選択、ゲームアイコン(複数可)の選択、ゲームモードの選択、ゲームの獲得物、及び追加のゲームコンテンツのアップロードが必要となり得る他のユーザ関連データを含み得る。いくつかの実施形態では、ゲームコンテンツは、ゲームクラウドシステムからユーザのコンピューティングデバイスにゲームコンテンツをストリーミングすることにより、視聴及びインタラクションに利用可能となる。いくつかの実施態様では、ユーザ固有データをロードした後、ゲームコンテンツはゲームプレイに利用可能となる。
図7Aは、クラウドゲームサイトを介して利用可能なゲームのゲームファイルをロードするために使用される例示的なシステムを示す。システムは、ネットワーク702を介してクラウドゲームサイト704に通信可能に接続された複数のクライアントデバイス700を含み、ネットワーク702は、LAN、有線、無線、セルラー(例えば、4G、5Gなど)、またはインターネットを含む任意の他のタイプのデータネットワークを含み得る。クラウドゲームサイト704にアクセスするリクエストがクライアントデバイス700から受信されると、クラウドゲームサイト704は、ユーザデータストア708に記憶されたユーザアカウント情報706にアクセスして、リクエストを開始したクライアントデバイスに関連付けられたユーザを識別する。いくつかの実施形態では、クラウドゲームサイトはまた、ユーザが視聴/プレイを許可された全てのゲームを特定するために、識別したユーザの妥当性を確認してよい。ユーザアカウントの識別/妥当性確認に続いて、クラウドゲームサイトは、ゲームタイトルデータストア710にアクセスして、リクエストを開始したユーザアカウントがゲームクラウドサイトで利用可能なゲームタイトルを識別する。今度は、ゲームタイトルデータストア710が、ゲームデータベース712とインタラクトして、クラウドゲームサイトで利用可能な全てのゲームのゲームタイトルを取得する。新しいゲームが導入されると、ゲームデータベース712はゲームコードが更新され、ゲームタイトルデータストア710は、新たに導入されたゲームのゲームタイトル情報を提供される。リクエストを開始したクライアントデバイスは、リクエストを開始したときに、クラウドゲームサイトに登録されている場合とされていない場合がある。リクエストを開始したクライアントデバイスのユーザが登録ユーザでない場合、クラウドゲームサイトは、そのユーザを新規ユーザとして識別してよく、新規ユーザに適切なゲームタイトル(例えば、ゲームタイトルのデフォルトセット)を選択してよい。図7Aに示すように、識別されたゲームタイトルは、ディスプレイ画面700-aに提示するためにクライアントデバイスに返信される。
クライアントデバイス上でレンダリングされたゲームタイトルのうちの1つでユーザインタラクションが検出され、信号がクラウドゲームサイトに送信される。信号には、ユーザインタラクションが検出されたゲームタイトル情報と、ゲームタイトルで登録されたユーザインタラクションとが含まれる。クライアントデバイスから受信した信号に応答して、クラウドゲームサイトは先を見越して、ゲームがホストされているデータセンタを特定し、特定したデータセンタに信号を送信して、ユーザインタラクションが検出されたゲームタイトルに関連付けられたゲームをロードする。いくつかの実施形態では、複数のデータセンタがゲームをホストしている場合がある。このような実施形態では、クラウドゲームサイトは、リクエストを開始したクライアントデバイスの地理的位置を特定し、クライアントデバイスに地理的に近いデータセンタを識別し、データセンタにゲームをプリロードするように信号を送信してよい。ユーザの地理的位置は、いくつか例を挙げると、クライアントデバイス内の全地球測位システム(GPS)機構、クライアントのIPアドレス、クライアントのping情報を使用して、特定されてよい。当然ながら、ユーザの地理的位置を検出する前述の方法は例示であってよく、他のタイプの機構またはツールを使用して、ユーザの地理的位置を特定してもよい。クライアントデバイスに近いデータセンタを識別することにより、ユーザがゲームとインタラクトする際の待ち時間を最小限に抑えることができる。いくつかの実施形態では、識別されたデータセンタは、ゲームをホストするのに必要な帯域幅/容量を持たない場合がある、または過使用されている場合がある。これらの実施形態では、クラウドゲームサイトは、クライアントデバイスに地理的に近い第2のデータセンタを識別してよい。ゲームをロードすることは、ゲームコードをロードすることと、ゲームのインスタンスを実行することとを含む。
クラウドゲームサイトからの信号の受信に応答して、識別されたデータセンタは、データセンタでサーバを選択して、サーバ上でゲームをインスタンス化してよい。サーバは、利用可能なハードウェア/ソフトウェア容量及びゲーム要件に基づいて選択される。サーバは、複数のゲームコンソールを含んでよく、サーバは、ゲームをロードするのに、複数のゲームコンソールのうちのどのゲームコンソールを使用するかを決定してよい。ゲームコンソールは、独立したゲームコンソールに類似してよい、またはラックマウントサーバもしくはブレードサーバであってよい。ブレードサーバは、次に、複数のサーバブレードを含んでよく、各ブレードは、ゲームなどの単一の専用アプリケーションをインスタンス化するのに必要な回路を有する。当然ながら、前述のゲームコンソールは例示であり、限定として見なされるべきではない。ゲームステーションなどを含む他のタイプのゲームコンソール、及び他の形態のブレードサーバも、識別されたゲームをホストするために用いられてよい。
ゲームコンソールが識別されると、ゲームの一般的なゲーム関連コードがゲームコンソールにロードされ、ゲームがインスタンス化されるゲームコンソールを識別する信号がネットワークを介してクラウドゲームサイトを介してクライアントデバイスに返される。このように、ロードされたゲームは、ユーザに利用可能となる。
図7Bは、本開示の実施態様による、クラウドビデオゲームをクライアントデバイスにストリーミングするために実行される様々な動作を概念的に示すフロー図である。ゲームシステム718は、ビデオゲームを実行し、生の(非圧縮の)ビデオ720及びオーディオ722を生成する。ビデオ720及びオーディオ722は、示される図の参照番号724に示すように、ストリーミングのためにキャプチャされ、符号化される。符号化により、ビデオ及びオーディオのストリームを圧縮して、帯域幅の使用量を軽減し、ゲーム体験を最適化することができる。符号化形式の例は、H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9などを含む。
符号化されたオーディオ726及び符号化されたビデオ728はさらに、インターネットなどのネットワークを介して送信するために、参照番号732に示すように、ネットワークパケットにパケット化される。ネットワークパケット符号化プロセスは、データ暗号化プロセスも採用できるので、データセキュリティが強化される。図示の実施態様では、オーディオパケット734及びビデオパケット736は、参照番号740に示すように、ネットワークを介して転送するために生成される。
ゲームシステム718はさらに、触覚フィードバックデータ730を生成し、これもネットワーク送信のためにネットワークパケットにパケット化される。図示の実施態様では、参照番号740でさらに示すように、ネットワークを介して転送するために、触覚フィードバックパケット738が生成される。
前述の、生のビデオ及びオーディオならびに触覚フィードバックデータを生成することと、ビデオ及びオーディオを符号化することと、符号化されたオーディオ/ビデオ及び触覚フィードバックデータを転送用にパケット化することとの動作は、クラウドゲームサービス/システムを集合的に定義する1つまたは複数のサーバ上で実行される。参照番号740に示すように、オーディオ、ビデオ、及び触覚フィードバックのパケットは、インターネットなどのネットワーク、及び/またはインターネットを含むネットワークを介して転送される。参照番号742に示すように、オーディオパケット734、ビデオパケット736、及び触覚フィードバックパケット738は、クライアントデバイスにより復号/再構築されて、クライアントデバイスで、符号化されたオーディオ746、符号化されたビデオ748、及び触覚フィードバックデータ750を定義する。データが暗号化されている場合、ネットワークパケットは解読も行われる。次に、符号化されたオーディオ746及び符号化されたビデオ748は、ディスプレイデバイス752上にレンダリングするために、参照番号744に示すように、クライアントデバイスによって復号され、クライアント側の生のオーディオ及びビデオデータを生成する。触覚フィードバックデータ750は、処理/通信されて、触覚効果をレンダリングできるコントローラデバイス756または他のインターフェースデバイスで、触覚フィードバック効果を生成することができる。触覚効果の一例は、コントローラデバイス756の振動またはランブルである。
ビデオゲームはユーザ入力に応答するので、ユーザ入力の送信及び処理に関しても、前述と同様の手順の流れを、クライアントデバイスからサーバへの逆方向で実行できることが理解されよう。図示のように、コントローラデバイス756を操作するユーザは、入力データ758を生成し得る。この入力データ758は、ネットワークを介してクラウドゲームシステムに転送するために、クライアントデバイスでパケット化される。入力データパケット760は、クラウドゲームサーバにより解凍及び再構築されて、サーバ側で入力データ762が定義される。入力データ762は、ゲームシステム718に供給され、ゲームシステム718は、入力データ762を処理して、ビデオゲームのゲーム状態を更新する。
オーディオパケット734、ビデオパケット736、及び触覚フィードバックパケット738の転送中(参照番号740)、クラウドゲームストリームのサービス品質を保証するために、ネットワークを介したデータの送信を監視することができる。例えば、参照番号764によって示すように、アップストリーム及びダウンストリームの両方のネットワーク帯域幅を含むネットワーク状態を監視することができ、ゲームストリーミングは、利用可能な帯域幅の変化に応じて調整することができる。すなわち、参照番号766によって示すように、ネットワークパケットの符号化及び復号は、現在のネットワーク条件に基づいて制御することができる。
図8は、情報サービスプロバイダアーキテクチャの実施形態を示す。情報サービスプロバイダ(ISP)870は、地理的に分散し、ネットワーク886を介して接続されたユーザ882に多数の情報サービスを届ける。ISPは、株価の更新などの1種類のサービスのみ、またはブロードキャストメディア、ニュース、スポーツ、ゲームなどの様々なサービスを届けることができる。さらに、各ISPにより提供されるサービスは動的である、すなわち、いつの時点でもサービスを追加または取り除くことができる。したがって、特定の個人に特定の種類のサービスを提供するISPは、時間の経過とともに変わり得る。例えば、ユーザが地元にいる間は、ユーザの付近のISPによりユーザはサービスを受けてよく、ユーザが別の都市に移動した時は、異なるISPによりユーザはサービスを受けてよい。地元のISPは、必要な情報及びデータを新しいISPに転送し、これにより、ユーザ情報は新しい都市までユーザに「追従」し、ユーザはデータにより近くなり、アクセスしやすくなる。別の実施形態では、ユーザの情報を管理するマスタISPと、マスタISPの制御下のユーザと直接インタフェースするサーバISPとの間に、マスタ-サーバ関係が確立されてよい。別の実施形態では、クライアントが世界中を移動すると、あるISPから別のISPにデータが転送され、これにより、ユーザにサービスを提供するのにより良い位置に存在するISPが、これらのサービスを届けるISPとなる。
ISP870は、アプリケーションサービスプロバイダ(ASP)872を含み、ASP872は、ネットワーク(例えば、有線もしくは無線ネットワーク、LAN、WAN、WiFi(登録商標)、ブロードバンド、ケーブル、光ファイバ、衛星、セルラー(4G、5Gなど)、インターネットなどを含むが、これらに限定されない)を介して顧客にコンピュータベースのサービスを提供する。ASPモデルを使用して提供されるソフトウェアは、オンデマンドソフトウェアまたはサービスとしてのソフトウエア(SaaS)と呼ばれることもある。特定のアプリケーションプログラム(顧客関係管理など)へのアクセスを提供する簡単な形式には、HTTPなどの標準プロトコルが使用される。アプリケーションソフトウェアは、ベンダのシステムに常駐し、HTMLを使用するウェブブラウザを介して、ベンダが提供する専用クライアントソフトウェアを介して、またはシンクライアントなどの他のリモートインタフェースを介して、ユーザによりアクセスされる。
広い地理的地域にわたって届けられるサービスは、多くの場合にはクラウドコンピューティングを使用する。クラウドコンピューティングとは、動的にスケーラブルで多くの場合、仮想化されたリソースがインターネットを介したサービスとして提供されるコンピューティング様式である。ユーザは、ユーザを支援する「クラウド」の技術インフラストラクチャの専門家である必要はない。クラウドコンピューティングは、サービスとしてのインフラストラクチャ(IaaS)、サービスとしてのプラットフォーム(PaaS)、及びサービスとしてのソフトウェア(SaaS)などの異なるサービスに分けることができる。クラウドコンピューティングサービスは、多くの場合、ウェブブラウザからアクセスされる共通のビジネスアプリケーションをオンラインで提供するが、ソフトウェア及びデータは、サーバに記憶される。クラウドという用語は、コンピュータネットワーク図におけるインターネットの描かれ方に基づいて、(例えばサーバ、ストレージ、及びロジックを使用する)インターネットの隠喩として使用され、複雑なインフラストラクチャを隠し持つことの抽象的概念である。
さらに、ISP870は、ゲームクライアントがシングル及びマルチプレーヤビデオゲームをプレイするために使用するゲーム処理サーバ(GPS)874を含む。インターネットを介してプレイされるほとんどのビデオゲームは、ゲームサーバへの接続を介して動作する。通常、ゲームはプレーヤからのデータを収集し、それを他のプレーヤに配信する専用サーバアプリケーションを使用する。これは、ピアツーピア構成よりも効率的かつ効果的であるが、サーバアプリケーションをホストするために別個のサーバが必要となる。別の実施形態では、GPSは、プレーヤ及びそれぞれのゲームプレイデバイスの間の通信を確立し、集中型GPSに依存せずに情報を交換する。
専用GPSは、クライアントとは無関係に稼働するサーバである。このようなサーバは、通常、データセンタに配置された専用ハードウェア上で稼働し、より多くの帯域幅及び専用処理能力を提供する。専用サーバは、大部分のPCベースのマルチプレーヤゲームのためのゲームサーバをホストするのに好ましい方法である。大規模なマルチプレーヤオンラインゲームは、ゲームタイトルを所有するソフトウェア会社が通常ホストする専用サーバ上で実行され、専用サーバがコンテンツを制御及び更新することを可能にする。
ブロードキャスト処理サーバ(BPS)876は、視聴者にオーディオまたはビデオ信号を配信する。非常に狭い範囲の視聴者へのブロードキャスティングは、ナローキャスティングと呼ばれることもある。ブロードキャスト配信の最後の一工程(leg)は、信号が聞き手または視聴者にどのように到達するかであり、信号は、ラジオ局またはTV局と同様にアンテナ及び受信機に無線で到来し得るか、または局を介してケーブルTVもしくはケーブルラジオ(もしくは「無線ケーブル」)を通じて到来し得るか、またはネットワークから直接到来し得る。インターネットはまた、特に、信号及び帯域幅を共有できるマルチキャスティングを使用して、ラジオまたはTVのいずれかを受信者に届けてよい。歴史的に、ブロードキャストは、全国放送または地域放送などの地理的領域により範囲が定められてきた。しかし、高速インターネットの普及に伴い、コンテンツは世界のほぼ全ての国に到達可能であるため、ブロードキャストは地域によって定められない。
ストレージサービスプロバイダ(SSP)878は、コンピュータストレージ空間及び関連する管理サービスを提供する。SSPは、定期的なバックアップ及びアーカイブも提供する。ストレージをサービスとして提供することにより、ユーザは必要に応じてより多くのストレージを注文することができる。別の大きな利点として、SSPはバックアップサービスを含み、ユーザは、自身のコンピュータのハードドライブに障害が発生しても、ユーザの全てのデータを失うことはない。さらに、複数のSSPは、ユーザデータの全体的または部分的なコピーを有することができ、これにより、ユーザの位置またはデータへのアクセスに使用されるデバイスとは無関係に、ユーザは効率的な方法でデータにアクセスすることが可能となる。例えば、ユーザは、自宅のコンピュータで個人ファイルにアクセスでき、ユーザが移動中に携帯電話で個人ファイルにアクセスすることができる。
通信プロバイダ880は、ユーザに接続性を提供する。通信プロバイダの一種は、インターネットへのアクセスを提供するインターネットサービスプロバイダ(ISP)である。ISPは、ダイヤルアップ、DSL、ケーブルモデム、ファイバ、無線、または専用の高速相互接続など、インターネットプロトコルデータグラムの提供に好適なデータ伝送技術を使用して、顧客を接続する。通信プロバイダは、電子メール、インスタントメッセージ、及びSMSテキストなどのメッセージサービスも提供し得る。通信プロバイダの別の種類として、インターネットへの直接のバックボーンアクセスを提供することにより帯域幅またはネットワークアクセスを販売するネットワークサービスプロバイダ(NSP)が挙げられる。ネットワークサービスプロバイダは、電気通信会社、データ通信業者、無線通信プロバイダ、インターネットサービスプロバイダ、高速インターネットアクセスを提供するケーブルテレビ事業者などを含み得る。
データ交換888は、ISP870内のいくつかのモジュールを相互接続し、これらのモジュールをネットワーク886を介してユーザ882に接続する。データ交換888は、ISP870の全てのモジュールが近接している小さな領域をカバーすることができる、または様々なモジュールが地理的に分散している場合は、大きな地理的領域をカバーすることができる。例えば、データ交換888は、データセンタのキャビネット内に高速のギガビットイーサネット(登録商標)(もしくはさらに高速のもの)、または大陸間仮想エリアネットワーク(VLAN)を含み得る。
ユーザ882は、少なくともCPU、メモリ、ディスプレイ、及びI/Oを含むクライアントデバイス884により、リモートサービスにアクセスする。クライアントデバイスは、PC、携帯電話、ネットブック、タブレット、ゲームシステム、PDAなどであってよい。一実施形態では、ISP870は、クライアントが使用するデバイスのタイプを認識し、採用する通信方法を調整する。他のケースでは、クライアントデバイスは、HTMLなどの標準的な通信方法を使用して、ISP870にアクセスする。
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な消費者向け電気製品、ミニコンピュータ、及びメインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施されてよい。本開示はまた、有線ベースネットワークまたは無線ネットワークを介してリンクされたリモート処理デバイスによりタスクが行われる分散型コンピューティング環境においても、実施することができる。
前述の実施形態を考慮に入れて、本開示は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施動作を採用し得ることを理解されたい。これらの動作は、物理量の物理的操作を要する動作である。本開示の一部を形成する本明細書で説明される動作のいずれも、有用なマシン動作である。本開示はまた、これらの動作を実行するためのデバイスまたは装置に関する。装置は、必要な目的のために特別に構築することができる、または装置は、コンピュータに記憶されたコンピュータプログラムにより選択的に起動または構成される汎用コンピュータであってよい。具体的には、様々な汎用マシンを、本明細書の教示に従って書かれたコンピュータプログラムとともに使用することができる、または、必要な動作を実行するためにさらに特化した装置を構築する方がより好都合な場合がある。
本開示はまた、コンピュータ可読媒体上のコンピュータ可読コードとしても具現化することができる。あるいは、コンピュータ可読コードは、前述のデータ交換相互接続を使用して、サーバからダウンロードされてよい。コンピュータ可読媒体は、データを記憶できる任意のデータストレージデバイスであり、データは後にコンピュータシステムにより読み出すことができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、CD-ROM、CD-R、CD-RW、磁気テープ、ならびに他の光学及び非光学データストレージデバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散方式で記憶され実行されるように、ネットワーク接続されたコンピュータシステムにわたり分散されたコンピュータ可読有形媒体を含み得る。
方法動作が特定の順序で説明されたが、他のハウスキーピング動作が動作の間に実行されてもよく、または動作が、わずかに異なる時刻に生じるように調整されてもよく、もしくはオーバーレイ動作の処理が所望の手法で実行される限り、処理に関連する様々な間隔で処理動作の発生を可能にするシステム内に分散されてもよいことが理解されるべきである。
前述の開示は、理解を明確にするためにある程度詳細に説明したが、添付の特許請求の範囲内で特定の変更及び修正を実施できることは明らかであろう。したがって、本実施形態は、限定ではなく例示としてみなされるべきであり、本開示は、本明細書で提供される詳細に限定されるべきではなく、説明される実施形態の範囲内及び均等物内で変更されてもよい。

Claims (17)

  1. ビデオゲームの第1のセッションであって、ユーザのインタラクティブゲームプレイに対して定義された前記第1のセッションからゲームプレイデータを記録することと、
    前記ゲームプレイデータを使用して機械学習モデルを訓練することであって、前記訓練によって、前記機械学習モデルに前記ユーザの前記インタラクティブゲームプレイを模倣させる、前記訓練することと、
    前記訓練の後、前記機械学習モデルに前記ビデオゲームの1つまたは複数のシナリオを経験させ、前記1つまたは複数のシナリオに応答した前記機械学習モデルのアクションを評価することによって、前記機械学習モデルの分類を決定することと、
    前記機械学習モデルの前記分類を使用して、前記ビデオゲームの第2のセッションに前記ユーザを割り当てることと
    を含む、方法。
  2. 前記ゲームプレイデータは、前記第1のセッションのビデオと前記インタラクティブゲームプレイ中のユーザ入力とを含む、請求項1に記載の方法。
  3. 前記機械学習モデルを訓練することは、前記ビデオと前記ユーザ入力とを使用して、前記第1のセッション中に前記ビデオの所与の部分に応答して生成された前記ユーザ入力に類似した入力を生成することによって、前記機械学習モデルに前記ビデオの前記所与の部分に応答させる、請求項2に記載の方法。
  4. 前記ビデオの前記所与の部分は、前記ビデオの1つまたは複数の画像フレームによって定義される、請求項3に記載の方法。
  5. 前記ユーザ入力は、前記第1のセッション中に前記ユーザによって操作されたコントローラデバイスから定義される、請求項2に記載の方法。
  6. 前記機械学習モデルは、ニューラルネットワークである、請求項1に記載の方法。
  7. 前記ビデオゲームの前記1つまたは複数のシナリオは、前記第1のセッションから定義されない、前記ビデオゲームの1つまたは複数の画像フレームによって定義される、請求項1に記載の方法。
  8. 前記ゲームプレイデータは、前記ビデオゲームの前記第1のセッションからのゲーム状態データを含む、請求項1に記載の方法。
  9. 前記分類は、前記ユーザのスキルレベルを識別し、
    前記分類を使用して、前記ユーザを前記第2のセッションに割り当てることは、1つまたは複数の他のユーザのスキルレベルを識別することと、前記ユーザの前記スキルレベルと類似するスキルレベルを有する前記他のユーザの1人または複数を含むように前記第2のセッションを構成することとを含む、
    請求項1に記載の方法。
  10. 前記分類は、前記ユーザのスキルセットを識別し、
    前記分類を使用して前記ユーザを前記第2のセッションに割り当てることは、1人または複数の他のユーザのスキルセットを識別することと、前記ユーザの前記スキルセットを補完するスキルセットを有する前記他のユーザの1人または複数を含むように前記第2のセッションを構成することとを含む、
    請求項1に記載の方法。
  11. 前記ユーザを前記ビデオゲームの前記第2のセッションに割り当てることは、AIボットを前記第2のセッションに挿入することを含み、前記AIボットは、前記訓練済み機械学習モデルを使用して、前記第2のセッションでゲームプレイを行う、請求項1に記載の方法。
  12. ビデオゲームのユーザセッションであって、ユーザによる前記ビデオゲームのインタラクティブゲームプレイに対して定義された前記ユーザセッションからゲームプレイデータを記録することと、
    前記ゲームプレイデータを使用して、前記インタラクティブゲームプレイにおける前記ユーザの傾向を模倣するように機械学習モデルを訓練することと、
    前記訓練の後、前記訓練済み機械学習モデルに前記ビデオゲームの所定のシナリオを経験させ、前記訓練済み機械学習モデルによる前記所定のシナリオへの応答を分析することによって、前記訓練済み機械学習モデルの評価を行うことと、
    前記機械学習モデルの前記評価を使用して、前記ユーザを前記ビデオゲームの新しいセッションに割り当てることと、
    を含む、方法。
  13. 前記ゲームプレイデータは、前記ビデオゲームの前記ユーザセッションからのビデオ及びユーザ入力を含む、請求項12に記載の方法。
  14. 前記インタラクティブゲームプレイにおける前記ユーザの前記傾向は、前記インタラクティブゲームプレイにおける前記ユーザのアクティビティ及び非アクティビティによって定義される、請求項12に記載の方法。
  15. 前記訓練済み機械学習モデルの前記評価を行うことは、前記ユーザのスキルレベルを決定するように構成され、
    前記ユーザを前記新しいセッションに割り当てることは、前記ユーザの前記決定したスキルレベルに基づく、請求項12に記載の方法。
  16. 前記訓練済み機械学習モデルの前記評価を行うことは、前記ユーザのスキルセットを決定するように構成され、
    前記ユーザを前記新しいセッションに割り当てることは、前記ユーザの前記決定したスキルセットに基づく、請求項12に記載の方法。
  17. 前記機械学習モデルは、ニューラルネットワークである、請求項12に記載の方法。
JP2021555796A 2019-03-15 2020-03-02 ビデオゲームのコーチングとマッチメイキングのためのaiモデリング Active JP7216223B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/355,543 US11065549B2 (en) 2019-03-15 2019-03-15 AI modeling for video game coaching and matchmaking
US16/355,543 2019-03-15
PCT/US2020/020706 WO2020190495A1 (en) 2019-03-15 2020-03-02 Al MODELING FOR VIDEO GAME COACHING AND MATCHMAKING

Publications (2)

Publication Number Publication Date
JP2022525413A true JP2022525413A (ja) 2022-05-13
JP7216223B2 JP7216223B2 (ja) 2023-01-31

Family

ID=70005819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021555796A Active JP7216223B2 (ja) 2019-03-15 2020-03-02 ビデオゲームのコーチングとマッチメイキングのためのaiモデリング

Country Status (5)

Country Link
US (2) US11065549B2 (ja)
EP (1) EP3938066A1 (ja)
JP (1) JP7216223B2 (ja)
CN (1) CN113811372A (ja)
WO (1) WO2020190495A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10576380B1 (en) * 2018-11-05 2020-03-03 Sony Interactive Entertainment LLC Artificial intelligence (AI) model training using cloud gaming network
US10946281B2 (en) * 2019-03-29 2021-03-16 Nvidia Corporation Using playstyle patterns to generate virtual representations of game players
US20220152468A1 (en) * 2019-04-16 2022-05-19 Sony Group Corporation Information processing apparatus and information processing system
KR102286431B1 (ko) * 2019-06-03 2021-08-06 주식회사 게임빌 스포츠 게임의 선수 교체 방법 및 시스템
US11068284B2 (en) * 2019-07-25 2021-07-20 Huuuge Global Ltd. System for managing user experience and method therefor
US20210081498A1 (en) * 2019-09-17 2021-03-18 Disney Enterprises, Inc. Artificial intelligence-based roleplaying experiences based on user-selected scenarios
US11712627B2 (en) * 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11541317B2 (en) * 2020-02-06 2023-01-03 Sony Interactive Entertainment Inc. Automated weapon selection for new players using AI
US11478715B1 (en) * 2020-02-12 2022-10-25 Electronic Arts Inc. User-controllable model-driven matchmaking
US11179631B2 (en) * 2020-03-18 2021-11-23 Electronic Arts Inc. Providing video game content to an online connected game
US11260306B2 (en) * 2020-04-23 2022-03-01 Electronic Arts Inc. Matchmaking for online gaming with simulated players
TWI740637B (zh) * 2020-09-10 2021-09-21 宏碁股份有限公司 組隊遊戲的隊友推薦方法與系統
US20220101749A1 (en) * 2020-09-28 2022-03-31 Sony Interactive Entertainment LLC Methods and systems for frictionless new device feature on-boarding
US11478716B1 (en) * 2020-11-05 2022-10-25 Electronic Arts Inc. Deep learning for data-driven skill estimation
US11679328B2 (en) 2020-12-30 2023-06-20 Sony Interactive Entertainment Inc. Recommending game streams for spectating based on recognized or predicted gaming activity
EP4271492A1 (en) * 2020-12-30 2023-11-08 Sony Interactive Entertainment Inc. Recommending game streams for spectating based on recognized or predicted gaming activity
CN112704882B (zh) * 2021-01-14 2021-09-14 广州云从鼎望科技有限公司 基于模型的棋牌游戏策略更新的方法、系统、介质及装置
KR102633104B1 (ko) * 2021-04-05 2024-02-02 주식회사 지지큐컴퍼니 리그 오브 레전드 게임의 전장 내의 챔피언을 자동으로 플레이하는 봇의 행동을 결정하는 방법 및 이를 수행하는 컴퓨팅 시스템
JP7021382B1 (ja) 2021-04-19 2022-02-16 株式会社Cygames ユーザが選択するアクションを予測するための学習済みモデルを生成するための方法等
US20220353304A1 (en) * 2021-04-30 2022-11-03 Microsoft Technology Licensing, Llc Intelligent Agent For Auto-Summoning to Meetings
US20220350660A1 (en) * 2021-05-03 2022-11-03 Dell Products, L.P. Systems and methods for establishing and managing fast data channels among modern workspaces
JP2024505320A (ja) * 2021-05-26 2024-02-06 グーグル エルエルシー 人工知能を対象とする効率的なゲームプレイ訓練
DE102021118241A1 (de) 2021-07-14 2023-01-19 Deutsche Telekom Ag System und verfahren zum ausführen eines online-spiels
US20230310995A1 (en) * 2022-03-31 2023-10-05 Advanced Micro Devices, Inc. Detecting personal-space violations in artificial intelligence based non-player characters
US20230381661A1 (en) * 2022-05-27 2023-11-30 Sony Interactive Entertainment LLC Systems and methods for enabling interactive game assistance during gameplay
US20240100440A1 (en) * 2022-09-19 2024-03-28 Sony Interactive Entertainment Inc. AI Player Model Gameplay Training and Highlight Review

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028704A1 (en) * 2000-09-05 2002-03-07 Bloomfield Mark E. Information gathering and personalization techniques
US20060246973A1 (en) * 2005-04-13 2006-11-02 Thomas Jeffrey J Systems and methods for simulating a particular user in an interactive computer system
JP2008207005A (ja) * 2005-09-08 2008-09-11 Nhn Corp ゲームユーザの入力パターンをコピーしてゲームを遂行するゲームai制御システム及びプログラム
JP2016526952A (ja) * 2013-05-30 2016-09-08 エンパイア テクノロジー ディベロップメント エルエルシー 多人数同時参加型オンラインロールプレイングゲームをコントロールすること
US20180243656A1 (en) * 2017-02-28 2018-08-30 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE38432E1 (en) * 1998-01-29 2004-02-24 Ho Chi Fai Computer-aided group-learning methods and systems
US20080096665A1 (en) * 2006-10-18 2008-04-24 Ariel Cohen System and a method for a reality role playing game genre
CA2682000A1 (en) * 2007-03-28 2008-10-02 Breakthrough Performancetech, Llc Systems and methods for computerized interactive training
EP2260453A4 (en) * 2008-02-14 2016-03-23 Infomotion Sports Technologies Inc ELECTRONIC ANALYSIS OF ATHLETIC PERFORMANCE
US20090319459A1 (en) * 2008-02-20 2009-12-24 Massachusetts Institute Of Technology Physically-animated Visual Display
WO2009134755A2 (en) * 2008-04-28 2009-11-05 Alexandria Investment Research And Technology, Llc Adaptive knowledge platform
US20100311030A1 (en) * 2009-06-03 2010-12-09 Microsoft Corporation Using combined answers in machine-based education
US9358685B2 (en) * 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US20180053114A1 (en) * 2014-10-23 2018-02-22 Brighterion, Inc. Artificial intelligence for context classifier
US20180374383A1 (en) * 2017-06-22 2018-12-27 Jeffrey THIELEN Coaching feedback system and method
US10854104B2 (en) * 2015-08-28 2020-12-01 Icuemotion Llc System for movement skill analysis and skill augmentation and cueing
US10238948B2 (en) * 2015-09-24 2019-03-26 Circadence Corporation Mission-based, game-implemented cyber training system and method
US10586173B2 (en) * 2016-01-27 2020-03-10 Bonsai AI, Inc. Searchable database of trained artificial intelligence objects that can be reused, reconfigured, and recomposed, into one or more subsequent artificial intelligence models
US11511156B2 (en) * 2016-03-12 2022-11-29 Arie Shavit Training system and methods for designing, monitoring and providing feedback of training
US10532268B2 (en) * 2016-05-02 2020-01-14 Bao Tran Smart device
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
KR20190032433A (ko) * 2016-07-18 2019-03-27 난토믹스, 엘엘씨 분산 머신 학습 시스템들, 장치, 및 방법들
US10546066B2 (en) * 2016-08-31 2020-01-28 Microsoft Technology Licensing, Llc End-to-end learning of dialogue agents for information access
US20180121766A1 (en) * 2016-09-18 2018-05-03 Newvoicemedia, Ltd. Enhanced human/machine workforce management using reinforcement learning
US11752295B2 (en) * 2016-09-30 2023-09-12 Sony Interactive Entertainment Inc. Method and system for classifying virtual reality (VR) content based on modeled discomfort of a user
CN106503787B (zh) * 2016-10-26 2019-02-05 腾讯科技(深圳)有限公司 一种获取游戏数据的方法及电子设备
US10650552B2 (en) * 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
US10675544B2 (en) * 2017-03-31 2020-06-09 Sony Interactive Entertainment LLC Personalized user interface based on in-application behavior
US10348658B2 (en) * 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US11602697B2 (en) * 2017-09-05 2023-03-14 State Space Labs Inc. Sensorimotor assessment and training
US11185830B2 (en) 2017-09-06 2021-11-30 Waters Technologies Corporation Fluid mixer
CN108553903B (zh) * 2018-04-19 2021-11-23 网易(杭州)网络有限公司 控制机器人玩家方法及装置
US10839215B2 (en) 2018-05-21 2020-11-17 Electronic Arts Inc. Artificial intelligence for emulating human playstyles

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020028704A1 (en) * 2000-09-05 2002-03-07 Bloomfield Mark E. Information gathering and personalization techniques
US20060246973A1 (en) * 2005-04-13 2006-11-02 Thomas Jeffrey J Systems and methods for simulating a particular user in an interactive computer system
JP2008207005A (ja) * 2005-09-08 2008-09-11 Nhn Corp ゲームユーザの入力パターンをコピーしてゲームを遂行するゲームai制御システム及びプログラム
JP2016526952A (ja) * 2013-05-30 2016-09-08 エンパイア テクノロジー ディベロップメント エルエルシー 多人数同時参加型オンラインロールプレイングゲームをコントロールすること
US20180243656A1 (en) * 2017-02-28 2018-08-30 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application

Also Published As

Publication number Publication date
US20200289943A1 (en) 2020-09-17
US11065549B2 (en) 2021-07-20
WO2020190495A1 (en) 2020-09-24
US20210339146A1 (en) 2021-11-04
CN113811372A (zh) 2021-12-17
EP3938066A1 (en) 2022-01-19
JP7216223B2 (ja) 2023-01-31

Similar Documents

Publication Publication Date Title
JP7216223B2 (ja) ビデオゲームのコーチングとマッチメイキングのためのaiモデリング
US11400378B2 (en) Automatic separation of abusive players from game interactions
US11623154B2 (en) Driving virtual influencers based on predicted gaming activity and spectator characteristics
US11679328B2 (en) Recommending game streams for spectating based on recognized or predicted gaming activity
US11400381B2 (en) Virtual influencers for narration of spectated video games
US11571628B2 (en) Modifying game content to reduce abuser actions toward other users
JP7419554B2 (ja) ゲーム内プレイヤー支援用に事前に記録されたゲームプレイビデオのサーフェシング
JP2023527977A (ja) 受動的観客視聴用のカメラビュー選択プロセッサ
JP7361940B2 (ja) ビデオゲームの観客を増やすためのプレーヤーフィードバック
US11420123B2 (en) Helper mode in spectated video games
US20230330523A1 (en) Recommending game streams for spectating based on recognized or predicted gaming activity
Aubuchon Quality of Experience Evaluation for Buffer Sizing of Cloud-Based Game Streaming
CN116685381A (zh) 基于识别的或预测的游戏活动推荐供观看的游戏流
WO2022146719A1 (en) Helper mode in spectated video games

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211108

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230119

R150 Certificate of patent or registration of utility model

Ref document number: 7216223

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150