[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3943079B2 - コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用 - Google Patents

コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用 Download PDF

Info

Publication number
JP3943079B2
JP3943079B2 JP2003539803A JP2003539803A JP3943079B2 JP 3943079 B2 JP3943079 B2 JP 3943079B2 JP 2003539803 A JP2003539803 A JP 2003539803A JP 2003539803 A JP2003539803 A JP 2003539803A JP 3943079 B2 JP3943079 B2 JP 3943079B2
Authority
JP
Japan
Prior art keywords
game
game element
voronoi
voronoi cells
determining
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.)
Expired - Fee Related
Application number
JP2003539803A
Other languages
English (en)
Other versions
JP2005507722A5 (ja
JP2005507722A (ja
Inventor
ジェイソン ルパート,
ジェフリー ハロワー,
Original Assignee
エレクトロニック アーツ インコーポレイテッド
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 エレクトロニック アーツ インコーポレイテッド filed Critical エレクトロニック アーツ インコーポレイテッド
Publication of JP2005507722A publication Critical patent/JP2005507722A/ja
Publication of JP2005507722A5 publication Critical patent/JP2005507722A5/ja
Application granted granted Critical
Publication of JP3943079B2 publication Critical patent/JP3943079B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/422Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle automatically for the purpose of assisting the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/305Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for providing a graphical or textual hint to the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • A63F2300/6054Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands by generating automatically game commands to assist the player, e.g. automatic braking in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Description

(発明の分野)
本発明は、概して、コンピュータゲームに関し、より詳細には、コンピュータゲームにおいてゲーム状況を解析し、解析結果をグラフィカル形式で表示することに関する。
(発明の背景)
通常の対戦型コンピュータゲームは、人間の対戦者およびコンピュータの対戦者に関係する。このような対戦型コンピュータゲームは、チェス、自動レーシング、ファンタジーゲーム、およびスポーツゲームを含む。ゲームが人間の対戦者の関心を維持するためには、人間の対戦者が毎回勝たない十分な対戦者が必要である。従って、最も単純なコンピュータゲームを除く全てにおいて、解析という要素が必要とされる。この解析は、現在のゲーム状況に基づいてなされ、コンピュータゲームによって利用されて、コンピュータの対戦者の次の動きを決定する。
例えば、ゲームがチェスである場合、コンピュータゲームは、ゲームの状況、すなわち、チェス盤のチェスピースの現在の位置、および人間の対戦者によって取られた動きの履歴を解析するようにプログラムされ、このゲームの状況に応じて、どのような動きを取るべきかについての決定を行う。チェスのルールは、解析および応答に制約を与え、コンピュータは、各動きごとに、16以下のピースのうちのどれが、たった64個の別々の位置に制約を受ける盤内の数ダースのスペースのうちの1つに移動するかを決定する必要があるのみである。従って、全ての可能な動きの決定は、非常に単純な態様である。もちろん、チェスのコンピュータの対戦者は、プログラミングすることが難しいが、それは、動きは、将来の多くの動きを予想されなければいけないからである。
レーシングゲームでは、コンピュータに操作されるレースカーまたはオブジェクトは、まさに、トラックに沿って迅速に移動される必要がある。ファンタジーゲームでは、可能となるアクションは、任意であり得る。現実のように実世界のアクティビティをシミュレーションするスポーツゲームおよび他の対戦型ゲームは、部分的により困難である。なぜならば、フィールドは、小さな別々のポジションの集合ではなく、ゲームは、人間の対戦者が対応する実世界の活動において期待するように振舞わなければならないからである。
1つの例として、サッカーのゲームは、数人のプレイヤー、および、連続的な2次元空間(可能であれば、プレイヤーがジャンプし、ボールの高さが考慮される場合は、3次元空間である)でどこにでも自由に移動するボールを含む。サッカーの戦略は、1人のプレイヤーが、対戦チームのプレイヤーからの干渉なくチームメイトにボールを蹴ることができるようにプレイヤーを配置しようとすること等、多くの考慮すべきことを含む。人間の対戦者とコンピュータの対戦者との間でプレーされるコンピュータ計算されたサッカーゲームが興味深いものであるためには、コンピュータの対戦者は、人間の対戦者にチャレンジを与えなければならず、従って、コンピュータゲームは、徹底的にゲーム状況の解析を実行しなければならず、コンピュータの対戦者チームメンバをどのように動かし、かつ操作するかを決定して、チャレンジを与えなければならない。好ましくは、コンピュータゲームで利用可能な消費電力量にいくらかの制限が与えられた場合、コンピュータの解析は、ゲームがゲーム状況を解析し、実世界で適切な応答を形成することができるように、十分に効率的である。
(本発明の簡単な要旨)
コンピュータゲームにおいて、本発明の1つの実施形態は、複数のゲーム要素の状態を利用してゲーム状況を解析することを提供する。これは、各複数のゲーム要素についての状態を決定し、少なくともいくつかのゲーム要素をボロノイサイトとして利用して、ゲーム要素の間のボロノイ図の表現を生成し、ボロノイ図を利用してゲーム状況の解析を実行することによる。この解析は、戦略解析の基本として利用され得る空間的解析であり、コンピュータ制御されたエンティティの動きを決定する。特定の実施形態では、ゲームスペースは、2次元のサッカー場であり、ゲーム要素は、チームに関連付けられたプレイヤーである。ゲームスペースは、3次元のゲームスペースであってもよい。ゲームスペースは、サッカー場ではなく、野球場、バスケットコート、またはほかのゲームスペースを表現してもよい。
ゲーム要素の状態は、モーメント、スピード、移動の方向、速度、および/またはゲーム要素のチーム関連性を含み得る。サッカー場の解析は、コンピュータ制御されたチームのプレイヤー間のレーンのパスを決定することを含む。サッカーゲーム解析では、ゴールキーパーのいない各チームのプレイヤーのボロノイ図、ゴールキーパーのいる各チームのプレイヤーの図、ならびに、ゴールキーパーがいる場合およびいない場合の2つのチームのプレイヤーの組み合わせの図のような、複数のボロノイ図が生成され得、この複数のボロノイ図を用いて解析がなされる。
本発明のほかの特徴および利点は、以下の詳細な説明および好ましい実施形態の観点から明らかになる。
(発明の詳細な説明)
ここで図面を参照して、本発明の実施形態がここで説明される。図面の構成要素が参照番号とともに呼び出される場合、同様の参照番号は、同様の構成要素を表し、構成要素の同一のインスタンスを表す場合もあれば、表さない場合もある。
この開示全体を通して、ボノロイ図が参照される。スペース内に「ボロノイサイト」として示される点の集合が与えられると、そのスペースは、領域「ボロノイセル」の集合体に分割され得る。このとき、ボノロイサイトが関連するボロノイセルを有し、関連するボロノイセル内の各点は、任意の他のサイトよりもそのセルのサイトに対して近くなる。本明細書中において利用される際には、「ボロノイ分割」は、空間をボロノイセルに分割するプロセスを示すために利用され、ボロノイ図は、これらのボロノイセルの示す図である。
ボロノイ図を表現する同一の情報を表現する多くの方法が存在することを理解されたい。スペースが曲線によって結合されない場合、各セルは、セルの有限個の頂点のポジションによって記述され得る。従って、ボロノイ図の表現の生成は、このような図の表示を生成することに制限されるように構成されるべきではなく、セルの結合についての情報を生成する任意の方法をカバーし得る。
ボノロイ図の定義は、平面分割として定義されることがあるが、本明細書中に記載される方法および装置は、凸、凹、無限、曲線、多角形、またはこれらの特徴のいくつかの組み合わせとなり得る3(またはN)次元空間に分割するために利用され得るので、本明細書中では同様の定義に制限されないことが理解されるべきである。ボロノイサイトは、点であってもよいし、あるいは、多角形のオブジェクトまたは他の次元を有するオブジェクトであってもよい。
ボロノイ図は、数学の分野では周知であり、サイトの集合からボロノイ図を生成するために、多くの計算方法が利用されるので、定義、ならびに、ボロノイ図の生成のための従来の方法および装置は、ここで示される必要はない。従来の方法が利用され得るが、いくつかの例では、さらに高度な性能が必要とされ、この場合、本明細書中に記載されるボロノイ分割を実行する計算上のバリエーションのいくつかまたは全てが利用され得る。
図1は、上にボロノイ図のかさなったサッカー場の一部分を表現する透視図である。ここで、ボロノイスペースは、サッカー場(2次元)であり、ボロノイサイトは、チームの1人のプレイヤー(チームのゴールキーパーを含む)から複数のプレイヤーまでの、プレイヤーのポジションに一致する。図1は、このような図を生成し、その図をコンピュータゲームの解析に利用する装置および方法の以下の説明を理解しやすくするために提供される。図1の視点では、より暗いチームカラーの2人のプレイヤーおよびより明るい色のチームカラーの3人のプレイヤーが図示される。より暗いチームのプレイヤーの1人が、現在のボール保持者10であり、もう一人のプレイヤーが潜在的なパスの受け側11である。ライン12は、相対的なフィールドポジションを示し、サッカー場を表すために本明細書中に含まれる、サッカー場のラインである。図の他のラインは、ボロノイセル間の分割を表し、ボロノイ図を示す。
本明細書中で説明されるように、ボロノイ図、終端または頂点を利用する1つの解析は、対戦者がパスをインターセプトすることができないボールのパス方法の解析である。例として、ボールのターゲットは、プレイヤー11のボロノイセル16を分割するラインセグメント14に沿って存在し得る。ボロノイ分割のために、ラインセグメント14上の点の全てが、あらゆる他のプレイヤーよりもプレイヤー11により近くなることが既知であり、このような知識は、多くの座標点をテストまたはサンプリングする必要なく得られる。
図2は、本発明が実装されるサンプルのコンピュータゲームハードウェアシステム100のブロック図である。システム100は、ディスプレイ104、および、ゲームユーザとやりとりするために利用可能な入力/出力(I/O)デバイス106に接続されるコンソール102を含むように示される。コンソール102は、プロセッサ110、プログラムコード格納装置112、一時的データ格納装置114、およびグラフィックプロセッサ116を含むように示される。
プログラムコード格納装置112は、ROM(リードオンリーメモリ)、RAM(ランダムアクセスメモリ)、ハードディスク、他の磁気格納装置、光学格納装置、他の格納装置、あるいはこれらの組み合わせまたは変形であり得る。通常の構成では、プログラムコードの一部分がプログラム可能なROM(ROM、PROM、EPROM、EEPROM等)に格納され、プログラムコードの一部分がCD−ROM120(図示される)等の取り外し可能メディアに格納される。あるいは、プログラムコードの一部分は、カートリッジ、メモリチップ等に格納されてもよいし、必要ならばネットワークまたは他の電気的チャネルを介して取得されてもよい。
一時的データ格納装置114は、必要ならば、変数ならびに他のゲームおよびプロセッサデータを格納するために利用される。通常、一時的データ格納装置114はRAMであり、ゲームのプレー中に生成されるデータ、例えば、各プレイヤーの状態(ポジション、方向等)およびボロノイ分割の結果のような解析のために生成されるデータを保持する。
図3は、ゲームがプレーされているときに一時的データ格納装置114に格納され得るゲーム状態のデータ構造の例を示す。ここで示されるように、ゲーム状態構造は、第1のチーム構造および第2のチーム構造に分割され、各チーム構造は、プレイヤー構造に分割される。各プレイヤー構造は、1人のプレイヤーに関連するデータにより示される。図に示される例では、チーム「A」の第1のプレイヤー構造は、プレイヤーの番号(23)、プレイヤーのポジション(FB−フルバック)、フィールド上の位置(0.497、0.386)等を表すプレイヤーデータを保持する。図示されるように、このゲーム構造はまた、ボールのポジション、ボールの速度、現在のスコア、ゲーム時間等の構造を含む。
図2〜3は、本発明の方法および装置を利用し得るコンピュータゲームシステムの例を示しており、本発明は、この例に制限されないことを理解されたい。従って、本発明は、図2に示されるハードウェア構成以外のハードウェア構成、および、図3に示されるデータ構造以外のデータ構造により用いられ得る。
図4は、プレイヤー、通常はコンピュータ制御のチームプレイヤーの次の動きを決定するプロセスを示す。通常、このプロセスは、ゲームシーケンスのより上位の動作によって開始され、図に示されるプロセスの結果は、より上位の動作によって利用され得る。例えば、より上位の動作は、ゲームおよびユーザとのインタラクションを実行するメインプログラムであってもよいし、図4に示されるプロセスは、メインプログラムが動きを作る必要があるときに呼び出されるサブルーチンである。戦略解析プロセスによって決定される「次の動き」は、チェスおよび他のゲームでは一般的であるように、分散型の動きであってもよいし、あるいは、ゲーム要素のゲームスペース位置への運動または要請等の、比較的分散型にならないように定義された動きであってもよいことを理解されたい。この解析は、分離した次の動きを決定するか、または、動きまたは戦略の次のシーケンスを決定するためだけに用いられてもよい。
図示される方法は、ゲーム状態の評価(ステップ1)により開始する。これは、各当該プレイヤーのいる場所、プレイヤーのモーメント、ボールのポジション、ゲーム時間等を決定することを含み得る。一旦ゲームが評価されると、フィールドはボロノイセルに分割される(ステップ2)。本明細書中で説明されるように、セルは、プレイヤーの位置に位置するそれぞれのサイトに最も近い点の集合体として規定され得る。しかし、いくつかの実施形態では、この距離関数(metric)は、常に均一で線形距離の距離関数ではなく、距離および/または他の変数の重みづけされたおよび/または非線形距離の測定基準であってもよい。
ゲーム状態は、通常、瞬間の状態であり、すなわち、ゲーム状態は、時間に伴い変化する。従って、結果として生じるボロノイ分割はまた、時間を介して変化し得る。もちろん、ゲーム状態は、瞬間のスナップショットでなくてもよいし、現在の瞬間の時間の状態だけでなく最近のゲームイベントの状態を考慮に入れてもよい。データを維持するボロノイ分割の再計算の頻度は、必要に応じて変更し得、ゲームプレイのレベル(より洗練された処理は、より高速の更新を必要とし得る)および処理能力(より遅いマシンは、より頻度の低い更新を必要とし得る)を考慮する。いくつかの実装例では、再計算の速度は、ゲームウィンドウ更新速度と同期する。
一旦フィールドが分割されると、結果として生じるボロノイ図は、可能なアクションを解析するために利用される(ステップS3)。アクションは、どこにプレイヤーを動かすか、どこにボールを動かすか、およびいつパスするか等を含む。この図はまた、パスする側から受け側までボールをパスする前に受け側およびパスする側をどのように動かすか、あるいは、ゴールにおいてシュートを阻止するためにどのようにゴールキーパーを動かすか等、複数のプレイヤーのアクションを決定するために利用され得る。実際のボロノイ図が、実際に生成される必要はなく、戦略エンジンまたは他の解析を実行するコンピュータエレメントは、ボロノイ頂点、および/または終端等の表示のような、ボロノイ分割の結果を表示する必要があるのみであることを理解されたい。アクションがヘッダ、クロス、コーナーキック等を含む場合、三番目の次元(高さ)が考慮に入れられ得る。
一旦可能なアクションがステップS3で決定されると、オフサイドおよびアウトオブバンウズルールのようなルールが課された制約条件を考慮する等、他のファクタが考慮され得る(ステップS4)。例えば、解析が、潜在的な受け側が実際にアウトオブバウンズまたはオフサイドであることを決定した場合、この解析は、その人間にパスをさせないように調節され得る。一旦他のファクタが考慮されると、戦略エンジンは、取るべきアクションを決定する(ステップS5)。
ボロノイ分割(ステップS2)を行うステップは、1つのボロノイ図(またはその表現)を生成するステップであり得るが、異なるサイトの集合ごとに、1つより多いボロノイ図を生成するステップであってもよい。特に、1つのボロノイ図は、サイトとしてのサッカー場のサッカープレイヤーのポジションを利用し、ステップS3の解析は、ステップS2の結果(分割)をサッカーゲームの他の幾何学的特性とを組み合わせて、コンピュータおよび人間が制御するプレイヤーの戦略オプションを計算する。他の幾何学的特性の例は、オフサイドラインの現在のポジション、ハーフライン、またはペナルティエリア(ゴールキーパーがその手を利用することができる場所、および、守備側のファールがペナルティショットになる場所を規定する際に有用である)のような客観的特性を含む。幾何学的特性はまた、「フランク(flank)」等、ゲームスペースの領域に割り当てられた主観的な特性を含み得る。このフランクは、明らかにラインで引かれた領域(単数または複数)あるいはフランク内の点からフランク外の点へのゆるやかな遷移を有する領域のどちらかとして規定される。他の主観的特性は、「シューティング領域」を含み得る。客観的および主観的特性に加えて、解析はまた、プレイヤーの期待されるヘディングのような派生した特性を含み得る。
この組み合わせは、攻撃側および守備側のプレイヤーがフィールド上に自分自身をポジショニングすべき場所を決定すること、プレイヤーが攻撃側のランを行うべき時および場所を決定すること、プレイヤーがボールをドリブルすべき時および場所を決定すること、プレイヤーがボールをパスすべき時および場所を決定すること、戦略上のパターンマッチングを決定すること、守備側のマーキングロジックを決定すること、衝突の回避/検知を決定すること、および/または、戦略スクリーン上のインジケータを決定すること等、広範囲の戦略情報を計算するために有用である。プレイヤーをどこに配置するか等、戦略情報の決定のされ方の詳細は、後述される。
特定の実施形態では、戦略解析は、図5に示されるような、6つの異なるボロノイ図を利用する。2つのチームが「チームA」(四角内に書き入れられることによって)および「チームB」(開いた円によって示される)によってラベル付けされ、6つの図(および以下に利用される速記)は、
図5(a)−ゴールキーパーのいないチームA(VD−A)
図5(b)−ゴールキーパーのいるチームA(VD−Ag)
図5(c)−ゴールキーパーのいないチームB(VD−B)
図5(d)−ゴールキーパーのいるチームB(VD−Bg)
図5(e)−ゴールキーパーのいない両チームVD−AB)
図5(f)−ゴールキーパーのいる両チーム(VD−ABg)
これらの図は、Fortune,S.J.「A Sweepline Algorithm for Voronoi Diagrams」、Algorithmica、2:153〜174(1987)に記載されるインクリメントするアルゴリズム等、インクリメントするアルゴリズムを用いて計算され得る。サッカーゲームの改変例では、標準的なインクリメントするアルゴリズムは、第1のパスで利用され、その後、ゲームの残り全体を通じて、インクリメントするアルゴリズムを開始するために利用された最初の推測は、前回のボロノイ図に基づく。これは、図が計算されるたびにサイトがほんの少しの量だけ動くことが期待される場合、サッカーゲームと同様の他のアプリケーションにおいて有用である。
さらに、図を計算する仕事は、3つ以上のフレームに分割され得、ホームチームの図は、第1のフレームで計算され、遠征チームの図は、第2のフレームで計算され、両チームの図は、改良された効率の前回の2つの計算に基づいて、第3のフレームで計算される。プレイヤーの現在のポジションは、ボロノイ分割のサイトとして利用され得るが、予測がプレイヤーの現在のポジションおよび現在のモーメント(または、スピード、速度等)に基づく場合、プレイヤーの予測された未来のポジションが代わりに利用されてもよい。ある例では、プレイヤーのポジションを利用するだけでは、プレイヤーが、そのプレイヤーの後ろよりもプレイヤーの前の点に達することがより容易であるという事実を考慮していない。プレイヤーのポジションをほんの少し前へオフセットすることによって、運動の方向に、プレイヤーのスピードと比例して、モーメントおよび回転を考慮する距離関数を利用するよりも、標準的な線形距離関数を利用して、図のより近い近時が可能になる。さらに、後者は、計算が非常に大変である。
(空間的戦略的解析)
ここで、ボロノイ分割の結果を利用する(ボロノイ図またはボロノイ図の表現を利用する)戦略解析の基準として利用され得る空間的解析のいくつかの例が説明される。これらの例では、フィールドはサッカー場であり、2つのチームはチームAおよびチームBである。実装例に応じて、どちらかのチームがコンピュータ制御されたチームであり、もう一方のチームが人間のユーザに制御されたチームである。あるいは、両チームが人間のユーザに制御されたチームであってもよいし、両チームがコンピュータ制御されたチームであってもよい。典型的なコンピュータゲームは、コンピュータ制御されたチームおよび/または人間のユーザに制御されたチームのストラテジーの決定を行うことができる戦略エンジンを含み得る。後者の場合、決定は、学習モードまたはアシストモードの一部分であってもよし、人間のユーザが補助なく全てのストラテジーの決定を行いたい対戦モードでは、オフにされてもよい。
プレイヤーポジショニングは、ゲーム中になされ得る1つの解析である。プレイヤーポジショニング解析は、プレイヤーを動かす、または、再ポジショニングする方法を決定するために利用可能である。例えば、様々なボロノイ図を検査して、ボールに最も近いプレイヤーならびにプレイヤー「最も近い仲間」であるチームメイトおよび/または対戦者を識別し得る。プレイヤーOから仲間まで引かれたラインから、パスレーンを決定することができ、別のボロノイ図を用いて、どのチームメイトがこれらのパスレーンに最も近いかを計算し得る。この情報に基づいて、チームメイトは、これらのラインへ動き、パスのために自分自身をポジショニングする。プレイヤーポジショニングおよび他のストラテジーは、対戦者によって採用されたチームフォーメーション、例えば、4−4−2または3−5−2によって知らされ得る。
攻撃側ランは、VD−AB(または、たまにVD−ABg)を用いて計算される。この例は、図6(a)に示される。攻撃チーム(チームA)の任意のプレイヤーが、オフサイドラインよりもチームBのネットに近いVD−AB上にボロノイ頂点を有する場合、そのプレイヤーは、その頂点(図の頂点602)まで攻撃側のスルーランを行う。これは、プレイヤーが、フィールド上の他の誰よりも前にそのプレイヤーがスペースのピースまで達することができることを理解している場合のプレイヤーの行動をモデル化する。この点は、オフサイドライン(図のライン604)よりも後ろにあるので、ランは、離脱する結果となり得る。この説明から理解されるべき、最も適切なボロノイ図を用いる際には、注意がなされるべきである。例えば、ゴールキーパーがいそうなフィールドのエリアにおいてVD−ABが攻撃側ランに用いられる場合、ボールは、反対のゴールキーパーまでまたはその近くまでパスされてもよいし、VD−ABgが利用される場合は、ゴールキーパーのポジションが考慮される。
攻撃側ランの決定に加えて、攻撃ランについて上述されたプロセスは、守備側によって利用され得、それぞれの守備側のポジショニングの穴を識別し、それに応じて調節する。
衝突を回避するボールのドリブルは、別の戦略解析である。この解析により、ボールを有するプレイヤーにフィールド上のターゲット点までドリブルさせるためには、プレイヤーは、ターゲット点に最も近いVD−ABからボロノイ頂点に向かってドリブルすべきである。結果として生じる行動は、プレイヤーにその点に迅速に到着させつつ、チームメイトおよび対戦者を避けて、非常にサッカープレイヤーのように見える方法で動き、適切である場合にはフェイントおよび突然のヘディング変化を含む。
ボールパス決定は、VD−ABgを利用して、ボールをチームメイトまでパスする最良の場所を決定する。解析の目的は、VD−ABgにおける現在のボール保持者(「プレイヤーBH」と呼ぶ)のボロノイセル内の点までボールをパスすることである。これは、図6(b)によって図示され、ここで、パスする側612は、チームメイト613までのパスを考慮する。図示されるように、適切な受け側である2人のプレイヤーが存在する。VD−ABのような他の図を利用することができるが、ゴールキーパーは考慮に入れられない場合、ボールは、反対のゴールキーパーがボールに最初に達し得るようにパスされ得る。これは、通常、望まれない。
ボールがパスされるターゲット点を決定するために、いくつかの技術が利用され得る。1つの技術では、コンピュータは、BHの面するベクトルおよび受け側(単数または複数)のボロノイセルを分断して、その分断ラインにそった可能な受け取り点の範囲を得る。これらの点は、図6(b)の分断ラインセグメント614に沿った点であり、分断ラインセグメント614(a)は、受け側613(a)がパスを受け、任意の他のプレイヤーよりも前に到達し得る点の集合であり、分断ラインセグメント614(b)は、受け側613(b)がパスを受け、任意の他のプレイヤーよりも前に到達し得る点の集合である。パスする側からの分断ラインセグメントの方向は、受け側の運動ベクトルの方向、あるいは、コンピュータまたはユーザによって選択される別の方向となり得る。また、解析は、依然として受け側がボールに最初に達することを保証しつつ、その受け側を最大に導く受け側のボロノイセル内の点を探し得る。分断ラインセグメントを考慮に入れると、ボールキックの提示されるパワーは、ボールが好ましいまたは最適のスピードで、好ましいまたは最適の時間に受け側のボロノイセルに到達するように、決定され得る。
VD−Bのようなボロノイ図のトポロジーは、戦略パターンマッチングのために利用され得る。どのパターンが識別されるのかに応じて、特徴とマッチする他のボロノイ図が保存され、利用され得る。サッカーゲームにおいてある状況が識別される場合、ボロノイ図のトポロジーが保存され得る。これは、エッジ角度、エッジ長、ボロノイの近隣者、およびボロノイセルエリアを含む。同一のトポロジーが後のゲームで識別される場合、その特定の状況に適切な予め定められた行動に基づいて、アクションが取られ得る。このように、同一ではないゲーム状態が、類似のゲーム状態に類推され得ることにより、比較的少ない数の予め定められた行動が記憶され、比較的多い数のゲーム状態に応じて利用され得る。
「守備側マーキングロジック」では、所与のプレイヤーのVD−ABにおけるボロノイの近隣者を利用して、そのプレイヤーがマークする潜在的な対戦者を決定する。「マーキング」は、守備中のプレイヤーがどの攻撃側プレイヤーをカバーするのかを決定するプロセスである。これは、極めて効果的である。なぜなら、マーキングアルゴリズムで考慮される必要があるプレイヤーの数を減少させることができるからである。あるいは、デローニ三角分割図が利用され得る。デローニ三角分割図は、「2重の」ボロノイ図であり、エッジを共有するセル内にあるボロノイサイトのペア間に引かれたラインセグメントを含む。デローニ三角分割図の一部分の例は、図6(c)に示される。ここでは、チームメイト間のラインは、(ボロノイセルのエッジを共有する対戦者をペアにするラインのみを残して)排除されている。これらのラインは、マーキングの良好な座標を示す。デローニ三角分割図は、ある解析においてボロノイ図の適切な代替となり得ることを理解されたい。図6(d)は、デローニ三角分割図が重ねられたサッカー場の表現の透視図である。
基本の6個以外の解析では、他のボロノイ図が利用され得る。例えば、怪我をしたプレイヤー(怪我をしているが、フィールドに残っている)が、図から排除され得ることにより、怪我をしたプレイヤーが考慮されなくなるような、解析がなされ得る。他の図では、1つのチームからのチームプレイヤーが、その反対のチームに加えられ得、わずかに異なったボロノイ図を取得する。さらに別の図では、ボール保持者が反対のチームのボロノイ図へと動く。通常の場合、ボロノイ図は、1つまたは両チームからのプレイヤーの任意の集合を有する解析のために、容易に生成され得ることを理解されたい。試合の関係者は、通常考慮されるべきではないが、試合の関係者も、適切である場合は含まれ得る。
1つ以上のボロノイ図がスクリーン上に与えられ得る。CD−ABまたはVD−ABgが与えられた場合、各チームのセルは、異なるように色が付けられ得る。これは、人間のユーザの洞察力をユーザのチームが所有するスペースに与え、戦略上の利点を与える。このバリエーションは、スクリーンのエッジのみにボロノイ図を与えることである。これは、スクリーンの外のプレイヤーが配置される場所についての考え、および、スクリーンの外にいるプレイヤーに対してなされる潜在的な成功をユーザに与える。
ボロノイ図の他の利用は、この開示を再考することで理解される。例えば、サッカーゲームの1つ以上のボロノイ図は、戦略エンジンが、誰がフィールド上で点を「所有」するのか、および、どのプレイヤーが他のプレイヤーに近いのかを決定する必要があるときはいつでも、利用され得る。点の所有権は、目的をパスし、かつ、マークするために有用である。なぜなら、所有権は、誰が最初にその点まで達し得るのかを示すからである。「マーキング」は、守備側のプレイヤーがどこをカバーするべきか、または、どの対戦者をカバーするのかを決定することを表す。さらに他の利用は、「与えて進む(give and go)」パス、ラン、新しいパスモデル、および「スルーパスロジック」を評価することを含む。ボロノイ図のジオメトリを利用することによって、フィールドの全ての点が一度に割り当てられ、該当する各点が別々にテストされなければならない場合よりも簡単かつ徹底的に何をすべきかの戦略評価を可能にする。
ボロノイ空間が野球場の場合、対応する戦略エンジンは、誰がフライボール等をキャッチすることを試みているのかを決定する必要があり得る。上述の技術はまた、コンバット解析および戦略プラニングが同様の技術により行われ得る場合、リアルタイムのストラテジーのゲームのために利用され得る。リソース(学校、消防署等)の最適配置のプラニングを行うシミュレーションゲームは、本明細書に記載される技術のいくつかを含む空間の解析を利用し得る。リアルタイムストラテジーゲームのようないくつかのゲームでは、ボロノイセルは、ゲームのちょうどプレイヤーまたはアクターによって規定され得るが、いくつかの図はまた、建物、危険区域、および他の障害物のような他のオブジェクトを含み得る。これらは、これらに向かってまたはこれらから操縦するオブジェクトとして一般化され得る。
ここで、いくつかのバリエーションに沿って、コンピュータゲームの解析のシステムが説明される。ボロノイ分割の利用は、効率的で一貫性のある方法で、スペースの所有権およびプレイヤーの近接性を決定する等、ゲームの戦略上の問題に対する素早いソリューションを可能にする。この情報が一旦決定され、ゲームを実装するプログラムコードを通して参照される場合、戦略コードの効率および理解可能性が改善される。さらに、これらの技術は、コンピュータ制御される対戦者のより現実的かつダイナミックな行動を可能にする。本明細書中に記載される方法は、コンピュータゲームにおける新しい特徴を可視化し、かつ、実装することに対して極めて有用である。
本発明は、好ましい実施形態を参照して説明された。変更および代替物が当業者には理解される。単なる例として、上述のボロノイ分割は、分割距離関数(すなわち、スペースを分割するために利用されるルール)が統一されており、距離の距離関数であることを前提としていた。しかし、本発明はまた、ボロノイ分割に適用し得る。ここで、スペースは、ちょうどボロノイサイトまでの距離以外の関数によって分割されるか、あるいは、異なるサイトに利用される距離関数が異なる。
例えば、2つのサイトから等距離にある点の集合によって規定される、2つのサイト間にボロノイエッジを有する代わりに、エッジは、点の集合によって規定され得る。ここで、あるサイトまでの距離は、他のサイトまでの距離よりも大きくなるように重み付けされるか、エッジ上の各点において等しくなる関数は、単なるそのサイトからの距離の線形関数ではない。このような関数は、プレイヤーが、異なる「強度」関数を割り当てられ、これらの関数がボロノイ分割を実行するために利用されるゲームの場合に、有用となり得る。このように、チームのプレイヤーは強度、敏感さ、およびスピード属性を割り当てられ、それに応じてボロノイ分割が行われる。有効であれば、これは、コンピュータ解析が、いくつかの状況では実際のサッカープレイヤーが考慮するものと同じ解析を行う一方法となり得る。いくつかの状況とは、例えば、サッカープレイヤーが、最も近い対戦者が平均的なプレイヤーである場合は、ある方向にボールをキックするが、その対戦者が平均以上のプレイヤーとして識別されるときは、最も近い対戦者からさらに離れているボールをキープする異なる角度にボールをキックする。
バリエーションの他の例として、多くのゲームは、2人の人間の競争者が互いについて計算することを可能にし得、この場合、コンピュータは、ゲームの任意の解析を実行する必要がなくなり得る。しかし、ゲームは、とにかく解析を実行し得、1人のプレイヤーまたは両方のプレイヤーをアシストする。さらなる別の例として、コンピュータゲームは、シミュレーションゲーム等の、スポーツに関連しないストラテジーゲームであってもよい。
従って、添付の特許請求の範囲によって提供される場合を除いて、本発明を制限することは意図されない。
図1は、本発明の複数の局面による解析に利用可能な、上のボロノイ図がかさなったサッカー場の一部分の図である。 図2は、本発明が実装され得るコンピュータゲームハードウェアシステムのブロック図である。 図3は、ゲーム状態のデータ構造の例を示す。 図4は、プレイヤーの次の動き決定するプロセスを示す。 図5(a)は、ゴールキーパーのいない第1のチームのボロノイ図を示す。 図5(b)は、ゴールキーパーのいる第1のチームのボロノイ図を示す。 図5(c)は、ゴールキーバーのいない第2のチームのボロノイ図を示す。 図5(d)は、ゴールキーパーのいる第2のチームのボロノイ図を示す。 図5(e)は、ゴールキーバーのいない両チームのボロノイ図を示す。 図5(f)は、ゴールキーパーのいる両ボロノイ図を示す。 図6(a)は、オフサイドライン上で勝つためのランを決定するために利用可能なボロノイ図によって分割されるフィールドの透視図である。 図6(b)は、パス領域を決定するために利用可能なボロノイ図によって分割されるフィールドの透視図である。 図6(c)は、マーキング解析に利用可能な2つのチームのデローニ三角分割である。 図6(d)は、フィールド表示の透視図からの、2つのチームのデローニ三角分割である。

Claims (112)

  1. プロセッサに結合された格納装置に格納されているコンピュータゲームのゲーム状況を解析する方法であって、該ゲーム状況は、複数のゲーム要素のポジションに少なくとも依存し、
    該方法は、
    該プロセッサが、ゲームスペースにおいて該複数のゲーム要素のうちの1つのゲーム要素の第1のポジションを決定するステップと、
    該プロセッサが、該複数のゲーム要素の少なくともいくつかをボロノイサイトとして利用して、該複数のゲーム要素の間にボロノイ図の表現を生成するステップであって、該ボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該ボロノイ図を処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該1つのゲーム要素が移動することを決定するステップと
    を包含し、
    該ボロノイ図を処理するステップは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該1つのゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該1つのゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、方法。
  2. 前記ボロノイ図の処理に基づいて、前記1つのゲーム要素の移動を決定するステップをさらに包含する、請求項1に記載の方法。
  3. 前記少なくとも1つのゲーム要素は、コンピュータによって制御される、請求項2に記載の方法。
  4. 前記少なくとも1つのゲーム要素はチームに関連付けられたプレイヤーである、請求項2に記載の方法。
  5. 前記ゲームスペースは、2次元空間である、請求項1に記載の方法。
  6. 前記ゲームスペースは、3次元空間である、請求項1に記載の方法。
  7. 前記複数のゲーム要素は、複数のプレイヤーであり、各プレイヤーは、1つのチームに関連付けられている、請求項1に記載の方法。
  8. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表現する、請求項1に記載の方法。
  9. 前記サッカープレイヤーは、2チームのプレイヤーを含み、各チームは、複数の非ゴールキーパーおよび1人のゴールキーパーを含む、請求項8に記載の方法。
  10. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表現する、請求項1に記載の方法。
  11. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットコートを表現する、請求項1に記載の方法。
  12. 前記ゲーム要素の移動量を決定するステップをさらに包含する、請求項1に記載の方法。
  13. 前記ゲーム要素のスピードを決定するステップをさらに包含する、請求項1に記載の方法。
  14. 前記ゲーム要素の移動の方向を決定するステップをさらに包含する、請求項1に記載の方法。
  15. 前記ゲーム要素の速度を決定するステップをさらに包含する、請求項1に記載の方法。
  16. 前記複数のゲーム要素は、複数のサッカープレイヤーを表現し、前記ボロノイ図を処理するステップは、ボールポジションが与えられると、コンピュータ制御されたチームのプレイヤーを動かす方法をさらに決定する、請求項1に記載の方法。
  17. 前記コンピュータ制御されたチームのプレイヤー間のパスレーンを決定するステップをさらに包含する、請求項16に記載の方法。
  18. プロセッサに結合された格納装置に格納されているコンピュータ制御されたサッカーゲームのゲーム状況を解析する方法であって、該ゲーム状況は、複数のサッカープレイヤー要素のポジションに少なくとも依存し、
    該方法は、
    該プロセッサが、ゲームスペースにおいて該複数のサッカープレイヤー要素の各々の第1のポジションを決定するステップであって、該ゲームスペースは、サッカー場および該複数のサッカープレイヤー要素を表し、該複数のサッカープレイヤー要素はそれぞれ、2つのチームのうちの1つに関連付けられ、各チームに関連付けられた1つのサッカープレイヤー要素は、ゴールキーパー要素として識別され、該2つのチームは、人間に制御されたチームおよびコンピュータ制御されたチームである、ステップと、
    該プロセッサが、該人間に制御されたチームからの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第1のボロノイ図の表現を生成するステップであって、該第1のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該コンピュータ制御されたチームからの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第2のボロノイ図の表現を生成するであって、該第2のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該人間に制御されたチームおよび該コンピュータ制御されたチーム両方からの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第3のボロノイ図の表現を生成するステップであって、該第3のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該人間に制御されたチームのゴールキーパー要素以外の該人間制御されたチームからの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第4のボロノイ図の表現を生成するステップであって、該第4のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該コンピュータ制御されたチームのゴールキーパー要素以外の該コンピュータ制御されたチームからの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第5のボロノイ図の表現を生成するステップであって、該第5のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該人間に制御されたチームおよび該コンピュータ制御されたチームのうちのいずれかのチームのゴールキーパー要素以外の該人間に制御されたチームおよび該コンピュータ制御されたチーム両方からの該複数のサッカープレイヤー要素をボロノイサイトとして利用して、第6のボロノイ図の表現を生成するステップであって、該第6のボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該第1、第2、第3、第4、第5、または第6のボロノイ図の少なくとも1つを処理することにより、
    該人間に制御されたチームに関連付けられた要素であって、該ゲームスペースにおいて該要素の該第1のポジションから第2のポジションへの要素、および
    該コンピュータ制御されたチームに関連付けられた要素であって、該ゲームスペースにおいて該要素の該第1のポジションから第3のポジションへの要素
    のうちの少なくとも1つの移動を決定するステップと
    を包含し、
    該第1、第2、第3、第4、第5、または第6のボロノイ図の少なくとも1つを処理することは、
    (i)該第1のポジションから、該第1、第2、第3、第4、第5、または第6のボロノイ図の少なくとも1つに含まれる該複数のボロノイセルの該複数の頂点のうちの1つに、(a)該人間に制御されたチームに関連付けられた要素と、(b)該コンピュータ制御されたチームに関連付けられた要素とのうちの少なくとも1つを移動させることと、
    (ii)該第1、第2、第3、第4、第5、または第6のボロノイ図の少なくとも1つに含まれる該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に、(a)該人間に制御されたチームに関連付けられた要素と、(b)該コンピュータ制御されたチームに関連付けられた要素とのうちの少なくとも1つを移動させることと
    のうちの少なくとも1つを包含する、方法。
  19. ゲーム状況を自動的に解析するプログラムを生成する方法であって、
    複数のゲーム要素の各々のデータを格納するメモリを割り当てるステップであって、該データは、ゲームスペースにおける第1のゲーム要素の第1のポジションを少なくとも含む、ステップと、
    実行時に該複数のゲーム要素の間にボロノイ図を表わすデータを共に生成するプログラミング命令を提供するステップであって、該ボロノイ図は、複数のボロノイセルを含み、該複数のボロノイセルのそれぞれは、複数の頂点を有し、該プログラミング命令は、該メモリからデータを読み出し、該複数のゲーム要素を該ボロノイ図のボロノイサイトとして考える命令を含む、ステップと、
    該ボロノイ図を処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素が移動することを決定するさらなるプログラミング命令を提供するステップと
    を包含し、
    該さらなるプログラミング命令は、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させるプログラミング命令と、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させるプログラミング命令と
    のうちの少なくとも1つを含む、方法。
  20. プロセッサに結合された格納装置に格納されているコンピュータゲームのゲーム状況を解析する方法であって、
    該方法は、
    該プロセッサが、ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該複数のボロノイセル内に位置する複数のゲーム要素のうちの第1のゲーム要素の第1のポジションを決定するステップと、
    該プロセッサが、該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素が移動することを決定するステップと
    を包含し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理するステップは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、方法。
  21. 前記第2のポジションは、前記決定されたボロノイセル内の前記第1のゲーム要素の未来のポジションである、請求項20に記載の方法。
  22. 前記プロセッサが前記第1のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項21に記載の方法。
  23. 前記第1のゲーム要素は、コンピュータによって制御される、請求項21に記載の方法。
  24. 前記第1のゲーム要素は、前記ゲーム状況のオブジェクトを有しないゲーム要素である、請求項21に記載の方法。
  25. 前記第1のゲーム要素は、前記ゲーム状況の前記オブジェクトを有する第2のゲーム要素と同じチームである、請求項24に記載の方法。
  26. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素から前記未来のポジションの前記第1のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項25に記載の方法。
  27. 前記オブジェクトを有する前記第2のゲーム要素は、人間によって制御される、請求項25に記載の方法。
  28. 前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項21に記載の方法。
  29. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項28に記載の方法。
  30. 前記第1のポジションは、オブジェクトを有するゲーム要素のポジションに最も近いポジションであり、前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、ゲーム要素が、該オブジェクトを有する該ゲーム要素に最も近いポジションにあることを決定するステップを包含する、請求項20に記載の方法。
  31. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項20に記載の方法。
  32. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項20に記載の方法。
  33. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項20に記載の方法。
  34. プロセッサに結合された格納装置に格納されているコンピュータゲームのゲーム状況を解析する方法であって、複数のゲーム要素は、複数のチームのうちの1つのチームに関連付けられ、
    該方法は、
    該プロセッサが、ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該ゲームスペースにおいてオブジェクトを有する第1のゲーム要素を決定するステップであって、該オブジェクトは、第1のポジションを有する、ステップと、
    該プロセッサが、該第1のゲーム要素と同じチームの第2のゲーム要素を決定するステップと、
    該プロセッサが、該ゲームスペースにおいて該複数のボロノイセルのうちの1つのボロノイセル内の第2のゲーム要素の第1のポジションを決定するステップと、
    該プロセッサが、該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)該ゲームスペースにおいて該第2のゲーム要素の該第1のポジションから第2のポジションに該第2のゲーム要素が移動することを決定する、または、(b)該ゲームスペースにおいて該オブジェクトの該第1のポジションから第2のポジションに該オブジェクトが移動することを決定するステップと
    を包含し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)を決定するステップは、該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第2のゲーム要素を移動させることを包含し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(b)を決定するステップは、該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該オブジェクトを移動させることを包含する、方法。
  35. 前記第2のゲーム要素の前記第1のポジションは、前記同じチームに関連付けられた全てのゲーム要素のポジションに基づいた前記第1のゲーム要素に最も近いポジションである、請求項34に記載の方法。
  36. 前記第1のゲーム要素は、人間に制御されたプレイヤーであり、前記第2のゲーム要素は、コンピュータ制御されたプレイヤーである、請求項34に記載の方法。
  37. 前記第2のゲーム要素の前記第1のポジションは、前記ゲームスペース内の該第2のゲーム要素の未来のポジションである、請求項34に記載の方法。
  38. 前記プロセッサが、前記第2のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項37に記載の方法。
  39. 前記未来のポジションは、前記複数のゲーム要素内のゲーム要素を含まない、請求項37に記載の方法。
  40. 前記プロセッサが、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項37に記載の方法。
  41. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項40に記載の方法。
  42. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素から前記未来のポジションの前記第2のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項34に記載の方法。
  43. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項34に記載の方法。
  44. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項34に記載の方法。
  45. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項34に記載の方法。
  46. プロセッサに結合された格納装置の格納されているコンピュータゲームのゲーム状況を解析する方法であって、複数のゲーム要素は、複数のチームのうちの1つのチームに関連付けられ、
    該方法は、
    該プロセッサが、ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該プロセッサが、該複数のボロノイセル内に位置する該複数のゲーム要素の第1のゲーム要素の第1のポジションを決定するステップと、
    該プロセッサが、該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素が移動することを決定するステップと
    を包含し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理するステップは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、方法。
  47. 前記プロセッサが、第2のゲーム要素を決定するステップをさらに包含し、該第2のゲーム要素は、オブジェクトを有する、請求項46に記載の方法。
  48. 前記プロセッサが、前記第2のゲーム要素を前記第2のポジションまで移動させるステップをさらに包含する、請求項47に記載の方法。
  49. 前記第1のゲーム要素は、コンピュータによって制御され、前記第2のゲーム要素は、人間によって制御される、請求項47に記載の方法。
  50. 前記第1のゲーム要素および前記第2のゲーム要素は、コンピュータによって制御される、請求項47に記載の方法。
  51. コンピュータゲームのゲーム状況を解析する装置であって、
    該装置は、
    該コンピュータゲームを格納する格納装置と、
    該格納装置に結合されたプロセッサと
    を備え、
    該プロセッサは、
    ゲームスペースをそれぞれが複数の頂点を有する複数のボロノイセルに分割し、
    該複数のボロノイセル内の複数のゲーム要素のうちの第1のゲーム要素の第1のポジションを決定し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素が移動することを決定し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理するステップは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、装置。
  52. 前記第2のポジションは、前記決定されたボロノイセル内の前記第1のゲーム要素の未来のポジションである、請求項51に記載の装置。
  53. 前記プロセッサが、前記第1のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項52に記載の装置。
  54. 前記第1のゲーム要素は、コンピュータによって制御される、請求項52に記載の装置。
  55. 前記第1のゲーム要素は、前記ゲーム状況のオブジェクトを有しないゲーム要素である、請求項52に記載の装置。
  56. 前記第1のゲーム要素は、前記ゲーム状況の前記オブジェクトを有する第2のゲーム要素と同じチームである、請求項55に記載の装置。
  57. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素から前記未来のポジションの前記第1のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項56に記載の装置。
  58. 前記オブジェクトを有する前記第2のゲーム要素は、人間によって制御される、請求項56に記載の装置。
  59. 前記プロセッサが、前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項52に記載の装置。
  60. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項59に記載の装置。
  61. 前記第1のポジションは、オブジェクトを有するゲーム要素のポジションに最も近いポジションであり、前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、ゲーム要素が、該オブジェクトを有する該ゲーム要素に最も近いポジションにあることを決定するステップを包含する、請求項51に記載の装置。
  62. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項51に記載の装置。
  63. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項51に記載の装置。
  64. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項51に記載の装置。
  65. コンピュータゲームのゲーム状況を解析する装置であって、複数のゲーム要素は、複数のチームのうちの1つのチームに関連付けられ、
    該装置は、
    該コンピュータゲームを格納する格納装置と、
    該格納装置に結合されたプロセッサと
    を備え、
    該プロセッサは、
    ゲームスペースをそれぞれが複数の頂点を有する複数のボロノイセルに分割し、
    該ゲームスペースにおいて第1のポジションを有するオブジェクトを有する第1のゲーム要素を決定し、
    該第1のゲーム要素と同じチームの第2のゲーム要素を決定し、
    該ゲームスペース内の該複数ボロノイセルのうちの1つのボロノイセル内の第2のゲーム要素の第1のポジションを決定し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)該ゲームスペースにおいて該第2のゲーム要素の該第1のポジションから第2のポジションに該第2のゲーム要素が移動することを決定するか、または、(b)該ゲームスペースにおいて該オブジェクトの該第1のポジションから第2のポジションに該オブジェクトが移動することを決定し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)を決定することは、該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第2のゲーム要素を移動させることを包含し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(b)を決定することは、該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第オブジェクトを移動させることを包含する、装置。
  66. 前記第2のゲーム要素の前記第1のポジションは、前記同じチームに関連付けられた全てのゲーム要素のポジションに基づいた前記第1のゲーム要素に最も近いポジションである、請求項65に記載の装置。
  67. 前記第1のゲーム要素は、人間に制御されたプレイヤーであり、前記第2のゲーム要素は、コンピュータ制御されたプレイヤーである、請求項65に記載の装置。
  68. 前記第2のゲーム要素の前記第1のポジションは、前記ゲームスペース内の該第2のゲーム要素の未来のポジションである、請求項65に記載の装置。
  69. 前記プロセッサが、前記第2のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項68に記載の装置。
  70. 前記未来のポジションは、前記複数のゲーム要素内のゲーム要素を含まない、請求項68に記載の装置。
  71. 前記プロセッサが、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項68に記載の装置。
  72. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項71に記載の装置。
  73. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素から前記未来のポジションの前記第2のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項65に記載の装置。
  74. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項65に記載の装置。
  75. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項65に記載の装置。
  76. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項65に記載の装置。
  77. コンピュータゲームのゲーム状況を解析する装置であって、ゲーム要素は、複数のチームのうちの1つのチームに関連付けられ、
    該装置は、
    該コンピュータゲームを格納する格納装置と、
    該格納装置に結合されたプロセッサと
    を備え、
    該プロセッサは、
    ゲームスペースをそれぞれが複数の頂点を有する複数のボロノイセルに分割し、
    該複数ボロノイセルに位置する複数のゲーム要素の第1のゲーム要素の第1のポジションを決定し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素を移動することを決定し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理することは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、装置。
  78. 前記プロセッサが、第2のゲーム要素を決定するステップをさらに包含し、該第2のゲーム要素は、オブジェクトを有する、請求項77に記載の装置。
  79. 前記プロセッサが、前記第2のゲーム要素を前記第2のポジションまで移動させるステップをさらに包含する、請求項78に記載の装置。
  80. 前記第1のゲーム要素は、コンピュータによって制御され、前記第2のゲーム要素は、人間によって制御される、請求項77に記載の装置。
  81. 前記第1のゲーム要素および前記第2のゲーム要素は、コンピュータによって制御される、請求項77に記載の装置。
  82. コンピュータ読み取り可能な媒体に格納されたコンピュータプログラムであって、該コンピュータプログラムは、コンピュータに処理を実行させることによってコンピュータゲームのゲーム状況を解析し、
    該処理は、
    ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該複数のボロノイセル内の第1のゲーム要素の第1のポジションを決定するステップと、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素が移動することを決定するステップと
    を包含し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理することは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、コンピュータプログラム。
  83. 前記第2のポジションは、前記決定されたボロノイセル内の前記第1のゲーム要素の未来のポジションである、請求項82に記載のコンピュータプログラム。
  84. 前記プロセッサが前記第1のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項83に記載のコンピュータプログラム。
  85. 前記第1のゲーム要素は、コンピュータによって制御される、請求項83に記載のコンピュータプログラム。
  86. 前記第1のゲーム要素は、前記ゲーム状況のオブジェクトを有しないゲーム要素である、請求項83に記載のコンピュータプログラム。
  87. 前記第1のゲーム要素は、前記ゲーム状況の前記オブジェクトを有する第2のゲーム要素と同じチームである、請求項86に記載のコンピュータプログラム。
  88. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素から前記未来のポジションの前記第1のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項87に記載のコンピュータプログラム。
  89. 前記オブジェクトを有する前記第2のゲーム要素は、人間によって制御される、請求項87に記載のコンピュータプログラム。
  90. 前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項83に記載のコンピュータプログラム。
  91. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素の移動量、該第1のゲーム要素のスピード、該第1のゲーム要素の移動方向、および、該第1のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項90に記載のコンピュータプログラム。
  92. 前記第1のポジションは、オブジェクトを有するゲーム要素のポジションに最も近いポジションであり、前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、ゲーム要素が、該オブジェクトを有する該ゲーム要素に最も近いポジションにあることを決定するステップを包含する、請求項82に記載のコンピュータプログラム。
  93. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項82に記載のコンピュータプログラム。
  94. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項82に記載のコンピュータプログラム。
  95. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項82に記載のコンピュータプログラム。
  96. コンピュータ読み取り可能な媒体に格納されたコンピュータプログラムであって、該コンピュータプログラムは、コンピュータに処理を実行させることによってコンピュータゲームのゲーム状況を解析し、複数のゲーム要素は、複数のチームのうちの1つのチームに関連付けられており、
    該処理は、
    ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該ゲームスペースにおいてオブジェクトを有する第1のゲーム要素を決定するステップであって、該オブジェクトは、第1のポジションを有する、ステップと、
    該第1のゲーム要素と同じチームの第2のゲーム要素を決定するステップと、
    該ゲームスペースにおいて該複数のボロノイセルのうちの1つのボロノイセルの該第2のゲーム要素の第1のポジションを決定するステップと、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)該ゲームスペースにおいて該第2のゲーム要素の該第1のポジションから第2のポジションに該第2のゲーム要素が移動することを決定し、または、(b)該ゲームスペースにおいて該オブジェクトの該第1のポジションから第2のポジションに該オブジェクトが移動することを決定するステップと
    を包含し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(a)を決定するステップは、該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第2のゲーム要素を移動させることを包含し、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、(b)を決定するステップは、該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該オブジェクトを移動させることを包含する、コンピュータプログラム。
  97. 前記第2のゲーム要素の前記第1のポジションは、前記同じチームに関連付けられた全てのゲーム要素のポジションに基づいた前記第1のゲーム要素に最も近いポジションである、請求項96に記載のコンピュータプログラム。
  98. 前記第1のゲーム要素は、人間に制御されたプレイヤーであり、前記第2のゲーム要素は、コンピュータ制御されたプレイヤーである、請求項96に記載のコンピュータプログラム。
  99. 前記第2のゲーム要素の前記第1のポジションは、前記ゲームスペース内の該第2のゲーム要素の未来のポジションである、請求項96に記載のコンピュータプログラム。
  100. 前記プロセッサが、前記第2のゲーム要素を前記未来のポジションまで移動させるステップをさらに包含する、請求項99に記載のコンピュータプログラム。
  101. 前記未来のポジションは、前記複数のゲーム要素内のゲーム要素を含まない、請求項99に記載のコンピュータプログラム。
  102. 前記プロセッサが、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを決定するステップをさらに包含する、請求項99に記載のコンピュータプログラム。
  103. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第2のゲーム要素の移動量、該第2のゲーム要素のスピード、該第2のゲーム要素の移動方向、および、該第2のゲーム要素の速度のうちの少なくとも1つを用いることにより、前記未来のポジションを決定するステップを包含する、請求項102に記載のコンピュータプログラム。
  104. 前記複数のボロノイセルのうちの少なくとも1つを処理するステップは、前記第1のゲーム要素から前記未来のポジションの前記第2のゲーム要素に前記オブジェクトをパスするアクションを決定するステップを包含する、請求項96に記載のコンピュータプログラム。
  105. 前記複数のゲーム要素は、複数のサッカープレイヤーであり、前記ゲームスペースは、サッカー場を表わす、請求項96に記載のコンピュータプログラム。
  106. 前記複数のゲーム要素は、複数の野球プレイヤーであり、前記ゲームスペースは、野球場を表わす、請求項96に記載のコンピュータプログラム。
  107. 前記複数のゲーム要素は、複数のバスケットボールプレイヤーであり、前記ゲームスペースは、バスケットボールコートを表わす、請求項96に記載のコンピュータプログラム。
  108. コンピュータ読み取り可能な媒体に格納されたコンピュータプログラムであって、該コンピュータプログラムは、コンピュータに処理を実行させることによってコンピュータゲームのゲーム状況を解析し、複数のゲーム要素は、複数のチームのうちの1つのチームに関連付けられており、
    該処理は、
    ゲームスペースを複数のボロノイセルに分割するステップであって、該複数のボロノイセルのそれぞれは、複数の頂点を有する、ステップと、
    該複数のボロノイセルに位置する複数のゲーム要素のうちの第1のゲーム要素の第1のポジションを決定するステップと、
    該複数のボロノイセルのうちの少なくとも1つを処理することにより、該ゲームスペースにおいて該第1のポジションから第2のポジションに該第1のゲーム要素を移動することを決定するステップと
    を包含し、
    該第2のポジションは、該複数のゲーム要素のいずれも含まない該複数のボロノイセルのうちの1つに配置されており、
    該複数のボロノイセルのうちの少なくとも1つを処理することは、
    (i)該第1のポジションから該複数のボロノイセルのうちの1つにおける該複数の頂点のうちの1つに該第1のゲーム要素を移動させることと、
    (ii)該複数のボロノイセルのうちの少なくとも1つと交差するラインを識別し、該第1のポジションから該ライン上の点に該第1のゲーム要素を移動させることと
    のうちの少なくとも1つを包含する、コンピュータプログラム。
  109. 前記処理は、第2のゲーム要素を決定するステップをさらに包含し、該第2のゲーム要素は、オブジェクトを有する、請求項108に記載のコンピュータプログラム。
  110. 前記処理は、前記第2のゲーム要素を前記第2のポジションまで移動させるステップをさらに包含する、請求項109に記載のコンピュータプログラム。
  111. 前記第1のゲーム要素は、コンピュータによって制御され、前記第2のゲーム要素は、人間によって制御される、請求項109に記載のコンピュータプログラム。
  112. 前記第1のゲーム要素および前記第2のゲーム要素は、コンピュータによって制御される、請求項109に記載のコンピュータプログラム。
JP2003539803A 2001-10-26 2002-10-22 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用 Expired - Fee Related JP3943079B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/046,645 US6558258B1 (en) 2001-10-26 2001-10-26 Use in computer games of voronoi diagrams for partitioning a gamespace for analysis
PCT/US2002/033969 WO2003037464A1 (en) 2001-10-26 2002-10-22 Use in computer games of voronoi diagrams for partitioning a gamespace for analysis

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2006064889A Division JP2006172510A (ja) 2001-10-26 2006-03-09 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用
JP2006314906A Division JP2007044557A (ja) 2001-10-26 2006-11-21 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用

Publications (3)

Publication Number Publication Date
JP2005507722A JP2005507722A (ja) 2005-03-24
JP2005507722A5 JP2005507722A5 (ja) 2005-12-22
JP3943079B2 true JP3943079B2 (ja) 2007-07-11

Family

ID=21944593

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2003539803A Expired - Fee Related JP3943079B2 (ja) 2001-10-26 2002-10-22 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用
JP2006064889A Pending JP2006172510A (ja) 2001-10-26 2006-03-09 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用
JP2006314906A Pending JP2007044557A (ja) 2001-10-26 2006-11-21 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2006064889A Pending JP2006172510A (ja) 2001-10-26 2006-03-09 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用
JP2006314906A Pending JP2007044557A (ja) 2001-10-26 2006-11-21 コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用

Country Status (6)

Country Link
US (2) US6558258B1 (ja)
EP (1) EP1441820A1 (ja)
JP (3) JP3943079B2 (ja)
KR (1) KR100708494B1 (ja)
CN (1) CN100368042C (ja)
WO (1) WO2003037464A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3927821B2 (ja) * 2002-01-25 2007-06-13 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
WO2004013778A2 (en) * 2002-08-02 2004-02-12 Yazaki Corporation Method of calculating a wire packing diameter, apparatus therefor, and program therefor
US7136617B2 (en) * 2003-02-07 2006-11-14 Agilemath, Inc. Computer assisted game for teaching cooperative resource allocation and multi-party negotiation skills
JP4057945B2 (ja) * 2003-04-25 2008-03-05 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
JP3499863B1 (ja) * 2003-04-25 2004-02-23 株式会社ナムコ プログラム、情報記憶媒体及びゲーム装置
JP4316334B2 (ja) * 2003-09-25 2009-08-19 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US8187094B2 (en) * 2004-09-22 2012-05-29 Sega Corporation Game program
JP3880008B2 (ja) * 2004-12-21 2007-02-14 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
US7680038B1 (en) 2005-04-25 2010-03-16 Electronic Arts, Inc. Dynamic bandwidth detection and response for online games
WO2006137710A1 (en) * 2005-06-22 2006-12-28 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Beta-shape: compact structure for topology among spheres defining blending surface of sphere set and method of constructing same
JP4918982B2 (ja) * 2005-11-04 2012-04-18 株式会社セガ プログラム、プログラムが記録された記憶媒体およびゲーム装置
US20080183520A1 (en) * 2006-11-17 2008-07-31 Norwich University Methods and apparatus for evaluating an organization
JP4929061B2 (ja) * 2007-06-04 2012-05-09 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US8328637B2 (en) * 2007-06-21 2012-12-11 Microsoft Corporation Combat action selection using situational awareness
JP4838223B2 (ja) * 2007-11-02 2011-12-14 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP5214215B2 (ja) * 2007-11-02 2013-06-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US20110010245A1 (en) * 2009-02-19 2011-01-13 Scvngr, Inc. Location-based advertising method and system
US20100331089A1 (en) * 2009-02-27 2010-12-30 Scvngr, Inc. Computer-implemented method and system for generating and managing customized interactive multiplayer location-based mobile games
EP2489009B1 (en) * 2009-10-12 2013-12-11 K-Sport Di Marcolini Mirko Method for game analysis
US8780204B2 (en) * 2010-01-05 2014-07-15 Isolynx, Llc Systems and methods for analyzing event data
JP5009405B2 (ja) * 2010-09-02 2012-08-22 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
CN102136025A (zh) * 2010-12-31 2011-07-27 北京像素软件科技股份有限公司 非玩家控制角色的智能控制方法
KR101374347B1 (ko) * 2011-12-09 2014-03-26 (주)네오위즈게임즈 전술 단축키 서비스를 제공하는 방법, 단말기, 서버 및 기록매체
KR101297741B1 (ko) 2011-12-29 2013-08-20 (주)네오위즈게임즈 온라인 게임의 팀 기록 제공 방법 및 장치
US20140018167A1 (en) * 2012-07-11 2014-01-16 Ales Golli User manipulation of voronoi diagram game mechanics
US10576372B2 (en) 2013-10-11 2020-03-03 Supercell Oy Electronic device for facilitating user interactions with graphical user interface
CN104778373B (zh) * 2015-04-27 2017-12-29 百度在线网络技术(北京)有限公司 体育运动的战术识别方法和装置
US20160358406A1 (en) * 2015-06-03 2016-12-08 Ian Michael Daly Method and program product for sports betting
WO2017154700A1 (ja) * 2016-03-08 2017-09-14 株式会社コロプラ ゲーム制御方法、および、ゲームプログラム
CN107362535B (zh) * 2017-07-19 2019-04-26 腾讯科技(深圳)有限公司 游戏场景中的目标对象锁定方法、装置及电子设备
JP2019118461A (ja) * 2017-12-28 2019-07-22 株式会社 ディー・エヌ・エー 情報処理装置及び情報処理プログラム
CN108970124A (zh) * 2018-07-05 2018-12-11 腾讯科技(深圳)有限公司 组队匹配方法、装置、系统及可读介质
FR3093006B1 (fr) 2019-02-21 2021-09-10 Ecole Polytech Procédé d’analyse d’une occupation dynamique d’un terrain par deux équipes adversaires d’un jeu et système associé
US20230011393A1 (en) * 2019-12-06 2023-01-12 The Texas A&M University System Systems and methods for creating space-filling solid models

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933889A (en) * 1988-04-29 1990-06-12 International Business Machines Corporation Method for fine decomposition in finite element mesh generation
US5886702A (en) * 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities
US6054997A (en) * 1997-08-29 2000-04-25 Mitsubishi Electric Information Technology Center America, Inc. System and method for determining distances between polyhedrons by clipping polyhedron edge features against voronoi regions
JP2904775B1 (ja) * 1998-06-03 1999-06-14 コナミ株式会社 画像表示ゲーム装置、ゲーム装置の画像表示方法、ゲーム装置の画像表示プログラムを記録した媒体
US6384826B1 (en) * 1998-08-14 2002-05-07 Xerox Corporation Method, apparatus and computer medium for surface reconstruction by Voronoi filtering
US6774900B1 (en) * 1999-02-16 2004-08-10 Kabushiki Kaisha Sega Enterprises Image displaying device, image processing device, image displaying system
JP2001327758A (ja) * 2000-05-19 2001-11-27 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
JP3499863B1 (ja) 2003-04-25 2004-02-23 株式会社ナムコ プログラム、情報記憶媒体及びゲーム装置

Also Published As

Publication number Publication date
KR100708494B1 (ko) 2007-04-16
JP2005507722A (ja) 2005-03-24
JP2006172510A (ja) 2006-06-29
JP2007044557A (ja) 2007-02-22
CN100368042C (zh) 2008-02-13
US20050037826A1 (en) 2005-02-17
US20030083117A1 (en) 2003-05-01
US7588493B2 (en) 2009-09-15
US6558258B1 (en) 2003-05-06
WO2003037464A1 (en) 2003-05-08
CN1602220A (zh) 2005-03-30
KR20040058241A (ko) 2004-07-03
EP1441820A1 (en) 2004-08-04

Similar Documents

Publication Publication Date Title
JP3943079B2 (ja) コンピュータゲームにおける、解析のためにゲームスペースを分割するボロノイ図の使用
US10839215B2 (en) Artificial intelligence for emulating human playstyles
Nielsen et al. General video game evaluation using relative algorithm performance profiles
EP1470844A1 (en) Game executing method, information recording medium, game device, data signal and program
JP2004321598A (ja) プログラム、情報記憶媒体及びゲーム装置
do Nascimento Silva et al. On the development of intelligent agents for moba games
Lazaridis et al. Hitboxes: A survey about collision detection in video games
Berseth et al. Characterizing and optimizing game level difficulty
Huang et al. A self-play policy optimization approach to battling pokémon
Almeida et al. An automatic approach to extract goal plans from soccer simulated matches
CN112354182B (zh) 三维场景的生成方法和装置、存储介质和电子装置
Oliveira et al. A framework for metroidvania games
Tremblay et al. An algorithmic approach to analyzing combat and stealth games
Adhikari et al. Co-evolving real-time strategy game micro
Ayas et al. Artificial Intelligence (AI)-Based Self-Deciding Character Development Application in Two-Dimensional Video Games
Nguyen et al. Potential flows for controlling scout units in starcraft
Oakes Practical and theoretical issues of evolving behaviour trees for a turn-based game
JP2006271473A (ja) ゲームシステム及びサーバ
Temsiririrkkul et al. Production of Emotion-based Behaviors for a Human-like Computer Player
Polceanu et al. The believability gene in virtual bots
Abd El-Sattar A novel interactive computer-based game framework: From design to implementation
Nämerforslund Machine Learning Adversaries in Video Games: Using reinforcement learning in the Unity Engine to create compelling enemy characters
Zhan et al. [Retracted] Cooperation Mode of Soccer Robot Game Based on Improved SARSA Algorithm
Kowalski et al. Mapping chess aesthetics onto procedurally generated chess-like games
Fernández-Ares et al. Designing competitive bots for a real time strategy game using genetic programming.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20051208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20051215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060721

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061023

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070404

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110413

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120413

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees