U.S. Pat. No. 6,352,476
Video game apparatus having direction pointing marks and player object displayed on game screen
Issue DateFebruary 23, 2001
Illustrative Figure
Abstract
No abstract is available for this record.
Description
DETAILED DESCRIPTION OF ONE PREFERRED EMBODIMENT Referring to FIG. 1 , a video game system in this embodiment includes a video game machine 10 , a ROM cartridge 20 as one example of a memory medium, a display unit 30 connected to the video game machine 10 , and a controller 40 . The controller 40 is dismountably mounted with a cartridge 50 . The controller 40 is structured by a plurality of switches or buttons provided on the housing 41 in a form graspable by both or one hand. Specifically, the controller 40 includes handles 41 L, 41 C, 41 R downwardly extending respectively from a left end, a right end and a center of the housing 41 , providing an operation area on a top surface of the housing 41 . In the operation area, there are provided an analog-inputtable joystick (hereinafter referred to as analog joystick ) 45 at a central lower portion thereof, a cross-shaped digital direction switch (hereinafter called cross switch ) 46 on the left side, and a plurality of button switches 47 A, 47 B, 47 D, 47 E and 47 F on the right side. The analog joystick 45 is used to input moving directions and/or moving speeds or moving amounts of the player object as determined by an amount and direction of joystick inclination. The cross switch 46 is used to designate a moving direction of the player object, in place of the joystick 45 . The button switches 47 A and 47 B are used to designate a motion of the player object. Button switches 47 C- 47 D are used to switch over a sight point for a three-dimension image camera or to adjust the speed or the like of the player object. A start switch 47 S is ...
DETAILED DESCRIPTION OF ONE PREFERRED EMBODIMENT
Referring to FIG. 1 , a video game system in this embodiment includes a video game machine 10 , a ROM cartridge 20 as one example of a memory medium, a display unit 30 connected to the video game machine 10 , and a controller 40 . The controller 40 is dismountably mounted with a cartridge 50 .
The controller 40 is structured by a plurality of switches or buttons provided on the housing 41 in a form graspable by both or one hand. Specifically, the controller 40 includes handles 41 L, 41 C, 41 R downwardly extending respectively from a left end, a right end and a center of the housing 41 , providing an operation area on a top surface of the housing 41 . In the operation area, there are provided an analog-inputtable joystick (hereinafter referred to as analog joystick ) 45 at a central lower portion thereof, a cross-shaped digital direction switch (hereinafter called cross switch ) 46 on the left side, and a plurality of button switches 47 A, 47 B, 47 D, 47 E and 47 F on the right side.
The analog joystick 45 is used to input moving directions and/or moving speeds or moving amounts of the player object as determined by an amount and direction of joystick inclination. The cross switch 46 is used to designate a moving direction of the player object, in place of the joystick 45 . The button switches 47 A and 47 B are used to designate a motion of the player object. Button switches 47 C- 47 D are used to switch over a sight point for a three-dimension image camera or to adjust the speed or the like of the player object.
A start switch 47 S is provided almost at a center of the operation area. This start switch 47 S is operated when starting a game. A switch 47 Z is provided at a backside of the central handle 41 C. This switch 47 Z is utilized, for example, as a trigger switch in a shoot game. This switch (may be hereinafter called Z button ) 47 Z is operated when the player object is to be caused to pay attention to a non-player object. That is, this switch 47 Z functions as a second operating means. Switches 47 L and 47 R are provided at upper left and right of a lateral surface of the housing 41 .
Incidentally, the above-stated button switches 47 C- 47 F can also be used to control the moving speed (e.g. acceleration or deceleration) of the player object in a shoot or action game, besides for the purpose of switching the camera visual point. However, these switches 47 A- 47 F, 47 S, 47 Z, 47 L and 47 R can be arbitrarily defined in their function depending upon a game program.
FIG. 2 is a block diagram of the video game system of the FIG. 1 embodiment. The video game machine 10 incorporates therein a central processing unit (hereinafter referred to as CPU ) 11 and a coprocessor (reality coprocessor: hereinafter referred to as RCP ) 12 . The RCP 12 includes a bus control circuit 121 for controlling buses, a signal processor (reality signal processor; hereinafter referred to as RSP ) 122 for performing polygon coordinate transformation, shading treatment and so on, and a rendering processor (reality display processor; hereinafter referred to as RDP ) 46 for rasterizing polygon data into an image to be displayed and converting the same into a data form (dot data) memorable on a frame memory.
The RCP 12 is connected with a cartridge connector 13 for unloadably loading a ROM cartridge 20 having an external ROM 21 incorporated therein, a disc-drive connector 197 for detachably mounting a disc drive 29 , and a RAM 14 . Also, the RCP 12 is connected with DAC (Digital/Analog Converters) 15 and 16 for respectively outputting a sound signal and video signal to be processed by the CPU 11 . Further, the RCP 12 is connected with a controller control circuit 17 to serially transfer operating data on one or a plurality of controllers 40 and/or data of the cartridge 50 .
The bus control circuit 121 included in the RCP 12 performs parallel/serial conversion on a command supplied in a parallel signal from the CPU via a bus, to thereby supply a serial signal to the controller control circuit 18 . Also, the bus control circuit 121 converts a serial signal inputted from the controller control circuit 17 into a parallel signal, giving an output to the CPU 11 via the bus. The data representative of an operating state (operating signal or operating data) read out of the controller 40 A- 40 D is processed by the CPU 11 , and temporarily stored within a RAM 14 , and so on. In other words, the RAM 15 includes a storage site for temporarily memorizing the data to be processed by the CPU 11 , so that it is utilized for smoothly reading and writing data through the bus control circuit 121 .
The sound DAC 15 is connected with a connector 195 provided at a rear face of the video game machine 10 . The image DAC 16 is connected with a connector 196 provided at the rear face of the video game machine 10 . The connector 195 is connected with a speaker 31 of a display 30 , while the connector 196 is connected with a display 30 such as a TV receiver or CRT.
The controller control circuit 17 is connected with a controller connector provided at the front face of the video game machine 10 . The connector 18 is disconnectably connected by a controller 40 through a connecting jack. The connection of the controller 40 to the connector 18 places the controller in electrical connection to the video game machine 10 , thereby enabling transmission/reception or transfer of data therebetween.
The controller control circuit 17 is used to transmit and receive data in serial between the RCP 12 and the connector 18 . The controller control circuit 17 includes, as shown in FIG. 3 , a data transfer control circuit 171 , a transmitting circuit 172 , a receiving circuit 173 and a RAM 174 for temporarily memorizing transmission and reception data. The data transfer control circuit 171 includes a parallel/serial converting circuit and a serial/parallel converting circuit in order to convert a data format during data transfer, and further performs write/read control on the RAM 174 . The serial/parallel converting circuit converts the serial data supplied from the RCP 12 into parallel data, supplying it to the RAM 174 or the transmitting circuit 172 . The parallel/serial converting circuit converts the parallel data supplied from the RAM 174 or the receiving circuit 173 into serial data, to supply it to the RCP 12 . The transmitting circuit 172 converts the command for reading signals from the controller 40 and the writing data (parallel data) to the cartridge 50 , into serial data to be delivered to channels CH 1 -CH 4 corresponding to the respective controllers 40 . The receiving circuit 173 receives, in serial data, operational state data of the controllers inputted through corresponding channels CH 1 -CH 4 and data read from the cartridge 50 , to convert them into parallel data to be delivered to the data transfer control circuit 171 . The data transfer control circuit 171 writes into the RAM 174 data transferred from the RCP 12 , data of the controller received by the receiving circuit 183 , or data read out of the RAM cartridge 50 , and reads data out of the RAM 174 based on a command from the RCP 12 so as to transfer it to the RCP 12 .
The RAM 174 , though not shown, includes memory sites for the respective channels CH 1 -CH 4 . Each of the memory sites is stored with a command for the channel, transmitting data and/or reception data.
FIG. 4 is a detailed circuit diagram of the controller 40 and the cartridge 50 . The housing of the controller 40 incorporates an operating signal processing circuit 44 , etc. in order to detect an operating state of the joystick 45 , switches 46 , 47 , etc. and transfer the detected data to the controller control circuit 17 . The operating signal processing circuit 44 includes a receiving circuit 441 , a control circuit 442 , a switch signal detecting circuit 443 , a counter circuit 444 , a joyport control circuit 446 , a reset circuit 447 and a NOR gate 448 . The receiving circuit 441 converts a serial signal, such as a control signal transmitted from the controller control circuit 17 or writing data to the cartridge 50 , into a parallel signal to supply it to the control circuit 442 . The control circuit 442 generates a reset signal to reset ( 0 ), through the NOR gate 448 , count values of an X-axis counter 444 X and a Y-axis counter 444 Y within the counter 444 , when the control signal transmitted from the controller control circuit 17 is a signal for resetting X, Y coordinates of the joystick 45 .
The joystick 45 includes X-axis and Y-axis photo-interrupters in order to decompose a lever inclination into X-axis and Y-axis components, generating pulses in number proportional to the inclination. The pulse signals are respectively supplied to the counter 444 X and the counter 444 Y. The counter 444 X counts a number of pulses generated in response to an inclination amount when the joystick 45 is inclined in the X-axis direction. The counter 444 Y counts a number of pulses generated responsive to an inclination amount when the joystick 45 is inclined in the Y-axis direction. Accordingly, the resultant X-axis and Y-axis vector determined by the count values of the counters 444 X and 444 Y serves to determine a moving direction and a coordinate position of the player object or hero character or a cursor. Incidentally, the counter 444 X and the 444 Y are reset, when a reset signal is supplied from the reset signal generating circuit 447 upon turning on the power or a reset signal is supplied from the switch signal detecting circuit 443 by simultaneous depression of predetermined two switches.
The switch signal detecting circuit 443 responds to a switch-state output command supplied at an interval of a constant period (e.g. a {fraction (1/30)} second interval as a TV frame period) from the control circuit 442 , to read a signal varying depending upon a depression state of the cross switch 46 and the switches 47 A- 47 Z. The read signal is delivered to the control circuit 442 . The control circuit 442 responds to a read-out command signal of operational state data from the controller control circuit 17 to supply in a predetermined data format the operational state data on the switches 47 A- 47 Z and count values of the counters 444 X and 444 Y to the transmitting circuit 445 . The transmitting circuit 445 converts the parallel signal outputted from the control circuit 442 into a serial signal, and transfer it to the controller control circuit 17 via a converting circuit 43 and a signal line 42 . The control circuit 442 is connected with a joystick control circuit 446 via an address bus and a data bus as well as a port connector 46 . The joyport control circuit 446 performs data input/output (or transmission/reception) control according to a command from the CPU 11 when the cartridge 50 is connected to the port connector 46 .
The cartridge 50 is structured by connecting the RAM 51 to the address bus and data bus and connecting the RAM 51 with a battery 52 . The RAM 51 is a RAM having a capacity (e.g. 256k bits), for example, of lower than a half of a maximum memory capacity accessible through the address bus. The RAM 51 is to store backup data in relation to a game, and saves backup data by the application of electric power from the battery 52 even if the cartridge 50 is withdrawn from the port connector 46 .
FIG. 5 is a memory map showing a memory space of the external ROM 21 incorporated in the ROM cartridge 20 (FIG. 1 ). The external ROM 21 includes a plurality of memory areas (hereinafter referred to merely as area ), for example, such as a program area 22 , a character code area 23 , an image data area 24 and a sound memory area 25 , as shown in FIG. 5 , thereby previously storing various program in a fixed manner.
The program area 22 is stored with programs required to process for game images, and game data and the like in accordance with a game content. Specifically, the program area 22 includes a plurality of memory areas to previously store operating programs for the CPU 11 in a fixed manner. A main program area 22 a is stored with a main routine processing program, for example, for a game shown in FIG. 8 stated later. A controller data program area 22 b is stored with a program for processing operational data on the controller 40 . A write program area 22 c is stored with a write program by which the CPU 11 causes the RCP 12 to perform writing into a frame memory and Z buffer. For example, the write program area 22 c is stored with a program to write, into an image data area 203 ( FIG. 6 , FIG. 7 ) of the RAM 14 , color data as image data based on texture data for a plurality of movable objects or background objects to be displayed in one background scene. A camera control program area 22 d is stored with a camera control program that controls as to in which direction and/or position the movable objects including player object or the background objects are to be photographed in the three-dimension space. A player object program area 22 e is stored with a program that controls, in displaying, an object operated by the player (player object). A target processing program area 22 f is stored with a program to process or display a destination to which the player object is required to advance or an article (important item) that player object has to acquire in the course of a game (they may be hereinafter referred to as target ). A marker object processing program area 22 g is stored with a program to display a marker object according to marker object data for pointing a marker set on a path that the player object has passed or at a site important for the player object. A pointing mark object processing program area 22 h is stored with a program to display in a predetermined state a direction pointing mark object for pointing an azimuth or direction in which the player object is required to move. There are further provided with an other-object processing program area 22 i , sound processing program area 22 k and game-over processing program area 22 k.
The character code area 23 is an area to store a plurality of kinds of character codes, e.g. a plurality of kinds of character dot data corresponding to the codes. The character code data memorized in the character code area 23 is utilized to display an instruction sentence to the player in the process of a game.
An image data area 24 is stored with image data, such as coordinate data of a plurality of polygons for each of the background object and/or movable objects, and texture data, and also a display control program to display these objects stationary at a predetermined position or in a moving state.
A sound memory area 25 is stored with sound data, such as phrases for outputting in sound the above message, effect sounds, game music (BGM), etc., in a manner appropriate for a scene.
Incidentally, the memory medium or external memory device may use various kinds of memory mediums, such as CD-ROMs or magnetic discs, in place of or in addition to the ROM cartridge 20 . In such a case, a disc drive 29 ( FIG. 2 ) is provided in order to read or write, if required, various data (including program data and data for image presentation) for a game from or onto an optical or magnetic disc memory medium such as a CD-ROM or magnetic disc. The disc drive 29 reads data out of a magnetic disc or optical disc magnetically or optically memorizing program data similarly to the external ROM 21 , and transfer the same data to the RAM 14 .
FIG. 6 is a memory map illustrative of a memory space of the RAM 14 . The RAM 14 includes a display list area 201 . When the player object or another object (including a direction indicative mark object) is to be displayed, its object No. or the like is registered in the display list area 201 . The RAM 14 further includes a program area 202 and an image data area 203 . The image data area 203 includes a frame memory area 203 a to temporarily memorize 1 frame of image data, and a Z buffer area 203 b to memorize, dot by dot, depth data of the frame memory area.
The image data area 203 further includes, as shown in FIG. 7 , a player object image data area 203 c , a target object image data area 203 d , a marker object image data area 203 e and a direction pointing mark object image data area 203 f . The areas 203 c - 203 f temporarily memorize therein polygon data or texture data for the respective objects.
The program data area 202 is to temporarily memorize a program. The program data given on each area of the ROM 21 ( FIG. 5 ) is temporarily memorized, as required, in the program data area 202 . The CPU 11 and the RCP 12 ( FIG. 2 ) make access to the program area thereby putting the game forward. Similarly, the image data area 203 ( FIG. 6 , FIG. 7 ) is to temporarily memorize, as required, the image data stored in the ROM 21 , which is directly accessible by the CPU 11 or the RCP 12 . That is, the image data area 203 memorizes coordinate data and texture data for a plurality of polygons to constitute a stationary object and/or movable object stored, for game image display, in the external ROM 21 , to which 1 course or stages of data is transferred, prior to image processing, from the external ROM 21 .
A sound memory area 204 temporarily memorizes sound data of BGM or effect sound given on the sound memory area 25 of the ROM 21 , as shown in FIG. 5. A controller data memory area 205 temporarily memorizes operation status data indicative of an operation status read out through the controller 40 .
Also, a flag register area 206 sets a flag, or memorizes variables or constants as required, during execution of a program by the CPU 11 .
Now explanations will be made on a target, a marker and various direction pointing mark with reference to FIG. 8 . The target includes not only an article , such as an essential item (e.g., a treasure, weapon, etc.) that the player object is required to obtain, but also a destination (e.g., a delivery article destination, goal point, exit, etc.) where the player object has to advance. The marker refers to a sign which is to be put at a site, e.g., an entrance, etc., where the player object has passed at least once, with which the player object can easily return to the site by advancing toward the marker.
A direction pointing mark in this embodiment includes three types, as shown in FIG. 8. A first direction pointing mark is to point a direction of a marker stated above viewed from the player object PO, and is in this embodiment a white-colored triangular pyramid (tetrahedron) to point at its tip a direction in which the marker is put on. The first direction pointing mark is referred to as a marker pointing mark M.
A second direction pointing mark is, for example, referred to as a target pointing mark T, which is formed, for example, by a red-colored triangular pyramid (tetrahedron) utilized to point a target (destination or article) position viewed from the player object, and having a tip directed to the target. This second direction pointing mark in the embodiment differs in color from that of the first direction pointing mark, in order to distinguish therebetween. Alternatively, it may be changed in shape.
A third direction pointing mark is utilized as so-called an azimuth pointing mark D to point North and South in a game scene, which in the embodiment includes two direction pointing marks displayed back to back in order to point North by one and South by the other. The third direction pointing mark is different in shape, color, etc. from that of the first and second direction pointing marks. This third direction pointing mark is displayed to point North in a direction of the North Pole viewed from the player object.
Where the first to third direction pointing marks respectively employ triangular pyramids as shown in FIG. 8 , they are controlled to point at a sharpened tip a direction so that a top surface thereof represents a horizontal plane and/or an angle of elevation to a target or marker, with a ridgeline on a backside of the triangular pyramid always positioned on a straight line connecting between the player object and a target or marker or on a straight line representing an azimuth thereto. Incidentally, these first to third direction pointing marks are not limited in shape to a triangular pyramid but may be represented by an arbitrary shape, color or pattern, such as a planar triangle, bold arrow mark or tip-arrowed line.
FIG. 9 is a main flowchart for the video game system in this embodiment. When a power is turned on, the CPU 11 at a first step S 1 sets the video game machine 10 to a predetermined initial state in order to start operation. For example, the CPU 11 transfers a start program among the game programs stored in the program area 22 of the external ROM into the program area 202 of the RAM 14 , and sets each parameter to an initial value and executes the steps of FIG. 9 in the order.
The operation of the main flowchart of FIG. 8 is executed, for example, every 1 frame ({fraction (1/60)} second) or every two or three frames, wherein steps S 1 -S 13 are repeatedly executed before the course is cleared. If the game becomes over without success of course clear, a game-over process is effected at a step S 14 following the step S 13 . If course clear is successfully done, the process returns from the step S 13 to the step S 1 .
That is, at a step S 1 a game course screen and/or course opting screen is displayed. However, when the game is started after turning on the power, a first course screen is displayed. If the first course is cleared, a next course is set on.
At a step S 2 following the step S 1 , a controller process is performed. This process includes a detection on any of which the joystick 45 , cross switch 46 and switches 47 A- 47 Z on the controller has been operated. The operation state detection data (controller data) is read in, and the controller data, thus read is written into the controller data area 205 of the RAM 14 .
AT a step S 3 a process for displaying a player object is performed. This process is concretely effected by a subroutine of FIG. 10 . At first step S 31 in FIG. 10 , the player object is moved in response to an operating state of the player-operated joystick 45 and cross key 46 or a program transferred from the memory area 22 e ( FIG. 6 ) of the external ROM 21 , the polygon data of the player object transferred from the memory area 24 , and the controller data, i.e., an operating state of the joystick 45 and the cross key 46 . That is, this step S 31 determines coordinate data representative of a current position of a player object. At a succeeding step S 32 the player object is changed in movement in response to an operating state (controller data) of the button 47 on the controller 40 , to calculate polygon data after the change. The resulting polygons are given colors by putting texture data thereon. At a step S 33 the relevant player object is registered to the display list area 201 .
At a step S 4 other objects are subjected to processing. At this step the display positions or shapes for other objects are calculated based on a program partly transferred from the memory area 22 i and polygon data of other objects transferred from the memory area 24 (FIG. 5 ).
At a step S 5 a process for displaying a target object is performed. This step S 5 is concretely effected by a subroutine shown in FIG. 11 .
That is, it is determined at a first step S 51 in FIG. 11 whether there is necessity at that time to display a target or not. If there is no necessity to display a target, the process returns. If it is necessary, coordinate data is set for the relevant target at a next step S 52 . Because the target includes not only an article that the player object has to obtain but also a destination where the player object is required to advance as stated before. It is determined at a next step S 53 whether the target is an article or not. That is, if the target is an article , it is possible to display the target. However, if it is not an article , such as a destination, it is impossible to display. Accordingly, determination is made at this step S 53 .
If YES is determined at the step S 53 , then it is determined at a step S 54 whether or not the article target is existing within a display range of the display unit 30 ( FIG. 1 ) depending, for example, on a target coordinate display or the like. At a step S 55 a target object that can be displayed is registered to the display list area 201 (FIG. 6 ). Incidentally, when NO is determined at the step S 53 or S 54 , the process returns as it is.
In this manner, the display screen is given in a state that a target be displayable in the game scene, as shown in FIG. 8 .
Returning to FIG. 9 , at a step S 6 in FIG. 9 , a program is executed to process and display a marker object ( FIG. 8 ) as stated before. Specifically, at a first step S 61 in FIG. 12 it is determined whether there exists a marker or not. For example, it is determined whether or not a marker has already been put on an entrance or an ground at a branch. If NO is determined at this step S 61 , it is determined at a step S 62 whether an icon for setting markers as shown in FIG. 13 is being displayed on the display screen. Note that the icon displaying screen shown in FIG. 13 is available by operating particular one or two or more buttons (switches) on the controller 40 (FIG. 1 ). That is, the operation of particular buttons enables marker setting. At the step S 62 marker setting is possible or not is determined.
It is determined at the step S 62 that marker setting is possible, then at a next step S 63 it is determined whether or not MARKER is selected on the icon displaying screen of FIG. 13 . The MARKER icon can be selected by moving a hand -shaped cursor in FIG. 13 to a position to point the MARKER icon by operating the cross key 45 (FIG. 1 ). Accordingly, this step S 63 determines whether the cursor has been moved to such a position or not.
If the MARKER icon is selected at the step S 63 , a coordinate for the marker is determined at a step S 64 such that the marker ( FIG. 8 ) is put on a ground immediately under the player object.
Where YES is determined at the step S 61 or after executing the step S 64 , it is determined at a step S 65 whether or not a marker having a ready been put or a marker newly put lies within a display range. If YES , the marker object is registered to the display list area 201 . Accordingly, a marker object displayable state is established as shown in FIG. 8 .
At a step S 7 shown in FIG. 9 , a process for setting and displaying a direction pointing mark object is effected according to a flowchart shown in FIG. 14 . At a first step S 71 in FIG. 14 , determination is made whether it is at a field beginning of raster scanning over the display 30 ( FIG. 1 ) or not. If it is field beginning, a North-and-South azimuth is determined at a step S 72 . Specifically, this step S 72 determines, in a virtual three-dimensional space, a North Pole coordinate and sets the coordinate data therefor. In this manner, the azimuth is determined at only the field beginning, and the process advances to a next step S 73 . This step S 73 makes processing for a third direction pointing mark, i.e., azimuth pointing mark.
Specifically, at a first step S 731 in FIG. 5 , a direction is determined in which the North Pole is viewed from the player object PO shown in FIG. 8 . That is, a straight line is determined that connects between two coordinates based on the player object coordinate data determined by the step S 31 ( FIG. 10 ) and the North Pole coordinate data determined by the step S 72 (FIG. 14 ). Then at a step S 732 an azimuth pointing mark (third direction pointing mark) is calculated as to coordinate such that it is directed parallel to that line. Because the direction pointing mark in this embodiment is a triangular pyramid, the azimuth pointing mark is determined of its two point coordinates such that a top and a bottom surface center are positioned on the previously-determined straight line (or a straight line parallel to that straight line). At a step S 733 the azimuth pointing mark is registered to the display list area 201 so that the azimuth pointing mark (third direction pointing mark) is rendered in a displayable state.
Returning to FIG. 14 , at a step S 74 after the step S 73 , it is determined whether a target has been set or not. If a target has been set, a step S 75 is executed according to a flowchart shown in FIG. 16 . At a first step S 751 in FIG. 16 , a direction is determined in which the target is viewed from the player object PO shown in FIG. 8 . That is, a straight line connecting two coordinates is determined based on the player object coordinate data determined by the step S 31 ( FIG. 10 ) and the target coordinate data set by the former step S 52 (FIG. 11 ).
At a next step S 752 it is determined whether an angle of that straight line with respect to a horizontal line is equal to or smaller than a predetermined angle or not. This is because, if the angle given by the straight line and the horizontal line is excessively great as shown in FIG. 17 , the direction pointing mark rises in position and loses its direction-pointing role (the point that the direction pointing mark points becomes obscure). Due to this, when the angle is greater than a given degree, pointing to a direction in which the target exists is not made. That is, the target pointing mark (second direction pointing mark) is allowed to indicate an actual direction to the target only when the angle given by the straight line and the horizontal line is at a predetermined angle or smaller.
If YES is determined at the step S 752 , that is, when the angle given by the straight line and the horizontal line is smaller than a predetermined angle, a coordinate for the target pointing mark (second direction pointing mark) is calculated such that it is directed to parallel with the straight line. That is, the target pointing mark is determined of coordinate at two points such that a top and a bottom surface center of the target pointing mark triangular pyramid are positioned on the previously-determined straight line (or on a straight line parallel with that straight line). Accordingly, in this case the target pointing mark indicates a direction in which the target actually exists as shown by the target pointing mark T 1 or T 2 in FIG. 17 .
If NO is determined at the step S 752 , that is, when the angle between the straight line and the horizontal line exceeds a predetermined angle, then at a step S 754 another straight line is determined with the predetermined angle taken as an upper or lower limit to calculate a target pointing mark coordinate so that the target pointing mark is directed in a direction parallel to this other straight line. That is, the target pointing mark is determined of coordinate at two points such that the top and the bottom surface center of the direction pointing mark triangular pyramid are positioned on the determined other straight line (or a straight line in parallel with that other straight line). In this case the target pointing mark indicates a direction given by the upper-limit angle as shown by a target pointing mark T 3 in FIG. 17 , in which direction no target exists.
At a step S 755 the target pointing mark is registered in the display list area 201 so that the target pointing mark (second direction pointing mark) is rendered in a displayable state.
Returning to FIG. 14 , it is determined at a step S 76 after the step S 75 whether a marker has been set or not. If a marker has been set, a step S 77 is executed according to a flowchart shown in FIG. 18 .
At a first step S 771 in FIG. 18 , a direction is determined in which a marker is viewed from the player object PO shown in FIG. 8 . That is, a straight line connecting two coordinates is determined based on the player object coordinate data determined by the step S 31 ( FIG. 10 ) and the marker coordinate data set by the step S 64 (FIG. 12 ).
It is then determined at a step S 772 whether or not an angle given by the straight line and the horizontal line is at a predetermined angle or smaller. This is due to the same reason as the case stated as to the target pointing mark.
If YES is determined at the step S 772 , that is, when the angle between the straight line and the horizontal line is at predetermined angle or smaller, a coordinate for the maker pointing mark (first direction pointing mark) is calculated at a step S 773 such that it is directed in a direction parallel to this straight line. That is, the marker pointing mark is determined of ordinate at two points such that the top and bottom surface center of the marker pointing mark triangular pyramid are positioned on the determined straight line (or a line in parallel with that straight line). Accordingly, in this case the marker pointing mark indicates a direction in which the marker is actually put on.
If NO is determined at the step S 772 , that is, when the angle between the straight line and the horizontal line exceeds a predetermined angle, then at a step S 774 another straight line is determined with the predetermined angle taken as an upper or lower limit to calculate a marker pointing mark coordinate such that the marker pointing mark is directed a direction parallel to this other straight line. In this case, the marker pointing mark points a direction that is given by the upper-limit angle but no marker actually exists therein.
At a step S 775 the marker pointing mark is registered in the display list area 201 , to put the marker pointing mark (first direction pointing mark) in a displayable state.
Returning to FIG. 9 , a camera process is performed at a step S 8 . For example, a coordinate of point of sight with respect to each object is determined such that a line or field of sight as viewed through a camera viewfinder assumes an angle designated through the joystick 45 by the player. The hypothetical camera is controlled in position (point of sight) or line direction of sight is controlled basically by the joystick 45 .
At a step S 9 the RSP 122 performs a rendering process. That is, the RCP 12 performs transformation processing (coordinate transformation process and frame memory rendering process shown in FIG. 19 ), under the control of the CPU 11 , to display each object based on the texture data for object memorized in the image data area 203 of the RAM 14 .
Specifically, each object is developed by two-dimensional bit-map image data in consideration of a position of the hypothetical camera (i.e., in a manner distinguishing between visible and invisible portions), based on three-dimensional coordinate data of a plurality of polygons for constituting the object. The texture data is to instruct as to what color, pattern or material feeling is put to an inside of a triangle defined by the three-dimensional coordinate data of each polygon. The texture data is color data as considered on one dot of a bit map image. That is, the texture data is converted into color data. The color data of each dot of the bit map image is written into the frame memory 203 a (FIG. 6 ), while the depth data thereof is written into a Z buffer 203 b (FIG. 6 ). By thus performing coordinate transformation and rendering process on each polygon, the player object or other objects (including enemy objects, stationary objects, direction pointing marks and markers) existing in the virtual three-dimensional space can be displayed in a two-dimensional fashion.
At a step S 10 in FIG. 9 , the CPU performs a sound process based on sound data, such as message, music, effect sound, etc.
At a step S 11 the CPU 11 reads out image data memorized in the frame memory area of the RAM 14 , as a result of the rendering process at the step S 9 . Accordingly, the player object or other objects existing in the virtual three-dimensional space is displayed in the game scene on the display 30 ( FIG. 1 , FIG. 2 ), as shown in FIG. 20 .
In FIG. 20 , there are displayed, besides the player object PO, a first direction pointing mark, i.e. marker instructing mark M, a second direction pointing mark, i.e., target pointing mark T, and a third direction pointing mark, i.e., azimuth pointing mark D 1 , D 2 . Consequently, the player may operate the analog joystick 45 ( FIG. 1 ) so that the player object PO is moved in a direction according to these direction pointing marks. Therefore, the player object PO is comparatively easy to control in its movement. Thus the player object PO can be moved at a rapid speed in a desired direction.
Incidentally, a map screen MP may be separately created, in addition to displaying the direction pointing marks in the game screen, as shown in FIG. 21 . In this case, however, a direction pointing mark MP 1 provided within the map screen MP will indicate a direction in which the player object PO is directed.
At a step S 12 the sound data obtained as a result of the sound processing by the RCP 12 at the step S 10 is read out, to thereby output sound, such as music, effect sound or speech.
At a step S 13 the course has been cleared or not is determined (course clear detection). If the course is not cleared, it is determined at a step S 14 whether it is game over or not. If not game over, the process returns to the step S 2 to repeat the steps S 2 -S 14 until a game-over condition is detected. If a game-over condition is detected that the number of mistakes permitted to the player reaches a predetermined number of times or the life of the player object is consumed by a predetermined amount, then a game-ever process is performed at a succeeding step S 16 that includes selection for game continuation or backup data memorization.
Incidentally, if a condition of clearing the course (e.g., defeating a course, etc.) is detected at a step S 13 , a course-clear process is formed at a step S 16 and then the process returns to a step S 1 .
Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the spirit and scope of the present invention being limited only by the terms of the appended claims.
Claims
- A three dimensional display video game apparatus comprising: a player controller including a direction control member to instruct a direction in movement of a player object so that when the player object is placed within a virtual three dimensional space, image data for displaying the player object as viewed from a certain point of sight is generated and supplied to a display to thereby provide such a game scene that the player object can be moved to a predetermined region on a screen of said display in accordance with an indication of said direction control member, wherein said video game apparatus includes a display generating processing system, said display generating processing system being operable to determine a three dimension coordinate position of said player object and to generate a first marker direction pointing mark and a second marker direction pointing mark, said first and second direction pointing marks respectively having first and second pointing directions that are both variable as determined based upon said three dimension coordinate position of the player object, said first and second direction pointing marks being displayed at respective locations on the game scene.
- A three dimensional display video game apparatus according to claim 1 , wherein said display generating system is operable to generate a third marker direction pointing mark having a third pointing direction that is variable as determined based upon said three dimension coordinate position of the player object, said third direction pointing mark being displayed at a location on the game scene.
- A three dimensional display video game apparatus according to claim 2 , wherein: said first pointing mark is a target pointing mark having a pointing direction that points to a position of a target;said second pointing mark is a marker pointing mark have a pointing direction that points to a position of a marker, said marker representing a position on a path said player object has passed;and said third pointing mark is an azimuth pointing mark having a pointing direction that points to a particular azimuth as viewed from the player object.
- A three dimensional display video game apparatus according to claim 1 , wherein each of said first and second marker direction pointing marks is a mark selected from the group consisting of: (a) a target pointing mark having a pointing direction that points to a position of a target;(b) a marker pointing mark having a pointing direction that points to a position of a marker, said marker representing a position on a path said player object has passed;and (c) an azimuth pointing mark having a pointing direction that points to a particular azimuth as viewed from the player object.
- A three dimensional display video game comprising: a player controller including a direction control member to instruct a direction in movement of a player object so that when the player object is placed within a virtual three dimensional space, image data for displaying the player object as viewed from a certain point of sight is generated and supplied to a display;an image data generator for generating image data to display the player object, a first direction pointing mark and a second direction pointing mark;a player object coordinate data generator for generating player object coordinate data representative of a current position of the player object in said virtual three dimensional space based upon an operating state of said direction control member;a pointed-subject data generator for generating data of first and second pointed-subjects to be pointed by the first and second direction pointing marks, respectively;a pointing direction determiner for determining pointing directions of the first and second direction pointing marks in said virtual three dimensional space based respectively on the first and second pointed-subject data and the player object coordinate data;a direction pointing mark data generator for generating first and second direction pointing marks data to display the first and second direction pointing marks at respective locations and in respective directions determined by said pointing direction determiner;and a display data generator for generating display data according to the image data, the player object coordinate data and the first and second direction pointing mark data, in order to combine the player object with the first and second direction pointing marks to display an image on a display unit.
- A three dimensional display video game according to claim 5 , wherein: said image data generator generates image data to display a third direction pointing mark;said pointed-subject data generator generates data of a third pointed-subject to be pointed by the third direction pointing mark;said pointing direction determiner determines a pointing direction of the third pointing mark in said virtual three dimensional space based on third pointed-subject data and the player object coordinate data;said direction pointing mark data generator generates third direction pointing mark data to display the third direction pointing mark at a location and in a direction determined by said pointing direction determiner;and said display data generator generates display data according to the image data, the player object coordinate data and the third pointing mark data, in order to combine the player object with the first, second and third direction pointing marks to display an image on said display unit.
- A three dimensional display video game apparatus according to claim 6 , wherein: said first pointing mark is a target pointing mark having a pointing direction that points to a position of a target;said second pointing mark is a marker pointing mark have a pointing direction that points to a position of a marker, said marker representing a position on a path said player object has passed;and said third pointing mark is an azimuth pointing mark having a pointing direction that points to a particular azimuth as viewed from the player object.
- A three dimensional display video game apparatus according to claim 5 , wherein each of said first and second marker direction pointing marks is a mark selected from the group consisting of: (a) a target pointing mark having a pointing direction that points to a position of a target;(b) a marker pointing mark having a pointing direction that points to a position of a marker, said marker representing a position on a path said player object has passed;and (c) an azimuth pointing mark having a pointing direction that points to a particular azimuth as viewed from the player object.
- A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method of operating a game in which a player object is displayed on a display unit, said method comprising: receiving a direction instruction for movement of the player object so that when the player object is placed within a virtual three dimensional space, the player object is displayed as viewed from a certain point of sight and supplied to said display unit to thereby provide such a game scene that the player object can be moved to a predetermined region on a screen of said display in accordance with an indication of said direction instructions;determining a three dimensional coordinate position of said player object;and displaying a direction pointing mark having a pointing direction that is variable as determined based upon the three dimension coordinate position of the player object at a location on the game scene.
- A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method of operating a game in which a player object is displayed on a display unit comprising: receiving a direction instruction for movement of the player object so that when the player object is placed within a virtual three dimensional space, the player object is displayed as viewed from a certain point of sight and supplied to said display unit, generating image data to display the player object and a direction pointing mark;generating player object coordinate data representative of a current position of the player object in said virtual three dimensional space based upon an operating state of said direction instructions;generating data of a pointed-subject to be pointed by the direction pointing mark;determining a pointing direction of the direction pointing mark in said virtual three dimensional space based on the pointed-subject data and the player object coordinate data;generating direction pointing mark data and displaying the direction pointing mark at a location and in a determined direction;and generating display data according to the image data, the player object coordinate data and the direction pointing mark data, in order to combine the player object with the direction pointing mark to display a two-dimensional combined image on said display unit.
- A program storage device according to claim 10 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: generating target coordinate data representative of a coordinate position of a target existing in a direction that the player object is to advance, determining a direction of the direction pointing mark based on the target coordinate data and the player object coordinate data such that the direction pointing mark points to a direction in which the target is viewed from the player object, and generating data for a target pointing mark to point to a direction of the target.
- A program storage device according to claim 11 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: determining a straight line connecting between the player object and the target based on the target coordinate data and the player object coordinate data, and determining the pointing direction such that the pointing direction of the target pointing mark is along the straight line.
- A program storage device according to claim 10 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: determining a direction of the direction pointing mark such that the direction pointing mark indicates a direction in which the player object is to move to a particular azimuth point in said virtual three dimensional space based on the player object coordinate data, and generating data for an azimuth pointing mark to point the particular azimuth point as viewed from the player object.
- A program storage device according to claim 13 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: determining a straight line connecting between the player object and the particular azimuth point based on the particular azimuth point coordinate data and the player object coordinate data, and determining the pointing direction such that the pointing direction of the azimuth pointing mark is along the straight line.
- A program storage device according to claim 10 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: generating target coordinate data representative of a coordinate point of a target existing in a direction that the player object is to advance, determining a direction of the direction pointing mark such that the direction pointing mark indicates a direction in which the target is viewed from the player object based on the target coordinate data and the player object coordinate data, and determining a direction of the direction pointing mark such that the direction pointing mark indicates a direction in which the player object is to move to a particular azimuth point in said virtual three dimensional space based on the player object coordinate data, and generating data for a target pointing mark to indicate a direction of the target and data for an azimuth pointing mark to indicate the particular azimuth point as viewed from the player object.
- A program storage device according to claim 15 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: generating direction pointing mark data to display the target pointing mark and the azimuth pointing mark in a display form different from each other.
- A program storage device according to claim 10 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: generating marker data representative of a marker set on a path that the player object has passed, determining a direction of the direction pointing mark such that the direction pointing mark indicates a direction in which the player object is to move toward the marker in said virtual three dimensional space based on the player object coordinate data and coordinate data for the marker, and generating data of a marker direction pointing mark to indicate the marker as viewed from the player object.
- A program storage device according to claim 17 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: determining a straight line connecting between the player object and the marker based on coordinate data of the marker and the player object coordinate data, and determining the pointing direction such that the pointing direction of the marker direction pointing mark is along the straight line.
- A program storage device according to claim 10 , the program storage device being readable by the machine, tangibly embodying the program of instructions executable by the machine to perform said method, said method further comprising: generating image data to display a direction pointing mark in such a shape that is thinned in a direction from the player object to a pointed-subject.
Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.