Japanese Patent Application No. 2006-326372 filed on Dec. 1, 2006, is hereby incorporated by reference in its entirety.
The present invention relates to a program which causes a computer to execute a specific game and the like.
Consumer game devices generally include a game controller (also referred to as “game pad”) having elements such as a push button switch and an analog lever. In a well-known style, a player holds a game controller with both hands in front of a video display, and plays a game by inputting various game operations with the fingers.
As a method which enables an operation input without directly operating a push button switch, an analog lever, and the like, a method is known in which the movement of a finger is photographed so that an operation input can be performed based on the moving path of the finger (JP-A-2004-94653, for example). Specifically, JP-A-2004-94653 discloses a method utilizing a system provided with a camera device which can measure the distance between the camera device and a target object and a display which allows the user to visually observe the input result, wherein the finger tip region of the user is estimated from an image photographed using the camera device, and the distance between the finger tip and an information input plane is then estimated. The system determines that the user is inputting an operation when it is estimated that the finger tip comes in contact with the information input plane, and determines that the user is not inputting an operation when it is estimated that the finger tip does not come in contact with the information input plane, thereby enabling the user to input arbitrary path information by a natural and easy operation.
In many video games (particularly a role-playing game (RPG)), it is an important factor to allow a player to be sufficiently involved with a player character. When employing an operation input using a push button switch or an analog lever, since the actual input operation (e.g., pressing the switch or operating the lever) differs from the operation of the player character in the game caused by the input operation, the player cannot be sufficiently involved with the player character.
The technology disclosed in JP-A-2004-94653 may be used to deal with such a demand. The path information of a target object such as a finger tip can be input using the technology disclosed in JP-A-2004-94653. Specifically, the movement of an object can be used to input a game operation. However, since the technology disclosed in JP-A-2004-94653 requires a large system, it is difficult to apply this technology to consumer game devices for which a reduction in cost is demanded.
On the other hand, along with a recent reduction in cost and size of acceleration sensors, a game controller including an acceleration sensor has been developed and put to practical use. In this case, the acceleration sensor detects acceleration along with the movement of the game controller, and a detection signal is output to the main body of the consumer game device and can be used for a game.
According to one aspect of the invention, there is provided a method of determining an operation input using a game controller including an acceleration detector, the method comprising:
calculating a moving path of the game controller based on acceleration information detected by the acceleration detector when a player moves the game controller to change a position of the game controller in a real space; and
controlling a process of a game based on the calculated moving path.
The invention may enable an operation input to be performed by moving a game controller including an acceleration sensor.
According to one embodiment of the invention, there is provided a method of determining an operation input using a game controller including an acceleration detector, the method comprising:
calculating a moving path of the game controller based on acceleration information detected by the acceleration detector when a player moves the game controller to change a position of the game controller in a real space; and
controlling a process of a game based on the calculated moving path.
According to another embodiment of the invention, there is provided a game device comprising:
a game controller including an acceleration detector;
a moving path calculation section that calculates a moving path of the game controller based on acceleration information detected by the acceleration detector when a player moves the game controller to change a position of the game controller in a real space; and
a game process control section that controls a process of a game based on the calculated moving path.
According to the above configuration, when the game controller including the acceleration detector is moved to change the present position of the game controller, the moving path of the game controller is calculated based on the acceleration information detected by the acceleration detector. The moving path of the game controller can be utilized in the game.
Moreover, the process of the game can be controlled based on the calculated moving path. Specifically, the operation of moving the game controller can be acquired as the moving path, and the game can be caused to proceed based on the moving path.
The method may further includes:
determining an operation input instruction from a plurality of operation input instructions based on the calculated moving path; and
executing a process based on the determined operation input instruction.
According to the above configuration, the game operation can be input by drawing the moving path. For example, in a game in which a wizard (player character) draws a seal (formed of a single figure or a combination of a plurality of figures or characters) by waving a magic wand to practice magic, the path of the magic wand corresponds to the moving path. Therefore, when the magic actuation operation input instruction is determined based on the moving path, the wizard character can be caused to practice magic based on the moving path using the game controller.
In the method, the determining of the operation input instruction may include: selecting path reference data conforming to the calculated moving path from a plurality of pieces of path reference data respectively associated with the plurality of operation input instructions; and determining that the operation input instruction associated with the selected path reference data has been issued.
The path reference data refers to data which defines a path as a reference. For example, the path reference data refers to data from which a path can be derived (e.g., function indicating the path, image obtained by photographing the path in one direction, or vector data of the entirety or part of the path) or data such as a representative value indicating the characteristics of the path.
According to the above configuration, the path reference data is respectively associated with each of the operation input instructions, and the operation input instruction can be selected from the operation input instructions by selecting the path reference data corresponding to the calculated moving path. This enables the moving path to be selected from a number of moving paths, whereby the variations of the operation input which can be performed by inputting the moving path can be increased.
In the method,
each of the plurality of operation input instructions may be an instruction that directs a predetermined process based on a given variable parameter;
the determining the operation input instruction may include calculating a degree of conformity between the calculated moving path and each of the plurality of pieces of path reference data, and selecting path reference data from the plurality of pieces of path reference data based on the calculation result; and
the executing the process may include executing the process based on the determined operation input instruction while changing the variable parameter depending on the calculated degree of conformity of the selected path reference data.
The term “degree of conformity” used herein refers to the degree of similarity (degree of approximation or degree of probability) between a sample and the reference data.
According to the above configuration, the variable parameter is changed depending on the degree of conformity between the moving path and the path reference data, and the operation input instruction corresponding to the path reference data is executed depending on the variable parameter which has been changed. Therefore, the player's skill of drawing a moving path by moving the game controller can be reflected in the game. For example, when the movement of the game controller is considered to be the operation of a magic wand possessed by a wizard character and a magic actuation operation input is performed by utilizing the moving path, the degree of magic is determined by the movement of the magic wand, whereby the player is further involved in the wizard character.
The method may further include executing a process based on a predetermined operation input instruction when the calculated moving path coincides with a predetermined path.
According to the above configuration, the operation input can be performed by utilizing the moving path. For example, when a wizard (player character) draws a seal by waving a magic wand to practice magic, the path of the magic wand corresponds to the moving path. Therefore, when the magic actuation operation input instruction is determined based on the moving path, the wizard character can be caused to practice magic based on the moving path using the game controller.
In the method,
each of the plurality of operation input instructions may be an instruction that directs a predetermined process based on a given variable parameter;
the method may further include calculating a size of the entire calculated moving path; and
the executing the process may include executing the process based on the determined operation input instruction while changing the variable parameter depending on the calculated size of the entire moving path.
According to the above configuration, the process performed based on the operation input instruction associated with the moving path can be changed by changing the size of the moving path. Therefore, the variations of the operation input which can be performed by inputting the moving path can be increased, whereby game operability can be increased.
In the method,
each of the plurality of operation input instructions may be an instruction that directs a predetermined process based on a given variable parameter;
the moving path may be calculated by calculating a moving path in a three-dimensional coordinate system based on a direction of the game controller;
the method may further include determining a direction of the entire moving path from the calculated moving path in the three-dimensional coordinate system; and
the executing the process may include executing the process based on the determined operation input instruction while changing the variable parameter depending on the determined direction of the entire moving path.
In the method,
the moving path may be calculated by calculating a moving path in a three-dimensional coordinate system based on a direction of the game controller;
the method may further include determining a direction of the entire moving path from the calculated moving path in the three-dimensional coordinate system; and
the determining the operation input instruction may include determining the operation input instruction based on the calculated moving path and the determined direction of the entire moving path.
The term “direction of the entire moving path” used herein refers to a direction which represents a figure when the entire moving path is considered to be one figure. For example, the term “direction of the entire moving path” refers to the direction of a portion of the periphery of the figure differing from the remaining portion (e.g., removed portion, protrusion, or curved portion of a linear shape), the direction of the representative figure, the axial direction of the figure (e.g., axis of rotation or axis of symmetry), or the direction of an approximate plane obtained by approximating the figure to one plane.
According to the above configuration, the process performed based on the operation input instruction associated with the moving path can be changed depending on the direction of the entire moving path in the three-dimensional coordinate system based on the direction of the game controller. For example, when the operation input instruction is “attack on enemy character” and the attack power or a damage value applied is the variable parameter, the degree of attack can be determined depending on the direction of the entire moving path. Therefore, the variations of the operation input which can be performed by inputting the moving path can be increased, whereby game playability can be increased.
In the method,
a position condition relating to the game controller may be predetermined for each of the plurality of operation input instructions;
the method may further include determining a position of the game controller based on the acceleration information used to calculate the moving path; and
the determining the operation input instruction may include determining whether or not an operation input instruction among the plurality of operation input instructions has been issued, the operation input instruction being associated with the path reference data conforming to the calculated moving path and satisfying the position condition with respect to the determined position of the game controller.
According to the above configuration, various operation inputs can be performed depending on the position condition of the game controller even when inputting the same moving path. Specifically, the player can perform various operation inputs even when inputting the same moving path depending on the position of the game controller with respect to the player. Since the number of operation inputs can be increased without increasing the number of figure patterns input by the player, game playability can be increased.
The method may further include changing a position of a specific object in a game space based on the calculated moving path.
According to the above configuration, the position of the specific object in the game space can be controlled depending on the moving path. Therefore, the difference between the game world and the real world can be reduced by allowing the player to observe a situation in which the moving path input by the player is used in the game as the movement of the object. In particular, when the specific object is part of the player character, the player character performs the same movement as the player. Therefore, the player is further involved with the player character, whereby the player is involved in the game.
The method may further include displaying an image of the calculated moving path.
According to the above configuration, an image of the calculated moving path can be displayed. The player is further involved with the player character by allowing the player to observe a situation in which the moving path input by the player is used in the game. Moreover, since the player can observe the moving path input by the player, the player attempts to more skillfully move the game controller when the image of the moving path displayed differs from the desired moving path, whereby the player is further involved in the game.
The method may further include:
detecting whether or not an operation input that directs start of the movement of the game controller has been performed; and
detecting whether or not an operation input that directs finish of the movement of the game controller has been performed,
the calculating the moving path may include calculating the moving path during a period from detection of the operation input that directs start of the movement of the game controller to detection of the operation input that directs finish of the movement of the game controller.
According to the above configuration, since the start and finish of the movement can be detected, an erroneous input can be prevented.
In the method, the calculating the moving path may include calculating the moving path subject to the condition that a position of the game controller when the operation input that directs start of the movement of the game controller has been detected and a position of the game controller when the operation input that directs finish of the movement of the game controller has been detected satisfy a specific position condition.
According to the above configuration, since the condition whereby the movement start position and the movement finish position satisfy a specific position condition is provided in advance, the movement of the player is specified (e.g., the player must move the game controller so that the movement start position and the movement finish position satisfy a specific position condition), whereby a game can be realized which requires operation skill. Therefore, the operation skill of the game controller, operation accuracy, and operation smoothness can be incorporated in the game instead of merely moving the game controller. This causes the player to intend to improve his skill, whereby interest in the game can be further increased in various ways.
In the method, the calculating the moving path may include calculating the moving path subject to the condition that a position of the game controller when the operation input that directs start of the movement of the game controller has been detected is the same as a position of the game controller when the operation input that directs finish of the movement of the game controller has been detected.
According to the above configuration, the player must move the game controller so that the movement start position and the movement finish position coincide. Specifically, since the player must move the game controller so that the moving path is drawn with one stroke, the player can easily move the game controller so that the game controller draws the desired moving path, whereby a relatively inexperienced player can enjoy the game.
In the method, the calculating the moving path may include calculating the moving path subject to the condition that 1) a velocity of the game controller when the operation input that directs start of the movement of the game controller has been detected is zero and/or 2) a velocity of the game controller when the operation input that directs finish of the movement of the game controller has been detected is zero.
According to the above configuration, the moving path can be more easily calculated by setting the condition whereby the game controller must be stopped when starting and/or finishing the operation input.
According to a further embodiment of the invention, there is provided a program causing a computer to execute one of the above methods.
According to still another embodiment of the invention, there is provided a computer-readable information storage medium storing the above program.
Embodiments to which the invention is applied are described below taking an example of executing a role-playing game (RPG) using a consumer game device. Note that the type of game to which the invention may be applied is not limited to a RPG. Configuration of game device
The control unit 1210 includes electric/electronic instruments such as various processors, various IC chips, and IC memories, and performs calculations and the like to control each section of the consumer game device 1200. In this embodiment, the control unit 1210 includes a communication device 1212 which connects with a communication line 1 (e.g., Internet, LAN, or WAN) and implements data communication with an external device, and a short-distance wireless communication module 1214.
The short-distance wireless communication module 1214 receives an operation input signal transmitted from each game controller 1230 via short-distance wireless communication. As the short-distance wireless communication, Bluetooth (registered trademark), ultra-wideband (UWB) wireless communication, a wireless LAN, and the like may be appropriately applied.
The game controller 1230 according to this embodiment is generally in the shape of a stick. A button switch 1232 used for inputting selection, cancellation, timing, and the like and an arrow key 1234 for inputting forward, backward, left, and right directions are provided on the upper side of the game controller 1230. The game controller 1230 includes a controller control unit 1236.
The controller control unit 1236 includes electronic/electric elements such as an IC chip and an IC memory, a short-distance wireless communication module 1238, and an acceleration sensor 1239.
The acceleration sensor 1239 is an acceleration detector which detects acceleration along each of three orthogonal axes (Xc axis, Yc axis, and Zc axis). In the acceleration sensor 1239 according to this embodiment, the Xc axis is set along the long side direction of the game controller 1230, the Yc axis is set along the rightward direction of the game controller 1230, and the Zc axis is set along the upward direction of the game controller 1230.
The controller control unit 1236 implements data communication with the short-distance wireless communication module 1214 of the game device main body 1201 through the short-distance wireless communication module 1238, and transmits a detection signal of the acceleration detected by the acceleration sensor 1239 and an operation input signal corresponding to an operation input performed using the button switch 1232 and the arrow key 1234 to the game device main body 1201.
The control unit 1210 of the game device main body 1201 executes a role-playing game (RPG) while generating a game image and game sound based on the detection signal and the operation input signal received from the game controller 1230. The game image and the game sound generated by the control unit 1210 are output to a video display monitor 1220 connected with the game device main body 1201 via a signal cable 1209.
In this embodiment, a player 2 holds the game controller 1230 as if to hold a stick. The player 2 enjoys the game in front of the video display monitor 1220 by inputting various operations using the game controller 1230 while watching a game image 4 displayed on a display section 1222 and listening to game sound such as background music (BGM) and effect sound output from a speaker 1224. The game image 4 displayed is generated based on an image obtained by photographing a state in which an object of a player character 6 operated by the player 2 and an object of an enemy character 8 are disposed and controlled in terms of operation in a game space formed in a three-dimensional virtual space using a virtual camera, for example. In the RPG executed according this embodiment, the player 2 proceeds with the game while defeating the enemy character 8 using various types of magic by operating the player character 6 (the player character 6 is a wizard in this embodiment). A specific hit point is assigned to each enemy character 8. A damage value due to attack by the player character 6 is subtracted from the hit point. The enemy character is defeated when the hit point has become “0”.
In this embodiment, the player 2 has been informed of a figure pattern which is a method of causing the player character 6 to practice magic by means of a manual or indication during game play. The player 2 can input a magic operation by moving the hand holding the game controller 1230 to draw a figure pattern such as those shown in
In this embodiment, the magic figure pattern is set to be a two-dimensional figure which can be drawn with one stroke, as shown in
The control unit 1210 samples accelerations ai (i=0, 1, 2, . . . , n−1; a represents a three-dimensional vector in the XcYcZc coordinate system) detected by the acceleration sensor 1239 in a specific sampling cycle at during a period in which the push button 1232 is pressed, and stores the sampled accelerations ai in the storage medium (e.g., IC memory) provided therein. The control unit 1210 calculates coordinate positions pi (i=0, 1, 2, . . . , n+1; p represents three-dimensional coordinates in the XcYcZc coordinate system) from the sampled accelerations ai based on the above-described conditions.
A specific operation is as follows. Specifically, since the acceleration of gravity g is always applied to the game controller 1230, the acceleration ai detected by the acceleration sensor 1239 is a resultant force due to the acceleration of gravity g and the kinetic acceleration caused when moving the game controller 1230. Therefore, when the acceleration (true acceleration) due to only the operation of the player is referred to as ai-g, a velocity vi (i=0, 1, 2, . . . , n) is expressed by the following equation (1).
From the equation (1), the position pi (i=0, 1, 2, . . . , n+1) which is the position of the game controller 1230 during sampling is expressed by the following equation (2).
When S1 and S2 are defined as shown by the following equations (3) and (4), the velocity vn and the position pn+1 are expressed by the following equations (5) and (6).
In this embodiment, since the conditions include (a) the condition whereby the input start position and the input finish position must be the same and (b) the condition whereby the movement of the game controller 1230 must be stopped at the input finish position, the following equations (7) and (8) are obtained from these conditions.
p0=pn+1=0 (7)
vn=0 (8)
From the equations (5) to (8), the acceleration of gravity g and the initial velocity v0 are expressed by the following equations (9) and (10).
Therefore, the positions pi on the moving path 10 can be calculated in time series by substituting the equations (9) and (10) in the equation (2), as shown in
When the acceleration sensor 1239 has a bias error, since the acceleration detected by the acceleration sensor 1239 always differs from the true value by an error e, the true acceleration is (ai-g-e). When applying the definition shown by the following equation, g in the above equations can be replaced with g′. Specifically, it is unnecessary to take into account the presence or absence of the bias error.
g′=g+e (11)
In this embodiment, since the magic figure pattern is a two-dimensional figure, an approximate plane 12 (plane in the XcYcZc coordinate system) approximate to the moving path 10 of the game controller 1230 is calculated, as shown in
A path image 14 is then generated which is the approximate plane 12 viewed in a normal direction 13. The path image 14 may be obtained by connecting each position pi via a straight line, and observing the resulting image in the normal direction. Or, the path image 14 may be obtained by projecting the moving path function onto the approximate plane 12.
When the path image 14 has been obtained, a magic figure pattern most similar to the path image (i.e., figure with the highest degree of conformity) is determined, whereby the player character 6 can be caused to practice specific magic based on the moving path 10 of the game controller 1230. Specifically, the player can input a magic operation for the player character 6 by moving the arm so that the game controller 1230 draws a magic figure pattern instead of inputting an operation with the finger such as pressing the button switch or operating the lever.
A functional configuration is described below.
The operation input section 100 outputs an operation input signal to the processing section 200 based on various operation inputs performed by a player. In
In
The communication section 104 connects with the communication section 370 to implement data communication. The communication section 104 is implemented by a transceiver, a control circuit, and the like. In
The processing section 200 is implemented by electronic parts such as a processor (e.g., CPU), an application specific integrated circuit (ASIC), and an IC memory. The processing section 200 inputs and outputs data to and from each functional section of the game device 1200 including the operation input section 100 and the storage section 500, and controls the operation of the game device 1200 by performing various calculations based on a specific program, data, and various signals input from the operation input section 100. In
The game calculation section 210 performs game processes. For example, the game calculation section 210 performs a process of disposing various objects in a three-dimensional virtual space to form a game space, a process of disposing objects of a player character and an enemy character in the game space and controlling the positions and posture of the objects, an object hit determination process, physical calculations, game result calculations, and various timer processes. The game calculation section 210 includes a moving path calculation section 212 and an operation input instruction determination section 214.
The moving path calculation section 212 samples the acceleration ai which has occurred when the player has moved the game controller 1230 from the detection signal output from the acceleration detection section 102, and calculates the position pi from the information relating to the sampled acceleration ai to generate data relating to the moving path 10 of the game controller.
The data relating to the moving path includes coordinate data of the position pi, the moving path function which is the approximate function of the position pi, the approximate plane 12 obtained by approximating a position group to one plane, and the path image 14 which indicates a path obtained by converting the three-dimensional moving path into a two-dimensional plane image.
The operation input instruction determination section 214 determines an input operation input instruction based on the moving path from the data relating to the moving path 10 calculated by the moving path calculation section 212, and executes the determined operation input instruction based on a variable parameter.
In this embodiment, the operation input instruction determination section 214 determines an operation input instruction by matching the path image with reference patterns provided in advance, selecting one reference pattern with the highest degree of similarity, and selecting the operation input instruction associated in advance with the reference pattern. The term “operation input instruction” used in this embodiment corresponds to practicing magic. A damage value (variable parameter) applied to the enemy character due to the magic practiced is changed depending on parameters such as the orientation (position) and the size of the moving path. As the matching method, related art relating to pattern matching may be appropriately utilized. Therefore, detailed description thereof is omitted.
The sound generation section 250 is implemented by a processor such as a digital signal processor (DSP) and its control program. The sound generation section 250 generates sound signals of game-related effect sound, BGM, and operation sound based on the processing results of the game calculation section 210, and outputs the generated sound signals to the sound output section 350.
The sound output section 350 is implemented by a device which outputs sound such as effect sound and BGM based on the sound signals from the sound generation section 250. In
The image generation section 260 is implemented by a processor such as a digital signal processor (DSP), its control program, a drawing frame IC memory such as a frame buffer, and the like. The image generation section 260 generates one game image in frame time ( 1/60 sec) units based on the processing results of the game calculation section 210, and outputs image signals of the generated game image to the image display section 360.
The image display section 360 displays various game images based on the image signals input from the image generation section 260. The image display section 360 may be implemented by an image display device such as a flat panel display, a cathode-ray tube (CRT), a projector, or a head mount display. In
The communication control section 270 establishes data communication and transmits/receives data according to a specific protocol to exchange data with an external device through the communication section 370.
The communication section 370 connects with the communication line 1 (see
The storage section 500 stores a system program for implementing functions for causing the processing section 200 to integrally control the game device 1200, a game program and data necessary for causing the processing section 200 to execute the game, and the like. The storage section 500 is used as a work area for the processing section 200, and temporarily stores the results of calculations performed by the processing section 200 based on various programs, data input from the operation section 100, and the like. The function of the storage section 500 is implemented by an IC memory (e.g., RAM or ROM), a magnetic disk (e.g., hard disk), an optical disk (e.g., CD-ROM or DVD), or the like.
In this embodiment, the storage section 500 stores a system program 501 and a game program 502. The game program 502 includes a moving path calculation program 504 and an operation input instruction determination program 506. The function of the game calculation section 210 can be implemented by the processing section 200 by causing the processing section 200 to read and execute the game program 502. The functions of the moving path calculation section 212 and the operation input instruction determination section 214 can be implemented by the processing section 200 by causing the processing section 200 to read and execute the moving path calculation program 504 and the operation input instruction determination program 506.
The storage section 500 stores game space setting data 520, character setting data 522, magic effect setting data 524, reference pattern data 526, and damage TBL data 528 as data provided in advance. The storage section 500 also stores character control data 530, sampling data 532, an input flag 534, and the timer values of various timers as data appropriately rewritten during the game. The storage section 500 may also appropriately store other types of data.
Various types of data for forming the game space in the three-dimensional virtual space are stored as the game space setting data 520. For example, the game space setting data 520 includes model data and texture data relating to a stationary object (including the surface of the earth and background) on which the player character 6 moves and motion data.
Initial setting data of the player character 6 and the enemy character 8 is stored as the character setting data 522. Specifically, the character setting data 522 appropriately includes modeling data, texture data, and motion data of each character object, data relating to the movement pattern of the enemy character, the initial value of the hit point applied to the enemy character, and the like.
Data relating to an effect display when the player character 6 practices magic is stored as the magic effect setting data 524 while being associated with each type of magic. For example, when the magic is lightning magic, the magic effect setting data 524 includes an object, texture data, effect sound data, and the like for displaying a state in which lightning streaks across the sky.
The reference pattern data 526 defines the magic figure pattern used in the game and the operation input instruction corresponding to the magic figure pattern.
The reference image 526a corresponds to dictionary data for pattern matching with the moving path of the game controller 1230. In this embodiment, since two-dimensional image pattern matching technology is used, two-dimensional image data is stored as the reference image 526a. The reference image may be appropriately set depending on the pattern matching technology. In this embodiment, a command which causes the player character 6 to practice magic is set as the operation input instruction 526b.
The damage TBL (table) data 528 defines the damage value applied to the enemy character 8 due to magic practiced by the player character 6.
The term “matching evaluation value” used herein refers to a value indicating the degree of similarity (or degree of conformity (degree of matching)) between the evaluation target (sample) and the reference pattern (also called “dictionary pattern”) calculated during pattern matching. In this embodiment, the matching evaluation value H is calculated in the range of 0 to 1.0. The evaluation target is more similar to the reference pattern as the matching evaluation value H increases. In pattern matching, the degree of similarity between the evaluation target and the reference pattern is evaluated in terms of shape, and the difference in size between the evaluation target and the reference pattern is not evaluated. Note that the size of the evaluation target figure is employed as a coefficient k2 of the damage value applied to the enemy character 8. The details are described later.
In the example shown in
The damage value 528c is defined as a function of the matching evaluation value H and coefficients k1 and k2 of the variable parameter. In this embodiment, the first coefficient k1 is defined depending on the angle θa (−180°≦θa≦180°) of the normal direction of the approximate plane 12 around the Zc axis (where the Xc axis direction of the acceleration sensor 1239 is 0°). Specifically, the direction of the entire moving path is represented by the approximate plane 12 and its normal direction 13, and the first coefficient k1 is determined depending on the direction of the entire moving path. The second coefficient k2 is defined depending on the ratio of an area obtained by parallelly projecting the moving path 10 in the normal direction 13 to a reference area A0 (e.g., 1000 cm2). Specifically, the second coefficient k2 is determined depending on the size of the entire moving path.
In the example shown in
In this embodiment, since the player holds the game controller 1230 as if to hold a stick, when the player moves the game controller 1230 along the horizontal direction (Yc-Zc plane direction in
The second coefficient k2 increases as the player draws a larger path of the game controller 1230 so that the damage value applied to the enemy character 8 increases. Therefore, the second coefficient k2 has effects similar to those of the first coefficient k1.
Data relating to movement control of the player character 6 and the enemy character 8 is stored as the character control data 530. For example, the present position coordinates, a hit point, an item, motion data used, a frame number, and the like may be appropriately set as the character control data 530.
Data relating to the magic actuation operation input is stored as the sampling data 532.
The input flag 534 is a flag indicating that the magic actuation operation input is being performed. The input flag 534 is set at “0” in the initial state, and the input flag 534 is set at “1” when the magic actuation operation input has been performed.
An operation according to this embodiment is described below.
As shown in
When the game has started, the game calculation section 210 performs a moving path calculation process (step S6).
When the specific button switch is pressed (YES in step S50), the game calculation section 210 refers to the input flag 534 which indicates whether or not the magic actuation operation input is being performed. When the input flag 534 is “0” (“0” in step S52), the game calculation section 210 sets the input flag 534 at “1” (step S54), and resets the sampling data 532 (step S56). The reset state is determined in advance such as setting all the pieces of sampling data 532 at “0”. When the input flag 534 has been set at “1” (“1” in step S52), the game calculation section 210 does not change the input flag 534 and does not reset the sampling data 532.
The game calculation section 210 then acquires the present acceleration of the game controller 1230 at a specific sampling frequency based on the detection signal from the acceleration detection section 102, and stores the acquired accelerations as the sampling data 532 in time series (step S58). The game calculation section 210 may sample the acceleration once when the sampling frequency is the same as the control cycle of the process flow, and may sample the acceleration a number of times when the sampling frequency is sufficiently higher than the control cycle (e.g., frame time intervals such as 1/60 second).
When the game calculation section 210 has determined that the specific button switch is not pressed in the step S50 (NO in step S50), the game calculation section 210 determines that the player has completed the magic actuation operation input, and sets the input flag 534 at “0” (step S60) without sampling the acceleration.
The game calculation section 210 then determines whether or not the position pi can be calculated. Specifically, the game calculation section 210 determines whether or not the input flag 534 is set at “0” (which indicates completion of sampling) and the position 532b of the sampling data 532 has been reset and has not been calculated (step S62).
When the game calculation section 210 has determined that the input flag 534 is set at “0” and the position 532b of the sampling data 532 has been reset and has not been calculated (YES in step S62), the game calculation section 210 calculates all positions pi and stores the calculated positions pi as the sampling data 532 (step S64). The game calculation section 210 calculates a moving path function which approximates the calculated positions pi, stores the calculated moving path function as the sampling data 532 (step S66), and finishes the moving path calculation process. As the method of calculating the moving path function, a known approximate function calculation method may be appropriately utilized.
When the input flag 534 is set at “1” and the operation input has not been completed, or all positions pi have been calculated in the step S62 (YES in step S62), the game calculation section 210 finishes the moving path calculation process without calculating the positions pi and the moving path function.
When the moving path calculation process has been completed, the process returns to the flow shown in
The game calculation section 210 then generates the path image 14, and stores the generated path image 14 as the sampling data 532 (step S72). For example, when all of the positions pi have a sufficient resolution, points with a specific size may be drawn at a projection position in the normal direction 13 of the calculated approximate plane 12 to draw the path as a set of points to obtain an image. Or, the moving path function 532c calculated in advance may be projected onto the approximate plane 12 in the normal direction 13 to obtain an image.
The game calculation section 210 performs a pattern matching process for the path image 14 referring to the reference pattern data 526, and selects one reference image 526a with the highest matching evaluation value H (step S74).
When the matching evaluation value H of the selected reference image 526a with the highest degree of similarity is less than 0.3 (NO in step S76), the game calculation section 210 determines that an input error has occurred and the operation input instruction has not been selected (step S78), and finishes the operation input instruction determination process.
When the matching evaluation value H of the reference image 526a with the highest degree of similarity is 0.3 or more (YES in step S76), the game calculation section 210 determines that the operation input instruction 526b associated with the reference image 526a has been input (step S80), and finishes the operation input instruction determination process.
When the operation input instruction determination process has been completed, the process returns to the flow shown in
As the object for displaying the moving path 10, an object generated by changing the luminance of the path image 532e so that the path image 532e emits light and providing the path image 532e over a planar polygon, a strip-shaped polygon model generated by tracing the moving path function 532c, or the like may be appropriately set.
The game calculation section 210 then causes the player character 6 to practice magic according to the operation input instruction determined by the operation input instruction determination process (step S14). For example, the game calculation section 210 refers to the magic effect setting data 524. When the magic is lightning magic, the game calculation section 210 causes lightning to streak across the sky and hit the enemy character 8.
The game calculation section 210 the calculates the damage value applied to the enemy character based on the matching evaluation value H of the reference image with the highest degree of similarity selected in the step S8 (step S16). Specifically, the game calculation section 210 refers to the damage TBL data 528, and selects the range corresponding to the matching evaluation value H from the matching evaluation value range 528b. The game calculation section 210 then refers to the approximate plane 532d of the sampling data 532, calculates the angle θa (−180°≦θa≦180°) of the normal direction 13 of the approximate plane 12 around the Zc axis (where the Xc axis direction of the acceleration sensor 1239 is 0°), and determines the first coefficient k1 corresponding to the angle θa calculated according to the definition of the damage TBL data 528 (see
The game calculation section 210 then performs an enemy character damaging process (step S18). In this embodiment, the calculated damage value is subtracted from the hit point set for the enemy character subjected to the magic attack. When the hit point after subtraction has reached “0”, it is determined that the enemy character cannot be used (i.e., has been defeated by the player character). The game calculation section 210 automatically controls the operation of the enemy character 8 which can be used (step S20). The game calculation section 210 automatically controls operations such as attack on the player character 6, recovery from damage, and escape based on a specific thinking routine in the same manner as in a known RPG.
The game calculation section 210 then performs a damaging process for the player character 6 based on the operation of the enemy character 8 (step S22). Specifically, the damage value due to attack by the enemy character is subtracted from the hit point of the player character.
The game calculation section 210 then determines whether or not a game finish condition has been satisfied (step S24). Since this embodiment employs an RPG, the game calculation section 210 determines that the game finish condition has been satisfied when the hit point of the player character 6 has reached “0”, or the player character 6 has defeated all enemy characters 8, or the player character 6 has acquired the desired treasure, for example.
When the game calculation section 210 has determined that the game finish condition has not been satisfied (NO in step S24), the game calculation section 210 returns to the step S6. When the game calculation section 210 has determined that the game finish condition has been satisfied (YES in step S24), the game calculation section 210 performs a specific game finish process such as displaying an ending image (step S26), and finishes the process.
As shown in
As described above, the player 2 does not operate the game controller 1230 using the finger, but causes the player character 6 to perform movement similar to the movement of the player 2. Moreover, since the moving path can be used for operation input merely using the acceleration sensor, the operation input can be realized at low cost and low calculation load.
The damage value applied to the enemy character can be increased by performing operation input to draw a path as similar to the reference pattern as possible. Specifically, the player feels that the player's magic input skill (i.e., skill of moving the controller 1230 as if to draw a seal using the magic wand) is reflected in the damage value. This is because the damage caused by the magic increases when the player moves (moves the controller) to more accurately draw the seal. Therefore, the player can enjoy the game while further involving himself with the player character (wizard in this case), while achieving the effect in which the player can perform operation input by merely moving his body. Moreover, since the enemy character can be damaged to a larger extent by selecting an input method with a higher degree of difficulty when drawing a path, the input by movement is provided with complexity and depth, whereby interest in the game can be further increased.
The conditions whereby the position pi is derived from the acceleration sampled during the magic actuation operation input include (a) the condition whereby the input start position and the input finish position must be the same and (b) the condition whereby the movement of the game controller 1230 must be stopped at the input finish position. These conditions apply to the case where a person draws a figure pattern in the air by moving the game controller 1230. Specifically, when drawing a figure pattern, a person naturally imagines the desired figure pattern. Then, he gradually lifts his arm, immediately draws the figure pattern, and stops the movement when he has completely drawn the figure pattern. Therefore, a more natural operation input is enabled by setting the conditions according to this embodiment, whereby operability can be increased.
The CPU 1000 controls the entire device and performs various types of data processing based on a program stored in the information storage medium 1006, a system program (e.g. initialization information of the device main body) stored in the ROM 1002, a signal input from the control device 1022, and the like.
The RAM 1004 is a storage section used as a work area for the CPU 1000 and the like, and stores given information stored in the information storage medium 1006 and the ROM 1002, calculation results of the CPU 1000, and the like.
The information storage medium 1006 mainly stores a program, image data, sound data, play data, and the like. As the information storage medium, a memory such as a ROM, a hard disk, a CD-ROM, a DVD, a magnetic disk, an optical disk, or the like is used. The information storage medium 1006, the ROM 1002, and the RAM 1004 correspond to the storage section 500 shown in
Sound and an image can be suitably output using the image generation IC 1008 and the sound generation IC 1010 provided in the device.
The image generation IC 1008 is an integrated circuit which generates pixel information according to instructions from the CPU 1000 based on information transmitted from the ROM 1002, the RAM 1004, the information storage medium 1006, and the like. An image signal generated by the image generation IC 1008 is output to a display device 1018. The display device 1018 is implemented by a CRT, an LCD, an ELD, a plasma display, a projector, or the like. The display device 1018 corresponds to the image display section 360 shown in
The sound generation IC 1010 is an integrated circuit which generates a sound signal corresponding to the information stored in the information storage medium 1006 and the ROM 1002 and sound data stored in the RAM 1004 according to instructions from the CPU 1000. The sound signal generated by the sound generation IC 1010 is output from a speaker 1020. The speaker 1020 corresponds to the sound output section 350 shown in
The control device 1022 is a device which allows the player to input a game operation. The function of the control device 1022 is implemented by hardware such as a lever, a button, and a housing. The control device 1022 corresponds to the operation input section 100 shown in
A communication device 1024 exchanges information utilized in the device with the outside. The communication device 1024 is utilized to exchange given information corresponding to a program with other devices. The communication device 1024 corresponds to the communication section 370 shown in
The above-described processes such as the game process are implemented by the information storage medium 1006 which stores the game program 502 and the like shown in
The processes performed by the image generation IC 1008, the sound generation IC 1010, and the like may be executed by the CPU 1000, a general-purpose DSP, or the like by means of software. In this case, the CPU 1000 corresponds to the processing section 200 shown in
Although the above description illustrates a configuration in which the video game is executed using the consumer game device 1200 as an example, the game may also be executed using an arcade game device, a personal computer, a portable game device, and the like.
The embodiments according to the invention have been described above. Note that the application of the invention is not limited to the above embodiments. Various modifications and variations may be made without departing from the spirit and scope of the invention.
For example, the above embodiments have been described in which the conditions when calculating the position pi from the sampled acceleration ai include (a) the input start position and the input finish position must be the same, (b) the movement of the game controller 1230 must be stopped at the input finish position, and (c) the inclination of the game controller 1230 must be kept constant during input as much as possible. Note that the invention is not limited thereto.
As shown in
Specifically, the conditions B are expressed by the following equations (12) to (14).
p0=0 (12)
pn+1=pe (13)
vn=0 (14)
From the equations (5), (6), and (12) to (14), the acceleration of gravity g and the initial velocity v0 are expressed by the following equations (15) and (16).
Therefore, the positions pi can be calculated in time series by substituting the equations (12), (15), and (16) in the equation (2) in the above embodiment.
Other conditions may be used provided that the moving path can be calculated. For example, even when specifying the figure pattern input as shown in
p0=0 (17)
pn+1=pe (18)
v0=0 (19)
From the equations (17) to (19), the acceleration of gravity g is calculated as shown by the following equation (20).
Therefore, the positions pi can be calculated in time series by substituting the equations (17), (19), and (20) in the equation (2) in the above embodiment.
For example, (aD) a condition whereby an input must be started in a state in which the movement of the game controller 1230 is stopped at the input start position and (bC) a condition whereby the movement of the game controller 1230 must be stopped at the input finish position may be set as conditions D. The conditions D are expressed by the following equations (21) and (22).
p0=0 (21)
v0=vn=0 (22)
From the equation (5) in the above embodiment and the equation (22), the acceleration of gravity g is calculated as shown by the following equation (23).
Therefore, the positions pi can be calculated in time series by substituting the equations (21) to (23) in the equation (2) in the above embodiment.
The above embodiments have been described taking an example in which the player character 6 is controlled to draw the moving path 10 using the magic wand. Note that the invention is not limited thereto. For example, a configuration may also be employed in which a spirit character or a character having a magic attribute (e.g., flame character when the moving path corresponds to a flame magic operation input instruction) may appear in the game, and the character draws the moving path 10.
The above embodiments have been described taking an example in which only one game controller 1230 is used, Note that two or more game controllers 1230 may be used. In this case, the player plays the game while holding first and second game controllers 1230 respectively including an identifiable acceleration sensor 1239 with both hands, for example. The player performs an operation input by moving both hands at the same time. A first moving path is calculated based on the acceleration detected by the acceleration sensor of the first game controller held with the right hand, and a second moving path is calculated based on the acceleration detected by the acceleration sensor of the second game controller held with the left hand. A synthesized moving path is generated by synthesizing the first moving path and the second moving path so that the centers thereof coincide. Or, a synthesized path image is generated by synthesizing the image of the first moving path and the image of the second moving path. The operation input instruction may be determined based on the synthesized moving path or the synthesized path image. In this case, since a more complicated and advanced operation input can be performed, the variations of the operation input can be increased, whereby game operability can be further increased.
The above embodiments have been described taking an example in which the variable parameter (coefficient k1) is changed depending on the direction of the moving path 10 with respect to the game controller 1230 using the approximate plane 12 to change the damage value. Another variable parameter (coefficient k2) is changed depending on the size of the path image 14 to change the damage value. Note that the variable parameters may be appropriately set in another way.
As shown in
The above embodiments have been described taking an example in which the first coefficient k1 is calculated based on the angle formed by the normal direction 13 of the approximate plane 12 and the Xc axis of the game controller 1230 in order to determine the direction of the entire moving path. Note that a fourth coefficient k4 may be calculated based on the relative angle θf (0°≦θf≦180°) formed by the acceleration of gravity g calculated by the equation (9) in the above embodiments and the normal direction 13 of the approximate plane 12, and may be multiplied when calculating the damage value in the same manner as the third similar coefficient k3. Specifically, the fourth coefficient k4 is set at k4=1+|90°−θf|/90°.
In the example shown in
Or, different types of magic are effected depending on the relative angle θf formed by the acceleration of gravity g and the normal direction 13f of the approximate plane 12f.
For example, the condition relating to relative angle θf is associated with the reference image 526a of the reference pattern data 526 as a posture condition of the game controller 1230, and the operation input instruction 526b is defined depending on the condition. In the example of
According to this configuration, even if the number of figure patterns input by the player is small, since the player can perform various operation inputs by moving the game controller 1230 in various ways with respect to the body of the player, game playability can be increased.
The method of calculating the normal direction 13f is not limited to the method of providing a plane which passes three positions randomly selected from the positions pi employed in the above embodiments. For example, the normal direction 13f may be calculated by the following equation (24). a indicates a normal direction vector, and the magnitude of the normal direction vector corresponds to the area obtained by projecting the path drawn by the positions pi (i=0, . . . , n+1) onto the approximate plane 12.
“×” indicates the outer product of the vector.
Although only some embodiments of the invention have been described above in detail, those skilled in the art would readily appreciate that many modifications are possible in the embodiments without materially departing from the novel teachings and advantages of the invention. Accordingly, such modifications are intended to be included within the scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2006-326372 | Dec 2006 | JP | national |