VIDEO GAME PROGRAM, VIDEO GAME DEVICE, AND VIDEO GAME CONTROL METHOD

An object is to realize that an object is caused to move based on the acceleration data detected by an acceleration sensor when a controller is moved and the controller is caused to vibrate by a vibration mechanism when the moved object makes contact with another object. In the present game program, velocity magnitude data of a controller and velocity magnitude data of an object are calculated based on acceleration data and time interval data, both of which are recognized by a control unit. Then, it is judged by the control unit whether or not the coordinate data within the display range of a moving bat character corresponds to the coordinate data within the display range of a ball character. Next, vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity of the bat. Accordingly, a command for outputting the vibration control data to the controller is issued by the control unit.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO THE RELATED APPLICATION

This application claims priority to Japanese Patent Application No. 2005-372072 and International Patent Application No. PCT/JP2006/321230. The entire disclosure of Japanese Patent Application No. 2005-372072 and International Patent Application No. PCT/JP2006/321230 is hereby incorporated herein by reference.

BACKGROUND ON INVENTION

1. Technical Field

The preset invention relates to a video game program, particularly to a video game program for causing a computer to realize a video game in which a plurality of objects are displayed on an image display unit, and an object is caused to move based on the acceleration data detected by an acceleration sensor when a controller in which the acceleration sensor and a vibration mechanism are embedded is moved, and the controller is caused to vibrate by the vibration mechanism when the moved object makes contact with another object. Also, the present invention relates to a video game device that is capable of executing the video game to be realized by the video game program, and relates to a video game control method for allowing a computer to control the video game to be realized by the video game program.

2. Background Art

Various video games have been proposed in the past. The video games are configured to be executed in a game device. For example, a general game device includes a monitor, a game console that is provided separately from the monitor, and an input unit (e.g., a controller) that is provided separately from the game console. An input part (e.g., a plurality of input buttons) is disposed on the controller. A game device of this type is configured to be capable of causing an object displayed on the monitor to perform an action by manipulating the input buttons.

A situation is hereinafter considered that a versus-type game (e.g., baseball game) is executed in a game device of this type. In the baseball game, it is possible to cause an object displayed on a monitor (e.g., a bat of a batter character) to perform an action by manipulating input buttons of a controller. JIKKYOU PAWAFURU PURO YAKYU 9 KETTEIBAN, Konami Corporation, for PS2 discloses such game, as an example. In this case, first of all, either a contact hitting cursor is set to either a powerful swing mode or a normal swing mode by pressing a contact hitting cursor selection button. Then, when up, down, right, and left portions of a cross-shaped button are pressed, the contact hitting cursor accordingly moves up, down, right, and left. Next, if an X button is pressed so that a bat is capable of hitting a ball when the ball released by a pitcher character reaches a ball passing position on a hitting surface, the batter character starts swinging the bat. Accordingly, the bat displayed on the monitor starts moving at the constant velocity. Then, if the pitched ball is capable of being hit with the bat moving on the monitor when the pitched ball reaches the hitting surface, the pitched ball is hit back with the bat. Here, the controller is configured to vibrate in a weak vibration pattern when the bat makes solid contact with the ball, and is configured to vibrate in a strong vibration pattern when the bat did not make solid contact with the ball.

SUMMARY OF INVENTION

In the conventional baseball game, a controller is configured to vibrate either in a vibration pattern for a condition that a bat could make solid contact with a ball or in a vibration pattern for a condition that a bat could not make solid contact with a ball. Accordingly, a game player is capable of experiencing a sense that a batter feels when he hits a ball in the real baseball by means of the controller's vibration in a simulated way. However, the sense that a batter feels when he hits a ball in the real baseball is largely influenced not only by whether or not a bat could make solid contact with a ball but also the magnitude of the swing velocity of a batter. For the purpose of allowing a game player to experience the above described sense with the controller in a simulated way, it is necessary to evaluate the swing velocity of a batter such as the moving velocity of a bat displayed on a monitor and to create the data for causing the controller to vibrate based on the evaluation. However, the conventional baseball game could not appropriately evaluate the moving velocity of a bat, that is, the swing velocity of a batter. Therefore, it has been difficult to cause a controller to vibrate depending on the swing velocity of a batter when a ball is hit with a bat.

An object of the present invention is to make it possible to cause an object to move based on the acceleration data detected by an acceleration sensor when a controller in which the acceleration sensor and a vibration mechanism are embedded moves, and to cause the controller to vibrate with the vibration mechanism when the moved object makes contact with another object.

A video game program in accordance with a first aspect of the present invention is a program for causing a computer, which is configured to be capable of realizing a video game in which a plurality of objects are displayed on an image display unit and an object is caused to move based on the acceleration data detected by an acceleration sensor when a controller in which the acceleration sensor and a vibration mechanism are embedded is moved and the controller is caused to vibrate by the vibration mechanism when the moved object makes contact with another object, to realize the following functions.

(1) An object displaying function of displaying the plurality of objects on the image display unit with the image data corresponding to the objects.

(2) An acceleration data recognizing function of causing a control unit to recognize the acceleration data to be continuously inputted into an input unit from the controller.

(3) A time interval data recognizing function of causing the control unit to recognize a time interval of the acceleration data to be continuously inputted into the input unit from the controller as the time interval data.

(4) A velocity data calculating function of causing the control unit to calculate the velocity magnitude data of the controller based on the acceleration data and the time interval data, both of which are recognized by the control unit.

(5) An object moving velocity data calculating function of causing the control unit to calculate the velocity magnitude data of the object based on the velocity magnitude data of the controller.

(6) An object moving state displaying function of continuously displaying a state of at least one of the plurality of objects displayed on the image display unit moving at the velocity set by the velocity magnitude data of the object on the image display unit with the image data corresponding to the object(s).

(7) A range data recognizing function of causing the control unit to recognize the coordinate data within the display range of the plurality of objects.

(8) An object correspondence judging function of causing the control unit to judge whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object.

(9) A vibration control data calculating function of causing the control unit to calculate the vibration control data for controlling vibration of the controller depending on the velocity set by the velocity magnitude data of the object when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object.

(10) A vibration control data issuing function of causing the control unit to issue a command for outputting the vibration control data to the controller.

According to the game to be realized by the program, in the object displaying function, the plurality of objects are displayed on the image display unit with the image data corresponding to the objects. In the acceleration data recognizing function, the acceleration data to be continuously inputted into the input unit from the controller is recognized by the control unit. In the time interval data recognizing function, the time interval of the acceleration data to be continuously inputted into the input unit from the controller is recognized as the time interval data by the control unit. In the velocity data calculating function, the velocity magnitude data of the controller is calculated by the control unit based on the acceleration data and the time interval data, both of which are recognized by the control unit. In the object moving velocity data calculating function, the velocity magnitude data of the object is calculated by the control unit based on the velocity magnitude data of the controller. In the object moving state displaying function, the state of at least one of the plurality of objects displayed on the image display unit moving at the velocity set by the velocity magnitude data of the object is continuously displayed on the image display unit with the image data corresponding to the object(s). In the range data recognizing function, the coordinate data within the display range of the plurality of objects are recognized by the control unit. In the object correspondence judging function, it is judged by the control unit whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object. In the vibration control data calculating function, when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the object. In the vibration control data issuing function, the command for outputting the vibration control data to the controller is issued by the control unit.

When a baseball game to be realized by the game program is exemplified, a plurality of objects, such as a batter character (including a bat character) and a ball character, are displayed on the image display unit with the image data corresponding to each of the characters. Also, the acceleration data to be continuously inputted into the input unit from the controller is recognized by the control unit. Then, a time interval of the acceleration data to be continuously inputted into the input unit from the controller is recognized as the time interval data by the control unit. Then, the velocity magnitude data of the controller is calculated by the control unit based on the acceleration data and the time interval data, both of which are recognized by the control unit. Next, the velocity magnitude data of the bat character is calculated by the control unit based on the velocity magnitude data of the controller. Accordingly, a state of the bat character, which is displayed on the image display unit, moving at the velocity set by the velocity magnitude data of the bat is continuously displayed on the image display unit with the image data corresponding to the bat character. Also, the coordinate data within the display range of the bat character and that of the ball character are recognized by the control unit. Accordingly, it is judged by the control unit whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the bat corresponds to the coordinate data within the display range of the ball character. Then, if it is judged by the control unit that the coordinate data within the display range of the bat moving at the velocity set by the velocity magnitude data of the bat corresponds to the coordinate data within the display range of the ball character (if the ball is hit with the bat), the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the bat. Next, a command for outputting the vibration control data to the controller is issued by the control unit. Accordingly, the controller is caused to vibrate by the vibration mechanism that received the vibration control data.

In the game program, it is possible to cause the bat character to move in conjunction with movement of the controller in which the acceleration sensor and the vibration mechanism are embedded. Then, when the ball is capable of being hit with the bat, the vibration control data for the controller depending on the velocity of the bat character is calculated, and the vibration control data for the controller is outputted from the control unit to the vibration mechanism of the controller. Because of this, it becomes possible to cause the controller to vibrate depending on the velocity of the bat character. In other words, it is possible to cause the controller to vibrate by the vibration mechanism depending on the velocity of the object (bat) when the moved object (bat) makes contact with another object (ball).

A video game program in accordance with a second aspect of the present invention is the game program of the first aspect, and the following function is further realized.

(11) Another object moving state displaying function of continuously displaying a state of the another object moving at the velocity set by the velocity magnitude data of the another object on the image display unit with the image data corresponding to the another object.

According to the game to be realized by the program, in the another object moving state displaying function, the state of the another object moving at the velocity set by the velocity magnitude data of the another object is continuously displayed on the image display unit with the image data corresponding to the another object. Accordingly, in the vibration control data calculating function, when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the object and the velocity set by the velocity magnitude data of the another object.

When a baseball game to be realized by the game program is exemplified, a state of a ball character moving at the velocity set by the velocity magnitude data of the ball character is continuously displayed on the image display unit with the image data corresponding to the ball character. Accordingly, when it is judged by the control unit that the coordinate data within the display range of the bat character moving at the velocity set by the velocity magnitude data corresponds to the coordinate data within the display range of the ball character moving at the velocity set by the velocity magnitude data (when the ball is hit with the bat), the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the bat character and the velocity set by the velocity magnitude data of the ball character. Then, a command for outputting the vibration control data to the controller is issued by the control unit, and the controller is caused to vibrate by the vibration mechanism that received the vibration control data.

In the game program, it is possible to cause the bat character to move in conjunction with movement of the controller in which the acceleration sensor and the vibration mechanism are embedded. Then, when the ball character is capable of being hit with the bat character, the vibration control data for the controller depending on the velocity of the bat character and the velocity of the ball character is calculated, and the vibration control data for the controller is outputted from the control unit to the vibration mechanism of the controller. Accordingly, it becomes possible to cause the controller to vibrate depending on the velocity of the bat character and the velocity of the ball character. In other words, when the moving object (bat) makes contact with the another object (ball), it is possible to cause the controller to vibrate by the vibration mechanism depending on the velocity of the object (bat) and the velocity of the another object (ball).

A video game program in accordance with a third aspect of the present invention is the game program of one of the first aspect, and the following function is further realized.

(12) An object hardness recognizing function of causing the control unit to recognize at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object.

According to the game to be realized by the program, in the object hardness recognizing function, at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object is recognized by the control unit. Accordingly, in the vibration control data calculating function, when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the object and at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object.

When a case is exemplified that a fighter having a sword strikes an opponent fighter with the sword in a beat'em up game to be realized by the game program, with a configuration that the control unit is caused to recognize hardness of a sword character moving at the velocity set by the velocity magnitude data of the sword and hardness of an opponent fighter character such as hardness of the armor of the opponent fighter character, if it is judged by the control unit that the coordinate data within the display range of the sword character moving at the velocity set by the velocity magnitude data corresponds to the coordinate data within the display range of the opponent fighter character, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the sword character, the hardness of the sword character, and the hardness of the armor of the opponent fighter character. Then, a command for outputting the vibration control data to the controller is issued by the control unit, and the controller is caused to vibrate by the vibration mechanism that received the vibration control data.

In the game program, it is possible to cause the sword character to move in conjunction with movement of the controller in which the acceleration sensor and the vibration mechanism are embedded. Then, when the sword character is capable of strike the opponent fighter character, the vibration control data for the controller depending on the velocity of the sword character, the hardness of the sword character, and the hardness of the armor of the opponent fighter is calculated, and the vibration control data for the controller is outputted from the control unit to the vibration mechanism of the controller. Because of this, it is possible to cause the controller to vibrate. In other words, when the moving object (sword) makes contact with the another object (opponent fighter), it is possible to cause the controller to vibrate by the vibration mechanism depending on the velocity of the object (sword), the hardness of the object (sword), and the hardness of the another object (opponent fighter).

A vide game program in accordance with a fourth aspect of the present invention is the game program of the first aspect, and the following functions are further realized.

(13) An another object moving state displaying function of continuously displaying a state of the another object moving at the velocity set by the velocity magnitude data of the another object on the image display unit with the image data corresponding to the another object.

(14) An object hardness recognizing function of causing the control unit to recognize at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object.

According to the game to be realized by the program, in the another object moving state displaying function, the state of the another object moving at the velocity set by the velocity magnitude data of the another object is continuously displayed on the image display unit with the image data corresponding to the another object. Then, in the object hardness recognizing function, at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object is recognized by the control unit. Accordingly, when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the object, the velocity set by the velocity magnitude data of the another object, and at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to the another object.

When a case is exemplified that a first fighter having a sword and a second fighter having a sword strike with each other with their swords in a beat'em up game to be realized by the game program, with a configuration that the control unit is caused to recognize hardness of a sword character of the first fighter moving at the velocity set by the velocity magnitude data and hardness of a sword character of the second fighter moving at the velocity set by the velocity magnitude data, if it is judged by the control unit that the coordinate data within the display range of the sword character of the first fighter moving at the velocity set by the velocity magnitude data corresponds to the coordinate data within the display range of the sword character of the second fighter, the vibration control data for controlling vibration of the controller is calculated by the control unit depending on the velocity set by the velocity magnitude data of the sword of the first fighter, the velocity set by the velocity magnitude data of the sword of the second fighter, the hardness of the sword of the first fighter moving at the velocity set by the velocity magnitude data, and the hardness of the sword of the second fighter moving at the velocity set by the velocity magnitude data. Then, a command for outputting the vibration control data to the controller is issued by the control unit, and the controller is caused to vibrate by the vibration mechanism that received the vibration control data.

In the game program, it is possible to cause the sword character of the first fighter to move in conjunction with movement of the controller in which the acceleration sensor and the vibration mechanism are embedded. Here, the sword character of the first fighter is controlled and is caused to move by the AI. Then, when the sword character of the first fighter and the sword character of the second fighter make contact with each other under the condition that the first fighter and the second fighter strike with their swords, the vibration control data for the controller depending on the velocity of the sword of the first fighter, the velocity of the sword of the second fighter, the hardness of the sword of the first fighter, and the hardness of the sword of the second fighter is calculated, and the vibration control data for the controller is outputted from the control unit to the vibration mechanism of the controller. Because of this, it is possible to cause the controller to vibrate. In other words, when the moving object (the sword of the first fighter) makes contact with the another object (the sword of the second fighter), the controller is caused to vibrate by the vibration mechanism depending on the velocity of the object (the sword of the first fighter), the velocity of the another object (the sword of the second fighter), the hardness of the object (the sword of the first fighter), and the hardness of the another object (the sword of the second fighter).

A video game device in accordance with a fifth aspect of the present invention is a game device that is configured to be capable of executing a video game in which a plurality of objects are displayed on an image display unit and an object is caused to move based on the acceleration data detected by an acceleration sensor when a controller in which the acceleration sensor and a vibration mechanism are embedded is moved and the controller is caused to vibrate by the vibration mechanism when the moved object makes contact with another object. The video game device includes object displaying means for displaying the plurality of objects on the image display unit with the image data corresponding to the objects, acceleration data recognizing means for causing a control unit to recognize the acceleration data to be continuously inputted into an input unit from the controller, time interval data recognizing means for causing the control unit to recognize a time interval of the acceleration data to be continuously inputted into the input unit from the controller as the time interval data, velocity data calculating means for causing the control unit to calculate the velocity magnitude data of the controller based on the acceleration data and the time interval data, both of which are recognized by the control unit, object moving velocity data calculating means for causing the control unit to calculate the velocity magnitude data of the object based on the velocity magnitude data of the controller, object moving state displaying means for continuously displaying a state of at least one of the plurality of objects displayed on the image display unit moving at the velocity set by the velocity magnitude data of the object on the image display unit with the image data corresponding to the object(s), range data recognizing means for causing the control unit to recognize the coordinate data within the display range of the plurality of objects, object correspondence judging means for causing the control unit to judge whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, vibration control data calculating means for causing the control unit to calculate the vibration control data for controlling vibration of the controller depending on the velocity set by the velocity magnitude data of the object when it is judged by the control unit that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of the another object, and vibration control data issuing means for causing the control unit to issue a command for outputting the vibration control data to the controller.

A video game control method in accordance with a sixth aspect of the present invention is a game control method that is configured to be capable of controlling a video game in which a plurality of objects are displayed on an image display unit and an object is caused to move based on the acceleration data detected by an acceleration sensor when a controller in which the acceleration sensor and a vibration mechanism are embedded is moved and the controller is caused to vibrate by the vibration mechanism when the moved object makes contact with another object. The video game control method includes recognizing acceleration of an input unit, recognizing time duration of the acceleration, calculating speed of the input unit on the basis of the acceleration and the time duration, calculating first speed of an object having a first range, on the basis of the speed of the input device, displaying the object at the first speed of the first object and a second object having a second range, on the image display unit, judging whether or not the first range at least partially overlaps with the second range, and vibrating the input unit on the basis of the speed of the first object, if the first range at least partially overlaps the second range.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the attached drawings which form a part of this original disclosure.

FIG. 1 is a basic configuration diagram of a video game device in accordance with an embodiment of the present invention.

FIG. 2 is a functional block diagram as an example of the video game device.

FIG. 3 is a diagram for illustrating characters displayed on a television monitor.

FIG. 4 is a diagram for illustrating correspondence between a moving state of a controller and a moving state of a bat.

FIG. 5 is a diagram for illustrating relation among the acceleration data, the velocity data, and the position data.

FIG. 6 is a chart for illustrating functional relation when the position data of a controller is converted into the position data for a television monitor.

FIG. 7 is a diagram for illustrating a method of calculating the distance between a reference point of a ball and that of a bat.

FIG. 8 is a diagram for illustrating a method of synthesizing the velocity of a ball and that of a bat.

FIG. 9 is a diagram for illustrating a method of calculating the vibration control data.

FIG. 10 is a flowchart for illustrating a batting vibration control system.

FIG. 11 is a flowchart for illustrating the batting vibration control system.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Selected embodiments of the present invention will now be explained with reference to the drawings. It will be apparent to those skilled in the art from this disclosure that the following descriptions of the embodiments of the present invention are provided for illustration only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents

Configuration and Operation of Game Device

FIG. 1 shows the basic configuration of a game device in accordance with an embodiment of the present invention. As an example of a video game device, a home video game device will be hereinafter explained. The home video game device includes a home video game console and a home television set. A recording medium 10 is configured to be allowed to be loaded in the home video game console. Game data is arbitrarily read out of the recording medium 10 and a game is executed. The content of the game executed herewith is displayed on the home television set.

The game system of the home video game device is made up of a control unit 1, a memory unit 2, an image display unit 3, an audio output unit 4, an operation input unit 5, and a controller 25, and these units are connected to each other through a bus 6. This bus 6 includes an address bus, a data bus, a control bus, and the like. Here, the control unit 1, the memory unit 2, the audio output unit 4, the operation input unit 5 are included in the home video game console of the home video game device, and the image display unit 3 is included in the home television set.

The control unit 1 is provided for mainly controlling progress of the entire game based on the game program. The control unit 1 is made up of a CPU (Central Processing Unit) 7, a signal processor 8, and an image processor 9, for instance. The CPU 7, the signal processor 8, and the image processor 9 are connected to each other through the bus 6. The CPU 7 interprets a command from a game program and performs a variety of data processing and data control. For example, the CPU 7 commands the signal processor 8 to provide the image data to the image processor. The signal processor 8 mainly performs computations in the three-dimensional space, computations of positional conversion from the three-dimensional space to the virtual three-dimensional space, a light source computation processing, and data generation and data processing of the image data and the audio data. The image processor 9 mainly performs a processing to write the image data to be rendered to a RAM 12 based on the computation results and processing results of the signal processor 8.

The memory unit 2 is provided mainly for storing the program data, various types of data used for the program data, and the like. The memory unit 2 is made up of the recording medium 10, an interface circuit 11, and the RAM (Random Access Memory) 12, for instance. The interface circuit 11 is connected to the recording medium 10. The interface circuit 11 and the RAM 12 are connected through the bus 6. The recording medium 10 serves to store the program data of the operating system, the game data made up of the image data, the audio data, various types of program data, and the like. For example, this recording medium 10 is a ROM (Read Only Memory) cassette, an optical disk, a flexible disk, or the like. The program data of the operating system, the game data, and the like are stored in this recording medium 10. Note that a card memory is also included in the category of the recording medium 10 and is mainly used for storing various game parameters at the point of interruption when the game is interrupted. The RAM 12 is used for temporarily storing various types of data read out of the recording medium 10, and for temporarily recording the processing results from the control unit 1. In addition to various types of data, the address data indicating the memory location of various types of data is stored in the RAM 12, and it is configured to be allowed to specify an arbitrary address and read/write data from/to the address.

The image display unit 3 is provided for mainly outputting the image data written to the RAM 12 by the image processor 9, the image data to be read out of the recording medium 10, and the like, as an image. The image display unit 3 is made up of a television monitor 20, an interface circuit 21, and a D/A converter (Digital-to-Analog converter) 22, for instance. The D/A converter 22 is connected to the television monitor 20, and the interface circuit 21 is connected to the D/A converter 22. In addition, the bus 6 is connected to the interface circuit 21. Here, the image data is provided to the D/A converter 22 through the interface circuit 21, and is herein converted into an analog image signal. Then, the analog image signal is outputted to the television monitor 20 as an image.

Here, the image data includes the polygon data, the texture data, and the like, for instance. The polygon data is the coordinate data of apexes forming the polygon. The texture data is used for setting texture with respect to the polygon, and is made up of the texture specifying data and the texture color data. The texture specifying data is the data for associating the polygon and the texture, and the texture color data is the data for specifying the texture color. Here, the polygon address data and the texture address data, both of which indicate the memory location of each type of data, are associated with the polygon data and the texture data, respectively. With the image data of this type, the coordinate conversion and the perspective projection conversion are performed with respect to the polygon data in the three-dimensional space (i.e., the three-dimensional polygon data) indicated with the polygon address data by the signal processor 8, based on the displacement data and the rotational data of the screen itself (i.e., point of sight). Accordingly, the polygon data is converted into the polygon data in the two-dimensional space (i.e., the two-dimensional polygon data). Then, a polygon outline is constituted with a plurality of two-dimensional polygon data, and the texture data specified by the texture address data is written to the internal area of the polygon. Thus, it is possible to express objects made by applying texture to each polygon, that is, various characters.

The audio output unit 4 is provided mainly for outputting the audio data to be read out of the recording medium 10 as the audio. The audio output unit 4 is made up of a speaker 13, an amplifier circuit 14, a D/A converter 15, and an interface circuit 16, for instance. The amplifier circuit 14 is connected to the speaker 13. The D/A converter 15 is connected to the amplifier circuit 14. The interface circuit 16 is connected to the D/A converter 15. In addition, the bus 6 is connected to the interface circuit 16. Here, the audio data is provided to the D/A converter 15 through the interface circuit 16 and is converted into an analog audio signal. The analog audio signal is amplified by the amplifier circuit 14 and is outputted from the speaker 13 as the audio. ADPCM (Adaptive Differential Pulse Code Modulation) data, PCM (Pulse Code Modulation) data, and the like are included in the category of the audio data, for instance. In the case of the ADPCM data, it is possible to output the audio from the speaker 13 with almost the same type of processing method as described above. In the case of the PCM data, it is possible to output the audio from the speaker 13 with almost the same type of processing method as described above by preliminarily converting the PCM data into the ADPCM data in the RAM 12.

The operation input unit 5 is mainly made up of an operation information interface circuit 18 and an interface circuit 19. The controller 25 is connected to the operation information interface circuit 18, and the interface circuit 19 is connected to the operation information interface circuit 18. In addition, the bus 6 is connected to the interface circuit 19.

The controller 25 is an operating device used by a game player for the purpose of inputting a variety of operating commands, and transmits an operating signal corresponding to a game player's operation to the CPU 7. An acceleration sensor 24 and a vibration mechanism such as a vibration motor 26 are embedded in the controller 25.

For example, a piezo resistance sensor, a capacitance sensor, a magnetic sensor, and the like are included in the category of the acceleration sensor 24. When the controller 25 is moved, magnitude of acceleration of the controller 25 is measured and outputted by the acceleration sensor 24 of this type depending on movement of the controller 25. The acceleration sensor 24, which is herein used, is a triaxial acceleration sensor, and magnitude of accelerations in the triaxial directions are measured and outputted by the acceleration sensor 24 depending on movement of the controller 25. In other words, when the controller 25 is moved, magnitudes of accelerations in the triaxial directions from the acceleration sensor 24 are outputted as the acceleration data from the controller 25 to the operation input unit 5. It is possible to cause the control unit 1 to recognize movement of the controller 25 in the three-dimensional space by causing the control unit 1 to recognize and process the acceleration data.

The vibration motor 26 comes in cylindrical and button versions. In the vibration motor 26, when a motor signal obtained by converting the vibration control data from the control unit 1 by the operation input unit 5 is inputted from the operation input unit 5, a motor rotator rotates at the number of revolutions that corresponds to the motor signal. Then, the vibration motor 26 vibrates depending on the number of revolutions of the motor rotator.

Also, the controller 25 is provided with, for instance, a cross-shaped direction key made up of an up key 17U, a down key 17D, a left key 17L, and a right key 17R. For example, it is possible to move a character, an object, and a cursor on the screen of the television monitor 20 up, down, left, and right by the manipulation of the up key 17U, the down key 17D, the left key 17L, and the right key 17R. When the up key 17U, the down key 17D, the left key 17L, and the right key 17R are respectively manipulated, an operating signal corresponding to each of the keys is outputted from the controller 25 to the operation input unit 5, and a command corresponding to the operating signal is recognized by the control unit 1.

Note that each button and each key provided in the controller 25 are configured to function as ON/OFF switches that become an on-state when pressed from the neutral position by the external pressure and become an off-state by returning to the neutral position when the pressure is released.

The general operations of the home video game device configured as described above will be hereinafter explained. If a power switch (not illustrated in the figure) is turned on and accordingly the game system 1 is powered on, the CPU 7 reads out the image data, the audio data, and the program data from the recording medium 10 based on the operating system stored in the recording medium 10. All or part of the read-out data including the image data, the audio data, and the program data are stored in the RAM 12. Then, the CPU 7 issues commands to the image data and the audio data, both of which are stored in the RAM 12, based on the program data stored in the RAM 12.

In the case of the image data, the signal processor 8 firstly performs the positional computation, the light source computation, and the like for a character in the three-dimensional space based on the command from the CPU 7. Next, the image processor 9 performs a processing of writing the image data to be rendered to the RAM 12 based on the computation results by the signal processor 8. Then, the image data written to the RAM 12 is provided to the D/A converter 15 through the interface circuit 16. Here, the image data is converted into an analog image signal by the D/A converter 15. Then, the image data is provided to the television monitor 20 and is displayed as an image.

In the case of the audio data, the signal processor 8 firstly performs processing to generate and process the audio data based on the command from the CPU 7. Here, processing, such as the pitch conversion, the noise addition, the envelope setting, the level setting, and the reverb addition, is performed for the audio data. Next, the audio data is outputted from the signal processor 8 and is provided to the D/A converter 15 through the interface circuit 16. Here, the audio data is converted into an analog audio signal. Then, the audio data is outputted as the audio from the speaker 13 through the amplifier circuit 14.

Summary of a Variety of Processing in Game Device

A game executed in the present game consol 1 is a baseball game, for instance. The present game console 1 is configured to be capable of executing a video game in which a plurality of objects are displayed on the television monitor 20 of the image display unit 3, an object is caused to move based on the acceleration data detected by the acceleration sensor 24 when the controller 25 in which the acceleration sensor 24 and the vibration motor 26 are embedded is moved, and the controller 25 is caused to vibrate by the vibration motor 26 when the moved object makes contact with another object. FIG. 2 is a functional block diagram for illustrating functions that play major roles in the present invention.

Object displaying means 50 has a function of displaying a plurality of objects on the television monitor 20 of the image display unit 3 with the image data corresponding to the objects. In the object displaying means 50, a plurality of objects are displayed on the television monitor 20 of the image display unit 3 with the image data corresponding to the objects.

Acceleration data recognizing means 51 has a function of causing the control unit 1 to recognize the acceleration data to be consecutively inputted into the input unit from the controller 25. In the acceleration data recognizing means 51, the acceleration data to be consecutively inputted into the input unit from the controller 25 is recognized by the control unit 1. Specifically, the acceleration data recognizing means 51 causes the control unit 1 to judge whether or not a value of the acceleration data recognized by the control unit 1 is greater than or equal to a predetermined value. If it is judged by the control unit 1 that the value of the acceleration data recognized by the control unit 1 is greater than or equal to the predetermined value, the acceleration data is recognized by the control unit 1. In this case, when it is judged by the control unit that the acceleration data recognized by the control unit is greater than or equal to a predetermined value, the acceleration data is configured to be recognized by the control unit. Therefore, even when a game player slightly moves the controller, it is possible to prevent an object such as a bat from moving in conjunction with movement of the controller. In other words, it is possible to prevent an error manipulation that is caused when a game player involuntarily moves the controller

Time interval data recognizing means 52 has a function of causing the control unit 1 to recognize a time interval of the acceleration data to be consecutively inputted into the input unit from the controller 25 as the time interval data. In the time interval data recognizing means 52, a time interval of the acceleration data to be consecutively inputted into the input unit from the controller 25 is recognized by the control unit 1 as the time interval data.

Velocity data calculating means 53 has a function of causing the control unit 1 to calculate the velocity magnitude data of the controller 25 based on the acceleration data and the time interval data, both of which are recognized by the control unit 1. In the velocity data calculating means 53, the velocity magnitude data of the controller 25 is calculated by the control unit 1 based on the acceleration data and the time interval data, both of which are recognized by the control unit 1. Also, the velocity data calculating means 53 has a function of causing the control unit 1 to calculate the position data of the controller 25 based on the acceleration data and the time interval data, both of which are recognized by the control unit 1. In the velocity data calculating means 53, the position data of the controller 25 is calculated by the control unit 1 based on the acceleration data and the time interval data, both of which are recognized by the control unit 1. Specifically, the velocity magnitude data of the controller 25 is calculated by the control unit 1 when the velocity data calculating means 53 causes the control unit 1 to perform the integral calculation for the acceleration data to be consecutively inputted into the operation input unit 5 with the time interval data. Then, the position data of the controller 25 is calculated by the control unit 1 when the means causes the control unit 1 to perform the integral calculation for the velocity magnitude data with the time interval data.

Object moving velocity data calculating means 54 has a function of causing the control unit 1 to calculate the velocity magnitude data of the object based on the velocity magnitude data of the controller 25. In the object moving velocity data calculating means 54, the velocity magnitude data of the object is calculated by the control unit 1 based on the velocity magnitude data of the controller 25. Specifically, in the object moving velocity data calculating means 54, the velocity magnitude data of the object corresponding to the velocity magnitude data of the controller 25 is calculated by the control unit 1. More specifically, in the object moving velocity data calculating means 54, the velocity magnitude data of the object is calculated by the control unit 1 when the calculation of multiplying the velocity magnitude data of the controller 25 by the modification coefficient for the image display is performed by the control unit 1. Note that in the present embodiment, a case in which the velocity magnitude data of the object is calculated by multiplying the velocity magnitude data of the controller 25 by the modification coefficient for the image display is exemplified. However, under the condition that a correspondence table between the velocity magnitude of the controller 25 and the velocity magnitude of the object on the television monitor 20 of the image display unit 3 (velocity obtained by multiplying the velocity magnitude by the modification coefficient) is preliminarily set in the game program, the moving velocity data of the object corresponding to the velocity magnitude data may be configured to be selected by the control unit 1 based on the correspondence table to be provided from the recording medium 10 to the memory unit 2 when the game program is loaded.

Another object velocity data recognizing means 55 has a function of causing the control unit 1 to recognize the velocity magnitude data of another object. In the another object velocity data recognizing means 55, the velocity magnitude data of another object is recognized by the control unit 1. Here, the velocity magnitude data of another object is calculated by the control unit 1 in a method that is almost the same as the conventional method when an operation regarding the velocity of another object is performed in the controller 25.

Another object position data recognizing means 56 has a function of causing the control unit 1 to recognize the position data of another object. In the another object position data recognizing means 56, the position data of another object is recognized by the control unit 1.

Object moving state displaying means 57 has a function of consecutively displaying a state of at least one of a plurality of objects, which is/are displayed on the television monitor 20 of the image display unit 3, moving at the velocity set by the velocity magnitude data of the object on the television monitor 20 of the image display unit 3 with the image data corresponding to the object(s). In the object moving state displaying means 57, a state of at least one of a plurality of objects, which is/are displayed on the television monitor 20 of the image display unit 3, moving at the velocity set by the velocity magnitude data of the object is consecutively displayed on the television monitor 20 of the image display unit 3 with the image data corresponding to the object(s).

Another object moving state displaying means 58 has a function of consecutively displaying a state of another object moving at the velocity set by the velocity magnitude data of another object on the television monitor 20 of the image display unit 3 with the image data corresponding to another object. In the another object moving state displaying means 58, a state of another object moving at the velocity set by the velocity magnitude data of another object is consecutively displayed on the television monitor 20 of the image display unit 3 with the image data corresponding to another object.

Range data recognizing means 59 has a function of causing the control unit 1 to recognize the coordinate data within the display range of a plurality of objects. In the range data recognizing means 59, the coordinate data within the display range of a plurality of objects are recognized by the control unit 1.

Object correspondence judging means 60 has a function of causing the control unit 1 to judge whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of another object. In the object correspondence judging means 60, it is judged by the control unit 1 whether or not the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of another object.

Vibration control data calculating means 61 has a function of causing the control unit 1 to calculate the vibration control data for controlling vibration of the controller 25 depending on the velocity set by the velocity magnitude data of the object when it is judged by the control unit 1 that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of another object.

In the vibration control data calculating means 61, when it is judged by the control unit 1 that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of another object, the vibration control data for controlling vibration of the controller 25 is calculated by the control unit 1 depending on the velocity set by the velocity magnitude data of the object. Specifically, in the vibration control data calculating function, when it is judged by the control unit 1 that the coordinate data within the display range of the object moving at the velocity set by the velocity magnitude data of the object corresponds to the coordinate data within the display range of another object, the vibration control data for controlling vibration of the controller 25 is calculated by the control unit 1 depending on the velocity set by the velocity set by the velocity magnitude data of the object and the velocity set by the velocity magnitude data of another object.

Vibration control data issuing means 62 has a function of causing the control unit 1 to issue a command for outputting the vibration control data to the controller 25. In the vibration control data issuing means 62, a command for outputting the vibration control data to the controller 25 is issued by the control unit 1.

Summary of Batting Vibration Control System in Baseball Game and Flow of a Variety of Processing

A batting vibration control system in the baseball game will be hereinafter explained. In addition, flow of the batting vibration control system illustrated in FIGS. 10 and 11 will be simultaneously explained.

As illustrated in FIG. 3, when a game player operates a batter character in the present baseball game, a pitcher character 71, a batter character 72 holding a bat, a contact hitting cursor area 80 in the reference state are displayed on the television monitor 20 (S1). Here, the initial range data for setting the contact hitting cursor area 80 in the reference state is preliminarily set in the game program, and the initial range data of the contact hitting cursor area 80 is read out of the memory unit 2 and is recognized by the control unit 1.

Here, when a signal, which is issued by the controller 25 when a pitching starting corresponding button (not illustrated in the figure) of the controller 25 is pressed, is received by the control unit 1, a command for causing the pitcher character 71 to start pitching is issued by the control unit 1 based on the game program. Accordingly, a state of the pitcher character 71 performing a pitching motion is displayed on the television monitor 20 by causing the image data (e.g., polygon data) corresponding to the pitcher character 72 to consecutively move (S2). Then, when the predetermined pitching motion of the pitcher character 71 is completed, a command for causing the pitcher character 71 to release a ball is recognized by the control unit 1 (S3).

Accordingly, the control unit 1 starts recognition of velocity magnitude data VB and the position data of the ball released by the pitcher character 71 (S4). Here, the position data of the ball character 74 is made up of the reference coordinate data indicating the center point (reference point) Bm1 of the ball and the coordinate data within the display range of the ball. Then, a state that the ball character 74 released by the pitcher character 71 moves from the pitcher character 71 to the batter character 72 is displayed on the television monitor 20 based on the reference coordinate data indicating the reference point Bm1 of the ball (S5). The state is realized by causing the image data corresponding to the ball character 74 to move from the pitcher character 71 to the batter character 72, and movement of the ball character 74 is herein controlled by the control unit 1 while the reference point Bm1 is set as the reference.

As illustrated in FIG. 4, if a game player moves the controller 25 (e.g., if a game player swings his/her arm together with the controller 25 while holding the controller 25: S6) while a state that the ball character 74 released by the pitcher character 71 moves from the pitcher character 71 to the batter character 72 is displayed on the television monitor 20, acceleration data G detected by the acceleration sensor 24 embedded in the controller 25 is consecutively outputted from the controller 25 to the operation input unit 5 and is inputted into the operation input unit 5 (S7).

Accordingly, it is judged by the controller unit 1 whether or not the absolute value of the acceleration data G inputted into the operation input unit 5 is greater than or equal to a predetermined value (S8). If it is judged by the control unit 1 that the absolute value of the acceleration data G is greater than or equal to the predetermined value (Yes in S8), the acceleration data G is recognized by the control unit 1 (S9). Accordingly, a display starting command for a state of the bat moving with the batter character 72, that is, a state of the batter character 72 swinging the bat, is issued from control unit 1 to the image display unit 3. Here, if it is judged by the control unit 1 that the absolute value of the acceleration data G inputted into the operation input unit 5 is less than the predetermined value (No in S8), the acceleration data G is not recognized by the control unit 1 (S1). In other words, the bat does not move with the batter character 72 (the batter character 72 does not swing the bat).

When the acceleration data G is sequentially recognized by the control unit 1, a time interval of the acceleration data G consecutively inputted into the operation input unit 5 is recognized by the control unit 1 as the time interval data dt (S11). Accordingly, as illustrated in FIG. 5, the integral calculation is performed by the control unit 1 for the acceleration data G recognized by the control unit 1 with the time interval data dt, and the velocity magnitude data V of the controller 25 is calculated by the control unit 1 (S12). Also, the integral calculation for the velocity magnitude data V of the controller 25 is performed by the control unit 1 with the time interval data dt, and position data X of the controller 25 is calculated by the control unit 1 (S13).

Accordingly, the calculation of multiplying the velocity magnitude data V of the controller 25 by the modification coefficient a for the image display is performed by the control unit 1, and velocity magnitude data VBT (α·V) of the bat is calculated by the control unit (S14). Then, the calculation of converting the position data X of the controller 25 into the position data X′ of the television monitor 20 of the image display unit 3 is performed by the control unit 1 (See FIG. 6: S15). Accordingly, a state of the bat moving at the velocity set by the velocity magnitude data VBT of the bat in the position set by the position data X′, that is, a moving state of the bat moving with the batter character 72 (bat swing state), is consecutively displayed on the television monitor 20 by causing the image data (e.g., polygon data) corresponding to the bat to move on the television monitor 20 of the image display unit 3 (S16). Here, the position data of the bat character 73 is recognized by the control unit 1 (S17). Here, the position data of the bat character 73 is made up of the coordinate data indicating the reference point Bm2 of the bat and the coordinate data within the display range of the bat. The position data of the contact hitting cursor area in the display area of the bat character herein corresponds to the position data of the bat character.

The state that the bat character is displayed on the television monitor 20 is realized by causing the image data (e.g., polygon data) of the batter character 72 and the bat character 73 to consecutively move on the television monitor 20 at a rendering time interval set by the rendering time interval data so that the bat character 73 moves at the velocity set by the velocity magnitude data VBT of the bat. The rendering time interval data is regulated by the control unit 1 depending on the velocity magnitude data. For example, the reference moving velocity magnitude and the reference rendering time interval (e.g., 0.02 seconds) of the bat on the game screen are preliminarily set in the game program. Under the condition that this reference state is set as the reference, if the moving velocity of the bat is faster than the reference moving velocity, that is, if the moving velocity magnitude of the bat is greater than the reference moving velocity magnitude, the polygon data is displayed on the television monitor 20 at the time interval less than the interval of 0.02 seconds. On the other hand, if the moving velocity of the bat is slower than the reference moving velocity, that is, if the moving velocity magnitude of the bat is less than the reference moving velocity magnitude, the polygon data is displayed on the television monitor 20 at the time interval greater than the time interval of 0.02 seconds. Here, the rendering time interval is calculated by multiplying the reference time interval by rate (ratio) of the calculated velocity magnitude of the bat with respect to the reference moving velocity.

After the bat character is displayed on the television monitor 20 as described above, it is judged by the control unit 1 whether or not the coordinate data within the display range of the bat moving at the velocity set by the velocity magnitude data of the bat corresponds to the coordinate data within the display range of the ball (S18). Specifically, it is judged by the control unit 1 whether or not the ball is hit with the bat. Then, as illustrated in FIG. 7, if it is judged by the control unit 1 that the coordinate data within the display range of the bat (within the area of the contact hitting cursor 80) moving at the velocity set by the velocity magnitude data of the bat corresponds to the coordinate data within the display range of the ball character 74 (Yes in S18), distance 1 m between the reference point Bm1 of the ball character 74 and the reference point Bm2 of the bat character is calculated by the control unit 1 (S19). Accordingly, vibration control data S for controlling vibration of the controller 25 is calculated by the control unit 1 depending on the distance 1 m between reference points, the velocity VB set by the velocity magnitude data of the ball, and the velocity set by the velocity magnitude data of the bat (S20). Accordingly, a command of outputting the vibration control data S to the controller 25 is issued by the control unit 1 (S21). On the other hand, if it is judged by the control unit 1 that the coordinate data within the display range of the bat moving at the velocity set by the velocity magnitude data of the bat does not correspond to the coordinate data within the display range of the ball (No in S18), the calculation of the distance 1 m between the reference points is not performed by the control unit 1.

Contents of Processing in Each Means of Batting Vibration Control System in Baseball Game and Supplementary Explanation Thereof Velocity Data Calculating Means

When the acceleration data G made up of magnitudes of the accelerations in the triaxial directions is recognized by the control unit 1 and then a time interval of the acceleration data G (gx, gy, gz, t) consecutively inputted into the operation input unit 5 from the controller 25 is recognized by the control unit 1 as the time interval data dt, as illustrated in FIG. 5, the integral calculation is performed by the control unit 1 for the acceleration data G consecutively inputted into the operation input unit 5 from the controller 25 with the time interval data dt, and the velocity magnitude data V (vx, vy, vz, t) of the controller 25 in the triaxial directions is calculated by the control unit 1. For example, when acceleration data G1 (gx1, gy1, gz1, t1) is firstly recognized by the control unit 1 at time t1 and subsequently acceleration data G2 (gx2, gy2, gz2, t2) is recognized by the control unit 1 at time t2, velocity magnitude data V1 (vx1, vy1, vz1, t1) of the controller 25 is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of “∫[G2 (gx2, gy2, gz2, t2)−G1 (gx1, gy1, gz1, t1)]·dt” between the time t2 and the time t1. In a similar way to the above, when acceleration data G3 (gx3, gy3, gz3, t3) is recognized by the control unit 1 at time t3 succeeding the time t2, velocity magnitude data V2 (vx2, vy2, vz2, t2) of the controller 25 is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of “∫[G3 (gx3, gy3, gz3, t3)−G2 (gx2, gy2, gz2, t2)]·dt” between the time t3 and the time t2. Also, when acceleration data G4 (gx4, gy4, gz4, t4) is recognized by the control unit 1 at time t4 succeeding the time t3, velocity magnitude data V3 (vx3, vy3, vz3, t3) of the controller 25 is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of “∫[G4 (gx4, gy4, gz4, t4)−G3 (gx3, gy3, gz3, t3)]·dt” between the time t4 and the time t3.

When the integral calculation is further performed by the control unit 1 for thus calculated velocity magnitude data V of the controller 25 with the time interval data dt, the position data X of the controller 25 is calculated by the control unit 1. For example, position data X1 (x1, y1, z1, t1) of the controller 25 is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of “∫[V2 (vx2, vy2, vz2, t2)−V1 (vx1, vy1, vz1, t1)]·dt” between the time t2 and the time t1. In a similar way to this, position data X2 (x2, y2, z2, t2) of the controller 25 is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of “∫[V3 (vx3, vy3, vz3, t3)−V2 (vx2, vy2, vz2, t2)]·dt” between the time t3 and the time t2.

It is possible to calculate the velocity magnitude data and the position data of the controller 25 in each time based on the acceleration data G of the controller 25 by causing the control unit 1 to perform the above series of calculations when the acceleration data G of the controller 25 is recognized by the control unit 1.

Note that time when the velocity magnitude data V and the position data X of the controller 25 are calculated, time ts at which the acceleration data G of the controller 25 is recognized by the control unit for the first time is set to be the calculation starting time. Also, time te at which it is judged by the control unit 1 that the coordinate set by the within-area coordinate data of the modified range data of the contact hitting cursor area 80 corresponds to at least one of the within-display range coordinate data of the ball that is set by the within-range coordinate data of the ball, that is, time te at which the ball is hit with the bat, is set to be the calculation ending time.

Object Moving Velocity Data Calculating Means

The velocity magnitude data VBT of the bat is calculated by causing the control unit 1 to perform the calculation of multiplying the velocity magnitude data V of the controller 25 by the modification coefficient α for the image display. This is the processing performed for modifying the velocity magnitude data calculated based on the acceleration data G of the actually moved controller 25 into the moving velocity of the bat used in the game. For example, the velocity magnitude data VBT of the bat is calculated by the control unit 1 by causing the control unit 1 to perform the calculation of multiplying the above calculated velocity magnitude data V1 and V2 of the controller 25 by the modification coefficient α (constant) or the modification coefficient depending on the velocity magnitude data V1 and V2 of the controller 25, that is, the modification coefficient α (V) in which the velocity magnitude data V of the controller 25 is set to be a variable.

Object Moving State Displaying Means

As illustrated in FIG. 6, the above calculated position data X1 and X2 of the controller 25 are converted into position data X′1 and X′2 for the television monitor 20. The position data X1 and X2 of the controller 25 are coordinates in the three-dimensional real space (space in which a game player swings his/her arm together with the controller 25). Therefore, the calculation of converting the position data X1 and X2 of the controller 25 into the position data X′1 and X′2 for the television monitor 20 in the three-dimensional game space is herein performed by the control unit 1. The conversion is performed by causing the control unit 1 to perform the mapping from the three-dimensional real space to the three-dimensional game space. For example, the conversion is performed by causing the control unit 1 to perform the calculation of “X′ (x′, y′, z′)=f·X (x, y, z)” with the map function f preliminarily determined in the game program. A state of the bat character 73 moving at the velocity VBT set by the velocity magnitude data of the bat in the position set by the position data X′1 and X′2 of the bat in the three-dimensional game space is displayed on the television monitor 20.

Object Correspondence Judging Means and Vibration Control Data Calculating Means

First, it is judged by the control unit 1 whether or not the coordinate within the display range of the bat moving at the velocity VBT set by the velocity magnitude data of the bat corresponds to at least one of the coordinates within the display range of the ball moving at the velocity VB set by the velocity magnitude data of the ball. Specifically, it is judged by the control unit 1 whether or not an overlapped portion between a predetermined area of the bat character 73 and the display area of the ball character 74 is generated, that is, whether or not the ball is hit with the bat. Then, if it is judged by the control unit 1 that the coordinate within the display range of the bat corresponds to at least one of the coordinates within the display range of the ball, as illustrated in FIG. 7, the distance 1 m between the reference point Bm1 of the ball character 74 and the reference point Bm2 of the bat character 73 is calculated by the control unit 1. Accordingly, the control unit 1 is caused to perform the calculation of synthesizing the velocity VBT set by the velocity magnitude data of the bat and the velocity VB set by the velocity magnitude data of the ball, and as illustrated in FIG. 8, the synthesis velocity data for setting synthesis velocity VG is calculated by the control unit 1.

Here, the calculation of reversing the direction of the vector data of the ball is performed by the control unit 1. Then, the control unit 1 is caused to perform the calculation of moving the reference point of the vector data of the bat from the reference point Bm2 of the bat to the reference point Bm1 of the ball. Then, the calculation of synthesizing the vector data of the bat and the vector data of the ball in the reference point Bm1 of the ball is performed by the control unit 1. In this way, the synthesis vector for setting the velocity and the direction of the ball hit back with the bat is calculated by the control unit 1. Note that each vector is calculated by the control unit 1 based on the velocity magnitude of the ball character 74 and that of the bat character 73 when the ball is hit with the bat, and the coordinates of two points in the moving direction.

Accordingly, as illustrated in FIG. 9, a first parameter γ1 corresponding to the distance lm between the reference points is selected by the control unit 1 based on a first correspondence table. Then, a second parameter γ2 is selected by the control unit 1 based on a second correspondence table depending on the combination of the synthesis velocity VG and the first parameter γ1. Then, vibration control data S is selected by the control unit 1 based on a correspondence table (here, the second correspondence table) between the second parameter γ2 and the vibration control data S. Here, the vibration control data S includes values ranging from 1 to 7. The vibration control data S is configured to be an indicator for indicating an extent to which the vibration motor 26 is caused to vibrate. As the value of the vibration control data S becomes greater, the number of revolutions of the vibration motor 26 becomes greater. When the vibration control data S is provided from the control unit 1 to the operation input unit 5, it is converted into a motor signal corresponding to the vibration control data S by the operation input unit 5, and thus the vibration motor 26 revolves at the number of revolutions corresponding to the motor signal. In other words, the controller 25 vibrates.

Specifically, when the distance 1 m between the reference points is zero, the bat is configured to make solid contact with the ball. Because of this, regardless of the magnitude of the synthesis velocity VG, the controller 25 comes to less vibrate. Also, as the distance lm between the reference points becomes greater than zero, the bat is configured not to have made solid contact with the ball, and the controller 25 comes to more vibrate depending on the magnitude of the synthesis velocity VG.

Other Embodiments

(a) In the above described embodiment, a case is exemplified that the home video game device is used as an example of a computer to which the game program is allowed to be applied. However, the game device is not limited to the above described embodiment. The present invention may be applied to a game device for which a monitor is separately provided, a monitor-integrated game device, a personal computer or a workstation that functions as a game device when a game program is executed therein, and the like, as well.

(b) A program for executing the above described game and a computer-readable recording medium in which the program is recorded are also included in the present invention. For example, a computer-readable flexible disk, a semiconductor memory, a CD-ROM, a DVD, a MO, a ROM cassette, and the like may be suggested as the recording medium other than the cartridge.

(c) In the above described embodiment, a case is exemplified that an extent of vibration of the controller 25 changes depending on the distance 1 m between the reference points and the synthesis velocity magnitude. However, the extent of vibration of the controller 25 may be configured to change only depending on the velocity magnitude of the bat and the synthesis velocity magnitude without using the distance lm between the reference points.

(d) In the above described embodiment, a case is exemplified that an extent of vibration of the controller 25 changes depending on the synthesis velocity magnitude. However, when it is judged by the control unit 1 that the coordinate data within the display range of the moving object corresponds to the coordinate data within the display range of another object, the game program, which further includes an object hardness recognizing function for causing the control unit 1 to recognize at least either hardness corresponding to an object or hardness corresponding to another object, may be configured to cause the control unit 1 to calculate the vibration control data for controlling vibration of the controller 25 depending on the velocity of the object and at least either hardness corresponding to an object or hardness corresponding to another object.

In this case, for example, in a beat'em up game, a sword character is caused to move in conjunction with movement of the controller 25 in which the acceleration sensor 24 and the vibration motor 26 are embedded. If the sword character could strike an opponent fighter character, the vibration control data for the controller is calculated depending on velocity of the sword character, hardness of the sword character, and hardness of the armor of the opponent fighter. Then, the vibration control data for the controller is outputted from the control unit 1 to the vibration mechanism, such as the vibration motor 26, of the controller 25. Because of this, it is possible to cause the controller 25 to vibrate.

(e) In the above described embodiment, a case is exemplified that an extent of vibration of the controller 25 changes depending on the synthesis velocity magnitude. However, when it is judged by the control unit 1 that the coordinate data within the display range of a moving object correspond to the coordinate data within the display range of another object, the game program, which further includes an another object moving state displaying function of consecutively displaying a state of another object moving at the velocity set by the velocity magnitude data of another object on the image display unit with the image data corresponding to another object and an object hardness recognizing function of causing the control unit 1 to recognize at least either hardness corresponding to an object moving at the velocity set by the velocity magnitude data of the object and hardness corresponding to another object, may be configured to cause the control unit 1 to calculate the vibration control data for controlling vibration of the controller 25 depending on the velocity set by the velocity magnitude data of the object, the velocity set by the velocity magnitude data of another object, and at least either hardness corresponding to the object moving at the velocity set by the velocity magnitude data of the object or hardness corresponding to another object.

In this case, a sword character of a first fighter is caused to move in conjunction with movement of the controller 25 in which the acceleration sensor 24 and the vibration motor 26 are embedded, and the vibration control data for the controller is calculated depending on velocity of the sword of the first fighter, velocity of a sword of a second fighter, hardness of the sword of the first fighter, and hardness of the sword of the second fighter when the sword character of the first fighter and the sword character of the second fighter make contact with each other. Then, the vibration control data for the controller is outputted from the control unit 1 to the vibration mechanism, such as the vibration motor 26, of the controller 25. Because of this, it is possible to cause the controller 25 to vibrate.

INDUSTRIAL APPLICABILITY

According to the present invention, it is possible to cause a controller to vibrate by a vibration mechanism by causing an object to move based on the acceleration data detected by an acceleration sensor when the controller in which the acceleration sensor and the vibration mechanism are embedded is moved and by causing a control unit to calculate the vibration control data when the moved object makes contact with another object.

The terms of degree such as “substantially”, “about” and “approximately” as used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms should be construed as including a deviation of at least ±5% of the modified term if this deviation would not negate the meaning of the word it modifies.

While only selected embodiments have been chosen to illustrate the present invention, it will be apparent to those skilled in the art from this disclosure that various changes and modifications can be made herein without departing from the scope of the invention as defined in the appended claims. Furthermore, the foregoing descriptions of the embodiments according to the present invention are provided for illustration only, and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.

Claims

1. A computer readable medium storing a computer program for a video game, the computer program comprising:

code for recognizing acceleration of an input unit;
code for recognizing time duration of the acceleration;
code for calculating speed of the input unit on the basis of the acceleration and the time duration;
code for calculating first speed of a first object having a first range, on the basis of the speed of the input device;
code for displaying the first object moving at the first speed of the first object and a second object having a second range, on the image display unit;
code for judging whether or not the first range at least partially overlaps with the second range; and
code for vibrating the input unit on the basis of the speed of the first object, if the first range at least partially overlaps the second range.

2. The computer readable medium according to claim 1, the computer program further comprising

code for displaying the second object moving at second speed on the image display unit, and
code for controlling the vibration of the input unit on the basis of the speed of the first object and the second speed of the second object.

3. The computer readable medium according to claim 1, the computer program further comprising

code for recognizing at least one of first hardness of the first object and second hardness of the second object, the first hardness and the second hardness being predetermined, and
code for controlling the vibration of the input device on the basis of at least one of the first hardness and the second hardness.

4. The computer readable medium according to claim 1, the computer program further comprising

code for displaying the second object moving at the second speed on the image display unit; and
code for recognizing at least one of first hardness of the first object and second hardness of the second object, and
code for controlling the vibration of the input unit on the basis of at least one of the first hardness and the second hardness.

5. A game device for a video game in which a first and a second objects are displayed, the game device comprising:

an acceleration data recognizing unit configured to recognize acceleration of an input unit;
a time duration data recognizing unit configured to recognize time duration of the acceleration;
a velocity data calculating unit configured to calculate speed of the input unit on the basis of the acceleration and the time duration;
an object moving velocity data calculating unit configured to first speed of a first object having a first range, on the basis of the speed of the input device;
an object moving state displaying unit configured to display the first object at the first speed of the first object and a second object having a second range, on the image display unit;
an object correspondence judging unit configured to judge whether or not the first range at least partially overlaps with the second range; and
a vibration control data issuing unit configured to vibrate the input unit on the basis of the speed of the first object, if the first range at least partially overlaps the second range.

6. A method for controlling a video game, comprising:

recognizing acceleration of an input unit;
recognizing time duration of the acceleration;
calculating speed of the input unit on the basis of the acceleration and the time duration;
calculating first speed of a first object having a first range, on the basis of the speed of the input device;
displaying the first object at the first speed of the first object and a second object having a second range, on the image display unit;
judging whether or not the first range at least partially overlaps with the second range; and
vibrating the input unit on the basis of the speed of the first object, if the first range at least partially overlaps the second range.
Patent History
Publication number: 20080248872
Type: Application
Filed: Jun 16, 2008
Publication Date: Oct 9, 2008
Applicant: KONAMI DIGITAL ENTERTAINMENT CO., LTD. (Tokyo)
Inventor: Katsuyoshi ENDO (Osaka)
Application Number: 12/139,929
Classifications
Current U.S. Class: Player-actuated Control Structure (e.g., Brain-wave Or Body Signal, Bar-code Wand, Foot Pedal, Etc.) (463/36)
International Classification: A63F 9/24 (20060101);