U.S. Pat. No. 9,427,668

STORAGE MEDIUM STORING GAME PROGRAM AND GAME APPARATUS FOR IMPROVED COLLISION DETECTION IN A VIDEO GAME

AssigneeNintendo Co., Ltd.

Issue DateAugust 3, 2009

Patent Arcade analysis Read the full post

U.S. Patent No. 9,427,668: Storage medium storing game program and game apparatus for improved collision detection in a video game

U.S. Patent No. 9,427,668: Storage medium storing game program and game apparatus for improved collision detection in a video game

Issued August 30, 2016, to Nintendo Co., Ltd.
Priority Date May 29, 2009

Summary:
U.S. Patent No. 9,427,668 helps fans of fighting and shoot ‘em up games make sure lag does not stop them from winning a game. In these sort of games, “determination areas” help figure out if objects in a game contact each other, which helps determines if a bullet shot from an enemy hits a player. Conventional televisions usually temporarily store a program received from a broadcast station in its memory and process the image to improve the image quality before displaying it. For game consoles, the temporary storage causes a lag between the execution of a player’s action and the display of the result on the television.Therefore, this patent provides a solution using a storage medium for a game program and a game apparatus. In the game apparatus, the aforementioned “determination areas” repeatedly determine whether or not a player contacts something. The results of these determinations are stored in succession, permitting the player to move when there is an indication the player contacts something. Storing the determinations reduces lag and helps players keep fighting and dodging both enemies and bullets.

Abstract:
A computer readable storage medium storing a game program and a game apparatus capable of preventing a game process which is performed, depending on a result of contact determination with respect to objects from being illogical for a player are provided. In the game apparatus, a contact determination section repeatedly determines whether a player object contacts a block. The results of determination are successively stored into a determination result storing section. A first processing section permits the player object to jump when, of the results of determination stored in the determination result storing section, at least one result of determination including a result of determination a predetermined period of time before indicates that the player object contacts the block.

Illustrative Claim:
1. A non-transitory computer readable storage medium storing a game program executable by a computer of a game apparatus which outputs to a display device a game image showing a behavior of an object in a game space, the game program causing the computer to execute instructions comprising: repeatedly determining whether or not a first object contacts a second object at a first point in time and at a second point in time, the second point in time being a latest result of determination stored after the first point in time; successively storing results of the repeated determination; and performing a predetermined process with respect to the first object when, of the results of the stored determination, at least one result of determination includes determining that the first object contacted the second object at the first point in time.

Research By: Rachel Johns
Edited By: Andrew F. Thomas

Illustrative Figure

Abstract

A computer readable storage medium storing a game program and a game apparatus capable of preventing a game process which is performed, depending on a result of contact determination with respect to objects from being illogical for a player are provided. In the game apparatus, a contact determination section repeatedly determines whether a player object contacts a block. The results of determination are successively stored into a determination result storing section. A first processing section permits the player object to jump when, of the results of determination stored in the determination result storing section, at least one result of determination including a result of determination a predetermined period of time before indicates that the player object contacts the block.

Description

DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings. A game system1including a game apparatus according to an embodiment of the present invention will be described with reference toFIG. 1.FIG. 1is an external perspective view of the game system1. Hereinafter, the game apparatus of this embodiment and a game program will be described, where the game apparatus is a stationary game apparatus as an example. (Whole Configuration of Game System) Firstly, an overview of components of the game system1will be described. InFIG. 1, the game system1includes a liquid crystal television2, the game apparatus3, an optical disc4, a marker unit6, and a controller7. In the game system1, the game apparatus3executes a game process based on a game operation using the controller7. The optical disc4, which is an exemplary information storing medium changeable with respect to the game apparatus3, is detachably loaded into the game apparatus3. A game program that is executed in the game apparatus3is stored on the optical disc4. On a front surface of the game apparatus3, a slot through which the optical disc4is inserted is provided. The game apparatus3executes a game process by reading and executing the game program stored on the optical disc4which has been inserted through the slot. The liquid crystal television2is connected via a connection cord to the game apparatus3. The game apparatus3generates a game image showing a behavior of an object in a virtual game space and outputs the game image to the liquid crystal television2. This series of processes are performed in units of a frame (e.g., at intervals of 1/60 sec) in this embodiment. The liquid crystal television2receives and displays a game image that is obtained as a result of the game process executed in the game apparatus3. ...

DESCRIPTION OF THE PREFERRED EMBODIMENTS

First Embodiment

Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings. A game system1including a game apparatus according to an embodiment of the present invention will be described with reference toFIG. 1.FIG. 1is an external perspective view of the game system1. Hereinafter, the game apparatus of this embodiment and a game program will be described, where the game apparatus is a stationary game apparatus as an example.

(Whole Configuration of Game System)

Firstly, an overview of components of the game system1will be described. InFIG. 1, the game system1includes a liquid crystal television2, the game apparatus3, an optical disc4, a marker unit6, and a controller7. In the game system1, the game apparatus3executes a game process based on a game operation using the controller7.

The optical disc4, which is an exemplary information storing medium changeable with respect to the game apparatus3, is detachably loaded into the game apparatus3. A game program that is executed in the game apparatus3is stored on the optical disc4. On a front surface of the game apparatus3, a slot through which the optical disc4is inserted is provided. The game apparatus3executes a game process by reading and executing the game program stored on the optical disc4which has been inserted through the slot.

The liquid crystal television2is connected via a connection cord to the game apparatus3. The game apparatus3generates a game image showing a behavior of an object in a virtual game space and outputs the game image to the liquid crystal television2. This series of processes are performed in units of a frame (e.g., at intervals of 1/60 sec) in this embodiment. The liquid crystal television2receives and displays a game image that is obtained as a result of the game process executed in the game apparatus3. The marker unit6is provided in the vicinity of the screen of the liquid crystal television2(on an upper side of the screen inFIG. 1). The marker unit6comprises two markers6R and6L at both ends thereof. Specifically, the marker6R includes one or more infrared LEDs that output infrared light toward the front of the liquid crystal television2(the same is true of the marker6L). The marker unit6is connected to the game apparatus3, so that the game apparatus3can control ON/OFF of each infrared LED included in the marker unit6. The marker unit6is also provided with a microphone (not shown). Audio information input through the microphone is input to the game apparatus3.

The controller7is an input device which is operated by a player and inputs to the game apparatus3operation data indicating an operation performed with respect to itself. The controller7and the game apparatus3are connected via wireless communication. In this embodiment, for example, the Bluetooth® technology is used for wireless communication between the controller7and the game apparatus3. Note that, in another embodiment, the controller7and the game apparatus3may be connected via wired communication.

(Internal Configuration of Game Apparatus3)

Next, an internal configuration of the game apparatus3will be described with reference toFIG. 2.FIG. 2is a block diagram showing the configuration of the game apparatus3. The game apparatus3has a CPU10, a system LSI11, an external main memory12, a ROM/RTC13, a disc drive14, an AV-IC15, and the like.

The CPU10executes a game program stored on the optical disc4to perform a game process, i.e., functions as a game processor. The CPU10is connected to the system LSI11. In addition to the CPU10, the external main memory12, the ROM/RTC13, the disc drive14, and the AV-IC15are connected to the system LSI11. The system LSI11performs processes, such as controlling data transfer between each component connected thereto, generating an image to be displayed, obtaining data from an external apparatus, and the like. An internal configuration of the system LSI11will be described below.

The external main memory12is a volatile memory. The external main memory12stores a program, such as a game program read out from the optical disc4, a game program read out from a flash memory17, or the like, or various kinds of data, and is used as a work area, a buffer area or the like for the CPU10.

The ROM/RTC13has a ROM (so-called boot ROM) which stores a program for booting the game apparatus3, and a clock circuit (RTC: Real Time Clock) which counts time.

The disc drive14reads out program data, texture data or the like from the optical disc4, and writes the read data into an internal main memory11e(described below) or the external main memory12.

The system LSI11also includes an input/output processor (I/O processor)11a, a GPU (Graphics Processor Unit)11b, a DSP (Digital Signal Processor)11c, a VRAM11d, and the internal main memory11e. The components11ato11eare connected to each other via an internal bus (not shown).

The GPU11b, which is a part of a drawing means, generates an image in accordance with a graphics command (image drawing command) from the CPU10. The VRAM11dstores data (e.g., polygon data, texture data, etc.) which is required by the GPU11bto execute the graphics command. When an image is generated, the GPU11bgenerates image data using data stored in the VRAM11d.

The DSP11c, which functions as an audio processor, generates audio data using sound data, sound waveform (tone color) data or the like stored in the internal main memory11e, the external main memory12or the like.

The image data and audio data thus generated are read out by the AV-IC15. The AV-IC15outputs the read image data via an AV connector16to the liquid crystal television2, and the read audio data to a loudspeaker2aincluded in the liquid crystal television2. Thereby, an image is displayed on the liquid crystal television2while a sound is output from the loudspeaker2a.

The input/output processor11aexecutes data transmission and reception between components connected thereto, or downloads data from an external apparatus. The input/output processor11ais connected to the flash memory17, a wireless communication module18, a wireless controller module19, an extension connector20, and a memory card connector21. An antenna22is connected to the wireless communication module18, and an antenna23is connected to the wireless controller module19.

The input/output processor11ais connected via the wireless communication module18and the antenna22to a network, and can communicate with other game apparatuses or various servers connected to the network. The input/output processor11aregularly accesses the flash memory17to detect the presence or absence of data that needs to be transmitted to the network. In the case of the presence of the data, the input/output processor11atransmits the data via the wireless communication module18and the antenna22to the network. The input/output processor11aalso receives data transmitted from another game apparatus or data downloaded from a download server via the network, the antenna22, and the wireless communication module18, and stores the received data into the flash memory17. The CPU10executes a game program to read out the data stored in the flash memory17and utilizes the data in the game program. In addition to data communicated between the game apparatus3and other game apparatuses or various servers, save data (result data or intermediate data of a game) of a game played using the game apparatus3may be stored into the flash memory17.

The input/output processor11aalso receives operation data transmitted from the controller7via the antenna23and the wireless controller module19, and stores (temporarily stores) the operation data into a buffer area of the internal main memory11eor the external main memory12.

Also, the extension connector20and the memory card connector21are connected to the input/output processor11a. The extension connector20is a connector for interface, such as USB or SCSI. When a medium (e.g., an external storage medium, etc.), a peripheral device (e.g., another controller, etc.), or a wired communication connector is connected to the extension connector20, communication with a network can be performed without using the wireless communication module18. The memory card connector21is a connector for connecting an external storage medium, such as a memory card or the like. For example, the input/output processor11acan access an external storage medium via the extension connector20or the memory card connector21to save data or read out data.

The game apparatus3is provided with a power button24, a reset button25, and an eject button26. The power button24and the reset button25are connected to the system LSI11. When the power button24is pressed down, power is supplied via an AC adaptor (not shown) to each component of the game apparatus3. When the reset button25is pressed down, the system LSI11reboots the boot program of the game apparatus3. The eject button26is connected to the disc drive14. When the eject button26is pressed down, the optical disc4is ejected from the disc drive14.

(Configuration of Controller7)

The controller7will be described with reference toFIGS. 3 and 4.FIG. 3is a perspective view of the controller7as viewed from the top and the rear.FIG. 4is a perspective view of the controller7as viewed from the bottom and the front.

As shown inFIGS. 3 and 4, the controller7has a housing71formed by, for example, plastic molding, and a plurality of operation portions72in the housing71. The housing71is in the shape of substantially a rectangular parallelepiped where a front-to-rear direction thereof is a longitudinal direction thereof. The whole housing71has a size which allows an adult and a child to hold the controller7with one hand.

A cross key72ais provided on a central portion closer to a front surface of an upper surface of the housing71. The cross key72ais a four-direction push switch in the shape of a cross, and has operation portions corresponding to the respective four directions (frontward, rearward, leftward, and rightward) the operation portions being provided at the respective projecting pieces of the cross which are arranged at intervals of 90°. One of the frontward, rearward, leftward and rightward directions is selected by a player pushing down the corresponding one of the operation portions of the cross key72a. For example, by a player operating the cross key72a, a movement direction of a player object or the like appearing in a virtual game world can be specified, or one can be selected and specified from a plurality of options.

Note that the cross key72ais an operation section which outputs an operation signal, depending on the aforementioned direction input operation by a player, or may be an operation section of other embodiments. For example, an operation section in which four push switches are disposed in cross directions, and an operation signal is output, depending on a push switch pushed down by the player may be provided in the housing71instead of the cross key72a. In addition to the four push switches, a center switch may be provided at an intersection position of the cross directions, i.e., a complex operation section comprising the four push switches and the center switch may be provided. Also, instead of the cross key72a, an operation section may be provided which outputs an operation signal, depending on a tilt direction of a tiltable stick (so-called joystick) which projects from the upper surface of the housing71. Also, instead of the cross key72a, an operation section may be provided which outputs an operation signal, depending on a slide direction of an disc-like member which can be moved in a horizontal direction. Also, a touch pad may be provided instead of the cross key72a.

A plurality of operation buttons72bto72gare provided at the rear of the cross key72aon the upper surface of the housing71. The operation buttons72bto72gare operation sections which output operation signals assigned to the respective operation buttons72bto72gwhen a player pushes down the head portions of the respective buttons. For example, functions of a 1st button, a 2nd button, an A button and the like are assigned to the operation buttons72bto72d. Functions of a minus button, a home button, a plus button and the like are assigned to the operation buttons72eto72g. The operation buttons72ato72gare assigned the respective functions, depending on a game program executed by the game apparatus3. Note that, in the exemplary arrangement ofFIG. 3, the operation buttons72bto72dare aligned on a central portion in a front-to-rear direction of the upper surface of the housing71. The operation buttons72eto72gare aligned in a lateral direction on the upper surface of the housing71and between the operation buttons72band72d. The operation button72fis a button of a type whose upper surface is buried below the upper surface of the housing71so that the player is prevented from unintentionally and erroneously pushing down the button.

Also, an operation button72his provided at the front of the cross key72aon the upper surface of the housing71. The operation button72his a power supply switch which remotely switches ON/OFF a power supply for the game apparatus3. The operation button72his also a button of the type whose upper surface is buried below the upper surface of the housing71so that a player is prevented from unintentionally and erroneously pushing down the button.

A plurality of LEDs702are provided at the rear of the operation button72con the upper surface of the housing71. Here, the controller7is assigned controller identification (number) so as to distinguish it from other controllers7. For example, the LEDs702are used so as to notify a player of the controller identification currently set for the controller7. Specifically, when transmission data is transmitted from the controller7to the game apparatus3, one of the LEDs702is turned ON, depending on the controller identification.

Also, sound holes through which sound is emitted from a loudspeaker (a loudspeaker706ofFIG. 5) described below to the outside are formed between the operation button72band the operation buttons72eto72gon the upper surface of the housing71.

As shown inFIG. 4, a hollow portion is formed on a lower surface of the housing71. The hollow portion on the lower surface of the housing71is formed at a position where the index finger or the middle finger of a player is placed when the player holds the controller7with one hand while directing the front surface of the controller7toward the markers6L and6R. An operation button72iis provided on a slope surface closer to the rear surface of the hollow portion. The operation button72iis an operation section which functions as, for example, a B button.

An image capturing device743which is a part of the image capture information computing section74(seeFIG. 7) is provided on a front surface of the housing71. Here, the image capture information computing section74is a system for analyzing image data captured by the controller7to determine a place having a high luminance in the image data and detect a center-of-gravity position, a size or the like of the place. The image capture information computing section74has, for example, a maximum sampling cycle of about 200 frames/sec, and therefore, can track and analyze a relatively high-speed movement of the controller7. A detailed structure of the image capture information computing section74will be described below. A connector73is provided on a rear surface of the housing71. The connector73is, for example, an edge connector which is utilized so as to engage and connect the controller7with a connection cable.

Here, in order to specifically describe the present invention, a coordinate system which is set with respect to the controller7is defined as follows. As shown inFIGS. 3 and 4, X, Y and Z axes, which are orthogonal to each other, are defined with respect to the controller7. Specifically, a front-to-rear direction of the controller7(the longitudinal direction of the housing71) is assumed to be the Z axis, and a front surface (a surface on which the image capture information computing section74is provided) direction of the controller7is assumed to be the positive direction of the Z axis. A vertical direction of the controller7is assumed to be the Y axis, and a lower surface (a surface on which the operation button72iis provided) direction of the housing71is assumed to be the positive direction of the Y axis. A lateral direction of the controller7is assumed to be the X axis, and a left side surface (a side surface shown inFIG. 4, but not inFIG. 3) direction of the housing71is assumed to be the positive direction of the X axis.

Next, an internal structure of the controller7will be described with reference toFIGS. 5 and 6. Note thatFIG. 5is a perspective view of the controller7as viewed from a rear surface side thereof when an upper housing (a portion of the housing71) is removed.FIG. 6is a perspective view of the controller7as viewed from the front surface side thereof when a lower housing (a portion of the housing71) is removed. Here,FIG. 6provides a perspective view of a substrate700ofFIG. 5as viewed from a bottom surface thereof.

InFIG. 5, the substrate700is fixed inside the housing71. On an upper major surface of the substrate700, the operation buttons72ato72h, an acceleration sensor701, the LEDs702, an antenna754, and the like are provided. These are connected to a microcomputer751and the like (seeFIGS. 6 and 7) via conductors (not shown) formed on the substrate700and the like. Also, by using a radio module753(seeFIG. 7) and the antenna754, the controller7functions as a wireless controller. Note that a quartz oscillator (not shown) is provided in the housing71, and generates a basic clock for the microcomputer751(described below). Also, the loudspeaker706and an amplifier708are provided on the upper major surface of the substrate700. Also, the acceleration sensor701is provided on a left side of the operation button72don the substrate700(i.e., a peripheral portion of the substrate700, but not a center portion thereof). Therefore, the acceleration sensor701can detect an acceleration including a component due to a centrifugal force as well as a change in direction of a gravitational acceleration, depending on a rotation of the controller7around the longitudinal direction as an axis. Therefore, by predetermined computation, the game apparatus3or the like can determine the rotation of the controller7based on the detected acceleration data with satisfactory sensitivity.

On the other hand, inFIG. 6, the image capture information computing section74is provided at a front edge on a lower major surface of the substrate700. The image capture information computing section74comprises an infrared filter741, a lens742, the image capturing device743, and an image processing circuit744, which are arranged in this order from the front of the controller7, and are attached to the lower major surface of the substrate700. The connector73is attached to a rear edge on the lower major surface of the substrate700. Also, a sound IC707and the microcomputer751are provided on the lower major surface of the substrate700. The sound IC707is connected to the microcomputer751and the amplifier708via conductors formed on the substrate700and the like, and outputs an audio signal via the amplifier708to the loudspeaker706, depending on sound data transmitted from the game apparatus3.

A vibrator704is attached onto the lower major surface of the substrate700. The vibrator704may be, for example, a vibration motor or a solenoid. The vibrator704is connected to the microcomputer751via a conductor formed on the substrate700and the like, and its activation is switched ON/OFF, depending on vibration data transmitted from the game apparatus3. The activation of the vibrator704generates vibration in the controller7, so that the vibration is transferred to a player's hand holding the controller7, thereby making it possible to achieve a so-called vibration-feature supporting game. Here, since the vibrator704is disposed somehow closer to the front of the housing71, the housing71significantly vibrates while the player is holding the controller7, so that the player more easily feels vibration.

Next, an internal configuration of the controller7will be described with reference toFIG. 7. Note thatFIG. 7is a block diagram showing the configuration of the controller7.

InFIG. 7, the controller7comprises a communication section75in addition to the operation section72, the image capture information computing section74, the acceleration sensor701, the vibrator704, the loudspeaker706, the sound IC707, and the amplifier708.

The image capture information computing section74includes the infrared filter741, the lens742, the image capturing device743, and the image processing circuit744. The infrared filter741passes only infrared light entering from the front of the controller7. The lens742collects infrared light passing through the infrared filter741and causes the light to enter the image capturing device743. The image capturing device743may be, for example, a solid-state image capturing device, such as a CMOS sensor or a CCD, and captures the infrared light collected by the lens742. Therefore, the image capturing device743captures only infrared light passing through the infrared filter741to generate image data. The image data generated by the image capturing device743is processed by the image processing circuit744. Specifically, the image processing circuit744processes the image data obtained from the image capturing device743to sense high luminance portions, and outputs process result data indicating positional coordinates or areas of the high luminance portions to the communication section75. Note that the image capture information computing section74is fixed to the housing71of the controller7, and therefore, the image capturing direction thereof is changed by changing the direction of the housing71itself.

The controller7preferably comprises the acceleration sensor701which senses accelerations along with three axes (X, Y and Z axes). The three-axis acceleration sensor701senses linear accelerations in three directions, i.e., a vertical direction (the Y axis inFIG. 3), a lateral direction (the X axis inFIG. 3), and a front-to-rear direction (the Z axis inFIG. 3).

The communication section75comprises the microcomputer751, the memory752, the radio module753, and the antenna754. The microcomputer751controls the radio module753for wirelessly transmitting transmission data while using the memory752as a memory area during a process. Also, the microcomputer751controls operations of the sound IC707and the vibrator704, depending on data from the game apparatus3which is received by the radio module753via the antenna754. The sound IC707processes sound data or the like transmitted from the game apparatus3via the communication section75. Also, the microcomputer751activates the vibrator704, depending on vibration data (e.g., a signal for switching ON/OFF the vibrator704) or the like transmitted from the game apparatus3via the communication section75.

An operation signal (key data) from the operation section72provided in the controller7, acceleration signals (X-, Y- and Z-axis direction acceleration data) from the acceleration sensor701, and process result data from the image capture information computing section74, are output to the microcomputer751. The microcomputer751temporarily stores the received data (the key data, the X-, Y- and Z-axis direction acceleration data, and the process result data), as transmission data to be transmitted to the wireless communication module18, into the memory752. Here, radio transmission from the communication section75to the wireless communication module18is performed in predetermined cycles. Since a game is generally processed in units of 1/60 sec, the cycle of the radio transmission needs to be shorter than 1/60 sec. Specifically, the game processing unit is 16.7 ms ( 1/60 sec), and the transmission interval of the communication section75employing Bluetooth® is 5 ms. When timing of transmission to the wireless communication module18arrives, the microcomputer751outputs transmission data stored in the memory752, as a series of pieces of operational information, to the radio module753. Thereafter, the radio module753modulates the operational information using a carrier wave having a predetermined frequency and emits the resultant radio signal from the antenna754, by means of, for example, the Bluetooth® technique. Specifically, the key data from the operation section72provided in the controller7, the X-, Y- and Z-axis direction acceleration data from the acceleration sensor701, and the process result data from the image capture information computing section74are transmitted from the controller7. Thereafter, the wireless communication module18of the game apparatus3receives the radio signal, and the game apparatus3demodulates or decodes the radio signal, thereby obtaining a series of pieces of operational information (the key data, the X-, Y- and Z-axis direction acceleration data, and the process result data). Thereafter, the CPU10of the game apparatus3performs a game process based on the obtained operational information and a game program.

Note that the aforementioned hardware configuration is only for illustrative purposes. The configuration of the game apparatus can be appropriately changed as long as the game apparatus is connected to a display device when it is used.

FIG. 8is a diagram showing a functional configuration of the game apparatus3which executes a game program stored in a storage medium (optical disc4) according to the first embodiment of the present invention. As shown inFIG. 8, the CPU10of the game apparatus3functionally comprises a contact determination section100, a reception reaction101, an input determining section102, a read section103, a first processing section104, a second processing section105, and a game image generating section106. The external main memory12of the game apparatus3functionally comprises a determination result storing section120.

The CPU10of the game apparatus3executes a game program previously stored on the optical disc4or the like to function as functional sections, such as the contact determination section100, the reception reaction101, the input determining section102, the read section103, the first processing section104, the second processing section105, the game image generating section106and the like, and to cause the external main memory12to function as the determination result storing section120.

FIGS. 9A and 9Bare diagrams showing a game space in which a player object30is located on a block31.FIG. 9Ashows a state of the player object30standing on the block31.FIG. 9Bshows a state of the player object30jumping by kicking the block31. Hereinafter, each functional section will be described, assuming that the player object30(an example of a first object), which is operated in a virtual game space based on an operational input from the controller7, is caused to jump by kicking the block31(an example of a second object), which is an object representing a topographic feature.

The contact determination section100repeatedly determines whether or not the player object30contacts the block31. In the game apparatus3, since a game process is performed in units of 1/60 sec, the contact determination of the contact determination section100is also performed at intervals of 1/60 sec. Hereinafter, a process of the contact determination with respect to the player object30and the block31will be described.

For the player object30, a determination area301is previously set with respect to a foot portion of the player object30. When the player object30moves in the game space, the determination area301moves along with the player object30. On the other hand, for the block31, a determination area311is previously set with respect to an upper surface portion of the block31. The determination areas301and311are virtually set in the game space and are not displayed in a game image. The contact determination section100determines whether or not the determination area301of the player object30contacts the determination area311of the block31. When the contact determination section100determines that the determination area301contacts the determination area311, it can be determined that there is a place which the player object30kicks to jump. Conversely, when the contact determination section100determines that the determination area301does not contact the determination area311, it can be determined that there is no place which the player object30kicks to jump. In this kind of games, it may be assumed that the player object30jumps by kicking or hitting a wall (not shown) rather than the block31. In such a case, determination areas302and303may also be set with respect to hand portions of the player object30in addition to the foot portion thereof, and it may be determined whether or not each of the determination area301,302and303contacts a determination area set with respect to the wall. Note that the determination of whether or not determination areas contact each other is well known as disclosed in, for example, Japanese Patent Laid-Open Publication No. 2006-318136 and will not be here described in detail.

The determination result storing section120successively stores results of determination by the contact determination section100. In this embodiment, a storage area for storing results of determination corresponding to three consecutive frames is set as the determination result storing section120in the external main memory12. Therefore, the determination result storing section120stores three results of determination, i.e., a latest result of determination by the contact determination section100, an intermediate result of determination one frame before the latest result of determination, and a result of determination two frames before the latest result of determination. Here, the result of determination two frames before is an exemplary result of determination a predetermined period of time before of the present invention. The intermediate result of determination is a result of determination which is stored in the determination result storing section120subsequent to the result of determination two frames before and prior to the latest result of determination. Therefore, if the determination result storing section120stores results of determination corresponding to four or more frames, the determination result storing section120stores a plurality of intermediate results of determination.

In this embodiment, a storage area for storing results of determination corresponding to three frames is previously provided as the determination result storing section120in the external main memory12. Therefore, when three results of determination are already stored in the determination result storing section120, every time the contact determination section100performs new contact determination, the oldest (here, the result of determination two frames before) of the results of determination stored in the determination result storing section120is erased to provide an area for storing the new result of determination as a latest result of determination. As described below, when an operational input for causing the player object30to jump is performed with respect to the controller7, the player object30is permitted or forbidden to jump by taking into consideration the results of determination stored in the determination result storing section120.

Note that the predetermined period of time of the present invention is set to have a value corresponding to a delay time between when the execution of contact determination by the contact determination section100and the display of a game image showing a game space subjected to the contact determination on the liquid crystal television2. In this embodiment, the delay time is assumed to be 2/60 sec, and therefore, the predetermined period of time is set to be the same as the delay time, i.e., 2/60 sec. In addition, since the contact determination section100performs contact determination at intervals of 1/60 sec, the determination result storing section120stores results of determination corresponding to three frames, i.e., from a latest result of determination to a result of determination 2/60 sec (two frames) before the latest result of determination. Note that the predetermined period of time should be set to have an appropriate value, depending on the delay time. For example, when the delay time is assumed to be 4/60 sec, the predetermined period of time may be set to be 4/60 sec, and the determination result storing section120may store results of determination corresponding to five frames, i.e., from a latest result of determination to a result of determination 4/60 sec (four frames) before the latest result of determination. Note that if the delay time is not divisible by 1/60 sec, the predetermined period of time may be set to have a value which is closet to the delay time and is divisible by 1/60 sec. For example, if the delay time is 2.8/60 sec, the predetermined period of time may be set to be 3/60 sec. If the delay time is 1.2/60 sec, the predetermined period of time may be set to be 1/60 sec.

As described above, key data from the operation section72, X-, Y- and Z-axis direction acceleration data from the acceleration sensor701, and process result data from the image capture information computing section74are wirelessly transmitted from the controller7to the game apparatus3. The reception reaction101receives these pieces of data wirelessly transmitted from the controller7using the wireless communication module18and demodulates or decodes the data to obtain operational information. By thus obtaining the operational information, the reception reaction101receives from the controller7an operational input for operating the player object30. A result of determination which is to be stored as a latest result of determination in the determination result storing section120is one that is obtained at the time when the reception reaction101receives an operational input. A result of determination a predetermined period of time before is one that is obtained the predetermined period of time before the reception reaction101receives an operational input.

The input determining section102determines whether or not an operational input received by the reception reaction101is a predetermined operational input. In this embodiment, the input determining section102determines whether or not operational information received by the reception reaction101contains key data from the operation section72for causing the player object30to jump. In other words, the input determining section102determines whether or not an operational input received by the reception reaction101is one for causing the player object30to jump (an example of the predetermined operational input).

The read section103reads out at least one result of determination including a result of determination two frames before (a predetermined period of time before) from a plurality of (here, three) results of determination stored in the determination result storing section120, and outputs the at least one result of determination to the first processing section104. In this embodiment, the read section103reads out three results of determination, i.e., a result of determination two frames before, an intermediate result of determination, and a latest result of determination, from the determination result storing section120, and outputs the three results of determination to the first processing section104. Note that, in this embodiment, the read section103reads out a result of determination when the input determining section102determines that an operational input received by the reception reaction101is one for causing the player object30to jump. In other words, when an operational input received by the reception reaction101is not one for causing the player object30to jump, the read section103does not read out a result of determination.

When a result of determination read out by the read section103satisfies predetermined conditions, the first processing section104performs a predetermined process with respect to the player object30. As described above, the read section103reads out a result of determination when the input determining section102determines that an operational input received by the reception reaction101is one for causing the player object30to jump. Therefore, the predetermined process is performed when the input determining section102determines that an operational input received by the reception reaction101is one for causing the player object30to jump, and in addition, a result of determination read out by the read section103satisfies the predetermined conditions. In this embodiment, the first processing section104determines whether or not at least any of the three results of determination read out by the read section103indicates that the player object30contacts the block31. If the first processing section104determines that any of the three results of determination indicates that the player object contacts the block31, the first processing section104performs, as the predetermined process, a jump process of causing the player object30to jump by kicking the block31.

The second processing section105performs another game process which is not performed by the first processing section104, such as moving in a game space an enemy object or a bullet shot from the enemy object, which are objects other than the player object30. In other words, the first processing section104and the second processing section105perform game processes including contact determination.

The game image generating section106generates a game image of a game space after the first processing section104and the second processing section105perform game processes. Specifically, the game image generating section106outputs to the GPU11binformation about the results of the game processes performed by the first processing section104and the second processing section105, and in addition, a graphics command. In response to this, the GPU11breads out data required to generate a game image from the VRAM11dand generates the game image. The game image thus generated is output via the AV connector16to the liquid crystal television2by the AV-IC15at intervals of 1/60 sec. Specifically, a series of processes including the contact determination by the contact determination section100, the game processes by the first processing section104and the second processing section105, and the game image generating process by the game image generating section106, is performed 60 times per second. The liquid crystal television2successively accumulates game images transmitted from the game apparatus3into a memory, and performs image processing with respect to the accumulated game images so as to improve the image quality thereof before displaying the game images.

Hereinafter, process steps performed in the game apparatus3will be described with reference toFIG. 10.FIG. 10is a flowchart showing an exemplary process performed in the game apparatus3which executes a game program stored in a storage medium (optical disc4) according to the first embodiment of the present invention. Note that the process of the game apparatus3described below with reference to the flowchart is performed in accordance with a command which issued by the CPU10based the game program stored on the optical disc4.

When the power button24of the game apparatus3is pressed down, an initial process is performed in the game apparatus3(step S1). Specifically, a game program stored on the optical disc4is read out and is stored into the external main memory12. Thereafter, the CPU10constructs a virtual game space and places the player object30at a predetermined initial position in the game space. The CPU10also generates a game image showing a game space in the vicinity of the player object30and displays the game image on the liquid crystal television2. After a preparation process for initiation of a game is thus performed, the CPU10executes the game program in the external main memory12to start the game (step S2).

After the start of the game, the contact determination section100determines whether or not there is a place to kick at a foot of the player object30(step S3). Specifically, the contact determination section100determines whether or not the determination area301of the player object30contacts the determination area311of the block31.

Next, the contact determination section100determines whether or not the determination result storing section120has a free space for storing a result of determination obtained by the contact determination of step S3(step S4). Specifically, the contact determination section100determines whether or not results of determination corresponding to three frames have already been stored in the determination result storing section120. The contact determination section100, when determining that the determination result storing section120does not have a free space (step S4: NO), erases the oldest result of determination from the determination result storing section120(step S5). Note that, in this embodiment, a result of determination two frames before a latest result of determination is the oldest result of determination, and therefore, in step S5, the result of determination two frames before is erased. On the other hand, if the contact determination section100determines that the determination result storing section120has a free space (step S4: YES), control proceeds to step S6.

After performing the process of step S5or if determining that the determination result storing section120has a free space (step S4: YES), the contact determination section100stores the result of determination obtained by the contact determination of step S3as a latest result of determination into the determination result storing section120(step S6).

If the latest result of determination is stored into the determination result storing section120by the process of step S6, the input determining section102determines whether or not an operational input for causing the player object30to jump has been performed with respect to the controller7, based on operational information obtained by the reception reaction101(step S7). If the input determining section102determines that an operational input for causing the player object30to jump has not been performed (step S7: NO), control proceeds to step S11described below.

If the input determining section102determines that an operational input for causing the player object30to jump has been performed (step S7: YES), the read section103reads out all results of determination from the determination result storing section120(step S8). Specifically, the input determining section102reads out a latest result of determination, a result of determination one frame before, and a result of determination two frames before, from the determination result storing section120.

The first processing section104determines whether or not at least any of the results of determination corresponding to three consecutive frames read out by the read section103indicates that there is a place to kick at a foot of the player object30(step S9). Here, the first processing section104determines whether or not at least any of the results of determination corresponding to three frames read out by the read section103indicates that the determination area301contacts the determination area311. If the first processing section104determines that none of the results of determination corresponding to three frames read out by the read section103indicates that the determination area301contacts the determination area311(step S9: NO), control proceeds to step S11.

If the first processing section104determines that at least any of the results of determination corresponding to three frames read out by the read section103indicates that the determination area301contacts the determination area311(step S9: YES), the first processing section104performs a jump process of causing the player object30to jump by kicking the block31(step S10). In this case, if the operational information obtained by the reception reaction101contains key data specifying a movement direction of the player object30in addition to key data for causing the player object30to jump, the first processing section104causes the player object30to jump in the direction indicated by the key data. Thus, the first processing section104, when at least one result of determination indicates that the player object30contacts the block31, performs the jump process with respect to the player object30.

If the jump process of step S10has been performed, the result of determination in step S7is negative, or the result of determination in step S9is negative, the second processing section105performs another game process (step S11). Specifically, the second processing section105performs a game process of moving an object appearing in a game space other than the player object30, such as an enemy object, a bullet shot from the enemy object or the like (an example of the second object of the present invention). Note that, when the process of step S11is performed after the result of determination in step S7is negative or after the result of determination in step S9is negative, then if operational information obtained by the reception reaction101contains key data specifying a movement direction of the player object30, a process of moving the player object30, depending on the key data, is performed in step S11.

If the other game process of step S11has been performed, the game image generating section106generates a game image showing a game space after the game process of step S11and outputs the game image to the liquid crystal television2(step S12).

After the game image is output, it is determined whether or not the game is to be ended (step S13). Specifically, it is determined whether or not operational information obtained from the controller7contains data instructing to end the game. If the operational information obtained from the controller7contains data instructing to end the game (step S13: YES), the game is ended. On the other hand, if the operational information obtained from the controller7does not contain data instructing to end the game (step S13: NO), control returns to step S3. Thereafter, a series of the processes of steps S3to S13is performed for each frame (60 times per second) until it is determined in step S13that the game is to be ended.

As described above, according to the first embodiment of the present invention, it is decided whether or not a jump process for the player object30is to be permitted, taking into consideration a result of determination two frames before (a predetermined period of time before). This predetermined period of time (here, two frames) is set to correspond to a delay time between the execution of contact determination and the display of a game image showing a game space subjected to the contact determination on the liquid crystal television2as described above. Therefore, the state of a game space indicated by a game image on the liquid crystal television2viewed by a player matches the state of a game space subjected to contact determination in the game apparatus3. In other words, when it is decided whether or not a jump process for the player object30is to be permitted, a result of contact determination with respect to a game space indicated by a game image which a player is viewing (a result of determination two frames before) is taken into consideration. Therefore, it is possible to prevent a game process performed as a result of contact determination from being illogical for a player. For example, it is possible to prevent a problem that whereas a player recognizes that the player object30contacts the block31and thinks that the player object30can be caused to jump, and performs an operational input for causing the player object30to jump, the player object30cannot be actually caused to jump.

Some display devices which are connected to the game apparatus3have substantially no delay between the execution of contact determination and the display of a game image showing a game space subjected to the contact determination. In such a case, if only a result of determination two frames before is taken into consideration, a result of determination corresponding to a game space shown by a game image which a player is viewing (here, a latest result of determination) is not taken into consideration. In this embodiment, in view of the presence and absence of such a delay, both a result of determination two frames before and a latest result of determination are taken into consideration. In other words, a result of determination with respect to a game space shown by a game image which a player is viewing is taken into consideration irrespective of the presence or absence of a delay, whereby a game process natural for a player can be performed.

Also, in this embodiment, when a player operates the controller7, it is determined whether or not the player object30is to be caused to jump, taking into consideration a result of determination a predetermined period of time before and an intermediate result of determination in addition to a latest result of determination. If these conditions are satisfied, it is permitted to cause the player object30to jump. Therefore, a game process natural for the player can be performed with timing natural for the player.

Also, in this embodiment, if at least one result of determination indicates that the player object30contacts the block31, a process of causing the player object30to jump is permitted. Therefore, as compared to a case where only a result of determination two frames before is taken into consideration or a case where only a latest result of determination is taken into consideration, it is easier to cause the player object30to jump. In other words, it is possible not only to prevent a game process from being illogical for a player, but also to reduce the difficulty of a game.

Note that it has been assumed in this embodiment that it is decided whether or not a jump process for the player object30is to be permitted, based on three results of determination, i.e., a result of determination two frames before, an intermediate result of determination, and a latest result of determination. Instead of this, a jump process for the player object30may be performed when at least one of two results of determination, i.e., a result of determination two frames before (a predetermined period of time before) and a latest result of determination, indicates that the player object30contacts the block31. Therefore, in this case, an intermediate result of determination is not taken into consideration, resulting in a reduction in processing load of the CPU10.

Also, although it has been assumed in this embodiment that the second object of the present invention is the block31which is an exemplary object representing a topographic feature, the second object may be other objects. The second object may be, for example, an enemy object which causes damage to the player object30, or a bullet, a missile, laser or the like shot from the enemy object. In such a case, the first processing section104performs a damage process of causing damage to the player object30as the predetermined process instead of a jump process. In the constitution of the first embodiment, if at least any of results of determination stored in the determination result storing section120indicates that the player object30contacts the second object, damage is caused to the player object30. Therefore, as is opposite to the case where a jump process is performed as the predetermined process, the difficulty of a game can be increased. Specifically, the difficulty of a game can be adjusted, depending on the game process which is performed by the first processing section104. Note that, if the difficulty of a game is increased, it is likely that a game process illogical for a player is performed. Therefore, it is desirable that damage be caused to the player object30under conditions that all results of determination read out from the determination result storing section120indicate that the player object30contacts the second object. Therefore, in this case, for example, if at least any of the results of determination corresponding to three frames indicates that the player object30does not contact the second object, damage is not caused to the player object30, whereby the difficulty of a game can be reduced.

Also, although it has been assumed in this embodiment that the player object30is the first object of the present invention and the block31is the second object of the present invention, the first and second objects are not limited to those. For example, the first object may be an enemy object and the second object may be a player object. In such a case, when the player object is in an invincible state in which the player object is not damaged even if being attacked by the enemy object, then if at least any of the results of determination read out by the read section103indicates that the player object contacts the enemy object, a damage process is performed with respect to the enemy object. Therefore, a game process more advantageous to the player can be performed.

Also, although it has been assumed in this embodiment that the display device of the present invention is the liquid crystal television2, the display device is not limited to the liquid crystal television2and may be a monitor for a personal computer, a projector, a plasma television or the like. These display devices are likely to have a delay as in the liquid crystal television2.

Second Embodiment

Hereinafter, a second embodiment of the present invention will be described. Although it has been assumed in the first embodiment that the predetermined period of time is 2/60 sec, the predetermined period of time is desirably changed as required, depending on a delay time between the execution of contact determination and the display of a game image showing a game space subjected to the contact determination. Specifically, when a display device having a longer delay time is connected to the game apparatus3, the predetermined period of time is desirably set to be, for example, 4/60 sec rather than 2/60 sec. Therefore, in the second embodiment, a case where the predetermined period of time is set to have an optimal value, depending on the type of a display device connected to the game apparatus3, will be described.

FIG. 11is a diagram showing a configuration in which a game apparatus3is communicably connected via the Internet9to a database8. The game apparatus3of the second embodiment has a configuration similar to that of the first embodiment, except that the game apparatus3is communicably connected via the Internet9to the database8, and that the game apparatus3includes some different functional sections. Therefore, in the second embodiment, the same components as those of the first embodiment are indicated by the same reference symbols and will not be described. Different points will be described.

As shown inFIG. 11, the game apparatus3is communicably connected via the Internet9to the database8. The database8stores model numbers of display devices in association with their delay times. Here, the delay time is a time lag between the execution of a game process including contact determination in the game apparatus3and the display of a game image showing a game space subjected to the game process on the display device. Thus, the database8stores identification information (here, the model numbers of display devices) for identifying the display devices in association with their delay times. Note that the identification information for identifying the display devices is not limited to the model numbers of the display devices, and may be the names, manufacturers or the like of the display devices.

FIG. 12is a diagram showing an exemplary functional configuration of the game apparatus3which executes a game program stored in a storage medium according to the second embodiment. As shown inFIG. 12, a CPU10of the game apparatus3functionally comprises, as in the first embodiment, a contact determination section100, a reception reaction101, an input determining section102, a second processing section105, and a game image generating section106. Also, the CPU10functionally comprises a read section113and a first processing section114instead of the read section103and the first processing section104, and further comprises a first acquisition section107, a second acquisition section108, and a setting section109.

The first acquisition section107acquires identification information of a display device to which the game apparatus3is connected. Specifically, the first acquisition section107transmits, to the display device to which the game apparatus3is connected, a command to request the identification information of the display device. By receiving the identification information returned from the display device in response to the command, the first acquisition section107acquires the identification information of the display device. Note that, for example, the first acquisition section107may cause the display device to which the game apparatus3is connected to display a list of identification information of display devices, and identification information selected by a player's operational input to the controller7may be acquired as the identification information of the display device.

The second acquisition section108acquires, from the database8, a delay time corresponding to the identification information acquired by the first acquisition section107. Specifically, the second acquisition section108accesses the database8via the Internet9and receives, from the database8, a delay time associated with the same identification information as that acquired by the first acquisition section107.

The setting section109sets a predetermined period of time based on the delay time acquired by the second acquisition section108. Specifically, the setting section109changes the number of results of determination stored in the determination result storing section120by changing the size of the storage area used as the determination result storing section120of the external main memory12. For example, when the delay time acquired by the second acquisition section108is 3/60 sec, the predetermined period of time is decided as 3/60 sec, and the size of the storage area used as the determination result storing section120is changed so as to store results of determination corresponding to four frames, i.e., from a latest result of determination to a result of determination three frames before the latest result of determination. Alternatively, for example, when the delay time acquired by the second acquisition section108is 1/60 sec, the predetermined period of time is decided as 1/60 sec, and the size of the storage area used as the determination result storing section120is changed so as to store results of determination corresponding to two frames, i.e., from a latest result of determination to a result of determination one frame before the latest result of determination.

The read section113functions in a manner similar to that of the read section103of the first embodiment, except that only a result of determination the predetermined period of time before is read out from the determination result storing section120. Thus, in the second embodiment, only a result of determination the predetermined period of time before is read out from the determination result storing section120, and therefore, the first processing section114takes into consideration only the result of determination the predetermined period of time before when a jump process is performed. Note that the first processing section114functions in a manner similar to that of the first processing section104of the first embodiment, except that not all results of determination stored in the determination result storing section120are taken into consideration.

Hereinafter, process steps performed by the game apparatus3will be described with reference toFIG. 13.FIG. 13is a flowchart showing an exemplary process performed in the game apparatus3which executes a game program stored in a storage medium according to a second embodiment of the present invention. Note that the process steps ofFIG. 13include the same process steps as those ofFIG. 10, which are indicated by the same step numbers and will not be described.

After the initial process of step S1is completed, the first acquisition section107acquires identification information from the liquid crystal television2(step S21). Specifically, the first acquisition section107outputs a command to request transmission of identification information to the liquid crystal television2, and receives identification information returned from the liquid crystal television2. When receiving the identification information, the second acquisition section108accesses the database8and acquires from the database8a delay time corresponding to the identification information acquired by the first acquisition section107(step S22).

After the second acquisition section108acquires the delay time, the setting section109sets the predetermined period of time based on the delay time (step S23). Specifically, the setting section109decides the predetermined period of time as a period of time corresponding to the delay time, and divides the decided predetermined period of time by a time interval in which contact determination is performed, thereby calculating the number of frames corresponding to the predetermined period of time. For example, when the predetermined period of time is 4/60 sec and the time interval is 1/60 sec, the number of frames is calculated as “4.” The setting section109changes the size of the storage area used as the determination result storing section120so that a result of determination the calculated number of frames before is the oldest result of determination. After the predetermined period of time is thus set, control proceeds to step S2.

In step S7, when the input determining section102determines that an operational input for causing the player object30to jump has been performed with respect to the controller7(step S7: YES), the read section113reads out only a result of determination the predetermined period of time (changed by the process of step S23) before from the determination result storing section120(step S24). In this embodiment, the read section113reads only a result of determination four frames before from the determination result storing section120. The first processing section114determines whether or not the result of determination read out by the read section113indicates that there is a place to kick at a foot of the player object30(step S25). By the process of step S25, it is decided whether or not the jump process of step S10is to be performed.

Note that, in the process of step S24, as is different from the process of step S8in the first embodiment, only a result of determination the predetermined period of time before is read out from the determination result storing section120. This is because a time lag between the execution of a game process including contact determination and the display of a game image showing the result of the game process is obvious from the delay time acquired in step S22, and a latest result of determination and an intermediate result of determination do not necessarily need to be taken into consideration.

As described above, according to the second embodiment of the present invention, the predetermined period of time of the present invention is set to have a value optimal to a display device connected to the game apparatus3, thereby making it possible to more effectively prevent a game process performed, depending on the result of contact determination with respect to objects, from being illogical for a player. Moreover, the first processing section114takes only a single result of determination into consideration when it is decided whether or not a jump process is to be performed, resulting in a reduction in processing load of the CPU10as compared to the first embodiment.

Although it has been assumed in this embodiment that the delay times of display devices are stored in the database8, performance information indicating performance (e.g., a data processing rate) of the display devices may be stored in the database8in association with the identification information of display devices. In this case, in the game apparatus3, the second acquisition section108may acquire from the database8performance information corresponding to a display device to which the game apparatus3is connected, calculate a delay time from the acquired performance information by a predetermined calculation process, and set the calculated delay time as the predetermined period of time.

Also, although it has been assumed in this embodiment that the network of the present invention is the Internet9, the network may be other networks, such as a LAN (Local Area Network), a WAN (Wide Area Network), and the like.

Also, the second acquisition section108may be caused to function as a delay time receiving means for receiving from the controller7an input of the delay time of a display device to which the game apparatus3is connected, while the setting section109may be caused to function as a setting means for setting the predetermined period of time based on the delay time received by the second acquisition section108. As a result, an effect similar to the second embodiment can be obtained without adding to the game system an environment in which the database8or the Internet9is connected. Note that, in this case, the first acquisition section107is not required.

Third Embodiment

Hereinafter, a third embodiment of the present invention will be described. As described above, a player can control a behavior of the player object30(seeFIGS. 9A and 9B) by operating the controller7. However, the player's sensation of operating the controller7does not necessarily match a result of a game process which is performed, depending on an operational input with respect to the controller7. Therefore, when the player object30is moved at high speed, there may be an error between a position of the player object30visually recognized by a player and an actual position of the player object30, so that a game process which is not intended by the player may be performed. For example, there is a case where, although the player recognizes that the player object30is not dropping off the block31, the player object30is actually dropping off the block31. In the third embodiment, only when the player object30is moved at high speed, a process of reducing the aforementioned error in a game process is performed.

The game apparatus of the third embodiment has a configuration similar to that of the game apparatus3of the first embodiment, except for a portion of the functional configuration of the game apparatus. Therefore, in the third embodiment, the same components as those of the game apparatus3of the first embodiment are indicated by the same reference symbols and will not be described. Different points will be described.

FIG. 14is a diagram showing an exemplary functional configuration of the game apparatus3which executes a game program stored in a storage medium according to the third embodiment. As shown inFIG. 14, a CPU10of the game apparatus3functionally comprises, as in the first embodiment, a contact determination section100, a reception reaction101, an input determining section102, a second processing section105, and a game image generating section106. Also, the CPU10functionally comprises a read section123and a first processing section124instead of the read section103and the first processing section104, and further comprises a speed detecting section111and a speed determining section110.

The speed detecting section111detects a moving speed of the player object30. Specifically, the speed detecting section111calculates and detects the moving speed of the player object30based on the operational information obtained by the reception reaction101.

The speed determining section110determines whether or not the moving speed of the player object30detected by the speed detecting section111is a predetermined speed or higher. Specifically, the speed determining section110calculates the moving speed of the player object30based on operational information transmitted from the controller7, and determines whether or not the calculated speed is the predetermined speed or higher. When the speed determining section110determines that the moving speed of the player object30is the predetermined speed or higher, the read section123reads out all results of determination from the determination result storing section120. Also, when the speed determining section110determines that the moving speed of the player object30is lower than the predetermined speed, the read section123reads out only a latest result of determination from the determination result storing section120. Thus, the read section123changes results of determination which are to be read out from the determination result storing section120, depending on the result of determination by the speed determining section110, which is different from the read section103of the first embodiment. The first processing section124, when deciding whether or not a jump process is to be performed, may take into consideration either all results of determination stored in the determination result storing section120or only a latest result of determination, depending on the result of determination by the speed determining section110, which is different from the first processing section104in the first embodiment.

Hereinafter, process steps performed in the game apparatus3will be described with reference toFIG. 15.FIG. 15is a flowchart showing an exemplary process performed in the game apparatus3which executes a game program stored in a storage medium according to the third embodiment of the present invention. Note that the process steps ofFIG. 15include the same process steps as those ofFIG. 10, which are indicated by the same step numbers and will not be described.

When the input determining section102determines that an operational input for causing the player object30to jump has been performed with respect to the controller7(step S7: YES), the speed detecting section111detects the moving speed of the player object30based on operational information obtained by the reception reaction101(step S31). In response to this, the speed determining section110determines whether or not the moving speed of the player object30detected by the speed detecting section111is the predetermined speed or higher (step S32). When the speed determining section110determines that the moving speed of the player object30is lower than the predetermined speed (step S32: NO), the read section123reads out only a latest result of determination from the determination result storing section120(step S33). Thereafter, the first processing section124determines whether or not the latest result of determination read out by the process of step S33indicates that there is a place to kick at a foot of the player object30(step S34). When the latest result of determination indicates that there is a place to kick at a foot of the player object30(step S34: YES), the first processing section124performs the jump process of step S10. Conversely, when the latest result of determination indicates that there is not a place to kick at a foot of the player object30(step S34: NO), control proceeds to step S11.

When the speed determining section110determines that the moving speed of the player object30is the predetermined speed or higher (step S32: YES), the read section123reads out all results of determination from the determination result storing section120(step S8). In response to this, the first processing section124determines whether or not at least any of the results of determination corresponding to three consecutive frames read out by the read section123indicates that there is a place to kick at a foot of the player object30(step S9). When the result of determination by the first processing section124is positive, the jump process of step S10is performed. Thus, the first processing section124performs the jump process only when the speed determining section110determines that the moving speed of a player object is a predetermined speed or higher and at least one result of determination indicates that there is a place to kick.

As described above, according to the third embodiment of the present invention, when the moving speed of the player object30is lower than the predetermined speed, it is considered that there is substantially no error between a position of the player object30visually recognized by a player and an actual position of the player object30, and therefore, it is decided whether or not the jump process is to be performed, taking only a latest result of determination into consideration. Conversely, when the moving speed of the player object30is the predetermined speed or higher, it is considered that there is an error between the position of the player object30visually recognized by a player and the actual position of the player object30, and therefore, it is decided whether or not the jump process is to be performed, taking into consideration a result of determination a predetermined period of time before in addition to a latest result of determination. In other words, when the player object30is moved at high speed, a result of determination (a predetermined period of time before) with respect to a game space shown by a game image visually recognized by a player who is viewing the player object30is taken into consideration. Therefore, the influence of the error on a game process performed in the game apparatus3can be reduced.

Note that it has been assumed in this embodiment that, when it is determined that the moving speed of the player object30is the predetermined speed or higher, all results of determination stored in the determination result storing section120are read out as in the first embodiment. Alternatively, the read section123may be adapted to read out only a result of determination a predetermined period of time before.

Fourth Embodiment

Hereinafter, a fourth embodiment of the present invention will be described. As described in the third embodiment, when the player object30is moved at high speed, it is considered that there is an error between a position of the player object30visually recognized by a player and an actual position of the player object30. It is considered that this error increases with an increase in the moving speed of the player object30. Therefore, in the fourth embodiment, a case will be described where, in order to more effectively remove the influence of the error on a game process performed in the game apparatus3, the predetermined period of time of the present invention is changed during a game based on the moving speed of the player object30.

The game apparatus of the fourth embodiment has a configuration similar to that of the game apparatus3of the first embodiment, except for a portion of the functional configuration of the game apparatus. Therefore, in the fourth embodiment, the same components as those of the game apparatus3of the first embodiment are indicated by the same reference symbols and will not be described. Different points will be described.

FIG. 16is a diagram showing an exemplary functional configuration of the game apparatus3which executes a game program stored in a storage medium according to the fourth embodiment. As shown inFIG. 16, a CPU10of the game apparatus3functionally comprises a contact determination section100, a reception reaction101, an input determining section102, a second processing section105, and a game image generating section106. Also, the CPU10functionally comprises a read section113and a first processing section114instead of the read section103and the first processing section104, and further comprises a speed detecting section111and a time calculating section112.

The speed detecting section111functions in a manner similar to the speed detecting section111of the third embodiment. The time calculating section112calculates the predetermined period of time based on the moving speed detected by the speed detecting section111. For example, when the moving speed detected by the speed detecting section111is V1, the time calculating section112performs a predetermined calculation process to calculate the predetermined period of time as 2/60 sec. Thereafter, when the moving speed detected by the speed detecting section111is changed to V2which is twice as high as V1, the time calculating section112calculates the predetermined period of time as 4/60 sec. Thus, the time calculating section112calculates the predetermined period of time in a manner which allows the predetermined period of time to increase with an increase in the moving speed detected by the speed detecting section111. In this example, the predetermined period of time calculated by the time calculating section112is changed from 2/60 sec to 4/60 sec, depending on a change in the moving speed of the player object30. Due to this change in the predetermined period of time, the size of a storage area used as the determination result storing section120is changed. Note that the read section113and the first processing section114function in a manner similar to that described in the second embodiment and will not be here described in detail.

Hereinafter, process steps of the game apparatus3will be described with reference toFIG. 17.FIG. 17is a flowchart showing an exemplary process performed in the game apparatus3which executes a game program stored in a storage medium according to the fourth embodiment of the present invention. Note that the process steps ofFIG. 17include the same process steps as those ofFIG. 10, which are indicated by the same step numbers and will not be described.

After a game process is started in step S2or when it is determined in step S13that the game process has not been ended (step S13: NO), the speed detecting section111detects the moving speed of the player object30(step S41). When the moving speed of the player object30is detected, the time calculating section112determines whether or not the moving speed of the player object30has been changed across a threshold (step S42). In the game apparatus3, a plurality of thresholds are set so as to categorize changes in the moving speed of the player object30into different discrete levels. In step S42, for each of all the thresholds, the time calculating section112determines whether or not the moving speed detected in step S41becomes higher than the threshold and whether or not the moving speed detected in step S41becomes lower than the threshold. When the time calculating section112determines that the moving speed of the player object30has not been changed across any threshold (step S42: NO), control proceeds to step S3.

When the time calculating section112determines that the moving speed of the player object30has been changed across any threshold (step S42: YES), the predetermined period of time is calculated so that the predetermined period of time increases with an increase in the moving speed detected by the speed detecting section111(step S43). For example, the process of step S43is achieved by holding a table in which the ranges of the moving speed defined by the thresholds are associated with the numbers of frames, and reading out a corresponding number of frames from the table. By execution of the process of step S43, the number of results of determination stored in the determination result storing section120is changed.

In step S7, when the input determining section102determines that an operational input for causing the player object30to jump has been performed with respect to the controller (step S7: YES), the read section113reads out only a result of determination the predetermined period of time before from the determination result storing section120(step S44). In response to this, the first processing section114determines whether or not the result of determination read out by the read section113indicates that the player object30contacts the block31(step S45). Based on this, it is decided where the jump process of step S10is to be performed.

As described above, according to the fourth embodiment of the present invention, as the moving speed of the player object30increases, an older result of determination is read out from the determination result storing section120. Therefore, the influence of the error between the position of the player object30visually recognized by a player and the actual position of the player object30on a game process in the game apparatus3can be effectively reduced.

Note that the perception of the moving speed of the player object30varies from player to player. Therefore, it is not necessarily preferable to take into consideration only a result of determination the predetermined period of time before when it is decided whether or not the jump process is to be performed. Therefore, in step S44, all results of determination may be readout from the determination result storing section120, taking into consideration the difference in perception of the moving speed of the player object30between individual players. Alternatively, a result of determination a predetermined period of time before and a latest result of determination may be read out from the determination result storing section120.

Fifth Embodiment

Hereinafter, a fifth embodiment of the present invention will be described.FIGS. 18A to 18Care diagrams showing game images representing how an arrow33is moving toward a player object30. In the fifth embodiment, a case will be described where a first object is the player object30, a second object is the arrow33which causes damage to the player object30, and a damage process of causing damage to the player object30is performed as a predetermined process.

When the player object30is attacked with the arrow33shot from an enemy object (not shown), the player object30is damaged and the physical strength of the player object30is decreased. When the physical strength of the player object30becomes zero, a game is over. In the game apparatus3, as a portion of a game process, it is repeatedly determined whether or not the player object30contacts the arrow33. When there is a delay between the execution of the game process including the contact determination and the display of a game image showing a game space subjected to the game process on the liquid crystal television2, a game image showing a game space ofFIG. 18Adelayed by, for example, two frames is displayed on the liquid crystal television2at the time when the contact determination is performed with respect of the player object30and the arrow33in a game space ofFIG. 18C. Therefore, there may occur a phenomenon that even if a player who is viewing a game image (seeFIG. 18A) displayed on the liquid crystal television2recognizes that the player object30can avoid the arrow33, the game apparatus3determines that the player object30contacts the arrow33in a game space (seeFIG. 18C) in which the contact determination is being performed, so that the player object30is damaged. In the fifth embodiment, a process which is performed in the game apparatus3so as to eliminate such a phenomenon will be described.

The game apparatus of the fifth embodiment has a configuration similar to that of the game apparatus3of the first embodiment, except for a portion of the functional configuration of the game apparatus. Therefore, in the fifth embodiment, the same components as those of the game apparatus3of the first embodiment are indicated by the same reference symbols and will not be described. Different points will be described.

FIG. 19is a diagram showing an exemplary functional configuration of the game apparatus3which executes a game program stored in a storage medium according to the fifth embodiment. As shown inFIG. 19, a CPU10of the game apparatus3functionally comprises, as in the first embodiment, a reception reaction101, an input determining section102, a read section103, a second processing section105, and a game image generating section106. Also, the CPU10functionally comprises a contact determination section130and a first processing section134instead of the contact determination section100and the first processing section104, which is different from the first embodiment.

The contact determination section130repeatedly determines whether or not the player object30contacts the arrow33(e.g., at intervals of 1/60 sec). This contact determination is performed in a manner similar to the process of determining whether or not the player object30contacts the block31and will not be here described.

The first processing section134determines whether or not all results of determination read out from the determination result storing section120by the read section103indicate that the player object30contacts the arrow33. The first processing section134performs a damage process of causing damage to the player object33as the predetermined process only when all the results of determination indicate that the player object30contacts the arrow33.

Hereinafter, process steps performed in the game apparatus3will be described with reference toFIG. 20.FIG. 20is a flowchart showing an exemplary process performed in the game apparatus3which executes a game program stored in a storage medium according to the fifth embodiment of the present invention. Note that the process steps ofFIG. 20include the same process steps as those ofFIG. 10, which are indicated by the same step numbers and will not be described.

After a game process is started in step S2or when it is determined in step S13that the game process has not been ended (step S13: NO), the contact determination section130determines whether or not the player object30contacts the arrow33(step S51). Therefore, in a process of step S6, a result of determination indicating that the player object30contacts the arrow33or a result of determination indicating that the player object30does not contact the arrow33is stored in the determination result storing section120.

When a latest result of determination is stored into the determination result storing section120, the read section103reads out all results of determination from the determination result storing section120(step S8). In response to this, the first processing section134determines whether or not all the results of determination thus read out indicate that the player object30contacts the arrow33(step S52). When the first processing section134determines that any of the results of determination indicates that the player object30does not contact the arrow33(step S52: NO), control proceeds to step S11. In other words, the damage process is not performed with respect to the player object30. When determining that all the results of determination thus read out indicate that the player object30contacts the arrow33(step S52: YES), the first processing section134performs the damage process with respect to the player object30(step S53). Specifically, the first processing section134performs a process of reducing the physical strength of the player object30.

As described above, when it is decided whether or not the damage process is to be performed with respect to the player object30, a result of determination (a predetermined period of time before) with respect to a game space shown by a game image which a player is viewing is taken into consideration. Therefore, it is possible to prevent a game process illogical for a player, such as a process of causing damage to the player object30though the player recognizes that the player object30can avoid the arrow33, from being performed.

Also, if at least one result of determination indicates that the player object30does not contact the arrow33, the player object30is not damaged. Therefore, the player object30is less likely to be damaged, so that the difficulty of a game, such as a shooting game, an action game or the like, can be reduced.

Although it has been assumed in the first to fifth embodiments that the first object is the player object30, the second object is another object which may contact the player object30(the block31or the arrow33), the first and second objects may be other objects. For example, the player object30may be the second object and the arrow33may be the first object. In this case, as the predetermined process, a process of erasing the arrow33which contacts the player object30may be performed.

Also, although it has been assumed in the first to fourth embodiments that the jump process is performed as the predetermined process and it has been assumed in the fifth embodiment that the damage process is performed as the predetermined process, any of the jump processes of the first to fourth embodiments and the damage process of the fifth embodiment may be performed in combination. In this case, for example, as the predetermined process, two or more processes (e.g., the jump process and the damage process) may be selectively performed with respect to the player object30by the first processing section104. For example, the jump process is permitted if at least one result of determination stored in the determination result storing section120indicates that the player object30contacts the block31, while the damage process is permitted if all results of determination stored in the determination result storing section120indicate that the player object30contacts the arrow33. Thus, predetermined conditions may be previously defined, depending on the predetermined process. As a result, the first processing section104can perform the predetermined process under optimal conditions which depend on the predetermined process.

Also, although it has been assumed in the first to fifth embodiments that the present invention is applied to an action game, the present invention is applicable to various games which require the contact determination with respect to objects, i.e., is applicable to a baseball game, a martial arts game and the like in addition to an action game, a shooting game and the like.

The present invention is applicable to a computer readable storage medium storing a game program executable by a computer of a game apparatus which performs the contact determination with respect to objects in a game space and performs a game process, depending on the result of determination, a game apparatus and the like.

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.

Claims

  1. A non-transitory computer readable storage medium storing a game program executable by a computer of a game apparatus which outputs to a display device a game image showing a behavior of an object in a game space, the game program causing the computer to execute instructions comprising: repeatedly determining whether or not a first object contacts a second object at a first point in time and at a second point in time, the second point in time being a latest result of determination stored after the first point in time;successively storing results of the repeated determination;and performing a predetermined process with respect to the first object when, of the results of the stored determination, at least one result of determination includes determining that the first object contacted the second object at the first point in time.
  1. The non-transitory computer readable storage medium according to claim 1 , wherein the predetermined process is performed with respect to the first object when at least one of a result of determining whether or not the first object contacts the second object at the first point in time and at the second point in time satisfies predetermined conditions.
  2. The non-transitory computer readable storage medium according to claim 2 , wherein the predetermined process is performed with respect to the first object when at least one of the result of determining whether or not the first object contacts the second object at the first point in time and at the second point in time indicates that the first object contacts the second object.
  3. The non-transitory computer readable storage medium according to claim 2 , wherein the game apparatus includes an input device which is operated by a player, the game program causes the computer to further execute instructions comprising: receiving an operational input from the input device, and performing the predetermined process with respect to the first object when at least one of a result of determination at the time of the reception of the operational input and a result of determination a predetermined period of time before the time of the reception of the operational input satisfies the predetermined conditions.
  4. The non-transitory computer readable storage medium according to claim 1 , wherein the predetermined process is performed with respect to the first object when at least one of a result of determining whether or not the first object contacts the second object at the first point in time, the second point in time, or an intermediate point in time after the first point in time and before the second point in time, satisfies predetermined conditions.
  5. The non-transitory computer readable storage medium according to claim 1 , wherein the predetermined process is performed with respect to the first object when only a result of determining whether or not the first object contacts the second object at the first point in time satisfies predetermined conditions.
  6. The non-transitory computer readable storage medium according to claim 1 , wherein the predetermined process is performed with respect to the first object when the at least one result of determination indicates that the first object contacts the second object.
  7. The non-transitory computer readable storage medium according to claim 1 , wherein the game apparatus includes an input device which is operated by a player, the game program causes the computer to further execute instructions comprising: receiving an operational input from the input device, and the first object is a player object which behaves in the game space based on the received operational input.
  8. The non-transitory computer readable storage medium according to claim 8 , wherein the game program causes the computer to further execute instructions comprising: determining whether or not the received operational input is a predetermined operational input, and performing the predetermined process only when the at least one result of determination satisfies the predetermined conditions and the received operational input is the predetermined operational input.
  9. The non-transitory computer readable storage medium according to claim 9 , wherein the second object is an object representing a topographic feature, and the predetermined process is a jump process of causing the first object to jump by kicking or hitting the second object.
  10. The non-transitory computer readable storage medium according to claim 8 , wherein the second object is an object which causes damage to the first object, and a damage process of causing damage to the first object is performed as the predetermined process when all of the results of determination indicate that the first object contacts the second object.
  11. The non-transitory computer readable storage medium according to claim 8 , wherein two or more processes can execute as the predetermined process with respect to the first object, and predetermined conditions are previously defined for each of the two or more processes.
  12. The non-transitory computer readable storage medium according to claim 1 , wherein the display device is any of a liquid crystal television, a monitor of a personal computer, a projector and a plasma television, and a predetermined period of time is set to correspond to a delay time between execution of the contact determination and display of a game image showing a game space subjected to the contact determination on the display device.
  13. The non-transitory computer readable storage medium according to claim 13 , wherein the game program causes the computer to further execute instructions comprising: receiving the delay time of the display device to which the game apparatus is connected;and setting the predetermined period of time based on the received delay time.
  14. The non-transitory computer readable storage medium according to claim 13 , wherein the game apparatus is communicably connected via a network to a database for storing identification information for identifying a display device in association with the delay time, and the game program causes the computer to further execute instructions comprising: acquiring the identification information of the display device to which the game apparatus is connected;acquiring from the database a delay time corresponding to the acquired identification information;and setting the predetermined period of time based on the acquired delay time.
  15. The non-transitory computer readable storage medium according to claim 1 , wherein a predetermined period of time is based on a moving speed of the first object.
  16. The non-transitory computer readable storage medium according to claim 16 , wherein the game program causes the computer to further execute instructions comprising: detecting the moving speed of the first object;and calculating the predetermined period of time based on the detected moving speed, and calculating the predetermined period of time so that the predetermined period of time increases with an increase in the detected moving speed.
  17. The non-transitory computer readable storage medium according to claim 1 , wherein the game program causes the computer to further execute instructions comprising: detecting a moving speed of the first object;determining whether or not the detected moving is a predetermined speed or higher, and performing the predetermined process only when the at least one result of determination satisfies predetermined conditions that the detected moving speed is the predetermined speed or higher.
  18. A game apparatus comprising at least one processor and for outputting to a display device a game image showing a behavior of an object in a game space, the at least one processor controlling the game apparatus to: repeatedly determine whether or not a first object contacts a second object at a first point in time and at a second point in time, the second point in time being a latest result of determination stored after the first point in time;successively store results of the repeated determination into a memory;and perform a predetermined process with respect to the first object when, of the results of determination stored in the memory, at least one result of determination includes determining that the first object contacted the second object at the first point in time.
  19. A game processing method executable by a game apparatus having one or more processors which outputs to a display device a game image showing a behavior of an object in a game space, the method comprising: repeatedly determining whether or not a first object contacts a second object at a first point in time and at a second point in time, the second point in time being a latest result of determination stored after the first point in time;successively storing results of the repeated determination;and performing a predetermined process with respect to the first object when, of the results of the stored determination, at least one result of determination includes determining that the first object contacted the second object at the first point in time.
  20. A game processing system, comprising: a display device configured to display image data;and a game apparatus having one or more processors and configured to output to the display device a game image showing a behavior of an object in a game space, the one or more processors controlling the game apparatus to: repeatedly determine whether or not a first object contacts a second object at a first point in time and at a second point in time, the second point in time being a latest result of determination stored after the first point in time, successively store results of the repeated determination into a memory, and perform a predetermined process with respect to the first object when, of the results of determination stored in the memory, at least one result of determination includes determining that the first object contacted the second object at the first point in time.
  21. The non-transitory computer readable storage medium according to claim 1 , wherein a duration between the first point in time and the second point in time is determined based on a visual delay time of the display device, and the predetermined process is performed taking into account the duration such that a display of the behavior of the first object in the game space is shown with substantially no visual delay time on the display device.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.