下面将参考图1至7详细地描述本发明的一个优选实施例。
按照下面各项,依以下顺序,逐项对该实施例进行描述:
A.游戏系统的配置(见图1)
B.图1所示的CPU51的功能(见图2)
C.游戏的例子(见图3)
D.显示图像的例子(见图4)
E.CPU的控制操作(见图5,6,和7)A.游戏系统的配置(见图1)
如日本待审查专利No.平8-212377中所公开的,本实施例图像处理系统的配置见图1。具体地,本图像处理系统以这种方式配置以便于从诸如CD-ROM这样的光盘中读出游戏程序的数据以执行游戏程序,从而允许根据用户(下文也作“玩家”或“玩游戏者”)的指定显示与游戏有关的一个图像。
图像处理系统包括一个主存储器53,一个帧缓冲器63,一个几何转换机构(GTE)61,一个中央处理单元(CPU)51,一个图形处理单元(GPU)62,和一个视频输出设备65。主存储器53存储由盘84(如:CD-ROM)中读出的三维图像数据。帧缓冲器63存储许多数据,如:色彩数据,纹理样式数据,为每个多边形指定的作为多边形特性数据的半透明率的定义数据等的一个表。GTE61包含一个坐标变换器,在透明变换处理之后,它将由CD-ROM84中读出的3D图像数据转换成二维图像数据。CPU51包含一个用于合成二维图像数据和多边形特性数据的图形命令发生器,以产生按每个多边形为一数据包进行处理的图形命令。GPU62处理与一旦接收到图形命令而写入到帧缓冲器63中的基于多边形特性数据的图形有关的二维图像数据。视频输出设备65与电视信号同步地读出写入到帧缓冲器63中的二维图像数据,来把图像显示在如显示器的显示装置上。
更具体地,该图像处理系统包括一个控制系统50,一个图形系统60,一个声音系统70,一个光盘控制器80,一个通信控制器90,和一个主总线B。控制系统50包含中央处理单元(CPU)51及其外设(或外设控制器)52。图形系统60包含用于图像显示的帧缓冲器63和将图形图像数据写入帧缓冲器63的图形处理单元(GPU)62。声音系统70包含一个声音处理单元(SPU)71,它用于产生不同的声音,如:音乐与声音效果。光盘控制器80用来控制一个光盘驱动器81,读出作为再生数据的子存储介质—光盘(CD-ROM)84中的数据,并控制再生数据的解码。通信控制器90控制由用户通过控制器92指定的输入,和从用来存储游戏或同类物的设置条件的子存储器93(存储器卡)的输入/输出。单元50,60,70,80,和90通过主总线B电性连接。
控制系统50包含CPU51,外设控制器52,主存储器53,和ROM54。外设控制器52执行许多控制,如:中断控制,时间控制,存储器控制,直接存储访问(DMA)传送,等等。主存储器53包含一个如2兆字节(Mb)的RAM。ROM54有一定的存储量,比如是512千字节(kb),其中存储所谓操作系统的程序数据,来管理主存储器53,图形系统60,声音系统70及其他。
CPU51,比如说,是一个用于精简指令集计算机(RISC)的32位处理器。运行存储于ROM54中的操作系统来控制图像处理系统的整体操作。要为CPU51配置一个命令缓冲器和一个高速暂存存储器,并且它要控制一个实际的存储管理器。
图形系统60包括主存储器53,几何变换机构(GTE)61,图形处理单元(GPU)62,帧缓冲器63,和图像解码器(下文也称作“MDEC”)64。主存储器53将由CD-ROM84中读出的数据暂存下来。GTE61包含用于坐标计算的协处理器,来变换存储于主存储器53中的坐标数据。GPU62处理写于帧缓冲器63中的基于从CPU51输出的图形命令的图形数据。帧缓冲器63包括一个比方说1Mb的存储器,它可存储由GPU62处理的图形数据。MDEC64用来解码图像数据,这些数据须经一种正交函数系统变换,如:所谓离散余弦变换,也要经受数据压缩及编码。
GTE64包括,例如,一个并行运算(算术)处理器来同时地进行大量的运算。换句话说,GTE64作为CPU51的协处理器工作并按照定点方式执行高速的矩阵和向量运算。具体地,GTE64执行坐标变换,如:透明变换和光源计算(内积运算),这种变换要应CPU51运算请求将一个法向量和一个光源向量相乘。
更具体地,当执行加单色阴影(flat shading)即分配一个色彩给一个三角形状的多边形时,GTE61执行多边形的坐标计算的最高速度达每秒约1.5兆片。从而,在减轻CPU51负担的同时,图像处理系统可以执行高速的坐标运算。应该指出的是,在本发明的整个描述中,“多边形”是一个构成显示在显示面上的三维物体的最小图形单元,而且它包括不同类型的多边形如:三角形和矩形。
GPU62响应于由CPU51而来的表示确定基于多边形的图形图像的图形命令而启动,并把处理的图形数据输出到帧缓冲器63。GPU62能够以每秒最高约360000片的速度处理多边形上的图形数据。GPU62能够独立于CPU51而对应于帧缓冲器63对用于映象的二维地址空间进行管理。
帧缓冲器63包括一个所谓的双端口RAM,并能够从GPU62接收图形数据或允许数据从主存储器53中传送,同时从那里读出数据以显示图像。
帧缓冲器63有一定的存储量,比如1Mb,用来处理每行1024点每列512点的矩阵数据,其中每个象素点的数据对应于一个16位的信号。
对应帧缓冲器63中所要求区域(或显示区)的图像数据被输出到视频输出设备65,如显示设备。
在用于输出显示图像的图像数据的显示区域之外,帧缓冲器63还包括第二存储器区即CLUT区域、和第一存储器区即纹理区。在CLUT区域中存储了一个色彩查找表(CLUT),当GPU62将如多边形数据的图形数据写入帧缓冲器63中时用此表作为参考。在纹理区域,在写图形数据到帧缓冲器63时存储已经做了坐标变换的纹理。纹理被嵌入(粘贴)到由GPU62写入的多边形(多边形数据)上。CLUT区域和纹理区域根据显示区域的变化而动态地改变。具体地,帧缓冲器63可由GPU62来访问,以使图像的显示与显示区的变化一致。另外,可在帧缓冲器63和主存储器53之间进行高速的DMA传输。
GPU62在执行加单色阴影外还可执行戈劳德加阴影(Gouraud shading)和纹理映象。戈劳德加阴影处理是对多边形顶点的色彩进行线形内插来确定多边形内的色彩。纹理映象处理是将存储在纹理区域中的纹理粘贴到多边形上。
在执行戈劳德加阴影和纹理映象时,GTE61可对多边形执行坐标计算,其最高速度为每秒0.5兆片。
MDEC64根据CPU51的控制信号解码图像数据(静图像或运动画面),这些数据通过驱动CD-ROM驱动器81从CD-ROM84中读出并存储在主存储器53中以便将解码后的图像数据存储在主存储器53中。更具体地,MDEC64可以高速地执行逆离散余弦变换(IDCT)的运算,并且将通过驱动CD-ROM驱动器81从CD-ROM84中读出并已依据彩色静止图像编码系统(所谓JPEG)或可存储介质类型运动画面编码系统(所谓MPEG)压缩了的数据展开。需要指出的是,在本实施例中,MPEG仅用于帧图像数据的压缩。
在MDEC64中经数据展开而再现的图像数据通过GPU62存储在帧缓冲器63中,并用作一个由GPU62为显示图像而合成的背景图像。
声音系统70包括声音再现处理器(SPU)71,声音缓冲器72,和扬声器73。SPU71基于CPU51来的指令信号处理不同的声音,如:音乐和声音效果。声音缓冲器72有,比如说,512kb的存储器,其中存储了关于音乐与语音的数据和用CD-ROM驱动器81从CD-ROM84里读出的声源数据。扬声器73是为输出由SPU71处理的不同声音的声音输出设备。
SPU71有ADPCM解码器、再现器和调制器的功能。作为ADPCM解码器,SPU71把16位的声音数据作为已根据自适应差分脉冲编码调制(ADPCM)处理过的4位差分信号来进行再现。作为再现器,SPU71再现存储在声音缓冲器72中的声源数据,以产生诸如声音效果的声音。作为调制器,SPU71调制存储在声音缓冲器72中用于再现的声音数据。更具体地,在使用循环和时间做系数的同时SPU71自动地变换动作参数。SPU71在内部提供一个能输出24种语音音调的ADPCM声源,并根据CPU51来的操作信号来启动。独立于CPU51,SPU71管理一个用于映象的声音缓冲器72的地址空间,并将ADPCM数据从CPU51传送到声音缓冲器72。在接收到开关部分的开/关操作和调制的信息后,SPU71再现直接从声音缓冲器72读出的数据。
有了以上功能,声音系统70用作一个所谓的采样声源,在接收到CPU51来的指令信号后,基于存储在声音缓冲器72中的声音数据产生不同的声音,如:音乐和声音效果。
光盘控制器80包括盘驱动器81,解码器82,和缓冲器83。盘驱动器81再现记录在光盘(CD-ROM)84上的程序数据。解码器82解码以纠错码(ECC)记录的程序数据。缓冲器83有一个比方说32kb的存储器,来暂存由驱动盘驱动器81再现的数据。也就是说,光盘驱动器80包括不同的成分,如:为从光盘84中读出数据所必需的驱动器81和解码器82。在本实施例中,数据以诸如CD-DA,CD-ROM,和XA的格式存储。解码器82构成声音系统70的一部分。
在上面的ADPCM数据(CD-ROM或XA的ADPCM数据)之外,记录在盘84上并由驱动盘驱动器81来再现的声音数据还包括所谓PCM数据,它是已经模数变换的声音信号。
ADPCM数据是通过例如处理作为4位差分信号的16位的数字数据而得到的。ADPCM声音数据须经过纠错和解码器82的解码,然后输出到SPU71。经SPU71的数模变换之后,数据就用来驱动扬声器73。
PCM声音数据记录成,比方说,16位的数字数据。此声音数据由解码器82解码以驱动扬声器73。从解码器82输出的声音数据暂存在SPU71中,与来自SPU71中的一个输出信号混合,并且最终经过一个混响单元输出到扬声器73。
通信控制器90包含通信控制设备91,控制器92,和存储卡93。通信控制设备91通过主总线B控制CPU51和控制器92之间的通信。控制器92输入一个玩家的指定,而存储卡93在一个游戏中存储设置条件的数据。
控制器92是一个传送玩家的指定到游戏软件的接口。控制器92配置了许多下面将描述的按键来输入玩家的指定,并且响应来自通信控制设备91的指定请求,根据同步通信系统传输由指定按键所代表的状态给通信控制设备91。同步信号每秒传输约60次。接收到同步信号后,通信控制设备91传输表示控制器92的指定按键的状态到CPU51。控制器92的主体有两个连接器,并且可通过一个多分支设备与多个控制器连接。从而,玩家的指定就输入到CPU51中,而CPU51将基于当前正在运行的游戏程序根据玩家的指定轮流执行一定的处理。
下一步,描述控制器92的不同指定键。要为控制器92提供一个十字键部分,它由左键(L),右键(R),上键(U),和下键(D)组成,它们分布在四个方向上并带有指出相应方向的箭头;和第一左按钮92L1,第二左按钮92L2,第一右按钮92R1,第二右按钮92R2,开始按钮92a,选择按钮92b,第一按钮92c,第二按钮92d,第三按钮92e,第四按钮92f。操作十字键部分使玩家可以给CPU51发一个指定方向(左,右,上和下)的命令。按下开始按钮92a使玩家指示CPU51根据从CD-ROM84中读出并写入到CPU51的游戏程序数据去启动一定的操作。按下选择按钮92b使玩家指定与从CD-ROM84中读出并写入到主存储器53的游戏程序数据有关的不同选项。
在有必要存储与游戏设置条件有关的数据或例如在玩家完成了游戏或半途停止游戏时游戏结果的情况下,CPU51将数据传输到通信控制设备91。通信控制设备91将从CPU51输出的数据存储到存储卡93中。存储卡93在图像处理系统的主总线B中是电气可拆的。也就是说,存储卡93如此构造以便于即使在系统加电的状态下也可从图像处理系统中拆卸。从而,游戏的设置条件可以存储在多个存储卡93中。
图像处理系统还包括一个16位的并行输入/输出(I/O)口101和一个异步串行输入/输出(I/O)口102,它们连接到主总线B上。图像处理系统可通过并行I/O口101与外设连接,还可通过串行I/O口102与其它视频游戏设施通信。
主存储器53需高速地传输大量的图像数据到GPU62,MDEC64,和解码器82,以使能读出程序数据、显示图像或处理图形数据。因此,在本实施例的图像处理系统中,采用了所谓的DMA传送,使得通过控制外设控制器52即不用CPU51的介入直接从主存储器53到GPU62,MDEC64,和解码器82进行数据传送。从而,就减轻CPU51因数据传送而造成的负担,并实现了高速的数据传送。
在本视频游戏系统中,当开始供电时,CPU51执行存在ROM54中的操作系统。在运行操作系统时,CPU51初始化所有的系统状态,比如,检验系统是否已经启动。之后,CPU51控制光盘控制器80,根据记录在光盘84中的游戏程序数据执行游戏程序。执行游戏程序的过程中,CPU51空制图形系统60和声音系统70等,以依据玩家的输入来控制图像的显示和声音效果和音乐的生成。
下一步,将描述如何根据本图像处理系统把图像显示在显示设备上。
GPU62控制视频输出设备65,把帧缓冲器63中任意矩形区域的内容显示在视频输出设备65诸如CRT的显示面上。这个矩形区域下文也称作“显示区域”。矩形显示区域的尺寸(尺寸由象素点来表示)可根据指定的模式选择。例如,模式“0”显示区域的尺寸为256(水平方向)×240(垂直方向)(不隔行),而模式“9”显示区域的尺寸为384(水平方向)×480(垂直方向)(隔行)。具体地,GPU62可以单独就水平方向和垂直方向指定显示区域,以指出显示的启始点和显示的终止点。显示模式和水平与垂直坐标的可设置值的关系是:在模式“0”和“4”中,水平坐标可设置的范围是0到276(作为水平坐标的显示启始点)和4到280(作为水平坐标的显示终止点);而在模式“8”和“9”中,水平坐标可设置的范围是0到396(作为水平坐标的显示启始点)和4到400(作为水平坐标的显示终止点)。关于垂直坐标,在模式“0”到“3”和“8”中,范围是0到240(作为垂直坐标的显示启始点),而在模式“4”到“7”和“9”中,范围是4到484(作为垂直坐标的显示终止点)。必须设置水平的启始点和水平的终止点的值为4的倍数。因此,显示区域最小为4个象素点(水平方向)×2个象素点(垂直方向)(不隔行)或4个象素点(水平方向)×4个象素点(垂直方向)(隔行)。
GPU62提供了两种有关可显示色彩数目的显示模式:16位直接模式(展示32768种色彩)和24位直接模式(展示全部色彩)。在16位直接模式(下文称作“16位模式”),可显示32768种色彩。与24位直接模式(下文称作“24位模式”)相比,16位模式在可显示色彩的数量方面有一定局限。但是,由GPU62在处理图形数据时执行的色彩计算是在24位的基础上运行的。另外,还提供一个所谓的高频颤动(dither)功能来模拟提高一个色调层次水平。因此,可以显示一种准全彩色(类似于24位全彩色)。在24位模式中,可显示26777216种色彩(即:全彩色)。但是,需要说明的是,在24位模式中,GPU62仅控制已经传送到帧缓冲器63中以便在视频输出设备65上显示的图像数据(位图数据)。GPU62不能处理图形数据。因此,尽管有24位模式的象素点位长24位的配置,但在帧缓冲器63中仍然需要指定基于16位的显示启始点/终止点坐标值。也就是说,640×480的24位图像数据在帧缓冲器63中是当作960×480的数据来处理的。另外,必须设置水平显示终止点为8的倍数。因此,在24位模式中显示区域最小为8个象素点(水平方向)×2个象素点(垂直方向)。
还要为GPU62提供下述的处理图形数据的一些功能。具体地,GPU62应有如下功能:多边形/游动图案(sprite)图形处理、多边形图形处理、直线图形处理、和图像传送。在多边形/游动图案图形处理中,能够对面积从1×1(点)到256×256(点)的一个多边形或一个游动图案处理这样的图形数据如:4位CLUT(4位模式,16色/多边形,游动图案),8位CLUT(8位模式,256色/多边形,游动图案),和16位CLUT(16位模式,32768色/多边形,游动图案)。在多边形图形处理中,在处理指定显示面上的多边形或游动图案的每一个顶点对应的坐标的图形数据的同时,还要进行下面的一些处理:对一个多边形或一个游动图案施加一种色彩的加单色阴影;对在对各顶点上施以不同色彩来在多边形或游动图案中实现渐变色彩的戈劳德加阴影;准备一个二维图像数据(应用于游动图案的样式特别地称作“游动图案样式”)的纹理样式并将纹理样式/游动图案样式映射在多边形/游动图案上的纹理映射。在直线图形处理中,能够做渐变处理。在图像传送中,图像数据从CPU51传送到帧缓冲器63中。GPU62还有其它的功能,如:半透明处理,剪切,和偏移量指定。在半透明处理中,求得一个多边形中象素点的平均值,在从平均值中得到的一定比率“a”下,调和各个象素点来使多边形半透明。这一处理也称作“a调和函数”。在高频颤动处理中,在不同色彩区域的边界加上噪声信号。在剪切处理中,在显示区域之外的数据被剪切掉而不显示。在偏移量指定中,显示区域的原点依据显示区域的变化而移动。
用必须加有正(+)或负(-)号的数据基于11位定义处理图形数据的坐标系统。每个X,Y坐标有一个从-1024到+1023的值。本实施例中,帧缓冲器63的尺寸为1024个象素点(水平坐标)×512个象素点(垂直坐标)。因此,如果GPU62处理的图形数据大于帧缓冲器63的尺寸,则不能写到帧缓冲器63中的区域就被象征性地“折叠”。也就是说,在帧缓冲器63中,采用偏移指定函数将X,Y坐标的原点移位到所需值。另外,剪切函数使对应于帧缓冲器63中某个矩形显示区域的图形数据能被安全处理,只要显示区域落在帧缓冲器63中。此外CPU62能够处理最大尺寸为256点×256点的纹理图像。因此,可将水平或垂直坐标设定为这个最大值内的任何值。
要施加(映射)到多边形或背影人(即纹理图形或游动图案图形)的图像数据存储在帧缓冲器63的非显示区域。纹理图形或游动图案图形的设置方式是使256像素×256像素的区域对应一页,并且只要帧缓冲器63的存储容量允许的话,帧缓冲器63能存储尽可能多的页形式的纹理图形或游动图案图形。这个256像素×256像素的区域称作“纹理页”。通过在将图形数据写入帧缓冲器63时给纹理页分注页号来确定纹理页的位置。换句话说,利用页号作为指定纹理页位置时采用的参数(索引)。
在纹理图形或游动图案图形中有三种色彩模式:4位CLUT(4位模式);8位CLUT(8位模式);以及16位CLUT(16位模式)。在4位和8位色彩模式中采用色彩查找表(CLUT)。
CLUT表中存储了代表最终显示在显示面上某个色彩值的三基色红(R)、绿(G)和兰(B)数据。在4位和8位模式的CLUT中,在帧缓冲器63中对称存储了16到256的RGB值。在帧缓冲器63中存储某个值的R、G、B数据的各表被赋予从左上方表开始的序号。参照帧缓冲器63中存储的表号,能够显示指定纹理图形或游动图案图形的各像素的色彩。可按照每个多边形或游动图案来选择CLUT。换句话说,各多边形或游动图案有各自的CLUT。帧缓冲器63中CLUT的位置通过指定作为在将图形数据写入帧缓冲器63时采用的参数(索引)的CLUT最左边的坐标值来确定。
GPU62采纳一帧双缓冲系统来显示一运动画面。根据帧双缓冲技术,在帧缓冲器63中定义这样的两个矩形区域(显示区域),使得这两个区域交替用于显示图像和写图形数据(图形命令)。具体是,在一区域写入图形命令的同时,另一个区域中的数据用于图像显示。当完成一区域的写操作时,该区域的写入数据便可用于图像显示,而在另一个区域则写入另一图形命令。从而,可避免出现在显示区域上显示重写图形命令状态的可能。在输出垂直间隔信号的周期中进行缓冲区(两个区域)切换。GPU62可自由设置对应于要显示的图形图像的矩形显示区域和坐标系原点。显示区域和原点可自由变化的安排使得按照这样的帧双缓冲系统能建立两个或两个以上的缓冲器。
图形命令采用数据包的形式。在此实施例中,可采用两种方法:由CPU52直接指定图形命令的直接指定方法;和,由专用硬件直接指定图形命令的方法。具体是,根据由专用硬件直接指定的方法,在所构成的数据包中,一些命令字和指示下一命令的标记被加入由CPU51使用的命令代码中。借此,在帧缓冲器63中没有位于连续区域的多个命令串被连接以同时实现多个命令。在此情况下,由专用硬件来执行图形命令数据的传送,CPU51则与数据传送无关。
可在图形命令中包含的可能参数如下:
代码:命令码及其选项码
R、G、B:由所有顶点共享的亮度
Rn、Bn、Gn:顶点“n”的亮度
Xn、Yn:包含顶点“n”的图形空间的两维坐标
Un、Vn:纹理源空间中对应于顶点“n”的点的两维坐标
CBA(CULT基地址):CLUT的引导地址
TSB(纹理源基地址):纹理页和如纹理类型的附加信息的引导
地址
例如,在用于定义一三角形的图形命令中,给出的顶点信息作为跟在包含一选项代码的命令码后的命令参数。应注意,参数的数目和格式的类型根据选项码变化。
下面是一些选项码的参数:
IIP:亮度的类型;
SIZ:矩形区域的尺寸;
CNT:采用的顶点;
TME:纹理映射施加与否;
ABE:半透明处理施加与否;
TGE:执行纹理图形与亮度的乘法与否。
例如,若IIP设为“0”,采用某种亮度(R、G或B)来定义以三角形(加单色阴影)。若CNT设为“0”,根据该命令代码后的三个顶点来定义以三角形。若CNT设为“1”,合并两个三角形,即,根据该命令代码后的四个顶点来定义一矩形。若TME设为“0”,关掉纹理映射;而TME设为“1”,接通纹理映射。若ABE设为“0”,关掉半透明处理;而ABE设为“1”,接通半透明处理。只有在TME设为“1”即接通纹理映射时,TGE才有效。具体是,当TGE设为“0”时,纹理图形在被乘以亮度后才显示;而当TGE设为“1”时,单单显示纹理图形。
在直线图形命令(命令码:2h)中,给出的单点上的信息作为跟在包含该选项代码的命令码后的命令参数。应注意,参数的数目和格式的类型根据选项码变化。例如,若IIP设为“0”,要对像素进行基于指定亮度的图形处理。若IIP设为“1”,相应两个顶点的亮度根据沿径向一线段的位移进行线性内插来处理此图形数据。若CNT设为“0”,连接该命令代码后的两个端点来定义一直线。若CNT设为“1”,定义已连接的直线。若ABE设为“0”,关掉半透明处理;而ABE设为“1”,接通半透明处理。在定义了一连接直线的场合,需要代表命令码结束的结尾码。
在游动图案图形命令(命令码:3h)中,给出的亮度信息、在矩形区域中最左和最低的端点、在纹理源空间中的最左和最高的端点、以及该矩形区域的宽度和高度作为该命令码(包括选项码)后的命令参数。参数的数目和格式的类型根据选项码变化。既然在游动图案图形命令中同时处理两个像素,所以需要给在纹理源空间中对应顶点“n”的二维坐标Un分配一偶数。即,最低位的1位数据是无意义的。若TME设为“0”,关掉纹理映射;而若TME设为“1”,则接通纹理映射。若ABE设为“0”,关掉半透明处理;而ABE设为“1”,接通半透明处理。若TGE设为“0”(只有在TME接通时TGE才有效),纹理图形(此时为游动图案图形)被乘以某一亮度以处理图形数据;而当TGE设为“1”时,仅仅对纹理图形进行图形处理。利用两位数字来设置显示区域的尺寸:若SIZ设为“00”,尺寸为H;若设为“01”,尺寸为1×1;若设为“10”,则尺寸为8×8;以及,若设为“11”,则尺寸为16×16。B.图1所示的CPU51的功能(参见图2)
图2为表示图1中CPU51各元件功能的示意图。CPU51读出记录在图1所示的CD-ROM 84上游戏程序数据,并读出在主存储器53中存储的程序数据,从而执行图2所示元件的功能。图2中所示的CPU51包括:按钮操纵检测器1a、计算器1b、判别器1c、变量设置器1d、图形命令产生器1e、阶段改变器1f、任务管理器1g、遮掩设备1h、垂直同步信号检测器1i。这些元件主要控制在节D中描述的操作。C.游戏的实例(参见图3)
图3是表示战斗模拟游戏进行中控制操作的流程图。
在步骤S1,CPU51将“0”代入变量TURN,它表示战斗发生的次数。
在步骤S2,CPU51执行要在国家A阶段中进行的任务。
在步骤S3,CPU51判断国家A是否赢得了战斗。如果判断结果为“是”,CPU51就中止该任务;如判断结果为“否”,则该过程进到步骤S4。关于国家A是否赢得了战斗的判断是通过国家B和C的军队是否已经被国家A的军队击溃的状态来确定的。例如,在国家B的军队和国家C的军队被全部消灭的场合下,则判定国家A赢得了战斗。关于国家B和国家C是否赢得了战斗的判断以相似的方式来确定。
在步骤S4,CPU51执行要在国家B阶段中进行的任务。
在步骤S5,CPU51判断国家B是否赢得了战斗。如果判断结果为“是”,CPU51就中止该任务;如判断结果为“否”,则该过程进到步骤S6。
在步骤S6,CPU51执行要在国家C阶段中进行的任务。
在步骤S7,CPU51判断国家C是否赢得了战斗。如果判断结果为“是”,CPU51就中止该任务;如判断结果为“否”,则该过程进到步骤S8。
在步骤S8,CPU51将变量值TURN递增1。
在步骤S9,CPU51判断变量值TURN是否大于最大值TURNmax。如果判断结果为“是”,该过程就中止;如判断结果为“否”,则该过程返回到步骤S2。D.显示图像的实例(参见图4)
图4是表示在此实施例中显示图像实例的示意图。图4A示出表示战斗场景状态的战场图像FI。图4B示出用于输入命令的窗口图像WIN。图4C示出以半透明方式在图4A战场图像FI上显示图4B窗口图像WIN的状态的示意图。
在此实施例中,如图4C所示,图4B的窗口图像WIN叠加显示在图4A战场图像FI上的显示方式,使得能透过窗口图像WIN观察到战场图像FI。具体是,在显示面上图4B窗口图像WIN的行、字符和图形的显示不透明(叠加地)或半透明地压在战场图像FI上,而窗口图像WIN剩余部分(没有信息显示的部分)的显示半透明地或透明地压在战场图像FI上。图形命令产生器1e执行在透明、半透明和不透明显示之间的选择。如图4B所示,窗口图形用于在各种命令中选择一个命令和输入所选择的命令。如图4B所示,在窗口图像中有两种用于输入各种命令的命令栏:非动作命令栏,其中显示的“信息”或其等效物用于通知玩游戏者他所选择的国家军队的状态;和动作命令栏,其中显示的各种动作命令如“攻击”、“前进”、“防守”和“后退”用于使玩游戏音能够命令他所选择的国家军队执行某个动作。当选择和指定非动作命令栏中的信息命令时,如图4B和4C所示,玩游戏者所选择的军队和对象的当前状态通过菜单条图形、行图形等等来显示。
窗口图像WIN的显示有两种显示模式。一种模式为,如图4B所示,包含通知玩游戏者他所选择国家军队状态的信息命令的非动作命令栏,和包含如“攻击”、“前进”、“防守”和“后退”的动作命令的动作命令栏,作为合成图像,均显示在玩游戏者的显示面上。以下,该模式被称作“可动作显示模式”。在给游戏者分配一阶段时此可动作显示模式是可执行的。
另一种模式是,包含通报信息命令等的非动作命令栏显示在玩游戏者的显示面上。以下,该模式称作“不可动作显示模式”。当CPU或其它玩游戏者被分配该阶段(即,没有给当前玩游戏者分配该阶段)时,该该不可动作显示模式可由该玩游戏者执行。
根据游戏条件来区别使用上述两种显示模式。在此实施例中,至少存在两种游戏条件。一种条件是采用图1所示的一个游戏系统。换句话说,在一个玩游戏者和游戏系统的CPU51之间进行游戏,并且交替地给该玩游戏者和CPU51分配阶段。在这种情况下,图1中游戏系统的电视监视器仅由该玩游戏者使用,原因是CPU51不需要显示在TV监视器上的可视信息。因此,当玩游戏者被分配了该阶段时,在玩游戏者的TV监视器的显示面上所显示的图4B窗口图像WIN,如图4C所示,使得能透过该窗口图像WIN观察到图4A的战场图像FI。此时,用于给玩游戏者的军队下动作命令的图4B所示动作命令栏,被与非动作命令栏一起显示。具体是,图4B所示的显示模式就是可动作显示模式,被分配了此阶段的玩游戏者能够在此可动作显示模式下玩游戏。另一方面,当该阶段分配给CPU51时,在玩游戏者的TV监视器的显示面上显示的窗口图像WIN,使得能透过窗口图像WIN的该非动作命令栏,观察到图4A的战场图像FI,如图4C所示。此时,如图4C所示,没有显示用于给玩游戏者的军队下动作命令的动作命令栏。这是由于该阶段被分给了CPU51。
另一个游戏条件是在图1中采用多个游戏系统的情况,这些游戏系统电连接到一起使得相互之间可通信。在这种情况下,多个玩游戏者可参加游戏,并且该阶段以一定的次序被分配给各玩游戏者。各玩游戏者使用各自游戏系统的TV监视器。例如,若有两个玩游戏者玩一个游戏,且他们的游戏系统相互连接可通信,则该游戏以下述方式进行。具体地说,当该阶段被分给第一玩游戏者时,在第一玩游戏者的TV监视器显示面上显示图4B的窗口图像WIN,如图4C所示,使得透过窗口图像WIN可观察到图4A的战场图像F1。此刻,也显示用于给第一玩游戏者的军队下动作命令的图4B所示的动作命令栏。换句话说,此显示模式为可动作显示模式,且第一玩游戏者在此可动作显示模式下玩游戏。在该阶段被分给第一玩游戏者时,在第二玩游戏者的TV监视器显示面上所显示的窗口图像WIN,使得透过窗口图像WIN可观察到图4A的战场图像FI。然而此时,没有在第二玩游戏者的TV监视器显示面上显示用于给第二玩游戏者的军队下动作命令的动作命令栏,如图4C所示。这是因为该阶段被分给了第一玩游戏者。与上述情况相反,当该阶段被分给了第二玩游戏者时,所显示的状态正好与上述状态相反。E.控制操作(参见图5、6和7)
图5和6为在从图1所示的CD-ROM 84读出程序数据时在图1所示的游戏系统上运行的控制操作的流程图。为了解释方便起见,在一个玩游戏者和CPU51之间玩游戏的游戏条件下来说明这些操作。
应注意到,步骤S10表示由存储在图1中ROM 54内的操作系统执行的控制操作,其它步骤表示由从CD-ROM(光盘)84读出的游戏程序数据执行的控制操作。如上述,根据游戏程序数据执行的主控制由图2所示的元件执行。
在步骤S10,一旦接收到操作系统的命令信号,通过运行CD-ROM驱动器82,解码器82就读出图像/声音数据以及游戏程序数据。游戏程序数据存储在主存储器53并从中读出。因而,使得CPU51能够实现图2所示的功能。此时,图像数据即纹理数据存储在缓冲器63的非显示区域,并被分配了识别个别纹理数据的纹理数据号。声音数据存储在缓冲器72中,并被分配了识别个别声音数据的声音数据号。一般讲,在步骤S1将各个图像数据和声音数据分别存储在缓冲器63和缓冲器72的情况不总是出现。然而,为了便于说明,假设,在步骤S10,所有图像数据和声音数据存储在相应的缓冲器中。
在步骤S11,按钮操纵检测器1a判断控制器92的开始按钮92a是否被按下。若判断结果为“是”,过程进到步骤S12。
在步骤S12,图形命令产生器1e产生指示写入所选图像的图形数据的图形命令,并将该图形命令输出给图1的GPU62。一旦接收到此图形命令,GPU62就控制所选图像的图形数据使其写入缓冲器63的显示区域。从而,所选图像被显示在TV监视器的显示面上。
在步骤S13,判别器1c判断是否选择了发生战斗的地区(或军队交战的区域)和国家(参与国家)。如果判断结果为“是”,过程进到步骤S14。然后,从该大地区中选择一小地区(或小区域),并从处在该所选小地区的多个参与国中选择一个参与国。例如,在玩游戏者与CPU51一起玩游戏的条件下,当该玩游戏者选择某个国家时,其余参与国中的一个或一个以上的国家就由CPU51来控制。应注意,该大地区(大区域)对应于例如地球上的整个全世界,该小地区(小区域)对应于例如世界上包含几个国家的区域,如亚洲。图4A的战场图像FI描述该地区的某部分。
在步骤S14,CPU51设立在所选地区中的各参与国。
在步骤S15,图形命令产生器1e给GPU62产生指示写入所选地区图形数据的图形命令。一旦接收到此图形命令,GPU62就将所选地区图像数据写入缓冲器63的显示区域。从而,在TV监视器的显示面上显示图4A的战场图像FI。
在步骤S16,判别器1c判断当前阶段是否结束。如果判断结果为“是”,过程进到步骤S17。
在步骤S17,阶段改变器1f切换阶段。根据对应于当前阶段的任务的结束和下一任务的开始的时间,执行该阶段的切换操作。在本节中术语“任务”指与主程序分离由CPU51分开和单独处理的程序。如图7所示,CPU51执行许多任务:动作任务、可访问记录介质的访问任务等等。由任务管理器1g在一任务表上来管理这些任务。在该表上登录了表示各任务的数据和表示执行各任务优先级的数据。任务管理器1g读出该表上的数据,进行控制以启动分配了较高优先级的任务。如图7所述,例如在包括步骤S50至S53操作的动作任务TSKa中,CPU51充当被分配了一个国家(或多个国家)的玩游戏者的角色。在步骤S50,CPU51执行一想像处理。在步骤S51,它判断分给CPU51的“单位”(或小队)的动作是否结束。在步骤S52,CPU51结束分给其的阶段。在步骤S53,CPU结束任务TASKa。在步骤S53中的任务结束处理是为了当CPU51受干扰或不知缘由的被设置到等待状态时,使CPU51半途停止该处理,并释放被处理的资源。
在步骤S18,判别器1c判断是否给CPU51分配了下一阶段。若判断结果为“是”,过程进到步骤S19;若判断结果为“否”,过程进到步骤S21。
在步骤S19,任务管理器1g开始CPU51的动作任务。
在步骤S20,遮掩设备1h遮掩了使得玩游戏者能向玩游戏者的“单位”发出动作命令的动作命令栏,具体是,遮掩设备1h向图形命令产生器1e提供信息,指示产生除去使玩游戏者的“单位”能执行某个动作的动作命令的图形命令。从而,图形命令产生器1e向GPU62发出一指示显示除去能够指定动作命令的动作命令栏的窗口图像WIN的命令。因此,如图4C所示,在TV监视器的显示面上所显示的窗口图像WIN,使得透过窗口图像WIN能观察到图4A的战场图像FI。在此情况下,没有显示用于向“单位”发出动作命令的动作命令栏,如图4C所示。在本节中术语“单位”指分配给玩游戏者或CPU51的军队中多个小队。这些小队作为一单位自动执行由动作命令指定的动作。
在步骤21,判别器1c判断当前是否执行了一“命令”。若判断结果为“是”,过程进到步骤S22;若判断结果为“否”,过程进到步骤S23。在本节中使用的术语“命令”包括例如显示面上显示窗口图像WIN的指令和在窗口图像WIN上显示的命令消息。在由图6的虚线框所指示的步骤S22w跟在步骤S22以后的原因如下。在步骤S21中的“命令”代表所有种类的“命令”。即,步骤S21中的“命令”包括:当按下指定显示窗口图像WIN的按钮时,将窗口图像WIN显示在显示面上的指令。因此,在步骤S22w,响应于按下的指定显示窗口图像WIN的按钮,执行显示窗口图像WIN的操作。步骤S22w中显示窗口图像的步骤是步骤S22的一个操作。此外,在步骤S22w的窗口图像的显示中,只显示非动作命令栏,动作命令栏被隐蔽。这是因为,已经在步骤S20遮掩了动作命令栏。
在步骤S22,执行来自被分配该阶段的玩游戏者(或CPU51如果是CPU51被分配了该阶段)的命令。具体是,在这一步,根据由计算器1b设立的数量级进行战斗,根据图形命令产生器1e产生的图形,在TV监视器显示面上显示战斗场景。而且,在这一步,由图形命令产生器1e执行来自没有被分配该阶段的玩游戏者(或CPU51)的命令,即显示其军队状态的操作。
在步骤S23,按照按钮操纵检测器1a的检测结果,判别器1c判断是否指定了窗口图像的显示。若判断结果为“是”,过程进到步骤S24;若判断结果为“否”,过程进到步骤S27。
在步骤S24,图形命令产生器1e向GPU62输出指示显示窗口图像WIN的指令信号。要在这一步显示的窗口图像WIN包括非动作命令栏和动作命令栏。
在步骤S25,按照按钮操纵检测器1a的检测结果,判别器1c判断是否选择或指定了一命令。若判断结果为“是”,过程进到步骤S26;若判断结果为“否”,过程进到步骤S27。
在步骤S27,任务管理器1g判断是否参照任务表输入了一任务。若判断结果为“是”,过程进到步骤S28;若判断结果为“否”,过程进到步骤S29。
在步骤S28,任务管理器1g的控制使具有较高优先级的任务先开始。
在步骤S29,垂直同步信号检测器1i判断是否检测到一垂直同步信号。若判断结果为“是”,过程进到步骤S30;若判断结果为“否”,过程返回到步骤S27。
在步骤S30,按照按钮操纵检测器1a的检测结果,判别器1c判断是否结束该任务。若判断结果为“是”,过程进到步骤S31;若判断结果为“否”,过程返回到步骤S16。
在步骤S31,CPU51处理一结束操作。步骤S31中的结束操作包括:在存储卡93中以数值数据的形式存储军队当前状态,使得能够在该当前状态下重新开始该游戏的操作。[本实施例的效果]
如上所述,在本实施例中,可在两种模式下显示用于选择和输入各种命令的窗口图像WIN。具体是,在可动作显示模式中,包含如“攻击”、“前进”、“防守”和“后退”的各种动作命令的动作命令栏、和包含由玩游戏者指定的如国家军队状态的信息的非动作命令栏,可作为合并图像来显示。在不可动作显示模式中,只可显示包含由玩游戏者根据信息命令选择的如国家军队状态的信息的非动作命令栏。若给一玩游戏者分配一阶段,在该玩游戏者的阶段期间,在可动作显示模式下在该玩游戏者的TV监视器上显示窗口图像WIN;而在该被分配阶段的玩游戏者的该阶段期间,在不可动作显示模式下在其它没有被分配该阶段的玩游戏者的TV监视器上显示窗口图像WIN。换句话说,由于在针对没有被分配该阶段的玩游戏者的不可动作显示模式下窗口图像WIN仍可操作,所以在该被分配该阶段的玩游戏者的该阶段期间,在没有被分配的玩游戏者的窗口图像WIN中显示如信息的非动作命令。
如上所述,一种游戏条件是在一个玩游戏者和游戏系统的CPU51之间进行游戏。在这种情况下,使用图1所示的一个游戏系统。当给玩游戏者分配了该阶段时,在玩游戏者的TV监视器的显示面上所显示的窗口图像WIN,使得能透过具有动作命令栏的该窗口图像WIN观察到战场图像FI。另一方面,当该阶段分配给CPU51时,在玩游戏者的TV监视器的显示面上显示的窗口图像WIN,使得能透过将动作命令栏遮掩的窗口图像WIN显示出战场图像FI。
另一个游戏条件是在图1中采用多个游戏系统的情况,这些游戏系统电连接到一起使得相互之间可通信。在这种情况下,多个玩游戏者可参加游戏。例如若有两个玩游戏者玩一个游戏,且他们的游戏系统相互连接可通信,则该游戏以下述方式进行。具体地说,当该阶段被分给第一玩游戏者时,在第一玩游戏者的TV监视器显示面上显示的窗口图像WIN,使得透过具有动作命令栏的该窗口图像WIN可观察到战场图像FI。此刻,在第二玩游戏者的TV监视器显示面上所显示的窗口图像WIN,使得透过将动作命令栏遮掩的窗口图像WIN可观察到战场图像FI。
因此,在采用一个游戏系统和在一个玩游戏者和CPU51之间进行游戏的情况下,在该玩游戏者的阶段期间,该玩游戏者能够在观看战斗场景状态的同时输入动作命令。此外,当没有给该玩游戏者分配这一阶段时,该玩游戏者能够在观看战斗场景状态的同时看到信息或其等效物。所以,即使在没有给该玩游戏者分配这一阶段的情况下,游戏系统也能够给没有分配该阶段的玩游戏者提供当前战斗状态的信息,使他在没有阶段分配期间,能够针对当给他分配下一阶段时要进行的下一个动作筹划策略,同时使他享受游戏的快乐。因此,本发明的游戏系统能够给玩游戏者提供更满意的游戏环境。
在采用多个游戏系统和在多个玩游戏者之间进行游戏的情况下,当给一个玩游戏者分配一阶段时,在该玩游戏者的阶段期间,该玩游戏者能够在观看战斗场景状态的同时输入动作命令。此外,即使在没有给该玩游戏者分配这一阶段的情况下,该玩游戏者也能够在观看战斗场景状态的同时看到信息或其等效物。所以,即使当没有给该玩游戏者分配这一阶段时,游戏系统也能够给没有分配该阶段的玩游戏者提供当前战斗状态的信息,使他在没有阶段分配期间,能够针对当给他分配下一阶段时要进行的下一个动作筹划策略,同时使他享受游戏的快乐。因此,本发明的游戏系统能够给玩游戏者提供更满意的游戏环境。[变型1]
在上述实施例中,当玩游戏者被分配了一阶段时,在该玩游戏者的TV监视器的显示面上所显示的窗口图像WIN,使得能透过图4B中的该窗口图像WIN观察到图4A的战场图像FI。作为一个变型,可以只显示战场图像FI被遮掩的图4B中的窗口图像。在此情况下,当给该玩游戏者分配这一阶段时,可在该玩游戏者的TV监视器上显示战场图像。因此,当该游戏者从TV监视器被通报应与战场图像FI对应的其军队战斗进展情况的同时,他能够输入一适当的命令。从而,这种变型的游戏系统也能够给玩游戏者提供满意的游戏环境。[变型2]
上述实施例的描述参照了两种游戏条件:一种条件是采用一个游戏系统在一个玩游戏者和CPU51之间玩游戏;另一种条件是采用多个游戏系统在多个玩游戏者中玩游戏。命令输入的方法也适用于这些情况,即采用一个游戏系统在两个玩游戏者和CPU51之间玩游戏的情况、以及采用多个游戏系统在多个玩游戏者和一个或多个CPU之间玩游戏的情况。也就是说,本发明的命令输入方法能够提供相似于在优选实施例中描述的显示状态。然而,在本变型中,需要给各个玩游戏者单独提供显示设备。
可以用其它的驱动器如硬盘驱动器、光盘驱动器、软盘驱动器、硅盘驱动器和盒式存储器读出器,来代替CD-ROM驱动器81。可以用其它的存储装置如硬盘、光盘、软盘和半导体存储器,来代替盘(CD-ROM)84。CD-ROM驱动器81驱动CD-ROM(盘)84,以读出其上记录的图像数据、声音数据和游戏程序数据,并向CD-ROM解码器82输出作为再现数据的读出数据。CD-ROM解码器82按照纠错码(ECC)对CD-ROM驱动器81输出的再现数据实施纠错处理,以向缓冲器83等输出已纠错的数据。
1.在模拟游戏系统中使用的一种命令输入方法,在该游戏系统中两个或更多的玩游戏者轮流在一窗口图像上的动作命令栏中指定一动作命令,以使玩游戏者选择的一对象执行某种动作,以便让这些对象在由显示设备的显示面上限定的游戏空间内相互对抗,该窗口图像包括动作命令栏和非动作命令栏,所述的命令输入方法包括以下步骤:
当轮到某个玩游戏者指定动作参数时,在该玩游戏者使用的显示设备显示面上显示包括动作命令栏和非动作命令栏的窗口图像,以允许该玩游戏者选择动作命令栏或非动作命令栏中的某个命令,并接受所选择的命令;以及,
当没有轮到该玩游戏者指定动作参数时,在该玩游戏者使用的显示设备显示面上显示仅包括非动作命令栏的窗口图像,以允许该玩游戏者透过该窗口图像能观察到该游戏空间内的图像,使该玩游戏者能够在该窗口图像上的非动作命令栏中选择一命令,并接受所选择的命令。
6.一种记录介质,其中存储有可被计算机读出的模拟游戏程序,该游戏程序的构成使得两个或更多的玩游戏者轮流在一窗口图像上的动作命令栏中指定一动作命令,使每个玩游戏者选择的一对象执行某种动作,以便让这些对象在由显示设备的显示面限定的一游戏空间内相互对抗;所述记录介质存储的一控制程序执行下列步骤:
第一窗口图像显示步骤,用于当轮到该玩游戏者时,一旦接收到该玩游戏者显示窗口图像的指令,就在该玩游戏者的显示设备显示面上显示包括动作命令栏和非动作命令栏的窗口图像;以及,
第二窗口图像显示步骤,用于当没有轮到该玩游戏者时,一旦接收到该没轮到的玩游戏者显示窗口图像的指令,就在该玩游戏者的显示设备显示面上显示仅包括非动作命令栏的窗口图像。
11.如权利要求1所述的命令输入方法,还包括这样的步骤,即当轮到某个玩游戏者指定动作参数时,在该玩游戏者使用的显示设备显示面上显示包括动作命令栏和非动作命令栏的窗口图像,以使该玩游戏者能够透过该窗口图像观察到该游戏空间内的图像,从而使该玩游戏者能够选择动作命令栏或非动作命令栏中的命令,并接受所选择的命令。
12.如权利要求1所述的命令输入方法,还包括这样的步骤,即当轮到某个玩游戏者指定动作参数时,在该玩游戏者使用的显示设备显示面上只显示包括动作命令栏和非动作命令栏的窗口图像,以使该玩游戏者能够选择该窗口图像上动作命令栏或非动作命令栏中的命令,并接受所选择的命令。
13.如权利要求6所述的记录介质,其中,在该第一窗口图像显示步骤中,在显示设备显示面上所显示的包括动作命令栏和非动作命令栏的窗口图像,使得能够透过该窗口图像观察到游戏空间内的图像。
该控制器包括:切换设备,用于在两个或更多的玩游戏者之间以一定的次序改变轮次,以命令由玩游戏者所选择的对象执行一动作;以及,游戏图像提供器,用于给轮到的玩游戏者提供显示在显示设备上包括具有动作命令栏和非动作命令栏的窗口图像在内的游戏图像,并且用于给没有轮到的玩游戏者提供显示在显示设备上只包括具有非动作命令栏的窗口图像在内的游戏图像。
20.如权利要求15所述的游戏装置,其中所述的游戏图像提供器给轮到的玩游戏者提供显示在显示设备上具有动作命令栏和非动作命令栏的窗口图像以及具有游戏空间的游戏图像。