专利摘要:
一実施形態では、本発明は、ゲームの人工知能(AI)キャラクタが見ることができるコンピュータゲームのシーンの変形可能なオブジェクトを特定する段階と、AIキャラクタによる変形可能なオブジェクトに対する少なくとも1つの動作の結果を判断するべく、変形可能なオブジェクトに関する少なくとも1つの投機的物理シミュレーションを要求する段階と、AIキャラクタがとるべき動作を、投機的物理シミュレーションに少なくとも部分的に基づいて選択する段階とを備える方法を含む。他の実施形態も記載され請求されている。A
公开号:JP2011513009A
申请号:JP2010549945
申请日:2009-03-20
公开日:2011-04-28
发明作者:クンゼ、アロン;プッゾル、デーヴィッド;モリソン、テレサ
申请人:インテル・コーポレーション;
IPC主号:A63F13-00
专利说明:

[0001] コンピュータゲームの分野では、コンピュータに制御される実体の動作を統括するべく人工知能(AI)が含められる場合がある。ビデオゲームにおけるAIの例としては、AIの実体が有限状態マシンまたは目的に基づく計画を利用してゲーム内の目的を達成して、知能の錯覚を起こさせるような計画、AIにより制御される実体が経路発見アルゴリズムを利用して環境をナビゲートして所望の地点に到達する経路発見、および、AIにより制御される実体がしばしば自身の動きを他人の動きに基づいて調節するステアリングが含まれる。AI技術の適用により、コンピュータゲームは、知能の錯覚および興味深い目標をプレーヤに提示し、ビデオゲームの成功の決定要因になりうる非人間実体を含むことができるようになる。]
[0002] コンピュータゲームでは物理シミュレーション(以下、「物理」と称する)も利用される。ゲームにおける物理は、オブジェクト間の衝突を検出したり、衝突の反応(反発、融合、粉砕)を制御したりする行動、流体の流れのシミュレーション(例えば、河川を含む環境または流体を利用する武器を示す目的から)、衣類シミュレーション(着衣または武装する人または生き物のリアリティを高める目的から)武器物理(軌道シミュレーション、爆発シミュレーション)、その他様々なトピックを含む。より最近のビデオゲームへの物理応用には、オブジェクトを物理で操作できるような変形可能な世界というコンセプトが含まれるようになってきている。変形可能な世界では、オブジェクトの幾らかまたは全てを物理的特性により記述し、プレーヤとオブジェクトとの相互作用により、ゲーム環境を変化させ、操作することができる。このような変形可能な世界の物理が可能とする事例には、ドアを通るのではなく壁に穴を開けること、あるいは、武器を発射させるのではなく環境内に見つかる椅子を投げつけること等が含まれる。]
[0003] しかし、物理もAIも双方とも、ビデオゲームにおいてコンピュータを集中的に利用する傾向にある。現在のゲームの物理は、毎秒10−100x109浮動小数点演算を消費し(GFLOPS)、将来のゲームは、体積流体(volumetric fluid)等の多くの環境物理特性をサポートするためにこれ以上のコンピュータリソースを消費することが見込まれる。さらに、物理およびAIを実装するソフトウェアは、コードの複雑性(分岐、不定期/非ストリーミングメモリアクセス)およびデータの複雑性(高度なデータ構造の利用)両面から、複雑な場合が多い。一般的には、物理サブシステムおよびAIサブシステムは、相互作用はしない。]
図面の簡単な説明

[0004] 本発明の一実施形態における予めプログラミングされた潜在的な動作の例示的なグラフである。
本発明の一実施形態における例示的なグラフを示す。
本発明の一実施形態における方法のフロー図を示す。
本発明の一実施形態における1以上の投機的物理シミュレーションを行う方法のフロー図を示す。
本発明の一実施形態におけるシステムのブロック図である。]
実施例

[0005] 実施形態は、ビデオゲーム等のコンピュータベースのゲームにおいてAIと物理とを組み合わせることに利用可能である。より詳しくは、これら異なる技術を、AIが達成を希望する一定の目的(例えばプレーヤの殺人)を有する目的指向のAIというコンセプトと、変形可能な世界の物理の投機的実行(例えば壁を撃つことによりプレーヤの上に建物が倒れるか否かを評価すること)を組み合わせる等により組み合わせることができる。ゲーム物理およびAIの場合に、目的指向のAIシステムは、このように、物理指向の変形可能な世界を、可能性ある動作の一般的な(状況に応じた、または予めプログラミングされたものではない、という意味)レパートリに加えることができる。従って設計者が常に物理環境の変形可能性によりAI実体に与えられる全てのオプションを予期する必要があるのではなく、AI実体が、変形可能なオブジェクトと投機的に相互作用することによりオプションを動的に発見する機能を有するようになる。本明細書で利用される「AI実態」または「AIキャラクタ」という称呼は、AIシステムが制御するゲーム環境に存在するアクタまたはその他のエージェントを表す。]
[0006] AI指向の発見の一例では、AIシステムは、壁を撃つことで、プレーヤが衝突により死ぬか否か、ベンチを押すことがプレーヤを捕まえる新たな方策となりうるか、あるいは、爆弾の爆発によりプレーヤの通過を妨げることができるか、等を決定することができる。これにより、さらに、変形可能な世界の物理機能を有効利用することが可能となり、同時に、AIの創造性が豊かになり、AIキャラクタの知性をプレーヤに与えたかのように見えるようになる。]
[0007] これに対して、今日の殆どのビデオゲームでは、AIおよび物理は、比較的限定された様式で利用されている。通常AIは、状態に基づく、あるいは、非常に限定された目的指向の行動をとる。さらに、AIキャラクタが利用可能なオプションは、設計者により記述される必要がある。これは労力がかかるプロセスであり、且つ、設計者が静的に生成する環境との相互作用にAIを限定するプロセスである。従って、現在のゲームのAIは、世界の変形の可能性を提供する場合もあるが、このような可能性はゲームの設計者により手動で予めプログラミングされている現状である。例えば、AIキャラクタが窓から侵入して部屋に入るというオプションは、設計者がこのオプションを明示的にAIアルゴリズムに追加しているときに限って可能となる。通常このようなオプションは、試みることのできる特定のオブジェクトまたは動作のリストのみを含む。さらに、現在のコンピュータゲームは、プレーヤが動作して、物理シミュレーションによりその結果をモデリングするという反応性の物理を利用している。しかしこのようなゲームでは、目的指向のAIと投機的物理実行との組み合わせが利用できない。本発明の一実施形態を利用してこれら2つの技術を組み合わせることにより、ゲームがプレーヤにとってよりチャレンジングで、且つ面白いものになり、ゲームの設計者が必要な作業量を低減させることができ、AIの機能を増やすことで、設計者も予期しない方法で物理環境を有効利用できるようになる。]
[0008] 多くの実装例が可能であるが、一実施形態を一例として示す。本例示的な実施形態では、目的指向の計画を利用して、設計者がゲーム開発中に、AIキャラクタがとりうる動作とその可能性ある結果を示す潜在的な動作のグラフを作成する。これを利用することでAIキャラクタの目的が達成される。]
[0009] 図1Aは、予めプログラミングされた潜在的な動作を示す例示的なグラフを示し、ここでの目的は、ドアの壁の反対側のスイッチを押すことである。図1Aでは、ノードは、AIキャラクタがとりうる状態であり、エッジはAIキャラクタがとりうる動作を示す。エッジは、さらにコスト値とともに示されており、AIキャラクタの特定の動作に対する嗜好性を示す。従って図1Aの潜在的な動作のグラフ10は、AIキャラクタがとりうる状態をそれぞれ示す複数のノード20、25、および35を含む。特に、状態20は、ドアを開けた後のAIキャラクタの位置および状態に関しており、ノード25は、ドアを蹴り倒した後のAIキャラクタの状態および位置に関しており、ノード35は、AIキャラクタがスイッチを押した後であってよい。一実施形態では、AIサブシステムは、グラフから目的までの最も低いコストの経路を探し、計画を実行する。例えばドアが施錠されている場合、AIはこれに気づいて、計画を練り直す。図1Aの実施形態では、括弧内の数値が各動作のコストを示している。] 図1A
[0010] 本発明の一実施形態を利用すると、この予めプログラミングされたグラフを、AIシステムから物理システムへのクエリにより提供されるオプションにより動的に強化することができる。例えば上述のシナリオでは、壁の幾らかの部分をレンガの積層として、爆発で操作可能な状態にモデリングすることができる。設計者からの入力がない場合、AIシステムは、キャラクタから見ることのできる全ての変形可能なオブジェクトを動的にレイキャストすること(raycast)により特定することができる。オブジェクトが見つかると、投機的物理シミュレーションを行って、例えばロケット発射によりオブジェクトを射撃した結果、AIキャラクタが目的を達成できるか否かを判断することができる。このオプションが利用可能であった場合には、図1Aは、図1Bのグラフに類似するよう強化されうる。] 図1A 図1B
[0011] より具体的には、図1Bは、本発明の一実施形態による潜在的な動作のグラフを示す。グラフ10では、さらなる状態40が存在している。このさらなる状態40は、ゲームのランタイム中に動的に追加されうる。つまり、AIサブシステムは、自身の存在する環境を見て、変形可能なオブジェクト(例えば壁)の存在を判断し、物理サブシステムに対する要求を生成して、投機的物理シミュレーションを行わせ、ある動作(例えば壁に向けてロケット発射を行うこと)の結果、所望の結果が生じるか否か(つまり、壁またはその一部を打破して、AIキャラクタが最終目的を達成することができるか否か)を判断させることができる。従って、図1Bのグラフ10'は、図1Aのグラフ10のものに等しい予めプログラミングされたオプションから始めてこのグラフをAIサブシステムが要求する1以上の投機的物理シミュレーションの結果に基づいて更新することで、ランタイム中に動的に生成される。このようにして、この強化されたグラフによって、設計者が明示的にその全ての可能性ある動作を記述する必要なく、AIキャラクタが様々な方法で環境と相互作用することができるようになる。図1Bの実施形態では、壁に向けたロケット発射のコストは、他の潜在的な動作のものよりも高い場合がある。幾らかの実装例では、このような投機的動作に伴うコストは、設計者が決定することもできる。例えば、全てのロケット発射は、設計者がAIキャラクタに対してより繊細な方法を望む場合には、乱闘よりも高い一定のコストを付すことができる。他の実装例では、コストを物理サブシステムにより生成することもできる。例えば、特定の重量のブロックを押す際に加えられる動作を利用して、AIキャラクタに、より小さい物理動作を嗜好させることができる。] 図1A 図1B
[0012] 図2は、本発明の一実施形態による方法のフロー図を示す。図2に示すように、方法100がランタイム中にAIサブシステムにより利用されることで、1以上の投機的物理シミュレーションの結果を要求して取得して、この結果を、とるべき動作の決定に利用することができる。図2のフロー図はゲーム実行中のランタイムに関するが、実施形態は、ゲーム開発の設計段階中に利用されてもよい。従って以下に示すように、AIサブシステムは、ゲームのプロトタイプの実行中に図2に示すものに類似した方法で動作することで、変形可能なオブジェクトに対してとりうる様々な潜在的な動作を決定して、投機的物理シミュレーションの結果に基づいてゲームの設計者が1以上の潜在的な動作を予めプログラミングされた動作の選択肢に組み込むという選択ができるようにしてよい。] 図2
[0013] 図2の方法100は、AIキャラクタが見ることのできる変形可能なオブジェクトを特定する要求を発行することから始まる(ブロック110)。様々な実施形態では、ゲーム実行中にAIサブシステムは、AIキャラクタが環境に入ると、AIキャラクタが見ることのできる1以上の変形可能なオブジェクトの存在を判断することができる。これら変形可能なオブジェクトの少なくとも1つまたはこれより潜在的に多い数または全てについて、AIサブシステムは、これら変形可能なオブジェクトの1以上に対して行われるべき投機的動作の投機的物理シミュレーションの要求を生成することができる(ブロック120)。このようにしてAIサブシステムは、これら要求を、以下に詳述するように投機的物理シミュレーションを実行することのできる物理サブシステムに対して送る。] 図2
[0014] ブロック130で、シミュレーション結果が物理サブシステムから受信されてよい。任意の投機的動作が所望の結果を生じさせること(例えば壁を蹴り倒すこと、バリアを構築すること、または、その他所望の動作を生じさせること)に成功するか否かを示しうるこれらの結果に基づいて、これら結果を潜在的な動作のグラフに組み込むことができる(ブロック140)。例えば、図1Bに戻ると、投機的物理シミュレーションの結果に基づいて、AIサブシステムはさらなるノード40を追加して、グラフ10を作成することができる。このグラフに基づいて、潜在的な動作(グラフに示すもの等)のうちの1つが選択されうる(ブロック150)。より具体的には一実施形態では、AIサブシステムは、実行する際のコストが最も低い動作を選択することができる。最後に、ブロック160で、選択された動作を実行することができる。本発明の範囲は図2の実施形態におけるこの特定の実装例に限定はされず、AIサブシステムは上述した方法とは異なる投機的物理シミュレーションの結果を要求および利用することもできる。] 図1B 図2
[0015] 投機的物理シミュレーションの実行は演算上高価なものとなりうる。従って幾らかの実施形態では、全投機的物理シミュレーションの分散(variance)を実行することで複雑度を下げ、幅広いゲームシナリオおよびハードウェア環境での動作を可能とすることができる。これら分散(variant)には、オブジェクトを実際にゲームで動作させる物理と比べて精度の劣る投機的物理シミュレーションを実行すること、投機的物理シミュレーションを行うときの処理時間を制限すること(例えば、この種類のシミュレーションは50%未満等の所定のレベルの処理帯域幅に限定されることがある)、および、オブジェクトがAIキャラクタの視界からどのくらい遠くにいるかに応じて物理シミュレーションの優先順位を決めること、等が含まれる。ここで、別個の投機的物理シミュレーションが完全に独立して動作可能であるので、多数の同時シミュレーションを並行して行うこともできる点に留意されたい。]
[0016] 上述したように、投機的物理シミュレーションに関して様々な最適化を行うことで演算上の複雑度を低減させる等の効果が可能となる。図3は、本発明の一実施形態における1以上の投機的物理シミュレーションを行う方法のフロー図を示す。図3の方法200は、1以上の投機的物理シミュレーションについての要求を受信することから開始されてよい(ブロック210)。次に、物理サブシステムは、AIキャラクタと変形可能なオブジェクトとの間の距離に基づいてこれらシミュレーションの優先順位を決めてよい(ブロック220)。例えば、幾らかの要求が受信され、このうち少なくとも1つの要求がAIキャラクタの視野内にある多数の変形可能なオブジェクトの各々に関連していると仮定する。優先順位決定を行うべく、物理サブシステムは、物理シミュレーションを行う際に最も近いオブジェクトを選択することができる。少なくとも、物理サブシステムは、最も近いオブジェクトを最初に分析するようシミュレーションの順位付けを行うことができる。] 図3
[0017] 図3では次に、各シミュレーションに対して、該シミュレーションを行うのに足るリソースが存在するかを判断してよい(ダイアモンド230)。例えば一実装例では、シミュレーションを複数並列に行い、個々を任意のプロセッサの多数のコアまたは他の処理部に対して提供することができる。あるシミュレーションに対して利用可能なリソースがない場合には、方法はそのシミュレーションについて終了してよい。一方リソースが利用可能である場合には、制御はブロック240に移り、動作をシミュレーションして、物理モデルを生成することができる(ブロック240)。例えば、物理モデルの実装により、統合段階および衝突検出段階を実行することができる。統合段階では、変形可能なオブジェクトおよび/または他の本体を移動させ、この統合段階中の1以上の時点において、衝突検出を行って、2つの本体が衝突したか否かを判断することができる。利用可能なリソース量に基づいて、これら統合段階および衝突検出段階を異なる粒度で行うことができる。シミュレーションが完了すると、変形可能なオブジェクトの特定および投機的結果(例えば壁が打破されたか等)に相当していてよいシミュレーション結果をAIサブシステムへ戻してよい(ブロック250)。そして、さらに行うべきシミュレーションがある場合には、制御を前述したダイアモンド230に戻してよい。本発明の範囲は、図3の実施形態のこの特定の実装例には限定されない。] 図3
[0018] 上述したように、実装例の幾らかにおいては、AIおよび物理シミュレーションの組み合わせは、ゲームの設計段階中に行うこともできる。より詳しくは、最初のプログラミングが終わりプロトタイプのプログラムが実行用に利用可能となってから、このプロトタイプまたは確認実行段階で、AIサブシステムは1以上の投機的物理シミュレーションの実行を試みて、可能性のある動作の潜在的な結果を判断することができる。これら投機的物理シミュレーション結果は、その後、ゲーム設計者により分析されてよい。この結果に基づいて、ゲーム設計者は、潜在的な動作のグラフに組み込むべく、1以上の潜在的な動作を選択することができる。従ってこの投機的動作に基づいて、AIキャラクタが利用可能な予めプログラミングされた動作一式に対して、1以上のさらなる潜在的な動作をプロトタイププログラムへの修正または更新として含めることができる。図1Bに戻ると、さらなるノード40が、ゲームのプロトタイプ動作中に実行される投機的物理シミュレーションに基づいて図1Aのグラフ10等の予めプログラミングされたグラフに追加されてよい。] 図1A 図1B
[0019] 従って本発明の様々な実施形態を利用すると、ゲーム実行中にAIキャラクタは、設計者が記述してゲームに組み込む予めプログラミングされた決定に基づいて複数の潜在的な動作から選択を行うことができる。またさらに、さらなる潜在的な動作を、ゲーム開発中にAIサブシステムが生成する潜在的な決定に基づいて行うことができる。このプロトタイプのゲーム実行中に、潜在的な決定を含む結果を受信すると、AIサブシステムは、ゲーム設計者が予めプログラミングした1以上の潜在的な動作を既に含んでいる潜在的な動作のグラフを更新することができる。このプロトタイプの動作モードでは、一実装例のプロトタイプゲームは、グラフに対する任意のさらなる潜在的な決定を、後にゲーム設計者がアクセス可能なトレースキャッシュまたは他の格納位置に保存するよう、制御されてよい。またさらに、幾らかの実装例では、コストが静的に定義された動作のものより大きい場合であっても、これら動的に更新される潜在的な動作の1以上をAIキャラクタによる実行用に選択するよう、プロトタイプのゲーム実行を制御することができる。この実行結果もトレースキャッシュまたは他の記憶装置に保存することにより、ゲーム設計者がゲーム実行を見直す際、潜在的な動作のグラフにこれら動作を予めプログラミングすることが望ましいかを判断することができる。従って、この動作に基づき、これら潜在的な決定がゲーム開発中に設計者により選択されて、ゲームの最終版に予めプログラミングすることができるようになる。]
[0020] 最後に、様々な実施形態では、ランタイム動作中に、AIサブシステムは、物理サブシステムに、ランタイム中に自動的に1以上の投機的物理シミュレーションを要求することができる。これら潜在的な動作に関する結果は、実行される潜在的な動作のグラフに追加することができる。従って、AIキャラクタはランタイム中にこれら動的に追加された動作のいずれかを選択して、ユーザに対するゲームの現実感を向上させることができる。]
[0021] 実施形態は、多くの異なる種類のシステムで実装可能である。図4は、本発明の一実施形態におけるシステムのブロック図である。図4のマルチプロセッサシステム500は、ポイントツーポイントインターコネクトシステムであり、ポイントツーポイントインターコネクト550で連結された第1のプロセッサ570および第2のプロセッサ580を含む。図4に示すように、プロセッサ570および580の各々は、第1および第2のプロセッサコア(つまり、プロセッサコア574aおよび574b、およびプロセッサコア584aおよび584b)を含むマルチコアプロセッサであってよいが、これより多い数のコアがプロセッサに存在していてもよい。各プロセッサコアは、インタープロセッサ通信ネットワークにより連結されたコヒーレントな幅広いベクトル処理部およびキャッシュメモリを有するインオーダのプロセッサ(in-order processor)であってよい(図4には不図示)。さらに、幾らかの実施形態では、プロセッサ570および580はさらに、一実施形態では1以上の専用物理処理部を含み、投機的物理シミュレーションを行うよう適合させることができる固定機能コプロセッサを含むことができる。しかし多くの実装例では、投機的物理シミュレーションは、本発明の一実施形態により選択された1以上の(例えば1つのサブセットの)プロセッサコア上で実行されてよい。従って実施形態は、多くのコアを含む環境を有するアーキテクチャを有効利用して、高速投機的物理シミュレーションを、1以上のプロセッサコアで実行されるAIサブシステムが制御するAIキャラクタとの関連で実行することができる。] 図4
[0022] 図4の第1のプロセッサ570はさらに、メモリコントローラハブ(MCH)572とポイントツーポイント(P−P)インタフェース576および578とを含む。同様に、第2のプロセッサ580は、MCH582とP−Pインタフェース586および588とを含む。図2に示すように、MCH572および582は、プロセッサそれぞれにローカルに添付されるメインメモリ(例えばDRAM)の一部でありうるそれぞれのメモリ(メモリ532およびメモリ534)にプロセッサを連結する。第1のプロセッサ570および第2のプロセッサ580は、P−Pインターコネクト552および554を介してチップセット590に連結されてよい。図4に示すように、チップセット590はP−Pインタフェース594および598を含む。] 図2 図4
[0023] さらにチップセット590は、P−Pインターコネクト539により、チップセット590を高性能グラフィックスエンジン538に連結するインタフェース592を含む。そして、チップセット590は、インタフェース596を介して第1のバス516に連結されてよい。図4に示すように、様々な入出力(I/O)デバイス514が、第1のバス516を第2のバス520に連結するバスブリッジ518とともに、第1のバス516に連結されてよい。一実施形態では、例えばキーボード/マウス522、通信デバイス526、および、コード530を含んでよいディスクドライブまたは他の大容量記憶デバイス等のデータ記憶ユニット528を含む様々なデバイスが、第2のバス520に連結されてよい。さらに、音声入出力524が第2のバス520に連結されてよい。] 図4
[0024] 実施形態は、コードによる実装が可能であり、システムを、命令を行わせるようプログラミングに利用されうる命令を格納する記憶媒体上に格納することができる。記憶媒体は、フロッピー(登録商標)ディスク、光学ディスク、CD−ROM、CD−RW、および光磁気ディスク等の任意の種類のディスク、ROM、DRAM等のRAM、SRAM、EPROM、フラッシュメモリ、EEPROM(登録商標)、磁気または光学カードを含む半導体デバイス、または電子命令を格納するのに適した任意の他の種類の媒体を含みうるがこれらに限定はされない。]
[0025] 本発明を限られた数の実施形態に関して記載してきたが、当業者であれば多数の変形例および変更例について想到することができる。添付請求項はこれら全ての変形例および変更例を本発明の真の精神および範囲内に含むことを意図している。]
权利要求:

請求項1
コンピュータゲームの人工知能キャラクタ(AIキャラクタ)が見ることができる前記コンピュータゲームのシーンの変形可能なオブジェクトを特定する段階と、前記AIキャラクタによる前記変形可能なオブジェクトに対する少なくとも1つの動作の結果を判断するべく、前記変形可能なオブジェクトに関する少なくとも1つの投機的物理シミュレーションを要求する段階と、前記AIキャラクタがとりうる複数の動作のうち1つの動作を、前記少なくとも1つの投機的物理シミュレーションに基づいて選択する段階とを備える方法。
請求項2
各アクションに関するコストに少なくとも部分的に基づいて前記複数の動作から前記1つの動作を選択する段階をさらに備える請求項1に記載の方法。
請求項3
複数の投機的物理シミュレーションを要求する段階をさらに備え、前記複数の投機的物理シミュレーションの優先順位の決定は、対応する変形可能なオブジェクトと前記AIキャラクタとの間の距離に基づく請求項1に記載の方法。
請求項4
第1の精度を有するシミュレーションモデルを用いて前記少なくとも1つの投機的物理シミュレーションを行う段階をさらに備え、前記第1の精度は、前記変形可能なオブジェクトの実際の動きに対して行われるシミュレーションモデルの第2の精度よりも低い請求項1に記載の方法。
請求項5
前記少なくとも1つの動作の前記結果を受信して、前記結果に基づいて前記AIキャラクタがとるべき潜在的な動作のグラフを更新する段階をさらに備える請求項1に記載の方法。
請求項6
前記更新する段階の前に、前記潜在的な動作のグラフは、予めプログラミングされた動作のみを含む請求項5に記載の方法。
請求項7
前記少なくとも1つの投機的物理シミュレーションに基づいて前記AIキャラクタを制御するAIサブシステムの複数の変形可能なオブジェクト操作オプションを評価する段階をさらに備える請求項1に記載の方法。
請求項8
マルチコアプロセッサの異なるコアまたはコアのサブセット上で、前記複数の変形可能なオブジェクト操作オプションの各々を評価する段階をさらに備える請求項7に記載の方法。
請求項9
前記少なくとも1つの投機的物理シミュレーションの実行に対して利用可能なプロセッサリソースを所定のレベルに制限する段階をさらに備える請求項1に記載の方法。
請求項10
命令を有する機械アクセス可能な媒体を備える物品であって、前記命令は実行されるとシステムに、コンピュータゲームのプロトタイプ版の開発実行中に人工知能キャラクタ(AIキャラクタ)が見ることのできる前記コンピュータゲームのシーンの変形可能なオブジェクトを特定させ、前記AIキャラクタによる前記変形可能なオブジェクトに対する可能性のある動作の結果を判断するべく、前記変形可能なオブジェクトに関する少なくとも1つの投機的物理シミュレーションを行わせ、前記AIキャラクタがとりうる可能性のある動作のグラフを、動的に定義された動作に対応する結果で動的に更新させ、前記結果を、前記コンピュータゲームのプログラマがアクセスする一時記憶に格納させ、前記グラフは複数の予めプログラミングされた動作を含む物品。
請求項11
前記可能性のある動作のグラフから前記AIキャラクタがとりうる複数の動作のうち1つの動作を選択させる命令をさらに備える請求項10に記載の物品。
請求項12
前記動的に定義された動作に関するコストが前記複数の予めプログラミングされた動作のコストより高い場合であっても、前記動的に定義された動作を実行のために前記AIキャラクタに選択させる命令をさらに備える請求項11に記載の物品。
請求項13
前記選択された動作により生じる結果を、前記プログラマがアクセスする前記一時記憶に格納させる命令をさらに備える請求項12に記載の物品。
請求項14
命令を独立して実行する複数のコアを有するプロセッサと、DRAMとを備え、前記DRAMは、命令を含むプログラムを格納し、前記プログラムは、前記プロセッサ上で実行される人工知能モジュール(AIモジュール)と物理モジュールとを有し、前記AIモジュールは、前記AIモジュールが制御するAIキャラクタが見ることができる前記プログラムのシーンの変形可能なオブジェクトを特定し、前記AIキャラクタによる前記変形可能なオブジェクトに対する少なくとも1つの動作から生じる結果を判断するべく、前記変形可能なオブジェクトに関する少なくとも1つの投機的物理シミュレーションの実行を前記物理モジュールに要求し、前記AIキャラクタが前記変形可能なオブジェクトに対してとりうる一式の動作に対して前記少なくとも1つの動作を追加し、前記一式の動作の他のものは予めプログラミングされているシステム。
請求項15
前記AIモジュールは、前記少なくとも1つの動作を潜在的な動作のグラフに追加し、前記少なくとも1つの動作にコストを関連付ける請求項14に記載のシステム。
請求項16
前記命令は、選択される動作のコストに少なくとも部分的に基づいて前記一式の動作のうち1つの動作を前記AIモジュールに選択させる請求項15に記載のシステム。
請求項17
前記物理モジュールは、前記少なくとも1つの動作が選択された場合に物理シミュレーションを行う場合よりも低い精度で前記少なくとも1つの投機的物理シミュレーションを実行する請求項16に記載のシステム。
請求項18
前記AIモジュールは、複数の投機的物理シミュレーションを要求し、前記物理モジュールは、対応する変形可能なオブジェクトと前記AIキャラクタとの間の距離に基づいて前記複数の投機的物理シミュレーションの優先順位を決める請求項14に記載のシステム。
請求項19
前記物理モジュールは、前記複数の投機的物理シミュレーションの各々を前記複数のコアのうちの異なるコア上で実行する請求項18に記載のシステム。
請求項20
前記予めプログラミングされた動作のうち少なくとも1つは、前記プログラムのプロトタイプの実行中の前記AIモジュールの投機的物理シミュレーションに対する要求により得られる請求項14に記載のシステム。
类似技术:
公开号 | 公开日 | 专利标题
Denning et al.2015|Great principles of computing
Ulicny et al.2001|Crowd simulation for interactive virtual environments and VR training systems
US6054991A|2000-04-25|Method of modeling player position and movement in a virtual reality system
US7768514B2|2010-08-03|Simultaneous view and point navigation
US7372463B2|2008-05-13|Method and system for intelligent scalable animation with intelligent parallel processing engine and intelligent animation engine
EP0840911B1|2002-08-07|Adaptive process modelling and control
Helleboogh et al.2007|Modeling dynamic environments in multi-agent simulation
US5498002A|1996-03-12|Interactive electronic games and screen savers with multiple characters
JP3461704B2|2003-10-27|条件コードを使用する命令処理システムおよびコンピュータ
Zachmann2000|Virtual reality in assembly simulation-collision detection, simulation algorithms, and interaction techniques
US8413166B2|2013-04-02|Multithreaded physics engine with impulse propagation
US7129951B2|2006-10-31|Method and system for performing speculative collisions for a video game
CN101317156B|2015-04-29|基于编译器的用户级线程调度优化的方法和系统
Openshaw1992|Some suggestions concerning the development of artificial intelligence tools for spatial modelling and analysis in GIS
Churchill et al.2012|Fast heuristic search for RTS game combat scenarios
Ulicny et al.2002|Towards Interactive Real‐Time Crowd Behavior Simulation
DE102013208558A1|2013-11-14|Verfahren und System zur Verarbeitung verschachtelter Stream-Events
US9925461B2|2018-03-27|Character model animation using stored recordings of player movement interface data
CN1908949B|2011-12-21|图像处理装置
Funge2004|Artificial intelligence for computer games: an introduction
US10022628B1|2018-07-17|System for feature-based motion adaptation
Funge1999|Making them behave, cognitive models for computer animation
Kapadia et al.2015|Computer-assisted authoring of interactive narratives
US8257173B2|2012-09-04|System and method for driving artificial intelligence | characters having continuous reevaluation of current goals and navigation path
CN107092573A|2017-08-25|异构计算系统中的工作窃取
同族专利:
公开号 | 公开日
KR101220071B1|2013-01-08|
CN101977662A|2011-02-16|
WO2009120601A3|2009-11-26|
KR20120060917A|2012-06-12|
US8280826B2|2012-10-02|
CN101977662B|2014-01-22|
US20090248593A1|2009-10-01|
WO2009120601A2|2009-10-01|
EP2254673A4|2011-06-29|
EP2254673A2|2010-12-01|
JP5746509B2|2015-07-08|
KR20100120697A|2010-11-16|
US20120030148A1|2012-02-02|
US8069124B2|2011-11-29|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH078632A|1993-03-26|1995-01-13|Namco Ltd|3次元ゲーム装置|
JPH08299597A|1995-04-28|1996-11-19|Taito Corp|ガンシューティングゲーム機|
JP2001005990A|1999-06-17|2001-01-12|Namco Ltd|画像生成システム及び情報記憶媒体|WO2013180322A1|2012-05-30|2013-12-05|주식회사 쏘그웨어|게임 사용자 수준에 따른 npc ai제공방법|
JP2018063602A|2016-10-13|2018-04-19|株式会社 ディー・エヌ・エー|Q学習を用いたニューラルネットワークの重み付け調整のためのプログラム、システム、及び方法|US5577185A|1994-11-10|1996-11-19|Dynamix, Inc.|Computerized puzzle gaming method and apparatus|
US6195626B1|1998-06-19|2001-02-27|Microsoft Corporation|Heightened realism for computer-controlled units in real-time simulation|
JP2001224849A|1999-12-10|2001-08-21|Sony Computer Entertainment Inc|エンタテインメントシステム、エンタテインメント装置、記録媒体及びプログラム|
US7260560B2|2003-06-30|2007-08-21|Microsoft Corporation|Modified motion control for a virtual reality environment|
US7358973B2|2003-06-30|2008-04-15|Microsoft Corporation|Mixture model for motion lines in a virtual reality environment|
US7895411B2|2003-10-02|2011-02-22|Nvidia Corporation|Physics processing unit|
US7739479B2|2003-10-02|2010-06-15|Nvidia Corporation|Method for providing physics simulation data|
US7574695B2|2003-12-23|2009-08-11|Ntt Docomo, Inc.|Performing checks on the resource usage of computer programs|
US20100235608A1|2004-03-25|2010-09-16|Aiseek Ltd.|Method and apparatus for game physics concurrent computations|
KR100621559B1|2004-03-31|2006-09-18|봉래 박|인공지능 학습을 통한 게이머의 게임 스타일 이식시스템및 그 이식방법|
GB0407336D0|2004-03-31|2004-05-05|British Telecomm|Pathfinding system|
JP3974134B2|2005-01-25|2007-09-12|株式会社コナミデジタルエンタテインメント|プログラム、自動生成方法、ならびに、画像生成装置|
KR100766545B1|2005-09-08|2007-10-11|엔에이치엔|게이머의 입력 패턴을 복사하여 게임을 수행하는 게임 ai제어 방법 및 게임 ai 제어 시스템|
US7616204B2|2005-10-19|2009-11-10|Nvidia Corporation|Method of simulating dynamic objects using position based dynamics|
US7408550B2|2006-07-24|2008-08-05|Bunnell Michael T|System and methods for real-time rendering of deformable geometry with global illumination|
KR100913030B1|2007-07-18|2009-08-20|중앙대학교 산학협력단|단계별 퍼지 로직을 이용한 게임 전략 방법 및 그 시스템|AU2009201433B2|2008-04-15|2013-11-21|Electronics And Telecommunications Research Institute|Improved physics-based simulation|
JP5759164B2|2010-12-20|2015-08-05|株式会社スクウェア・エニックス|ゲーム用人工知能|
US8826153B2|2011-10-04|2014-09-02|Google Inc.|Speculative actions based on user dwell time over selectable content|
US8799799B1|2013-05-07|2014-08-05|Palantir Technologies Inc.|Interactive geospatial map|
JP6032710B2|2013-09-12|2016-11-30|株式会社コナミデジタルエンタテインメント|Simulation apparatus and program|
JP2015083555A|2013-10-25|2015-04-30|花王株式会社|頭髪の染色又は脱色方法|
CN104965695B|2014-11-25|2018-01-23|深圳市腾讯计算机系统有限公司|模拟用户实时操作的方法和装置|
EP3611632A1|2015-03-16|2020-02-19|Palantir Technologies Inc.|Displaying attribute and event data along paths|
KR20170002849A|2015-06-30|2017-01-09|코오롱인더스트리 주식회사|폴리에스테르 필름 및 이의 제조방법|
CN105119733B|2015-07-06|2019-01-15|百度在线网络技术(北京)有限公司|人工智能系统及其状态跳转方法、服务器、通信系统|
US9600146B2|2015-08-17|2017-03-21|Palantir Technologies Inc.|Interactive geospatial map|
US10706434B1|2015-09-01|2020-07-07|Palantir Technologies Inc.|Methods and systems for determining location information|
US9893974B2|2015-10-11|2018-02-13|Microsoft Technology Licensing, Llc|Synchronization of data for colliding bodies|
US9987559B2|2016-05-27|2018-06-05|International Business Machines Corporation|Aggregating and utilizing meta-game data for artificial intelligence in video games|
CN106422332B|2016-09-08|2019-02-26|腾讯科技(深圳)有限公司|应用于游戏的人工智能操作方法和装置|
CN107890675A|2017-11-13|2018-04-10|杭州电魂网络科技股份有限公司|Ai行为实现方法和装置|
法律状态:
2013-04-03| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
2013-06-18| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130617 |
2013-12-18| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131217 |
2014-03-05| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140304 |
2015-03-05| TRDD| Decision of grant or rejection written|
2015-03-11| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150310 |
2015-04-08| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150408 |
2015-05-14| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150508 |
2015-05-15| R150| Certificate of patent or registration of utility model|Ref document number: 5746509 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2018-05-08| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-05-15| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]