Referring to
Some LCDs are used as displays in the first embodiment, and alternatively, EL (Electronic Luminescence) displays and plasma displays may be employed in place of the LCDs.
As can be understood from
In addition, the upper housing 16a has sound holes 20a and 20b for speakers 36a and 36b (
Additionally, the upper housing 16a and the lower housing 16b are rotatably connected at a lower side (lower edge) of the upper housing 16a and a part of an upper side (upper edge) of the lower housing 16b. Accordingly, in a case of not playing a game, for example, if the upper housing 16a is rotatably folded such that the display surface of the LCD 12 and the display surface of the LCD 14 are face to face with each other, it is possible to prevent the display surface of the LCD 12 and the display surface of the LCD 14 from being damaged such as a flaw, etc. It is noted that the upper housing 16a and the lower housing 16b are not necessarily rotatably connected with each other, and may alternatively be provided integrally (fixedly) to form the housing 16.
The operating switch 22 includes a direction instructing switch (cross switch) 22a, a start switch 22b, a select switch 22c, an action switch (A button) 22d, an action switch (B button) 22e, an action switch (X button) 22f, an action switch (Y button) 22g, an action switch (L button) 22L, and an action switch (R button) 22R. The switch 22a is placed on the left side of the LCD 14 on the one main surface of the lower housing 16b. Other switches 22b to 22g are placed at the right of the LCD 14 on the one main surface of the lower housing 16b. Furthermore, the switches 22L and 22R are arranged at left and right corners of the upper surface of the lower housing 16b, which are located on both sides of a portion of connection with the upper housing 16a.
The direction instructing switch 22a functions as a digital joystick, and is utilized for instructing a moving direction of a player character (or player object) to be operated by a user or player, instructing a moving direction of a cursor, and so forth by operating any one of four depression portions. Each of the depression portions can be given a particular role (guitar code in this embodiment). By operating one of the four depression portions, the player can specify (designate) the given role.
The start switch 22b is formed by a push button, and is utilized for starting (restarting), temporarily stopping (pausing) a game, and so forth. The select switch 22c is formed by the push button, and utilized for a game mode selection, etc.
The action switch 22d, that is, the A button is formed by the push button, and allows the player character to perform an arbitrary action, except for instructing the direction, such as hitting (punching), throwing, holding (obtaining), riding, jumping, etc. For example, in an action game, it is possible to apply an instruction of jumping, punching, moving arms, etc. In a role-playing game (RPG) and a simulation RPG, it is possible to apply an instruction of obtaining an item, selecting and determining arms or command, etc. The action switch 22e, that is, the B button is formed by the push button, and is utilized for changing a game mode selected by the select switch 22c, canceling an action determined by the A button 22d, and so forth.
The action switch 22f, i.e., the X button, and the action switch 22g, i.e., the Y button are formed by push buttons, and are used to perform auxiliary operations for the A button 22d and the B button 22e when the game cannot make progress only by these two buttons. However, the X button 22f and the Y button 22g can also be used for the same operations as the A button 22d and the B button 22e perform. As a matter of course, the X button 22f and Y button 22g are not always required to be used in gameplay.
The action switch 22L (left push button) and the action switch 22R (right push button) are formed by the push button. The left push button (L button) 22L and the right push button (R button) 22R can perform the same operation as the A button 22d and the B button 22e, and also function as a subsidiary of the A button 22d and the B button 22e. Further, the L button 22L and the R button 22R can change each of the roles assigned to the direction switch 22a, A button 22d, B button 22e, X button 22f, and Y button 22g, to another one. In this embodiment, pressing the L button 22L changes the code assigned to the direction switch 22a to another code.
Also, on a top surface of the LCD 14, a touch panel 24 is provided. As the touch panel 24, any one of kinds of a resistance film system, an optical system (infrared rays system) and an electrostatic capacitive coupling system, for example, can be utilized. In response to an operation (touch input) of depressing, stroking or touching with a stick 26, a pen (stylus pen), or a finger (hereinafter, referred to as “stick 26, etc.”) on a top surface (detection surface) of the touch panel 24, the touch panel 24 detects coordinates of position of operation (touch position) by means of the stick 26, etc. and outputs coordinate data corresponding to the detected coordinates.
In this embodiment, a resolution of the display surface of the LCD 14 is 256 dots×192 dots, and a detection accuracy of a detection surface of the touch panel 24 is also rendered 256 dots×192 dots in correspondence to the resolution of the display surface (this is the same or approximately the same as for the LCD 12). However, detection accuracy of the detection surface of the touch panel 24 may be lower than the resolution of the display surface of the LCD 14, or higher than it.
The LCD 12 and the LCD 14 can display different game screens. In a race game, for example, one LCD may display a screen indicating a view from a driving seat, and the other LCD may display a screen for the entire race (course). Also, in an RPG, one LCD may display a map and characters such as player character, and the other LCD may display items owned by the player character. Further, one LCD (the LCD 12 in this embodiment) may display a game screen for playing a game, and the other LCD (the LCD 14 in this embodiment) may display a game screen (operating screen) containing operational objects such as lines and graphics (including icons) for operating the game. Furthermore, using the two LCDs 12 and 14 together as one screen, it is possible to display an enormous creature (enemy character) to be defeated by the player character.
Thus, through operation of the touch panel 24 with the stick, etc. 26, the player can point to (designate) an image of any of player characters, enemy characters, item characters, and operational objects, which are displayed on the screen of the LCD 14, or can select (input) a command. In addition, the player can change a direction of a virtual camera (viewpoint) provided in a three-dimensional game space or can specify a direction of scrolling (gradually moving) game screen (map).
Besides, according to the kind of the game, the touch panel 24 can be used for other input instructions. For example, it is possible to input a coordinate input instruction or input handwritten characters, numbers, symbols, etc. to the LCD 14.
As stated above, the game apparatus 10 has the LCD 12 and the LCD 14 as a display portion of two screens, and by providing the touch panel 24 on an upper surface of any one of them (LCD 14 in the first embodiment), the game apparatus 10 has the two screens (LCD 12, 14) and the two operating portions (22, 24).
Additionally, in this embodiment, the stick 26 can be stored in a housing portion (indicated by dotted lines in
Also, the game apparatus 10 includes a memory card (or cartridge) 28, and the memory card 28 is detachable, and inserted into a loading slot 30 (indicated by dotted lines in
Although not illustrated in
Furthermore, although omitted in
The connector 32 is detachably connected with the memory card 28 as described above. The memory card 28 includes a ROM 28a and a RAM 28b, and although illustration is omitted, the ROM 28a and the RAM 28b are connected with each other via a bus and also connected with a connector (not shown) to be connected with the connector 32. Accordingly, the CPU core 34 gains access to the ROM 28a and the RAM 28b as described above.
The ROM 28a stores in advance a game program for a game (virtual game) to be executed by the game apparatus 10, image data (letter and character images, background images, item images, icon (button) images, message images, etc.), data of sound (music) required for the game (sound data), etc. The RAM (backup RAM) 28b stores (saves) proceeding data and result data of the game.
The RAM 42 is utilized as a buffer memory or a working memory. That is, the CPU core 34 loads the game program, the image data, the sound data, etc. stored in the ROM 28a of the memory card 28 into the RAM 42, and executes the loaded game program. The CPU core 34 executes a game process while storing in the RAM 42 data (game data and flag data) temporarily generated in correspondence with a progress of the game.
Besides, such the game program, the image data, the sound data, etc. are loaded from the ROM 28a entirely at a time, or partially and sequentially so as to be stored (loaded) into the RAM 42.
However, the ROM 28a of the memory card 28 also stores a program for an application other than the game and stores image data required for execution of the application. Also, the ROM 28a may store sound (music) data as necessary. In this case, the game apparatus 10 executes the application.
Each of the GPU 44 and the GPU 46 forms a part of a rendering means, is constructed by, for example, a single chip ASIC, and receives a graphics command (graphics command) from the CPU core 34 to generate game image data according to the graphics command. However, the CPU core 34 provides each of the GPU 44 and the GPU 46 with an image generating program (included in the game program) required for generation of the game image data in addition to the graphics command.
Furthermore, the GPU 44 is connected with a first video RAM (hereinafter, referred to as “VRAM”) 52, and the GPU 46 is connected with a second VRAM 54. The GPU 44 and the GPU 46 obtain data required for the GPU 44 and the GPU 46 to execute the graphics command (image data: character data, texture data, etc.) by access to a first VRAM 52 and a second VRAM 54, respectively.
Also, the CPU core 34 writes the image data required for graphics drawing into the first VRAM 52 and the second VRAM 54 via the GPU 44 and the GPU 46. The GPU 44 accesses the VRAM 52 to generate the game image data for graphics drawing, and the GPU 46 accesses the VRAM 54 to generate the game image data for graphics drawing.
The VRAM 52 and the VRAM 54 are connected to the LCD controller 50. The LCD controller 50 includes a register 56, and the register 56 consists of, for example, one bit, and stores a value of “0” or “1” (data value) according to an instruction of the CPU core 34. In a case that the data value of the register 56 is “0”, the LCD controller 50 outputs the game image data generated by the GPU 44 to the LCD 12, and outputs the game image data generated by the GPU 46 to the LCD 14. Furthermore, in a case that the data value of the register 56 is “1”, the LCD controller 50 outputs the game image data generated by the GPU 44 to the LCD 14, and outputs the game image data generated by the GPU 46 to the LCD 12.
Besides, the LCD controller 50 reads out game image data directly from the VRAM 52 and the VRAM 54, and reads out game image data from the VRAM 52 and the VRAM 54 via the GPU 44 and the GPU 46.
The I/F circuit 48 is connected with the operating switch 22, the touch panel 24, the speakers 36a and 36b. Here, the operating switch 22 is the above-described switches 22a, 22b, 22c, 22d, 22e, 22g, 22L and 22R, and in response to an operation of the operating switch 22, a corresponding operation signal is input to the CPU core 34 via the I/F circuit 48. Furthermore, the coordinate position data from the touch panel 24 is input to the CPU core 34 via the I/F circuit 48. In addition, the CPU core 34 reads the sound data necessary for the game such as game music (BGM), sound effects and voices (onomatopoeic sounds) of game characters (game objects), etc. from the RAM 42, and outputs it from the speakers 36a, 36b via the I/F circuit 48.
Referring to
The game program 60 typically includes an initial setting program 62, an object operation program 64, a hit determination program 66, a scroll program 68, a rotation process program 70, etc.
The initial setting program 62, specifically shown in
The object operation program 64 controls the player object's movements and actions (jumping, walking, fighting, etc.) according to an operation signal input by a player through manipulation of the operating means 26 of the controller 22.
The hit determination program 66, specifically shown in
The scroll program 68, specifically shown in
The rotation process program 70, specifically shown in
The RAM 42 further has a data storage area 72 in which an object data storage area 74 is provided. The object data storage area 74 stores player object data and BG object data.
As aforesaid, the player object is an object whose movements and actions can be controlled by the game player through the manipulation of the controller 22. The player object data includes image data on such a player object and attribute data previously provided to the player object, such as a plurality of predetermined hit determination points (five in this embodiment) A1 to A5 and a reference point B as shown in
The BG object is an object incapable of being operated or controlled by the game player, and forms a background (BG) image as a still picture, for instance. One example of such a BG object is given in
A BG object 1 shown in
Meanwhile, as for BG objects 3 (4) and 5 (6) shown in
For example, the attributes of the BG objects 3 (4) and 5 (6) are specifically decided as listed in Tables 1 to 4 below.
For a description of the attributes with application of table 1 to this embodiment, the BG object 3 “prickles” causes some damage to the player object when contacted by the player object from the upper side because this object has “prickles” on upper side thereof. However, the BG object 3 causes no damage to the player object when contacted by the player object from any of the other sides, lower, left and right, and the player object just gets stuck on that side. Also, the BG object 1 cannot move by itself and is represented as a stationary object.
As can be well understood from
On the contrary, in this embodiment, the object data is also prepared for the BG object 4 whose image is identical to that of the post-rotation BG object 3, and the hit attribute of the BG object 4 is preset to the object data in correspondence with the hit attribute of the pre-rotation BG object 3. For example, the BG object 3 has “prickles” on upper side thereof, and thus the player object suffers damage when contacting the upper side of the BG object 3. On the other hand, the BG object 4 has “prickles” on a lower side thereof, and thus its attribute is configured so as to cause damage to the player object when contacted from the lower side.
In this embodiment, however, the BG object 3 is “prickles” displayed as a stationary object. The BG object 4 is “icicles” that may go downward, but this is an attribute associated with an action, not a hit attribute. Thus, it is not necessarily required to set the action attribute of the rotated BG object 4 so as to be identical or correspond to the action attribute of the pre-rotation BG object 3.
As described above, the hit attribute of the post-rotation BG object 4 is preset in correspondence with the hit attribute of the pre-rotation BG object 3. Thus, after the rotation of the game field, it is possible to make a hit determination on the player object by using the hit attribute of the BG object 4 as it is, thus making easier a rotation process that has contributed to an increased load on the CPU in the conventional art.
The same thing can be said to a relation between the BG object 5 “hill” shown in Table 3 and the BG object 6 “ceiling” shown in Table 4. The BG object 5 has a pre-rotation image and a hit attribute, and the BG object 6 has a post-rotation image and a hit attribute. To put it simply, since the BG object 5 is “hill”, when the player object contacts the object from the left side, the player object is subjected to a hit process in which it climbs a slope, and when the player object contacts the object from the upper side, the player object is subjected to a hit process in which it gets stuck on the side (this is a determination in the case of a 45-degree slope). Meanwhile, since the BG object 6 is “ceiling”, when the player object contacts the object from either the right side or the lower side, the player object is also subjected to a hit process in which it gets stuck on the side (this is a determination in the case of a 45-degree slope).
Returning to
Since the area data shown in
One example of the second area data AD2 is illustrated in
Thus, for the second area data AD2, circled line and column numbers obtained by reversing the line and column numbers shown in
Since the second field in
The BG object 1 (wall block) is provided in all the columns along the first line in
Besides, the BG object 2 as fixed block is placed in the seventh column along the fifth line and the second column along the eighth line in
Further, the BG object 4, i.e., “icicles” is arranged in the second column along the seventh line and in the seventh and eighth columns along the eighth line. Although the BG object 3 “prickles” is positioned in these places in the first area data of
The BG object 6 “ceiling” is provided in the eleventh column along the seventh line of
The area data shown in
Besides, the game image F2 of
Returning to
In a first step S1 of
In the step S3 of
After that, the CPU core 34 executes a hit determination process in a step S7 of
In a succeeding step S33, the CPU core 34 determines a direction of contact between the hit determination points A1 to A5 of the player object and the BG object. The direction of contact can be determined by detecting which of the hit determination points of the player object has overlapped the BG object.
Then, in a next step S35, the CPU core 34 executes a process according to the contact direction determined in the step S33. As previously described using Tables 1 to 4 as examples, the object data area 74 of
As above, upon completion of hit determination between the player object and the BG object in the step S7, the CPU core 34 executes a scroll process in a next step S9. The scroll process is described in detail in
In a next step S11 of
In a next step S13 of
The rotation process of step S13 is described in detail in
However, the instruction for rotation can be also input by the player through manipulation of the operating switch 22, instead of using the above mentioned method. In addition, the instruction for rotation can also be input by moving the player object to a predetermined position. Further, the instruction for rotation can also be given by making the player object contact with not only an item but also a predetermined object. Moreover, the instruction for rotation may be possibly provided under the condition that the player object continuously exists in the first game field for a predetermined period of time or more. Which one of the above methods to use for providing an instruction for rotation depends on the requirements of the game.
If “YES” in the step S51, the CPU core 34 obtains central coordinates in a field corresponding to the area flag (pre-rotation field) in a next step S53.
In a succeeding step S55, the CPU core 34 obtains the coordinate values (central coordinates) of the player object in the first field in the absolute coordinates. The position (central coordinates) of the player object in the first field where the area flag is set to “1” in
After that, in a step S57, the first field is rendered with a rotation through a designated degree of angle (e.g. an angle of rotation designated by frame) around the central coordinates of the drawing area, by means of a separately provided hardware calculation circuit (e.g. DSP), not by means of the CPU core 34. In a step S59, the player object is displayed with no rotation, in the position at the angle designated in the step S57. If the display orientation of the player object is rotated, the rotated player object could be also rendered in the hardware calculation circuit with a decrease in the load on the CPU core 34. However, if the changed orientation of the player object is returned to the original one immediately after the end of the rotation process, an unnatural feeling will be produced in the display of the player object. This is why this rendering process is carried out in such a manner as described above.
When receiving a calculation end signal from the calculation circuit, the CPU core 34 determines as “YES” in a next step S63. The calculation circuit repeats the rotation process until a degree of angle corresponding to the second field (post-rotation field) has been reached, by repeatedly executing the steps S57 to S59 so that the CPU core 34 detects the end of the rotation.
In the example of
In addition, by using the offset values from the central coordinates in the game field to the player character, it is possible to perform a rotation process only on the player character without changing the display coordinates in the game field.
There are other methods of rotation calculation, which include the one using the central coordinates and the absolute coordinates of the rendering area as shown in
If “YES” in the step S63 of
Referring to
After that, in a step S75, the CPU core 34 determines by calculation according to an equation 1 the central coordinates of a rendering area of the field corresponding to the current area flag (second field (post-rotation field)), from the central coordinates of the rendering area of the field corresponding to the old area flag (first field (pre-rotation field), as shown in
Central coordinate in second field=x_max-x1, y_max-y1 [equation 1]
where x_max represents maximum value of X coordinate in the map data, and y_max represents the maximum value of Y coordinate in the map data.
Then, in a succeeding step S77, the CPU core 34 calculates the coordinate position of the player object in the second field, from the coordinates of the player object in the first field, according to an equation 2.
Central coordinate of player object=x_max-x2, y_max-y2 [equation 2]
where x_max represents maximum value of X coordinate in the map data, and y_max depicts the maximum value of Y coordinate in the map data.
Such a coordinate position refers to the central coordinates, and may be either absolute coordinates as shown in
Then, in a succeeding step S81, the CPU core 34 reads the second area data AD2 for the post-rotation second field as shown in
As long as the game is played in the post-rotation game field, the game field is thereafter rendered by the second area data (step S11), and also the hit determination (step S7) and the scroll process (step S9) are carried out according to the second area data. That is, once the game field is rotated, the game processing is executed with a switch from the pre-rotation first area data to the post-rotation second area data.
The above embodiments are configured in such a manner that the first field is rotated clockwise through 180 degrees and turned into the second field. However, the angle of rotation or the degree and direction of rotation can be decided as appropriate. For example, the first field may be turned into the second field by rotating it clockwise or counterclockwise through 90 degrees.
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.
Number | Date | Country | Kind |
---|---|---|---|
2006-130474 | May 2006 | JP | national |