IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファイター・ベース・パブリッシング,インコーポレイテッドの特許一覧

特表2022-536931人工知能搭載型のユーザインターフェースのための方法及びシステム
<>
  • 特表-人工知能搭載型のユーザインターフェースのための方法及びシステム 図1
  • 特表-人工知能搭載型のユーザインターフェースのための方法及びシステム 図2
  • 特表-人工知能搭載型のユーザインターフェースのための方法及びシステム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-22
(54)【発明の名称】人工知能搭載型のユーザインターフェースのための方法及びシステム
(51)【国際特許分類】
   A63F 13/67 20140101AFI20220815BHJP
   A63F 13/5375 20140101ALI20220815BHJP
   A63F 13/533 20140101ALI20220815BHJP
   G06F 3/0484 20220101ALI20220815BHJP
【FI】
A63F13/67
A63F13/5375
A63F13/533
G06F3/0484
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021574768
(86)(22)【出願日】2020-06-12
(85)【翻訳文提出日】2022-02-04
(86)【国際出願番号】 US2020037610
(87)【国際公開番号】W WO2020252400
(87)【国際公開日】2020-12-17
(31)【優先権主張番号】62/861,433
(32)【優先日】2019-06-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521546913
【氏名又は名称】ファイター・ベース・パブリッシング,インコーポレイテッド
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100219542
【弁理士】
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】バンジ、マーク
(72)【発明者】
【氏名】モラノ、ガブリエレ
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA04
5E555AA18
5E555AA76
5E555BA20
5E555BB20
5E555BC04
5E555BE09
5E555CA02
5E555CA06
5E555CA12
5E555CA18
5E555CB02
5E555CB12
5E555CC01
5E555CC03
5E555DB53
5E555DC05
5E555DC13
5E555EA06
5E555EA14
5E555EA19
5E555EA27
5E555FA00
(57)【要約】
本技術の様々な態様による、人工知能搭載型のユーザインターフェースのためのシステム及び方法は、最小限のプラットフォーム固有の離散的なユーザ入力を受信し、最適なゲーム内アクションを推論することが可能な人工知能システムを搭載したゲームエンジンを含む。ゲームエンジンは、ノンプレイヤーキャラクターと実際のプレイヤーとの両方について、既知の行動、予期される行動、又は予測される行動のセットを生成するようにトレーニングされ得る。次いで、ゲームエンジンは、1つ又は複数のイベントをプレイヤーに提示し、次いで、受信されたユーザ入力に基づいて、プレイヤー応答を推論し得る。ゲームエンジンはまた、プレイヤーの応答と、所定の目標のセットとの比較に基づいて、各推論の成功を計るように構成され得る。
【選択図】図3
【特許請求の範囲】
【請求項1】
環境におけるユーザ入力に対する人工知能(AI)搭載型の応答を提供するためのシステムであって、
前記環境内で見出された複数のノンプレイヤーキャラクター(NPC)を格納しているノンプレイヤーキャラクター(NPC)モジュールと、
前記NPCモジュールにリンクされ、且つ前記環境内の前記NPCの行動及びアクションに影響を及ぼすために、個々のNPCにコマンドを提供するように構成されたNPCコマンドモジュールと、
個々のプレイヤーにCnC提案を提供することと、
離散的なユーザ入力を受信することと、
を行うように構成されたプレイヤー命令及び制御(CnC)モジュールと、
機能的境界条件のセットに従って、前記環境内でアクションのセットを実行するように各NPCをトレーニングすることと、
前記複数のNPCに命令するように前記NPCモジュールをトレーニングすることと、
個々のプレイヤーアクションに従って、複数のCnC提案を学習するように前記プレイヤーCnCモジュールをトレーニングすることと、
学習された前記複数のCnC提案に従って、前記プレイヤーCnCモジュールによって受信された前記離散的なユーザ入力に基づいて、環境内応答を推論することと、
を行うように構成されたAI搭載型のエンジンと、
を備える、環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項2】
前記ユーザに表示されるユーザインターフェースを更に備え、前記ユーザインターフェースは、
前記プレイヤーに環境内アクションを表示することと、
前記離散的なユーザ入力を取り込むことと、
取り込まれた前記離散的なユーザ入力を前記プレイヤーCnCモジュールに通信することと、
を行うように構成されている、請求項1に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項3】
前記AI搭載型のエンジンは、
前記環境内の第1のコンテキスト状況に従って、第1の離散的なユーザ入力に対する第1の環境内応答を推論することと、
前記環境の第2のコンテキスト状況に従って、前記第1の離散的なユーザ入力に対する第2の環境内応答を推論することと、
を行うように更に構成されている、請求項2に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項4】
前記AI搭載型のエンジンは、前記環境のコンテキスト状況に従って、前記環境内応答を推論するように更に構成されている、請求項1に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項5】
各NPCをトレーニングすることは、
第1のNPCが第1のセットのアクションを実行するように教示される、第1の一連の反復を実行することと、
前記第1の一連の反復における各反復について成功の程度を決定することと、
より高いレベルの結果を得るために、前記AI搭載型のエンジンを用いて、以前の反復に対して前記第1の一連の反復における各反復についての前記成功の程度をランク付けすることと、
前記第1のNPCが前記第1のセットのアクションが条件とされている第2のセットのアクションを実行するように教示される、第2の一連の反復を実行することと、
前記第2の一連の反復における各反復について成功の程度を決定することと、
より高いレベルの結果を得るために、前記AI搭載型のエンジンを用いて、以前の反復に対して前記第2の一連の反復における各反復についての前記成功の程度をランク付けすることと、
を備える、請求項1に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項6】
前記第1の一連の反復及び前記第2の一連の反復は、様々なNPC属性に割り当てられたネガティブな値及びポジティブな値のセットによって制約される、請求項5に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項7】
前記NPCコマンドモジュールをトレーニングすることは、
前記第1のセットのアクション及び前記第2のセットのアクションに従って、第1の一連のイベントを実行することと、
前記第1の一連のイベントが条件とされている第1の一連の目的を実行することと、
を備える、請求項5に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項8】
前記AI搭載型のエンジンは、受信された離散的なユーザ入力を、前記第1の一連のイベント及び前記第1の一連の目的に含めるように更に構成されている、請求項7に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項9】
前記NPCコマンドモジュールをトレーニングすることは、前記環境の外部へのフィードバックを含むトレーニングメトリックを組み込むことを更に備える、請求項7に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項10】
前記プレイヤーCnCモジュールをトレーニングすることは、
第1の離散的なユーザ入力を受信することと、
現在の環境内状況を、前記NPCコマンドモジュールへとトレーニングされた既知の同様の環境内状況と比較することと、
前記現在の環境内状況に関連する利用可能な行動及びアクションのセットを決定することと、
前記利用可能な行動及びアクションのセットを、前記行動及びアクションのセットからの各行動及びアクションを生じさせるための既知の入力と比較することと、
受信された前記ユーザ入力に最も関連する各行動及びアクションを生じさせるための前記既知の入力に従って、所望の環境内応答を選択することと、
を備える、請求項1に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項11】
前記AI搭載型のエンジンは、選択された前記環境内応答のプレイヤーフィードバックを、前記既知の入力に組み込むように更に構成されている、請求項10に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項12】
前記プレイヤーCnCモジュールをトレーニングすることは、前記環境内応答の前記推論に後続して、前記環境内に代替視点を組み込むことを更に備える、請求項10に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項13】
前記プレイヤーCnCモジュールをトレーニングすることは、前記環境の外部へのフィードバックを含むトレーニングメトリックを組み込むことを更に備える、請求項10に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するためのシステム。
【請求項14】
環境におけるユーザ入力に対する人工知能(AI)搭載型の応答を提供するための方法であって、
前記環境内で見出された複数のノンプレイヤーキャラクター(NPC)を、ノンプレイヤーキャラクター(NPC)モジュールに格納することと、
前記NPCモジュールにリンクされたNPCコマンドモジュールを用いて、前記環境内の前記NPCの行動及びアクションに影響を及ぼすために、個々のNPCにコマンドを提供することと、
プレイヤーCnCモジュールを用いて、個々のプレイヤーに命令及び制御(CnC)提案を提供することと、
前記プレイヤーCnCモジュールを用いて、離散的なユーザ入力を受信することと、
AI搭載型のエンジンを用いて、機能的境界条件のセットに従って、前記環境内でアクションのセットを実行するように、前記環境内の各NPCをトレーニングすることと、
前記複数のNPCに命令するように、前記AI搭載型のエンジンを用いて前記NPCモジュールをトレーニングすることと、
個々のプレイヤーアクションに従って、複数のCnC提案を学習するように、前記AI搭載型のエンジンを用いて前記プレイヤーCnCモジュールをトレーニングすることと、
学習された前記複数のCnC提案に従って、前記プレイヤーCnCモジュールによって受信された前記離散的なユーザ入力に基づいて、前記AI搭載型のエンジンを用いて環境内応答を推論することと、
を備える、環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項15】
前記ユーザに表示されるユーザインターフェースを更に備え、前記ユーザインターフェースは、
前記プレイヤーに環境内アクションを表示することと、
前記離散的なユーザ入力を取り込むことと、
取り込まれた前記離散的なユーザ入力を前記プレイヤーCnCモジュールに通信することと、
を行うように構成されている、請求項14に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項16】
前記AI搭載型のエンジンは、
前記環境の第1のコンテキスト状況に従って、第1の離散的なユーザ入力に対する第1の環境内応答を推論することと、
前記環境の第2のコンテキスト状況に従って、前記第1の離散的なユーザ入力に対する第2の環境内応答を推論することと、
を行うように更に構成されている、請求項15に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項17】
前記AI搭載型のエンジンは、前記環境のコンテキスト状況に従って、前記環境内応答を推論するように更に構成されている、請求項14に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項18】
各NPCをトレーニングすることは、
第1のNPCが第1のセットのアクションを実行するように教示される、第1の一連の反復を実行することと、
前記第1の一連の反復における各反復について成功の程度を決定することと、
より高いレベルの結果を得るために、前記AI搭載型のエンジンを用いて、以前の反復に対して前記第1の一連の反復における各反復についての前記成功の程度をランク付けすることと、
前記第1のNPCが前記第1のセットのアクションが条件とされている第2のセットのアクションを実行するように教示される、第2の一連の反復を実行することと、
前記第2の一連の反復における各反復について成功の程度を決定することと、
より高いレベルの結果を得るために、前記AI搭載型のエンジンを用いて、以前の反復に対して前記第2の一連の反復における各反復についての前記成功の程度をランク付けすることと、
を備える、請求項14に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項19】
前記第1の一連の反復及び前記第2の一連の反復は、様々なNPC属性に割り当てられたネガティブな値及びポジティブな値のセットによって制約される、請求項18に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項20】
前記NPCコマンドモジュールをトレーニングすることは、
前記第1のセットのアクション及び前記第2のセットのアクションに従って、第1の一連のイベントを実行することと、
前記第1の一連のイベントが条件とされている第1の一連の目的を実行することと、
を備える、請求項18に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項21】
前記AI搭載型のエンジンは、受信された離散的なユーザ入力を、前記第1の一連のイベント及び前記第1の一連の目的に含めるように更に構成されている、請求項20に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項22】
前記NPCコマンドモジュールをトレーニングすることは、前記環境の外部へのフィードバックを含むトレーニングメトリックを組み込むことを更に備える、請求項20に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項23】
前記プレイヤーCnCモジュールをトレーニングすることは、
第1の離散的なユーザ入力を受信することと、
現在の環境内状況を、前記NPCコマンドモジュールへとトレーニングされた既知の同様の環境内状況と比較することと、
前記現在の環境内状況に関連する利用可能な行動及びアクションのセットを決定することと、
前記利用可能な行動及びアクションのセットを、前記行動及びアクションのセットからの各行動及びアクションを生じさせるための既知の入力と比較することと、
受信された前記ユーザ入力に最も関連する各行動及びアクションを生じさせるための前記既知の入力に従って、所望の環境内応答を選択することと、
を備える、請求項14に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項24】
前記AI搭載型のエンジンは、選択された前記環境内応答のプレイヤーフィードバックを、前記既知の入力に組み込むように更に構成されている、請求項23に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項25】
前記プレイヤーCnCモジュールをトレーニングすることは、前記環境内応答の前記推論に後続して、前記環境内に代替視点を組み込むことを更に備える、請求項23に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【請求項26】
前記プレイヤーCnCモジュールをトレーニングすることは、前記環境の外部へのフィードバックを含むトレーニングメトリックを組み込むことを更に備える、請求項23に記載の環境におけるユーザ入力に対するAI搭載型の応答を提供するための方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
[0001]本願は、2019年6月14日に出願された米国仮特許出願第62/861,433号の利益を主張し、参照により当該出願の開示を組み込んでいる。
【背景技術】
【0002】
[0002]これまでのビデオゲーム業界では、AI(人工知能)という用語は、より正確にはノンプレイヤーキャラクター(NPC)及び環境と呼ばれるべきものを説明するために自由に使われてきた。従来、ゲームAIは、実際には、プログラマによって生成されたコードによって駆動されている間にアクションをシミュレートすることになる1つ又は複数のソフトウェアプロセスに基づく古典的なステートマシンであった。そのようなNPCキャラクターによって示される(manifested)行動は、極めて高度に複雑であり得るが、それらは、最終的にはゲームデザイナー及びプログラマの想像力によって支配され、それに制限される。対照的に、真のAIは、設計によって必ずしも想定されていなかった予測不可能且つ新しい行動を生成し得る。これは、ビデオゲームコンテキストのための優れたAIを作り出す上で、非常に大きな機会と課題との両方をもたらす。
【0003】
[0003]例えば、フライトシミュレーション及び戦闘タイプのゲームで使用されるゲームエンジンは、一般に、航空機、戦車、車、トラック、又は船等の、1つ又は複数の車両の既知の物理的特性と組み合わされた物理シミュレーションツールを使用して、特定のものがその自然環境を通る動き(例えば、航空機が空中をどのように飛行するか)を決定論的に計算する。十分に複雑なシミュレーションにより、ゲームエンジンは、航空機の単純な飛行をエミュレートし得るのみならず、飛行条件に対する天候又は湿気(moisture)の影響、航空機の性能に対する抗力又は重力の影響、及び航空機の全般的な行動に対する様々なレベルの損傷の影響等の、より高度に複雑な現象もシミュレートし得る。
【0004】
[0004]ゲームプレイ中、フライトシミュレーションゲームの現行のバージョンは、ジョイスティックの使用を通じてユーザから直接入力を取得するか、又はカーソルキー、マウスの動き、若しくは他の定義されたユーザ入力を用いて、ジョイスティックをエミュレートする。入力は、実際の航空機の制御システムの行動を厳密にエミュレートするために使用され、ヨークで動くか又は操縦桿で動くかにかかわらず、コントローラの左/右/上/下の動きは、操縦翼面(補助翼、方向舵、昇降舵)の動きに直接的に反映され(directly feeds into)、この入力は、結果を計算するための基礎として機能する。具体的には、ユーザから受信された制御入力は明示的であり、得られた結果は決定論的である。これらの従来技術のゲームでは、人工知能の一種が、いかなる物理シミュレーション又は直接制御入力も必要とせずに、ユーザがインタラクトする一般に空中の他の航空機であるNPCを動かすため、又はそれに命を吹き込むために使用されてきた。
【0005】
[0005]フライトゲームは、ビデオゲームで得られる最も複雑な体験を表し、多くの場合、高性能航空機を単純に操作し、向きを維持し、電力、温度、及び他の飛行エンベロープ条件を管理するために、ユーザによる多くの量のトレーニングを必要とする。また、この時間及びエネルギーの先行投資は、完全に習得するのは難しいかもしれないが、より早く覚えて楽しめる、より親しみやすいゲームに慣れ親しんだ新しいオーディエンスが、このようなゲームを継続的に楽しむ妨げにもなっている。
【0006】
[0006]ソフトウェア製品全般、特に、エンターテインメントソフトウェアでの新しい傾向は、ユーザができるだけ少ない労力で、より豊かでより満足できる体験をしたいと望んでいることである。これは、(ゲームがただ1つのボタンを繰り返し押すことを伴う)タッパー(tappers)及び(「攻撃」等の最小限の命令が与えられ、結果がアルゴリズム的に決定される)オートバトラー(auto-battlers)等の様々なジャンルのゲームを生じさせた。この傾向の究極の現れが、プレイヤーが完全に受動的であり、高いスキルのプレイヤーを見ることが魅力的なコンテンツを生み出す、ストリーミングコンテンツ及びeスポーツコンテンツの両方の消費における急速な拡大である。
【0007】
[0007]ゲームをプレイするための携帯電話及び他のポータブルコンピューティングデバイスの使用の増加に伴い、従来のジョイスティック及び他の高忠実度入力デバイスがあまり普及しなくなり、推論ベースの制御方法が必要とされるようになった。これは、クロスプラットフォームであるか、又はクロスプラットフォームでプレイされ得るゲームを使用する場合に特に当てはまる。公平性を保ち、複数のプレイヤーに同様の競争環境を提供するためには、たとえ制御デバイスの能力が大きく異なっていても、ゲームキャラクター及びオブジェクトの実際の能力が同じままであることが重要である。一例として、パーソナルコンピュータ上でプレイされるフライトゲームでは、最も一般的な制御機構は、ジョイスティックである。対照的に、同じフライトゲームを携帯電話でプレイしているプレイヤーは、ジョイスティックを持っていない可能性が高い。従って、電話画面インターフェースが主要な制御機構となり、ゲームもそれに応じて適合すべきである。
【0008】
[0008]従来技術のシステムは、画面上に仮想ジョイスティックを描き、ユーザが物理的なジョイスティックの代わりにそれを操作することを可能にすることによって、この問題を解決した。不都合なことに、これは、非常に不満足な体験を生じさせ、実際のジョイスティックを使用しているプレイヤーと比較して、携帯電話でのプレイヤーを圧倒的に不利な状態にする。このギャップを埋め、競技の場を同水準にし、制限されたコントローラを持つプレイヤーが、従来のコントローラを持つプレイヤーと同じ品質の制御を有することを可能にする解決策が必要とされている。
【発明の概要】
【0009】
[0009]本技術の様々な態様による、人工知能搭載型のユーザインターフェースのためのシステム及び方法が、最小限のプラットフォーム固有の離散的なユーザ入力(discrete user inputs)を受信し、最適なゲーム内(又は環境内)アクションを推論することが可能な人工知能システムを搭載したゲームエンジンを含む。ゲームエンジンは、ノンプレイヤーキャラクターと実際のプレイヤーとの両方について、既知の行動、予期される行動、又は予測される行動のセットを生成するようにトレーニングされ得る。次いで、ゲームエンジンは、1つ又は複数のイベントをプレイヤーに提示し、次いで、受信されたユーザ入力に基づいて、プレイヤー応答を推論し得る。ゲームエンジンはまた、プレイヤーの応答と、所定の目標のセットとの比較に基づいて、各推論の成功を計る(measure)ように構成され得る。
【0010】
[0010]本発明のより完全な理解が、以下の例示的な図と関連して考慮されるとき、詳細な説明を参照することで導き出され得る。以下の図では、同様の参照番号は、これらの図全体にわたって同様の要素及びステップを指す。
【図面の簡単な説明】
【0011】
図1】[0011]図1は、本技術の例示的な実施形態による、ユーザの意図を決定するために使用される推論プロセスのフローチャートである。
図2】[0012]図2は、本技術の例示的な実施形態によるAI搭載型のシステムのブロック図を代表的に例示する。
図3】[0013]図3は、本技術の例示的な実施形態による入力処理のフローチャートを代表的に例示する。
【発明を実施するための形態】
【0012】
[0014]本技術は、機能ブロック構成要素及び様々な処理ステップの観点から説明され得る。このような機能ブロックは、特定の機能を実行し、様々な結果を達成するように構成された任意の数の構成要素によって実現され得る。例えば、本技術は、様々なタイプのポータブルコンピューティングデバイス、ディスプレイシステム、通信プロトコル、ネットワーク、ソフトウェア/ファームウェア等を用い得る。加えて、本技術は、任意の数の電子デバイス及び通信ネットワークとともに実施され得、説明されるシステムは、本技術の例示的な応用例の1つに過ぎない。
【0013】
[0015]本技術の様々な態様による、人工知能搭載型のユーザインターフェースのためのシステム及び方法は、任意の好適なコンピューティングデバイス、通信ネットワーク、及びアプリケーション又はゲームサーバとともに動作(operate)し得る。開示されるシステムは、ユーザデバイス上にインストールされ得るか、又は、それは、リモートクラウドベースのアプリケーションサーバからユーザデバイスにストリーミングされ得る。本技術の様々な代表的な実装形態は、受信されたユーザアクションに対するコンテキストベースの応答を生成するように構成されたアプリケーション又はゲームに、ユーザアクションを通信するための任意のシステムに適用され得る。
【0014】
[0016]図1を参照すると、一実施形態では、人工知能搭載型のゲームエンジンが、ユーザデバイスからユーザ入力を受信し得る(102)。人工知能搭載型のゲームエンジンは、ユーザ入力の意図、即ち、所望のゲーム内応答を推論し得る(104)。人工知能搭載型のゲームエンジンは、ユーザ入力からユーザの不特定な意図(non-specific intent)又は過度に広く表現された意図を解釈し、高い価値の結果(high value outcome)を生成するように適合され得る。例えば、自律走行車の実施形態のコンテキストでは、ユーザの不特定な意図は、午後6時頃に縁石に乗り上げることを備え得、人工知能搭載型のエンジンは、ユーザがレストランに連れて行かれることを望んでいると推論し得る。ほぼ同時刻におけるユーザの以前の同様の入力に基づいて、人工知能搭載型のエンジンは、ユーザの実際の意図が、特定のイタリアンレストランに連れて行かれることであるとより具体的に推論し得る。ビデオゲームのコンテキストでは、ユーザは、ゲーム内の1つの動作主体(actor)を表し、NPCは、ゲーム内のその他の動作主体を表し得、従って、ゲームが、ジョイスティック、マウス、キーボード、ワイヤレスコントローラ、又はタッチスクリーン等のコントローラデバイスを介した、プラットフォーム固有の離散的なユーザ入力に応答しなければならない状況を作り出す。
【0015】
[0017]これを達成するために、人工知能搭載型のゲームエンジンは、ユーザ入力に関して行われる推論を進化させることが可能である。時間の経過とともに、人工知能搭載型のゲームエンジンは、行われる推論を生成するために使用されるプロセスにコンテキストアウェアネス(contextual awareness)を組み込み得る。例えば、人工知能制御システムは、マウス又は指のジェスチャ等の特定の入力が、特定の瞬間にゲーム世界内で実際には何を意味しているかを決定し、一方、ゲーム環境内の異なるコンテキスト下で、又は異なるユーザに対しては、その同じ入力を異なるように扱う能力を開発し得る。フライトシミュレーションの実施形態では、人工知能搭載型のゲームエンジンは、ディスプレイの右上側における指入力を、ユーザが飛行機をその大体の方向に(in that general direction)飛行させることを望んでいることを意味するものとして解釈し得る。しかしながら、プレイヤーが現在別の航空機を追いかけているか又は戦闘エリアに進入している場合、同じ指入力は、ユーザが特定の航空機と交戦することを望んでいることのインジケーションとして、人工知能搭載型のゲームエンジンによって解釈され得る。更に、プレイヤーが空中格闘戦等の戦闘状況のさなかにある場合、この指入力は、ユーザが航空機の銃又はミサイルをその方向に発射することを望んでいることのインジケーションとして、人工知能搭載型のゲームエンジンによって解釈され得る。
【0016】
[0018]次いで、人工知能搭載型のゲームエンジンは、この推論を命令のセットに変換し(106)、ゲーム環境内でそれらの命令を実行し得る(108)。実行された命令の結果は、次いで、ゲーム内のプレイヤーのアクションに反映され得る(110)。
【0017】
[0019]人工知能搭載型のゲームエンジンはまた、受信されたユーザ入力に応答するようにNPCに命令するように構成され得る。例えば、人工知能搭載型のゲームエンジンが、ユーザがNPCにより制御された航空機と交戦しているか、又はそれに向けて発射していると解釈した場合には、人工知能搭載型のゲームエンジンは、回避アクションを取るか、又は反撃するようにNPCに命令し得る。同様に、マルチプレイヤーゲーム環境では、人工知能搭載型のゲームエンジンは、1人のユーザの入力を解釈し、推論されたゲーム内応答を、そのユーザのチームに属している他のプレイヤーに伝達し得る。
【0018】
[0020]これを可能にするために、人工知能搭載型のゲームエンジンは、所定のオブジェクトの能力を理解するようにトレーニングされなければならない。例えば、携帯電話又はタブレット上でプレイされるフライトゲームでは、航空機を操縦する(flying)能力があり且つ操縦に優れている仮想パイロット等の第1のNPCが作成されなければならない。これは、人工知能搭載型のゲームエンジンが、以下に詳述されるようなトレーニングの複数のフェーズを経ることを必要とする。航空機を操縦することが可能な仮想パイロットがトレーニングされると、人工知能の追加の層が、プレイヤー/パイロットからの入力を分析し、携帯電話又はタブレットの画面上のかなり小さく且つ比較的曖昧なジェスチャによってプレイヤー(ユーザ)が何を意図しているのかを理解又は予測するように試みる。この場合も、人工知能搭載型のゲームエンジンは、プレイヤーの意図の適切でコンテキスト的に正しい予測を決定するために、トレーニングの複数のフェーズを経る。
【0019】
[0021]一実施形態では、人工知能搭載型のゲームエンジンがゲーム環境内のユーザの意図とNPCの行動との両方を正確に決定することを可能にするために、3つのレベルの人工知能トレーニングが協働する。次に、図2を参照すると、システム200は、NPCモジュール202と、NPCコマンドモジュール204と、ユーザデバイス210から入力を受信するプレイヤー命令及び制御(CnC:command and control)モジュール206と、を備え得る。システム200は、ユーザデバイス210上に存在し得るか、さもなければインストールされ得、又はそれはクラウドベースのアプリケーションサーバ上に存在し得る。
【0020】
[0022]NPCモジュール202は、ゲーム内のオブジェクトをどのように制御するかを学習する役割を担う。NPCモジュール202は、物理的な動作(motion)、アニメーション及びロジックを制御するためのデータ等の、NPCを制御するための任意の好適な情報又はデータを備え得る。NPCモジュール202はまた、NPCの能力又は行動を制限する、NPCに対する制約を備え得る。NPCモジュール202はまた、ゲーム環境内で動作する複数の個々のNPCを備え得、ここで、NPCモジュール202は、ゲーム環境内の各個々のNPCの動作及び動きを制約及び制御するように構成されている。
【0021】
[0023]例えば、第1の課題は、人工知能搭載型のゲームエンジン208が、任意の所定の動作について「成功」がどのようなものかを理解することである。目標は、「ポイントAからポイントBへ」行くという単純なものであっても、「20分以内にレベルをクリアする」という高度に複雑なものであってもよいが、目的は、制御のタイプと、開発の任意の段階で入手可能なフィードバックとを反映する必要がある。第1のトレーニング計画では、人工知能搭載型のゲームエンジン208は、ポイントAからポイントBまでナビゲートする等の目的をタスクとして課され得る。最初に、人工知能搭載型のゲームエンジン208は、ポイントAとポイントBとの間の最短経路を学習し得る。しかしながら、学習された経路が湖の中を通って歩くことを伴う場合には、人工知能搭載型のゲームエンジン208は、湖の中を通って歩くことが「ネガティブな」行動であるという制限を追加するように指示され得、トレーニングが再び実行される。人工知能搭載型のゲームエンジン208が、ネガティブな行動を低減又は回避し、ポジティブな行動を選択することを学習するまで、追加の反復が実行され得る。十分な回数の反復の後、人工知能搭載型のゲームエンジン208は、目的を達成するためのいくつかのオプションが存在することを学習し得、各オプションは、後の使用又は呼び戻し(recall)のために保存及び/又はランク付けされ得る。
【0022】
[0024]これは、無論、過度に簡略化された例ではあるが、ポジティブな値及びネガティブな値が、トレーニング中又はトレーニングの開始より前に、様々な属性に割り当てられ得る。例えば、ゲーム内の人間に関与するNPCの場合、定義により、どのように体が空間内で動き得るかについてある特定の制限を有する骨格が作成され得、その結果、骨格についての通常の屈曲を超えて曲がることは、ネガティブな値として示されるが、骨格の動きの「通常」パラメータ内に留まることは、ポジティブな値である。次いで、人工知能搭載型のゲームエンジン208は、どのようにNPCに歩くこと、走ること、這うこと、隠れること、又はその他任意の好適な動作を行わせるかを学習するために、これらのパラメータを使用し得る。
【0023】
[0025]NPCモジュール202はまた、NPCの能力を制限するために人工知能搭載型のゲームエンジン208によって使用される情報を備え得る。例えば、NPCは、体力(physical strength)、速度、又は正確さに関して制限を有し得る。この制限は、任意の所望の基準に従って変化し得る。一実施形態では、NPCは、それらがプレイヤーによって倒されることができないほどではないが、より高いレベルではより強力になることが許可され得る。このようにして、人工知能搭載型のゲームエンジン208は、プレイヤーと同様の速度で学習し得、難易度レベルが変化することをもたらす。対照的に、従来技術のNPCは、単に、ゲームの特定のレベルで出現するようにプログラムされ得、その結果、より強力なNPCは、プレイヤーが低レベルにある場合にはそれほど頻繁に出現しないが、プレイヤーがゲームを進めるにつれてより頻繁に出現し得る。
【0024】
[0026]別の実施形態では、プレイヤーがドラゴンを飛行させるゲームでは、人工知能搭載型のゲームエンジン208は、最初にドラゴンに飛ぶように教示しなければならない場合がある。例えば、ドラゴンがどのように15メートル/秒で飛行するかを直近で学習した後、人工知能搭載型のゲームエンジン208は、どのようにこの速度から別の速度に加速するかを探索するためにより多くの時間を費やし得るが、0メートル/秒でどうするべきかを学習することには時間を無駄にしない。
【0025】
[0027]一旦NPCモジュール202が空間内のオブジェクトを操作することが可能になると、NPCコマンドモジュール204は、各個々のNPCが従うべき戦略的又は戦術的な命令セットであると考えられるものを作成するようにトレーニングされなければならない。より具体的には、NPCモジュール202は、歩くためにキャラクターの脚を動かす、又は武器を発砲するために、キャラクターの(1つ又は複数の)腕を持ち上げる等の、より単純な機能又はアクションを扱う。一方、NPCコマンドモジュール204のトレーニング計画は、最初に基本的なゲームイベントの多数の実行サイクルを伴う。これらの基本が学習されるにつれて、NPCコマンドモジュール204のトレーニングは、NPCに特定の戦術上の目的を実行させることに向けて、徐々に構築されていく。戦術上の目的が学習されるにつれて、トレーニングは、より視覚的に魅力的又はドラマチックなシナリオを提供するために、NPCアクションへの高度な動き又はマニューバ(advanced moves or maneuvers)の組み込みを含むように進化し得る。トレーニングはまた、所定の条件について他のアクション又は提案よりも好ましくあり得るアクション又は提案のセット又はランク付けを形成するために、様々な動き、マニューバ、戦術、又は同様のものを互いに比較又はランク付けすることを含み得る。例えば、航空機におけるバレルロールは、回避マニューバ又はスタントに対しては高くランク付けされ得るが、追撃戦術又は攻撃としては低くランク付けされ得る。トレーニングが完了すると、NPCは、ゲームセッション全体を独立してプレイし得る。要するに、NPCモジュール202は、どこに行き、何を撃つかを選択するために、NPCコマンドモジュール204に依拠する。
【0026】
[0028]NPCコマンドモジュール204はまた、実際のプレイヤーのアクションをNPCのトレーニングへと統合するように構成され得る。これは、プレイヤーが上達し、初期トレーニング基準の一部ではなかったか、又はトレーニング中はより低く若しくはより高くランク付けされていたが、実際のゲーム内条件では異なるように働き得るアクションを取るにつれて、ゲーム自体が進化するのに役立ち得る。
【0027】
[0029]トレーニングの最終層は、プレイヤーCnCモジュール206であり、これは、離散的なユーザ入力を受信し、プレイヤーによって受信された離散的なユーザ入力に基づいて、適切なゲーム内応答を推論するために、NPCコマンドモジュール204によって開発されてきた様々な能力を調べる。プレイヤーCnCモジュール206は、NPCのトレーニングに基づいて所定のコンテキスト又はゲーム内状況においてプレイヤーに利用可能であるアクションの提案について、NPCコマンドモジュール204及びNPCモジュール202によって影響され得る。
【0028】
[0030]プレイヤーCnCモジュール206によって受信される入力は、プレイヤーによって使用されているコンピューティングプラットフォーム又はデバイスに従って変化し得る。一実施形態では、プレイヤーCnCモジュール206は、単にプレイヤーからタッチコマンドを受信し得る。次いで、人工知能搭載型のゲームエンジン208は、これらの最小限のプラットフォーム固有の離散的なユーザ入力に応答し、最適なゲーム内アクションを推論し得る。
【0029】
[0031]プレイヤーCnCモジュール206はまた、他のメトリックを考慮して、個々のプレイヤーの様々な能力を考慮するように構成され得る。例えば、難易度が高すぎる場合、特定のレベル又はタスクを乗り越えることができないという苛立ちに起因して、プレイヤーの定着率(retention)に影響が出る場合がある。同様に、ゲームがプレイヤーによって簡単すぎる又は単純すぎると受け取られた場合も、プレイヤーの定着率に影響が出る場合がある。従って、プレイヤーCnCモジュール206は、個々のプレイヤーの品質を評価するだけでなく、様々なタスクの複雑さ及び特定のタスクに対する個々のプレイヤーの適性も評価するように適合され得る。
【0030】
[0032]プレイヤーCnCモジュール206のトレーニングはまた、プレイヤーの定着率を維持又は改善することを目的とした他のファクタも含み得る。例えば、人工知能搭載型のゲームエンジン208は、ある特定のゲーム内アクティビティに応答してプレイヤーによって取られるアクションに関連するメトリックを提供され、より高い評価のアクションをポジティブな行動として関連付け、より低い評価のアクションをネガティブな行動として関連付け得る。例えば、ゲームが、メインターゲットの破壊等の何らかのゲーム内アクションの「リプレイ」をプレイヤーが見ることを可能にする場合、プレイヤーCnCモジュール206は、全てのプレイヤーにわたって所定のリプレイが達成する発生回数を記録し得る。ある特定のリプレイが他のリプレイよりも頻繁に見られているか、又はより高い評価を受けている場合には、そのリプレイは、後続のトレーニング中に人工知能搭載型のゲームエンジン208による使用のためにより高いスコアを与えられ得る。
【0031】
[0033]トレーニングメトリックに含まれ得る追加のファクタはまた、ゲーム環境の外部へのフィードバックを含み得る。このフィードバックは、プレイヤーの関与、又はゲームの収益化に影響を及ぼす要素等の任意の所望の基準に関連し得る。ゲーム内の特定のイベント又はアクションに対するプレイヤーの反応も、トレーニングメトリックとして使用され得る。これらの基準は、プレイヤーCnCモジュール206とNPCコマンドモジュール204との両方のトレーニングへの入力として使用され得る。
【0032】
[0034]プレイヤーCnCモジュール206はまた、プレイヤーのゲームの楽しみを増大させるために、ゲームプレイ中に視点を調整するようにトレーニングされ得る。例えば、所定のゲームの大部分は、プレイヤーのパースペクティブから見ることができる。このパースペクティブは、別の角度又はパースペクティブからの視点を提供するために、ゲームプレイ中のある特定のポイントで変更され得る。一例として、プレイヤーが敵を攻撃することを選択し、ミサイルを発射した場合、ユーザデバイスの画面上の視点は、攻撃が行われるにつれて、敵の視点を示すように変化し得る。代替として、ユーザデバイスの画面上の視点は、攻撃全体を見ることができるように、三人称視点に変化し得る。
【0033】
[0035]任意の所定のアクションの評価は、プレイヤーの任意の変化する意見又は態度(views or attitudes)を考慮に入れるために、各評価がリアルタイムで又は所定の間隔で調整され得るという点で、非静的であり得る。これは、早い段階で多数の高評価を受けたアクションが、それがプレイヤー間で人気がなくなった場合に、時間の経過とともにいくらかの地位を失うことを可能にし得る。
【0034】
[0036]動作中、プレイヤーCnCモジュール206は、ゲームプレイ中にプレイヤー/ユーザからの入力を受信する。プレイヤー入力は、任意の好適なタイプの入力を備え得、能動的な形態の入力であり得るか、又は受動的な入力であり得る。一実施形態では、プレイヤー入力は、ゲームプレイ中に意図を表現するように意図された、ユーザデバイス210上で行われる、アクティブジェスチャ、動作、タッチコマンド、音声コマンド、又は他の同様のアクションを備え得る。例えば、能動的な入力の一形態が、ユーザが飛行機をその大体の方向に飛行させることを望んでいることを示すために、プレイヤーがフライトシミュレーションゲーム中にディスプレイの右上側をタッチすることを備え得る。同じフライトシミュレーションにおいて、スワイプジェスチャは、プレイヤーが、飛行又は移動の大体の方向を変更しないままで、ジェスチャの方向に視野を移動させることを望んでいることを示し得る。同様に、プレイヤーは、入力の一形態としてコンピューティングデバイスを傾ける若しくは回転させるか、又は音声コマンドを使用し得る。
【0035】
[0037]代替の実施形態では、ユーザ入力は受動的であり得、代わりに、コンテキストルール又はパラメータのセットに従って生成され得る。例えば、自律走行車を制御する又は呼ぶ(hail)ために使用されるアプリケーションでは、プレイヤーCnCモジュール206は、ユーザが地元のコーヒーショップに連れて行かれることを望んでいることのインジケーションとして、ユーザが午前6:30に路側に沿った縁石に向かって踏み出すことを、入力として認識し得る。ユーザがワイヤレスにフェンスで囲まれた領域(wirelessly fenced region)を通って歩く等の別の受動的な動きは、ユーザが店舗内にいる間に収集し得た任意のアイテムに対して支払うことを望んでいることのインジケーションであり得る。
【0036】
[0038]人工知能搭載型のゲームエンジン208は、これらの入力を、受信された入力に基づいてゲーム内応答を推論することによって、又は受信された入力に従って適切な現実世界の応答を開始することによって、ゲームプレイを進めるために使用する。これは、所定の入力が、変化するゲーム内条件に依存して、異なるゲーム内応答をもたらすことをもたらし得る。
【0037】
[0039]フライトシミュレーションの実施形態に戻ると、ゲーム環境内の1つのコンテキスト又は状況では、人工知能搭載型のゲームエンジン208は、指入力を、プレイヤーが飛行機をその大体の方向に飛行させることを望んでいることを意味するものとして解釈し得る。ゲーム環境内の別のコンテキスト又は状況では、同じ指入力が、どのようにプレイヤーCnCモジュール206がトレーニングされたかに基づいて、又は以前の同様のゲーム状況における所定のユーザの実際の所望の意図に基づいて、ユーザが、特定の航空機と交戦すること、その方向に自身の航空機の銃又はミサイルを発射すること、航空機の飛行隊に加わること、空中格闘戦から離脱すること、又はその他任意の好適な応答を望んでいることのインジケーションとして、人工知能搭載型のゲームエンジン208によって解釈され得る。
【0038】
[0040]人工知能搭載型のゲームエンジン208は、最小限の入力のみで、ゲームプレイ中に任意のタスク、スキル、又はアクションを実行する能力をプレイヤーに提供する。これにより、プレイヤーは、ゲームをプレイするために、スキルを習得する、又は追加の入力デバイスを使用する必要なしに、ゲームを楽しむことが可能になり得る。
【0039】
[0041]例えば、ここで図3を参照すると、ゲームにおいて、プレイヤーは、ゲーム内の自身のキャラクター300にアクションを実行させることを意図した入力を提供し得る。その入力は、プレイヤーCnCモジュール206に通信され、人工知能搭載型のゲームエンジン208は、プレイヤーの意図を推論し得る。次いで、その意図は、NPCコマンドモジュール204に通信され、そこで、意図は、ゲーム環境内での一連の動き、攻撃シーケンス、また他の同様のアクション等の、アクションのセットに変換され、これらは、NPCモジュール202に通信される。次いで、NPCモジュール202は、プレイヤーのキャラクター300に意図されたアクションを実行させるために、ゲームプレイ中にゲームを動作させるために使用される通常のゲームエンジンに信号を送り得る。
【0040】
[0042]図示及び説明された特定の実装形態は、本技術及びその最良の形態を例示するものであり、本技術の範囲をいかなる形でも限定することを別様に意図するものではない。実際、簡潔にするために、このシステムの従来の製造、接続、準備、及び他の機能的側面は、詳細に説明されていない場合がある。更に、様々な図に示される接続線は、様々な要素間の例示的な機能的関係及び/又はステップを表すことが意図される。多くの代替又は追加の機能的関係又は物理的接続が実際のシステムには存在し得る。
【0041】
[0043]前述の明細書では、本技術は、特定の例示的な実施形態を参照して説明された。しかしながら、様々な修正及び変更が、特許請求の範囲に記載された本技術の範囲から逸脱することなく行われ得る。本明細書及び図は、限定的ではなく例示的なものであり、修正は、本技術の範囲内に含まれることが意図される。従って、本技術の範囲は、単に、説明された例によってではなく、特許請求の範囲及びそれらの法的な同等物によって決定されるべきである。
【0042】
[0044]例えば、任意の方法又はプロセスの請求項において記載されるステップは、任意の順序で実行され得、特許請求の範囲において提示される特定の順序に限定されない。加えて、任意の装置の請求項に記載される構成要素及び/又は要素は、様々な並べ換えで組み立てられ得るか、又は別様に動作的に構成され得、従って、特許請求の範囲に記載される特定の構成に限定されない。
【0043】
[0045]利益、他の利点、及び問題への解決策が特定の実施形態に関して上記で説明されてきたが、任意の利益、利点、問題への解決策、又は任意の特定の利益、利点、若しくは解決策を生じさせるか、あるいはより明白にさせ得る任意の要素は、任意の又は全ての請求項の重要な、必須の、又は不可欠な特徴又は構成要素であると解釈されるべきではない。本明細書で使用される場合、「備える(comprise)」、「備える(comprises)」、「備える(comprising)」、「有する(having)」、「含む(including)」、「含む(includes)」という用語又はそれらの任意の変形は、要素のリストを備えるプロセス、方法、物品、構成、又は装置が、記載されているそれらの要素のみを含むのではなく、そのようなプロセス、方法、物品、構成、又は装置に固有である又は明白にリストに記載されていない他の要素も含み得るように、非排他的な包含を参照するよう意図されている。本発明の実施に際して使用される上記で説明された構造、配置、アプリケーション、割合、要素、材料、又は構成要素の他の組合せ及び/又は修正は、具体的に記載されていないものに加えて、変更され得るか、さもなければ、これらの一般的な原理から逸脱することなく、特に、特定の環境、製造仕様、設計パラメータ、又は他の動作要件に適合され得る。
図1
図2
図3
【国際調査報告】