图1示出按照本发明的一投掷物体影像游戏系统,一玩游戏者在该系统上玩一投掷游戏(典型地为一链球投掷游戏)。该系统一般包括一游戏机装置和一用于存储游戏程序数据、图形图像数据和音频数据的记录介质30。游戏机装置包括一CPU1,一联于CPU1的由地址总线,数据总线和控制总线组成的总线2,一联于CPU1的图形数据发生处理器3,一联于总线2的接口(IF)4,一联于总线2的主存储器5,一联于总线2的只读存储器(ROM)6,一联于总线2的扩展器7,一联于总线2的并口8,一联于总线2的串口9,一联于总线2的图形处理器10,一联于图形处理器10的缓冲器11,一联于图形处理器10的电视监视器12,一联于总线2的音频处理器13,一联于音频处理器13的缓冲器14,一联于音频处理器13的放大器15,一联于放大器15的扬声器16,一联于总线2的解码器17,一联于解码器17的缓冲器18,一联于解码器17的记录介质驱动器19,一联于总线2的接口(IF)20,一联于接口20的存储器21,以及一联于接口20的控制器22。记录介质30放置在记录介质驱动器19内。
投掷物体影像游戏系统根据其使用方式可以有不同的系统配置。如果该投掷物体影像游戏系统是用作家用影像游戏系统的,则,例如,电视监视器12和扬声器16和游戏机装置的其他部分分开。如果该影像游戏系统是用作商用影像游戏系统的,则图1所示的所有部分组合成一个单元并置于单一的机壳内。如果该影像游戏系统是围绕个人电脑或工作站布置的,则电视监视器12相当于电脑的显示监视器,图形处理器10,音频处理器13和扩展器7相当于储存在记录介质30中的一部分游戏程序数据或者相当于插在电脑扩展槽内的扩展板上的硬件布置,而接口4,并口8,串口9和接口20相当于插在电脑扩展槽内的扩展板上的硬件布置。缓冲器11,14,18相当于主存储器5的相应部分或者相当于一扩展存储器(未示出)。在所示的实施例中,该投掷物体影像游戏系统将作为家用影像游戏系统来说明。
图1所示的影像游戏系统的各部分将说明如下。图形数据发生处理器3作为CPU1的辅助处理器。图形数据发生处理器3以并行处理方法完成坐标转换、光源计算、定点矩阵和矢量运算。图形数据产生处理器3的主要处理任务包括一实现坐标转换的过程和一实现光源计算的过程。在实现坐标转换的过程中,图形数据发生处理器3根据CPU1提供的图像数据在二维或三维平面内的各顶点的绝对坐标数据,线位移数据和角位移数据确定待处理图像在显示区内的地址数据,并将确定后的地址数据送回CPU1。该实现坐标转换的过程在以后将详细说明。
在实现光源计算的过程中,图形数据发生处理器3根据光射线的矢量数据,多边形面的方向的法线数据以及多边形面颜色的数据计算一图像的亮度。
接口4作为供外围设备使用的接口,该外围设备为诸如鼠标,跟踪球或其他的指示装置。ROM6储存游戏程序数据作为投掷物体影像游戏系统的操作系统。ROM6中的游戏程序数据相当于个人电脑中的BIOS(Basic InputOutput System基本输入输出系统)。
扩展器7用来将按照MPEG(Moving Pictures Experts Group运动图像专家组)标准和JPEG(Joimt Photopraphic Experts Group联合图片专家组)标准对编码压缩后的图形图像数据进行扩展。由扩展器7完成的扩展过程包括一将VLC(Variable Length Coding可变长度编码)编码数据进行解码的解码过程,一反量化过程,一IDCT(Inverse Discrete Cosine Transform反离散余弦变换)过程,以及一对内部编码图像进行解码的解码过程。
图形处理器10根据CPU1的图形指令对缓冲器11中的数据作图形处理。缓冲器11有一显示区和一非显示区。显示区用来存储将在电视监视器12的屏幕上显示的数据,而非显示区则用来存储纹理数据、调色板数据等。纹理数据是两维的图像数据。调色板数据是说明纹理数据的颜色的数据。这些数据由CPU1在一个或多个周期内与影像游戏进程同步地从记录介质30事先传到缓冲器11的非显示区。
从CPU1发出的图形指令包括:例如,显示直线的图形指令,利用多边形显示三维图像的图形指令以及显示普通二维图像的图形指令。多边形是可能为三角形或矩形形状的多边形两维图像。
显示直线的图形指令包括显示直线的起始和终止的地址,以及表示直线颜色及显示直线的数据。显示直线的图形指令由CPU1直接发往图形处理器10。
利用多边形显示三维图像的图形指令包括缓冲器11的显示区内的多边形顶点地址数据,指示待映射到多边形的纹理数据在缓冲器11中的存储位置的纹理地址数据,指示表示纹理数据颜色的调色板数据在缓冲器11中的存储位置的调色板地址数据,以及指示纹理数据亮度的亮度数据。在这些数据中,图形数据发生处理器3根据来自CPU1的多边形绝对坐标数据、多边形运动数据和视点运动数据计算多边形顶点地址数据。确定多边形顶点地址数据的方式将在以后说明。
一物体在电视监视器12显示屏上的运动由物体本身的移动以及相对于该物体的视点的移动来确定。例如,如果仅仅物体运动而视点是固定的,则屏幕上物体的移动和物体本身的移动是相同的。相反,如果物体不动而只是视点移动,则电视监视器12上物体的运动和视点本身的移动相同。如果术语“视点”用术语“摄相机位置”来代替则以上解释更容易理解。因此,电视监视器12显示屏显示物体仿佛该物体是由一移动的摄相机拍摄的。虽然以上解释中描述成物体或者视点之一是移动的,而对数据的处理和显示而言,则看成物体和视点都是移动的。
物体的运动包括角位移和线性位移。物体相对于视点的角位移是由物体和视点的旋转角形成的。角位移和旋转角在采用二维坐标系的数据处理中由2×2矩阵表示,而在采用三维坐标系的数据处理中由3×3矩阵表示。物体相对于视点的线性位移是由物体位置(各坐标),视点位置(各坐标)以及视点的旋转角形成的。旋转角在采用两维坐标系的数据处理中由2×2矩阵表示,而在采用三维坐标系的数据处理中由3×3矩阵表示。根据来自控制器22的指令,物体和视点的旋转角被存储在表中。根据来自控制器22的指令,CPU1从表中读出对应的物体和视点的旋转角,并利用读出的旋转角来确定物体相对于视点的角位移和线性位移。
显示区内多边形顶点地址数据确定如下:响应于来自控制器22的一指令,CPU1确定物体的旋转角和位置以及视点的旋转角和位置。根据所确定的物体和视点的旋转角,CPU1确定物体相对于视点的角位移。根据物体的位置以及视点的位置和旋转角,CPU1确定物体相对于视点的线性位移。如果物体的角位移和线性位移数据是采用三维坐标系来处理的,则它们被表示成3×3矩阵。
物体的角位移和线性位移数据和多边形的绝对坐标数据一起提供给图形数据发生处理器3。图形数据发生处理器3根据所提供的物体角位移和线性位移数据将多边形绝对坐标数据转换成多边形顶点地址数据。多边形绝对坐标数据是按上述过程得到的。
多边形顶点地址数据表示缓冲器11的显示区内的地址。图形处理器10在缓冲器11的显示区内建立一个三角形或矩形的由三个或4个多边形顶点地址数据表示的域,并在建立的域内写纹理数据。这一写的过程一般称之为“纹理映射”。电视监视器12的显示屏上显示的一具有纹理数据的物体,该纹理数据映射到构成该物体的多个多边形上。
显示普通二维图像的图形指令包括顶点地址数据,纹理地址数据,调色板地址数据以及指示纹理数据亮度的亮度数据。这些数据中,顶点地址数据包括由图形数据发生处理器3根据线性位移数据将来自CPU1的二维空间内的顶点坐标数据变换所得到的坐标数据。
音频处理器13将从记录介质30读出的ADPCM数据存储在缓冲器14内,并利用存储在缓冲器14内的ADPCM数据作为声源。音频处理器13以例如频率为44.1KHz的时钟从缓冲器14读出ADPCM数据。随后音频处理器13将由缓冲器14读出的ADPCM数据作音调转换、噪声添加、包络设定、电平设定、混响添加等处理。如果由记录介质30读出的音频数据是PCM数据,则音频处理器13将PCM数据转换成ADPCM数据。PCM数据由影像程序数据直接在主存储器内处理。在主存储器5内经过处理的PCM数据供给音频处理器13,音频处理器13将PCM数据转换成ADPCM数据,按上述方式处理该ADPCM数据,并从扬声器16输出ADPCM数据作为声音。
记录介质驱动器19可能包括一硬盘驱动,一光盘驱动,一软盘驱动,一硅盘驱动,一盒式阅读器或同类,而记录介质可能由硬盘,光盘,软盘,半导体存储器或同类组成。记录介质驱动器19从记录介质30读出图形图像数据,音频数据和游戏程序数据,并将读出的数据传送给解码器17。解码器17对来自记录介质驱动器19的数据以ECC码(Error Correcting Code,纠错码)作纠错处理,并将纠错后的数据提供给主存储器5或音频处理器13。
存储器21包括一支架和一卡片型存储器。卡片型存储器用来保存游戏的各种参数,例如,当游戏到终止时保存游戏的状态。控制器22具有包括左键L,右键R,上键U和下键D的箭头键,左按钮22L,右按钮22R,启动按钮22a,选择按钮22b,第一按钮22c,第二按钮22d,第三按钮22e以及第四按钮22f。各箭头键由玩游戏者用来给CPU1指示朝上,朝下,朝左和朝右方向的各指令。启动按钮21a由玩游戏者用来命令CPU1启动从记录介质30加载来的游戏程序数据。选择按钮22b由玩游戏者用来命令CPU1对从记录介质30加载到主存储器5的游戏程序数据作不同的选择。左按钮22L,右按钮22R,第一到第四按钮22c,22d,22e,22f,根据从记录介质30加载来的游戏程序数据有不同的功能。
投掷物体影像游戏系统的操作将简述如下:当投掷物体影像游戏系统的电源开关(未示出)合上时,该投掷物体影像游戏系统被通电。如果记录介质30是插在记录介质驱动器19内的,则CPU1根据存储在ROM6内的操作系统命令记录介质驱动器19从记录介质30读出游戏数据。于是记录介质驱动器19从记录介质30读出图形图像数据,音频数据和游戏程序数据。读出的图形图像数据,音频数据和游戏程序数据被提供给解码器17,它对所供数据作纠错处理。纠错后的数据通过总线2被提供给扩展器7,扩展器7将数据扩展。随后扩展后的数据被提供给图形处理器10,并由图形处理器10写入缓冲器11的非显示区。
由解码器17纠错后的音频数据被提供给主存储器5或音频处理器13,并存储在主存储器5或缓冲器14内。由解码器17纠错后的游戏程序数据被提供给并存在主存储器5内。接着,CPU1根据存在主存储器5内的游戏程序数据执行影像游戏并且执行由玩游戏者输入到控制器22的各指令。具体说,CPU1根据由玩游戏者输入到控制器22的各指令控制图像处理、音频处理和内部处理各操作。在图像处理操作中,角位移和线性位移数据以及绝对坐标数据被提供给到图形数据发生处理器3,同时包括由图形数据发生处理器3确定的缓冲器11的显示区内的地址数据和亮度数据在内的各图形指令被发出。在音频处理操作中,音频输出指令被发布到音频处理器13,同时电平、混响及其它设定被指示。在内部处理操作中,根据由玩游戏者输入控制器22的各指令完成各计算。B、图1所示的CPU1的功能:
图2表示图1所示CPU1所执行的功能或装置。当CPU1读游戏程序数据时,它执行图2所示的功能或装置,游戏程序数据是已从记录介质30读出并存在主存储器5内的。如图2所示,由CPU1执行的功能或装置包括一按钮操作检测功能或装置1a,一视点数据设定功能或装置1b,一显示范围信息提取功能或装置1c,一计算功能或装置1d,一结果信息设定功能或装置1e,一决策功能或装置1f,一图形指令发布功能或装置1g,一变量设定功能或装置1h,一帧数目采集功能或装置1i,一线性位移和角位移采集功能或装置1j,一多边形信息管理功能或装置1k,以及一指导信息管理功能或装置1m。这些功能或装置在随后的“E”-“G”过程中作为控制功能或装置。C、箭头和尾迹的显示:
图3A说明由显示图像中的箭头和尾迹组成的一投掷指导,该显示图像由(垂直)480象素×(水平)640象素组成。图3B说明一箭头图像的绝对坐标。图3C说明根据箭头的绝对坐标和线性位移及角位移数据建立三维坐标系内箭头的图像转换过程的概念。图4C为箭头的绝对坐标的示例。图4D为箭头的转换后地址的示例,该转换后地址是由图形数据发生处理器3根据线性及角位移数据从图4C所示的箭头绝对坐标转换而来的。图4G为图4D所示箭头转换后地址的箭头尾部的转换地址的示例。图4H为尾迹形成地址的示例,它是由图4G所示箭头尾部的转换后地址形成的。
在投掷物体影像游戏系统中所用的投掷指导用来为玩游戏者指导投掷人体(如竞赛者)在游戏空间内应该投掷一物体(如链球)的准确时间以及为了在玩游戏者预定的方向猛投物体投掷人体应该旋转的剩余圈数。如图3A所示,投掷指导包括指示投掷人体猛投物体的方向的箭头Na和箭头Na的尾迹Lo,箭头Na和尾迹Lo被显示在电视监视器12的显示屏上。箭头Na指示的方向和投掷人体猛投物体的方向是一致的,而人体猛投物体的方向是由与箭头Na一起显示的人体(如竞赛者)的姿态表示的。换句话说,指示投掷方向的箭头Na根据投掷人体的姿态定时地与投掷人体一起显示,投掷人体的姿态也定时地显示在显示屏上。
箭头Na在沿箭头所指方向的一路径OR的接连位置上显示。跟随箭头Na的尾迹Lo的图像是利用在当前位置显示的箭头Na尾部的两个地址a1,a2和在前一位置显示的箭头Nb尾部的两个地址b1,b2来形成和显示的。具体说,尾迹Lo的图像是由箭头Na尾部地址数据a1和箭头Nb尾部地址数据b2交叉联接以及箭头Na尾部地址数据a2和箭头Nb尾部地址数据b1交叉联接所形成的两个三角形组成的。
投掷人体已经旋转的圈数用箭头Na的颜色来表示。例如,当指示投掷人体已旋转圈数的一最小值数值是最小时,箭头Na的颜色被设置为紫色。随着指示投掷人体已旋转圈数的该数值的增加,箭头Na的颜色接连地被设置为更暖的颜色。当指示投掷人体已旋转圈数的最大值数值是最大时,箭头Na的颜色被设置为红色。如果在投掷物体影像游戏系统上进行的投掷物体影像游戏是推铅球,则箭头Na一开始就以红色显示因为在推铅球中基本圈数是0.5。如果进行的投掷游戏是扔铁饼,则箭头颜色第一圈以黄色显示然后第二圈以红色显示因为在扔铁饼中基本圈数是两圈。如果进行的投掷游戏是掷链球,则第一圈以紫色显示箭头Na,第二圈蓝色,第三圈绿色,第四圈黄色而第五圈红色。这是因为在投掷物体影像游戏系统上掷链球的基本圈数是设置为5,虽然在真实链球比赛中它是4圈。箭头Na的颜色由图形指令发布装置1g确定,该装置查阅由计算装置1d将投掷方位角Ah除以360(度)得到的商(小数点以后的数字不计)所形成的一个表。该表包括若干个商和调色板地址数据或者指示对应各商的各颜色的数据。
在投掷物体影像游戏系统上进行的投掷物体游戏中,当投掷人体已旋转的圈数超过指示圈数的最大数值,即最大数目时,则宣布投掷失败。该投掷失败构成实际投掷比赛中的犯规。
上述投掷指导是根据投掷人体的姿态在实时基础上显示的。因此,当物体被投掷人体猛掷出的当时,玩游戏者能够知道投掷的方向和剩余的圈数。玩游戏者于是能根据所显示的投掷指导辨别他设想的投掷方向和时间,然后操纵控制器22根据辨别的投掷方向和时间使投掷人体猛掷出物体。因而按照本发明的投掷物体影像游戏系统为投掷物体影像游戏提供一用户友好的界面。
投掷指导的显示过程详细说明如下:
箭头Na有例如图3A所示的形状。箭头Na具有由三维平面上围绕该箭头Na的一矩形的各角的坐标数据(中心在“O”)表示的绝对地址。该箭头的绝对坐标数据从记录介质30(见图1)加载到主存储器5。在图3B和4C所示的例子中,箭头的绝对坐标数据是(x1,y1,z1)=(8,0,10),(x2,y2,z2)=(-8,0,10),(x3,y3,z3)=(8,0,-10),及(x4,y4,z4)=(-8,0,-10)。
图3C说明由图形数据发生处理器3所实现的图像转换过程的概念。当图形数据发生处理器3被供给以图3B所示的绝对坐标数据以及线性和角位移数据时,它建立如图3C所示的一具有三维坐标的箭头。为了便于说明,假设摄相机的位置和转角固定为能在所有时间看到投掷人体和物体。
围绕箭头的矩形的各顶点在三维平面上的地址数据被转换成缓冲器11的显示区内的地址数据。箭头的转换地址数据的一个例子示于图4D。如图4D所示,箭头的转换地址数据是缓冲器11的显示区内的地址数据。例如,图3A中所示的当前时刻的箭头Na周围的矩形各角在缓冲器11的显示区内的地址a1,a2,a3,a4表示为图4D所示的(560,320),(544,324),(594,368)和(560,394)。图3A中前一时刻的箭头Nb周围的矩形各角在缓冲器11的显示区内地址b1,b2,b3,b4如图4D所示由(424,342),(408,346),(458,390)和(424,416)表示。
尾迹Lo的图像说明如下:假设箭头Na是在当前时刻显示的,箭头Nb是在前一时刻显示的,该前一时刻是当前时刻以前的某一预定单位时间,并假设过去显示过的箭头只有箭头Nb。
当箭头Na显示成如图3A所示,主存储器5存储当前时刻显示的箭头Na的转换地址数据以及前一时刻显示的箭头Nb的转换地址数据,如图4D所示。另外,如图4G所示,主存储器5还存储图4D中各箭头的转换地址数据中的仅仅箭头尾部的各地址作为转换地址数据。从图3A可见,当前时刻箭头Na尾部地址和前一时刻箭头Nb尾部地址由a1,a2和b1,b2表示。这些地址如图3A的下部所示表示为(560,320),(544,324)和(424,342),(408,346)。这些地址值作为箭头尾部的转换地址数据存储在主存储器5中与图4D所示地址数据区域不同的其他区内。
如图4H所示,箭头Na,Nb的尾部转换地址数据作为尾迹形成地址数据由主存储器5提供给到图形处理器10。当图形处理器10接收到包括尾迹形成地址数据的一图形指令时,该图形处理器10根据所提供的尾迹形成地址数据将箭头纹理数据作为尾迹图像数据写在缓冲器11的显示区中。于是,电视监视器12的显示屏显示出如图3A阴影所示的尾迹Lo。尾迹图像Lo给玩游戏者一种视觉上的错觉,似乎它看起来象箭头Na的尾迹。这样,箭头和尾迹在接连的位置上显示以提供箭头路径OR的视觉表示。
在以上例子中,由于在当前和过去时刻接连显示两个箭头,只有一个尾迹图像Lo显示出来。如果在接连的时间上接连显示更多的箭头,则有更多的尾迹图像Lo接连地显示出来,结果形成一较长的组合尾迹图像跟随在屏幕上同时显示的箭头后面。
由于箭头的路径OR由显示的尾迹图像Lo来表示,玩游戏者可以辨别该箭头在显示屏上将要显示的位置,因此可以对箭头所代表的投掷方向迅速地反应。换句话说,玩游戏者在有路径OR显示时要比无路经OR显示时可更可靠和迅速地预测该箭头将要显示的位置。因此在有箭头显示的投掷物体影像游戏中可以改进他们对机动动作的反应以瞄准投掷人体猛投物体的方向。
箭头Na的加色说明如下:如前所述,箭头Na根据投掷人体已旋转的圈数改变其颜色。通常,冷色用来表示小的数值,如低温,而暖色表示大的数值,如高温。在本实施例中,随着投掷人体旋转圈数的增加,箭头Na接连地从冷色朝暖色改变其颜色。因此,玩游戏者借助观察箭头Na的颜色可以辨别投掷人体可旋转的剩余圈数。换句话说,玩游戏者可以辨别他或她控制该投掷人体在游戏空间内投掷物体的准确时间。红色通常用来表示一种危险,一种极限等等。当箭头Na的颜色随着投掷人体已旋转圈数的增加变得更接近红色时,玩游戏者可直观地确定无疑地觉察投掷人体能旋转的剩余圈数是减少的。
图5A到5D表示在图1所示投掷物体影像游戏系统上进行的链球投掷游戏的显示图像。图5A到5D中所示的显示图像是表明一竞赛者Ma在游戏空间内从开始抛掷一链球Ba到结束抛掷所做的连贯动作的一系列画面中的四个典型图像。图5A所示的显示图像表示竞赛者Ma开始要抛掷链球Ba。图5B所示的显示图像表示竞赛者Ma正开始抛掷链球Ba。图5C所示的显示图像表示竞赛者Ma将要释放链球Ba。图5D所示显示图像表示竞赛者刚释放链球Ba。为简便起见,只在图5B中标出参数字母。图5A到5D中所示的显示图像是从大量链球竞赛的所有图像或画面中选出的。
如图5B中所示,显示图像或画面包括一背影,竞赛者Ma,链球Ba,箭头Na,尾迹Lo,展示结果的窗口W以及展示一角度的指导Gi。背景包括扇区线LL,LR。窗口W在其最左部分的上区显示象征玩游戏者的数目的字母(在图5B中为“1P”:一人),在其最左部分的中区显示象征投掷能量的线条图,以及在其最左部分的下区显示象征选手号码的字母(图5B中为“PLAYER1”)。窗口W还在其中央部分显示字母“1ST”,“2ND”,“3RD”,分别象征第一次,第二次和第三次投掷。在字母“1ST”,“2ND”,“3RD”的右边显示象征链球飞行的距离或者犯规的标志。在图5A中,第一次投掷显示“59.33M”表示距离为59米33厘米,第二次投掷显示“68.39M”表示距离为68米39厘米。显示在字母“1ST”右面的符号“X”以及显示在字母“2ND”右面的符号“O”联合表明第二次投掷的距离要比第一次投掷的距离更有效。在图5B中,第一次投掷显示的是字母“FOULX”,说明第一次投掷是一次失败或犯规。
如图5B所示,显示的尾迹Lo在朝向箭头Na方向较大而在离开箭头Na方向则较小。E按照主例程的控制序列:
图6到9给出按游戏程序的主例程绘制的控制序列流程图,该游戏程序控制图1所示投掷物体影像游戏系统。在工作于图1所示投掷物体影像游戏系统的投掷物体影像游戏中,根据玩游戏者如何操纵控制器22,一物体在游戏空间内由一投掷人体猛投出。可以由工作于图1的投掷物体影像游戏系统的投掷物体影像游戏所仿真的投掷物体竞赛包括例如推铅球,掷链球和掷铁饼。如果示于图6到9的主例程中的投掷物体影像游戏是推铅球,则投掷人体代表一竞赛者而物体代表一铅球。如果示于图6到9的主例程中的投掷物体影像游戏是扔铁饼,则投掷人体代表一竞赛者而物体代表一铁饼。如果示于图6到9的主例行程序中的投掷物体影像游戏是掷链球,则投掷人体是一竞赛者而物体代表一链球。
图6所示控制序列包括步骤S1和其他步骤,步骤S1由存储在图1所示的ROM6内的操作系统执行,而其他各步骤则根据从记录介质30读出的游戏程序数据执行。根据游戏程序数据的各步骤由图2所示的CPU1的不同功能或装置来执行。
如图6所示,在步骤S1中操作系统命令记录介质驱动器19从记录介质30读出图形数据、音频数据和游戏程序数据。在读自记录介质30的各数据中,游戏程序数据存在主存储器5内,并把图2所示的各功能或装置传给CPU1。图形数据(即纹理数据)存储在联于图形处理器10的缓冲器11内,并被分配相应的纹理数据号。音频数据存储在联于音频处理器13的缓冲器14内并被分配相应的音频数据号,通常,在步骤S1中不是全部的图形和音频数据都被存在缓冲器11和14内。不过为了解释的目的,假设在步骤S1中全部图形和音频数据都从记录介质30加载。
在步骤S2中,按钮操作检测装置1a确定控制器22的启动按钮22a是否已被玩游戏者按过。如果已按过(是),则控制进到步骤S3。
在步骤S3中,图形指令发布装置1g给图形处理器10发布一显示游戏选择图像的图形指令。根据供给的图形指令,图形处理器10将游戏选择图像的图形数据存在缓冲器11的显示区内并将游戏选择图像显示在电视监视器12的显示屏上。
在下一步骤S4,按钮操作检测装置1a确定控制器22的启动按钮22a是否已被玩游戏者按过。如果已按过(是),则控制进行到步骤S5。
在玩游戏者按动启动按钮22a以前,玩游戏者利用箭头键选择一所需的影像游戏,在这里是高尔夫游戏。在玩游戏者选了一所需的影像游戏之后,玩游戏者按动启动按钮22a。在游戏选择图像上选择某些游戏(譬如武术游戏),包括选择游戏的角色和其他项。
在步骤S5中,假设已选择了投掷物体游戏,并CPU1已被设定到该选择的游戏。
在步骤S6中,图形指令发布装置1g发布一显示被选游戏的起始图像的图形指令给图形处理器10。图形处理器10将起始图像的图形数据存在缓冲器11的显示区内,并将起始图像显示在电视监视器12的显示屏上。
在步骤S7中,变量设定装置1h复位主存储器5内的各标志和变量。
在步骤S8中,按钮操作检测装置1a确定控制器22的第一按钮22c是否已被玩游戏者按过。如果已按过(是),则控制进到步骤S9,如果未按过(否),则控制进到步骤S11。第一按钮22c用来控制游戏空间内投掷人体的旋转速度。
在步骤S9中,计算装置1d将增加基准速度数据s加到速度数据Sd上。
在下一步骤S10中,帧数采集装置1i根据速度数据Sd确定帧数数据fd。帧数数据fd称之为转换的帧数数据。转换的帧数数据fd由帧数采集装置1i从有关表确定。该表包括一些速度数据Sd和一些与相应的速度数据Sd一起登录的帧数数据,该表从记录介质30被加载到主存储器5内。帧数也可从速度数据Sd计算而不利用该表。
在步骤S11中,计算装置1d将速度数据Sd减去降低基准速度数据m。
在步骤S12中,决策装置1f确定速度数据Sd的值是否是负的。如果是负的(是),则控制进到步骤S13,如果是非负(否),则控制跳到步骤S10。
在步骤S13中,变量设定装置1h将速度数据Sd设为“0”。
如前所述,在步骤S8中,按钮操作检测装置1d确定控制器22的第一按钮22c是否已被玩游戏者按过,而如果第一按钮已被按过,则速度数据Sd在步骤S9中被增加,而如果第一按钮22c未被按过,则速度数据Sd在步骤S11中被减少。根据玩游戏者每单位时间按动第一按钮22c的次数来建立速度数据Sd的值。如果玩游戏者每单位时间按动第一按钮22c的次数大,则游戏空间内投掷人体的旋转速度(即投掷能量)增加。反之,如果玩游戏者每单位时间按动第一按钮22c的次数少,则游戏空间内投掷人体的旋转速度(即投掷能量)降低。投掷能量的改变由图5A到5D中所示的条线图的改变表示。
如图7所示,在步骤S14中计算装置1d将转换的帧数数据fd加在帧数数据FD上。
在下一步骤S15中,帧数采集装置1i从存在主存储器5内的表TBL读出与步骤S14中所确定的帧数数据FD对应的投掷方位角数据Ah。如图4A中所示,表TBL包括一些帧数数据FD和一些分别与帧数数据FD相对登录的投掷方位角数据Ah。
在步骤S16中,变量设定装置1h根据来自一表的帧数数据FD读出主存储器5内的投掷人体的多边形的绝对坐标数据的地址数据以及线性和角位移数据,并将地址数据代入一地址变量ADD,线性位移数据代入一线性位移变量MO以及角位移数据代入一角位移变量RO。地址数据、线性位移数据和角位移数据得自一表,该表包括从最小值到最大值的许多帧数,以及相对各帧数登录的许多地址数据、线性位移数据和角位移数据。
在步骤S100,执行一多边形图像显示子程序。多边形图像显示子程序将在以后说明。
在步骤S200,执行一投掷物体指导显示子程序。投掷物体指导显示子程序将在以后说明。
在步骤S17,决策装置1f确定投掷方位角数据Ah的值是否等于或小于一最小投掷方位角Ahmin。如果投掷方位角数据Ah的值等于或小于最小投掷方位角Ahmin(是),则控制进到步骤S18。如果不是(否),则控制进到步骤S22(见图8)。如图4A所示,最小投掷方位角Ahmin是物体落入具有一边界的无效区内的最小角度。无效区是如图4B和5A到5D中所示扇区线LL,LR之间所规定的投掷扇区以外的区域。
在实施例中,物体被猛投出前的最大旋转圈数对推铅球时置为“0.5”,对扔铁饼为“2”,对掷链球为“5”。帧数的最大值的确定取决于物体所做的最大旋转数。如果在某一比赛中物体所做的最大旋转数是“4”,而帧数的最大值从而设定为“240”,则对于物体所做最大旋转数为“2”的比赛,帧数的最大值是“120”。
在步骤S18,由于投掷方位角数据Ah的数值等于或小于最小投掷方位角Ahmin,则该投掷是失败,它意味着是一次犯规。于是结果信息设定装置1e将表征“FOUL×”的特征数据供给图形处理器10。现在窗口W如图5B所示在它中央部分显示字符“FOUL×”。
在下一步骤S300中,执行一投掷人体失败图像显示子程序。投掷人体失败图像显示子程序是步骤S32(以后说明)中的一过程和步骤S100中的多边形图像显示子程序的组合。当投掷人体失败图像显示子程序被执行时,在失败的时刻投掷人体的一动作,例如跪下,被显示在显示屏上。
在步骤S19中,决策装置1f根据来自按钮操作检测装置1a的数据确定控制器22上任何按钮是否已被玩游戏者按动过。如果任一按钮已被按动(是),则控制进到步骤S20。如未被按动(否),则控制回到步骤S300。
在步骤S20,计算装置1d将投掷次数数据Th加“1”。
在下一步骤S21,决策装置1f确定是否投掷次数数据Th大于最大投掷次数Thmax。如果投掷次数数据Th是大于最大投掷次数Thmax(是),则控制回到步骤S3。如果不是(否),则控制回到步骤S8。
在步骤S22中(见图8),按钮操作检测装置1a确定控制器22的第二按钮22d是否已被玩游戏者按动过。如果按过(是),则控制进到步骤S23,如果未按过(否),则控制回到步骤S8。第二按钮22d用来确定物体的垂直投掷角数据Av以及投掷物体的时间。在本实施例中,在第二按钮22d被按动情况下接连地增加垂直投掷角数据Av。垂直投掷角数据Av由指导Gi实时地显示,如图5A到5D所示。
在步骤S23中,计算装置1d将垂直投掷角数据Av加基准角数据z。
在步骤S24中,决策装置1f确定是否垂直投掷角数据Av的值是大于最大垂直投掷角Avmax。如果垂直投掷角数据Av的值是大于最大垂直投掷角Avmax(是),则控制进到步骤25。如果不是(否),则控制跳到步骤S26。
在步骤25中,变量设定装置1h将最大垂直投掷角Avmax代入垂直投掷角数据Av。
在步骤S26中,按钮操作检测装置1a确定是否第二按钮22d已为玩游戏者释放。如果已释放(是),则控制进到步骤S27。如果未释放(否),则控制回到步骤S23。当第二按钮22d被释放时,则物体由游戏空间内的投掷人体以该时的垂直投掷角数据所表示的垂直角猛掷出去。
在步骤S27中,变量设定装置1h根据速度数据Sd值,投掷方位角数据Ah和垂直投掷角数据Av将速度矢量数据初始化。速度矢量数据表示三维坐标系内的一位置并包括数值(x,y,z)。初始化速度矢量数据意味着将速度矢量数据建立在以上三个数值上。
在步骤S28中,计算装置1d将步骤S27中已初始化的速度矢量数据加上重力加速度矢量。重力加速度矢量是一常量,用以改变三维坐标系内由速度矢量数据值(x,y,z)所表示的位置。
在步骤S29中,计算装置1d将速度矢量数据(x,y,z)加于物体的位置数据。物体的位置数据代表物体在三维坐标系内的位置,包括值(x,y,z)。
在步骤S30中,决策装置1f确定物体高度是否等或小于“0”。如果物体高度是“0”(是),则控制进到步骤S31,如不是(否),则控制进到步骤S32。物体的高度代表每一帧中显示屏上的物体高度。
在步骤S31中,变量设定装置1h将物体高度设定为“0”。
在步骤S32中,变量设定装置1h将主存储器5中物体的多边形绝对坐标数据的地址数据代入地址变量ADD,将线性位移数据代入线性位移变量MO,而将角位移数据代入角位移变量RO。线性位移数据和角位移数据得自一表,该表包括从最小值到最大值的物体位置数据以及相对于位置数据登录的许多线性位移数据和角位移数据。
在下一步骤S100中,执行多边形图像显示子程序。
在下一步骤S400中,执行一掷后投掷人体图像显示子程序。步骤S400中的掷后投掷人体图像显示子程序是步骤S32中的过程和步骤S100中多边形图像显示子程序的组合。
在跟随步骤S31的步骤S33(见图9)中,计算装置1d确定物体已飞行的距离。结果信息设定装置1e将指示已确定距离的字符数据供给图形处理器10。
在步骤S34中,图形指令发布装置1g对图形处理器10供给一结果图像显示的图形指令。现在电视监视器12的显示屏上在图5A到5D所示的窗口W的中央部分显示指示物体飞行距离的字符。
在步骤S35中,决策装置1f根据来自按钮操作检测装置1a的数据确定是否控制器22的任一按钮已被玩游戏者按动。如果任一按钮已被按动(是),则控制进入步骤S36。
在步骤S36中,图形指令发布装置1g对图形处理器10发布一显示图像的图形指令,该图像说明投掷已成功。图形处理器10将表示投掷已成功的图像数据写入缓冲器11的显示区。现在电视监视器12的显示屏上显示一说明投掷已成功的图像。说明投掷已成功的图像可能包括例如字母“GOOD”,显示在图5A到5D的窗口W的中央部分。
在步骤S500中,执行一投掷成功的投掷人体图像显示子程序。步骤S500中该投掷成功的投掷人体图像显示子程序是步骤S32中的过程和步骤S100中的多边形图像显示子程序的组合。在投掷成功的投掷人体图像显示子程序中,一投掷成功时刻的投掷人体的动作,例如一个跳跃着的投掷人体,被显示在显示屏上。
在步骤S600中,执行一重放图像显示子程序。重放图像显示子程序利用玩游戏者对控制器22的各操作信息。具体说,玩游戏者对控制器22的操作的全部信息都存在主存储器5内。在重放图像显示子程序中,从主存储器5读出玩游戏者对控制器22的操作的全部信息,并根据玩游戏者对控制器22的过去的操作经处理以显示图像。
在步骤S37中,决策装置1f根据来自按钮操作检测装置1a的数据确定是否控制器22上的任意按钮已被玩游戏者按动。如果任一按钮已被按动(是),则控制进到步骤S20。F、步骤S100中多边形图像显示子程序的控制过程:
图11示出按照步骤S100中多边形图像显示子程序的控制序列。在多边形图像显示子程序中,投掷人体和物体的多边形被显示。每一投掷人体和物体包括很多多边形。如图4E所示,这些多边形的顶点的绝对坐标数据(x,y,z)存储在主存储器5内。绝对坐标数据(x,y,z)根据线性和角位移数据由图形数据形成处理器3转换成二维平面内的转换后多边形地址数据(x,y),如图4F所示。示于图4F的转换后多边形地址数据和纹理地址数据以及调色板地址数据一起作为一图形指令供给图形处理器10。图形处理器10响应该图形指令根据转换后多边形地址数据将纹理数据写入缓冲器11的显示区。现在电视监视器12的显示屏显示出各由很多多边形组成的投掷人体和物体。
在步骤S101中(示于图10),多边形信息管理装置1k读出主存储器5内的多边形各顶点的绝对坐标数据,它由来自主存储器5的地址变量ADD的值指示。
在步骤S102中,多边形信息管理装置1k将多边形各顶点的绝对坐标数据、线性位移变量MO中的线性位移数据、角位移变量RO中的角位移数据、光射线的矢量以及各多边形法线数据供给图形数据形成处理器3。根据所供给的数据,图形数据形成处理器3确定转换后多边形地址数据(x,y)和亮度数据,并将确定的数据供给多边形信息管理装置1k。
在步骤S103中,多边形信息管理装置1k将来自图形数据形成处理器3的转换后多边形地址数据(x,y)和亮度数据写入主存储器5。
在步骤S104中,决策装置1f确定是否所有多边形各顶点的多边形绝对地址数据都已转换为多边形转换地址数据。如果所有多边形绝对地址数据都已转换成多边形转换地址数据(是),则控制进入步骤S105。如果没有(否),则控制回到步骤S102。
在步骤S105中,图形指令发布装置1g从主存储器5读转换后多边形地址数据(x,y)和亮度数据,并将转换后多边形地址数据(x,y)和亮度数据与纹理地址数据和调色板地址数据一起作为一图形指令供给图形处理器10。图形处理器10响应该图形指令根据转换后多边形地址数据(x,y)将投掷物体的纹理数据写入缓冲器11的显示区。电视监视器12的显示屏现在显示各由许多多边形组成的投掷人体和物体。
在步骤S106中,决策装置1f确定是否所有数据都已传递。如果所有数据都已传递(是)则多边形图像显示子程序结束。如果没有(否),则控制回到步骤S105。G、按照步骤S200中投掷物体指导显示子程序的控制过程:
图11到13示出了按照步骤S200中投掷物体指导显示子程序的控制序列。
在步骤S201(示于图11)中,指导信息管理装置1m从主存储器5读出围绕箭头的矩形各顶点的绝对坐标数据。
在步骤S202中,线性和角位移采集装置1j根据投掷方位角数据Ah的值以及离图3A所示的旋转中心O的距离数据得到围绕箭头的矩形在三维坐标系内的线性和角位移数据。该距离数据是一固定值。
在步骤S203中,指导信息管理装置1m将箭头的绝对坐标数据、线性位移数据以及角位移数据供给图形数据形成处理器3。图形数据形成处理器3将箭头的绝对坐标数据根据线性位移数据和角位移数据转换成三维坐标系内的坐标数据,由该坐标数据产生二维坐标系内的转换后地址数据(x,y),并将转换后地址数据(x,y)供给指导信息管理装置1m。
在步骤S204中,指导信息管理装置1m将来自图形数据形成处理器3的转换后地址数据(x,y)写入主存储器5。
在步骤S205中,图形指令发布装置1g从主存储器5读出转换后地址数据(x,y),并将转换后地址数据(x,y)和纹理地址数据以及调色板地址数据一起作为一图形指令供给图形处理器10。图形指令发布装置1g根据旋转次数得到显示箭头颜色的调色板地址数据,该旋转次数是基于来自计算装置1d的一计算值的。该计算值由计算装置1d将投掷方位角数据Ah除以360(度)而确定的。根据转换后地址数据(x,y),图形处理器10将具有由调色板指示的颜色的箭头的纹理数据写入缓冲器11的显示区。
颜色是参照一表而确定的,该表包括由计算装置1d确定的从最小到最大的各商值。以及对应各商值登录的颜色指示数据或调色板地址数据。
在步骤S206中,决策装置1f确定是否地址指针P的值是一起始地址Pstart。如果地址指针P的值是起始地址Pstart(是),则控制进到步骤S207,如果不是(否),则控制跳到步骤S209(见图12)。该起始地址Pstart是储存转换后地址数据的区的起始地址。
在步骤S207中,计算装置1d将地址指针P加一基准地址数k。基准地址数K的值表示存储两个地址数据所需的存储容量。
在下一步骤S208中,指导信息管理装置1m将对应箭头尾部的二维转换后地址数据(x,y)存储到主存储器5的地址指针P所指示的区内。随后,投掷物体指导显示子程序终了。
在图12所示的步骤S209中,计算装置1d确定是否地址指针P的值小于一差值,该差值是由起始地址Pstart与转换后地址数据的最大存储数nmax之和减去基准地址数k得到的。如果地址指针P的值小于该差值(是),则控制进到步骤S210,如果不是(否),则控制跳到步骤S211。转换后地址数据的最大存储数nmax具有最小基数k。执行步骤S209以限制地址指针P的值从而使由尾迹Lo所表示的路径为弓状。如果地址指针P的值不在步骤S209中限制,则由尾迹Lo所表示的路径就会是圆形的。
在步骤S210中,计算装置1d将地址指针P加上基准地址数K。
在步骤S211中,地址指针P的值代入一后向地址AD。
在步骤S212中,指导信息管理装置1m将一值代入一前向地址ad,该值比地址指针P值小“k”。后向地址AD表示的值与前向地址ad表示的值之间的关系如下:
AD<ad。
在步骤S213中,指导信息管理装置1m将存在主存储器5的由前向地址ad指示的区内的转换后地址数据(x,y)存储到主存储器5由反向地址AD所指示的区内。
在步骤S214中,计算装置1d将反向地址AD减去基准地址数k。
在步骤S215中,计算装置1d将正向地址ad减去基准地址数k。
在步骤S216中,决策装置1f确定是否正向地址ad的值等于或小于起始地址Pstart与基准地址数k之和。如果前向地址ad的值等于或小于起始地址Pstart与基准地址数k之和(是),则控制进到步骤S217。如不是(否),则控制回到步骤S213。
步骤S209-S216作为一过程将对应箭头尾部的转换后地址数据(x,y)接连地移到较大的地址所指示的区,其作用相当于一移位寄存器。为了将存在前向地直ad指示的区内的转换后地址数据(x,y)存储到后向地址AD指示的区内,在步骤S211中将地址指针P代入后向地址AD,而在步骤S212中比地址指针P小“k”的数据代入前向地址ad。这一过程的作用相当一移位寄存器。在步骤S214中从反向地址AD减去基准地址数k,在步骤S215中,从前向地址ad减去基准地址数k,而为了确定是否存在有存储前向地址ad中的转换地址数据(x,y)的区,在步骤S216中确定前向地址ad的值是否等于或小于起始地址Pstart和基准地址数k之和,如果前向地址ad的值等于或小于起始地址Pstart和基准地址数k之和,则没有与反向地址AD对应的存储区。
在步骤S217中,指导信息管理装置1m将与箭头尾部对应的二维顶点的转换后地址数据(x,y)存储到主存储器5中由反向地址AD所指示的区。
在步骤S218中,变量设定装置1h将起始地址Pstart和基准地址数K之和放在主存储器5的第一地址AD1中。
在步骤S219中,变量设定装置1h将起始地址Pstart和两倍基准地址数K的值2K之和放在主存储器5的第二地址AD2中。
在步骤S220(见图13)中,指导信息管理装置1m从主存储器5的第一和第二地址AD1,AD2读出转换后地址数据(x,y),并将转换后地址数据(x,y)和纹理地址数据及调色板数据一起作为一图形指令供给图形处理器10。存在主存储器的第一地址AD1中的数据是与当前显示的箭头的尾部对应的转换后地址数据。存储在主存储器的第二地址AD2中的数据是与在当前的一个单位周期前显示的箭头的尾部对应的转换后的地址数据。因此,当前显示的箭头的尾部的转换后地址数据和在当前的一个单位周期前显示的箭头的尾部的转换后地址数据作为一个图象的地址数据供给图形处理器10。因此,图形处理器10根据上面四个转换后地址数据(x,y)将箭头的纹理数据作为尾迹Lo的纹理数据写入缓冲器11的显示区。此时显示的尾迹Lo的颜色与当前显示的箭头Na的颜色相同。
在步骤S222中,计算装置1d将第二地址AD2加上基准地址数K。
在步骤S223中,决策装置1f确定是否第一地址AD1的值等于或大于地址指针P的值。如果第一地址AD1的值等于或大于地址指针P的值(是),则投掷物体指导显示子程序结束。如果不是(否),控制返回到步骤S220。
步骤S217-S223用以将存在主存储器5内的两个区的转换后地址数据(x,y)作为单个矩形的顶点地址数据供给图形处理器10。为了将与一箭头的尾部对应的转换后地址数据(x,y)和与在上述箭头之前显示的箭头尾部对应的转换后地址数据(x,y)作为一个图像的转换后地址数据供给图形处理器10,在步骤S218中将起始地址Pstart和基准地址数k之和放在第一地址AD1内,而在步骤S219中将起始地址Pstart和两倍基准地址数的值2k之和放在第二地址AD2。
在步骤S221中第一地址AD1加基准地址数k,在步骤S222中第二地址AD2加基准地址数k,而在步骤S223中确定是否第一地址AD1的值是等于或大于地址指针P的值以确定第二地址AD2中是否有转换后地址数据(x,y),该数据是和第一地址AD1内的转换后地址数据(x,y)配对的。如果第一地址AD1的值是等于或大于地址指针P的值,则第二地址AD2中没有对应的转换后地址数据(x,y)。
在所说明的实施例中,箭头Na的颜色随投掷人体已旋转的圈数而变化。然而,箭头Na的颜色可以根据投掷方位角数据Ah的累计值而改变,这样箭头Na的颜色可以更细致地变化。在这种改进中,在累计值增加时箭头Na的颜色还是从冷色向暖色改变。由于箭头Na能显示的颜色数目增加了,它可让玩游戏者更准确地辨别投掷物体的时间。
在所说明的实施例中,尾迹Lo的显示图像具有和箭头Na的显示图像同样的颜色。然而,尾迹Lo的显示颜色可以是白色的。由于玩游戏者从视觉上可以可靠地区别尾迹Lo和箭头Na之间的不同颜色,玩游戏者可以无失败地从视觉上觉察投掷方向。
在所说明的实施例中,箭头Na的颜色是随投掷人体已旋转的圈数而变化的。然而,箭头的颜色也可随投掷能量的增加从冷色向暖色改变。这样显示的箭头Na有效地给玩游戏者对物体被投掷更远距离的投掷时间一个能容易识别的视觉指导。
虽然已给出并详细说明了本发明的一确定的优选实施例,应该理解可以作各种改变和修改而不偏离所附权利要求的范围。