CN1178170C - 移动成群角色对象的方法和游戏装置 - Google Patents

移动成群角色对象的方法和游戏装置 Download PDF

Info

Publication number
CN1178170C
CN1178170C CNB001235168A CN00123516A CN1178170C CN 1178170 C CN1178170 C CN 1178170C CN B001235168 A CNB001235168 A CN B001235168A CN 00123516 A CN00123516 A CN 00123516A CN 1178170 C CN1178170 C CN 1178170C
Authority
CN
China
Prior art keywords
character object
acceleration
cavalryman
area
zone
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 - Lifetime
Application number
CNB001235168A
Other languages
English (en)
Other versions
CN1285571A (zh
Inventor
����һ
襟川阳一
ƽ
津田顺平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koei Co Ltd
Original Assignee
Koei Co Ltd
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 Koei Co Ltd filed Critical Koei Co Ltd
Publication of CN1285571A publication Critical patent/CN1285571A/zh
Application granted granted Critical
Publication of CN1178170C publication Critical patent/CN1178170C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/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/426Processing 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 involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • 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
    • 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/8029Fighting without shooting
    • 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/807Role playing or strategy games

Abstract

本发明提供了一种能真实表现其交互作用的移动成群角色对象的方法。当对:一个用于当另一个角色对象存在于某角色对象的近距离区域内时移动该角色对象离开此另一个角色对象的加速度;一个用于当另一个角色对象存在于该角色对象的中距离区域时将该角色对象与另一个正在移动的、以便紧随领队角色对象的移动速度和方向匹配的加速度;以及一个用于当另一个角色对象存在于该角色对象的远距离区域时移动该角色对象离开另一个角色对象的加速度,进行计算时(步骤308至312),并且根据对所计算的加速度在三维虚拟空间按x、y、z各个分量求和而得到的合成加速度(步骤314、316),计算该角色对象在三维虚拟空间中的位置。由于各个角色对象能够随时根据其它角色对象的运动而改变其速度和方向进行移动,因此可以更真实地表现各角色对象的活动动作。

Description

移动成群角色对象的方法和游戏装置
技术领域
本发明涉及一种移动成群角色对象的方法、以及记录介质和游戏装置,更具体地说:本发明涉及一种移动成群角色对象的方法,它由显示于三维虚拟空间中的、其中含有一个领队角色对象的多个角色对象形成群(成群角色对象),并且这些成群角色对象向一个预定目标点移动;本发明还涉及一种记录成群角色对象移动方法的存储介质;最后,本发明涉及一种在预定的时间周期被调用的游戏装置,通过操作输入单元可以将从上述记录介质读出的软件装入存储单元,它具有一个用于计算向预定目标点移动的角色对象群中各角色对象的位置的位置计算单元,该角色对象群由包含一个领队的多个角色对象形成。
背景技术
参见图1、图2所示的已有技术。当今,各种游戏软件都是记录在诸如CD-ROM等的记录介质上,并由游戏行业的相应公司经销。这种记录介质是通过将其插入游戏装置中使用的。如图1所示,游戏装置中最流行的家用游戏装置10,是通过将诸如图2示出的控制小键盘的输入装置3和电视监视器4连接到游戏装置的主体2而构成的。当玩家将记录介质1插入主体2时,记录在记录介质1上的游戏程序自动地或者通过按动输入装置3的预定按钮装入到游戏装置主体2的存储器RAM中,游戏就开始了。然后,玩家就可以通过操作输入装置3上的各种按钮享受游戏了。
顺便说,现在市售的具有5个左右(多个)角色对象的传统游戏,在排序时主要以二维快速配位的方式移动。例如,No.8-63613号日本未决专利申请(JP-A)披露了一种给出各同行角色对象的技术,即通过事先设定固有移动速度、定时或各个同行角色对象的方向变化的概率,给出跟随于作为领队的、其移动的排列变化符合各同行角色对象特性的前锋角色对象的各同行角色对象。
根据该技术,当各同行角色对象实际显示的位置被设定为目标位置时,根据前锋角色对象行走的轨迹(同行角色对象也大致按此轨迹行走),以及显示偏离基本位置的相对位置,来计算参考位置的向量,从而获得同行角色对象的目标位置。当目标位置出现障碍物时,目标位置置回上一个数值,并且通过目标位置取上一个数值来确定相对位置;使得暂停同行角色对象。相应地,跟随前锋角色对象的各同行角色对象均向未被先于该同行角色对象移动的其它同行角色对象所占领的目标位置移动。
顺便引述一种与本发明相关的技术,即有关根据欧拉方法的运动方程的、于1988年4月出版的“视觉计算机”一书的283页至295页的“2.2数值积分方法”一节中的题为:“动态动画:交互与控制”(JaneWilhelms,Matthew Moore,和Robert Skinner)的文章。
然而,在上述JP-A No.8-63613披露的技术中,由于预定的移动速度和预定的计时/改变方向的几率并不随同行角色对象移动时所处的环境而变化,所以显示相应的同行角色对象以便追随前锋角色对象的移动,并且当显示同行角色对象之间精细的交互作用时,它们不能移动。即在一群诸如真实的鸟、马等动物中(兽群、羊群、牛群、狼群、鸟群、鱼群等等),当观察到前锋角色对象移动时位于群中后部的鸟或马并不移动,但是在为了与在它们周围移动的鸟或马的运动相应而调整它们的速度或方向时,它们却是移动的。因此,上述未决申请中所描述的技术存在一个问题,即实际动物群的运动状态不能由真实的感受表示出来。
发明内容
鉴于上述事实,本发明的一个目的是提供一种能逼真地表示成群角色对象间相互影响的移动成群角色对象的方法和游戏装置。
为了解决上述问题,本发明的第一方面是一种移动成群角色对象的方法,是指在三维虚拟空间中显示的、其中含有一个领队角色对象的多个角色对象形成群,并且这些成群角色对象向一个预定目标点移动。该方法包括的步骤是:当在该角色对象的一个预定第一区域内存在另一个角色对象时,计算用于移动该角色对象离开另一个角色对象的第一加速度,并且当此另一个角色对象存在于该角色对象的一个预定第二区域时,计算能使该角色对象与另一个正在移动的角色对象的移动速度和方向匹配以跟随领队角色对象的第二加速度;根据在预定时间内对所计算的第一加速度和第二加速度在三维虚拟空间的x、y、z各个分量求和而得到的合成加速度,计算该角色对象在三维虚拟空间中的位置,其中第一区域是靠近该角色对象的区域,第二区域是比第一区域更远离该角色对象的区域。
根据本发明的第一方面,由于该角色对象向目标位置移动时具有的加速度,是由当另一个角色对象存在于预定第一区域内时移动该角色对象离开此另一个角色对象的第一加速度,和当另一个角色对象存在于预定第二区域时用于使该角色对象与此另一个正在移动的角色对象的移动速度和方向匹配,以跟随领队角色对象的第二加速度,在三维虚拟空间按x、y、z各分量求和得到的,所以角色对象随时根据位于第一区域和第二区域的其它角色对象的移动环境改变其速度和方向进行移动,而可以真实地显示角色对象的移动动作。
根据本发明的第一方面,如果其中的第一区域或第二区域是由预定垂直角或以角色对象为中心的预定半径确定的球形或圆形,并且第一区域的垂直角比第二区域的垂直角要大而前者的半径小于后者的半径,那么类似于对自然界中动物的观感将被赋予该角色对象。因此,就可以模仿自然界中动物的动作显示各角色对象活动的动作。
进一步,通过计算当另一个角色对象存在于该角色对象的一个预定第三区域内时用于移动角色对象离开此另一个角色对象的第三加速度,并通过根据在预定时间内由所算得的第一加速度至第三加速度在三维虚拟空间中按x、y、z各个分量的求和得到的合成加速度,计算该角色对象在三维虚拟空间中的位置,其中第三区域是比第二区域更远离该角色对象的区域,该角色对象随时根据存在于第一区域至第三区域的其它角色对象的活动环境改变其速度和方向进行移动,可以更真实地显示各角色对象的活动动作。在本例中,当第一区域至第三区域是由预定垂直角或以该角色对象为中心的预定半径确定的球形或圆形,第一区域的垂直角大于第二区域的垂直角并且第二区域的垂直角大于第三区域的垂直角,第一区域的半径小于第二区域的半径并且第二区域的半径小于第三区域的半径时,类似于对自然界中动物的观感可以被精巧地赋予各角色对象。因此可以模仿自然界中动物的动作来精确显示各角色对象的活动动作。此外,如果该角色对象与另一个角色对象之间为近距离时,第一加速度以致以增大的速率增加,并且当该角色对象与此另一个角色对象之间为近距离时,第三加速度以恒定变化率变化,则当此角色对象接近此另一个角色对象时,此角色对象将以高的加速度离开此另一个角色对象,并且当存在另一个远程角色对象时,此角色对象将以低的加速度避开此远程角色对象。由此使得角色对象的运动行为接近自然界里一群动物中各动物的动作(运动)。
此外,构成本发明的第一方面还进一步包括一个漫游步骤,在角色对象群到达目标点后,角色对象以预定速度在一个以目标点为中心、预定距离内的漫游区域中漫游,由此,显示出类似于自然界中动物群拥挤在一起的状态。此时,当角色对象移动到漫游区域外时,如果角色对象以高于预定的速度向在漫游区域内随机设定的参考点移动直到角色对象回到漫游区域内,那么就能够逼真地显示已经离开群体并且试图返回他或她的群体的自然界中动物的行为。本发明第一方面更进一步包括粘合状态消除步骤,当出现一个角色对象和另一个角色对象粘合以致该角色对象处于不能活动的粘合状态时,改变其前进方向可以消除粘合状态。避免产生由于粘合状态而不能移动的角色对象,从而避免玩家对游戏产生厌烦情绪,并且可以再现自然界中动物不能逆向移动的行为。
本发明的第二方面是游戏装置,可以通过操作输入单元从记录介质中读出软件并被装入存储单元,且游戏装置具有一个以预定周期调用的位置计算单元,用于计算向预定目标点移动的角色对象群中各角色对象的位置;该角色对象群是由包含一个领队的多个角色对象组成的。其中位置计算单元包括:一个第一加速度计算器,用于计算在此角色对象的预定第一区域内存在另一个角色对象时移动该角色对象离开此另一个角色对象的第一加速度;一个第二加速度计算器,用于计算在此角色对象的预定第二区域内存在另一个角色对象时,使此角色对象与另一个角色对象的移动速度和方向匹配,以紧随领队角色对象移动的第二加速度;以及一个位置计算器,用于根据第一加速度和第二加速度;在三维虚拟空间中按x、y、z各个分量求和得到的合成加速度;计算角色对象在三维虚拟空间中的位置,其中第一区域是靠近该角色对象的区域,第二区域是比第一区域更远离该角色对象的区域。
附图说明
图1示出家用游戏装置的接线原理示意图;
图2示出家用游戏装置的输入装置的平面示意图;
图3示出根据本发明的实施例的游戏装置的主体结构的原理方框图;
图4示出根据本发明实施例的骑兵军团移动处理的流程图;
图5示出骑兵军团移动处理步骤108中的细节,即骑兵军团移动起始处理子程序的流程图;
图6示出骑兵军团移动处理步骤114的细节,即骑兵军团移动处理子程序的流程图;
图7示出骑兵军团移动处理步骤124的细节,即骑兵军团漫游处理子程序的流程图;
图8示出漫游处理子程序中步骤432的细节,即粘合处理子程序的流程图;
图9示出在电视机监视器上显示的列队命令信息的对话屏;
图10示出在电视机监视器上显示的目标命令信息的对话屏;
图11示出在电视机监视器上显示的军团特征信息的对话屏;
图12示出在电视机监视器上显示的目标点列队命令信息的对话屏;
图13A示出解释贝齐尔(Bezier)曲线控制点的说明图,
图13B示出解释贝齐尔(Bezier)曲线的说明图;
图14示出在短距离区域和长距离区域内的推斥力和距离之间关系的说明图;
图15A、15B和15C分别示出显示在电视机监视器上的骑兵军团移动状态的说明图,由图15A、15B和15C分别示出列队中的骑兵军团,分别由图15A所示的状态经过预定时间之后的骑兵军团、以及由图15B所示的状态再经过预定时间之后的骑兵军团;
图16A、16B和16C分别示出显示在电视机监视器上的骑兵军团其它移动状态的说明图,由图16A、16B和16C分别示出列队中的骑兵军团,分别由图16A所示的状态经过预定时间之后的骑兵军团、以及由图16B所示的状态再经过预定时间之后的骑兵军团;
图17示出说明骑兵军团的领队所走的轨迹示意图;
图18A和图18B示出用于解释将骑兵军团置于漫游状态后,骑兵军团中骑兵的漫游状态的示意图,图18A示出骑兵置于漫游圈内的状态,图18B示出某个骑兵位于漫游圈外的状态;以及
图19A和19B示出用于解释骑兵的粘合状态的说明图,图19A示出推斥力从两个骑兵的正面作用于他们时的情况,图19B示出消除粘合状态的情况。
具体实施方式
下面结合优选的实施例详细说明本发明的技术方案。
将参考附图说明:采用了本发明的一个视频游戏装置的实施例;在本实施例中;假设一群角色对象是一队骑兵,这些骑兵按预定的位置列队,并且它们向一个它们将要列队的目标点移动。
如图3所示,游戏装置的主体2,具有一个CPU组块20,用作第一加速度计算器、第二加速度计算器、第三加速度计算器以及位置计算器,并控制整个游戏装置。CPU组决20包括:一个主要用于控制数据在游戏装置主体2中各单元之间传输的SCU(系统控制单元)、一个由高速时钟控制的作为中央处理单元的CPU、一个存储游戏装置主体2基本控制程序的ROM、一个作为CPU的一个工作区并将游戏程序暂存在记录介质1中的RAM、以及一条连接这些单元的总线(内部总线)。
CPU组决20中的SCU连接到外部总线25。外部总线25连接到一个输入接收单元21,该输入接收单元21从诸如控制小键盘等输入装置3接收输入,并将该输入信号信息传输到CPU组决20;外部总线25还连接到一个诸如CD-ROM驱动器等的介质读取单元22,该介质读取单元22也具有一个CPU(未在图中示出),用于将记录于记录介质1上的游戏程序读出以传输到CPU组决20;外部总线25还连接到一个具有VRAM(图中未示出)的图像处理单元23,该图像处理单元23根据CPU组块20传出的信息产生图像信息;外部总线25还连接到一个具有子CPU(图中未示出)的声音处理单元24,该声音处理单元24用于处理诸如骑兵的马蹄声等声音。输入接收单元21、图像处理单元23和声音处理单元24同时被分别连接到输入装置3、电视机监视器4和话筒5。
通过操作过程结合参考流程图说明本实施例。一个电源(图中未示出)被附带连接到游戏装置主体2。当接通电源开关使游戏装置主体2进入操作状态时,开始执行示于图4的骑兵军团的移动过程。
在骑兵军团的移动过程中,首先,在步骤102,保持后备状态直到记录介质1插入介质读出单元22中并且游戏程序可读出时为止。当程序就绪可随时读出时,进入步骤104,由介质读出单元22读出游戏程序并将读出的游戏程序传送到CPU块20的RAM中。在后续步骤106,保持后备状态直到按下输入装置3的开始按钮31(参见图2)。当按下开始按钮31时,开始执行后续步骤108中的用于启动执行向目标点移动骑兵军团的骑兵军团移动启动处理子程序。
如图5所示,在骑兵军团移动启动处理子程序中,首先,在步骤202中,将骑兵军团在列队点列队的列队命令信息显示在电视机监视器4上。在列队命令信息的显示中,存储在步骤104RAM中的缺省值以对话的方式显示,如图9所示。图9中,FALLING-IN ORDER列队命令,LEADER’S POSITION为领队位置,LEADER’S ORIENTATION为领队的取向,NUMBER OF COLUMNS为列数,NUMBER OF ROWS为行数,COLUMN INTERVAL为列间距,ROWINTERVAL为行间距。
如图15A所示,示于图9中的“领队位置”903是骑兵军团的军团领队(此后简称领队)位于虚拟空间的位置,“领队取向”示出在虚拟空间中领队前进的方向与水平线902的夹角φ,“列数”和“行数”示出除领队之外骑兵军团的骑兵列队的列数和行数,“列间隔”和“行间隔”示出它们之间在三维虚拟空间中的间隔或空间。因此玩家可以根据他或她的个人爱好通过操作输入装置3改变缺省值。此外,当按下输入装置上对应于图9所示“删除”的预定按钮时,所有被改变的数据均返回缺省值(此后与图10和图12相同)。在本实施例中,可自动设定领队,但是也可以利用输入装置3来指定。在后续步骤204,保持后备状态直到输入装置3上对应于图9所示的“OK”按钮的预定按钮被按下,在步骤206,列队命令信息的列队命令值被取出并存储的RAM中。
接着,在步骤208,在电视机监视器4上显示有关到达骑兵军团的目标位置的目标命令(TARGET ORDER)信息。如图10所示,对目标命令信息的显示是通过以对话方式显示存储在步骤104的RAM的缺省值实现的。如图17所示,“目标点”示出骑兵军团在虚拟空间的到达目标点1103的位置;“突入角度”(RUSHING ANGLE)表示当前进方向对于列队位置的夹角设定为0度时领队冲入目标点的角度;“目标点半径”(TARGET POINTRADIUM)表示离开目标点的半径1107,并设定该半径使得当领队接近具有此半径的圆区域或球区域时能够确定领队已经到达目标点;“漫游时间半径”(WANDERING TIME RADIUS)表示离开目标点的半径1106,并设定该半径以使骑兵军团的骑兵在到达目标点时,在由半径1106确定的圆内漫游。在后续步骤210,保持后备状态直到按动预定的按钮(相当于按下OK按钮)。步骤212,当按下预定按钮时,目标命令信息的目标命令值被取出并存储在RAM中。
接着,在步骤214,军团特征信息包括显示在电视机监视器4上的骑兵军团的特征。如图11所示,军团特征(CORPS CHARACTERISTICS)信息以对话方式显示为在步骤104中存储在RAM的缺省值,并且,它可以被改变。附带说明,示于图11的“近距离知觉角度”(SHORT DISTANCEPERCEPTION ANGLE)等的意义将在后面予以描述。在后续步骤216,保持后备状态直到按下预定按钮。步骤218,当按下预定按钮时,军团特征信息的数值被取出并存储在RAM中,且军团预定启动处理子程序结束,随之程序进入图4所示的步骤110。
在步骤110,军团列队,如图15A所示,要求骑兵军团的骑兵根据图5所示步骤206的存储在RAM中的列队命令数值进行列队。接着,在步骤112,通过根据垂直消隐间隔判别按1/60秒(约为16.6ms)周期调用一次的垂直消隐中断过程是否被完成来确定是否产生中断。当步骤112确定为不产生中断时,在后续步骤116执行诸如一种对输入信息(例如由输入接收单元21输出的视点改变信息)执行的处理过程、一种使用声音处理单元24制作游戏音响效果处理过程等的主要处理过程,随后程序进入步骤118。
另一方面,当在步骤112确定为产生中断时,在1/60秒的中断处理时间内执行用于使骑兵军团从列队位置向目标位置移动的军团移动处理子程序。如图6所示,在军团移动处理子程序中,计算包括一个领队的骑兵军团的所有骑兵中的每个骑兵的最新位置,并且在对所有骑兵完成最新位置的计算后;将所有骑兵的最新位置信息传送到图像处理单元23。
首先,在步骤302,确定是否对所有的骑兵均进行了处理。当确定所有的骑兵来进行处理时,步骤304就确定待处理的对象是否是领队。
当确认已对所有的骑兵进行了处理时,计算领队在列队点和目标点之间移动所遵循的贝齐尔曲线轨迹,并计算领队位于贝齐尔曲线上的最新位置。此处描述了含有四个控制点的贝齐尔曲线。如图13A所示,当给定列队点P0和目标点P3时,从列队点P0到目标点P3之间的一段被分成相等的三部分。分别以列队点P0的方向和以逆着目标点P3的突入角的方向设定点P1和点P3,使得各自的距离等于分段。如图13B所示,贝齐尔曲线由一条光滑的曲线形成,以下将作详细说明。
含有四个控制点(P0、P1、P2、P3)的贝齐尔曲线上的位置由位置向量R(s)表示,位置向量R(s)通常由等式(1)给出,由四个点计算的整个贝齐尔曲线设定为1,则贝齐尔参数(0≤S≤1)被定义为相对位置。
R(S)=(1-S)3P0+3S(1-S)2P1+3S2(1-S)P2+S3P3    ……(1)
如果是三维坐标系,对于x、y、z坐标中的每个坐标均可以获得上述等式(1),因此位置向量R(s)可以由等式(2)得到。
Figure C0012351600141
当贝齐尔曲线由R表示时,由于贝齐尔曲线R是由等式(1)(或等式(2))求出的一串位置向量R(s)点组成,并且由于贝齐尔参数S通常随时间t的增加而逐渐由0增大到1,所以可以用t时间函数来表示贝齐尔曲线R,即R=R(S(t))。
假设贝齐尔曲线R是距离,那么可以通过贝齐尔曲线对时间微分获得速度vel(t)。这样,可以根据连锁法利用如下等式(3)求得速度vel(t)。进一步,可以变换等式(3)以得到等式(4)。
vel ( t ) = d dt R ( S ( t ) ) = dR dS · dS dt · · · ( 3 )
dS dt = vel ( t ) · dR dS | dR dS | 2 · · · ( 4 )
等式(4)右侧的分母是位置矢量与自身的内积,并且初始值为0的速度vel(t)可以根据随后描述的欧拉方法在每次垂直消隐中断处理中须序地获得。上式中的dt是垂直消隐中断处理的时间间隔,即如上所述的1/60秒。此外,dR/dS是通过将上式(2)对S微分一次得到的一个向量(x、y、z)。由于最终可以获得dS,所以就能计算出领队在贝齐尔曲线上的位置。因此,在每次中断处理过程中领队在贝齐尔曲线轨迹上移动的状态显示在电视机监视器4上。
以下参考图17进一步详细说明该移动状态。四个控制点是一个列队点1101、一个点1109、一个点1108和一个目标点1103,并且曲线1102是贝齐尔曲线。在每个中断处理过程间隔,领队903在贝齐尔曲线1102上向着目标点1103移动。当列队点和目标点改变时,再一次对控制点进行计算。在步骤306,领队的最新位置计算完成之后,军团移动处理过程子程序返回步骤302。
另一方面,当步骤304确定为否时,为了避免一个骑兵与其它骑兵接触或碰撞,在步骤308中执行对近距离加速度的计算,用于得到使一群骑兵离开其它群骑兵而产生的作为第一加速度的加速度。在此近距离加速度计算中,首先,对图5步骤218中取出的近距离知觉角度和近距离知觉半径进行读出。此外,近距离知觉角度(SHORT DISTANCE PERCEPTIONANGLE)被定义为各骑兵当前正面可视的近距离(邻域)目视范围的角度,并且如图11的区域801所示,本实施例将其缺省值设定为190°。此外,将近距离知觉半径(SHORT DISTANCE PERCEPTION RADIUS)定义为邻域距离,在邻域距离,每个骑兵均可以观察到近距离知觉角度,并且如图11的区域801所示,本实施例将其缺省值设定为3m(米)。接着,在先前垂直消隐中断处理过程(1/60秒之前)中存储到RAM的其它骑兵的位置被读出,并且确定在近距离区域内是否存在另一个骑兵,该近距离区域是由近距离知觉角度和近距离知觉半径确定的一个第一区域。
当在区域内存在另一个骑兵时,就获得了此骑兵与另一个骑兵之间的距离,并获得了相应于此距离的推斥力(近距离知觉推斥力一SHORTDISTANCE PERCEPTION FORCE)。如上所述,由于此骑兵必须避免在近距离内与另一个骑兵接触或碰撞,所以优先选择当另一个骑兵接近此骑兵时,此骑兵能迅速移动以离开另一个骑兵。因此,如图14所示,假设纵坐标表示推斥力,横坐标表示近距离,则近距离与推斥力的关系的变化使得当距离短(近)时推斥力就类似一个二次函数F2急剧增大。因此,当近距离是0时,推斥力值就成为近距离最大推斥力,它在图11所示的区域801中示出,并且当近距离等于近距离知觉半径时,推斥力就变为0。所求得的推斥力与假定所求得的推斥力被整群骑兵所分担的加速度相一致(参看图11所示的区域801中的单元系统),并且对于αx、αy、αz各个分量求得加速度与由另一个骑兵到此骑兵的矢径的乘积,因此将该乘积定义为近距离加速度。然后,确定在近距离区域内是否存在此另一个骑兵之外的另一个骑兵。如果存在,就按上述方法求得推斥力并利用求得的推斥力求得近距离加速度。然后,针对x、y、z各个分量将获得的近距离加速度与先前求得的近距离加速度相加并作为近距离加速度存储在RAM中,随之程序进入步骤310。
另一方面,当在近距离区域内不存在另一个骑兵时,与近距离等于近距离知觉半径的情况相同,推斥力为0。因此近距离加速度的αx、αy、αz各个分量以0存储在RAM中,随后子程序进入步骤310。
在步骤310中,完成中距离加速度的计算,用于获得作为第二加速度的、为使相邻骑兵之间保持相同的速度而产生的加速度。在中距离加速度计算中,首先,读出在步骤218取出的中距离知觉角度和中距离知觉半径。此处,中距离知觉角度被定义为各骑兵当前正面可视的中距离目视范围的角度,并且如图11的区域802所示,在本实施例中将其缺省值设定为170°,它比近距离知觉角度小。此外,将中距离知觉半径定义为各骑兵均可以观察到中距离知觉角度的距离。并且如图11的区域802所示,中距离知觉角度(MIDDLE DISTANCE PERCEPTION ANGLE)和中距离知觉半径(MIDDLE DISTANCE PERCEPTION RADIUS),本实施例将其缺省值设定为7m,它比近距离知觉半径(3)长。接着,在先前垂直消隐中断处理过程(1/60秒之前),存储在RAM中的其它骑兵的位置被读出,并且确定在中距离区域内是否存在另一个骑兵,该中距离区域是由中距离知觉角度和中距离知觉半径确定的一个第二区域。
当在中距离区域内不存在另一个骑兵时,为了使此骑兵以最高速度紧随领队,首先求出指向领队的方向矢量(x、y、z)。此处,方向矢量(x、y、z)是一个单位矢量,其数值的(标量的)大小无意义,只有其方向有用。可以通过计算领队的位置(x、y、z)和骑兵的位置(x、y、z)的差值计算指向领队的方向矢量(x、y、z),并由此产生一个单位矢量。接着,根据以下等式(5)计算骑兵的加速度,根据欧拉方法计算骑兵的位置,并将它们存储在RAM中。然后,子例程进入步骤312。
加速度(x、y、z)={(指向领队的方向矢量(x、y、z)×最大速度)-当前速度(x、y、z)}速度-均衡时间参数……(5)
另一方面,当在中距离区域内存在其它骑兵时,根据下列等式(6a)和(6b)计算用于与存在于中距离区域内的其它骑兵的平均速度匹配的各骑兵的加速度,并且由此根据后面所描述的欧拉方法计算它们的位置,并将所计算的加速度和位置存储于RAM中。之后,子程序进入步骤312。
附带说明,在等式(6a)和(6b)中,速度—均衡时间参数是一个用于由移动的速度获得加速度的时间参数,并且在本实施例中其缺省值约为0.3秒(参看图11中的区域804,图中MAXIMUM VELOCITY为最大速度,MAXIMUM ACCELERATION为最大加速度、VELOCITY-EQUALIZING TIMEPARAMETER为速度均衡时间参数,WANDRING TIME VELOCITY为漫游时间速度)。
平均速度(x、y、z)=(中距离区域内骑兵速度的和)/(中距离区域内的骑兵数)……(6a)
加速度(x、y、z)={平均速度(x、y、z)-当前速度(x、y、z)}/速度-均衡时间参数……(6b)
在步骤312中,完成对远距离加速度的计算,用于获得作为第三加速度的、为使骑兵改变前进方向以到达无障碍观察,从而避免在骑兵的前进方向上接触位于远距离区域的骑兵而产生的加速度。在远距离加速度计算中;首先,读出在步骤218取出的远距离知觉角度和远距离知觉半径。此处,远距离知觉角度被定义为当骑兵向前移动时的目视范围距离的角度,并且如图11的区域803所示,远距离知觉角度(LONG DISTANCEPERCEPTION ANGLE)、远距离知觉半径(LONG DISTANCE PERCEPTION RADIUS)和远距离知觉推斥力((LONG DISTANCE PERCEPTION FORCE),本实施例将其缺省值设定为30°,它比中距离知觉角度小。此外,将远距离知觉半径定义为骑兵可以观察到远距离知觉角度的距离。并且如图11的区域803所示,本实施例将其缺省值设定为15m,它比中距离知觉半径长。接着,在先前垂直消隐中断处理过程(1/60秒之前)、存储于RAM中的其它骑兵的位置被读出,并且确定在远距离区域内是否存在另一个骑兵,该远距离区域是由远距离知觉角度和远距离知觉半径确定的一个第三区域。
当在远距离区域内存在另一个骑兵时,求得此骑兵与另一个骑兵之间的距离并求得对应于此距离的推斥力。如图14所示,与近距离情况不同,在远距离区域,由于没必要使此骑兵快速离开另一个骑兵,所以假设横轴表示推斥力,纵轴表示距离,则距离与推斥力之间的关系就变成线性函数F1。因此,当距离是0时,推斥力就变成远距离最大推斥力,示于图11的区域803,并且当距离等于远距离知觉半径时,推斥力为0。按x、y、z各个分量计算所得到的推斥力(当作加速度)与从另一个骑兵到此骑兵的矢径的乘积,由此将此乘积定义为远距离加速度。然后,确定在远距离区域内是否存在此另一个骑兵之外的另一个骑兵。如果确认存在,就按上式方法求得推斥力并利用求得的推斥力求得远距离加速度。然后,将获得的远距离加速度在x、y、z的各个分量上与先前求得的远距离加速度相加,并作为远距离加速度存储在RAM中,然后程序进入步骤314。
另一方面,当在远距离区域内不存在另一个骑兵时,与远距离等于远距离知觉半径的情况相同,推斥力为0。因此,远距离加速度的αx、αy、αz各个分量以0存储在RAM中,并且子程序进入步骤314。
在步骤314,读出近距离加速度、中距离加速度和远距离加速度,并累加它们的x、y、z分量以获得一个合成加速度。在后续步骤316,计算骑兵的最新速度和最新位置并将它们存储在RAM中。然后,子程序返回步骤302。此处假设当前时间为t、经过的时间为δt、速度为V(Vt+δt表示t+δt时刻的速度、Vt表示t时刻的速度)、加速度α(αt表示t时刻的加速度)、以及位置Pt+δt表示t+δt时刻的位置、Pt表示t时刻的位置),则可以根据下列等式(7)所示的欧拉方法的运动方程求得最新速度和最新位置。
Figure C0012351600181
因此,可以由等式(7)求得最新速度和最新位置,其中,
最新速度=先前速度+逝去的时间×加速度
最新位置=先前位置+逝去的时间×(速度+0.5×逝去的时间×加速度)
在本实施例的三维坐标系中,如等式(8)示出的,每当中断处理执行时,就得到最新加速度在三维坐标系中x、y、z轴的各个分量,并且计算最新速度和最新位置,以使最新速度和最新位置的数值存储于RAM中(这里省略了对存储最新速度和最新位置的解释)。
Figure C0012351600191
当经步骤302确认已对所有的骑兵进行处理时,即完成了对骑兵军团中所有骑兵位置的计算,中断端将所有骑兵最新位置的数据传送到图像处理单元23和骑兵移动处理子程序,并且程序进入图4所示的步骤118。
因此,每间隔1/60秒,电视机监视器上显示一次骑兵军团的移动状态。为了便于说明,参照示出了用于简要说明的二维空间图15A、15B和15C以解释军团的移动状态。将领队903设定为:领队的位置:(x,y)=(0,0),领队的取向φ:90°,目标位置:(x,y)=(0,150),突入角度:90°。图15A示出骑兵军团中骑兵的列队状态。当领队903移动时,首先,领队后面的骑兵紧随领队,就象预先知道领队的移动似的。但是,位于骑兵军团后部的骑兵则不能立即移动,因为它们还拥挤在一起,所以让它们处于一种后备状态,逐渐散开(如图15B所示)。当每个骑兵周围的骑兵数减少时,相应的骑兵就以散开(展散)状态移动(如图15C所示)。因此,当玩家观察到电视机监视器4上显示的骑兵军团的移动状态时,每个骑兵似乎均是相应于诸如知觉角度、知觉半径、最大推斥力等的设定数值,根据他或她的独立判断而移动的。此外,图16A、16B、16C示出了电视机显示器4上以此显示的顺序移动的骑兵军团的各种状态,其中,将领队设置成:领队的位置:(x,y)=(-20,-10),领队的取向φ=80°,目标位置:(x,y)=(20,200),突入角度:80°。
图4所示的步骤118,通过判别领队是否进入目标点半径范围,来确定领队是否到达目标点。当确认领队未到达目标点时,程序返回步骤112,以便骑兵军团如所描述的那样向前移动。当确认领队已到达目标点时,程序进入步骤119,其中起标志作用的k被设置为0(k的意义将在后面予以说明)。在后续步骤120,按步骤112同样的方式,根据垂直消隐间隔按1/60秒(约为16.6ms)的周期调用的垂直消隐中断过程是否被完成来确定是否产生中断。如果确认在步骤120中不产生中断;则以与步骤116相同的方式完成步骤122中的主要处理过程,且程序进入步骤126。另一方面,如果在步骤120中确认产生中断,则在由中断引起的1/60秒内执行漫游处理子程序,使骑兵军团的所有骑兵在目标点周围漫游。
如图7所示的漫游处理子程序,首先在步骤404,对所有骑兵中的每一个骑兵均设置一个漫游参考点,参照图17说明漫游参考点。各骑兵的漫游参考点是位于以目标点1103为中心的、由漫游半径1107定义的漫游图1105内的一个随机点,并且随机选择每个骑兵的漫游参考点以使其它骑兵的各漫游参考点不重叠。在后续步骤406,确定k是否为1。如果确定k为1,则子程序进入步骤422,如果确定k不为1,则在步骤408中确定是否已完成对所有骑兵的处理。如果在步骤408未完成对所有骑兵的处理,则在步骤410确定待处理的对象是否为领队。
如果在步骤410确认待处理的对象为领队,则在步骤412根据如下等式(9)计算加速度,随后通过将按步骤308的方法求得的近距离加速度的x、y、z的各个分量相加来计算合成加速度;并将其当前自身方向矢量存储于RAM中。在后续步骤414,根据上述欧拉方法计算最新位置。
加速度(x、y、z)={当前自身方向矢量(x、y、z)×漫游时间速度-当前速度(x、y、z)/速度-均衡时间参数……(9)
在下一步骤416中,确定在步骤414中计算的领队的最新位置是否超出漫游圈。如果未超出漫游圈,则子程序返回步骤406。另一方面,如果超出漫游圈,在后续步骤418将k设定为1,并且子程序返回步骤406。“k”用于表示是否将军团的骑兵设定为漫游状态的标志。一旦领队走出漫游圈范围,标志k就由0变为1,并将所有的骑兵军团的骑兵设定为漫游状态。
如果在步骤410确定对象不是领队,则按步骤412相同的方法在步骤420中计算加速度,并存储方向矢量。在步骤421中,计算最新位置,并且子程序返回步骤406。
另一方面;如果在步骤408确定已完成对所有骑兵的处理,由于已完成对所有军团的骑兵的处理,则在步骤434将所有骑兵的最新位置数据传送到图像处理单元23,并且结束漫游处理子程序,随后程序进入图4所示的步骤126。因此,如图17所示,当领队903以预定的突入角度到这漫游圈1104时,领队903在其以轨迹1110所示的预定角度冲向漫游圈1104的延迟线上,并以与漫游时间速度匹配的加速度移动。并且,紧跟领队的骑兵也以与漫游时间速度匹配的加速度移动。
接着,在步骤422,确定是否对骑兵军团的所有骑兵进行了处理。如果确认没有对所有的骑兵进行处理,则在后续步骤424,读出上一次存储在RAM中的待处理骑兵的位置数据。并且在下一步骤426,确定在漫游圈之外是否存在待处理的骑兵。如果在漫游圈之外不存在待处理的骑兵,则与步骤412的方法相同,在后续步骤428计算加速度。根据欧拉方法进一步计算位置以便在RAM中存储当前方向向量。之后,子程序进入步骤432。如果在漫游圈之外存在待处理的骑兵,则在步骤430计算进入漫游圈并以最高速度向着漫游参考点移动的每个骑兵的加速度,并根据欧拉方法计算其位置。随后,程序进入步骤432在步骤430计算加速度时,首先求得漫游参考点(x,y,z)与当前位置(x,y,z)之间的差值以计算方向向量,然后根据下列等式(10)计算加速度。接着,与步骤308的方法相同,将此加速度与近距离加速度按x、y、z各个分量相加以计算合成加速度。
加速度(x、y、z)={(当前自身方向矢量(x、y、z)×最大速度)-当前速度(x、y、z)}/速度-均衡时间参数……(10)
因此,如图18A所示,骑兵1203在漫游圈1105之内以低速漫游。如图18B所示,当骑兵1203上次走出漫游圈1105时,骑兵1203就试图以最高速度返回到在步骤404中为骑兵设置的漫游参考点B,直到他/她进入漫游圈1105。因此,处于漫游状态时,骑兵军团的每个骑兵通常在漫游圈内低速移动。
在下一步骤432,执行示于图8的粘合处理了程序。在此粘合处理子程序中,例如,如图19A所示,对存在于骑兵1301近距离区域内的骑兵1302试图沿骑兵1301的方向直线前进的情况;即对于骑兵1301承受前方推斥力的情况进行处理。
如图8所示,在粘合处理子程序中,首先,在步骤502,确定近距离区域内的另一个骑兵是否对待处理的骑兵施加了推斥力。如果确定未施加推斥力,则结束粘合处理子程序,并且漫游处理子程序返回示于图7的步骤422。如果确定施加了推斥力,则在后续步骤504,此(各)骑兵转动θ角,在步骤506中将转动角度θ和作为方向矢量的其方向对应于转动角度θ的单位矢量存储于RAM中,且骑兵1301将沿转动角度θ的方向前进。然而,如图19A所示,当在骑兵1301转动θ角度后的方向上存在有将推斥力施加到骑兵1301上的骑兵1303时,因为有近距离推斥力作用在骑兵1301上,骑兵1301不能前进,并且在下一次垂直消隐中断时引起骑兵1301转动-θ角度;以使骑兵1301不能移动。因此,在后续步骤508,通过判别包括本次中断在内的前8次垂直消隐中断中存储在RAM中的角度和,是否接近0来确定骑兵是否被置于粘合状态,即确定他/她是否被置于不动的状态。如果确定此骑兵来被置于粘合状态,则结束粘合处理子程序,并且漫游处理子程返回图7所示的步骤422。如果确定此骑兵被置于粘合状态,则在后续步骤510,计算此骑兵与其它位于近距离区域内的所有骑兵之间的三个坐标的差值,并且根据相应的差值计算每个以方向矢量构成的单位矢量以求得它们的和。此外,通过将合成矢量转换为单位矢量而将求得的合成矢量形成方向矢量,设此方向矢量为骑兵的方向矢量(x、y、z)。因此如图19B所示,由于骑兵1301改变了他/她的前进方向,他/她就可以避免与其它骑兵1302、1303处于粘合状态,以使游戏继续进行。在后续步骤512中,通过将步骤510计算的方向矢量(x,y,z)乘以最大加速度来计算加速度。在步骤514,可以根据欧拉方法获得最新速度和最新位置。这样,就结束粘合处理子程序并返回图7所示的步骤422。
如果图7所示的步骤422确认对所有的骑兵进行了处理,则在步骤434将最新位置数据传送到图像处理单元23,并结束漫游处理子程序,随后程序进入图4中的步骤126。
在步骤126,确定是否从输入装置3收到使骑兵由漫游状态到列队状态的列队命令。如果未收到列队命令,则程序返回步骤120。如果收到列队命令,则在后续步骤128,例如,如图12所示的对话就显示在电视机监视器4上。在下一步骤130,当领队的取向保持为缺省值或根据玩家的兴趣改变,程序保持后备状态直至玩家按下OK按钮。当按下OK按钮时,在步骤132取出领队的取向,并在下一步骤134中使骑兵军团的所有骑兵列队,随后结束骑兵军团移动过程。顺便说明,除非目标点改变,否则将列队点设定为在步骤212取出的目标点(由于可以随时调用图10所示的对话,因此改变目标点是可能的)。
在上述实施例中,合成加速度是由近距离加速度、中距离加速度和远距离加速度累加获得的,近距离加速度用于当各骑兵离其它骑兵太近时使各骑兵离开其它骑兵,中距离加速度用于使其达到其它位于其周围的骑兵的速度和方向,远距离加速度用于改变前进的方向以实现无障碍观察。由于骑兵军团的每个骑兵跟随具有合成加速度的领队,所以各骑兵的行为不仅只是看上去象跟着领队移动,各骑兵表现出好象是他/她根据设定的他的/她的知觉角度、知觉半径、最大推斥力等数值由自己判断如何移动,同时详细地显示了骑兵与相应的不直接跟随领队并靠近此骑兵的骑兵之间的交互作用。为此,象诸如鸟群、马群等的一群动物一样,由于位于中部与后部之间的骑兵为了尾随领队并不移动,但是当它们根据其周围的其它骑兵的移动调整它们相对于其它骑兵的速度和方向时,它们就移动。因此,可以更真实地显示骑兵军团的移动行为。因此,玩家可以欣赏在虚拟空间显示的具有现实感的骑兵军团的移动行为。
此外,在本实施例中,由于漫游参考点是在骑兵达到目标点时对每个骑兵随机设定的。当将各骑兵置于漫游状态时,他/她在漫游圈之内低速漫游。当骑兵走出漫游圈时,他/她就返回漫游参考点。因此,可以显示出类似于实际野马群的状态,并且骑兵军团在为每个骑兵设置的目标点周围直至其收到另一条命令(列队命令)之前,均被置于后备状态的情形也能真实地显示出来。
此外,在本实施例中,当出现粘合状态时,处于粘合状态的骑兵经转动,而无需后退就可以消除粘合状态。因此,可以真实地显示出马不能后退的行为。因此,本实施例中的各种动作几乎完全可以实质上再现实际动物的动作。
顺便说明,本实施例能够使记录在记录介质1中的游戏程序由介质读取单元22读出并传送到RAM,但是,本发明可以被构造成能将游戏程序存储在ROM中并能被读出,而无需具有介质读出单元22。根据这种构造,此游戏装置将被广泛应用于游戏机。此外,在本实施例中,已经解释了使用CD-ROM作为记录介质的实例。然而,本发明可应用于具有可以装入CPU组决RAM中的ROM卡、大容量软盘驱动器、磁光盘等的、并具有介质读出单元以便从中读出游戏程序的替换结构。
此外,本实施例的结构可以根据对话完成对骑兵军团移动的初始设定。根据本发明的结构可以自动完成初始设定,例如,通过使用输入装置3移动显示在屏幕上的光标并配置列队位置,以便启动骑兵军团等的移动。此外,所有的初始设定操作均可以根据游戏的进展情况自动完成。
此外,本实施例构成为在固定间隔进行的垂直消隐间隔中断处理期间计算各骑兵的加速度和位置,但是本发明可以构成为在定时中断处理期间或主处理期间完成此项计算。此外,在本实施例中,解释了在求得合成加速度之后,根据欧拉方法完成对最新位置的计算的实例。然而,本发明可以构成为在对每次计算近距离加速度、中距离加速度和远距离加速度时根据欧拉方法顺序地计算位置。
并且,利用本实施例的三维坐标轴解释了本发明,但是它还可以应用于二维坐标系,只要将z轴的数值设置为0就可以了。很明显,对于本技术领域的专业人员可以设计出各种实施例,它们均属于所附权利要求所述的本发明范围。

Claims (10)

1.一种用于移动成群角色对象的方法,其特征在于:它由显示于三维虚拟空间中的、其中含有一个领队角色对象的多个角色对象形成群,并且这些成群角色对象向一个预定目标点移动;此方法包括:
当另一个角色对象存在于某一角色对象的一个预定的第一区域内时,计算用于移动该角色对象离开此另一个角色对象的第一加速度,并且当此另一个角色对象存在于该角色对象的一个预定的第二区域内时,计算能使该角色对象与另一个正在移动的角色对象的移动速度和方向匹配以跟随领队角色对象的第二加速度;以及
根据在预定时间内对所计算的第一加速度和第二加速度在三维虚拟空间按x、y、z各个分量求和而得到的合成加速度,计算该角色对象在三维虚拟空间中的位置,
其中第一区域是靠近该角色对象的区域,第二区域是比第一区域更远离该角色对象的区域。
2.根据权利要求1所述的一种用于移动成群角色对象的方法,其特征在于:其中的第一区域或第二区域是由预定垂直角或以角色对象为中心的预定半径确定的球形或圆形,并且第一区域的垂直角比第二区域的垂直角大,而前者的半径小于后者的半径。
3.根据权利要求1所述的一种用于移动成群角色对象的方法,其特征在于:进一步包括步骤:计算当另一个角色对象存在于该角色对象的一个预定的第三区域内时用于移动该角色对象离开此另一个角色对象的第三加速度,其中根据在预定时间内由所算得的第一加速度至第三加速度在三维虚拟空间中按x、y、z各个分量的求和得到的合成加速度,计算该角色对象在三维虚拟空间中的位置,
其中第三区域是比第二区域更远离该角色对象的区域。
4.根据权利要求3所述的一种用于移动成群角色对象的方法,其特征在于:其中第一区域至第三区域是由预定垂直角或以该角色对象为中心的预定半径确定的球形或圆形,第一区域的垂直角大于第二区域的垂直角并且第二区域的垂直角大于第三区域的垂直角,以及第一区域的半径小于第二区域的半径并且第二区域的半径小于第三区域的半径。
5.根据权利要求3或4所述的一种用于移动成群角色对象的方法,其特征在于:其中该角色对象与另一个角色对象之间为近距离时,第一加速度改变以致以增大的速率增加,并且当该角色对象与此另一个角色对象之间为近距离时第三加速度以恒定速率增加。
6.根据权利要求1所述的一种用于移动成群角色对象的方法,其特征在于:进一步包括该角色对象在到达目标点之后以预定速度在一个以目标点为中心、预定距离内的漫游区域中漫游的漫游步骤。
7.根据权利要求6所述的一种用于移动成群角色对象的方法,其特征在于:其中当该角色对象移动到漫游区域外时,该角色对象以高于预定速度的速度向在漫游区域内随机设定的参考点移动,直到角色对象回到漫游区域内。
8.根据权利要求1所述的一种用于移动成群角色对象的方法,其特征在于:进一步包括粘合状态消除步骤,当出现一个角色对象和另一个角色对象粘合以致该角色对象处于不能活动的粘合状态时,改变该角色对象的前进方向以消除粘合状态。
9.一种游戏装置,其特征在于:通过操作输入单元从记录介质中读出的软件可以被装入存储单元;并且游戏装置具有一个以预定周期调用的位置计算单元,用于计算向预定目标点移动的角色对象群中各角色对象的位置,该角色对象群是由包含一个领队的多个角色对象组成的;其中;位置计算单元包括:
一个第一加速度计算器,用于计算当此角色对象的预定第一区域内存在另一个角色对象时移动该角色对象离开此另一个角色对象的第一加速度;
一个第二加速度计算器,用于计算当此角色对象的预定第二区域内存在另一个角色对象时使此角色对象与另一个角色对象的移动速度和方向匹配以致紧随领队移动的第二加速度;以及
一个位置计算器,用于根据由第一加速度和第二加速度在三维虚拟空间中按x、y、z各个分量求和得到的合成加速度计算角色对象在三维虚拟空间中的位置,
其中第一区域是靠近该角色对象的区域,第二区域是比第一区域更远离该角色对象的区域。
10.根据权利要求9所述的游戏装置,其特征在于:进一步包括一种用于计算当另一个角色对象存在于该角色对象的一个预定第三区域内时用以移动角色对象离开此另一个角色对象的第三加速度的第三加速度计算器;其中位置计算器根据第一加速度至第三加速度在三维虚拟空间中按x、y、z各个分量求和得到的合成加速度计算该角色对象在三维虚拟空间中的位置,
其中第三区域是比第二区域更远离该角色对象的区域。
CNB001235168A 1999-08-20 2000-08-18 移动成群角色对象的方法和游戏装置 Expired - Lifetime CN1178170C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23359599A JP3163496B2 (ja) 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置
JP233595/1999 1999-08-20

Publications (2)

Publication Number Publication Date
CN1285571A CN1285571A (zh) 2001-02-28
CN1178170C true CN1178170C (zh) 2004-12-01

Family

ID=16957532

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001235168A Expired - Lifetime CN1178170C (zh) 1999-08-20 2000-08-18 移动成群角色对象的方法和游戏装置

Country Status (8)

Country Link
US (1) US6525736B1 (zh)
EP (1) EP1078665A3 (zh)
JP (1) JP3163496B2 (zh)
KR (1) KR100383047B1 (zh)
CN (1) CN1178170C (zh)
GB (1) GB2356539A (zh)
HK (1) HK1032465A1 (zh)
TW (1) TW440456B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110314373A (zh) * 2019-07-08 2019-10-11 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355982B2 (ja) * 2000-03-30 2009-11-04 株式会社セガ 集団キャラクタの移動制御方法、集団キャラクタの移動制御を含む遊戯装置、遊戯成績の演算方法及び記録媒体
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP3779869B2 (ja) * 2000-10-16 2006-05-31 株式会社ケー・エー・ジェー 仮想現実空間を表示する方法、仮想現実空間を表示するための装置、および単位仮想現実空間情報を記録した記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7530112B2 (en) * 2003-09-10 2009-05-05 Cisco Technology, Inc. Method and apparatus for providing network security using role-based access control
JP4735802B2 (ja) * 2003-10-23 2011-07-27 新世代株式会社 ゲーム装置、ゲームプログラム、及び、ゲーム装置の制御方法
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
US8448083B1 (en) 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US7805678B1 (en) 2004-04-16 2010-09-28 Apple Inc. Editing within single timeline
US7932909B2 (en) * 2004-04-16 2011-04-26 Apple Inc. User interface for controlling three-dimensional animation of an object
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8566732B2 (en) * 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7490295B2 (en) * 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US7411590B1 (en) 2004-08-09 2008-08-12 Apple Inc. Multimedia file format
JP3822218B2 (ja) * 2004-09-21 2006-09-13 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
KR100682849B1 (ko) 2004-11-05 2007-02-15 한국전자통신연구원 디지털 캐릭터 생성 장치 및 그 방법
JP3911511B2 (ja) * 2004-12-21 2007-05-09 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
JP3880008B2 (ja) * 2004-12-21 2007-02-14 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
US8140975B2 (en) * 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
JP4040050B2 (ja) 2005-03-30 2008-01-30 株式会社コナミデジタルエンタテインメント プログラム、キャラクタ制御方法、ならびに、キャラクタ制御装置
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
JP5025940B2 (ja) * 2005-10-26 2012-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US20070101279A1 (en) * 2005-10-27 2007-05-03 Chaudhri Imran A Selection of user interface elements for unified display in a display environment
US7743336B2 (en) * 2005-10-27 2010-06-22 Apple Inc. Widget security
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
JP4358181B2 (ja) * 2005-11-11 2009-11-04 任天堂株式会社 ゲームプログラムおよびゲーム装置
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070162850A1 (en) * 2006-01-06 2007-07-12 Darin Adler Sports-related widgets
JP4163718B2 (ja) * 2006-02-28 2008-10-08 株式会社コナミデジタルエンタテインメント オブジェクト表示装置、オブジェクト配置方法、および、プログラム
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8869027B2 (en) * 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20080125220A1 (en) 2006-11-27 2008-05-29 Hironobu Sakaguchi System and method of a game that shares a specific property of a character with team members
KR100885996B1 (ko) 2006-12-02 2009-03-03 한국전자통신연구원 대규모 가상 군중 동작의 획득 및 편집 방법 및 그 장치
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8954871B2 (en) * 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
JP4566221B2 (ja) * 2007-07-20 2010-10-20 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US8667415B2 (en) * 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
JP5214215B2 (ja) * 2007-11-02 2013-06-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
KR100895199B1 (ko) * 2007-11-07 2009-04-24 에스케이 텔레콤주식회사 가상 공간에서의 캐릭터 이동 경로 설정 방법 및 시스템
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8245283B2 (en) * 2009-03-03 2012-08-14 International Business Machines Corporation Region access authorization in a virtual environment
US8913063B2 (en) 2010-08-27 2014-12-16 Disney Enterprises, Inc. Pattern detection of avatars in a virtual environment
US10449457B2 (en) * 2011-04-20 2019-10-22 Disney Enterprises, Inc. System and method for dynamic matchmaking population herding
CN103875022B (zh) * 2011-10-11 2018-06-01 英派尔科技开发有限公司 从大规模多玩家在线角色扮演游戏收集路径数据的方法、设备及系统
JP5450718B2 (ja) * 2012-06-11 2014-03-26 株式会社スクウェア・エニックス ゲーム装置及びゲームプログラム
US8790178B1 (en) 2012-11-15 2014-07-29 Kabam, Inc. Metric based conformance by character units to specified formations
JP6677437B2 (ja) * 2013-09-13 2020-04-08 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
WO2017171567A1 (en) * 2016-03-30 2017-10-05 Bloober Team S.A. The method of simultaneous playing in single-player video games
CN112569598A (zh) * 2020-12-22 2021-03-30 上海幻电信息科技有限公司 目标对象控制方法及装置
US20230367463A1 (en) * 2022-05-11 2023-11-16 Supercell Oy Randomized movement control

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3470822B2 (ja) 1994-03-03 2003-11-25 株式会社セガ 画像表示方法及びその装置
JP3359981B2 (ja) * 1994-08-18 2002-12-24 株式会社ハドソン ロールプレイングゲームにおける集団キャラクタ表示方法
JPH1176614A (ja) * 1997-09-11 1999-03-23 Sega Enterp Ltd コンピュータゲーム装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110314373A (zh) * 2019-07-08 2019-10-11 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器
CN110314373B (zh) * 2019-07-08 2023-02-28 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器

Also Published As

Publication number Publication date
GB0018702D0 (en) 2000-09-20
GB2356539A (en) 2001-05-23
US6525736B1 (en) 2003-02-25
EP1078665A3 (en) 2005-11-16
CN1285571A (zh) 2001-02-28
JP3163496B2 (ja) 2001-05-08
KR20010050017A (ko) 2001-06-15
HK1032465A1 (en) 2001-07-20
TW440456B (en) 2001-06-16
KR100383047B1 (ko) 2003-05-09
EP1078665A2 (en) 2001-02-28
JP2001056870A (ja) 2001-02-27

Similar Documents

Publication Publication Date Title
CN1178170C (zh) 移动成群角色对象的方法和游戏装置
EP3682307B1 (en) Robot as personal trainer
CN1136521C (zh) 图象处理装置和方法以及采用该装置的游戏机
CN1093299C (zh) 画面处理装置及其方法
CN1114456C (zh) 游戏装置及游戏的重放方法
CN1171649C (zh) 游戏装置及其处理方法
CN1178724C (zh) 视频游戏机及其控制方法和环境图像装置
EP1595585A2 (en) Match game processing method, match game system, and storage medium thereof
CN1138231C (zh) 图象产生装置、其方法、游戏装置
KR100786149B1 (ko) 캐릭터 집단이동 제어방법, 기록매체 및 게임장치
CN1270279C (zh) 图像处理装置和游戏装置
CN1392984A (zh) 虚拟世界系统、服务器计算机和信息处理器
CN105278676A (zh) 基于视角和/或接近度修改触觉强度的可编程触觉设备和方法
US20010026265A1 (en) Image processing device, group character movement control method, game device including group character movement control, game score computing method and recording medium
CN1399230A (zh) 图像处理方法和设备
JP2010200830A (ja) ゲームシステム、ゲーム端末装置、サーバ、及び制御プログラム
JPWO2008016064A1 (ja) ゲーム装置、ゲーム装置におけるオブジェクトの表示方法及び表示プログラム
CN1849158A (zh) 电视游戏程序、电视游戏装置及电视游戏方法
JP2005319191A (ja) ゲームシステム、プログラム、情報記憶媒体および画像生成方法
US10456682B2 (en) Augmentation of a gaming controller via projection system of an autonomous personal companion
JP2003210827A (ja) 戦闘技設定方法、ゲーム装置、プログラム及び記録媒体
JP2007257589A (ja) ゲームプログラム、ゲーム装置及びゲーム方法

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20041201