U.S. patent application number 13/055692 was filed with the patent office on 2011-06-30 for game device, method for controlling game, game control program and computer readable recording medium storing program.
This patent application is currently assigned to Sega Corporation. Invention is credited to Shunsuke Kawarazuka, Masakazu Miura, Junichi Takeda.
Application Number | 20110159958 13/055692 |
Document ID | / |
Family ID | 41570389 |
Filed Date | 2011-06-30 |
United States Patent
Application |
20110159958 |
Kind Code |
A1 |
Miura; Masakazu ; et
al. |
June 30, 2011 |
GAME DEVICE, METHOD FOR CONTROLLING GAME, GAME CONTROL PROGRAM AND
COMPUTER READABLE RECORDING MEDIUM STORING PROGRAM
Abstract
A game device capable of controlling a game without a special
game operation is provided. A controller 7 which is means for
inputting game operation to a game device 3 comprises an
acceleration sensor 73 detecting vibration applied to the input
means. Control means for controlling the game in the game device 3
comprises means for determining an intensity level of a vibration
value of vibration generated by a tap motion of a player when the
controller 7 transmits a measured value of the vibration, and means
for determining whether or not an array pattern of the determined
intensity levels in time series order matches a previously-set
command. The control means comprises means for, if it matches the
previously-set command, executing special game control set
corresponding to the matched command.
Inventors: |
Miura; Masakazu; (Tokyo,
JP) ; Kawarazuka; Shunsuke; (Tokyo, JP) ;
Takeda; Junichi; (Tokyo, JP) |
Assignee: |
Sega Corporation
|
Family ID: |
41570389 |
Appl. No.: |
13/055692 |
Filed: |
July 23, 2009 |
PCT Filed: |
July 23, 2009 |
PCT NO: |
PCT/JP2009/063203 |
371 Date: |
March 16, 2011 |
Current U.S.
Class: |
463/36 |
Current CPC
Class: |
A63F 13/211 20140902;
A63F 13/10 20130101; A63F 2300/8005 20130101; A63F 2300/6045
20130101; A63F 2300/105 20130101; A63F 2300/638 20130101; A63F
13/428 20140902 |
Class at
Publication: |
463/36 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Jul 23, 2008 |
JP |
2008-190224 |
Nov 21, 2008 |
JP |
2008-297918 |
Claims
1. A game device, comprising: input means capable of acquiring
operation input in a game as operation input information; and
control means for controlling game progress on the basis of the
operation input information, wherein the input means comprises
vibration detection means for detecting vibration applied to the
input means, the control means comprises vibration level
determination means for determining a level of a vibration
detection signal detected by the vibration detection means, and the
control means executes game control using determination information
determined by the vibration level determination means as the
operation input information received from the input means.
2. A game device, comprising: input means capable of acquiring
operation input in a game as operation input information; and
control means for controlling game progress on the basis of the
operation input information, wherein the input means comprises:
vibration detection means for detecting vibration applied to the
input means; and vibration level determination means for
determining a level of a vibration detection signal detected by the
vibration detection means, the control means executes game control
using determination information determined by the vibration level
determination means as the operation input information received
from the input means.
3. A game device, comprising: input means capable of acquiring
operation input in a game as operation input information; and
control means for controlling game progress on the basis of the
operation input information, wherein the input means comprises
vibration detection means for detecting vibration applied to the
input means, the control means comprises: vibration pattern
determination means for determining one or more level patterns of a
vibration detection signal detected by the vibration detection
means, and special input command determination means for
determining whether or not an array corresponding to time sequence
of information relating to the level pattern determined by the
vibration pattern determination means matches a special
predetermined input command, the control means executes game
control using the special input command determined to be matching
by the special input command determination means, as the operation
input information received from the input means.
4. A game device, comprising: input means capable of acquiring
operation input in a game as operation input information; and
control means for controlling game progress on the basis of the
operation input information, wherein the input means comprises:
vibration detection means for detecting vibration applied to the
input means; and vibration pattern determination means for
determining one or more level patterns of a vibration detection
signal detected by the vibration detection means, the control means
comprises special input command determination means for determining
whether or not an array corresponding to time sequence of
information relating to the level pattern determined by the
vibration pattern determination means matches a special
predetermined input command, and the control means executes game
control using the special input command determined to be matching
by the special input command determination means, as the operation
input information received from the input means.
5. The game device according to claim 1, wherein the input means
comprises vibration generation means, the control means comprises:
mounting determination means for determining that the input means
is mounted on an installable mounting site when a vibration
detection signal of a previously-set first predetermined value or
less is received for a certain time-period from the vibration
detection means; vibration generation means for allowing the
vibration generation means mounted on the mounting site to generate
a first vibration for a predetermined time on the basis of a
determination result produced by the mounting determination means;
natural-vibration value calculation means for calculating a natural
vibration value in the mounting site from the vibration detection
signal of the first vibration detected by the vibration detection
means; and vibration correction value calculation means for
correcting a vibration detection signal of a second vibration
applied to the mounting site as the operation input information
detected by the vibration detection means, on the basis of the
natural vibration value, the vibration level determination means
determines the level on the basis of the vibration detection signal
of the second vibration corrected by the vibration correction value
calculation means.
6. The game device according to claim 3, wherein the input means
comprises vibration generation means, the control means comprises:
mounting determination means for determining that the input means
is mounted on an installable mounting site when a vibration
detection signal of a previously-set first predetermined value or
less is received for a certain time-period from the vibration
detection means; vibration generation means for allowing the
vibration generation means mounted on the mounting site to generate
a first vibration for a predetermined time, on the basis of a
determination result produced by the mounting determination means;
natural-vibration value calculation means for calculating a natural
vibration value in the mounting site, from the vibration detection
signal of the first vibration detected by the vibration detection
means; and vibration correction value calculation means for
correcting a vibration detection signal of a second vibration
applied to the mounting site as the operation input information
detected by the vibration detection means, on the basis of the
natural vibration value, the pattern determination means determines
the level pattern on the basis of the vibration detection signal of
the second vibration corrected by the vibration correction value
calculation means.
7. The game device according to claim 6, wherein the vibration
pattern determination means comprises input vibration
classification means for classifying the corrected vibration
detection signal of the second vibration into one or more level
patterns using intensity as determination criterion, based on a
level of the corrected vibration detection signal of the second
vibration.
8. The game device according to claim 6, wherein the vibration
pattern determination means comprises tap/rest setting means for
making a level of the corrected vibration detection signal of the
second vibration corresponding to an elapsed time axis to set a
level pattern including a tap input period in which it is
determined that the vibration detection signal has been input, and
a rest period in which the vibration detection signal has not been
input.
9. The game device according to claim 7, further comprising storage
means, wherein the control means comprises: vibration correction
value storage means for sequentially storing the vibration
detection signals of the second vibration corrected by the
vibration correction value calculation means in time sequence order
in the storage means as a third vibration detection signal; level
pattern threshold calculation means for calculating a
classification threshold for determining which level pattern the
third vibration detection signal belongs to, on the basis of one or
more pieces of information including newest information on the
third vibration detection signals stored in time sequence by the
vibration correction value storage means; and level pattern storage
means for determining which level pattern the corrected newest
third vibration detection signal belongs to, on the basis of the
calculated threshold, and storing information relating to the
determined level pattern in time sequence order in the storage
means.
10. The game device according to claim 8, further comprising
storage means, wherein the control means comprises: tap
time-interval storage means which, with respect to the vibration
detection signal of the second vibration corrected by the vibration
value calculation means, sequentially stores, in time sequence
order, time intervals at which the vibration detection signals of
the second vibration adjacent to each other in time sequence are
input; rest determination time correction means for calculating a
corrected rest determination time, on the basis of the time
interval and/or a previously-set rest determination time stored in
the tap time-interval storage means, when it is determined that the
vibration detection signal is not input; and rest period
determination means for determining, as the rest period, the
elapsed time axis along which it is determined that the vibration
detection signal is not input, when it is determined that a
difference time value S between a current time value and a time
value input by the vibration detection signal of the second
vibration is larger than the corrected rest determination time
11. The game device according to claim 1, further comprising:
conversion value calculation means for calculating a conversion
value on the basis of a predetermined equation, when the vibration
detection signal detected by the vibration detection means is equal
to or less than a second predetermined value.
12. The game device according to claim 1, further comprising:
associated vibration setting means which measures vibration
detection signals of predetermined times detected by the vibration
detection means, and when the input means has detected one-time
vibration, sets vibrations to be detected except the one-time
vibration, as associated vibrations associated with the one-time
vibration, on the basis of the vibration detection signals measured
at predetermined times.
13. A method of controlling game progress in a game device
including input means having vibration detection means for
detecting vibration, said method comprising: a vibration level
determination step of determining a level pattern of a vibration
value detected by the vibration detection means to obtain
determination information; and a game control step based on
vibration-level-determination, which controls execution of a game
using the determination information obtained in the vibration level
determination step as game control information.
14. A method of controlling game progress in a game device
including input means having vibration generation means and
vibration detection means for detecting vibration, said method
comprising: a mounting determination step which determines that the
input means is mounted on an installable mounting site, when a
vibration value equal to or lower than a previously-set
predetermined value is detected for a certain time-period by the
vibration detection means; a vibration start step of starting a
first vibration by the vibration generation means on the basis of a
determination result in the mounting determination step; a
vibration detection step of actuating the vibration detection means
to detect the first vibration when the first vibration occurs in
the vibration start step; a natural-vibration value calculation
step of calculating a natural vibration value in the mounting site,
from a first vibration value based on the first vibration detected
in the vibration detection step; a correction value calculation
step of calculating a correction value in accordance with the
natural vibration value and a second vibration value based on the
second vibration, when the vibration detection means has detected a
second vibration applied to the mounting site for operation input;
and a correction value operation conversion step of converting
operation input information based on the correction value into game
control information.
15. The method of game control according to claim 14, comprising: a
vibration pattern determination step of determining one or more
level patterns of the correction value calculated in the correction
value calculation step; a special input signal determination step
of determining whether or not an array corresponding to time
sequence of information relating to the level pattern determined in
the vibration pattern determination step matches a previously-set
special input command; and a command execution step of executing
game control using the special input command determined to be
matching in the special input signal determination step as the
operation input information input from the input means.
16. The method of game control according to claim 14, wherein the
vibration pattern determination step includes input vibration
classification step of classifying the corrected vibration
detection signal of the second vibration into one or more level
patterns using intensity as a criterion, in response to a level of
the corrected vibration detection signal of the second
vibration.
17. The method of game control according to claim 14, wherein the
vibration pattern determination step includes tap/rest setting step
which makes a level of the corrected vibration detection signal of
the second vibration corresponding to an elapsed time axis to set a
level pattern including a tap input period in which it is
determined that the vibration detection signal has been input, and
a rest period in which the vibration detection signal has not been
input.
18. A computer readable recording medium storing a program
executable by a game device which includes an input means having a
vibration detection means for detecting vibration, said program
controlling game progress in the game device and comprising: a
vibration level determination program of determining a level
pattern of a vibration value detected by the vibration detection
means to obtain determination information; and game-control program
based on a vibration-level-determination, for controlling execution
of a game, using the determination information obtained by the
vibration level determination program as game control
information.
19. A computer readable recording medium storing a program
executable by a game device which includes an input means having
vibration generation means and vibration detecting means, said
program controlling game progress in the game device and
comprising: a mounting determination program having a step of
determining that the input means is mounted on an installable
mounting site, when a vibration value equal to or lower than a
previously-set predetermined value is detected for a certain
time-period by the vibration detection means; a vibration start
program having a step of starting a first vibration by the
vibration generation means, in accordance with a determination
result based on the mounting determination program; a vibration
detection program having a step of actuating the vibration
detection means to detect the first vibration when the first
vibration occurs by virtue of the vibration start program; a
natural-vibration value calculation program having a step of
calculating a natural vibration value in the mounting site from a
first vibration value based on the first vibration detected by the
vibration detection program; a correction value calculation program
having a step of calculating a correction value in accordance with
the natural vibration value and a second vibration value based on
the second vibration, when the vibration detection means has
detected a second vibration applied to the mounting site for
operation input; and a correction value operation conversion
program having a step of converting operation input information
based on the correction value into game control information.
20. The computer readable medium according to claim 19, wherein
said program further comprises: a vibration pattern determination
program having a step of determining which level pattern of one or
more level patterns the correction value calculated by the
correction value calculation program corresponds to; a special
input command determination program having a step of determining
whether or not an array corresponding to time sequence of
information relating to the level pattern determined by the
vibration pattern determination program matches a previously-set
special input command; and a command execution program having a
step of executing game control, using the special input command
determined to be matching by the special input command
determination program, as the operation input information input
from the input means.
21. The computer readable medium according to claim 19, wherein the
vibration pattern determination program includes input vibration
classification program having a step of classifying the corrected
vibration detection signal of the second vibration into one or more
level patterns taking intensity as a criterion, in response to a
level of the corrected vibration detection signal of the second
vibration.
22. The computer readable medium according to claim 19, wherein the
vibration pattern determination program comprises tap/rest setting
program having a step of making a level of the corrected vibration
detection signal of the second vibration corresponding to an
elapsed time axis, to set a level pattern including a tap input
period in which it is determined that the vibration detection
signal has been input, and a rest period in which the vibration
detection signal has not been input.
23. (canceled)
Description
TECHNICAL FIELD
[0001] The present invention relates to a game device, a control
method of controlling a game in the game device, a program
controlling the game and a computer-readable recording medium
storing the program, all of which detect a game operation of the
player from an input signal or the like, and cause a computer of
the game device to execute game processing on the basis of the
detected input signal.
BACKGROUND ART
[0002] Conventionally, for game devices such as home games, arcade
games and the like, as a method of detecting an operation of the
player to play a game (hereinafter referred to as "operation
input"), there have been known detection methods with reference to
a plurality of operation means such as a detection with reference
to a button pressing operation, a detection with reference to the
player stepping operation, a detection with reference to images of
the player in motion taken by a camera, a detection of vibration
resulting from a tap motion by the player, and the like.
[0003] In the detection methods with reference to the
above-described player button pressing operation and the
above-described player stepping operation, the player can carry out
his desired game operation by appropriately operating a button or a
specific site on a console platform for stepping operation (for
example, a pedal or the like) necessary to provide operation input
(see Patent Document 1 and Patent Document 2).
[0004] Also, as a method that releases the player from learning how
to operate the button and the like required for input for game
operation, a method of detecting a motion of the player with a
camera, a method of detecting vibration produced in the device by a
"tap motion" of the player tapping the operation input means, and
the like are proposed. The employment of a method for detecting
such special operation input enables accurate reflection of a game
operation desired by the player (see Patent Document 3).
PRIOR ART DOCUMENT(S)
Patent Document(s)
[0005] Patent Document 1: Japanese Patent Application Laid-Open No.
2001-232060 [0006] Patent Document 2: Japanese Patent Application
Laid-Open No. 2008-036167 [0007] Patent Document 3: Japanese Patent
Application Laid-Open No. 2005-287794
DISCLOSURE OF THE INVENTION
Problems to be Solved by the Invention
[0008] However, game devices employing the aforementioned detection
methods proposed in Patent Document 1 or Patent Document 2 have the
disadvantages that the player must hold a device required to
provide operation input (controller) and learn the functions of the
buttons required for operation input in order to carry out the
operation. Game operation performed by the appropriate operation of
a specific site of a platform involves the disadvantage that,
unless the player learns the specific site on the platform, the
player cannot carry out the game operation for an actual game.
Therefore, the necessity for the player to hold a device required
for operation input by hand or the necessity for the player to
memorize various motions for providing operation input is a
considerable burden on players who cannot hold a device necessary
for operation input for some reason or who are beginners in game,
which is one of the causes of losing interest in games.
[0009] In game devices employing the aforementioned detection
methods proposed by Patent Document 3, the use of a special device
designed specially for implementing the special detection methods
is required. The special-designed device is incapable of being used
for any game except for a special game using the specially-designed
device. Even if the special-designed device can be used for a game
other than the special game, an error or noise may possibly be
included in an input signal in the input method based on the
operation of the specially-designed device. Moreover, a game device
employing the input method based on the specially-designed device
is limited in installation site, resulting in lack of versatility
and also lack of reality.
[0010] The present invention has been made in view of the above
circumstances. It is an object of the present invention to provide
a game device, a method for controlling a game of the game device,
a program controlling the game and a computer-readable recording
medium storing the program, which use a widely available, versatile
operation device, in particular, vibration detecting means for
detecting vibration, to detect a vibration signal without use of a
special game device as described above, in particular, of a special
game operation device, and determine it as an operation signal for
controlling a game in order to enable players to operate the game
without learning the use of various buttons or a specific site on a
console platform which are necessary to input the operation
signal.
Means for Solving the Problem(s)
[0011] To address the problems, an invention according to claim 1
provides a game device, comprising:
[0012] input means capable of acquiring operation input in a game
as operation input information; and
[0013] control means for controlling game progress on the basis of
the operation input information,
[0014] wherein the input means comprises vibration detection means
for detecting vibration applied to the input means,
[0015] the control means comprises vibration level determination
means for determining a level of a vibration detection signal
detected by the vibration detection means, and
[0016] the control means executes game control using determination
information determined by the vibration level determination means
as the operation input information received from the input
means.
[0017] An invention according to claim 2 provides a game device,
comprising:
[0018] input means capable of acquiring operation input in a game
as operation input information; and
[0019] control means for controlling game progress on the basis of
the operation input information,
[0020] wherein the input means comprises,
[0021] vibration detection means for detecting vibration applied to
the input means, and
[0022] vibration level determination means for determining a level
of a vibration detection signal detected by the vibration detection
means, and
[0023] the control means executes game control using determination
information determined by the vibration level determination means
as the operation input information received from the input
means.
[0024] An invention according to claim 3 provides a game device,
comprising:
[0025] input means capable of acquiring operation input in a game
as operation input information; and
[0026] control means for controlling game progress on the basis of
the operation input information,
[0027] wherein the input means comprises vibration detection means
for detecting vibration applied to the input means,
[0028] the control means comprises
[0029] vibration pattern determination means for determining one or
more level pattern of a vibration detection signal detected by the
vibration detection means, and
[0030] special input command determination means for determining
whether or not an array corresponding to time sequence of
information relating to the level pattern determined by the
vibration pattern determination means matches a special input
command previously set, and
[0031] the control means executes game control using the special
input command matching determined by the special input command
determination means as the operation input means received from the
input means.
[0032] An invention according to claim 4 provides a game device,
comprising:
[0033] input means capable of acquiring operation input in a game
as operation input information; and
[0034] control means for controlling game progress on the basis of
the operation input information,
[0035] wherein the input means comprises
[0036] vibration detection means for detecting vibration applied to
the input means, and
[0037] vibration pattern determination means for determining one or
more level patterns of a vibration detection signal detected by the
vibration detection means,
[0038] the control means comprises special input command
determination means for determining whether or not an array
corresponding to time sequence of information relating to the level
pattern determined by the vibration pattern determination means
matches a special input command previously set, and
[0039] the control means executes game control using the special
input command matching determined by the special input command
determination means as the operation input means received from the
input means.
[0040] An invention according to claim 5 relates to the game device
according to any of claim 1 or claim 2, wherein
[0041] the input means comprises vibration generation means,
[0042] the control means comprises
[0043] mounting determination means for determining that the input
means is mounted on an installable mounting site when a vibration
detection signal of a previously-set first predetermined value or
less is received for a certain time-period from the vibration
detection means,
[0044] vibration generation means for allowing the vibration
generation means mounted on the mounting site to generate a first
vibration for a predetermined time on the basis of a determination
result by the mounting determination means,
[0045] natural-vibration value calculation means for calculating a
natural vibration value in the mounting site from the vibration
detection signal of the first vibration detected by the vibration
detection means, and
[0046] vibration correction value calculation means for correcting
a vibration detection signal of a second vibration applied to the
mounting site as the operation input information detected by the
vibration detection means, on the basis of the natural vibration
value, and
[0047] the vibration level determination means determines the level
on the basis of the vibration detection signal of the second
vibration corrected by the vibration correction value calculation
means.
[0048] An invention according to claim 6 relates to the game device
according to any of claim 3 or claim 4, wherein
[0049] the input means comprises vibration generation means,
[0050] the control means comprises
[0051] mounting determination means for determining that the input
means is mounted on an installable mounting site when a vibration
detection signal of a previously-set first predetermined value or
less is input for a certain time-period from the vibration
detection means,
[0052] vibration generation means for allowing the vibration
generation means mounted on the mounting site to generate a first
vibration for a predetermined time on the basis of a determination
result by the mounting determination means,
[0053] natural-vibration value calculation means for calculating a
natural vibration value in the mounting site from the vibration
detection signal of the first vibration detected by the vibration
detection means, and
[0054] vibration correction value calculation means for correcting
a vibration detection signal of a second vibration applied to the
mounting site as the operation input information detected by the
vibration detection means, on the basis of the natural vibration
value, and
[0055] the vibration pattern determination means determines the
level pattern on the basis of the vibration detection signal of the
second vibration corrected by the vibration correction value
calculation means.
[0056] An invention according to claim 7 relates to the game device
according to claim 6, wherein the vibration pattern determination
means comprises input vibration classification means for
classifying the corrected vibration detection signal of the second
vibration in one or more level patterns with use of intensity as a
criterion by a level of the corrected vibration detection signal of
the second vibration.
[0057] An invention according to claim 8 relates to the game device
according to claim 6, wherein the vibration pattern determination
means comprises tap/rest setting means for making a level of the
corrected vibration detection signal of the second vibration
correspond to an elapsed time axis to set a level pattern including
a tap input period in which it is determined that the vibration
detection signal has been input, and a rest period in which the
vibration detection signal has not been input.
[0058] An invention according to claim 9 relates to the game device
according to claim 7, further comprising storage means,
[0059] wherein the control means
[0060] the vibration pattern determination means comprises
[0061] vibration correction value storage means for sequentially
storing the vibration detection signals of the second vibration
corrected by the vibration correction value calculation means in
time sequence order in the storage means as a third vibration
detection signal,
[0062] level pattern threshold calculation means for calculating a
threshold used for classification for determining which level
pattern the third vibration detection signal belongs to, on the
basis of one or more piece of information including newest
information on the third vibration detection signals stored in time
sequence by the vibration correction value storage means, and
[0063] level pattern storage means for determining which level
pattern the newest third vibration detection signal after
correction belongs to, on the basis of the calculated threshold,
and storing information relating to the determined level pattern in
the storage means.
[0064] An invention according to claim 10 relates to the game
device according to claim 8, further comprising storage means,
[0065] wherein the control means comprises
[0066] tap time-interval storage means for, regarding the vibration
detection signal of the second vibration corrected by the vibration
value calculation means, sequentially storing, in time sequence
order, time intervals at which the vibration detection signals of
the second vibration adjacent to each other in time sequence are
input in the storing means,
[0067] rest determination time correction means for calculating a
corrected rest determination time corrected, on the basis of the
time interval and/or a previously-set rest determination time
stored in the tap time-interval storage means, when it is
determined that the vibration detection signal is not input,
and
[0068] rest period determination means for determining, as the rest
period, the elapsed time axis along which it is determined that the
vibration detection signal is not input, when it is determined that
a difference time value S between a current time value and a time
value input by the vibration detection signal of the second
vibration is larger than the corrected rest determination time.
[0069] An invention according to claim 11 relates to the game
device according to any of claims 1 to 4, further comprising
[0070] conversion value calculation means for calculating a
conversion value on the basis of a predetermined equation when the
vibration detection signal detected by the vibration detection
means is equal to or less than a second predetermined value.
[0071] An invention according to claim 12 relates to the game
device according to any of claims 1 to 4, further comprising
[0072] associated vibration setting means for measuring vibration
detection signals predetermined times detected by the vibration
detection means, and when the input means detects one-time
vibration, for setting vibration detected except for the one-time
vibration as associated vibration generated with the one-time
vibration, on the basis of the vibration detection signals measured
predetermined times.
[0073] Further, an invention according to claim 13 provides a
method of controlling game progress in a game device including
input means having vibration detection means for detecting
vibration, comprising
[0074] a vibration level determination step of determining a level
pattern of a vibration value detected by the vibration detection
means to obtain determination information; and
[0075] a vibration-level-determination-based game-control step of
controlling execution of a game by use of the determination
information obtained by the vibration level determination step as
game control information.
[0076] An invention according to claim 14 provides a method of
controlling game progress in a game device including input means
having vibration generation means and vibration detection means for
detecting vibration, comprising
[0077] a mounting determination step of determining that the input
means is mounted on an installable mounting site when a vibration
value of a previously-set predetermined value or less is detected
for a certain time-period by the vibration detection means;
[0078] a vibration start step of starting a first vibration by the
vibration generation means on the basis of a determination result
in the mounting determination step;
[0079] a vibration detection step of actuating the vibration
detection means to detect the first vibration when the first
vibration occurs by the vibration start step;
[0080] a natural-vibration value calculation step of calculating a
natural vibration value in the mounting site from a first vibration
value based on the first vibration detected by the vibration
detection step;
[0081] when the vibration detection means detects a second
vibration applied to the mounting site and used for operation
input, a correction value calculation step of calculating a
correction value on the basis of a second vibration value based on
the second vibration and the natural vibration value; and
[0082] a correction value operation conversion step of converting
operation input information based on the correction value into game
control information.
[0083] An invention according to claim 15 relates to the method of
game control according to claim 14, comprising:
[0084] a vibration pattern determination step of determining one or
more level patterns of the correction value calculated in the
correction value calculation step;
[0085] a special input commend determination step of determining
whether or not an array corresponding to time sequence of
information relating to the level pattern determined in the
vibration pattern determination step matches a previously-set
special input command; and
[0086] a command execution step of executing game control by use of
the special input command determined to match in the special input
signal determination step as the operation input information input
from the input means.
[0087] An invention according to claim 16 relates to the method of
game control according to claim 14, wherein the vibration pattern
determination step comprises input vibration classification step of
classifying the corrected vibration detection signal of the second
vibration in one or more level patterns with use of intensity as a
criterion by a level of the corrected vibration detection signal of
the second vibration.
[0088] An invention according to claim 17 relates to the method of
game control according to claim 14, wherein the vibration pattern
determination step comprises tap/rest setting step of making a
level of the corrected vibration detection signal of the second
vibration correspond to an elapsed time axis to set a level pattern
including a tap input period in which it is determined that the
vibration detection signal has been input, and a rest period in
which the vibration detection signal has not been input.
[0089] An invention according to claim 18 provides a program of
controlling game progress in a game device including input means
having vibration detection means for detecting vibration,
comprising
[0090] a vibration level determination program of determining a
level pattern of a vibration value detected by the vibration
detection means to obtain determination information; and
[0091] a vibration-level-determination-based game-control program
of controlling execution of a game by use of the determination
information obtained by the vibration level determination program
as game control information.
[0092] An invention according to claim 19 provides a program of
controlling game progress in a game device including input means
having vibration generation means and vibration detection means for
detecting vibration, comprising
[0093] a mounting determination program having a step of
determining that the input means is mounted on an installable
mounting site when a vibration value of a previously-set
predetermined value or less is detected for a certain time-period
by the vibration detection means;
[0094] a vibration start program having a step of starting a first
vibration by the vibration generation means on the basis of a
determination result in the mounting determination program;
[0095] a vibration detection program having a step of actuating the
vibration detection means to detect the first vibration when the
first vibration occurs by the vibration start program;
[0096] a natural-vibration value calculation program having a step
of calculating a natural vibration value in the mounting site from
a first vibration value based on the first vibration detected by
the vibration detection program;
[0097] a correction value calculation program that has, when the
vibration detection means detects a second vibration applied to the
mounting site and used for operation input, a step of calculating a
correction value on the basis of a second vibration value based on
the second vibration and the natural vibration value; and
[0098] a correction value operation conversion program having a
step of converting operation input information based on the
correction value into game control information.
[0099] An invention according to claim 20 relates to the program of
game control according to claim 19, which comprises:
[0100] a vibration pattern determination program having a step of
determining which level pattern of one or more level patterns the
correction value calculated by the correction value calculation
program corresponds to;
[0101] a special input signal determination program having a step
of determining whether or not an array corresponding to time
sequence of information relating to the level pattern determined by
the vibration pattern determination program matches a
previously-set special input command; and
[0102] a command execution program having a step of executing game
control by use of the special input command determined to match by
the special input signal determination program as the operation
input information input from the input means.
[0103] An invention according to claim 21 relates to the program of
game control according to claim 19, wherein the vibration pattern
determination program comprises input vibration classification
program having a step of classifying the corrected vibration
detection signal of the second vibration in one or more level
pattern with use of intensity as a criterion by a level of the
corrected vibration detection signal of the second vibration.
[0104] An invention according to claim 22 relates to the program of
game control according to claim 19, wherein the vibration pattern
determination program comprises tap/rest setting program having a
step of making a level of the corrected vibration detection signal
of the second vibration correspond to an elapsed time axis to set a
level pattern including a tap input period in which it is
determined that the vibration detection signal has been input, and
a rest period in which the vibration detection signal has not been
input.
[0105] An invention according to claim 23 provides a
computer-readable recording medium storing the program according to
any of claim 18 to claim 22.
[0106] The computer-readable recording medium includes a recording
medium capable of recording data of a program such as an optical
disc including a CD-ROM, a DVD and the like, a flash memory, a RAM,
a ROM, a magnetic disc drive and the like.
[0107] The aforementioned input means is an input device capable of
accepting various input operations of a player, for example, an
input device including a remote controller, a controller and the
like.
[0108] The first predetermined value means a threshold for
detecting primitive (natural occurrence) vibration without
application of vibration generated by vibration start means to a
mounting site, and also irrespective of operation of the player.
The second predetermined value means a value serving as a reference
for input as an operation signal, which is greater than the
vibration in the mounting site (first predetermined value) out of
the vibrations detected by the vibration detection means. In a
process in the present invention, a detected vibration value equal
to or less than the first predetermined value is assumed as a
naturally generated vibration value and is not employed as
operation input signal. Then, when the detected vibration value is
equal to or greater than the first predetermined value and equal to
or less than the second predetermined value, a conversion process
is performed by predetermined procedure in order to use the
vibration value as a game control signal, so that the converted
information is used as the operation input signal to execute game
control.
[0109] Moreover, the aforementioned game control program based on
the vibration level determination refers to a program for
controlling a previously set game for each piece of determination
information determined in the aforementioned vibration level
determination step (or by vibration level program). The game
control program based on the vibration level determination refers
to, for each piece of determination information, for example, a
program for displaying a presentation of moving image of a
small-scaled firework on the monitor, a program for displaying a
presentation of moving image of continuous launching of
large-scaled fireworks on the monitor, or the like.
Advantages of the Invention
[0110] According to the present invention, a game device comprising
input means capable of acquiring operation input in a game as
operation input information, and control means for controlling game
progress on the basis of the operation input information. The input
means comprises vibration detection means for detecting vibration
applied to the input means, and determination means for determining
a level of the vibration value detected by the vibration detection
means. The control means changes the result of the determination by
the determination means to be used as operation input information
in the input means for game control information. As a result, for
example, widely available and versatile input means, as long as it
has vibration detection means as typified by a detection sensor or
the like, can be used in the game system according to the present
invention.
[0111] When the control means determines a level of a vibration
value, the input means may include only the essential structure
(vibration detection means), resulting in simplification of the
structure of the input means.
[0112] If the input means determines a level of a vibration, when
the input means detects vibration, the input means can additionally
determine the vibration. Accordingly, the control means simply use
the determination result by the input means (the result by the
vibration determination) as the operation input information,
resulting in a reduction in load on the control means for the game
control processing.
[0113] Means for classifying vibration subsequently applied in time
sequence to the mounting base or the like into intensity patterns
is provided. This makes it possible to provide a game device with
new attractive ideas enabling execution of special game control,
although the operation method is simple in that it is necessary
only to change the intensity of a tap motion once an array of
intensity patterns in time sequence order corresponding to the
strength produced by the player tapping the mounting base or the
like becomes coincident with the predetermined commend. In
addition, it is possible to determine the intensity on a player
basis, even when the strength varies depending on various
situations when the player taps the mounting base or the like (the
degree of strength to tap, times of a day, mental condition and the
like) and on attribution of a player himself (small child, child,
adult, or the like).
[0114] Means is provided for dividing the vibration sequentially
applied in time sequence to the mounting base or the like (that is,
"tap rhythm") into two periods, one being a tap period in which
vibration is detected according to elapsed time and the other being
a rest period in which vibration is not detected. This means makes
it possible to provide a game device with new attractive ideas
enabling execution of special game control, although the operation
method is simple in that when an array of time sequence order of
the tap period and the rest period corresponding to tap rhythm of
the player matches a command previously set, the rhythm of a tap
motion changes simply. In addition, it is possible to determine the
"tap rhythm" on a player basis, even when the "tap rhythm" varies
depending on various situations when the player taps the mounting
base or the like (the degree of strength to tap, times of a day,
mental condition and the like) and on attribution of a player
himself (small child, child, adult, or the like).
BRIEF DESCRIPTION OF THE DRAWINGS
[0115] FIG. 1 is an external view illustrating a game system 1
according to an embodiment of the present invention.
[0116] FIG. 2 is a function block diagram illustrating the hardware
configuration of a game device 3 forming part of the game system 1
according to the embodiment.
[0117] FIGS. 3A, 3B are perspective views of the top surface and
the underside of a controller 7 forming part of the game system 1
according to the embodiment when viewed from the rear end.
[0118] FIGS. 4A, 4B are likewise perspective views illustrating the
controller 7 forming part of the game system 1 according to the
embodiment, without its upper housing element and lower housing
element.
[0119] FIG. 5 is likewise a function block diagram illustrating the
hardware configuration of the controller 7 forming part of the game
system 1 according to the embodiment.
[0120] FIGS. 6A, 6B are diagrams illustrating an example of a
screen in a game assumed by the game system 1 according to the
embodiment.
[0121] FIGS. 7A, 7B are likewise diagrams illustrating an example
of a screen in a game made up by the game system 1 according to the
embodiment.
[0122] FIG. 8 is a diagram illustrating an example of a structure
of a program controlling a game stored in the game device 3 forming
part of the game system 1 according to the embodiment.
[0123] FIG. 9A is a flowchart illustrating an example of the
procedure for controlling the game in the control program stored in
the game device 3 forming part of the game system 1 according to
the embodiment, and FIG. 9B is a diagram illustrating an example of
a menu screen displayed on a monitor by the control program.
[0124] FIG. 10 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program.
[0125] FIG. 11 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program.
[0126] FIG. 12 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program.
[0127] FIGS. 13A, 13B are graphs showing changes in vibration
values in each mounting place of the controller 7 of the game
system 1 according to the embodiment, FIG. 13A showing when the
controller 7 is mounted on a hard surface and FIG. 13B showing when
the controller 7 is mounted on a soft surface.
[0128] FIG. 14 is a flowchart illustrating an example of the
procedure for controlling a game in the control program stored in
the game device 3 forming part of the game system 1 according to
the embodiment.
[0129] FIG. 15 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program.
[0130] FIG. 16 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program.
[0131] FIG. 17 is a graph showing an example of the time-series
variations in the results of the correction processing performed on
vibration values (weak input) transmitted to the game device 3
after being detected by the controller 7 of the game system 1
according to the embodiment following a top motion of the
player.
[0132] FIG. 18 is a graph showing an example of the time-series
variations in the results of the correction processing performed on
vibration values (medium input) transmitted to the game device 3
after being detected by the controller 7 of the game system 1
according to the embodiment following a top motion of the
player.
[0133] FIG. 19 is a graph showing an example of the time-series
variations in the results of the correction processing performed on
vibration values (strong input) transmitted to the game device 3
after being detected by the controller 7 of the game system 1
according to the embodiment following a top motion of the
player.
[0134] FIG. 20 is a flowchart illustrating an example of the
procedure for controlling a game in the control program stored in
the game device 3 forming part of the game system 1 according to
the embodiment.
[0135] FIG. 21 is likewise a flowchart illustrating an example of
the procedure for controlling a game in the control program stored
in the game device 3 forming part of the game system 1 according to
the embodiment.
[0136] FIGS. 22A, 22B are likewise diagrams illustrating an example
of data structure in command determination tables built for
controlling a game by the control program, FIG. 22A showing a table
for determining a command about the magnitude of vibration value,
and FIG. 22B showing a table used for determining the rhythm of
rests and the occurrence of vibrations.
[0137] FIGS. 23A, 23B are likewise diagrams illustrating an example
of data structure in special input command tables contained in the
control program, FIG. 23A showing a table in which special commands
about the magnitude of vibration value are registered, FIG. 23B
showing a table in which special commands about rests and the
occurrence of vibrations are registered.
THE BEST MODE FOR CARRYING OUT THE INVENTION
[0138] An embodiment according to the present invention will be
described below with reference to the accompanying drawings. FIG. 1
is an external view illustrating a game system 1 using a game
device according to the embodiment.
[0139] [Overall Structure of Game Device]
[0140] In FIG. 1, the game system 1 includes a stationary game
device (hereinafter referred to as a "game device") 3 which is
connected through a connecting cord to a display (hereinafter
referred to as a "monitor") 2 equipped with speakers 2a such as a
television receiver for home use, a controller 7 which provides
information on game operation and the like to the game device 3,
and a mounting base 8 on which the controller 7 is mounted.
[0141] The game device 3 is connected to a receiver unit 6 via a
connection terminal. The receiver unit 6 receives transmission data
transmitted from the controller 7 over the radio, so that the
controller 7 and the game device 3 are connected by communicating
over the radio. The game device 3 includes a disc drive 40 (see
FIG. 2) apparatus on and from which a removable optical disc 4
which is an example of information recording media for use in the
game device 3 is loaded and unloaded. Further, the game device 3 is
provided with a switch for powering the game device 3 ON/OFF, a
reset switch for game processing, and an OPEN switch for opening a
disc tray in order to load/unload an optical disc 4 on/from the
disc drive 40, all of which are not shown. In this connection, the
player depresses the OPEN switch, whereupon the disc tray is
ejected from the inside of the game device 3 to enable the player
to load/unload the optical disc 4. After the optical disc 4 is
unloaded/loaded again, the disc tray is slid back into the game
device 3 to enable the game device 3 to read the optical disc 4. In
this regard, the controller 7 corresponds to input means in the
embodiment.
[0142] The game device 3 is fitted with an external memory card 5
which is removable as appropriate. The external memory card 5 has
backup memory permanently storing saved data and the like. The game
device 3 executes a game based on a game program stored on the
optical disc 4 or in response to an input signal from the input
means (controller 7), and displays the result as a game image on
the monitor 2 serving as display means. When the external memory
card 5 is inserted, the game device 3 can use the saved data stored
in the external memory card 5 to reproduce the state of a game
which has been carried out by the player in past times, and display
the result, for example, as a game image on the monitor 2 serving
as the display means. Alternatively, instead of the external memory
card 5, a memory, not shown, specially designed for saved data is
provided in the main memory 33 within the main body or in the main
body itself in order to store saved data. Then, while looking at
the game image displayed on the monitor 2, the player operates the
controller 7 to proceed to carry out the rest of the game.
[0143] The controller 7 operates a communication unit 75 provided
therein (see FIG. 5) to send transmission data via radio to the
game device 3 connected to the receiver unit 6 by the use of
techniques of, for example, Bluetooth (trademark). The controller 7
is operating (input) means for acquiring, mainly, the operation
input information required for operating the player object
appearing on the game space displayed on the monitor 2. The
controller 7 is equipped with operating switches including a
plurality of operation buttons, keys, sticks and the like.
[0144] The mounting base 8 serves as a mounting place enabling the
mounting of the controller 7. The player taps the mounting base 8,
whereupon vibration (second vibration) is created in the mounting
base 8, which then travel to the controller 7, so that the
vibration traveling to the controller 7 are detected. In the
embodiment, a box-shaped mounting base made of cardboard or the
like is employed. Note that the material of the mounting base 8 is
not limited particularly to cardboard or the like as long as the
material is able to transmit vibration to the controller 7 when the
player taps the mounting base 8 (for example, a box made of
cardboard or the like or a plate made of wood or the like).
However, a soft material incapable of transmitting vibration by
absorbing the vibration produced in the mounting base 8 by the
player is not desirable. Also, the shape of the mounting base 8 is
not limited to a box shape, and, for example, it may be a plate
shape (wood or the like), or alternatively the floor itself may be
used as a mounting place.
[0145] (Control Mechanism of Game Device)
[0146] Next, the configuration of the control mechanism for
controlling the operation of the game device 3 will be described
with reference to FIG. 2. FIG. 2 is a functional block diagram
illustrating the processing functions of the game device 3.
[0147] In FIG. 2, the game device 3 includes, for example, a CPU
(Central Processing Unit) 30 for executing and controlling various
programs. The CPU 30 executes a boot program stored in a boot ROM,
not shown, and then initializes the memory in the main memory 33
and the like. Then, the CPU 30 executes a game program stored on
the optical disc 4 to carry out game processing or the like in
accordance with the game program. The CPU 30 is connected via a
memory controller 31 to a GPU (Graphics Processing Unit) 32, a main
memory 33, a DSP (Digital Signal Processor) 34 and an ARAM (Audio
RAM) 35. The memory controller 31 is connected via a predetermined
bus to a controller I/F (Inter-Face) 36, video I/F 37, external
memory I/F 38, audio I/F 39, and a disc I/F 41, which in turn are
respectively connected to a receiver unit 6, monitor 2, external
memory card 5, speaker 2a and a disc drive 40.
[0148] The GPU 32 performs image processing on the basis of the
instructions of the CPU 30, and is formed of, for example, a
semiconductor chip performing the computer processing necessary for
a 3D graphics display. The GPU 32 generates an image-processed
picture using an image-processing memory, not shown, or a part of
the memory area of the main memory, and then outputs it to the
monitor 2 via the memory controller 31 and the video I/F 37 as
appropriate. The CPU 30 and the GPU 32 correspond to an example of
control means in the embodiment.
[0149] The main memory 33 includes a ROM (Read Only Memory) and a
RAM (Random Access Memory), which are not shown and a memory area
used by the CPU 30, and stores a game program and the like
necessary for the CPU 30 to perform processing as appropriate. For
example, the main memory 33 stores a game program, various types of
data such as data tables and the like which are read from the
optical disc 4 by the CPU 30. The CPU 30 executes and uses the game
program, various types of data and the like which are stored in the
main memory 33. The structure of a game program will be described
later.
[0150] The DSP 34 processes the sound data and the like generated
by the CPU 30 at the execution of a game program, and is connected
to the ARAM 35 for storing the sound data. The ARAM 35 is used when
the DSP 34 performs predetermined processing (for example, storing
of previously read game program data and sound data). The DSP 34
reads the sound data stored in ARAM 35 and sends it through the
memory controller 31 and the audio I/F 39 to allow the speaker 2a
to output it as a sound effect, music, and voice. In this
connection, a speaker provided in the monitor 2 may be used as the
speaker 2a.
[0151] The memory controller 31 controls overall data transmission
and is connected to the aforementioned various interfaces. The
controller I/F 36 is made up of, for example, 4 controller I/Fs 36a
to 36d which connect external devices and the game device 3 through
their own respective connectors to conduct communications between
them. For example, the receiver unit 6 is fitted into the connector
and connected to the game device 3 through the controller I/F 36.
As described earlier, the receiver unit 6 receives the data
transmitted from the controller 7 and outputs the transmission data
to the CPU 30 through the controller I/F 36.
[0152] The video I/F 37 is connected to the monitor 2. The external
memory I/F 38 is connected to the external memory card 5 and is
made accessible to a backup memory and the like provided in the
external memory card 5. The audio I/F 39 is connected to the
speaker 2a provided in the monitor 2, so that sound data read from
the ARAM 35 by the DSP 34 and sound data output directly from the
disc drive 40 can be output from the speaker 2a. The disc I/F 41 is
connected to the disc drive 40. The disc drive 40 reads data stored
on the optical disc 4 placed in a predetermined reading position,
and outputs it to the bus of the game device 3 and/or the audio I/F
39. Note that the game device 3 is equipped with a timer for
measuring the elapsed time which is not shown in FIG. 2, and can
read a current time value by program processing.
[0153] (Structure of Controller)
[0154] The controller, which is an example of an input device
corresponding to the input means of the present invention, will be
described with reference to FIGS. 3A, 3B. FIG. 3A is a perspective
view of a top surface of the controller 7 when viewed from the rear
end. FIG. 3B is a perspective view of the underside of the
controller 7 when viewed from the rear end.
[0155] In FIGS. 3A and 3B, the controller 7 has a housing 71 which
is formed by, for example, plastic molding. A plurality of
operation console switches 72 are provided in the housing 71. The
housing 71 is formed in an approximately rectangular parallelepiped
shape with the longitudinal direction extending in the fore-and-aft
direction and it's entire size is such that an adult or a child can
grasp it in one hand.
[0156] A cross key 72a is provided on a forward central portion of
the top surface of the housing 71. The cross key 72a is a
cross-shaped four-direction push switch of which operating parts
corresponding to the four directions (front, rear, right and left)
shown by arrows are respectively placed in projections of the cross
at 90-degree intervals. The player depresses any of the operating
switches of the cross key 72a to select one of the front, rear,
right and left directions. For example, the player operates the
cross key 72a to instruct the moving direction of the player
character or the like appearing on a virtual game world (space), or
instruct the moving direction of a cursor.
[0157] The cross key 72a is an operating switch outputting an
operation signal in response to the aforementioned direction input
operation of the player, but may be an operating switch of another
form. In stead of the above-described cross key 72a, for example, a
complex switch consisting of a push switch including four-direction
operating parts arranged in a ring shape and a center switch
provided in the center of the push switch, or a tiltable stick
protruding from the top surface of the housing 71, or the like can
be provided. Another operating switch may be provided instead of
the cross key 72a, which includes a horizontally-movable
disc-shaped member and, when the member is slid, outputs an
operation signal according to the sliding direction. Yet another
operating switch may be provided instead of the cross key 72a,
which outputs an operation signal in response to a switch depressed
by the player out of the switches respectively representing at
least four directions (front, rear, right and left).
[0158] A plurality of operation buttons 72b to 72g are provided on
a portion of the top surface of the housing 71 rearward of the
cross key 72a. The operation buttons 72b to 72g are operating
switches each of which outputs an operation signal assigned to the
switch when the button head is depressed by the player. For
example, the operation buttons 72b to 72d, serving as an X button,
a Y button and a B button or the like, are respectively assigned
functions executed for displaying a new window on the monitor 2,
acknowledging or denying the operation instruction confirmation
displayed on the monitor 2, and the like in response to the game
contents. The operation buttons 72e to 72g are assigned functions
as a selection switch, a menu switch and a start switch or the
like. The operation buttons 72b to 72g are respectively assigned
functions in association with a game program executed by the game
device 3. In this regard, if a vibrator 74 corresponding to
vibration generation means and an acceleration sensor 73
corresponding to vibration detection means are provided, there may
be no particular need to have all the above-described operation
buttons. Therefore, the controller 7 is not limited to a
general-purpose controller, and may be operation means (input
means) even if it is operation means such as, for example, a
mouse.
[0159] An operation button 72h is provided on the top surface of
the housing 71 forward of the cross key 72a. The operation button
72h is a power switch for remotely powering the body of the game
device 3 ON/OFF. Alternatively, the operation button 72h may be a
power switch of powering the controller 7 ON/OFF. The operation
button 72h may have the top surface located below the top surface
of the housing 71 in order to prevent the player from accidentally
depressing the operation button 72h.
[0160] A plurality of LEDs 702 are provided on the top surface of
the housing 71 rearward of the operation button 72c. The LEDs 702
can be used to notify the player of the controller mode in which
the controller 7 is currently placed. For example, when a plurality
of players operate characters displayed on a plurality of game
screens, the plurality of LEDs 702 can emit light by different
methods in order to tell the players which controller a character
operated on the game screen based on an operation input signal has
been transmitted by. Further, the plurality of LEDs of a controller
can be operated to emit light simultaneously in order to notify the
players of the recognition of the controller by the game device or
of some error.
[0161] Now, a coordinate system set in the controller 7 will be
described. As shown in FIGS. 3(a) and 3(b), X, Y and Z axes at
right angles to one another are defined as a coordinate system with
respect to the controller 7. Specifically, the longitudinal
direction of the housing 71 which is the fore-and-aft direction of
the controller 7 is defined as the Z axis, in which the direction
of the front face (the face closer to the vibrator 74) is defined
as the positive Z axis direction. The up-and-down direction of the
controller 7 is defined as the Y axis, in which the direction of
the top surface (the face on which the cross key 72a is provided)
is defined as the positive Y axis direction. The right-and-left
direction of the controller 7 is defined as the X axis, in which
the direction of the left side face (the face not shown in FIG.
3(a) and shown in FIG. 3(b)) of the housing 71 is defined as the
positive X axis direction.
[0162] Next, the internal structure of the controller 7 will be
described with reference to FIGS. 4A, 4B. FIG. 4A is a perspective
view illustrating the controller 7 when the upper housing (part of
the housing 71) is removed from the controller 7. FIG. 4B is a
perspective view illustrating the controller 7 when the lower
housing (part of the housing 71) is removed from the controller 7.
In this regard, a base board 700 shown in the perspective view in
FIG. 4B is when viewed from the underside of the base board 700
shown in FIG. 4A.
[0163] In FIG. 4A, the base board 700 is secured within the housing
71. The operation buttons 72a to 72h, the acceleration sensor 73,
the LEDs 702, a crystal-quartz oscillator 703, a radio module 53,
an antenna 54 and the like are provided on the upper main surface
of the base board 700, and are connected to a microcomputer 51
(hereinafter referred to as the "MC", see FIG. 5) through wiring
(not shown) in the base board 700 or the like. The acceleration
sensor 73 detects and outputs an acceleration which can be used to
calculate a tilt, a vibration and the like in the three-dimensional
space in which the controller 7 is provided. The acceleration
sensor 73, together with a vibration detection program 23 which
will be described later, corresponds to the vibration detection
means in the embodiment.
[0164] In the embodiment, the controller 7 includes a three-axis
acceleration sensor 73 as shown in FIG. 5. The three-axis
acceleration sensor 73 detects a linear acceleration in three
directions, namely, the up-and-down direction (Y axis shown in
FIGS. 3A, 3B), the right-and-left direction (X axis shown in FIGS.
3A, 3B), and the fore-and-aft direction (Z axis shown in FIGS. 3A,
3B).
[0165] In the use of a combination of the acceleration sensor 73
with the MC 51 (or another processor), for example, upon the
detection of a static acceleration (gravity acceleration), the
output of the acceleration sensor 73 is sent to the MC 51. By
program processing of the MC 5, an operation can be carried out
using a tile angle and a detected acceleration to determine a tilt
of an object (controller 7) relative to gravity vector. In this
manner, using the acceleration sensor 73 in combination with the MC
51 (or another processor) makes it possible to determine tilt,
posture and position of the controller 7.
[0166] The controller 7 functions as a wireless controller with the
communication unit 75 having a radio module 53 and an antenna 54.
The crystal-quartz oscillator 703 generates a clock signal on which
the operation of the MC 51 described later is based.
[0167] On the other hand, in FIG. 4B, a battery 76 is held in the
rear end of the lower main surface of the substrate 700. A vibrator
74 is mounted on the lower main surface of the substrate 700. The
vibrator 74 may be, for example, a vibration motor or a solenoid.
Vibration is produced in the controller 7 by actuating the vibrator
74. The vibrator 74 corresponds to vibration generation means for
generating a first vibration in the embodiment.
[0168] (Control Mechanism of Controller)
[0169] Referring FIG. 5, next, the internal configuration
(structure of the control mechanism) for controlling the operation
of the controller 7 will be described. FIG. 5 is a block diagram
illustrating the function configuration of the controller 7.
[0170] The acceleration sensor 73 detects and outputs separately
three-axis components of the up-and-down direction (Y-axis
direction), the right-and-left direction (X-axis direction) and the
fore-and-aft direction (Z-axis direction) of the controller 7 as
described earlier. The data on accelerations of the three-axis
components detected by the acceleration sensor 73 is sent to the
communication unit 75. The movement of the controller 7 can be
determined on the basis on the acceleration data output from the
acceleration sensor 73. The acceleration sensor 73 employed may be
an acceleration sensor that detects accelerations in any two axes
in accordance with data required to a specific application.
[0171] The communication unit 75 includes the MC 51, the memory 52,
the radio module 53, and the antenna 54. The MC 51 controls the
radio module 53 transmitting transmission data over radio while
using the memory 52 as a storage area in processing.
[0172] The MC 51 receives the operation signal (key data) output
from the operation console switch 72 provided in the controller 7
and acceleration signals in the three-axis directions (data on
accelerations in X-, Y- and Z-axis directions) output from the
acceleration sensor 73. The MC 51 temporary stores each piece of
data (key data, acceleration data in the X-, Y- and Z-axis
directions) as transmission data to be transmitted to the receiver
unit 6 in the memory 52. At this stage, radio transmission from the
communication unit 75 to the receiver unit 6 is carried out once
every predetermined time period. However, the game processing is
typically executed on a 1/60 second basis. Therefore, transmission
is required to be carried out once every time period shorter than
the typical one. Specifically, the game processing is performed on
a 16.7 ms basis (1/60 seconds), and a transmission interval of the
communication unit 75 based on Bluetooth (trademark) is, for
example, 5 ms.
[0173] When determining that the time has come for transmission to
the receiver unit 6, the MC 51 outputs the transmission data stored
in the memory 52 as a series of operation information to the radio
module 53, on the basis of the program stored in the memory 52.
Thereupon, the radio module 53 transmits the operation information
from the antenna 54 as a radio signal using a carrier wave of
predetermined frequency by use of techniques of, for example,
Bluetooth (trademark). That is, the key data from the operation
console switch 72 provided in the controller 7 and the data on
accelerations in the X-, Y- and Z-axis directions output from the
acceleration sensor 73 (measured values of vibration) are
transmitted from the controller 7 to the game device 3.
[0174] Then, the receiver unit 6 of the game device 3 receives the
radio signal. The game device 3 demodulates and decodes the
received radio signal to obtain a series of operation information
(key data) and acceleration data in the X-, Y- and Z-axis
directions. Next, the CPU 30 of the game device 3 performs the game
processing on the basis of the obtained operation information and
the game program. Note that if the technique of Bluetooth
(trademark) is used to configure the communication unit 75, the
communication unit 75 can have the capability of receiving
transmission data transmitted from another device over air.
[0175] (Example of Applicable Games)
[0176] Next, the outline of a game assumed in the embodiment will
be described with reference to FIGS. 6A, 6B, 7A, 7B. FIGS. 6A, 6B,
7A, 7B illustrate examples of the screens of the game assumed in
the embodiment.
[0177] In FIG. 6A, the monitor 2 displays a character representing
a person (hereinafter referred to as "character C1") standing on
the ground (the floor existing in a three-dimensional space). In
this game, the player taps the mounting base 8 on which the
controller 7 is placed, so that the vibration thus generated is
detected by the controller 7. Depending upon the degree of
intensity (intensity level) of the vibration detected by the
controller 7, that is, a motion of the player (the motion of
tapping the mounting base 8, which is hereinafter uniformly
referred to as a "motion"), character C1 starts its motion
("walking", "running", "jumping (flying)"). Also, in FIGS. 6A, 6B,
7A, 7B, the number symbols shown below the ground (the number
symbols following "StaGe1-1") represent the time elapsed from the
game start (shown on the millisecond (ms) time scale).
[0178] FIG. 6A shows the state of the game start. At this stage,
character C1 remains still while standing on the ground. That is,
this stage comes before the player makes a motion and the
controller 7 has not yet detected any vibration.
[0179] FIG. 6B shows the state of C1 at the stage when about 5
seconds have elapsed from the time in FIG. 6A. At this stage,
character C1 is walking. That is, at this time point, the player
has made a motion and the controller 7 has detected the vibration
resulting from this motion. In this regard, the motion of the
player on this occasion is recognized as vibration of weak input
(see FIG. 17 described later).
[0180] FIG. 7A shows the state of C1 at a stage when about 12
seconds have elapsed from the time shown in FIG. 6A. At this stage,
character C1 is running. That is, at this time point, the player
has made a motion stronger than the motion in FIG. 6B, and the
controller 7 has detected the vibration resulting from this strong
motion. In this regard, the motion of the player on this occasion
is recognized as vibration of medium input.
[0181] Further, FIG. 7B shows the state of character C1 at a stage
when about 20 seconds have elapsed from the time shown in FIG. 6A.
At this stage, character C1 is jumping over an obstacle (shown as a
hurdle). That is, at this time point, the player has made a motion
even stronger than the motions in FIG. 6B and FIG. 7A, and the
controller 7 has detected the vibration resulting from this strong
motion. In this regard, the motion of the player on this occasion
is recognized as vibration of strong input. Alternatively, if the
player continues to provide medium input to the mounting base 8
without strongly tapping the mounting base 8, character C1 may be
automatically jumped when character C1 enters the region of the
obstacle (shown as a hurdle) with collision. These respects can be
changed as appropriate based on game contents.
[0182] In this manner, in the game assumed in the embodiment, a
vibration based on the degree of a motion of the player tapping the
mount base 8 (strong, medium, weak input) is reflected in the
motion of character C1 as shown in FIG. 6B to FIG. 7B. Then, the
vibration resulting from the motions of the player are reflected in
the game until the character C1 reaches the goal. In this manner,
the example of the game shown in FIG. 6A to FIG. 7B is a
competitive game based on how quickly the players operate their
characters C1 to reach the goal.
[0183] The present invention can be widely applied also to
generally called "visualizer" games in addition to games bringing
characters into competition as shown in FIG. 6A to FIG. 7B. The
"visualizer" described in this application refers to a program for
dynamically creating a pattern and/or the like on the display
screen in accordance with an operation input signal entered through
the input means provided in the game device 3, a waveform of sound
data, and/or the like. The "visualizer" described in this
application may be decorative software or to display, together with
a pattern and/or the like, scoring of results of counting the
number of times a command is established as described later and/or
the like. The present invention can be applied to a game in which a
variety of special images (including moving images) are displayed
on the monitor 2, for example, when the strength of the player
tapping the mounting base 8, that is, an intensity level of a
detected vibration value, or an intensity level pattern of
vibration values sequentially receiving in time sequence, or a
pattern of rhythm of vibration values sequentially receiving in
time sequence ("tap rhythm" described later) (pattern of vibration
input and rest), matches a command constructed by a combination of
a previously-set pattern or more.
[0184] (Program Structure)
[0185] Next, the structure of control programs (game control
programs) stored in the main memory 33 of the game device 3 will be
described.
[0186] In the present invention, the control program P which is the
control means includes at least a variety of programs shown in FIG.
8. As shown in FIG. 8, the control program P includes a main
control program P0, mounting determination program P1, vibration
start program P2, vibration detection program P3, natural-vibration
value calculation program P4, correction-value calculation program
P5, correction-value operation conversion program P6, associated
vibration setting program P7, vibration pattern determination
program P8, special input command determination program P9, and a
presentation processing program P10. The CPU 30 reads the programs
as appropriate to execute a variety of processing.
[0187] The main control program P0 is a program for exercising
control over the operation of the game system 1, and includes a
communication program for communication with the controller 7.
[0188] The mounting determination program P1 is a program for
confirming that the controller 7 has been mounted on the mounting
base 8 when, at the start of a game, the acceleration sensor 73
receives, for a certain period time, vibration detection signals
(first vibration detection signal) representative of a constant
predetermined value (threshold) (first vibration value) or less for
predetermined time. If the mounting of the controller 7 cannot be
confirmed, a message urging the mounting of the controller 7 can be
displayed on the monitor 2 as appropriate in addition to the
above.
[0189] The vibration start program P2 is a program necessary for
the vibration detection program P3 to detect vibration after
activation of the mounting determination program P1. By activation
of the vibration start program P2, the vibration generation means
(vibrator 74) starts operation, so that the MC 51 can fetch the
vibration detected by the acceleration sensor 73 and the game
device 3 can acquire a measured value of the vibration.
[0190] In the present invention, at an initial stage of a game,
when the controller 7 is mounted on the mounting base 8, it is
determined how much the mounting base 8 sways, that is, a value of
natural vibration of the mounting base 8 is determined. Since the
vibration produced by the vibration generation means (vibrator 74)
mechanically occurs at constant predetermined intensity, the game
device 3 determines how much the mounting base 8 sways on the basis
of the value detected by the acceleration sensor 73 when the
vibration is produced at a constant intensity in the mounting base
8.
[0191] The vibration detection program P3 is a program for
receiving a measured value of the vibration produced by the control
of the vibration start program P2, from the controller 7 and
storing it in the main memory. The vibration detection program P3
enables the game system 1 to detect whether or not vibration is
imposed on the controller 7. In addition, the vibration detection
program P3 is used not only to determine how much the mounting base
8 sways at the initial stage of the game, but also as means for
detecting vibration throughout the entire game.
[0192] The natural-vibration value calculation program P4 is a
program for performing the process of determining a value of the
natural vibration of the mounting base 8, and calculates a
natural-vibration value on the basis of the measured value of
vibration detected in the vibration detection program P3. When
receiving the measured value of the vibration caused by the player
tapping the mounting base 8 in the game, the natural-vibration
value calculated in the natural-vibration value calculation program
P4 is used to correct the measured value. The natural-vibration
value calculation program P4 serves as the natural-vibration value
calculation means.
[0193] The correction-value calculation program P5 is a program for
performing the process of making a correction to the measured value
of the vibration when the vibration detection program P3 acquires
the measured value of the vibration (a second vibration value)
produced by the player tapping the mounting base 8 in the game.
Specifically, adding a correction value to the vibration value in
the mounting base 8 eliminates a need to change (adjust) the
intensity of vibration produced in the mounting base 8 by the
player depending on materials of the mounting base 8. For example,
this produces an advantageous effect that the player is not
required to consciously adjust the tapping strength even when the
material of the mounting base 8 is soft (not-easily vibrating
material) or hard (material easily transmitting vibration).
[0194] The correction-value operation conversion program P6 is a
program for performing the conversion process of the measured
vibration value after being subjected to the correction processing
by the correction-value calculation program P5 in order to use for
the game control. That is, the program performs process for
reflecting the motion (operation) of the player tapping the
mounting base 8 in the game.
[0195] The associated vibration setting program P7 is a program
executing the process of determining an associated vibration
resulting from a tap motion of the player from the measured value
of the vibration transmitted from the controller 7 with a motion of
the player tapping the mounting base 8. The associated vibration
setting program P7 enables reliable acquisition of vibration
accompanying a tap motion of the player in association with the tap
motion. The associated vibration setting program P7 may be provided
as a sub-program of the correction-value operation conversion
program P6.
[0196] The vibration pattern determination program P8 forming part
of vibration pattern determination means includes an intensity
threshold calculation classification program P8a and a tap/rest
determination program P8b.
[0197] The intensity threshold calculation classification program
P8a is a program executing the process of classifying the measured
values of vibration (vibration detection signals) receiving as
operation signals in time sequence, into at least one pattern or
more representative of "strong and weak" vibrations, "strong,
medium, and weak" vibrations or the like according to the intensity
level of the vibration. The intensity threshold calculation
classification program P8a forms part of the input vibration
classification means.
[0198] The tap/rest determination program P8b is a program
executing the process of determining a time interval in which the
vibration detection signal is not received (hereinafter referred to
as a "rest interval") and making a further classification into two
patterns indicative of a time interval in which the vibration
detection signals are received along the time axis in terms of time
sequence (hereinafter referred to as "tap input period") and the
rest period in which the vibration detection signal is not
received. The tap/rest determination program P8b serves as the
tap/rest setting means.
[0199] The special input command determination program 9 is a
program executing the process of determining whether or not a
time-series array of classified patterns in the intensity threshold
calculation classification program P8a or the tap/rest setting
program P8b matches any of a plurality of previously-set special
input commands. If it is determined that the array matches any of a
plurality of types of previously-set special input commands, the
main control program P0 performs the process of executing a
previously-set game control program (game control program based on
vibration level determination) in accordance with the matched
special input command. For example, a moving image of large-scale,
middle-scale or small-scale fireworks continuously set off is
displayed on the monitor 2 in accordance with the matched special
input commands. The special input command determination program P9
serves as the special input command determination means.
[0200] The presentation processing program P10 is activated by
control of the main control program P0, and includes a presentation
image display control program P10a of controlling display of
various presentation images on the monitor 2 and a presentation
sound output processing program P10b of outputting music, effective
sound and voice to the speaker 2a.
[0201] (Game Control)
[0202] Next, game execution control executed by the game system 1
according to the embodiment will be described. FIGS. 9(a) to 11 are
flowcharts illustrating the flow of basic control of game
processing for a game which is controlled by the main control
program P0 stored in the main memory 33 of the game device 3.
[0203] Upon power-up of the game device 3, the CPU 30 of the game
device 3 executes a boot program stored in the boot ROM, not shown,
so as to initialize each unit such as the main memory 33 and the
like. Then, the main memory 33 and the like read the game control
program stored on the optical disc 4 and information on various
presentation image data, various presentation sound data and
previously-set reference data (various data tables and the like),
and then the CPU 30 starts execution of the game control
program.
[0204] First, the outline of the entire control of the game
processing is described in each step in the flowchart illustrated
in FIG. 9A.
[0205] [Outline of Game Control]
[0206] (Step S1)
[0207] Upon start-up of the main control program P0 in the game
control program, a game menu screen as shown in FIG. 9B is
displayed on the monitor 2. The player operates the controller 7 to
select one of games, "game A", "game B" and "game C", from the game
menu displayed on the menu screen. Thereupon, the main control
program P0 displays a welcome screen of the selected game on the
monitor 2, and also activates a program for various
initializations.
[0208] In the initialization processing, the mounting determination
program P1, the vibration start program P2, the vibration detection
program P3 and the natural vibration value calculation program P4
are activated to obtain a natural-vibration value of the mounting
base 8. In the initialization processing, the presentation image
display program P10a displays a presentation initialization screen
on the monitor 2, and outputs presentation music from the speaker
2a. The process of obtaining a natural vibration value of the
mounting base 8 will be described in detail later.
[0209] (Step S2)
[0210] A vibration produced by the motion of the player tapping the
mounting base 8 to play the game is input as a vibration detection
signal (measured value) from the controller 7 for the process of
controlling the game progress (progress main processing). In the
progress main processing, the correction-value calculation program
P5, the correction-value operation conversion program P6 and the
associated vibration setting program P7 execute preprocessing for
reflecting the vibration detection signal of the vibration entered
by the player's operation of tapping the mounting base 8 in the
game. Then, it is determined whether or not the information
obtained through the preprocessing matches effective operation
input information used for the control of game progress and/or a
special input command. If it is determined that it matches the
operation input information and/or the special input command, game
control previously set on an
operation-input-information-and/or-special-input-command basis, for
example, a presentation moving image set on a special input command
basis is displayed on the monitor 2 for a predetermined time or is
continued to be displayed on the monitor 2 on the basis of the
operation input information until it matches the next special input
command. The preprocessing in the progress main processing will be
described in detail later.
[0211] (Step S3)
[0212] It is determined whether or not a game end signal is input
by for example, the player's operation of the controller 7, and if
the game end signal is not input, the flow goes back to the
processing in step S2 to continue the game. On the other hand, if
the game end signal is input, the flow goes to step S4.
[0213] (Step S4)
[0214] The processing of game end presentation is carried out to
end the game. In the presentation processing for game end, for
example, gaming time, the number of times the motion of the player
tapping the mounting base 8 matches an effective special input
command, and the like are displayed on the monitor 2.
[0215] (Process for Obtaining Natural Vibration Value of Mounting
Base)
[0216] Next, in the above-described processing in step S1, the
natural vibration value calculation program P4 calculates a natural
vibration of the mounting base 8. This process will be described in
detail in each step of the flowchart in FIG. 12.
[0217] FIG. 12 illustrates the process of detecting a natural
vibration value in a mounting place (the mounting base 8 in the
embodiment) when the game starts. A vibration value (measured
value) described in the embodiment refers to a total value of
components of acceleration data in the X-, Y- and Z-axis directions
measured by the acceleration sensor 73 (measured values of the
respective X, Y and Z components). Alternatively, a vector value
synthesized from the measured values of the respective X, Y and Z
components may be set as a vibration value. Either case can be
selected in accordance with game contents as appropriate.
[0218] (Step S101) (Step S102)
[0219] At the start of the game, the controller 7 is mounted on the
mounting base 8 and the CPU 30 is set at N=1 and a current maximum
vibration value is cleared (when the main memory 33 stores a
maximum vibration value, this is cleared). The "N" is a variable
used in a pre-specified predetermined number (N) of measurements of
the maximum vibration value.
[0220] (Step S103)
[0221] Next, the CPU 30 activates the vibration start program P2 to
cause the controller 7 to start the vibration operation.
Specifically, the CPU 30 transmits a signal to operate the vibrator
74 via the MC 51 of the controller 7, and the MC 51 of the
controller 7 activates the vibrator 74, so that the controller 7
starts the vibration operation.
[0222] (Step S104)
[0223] Then, in the controller 7, the MC 51 transmits the vibration
of the controller 7 caused by the vibration operation of the
vibrator 74, and a value of vibration measured by the acceleration
sensor 73 as a measure value (vibration value), from the MC 51 via
the radio module 53 to the game device 3 at predetermined time
intervals. In this manner, the CPU 30 acquires the measured value
(vibration value).
[0224] (Step S105)
[0225] Next, the CPU 30 performs the process of comparing and
determining whether or not the acquired current vibration value is
equal to or lager than the maximum vibration value stored in the
main memory 33 as of this time (current). The maximum vibration
value is subjected to the comparison determination processing only
when "N" is 2 or larger. Accordingly, when "N"=1, the determination
in step S105 is affirmation (step S105=YES).
[0226] (Step S106)
[0227] If it is determined at step S105 that the acquired current
vibration value is equal to or larger than the current maximum
vibration value, the CPU 30 stores this current vibration value as
a current maximum vibration value in the main memory 33.
[0228] On the other hand, if it is determined at step S105 that the
acquired current vibration value is less than the current maximum
vibration value, the process in the step S106 is not performed and
the flow goes to step S107.
[0229] (Step S107)
[0230] Next, the CPU 30 determines whether or not the vibration
operation of the controller 7 is in action and also the vibration
operation time is equal to or longer than a specified time (e.g., 5
ms).
[0231] (Step S108)
[0232] If it is determined at step S107 that the vibration
operation of the controller 7 is in action and also the vibration
operation time is equal to or longer than a specified time, the CPU
30 transmits a signal to stop the vibration operation (that is, the
operation of the vibrator 74) to the controller 7.
[0233] (Step S109)
[0234] If the vibration operation of the controller 7 is stopped in
step S108, and, if it is determined at step S107 that the
controller 7 is in the vibration operation and the time period of
the vibration operation is less than the specified time, the CPU
determines whether or not the measurement time to measure a
vibration value is equal to or longer than a previously-set,
predetermined time. If the measurement time is less than the
predetermined time, the flow goes back to step S104 to repeat the
processing after step S104.
[0235] (Step S110)
[0236] If it is determined at step S109 that the measurement time
has reached the predetermined time, the CPU 30 stores the current
maximum vibration value (the maximum vibration value stored in the
main memory 33) as a maximum vibration value obtained in an Nth
measurement, in the main memory 33.
[0237] (Step S111) (Step S112)
[0238] Next, the CPU 30 increments "N" to "N+1", and determines
whether or not "N" is a predetermined value or larger. The
aforementioned processing from step S102 to step S112 is repeated
until "N" reaches the predetermined value.
[0239] (Step S113)
[0240] If it is determined at step S112 that "N" is the
predetermined value or larger, the CPU 30 calculates an average of
"N-2" maximum vibration values of the maximum vibration values
obtained in the N measurements and stored in the main memory 33,
that is, of the "N" maximum vibration values except for the maximum
value and the minimum value, and stores the calculated average as a
unit vibration value (natural vibration value) in the main memory
33.
[0241] (Step S114)
[0242] A correction coefficient of the vibration value which is
stored in the vibration conversion table in correspondence with the
natural vibration values calculated in step S113 is calculated in
reference to a vibration conversion table pre-stored in the main
memory 33, and then stored in the main memory 33. The vibration
conversion table is a data table of experimentally-found
coefficients used to correct vibration values for each natural
vibration value previously measured when the controller 7 is placed
in a variety of mounting places. The correction coefficient is a
value ranging from 0.7 to 1.3.
[0243] By previously calculating a correction coefficient of a
vibration value in this manner, a measured value of vibration in
response to a motion of the player in accordance with the
environment of the mounting place can be reflected in the game
control by using the correction coefficient for correction.
Specifically, if such means for correcting a measured value of
vibration is provided, even when the controller is mounted in a
mounting place where vibration and noise occur without stopping, a
detection of such vibration and noise together with a motion of the
player can be avoided as much as possible.
[0244] The processing of previously calculating the correction
coefficient for vibration values may be carried out by the MC 51 of
the controller 7.
[0245] If vibration is imposed to the controller 7 mounted on the
mounting place, then it is possible to obtain a change in vibration
values according to a hardness (solidity) of a mounting place (for
example, the hardness of the ground as a mounting place, the
hardness of a material of a mounting board, or the like). FIG. 13A
shows a change in vibration value when the controller 7 is mounted
on a hard surface (for example, on an asphalt surface, a steel
plate or the like), while FIG. 13B shows a change in vibration
value when it is mounted on a soft surface (for example, on
cardboard or the like). In FIGS. 13A, 13B, the vertical axis
represents vibration values and the horizontal axis represents
time.
[0246] In this manner, a hardness of the mounting place and/or the
like can be measured from a change of vibration values.
Accordingly, even when the player taps at equal strength, the input
vibration value varies according to properties such as a hardness
and the like of the mounting place on which the controller 7 is
mounted. In the game system according to the embodiment, the
correction-value calculation program P5 is executed. This makes it
possible to previously obtain a correction value for correcting a
vibration value according to the vibration input by the player
tapping the mounting base 8. And then, the vibration provided by
the player during the execution of the actual game can be
identified as an operation input signal. As a result, as long as
the controller 7 can be stably mounted, the player can enjoy games
in accordance with the environment of the mounting place.
[0247] (Progress Main Processing)
[0248] Next, the processing details of the progress main processing
which is the processing at step S2 shown in FIG. 9A will be
described. The progress main processing includes: a process of
operating the controller 7 to measure a vibration produced by the
player tapping the mounting base 8, and then transmitting the
measured vibration value to the game device 3; a process of
correcting the transmitted vibration value and converting it to be
reflected in the game; and a portion of performing game control on
the basis of the converted information.
[0249] FIG. 10 shows the outline of the procedure of the progress
main processing. The outline of the progress main processing will
be described below with reference to FIG. 10.
[0250] (Step S21)
[0251] An input signal representative of vibration produced by the
player tapping the mounting base 8 is converted into information on
operation input by the player, and the information is sequentially
stored in time-series order in the main memory 33. In step S21,
information relating to "rest" described later is also subjected to
the process of conversion into information on operation input by
the player. These processes will be described in detail later, in
which the correction-value calculation program P5, correction-value
operation conversion program P6, associated vibration setting
program P7, vibration pattern determination program P8, special
input command determination program P9 and the like are operated
based on control of the main control program P0. The
above-described "rest" means a motion of the player not tapping the
mounting base 8, that is, a time interval during which the mounting
base 8 is not tapped.
[0252] (Step S22)
[0253] It is determined whether or not some kind of "input signal"
other than the tapping motion is entered via the controller 7 or
the screen on the monitor 2. As a result of the determination, if
there is no entry, the processes in step S23 and step S24 relating
to the progress main processing are not performed, thereby
terminating the progress main processing.
[0254] (Step S23)
[0255] Since the operation signal representative of vibration
produced by the player tapping the mounting base 8 (measured value
of vibration) is input at step S21, the main control program P0
initiates the process of displaying a regular presentation image to
display a previously-set presentation image (which may include a
moving image) on the monitor 2. In the process of displaying a
regular presentation image, for example, the process of displaying
a moving image of small-scale fireworks intermittently set off is
performed as a game control step based on the vibration level
determination.
[0256] (Step S24)
[0257] Regarding operation signals acquired when the player
continuously taps the mounting base 8 sequentially, it is
determined whether or not a time-series array of the operation
input information sequentially stored in the main memory 33 in the
process in step S21 matches any of a plurality of kinds of
previously-set special input commands. As a result of the
determination, if the array matches any of the special input
commands, the process of previously-set game control is performed
on a special-input-command basis. In the process of the game
control, for example, the process of displaying the aforementioned
moving image of large-scale fireworks continuously set off on the
monitor 2 is performed as a game control step based on the
vibration level determination.
[0258] In the aforementioned process in step S1, depending on a
game name selected from the game menu screen by the player, the
process in step S24 based on the special input command described
above may possibly not be included. For this reason, in the process
in step S24 in a program for execution of such a game, for example,
every time vibration is acquired when the player taps the mounting
base 8 one time, an intensity level of the vibration value is
determined so that the game control is performed according to the
intensity level.
[0259] For example, if the intensity level of the vibration
resulting from a tap motion is determined to be "strong", the
process of displaying the moving image of large-scale fireworks
continuously set off on the monitor 2 is not performed. If the
intensity level is determined to be "weak", the process of
displaying the moving image of a single small-scale firework set
off on the monitor 2 is performed.
[0260] FIGS. 14 and 15 show processing flows when, in step S21 of
the progress main processing, a vibration value detected by the
controller 7 during game execution is subjected to correction
processing and conversion processing by the correction-value
calculation program P5, the correction-value operation conversion
program P6 and the associated vibration setting program P7. The
process for correcting and converting the vibration value will be
described below with reference to FIGS. 14 and 15.
[0261] (Correction Processing for Vibration Value)
[0262] FIG. 14 shows an example of the correction processing
performed on a vibration value by the correction-value calculation
program P5. The processing procedure will be described below on a
step-by-step basis.
[0263] (Step S201) (Step S202)
[0264] First, the CPU 30 calculates a vibration ratio R based on a
measured vibration value. As shown in FIG. 14, the vibration ratio
R is calculated by dividing "a value calculated by subtracting a
mean vibration value from a measured vibration value" by "a value
calculated by subtracting a mean vibration value from a predicted
maximum vibration value".
[0265] In this connection, the mean vibration value refers to a
vibration value measured when the controller 7 is maintained in a
still state on the mounting base 8, which will be described in
detail later. The predicted maximum vibration value refers to a
maximum vibration value admissible as an operation input signal
generated by a tap motion of the player during game execution in
the mounting place (mounting base 8) measured by the processing in
FIG. 12, which is calculated in accordance with an environment of
the mounting place measured by use of a vibrating function.
[0266] The measured vibration value is multiplied by a correction
coefficient obtained from the aforementioned natural vibration
value to calculate a vibration value, and the calculated vibration
value is employed as required.
[0267] (Step S203)
[0268] Next, the CPU 30 determines whether or not the vibration
ratio R calculated in step S202 is equal to or less than a
vibration ratio threshold R.sub.0. A predetermined value (e.g.,
0.5) is previously determined for the vibration ratio threshold
R.sub.0.
[0269] (Step S204)
[0270] If it is determined at step S203 that the vibration ratio R
is equal to or less than the vibration ratio threshold R.sub.0, the
CPU 30 calculates a conversion value from the equation shown in
FIG. 14. That is, when the vibration ratio R is equal to or less
than the vibration ratio threshold R.sub.0, data processing using
logarithmic conversion is performed. As a result, even when a
detected vibration value is a minimum value, it can be reflected as
a motion of the player in the game.
[0271] Symbol "A.sub.0" in FIG. 14 refers to a value converted from
the vibration ratio threshold R.sub.0 (a converted value in the
vibration ratio threshold). A predetermined value (e.g., 0.6) is
previously determined as the "A.sub.0".
[0272] (step S205)
[0273] On the other hand, if it is determined at step S203 that the
vibration ratio R is not equal to or less than the vibration ratio
threshold R.sub.0, the CPU 30 calculates a conversion value from
the equation shown in FIG. 14. That is, when the vibration ratio R
exceeds the vibration ratio threshold R.sub.0, data processing
without logarithmic conversion is performed.
[0274] From this, the vibration ratio threshold R.sub.0 can be
described as a reference value (threshold) for determining whether
or not the vibration value is a minimum value.
[0275] As described at step S202, the vibration ratio R is
calculated based on the mean vibration value. FIG. 15 is a
flowchart showing a method of calculating a mean vibration value.
As described earlier, the mean vibration value is a vibration value
obtained when the controller 7 is placed on the mounting base 8 and
in the still state. The procedure of calculating the means
vibration value will be described below with reference to FIG. 15.
Desirably, a program for calculating the mean vibration value is
included as a sub-program in the aforementioned
natural-vibration-value calculation program P4, and when
calculating a natural vibration value, the mean vibration value is
calculated.
[0276] (Procedure of Calculating Mean Vibration Value)
[0277] Next, the aforementioned procedure for calculating a means
vibration value will be described with reference to the flowchart
in FIG. 15.
[0278] (Step S301) (Step S302)
[0279] First, when the main memory 33 already stores data on
vibration values, the CPU 30 clears the data (initialization) and
acquires a vibration value, measured by the acceleration sensor 73
in the controller 7, as transmission data and stores it in the main
memory 33.
[0280] (Step S303)
[0281] Next, the CPU 30 determines whether or not the number of
measurements of vibration values is equal to or larger than a
previously-set, predetermined number of measurements. In this
connection, the processes after step S302 are repeated until the
number of measurements reaches the predetermined number.
[0282] (Step S304) (Step S305)
[0283] If it is determined at step S303 that the number of
measurements of vibration values is equal to or larger than a
previously-set, predetermined number of measurements, the CPU 30
calculates a mean value of the vibration values stored in the main
memory 33 in step S302 to step S303, and defines it as a mean
vibration value. A maximum vibration value of the stored vibration
values is set as a maximum vibration value.
[0284] (Step S306)
[0285] Next, the CPU 30 subtracts the mean vibration value
calculated in step S304 from the maximum vibration value determined
in step S305, and then determines whether or not the value (error)
obtained by this subtraction is equal to or less than a certain
value. The "certain value" described here is desirably set to, for
example, a value capable of approximating the error between the
maximum vibration value and the mean vibration value to a minimum
difference (in the embodiment, it is set to 0.001). As a result,
the closer to zero the certain value becomes, the higher the
accuracy of the mean vibration value would be.
[0286] (Step S307)
[0287] If it is determined at step S306 that the error is equal to
or less than the certain value, the CPU 30 stores the mean
vibration value calculated in step S304 as a mean vibration value
in the mounting base 8 into the main memory 33.
[0288] On the other hand, if the determination in step S306 is not
satisfied, the flow goes back to step S301 to repeat the processes
from step S301 to step S306.
[0289] (Conversion Processing for Vibration Value)
[0290] A description will be given of the process of converting a
vibration value and the process of detecting noise vibration which
are performed by the correction-value operation conversion program
P6 when a motion of the player tapping the mounting base 8 is
received after the game starts. FIG. 16 shows an example of the
processing procedure of the correction-value operation conversion
program P6. The processing contents will be described below in a
processing step basis with reference to FIG. 16.
[0291] (Step S401)
[0292] First, the CPU 30 sets "M" to zero. The "M" is a correction
type flag used for correction of a vibration value, which is a flag
for holding information on determination results of the following
processes in the processes.
[0293] (Step S402) (Step S403)
[0294] Next, the CPU 30 acquires, as transmission data, a vibration
value measured by the acceleration sensor 73 in the controller 7,
and calculates the rate of change of acceleration (hereinafter
uniformly referred to as the "acceleration change rate"). Four-time
measurements are made in a frame (e.g., 1/60 seconds) in each of
data components of accelerations in the X-, Y- and Z-axis
directions measured by the acceleration sensor 73, and the
"acceleration change rate" refers to a value of the sum of
differences each of which is between a value in each measurement
and a value of the past measurement. A value with consideration
given to sign, rather than an absolute value, is employed for this
difference. Calculating the difference makes it possible to
precisely detect an operation input signal generated upon a motion
of one-time tap of the player, as one-time tap.
[0295] In this regard, "past" described here refers to, if
four-time measurements are made in a frame, the first measurement
when the second measurement is made, and the second measurement
when the third measurement is made.
[0296] (Step S404)
[0297] Next, the CPU 30 stores a maximum value of the acceleration
change rate measured during one frame (for example, 1/60 seconds)
of the acceleration change rates calculated in step S403, as a
frame acceleration change rate in the main memory 33.
[0298] (Step S405) (Step S406)
[0299] Next, the CPU 30 turns once OFF a vibration trigger flag
(hereinafter simply referred to as a "vibration trigger") (for
example, stores "0"), and calculates a difference D between the
acceleration change rates in frames from an equation shown in FIG.
16. The difference D is calculated by subtracting the acceleration
change rate in the frame immediately before a current frame
(described as "acceleration change rate in the preceding frame" in
FIG. 16) from the acceleration change rate in the current frame.
The vibration trigger is a flag located in the main memory 33 in
order to store information representing input of vibration
resulting from a tap motion of the player, that is, start-up of a
change in vibration value.
[0300] (Step S407)
[0301] The difference D is calculated in step S406, whereupon the
CPU 30 determines whether or not "M" is equal to zero (M=0).
[0302] (Step S408)
[0303] If it is determined at step S407 that M=0, the CPU 30
determines whether or not the difference D is larger than (exceeds)
a predetermined value (first predetermined value).
[0304] (Step S409) (Step S410)
[0305] If it is determined at step S408 that the difference D is
larger than the predetermined value, the CPU 30 sets M=1, then
determines that a vibration change starts up and therefore turns
the vibration trigger ON (stores "1"). The CPU 30 also stores the
time value at this time. Further, the CPU 30 stores in the main
memory 33 a maximum acceleration change rate when the frame
acceleration change rate in a frame after the vibration trigger has
been turned ON is increased, as an acceleration change rate
corresponding to the process of turning the vibration trigger ON.
Then, the flow goes back to step S402. If it is determined at step
S408 that the difference D is equal to or less than the
predetermined value, the processes in step S409 to step S410 are
not performed and the flow goes back to step S402.
[0306] In this manner, a vibration trigger is used for
determinations, so that, when the vibration trigger is ON, the
aforementioned maximum acceleration change rate is obtained from
the vibration values received in sequence. Then, the next
re-vibration acceptance time (time until re-measurement) is set
according to the magnitude of the maximum acceleration change rate.
This makes it possible to cancel a signal (even if it is a value
determined to be stronger than the operation input signal), except
for a signal used as an operation input signal, without recognizing
it as an operation input signal.
[0307] (Step S411)
[0308] On the other hand, if it is determined at step S407 that M
is not equal to zero, the CPU 30 determines whether or not M=1.
[0309] (Step S412)
[0310] If it is determined at step S411 that M=1, the CPU 30
determines whether or not the difference D is equal to or less than
zero.
[0311] (Step S413) (Step S414)
[0312] If it is determined as step S412 that the difference D is
zero or less, the CPU 30 sets M=2 and also determines the
re-vibration acceptance time. The re-vibration acceptance time is
determined according to the magnitude of the acceleration change
rate in the preceding frame. Then, the flow goes back to step
S402.
[0313] On the other hand, if it is determined at step S412 that the
difference D exceeds zero, the processes in step S413 and step S414
are not performed and the flow goes back to step S402.
[0314] (Step S415)
[0315] If it is determined at step S411 that M is not equal to 1,
the CPU 30 determines whether or not the difference D is zero or
larger.
[0316] (Step S416)
[0317] If it is determined at step S415 that the difference D is
zero or larger, in this event, since the acceleration change rate
in the current frame is greater than the acceleration change rate
in the preceding frame, there is a high possibility that a motion
of a new player is detected. Then, the CPU 30 determines whether or
not the re-vibration acceptance time has elapsed and the difference
D is equal to or greater than the predetermined value.
[0318] (Step S417) (Step S418)
[0319] If it is determined at step S416 that the re-vibration
acceptance time has elapsed and the difference D is equal to or
greater than the predetermined value, the CPU 30 sets M=1 and turns
the vibration trigger ON (stores "1"). The CPU 30 also stores a
time value at this time. Further, as in the case of step S410, the
CPU 30 stores a maximum acceleration change rate when the frame
acceleration change rate in a frame after the vibration trigger has
been turned ON is increased, as an acceleration change rate
corresponding to the process of turning the vibration trigger ON,
in the main memory 33. Then, the flow goes back to step S402.
[0320] (Step S419)
[0321] On the other hand, if it is determined at step 416 that the
re-vibration acceptance time has not elapsed or the difference D is
not equal to or greater than the predetermined value, the CPU 30
sets the counter of the re-vibration acceptance time at zero and
the flow returns to step S402.
[0322] (Step S420)
[0323] On the other hand, if it is determined at step S415 that the
difference D is less than zero, the CPU 30 determines whether or
not the difference D is equal to or less than a predetermined
value.
[0324] (Step S421)
[0325] If it is determined at step S420 that the difference D is
equal to or less than the predetermined value, the CPU 30 sets M=0
and the flow returns to step S402.
[0326] If it is determined at step S420 that the difference D
exceeds the predetermined value, the process in step S421 is not
performed and the flow returns to step S402
[0327] FIGS. 17 to 19 are graphs showing a change when the
vibration value is actually corrected by the aforementioned
procedure shown in FIG. 16. FIG. 17 shows the change when a motion
of the player is detected as weak input. Likewise, FIG. 18 shows
the change when a motion of the player is detected as medium input,
while FIG. 19 shows the change when one-time motion of the player
is detected as strong input. The solid line extending downward in
FIGS. 17 to 19 shows that a motion of the player is detected as a
vibration trigger, the dotted line shows the acceleration change
rate, and the two-dot chain line shows the maximum acceleration
change rate in a frame.
[0328] For example, each of the gray and white divisions in FIG. 19
corresponds to a frame. After a vibration trigger has been turned
ON, the maximum acceleration change rate decreases in the 4.sup.th
frame after the vibration trigger has been turned ON, and the
maximum acceleration change rate increases in the 5.sup.th frame
after the vibration trigger has been turned ON. However, the
maximum acceleration change rate in the 5.sup.th frame is not
connected with the vibration trigger. By doing so, a motion of the
player can be precisely detected as a vibration trigger.
[0329] The aforementioned processes in steps S407 to S419 and steps
S420 to S21 correspond to the processing performed by the
associated vibration setting program P7. In the associated
vibration setting program P7, after vibration generated upon a
motion of one-time tap of the player is detected, based on the
detected vibration value, vibration detected after the one-time tap
motion is set as noise which is associated vibration associated
with the one-time tap motion. This setting avoids the event in
which, although the motion of the player is received just one time,
a reverberation (aftershock, relapse) of the one-time motion may be
detected as another motion. That is, a detection of one-time motion
of the player as a plurality of tap motions is eliminated, thus
improving precision of detection of a tap motion of the player.
[0330] Next, a description will be given of processing performed by
the vibration pattern determination program P8 in the process in
step S21 in the progress main processing shown in FIG. 10. The
vibration pattern determination program P8 includes the intensity
threshold calculation classification program P8a and the tap/rest
determination program P8b as shown in FIG. 8. The main control
program P0 controls the execution of those programs in response to
the game contents of the game A, B, C which has been selected from
the menu screen by the player in the aforementioned process of step
S1.
[0331] As described earlier, upon determination that a measured
value of vibration acquired from the controller 7 is a measured
value of vibration generated by the player tapping the mounting
base 8, the game device 3 performs a process for performing
processes for correcting and converting the acquired vibration
value by the correction-value calculation program P5, the
correction-value operation conversion program 26 and the associated
vibration setting program P7, to obtain information on a vibration
value corresponding to each tap motion of the player and
information used for game control (hereinafter referred to as the
"tap operation input information").
[0332] As a program for performing the process of obtaining the tap
operation input information, the aforementioned intensity threshold
calculation classification program P8a and the tap/rest
determination program P8b are provided.
[0333] The intensity threshold calculation classification program
P8a is a program performing a process for obtaining information
required to be reflected in the game control, from the tap
operation input information which is obtained by performing the
above-described process of sequentially converting the measured
values of vibration sequentially received in time sequence. In
order to obtain the information required to be reflected in the
game control, the tap operation input information is processed to
be classified by intensity levels such as into two "strong, weak"
levels, three "strong, medium, weak" levels, or the like. That is,
the tap operation input information on vibration in relation to
each tap generated every time the player taps the mounting base 8
is processed to be classified in any of patterns each including two
or more levels of intensity (intensity level pattern) in accordance
with a strength varying depending on various situations when the
player taps the mounting base 8 (the degree of strength to tap,
times of a day, mental condition and the like) and on attribution
of a player himself (small child, child, adult, or the like).
[0334] (Process for Determining Intensity Level Pattern)
[0335] FIG. 20 is a flowchart showing an example of the procedure
of the intensity threshold calculation classification program P8a
performing a process of classifying the tap operation input
information relating to each tap generated every time the player
taps the mounting base 8 to play the game, in any of two or more
levels in accordance with the intensity. The process procedure of
the intensity threshold calculation classification program P8a will
be described below with reference to FIG. 20. The intensity
threshold calculation classification program P8a is executed at
predetermined time intervals under the control of the main control
program P0.
[0336] (Step S501)
[0337] The tap operation input information relating to each tap
occurring every time the player taps the mounting base 8 to play
the game is stored in an archive data storage area of the main
memory 33 under the control of the main control program P0. At step
S501, a count storage area, which is defined for counting the
number (R) of tap operation input information stored in the archive
data storage area, is initialized to "zero".
[0338] (Step S502)
[0339] It is determined whether or not vibration by operation of a
player tapping the mounting base 8 to play the game is input to the
game device 3, that is, the aforementioned vibration trigger is
"ON". As a result of this determination process, if "1" (=ON) is
stored in the "vibration trigger", the flow goes to the next step
S503, but if "0" (=OFF) is stored, the flow goes back to step S502.
The processes after step S502 are executed at predetermined time
intervals.
[0340] (Step S503)
[0341] In the aforementioned process in step S410 or step S418
shown in FIG. 16, a process is performed for determining the
acceleration change rate in the frame after the "vibration trigger"
has been turned ON as the magnitude (E) of the current vibration
value input in response to one-time tap operation of the player at
this time. Then, the magnitude (E) of the current vibration value
is once stored in the main memory 33.
[0342] (Step S504)
[0343] It is determined whether or not the number of counts R
exceeds a previously-set upper limit (maximum number of stored
intensities). As a result of the determination process, if it is
determined that it does not exceed the upper limit, the flow goes
to step S506, and if it is determined that it exceeds the upper
limit, the flow goes to step S505. The upper limit may be set in a
range from about 7 to about 15 in order to grasp a habit of the tap
motion of the player.
[0344] (Step S505)
[0345] A process is performed for deleting the magnitude (E) of the
oldest vibration value in time sequence in the archive data storage
area defined in the main memory 33 for sequentially storing the
magnitudes (E) of current vibration values. Then, the subtraction
of 1 from the number of counts R is performed, and then the flow
goes to step S506.
[0346] (Step S506)
[0347] The magnitudes (E) of the current vibration values once
stored in the main memory 33 in step S503 are stored in time-series
order in the archive data storage area defined in the main memory
33. Then, an addition of "1" to the number of counts (R) is
performed.
[0348] (Step S507)
[0349] It is determined whether or not the number of counts (R) is
less than a previously-set minimum computationally effective value
R0. As a result of the determination process, if R>R0, the flow
goes to step S508, and if it is determined that R is equal to or
less than R0, the flow goes to step S514. The value of minimum
computationally effective value R0 is set to any value of "3" or
"4" or greater.
[0350] (Step S508)
[0351] Regarding the magnitudes (E) of current vibration values
sequentially stored in the archive data storage area, a median (C)
of the magnitudes (E) is calculated and stored in the main memory
33.
[0352] (Step S509)
[0353] Regarding the magnitudes (E) of vibration values
sequentially stored in the archive data storage area, a mean value
(U) larger than the median (C) calculated in step S508, and a mean
value (L) smaller than the median (C) are each calculated and
stored in the main memory 33.
[0354] (Step S510)
[0355] Assuming that a median (C) of the total is "0.5", a mean
value (U) is "0.75" which is a median equal to or larger than the
median (C), a threshold for determining "medium, strong" levels of
vibration is "07", and similarly a threshold for determining "weak,
medium" levels of vibration is "0.3". In the game control,
thresholds Y1 and Y2 are calculated for classifying vibration into
"strong, medium, weak" levels.
[0356] In step S510, the threshold Y1, which becomes "0.5" or
larger when the median (C) of the total is assumed to be "0.5", is
calculated from the following equation 1 by proportional
distribution.
07.5-0.5:(0.7-0.5)=mean value(U)-median(C):Y1-median(C) (1)
[0357] The threshold Y1 is a threshold for classifying vibration
into "medium, strong" levels, in which, for example, when the
vibration value exceeds the threshold Y1, the vibration is
determined to be in a "strong level", and when it is equal to or
less than the threshold Y1, the vibration is determined to be in a
"medium level".
[0358] (Step S511)
[0359] In step S511, the threshold Y2, which becomes "0.5" or lower
when the median (C) of the total is assumed to be "0.5", is
calculated from the following equation (2) by proportional
distribution.
0.50-0.25:(0.5-0.3)=median(C)-mean value(L):median(C)-Y2 (2)
[0360] The threshold Y2 is a threshold for classifying vibration
into "weak, medium" levels, in which, for example, when the
vibration value exceeds the threshold Y2, the vibration is
determined to be in a "medium level", and when it is equal to or
less than the threshold Y2, the vibration is determined to be in a
"weak level".
[0361] (Step S512)
[0362] Referring to the thresholds Y1 and Y2 calculated from
equations (1) and (2), it is determined which level of the "strong,
medium, weak" pattern the magnitude (E) of the current vibration
value corresponds to. For the determination process, for example,
the following process is performed.
[0363] (1) When the magnitude (E) of the current vibration value
exceeds the threshold Y1, the magnitude (E) of the current
vibration value is determined to be in a "strong" level in the
"strong, medium, weak" pattern.
[0364] (2) When the magnitude (E) of the current vibration value is
the threshold Y1 or lower and exceeds the threshold Y2, the
magnitude (E) of the current vibration value is determined to be in
a "medium" level in the "strong, medium, weak" pattern.
[0365] (3) When the magnitude (E) of the current vibration value is
lower than the threshold Y2, the magnitude (E) of the current
vibration value is determined to be in a "weak" level in the
"strong, medium, weak" pattern.
[0366] The flow goes to step S514 after the termination of the
process at step S512.
[0367] (Step S513)
[0368] It is determined which range the magnitude (E) of the
current vibration value is included in by comparison with a
tentative threshold "0.7" for determining the "medium, strong"
levels of the vibration and a tentative threshold "0.3" for
determining the "weak, medium" levels of the vibration. It is
determined which level in the "strong, medium, weak" pattern the
magnitude (E) of the current vibration value corresponds to. In the
determination process, for example, the following process is
performed.
[0369] (1) When the magnitude (E) of the current vibration value
exceeds "0.7", the magnitude (E) of the current vibration value is
determined to be in a "strong" level in the "strong, medium, weak"
pattern.
[0370] (2) When the magnitude (E) of the current vibration value is
the threshold "0.7" or lower and exceeds the threshold "0.3", the
magnitude (E) of the current vibration value is determined to be in
a "medium" level in the "strong, medium, weak" pattern.
[0371] (3) When the magnitude (E) of the current vibration value is
lower than "0.3", the magnitude (E) of the current vibration value
is determined to be in a "weak" level in the "strong, medium, weak"
pattern.
[0372] The flow goes to step S514 after the termination of the
process at step S513.
[0373] (Step S514)
[0374] The information on levels of the "strong, medium, weak"
pattern determined in the process of step S512 or step S513 is
stored in magnitude type archive memory generated in the main
memory 33. Then, information, indicating that an input value, which
is determined based on the information on levels in a pattern
stored in the magnitude type archive memory, corresponds to which
value of the pattern (to the "weak" level, the "medium" level or
the "strong" level), is stored in a command determination table in
time-series order.
[0375] The execution of the above-described processes in step S501
to step S514 provides information relating to a level pattern in
which vibration generated every time the player taps the mounting
base 8 one time to play the game is classified into any one of
"strong, medium, weak" level patterns. Information determined based
on the provided level pattern is sequentially stored in time-series
order in the command determination table in the main memory 33. The
procedure of a process for storing a "strong, medium or weak" level
pattern in the command determination table is described in steps
S24a to S24c which will be described later.
[0376] (Process for Command Determination)
[0377] Next, the procedure of the "command determination process"
which is the process in step S24 shown in FIG. 10 will be described
with reference to the flowchart in FIG. 11. The command
determination process is executed by the special input command
determination program P9.
[0378] (Step S24a) (Step S24b)
[0379] It is determined whether or not the number of "strong,
medium, weak" level patterns stored in the aforementioned command
determination table reaches an upper limit. The upper limit is set,
for example at an appropriate value from about "7" to about "15".
As a result of this determination process, if it is determined that
it reaches the upper limit, the flow goes to step S24b to perform a
process of deleting oldest information in time-series order from
the information relating to the "strong, medium, weak" level
patterns stored in the command determination table in order to
shift (relocate) in time-series order information stored in the
command determination table. On the other hand, if it is determined
that it does not reach the upper limit, the flow goes to step
S24c.
[0380] (Step S24c)
[0381] The information on the levels of the "strong, medium, weak"
pattern determined in the process of step S512 or step S513 is
stored in the command determination table. Any one piece of the
information on the "strong, medium, weak" level pattern of
vibration corresponding to a tap motion of the player every time
the player taps the mounting base 8 to play the game is stored in
time-series order in the command process table. FIG. 22A is a table
illustrating an example of data structure of the command
determination table (TC1). The command determination table (TC1)
shown in FIG. 22A shows an example that the upper limit of the
number of stored pieces of information on the "strong, medium,
weak" level pattern is set at 10, in which three level patterns are
stored at this moment. In FIG. 22A, the larger the number in
storage order, the older the information relating to the "strong,
medium, weak" level pattern in time sequence.
[0382] (Step S24d)
[0383] It is determined whether or not, referring to the special
input command table, the array in time series order (array in
chronological order) of the information relating to the "strong,
medium, weak" level pattern stored in the command determination
table (TC1) matches any one of special input commands
pre-registered in the special input command table. That is, it is
determined whether or not, when the gaming machine 3 sequentially
acquires vibrations generated by motions of the player continuously
tapping the mounting base 8 a plurality of times, the vibration is
established as a command (special input command) for controlling
the game. As a result of the determination process, if it matches,
the flow goes to step S24e, and if it does not match, this command
determination process is terminated.
[0384] The special input command refers to a plurality of control
commands including a combination of one or more patterns previously
set for executing the game control. If an array of information
sequentially stored in time series order in the command
determination table, of the information relating to a plurality of
vibration values input, matches a predetermined control command,
the array is determined to be input as a special input command.
Then, for each special input command, for example, the main control
program P0 performs a process of displaying a previously-set unique
image on the monitor 2. FIG. 23A shows an example of the data
structure of a previously-set special input command table (TT1) for
executing game control for each type of previously-set special
input commands.
[0385] The special input command table (TT1) shown in FIG. 23A is a
data table in which, based on identification information on each of
types of previously-set special input commands, information
including array of a plurality of pieces of information relating to
the aforementioned "strong, medium, weak" level pattern showing
each of the special input commands, and a command execution program
name (start address of a program) required for executing the game
control for each special input command are stored.
[0386] (Step S24e)
[0387] Since it is determined at step S24d that the motion of the
player continuously tapping the mounting base 8 multiple times is
established as a special input command for controlling the game,
the main control program P0 performs a process of executing the
program of the command execution program name registered in the
special input command table (TT1) in accordance with the
established special command. For example, if it is determined that
the array in time series order of a "strong, medium, weak" level
pattern corresponding to a motion of the player continuously
tapping the mounting base 8 multiple times is made up of "strong",
"strong", "strong", "weak" (identification information of the
special input command is "02"), the main control program P0
executes a program for a "large-scale firework display" shown in
the special input command table (TT1). As a result, a moving image
of the large-scale firework display and the sound effects are
output from the monitor 2.
[0388] At this stage, for the purpose of notifying the player which
array the special input command is established by, insofar as the
special input command is established, the established special input
command may be displayed using diagrams, characters and the like on
the monitor 2. Implementation of such control makes it possible for
the player to look at a desired image if information on a vibration
value corresponding to a tap motion of the player matches a special
input command.
[0389] (Step S24f)
[0390] The stored contents of the command determination table TC1
is cleared (reset), followed by termination of the command
determination process. In this manner, if the player continuously
taps the mounting base 8, the processes in step S24a to step S24f
are repeatedly executed.
[0391] The aforementioned special input command table (TT1) is
adapted to be employed for, for example, game B in the menu of
games executed by the game device 3 shown in FIG. 9B.
[0392] (Example of Game Control Allowing for Tap Rhythm)
[0393] Next, a description will be given of an embodiment in which,
when the player continuously taps the mounting base 8, his "tap
rhythm" is determined, and if the "determined tap rhythm" matches a
previously-set special input command, previously-set game control
is performed in accordance with the matched special input command.
The embodiment comprises means for performing the previously-set
game control in accordance with the matched special input
command.
[0394] The determination of the "tap rhythm" generated when the
player taps the mounting base 8 can be implemented by separating a
time period during which vibration generated by tapping the
mounting base 8 (vibration detection signal) is input to the game
device 3 (hereinafter referred to as a "tap input period") and a
time period during which the vibration detection signal is not
input (hereinafter referred to as a "rest period") in terms of the
elapsed time axis in time sequence. The "tap input period" and the
"rest period" forming the "tap rhythm" are varied in length by
various situations when the player taps the mounting base 8 (the
degree of strength to tap, times of a day, mental condition and the
like) and on attribution of a player himself (small child, child,
adult, or the like). Accordingly, for the determination of "tap
rhythm", if a determination process which prevents, in particular,
the determination of the "rest period" from being affected as much
as possible by those situations and attribution is adopted, it is
conceivable that accurate determination of the "rest period" is
achieved.
[0395] The embodiment according to the present invention comprises
means for accurately determining the "rest period" in accordance
with the procedure shown in FIG. 21.
[0396] The method of determining the "rest period" will be
described below with reference to the flowchart in FIG. 21. The
process of determining the "rest period" is executed by the
tap/rest command determination program P9a shown in FIG. 8.
[0397] (step S601)
[0398] As initialization processing, "zero" is stored in a count
area defined in the main memory 33 in order to count number (I)
which stores "S" ((current time)-(time of the preceding tap))
described later. Then, in the determination process, for the
purpose of storing the "tap input period" or the "rest period"
which is the determination result, "zero" representative of the
"rest period" is stored ("OFF" illustrated in FIG. 21) in a
tap-rest flag ("FLAG" illustrated in FIG. 21) generated in the main
memory 33.
[0399] Upon FLAG turning ON, the "tap rhythm" input after FLAG has
been turned ON is recognized as a command (special input command).
Accordingly, if it is determined that the rest period is longer
than a certain set time, FLAG is turned OFF, so that the "tap
rhythm" input at an interval which is unrecognizable as a command
is not recognized as a command, which will be described later.
[0400] (Step S602)
[0401] The same process as that in step S502 is executed.
Specifically, it is determined whether or not, because the player
has operated by tapping the mounting base 8 to play the game, the
measured value of vibration acquired from the controller 7 is input
as an operation signal to the game device 3. For this
determination, for example, it is determined whether or not the
stored contents of the "vibration trigger" processed in step S405,
S410 or S418 showing the processing of the correction-value
operation program P6 shown in FIG. 16 is ON ("1").
[0402] As a result of the determination process, if "1" is stored
in the "vibration trigger", the flow goes to the next step S603,
and if "0" is stored, the flow goes to step S611. The main control
program P0 controls such that the processes after step S602 are
executed at predetermined time intervals.
[0403] (Step S603) (Step S604)
[0404] It is determined whether or not "1" representative of "ON"
is stored in the tap/rest flag. If "1" is not stored, the process
of storing "1" in the tap/rest flag again is performed. Then the
flow goes back to step 602. Then, the process in step S602 is
executed after the elapse of a predetermined time.
[0405] (Step S605)
[0406] The process "S=(current time)-(time of the preceding tap) is
performed. The value of S is once stored in the main memory 33. The
"S" means a difference (tap interval) between current time (time
value) and a time value of the preceding tap. The time of the
preceding tap reference to a time value when a newest vibration
trigger with going back from the current time in time sequence is
turned ON.
[0407] (Step S606) (Step S607)
[0408] It is determined whether or not the number of counts (I)
exceeds a previously-set maximum number (upper limit). Note that
"I" means the number of tap intervals stored in the interval
storage memory for preserving the input interval time. As a result
of the determination process, if it is determined that "I" exceeds
the upper limit, the flow goes to step S607 to delete the oldest
time from the interval storage memory. If not exceeding, the flow
goes to step S608.
[0409] As the upper limit of the number of counts (I), a value of
around "2" or in a range from about "2" to about "5" is set. The
upper limit is "2" or "2" or larger, and if a value closer to "2"
is used, the number of counts (I) can be determined by newest tap
rhythm generated by a motion of the player tapping the mounting
base 8. The number of counts (I) is a value necessary for the rest
determination time which is the base time for determining whether
or not FLAG is turned OFF after input.
[0410] (Step S607)
[0411] A process is performed for deleting the oldest S in time
sequence in the preserved data storage area defined in the main
memory 33 for sequentially storing the values of S calculated in
step S605. Then, the subtraction of "1" from the number of counts I
is performed, and then the flow goes to step S608.
[0412] (Step S608)
[0413] The value of S calculated by the process in step S605 is
stored in the preserved data storage area defined in the main
memory 33. A process is performed for storing the values of S in
time sequence order in the preserved data storage area. The
addition of "1" to the number of counts (I) is performed.
[0414] (Step S609)
[0415] It is determined that the tap/rest flag is "ON", that is, a
tap signal is input (the measured value detected by the accelerator
sensor 73 is a value indicating that the player has tapped), so
that "2" representative of "tap period" is stored.
[0416] (Step S610)
[0417] The information stored in the tap/rest flag is stored in
time series order in the command determination table (TC2)
constructed in the main memory 33. FIG. 22B shows an example of
data structure of the command determination table TC2. Information
relating to the tap/rest flag, "02 (tap input period)", "02 (tap
input period)", and "01 (rest period)", are stored in time sequence
order (in reverse chronological order) in the command determination
table (TC2) shown in FIG. 2B.
[0418] (Step S611)
[0419] It is determined whether or not "2" representative of "ON"
is stored in the tap/rest flag. If "2" is stored, the flow goes to
step S612. If "1" representative of "OFF" is stored, the flow goes
to step S619.
[0420] (Step S612) (Step S613)
[0421] It is determined whether or not the number of counts (I) is
larger than "zero", that is, a value of S is stored in the
preserved data storage area. As a result of the determination, if
it is determined that the number of counts (I) is zero, the flow
goes to step S613 to store a previously-set rest determination time
(T0) in an area defined for storing a rest determination time (T)
in the main memory 33. Then, the flow goes to step S616. The rest
determination time (T0) is a value assumed as a time interval
between regular tap motions of the player, that is, a time acting
as a criterion for determined whether or not to turn FLAG OFF after
tap input (after a tap input period has been determined). A value
of, for example, about 0.3 seconds to about 0.5 seconds is set as
the rest determination time (T0).
[0422] (Step S614)
[0423] A mean value (A) of differences between all the time values
(S) stored in the preserved data storage area and the rest
determination times (T0) is calculated and stored in the main
memory 33.
[0424] (Step S615)
[0425] The following equation (3) is calculated to obtain a value
of the rest determination time (T).
T=rest determination time(T0)-A.times.(rest determination
correction value) (3)
[0426] The aforementioned "A" is a value calculated at step S614.
The "rest determination correction value" is a time value for
adjustment previously set for determining whether or not the time
axis is in the rest period.
[0427] Instead of the aforementioned Equation (3), "T=A.times.(rest
determination correction value)" may be used. When the mean value
(A) of the differences between all the newest time values (S)
stored in the preserved data storage area and the rest
determination time (T0) is assumed as (A1), the following equation
may be used.
T=rest determination time(T0)-A1.times.(rest determination
correction value)
[0428] (Step S616)
[0429] The process, Sa=(current time)-(time of the preceding tap),
is performed, and then the value of Sa is once stored in the main
memory 33.
[0430] (Step S617)
[0431] It is determined whether or not Sa>T holds. As a result
of the determination, if Sa>T does not hold, the flow goes back
to step S602. If it holds, the flow goes to Step S618. If Sa>T
holds, it means that the rest period is longer than is required to
be recognized as a command, so that the process is performed at
step S618. If Sa>T does not hold, it means to be during the rest
period required to be recognized as a command. Therefore, the flow
goes back to step S602.
[0432] (Step S618)
[0433] The tap/rest flag is turned OFF ("1" is stored). That is,
the rest period is recognized as one exceeding the period of time
required of a command. Accordingly, the "tap rhythm" is input at
intervals which cannot be recognized as a command, and a command as
a tap input period is not determined. In short, this step
corresponds to "NO" in step S24d in FIG. 11, and the command
determination process is terminated.
[0434] (Step S619)
[0435] The process "Sb=(current time).theta.(time of the preceding
rest)" is performed, and then the value of Sb is once stored in the
main memory 33. The time of the preceding rest can be calculated
by, for example, a process of sequentially storing a time value at
which the tap/rest flag is turned "OFF" and a time value at which
the tap/rest flag is tuned "ON".
[0436] (Step S620)
[0437] It is determined whether or not "Sb>maximum rest time
(Tm)" holds. As a result of the determination, if Sb>Tm holds,
the flow goes to step S618. If it does not hold, the flow goes back
to step S602. The maximum rest time (Tm) is a time value previously
set for determining that a rest period continues after a period
required to be recognized as a rest period, which is a time for
determining whether or not the rest will be followed by another
rest. For example, a value ranging from around 0.6 seconds to
around 1.2 seconds is set as the maximum rest time (Tm). When the
processes from step S620 to step S618 are executed, the rest period
is recognized as one exceeding a time required to be recognized as
a command. Accordingly, the "tap rhythm" is input at intervals
which cannot be recognized as a command, and a command as a tap
input period is not determined.
[0438] When the tap/rest command determination program P9b is
executed in accordance with the procedure shown in FIG. 21, the
information about a tap period and a rest period is stored in time
sequence order in the command determination table TC2 by the
process in step S610. In this regard, the tap period is a period
without consideration given to a level of the intensity of input
vibration. This means that information relating to rhythm of taps
and rests when the player continuously taps the mounting base 8 is
stored in the command determination table TC2.
[0439] In the embodiment, when the "tap rhythm" generated when the
player continuously taps the mounting base 8 matches previously set
rhythm, in other words, a line of time sequence order of the tap
input period and the rest period matches a previously set array
(special input command), the main control program P0 executes game
control set for the matching special input command. FIG. 23B shows
an example of the data structure when a plurality of types of
previously-set special input commands are set as a special input
command table (TT2).
[0440] As shown in FIG. 23B, the special input command table (TT2)
is a data table in which patterns of arrays of information on the
tap input period and the rest period serving as individual special
input commands, and command execution program names (program start
address) for executing game control for the respective special
input commands are stored with being organized by identification
information on each type of previously-set special input
commands.
[0441] In the special input command table (TT2) shown in FIG. 23B,
when, in the special-input-command identification information (A1),
the "tap rhythm" generated when the player continuously taps the
mounting base 8 matches "T", "T", "R", "T", namely, "tap (tap input
period)", "tap (tap input period)", "rest (rest period)", "tap (tap
input period)" in time sequence, the monitor 2 displays a moving
image of swimming killifish. As shown in the special input command
table (TT2), when the "tap rhythm" when the player continuously
taps the mounting base 8 matches "triple, triple, septuple" rhythm
(the special input command identification information "A3"), the
main control program. P0 performs the process of operating the
monitor 2 to display a moving image of swimming and jumping
whales.
[0442] The embodiment relating to the aforementioned game control
in consideration of tap rhythm has described an example of control
without, in the tap input period, making a determination of a level
of the intensity when the player taps the mounting base 8. However,
when means for determining an intensity level illustrated in the
procedure in FIG. 20 is used, this makes it possible to implement
game control in which an intensity level of a tap motion of the
player is reflected in tap rhythm.
[0443] The embodiments according to the present invention have
described an example of effectively using vibration generated by a
tap motion of the player for a game. However, the present invention
can be applied to a device of operating a liquid crystal display to
display various relaxing images with music in response to a pattern
of, for example, a motion of tapping a wall or the like in a
waiting room of a hospital, a doctor's office or the like, a break
room, or the like.
[0444] For the controller used in the present invention, an
application program for communicating vibration detected by a 3D
acceleration sensor via infrared communication is installed on a
mobile telephone with a 3D acceleration sensor and an infrared
communication function, thereby using the mobile telephone as the
controller used in the present invention. The aforementioned
embodiments are not intended to unjustly limit the contents of the
present invention cited in the claims. Also, the structure
described in the embodiments is not alone the indispensable
constituent features of the present invention.
EXPLANATION OF REFERENCE NUMERALS
[0445] 1 GAME SYSTEM [0446] 2 MONITOR [0447] 2a SPEAKER [0448] 3
GAME DEVICE [0449] 6 RECEIVER UNIT [0450] 7 CONTROLLER [0451] 30
CPU [0452] 31 MEMORY CONTROLLER [0453] 32 GPU [0454] 33 MAIN MEMORY
(STORAGE MEANS) [0455] 51 MICROCOMPUTER [0456] 52 MEMORY [0457] 53
RADIO MODULE [0458] 73 ACCELERATION SENSOR [0459] 74 VIBRATOR
[0460] P0 MAIN CONTROL PROGRAM [0461] P3 VIBRATION DETECTION
PROGRAM [0462] P4 NATURAL-VIBRATION-VALUE CALCULATION PROGRAM
[0463] P5 CORRECTION-VALUE CALCULATION PROGRAM [0464] P6
CORRECTION-VALUE OPERATION CONVERSION PROGRAM [0465] P8 VIBRATION
PATTERN DETERMINATION PROGRAM [0466] P9 SPECIAL INPUT COMMAND
DETERMINATION PROGRAM [0467] P10 PRESENTATION PROCESSING
PROGRAM
* * * * *