CN100368042C - 分析计算机游戏的游戏情形的方法 - Google Patents
分析计算机游戏的游戏情形的方法 Download PDFInfo
- Publication number
- CN100368042C CN100368042C CNB028247809A CN02824780A CN100368042C CN 100368042 C CN100368042 C CN 100368042C CN B028247809 A CNB028247809 A CN B028247809A CN 02824780 A CN02824780 A CN 02824780A CN 100368042 C CN100368042 C CN 100368042C
- Authority
- CN
- China
- Prior art keywords
- key element
- recreation
- recreation key
- computer
- analysis
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing 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/422—Processing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling 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/537—Controlling 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/5375—Controlling 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/812—Ball games, e.g. soccer or baseball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/847—Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/30—Features 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/303—Features 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/305—Features 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/6045—Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
- A63F2300/6054—Methods 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods 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/646—Methods 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6607—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6623—Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/80—Features 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/8011—Ball
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30221—Sports 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 Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
在计算机游戏中,使用多个游戏要素的状态、通过确定该多个游戏要素(10)中的每一个的状态来分析游戏情形,使用游戏要素(10)中的至少一些作为芙诺以(Voronoi)位置在游戏要素当中产生芙诺以图的描述,并使用该芙诺以图(16)执行游戏情形的分析。该分析可以是空间分析和/或战术分析,以根据该战术分析确定计算机控制的实体的移动。游戏空间可以代表足球、棒球或篮球的运动空间。游戏要素的状态可以包括游戏要素的动量、速率和行进的方向(14)、速度和/或球队的协作。对于足球游戏分析,可能产生多重的芙诺以图并且使用该多重的芙诺以图进行分析。
Description
技术领域
本发明一般地涉及计算机技术,特别涉及在计算机游戏中使用计算机分析游戏情形并以图形形式显示分析结果。
背景技术
典型的竞赛类计算机游戏包括人对手和计算机对手。这种竞赛类计算机游戏包括国际象棋、汽车赛车、科幻游戏和体育游戏。对于能保持人对手的兴趣的游戏,它应该是人对手不是每次都取胜的足够好的对手。因此,即使是在几乎最简单的竞赛类计算机游戏中,也需要进行要素分析。对当前的游戏情形做这种分析,并且计算机游戏可以利用这种分析来确定计算机对手的下一行动。
例如,在游戏是国际象棋的情况下,对计算机游戏编程以分析游戏情形,即在棋盘上的象棋子的当前位置以及还可能有人对手走棋的历史记录,然后响应该游戏情形做出走什么棋子的决定。国际象棋的规则限制这种分析和响应,并且计算机仅需要决定对于每一步走棋,十六个或更少的棋子中的哪一个移动到限制在棋盘上的仅有的64个不同的位置中的多个空间中的一个。所以,确定所有的可能的走棋是一个简单的问题。当然,在国际象棋中计算机对手是很难编程的,但那是因为走棋必须预见其后的许多走棋。
对于赛车游戏,计算机操纵的赛车或对象仅需要沿着赛道快速地运动。对于科幻游戏,可能的动作可以是任意的。体育游戏和以现实的方式模仿真实世界行为的其他竞赛类游戏在某种程度上更困难,因为场地不再是一组较少的离散位置,并且游戏必须像人对手在对应的现实世界中期盼的行为那样进行。
作为一个例子,足球游戏包括几个选手和一自由运动在连续的二维空间内的任何地方的足球(如果考虑选手跳跃和足球高度可能是三维空间)。足球策略包括许多因素,例如设法确定选手的位置以致选手能够在没有对方队员阻挡的情况下向队友传球。为了使在人对手和计算机对手间进行的计算机化足球游戏令人感兴趣,计算机对手必须向人对手呈现出挑战,所以,计算机游戏必须对游戏情形进行深入分析,并确定如何移动和操纵计算机对手队员以呈现挑战。优选地,计算机分析足够地高效,以至在提供有限量的计算能力给计算机游戏的情况下,该游戏能分析游戏情形并实时形成适当的响应。
发明内容
在计算机游戏中,本发明的一个实施例使用多个游戏要素的状态、通过确定所述多个游戏要素的每一个的状态来分析游戏情形,把游戏要素的至少一些用作芙诺以位置(Voronoi site)在所述游戏要素间产生芙诺以图的描述,并且运用该芙诺以图执行游戏情形的分析。该分析是可以作为战术分析的基础以确定计算机控制的实体的运动的空间分析。在一特定的实施例中,游戏空间是二维的足球场并且游戏要素是有关联的球队的选手。游戏空间可以是三维游戏空间。游戏空间可以代表除足球场以外的棒球场、篮球场或其他游戏空间。
游戏要素的状态可以包括游戏要素的动量、速率、行进的方向、速度和/或球队的协作。对于足球场的分析可以包括确定在计算机控制的球队的选手之间的传球路线。对于足球游戏分析,可以产生多重的芙诺以图,例如用于没有守门员的每一球队的选手的芙诺以图,用于有守门员的每一球队的选手的芙诺以图和用于有和没有守门员的两队的选手的组合的芙诺以图,并使用多重的芙诺以图进行分析。
由以下详细描述和优选实施例,本发明的其他特征和优点将显而易见。
附图说明
图1为覆盖了芙诺以(Voronoi)图的足球场一部分的图示,用于根据本发明各方面进行的分析。
图2为在其中可以执行本发明的计算机游戏硬件系统方框图。
图3图示了用于游戏状态的数据结构的例子。
图4图示了确定选手下一动作的过程。
图5图示了用于分析的各种芙诺以图;图5(a)图示了没有守门员的第一队的芙诺以图;图5(b)图示了有守门员的该第一队的芙诺以图;图5(c)图示了没有守门员的第二队的芙诺以图;图5(d)图示了有守门员的该第二队的芙诺以图;图5(e)图示了两队都没有守门员的芙诺以图;以及图5(f)图示了两队都有守门员的芙诺以图。
图6(a)为被芙诺以图划分的场地的透视图,用于确定触到越位线的跑动。
图6(b)为被芙诺以图划分的场地的透视图,用于确定传球区域。
图6(c)为两队的德劳内(Delaunay)三角剖分图,用于标记分析。
图6(d)为根据场地显示透视图的两队的另一德劳内(Delaunay)三角剖分图。
具体实施方式
参照附图在此描述本发明的实施例。在用附图标记调出图形要素的情况下,应该理解相似的附图标记指相似的要素,并且可以或不必是要素的同一实例。
在整个说明书中参照芙诺以(Voronoi)图。在空间中给出一组被指定为“芙诺以位置(Voronoi sites)”的点,该空间能被划分成区域(“芙诺以单元”)的集合,以致每一芙诺以位置有一关联的芙诺以单元,并且在关联的芙诺以单元内的每一点比其它任何位置更靠近该单元的位置。如在此所使用的,“芙诺以分割”是用于指将空间分割为芙诺以单元的过程的术语,并且芙诺以图是这些芙诺以单元的指示。
应该理解有许多种描述表示芙诺以图的相同信息的方法。在空间不受曲线限制的情况下,可通过有限数量的单元最高点的位置来描述每一单元。因此芙诺以图的描述的产生不应被认为局限于产生这样的图的显示,而是可以包含产生关于单元界限的信息的任一方式。
芙诺以图的一些定义被定义为平面的划分,但是应该理解,在此该定义不是如此受限的,在此描述的方法和装置可以被用于划分三维的(或N维的)空间,该空间可以是凸起的、凹入的、无限的、弯曲的、多边形的或这些特征的一些组合。芙诺以位置可以是点,或它们可以是多边形的或其他空间对象。
芙诺以图在数学领域中是很著名的,并且许多计算方法用于从一组位置产生芙诺以图,所以其定义以及用于产生芙诺以图的传统方法和装置的细节在此不需介绍。可使用传统的方法,但是在一些情形中,需要更高的性能,在这些情形中用于执行这里描述的芙诺以分割的某些或全部的计算变化可以被使用。
图1为一足球场地的描绘的一部分透视图,一芙诺以图覆盖其上。这里,芙诺以空间是一足球场(在二维空间中),并且芙诺以位置与其中一队的选手(包括那支队的守门员)的位置相一致。示出图1,以说明对用于产生这些图并把这些图用于计算机游戏中的分析的装置和方法的以下描述。参照图1,图示了带有较暗队颜色的两个选手和较亮队颜色的三个选手。较暗队选手之一是当前持球者10,而另一个是潜在的传球接球者11。线12是足球场的线,其被包括在此以显示相对的场地位置并表示足球场。图中的其他线表示芙诺以单元间的划分并且表示芙诺以图。
如在此所说明的,使用芙诺以图、边缘或最高点的一个分析是对在没有对手能拦截传球的情况下如何传球的分析。作为一个例子,足球的目标可以是沿着划分选手11的芙诺以单元16的线段14。因为芙诺以分割,可以知道线段14上的所有的点比起任一其他选手来更靠近选手11,并且不必检验或取样许多候补点就可获得这样的认识。
图2所示框图显示了在其中可以执行本发明的简单的计算机游戏硬件系统100。所示的系统100包括控制台102,该控制台102耦合到显示器104和用于与游戏用户交互的输入/输出(I/O)装置106。所示的控制台102包括处理器110、程序代码存储器112、临时数据存储器114和图形处理器116。
程序代码存储器112可以是ROM(只读存储器)、RAM(随机存取存储器)、硬盘、其他磁性存储器、光存储器、其他存储器或这些存储器的组合或变化。在常见的布置中,部分程序代码存储在可编程的ROM(ROM、PROM、EPROM、EEPROM等)中,并且部分程序代码存储在可移动介质例如CD-ROM 120(如图示)中,或者可以被存储在盒式磁带、存储器芯片等中,或者通过网络或其他需要的电子通道获得。
临时数据存储器114可用于存储变量和其他游戏及所需的处理器数据。典型地,临时数据存储器114为RAM并容纳在玩游戏期间产生的数据,例如每一选手的状态(位置、方向等)和例如芙诺以分割结果这样的用于分析而产生的数据。
图3说明了在玩游戏时可以存储在临时数据存储器114中的游戏状态的数据结构的实例。如图示,游戏状态结构被分为第一队结构和第二队结构,并且每一队结构被分为选手结构。显示出每一选手结构都具有与一个选手关联的数据。在图中所示的例子中,队“A”的第一选手结构带有表示该选手的号码(23)、选手位置(FB-后卫)、场上位置(0.497,0.386)等的选手数据。如图示,游戏结构也包括用于足球位置、球速、当前得分、游戏时间等的结构。
应该理解图2-3示出了可以使用在发明的方法和装置的计算机游戏系统的实例并且本发明不局限于该实例。因此,本发明可以与不同于图2中所示的硬件布置和不同于图3中所示的数据结构一起使用。
图4说明了确定选手(通常是计算机控制的队的选手)下一动作的过程。典型地,该过程是由游戏序列中的更高级别操作启动的,并且图中所示的过程结果被该更高级别的操作所使用。例如,该更高级别的操作可以是一运行该游戏和与用户交互的主程序,图4所示的过程是当主程序需要作出动作时被调用的子程序。应该理解通过战术分析过程确定的“下一动作”可以是一离散的动作,就如在国际象棋和其他游戏中常见的那样,或者它可以是一不太离散地定义的动作,例如游戏要素一般向游戏空间位置的移动或推动。该分析可以只单独用于确定下一动作,或者用于确定下一序列动作或策略。
图示的方法从游戏状态的估计(步骤1)开始。这可以包括确定每一相关的选手在哪,他们的动量,足球的位置,游戏时间等。一旦游戏状态被评定,场地就被分为芙诺以单元(步骤2)。如在此所说明的,这些单元可以被定义为距离位于选手位置处的它们各自位置最近的点的集合。然而,在一些实施例中,度量(metric)并不总是统一的,直线距离度量可能是距离和/或其他变量的加权的和/或非线性的度量。
游戏状态典型地是瞬时状态,例如,它随时间改变。所以,作为结果的芙诺以分割也可以随时间改变。当然,游戏状态可能不同于即时快照,它可以考虑最近的游戏事件和当前时刻的状态。要保持最新的芙诺以分割的重算的频率可以按需要考虑玩游戏的等级(越复杂的过程可能需要更快的更新)和处理能力(较慢的机器可能用较慢频率的更新进行)而变化。在一些具体实现中,重算的速率同游戏窗口更新速率相同步。
一旦场地被划分,作为结果的芙诺以图就用于分析可能的动作(步骤S3)。动作包括将选手移动到哪里,将足球移动到哪里,何时何地进行传球等。该图也可以用于确定多个选手动作,例如在传球者传球给接球者之前如何移动传球者和接球者,或何时及如何移动守门员以阻止射门。应该理解不需要实际地产生实际的芙诺以图,并且战术引擎或其他执行分析的计算机元件仅需要有该芙诺以图的结果的描述,例如芙诺以最高点、边缘和/或类似的结果的描述的指示。在动作包括头球、横传球、角球等的情况下,可以考虑第三维(高度)。
一旦在步骤S3确定了可能的动作,则可以考虑其他的因素(步骤S4),例如考虑规则强加的约束,例如越位和界外规则。例如,如果分析确定潜在的接球者事实上在界外或越位,该分析可能被调整以便不传球给此人。一旦考虑了其他的因素,战术引擎就决定要采取的动作(步骤S5)。
执行芙诺以分割的步骤(步骤S2)可以是产生一个芙诺以图(或芙诺以图的描述)的步骤,但是它也可以是产生多个芙诺以图的步骤,每一个对应于一不同组的位置。具体而言,一个芙诺以图使用足球场地上的足球选手的位置(position)作为这些位置(site),在步骤S3中的分析将步骤S2(划分)的结果同足球游戏的其他几何特性相结合,以便为计算机和人控制的选手计算战术选项。其他几何特性的例子包括客观特性,例如越位线的当前位置,半场线或罚球区(用于定义守门员在哪里可以使用他的或她的手以及在哪里防守犯规导致罚球)。几何特性也可能包括赋予给游戏空间的区域的主观特性,例如定义“侧翼”,其或者被定义有明确边界的区域,或者被定义为具有从侧翼内到侧翼外的过渡的区域。其他的主观特性可以包括“射门区”。除了客观和主观特性外,该分析也可以包括导出特性,例如预料的选手头球。
组合对于计算多种战术信息是有用的,例如确定在场上进攻的和防守的队员应该将他们自己定位在哪里,确定选手应该在何地做进攻跑动,确定选手应该何时何地运球,确定选手应该何时何地传球,确定战术模式匹配,确定防守标记逻辑,确定冲撞避免/察觉和/或确定战术的屏幕上指示符。以下将进一步描述怎样确定战术信息的细节,例如将选手至于何处。
在一特定的实施例中,战术分析使用六种不同的芙诺以图,如图5所示。其中两队被标为“A队”(通过填充的正方形显示)和“B队”(通过开圆显示),该六图(及以下使用的简写形式)为:
图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)。在用于足球游戏的修改中,标准的增量算法用于第一次传球,然后贯穿游戏的剩余部分,用于初始化增量算法的最初的推测基于先前的芙诺以图。这对于在类似于足球游戏的其他应用中也是有用的,其中每当计算该图时,期望这些位置仅移动很小量。
此外,计算这些图的工作可被分成三个框架,在第一个框架中计算主队的图,在第二个框架中计算客队的图,在第三个框架中基于前面的两个计算来计算两队的图,以提高效率。选手的当前位置可被用作芙诺以分割的位置,但是也可以代替使用预测的选手未来位置,其中该预测是基于选手的当前位置和当前动量(或速率、速度等)。在一实例中,仅用选手的位置将不能说明对于选手而言,较之在他身后的点他更容易到达在他身前的点这一事实。通过在运动方向上并与选手的速度成比例使选手的位置向前偏移一点,使用标准线性度量而非使用考虑了动量和转向的度量,图的更接近的近似是可能的。而且,后者过于昂贵而难以计算。
空间和战术分析
现在将描述可被用作使用芙诺以分割结果(即,使用芙诺以图或芙诺以图的描述)的战术分析的基础的空间分析的几个例子。在这些例子中,场地是一足球场并且两队为A队和B队。取决于实现,任一支队可以是计算机控制的队同时另一支队是人用户控制的队。作为选择,两支队都可以是人用户控制的队或两支队都可以是计算机控制的队。典型的计算机游戏可以包括能够为计算机控制的队和/或人用户控制的队产生策略决定的战术引擎。在后一种情况中,决定可以是学习模式或帮助模式的一部分,并且可以在人用户想在没有帮助的情况下做所有的策略决定的竞争模式中被关闭。
选手定位是可以在游戏中被执行的一种分析。选手定位分析可用于确定如何移动或重新定位选手的位置。例如,可以检查不同的芙诺以图以识别离足球最近的选手以及作为该选手“最近的邻居”的队友和/或对手。根据从选手O到邻居的画线,能确定传球路线,然后可以使用另一芙诺以图计算哪些队友离这些传球路线最近。基于这些信息,队友为了传球移向这些线而定位自己。通过对手采取的队信息,例如4-4-2或3-5-2信息,可以通知选手定位和其他策略。
利用VD-AB(或有时是VD-ABg)计算进攻跑动。通过图6(a)说明此例。如果进攻队(A队)的任一选手具有在比越位线更靠近B队的球网的VD-AB上的芙诺以最高点,那么这个选手通过跑到那个最高点(图中的最高点602)做一进攻。当选手意识到他/她能在此场地的其他任何人之前到达那块空间时,这模拟了该选手的行为。由于该点超过了越位线(图中的线604),跑动可能导致过早起跑(breakaway)。应该考虑使用最适当的芙诺以图,根据说明书这一点应该是显而易见的。例如,如果VD-AB用于守门员可能出现的场地区域中的进攻跑动,足球可能传给或靠近对方守门员,反之如果使用VD-ABg,则会考虑守门员的位置。
除了确定进攻跑动外,上述的进攻跑动过程可被防守队员使用,以识别在他们防守位置的漏洞并相应地调整。
运球时避免冲撞是另一种战术分析。利用这种分析,要使带球运队员在场上运球到目标点,该选手应该从距目标点最近的VD-AB向芙诺以最高点运球。作为结果的行为使选手快速到达该点,其间避开队友和对手,以一种看起来很像足球选手的方式移动,适当的时候包括假动作和突然的方向变化。
传球决定可以使用VD-ABg以确定在哪里传球给队友最好。分析的目的是将球传到在VD-ABg内的当前持球者(称为“BH选手”)的芙诺以单元内的一点。这通过图6(b)说明,其中传球者612考虑传球给队友613。如图示,有两个选手可以是适合的接球者。可使用其他图,例如VD-AB,但是如果不考虑守门员,足球可能这样被传递以致对方守门员能先到达足球,通常这是不希望的。
可以使用几项技术确定足球将传递到的目标点。在一项技术中,计算机将BH的面向向量和接球者的芙诺以单元相交,以便沿着那条相交(intersection)线获得一系列可能的接收点。这些点是沿着图6(b)中的相交线段614的点,其中相交线段614(a)是接球者613(a)将接到传球并能在任一其他选手之前到达的那组点,相交线段614(b)是接球者613(b)将接到传球并能在任一其他选手之前到达的那组点。来自传球者的相交线段的方向可以是接球者的移动向量的方向,或者是由计算机或用户选择的另一方向。另外,该分析可以寻找最能引导接球者的接球者芙诺以单元内的点,同时依然确保该接球者首先到达球。考虑相交线段,可以这样确定推荐的踢球力量,以致球以优选的或最佳的速度、在优选的或最佳的时刻到达接球者的芙诺以单元。
芙诺以图的布局,例如VD-B,能用于战术模式匹配。取决于要识别什么样的模式,其他芙诺以图可以被保存并用于匹配特征。当在足球游戏中识别了形势时,芙诺以图的布局可以被保存。这包括边缘角、边缘长度、芙诺以邻居和芙诺以单元面积。当在随后的游戏中识别出相同的布局时,可以根据先前确定的适合于该特定情形的行为采取行动。因此,不同的游戏状态可以被类推到相似的游戏情形中,以致相对少的先前确定的行为能被储存并响应相对较大数量的游戏状态而被使用。
对于“防守标记逻辑”,在指定的选手的VD-AB中的芙诺以邻居用于确定该选手要标记的潜在对手。“标记”是防守选手决定要盯住哪个进攻队员的过程。这是非常有效的,因为它减少了在标记算法中需要考虑的选手的数量。作为选择,可以使用Delaunay(德洛内)三角剖分图。德洛内三角剖分图是芙诺以图的“双重”(dual),并且包含在共享边缘的单元内的芙诺以位置对之间所画的线段。在图6(c)中示出了德洛内三角剖分图一部分的例子。其中,队友间的线被除去(仅剩下配对共享芙诺以单元边缘的对手的线)。这些线表示用于标记的适合的候选者。应该理解,在某些分析中德洛内三角剖分图可以是芙诺以图的合适替代者。图6(d)为其上覆盖了德洛内三角剖分图的足球场表示的透视图。
除了基本的六幅图外,在分析中能使用其他的芙诺以图。例如,可以执行这样的分析,其中受伤选手(可能受伤,但是没有离开场地)可以从图上被排除,从而他们不被考虑。在其他图中,来自一队的选手可能被加到他们的对手队,以获得稍有不同的芙诺以图。在又一个图中,持球者移动到对方队的芙诺以图中。应该理解,在一般情况中,可以容易的利用来自一队或两队的任意一组选手创建芙诺以图用于分析。虽然比赛裁判在正常情况下不应该考虑,但也可以在适当的地方包括他们。
可在屏幕上呈现一个或更多的芙诺以图。在呈现CD-AB或VD-Abg的情况下,每一队的单元可以被标以不同的颜色。这将使人用户察觉他或她的队的空间拥有并给出战术的有利条件。其变化可能是仅在屏幕的边缘呈现芙诺以图。这将使用户得到关于屏幕外的选手位于何处以及屏幕外的选手获得的可能成功的概念。
通过回顾该公开,芙诺以图的其他用途将是显而易见的。例如,无论何时战术引擎需要确定谁拥有场上的点以及哪个选手靠近其他选手,都可以使用用于足球游戏的一个或多个芙诺以图。点的所有权用于传球和标记用途,因为它指出谁能首先到达该点。“标记”指的是防守选手决定在哪里或盯住什么对手。还有,其他用途包括估计“传切战术(give and go)”传球、跑动、新的传球模式和“通过空挡传球逻辑”。利用芙诺以图的几何学,可以立刻分配场地的所有点,使得与必须分别测试每一感兴趣的点相比,对要做什么的战术评定更容易、更彻底。
在芙诺以空间是棒球场地的情况下,相应的战术引擎可能需要确定谁将试图抓住飞行的球等。以上所述的技术也可用于实时的策略游戏,其中可以用相似的技术执行战斗分析和战术规划。仿真游戏,资源(学校、消防队等)的最佳布置的规划可以使用包括此处描述的一些技术的空间分析。在一些游戏中,例如实时的策略游戏,可以仅通过游戏中的选手或角色定义芙诺以单元,但是一些图也可包括其他对象,例如建筑物、布雷区和能被归纳为用于靠近或远离的对象的其他障碍物。
用于计算机游戏中分析的系统连同其几个变化一起已被描述。芙诺以分割的使用使游戏策略问题得到快速解决,例如以高效的和一致的方式确定空间的所有权和选手的接近。在该信息被一次性计算并贯穿在实现游戏的程序代码中被引用的情况下,提高了战术代码的效率和易懂性。另外,这些技术使计算机控制的对手具有更逼真的和动态的行为。在此描述的方法对于设想和实现计算机游戏中的新特征是极其有用的。
现在已参考优选实施例描述了本发明。可供选择的方法和替代对于本领域技术人员将显而易见。仅仅通过距离的方式,上述的芙诺以图采用分割度量(即,用于分割空间的规则)是统一的并且是距离度量。然而,本发明也能应用于其中空间被一函数而不是正好到芙诺以位置的距离划分或者其中不同位置的度量是不同的芙诺以分割。
例如,不是由到两个位置等距离的一组点定义这两个位置之间的芙诺以边缘,而是可以通过这样一组点来定义该边缘,其中到一个位置的距离的权重要大于到另一位置的距离的权重,或者其中在边缘的每一点处都相同的函数不仅仅是到这些位置的线性函数。这种函数可用于这样的游戏环境中,其中选手被赋予不同的“强度”函数,并且这些函数用于执行芙诺以分割。因此,可以利用据此进行的芙诺以分割,赋予队中的选手以力量、敏捷度和速度属性。如果实现,这可以是计算机分析执行实际的足球选手在一些情形中可能考虑的相同分析的方法,例如如果最近的对手是一般的选手,足球选手在一方向上把球踢到哪里,但是当识别最近的对手是高于一般水平的选手时以不同的角度踢球使球进一步远离最近的对手。
作为变化的另一个例子,许多游戏可以准许两个人对手互相对抗,在此情形中计算机可以不必执行游戏的任何分析。然而,无论如何游戏能执行分析来帮助一个玩家或双方玩家。作为又一例子,计算机游戏可以是与体育无关的策略游戏,例如仿真游戏。
因此,除了所附权利要求所提供的以外,上述说明不是意图限制本发明。
Claims (94)
1.一种分析计算机游戏的游戏情形的方法,其中所述游戏情形取决于多个游戏要素的状态,其中所述计算机游戏根据包括多个程序调度程序的指令在计算机上执行,所述方法包括:
使用所述计算机确定所述多个游戏要素中的每一个的状态,其中游戏要素的所述状态至少包括所述游戏要素在游戏空间中的位置;
使用所述计算机利用所述游戏要素中的一个或多个作为芙诺以位置来生成所述游戏要素间的芙诺以图的描述;以及使用所述计算机利用所述芙诺以图执行所述游戏情形的分析。
2.根据权利要求1所述的方法,其中所述执行分析的步骤是执行所述游戏空间和游戏要素的空间分析的步骤。
3.根据权利要求1所述的方法,其中所述执行分析的步骤是执行所述游戏情形的战术分析的步骤,并且进一步包括根据所述战术分析确定计算机控制的实体的移动的步骤。
4.根据权利要求3所述的方法,其中所述计算机控制的实体是所述多个游戏要素中的一个。
5.根据权利要求3所述的方法,其中所述计算机控制的实体是由所述多个游戏要素中的多个表示的队。
6.根据权利要求1所述的方法,其中所述游戏空间是二维空间。
7.根据权利要求1所述的方法,其中所述游戏空间是三维空间。
8.根据权利要求1所述的方法,其中所述游戏要素是选手,每个选手和一个队相关联。
9.根据权利要求1所述的方法,其中所述游戏要素是足球选手,并且所述游戏空间代表足球场。
10.根据权利要求9所述的方法,其中所述足球选手包括两队的选手,每一队包括多个非守门员和一个守门员。
11.根据权利要求1所述的方法,其中所述游戏要素是棒球选手,并且所述游戏空间代表棒球场。
12.根据权利要求1所述的方法,其中所述游戏要素是篮球选手,并且所述游戏空间代表篮球场。
13.根据权利要求1所述的方法,其中游戏要素的所述状态包括所述游戏要素的动量。
14.根据权利要求1所述的方法,其中游戏要素的所述状态包括所述游戏要素的速率。
15.根据权利要求1所述的方法,其中游戏要素的所述状态包括所述游戏要素的行进方向。
16.根据权利要求1所述的方法,其中游戏要素的所述状态包括所述游戏要素的速度。
17.根据权利要求1所述的方法,其中所述游戏要素代表足球选手,并且所述执行分析的步骤是执行战术分析以确定如何移动给定了球位置的计算机控制的队的选手的步骤。
18.根据权利要求17所述的方法,进一步包括在所述计算机控制的队的选手之间确定传球路线的步骤。
19.一种分析计算机化的足球游戏的游戏情形的方法,其中所述游戏情形取决于多个足球选手要素的状态,其中所述计算机游戏根据包括多个程序调度程序的指令在计算机上执行,所述方法包括:
使用所述计算机确定所述足球选手要素每一个的状态,其中足球选手要素的所述状态至少包括所述足球选手要素在游戏空间中的位置,所述游戏空间代表足球场,并且所述足球选手要素每一个都与两队中的一支相关联,以及与每一队关联的一个足球选手要素被识别为守门员要素,其中所述两队为人控制的队和计算机控制的队;
使用所述计算机把来自所述人控制的队的足球选手要素用作芙诺以位置生成第一芙诺以图的描述;
使用所述计算机把来自所述计算机控制的队的足球选手要素用作芙诺以位置,产生第二芙诺以图的描述;
使用所述计算机把所述人控制的队的足球选手要素和所述计算机控制的队的足球选手要素用作芙诺以位置,生成第三芙诺以图的描述;
使用所述计算机把除了所述人控制的队的所述守门员要素以外的所述人控制的队的足球选手要素用作芙诺以位置,生成第四芙诺以图的描述;
使用所述计算机把除了所述计算机控制的队的所述守门员要素以外的所述计算机控制的队的足球选手要素用作芙诺以位置,生成第五芙诺以图的描述;
使用所述计算机把除了每一队的所述守门员要素以外的所述人控制的队和所述计算机控制的队的足球选手要素用作芙诺以位置,生成第六芙诺以图的描述;以及使用所述计算机利用第一、第二、第三、第四、第五或第六芙诺以图的至少之一执行所述游戏情形的空间或战术分析。
20.根据权利要求19所述的方法,进一步包括根据所执行的分析确定所述计算机控制的队的移动的步骤。
21.根据权利要求19所述的方法,进一步包括根据所执行的分析确定所述人控制的队的移动的步骤。
22.根据权利要求19所述的方法,进一步包括根据所执行的分析确定向所述人控制的队建议的移动的步骤。
23.一种分析计算机游戏的游戏情形的方法,其中所述游戏情形取决于多个游戏要素的状态,其中所述计算机游戏根据包括多个程序调度程序的指令在计算机上执行,所述方法包括:
使用所述计算机确定所述多个游戏要素中的每一个的状态,其中游戏要素的所述状态至少包括所述游戏要素在游戏空间中的位置;
使用所述计算机把所述游戏要素中的一个或多个用作芙诺以位置,生成德劳内三角剖分图的描述;以及
使用所述计算机利用所述德劳内三角剖分图执行所述游戏情形的分析。
24.根据权利要求23所述的方法,其中所述执行分析的步骤是执行所述游戏空间和游戏要素的空间分析的步骤。
25.根据权利要求23所述的方法,其中所述执行分析的步骤是执行所述游戏情形的战术分析的步骤,并且进一步包括根据所述战术分析确定计算机控制的实体的移动的步骤。
26.根据权利要求23所述的方法,其中所述游戏要素是足球选手,并且所述游戏空间代表足球场。
27.根据权利要求23所述的方法,其中所述游戏要素代表足球选手,并且所述执行分析的步骤是执行战术分析以确定如何移动计算机控制的队的选手的步骤。
28.一种使用计算机用于生成程序以自动分析游戏情形的方法,包括:
分配用于为多个游戏要素的每一个存储数据的游戏计算机可存取的存储器,其中用于游戏要素的数据包括用来所述游戏要素的位置;
包括在通过所述游戏计算机运行时共同生成在所述多个游戏要素之间代表芙诺以图的数据的程序指令,其中所述程序指令包括从所述存储器读取数据并且以游戏要素作为所述芙诺以图的芙诺以位置的指令;以及
包括可由所述游戏计算机执行的附加程序指令以利用所述芙诺以图分析所述游戏情形。
29.一种使用计算机分析可在所述计算机上执行的计算机游戏的游戏情形的方法,所述方法包括:
使用所述计算机将游戏空间分割成为多个单元;
使用所述计算机确定多个游戏要素的每一个的状态,其中游戏要素的所述状态至少包括所述游戏要素在所述多个单元中的位置;
使用所述计算机选择所述多个单元中的一个单元内的位置,所述位置不包括任何游戏要素;以及
使用所述计算机利用游戏要素在所述选择的位置相关的所述游戏空间内的位置执行所述游戏情形的分析。
30.根据权利要求29所述的方法,其中执行所述分析包括确定在所述确定的单元内所述游戏要素未来的位置。
31.根据权利要求30所述的方法,进一步包括使所述游戏要素移动到所述未来的位置。
32.根据权利要求30所述的方法,其中所述游戏要素包括计算机控制的实体。
33.根据权利要求30所述的方法,其中所述游戏要素为在所述游戏情形中不拥有对象的游戏要素。
34.根据权利要求33所述的方法,其中所述游戏要素与在所述游戏情形中拥有所述对象的第二游戏要素在同一队。
35.根据权利要求34所述的方法,其中拥有所述对象的所述第二游戏要素是传球者,并且所述游戏要素是接球者,其中执行所述分析包括确定从所述传球者传递所述对象到在所述未来的位置处的所述接球者的动作。
36.根据权利要求34所述的方法,其中拥有所述对象的所述第二游戏要素包括人控制的实体。
37.根据权利要求30所述的方法,其中所述游戏要素的所述状态包括所述游戏要素的动量、所述游戏要素的速率、所述游戏要素的行进方向和所述游戏要素的速度中的至少一个。
38.根据权利要求37所述的方法,其中执行所述分析包括利用所述游戏要素的所述动量、所述游戏要素的所述速率、所述游戏要素的行进方向和所述游戏要素的速度中的至少一个来确定所述未来的位置。
39.根据权利要求29所述的方法,其中所述确定的单元不包括所述多个游戏要素中游戏要素的单元。
40.根据权利要求29所述的方法,其中所述游戏要素的位置是最靠近拥有对象的游戏要素的位置,其中执行所述分析包括确定所述游戏要素是在最靠近拥有所述对象的所述游戏要素的所述位置。
41.根据权利要求29所述的方法,其中所述游戏要素为足球选手,并且所述游戏空间代表足球场。
42.根据权利要求29所述的方法,其中所述游戏要素为棒球选手,并且所述游戏空间代表棒球场。
43.根据权利要求29所述的方法,其中所述游戏要素为篮球选手,并且所述游戏空间代表篮球场。
44.一种使用计算机分析将在所述计算机上执行的计算机游戏的游戏情形的方法,所述游戏的要素与多个队中的一队相关联,所述方法包括:
使用所述计算机将游戏空间分割成多个单元;
使用所述计算机确定在所述游戏空间中拥有对象的第一游戏要素;
使用所述计算机确定与所述第一游戏要素在同一队的第二游戏要素;
使用所述计算机确定第二游戏要素的状态,其中所述第二游戏要素的所述状态至少包括在所述游戏空间中的所述多个单元中的一个单元内的所述第二游戏要素的位置;以及使用所述计算机利用所述第二游戏要素的所述位置的执行所述游戏情形的分析。
45.根据权利要求44所述的方法,其中根据与所述同一队相关联的所有游戏要素的位置,所述第二游戏要素的位置是最靠近所述第一游戏要素的位置。
46.根据权利要求44所述的方法,其中所述第一选手为人控制的选手,所述第二选手为计算机控制的选手。
47.根据权利要求44所述的方法,其中执行所述分析包括为所述第二游戏要素确定动作。
48.根据权利要求47所述的方法,其中确定所述动作包括为所述第二游戏要素确定在所述游戏空间中的未来的位置。
49.根据权利要求48所述的方法,进一步包括使所述第二游戏要素移动到所述未来的位置。
50.根据权利要求48所述的方法,其中所述未来的位置不包括在所述多个游戏要素中的游戏要素。
51.根据权利要求48所述的方法,其中所述第二游戏要素的所述状态包括所述游戏要素的动量、所述游戏要素的速率、所述游戏要素的行进方向和所述游戏要素的速度中的至少一个。
52.根据权利要求51所述的方法,其中执行所述分析包括利用所述游戏要素的所述动量、所述游戏要素的所述速率、所述游戏要素的行进的方向和所述游戏要素的速度中的至少一个来确定所述未来的位置。
53.根据权利要求44所述的方法,其中所述第一游戏要素是传球者并且所述第二游戏要素是接球者,其中执行所述分析包括确定从所述传球者传递所述对象到在所述未来的位置处的所述接球者的动作。
54.根据权利要求44所述的方法,其中所述游戏要素是足球选手,并且所述游戏空间代表足球场。
55.根据权利要求44所述的方法,其中所述游戏要素是棒球选手,并且所述游戏空间代表棒球场。
56.根据权利要求44所述的方法,其中所述游戏要素是篮球选手,并且所述游戏空间代表篮球场。
57.一种使用计算机分析可在所述计算机上执行的计算机游戏的游戏情形的方法,所述游戏要素与多个队中的一队相关联,所述方法包括:
使用所述计算机将游戏空间分割成多个单元,其中所述游戏要素被置于所述多个单元中的多个单元内;
使用所述计算机在所述多个单元的一个单元内选择位置,所述位置不包括任何游戏要素;
使用所述计算机确定游戏要素的状态,其中所述游戏要素的所述状态至少包括所述游戏要素在所述游戏空间中的位置;以及
使用所述计算机根据所述游戏要素的位置确定所述游戏要素应当被移动到不包括任何游戏要素的所述位置。
58.根据权利要求57所述的方法,进一步包括确定第二游戏要素,所述第二游戏要素拥有对象。
59.根据权利要求58所述的方法,进一步包括使所述第一游戏要素移动到不包括任何游戏要素的所述位置。
60.根据权利要求58所述的方法,其中所述游戏要素是计算机控制的实体,并且所述第二游戏要素是人控制的实体。
61.根据权利要求58所述的方法,其中所述游戏要素和所述第二游戏要素是计算机控制的实体。
62.一种用于分析计算机游戏的游戏情形的计算机驱动装置,所述装置包括:
存储介质,用于存储所述计算机可存取的用于所述计算机游戏的指令,所述指令包括用于以下处理的指令:
将游戏空间分割成多个单元;
确定所述多个游戏要素的每一个的状态,其中游戏要素的所述状态至少包括所述游戏要素在所述多个单元中的位置;
选择所述多个单元中的一单元内的位置,所述位置不包括任何游戏要素;以及
利用与所述选择的位置相关的所述游戏空间内的游戏要素的位置执行所述游戏情形的分析。
63.根据权利要求62所述的计算机驱动装置,其中执行所述分析包括确定所述确定的单元中的所述游戏要素的未来位置。
64.根据权利要求63所述的计算机驱动装置,进一步包括使所述游戏要素移动到所述未来的位置的指令。
65.根据权利要求63所述的计算机驱动装置,其中所述游戏要素包括计算机控制的实体。
66.根据权利要求63所述的计算机驱动装置,其中所述游戏要素是在所述游戏情形中不拥有对象的游戏要素。
67.根据权利要求66所述的计算机驱动装置,其中所述游戏要素与所述游戏情形中拥有所述对象的第二游戏要素在同一队中。
68.根据权利要求67所述的计算机驱动装置,其中拥有所述对象的所述第二游戏要素是传球者,并且所述游戏要素是接球者,其中所述执行所述分析的指令包括用于确定从所述传球者传递所述对象到在所述未来的位置处的所述接球者的动作的指令。
69.根据权利要求67所述的计算机驱动装置,其中拥有所述对象的所述第二游戏要素包括人控制的实体。
70.根据权利要求63所述的计算机驱动装置,其中所述游戏要素的所述状态包括所述游戏要素的动量、所述游戏要素的速率、所述游戏要素的行进方向和所述游戏要素的速度中的至少一个。
71.根据权利要求70所述的计算机驱动装置,其中用于执行所述分析的指令包括被配置成利用所述游戏要素的所述动量、所述游戏要素的所述速率、所述游戏要素的行进的方向和所述游戏要素的速度中的至少一个来确定所述未来的位置的指令。
72.根据权利要求62所述的计算机驱动装置,其中所述确定的单元是在所述多个游戏要素中不包括游戏要素的单元。
73.根据权利要求62所述的计算机驱动装置,其中所述游戏要素的位置是最靠近拥有对象的游戏要素的位置,其中用于执行所述分析的指令包括被配置成确定所述游戏要素在最靠近拥有所述对象的所述游戏要素的所述位置的指令。
74.根据权利要求62所述的计算机驱动装置,其中所述游戏要素为足球选手,并且所述游戏空间代表足球场。
75.根据权利要求62所述的计算机驱动装置,其中所述游戏要素为棒球选手,并且所述游戏空间代表棒球场。
76.根据权利要求62所述的计算机驱动装置,其中所述游戏要素为篮球选手,并且所述游戏空间代表篮球场。
77.一种用于分析计算机游戏的游戏情形的计算机驱动装置,所述游戏要素与多个队中的一队相关联,所述装置包括:
存储介质,用于存储所述计算机可存取的用于所述计算机游戏的指令,所述指令包括用于以下处理的指令:
将游戏空间分割成多个单元;
确定在所述游戏空间中拥有对象的第一游戏要素;
确定与所述第一游戏要素在同一队的第二游戏要素;
确定第二游戏要素的状态,其中所述第二游戏要素的所述状态至少包括在所述游戏空间中的多个单元中的一单元内的所述第二游戏要素的位置;以及
利用所述第二游戏要素的所述位置执行所述游戏情形的分析。
78.根据权利要求77所述的计算机驱动装置,根据与所述同一队相关联的所有游戏要素的位置,所述第二游戏要素的位置是最靠近所述第一游戏要素的位置。
79.根据权利要求77所述的计算机驱动装置,其中所示第一选手是人控制的选手,并且所述第二选手是计算机控制的选手。
80.根据权利要求77所述的计算机驱动装置,其中执行所述分析包括为所述第二游戏要素确定动作。
81.根据权利要求80所述的计算机驱动装置,其中确定所述动作包括在所述游戏空间中为所述第二游戏要素确定未来的位置。
82.根据权利要求81所述的计算机驱动装置,进一步包括用于使所述第二游戏要素移动到所述未来的位置的指令。
83.根据权利要求81所述的计算机驱动装置,其中所述未来的位置不包括在所述多个游戏要素中的游戏要素。
84.根据权利要求81所述的计算机驱动装置,其中所述第二游戏要素的所述状态包括所述游戏要素的动量、所述游戏要素的速率、所述游戏要素的行进方向和所述游戏要素的速度中的至少一个。
85.根据权利要求84所述的计算机驱动装置,其中执行所述分析包括利用所述游戏要素的所述动量、所述游戏要素的所述速率、所述游戏要素的行进的方向和所述游戏要素的速度中的至少一个来确定所述未来的位置。
86.根据权利要求77所述的计算机驱动装置,其中所述第一游戏要素为传球者,并且所述第二游戏要素为接球者,其中执行所述分析包括确定从所述传球者传递所述对象到在所述未来的位置处的所述接球者的动作。
87.根据权利要求77所述的计算机驱动装置,其中所述游戏要素为足球选手,并且所述游戏空间代表足球场。
88.根据权利要求77所述的计算机驱动装置,其中所述游戏要素为棒球选手,并且所述游戏空间代表棒球场。
89.根据权利要求77所述的计算机驱动装置,其中所述游戏要素为篮球选手,并且所述游戏空间代表篮球场。
90.一种用于分析计算机游戏的游戏情形的计算机驱动装置,所述游戏要素与多个队中的一队相关联,所述装置包括:
存储介质,用于存储所述计算机可存取的用于所述计算机游戏的指令,所述指令包括用于以下处理的指令:
将游戏空间分割成多个单元,其中所述游戏要素被置于所述多个单元中的单元内;
选择所述多个单元的一单元内的位置,所述位置不包括任何游戏要素;
确定游戏要素的状态,其中所述游戏要素的所述状态至少包括所述游戏要素在所述游戏空间内的位置;以及
根据所述游戏要素的位置确定所述游戏要素应当被移动到不包括任何游戏要素的所述位置。
91.根据权利要求90所述的计算机驱动装置,进一步包括确定第二游戏要素,所述第二游戏要素拥有对象。
92.根据权利要求91所述的计算机驱动装置,进一步包括使所述第一游戏要素移动到不包括任何游戏要素的所述位置。
93.根据权利要求90所述的计算机驱动装置,其中所述游戏要素是计算机控制的实体,并且所述第二游戏要素是人控制的实体。
94.根据权利要求90所述的计算机驱动装置,其中所述游戏要素和所述第二游戏要素是计算机控制的实体。
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 |
US10/046,645 | 2001-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1602220A CN1602220A (zh) | 2005-03-30 |
CN100368042C true CN100368042C (zh) | 2008-02-13 |
Family
ID=21944593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028247809A Expired - Fee Related CN100368042C (zh) | 2001-10-26 | 2002-10-22 | 分析计算机游戏的游戏情形的方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US6558258B1 (zh) |
EP (1) | EP1441820A1 (zh) |
JP (3) | JP3943079B2 (zh) |
KR (1) | KR100708494B1 (zh) |
CN (1) | CN100368042C (zh) |
WO (1) | WO2003037464A1 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3927821B2 (ja) * | 2002-01-25 | 2007-06-13 | 株式会社バンダイナムコゲームス | プログラム、情報記憶媒体及びゲーム装置 |
AU2003248478B8 (en) * | 2002-08-02 | 2009-10-01 | Yazaki Corporation | Method of calculating a wire packing diameter, apparatus therefor, and program thereof |
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 |
US8463046B2 (en) * | 2005-06-22 | 2013-06-11 | 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 |
ES2714362T3 (es) * | 2010-01-05 | 2019-05-28 | Isolynx Llc | Sistema para mostrar información de eventos atléticos en un marcador |
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é |
EP4070288A4 (en) * | 2019-12-06 | 2024-01-03 | The Texas A&M University System | SYSTEMS AND METHODS FOR CREATING SPACE-FILLING SOLID MODELS |
Citations (4)
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 |
JP2000076485A (ja) * | 1998-08-14 | 2000-03-14 | Xerox Corp | ボロノイフィルタリングによる面再構築方法、装置、およびコンピュ―タ媒体 |
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 |
CN1294722A (zh) * | 1999-02-16 | 2001-05-09 | 世雅企业股份有限公司 | 图象显示装置、图象处理装置、图象显示系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2904775B1 (ja) * | 1998-06-03 | 1999-06-14 | コナミ株式会社 | 画像表示ゲーム装置、ゲーム装置の画像表示方法、ゲーム装置の画像表示プログラムを記録した媒体 |
JP2001327758A (ja) * | 2000-05-19 | 2001-11-27 | Square Co Ltd | 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法 |
JP3499863B1 (ja) * | 2003-04-25 | 2004-02-23 | 株式会社ナムコ | プログラム、情報記憶媒体及びゲーム装置 |
-
2001
- 2001-10-26 US US10/046,645 patent/US6558258B1/en not_active Expired - Lifetime
-
2002
- 2002-10-22 EP EP02773880A patent/EP1441820A1/en not_active Withdrawn
- 2002-10-22 US US10/491,585 patent/US7588493B2/en active Active
- 2002-10-22 JP JP2003539803A patent/JP3943079B2/ja not_active Expired - Fee Related
- 2002-10-22 KR KR1020047006207A patent/KR100708494B1/ko not_active IP Right Cessation
- 2002-10-22 WO PCT/US2002/033969 patent/WO2003037464A1/en active Application Filing
- 2002-10-22 CN CNB028247809A patent/CN100368042C/zh not_active Expired - Fee Related
-
2006
- 2006-03-09 JP JP2006064889A patent/JP2006172510A/ja active Pending
- 2006-11-21 JP JP2006314906A patent/JP2007044557A/ja active Pending
Patent Citations (4)
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 |
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 |
JP2000076485A (ja) * | 1998-08-14 | 2000-03-14 | Xerox Corp | ボロノイフィルタリングによる面再構築方法、装置、およびコンピュ―タ媒体 |
CN1294722A (zh) * | 1999-02-16 | 2001-05-09 | 世雅企业股份有限公司 | 图象显示装置、图象处理装置、图象显示系统 |
Also Published As
Publication number | Publication date |
---|---|
KR100708494B1 (ko) | 2007-04-16 |
JP2007044557A (ja) | 2007-02-22 |
US6558258B1 (en) | 2003-05-06 |
JP3943079B2 (ja) | 2007-07-11 |
WO2003037464A1 (en) | 2003-05-08 |
EP1441820A1 (en) | 2004-08-04 |
KR20040058241A (ko) | 2004-07-03 |
US20050037826A1 (en) | 2005-02-17 |
CN1602220A (zh) | 2005-03-30 |
US7588493B2 (en) | 2009-09-15 |
JP2006172510A (ja) | 2006-06-29 |
US20030083117A1 (en) | 2003-05-01 |
JP2005507722A (ja) | 2005-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100368042C (zh) | 分析计算机游戏的游戏情形的方法 | |
US10839215B2 (en) | Artificial intelligence for emulating human playstyles | |
Hoobler et al. | Visualizing competitive behaviors in multi-user virtual environments | |
Kitano et al. | Robocup: The robot world cup initiative | |
Chen et al. | Game bot detection based on avatar trajectory | |
RU2645553C2 (ru) | Устройство и способ для автоматической оценки хода тренировочного упражнения | |
JP2005507722A5 (zh) | ||
Afonso et al. | Comparison of visualization tools for matches analysis of a moba game | |
Tastan et al. | Learning to intercept opponents in first person shooter games | |
Lazaridis et al. | Hitboxes: A survey about collision detection in video games | |
Almeida et al. | An automatic approach to extract goal plans from soccer simulated matches | |
CN112354182B (zh) | 三维场景的生成方法和装置、存储介质和电子装置 | |
Oh et al. | Playing real-time strategy games by imitating human players’ micromanagement skills based on spatial analysis | |
Stone et al. | Robocup-2000: The fourth robotic soccer world championships | |
Perez et al. | Monte Carlo tree search: Long-term versus short-term planning | |
Miene et al. | Interpretation of spatio-temporal relations in real-time and dynamic environments | |
Meyer et al. | Decision-making and tactical behavior with potential fields | |
Abd El-Sattar | A novel interactive computer-based game framework: From design to implementation | |
Chang et al. | An Animation Assisted Training System for the Baseball Cover, Relay and Cutoff Play. | |
Zhan et al. | [Retracted] Cooperation Mode of Soccer Robot Game Based on Improved SARSA Algorithm | |
Riedmiller et al. | Brainstormers 2D—Team Description 2008 | |
Mourato | Enhancing automatic level generation for platform videogames | |
Almeida et al. | Automatic extraction of goal-scoring behaviors from soccer matches | |
Vebber et al. | Virtual Worlds and the Cycle of Research: Enhancing Information Flow Between Simulationists and Wargamers | |
Tilp | Modelling in the analysis of tactical behavior in team handball |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080213 Termination date: 20091123 |