Hereinafter, a game system according to an embodiment of the present invention will be described with reference to the drawings.
The conga controller 6 is provided with a microphone 6M and three switches: a start button 6S, a right strike surface 6R, and a left strike surface 6L. As described herein below, a player can control a motion of a character in a virtual game world by hitting the right strike surface 6R or left strike surface 6L.
Note that, a commonly used controller 7 as shown in
The DVD-ROM 4 fixedly stores a game program, game data and the like. The DVD-ROM 4 is mounted on the game apparatus body 3 when the player plays a game. Here, instead of the DVD-ROM 4, an external storage medium such as a CD-ROM, MO, memory card, ROM cartridge or the like may be used as means for storing the game program and the like.
The game apparatus body 3 reads the game program stored in the DVD-ROM 4, and then performs processing in accordance with the read game program.
The television 2 displays, on a screen, image data outputted from the game apparatus body 3.
The memory card 5 has a rewritable storage medium, e.g., a flash memory, as a backup memory for storing data such as saved data of the game.
As shown in
In order for the game to start, the optical disc drive 37 drives the DVD-ROM 4 mounted on the game apparatus body 3, and then the game program stored in the DVD-ROM 4 is loaded into the work memory 32. The game starts when the CPU 31 executes the program in the work memory 32. After the game starts, the player plays the game by using the conga controller 6. In accordance with an operation performed by the player, the conga controller 6 outputs operation data to the game apparatus body 3. The operation data outputted from the conga controller 6 is supplied to the CPU 31 via the controller I/F 34. The CPU 31 performs a game process based on inputted operation data. The GPU 36 is used for image data generation and the like performed in the game process.
The GPU 36 performs, for coordinates of a solid model of an object or figure (e.g., an object comprised of polygons) placed in a three-dimensional virtual game world, arithmetic processing (e.g., rotation, scaling and deformation of the solid model, and coordinate transformation from a world coordinate system to a camera coordinate system or screen coordinate system). Further, the GPU 36 generates a game image by writing, based on a predetermined texture, color data (RGB data) of each pixel of the solid model projected on the screen coordinate system into the VRAM 35. The GPU 36 thus generates the game image to be displayed on the television 2, and outputs the game image to the television 2 as necessary. Although the present embodiment shows a hardware configuration in which a memory dedicated for image processing (VRAM 35) is separately provided, the present invention is not limited thereto. For example, a UMA (Unified Memory Architecture) system, in which a part of the work memory 32 is used as a memory for image processing, may be used.
The work memory 32 stores various programs and pieces of data loaded from the DVD-ROM 4. These pieces of data include, for example, data, which is related to polygons comprising a three-dimensional model placed in the virtual game world, and a texture used for coloring the polygons.
On the screen of the television 2, a racecourse set in a virtual game world, a player character controlled by a player, obstacles, coins and others placed on the racecourse are displayed. The player controls the player character by the conga controller 6 so that: the payer character may collide with as few obstacles as possible; the player can acquire as many coins as possible; and the player character can reach the goal as quickly as possible.
Instructions which the player is able to input by using the conga controller 6 are, for example, an acceleration instruction, rightward movement instruction, leftward movement instruction and a deceleration instruction.
The player can input the acceleration instruction by continuously and alternately hitting the right strike surface 6R and left strike surface 6L of the conga controller 6. When the acceleration instruction is inputted, the character accelerates forward (in a facing direction of the character, or in an advance direction of the character).
Here, the advance direction is not necessarily always the same in the virtual game world. The advance direction may be set separately for respective regions of the virtual game world. Further, as shown in
The player can input the rightward movement instruction by continuously hitting the right strike surface 6R of the conga controller 6. When the rightward movement instruction is inputted, the character moves in a rightward direction (a rightward direction with respect to the facing direction of the character, or a rightward direction with respect to the advance direction of the character). The more quickly the player continuously hits the right strike surface 6R, the more quickly the character moves in the rightward direction. Here, instead of moving the character in the rightward direction, the facing direction or advance direction of the character may be changed to a rightward direction with respect to a current facing direction or current advance direction of the character.
The player can input the leftward movement instruction by continuously hitting the left strike surface 6L of the conga controller 6. When the leftward movement instruction is inputted, the character moves in a leftward direction (a leftward direction with respect to the facing direction of the character, or a leftward direction with respect to the advance direction of the character). The more quickly the player continuously hits the left strike surface 6L, the more quickly the character moves in the leftward direction. Here, instead of moving the character in the leftward direction, the facing direction or advance direction of the character may be changed to a leftward direction with respect to the current facing direction or current advance direction of the character.
The player can input the deceleration instruction by pressing both the right strike surface 6R and left strike surface 6L of the conga controller 6 for a predetermined period of time or longer. When the deceleration instruction is inputted, the character decelerates.
Hereinafter, operations of the game apparatus body 3 according to the present embodiment will be described in detail.
The game image data 41 is data for generating a game image to be displayed on the screen of the television 2, and contains a character image and a background image.
The racecourse data 42 is data indicating a shape of the racecourse set in the virtual game world.
The character control data 43 is data for controlling a movement of the character in the virtual game world, and contains current position information and velocity information. The current position information indicates a current position of the character (coordinate data), and the velocity information indicates a moving velocity of the character (vector data).
The operation data 44 is data outputted from the conga controller 6. To be specific, the operation data 44 indicates, for example: whether or not the player is pressing the start button 6S; whether or not the player is pressing the right strike surface 6R; and whether or not the player is pressing the left strike surface 6L.
The input history information 45 indicates, for each of previous three times of hitting a strike surface by the player, a type of the strike surface hit by the player (i.e., the right strike surface 6R or left strike surface 6L hit by the player).
The hitting interval timer 46 is a timer for measuring a time interval between hitting operations (operations to hit the right strike surface 6R or left strike surface 6L) performed by the player.
The simultaneous pressing timer 47 is a timer for measuring a duration time during which the player performs a simultaneous pressing operation (an operation for pressing both the right strike surface 6R and left strike surface 6L for a long period of time).
Hereinafter, a sequence of processes performed by the CPU 31 in accordance with the game program 40 will be described with reference to flowcharts of
As shown in
It is determined, with reference to the operation data 44, at step S12 whether the player has performed a hitting operation. Here, it is determined that the player has performed a hitting operation when a state of the right strike surface 6R or left strike surface 6L has changed from being pressed by the player to not being pressed. As an exemplary variation, the determination that the player has performed a hitting operation may be provided when the state of the right strike surface 6R or left strike surface 6L has changed from not being pressed to being pressed by the player. When it is determined that the player has performed a hitting operation, processing proceeds to step S16. When it is determined that the player has not performed a hitting operation, the processing proceeds to step S14. Note that, when both the right strike surface 6R and left strike surface 6L are being pressed, it is determined that the player has not performed a hitting operation, and the processing proceeds to step S14.
At step S14, 1 is added to the hitting interval timer 46. Then, the processing proceeds to step S34 of
At step S16, the input history information 45 is updated. To be specific, information, which indicates a type of strike surface (i.e., the right strike surface 6R or left strike surface 6L) which has been hit, by the player, at the hitting operation most recently detected (i.e., the hitting operation detected at step S12 immediately preceding step S16), is added to the input history information 45 as ‘strike surface most recently hit’. Here, if ‘strike surface most recently hit’ or ‘strike surface hit immediately prior to the most recently hit strike surface’ in the input history information 45 already contains a piece of information indicating a strike surface, the piece of information contained in ‘strike surface most recently hit’ is moved to ‘strike surface hit immediately prior to the most recently hit strike surface’, and the piece of information contained in ‘strike surface hit immediately prior to the most recently hit strike surface’ is moved to ‘strike surface hit two hits prior to the most recently hit strike surface’. Then, the information contained in ‘strike surface most recently hit’ is updated.
At step S18, the hitting interval timer 46 is reset to 0.
It is determined at step S20 whether the hitting operation most recently detected is a ‘first hit among a sequence of continuous hits’. To be specific, the input history information 45 is referred to first, and if information about the strike surface hit immediately prior to the most recently hit strike surface is not retained therein, the hitting operation most recently detected is determined to be a ‘first hit among a sequence of continuous hits’. In the present embodiment, the most recently performed hitting operation is determined to be a ‘first hit among a sequence of continuous hits’ when a time interval between the most recently performed hitting operation and the hitting operation immediately preceding the most recently performed hitting operation is equal to or longer than a predetermined time period (e.g., 60 frame periods). When the hitting operation most recently detected is a ‘first hit among a sequence of continuous hits’, the processing proceeds to step S28. When the hitting operation most recently detected is not a ‘first hit among a sequence of continuous hits’, the processing proceeds to step S22.
It is determined, with reference to the input history information 45, at step S22 whether the ‘strike surface most recently hit’ is the same as the ‘strike surface hit immediately prior to the most recently hit strike surface’. When the ‘strike surface most recently hit’ is the same as the ‘strike surface hit immediately prior to the most recently hit strike surface’, the processing proceeds to step S32. When the ‘strike surface most recently hit’ is not the same as the ‘strike surface hit immediately prior to the most recently hit strike surface’, the processing proceeds to step S24.
It is determined at step S24 whether the hitting operation most recently detected is a ‘second hit among a sequence of continuous hits’. To be specific, the input history information 45 is referred to first, and if information about the strike surface hit two hits prior to the most recently hit strike surface is not retained therein, the hitting operation most recently detected is determined to be a ‘second hit among a sequence of continuous hits’. In the present embodiment, the most recently performed hitting operation is determined as a ‘second hit among a sequence of continuous hits’ when a time interval between a hitting operation preceding, by two hitting operations, the most recently performed hitting operation and the hitting operation immediately preceding the most recently performed hitting operation is equal to or longer than a predetermined time period (e.g., 60 frame periods), and also a time interval between the hitting operation immediately preceding the most recently performed hitting operation and the most recently performed hitting operation is shorter than the predetermined time period. When the hitting operation most recently detected is a ‘second hit among a sequence of continuous hits’, the processing proceeds to step S28. When the hitting operation most recently detected is not a ‘second hit among a sequence of continuous hits’, the processing proceeds to step S26.
It is determined, with reference to the input history information 45, at step S26 whether the ‘strike surface most recently hit’ is the same as the ‘strike surface hit two hits prior to the most recently hit strike surface’. When the ‘strike surface most recently hit’ is the same as the ‘strike surface hit two hits prior to the most recently hit strike surface’, the processing proceeds to step S28. When the ‘strike surface most recently hit’ is not the same as the ‘strike surface hit two hits prior to the most recently hit strike surface’, the processing proceeds to step S32.
It is determined, with reference to the velocity information (velocity vector) of the character control data 43, at step S28 whether the velocity of the character (size of the velocity vector) has reached a predetermined maximum value. When the velocity of the character has reached the maximum value, the processing proceeds to step S34 of
At step S30, the velocity information (velocity vector) of the character control data 43 is updated such that the velocity of the character (size of the velocity vector) increases by a predetermined amount. Here, instead of increasing the velocity by the predetermined amount, the amount of increase in the velocity may be varied in accordance with a current velocity, or in accordance with the shape of the racecourse. After step S30, the processing proceeds to step S34 of
At step S32, the current position information of the character control data 43 is updated such that the character moves in a direction corresponding to the ‘strike surface most recently hit’. To be specific, when the strike surface most recently hit is the right strike surface 6R, the current position information is updated such that the character moves in a rightward direction. When the strike surface most recently hit is the left strike surface 6L, the current position information is updated such that the character moves in a leftward direction. Here, instead of updating the current position information, a direction of the velocity vector may be changed in accordance with the ‘most recently hit strike surface’.
It is determined at step S34 of
At step S36, the simultaneous pressing timer 47 is reset to 0.
At step S38, 1 is added to the simultaneous pressing timer 47.
It is determined, with reference to the simultaneous pressing timer 47, at step S40 whether both the right and left strike surfaces have been pressed for a predetermined period of time or longer. For example, a determination that both the right and left strike surfaces have been pressed for a predetermined period of time or longer is provided when a value of the simultaneous pressing timer 47 is equal to or greater than 10. The processing proceeds to step S42 when both the right and left strike surfaces have been pressed for a predetermined period of time or longer. Otherwise, the processing proceeds to step S44.
At step S42, the velocity information (velocity vector) of the character control data 43 is updated such that the velocity of the character (size of the velocity vector) is decreased by a predetermined amount. Here, instead of decreasing the velocity by a predetermined amount, the amount of decrease in the velocity may be varied in accordance with a current velocity, or in accordance with the shape of the racecourse.
It is determined, with reference to the hitting interval timer 46, at step S44 whether a hitting operation has not been performed for a predetermined period of time or longer. For example, a determination that a hitting operation has not been performed for a predetermined period of time or longer is provided when the value of the hitting interval timer 46 is equal to or greater than 60. The processing proceeds to step S46 when a hitting operation has not been performed for a predetermined period of time or longer. Otherwise, the processing proceeds to step S48.
At step S46, the input history information 45 is cleared.
At step S48, the current position information is updated based on the velocity information.
At step S50, the game image is updated based on the updated current position information. Then, the processing returns to step S12.
The above-described processes (processes from steps S12 to S50) are reiterated at a cycle of one frame period ( 1/60 sec).
In the present embodiment, the character is caused to accelerate (i.e., accelerate in the advance direction) when a hitting operation for a ‘first hit among a sequence of continuous hits’ is performed. However, the present invention is not limited thereto. When the hitting operation for the ‘first hit among a sequence of continuous hits’ is performed, the character may be caused to move in a direction corresponding to a strike surface hit in the hitting operation. Alternatively, when the hitting operation for the ‘first hit among a sequence of continuous hits’ is performed, the character may neither be caused to accelerate, to move in a rightward direction, nor to move in a leftward direction.
In the present embodiment, when the player performs hitting operations in the following pattern: hit the right strike surface; hit the right strike surface again; and then hit the left strike surface, the character is caused to move leftward without accelerating, because, compared with a situation where the player causes the character to accelerate immediately after causing the character to move rightward, a situation where the player causes the character to move leftward immediately after causing the character to move rightward (e.g., when the character makes S-turns, or when the player slightly moves the character back leftward after moving the character rightward too much) is more likely to occur. For the same reason, when the player performs hitting operations in the following pattern: hit the left strike surface; hit the left strike surface again; and then hit the right strike surface, the character is caused to move rightward without accelerating. This improves operability. As an exemplary variation, when the player performs hitting operations in either one of the following patterns: hit the right strike surface, hit the right strike surface again, and then hit the left strike surface; or hit the left strike surface, hit the left strike surface again, and then hit the right strike surface, the character may be caused to accelerate, or the character may neither be caused to accelerate, to move in a rightward direction, nor to move in a leftward direction.
In the present embodiment, when a strike surface is hit twice continuously, the character moves in a direction associated with the hit strike surface. In this case, the smaller the value of the hitting interval timer 46 (i.e., the more quickly the strike surface is hit), the farther (or the faster) the character may be caused to move, or the more the character may be caused to accelerate. Similarly, in the present embodiment, the character accelerates when the right strike surface 6R and left strike surface 6L are hit alternately. Here, the smaller the value of the hitting interval timer 46 (i.e., the more quickly the strike surfaces are hit), the more the character may be caused to accelerate, or the farther the character may be caused to move.
Note that, the memory map of
As described above, according to the present embodiment, the player is allowed to continuously provide at least three different action instructions to the character in the virtual game world, by merely hitting the two strike surfaces.
Next, another embodiment of the present invention will be described with reference to
The embodiment described below relates to a game program for controlling an action of the object in the virtual game world by using input means having a first switch and at least one other switch different from the first switch. The first switch may be, for example, the right strike surface 6R of
At step S60, the CPU 31 determines whether an input has been provided from the first switch. When an input has been provided from the first switch, the processing proceeds to step S62. When an input has not been provided from the first switch, a process at step S60 is reiterated until an input has been provided from the first switch.
When an input from the first switch is detected at step S60, the CPU 31 determines at step S62 whether inputs have been performed continuously through the first switch, or performed through the first switch and another switch alternately. This determination can be made based on a history of operations previously performed by the player. For example, if, immediately before an input from the first switch is detected at step S60, an input has been performed through the first switch, it may be determined that inputs have been continuously performed through the first switch. Also, if, immediately before an input from the first switch is detected at step S60, an input has been performed through another switch, it may be determined that inputs have been performed through the first switch and said another switch alternately.
At step S62, in the case where the input means include a plurality of other switches, an input from any of all the switches different from the first switch may be recognized as an ‘input from another switch’. Alternatively, only an input from a particular switch (e.g., second switch) may be recognized as an ‘input from another switch’. For example, if, in the case where an input from any of all the switches different from the first switch is recognized as an ‘input from another switch’, the player performs inputs in the following pattern: an input from the first switch; an input from a third switch; and an input from the first switch, it is determined that inputs have been performed through the first switch and another switch alternately. On the other hand, in the case where only an input from the second switch is recognized as an ‘input from another switch’, an input from the third switch is ignored in the determination at step S62. Therefore, it is determined that inputs have been continuously performed through the first switch.
When it is determined at step S62 that inputs have been continuously performed through the first switch, the processing proceeds to step S64, whereas when it is determined that inputs have been performed through the first switch and another switch alternately, the processing proceeds to step S66.
At step S64, the object is caused to perform a first action. At step S66, the object is caused to perform a second action which is different from the first action.
Since processes performed at steps S60 to S66 of
At step S68 in
When an input from the second switch is detected at step S68, the CPU 31 determines at step S70 whether inputs have been continuously performed through the second switch, or inputs have been performed through the second switch and the first switch alternately. When it is determined that inputs have been continuously performed through the first switch, the processing proceeds to step S72. When it is determined that inputs have been performed through the first switch and second switch alternately, the processing proceeds to step S74.
At step S72, the object is caused to perform a third action which is different from the first and second actions. At step S74, the object is caused to perform the second action.
As described above, in the present embodiment, each time an input from the first or second switch is detected, it is determined whether: inputs have been continuously performed through the first switch; inputs have been continuously performed through the second switch; or inputs have been performed through the first switch and the second switch alternately. The object can be caused to perform different actions each corresponding to a result of this determination.
Note that, instead of the conga controller 6, a controller 7′ as shown in
While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2006-130775 | May 2006 | JP | national |
2007-112874 | Apr 2007 | JP | national |