本发明广泛涉及电子游戏,特别是使得场景相对于游戏符滚动以表示游戏符在该场景中运动的电子游戏。 如所周知,电子游戏中的游戏符(或称子画面)是响应游戏者的指令沿着规定的道路通过滚动场景的。游戏者操纵一种输入装置,这包括可能带有游戏者用于控制游戏符运动的“操纵杆”的控制台。通过该输入装置用户向游戏符发出向右运动的指令,其结果是游戏场景向左滚动,这就造成该游戏符相对于游戏场景正在向右运动的效果。反之,用户向游戏符发出的向左运动的指令,其结果是游戏场景向右滚动向造成该游戏正向左运动的效果。在这样的滚动过程中尽管出现了相对于游戏场景的运动,而游戏符的图象一般是保持在屏显中心附近不动的。
在典型的电子游戏中,输入装置可使用户发出令游戏符作跳跃或向下蜷曲或加速减速的各种动作。常常是一个游戏符在作不同的动作时呈现不同的姿态。例如,游戏场景慢速滚动而游戏符慢速运动时,其腿,手和驱干可看得清。但场景快速滚动而游戏符加速时,游戏符图象的大部分就描绘得模糊了而只有游戏符的头部可以清楚地辨认,而且当游戏符蜷屈时它有一种形象而当它跳跃时有另一种形象。并且可能有涉及诸如翻滚、踢打或在空中飞翔之类地一系列图象的特别游戏符的滑稽动作。
与实现那样的电子游戏相关的挑战在于产生具有各种图象和障碍物的游戏场景。例如,可能要攀登山峰,跳过峡谷或消灭敌人。在所有这些动作当中,游戏符和游戏场景的形象和运动必须平稳而快速地发生,以便不要使得用户分散注意力或不要使之在装配好的电子游戏快速动作的兴奋中扫兴。
于是,常使用一些统一的技术来控制游戏符和场景的运动和形象。这些技术包括确定游戏符在场景中要经过的道路。游戏符响应用户的命令沿这种道路运动。例如,如果道路向右上升并且用户命令游戏符向右运动,那么当场景向左滚动时游戏符就被描绘成向右攀登这道路。而如果用户接着命令游戏符往左向回运动,则该游戏符左场景向左滚动则呈现向左沿道路下降。
游戏符沿道路运动的图象是在计算机程序控制之下产生的。游戏符的运动是由程序约束的,使得游戏符向左右运动时,它总是试图保持着与道路相接触。例如如果游戏符跳跃,则它很快回到(落到)道路上。如要道路包含不连续性,例如一个悬崖的屏幕图象之类,那么跑离悬崖边的游戏符可能落入到悬崖底部另一道路上;或它也可能跳过悬崖边的峡谷而在对面的悬崖的道路上着陆。用户控制着游戏符的运动而程序保证了游戏符总是沿道路运动。
虽然通过场景的道路一般已是一种可接受限定游戏符运动的方法,但其应用还是存在着一些缺点。例如,用于保证游戏符沿道路运动较早的一种典型方法是应用冲突模块。当游戏符响应用户命令而运动时,一个计算机程序按存储的冲突模块确定响应这一命令的确切要遵循的道路。特别地,场景被划分为图形模块。当游戏符穿过各个图形道路模块时,一个道路控制程序要参照相应于那些图形道路模块的各处突冲模块。例如,一个冲突模块用于确定在一个图形道路模块中的道路是水平的或是倾斜的还是下落到一个悬崖下。
该先前的方法存在的一个问题是:有可能要求游戏符沿一个螺旋状道路或是颠倒或倾斜向一边的道路前进。由于典型的早先的道路程序的运行是通过好似受到重力作用而将游戏符保持在道路上的,故游戏符通常会以倾斜或颠倒的道路上落下来。
这种先前的方法的另一问题是:有可能需要定义通过一个图形道路模块的同一区域的两个不同的道路。但不幸的是冲突模块通常只能确定一个单独的道路,并且每一图形道路模块只对应于一个冲突模块。因而通过一个图形道路模块的同一区域提供多个道路是有困难的。
另一方面,与这类电子游戏相关的另一挑战是要提供竞争模式,在该模式中控制着不同的游戏符的两个游戏者可以在游戏符通过场景时彼此进行竞赛。有许多早先的电子游戏,其中两个游戏符在它们穿过一个可滚动的场景时进行竞赛。与这种竞赛相关的一个问题是:当两个游戏符在场景上穿越时一个游戏符可能把另一个远远抛开,于是很难同时显示两个游戏符,另一潜在的问题是:应用屏幕显示分离,即两块屏幕中的每一块显示该场景的一部分,的结果会是由于各个分离屏幕尺寸的缩小而造成图形的减小。
与实现电子游戏相关的又一挑战是要能鼓励初学者改进其技艺并能使得新手能同有经验的熟练的游戏者进行游戏。满足这一目的的一个问题是:在许多电子游戏中游戏符穿过场景的运动与游戏者控制游戏符运动的熟练程度有关。由一个老练的游戏者所控制一个游戏符常常要比由一个缺少技艺或较少经验的游戏者所控制的游戏符穿过场景的运动将更远更快。其结果是由于被熟练的游戏者所控制的游戏符将会在场景中远在其他游戏符之前就跑出,故在同一屏显上同时显示由熟练游戏者控制的游戏符和较少经验的游戏者控制的游戏符往往可能是困难的。
与电子游戏相关的一个挑战是提供一种竞赛模式,在该模式中当游戏符穿过场景时,两个电子游者独立地控制两个游戏符。例如,游戏者的竞赛是力图使得他们的游戏符最快地穿过场景,同时累计克服障碍或杀死敌人或收集“魔环”的最高点数。与竞赛游戏相关的一个问题是:当两个游戏符穿过场景时由一个游戏者所控制的游戏符可能远远跑到由另一个游戏者所控制的游戏符前面去了。为使得这种游对更激动人心和更富挑战性,希望两个游戏符能作更近距离的竞赛。
于是就需要改进图形技术使得能显示倾斜的、颠倒的或侧斜路的路段。
又尚需改进技术使得可以有多个道路通过图形道路块的同一区域。
并且还需要一种方法和设备用于分离屏幕的电子游戏竞赛。
还需要一种方法和设备使得允许由较少经验的游戏者控制的游戏符能够跟上由较熟练的或较有经验的游戏者所控制的游戏符。
而且还需要一种方法和设备,其中导至一个游戏符已超出另一游戏符的因素,在一个游戏符已大大超过另一个时,能够改变或减小。
本发明满足了上述的需要。
一方面本发明涉及了一种在游戏符穿越屏显上一条道路时控制电子游戏符形象的方法。该方法在包括图形控制器,数字存储器和屏显的电子游戏系统中特别有利。屏幕上所显示的倾斜道路段。电子游戏符至少在倾斜道路上的一个位置上显示为直立的并至少在该倾斜道路的另一位置上显示为颠倒的。多种子画面模式存储在数字存储器中,不同的模式表示了该游戏符在穿过该倾斜道路时在该道路上不同位置上的形态。当游戏符穿过该倾斜道路时它在该道路上的位置被跟踪。当游戏符穿过该倾斜道路时,不同的子画面模式用于描绘倾斜道路上不同位置上的游戏符。
于是,比如游戏符可以沿一种倾斜得很大角度的道路。扭曲的侧斜路或甚至翻转的路行进。当道路扭曲或转弯时游戏符不会从道路上脱落下来,并且当游戏符沿此道路运动时,该游戏符的图象是变化的。例如,当道路翻转过来时,游戏符也呈翻转状。如果道路侧斜到一旁,则该游戏符头部的上顶可能表现为该游戏符沿着一条与屏幕平行的道路运动。
一方面,本发明涉及用于显示穿过电子游戏场景的电子游戏符的一种方法,该方法用于包括可视屏幕显示,用户控制的图形控制器及数字存储器的系统。该场景显示为一第列滚动的屏显。电子游戏符沿场景内的道路行进。游戏符在场景中穿越的行进由场景相对于游戏符的滚动而表现出来。
用于确定相关道路段的多个冲突模块存储在数字存储器之中。场景分解为构成道路的多个图形道路模块。所存储的游戏符冲突式信息指示了一个特定的游戏符是要被视为第一游戏符冲突式或是第二游戏符冲突式。由每一个别的图形道路模块向每一个别的冲突模块提供了对比信息。至少一个对比是由穿越特定图形道路模块的游戏符的游戏符冲突类型决定的。响应用户向图形控制器的输入,游戏符穿过场景的运动显示在屏显之上。所显示的游戏符图形沿着由各个冲突模块的道路段所确定的道路行进,这些冲突模块与包含该道路的各个图形道路模块相对照。所存储的游戏符冲突型信息在游戏符通过场景上规定的位置时要发生变化而使得在此变化之后所存储的冲突型信息指示出不同于变化前的一种游戏符冲突型。
于是,例如游戏符是能够沿一条自相穿越的道路行进的。当该游戏符第一次接近交叉处时,它存储了一种类型的冲突信息,并沿交叉处的不与另一分支冲突的分支行进。当该游戏符第二次接近该交叉处时,它存储了另一型冲突信息,并且它沿着不与第一分支冲突的交叉处另一分支行进。
提供了一种用于控制在电子游戏中游戏符运动显示的方法,该方法用于使用可视显示屏幕并包括带有数字存储器的图形控制器的电子游戏系统。第一及第二用户输入装置用于控制游戏符的运动。第一游戏符响应第一用户输入装置,第二游戏符响应第二用户输入装置。该电子游戏涉及在显示为一系列视屏的场景上穿越的游戏符。
提供了分离的屏显。第一场景屏显示在屏显的上部,而第二场景屏显示在屏显的下部。使用了交错视屏显示技术用于显示该第一与第二场景屏。用户输入装置用于向场景提供控制第一与第二游戏符运动的游戏符运动指令。该第一游戏符的运动显示在第一场景屏之上,而第二游戏符的运动显示在第二场景屏上。
于是,两个游戏者可通过独立控制分离屏显的不同部分中的游戏符的运动而彼此竞争。第一游戏者可通过操纵第一用户输入装置在第一场景屏中控制第一游戏符的运动。第二游戏者可利用第二用户输入装置来控制在第二场景屏中的第二游戏符的运动。
本发明提供了在一个电子游戏中用来控制两个游戏符的运动的一种方法,该方法用于包括可视屏显、用户控制图形控制器、数字存储器,第一用户输入装置和第二用户输入装置的系统。该第一游戏符的运动响应第一用户输入装置,而第二游戏符的运动响应第二用户输入装置。该电子游戏涉及穿越显示为一系列可视屏象的场景的两个游戏符。一系列的游戏符运动指令提供给第一用户输入装置。在场景中的第一游戏符相应的一系列运动响应一系列指令而显示在屏幕上。该系统指令暂时被存储。第二游戏符响应同样的系列指令而在场景中显示出运动。
于是,第二游戏符可被表现得跟随着并且是模仿着第一游戏符的运动。以这样的方式该第二游戏符能够跟随着第一游戏符。
在本的另一方面,用户可以周期地对第二游戏符进行控制而使得当该两个游戏符穿越场景时该第二游戏符能够与第一游戏符竞赛。如若第二游戏符显著地落在了第一游戏符的后面或者是控制第二游戏符的用户在一规定的时间周期内没能给出任何控制输入,则该游戏转入了一种方式,在该方式中第二游戏符则如上所述对第一游戏符作跟随和模仿。
提供了一种用于控制多游戏者竞技的电子游戏的方法,该方法用于包括一个可视屏显。一个图形控制器、数字存储器和至少一个用户输入器的系统。在当前的一个实施例中,所提供的分离屏显其上部屏幕显示场景的第一区域,而其下部屏幕显示场景的第二区域。第一游戏符在上部屏幕显示,第二游戏符在下部屏幕显示。该第一场景区域在上部屏幕滚动以显示第一游戏符通过场景的行进,而第二场景区域在下部屏幕滚动以显示第二游戏符通过场景的行进。交换的目标在上屏幕或下屏幕的至少一个中显示。交换目标被激活,其结果是在上部屏幕和下部屏幕分别显示的场景进行交换使得交换处理过程之后,上屏显示第二场景区域中的第一游戏符,而下屏显示第一场景区域中的第二游戏符。
于是通过激活交换目标而调换了第一和第二游戏符的位置。原来曾远在另一个游戏符之前的游戏符现在远在那个游戏符之后了。于是现在的交换目标对电子游戏的游戏方法增添了另外的策略因素。
本发明上面这些及其他的目的由以下结合附图的详述对于熟悉本技术专业人员来说将变得更明显,这些附图是:
图1是基于本发明的视频显示和优先控制框图及用以产生视频图象的滚动平面的概念原理图;
图2是基于本发明的六个屏宽和八个屏高的整个场景的概念示图;
图3是图2场景内的(空白)屏幕表示;
图4是图3的屏幕中8点×8点的一个图形元;
图5A表示用于照射图4的图形元的色彩模式;
图5B表示用于照射图5A的色彩模式的两个点的8位字节的色彩信息;
图6表示将图4的图形元与图5A的色彩模式相关的模式数表的应用;
图7是基于本发明的图形控制器的框图;
图8示出存储在图6的模式数表中的代表性模式数;
图9是应用图6的色彩模式数表用以访问色彩模式信息的步骤的流程图;
图10是可存储在图7的控制器的控制RAM(随机存取存储器,下同)中的代表性子画面表;
图11表示存储在图7的控制器的VRAM(视频随机存取存储器,下同)中的代表性子画面属性表;
图12的表表示了由图7的控制器的电视接口电路的优先编码器所实现的优先编码规则;
图13是表示图8的模式数的vf(垂直返回)和hf(水平返回)位的作用的一系列色彩模式;
图14是用于图7的图形控制器中按优先连接子画面的代表性的链数据表;
图15表示了一系列模式生成器数据格式,其中不同的模式可以被存储的产生各不相同的水平和垂直尺寸的子画面;
图16A-D表示据本发明的一个穿梭环路;16A表游戏符的定向;图16B表示游戏符的位移;16C表示在游戏符跳跃情形中的游戏符的轨道;以及16D表示相对于环路中心的位移度量;
图17表示当游戏符在图16A-D的环路穿越时屏幕上所显示的一组游戏符图象模式;
图18A-B表示用于控制在图16A-D的环路上游戏符运动的显示的计算机程序的流程图;
图19A-B表示一个角度表和一个位移表,用以在游戏符穿越图16A-D的环路时选取游戏符的模式和决定游戏符的位移;
图20A-C表示了一个示例性的重迭环状道路和据本发明构成道路的图形道路模块;
图21表示一个示例性的图形模块库,用以确定图20A-C的图形道路模块的道路段;
图22为一使得图形模块与冲突模块交互参数的表;
图23是图21图形库的冲突模块之一的一个放大的视图,用以表示由冲突模块决定的道路段就位过程;以及
图24是一个处理过程的流程图,该过程用于一个游戏符穿过场景的规定区域时改变该游戏符冲突型式;
图25A-B表示先前的包括场景图形和游戏符图形的可能的单独屏幕图形,以及先前的可能的分离屏幕图形,其中某些场景图形在分离屏幕图象中已经丢失;
图26A-B表示另一可能的先前的单独屏幕图形显示相继的视图,其中同一屏幕中两个游戏符如箭头所指正在彼此相离运动;
图27A-B表示据本发明的单独的屏幕图形及分离的屏幕图形;
图28表示一交错帧画面;
图29表示一个偶扫描帧画面;
图30表示一个奇扫描帧画面;
图31A-D表示基于本发明的在一个分离屏幕图象的形成过程中的四个阶段;
图32表示相应于图31A-D的四个阶段的计时框图;
图33A-B是一个计算机程序的流程框图,该程序解释在交错方式中的分离屏显形成过程中的数据传输;
图34表示一个用于分离屏显形成过程中控制图形信息交换的计算机程序;
图35表示一个单独的图元,该图元可用来产生用于交错方式的图形模式;
图36表示另一个单独的图元,该图元可用于交错方式上产生图形模式;
图37A-E通过一系列屏显表示了合作方式的操作过程,这种操作可能作为第一和第二游戏者穿越场景上规定的道路而出现;
图38的流程图表示了用于控制合作方式下第二游戏符运动的计算机程序的操作过程;
图39是一计算机程序流程图,该程序图以确定由第二游戏符所要应用是合作方式还是竞争方式;
图40是一计算机程序流程图,该程序用于在第二游戏符已远落后于第一游戏符之后并已从显示屏上消失时将该游戏符移回进入视图;
图41表示基于本发明的一个分离屏显,其中场景区域A显示于上屏幕而场景区域B显示于下屏幕,并且其中第一游戏者显示在上屏幕而第二游戏者显示在下屏幕;
图42表示一个分离的屏显,其中示于图41中的上和下屏幕的场景区域已被互换;
图43A-B表示一个计算机程序的流程框图,该程序用于在屏显由图41的屏显变为图42的屏显时控制信息的交换;
图44表示根据本发明在启动之前的一个目标交换;以及
图45表示在启动之后图44的目标交换。
本发明包括用于电子游戏的一种新设备和方法。以下所提供的陈述可使得任何本专业熟练的技术人员能够实现和应用本发明,并且可用于特别应用和需要的场合。对本较佳实施例作出各种修改对于技术熟练者自然是明显的,并在不超乎本发明精神和所及范围情况下此间所定义的一般原则可适用于其他实施例及应用。因而本发明不应限于所示的本实施例,而是应与此间所透露的原理和特征相一致的最广范围相符合。
本发明的这一实施例中,使用一个视频显示发生器在电视显示屏上产生图形图象。用于产生该图象的图形信息可设想为一系列平面,一个接着一个如图1所示的图例那样。第一个平面是一个子画面平面。以后的两个平面是滚动A平面和滚动B平面。电视屏幕上实际产生的图象由一系列排成行的点构成,这些点分别以不同的色彩照射而使得这些点共同组成图象。用作确定每个点是如何被照射的图形信息在此三个平面中提供。对于每一个点,一个优先控制器确定该点是否要应用来自该子画面平面、滚动平面A或是滚动平面B上的信息被照射。此三个平面上的图形信息是优先化了的,并且具有最高优先度的点被显示。
滚动A表示其上进行着一场电子游戏的场景。滚动B表示用作滚动A的背景。在任何给定的瞬间视频显示可以仅仅显示出整个场景的一小部分。一个全场景包括480个分离的屏显。电子游戏涉及到电子游戏符在场景上的运动。图2的图例表示有60个水平屏幕和8个垂直屏幕的一个场景。本发明系统可在单屏方式或分离屏方式下任一种方式下操作。在单屏操作方式下只有一个单独的场景屏幕显示出来。该屏幕对应着电子游戏符现正在穿越的场景部分。在分离屏幕方式下,两个屏幕同时显示,一个用于第一电子游戏符,另一个用于第二电子游戏符。对于每一游戏符,所显示的屏幕对应于该游戏符此刻正在穿越的场景的部分。
显示中所出现的场景图象由用于滚动A和滚动B的图形信息所组成。称为子画面的图象也在屏幕上出现。子画面是能够在场景上到处运动的图形目标。例如游戏符即是子画面。用于子画面的图形信息存储在子画面平面上。
每一在非交错操作方式下有320个水平点和224个垂直点。图3所示的例图表示出一个代表性的屏幕。例如如图2中所示,屏幕可在屏幕的位置以矩形Q在场景中表示。矩形Q是离开在场景左上角的场景基地址的水平向和垂直向的位移。
整个场景划分为图形模块。每一图形模块划分为图形元。每一图形元划分成对应于象素的点。每一图形元代表着屏幕上8点×8点的一个区域。在本较佳实施例中每屏有40个水平图形元和28个垂直图形元。
应明白的是典型的场景的图形最初是由艺术家创作。然后该图形被“数字化”。图形被划分为图形元。图形元要参照存储的色彩模式,该模式包含用于给这些图形元着色的色彩信息。存储色彩信息的方式可反复用于不同的图形元。
例如,一个滚动的特定区域,即场景的一部分不能表示成绿色草地。每一描绘绿草地的图形元都可应用该同一个存储的模式信息。一种绿草地模式只存储一次即可而不必对描绘场景中绿草地的每一个图形元分别存储绿草地图形,而且各图形元都照该已存储的可用于产生草地屏象的模式。
图4的例图表示了一代表性的8点×8点的图形元。对于场景图象中每个图形元都要作出判断看图形元中的点要应用已存储的用于以下三个平面中那一个色彩模式来照射:用于滚动A平面,用于滚动B平面或用于子画面平面。如上所述,所存储的同一个模式信息可用于多个图形元。以下所述的图形控制器的功能就在于作出这样的判断。
所存储的色彩模式信息用于子画面平面及滚动A及滚动B平面。每一模式对一整个的图形无指令点色照射模式。例如,图5A表示了一种模式,其中色彩信息向a1-h8共64个点提供。如图5B中所示,4位的色彩信息向每个点提供。色彩信息存储在32个8位字节之中,其中每一字节给一个点存储4位而给另一个点存储4位。对于显示屏Q中每一图形元,都要作出判断看所要用的色彩模式是存储在以下三个平面中那一个:子画面平面、滚动A平面或滚动B平面。之后选定的模式的色彩数据就用于照射该图形元的点。
用于设置存储在存储器中滚动A和滚动B图形模式的一般方法示于图6之中。对于滚动A中的图形元保存有一个模式数表,且对于滚动B中的图形元保存有另一个表。对于滚动A表,模式数是对于屏幕每一图形元存储的。每一模式数与一个指向滚动地址表中的一项的指针存储在一起,依次地,该项指针又指向用于访问所存储的对应于该模式数的图形模式的子程序。以这种方式,图形模式可对于滚动A的每一图形元设置。用于滚动B平面的图形元的图形模式可用类似的方法设置。
用于对于滚动A中的图形元和滚动B中的图形元设置色彩模式的过程将在以下与用于对子画面平面设置色彩模式步骤的讨论一同更详尽地说明。
图形控制器
参见图7所示例图,其中表示了据本发明的一个图形控制器40的框图。该控制器40包括:RAM42,视频RAM(VRAM)45,微处理器44,处理器接口45,控制逻辑46,控制RAM48,水平计数器控制50,垂直计数器控制52。控制器40还包括中断控制57,直接存储器访问(DMA)控制59,线路缓冲器60,寄存器61以及I/O(输入/输出,下同)接口64。电视接口电路54向电视系统56提供RGB(红绿兰,下同)模拟信号。
RAM42从卡匣为基础的ROM(只读存储器,下同)58中接收图象信息。卡匣63(不构成本发明的任何部分)在共同转让的美国专利申请(序号为07/510,070,申请日为1990年4月17日)中透露,由Matsubara发明的此专利自然可整体与本发明结合。
第一与第二外部控制器72、74通过I/O接口64连接到控制器40。控制器72、74每一个都包含按钮以控制游戏符的运动。第一控制器72控制第一游戏符(子画面)的运动。第二控制器74控制第二游戏符(子画面)的运动。S/P按钮控制游戏的起动/暂停。按钮A,B,C用于特殊的游戏项目,诸如游戏符进攻或游戏符呈现出特别的力量。标以L,R,Up,Dn的按钮用于引起游戏符向左或向右或跳起或向下蜷屈。
在操作中,视频RAM45存储象图5A中所示那些图示子画面平面及滚动A和滚动B平面的图形模式。当电视显示屏被逐行扫描时,用于滚动A,滚动B以及子画面平面的相应于图形信息的图形模式被检索,而产生出三个独立的信号,它们表示用于滚动A,滚动B和子画面平面的图形模式。在电视接口54中的优先度控制器根据指定的优先度以逐个图形元为基选择适当的信号。电视接口54中的色彩解码器和数模转换器(DAC)接收优先度控制器的输出并产生用于向TV系统56传输的相应的RGB信号。
特别地,控制逻辑46接收水平滚动值和垂直滚动值,该数值确定场景中哪个图象要被显示。VRAM中的模式数表地址计算是基于所收到的水平和垂直数值的。所计算出的地址包含指明用以将图形元着色的模式的数。图8中表示出存储在模式数表中的一个代表性模式数。检索出来的模式数用于访问存储在VRAM45中的色彩模式。色彩模式与从模式数表所接收的色彩选择信息一起用于计算色彩RAM地址。图9的框图进一步解释了检索滚动模式信息的过程。该过程对于滚动A与滚动B模式是类似的。
以下模式数项表解释了图8的色彩模式数所字节内容。
模式数表项
pri:优先度
cpl:色调选择位
cpo:色调选择位
vf:垂直反向位
hf:水平反向位
pt10-pt0:模式产生器数
优先度位是指模式的优先度。两个色调选择位是为了选择适当的色调。在本较佳实施例中,有四个色调。vf与hf位参见图13予以解释。实际上位vf与hf允许以图形元为基单元作水平及垂直反向。这即是说,取决于vf与hf的数值,垂直或水平或两者图形元方向可以被改变。这样,图形信息可更简洁地存储。不同的图形图象可以用所存储的相同的色彩模式通过应用vf和hf位简单地改变个别色彩模式的定位即可产生。
控制器40如下处理子画面图形。在收到来自垂直计数器52的垂直计数信号时,由控制RAM48作搜索以查找具有由垂直记数所指明的垂直位置的子画面。在找到一个或多个具有如图10中所示子画面表中所指定的垂直位置的子画面时控制RAM存储该垂直位置,子画面尺寸,连接数以及模式数,RAM48把所有具有那一垂直位置的子画面的尺寸与连将数返回控制逻辑46。视频RAM45包含一个子画面的属性表,该表又可被搜索以寻找上有所要求的垂直地址的子画面。图11上的图表示子画面属性表中的项的格式。具有那样的垂直地址的每个子画面的模式数和水平位置都从VRAM45返回到控制逻辑46。
子画面中优先度的确定是根据一个子画面链表,兹解释如下。根据各个子画面的优先度的结果,确定对于特定垂直线待显示的子画面的模式数。水平计数信息由水平计数器50提供。如果一条线上有多个子画面,那么就要计算子画面的优先度以确定哪些子画面要在视图上出现,哪些要从视图中消隐。模式数用于对于存储在VRAM45中的适当的子画面色彩模式编址。用于垂直线的逐点照射的信息传输给线缓冲器60。
参见图12的表对于电视接口线路54中的优先度控制器的作用就会有较好的理解。对于显示屏幕内每一可见的图形元,都对于子画面平面,A滚动平面和B滚动平面设定了优先度。根据该表显示出带有最高优先度的图形元。优先度一旦确定,就会根据何者具有最高优先度而子画面,滚动A或滚动B产生一个RGB模拟信号。于是,例如,如果对于给定的图形元,滚动A具有最高的优先度,那么针对此图形元对于滚动A由图形控制器所产生的色彩信息就会以RGB(红绿兰)模拟信号提供给电视系统56。
子画面
一个子画面是通过存储在VRAM中子画面属性表项及存储在RAM42中的子画面状态表来定义的。以下的子画面状态表列出了代表性的状态信息,该信息用于主游戏符(英雄)型子画面以及用于各种其他诸如敌人或运动平台之类子画面都是存储在RAM42中的。
子画面状态表
字节数 说明
1 动作数
1 动作标志
2 在VRAM中的位移
4 模式表地址
4 场景内X方向位移
4 场景内Y方向位移
2 ±X方向速度
2 ±Y方向速度
1 从游戏符中心到游戏符底边的垂直位移(以点计)
1 子画面优先度
1 以点计的水平宽度
1 模式数
1 模式计数器
2 模式变化数
1 模式定时器计数器
1 模式主定时器
1 冲突尺寸
1 冲突计数器
1 程序数1
1 程序数2
2 穿过环路的游戏符的角度(非扭曲路径)
1 乘行标志
1 击中标志
2 A/B型冲突设定
动作数实际上是该子画面的名字。每个子画面具有唯一的动作。一个动作标志字节包括8位,其中一位指示该子画面面向右还是左。另一字节指示该游戏符头向上还是头向下。另一字节指示到该游戏符上下边缘的位移是否要用到。还有一字节指示该子画面是否在显示屏幕的视野之内。四个字节用于指示用来产生该子画面的模式数据的基地址。
另有4个字节用来指示该子画面在场景中X方向的位移。另有4个字节用于指示该子画面在场景内在Y方向的位移。有两个字节指示子画面X方向(向右或向左)的运动及速度。另有两字节指示该子画面Y方向(向上或向下)和速度。另一字节用于设定(以点计)该子画面从其中心到其底边的垂向位移。另一字节用于设定(以点计)从该子画面中心到其边界的水平方向位移。有一字节用来表示该子画面的优先度以及一个字节表示(以点计)该子画面的水平宽度。
有一字节指示一个模式数。有一个字节的模式计数器,该计数器告知每一子画面模式在屏幕上可在多长的时间内表演。一个子画面能应用一系列的模式加以展示,并且每一模式的持续时间必须设定。两字节表示主模式数又称为模式变化数。例如,可能有四个模式,每一个都表示一个跑动的子画面图象序列。另外四个模式可能用于表示滚动的子画面模式序列。模式变化数指示那组模式要用到。一字节的模式定时器与模式计数器类似,并且它包含表示一个模式应表演多久的计数。另一字节用来在计数升/降过程中跟踪当前计数。另一字节包含一个击中数,该数作为下标标在打击表中,该表确定用于决定是否发生了打击的游戏符的尺寸。例如,打击数指明了用于确定一个子画面对于敌人形成了多大的靶子的子画面冲突框架的大小。例如,一个英雄子画面可能受到投掷标枪子画面的敌人子画面的攻击。确定一个英雄是否曾被标枪击中涉及到找到英雄的打击尺寸。冲突计数表示需要多少冲突或打击才能“杀死”或击败一个子画面。
一个字节用于指示一个子程序零。例如,如果一个子画面目前不运动,则一个子程序就被调用来显示该子画面。如果该子画面是运动着的,则另一子程序被调用来显示之。另一字节指示程序数壹。例如,如果该子画面站立着并正在射击,则一个子程序被调用。如果一个子画面站立着但没有射击,则另一个子程序被调用。两个字节用来改变游戏符的角度方向。它们可用来追踪一个上升/下倾曲面上的道路或通过360°的环路。一个字节用来表示乘行标志的状态。在场景中有一些目标称为“事件”,子画面可用它们来“乘行”。例如,在子画面平面中有运动平台,而子画面可搭乘那种平台,如果该子画面座落在这一平台上,则该乘行标志被设置。坠毁的标志表示一个子画面是否跑到另一个目标中去了(不是道路的目标),诸如墙或敌人之类。另一字节表示该子画面是A型冲突子画面还是B型冲突子画面。
子画面数据属性表
图11的示例图表示了存储在VRAM45中一个代表性的子画面属性表。以下的表解释了该子画面属性信息。
子画面属性表
vp9-vp0: 垂直位置
hp8-hp0: 水平位置
hs1,hs0: 子画面的水平尺寸
vs1,vs0: 子画面的垂直尺寸
ld6-ld0: 连接数据
pri: 优先度位
cp1,cp0: 色调选择位
vf: 垂直返回位1:返回
hf: 水平返回位1:返回
sn10-sn0: 子画面模式数
子画面的垂直和水平位置是相对于滚屏的基地址的。子画面水平尺寸可设置在8、16、24或32象素。类似地,子画面的垂直尺寸可设置在8、16、24或32象素。子画面的优先度位可被设置,其应用已如上述。色调可被选择。vf与hf位可用于反向子画面的方向,其方式类似于对模式产生器数作的描述。子画面模式数由十一个位sn10-sn0指示。连接数据用于指地子画面中的优先度。
参见图14,其中画出了数据链表,表中子画面Q-W按优先度链接。子画面Q具有优先度1。子画面R具有优先度2。子画面S具有优先度3。子画面W具有最低的优先度。此方式下优先度同每一子画面的连接数据顺序指定,于是它是一个链表的形式,其最低的优先度的子画面具有链接数据O。如果存在没有连接到此链表中的子画面,则它们不在屏幕上显示。
参见图15的示例图,图中示出一系列模式产生器数据,其中不同的模式用于产生不同的水平和垂直图形元尺寸的子画面。每一图形元对应于一个单独的模式,这模式如上述由32字节的信息表示。于是,例如,对于图15-N的子画面模式产生器数据具有全部八个图形元。八个色彩模式用于产生八个图形元。应认识到:能被本专业熟练技术人员所理解的计算机程序是存储在RAM42之中的并用来自子画面模式产生器的数据生成子画面图形。
穿梭环路图形
参见图16A,其中表示出根据本发明的一个穿梭环路。该穿梭环种呈螺旋环形,是场景的一部分。该螺旋环(扭曲)形成了一个螺旋或螺旋状的道路,在它上面一个游戏者沿它跑时要旋转一周360度。在点E1与E2(进入点)处道路的面是正常的,并且游戏符如箭头所指的那样是垂直站立的,犹如他在这些位置沿扭曲道路运动。在点M(中点)处道路被旋转了180度,于是游戏符在这点是(完全)颠倒地站立在通道上的,即如箭头M所指的那样。在点T1处道路已开始扭曲并向旁侧倾斜,而游戏符还可看得到,但其方向如箭头T1所示已是倾斜的。该倾斜的道路模仿了实际生活中比赛的跑道的倾斜,这种路中在转弯处是倾斜的以便帮助赛跑者保持在轨道上。当游戏符到达箭头T2所指的点时,该游戏符已从视线中隐去,因为它正运动在扭曲路径的部分,这部分是侧斜的但又是从扭曲道路的下底侧看去于是看不到什么。
扭曲提供了独特的图形图象,其中子画面在向前运动时能够沿着屏上扭转的螺旋状道路行进,直至该道路完全翻转或是转了180度,当这道中继续扭曲旋转另一个180度时,该游戏符则继续沿道路前进而暂时从视线中隐去,于是使得子画面的游戏符在扭曲的道路的另一边重新发现而垂直站立。产生扭曲屏象提出了一些难题。其中不仅是对于在螺旋状道路上每一位置选择适当的子画面模式。在子画面游戏符沿道行进时,其脚要保持在道路上。
当道路倾斜九十度时,该游戏符必须以数个不同方向来表示出,从侧视到垂直顶视,以及视道路的扭曲情况游戏符要从完全直立到完全颠倒地站立以及还有在其他角度的情况。图17对于呢称为“小尾巴”的一个游戏子画面示出了12种不同的透视模式。
由于在子画面沿着这些螺旋形环路穿越时该子画面的游戏符的透视图是变化的,故该子画面游戏符对于该螺旋环路滚动模式的位移必须恰当地维持。图16中标有110的线在子画面沿扭曲的道路行进时近似表示出从环路到子画面游戏符中心的位移。当该子画面在扭曲的道路任一端头时,他们脚与该道路是接触的,而子画面中心明显是位在该道路的上方。但是当该子画面沿此道路行进时,该子画面游戏符中心对于扭曲的道路的位移是变化的,并在某些点该子画面在扭曲道路的中心而没有位移。例如,在扭曲的道路位置上,道路是倾斜的或是向侧方歪成九十度,而屏幕上显示出顶视的游戏符模式。当该子画面到达路途中点时,该子画面的脚是与道路接触的,并且子画面的中心是离开螺旋环路向下位移的子画面游戏符继续沿道路前进时,其渐进的向下位移逐渐减少;子画面然后暂时从视屏上消失;然后它又以稍稍在扭曲道路上方的位移出现。
穿梭环路控制
当游戏符进近到场景的穿梭道路上时,图18A-B的程序开始执行。该程序的执行是对另外不同的程度的响应,后一程序不断对场景上游戏符的位置保持跟踪。这另一程序判定游戏者是否已进入到该穿梭环路上。如果他已进入,则图18A-B的程序开始执行以判断该游戏者是否真的已在该环路上。实际上,该另一程序对场景的位置作记录,该位置如认为已充分接近该穿梭环路时就开始执行图18A-B的程序。
在步100中,要作一判定看是否要对子画面游戏符的乘行标志置1。环路被认为是一个可由一个子画面乘行的目标或“事件”。游戏符的乘行标志简单地指出该游戏者已在扭曲的道路上着陆。
在步102,要判断游戏符是否在跳跃过程中,此步必须的原因是:游戏符通过从某个其他位置跳跃而并未进入穿梭环路的开头相接近的地方。游戏符只能通过一个道路才能进入穿梭环路,而正在跳跃的游戏符是不能进入的。
步103判断游戏符是否正在进入穿梭环路的过程中。在图16A中由方框105指明的穿梭环路的两端头处定义了一定的区域。图18A-B的程序判定游戏符是否正在移动进入这些入口区域之一。由103指定的程序步保持对游戏者通过这两个区域105运动的跟踪以便判定游戏符是否正处在从左边或右边进入该穿梭环路的过程中。
应注意的是步103是判断游戏符是否正处于进入穿梭环路的过程中。如上所讲,游戏符进入穿梭环路时要求快速运动。而且游戏符一旦进入了穿梭环路,该游戏符的运动控制就不再受使用冲突模块的控制,下节将对此作出说明。又如下所作的说明,它的控制是参照在本节中所描述的一个位移表来进行的。
在104步中,如果游戏符乘行标志原先没有置一并且游戏者正处于从左或右边进入该穿梭环路过程中,则游戏符的乘行标志要被置一。在步106中要判定子画面的速度是否超出予先设定的限度。本实施例电子游戏的规则要求子画面保持一定的最小速度。否则它就不能进入该穿梭环路。这一特点增加了对游戏的趣味和实感。
在108步再次作出判定看游戏符是否在跳动。应当明白的是图18A-B的程序在游戏符穿越扭曲道路时是重复执行的。当游戏符在穿越穿梭环路过程中它是可能跳动的。由于扭曲的拐弯象是一个螺旋,那种游戏者跳动的结果可能会是游戏符从环路落下去而不是向上走。例如,如果当子画面向右跑是游戏符从左进边倾斜的或扭曲的环路边跳起,则游戏符将结束行程,如图16C由箭头120所指示的轨道那样下落,而不是向上跳起。在这种情况下,当下落时游戏符的水平速度保持不变。另一方向,如果该游戏符跳起是当倾斜的部分在穿梭环路的右侧部分,而这时它是向左跑的,则将看到它将沿轨道122走,而当下落时其向左的水平速度保持不变。游戏符的下落当它到面124时将停止。在步111要再次判断看游戏符是否正在穿梭环中上乘行。如果中在乘行,则在步112判定游戏符在穿梭环路上X(水平)方向的位置,并计算该游戏符Y方向的位置。在步114计算出游戏符对那个X位置的旋转。如果在步106,108和110中发现游戏符的速度没有超出限定或游戏符正在跳跃或游戏符不再在穿梭环中上乘行,则作出向图18B中的步116的转移。游戏符的乘行标志被清零。在118步,数一指定给游戏符方向计数器。在步120,对游戏符方向速度设定限制。
方向计数器用来在游戏符从环路上下落时设定其旋转数,这时它可以是在环路的右边或左边倾斜的路段跳跃而下落。游戏符在下落时是翻滚的。这种翻滚的发生只有当游戏符位在扭曲环路上与地面区域124至少有最小距离以上的区段时才会发生。当游戏符跳跃时它如果与地面区域124的距离不够高,则该游戏符就以当前的模式简单地下落。在步120中速度标志的设定告知在游戏符的那种跳跃过程中下落时它的翻滚或旋转速率。
环路中心的位移是扭曲道路的垂直中心到场景的基地址来计算的。在垂直高度上扭曲道路是64个点。于是如图16D所示,从该中心算起Y向位移是上下32个点。该扭曲道路是384个点宽。对于X方向每增加一个点,Y方向位移就存储在图19A-B的位移表之中。如图16B所示,表中的位移值是说对子画面中心所在位置的位移。
正确的子画面模式是从图17中的12种模式里选取的。对于位移表中的每一行,在角度表(方向表)中有一个项。例如,当游戏符位于X方向有点的位移处,Y向位移是032,又方向参数是$00。例如,当游戏符在X方向有50点的位移,Y向位移为030,方向参数为$16。方向表的项表示对于当前游戏符在扭曲道路上的位置选择12个模式中那一个来表示适当的游戏符视图。
于是,子画面的位移与子画面的视图二者在子画面穿越扭曲道路时都保持着。
可转换A/B冲突图形
在本发明的这一实施例中,游戏符响应用户的指令沿场景中预定的道路行进。这种道路在整个场景中可能看得见也可能看不见,但即使看不见,这它也是存在的。图20A的例图表示了一个代表性的道路,该道路形成一个环并自重迭(一个重迭的道路)。称为冲突模块的已存储的信息用来把游戏符保持在道路上。应用冲突模块保持游戏符在道路上代表了与上述穿梭环路有关的方法不同的另一种方法。
冲突模块库存储在ROM58之中。图21表示了一组冲突模块,这些模块可以用来保持游戏符在图20A的重迭道路上。场景被分解为多个图形道路模块。图20B表示了包含有重迭环路的图形道路模块。
当游戏符沿道路行进时,保持着对游戏符当前所经过的道路模块的记录。如图22中所示的那种冲突表用来形成从图形模块到冲突模块的交叉参照。冲突模块实际上定义了游戏符所经过的道路段。图形道路模块仅仅是图形,并且它们有可能但也不能不包含由冲突模块所定义道路段的真实图象。当游戏符沿道路运动时,游戏符从一个图形道路模块到另一个模块沿着由冲突模块和各个道路段通过冲突表参照图形道路模块所定义的一个道路行进。
本系统的一个新特点在于可使得从一个图形道路模块到一个冲突模块的交叉参照依赖于存储在游戏符状态表中的冲突类型信息。通过改变游戏符的冲突类型,可使得一个图形道路模块参照一个不同的冲突模块。于是可使得戏符所遵循的道路段依赖于该游戏符的状态表的信息。
参看图22,其中示出一个用于使得道路模块交叉参照冲突模块的冲突表。该表在第一列指明了一个道路模块数。在第二和第三列,该表指明了道路模块要参照的(那些)冲突模块。在第二列放入的参数当游戏符自身带有“A”型冲突信息时就要用到,又如果游戏符自身带有“B”冲突型信息则要使用第三列中的参数。虽然不论游戏符所带有的冲突信息的类型(A和B)为何而大部分表参数都是相同的,但一些图形道路模块交叉参数还是与游戏符冲突类型有关。
特别是图形道路模块G6,依游戏符冲突类型而定,可交叉参照冲突模块C1或C8。类似地,依游戏符冲突类型而定,图形道路模块G11可交叉参照冲突模块C4或C5。其余的形成重迭道路的图形道路模块不论游戏符冲突类型如何都参照同样的冲突模块。例如,图形道路模块G5决是交叉参照冲突模块C0,以及图形道路模块G12总是交叉参照冲突模块C3。
参见图23的例图,其中表示出图21的放大了的冲突模块C1的视图。当游戏符具有A型冲突信息时,冲突模块C1参照图形模块G6。假设游戏符200沿道路由左向右前进,当游戏符穿越图形道路模块G6时它向上攀升。该游戏符在它穿过模块G6时屏显的实际运动是参照冲突块C1被控制的。如果带有A型冲突信息的同一游戏符要从右向左穿越模块G6,则它将下降。
又特别是在冲突模块C1之内表示出了一个实(有阴影的)区和一个空(无阴影)的区域。该实的(冲突)区域以数字的形式表示在ROM之中,这种表示是通过予先存储逻辑信息(例如逻辑“1”)而进行的,又空(非冲突)的区域是通过存储不同预定值(例如逻辑“0”)来表示的。实区域与空区域之间的边界确定了一个道路段。当游戏符通过图形道路模块G6而带有A型冲突信息时,它遵循在冲突模块C1中所定义的道路段。游戏符所遵循的道路包括众多的由模块库中的不同的冲突模块所定义的那种道路段。
图23中,游戏符模式的轮廓曲线200表示。当用户命令指使游戏符200向左或向右运动时,要判断为使游戏符保持与道路段的接触是否需要它作水平的、对角的、向上或向下的运动。
操作输入控制器72或74的用户只要按动标有L或R的按钮,就将指明游戏符应该向左或右运动。例如,如果图形控制器判定出游戏符已经进入参照如图23中所示的冲突模块C1的图形道路的模块并且该游戏符具有A型冲突信息,则该控制器将使用由模块C1定义的道路段来判定游戏符通过该图形道路模块精确的运动。例如,设用户已命令图23中的游戏符200从左向右运动。要作的判断是:在运动之后为了保持在道路段上,该游戏符是否要作水平向右或对角向上向右或对角向下向右的运动。
用以控制游戏符沿各个道路段运动的方法涉及到对在冲突模块内游戏符当前位置的跟踪。所作的一个判断是:游戏符可能的几个运动中那一个会将使得该游戏符悬在空间(非冲突)区域中,在禁止的实(冲突)区域中或停留在道路段上。将把游戏符留在道路段上的运动被选中。
例如,仍然参见图23,预定的试验点202,204和206用于试验各种可能性,该试验是通过判断游戏符的前沿边20B是否含留在道中段的曲面上,留在空区域中或在一个实区域中。所存储的指示实的冲突区域的逻辑位是禁止游戏符进入的区域。游戏符水平向点204的运动将会把该游戏符在禁止的实区域中;于是这种选择不要。斜向下向右到点206的运动也将把游戏符留在禁止的实区域中;这种选择也是排除的。然而,斜向上向右到点202的运动将把游戏符直接配置在道路上;于是选择这一运动。
应该注意的是刚才陈述的用于在冲突模块中确定道路段位置的技术对每一冲突模块都可利用一类似的试验点集。这种技术上的通用性在选择和生产游戏道路中有利于生成高速图形和高度的灵活性。而且,包括在场景中对图形道路模块位移(位置)的跟踪等的技术细节将会被本专业熟练的技术人员理解而不必在此赘述。
在图20B中曲线210标明的重迭环路的顶点处,要进行游戏符冲突类型信息的变换,这变换是按照图24的流程图所示的过程进行的。即游戏符每通过线210附近的场景区域一次,该游戏符的冲突类型就改换。如果游戏符已从右向左穿过图形道路模块G11,则类型由A变为B,又如果游戏符从左到右穿过图形模块G11则类型由B变为A。于是在改变之后,游戏符的冲突类型是不同于变化以前的类型的。参见图22,可以看到:模块G11的交叉参照随着游戏符类型而变化。当游戏符有A类冲突信息时,交叉参照是模块C4。当游戏符具有类型B的冲突信息时,交叉参照为模块C5。另方面,对于图形模块G11,也可交叉参照单一的冲突模块而不论游戏符冲突类型如何,因为不存在道路段的重迭并且道路与游戏符的方向无关。
例如设游戏符从左通过图形道路模块G5进入重迭环路并且开始是其有冲突类型A。当游戏符穿越图形道路模块G6时所作的参照是冲突模块C1。当游戏符到达图形道路块G11的顶点时,由游戏符所带的冲突类型由A变为B。当游戏符从左向右下降并再次穿过图形道路模块G6时,这次所作的参照为冲突模块C8。于是在图形道路模块G6的第一次穿越过程中所作的参照是一个冲突模块,而在第二次穿越时,参照另一个冲突模块。
反之,若游戏符起初进入重迭环路是从右侧并开始具有的冲突类型为B,那么当它通过图形道路模块G6时,就要参照冲突模块C8。当游戏符向上运动并绕环路经过图形道路模块G11中的线210所标的区域时,该游戏符所携带冲突类型信息将由B变为A。当游戏符下降并再次穿过图形道路模块G6时,所作的参照为冲突模块C1。明显的是:如果游戏符穿越由线210所标的区域来回运动,则该游戏符所带的冲突类型信息将会反复不断地在A与B之间来回改变。
参照的冲突模块与游戏符的冲突类型相关这种用法的优点是允许使用彼此重迭交叉的道路。不仅如此,参照是相关于游戏符冲突类型的这种使用方法特别适用于以下场合:当游戏符从不同的方向向一个特定的道路模块接近时就要调用不同的冲突模块。
分离屏幕竞争图形
分离屏幕竞争图形有利于提供两个滚屏,其中每个可在相同的场景的不同部分滚动。在这两个屏幕上的游戏符子画面可以彼此独立地在两屏上运动。这有利于在游戏者之间在各自独立的滚屏上提供充分竞争的机会。而且上下两个滚屏可包含子画面图形的全部信息量。由于两个屏幕各占单独一个滚屏方式下所占面积的一半,故在两个滚屏中的图象在垂直方向上受到一些压缩。每一屏幕的滚动速率取决于各自游戏符穿越其屏幕的速率。一个游戏符可以远远地超出另一个游戏符之前。又,在本实施例中,这两个子画面游戏符可以彼此独立地累计游戏点数。
分离屏方式克服了先有技术的局限性。例如,图25A-B说明了原先的分离屏的潜在问题:在由图25A所示单屏方式向图25B所示的分离屏方式过渡时,丢失了一些场景屏幕信息。大脸面的图形典型的场景图型的例证部分,在分离屏方式中部分的损失了该场景图形。图26A-B说明了某些先有的滚动竞争游戏的另一个潜在的缺点:竞争的游戏符如果它们在场景中离得太远就有可能从视屏中消失。
图27A表示单屏方式,而图27B表示根据本发明的分离屏方式。图26B中的两个分离屏在垂直方向上与图27A中的单屏比较受到了压缩。但是在分离屏方式下却没有信息的损失;全部的滚动和子画面信息在两个独立滚动的屏幕中都提供使用。而且即使在两个子画面游戏符在场景中分离开,它们的显示视觉也没有什么损失。
交错方式的控制
交错方式下的操作过程中,图28中所示的交错显示域包括了由实斜线标示的偶扫描线102和由水平虚线104标示的奇扫描线。交错方式是本专业技术人员周知的电视操作方式。一个完整交错显示域是在两个扫描帧过程中产生的。在由图29标示的偶扫描帧过程中偶数线102被扫描。在由图30标示的奇扫描帧过程中奇数线104被扫描。
在分离屏方式下,分为上屏106和下屏108。两屏幕由它们之间的边界110分界。由于上屏106和下屏108可以描绘场景不同的区域并可以描绘不同的子画面游戏符,于是为了显示两个不同的场景就必须对不同子画面图形信息及不同的图形场景信息进行访问。在目前的实施方法中,为了保存用于上和下两个场景06,108的所有的子画面图形信息的存储器存储需求可能是太大了。于是根据本发明的这个实施例应用了一种技术以便在一个单独的偶数帧扫描过程中改变所存储的子画面图形信息,而在单独的奇数帧扫描过程中再改变所存储的子画面图形信息。
更具体来说,参照图31A-D的示例图,其中示出单独的一个帧扫描的四个时间段的表示。图31A中所示的第一时间段表示回扫,此过程中调用处理器44的垂直中断。图31B中所示的第二段代表上屏的屏扫。图31C中所示的第三段代表一个时间段,以此段中调用处理器44中的水平中断。由图31D标示的第四段代表一个时间周期,此周期中对下屏作扫描。
图32的时间图表示了上述各时间段在其出现的时间区。用于产生一个完整交错域两帧的每一帧在1/60秒(16毫秒)的过程中显示出来。于是一个完整交错域是在1/30秒(32毫秒)秒的过程中产生的。参见定时图,在电子束从屏幕右下回扫到左上时即在显示一帧的前三个毫秒过程中调用垂直中断。在此时间周期中,用于上屏的子画面图形信息从RAM42输送到VRAM45。在以下6个毫秒中利用存储的图形信息显示上屏106。在下一个毫秒之前调用水平中断,屏幕关断不出画面。在此期间,为下屏子画面图形信息从RAM传输到VRAM用于下屏。在最后的6毫秒的开始,屏幕再次接通并显示下屏108。自然应明白,上述描述的过程在偶数帧和奇数帧都发生。于是这过程为了显示一个完整的交错域要出现两次。
图33A-B和34的示图提供了解释图形数据传输细节的流程图,这种传输发生在用以产生一个单独交错域的两帧的每一帧过程中。
参见图35与36的图例,其中示出一个单图形元和在交错方式下供使用的相应的图形模式。该单图形元包括8×16个点。在显示图36的图形模式时,行00,08,10,18,20,28,30及38在偶扫描帧过程中显示,在奇扫描帧过程中显示间扦的行04,0C,14,1C,24,2C,34与3C。可以明白的是:在分离屏方式下(分别)出现在上下两屏的点的行数与在非交错方式下全屏上所出现的点的行数是相同的。在每一分离屏中有224行点。但是由于是在交错方式下,点更为密集,在上下分离屏中的图象显得在垂直方向上被压缩了。这一点对于两个滚动的场景与子画面皆然。
多个游戏者合作方式与多个游戏者竞争方式的概述
本实施例中,据本发明的系统有两种操作方式:合作方式与竞争方式。在合作方式中,第一游戏符响应加在第一控制器上的输入,而第二游戏符通过场景跟随第一游戏符。可以说,两个游戏符合作方式是:第一游戏符引导第二游戏符通过场景来。第二游戏符不仅仅跟随第一游戏符,而且第二游戏符还模仿第一游戏符的运动。于是第一与第二游戏符两者都响应加于第一控制器的输入,其中第二游戏符跟随在后而显然是在模仿第一游戏符。
图37A-E完全是用于解释合作与竞争操作方式的示例图。每一个图示出了预先规定的通过场景的一个道路的一部分。可以看出,该道路包括山峰和峡谷。在一点有一个壕沟。如箭头所标,有一个平台(“事件”)穿越壕沟来回运动。为使游戏符穿越这个壕沟,该游戏符必须跳上平台并乘行在平台上垮过壕沟然后再跳离平台到壕沟的另一侧。在平台的跳上跳下都需要技巧。这对于初学者可能是引起困难的一种挑战。
在图37A-E中,三角形的游戏符是由第一控制器所控制的第一游戏符,圆形游戏符是以合作方式跟随第一游戏符的第二游戏符。图37A中,第二游戏符正跟随在第一游戏符后面,图37A中的方框围住了当前显示屏幕上可见的道路的部分。于是方框右侧和左侧道路的部分是在屏显之外的因而游戏者看不到。
在图37B中,第一和第二游戏符已向右前进,因而屏上可见的道路部分已有改变。而且表示出第一游戏符正在跳起。图37C中,第一和第二游戏符更向右前进了,如场景上的屏显位置所示那样。图37C中,可看到第二游戏符正象第一游戏符此前跳起那样正在跳起。在合作方式下,第二游戏符的跳动是响应供给第一控制器而引起图37B中第一游戏符跳起的同一个跳起的命令。图37D中,表示出第一游戏符已成功地越过了壕沟。第二游戏符仍留在壕沟的左边还没有越过它。
这里假设了第二个游戏者应用第二控制器已决定在第二游戏符要跨越壕沟时开始控制它的运动。第二游戏者向第二控制器提供七个输入以期引起第二游戏符跳上平台。该游戏转向竞争方式。假如结果是跳跃失败,在图37E中,第一游戏符已继续前进,而第二个游戏符留在了后面看不见的。这由屏显中标示出,其中第一游戏符在视野之内,并开始向下运动,这在以下通过图40的计算机程序说明。
在竞争方式下,每一游戏符处于不同的控制器分别控制之下。第一游戏符响应加于第一控制器72的输入,而第二游戏符响应加于第二控制器74的输入。此两个游戏符当穿越场景时是竞争的。
在一定的游戏环境下,游戏符穿越场景的距离取决于游戏者操纵用于控制该游戏符的控制器的技巧。由熟练的游戏者控制的游戏符将前进更远的距离,因为熟练的游戏者能够更好地克服他所控制的游戏符道路中的障碍。如在合作方式控制部分中所作的说明那样,合作方式可使一个新手适应作为较老练的第一游对者的技艺水平。熟练的游戏者可控制第一游戏符,由于他的技巧该游戏符能够在场景中有效地前进。第二游戏符通过跟随第一游戏符并提供其运动也可有效地前进。
如以下在竞争方式控制和方式转换节中所作说明那样,新手可通过按第二控制器上的按钮采取主动控制第二游戏符。这时该系统运行在竞争方式下,其中每一游戏符由分开的控制器来控制。然而,在较佳实施例中,如果第二游对者在一个规定的时间周期(比如十秒)中,能操纵第二游戏符,则该系统又恢复合作方式,而第二游戏符重新跟随第一游戏符。另外,如果第二游戏者连续操作第二游戏符的控制,但第二游戏符落后于第一游戏符于规定的距离之后,其落后的距离使得在屏上见不到了,则系统将使得第二游戏符赶上第一游戏符,并且系统将又回到合作方式。
合作方式的控制
参见图38,其中示出用于控制合作方式下第二游戏符运动的计算机程序流程图。该流程图假设第一游戏者已向第一控制器提供了一系列命令以便控制第一游戏符穿越场景的运动。在步510中,读取16/60秒以前已存储的第一控制器输入数据。在步512,判断所存储的输入数据是否指明右按钮已被启动。如果它已启动那么在步514第二游戏符子画面的在屏显上向右运动。在步516判断输入数据是否标明左按钮曾被启动,如果是,则在步518游戏符子画面向左移动。在步520判断跳跃按钮是否曾被启动,如果是,则在步522第二游戏符子画面在屏上起跳。在步524判断下降铵钮是否曾被启动,如果是,则在步526引起游戏符子画面向下蜷屈。在步528,判断是否有目标障碍第二游戏符子画面的道路。如果存在,则在步530第二子画面试图跳跃过该目标。这样,第二游戏符在它追随第一游戏符时,既便没有用于这一特定目的的第一控制器输入,它也试图克服其道路上的障碍。
在步532判断第一与第二游戏符之间一否存在距离。如果存在,则第二游戏符逐点地趋向第一游戏符。由图38所表示的计算机程序每1/60秒由一个中断程序调用。在该程序再次调用之前第二游戏符通常仅有移动几个点的距离的机会。于是,在第二游戏符为努力追上第一游戏符而能够运动很远之前,要作出判断看是否存在要由第二游戏符模仿的附加的第一游戏符的运动。
第二游戏符子画面呈现出要追随第一游戏符子画面,模仿其运动。但是,如果第一游戏符保持不动,则第二游戏符子画面通过步534的操作将追上他。结果是第一游戏符在第一控制器的控制之下引路穿越场景。第二游戏符充分地紧随其后使得第一与第二游戏符两者都可在屏显上看到。如果第一游戏符不动,则第二游戏符视需要或向右或向左趋向第一游戏符。这一程序在系统处于合作方式下时周期地执行。
竞争方式的控制
在竞争方式下,第一控制器72用于控制第一游戏符子画面的运动,第二控制器74用于控制第二游戏符子画面的运动。在第一和第二游戏符穿越场景时,操纵第一和第二控制器的游戏者彼此竞争。例如,竞争可能涉及最快地穿越场景后积累最多的点数。
方式转换
参见图39的图例,其中示出用于判定要用合作方式还是竞争方式的计算机程序的流程图。在步540判定游戏是否已设定为仅由一个游戏者控制。如果已是这样设定,则该游戏自动被转入合作方式,并在步542判定是否已存在加于第二控制器的控制输入。如果不存在,则步544判定是否在十秒钟以上没有来自第二控制器的输入。如果在十秒以上没有输入,则该游戏如步546所标示保持在合作方式中。
如果在步542已存在向第二控制器的控制输入,则在步548判断第二游戏符子画面是否已从屏上消失。如果它已消失,则在步550使得第二游戏符子画面返回视屏上,且该游戏仍保持合作方式。如果在步548判断出第二游戏符子画面并未从屏上消失,则在步552第二游戏符字画面被置于第二控制器的控制之下,且该游戏返回竞争方式。
图39的程序周期地执行。其结果是:如果第二游戏符远落在第一游戏符之后而从屏上消失或第二游戏者在规定的时间周期内操纵第二控制器失败,则游戏将返回合作方式。反之,如果第二游戏者操纵了第二控制器并且第二游戏符仍在屏上可见,则游戏将转向竞争方式。
图40的流程图表示一个计算程序,该程序用于在第二游戏符子画面已远落后于第一子画面并且已从屏上消失之后将它移回视野。图40的程序用于竞争方式中的保证第一和第二游戏符子画面保持在屏显上同时可见。其目的在于不要使得由新手控制的游戏符太远地落后于主游戏符。
在步560判断起始标志是否已设置为一。该起始标志表示后面顺序的四个步已被取代。起始标志是用于第二游戏符子画面的一部分子画面状态信息。在步562选择表示第二个游戏符子画面要在空中飞翔的图象模式。在步564选择第二子画面同第一子画面水平位置匹配的水平位置。一般来说控制器40保持第一游戏符子画面在屏幕中心。于是第二游戏符在水平方向上也在屏幕中心。第一游戏符在屏上如果静止不动,则除去第二游戏符的运动以外整个屏幕的动作都停止。在步566,选择第二游戏符子画面的垂直位置为在第一游戏者上方192个点处。在步568,起始标志被置一,并在步570,第二游戏符开始缓慢下移。在步572判断第二游戏符是否已落到一个游戏道路上。如果他尚未落下,则周期重复直至其着陆为止,并在步574显示第二游戏符在一个站立的位置。这时,开始执行图38中所示的程序,该程序中所示的步骤顺序执行。图39中的程序控制着合作方式与竞争方式之间的转换。
场景位置交换图形概述
本发明包括上述的分离屏幕操作方式。屏幕显示分离成两个等尺寸的屏显,一个位于另一个之上,在其中游戏符可彼此进行竞争。两屏的每一个都可显示同一场景的不同区域。上屏显显示第一游戏符。下屏显显示第二个游戏符。第一游戏符由操纵第一控制器的第一个用户控制。第二游戏符由操纵第二控制器的第二个用户控制。上和下屏可显示场景的不同区域。上屏显滚动独立于下屏显。
例如,在某些电子游戏中竞争的游戏者操纵着控制穿越场景不同游戏符运动的各控制器。例如,两个游戏者的竞争可以通过使他们的游戏符在场景上赛跑而累积点数,越过障碍,杀死敌人或收集“魔环”等。其游戏符越过场景中最大障碍或积点数最多者为胜。
例如,参见图2,上屏可显示标以A的场景区,而下屏可显示标以B的场景区。在比例中,区域A和区域B重迭。参见图41例图,其中示出一个分离屏显,该屏显中上屏显示在场景区A的第一游戏符,下屏区域带有在场景区域B中的第二游戏符。在场景内有一个交换目标,我们将称之为远程端口框,当游戏符子画面之一来到该交换目标规定的领域之内时,场景中两个游戏符的位置及它们大量状态信息被交换。这样,一个落在后面的游戏符可以同另一个游戏符交换场景位置。因而,交换目标给游戏竞赛增添了新的策略考虑。
图41中,上屏的第一游戏符已落在下屏的第二游戏符之后。这从两个屏显中的地形来看是明显的。这两个游戏符从左向右穿越场景。上屏中第一游戏符还未翻越小山。下屏中,第二游戏符刚刚越过这个山。在上屏中出现了一个交换目标。当第一游戏符与之接触时,如图42中所示,第一与第二游戏符的场景位置交换。这将在以下用图43A-B的计算机程序流程图详述。
交换目标控制
参见图43A-B,步610判断是否有哪个游戏符已接近交换目标。如果有,则在步612对于第一与第二游戏符交换它们当前一定的状态信息。并不是所有的状态信息都被交换,例如,被交换的信息并不包括诸如决定其各自形象的图形模式之类的由各游戏符独具的信息。例如,表达子画面生气的子画面模式数就不交换。在步612之中,游戏符子画面状态信息实际上是在RAM42中的第一游戏符状态信息缓存器与RAM42中的第二游戏符状态信息缓存器之间传输。
在步614,每一游戏者的主数与模式数被初始化使得第一与第二游戏符将在交换之后的站立的位置上显示出来。在步616,滚动模式信息在上屏滚动缓存器与屏滚动缓存之间交换。在步618,动作设置数在上屏滚动缓存器与下屏滚动缓存器之间交换。动作设置数表示了在任何给定的时间实际存储在RAM42内的屏幕。应记住在本实施例中如图2所示,一个场景是六十个水平屏幕和八个垂直屏,每一场景有一些数目的区域,这些区域由动作设置定数标识。一个由动作设定数规定的场景区域要大于不在一个单个的分离屏或全屏上在任何给定的时刻所显示的场景部分。本实施例中,多个动作设定数的区域在任何给定时间都存储在RAM42中,虽然在每一时刻只显示一屏。这些另外的场景显示信息存储在RAM42中,以便适应快速的游戏符运动或方向变化。例如,如果游戏符突然运动到一个以前没有显示过的新的场景区域,那么新的场景区域的显示信息在RAM42中迅速获得。将没有必要从ROM58到RAM42传送新的场景显示信息,因而当游戏符运动到新的场景区域时也就不存在可觉察的时滞或间断。
在步620,游戏符之间交换优先度信息。在步622,对某些事件调整标志。具体来说,存在一些事件,诸如游戏符通道传送A/B冲突转换,这会引起游戏符冲突信息的变化。还有一些事件例如已进入场景的一个区域的游戏符,该区域可能要求这游戏符采取一种特别的形象。例如,本实施例中,其中一个屏幕称为“casinonight”(“俱乐部之夜”)。当第一个游戏符在“俱乐部之夜”屏上时,它就采取弹球的形状,因为“俱乐部之夜”形式为弹球机状。于是当游戏符穿过“俱乐部之夜”屏时用以产生弹珠形图象的模式信息就用以描绘该游戏符。在步622中所设置的标志是这样一些标志,它们对那种特例或特殊事件跟踪。一般技术人员将会明白,有可能存在其他特殊事件标志需要设置,这取决于特定的场景或电子游戏的特质。
在步624,对于游戏符设置了称为障栅和不可见方式。本实施例中,对于游戏符之一设置这些方式要调用一程序,该程序使得游戏符与一定的图形被显示出,这图形把游戏符描绘成不可见的。例如,当一个游戏符处于不可见方式时,它就不能轻易地“被杀死”。在步626,判断第一个游戏符是否在旋转,如果在旋转,则第一游戏符的命中尺寸在步628中减小。在步630判断第二游戏符是否在旋转。如果在旋转,则在632步减小第二游戏者的命中尺寸。再说一遍,本专业一般技术人员会明白,可能有其他的决定于游戏特点的特殊方式。
参见图43B,在步634判断游戏符是否在乘行在一个“事件”上,本实施例中,一个事件就是标识诸如运动平台或穿梭环路之类的场景目标或障碍物的项。当游戏符乘行在一个事件上时,在这段时间中对于游戏符的操作要作特殊的考虑。例如,如果游戏符正在穿越一个穿梭环路,则其控制将取决于位移表的各项目而不是冲突信息。
如果第一游戏符正在一事件上乘行,则在步636设置第一游戏符乘行标志。在步638判断第二游戏符是否在乘行一个事件。如果在乘行,则在步640设置第二游戏符的乘行标志。在步642,当滚动场景交换时设置一停止电视屏显的标志。在步644,对于两游戏符设置动作停止标志,使得两个游戏符都暂停。在步646设置对于63计数的中断等待。在步648和650,该计数减量,并在步652,当计数完成且滚屏已被刷新时,电视屏显再度接通。电视屏显暂停既是为了适应信息交换也是为了给游戏者时间以便使之意识到刚刚发生过一种交换。在步654,对于两游戏符的动作标志再次被设置。
图44表示了远程端口框。本实施例中,远程端口框是屏上可见的交换目标。当一个游戏符通过跳跃而接触到此框时,该游戏符见的交换目标。当一个游戏符通过跳跃而接触到此框时,该游戏符就“打破”这个框。在游戏符接触它之前,这个框形如图44中所示,在游戏符接触它并“打破”它之后,它呈图45所示的样子。框的中心上浮到一定的高度。当它到达那个高度时,则上述的交换就发生了。于是游戏者能知道什么时候就要发生交换。
虽然已对本发明的一个特殊的实施例作了详述,但在不背离本发明的精神和范围情况下可作出对该较佳实施例的各种修改。例如,穿梭环路可定义一个扭曲度数大于或小于360度的道路。于是本发明仅由所附权利要求限定。