Computer device and evaluation control method
By using inertial sensors and inheritance conditions in the game controller, the timing deviation problem caused by the acceleration sensor or gyroscope sensor is solved, and the determination accuracy of the operation input and player satisfaction are improved.
Patent Information
- Application Number
- CN201880084378.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-12-28
- Filing Date
- 2018-11-28
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2038-11-28
AI Technical Summary
In a game controller equipped with an acceleration sensor or a gyroscope sensor, the timing deviation of the operation input causes the player's feeling on the virtual hitting surface to mismatch the actual stop time, resulting in large processing load and low decomposition accuracy, making it difficult to accurately determine continuous operation Type of input.
By simplifying the calculation processing by placing an inertial sensor in the game controller and using inheritance conditions and acceleration threshold judgments, reducing processing load, and improving the determination accuracy of operation inputs, it is suitable for swing and stopping actions.
It realizes the reduction of processing load when continuously operating input, improves the determination accuracy of operation input, enhances player satisfaction with the game, and ensures that the operation input matches the feeling.
Smart Images

Figure CN111542377B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a technique for evaluating input timing of a player's operation input. Background Art
[0002] The technology for evaluating the input timing of operation input has been developed as one of the game technologies and has been put into practical use. For example, games such as music games, performance games, rhythm games, etc. (hereinafter collectively referred to as "music games") are representative examples of timing games that allow players to enjoy the specified timing (standard timing: the timing that should be the target) corresponding to the rhythm of the reproduced music, etc., and how to accurately perform the indicated operation (standard operation: the operation input required by the player). Players can use their favorite music as BGM and enjoy the operation input corresponding to the rhythm. Therefore, single-player stand-alone games are not to mention, and multiplayer games in which multiple players participate in cooperation or competition are also popular.
[0003] In addition, various technologies for increasing interest in music games have been proposed. For example, Patent Document 1 discloses a technology that accepts selection of a game medium such as a character or prop used in a game, changes a timing gauge (displays an evaluation criterion of standard timing through a gauge) according to the state of the selected game medium, and evaluates operation input based on the changed timing gauge, thereby increasing interest in the music game.
[0004] On the other hand, a game controller of a stationary home game device or a portable game device is equipped with an acceleration sensor or a gyro sensor, which can measure the motion of swinging the game controller and use it for game operation input.
[0005] For example, Patent Document 2 discloses a technique for distinguishing between an operation of swinging a game controller in the air and an operation of applying an impact to the game controller by focusing on the difference in acceleration at the timing when the increase and decrease directions of the acceleration value are reversed.
[0006] Prior art literature
[0007] Patent Literature
[0008] Patent Document 1: Japanese Patent Application Publication No. 2016-10646
[0009] Patent Document 2: Japanese Patent Application Publication No. 2008-36167 Summary of the invention
[0010] Technical problem to be solved by the invention
[0011] Music games are known as games that have extremely strict delays or responses to operation inputs. That is, if the timing when a player thinks that an operation input has been made and the timing when the operation input is reflected in the game and an operation sound is emitted deviate, the mood of playing the game will be greatly damaged.
[0012] For example, in a music game with percussion instrument performance as the theme, a business-specific game device is prepared. Such a business-specific game device is designed to physically prepare drumsticks for percussion instrument performance and a part (striking part) struck by the drumsticks, and to be configured to physically measure the strike on the striking part by the drumsticks, etc., so that the timing deviation described above does not cause a problem.
[0013] However, when the same music game is played on a game device having a game controller equipped with an acceleration sensor or a gyro sensor, the timing deviation described above can be clearly expressed in the form of physical sensation.
[0014] That is, the player holds the game controller as a drumstick for percussion and strikes the physically non-existent striking part downward to play the game. At this time, in order to reproduce the striking feeling, the player stops at the virtual struck surface of the physically non-existent striking part instead of throwing the game controller away.
[0015] Therefore, it is natural to design a program in such a way that the timing when the game controller actually stops (or approximately stops) is determined based on the measurement value of the acceleration sensor or gyroscope sensor, and this is judged as the operation input timing. However, in many cases, the timing when the player thinks "hit the virtual hit surface here" deviates from the timing when the game controller actually stops.
[0016] In addition, the accelerometer or gyroscope sensor used in the game controller of the portable game device or the fixed home game device sold in large quantities is a relatively cheap sensor, so there is a problem that the measurement accuracy and resolution are low and the cumulative error from the zero point tends to become larger. Therefore, there is a tendency for the timing deviation as mentioned above to become larger, making it difficult to solve the deviation.
[0017] Moreover, the problem of increasing timing deviations can lead to a decrease in the resolution accuracy of multiple operation input types. For example, in a timed game in which a game controller is swung in the air and stopped, the types of operation inputs cannot be accurately identified when continuous inputs are made in a short period of time, which may cause the player to not get points even though he or she has not made a mistake. One of the main reasons for the decrease in resolution accuracy is that a large amount of calculations are required to suppress the original time deviation, resulting in a large processing load.
[0018] A technology is required to reduce the processing load required for determining each input operation when a plurality of actions such as swinging and stopping a game controller equipped with an inertial sensor in the air are continuously input.
[0019] Technical solutions to solve problems
[0020] A computer device of the first mode is a computer device for evaluating the input timing of an operation input performed by a player, and comprises: a prompting unit for prompting the player with a standard timing and the type of standard operation of the standard timing, and at the standard timing, causing the player to hold a controller with a built-in inertial sensor in his hand and move it in a manner of waving and then stopping; a timing determination unit for determining the input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; and a type discrimination unit for discriminating the type of the operation input of the input timing based on the measurement value, the type discrimination unit having an inheritance unit for inheriting a previous discrimination result when the measurement value satisfies a given inheritance condition.
[0021] According to the first aspect, when the measurement value of the inertial sensor satisfies the inheritance condition, the last identification result can be inherited. That is, by simplifying the calculation process required for type identification, the processing load can be reduced.
[0022] The computer device of a second aspect is the computer device of the first aspect, wherein the inheritance condition includes at least that the presentation of the standard timing and the type of the standard operation by the presentation unit is presentation of consecutive standard operations of the same type.
[0023] In addition, in the computer device of the third aspect, in the first or second aspect, the presenting unit presents the standard timing in the form of an instantaneous timing or a time range, and the inheritance condition at least includes: the presenting unit presents the standard timing in the form of the time range.
[0024] According to the second or third aspect, when so-called continuous input is required, it is possible to determine whether the inheritance condition is satisfied. That is, it is possible to reduce the processing load required for determination during continuous operation input.
[0025] The computer device of the fourth mode is any one of the first to third modes, wherein the controller has a long strip shape with a plurality of operation buttons arranged on the front side and can be held by one hand, the inertial sensor measures at least a first acceleration with a direction orthogonal to the length direction of the controller and the front normal direction of the controller as the first axis, and the inheritance condition is a condition based on the first acceleration.
[0026] According to the fourth aspect, inheritance of type discrimination can be applied to the action of swinging a long controller having a plurality of operation buttons arranged on the front side and capable of being held and held by one hand in the first axis direction. For example, a continuous action of holding the controller like a drumstick and hitting the drum with the drumstick becomes an action to which inheritance of discrimination results is applied, and therefore inheritance of discrimination results can be applied to natural input methods.
[0027] The computer device of the fifth mode is in the fourth mode, wherein the inheritance condition at least includes: after the magnitude of the first acceleration exceeds a given first threshold, the increase or decrease trend of the first acceleration is reversed, and the magnitude of the first acceleration after the reversal exceeds a given second threshold.
[0028] According to the fifth aspect, when the hand is swung down after the hand is swung up and the momentum exceeds the second threshold, it can be determined that the succession condition is satisfied.
[0029] The computer device of the sixth mode is that in the fifth mode, the inertial sensor measures the acceleration in the length direction of the controller and the acceleration in the front normal direction of the controller in addition to measuring the first acceleration, thereby measuring three-dimensional acceleration, the first threshold is a threshold value based on the average magnitude of the three-dimensional acceleration within the past specified time, and the second threshold value is a threshold value based on the average magnitude of the three-dimensional acceleration within the past specified time.
[0030] According to the sixth aspect, it is possible to accurately distinguish whether the action is an unintentional action of merely preparing to grasp the controller or an intentional action of swinging the controller. That is, it is possible to prevent the inheritance of erroneous execution determination results.
[0031] A computer device according to a seventh aspect is the computer device according to the fifth or sixth aspect, further comprising an adjustment unit that adjusts the first threshold value and / or the second threshold value according to an operation input by the player.
[0032] According to the seventh method, the player can adjust the inheritance conditions.
[0033] The computer device of the eighth mode is any one of the first to seventh modes, wherein the timing determination unit determines the input timing based on a second input determination condition which is a condition that is easier to satisfy than the input determination condition, instead of the input determination condition when the measured value satisfies the inheritance condition.
[0034] According to the eighth aspect, during the period of succession of the application discrimination result, by making the judgment of the operation input easy, continuous operation input can be easily established. Continuous input is also a conspicuous existence in the operation input, and smoothly achieving continuous input is an important factor in improving the satisfaction of playing the game. Therefore, according to this aspect, the effect of improving the player's satisfaction with the game can be expected.
[0035] A computer device according to a ninth aspect is any one of the fifth to seventh aspects, wherein the timing determination unit determines, as the input timing, a time satisfying a third input determination condition based on the first acceleration instead of the input determination condition when the measured value satisfies the inheritance condition.
[0036] According to the ninth aspect, the input timing can be determined based on the first acceleration.
[0037] A computer device according to a tenth aspect is the computer device according to the ninth aspect, wherein the third input determination condition is that the magnitude of the first acceleration has been decreasing within a predetermined past time.
[0038] As a game that uses the action of holding a controller in the hand and moving in a manner of waving and then stopping as an operation input, for example, a game that uses the action of knocking a virtual body to be knocked that does not exist in reality as an operation input can be considered. In this case, at the timing that the person thinks is the knocking, it is as if the knocking tool hits the body to be knocked and stops, and the brakes are naturally applied at the end of the action. However, in most cases, the movement of the controller actually stops after the timing that the person thinks is the knocking. This is because: although it is a very short time, due to the influence of inertia, etc., it takes time for the controller to actually stop. Therefore, when the timing of the end of the action, that is, the timing when the controller stops moving, is used as the input timing, there will be a time gap with the timing that the person thinks is the knocking, thereby producing a sense of delay.
[0039] Therefore, after re-analyzing the entire action, the following insight is obtained, that is, a peak value appears in the measured value at a time close to the timing when the person thinks that the tapping is made. In the tenth method, focusing on this insight, by detecting that the magnitude of the first acceleration has a decreasing trend, it is possible to detect the peak value of the measured value that appears before the action stops, and determine the input timing based on the peak value. Therefore, when running a game that regards the action of swinging the controller and stopping as an operation input, it is possible to determine the operation input timing that is close to the player's feeling and does not feel out of place.
[0040] The computer device of an eleventh aspect is any one of the first to tenth aspects, further comprising a notification control unit for notifying that an operation input satisfying the takeover condition is being performed.
[0041] According to the eleventh aspect, the player can be notified that an operation input satisfying the inheritance condition is being performed.
[0042] The twelfth mode of the evaluation control method is an evaluation control method for evaluating the input timing of an operation input performed by a player, and comprises: prompting the player with a standard timing and the type of standard operation of the standard timing, wherein the player is prompted with a hand to hold a controller having a built-in inertial sensor and move it in a manner of waving and then stopping; determining the input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; and discriminating the type of operation input of the input timing based on the measurement value, wherein the type discrimination of the operation input comprises: inheriting a previous discrimination result when the measurement value satisfies a given inheritance condition.
[0043] According to the twelfth aspect, it is possible to realize an evaluation control method that can obtain the same effects as those of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] Figure 1 This is a front view showing an example of the configuration of a game device in which a game controller can be freely attached and detached.
[0045] Figure 2 This is a diagram showing a game device in a state where the game controller is separated.
[0046] Figure 3 This is a diagram for explaining the game content and is a diagram showing a display example of a game screen.
[0047] Figure 4 This is a diagram showing examples of types of standard operations.
[0048] Figure 5 This is a conceptual diagram for explaining the determination of input timing of a single-player action.
[0049] Figure 6 This is a conceptual diagram for explaining the determination of the input timing of the continuous typing action.
[0050] Figure 7 This is a conceptual diagram for explaining the input type discrimination of the operation input in the dongkachi mode.
[0051] Figure 8 This is a conceptual diagram for explaining input type discrimination of operation input in the click-click mode.
[0052] Fig. 9 This is a conceptual diagram for explaining the input type determination of the operation input in the click-dong mode.
[0053] Fig.10 It is a diagram showing a display example of an operation screen related to setting of adjustment time.
[0054] Fig.11This is a diagram showing a display example of the results of the input timing determination and the input type determination on the game screen.
[0055] Fig.12 This is a functional block diagram showing an example of the functional configuration of a game device.
[0056] Fig.13 This is a diagram showing an example of a program or data stored in a storage unit.
[0057] Fig.14 This is a diagram showing an example of the data structure of game data.
[0058] Fig.15 This is a flowchart for explaining the processing flow in the game device.
[0059] Fig.16 This is a flowchart for explaining the flow of input determination processing.
[0060] Fig.17 It is connected Fig.16 The following flowchart.
[0061] Fig.18 This is a flowchart for explaining the flow of the type discrimination process.
[0062] Fig.19 It is a diagram showing a display example of a setting screen for accepting a setting operation of the difficulty of continuous typing input determination.
[0063] Fig. 20 This is a diagram showing an example of the data configuration of game data when the configuration is set to be able to accept the setting operation of the difficulty of the continuous input determination. DETAILED DESCRIPTION
[0064] Hereinafter, examples of embodiments of the present invention will be described, but the modes to which the present invention can be applied are certainly not limited to the following embodiments. As an example of a computer device, a game device is cited as an example for description. In addition, in the accompanying drawings, coordinate systems are appropriately marked for ease of description, but these marks only show the directions of the coordinate axes, and do not show the coordinate origin.
[0065] Figure 1 This is a front view showing a configuration example of a portable game device as one embodiment, in which a game controller is detachable. Figure 2 This is a diagram showing the game device in a state where the game controller is separated.
[0066] The game device 1400 is a computer designed for portability and convenience in use and is classified as a portable game device. The game device 1400 includes a main device 1401 and at least one detachable game controller 1460 (right game controller 1460R, left game controller 1460L).
[0067] The main device 1401 includes a touch panel 1406 that functions as an image display device and a touch position input device, a connector 1407, a built-in battery 1409, a speaker 1410, and a control board 1450. In addition, a power button, a volume adjustment button, etc. are provided as appropriate.
[0068] Connectors 1407 are provided at the left and right ends of the main device 1401 corresponding to the right game controller 1460R and the left game controller 1460L, respectively. And, they are connected to the connectors of the right game controller 1460R and the left game controller 1460L, thereby realizing communication between the game controller and the main device 1401.
[0069] The control substrate 1450 is equipped with various processors such as a CPU (Central Processing Unit) 1451, a GPU (Graphics Processing Unit) or a DSP (Digital Signal Processor), various IC memories 1452 such as VRAM, RAM or ROM, a communication module 1453 for wireless communication with a mobile phone base station or a wireless LAN base station, other devices with a short-range wireless device, etc., and an interface circuit 1457, etc.
[0070] The interface circuit 1457 includes a driver circuit for the touch panel 1406 , a circuit for transmitting and receiving signals with the right game controller 1460R or the left game controller 1460L via the connector 1407 , an output amplifier circuit for outputting sound signals to the speaker 1410 , and the like.
[0071] These elements mounted on the control substrate 1450 are electrically connected via a bus circuit, etc., and are connected in a manner that enables data reading and writing, and signal transmission and reception. In addition, a part or all of the control substrate 1450 may also be constituted by an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a SoC (System on a Chip).
[0072] The control board 1450 stores programs and various data in the IC memory 1452 , and the control board 1450 performs calculations based on these data, thereby implementing various functions of executing the game of this embodiment.
[0073] The right game controller 1460R and the left game controller 1460L are designed so that the player can hold them with one hand. In addition, the right game controller 1460R and the left game controller 1460L are respectively equipped with a joystick 1461, a plurality of button switches 1462 as operation buttons, a vibrator 1463 as a vibration generating device, a speaker 1464, a connector 1467, a controller control substrate 1470, and a built-in battery (not shown).
[0074] The controller control substrate 1470 includes a controller control IC 1471 corresponding to a processor for controlling the game controller, a communication module 1473 , a three-axis acceleration sensor 1475 (first inertial sensor; acceleration sensor), a three-axis gyro sensor 1476 (second inertial sensor; gyro), and an interface circuit 1477 .
[0075] Of course, other elements may be appropriately included, such as an image sensor module. Alternatively, some elements may have the functions of other elements, thereby omitting the other elements. For example, a sensor may be used to realize the three-axis acceleration sensor 1475 and the three-axis gyroscope sensor 1476, or a controller control IC 1471 and an interface circuit 1477 may be integrated.
[0076] The communication module 1473 realizes wireless communication with the communication module 1453 of the main device 1401.
[0077] like Figure 2 As shown, the three-axis acceleration sensor 1475 of the right game controller 1460R constitutes the local coordinates (Xr, Yr, Zr) of the right hand system. Specifically, it is constituted as follows: when facing the front of the right game controller 1460R, the right direction ( Figure 2 The right side of the controller is the positive direction of the Xr axis and the upper side of the controller in the length direction ( Figure 2 The positive direction of the Yr axis and the normal direction of the front of the controller, that is, the front side of the controller ( Figure 2 The near front side) is the positive direction of the Zr axis.
[0078] The three-axis gyro sensor 1476 of the right game controller 1460R forms the local coordinates (Xr, Yr, Zr) of the right-hand system, and is configured to be able to detect the angular velocity around each axis of the three-axis acceleration sensor 1475 of the right game controller 1460R.
[0079] Furthermore, an accessory 1468 can be mounted on the left end of the right game controller 1460R in a manner that blocks the connector 1467. The right game controller 1460R is held in a manner that the thumb and the ball of the thumb of the right hand are in contact with the right side of the controller, and the accessory 1468 of the controller is wrapped with the index finger to the little finger. In other words, the back side opposite to the front side is held in a manner that the back side is held with one hand as the palm side.
[0080] Similarly, the three-axis acceleration sensor 1475 of the left game controller 1460L constitutes the local coordinates (X1, Y1, Z1) of the left-hand system. Specifically, it is constituted as follows: the left direction ( Figure 2 The left side of the controller is the positive direction of the X1 axis, and the upper side of the controller in the length direction ( Figure 2 The positive direction of the Yl axis and the normal direction of the front of the controller, that is, the front side of the controller ( Figure 2 The near front side) is the positive direction of the Zl axis.
[0081] The three-axis gyro sensor 1476 of the left game controller 1460L constitutes the local coordinates (X1, Y1, Z1) of the left-hand system, and is configured to be able to detect the angular velocity around each axis of the three-axis acceleration sensor 1475 of the left game controller 1460L.
[0082] Furthermore, an accessory 1468 can be mounted on the right end of the left game controller 1460L in a manner that blocks the connector 1467. The left game controller 1460L is held in a manner that the thumb and the ball of the thumb of the left hand are in contact with the left side of the controller, and the accessory 1468 of the controller is wrapped with the index finger to the little finger. In other words, the controller is held in a manner that the back side opposite to the front side is the palm side and is held with one hand.
[0083] return Figure 1 The interface circuit 1477 includes a circuit for realizing wired communication with the control substrate 1450 of the main device 1401 via the connector 1467. In addition, the interface circuit 1477 realizes signal exchange between various devices (joystick 1461, button switch 1462, vibrator 1463, speaker 1464, three-axis acceleration sensor 1475, three-axis gyro sensor 1476, etc.) carried by the controller and the main device 1401.
[0084] Next, the game according to this embodiment will be described.
[0085] Figure 31460R and 1460L are diagrams for explaining the game content in this embodiment and are diagrams showing an example of a display of a game screen. The game in this embodiment is a type of rhythm game and is a music game with the theme of playing virtual percussion instruments by waving the right game controller 1460R and the left game controller 1460L to perform operation input while listening to music played (played) from the speaker 1410 of the main device 1401.
[0086] The player 2 holds the right game controller 1460R and the left game controller 1460L as if they were the handles of a virtual percussion instrument. The player 2 also holds the right game controller 1460R and the left game controller 1460L as if they had a long stick-shaped component at the front end (but not visible), and a virtual percussion instrument 4 at the front (but not visible), and swings the right game controller 1460R and the left game controller 1460L downward to hit the virtual percussion instrument 4 to perform operation input. Incidentally, in the game of this embodiment, the virtual percussion instrument 4 is set as a taiko drum, and the taiko drum is placed vertically in front of the player 2 and near waist height with the drum head facing the player side.
[0087] When the game starts, the music being played is played from the speaker 1410 of the main device 1401, and the game screen W3 is displayed on the touch panel 1406.
[0088] The game screen W3 displays a time display unit 10 indicating the time elapsed since the start of the game, a music title 12, and a music score 20. The design of the music score 20 can be appropriately set, but in this embodiment, it has a reference position 24 shown on the left side of the screen, an indicator 25 displayed in a flowing manner toward the reference position 24, a measure dividing line 26, an evaluation result display unit 27, and a score display unit 28.
[0089] The reference position 24 indicates a position serving as a reference for indicating a standard timing (timing of a target operation input). In the present embodiment, only one position is displayed in one musical score 20, but a configuration may be adopted in which a plurality of positions are provided.
[0090] The indicator 25 is prepared in a different design depending on the type of standard operation (correct operation input that should be performed at the standard timing at this time). In addition, in the present embodiment, the display appears from the right side of the score 20, and moves toward the left side in a linear flow along with the bar dividing line 26 toward the reference position 24. The area between the bar dividing lines 26 represents one bar in the music being played. The timing at which the indicator 25 overlaps with the reference position 24 is the standard timing in the present embodiment, and the type of the overlapping indicator 25 represents the type of standard operation.
[0091] The evaluation result display unit 27 uses the timing when the center of the indicator 25 overlaps with the center line of the reference position 24 as the standard timing, and the type of the overlapping indicator 25 as the standard operation, and displays the input evaluation based on 1) the deviation between the standard timing and the input timing of the operation input at this time, and 2) the consistency / inconsistency between the standard operation and the type of the operation input. For example, the more consistent the standard operation is with the type of the operation input, and the smaller the deviation between the standard timing and the operation input timing is, the higher the evaluation is.
[0092] The score display unit 28 displays the accumulated scores given according to the evaluation results input by the operation.
[0093] In addition, in this embodiment, there are various types of standard operations and indicators 25 corresponding thereto.
[0094] like Figure 4 As shown, first, if the distinction is made based on the type of basic operation input, it includes the dong type represented by the first indicator dong 25a (white circle) which is a first type of operation indicating striking the drumhead of the virtual percussion instrument 4 (taiko), and the kachi type represented by the second indicator kachi 25b (shaded four corners) which is a second type of operation indicating striking the drumhead frame or the outer periphery of the drum body.
[0095] In addition, if the standard timing is differentiated according to the prompting method, it is divided into an "instantaneous prompting type" in which the standard timing is prompted in the form of "instantaneous timing" such as dong 25a or click 25b, and a "range prompting type" in which the standard timing is prompted in the form of "time range" such as continuous dong 25c and continuous click 25d.
[0096] Dong 25a and Kachi 25b are basically indicators of an instantaneous prompting type, but by continuously prompting a plurality of them at short time intervals, it is possible to prompt continuous standard operations of the same type.
[0097] The continuous hitting 25c is an indicator that uses continuous standard operations of the same type as a range prompt type. That is, the first operation is set as the standard operation, but the standard timing is always set during the period when the indicator reaches the reference position 24. Moreover, regarding the evaluation of the continuous hitting 25c, if the operation input is consistent with the standard operation, a good evaluation is given regardless of when the input is performed during the period when the indicator reaches the reference position 24. Therefore, it becomes a rule that the more the first operation is performed during the period when the continuous hitting 25c reaches the reference position 24, the more points can be obtained. From the player's point of view, continuous operation input, so-called "continuous hitting input" is inevitably required.
[0098] Similarly, the continuous hit click 25d is also a pointer that uses the same type of continuous standard operation as a prompt, and is a range prompt type pointer that uses the second type of operation as the standard operation. During the period when the pointer is applied to the reference position 24, it is always regarded as the standard timing. That is, from the player's point of view, continuous hit input is required.
[0099] Of course, when continuous typing input is required, it can be realized by continuously providing a prompt at short time intervals even if the indicator is an instantaneous prompt type.
[0100] In addition, other types of standard operations or indicators may be appropriately set.
[0101] In this embodiment, the input timing is first determined, and after the input timing is determined, the input type of the operation input is determined. Then, the determined input timing and operation input type are compared with the standard timing and standard operation indicated in the music score 20 at that time, and the operation input is evaluated.
[0102] First, the principle of determining input timing in this embodiment will be described.
[0103] Regardless of the first operation (dong) or the second operation (kachi), the action performed by player 2 includes an "upward swing action" and a "downward swing action" like hitting a taiko drum with a drumstick, and a "braking action of stopping at the downward swing end position Ps of the drum head considered to be the virtual percussion instrument 4" played as a virtual percussion instrument as the third action, which are three consecutive actions.
[0104] Furthermore, if we look at the details further, we can classify the tapping action into the action of snapping the wrist inwards with the angular velocity of the wrist and the action of tapping with the wrist slightly rotated and roughly fixed. The former is common when performing single tapping intermittently, and the latter is common when performing so-called continuous tapping repeatedly in a short period of time. Therefore, the former is called "single tapping action" and the latter is called "continuous tapping action".
[0105] First, the determination of input timing in a single play action will be described.
[0106] Figure 5 It is a diagram for explaining the determination of input timing of a single-player action. In addition, although the left game controller 1460L is used as an example for explanation here, the same is applicable to the right game controller 1460R by switching the local coordinates from the left-hand system to the right-hand system.
[0107] If we further focus on the posture change of the left game controller 1460L, the single-play action includes the start or transition of the three actions that constitute the action. Therefore, in this embodiment, based on the change of the angular velocity ωz around the Z1 axis measured by the three-axis gyro sensor 1476, the single-play action of the first operation is correctly identified and the appropriate input timing is determined.
[0108] Specifically, first, when the absolute value of the angular velocity ωz around the Z1 axis measured by the three-axis gyro sensor 1476 exceeds the predetermined swing-up start determination reference angular velocity value ωm, it is determined that the "swing-up action" has started. At this time, the angular velocity ωz rotates in the negative direction in the left-handed coordinate system, so it can also be configured so that when it is less than a predetermined negative reference value corresponding to the swing-up start determination reference angular velocity value ωm, it is determined that the swing-up action has started.
[0109] Next, when the angular velocity ωz around the Z1 axis is detected to be positive or negative inverted when the upward swing action starts, it is determined that the upward swing action is switched to the downward swing action. In other words, it is determined that the downward swing action starts after the upward swing action. This is called "precondition determination". By having this premise determination, inadvertent actions that are not operation inputs, such as turning the wrist to relieve wrist fatigue, are eliminated, thereby preventing erroneous determinations.
[0110] Then, after the premise judgment, when the absolute value of the angular velocity ωz around the Zl axis reaches the prescribed required momentum determination reference angular velocity ωf, it is judged that the player intentionally performed a downward swing as a singles action of the first operation. Thus, the behavior of the player putting down the raised hand simply because of fatigue and the downward swing are identified. In addition, the angular velocity ωz at this time is a rotation in the positive direction in the left-handed coordinate system, so it can also be configured that when the angular velocity ωz reaches a positive prescribed threshold value equivalent to the required momentum determination reference angular velocity ωf, it is judged that a downward swing has been performed.
[0111] Furthermore, in this embodiment, when the required momentum determination reference angular velocity ωf is reached, vibration is generated in the vibrator 1463 of the left game controller 1460L. The vibration intensity Amp is set in proportion to the angular velocity ωz measured at this time, and the swinging action creates the feeling of wind noise from a virtual stick-shaped hitting tool. This is called "wind noise creation vibration".
[0112] Next, in the downward swing action, when the time change Δ|ωz| of the absolute value of the angular velocity ωz around the Z axis measured by the three-axis gyro sensor 1476 becomes negative, it is determined that the braking action has started. The time change of the absolute value of the angular velocity ωz changes from positive to negative, which means that the absolute value of the angular velocity ωz changes from an increasing trend to a decreasing trend. Therefore, it means determining the peak value of the absolute value of the angular velocity ωz. In other words, the peak value of the measured value that occurs just before the player stops the singles action is detected. If the peak value is detected, it is determined that the braking action has started. And, in this embodiment, the determination timing is basically regarded as the input timing of the singles action.
[0113] However, after the braking action begins, the actual position of the left hand and the left game controller 1460L reaches a lower swing position Ps due to the previous momentum (inertia), that is, the position where the player imagines hitting the striking surface or edge of the virtual percussion instrument 4 or below it.
[0114] In addition, in the present embodiment, at the input timing of the single-hitting action, the vibrator 1463 of the left game controller 1460L generates input performance vibration. The "input performance vibration" is a vibration aimed at reproducing the feeling of a virtual percussion tool contacting the striking surface or the edge of the virtual percussion instrument 4. Basically, different vibrations are generated in accordance with the type discrimination result of the operation input. Moreover, in the present embodiment, the input performance vibration also serves as an "evaluation result notification vibration" for notifying the evaluation result. That is, vibration is generated with a vibration intensity / vibration pattern corresponding to the evaluation result of the operation input.
[0115] In addition, any one of the wind noise simulation vibration and the input simulation vibration may be omitted.
[0116] Next, the determination of input timing in the continuous typing operation will be described.
[0117] Figure 6 1460L is used as an example for explaining the left game controller 1460L, but the same is applicable to the right game controller 1460R by switching the local coordinates from the left-hand system to the right-hand system.
[0118] In the continuous hitting action, the wrist position is roughly fixed, so it cannot be recognized based on the posture change like the previous single hitting action. Therefore, the continuous hitting action is correctly recognized based on the change in acceleration measured by the three-axis acceleration sensor 1475 of the left game controller 1460L, and the appropriate input timing is determined.
[0119] Specifically, the player holds the left game controller 1460L in a posture where the left end of the controller touches the ball of the thumb and the left end faces upward to operate. Therefore, when the acceleration Ax in the X1-axis direction measured by the three-axis acceleration sensor 1475 exceeds a first threshold value obtained by adding a predetermined upward swing start determination reference coefficient k1 to the average acceleration Ax_ave which is the average value of the acceleration Ax so far, it is determined that the "upward swing action" has started.
[0120] The average acceleration Ax_ave is an average value of about 10 to 15 measurements by the triaxial acceleration sensor 1475. The measurement cycle depends on the specifications of the sensor used, and may be a relatively slow cycle of about 4 to 6 ms.
[0121] Next, when the acceleration Ax@t at time t is detected to be smaller than the acceleration Ax@t-1 one measurement cycle ago, that is, the increase and decrease trend is reversed, it is determined that the upward swing action is about to end and will soon shift to the downward swing action. This determination is equivalent to the premise determination in the continuous hitting action.
[0122] After this premise judgment, when the downward swing action is transferred, the acceleration Ax in the X1-axis direction is measured as a negative value. Therefore, when the acceleration Ax in the X1-axis direction is lower than the second threshold value obtained by adding the predetermined determination reference coefficient k2 to the average acceleration Ax_ave, it is judged that the player intentionally performed the downward swing action as a continuous hitting action. Thus, the behavior of the player putting down the raised hand simply because of fatigue and the downward swing action are identified. In the continuous hitting action, "wind noise performance vibration" is also performed here.
[0123] Next, the swinging motion is transferred to the braking motion. At this time, the acceleration Ax in the x1-axis direction measured by the three-axis acceleration sensor 1475 changes in such a way that the measured value increases toward "0" as the vehicle decelerates from a negative value.
[0124] Therefore, when the acceleration Ax@t at time t is detected to be greater than the acceleration Ax@t-1 one measurement cycle ago, that is, the increase and decrease trend is reversed, it is determined that the braking action has started. In other words, the peak value of the measured value that occurs just before the player stops the continuous hitting action is detected, and it is determined that the braking action has started.
[0125] Furthermore, in the present embodiment, this determination timing is basically regarded as the input timing of the continuous typing action.
[0126] However, after the braking action begins, the actual position of the left hand and the left game controller 1460L reaches a lower swing position Ps due to the previous momentum (inertia), that is, the position where the player imagines hitting the striking surface or edge of the virtual percussion instrument 4 or below it.
[0127] Furthermore, when the input timing of the continuous hitting action is determined, the vibrator 1463 of the left game controller 1460L also generates input effect vibration.
[0128] In addition, when determining input timing, as a further condition to be satisfied, a condition that the sum of the absolute values of acceleration measured in all three axes is greater than a predetermined value may be added. By setting this additional condition, when input timing is determined, even if the player has the habit of bending his wrist during the downward swing, the input timing can be correctly determined.
[0129] Under the prior art, the timing when the measurement value of the three-axis acceleration sensor 1475 or the three-axis gyroscope sensor 1476 of the left game controller 1460L reaches the value judged as the stop of the game controller is used as the input timing. However, there is a deviation between the timing when the player thinks that "the virtual hitting surface is hit here" and the timing when the game controller actually stops, thereby causing an undesirable situation.
[0130] However, in this embodiment, the brake for stopping the downward swing of the hand that starts at or near the timing when it is considered that "the virtual hitting surface is hit here" is detected and used as the input timing, so that the input timing that matches the player's feeling can be determined.
[0131] Next, the type determination of the operation input will be described.
[0132] If we distinguish the first operation (dong) and the second operation (kachi) from each other by focusing on the downward swinging method of the hand, we can say that the former is a vertical downward swinging action that makes the hand swing downward vertically, and the latter is a curved downward swinging action that makes the hand swing downward in a curve.
[0133] Furthermore, if we further focus on the action of the second operation (kachi), there is a mode in which the second operation is performed after the first operation (dongkachi mode), and a mode in which the second operation is performed continuously (kachikachi mode). In addition, there is also a mode in which the first operation is performed after the second operation in the opposite manner (kachidong mode).
[0134] Figure 7 1460L is an example of an input type discrimination of an operation input in the dongkachi mode. In addition, the left game controller 1460L is used as an example for description here, but the same is applicable to the right game controller 1460R by switching the local coordinates from the left-hand system to the right-hand system.
[0135] When focusing on the trajectory of the left game controller 1460L in the dongkachi mode, the player swings the left game controller 1460L upward toward the outside in the upward swing action. If the action is observed from the front of the player, the trajectory of the upward swing action slides diagonally upward. In addition, the downward swing action is performed while the wrist is rotated inward.
[0136] Focusing on the posture of the left game controller 1460L, at the end of the upward swinging action, the left game controller 1460L is tilted sideways with the Z1 axis facing the player side ( Figure 7 The left game controller 1460L rotates around the X1 axis. This behavior does not occur in the first operation (dong) described above.
[0137] Therefore, when the absolute value of the angular velocity ωx around the Xl axis measured by the three-axis gyro sensor 1476 of the left game controller 1460L exceeds the prescribed third judgment reference value k3, and the average value of the angular velocity ωx, that is, the absolute value of the average angular velocity ωx_ave, exceeds the prescribed fourth judgment reference value k4, it is judged that the second operation (click) has been input.
[0138] The angular velocity ωx at this time is measured as a negative value in the local coordinate system of the left-handed system. Therefore, it can also be constructed as follows: when the angular velocity ωx reaches the specified negative threshold equivalent to the third judgment reference value k3, and the average angular velocity ωx_ave reaches the negative threshold equivalent to the fourth judgment reference value k4, it is judged that the second operation (click) is input.
[0139] The average angular velocity ωx_ave is an average value of about 10 to 15 measurements by the three-axis gyro sensor 1476. The measurement cycle depends on the specifications of the sensor used, and may be a relatively slow cycle of about 4 to 6 ms.
[0140] Figure 8 This is a conceptual diagram for explaining the input type discrimination of the operation input in the click-click mode. In addition, the left game controller 1460L is used as an example for explanation here, but the same is applicable to the right game controller 1460R by switching the local coordinates from the left-hand system to the right-hand system.
[0141] When focusing on the trajectory of the left game controller 1460L in the click-click mode, the front direction (positive direction of the Z1 axis) of the left game controller 1460L maintains an upward posture from facing diagonally upward. Such an inclined movement in an inclined posture does not appear in the action of the first operation (dong) described above.
[0142] Therefore, when the ratio of the absolute value of the average acceleration Ax_ave in the Xl-axis direction and the absolute value of the average acceleration Az_ave in the Zl-axis direction measured by the three-axis acceleration sensor 1475 of the left game controller 1460L is below the prescribed fifth judgment reference value k5, it is judged that the second operation (click) is input.
[0143] Fig. 9 1460L is a conceptual diagram for explaining the input type discrimination of the operation input in the click-dong mode. In addition, the left game controller 1460L is used as an example for explanation here, but the same is applicable to the right game controller 1460R by switching the local coordinates from the left-hand system to the right-hand system.
[0144] The input start position of the second operation (click) is further outward than the input start position of the first operation (thump). Furthermore, the input start position of the first operation is often at a higher position. Therefore, when focusing on the trajectory of the left game controller 1460L in the click-thump mode, it is accompanied by movement in the normal direction of the front of the controller.
[0145] Here, when the average acceleration Az_ave in the Z1-axis direction measured by the three-axis acceleration sensor 1475 of the left game controller 1460L exceeds the prescribed sixth determination reference value k6, it is determined that the first operation (dong) has been input.
[0146] Furthermore, in the present embodiment, in addition to performing input type determination based on these three patterns, all input types are determined to be the first type of operation (dong).
[0147] By the above-mentioned input timing determination and the above-mentioned input type determination, it is possible to appropriately determine the input timing that the player perceives as a tap, and to accurately identify a plurality of confusing operation inputs.
[0148] In addition, basic input determination can be achieved through the above-mentioned input timing determination and input type determination. However, the rotation of the arm and the bending of the wrist in the upward swing and downward swing movements are not necessarily exactly the same as described above. Depending on the player, there is a possibility that there is a slight deviation between the timing that the player thinks he has hit and the input timing determined by the above method.
[0149] Therefore, in the present embodiment, a timing adjustment function is provided for setting an adjustment time related to the determination of the input timing.
[0150] Fig.10 1 is a diagram showing an example of an operation screen display related to setting the adjustment time. In order to set the adjustment time, the adjustment screen W10 is displayed on the touch panel 1406. The adjustment screen W10 includes a method description 32 for explaining the method of adjustment, an adjustment operation unit 34, and various operation icons 36 (36a, 36b, ...). The design of the adjustment operation unit 34 can be set appropriately, but in this embodiment, it is designed to move the setting rod 34a by touch and slide operation.
[0151] Furthermore, in the timing adjustment, the player is made to attempt the first operation, and the operation sound is played at a timing after the initial adjustment time has passed from the input timing. The player operates the adjustment operation unit 34 to minimize the deviation between the timing imagined by the player and the timing of playing the operation sound. Then, the result of the timing adjustment is stored in the IC memory 1452 or the like as the applied adjustment time, and is applied to the judgment of the input timing thereafter. In addition, the adjustment can basically only be made in the direction of delay, but by setting the initial adjustment time to a value exceeding 0, it is possible to make an adjustment such as a judgment of whether to simulate the input timing being advanced by reducing the initial adjustment time to make it close to 0.
[0152] Fig.11 This is a diagram showing a display example of the results of the input timing determination and the input type determination on the game screen.
[0153] In the game screen during the game play, the input timing is notified by the evaluation result display unit 27. Specifically, it is determined that it is the input timing, and the display form (design elements such as display color, line thickness, presence or absence of shadows, etc.) of the frame displaying the evaluation results is temporarily changed from the standard form 27s to the notification form 27h. Fig.11 In the example of FIG. 1 , a notification form in which the outline is emphasized is shown.
[0154] In addition, in the game screen, while notifying the input timing, the input type discrimination result of the operation input is also notified. For example, when it is determined to be the first type of operation (dong), the type notification mark 40 is temporarily added and displayed on the upper part of the evaluation result display unit 27. In the case of determining to be the second type of operation (ka shi), when it is determined that it is an operation input using the right game controller 1460R, the type notification mark 40 is temporarily added and displayed on the right side of the evaluation result display unit 27. When it is determined that the second type of operation (ka shi) is an operation input using the left game controller 1460L, the type notification mark 40 is temporarily added and displayed on the left side of the evaluation result display unit 27.
[0155] Furthermore, in the present embodiment, it can also be said that the display form of the type notification mark 40 (e.g., the shape of the mark, the display color, whether it flashes, etc.) is changed according to whether the judgment of the input timing as the evaluation object is determined by acceleration judgment or angular velocity judgment, and the judgment result using any one of the judgment methods is notified. Specifically, there is a case where the display color is set to white when the judgment is made using acceleration, and the display color is set to black when the judgment is made using angular velocity. In addition, in the case where it is determined to be a continuous input, the mark can be displayed in a particularly large size. Of course, the notification method is not limited to this. For example, it can also be a performance display such as changing the background of the music score 20 or displaying a special character on the screen.
[0156] [Description of functional configuration]
[0157] Fig.12 14 is a functional block diagram showing an example of the functional configuration of the game device 1400 in this embodiment. The game device 1400 in this embodiment includes an operation input unit 100, a processing unit 200, a sound output unit 390, an image display unit 392, a communication unit 394, and a storage unit 500 in a main device 1401.
[0158] The game controller 1460 (right game controller 1460R, left game controller 1460L) includes an operation input unit 100 c , an acceleration measurement unit 110 , an angular velocity measurement unit 112 , a controller processing unit 200 c , a communication unit 394 c , and an excitation unit 396 .
[0159] The operation input unit 100 is a unit for inputting various operations. It can be implemented by a switch, a lever, a dial, a joystick, a touch panel, a track pad, a touch pad, etc. Figure 1 In the configuration of , the touch panel 1406 corresponds to this.
[0160] The processing unit 200 is implemented by electronic components such as a processor such as a CPU or GPU, an ASIC, an FPGA, an IC memory, etc., and performs data input and output control between various functional units including the operation input unit 100 and the storage unit 500. In addition, various calculation processes are performed according to a predetermined program or data, an operation input signal from the operation input unit 100, the game controller 1460, etc., thereby comprehensively controlling the operation of the game device 1400. Figure 1 In the example of , the control substrate 1450 corresponds to this.
[0161] Furthermore, the processing unit 200 of the present embodiment includes a game calculation unit 210, a timer unit 280, a sound generation unit 290, an image generation unit 292, and a communication control unit 294. Of course, other functional units may be appropriately included.
[0162] The game operation unit 210 performs various processes related to the progress control of the game. In this embodiment, it includes an adjustment control unit 212, a prompt control unit 214, a timing determination unit 220, a type determination unit 230, a response output control unit 232, a vibration control unit 234, an evaluation unit 236, and an evaluation result notification control unit 238.
[0163] The adjustment control unit 212 performs processing related to setting the adjustment time for adjusting the input timing according to the player's operation input. In this embodiment, the display control related to the adjustment screen W10 and the change and setting control of the adjustment time based on various operations on the screen correspond to this (see Fig.10 ).
[0164] The presentation control unit 214 performs control for presenting the player with a standard timing and the type of standard operation at the standard timing, wherein the standard timing is a timing for causing the player to move the controller having a built-in inertial sensor by hand in a manner of swinging and stopping.
[0165] That is, the following control is performed: the player is prompted with the standard timing of the action of holding the game controller 1460 in the hand and moving it in a manner of swinging and then stopping in the order of arrival. In this embodiment, the first indicator and the second indicator are displayed in a flowing manner in the musical score 20, and the indicator is controlled to overlap with the reference position 24 at the standard timing, which corresponds to this (see Figure 3 ).
[0166] The timing determination unit 220 determines the input timing for each standard timing by detecting that the measurement value of the inertial sensor satisfies a given input determination condition.
[0167] Specifically, the timing determination unit 220 includes a premise determination unit that determines whether a downward swing action is started after the upward swing action based on the measured value. The premise determination unit determines whether a swing action is started after the upward swing action based on the acceleration in the first axis direction orthogonal to the length direction of the game controller and the front normal direction of the game controller. In addition, the premise determination unit determines whether a downward swing action is started after the upward swing action based on the angular velocity around the second axis with the front normal direction of the game controller as the second axis.
[0168] Furthermore, the timing determination unit 220 detects the peak value of the acceleration of the first axis measured in the swing-down action when a positive determination is obtained by the premise determination unit by detecting the reversal of the increase and decrease trend of the measured value, and makes a primary determination of the input timing based on the detected timing. In addition, the input timing can be determined once by detecting the peak value of the angular velocity around the second axis. Then, the timing determination unit 220 finally determines the timing after adjusting the timing determined once (the timing at which the peak value is detected) by a preset adjustment time amount as the input timing.
[0169] In this embodiment, the case where the input timing is determined based on the acceleration (specifically, the acceleration in the directions of the X1 axis and the Xr axis) measured by the three-axis acceleration sensor 1475 of the right game controller 1460R or the left game controller 1460L and the angular velocity (specifically, the angular velocity around the Z1 axis and the Zr axis) measured by the three-axis gyro sensor 1476 is equivalent to this (refer to Figure 5 , Figure 6 ).
[0170] The type determination unit 230 determines the type of operation input at the input timing based on the measurement value of the inertial sensor. In the present embodiment, this corresponds to determining whether the first type of operation (dong) or the second type of operation (kachi) is input.
[0171] Furthermore, the type determination unit 230 includes an inheritance control unit 231 .
[0172] The inheritance control unit 231 inherits the last determination result when the measurement value of the inertial sensor satisfies a given inheritance condition. That is, the type determination unit 230 determines that the latest determination result is the same as the last determination result.
[0173] The inheritance condition in this embodiment at least includes: the prompt of the standard timing and the type of standard operation is to prompt the continuous standard operation of the same type. In this embodiment, the situation of prompting multiple dongs 25a and kachis 25b continuously at a short time interval and the situation of prompting continuous dongs 25c and continuous kachis 25d are equivalent to this, but it can also be configured to exclude the former situation from the object.
[0174] More specifically, the inheritance condition is based on the acceleration in the first axis direction measured by the inertial sensor (a direction orthogonal to the length direction of the controller and the normal direction of the front face of the controller: in this embodiment, the acceleration Ax in the X-axis direction). That is, it is set to at least include: 1) after the magnitude of the first acceleration exceeds a given first threshold, 2) the increase or decrease trend of the first acceleration is reversed, 3) the magnitude of the first acceleration after the reversal exceeds a given second threshold (refer to Figure 6 ).
[0175] When the input timing is determined by the timing determination unit 220, the response output control unit 232 immediately performs a response output based on sound and / or display. In this embodiment, when the input timing is determined and the type of operation input is determined by the type determination unit 230, a response output is performed. Playing the operation sound from the speaker 1410 of the main device 1401 is equivalent to the response output. In addition, it also includes control for temporarily changing the display mode of the evaluation result display unit 27 from the standard mode 27s to the notification mode 27h, and display control of the type notification mark 40 (see Fig.11 ). In addition, the input performance vibration generated by the vibrator 1463 of the game controller 1460 is equivalent to this (refer to Figure 5 , Figure 6 ).
[0176] In addition, the response output control unit 232 also functions as a notification control unit that notifies that an operation input that satisfies the inheritance condition has been performed. In this embodiment, the control of changing the display size of the type notification mark 40 to a larger size than the standard size corresponds to this (see Fig.11 ).
[0177] The vibration control unit 234 activates the vibration device of the game controller during the swing-down action when a positive determination is obtained by the premise determination unit of the timing determination unit 220. In this embodiment, the wind noise performance vibration generated by the vibrator 1463 of the game controller 1460 is equivalent to this (see Figure 5 , Figure 6 ).
[0178] The evaluation unit 236 sequentially performs evaluation based on the difference between the standard timing and the determined input timing according to the standard timing. More specifically, the evaluation is performed based on the difference between the standard timing and the input timing and whether the determined input type is the same as the standard type. In addition, in the case of a range prompt type indicator, within the time range specified for the indicator, it is determined that the standard timing is consistent with the input timing, and the evaluation is performed based on whether the input type is the same as the standard type.
[0179] The evaluation result notification control unit 238 performs control for notifying the determined evaluation result at a standard timing. In this embodiment, the display control of the evaluation result in the evaluation result display unit 27 corresponds to this (see Fig.11 ). Furthermore, the control of generating input performance vibration by the vibrator 1463 (vibration device) of the game controller 1460 according to the vibration pattern or vibration size corresponding to the evaluation result is equivalent to this (refer to Figure 5 , Figure 6 ).
[0180] The timer unit 280 measures the current date and time, the elapsed time from the start of the game, the time limit, and the like using the system clock.
[0181] The sound generating unit 290 is realized by generating sound data and executing an IC or software for decoding, and generates or decodes sound data such as sounds and background music related to playing games. Furthermore, the sound signal is output to the sound output unit 390. In this embodiment, the reproduction / playback control of the music data based on the music to be played can be performed. In addition, the reproduction / playback control of the percussion performance sound according to the type of operation input can be performed.
[0182] The sound output unit 390 plays the sound according to the input sound signal. Figure 1 In the example, speaker 1410 corresponds to this.
[0183] The image generation unit 292 can generate a game screen W3 (see Figure 3 ) etc. And, it is possible to output an image signal based on the image data to the image display unit 392.
[0184] The image display unit 392 displays various images based on the image signal input from the image generation unit 292. For example, it can be realized by an image display device such as a flat panel display, a cathode ray tube (CRT), a projector, or a head-mounted display. Figure 1 In the example of , touch panel 1406 corresponds to this.
[0185] The communication control unit 294 performs data processing related to data communication and realizes data exchange with an external device via the communication unit 394 .
[0186] The communication unit 394 is connected to a communication line to achieve communication. A communication line refers to a communication path that can perform data communication. That is, a communication line refers to a communication network including a telephone communication network or a cable network, the Internet, etc., in addition to a LAN (Local Area Network) that utilizes a dedicated line (dedicated cable) for direct connection or Ethernet (registered trademark). In addition, the communication method can be either wired or wireless. Therefore, the communication unit 394 is implemented by, for example, a wireless communication device, a modem, a TA (terminal adapter), a socket for a wired communication cable, or a control circuit. Figure 1 In the example of , communication module 1453 is equivalent to this.
[0187] The storage unit 500 stores programs and various data for realizing the comprehensive control of various functions of the processing unit 200 by the processing unit 200. In addition, it is used as a work area of the processing unit 200 and temporarily stores the calculation results executed by the processing unit 200 according to various programs. This function is realized by IC memory such as RAM or ROM, magnetic disk such as hard disk, optical disk such as CD-ROM or DVD, network hard disk, etc. Figure 1 In the example of , the IC memory 1452 mounted on the control substrate 1450 corresponds to this.
[0188] Fig.13 1 is a diagram showing an example of programs and data stored in the storage unit 500 in the present embodiment. The storage unit 500 stores a game program 502 and game initial setting data 510 in advance. In addition, the storage unit 500 stores game data 700 and current date and time 800 as data that is sequentially generated and managed. In addition, information such as a timer or counter, various flags, etc. can be appropriately stored.
[0189] The game program 502 is a program for realizing the function of the game operation unit 210 by being read and executed by the processing unit 200 (see Fig.12 ). Programs for functioning as the timer unit 280, the sound generator 290, the image generator 292, and the communication controller 294 may be appropriately included.
[0190] The game initial setting data 510 stores various initial setting data for executing the game. In this embodiment, it includes music definition data 520, initial reference value library 530, notification definition data 540, and initial adjustment time 542. Of course, other data may be appropriately included.
[0191] The music definition data 520 is prepared for each music that can be played in the game, and stores various initial setting data related to the music. For example, one music definition data 520 includes a specific music name 521, music sound data 523, and a music score 20 (see Figure 3 ) of the score definition data 525. Of course, data other than these may be appropriately included.
[0192] The score definition data 525 is basic data for displaying various indicators in a flowing manner in the score 20. The data structure can be set appropriately. For example, a structure that stores a combination of standard timing (for example, described as the elapsed time from the start of the game) and the type of standard operation (for example, the type of indicator displayed in a flowing manner in the score 20) in a time series can be considered. Of course, data other than these can also be stored appropriately. For example, even if the type of standard operation is the same, it can be stored corresponding to the difference in the required intensity level (for example, the distinction between strong and weak).
[0193] The initial reference value library 530 stores reference values and thresholds used in determining input timing and input type of operation input. In the present embodiment, the library includes: a reference angular velocity value 531 (ωm) for determining the start of an upward swing, a reference angular velocity value 532 (ωf) for determining the required momentum, a reference coefficient 533 (k1) for determining the start of an upward swing, a reference coefficient 534 (k2) for determining the determination, a third reference value 535 (k3), a fourth reference value 536 (k4), a fifth reference value 537 (k5), and a sixth reference value 538 (k6). Of course, reference values and thresholds other than these may be appropriately included.
[0194] The notification definition data 540 stores various definition data for executing notifications of operation input status, game progress status, etc. to the player, and is prepared according to the notification method. Figure 5 , Figure 6 ) and input performance vibration and evaluation result notification vibration (refer to Figure 5 , Figure 6 The latter is prepared according to the type of operation input (the first type of operation (dong) and the second type of operation (kachi) in this embodiment). Moreover, in each type, data defining whether to output a vibration pattern is stored corresponding to each evaluation result.
[0195] The game data 700 is prepared for each game, realizes the game, and stores various data describing the progress status of the game.
[0196] In this embodiment, for example, Fig.14 As shown, the game music name 701 indicating the music selected by the player before the game starts, the application adjustment time 702, the elapsed time 704 from the start of the game, the music score display control data 710 for controlling the display of the music score 20, the measurement history data 720 prepared by the game controller 1460, the idle state flag 740 indicating the idle state which means the state to be determined for the input timing, the angular velocity utilization flag list 742, the acceleration utilization flag list 744, the peak timing 746, the inheritance flag 748, the input determination history data 750, and the game result data 760. Of course, data other than these may be appropriately included.
[0197] The applied adjustment time 702 stores the value of the input timing adjustment time to be applied. Fig.13 ) is initialized, but when the adjustment screen W10 (refer to Fig.10 ) to change the time setting operation.
[0198] The measurement history data 720 is prepared for the game controller 1460, and stores the values measured in the controller and the values calculated therefrom for use in determining the input timing or the type of operation input in a time series. In the present embodiment, the measurement history data 720 includes acceleration measurement history data 722 storing the acceleration measurement values of the three axes, average acceleration measurement history data 724 storing the average acceleration of the three axes, angular velocity measurement history data 726 storing the angular velocity measurement values of the three axes, and average angular velocity measurement history data 728 storing the average angular velocity of the three axes. Of course, data other than these may be appropriately included.
[0199] The angular velocity utilization flag list 742 includes various flags used in determining the input timing using the angular velocity. In the present embodiment, the flags include: a determination flag indicating that the input timing is being determined using the angular velocity, a reversal flag that is set when the positive and negative directions of the angular velocity ωz around the Z axis are reversed, a request flag that is set when the required momentum of the angular velocity ωz is reached, and a peak flag that is set when the peak of the angular velocity ωz is detected during the swing-down action.
[0200] The acceleration utilization flag list 744 includes various flags used in determining the input timing using acceleration. In the present embodiment, the flags include: a determination flag indicating that the input timing is being determined using acceleration, a reversal flag that is set when a reversal in the increasing trend of the acceleration Ax of the X-axis is detected, a determination flag that is set when it is determined to be an intentional downward swing action, and a peak value flag that is set when a peak value of the acceleration Ax is detected during the downward swing action.
[0201] The inheritance flag 748 indicates whether the result of the last type determination is inherited as the latest type determination result in the type determination of the operation input (regarded as the same type of operation input as the type of the immediately previous operation input). The initial state is "0 (not executed / not allowed)", and when the inheritance condition is met, it is set to "1 (executed / permitted)". When the inheritance end condition is met, it returns to "0" again.
[0202] The input determination history data 750 is generated each time the input timing and the type of the operation input are determined, and stores information indicating the determination and the result of the determination. For example, one input determination history data 750 stores 1) the input timing, 2) the type determination result, and 3) information indicating whether the input timing and type determination are performed using acceleration or angular velocity ( Fig.14 4) indicates the controller identification mark of the judgment and discrimination result of which game controller 1460 the input is related to. Of course, data other than these may also be appropriately stored. For example, in the case where the judgment and type discrimination related to the operation input include the recognition of the input intensity (equivalent to the intensity of striking the virtual percussion instrument 4), the information of the determined intensity may also be included.
[0203] [Description of the action]
[0204] Fig.15 14 is a flowchart for explaining the process flow in the game device 1400 of this embodiment. The series of processes described here are realized by the processing unit 200 executing the game program 502. In addition, the local coordinate systems of the left and right game controllers 1460 are shared and illustrated and explained as the X axis, Y axis, and Z axis.
[0205] First, the game device 1400 starts recording the measured value of each game controller 1460 (step S10), and then starts calculating and recording the value (in this embodiment, the average value) used for distinguishing the type of input timing and operation input based on the measured value (step S12). That is, the measurement history data 720 is recorded and updated through steps S10 and S12 (see Fig.14 ).
[0206] Then, the game device 1400 starts executing periodic input determination processing according to the game controller 1460 (step S14).
[0207] Figure 16 to Figure 17 This is a flowchart for explaining the flow of input determination processing in this embodiment. In this processing, the game device 1400 first sets the idle state flag 740 to "1 (idle state)", and sets all flags of the angular velocity utilization flag list 742 and the acceleration utilization flag list 744 to "0" (step S28).
[0208] Next, when the inheriting flag 748 is not "1 (inheriting)" ("No" in step S30), when the absolute value of the angular velocity ωz around the Z axis is greater than the swing-up start determination reference angular velocity value 531 (ωm) ("Yes" in step S32), the game device 1400 sets the idle state flag 740 to "0 (not idle state)" and sets the determination flag of the angular velocity utilization flag list 742 to "1 (determining)" (step S34). Then, the timeout counter is started (step S36).
[0209] Next, the game device 1400 waits for the detection of the positive and negative reversal of the angular velocity ωz about the Z axis until the timeout counter is incremented. Then, when the reversal is detected ("Yes" in step S50), it is determined that the swing action has shifted from the upward swing action to the downward swing action, and the reversal flag of the angular velocity utilization flag list 742 is changed to "1 (reversed)" (step S52).
[0210] Next, the game device 1400 further waits for the absolute value of the angular velocity ωz about the Z axis to exceed the required momentum determination reference angular velocity value 532 (ωf) during the period from the inversion to the increment of the timeout counter. Then, when the required momentum determination reference angular velocity value 532 (ωf) is exceeded (“Yes” in step S54), the required flag of the angular velocity utilization flag list 742 is changed to “1 (required momentum has been satisfied)” (step S56). Then, wind noise performance vibration is generated (step S57).
[0211] Next, the game device 1400 further waits for the peak detection of the angular velocity ωz about the Z axis from the time when the required momentum is reached until the timeout counter is incremented (step S58). That is, the time change Δ|ωz| of the absolute value is calculated. And, when it becomes negative, it is determined that the peak is detected ("Yes" in step S58), the peak flag of the angular velocity utilization flag list 742 is changed to "1 (peak detection completed)", and the peak timing 746 is temporarily stored (step S60).
[0212] Next, the game device 1400 generates an application adjustment time 702 (see Fig.14 ; In this stage, the “0” initialized to the initial adjustment time 542) is recognized as the input timing (step S62).
[0213] Then, when the inheriting flag 748 is "1" and the previous input timing determination was made using acceleration ("Yes" in step S64), the inheriting flag 748 is restored to "0" (step S66), and the type determination process is executed (step S68).
[0214] If the positive and negative have not reversed, the required momentum has not been reached, and the peak has not been detected ("No" in step S70) by the timeout counter started from the detection of the start of the upward swing, the timeout counter is stopped (step S72), the inheritance flag 748 is restored to "0" (step S66), and the process returns to step S28.
[0215] On the other hand, when the inheriting flag 748 is "1" ("Yes" in step S30), and when the inheriting flag 748 is "1" in step S32 ("No" in step S32), the game device 1400 transfers to Fig.17 .
[0216] If the inherited flag 748 is "1", steps S32 to S74 are skipped when the measured value satisfies the inherited condition. That is, the input determination condition related to the angular velocity is omitted, and the input timing is determined only by the input determination condition related to the acceleration. In other words, instead of the input determination condition when the measured value does not satisfy the inherited condition, the input timing is determined based on the second input determination condition which is a condition that is easier to satisfy than the input determination condition.
[0217] Specifically, the game device 1400 determines that the "upward swing action" has started ("Yes" in step S100) when the acceleration Ax in the X1-axis direction measured by the three-axis acceleration sensor 1475 exceeds the first threshold value obtained by adding the predetermined upward swing start determination reference coefficient 533 (k1) to the average acceleration Ax_ave. In addition, in step S100, when the inheritance flag 748 is "1", a coefficient k1' obtained by reducing the coefficient k1 by a predetermined ratio is applied instead of the upward swing start determination reference coefficient 533 (k1).
[0218] When determining that the swing-up motion has started, the game device 1400 sets the idle state flag 740 to "0" and sets the determination flag of the acceleration use flag list 744 to "1" (step S102). Then, the timeout counter is started (step S104).
[0219] If it is determined that the swing-up motion has started, the game device 1400 compares the most recently measured acceleration Ax@t in the X-axis direction with the acceleration Ax@t-1 measured one measurement cycle ago before the timeout counter is incremented.
[0220] Moreover, when it is detected that the most recently measured acceleration Ax@t in the X-axis direction is less than the acceleration Ax@t-1 one measurement cycle ago, that is, the increase or decrease trend is reversed ("Yes" in step S120), the reversal flag of the acceleration utilization flag list 744 is changed to "1 (reversal detection completed)" (step S122).
[0221] Next, the game device 1400 compares the acceleration Ax in the X-axis direction with a threshold value obtained by adding a determination reference coefficient k2 to the average acceleration Ax_ave after detecting a reversal of the increase trend, that is, after the premise determination is affirmative, until the timeout counter is incremented.
[0222] Then, when the acceleration Ax is lower than the threshold value ("Yes" in step S124), it is determined that the player has intentionally performed a downward swing, and the confirmation flag of the acceleration use flag list 744 is changed to "1 (swing confirmation)" (step S126). Next, wind noise effect vibration is performed (step S128).
[0223] Furthermore, in step S124, when the inheriting flag 748 is "1", instead of determining the determination reference coefficient k2, a coefficient k2' obtained by reducing the coefficient k2 by a predetermined ratio is applied.
[0224] Next, the game device 1400 compares the latest acceleration Ax@t with the acceleration Ax@t-1 one measurement cycle ago during the period from when the swing-down motion is determined to when the timeout counter is incremented.
[0225] Then, if the latest acceleration Ax@t becomes larger than the acceleration Ax@t-1 one measurement cycle ago ("Yes" in step S130), it is determined that the braking action has been started due to the detection of the peak of the measured value that occurs just before the stopping action, and the peak flag of the acceleration utilization flag list 744 is changed to "1 (peak detection completed)", and the peak timing 746 is temporarily stored (step S132).
[0226] Here, if we focus on the case where the process reaches step S130 with the inheritance flag 748 being "1", then when the measured value satisfies the inheritance condition, the input judgment condition when the measured value does not satisfy the inheritance condition (when the inheritance flag 748 is "0") is replaced, after the magnitude of the inverted first acceleration (acceleration Ax in the X-axis direction) exceeds the given second threshold value ("Yes" in step S124), the timing that satisfies the second input judgment condition based on the first acceleration ("Yes" in step S130) is judged as the input timing.
[0227] Next, the game device 1400 generates an application adjustment time 702 (see Fig.14 ; In this stage, the initial adjustment time 542 is initialized to "0") as the input timing (step S134). Then, when the inherited flag 748 is "1" and the last input timing determination is made using the angular velocity ("Yes" in step S136), the inherited flag 748 is restored to "0" (step S138), and the type determination process is performed (step S140).
[0228] If the increasing trend has not reversed, the required momentum has not been reached, and the peak value has not been detected ("No" in step S140) by the time when the timeout counter started to increment from the time when the acceleration is detected to the start of the upward swing, the timeout counter is stopped (step S144), the inheriting flag 748 is restored to "0" (step S146), and the process returns to step S28.
[0229] Here, if we focus on the case where the inheritance flag 748 is "1", then when the measured value satisfies the inheritance condition, the input judgment condition when the measured value does not satisfy the inheritance condition is replaced, and after the magnitude of the inverted first acceleration exceeds the given second threshold value ("Yes" in step S124), the timing that satisfies the second input judgment condition based on the first acceleration ("Yes" in step S130) is judged as the input timing.
[0230] Fig.18 This is a flowchart for explaining the flow of the type determination process in this embodiment.
[0231] In this process, the game device 1400 first refers to the inheritance flag 748. Then, when the flag is "1" ("Yes" in step S146), the game device 1400 copies the latest input determination history data 750 (refer to Fig.14 ) and use it as the result of this type of discrimination. That is, the result of the previous type of discrimination is inherited (step S148). Then, the type discrimination process is terminated. That is, in the case where it is regarded as a continuous typing input, the processing load required for type discrimination is greatly reduced.
[0232] Next, the game device 1400 determines whether the operation input action determined this time belongs to the click-click mode (see Fig. 9 Specifically, if the average acceleration Az_ave of the acceleration Az in the Z-axis direction including the peak timing 746 as the latest measurement value reaches the sixth determination reference value 538 (k6), the game device 1400 determines that it belongs to the click-bang mode ("yes" in step S150), and sets the result of the type determination to the first operation (bang) (step S152).
[0233] If it is not in the Kachi-dong mode (“No” in step S150), the game device 1400 then determines whether it is in the Dong-Kachi mode (refer to Figure 7 Specifically, when the absolute value of the angular velocity ωx in the peak timing 746 exceeds the third predetermined determination reference value k3, and the absolute value of the average angular velocity ωx_ave including the angular velocity ωx in the peak timing 746 as the latest measured value exceeds the fourth predetermined determination reference value k4, the game device 1400 determines that it belongs to the dongkachi mode ("yes" in step S154), and sets the result of the type determination to the second type of operation (kachi) (step S158).
[0234] If the mode is neither the "kachi-dong" mode nor the "dong-kachi" mode ("No" in step S154), the game device 1400 then determines whether the mode is the "kachi-kachi" mode (see step S154). Figure 8 Specifically, when the ratio of the absolute value of the average acceleration Ax_ave of the acceleration Ax including the peak timing 746 as the latest measurement value to the absolute value of the average acceleration Az_ave of the acceleration Az including the peak timing 746 as the latest measurement value is less than or equal to a predetermined fifth determination reference value k5, the game device 1400 determines that it belongs to the click-click mode ("Yes" in step S156), and sets the result of the type determination to the second type of operation (click) (step S158).
[0235] Then, when the operation does not belong to any of the click-dong mode, the dong-kachi mode, and the click-kachi mode (No in step S156), the game device 1400 sets the result of the type determination as the first type of operation (dong) (step S160).
[0236] If the result of the type discrimination is determined, the game device 1400 determines whether the standard type as the evaluation object meets the requirements of continuous arrangement or continuous play (step S170). Fig.13), a positive judgment is made when the predetermined number of consecutive elements is continuously presented at a short time interval below a predetermined reference value before and after the standard type of evaluation object, that is, dong 25a or ka shi 25b. In addition, a positive judgment is made when the standard type of evaluation object is continuous dong 25c and continuous ka shi 25d (refer to Figure 4 ).
[0237] Then, in the affirmative case ("Yes" in step S170), the game device 1400 then determines that the latest input timing is determined using acceleration ("Yes" in step S172), and the game device 1400 regards it as being in the process of continuous input that meets the inheritance condition, sets the inheritance flag 748 to "1" (step S174), and ends the type determination processing.
[0238] On the other hand, when the standard type of the evaluation object does not meet the conditions of continuous configuration or continuous hitting ("No" in step S170), or when the latest input timing determination is made using angular velocity ("No" in step S172), the game device 1400 regards the input as non-continuous hitting, sets the inheritance flag 748 to "0" (step S176), and ends the type determination processing.
[0239] return Fig.15 Since the periodic input determination processing of the game controller is started in step S14, the preparation of the game controller 1460 is completed.
[0240] Therefore, the game device 1400 then performs the setting process of the adjustment time (step S180). That is, the touch panel 1406 displays the adjustment screen W10 (see Fig.10 ), and the adjustment time is set in a manner that the output time difference of the response sound relative to the operation input does not make the player feel uncomfortable. Then, the application adjustment time 702 is updated based on the result.
[0241] Next, the game device 1400 receives the selection of the music (game song) to be played (step S182), and starts the game progress control (step S184). Thus, the music of the game song is played from the speaker 1410, and the game screen W3 is displayed on the touch panel 1406 in synchronization with it (see Figure 3 ).
[0242] In addition, the game device 1400 also starts evaluating the operation input and its notification control (for example, notification display of the category determination result (see Fig.11 )), response output corresponding to the operation input (such as playback of the operation input sound), vibration control corresponding to the operation input (such as wind noise performance vibration (see Figure 5 , Figure 6 ), input performance vibration (refer to Figure 5 , Figure 6 In particular, in the present embodiment, by changing the display size of the type notification mark 40 as one of the notification displays, the function of notifying that an operation input that substantially satisfies the inheritance condition has been performed is played (see Fig.11 ).
[0243] Input determination has been performed in step S14, and preparation for operation input using the game controller 1460 is complete. The player can play the music game by performing operation input using the game controller 1460 at the prompted standard timing in a manner consistent with the standard operation while listening to the game song and watching the music score 20 on the game screen W3.
[0244] If the game has ended (step S186), the game results are displayed (step S188), and a series of processing ends.
[0245] As described above, according to the present embodiment, in a game device having a game controller equipped with an acceleration sensor and a gyro sensor as an inertial sensor, the following technology can be implemented: when executing a game in which the action of waving the game controller in the air and stopping is regarded as an operation input, the measurement value obtained by the inertial sensor can be used to determine the timing of the timing that feels like the player has performed an operation input as the operation input timing.
[0246] Furthermore, in the operation input judgment when a standard operation requiring continuous input is prompted, when the acceleration change measured by the inertial sensor of the game controller 1460 shows a change seen when the controller is continuously moved up and down, it is determined that the inheritance condition is met, so that the judgment of the operation input can be limited to the judgment based on the acceleration change, thereby reducing the processing load, and the type of operation input can be simplified to a process that inherits the previous judgment result, thereby further reducing the processing load.
[0247] Specifically, in Fig.16 When the answer is "yes" in step S30, steps S132 to S74 are skipped, thereby reducing the processing load related to the determination of the input timing. Fig.18 Therefore, it is possible to avoid a surplus relative to the processing load, thereby preventing a decrease in the resolution accuracy of the type of operation input when the operation input is continuously input in a short period of time.
[0248] [Variation]
[0249] As mentioned above, although the embodiment to which the present invention is applied was described, the embodiment to which the present invention can be applied is not limited to the above-described form, and addition, omission, and modification of constituent elements may be appropriately implemented.
[0250] For example, in the above embodiment, a game that can be run independently is cited as an example for explanation, but the present invention is not limited to this. It is also possible to use a computer whose controller part is equipped with a three-axis acceleration sensor 1475 and a three-axis gyroscope sensor 1476 as the game controller 1460 in the above embodiment as a player terminal, and access a game server to play an online game. In this case, as long as the game operation unit 210 (see FIG. 14) in the above embodiment is implemented using the game server, Fig.12 )
[0251] In addition, the relative relationship between the measurement axis of the game controller 1460 and the sensor mounted thereon is not limited to Figure 2 Examples can be changed appropriately.
[0252] In addition, in the above-mentioned embodiment, the types of operation input are set to two types: the first operation (dong) and the second operation (kachi), but it is not limited to this. For example, different intensity levels of the swing intensity can be set in the first operation and the second operation. The intensity level stage can be set appropriately. Assuming that there are two stages, a game with a total of four operation inputs can be formed. Moreover, in this case, four types of indicators displayed in the music score 20 also need to be prepared. In addition, in the type determination unit 230 (refer to Fig.12 ), it is necessary to judge the intensity level of the input action by comparing the measured value at the time of input judgment, such as the magnitude of acceleration or angular velocity at the peak timing 746, with a predetermined threshold value. That is, the type discrimination unit 230 also functions as an "intensity level discrimination unit".
[0253] In the above embodiment, a music game requiring good latency and response is exemplified, but the present invention can also be applied to other types of games, such as virtual whack-a-mole games where a virtual object to be hit appears.
[0254] Furthermore, it is also possible to omit any one of the three-axis acceleration sensor 1475 and the three-axis gyro sensor 1476 from the game controller 1460 depending on the game content, and limit the input determination to only acceleration-based input determination or angular velocity-based input determination. In addition, depending on the game content, any one of the response output based on sound and display when it is determined to be input timing can be omitted.
[0255] In the above embodiment, a configuration may be added in which the player can select the degree of strictness of the judgment in the continuous input. In other words, a function of adjusting the first threshold and the second threshold according to the player's operation input may be added to the adjustment control unit 212.
[0256] For example, it may also be configured as follows: after step S180 (refer to Fig.15 ) and then display Fig.19 The setting screen W19 as shown accepts the player's selection of the severity. The setting screen W19 includes a setting instruction description 42, a setting operation unit 44 for accepting a setting operation of the severity of judgment during continuous input, and operation icons 46 (46a, 46b, ...).
[0257] Then, if Fig. 20 As shown, the application reference value library 730 is set in the game data 700 to store the results set by the setting operation unit 44. The application reference value library 570 stores various reference values actually used in input timing determination and type determination. Specifically, the initial reference value library 530 (see Fig.13 ), and are stored as the swing start determination reference angular velocity values 731 to the sixth determination reference values 738. Then, based on the result received by the setting operation unit 44, the swing start determination reference coefficient k1 in the copied reference value is changed, and the determination reference coefficient k2 is determined.
[0258] Alternatively, the coefficient k1′ applied instead of the swing-up start determination reference coefficient 533 (k1) when the inheriting flag 748 is “1” in step S100 and the coefficient k2′ applied instead of the determination determination reference coefficient k2 when the inheriting flag 748 is “1” in step S124 are set as separate data in the initial reference value library 530. Furthermore, it is also possible to configure such that these values copied to the applied reference value library 730 are changed according to the result received by the setting operation unit 44.
[0259] Description of Reference Numerals
[0260] 4…Virtual Percussion Instruments
[0261] 20…Music score
[0262] 27…Evaluation result display section
[0263] 34…Adjustment operation unit
[0264] 40…Type notification mark
[0265] 110…Acceleration measurement unit
[0266] 112…Angular velocity measurement unit
[0267] 200…Processing Department
[0268] 210…Game Operation Department
[0269] 212…Adjustment control unit
[0270] 214…Prompt control unit
[0271] 220…Timing determination unit
[0272] 230…Type identification department
[0273] 231…Inheritance Control Department
[0274] 232…Response output control unit (notification control unit)
[0275] 234…Vibration Control Department
[0276] 236…Evaluation Department
[0277] 238…The evaluation results are notified to the control department
[0278] 396…Vibration unit
[0279] 500: Storage
[0280] 502…Game Program
[0281] 510…Game initial setting data
[0282] 520…Song definition data
[0283] 530…Initial reference value library
[0284] 531…Swing start judgment reference angular velocity value
[0285] 532…Momentum determination reference angular velocity value required
[0286] 533…Upward swing start judgment reference coefficient
[0287] 534…Determine the judgment reference coefficient
[0288] 535…The third judgment reference value
[0289] 536 ... the fourth judgment reference value
[0290] 537…Fifth judgment reference value
[0291] 538 ... Sixth judgment reference value
[0292] 540…Notification definition data
[0293] 542…Initial adjustment time
[0294] 700…Game data
[0295] 702…Application adjustment time
[0296] 710…Music score display control data
[0297] 720…Measurement history data
[0298] 722…Acceleration measurement history data
[0299] 724…Average acceleration measurement history data
[0300] 726…Angular velocity measurement history data
[0301] 728…Average angular velocity measurement history data
[0302] 742…Angular velocity utilization flag list
[0303] 744… Acceleration utilization flag list
[0304] 746…Peak Timing
[0305] 748…Inherited Flag
[0306] 1400…Game Devices
[0307] 1401…Main device
[0308] 1450…Control board
[0309] 1460L…Left game controller
[0310] 1460R…Right Game Controller
[0311] 1475…Triaxial accelerometer
[0312] 1476…Three-axis gyro sensor
[0313] Ax…Acceleration in the X-axis direction
[0314] Ax_ave…average acceleration in the X-axis direction
[0315] Az…Acceleration in the Z-axis direction
[0316] Az_ave…average acceleration in the Z-axis direction
[0317] k1…upward swing start judgment reference coefficient
[0318] k2…determine the judgment reference coefficient
[0319] k3...third judgment reference value
[0320] k4... fourth judgment reference value
[0321] k5... fifth judgment reference value
[0322] k6...sixth judgment reference value
[0323] ωf…Judgment reference angular velocity
[0324] ωm…The reference angular velocity value for determining the start of upward swing
[0325] ωx…angular velocity around the X axis
[0326] ωx_ave…average angular velocity in the X-axis direction
[0327] ωz…angular velocity around the Z axis
Claims
1. A computer device for evaluating an input timing of an operation input performed by a player, the computer device comprising: a prompting unit for prompting a standard timing as a timing for performing an action and a type of a standard operation of the standard timing, wherein the action is a movement of the player in a manner of stopping after swinging a controller having an inertial sensor for detecting acceleration and angular velocity; a timing determination unit that determines an input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; as well as a type determination unit that determines the type of the operation input at the input timing by determining whether threshold conditions related to the acceleration and the angular velocity are satisfied, based on the measurement value; The type discrimination unit includes an inheritance unit, which, when the prompting unit prompts the continuous same type of standard operation, inherits the type of the last discriminated operation input as the current discrimination result when the inheritance condition that the acceleration in the measured value shows a prescribed acceleration change is satisfied. The controller has a long shape with a plurality of operation buttons arranged on the front side and can be held by one hand. The inertial sensor measures at least a first acceleration with a direction orthogonal to a length direction of the controller and a normal direction of a front surface of the controller as a first axis. The prescribed acceleration change is an acceleration change that causes the controller to move up and down. The inheriting unit determines the predetermined acceleration change based on the fact that after the magnitude of the first acceleration exceeds a given first threshold, the increase / decrease trend of the first acceleration is reversed, and the magnitude of the first acceleration after the reversed magnitude exceeds a given second threshold.
2. The computer device according to claim 1, characterized in that The inheritance unit determines whether the inheritance condition is satisfied when the presentation of the standard timing and the type of the standard operation by the presentation unit is a presentation of the same type of standard operation in succession as the presentation of the same type of standard operation in succession by the presentation unit.
3. The computer device according to claim 1, characterized in that The prompting unit prompts the standard timing in the form of instantaneous timing or time range, The inheriting unit determines whether the inheriting condition is satisfied when the presenting unit presents the standard timing in the form of the time range as a time when the presenting unit presents the same type of standard operation continuously.
4. A computer device for evaluating an input timing of an operation input performed by a player, the computer device comprising: a prompting unit for prompting a standard timing as a timing for performing an action and a type of a standard operation of the standard timing, wherein the action is a movement in which the player swings a controller having a built-in inertial sensor and then stops; a timing determination unit that determines an input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; and a type determination unit that determines the type of the operation input at the input timing based on the measurement value, The controller has a long shape with a plurality of operation buttons arranged on the front side and can be held by one hand. The inertial sensor measures at least a first acceleration with a direction orthogonal to a length direction of the controller and a normal direction of a front surface of the controller as a first axis. The type identification unit has an inheritance unit, which inherits the previous identification result when an inheritance condition is met. The inheritance condition shows that when the prompt unit prompts continuous standard operations of the same type, after the magnitude of the first acceleration exceeds a given first threshold, the increase or decrease trend of the first acceleration is reversed, and the magnitude of the first acceleration after the reversal exceeds a given second threshold.
5. The computer device according to claim 4, characterized in that In addition to measuring the first acceleration, the inertial sensor also measures the acceleration in the length direction of the controller and the acceleration in the normal direction of the front face of the controller, thereby measuring three-dimensional acceleration. The first threshold is a threshold based on an average of the magnitudes of the three-dimensional acceleration within a predetermined past time. The second threshold is a threshold based on an average of the magnitudes of the three-dimensional acceleration within a predetermined past time.
6. The computer device according to claim 4, characterized in that The computer device further includes an adjustment unit that adjusts the first threshold value and / or the second threshold value according to an operation input by the player.
7. The computer device according to claim 4, characterized in that: When the measured value satisfies the inheritance condition, the timing determination unit determines the input timing based on a second input determination condition that is a condition that is easier to satisfy than the input determination condition, instead of the input determination condition.
8. The computer device according to claim 4, characterized in that When the measured value satisfies the inheritance condition, the timing determination unit determines, instead of the input determination condition, a timing that satisfies a third input determination condition based on the first acceleration as the input timing.
9. The computer device according to claim 4, characterized in that: When the measured value satisfies the inheritance condition, the timing determination unit determines, instead of the input determination condition, a timing that satisfies a third input determination condition based on the first acceleration as the input timing.
10. The computer device according to claim 8, characterized in that The third input determination condition is that the magnitude of the first acceleration has a decreasing trend within a predetermined past time.
11. The computer device according to claim 9, characterized in that: The third input determination condition is that the magnitude of the first acceleration has a decreasing trend within a predetermined past time.
12. The computer device according to claim 4, characterized in that The computer device further includes a notification control unit that notifies that an operation input satisfying the takeover condition is being performed.
13. An evaluation control method for a computer device to evaluate an input timing of an operation input by a player, the evaluation control method comprising: Prompting a standard timing as a timing for performing an action and a type of a standard operation of the standard timing, wherein the action is a movement in which the player swings a controller having an inertial sensor for detecting acceleration and angular velocity and then stops; determining input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; as well as The type of the operation input at the input timing is determined by determining whether threshold conditions related to the acceleration and the angular velocity are satisfied, based on the measurement value. The type determination of the operation input includes: when prompting continuous standard operations of the same type, if the inheritance condition that the acceleration in the measured value shows a prescribed acceleration change is satisfied, inheriting the type of the operation input determined last as the current determination result, The controller has a long shape with a plurality of operation buttons arranged on the front side and can be held by one hand. The inertial sensor measures at least a first acceleration with a direction orthogonal to a length direction of the controller and a normal direction of a front surface of the controller as a first axis. The prescribed acceleration change is an acceleration change that causes the controller to move up and down. The inheritance includes determining the prescribed acceleration change based on the fact that after the magnitude of the first acceleration exceeds a given first threshold, the increase or decrease trend of the first acceleration is reversed, and the magnitude of the first acceleration after the reversal exceeds a given second threshold.
14. An evaluation control method for a computer device to evaluate an input timing of an operation input by a player, the evaluation control method comprising: Prompting a standard timing as a timing for performing an action and a type of a standard operation of the standard timing, wherein the action is a movement in which the player swings a controller having a built-in inertial sensor and then stops; determining input timing by detecting that a measurement value of the inertial sensor satisfies a given input determination condition; as well as The type of the operation input at the input timing is determined based on the measurement value, the controller has a long shape with a plurality of operation buttons arranged on the front side and can be held by one hand, The inertial sensor measures at least a first acceleration with a direction orthogonal to a length direction of the controller and a normal direction of a front surface of the controller as a first axis. The type determination of the operation input includes: inheriting the type of the last determined operation input when an inheritance condition is met, and the inheritance condition shows that when prompting continuous standard operations of the same type, after the magnitude of the first acceleration exceeds a given first threshold, the increase or decrease trend of the first acceleration is reversed, and the magnitude of the first acceleration after the reversal exceeds a given second threshold.
Citation Information
Patent Citations
Game program and game apparatus
JP2008036167A
Game system, server system, and program
JP2016010646A
Palm opening and closing action recognition method and device
CN104766038A
Game controller case and sound output control method
US20090318227A1