U.S. patent application number 13/350649 was filed with the patent office on 2012-05-10 for game device and computer program.
This patent application is currently assigned to Kabushiki Kaisha Sega. Invention is credited to Chiaki Sugiyama, Jun Tokuhara.
Application Number | 20120115609 13/350649 |
Document ID | / |
Family ID | 43449210 |
Filed Date | 2012-05-10 |
United States Patent
Application |
20120115609 |
Kind Code |
A1 |
Sugiyama; Chiaki ; et
al. |
May 10, 2012 |
GAME DEVICE AND COMPUTER PROGRAM
Abstract
A first value is calculated, based on a difference of a first
load data based on an output of a first load sensor 82a provided at
a right front part of a supporter 78 for supporting a player and a
second load data based on an output of a second load sensor 82b
provided at a right rear part of the supporter; a second value is
calculated, based on a difference of a third load data based on an
output of a third load sensor 82c provided at a left front part of
the supporter and a fourth load data based on an output of a fourth
load sensor 82d provided at a left rear part of the supporter; and
an action of an object to be displayed on a display screen is
determined based on the calculated first value and the second
value.
Inventors: |
Sugiyama; Chiaki; (Tokyo,
JP) ; Tokuhara; Jun; (US) |
Assignee: |
Kabushiki Kaisha Sega
Tokyo
JP
|
Family ID: |
43449210 |
Appl. No.: |
13/350649 |
Filed: |
January 13, 2012 |
Current U.S.
Class: |
463/36 |
Current CPC
Class: |
A63F 13/218 20140902;
A63F 13/42 20140902; A63F 13/214 20140902; G06F 3/0334 20130101;
A63F 2300/1056 20130101; A63F 2300/6045 20130101; A63F 13/533
20140902; A63F 13/803 20140902; A63F 2300/8017 20130101 |
Class at
Publication: |
463/36 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Jul 17, 2009 |
JP |
2009-169062 |
Mar 20, 2010 |
JP |
PCT/JP2010/053998 |
Claims
1. A non-transient memory storage medium, readable by a computer,
which stores a computer program for operating a computer as a game
device using a controller including a supporter for supporting a
player; a first load sensor provided at a right front part of the
supporter, for detecting a load from the supporter; a second load
sensor provided at a right rear part of the supporter, for
detecting a load from the supporter, a third load sensor provided
at a left front part of the supporter, for detecting a load from
the supporter, and a fourth load sensor provided at a left rear
part of the supporter, for detecting a load from the supporter,
said computer being operated as an action determination means which
calculates a first value, based on a difference of a first load
data based on an output of the first load sensor and a second load
data based on an output of the second load sensor, calculates a
second value based on a difference between a third load data based
on an output of the third load sensor and a fourth load data based
on an output of the fourth load sensor, and determines an action of
an object to be displayed on a display screen, based on the first
value and the second value.
2. A non-transient memory storage medium according to claim 1,
wherein a direction of the object is varied, based on a difference
between the first value and the second value.
3. A non-transient memory storage medium according to claim 1,
wherein a velocity of the object is determined, based on a sum of
the first value and the second value.
4. A non-transient memory storage medium according to claim 2,
wherein a velocity of the object is determined, based on a sum of
the first value and the second value.
5. A non-transient memory storage medium according to claim 1,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and varies a direction of the
object, based on a difference between the corrected first value and
the second value not corrected, the action determination means,
when the first value is negative, and the second value is positive,
corrects the second value by the prescribed correction coefficient
and varies a direction of the object, based on a difference between
the first value not corrected and the corrected second value.
6. A non-transient memory storage medium according to claim 2,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and varies a direction of the
object, based on a difference between the corrected first value and
the second value not corrected, the action determination means,
when the first value is negative, and the second value is positive,
corrects the second value by the prescribed correction coefficient
and varies a direction of the object, based on a difference between
the first value not corrected and the corrected second value.
7. A non-transient memory storage medium according to claim 3,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and varies a direction of the
object, based on a difference between the corrected first value and
the second value not corrected, the action determination means,
when the first value is negative, and the second value is positive,
corrects the second value by the prescribed correction coefficient
and varies a direction of the object, based on a difference between
the first value not corrected and the corrected second value.
8. A non-transient memory storage medium according to claim 4,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and varies a direction of the
object, based on a difference between the corrected first value and
the second value not corrected, the action determination means,
when the first value is negative, and the second value is positive,
corrects the second value by the prescribed correction coefficient
and varies a direction of the object, based on a difference between
the first value not corrected and the corrected second value.
9. A non-transient memory storage medium according to claim 1,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and determines a velocity of the
object, based on a sum of the corrected first value and the second
value not corrected, and the action determination means, when the
first value is negative, and the second value is positive,
determines a velocity of the object, based on a sum of the first
value not corrected and the corrected second value.
10. A non-transient memory storage medium according to claim 2,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and determines a velocity of the
object, based on a sum of the corrected first value and the second
value not corrected, and the action determination means, when the
first value is negative, and the second value is positive,
determines a velocity of the object, based on a sum of the first
value not corrected and the corrected second value.
11. A non-transient memory storage medium according to claim 3,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and determines a velocity of the
object, based on a sum of the corrected first value and the second
value not corrected, and the action determination means, when the
first value is negative, and the second value is positive,
determines a velocity of the object, based on a sum of the first
value not corrected and the corrected second value.
12. A non-transient memory storage medium according to claim 4,
wherein the first value is a value given by subtracting the first
load data from the second load data, the second value is a value
given by subtracting the third load data from the fourth load data,
the action determination means, when the first value is positive,
and the second value is negative, corrects the first value by a
prescribed correction coefficient and determines a velocity of the
object, based on a sum of the corrected first value and the second
value not corrected, and the action determination means, when the
first value is negative, and the second value is positive,
determines a velocity of the object, based on a sum of the first
value not corrected and the corrected second value.
13. A non-transient memory storage medium according to claim 1,
wherein the object is caused to proceed or to retreat, based on a
sign of the sum of the first value and the second value.
14. A non-transient memory storage medium according to claim 2,
wherein the object is caused to proceed or to retreat, based on a
sign of the sum of the first value and the second value.
15. A non-transient memory storage medium according to claim 3,
wherein the object is caused to proceed or to retreat, based on a
sign of the sum of the first value and the second value.
16. A game device comprising a controller including a supporter for
supporting a player, and a first load sensor provided at a right
front part of the supporter, for detecting a load from the
supporter, a second load sensor provided at a right rear part of
the supporter, for detecting a load from the supporter, a third
load sensor provided at a front left part of the supporter, for
detecting a load from the supporter and a fourth load sensor
provided at a left rear part of the supporter, for detecting a load
from the supporter, the game device comprising an action
determination means which calculates a first value based on a
difference between a first load data based on an output of the
first load sensor and a second load data based on an output of the
second load sensor, calculates a second value, based on a
difference between a third load data based on an output of the
third load sensor and a fourth load data based on an output of the
fourth load sensor, and determines an action of an object to be
displayed on a display screen, based on the first value and the
second value.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a Continuation of PCT application No.
PCT/JP2010/053998, which was filed on Mar. 10, 2010, and which
designated the United States of America, the entire contents of
which are incorporated herein by reference.
TECHNICAL FIELD
[0002] The present invention relates to a game device and a
computer program, more specifically, a game device using a
controller, and a computer program.
BACKGROUND ART
[0003] Recently, a technique that a player gets on a controller
with a plurality of load sensors provided on, and changing loading
modes on the controller to thereby make input operations of the
game (Patent Reference 1).
[0004] The background art of the invention of the present
application is as follows.
PRIOR ART REFERENCES
Patent References
[0005] Patent Reference 1: Japanese Patent Application Unexamined
Publication No. 2008-264195
[0006] Patent Reference 2: Japanese Patent Application Unexamined
Publication No. 2008-119211
SUMMARY OF THE INVENTION
Problems to be Solved by the Invention
[0007] However, by using such controller, realistic operations
cannot be always realized.
[0008] An object of the present invention is to provide a game
device which can realize realistic operations, and a computer
program.
Means for Solving the Problems
[0009] According to one aspect of the present invention, the
present invention provides a computer program for operating a
computer as a game device using a controller including a supporter
for supporting a player; a first load sensor provided at a right
front part of the supporter, for detecting a load from supporter; a
second load sensor provided at a right rear part of the supporter,
for detecting a load from the supporter, the third load sensor
provided at a left front part of the supporter, for detecting a
load from the supporter, and the fourth load sensor provided at a
left rear part of the supporter, for detecting a load from the
supporter, said computer being operated as an action determination
means which calculates a first value, based on a difference of a
first load data based on an output of the first load sensor and the
second load data based on an output of the second load sensor,
calculates a second value based on a difference between a third
load data based on an output of the third load sensor and a fourth
load data based on an output of the fourth load sensor, and
determines an action of an object to be displayed on a display
screen, based on the first value and the second value.
[0010] According to the other aspect of the present invention, the
present invention provides a game device comprising a controller
including a supporter for supporting a player, and a first load
sensor provided at a right front part of the supporter, for
detecting a load from the supporter, a second load sensor provided
at a right rear part of the supporter, for detecting a load from
the supporter, a third load sensor provided at a front left part of
the supporter, for detecting a load from the supporter and a fourth
load sensor provided at a left rear part of the supporter, for
detecting a load from the supporter, the game device comprising an
action determination means which calculates a first value based on
a difference between the first load data based on an output of the
first load sensor and an output of the second load sensor,
calculates a second value, based on a difference between the third
load data based on an output of the third load sensor and a fourth
load data based on an output of the fourth load sensor, and
determines an action of an object to be displayed on a display
screen, based on the first value and the second value.
EFFECT OF THE INVENTION
[0011] According to the present invention, a first value is
calculated, based on a difference between a first load data based
on an output of a first load sensor provided at a right front part
of the supporter for a player to be supported on, and a second load
data based on an output of a second load sensor provided at a right
rear part of the supporter. A second value is calculated, based on
a difference between a third load data based on an output of a
third load sensor provided at a left front part of the supporter
and a fourth load data based on an output of a fourth load sensor
provided at a left rear part. Based on the first value and the
second value, an action of an object displayed on a display screen
is determined. Thus, according to the present invention, the object
can be cause to make rotation, etc., which makes it possible to
realistically enjoy the game.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] [FIG. 1] FIG. 1 is an appearance view of the game device
according to one embodiment of the present invention.
[0013] [FIG. 2] FIG. 2 is a top view and a bottom view of a
controller used in the embodiment of the present invention.
[0014] [FIG. 3] FIG. 3 is a block diagram of the game device
according to the embodiment of the present invention.
[0015] [FIG. 4] FIG. 4 is a perspective view illustrating a player
getting on the first controller.
[0016] [FIG. 5] FIG. 5 is a view illustrating an example of the
display screen of the game device according to the embodiment of
the present invention.
[0017] [FIG. 6] FIG. 6 is a view of the respective memories
provided in the system memory.
[0018] [FIG. 7] FIG. 7 is a view illustrating a relationship
between the local coordinate system and the object.
[0019] [FIG. 8] FIG. 8 is the flow chart of the processing of
determination of an action of the object.
[0020] [FIG. 9] FIG. 9 is views illustrating the operations of the
first controller with the legs of a player.
[0021] [FIG. 10] FIG. 10 is views illustrating the case that a
player applies the weight to the tiptoe of the right leg and the
tiptoe of the left leg.
[0022] [FIG. 11] FIG. 11 is views illustrating the case that the
player applies the weight to the heel of the right leg and the heel
of the left leg.
[0023] [FIG. 12] FIG. 12 is views illustrating the case that the
player applies the weight to the heel of the right leg and the
tiptoe of the left leg.
[0024] [FIG. 13] FIG. 13 is views illustrating the case that the
player applies the weight to the heel of the left leg and the
tiptoe of the right leg.
[0025] [FIG. 14] FIG. 14 is views illustrating a specific example
(Part 1) of the actions of the object.
[0026] [FIG. 15] FIG. 15 is views illustrating a specific example
(Part 2) of the actions of the object.
[0027] [FIG. 16] FIG. 16 is views illustrating a specific example
(Part 3) of the actions of the object.
[0028] [FIG. 17] FIG. 17 is views illustrating a specific example
(Part 4) of the actions of the object.
[0029] [FIG. 18] FIG. 18 is views illustrating a specific example
(Part 4) of the actions of the object.
MODE FOR CARRYING OUT THE INVENTION
An Embodiment
[0030] The game device and a computer program according to an
embodiment of the present invention will be described with
reference to FIGS. 1 to 17.
Appearance of the Game Device
[0031] First, the appearance of the game device 10 according to the
present embodiment will be described. FIG. 1 is an appearance view
of the game device according to the present embodiment.
[0032] The game device 10 according to the present embodiment is
used, connected to a TV monitor (a display, display means) 4 placed
on a TV rack 2.
[0033] The game device 10 includes a first controller 20 to be
operated by a player, and a second controller 22 to be operated by
the player.
[0034] The game device body 12 and the TV monitor 4 are connected
to each other by a cable. The game device body 12 and the first
controller 20 can communicate with each other by wireless. The game
device body 12 and the second controller 22 can communicate with
each other by wireless.
[0035] FIG. 2 is an upper surface view and an underside view of the
controller used in the present embodiment. FIG. 2A is the top view,
and FIG. 2B is the bottom view.
[0036] As illustrated in FIG. 2, the first controller 20 includes a
supporter 78 for legs of a player to put on, and four load sensors
82a-82d provided on the four corners of the supporter 20 for
sensing loads applied to the supporter 78. The controller 20
transmits sensed load values sensed by the load sensors 82a-82d to
the game device body 12. On the first controller 20, the player
adjusts loading the body weight to thereby manipulate actions of
objects displayed on the TV monitor 4 to play the game.
[0037] The second controller 22 is operated by, e.g., a hand 23 of
the player. On the operation side of the second controller 22,
various operation buttons 28, such as a power source button 28a, a
cross button 28b, etc. (see FIG. 3) are provided. The player uses
the second controller 22 to input commands, such as a start of the
game, etc., in the game device body 12.
Structure of the Game Device
[0038] Next, the structure of the game device according to the
present embodiment will be described. FIG. 3 is a block diagram of
the game device according to the present embodiment.
[0039] As illustrated in FIG. 3, to the game device 10, a CPU 40
which executes the gate program, the general control of the entire
system, the coordinates computation for image displays, etc., and a
system memory (RAM) 42 to be used as the buffer memory which stores
programs and data necessary for the CPU 40 to process are connected
to a bus arbiter 44 by a common bus line. The bus arbiter 44
controls flows of programs and data to the respective blocks of the
game device 10 and devices connected outside.
[0040] A program data memory device or a memory storage medium
(including an optical disc, an optical disc drive, etc. for driving
CD-ROMs, etc. which are game record media) 46 storing the game
program and data (including image data and music data), and a BOOT
ROM 48 storing programs and data for actuating the game device 10
are connected to the bus arbiter 44 via bus lines.
[0041] To generate display images, polygon data having
three-dimensional local coordinates data forming objects to be
displayed (vertex data), NURBS (Non Uniform Rational B-Spline) data
(curved-face or control point data) are stored in the system memory
42, and these are arranged in a world coordinate system of a
three-dimensional virtual space by the CPU 40 and a geometry
processor (not illustrated) to convert the local coordinates to the
world coordinate system.
[0042] Furthermore, in the world coordinate system, view point
coordinates generated by an operation of a player and in accordance
with a progress of the game are set, and objects present in the
view range seen at this view point in a prescribed view direction
and at a view angle are converted into a view point coordinate
system having the view coordinates at the origin, and the converted
coordinates of the objects are transmitted to the rendering
processor 50.
[0043] The rendering processor 50 first makes interpolation
processing, such as light source processing, on the transmitted
coordinates of the objects and details the surfaces of the objects
by adhering texture data stored in the graphic memory 52 to the
objects. Furthermore, the rendering processor 50 projects from the
three-dimensional stereoscopic projects the objects (polygons) on
the two-dimensional plane (screen) for the display on the TV
monitor 4 to convert the objects to the two-dimensional coordinate
data (screen coordinate system), displays first the polygons whose
depth in the Z coordinate are smaller, i.e., nearer to the view
point coordinates to thereby generate two-dimensional images, and
outputs the two-dimensional images on the TV monitor 4, such as a
CRT, a liquid crystal display or others.
[0044] Via the bus arbiter 44, the rendering processor 50, which
reproduces image (MOVIE) data read from the program data memory
device or the memory storage medium 46 and generates images for
image displays by an operation of a player or in accordance with a
progress of the game, and a graphic memory 52 which stores graphic
data, etc. necessary for the rendering processor 50 to generate
images are connected to each other. The image signals outputted
from the rendering processor 50 are converted from digital signals
to analog signals by the video DAC 54 to be displayed by the TV
monitor 4.
[0045] Via the bus arbiter 44, a sound processor 56 which
reproduces music data read from the program data memory device or
the memory storage medium 46 and generates effect sounds and voices
by an operation of a player and in accordance with a progress of
the game, and a sound memory 58 storing sound data, etc. necessary
for the sound processor 56 to generate effect sounds and voices are
connected to each other. The voice signals outputted from the sound
processor 56 are converted from digital signals to analog signals
by an audio DAC 60 to be outputted from the speaker of the TV
monitor 4.
[0046] To the bus arbiter 44, a communication interface 62 is
connected. The communication interface 62 is connected to outside
networks, such as telephone circuits, etc., via a LAN adapter 64.
The game device body 12 is connected to internets by the LAN
adapter 64 and can communicate with other game devices, network
severs, etc.
[0047] The communication interface 62 and the LAN adapter 64 use
telephone circuits but may use terminal adapters (TA) or routers
using telephone circuits, cable modems using cable TV circuits,
wireless communication means using portable telephones or PHS and
other communication means, such as optical fiber communication
means, etc., using optical fibers.
[0048] To the bus arbiter 44, a wireless receiver unit 68 which
wireless communicates with the controller 20 and the remote
controller 22 is connected. The wireless receiver unit 68 receives
information transmitted from the first controller 20 and
information transmitted from the second controller 22.
[0049] To the bus arbiter 44, a peripheral I/F (Interface) 70 is
connected. Via the peripheral I/F 70, various peripheral devices
can be connected.
[0050] The game device 10 is not essentially a domestic game device
and can be a personal computer, a portable electronic game machine,
an electronic device, such as a portable telephone, a PDA or
others, an information processing device of a game device or others
installed in amusements facilities, shops such as game cafes,
etc.
Controller
[0051] Next, the first controller used in the present embodiment
will be described with reference to FIGS. 1 to 4.
[0052] The first controller 20 of the present embodiment functions
as the operation device (operating means) of the game. The
controller 20 includes the supporter (support plate) 78 for a
player to get on, the load sensors 82a-82d which detect loads
applied to the supporter 78. The load sensors 82a-82d are arranged
on the four corners of the supporter 78.
[0053] More specifically, the first load sensor 82a is arranged at
the right front part of the supporter 78, the second load sensor
82b is arranged at the right rear part of the supporter 78, the
third load sensor 82c is arranged at the left front part of the
supporter 78, and the fourth load sensor 82d is arranged at the
left rear part of the supporter 78.
[0054] On the four corners of the first controller 20, the legs
80a-80d are provided. The respective legs 80a-80d are formed, e.g.,
cylindrical. The first load sensor 82a is supported by the leg 80a,
the second load sensor 82b is supported by the leg 80b, the third
load sensor 82c is supported by the leg 80c, and the fourth load
sensor 82d is supported by the leg 80d. That is, the supporter 78
is supported by the four legs 80a-80d via the load sensors 82a-82d
provided on the four corners.
[0055] FIG. 4 is a perspective view of the state that a player is
on the first controller.
[0056] When a player 6 gets on the supporter 78 of the first
controller 20 as illustrated in FIG. 4, a load of the player 6 is
transmitted to the load sensors 82a-82d via the supporter 78 of the
first controller 20.
[0057] The load sensors 82a-82d can be, e.g., strain gauges-type
load cells or others. The load sensors 82a-82d output electric
signals of intensities corresponding to applied loads.
[0058] The first controller 20 can be suitably a controller which
includes a plurality of load sensors for detecting loads applied to
the supporter.
[0059] As illustrated in FIG. 3, the first controller 20 includes a
CPU 88 which controls the general operation of the first controller
20. To the CPU 88, a ROM, RAM or others not illustrated is
connected. The CPU 88 controls the operation of the first
controller 20 by a computer program stored in the ROM.
[0060] The respective load sensors 82a-82d are connected to an AD
converter 86 via the respective amplifiers 84a-84d.
[0061] A wireless transmission unit 90 transmits data from the
first controller 20 to the game device body 12. The wireless
transmission unit 90 is provided in the inside of, e.g., the first
controller 20. To the load sensors 82a-82d, the amplifiers 84a-84d,
the AD converter 86, the CPU 88 and the wireless communication unit
90, prescribed voltages are supplied from a battery (not
illustrated), such as electric cells or others.
[0062] The respective load sensors 82a-82d output signals
indicating inputted loads. The electric signals outputted from the
respective load sensors 82a-82d are amplified respectively by the
amplifiers 84, converted from the analog signals to digital data by
the AD converter 86, and inputted to the CPU 88. To the data of the
detected values of the respective load sensors 82a-82d,
identification information of the respective load sensors 82a-82d
is added, and which load sensors 82a-82d the detected load values
belong to can be identified.
[0063] The CPU 88 obtains data f1-f4 of detected load values of the
respective load sensors 82a-82d. f1 is data of the detected load
value given by the first load sensor 82a, f2 is data of the
detected load value given by the second load sensor 82b, f3 is the
detected load value given by the third load sensor 82c, and f4 is
the detected load value given by the fourth load sensor 82d.
[0064] The data f1-f4 of the detected load values given by the load
sensors 82a-82d are transmitted as operational input data for the
first controller 20 from the CPU 88 to the game device body 12 via
the wireless transmission unit 90. The CPU 88 transmits for, e.g.,
each frame, the data f1-f4 of the detected load values given by the
load sensors 82a-82d.
Game Execution Processing
[0065] The game execution processing of the game device according
to the present embodiment will be described.
[0066] FIG. 5 is a view illustrating an example of the display
images of the game device according to the present embodiment.
[0067] In the game of the present embodiment, a player operates
with the first controller 20 directions (proceeding directions) of
a hover machine (an object) 100 displayed on the TV monitor (a
display, display means) 2 and velocities (moving velocities,
proceeding velocities) to reach the hover machine 100 to the flag
(a target to gain points) 102 displayed on the TV monitor 2 and
obtain the flag 102, whereby the player goes on gaining points.
[0068] For example, when all of the flags 102 displayed are
obtained, the game is set. The player can enjoy the game by
competing in obtaining all the flags 102 within a shorter period of
time.
[0069] On the upper left part of the screen of the TV monitor 4,
the best record (BEST RECORD) 104 of the games so far played is
indicated. At the upper central part of the TV monitor 4, a number
106 of remaining flags is indicated. At the upper right part of the
screen of the TV monitor 4, an elapsed time 108 from the start of
the game is indicated. On the screen of the TV monitor 4, flags 102
which are targets to gain points are displayed.
[0070] On the screen of the TV monitor 4, the object (the hover
machine) 100 to be operated by a player in the three-dimensional
virtual space is displayed. On the screen of the TV monitor 4, the
hover machine 100 is displayed with an operator (a character) 110
riding the hover machine 100.
[0071] At the right front part, the right rear part, the left front
part and the right rear part of the hover machine 100, jet engines
112a-112d are respectively provided. The jet engines 112a-112d are
for applying driving forces to hover machine 100. The hover machine
100 runs on virtual ice with the driving forces of the jet engines
112a-112d. The jet engines 112a, 112b on the right side, and the
jet engines 112c, 112d on the left side are controlled
independently. The jet engine 112a at the right front part and the
jet engine 112b at the right rear part do not simultaneously jet.
The jet engine 112c at the left front part and the jet engine 112d
at the left rear part do not simultaneously jet.
[0072] For example, by both of the jet engine 112b at the right
rear part and the jet engine 112d at the left rear part jetting,
forward driving forces are applied to the hover machine 100 by the
jet engine 112b at the right rear part and the jet engine 112d at
the left rear part, and the hover machine 100 moves forward.
[0073] By both of the jet engine 112a at the right front part and
the jet engine 112c at the left front part jetting, backward
driving forces are applied to the hover machine 100, and the hover
machine 100 moves backward.
[0074] By the jet engine 112a at the right front part and the jet
engine 112d at the left rear part jetting, driving forces are
applied to the hover machine 100 by the jet engine 112a at the
right front part and the jet engine 112d at the left rear part.
When the driving force of the jet engine 112a at the right front
part and the driving force of the jet engine 112d at the left rear
part are equal to each other, the hover machine 100 rotates right
there without changing the central position. When the driving force
of the jet engine 112a at the right front part is larger than the
driving force of the jet engine 112d at the left rear part, the
hover machine 100 moves backward, rotating right. When the driving
force of the jet engine 112d at the left rear part is larger than
the driving force of the jet engine 112a at the right front part,
the hover machine 100 moves forward, rotating right.
[0075] By the jet engine 112b at the right rear part and the jet
engine 112c at the left front part jetting, driving forces are
applied to the hover machine 100 by the jet engine 112b at the
right rear part and the jet engine 112c at the left front part.
When the driving force of the jet engine 112b at the right rear
part and the driving force of the jet engine 112c at the left front
part are equal to each other, the hover machine 100 rotates left
there without changing the central position. When the driving force
of the jet engine 112b at the right rear part is larger than the
deriving force of the jet engine 112c at the left front part, the
hover machine 100 moves forward, rotating left. When the driving
force of the jet engine 112c at the left front part is larger than
the driving force of the jet engine 112b at the right rear part,
the hover machine 100 moves backward, rotating left.
[0076] On the screen of the TV monitor 4, obstacles 114 that hinder
the advance of the hover machine 100 are also displayed.
Obtain Weight Data
[0077] Before the game starts, a display which asks a player to get
on the first controller 20 is displayed on the TV monitor 4.
[0078] When the player gets on the first controller 20, the
measuring of the weight of the player is performed. Specifically,
the total value of data f.sub.1-f.sub.4 of detected load values
given by the four load sensors 82a-82d is taken for data F of the
weight of the player. The weight F of the player is expressed by
the following formula.
F=f.sub.1+f.sub.2+f.sub.3+f.sub.4
[0079] FIG. 6 is a view of the respective memories provided in the
system memory.
[0080] The CPU 40 stores the data F of the weight of the player in
the player weight memory provided in the system memory 42 (see FIG.
6).
Obtain Normalization Coefficient
[0081] Next, the CPU 40 calculates a coefficient a for normalizing
the data f.sub.1-f.sub.4. The coefficient (normalization
coefficient) a for normalizing the f.sub.1-f.sub.4 is expressed by
the following formula.
a=1/F
[0082] The CPU 40 stores the normalization coefficient a in the
normalization coefficient memory provided in the system memory 42
(see FIG. 6).
[0083] The data f.sub.1-f.sub.4 of the detected load values of the
respective load sensors 82a-82d are obtained for each frame. The
CPU 40 stores the data f.sub.1-f.sub.4 of the obtained detected
load values in the f.sub.1-f.sub.4 memory provided in the system
memory 42 (see FIG. 6).
[0084] The data g.sub.1(n)-g.sub.4(n) of the detected load values
given by normalizing the data f.sub.1(n)-f.sub.4(n) of the n-th
frame are expressed by the following formulas.
g.sub.1(n)=f.sub.1(n).times.a
g.sub.2(n)=f.sub.2(n).times.a
g.sub.3(n)=f.sub.3(n).times.a
g.sub.4(n)=f.sub.4(n).times.a
[0085] Since the data g.sub.1(n)-g.sub.4(n) are normalized, the
total of the data g.sub.1(n)-g.sub.4(n) is 1.0.
[0086] The CPU 40 stores the normalized data g.sub.1-g.sub.4 in the
g.sub.1-g.sub.4 memory provided in the system memory 42 (see FIG.
6).
Calculate Load Data
[0087] In the present embodiment, when a player is standing upright
on the first controller 20 without motion, correction coefficients
(correction values) b.sub.1-b.sub.4 for making the data
g.sub.1-g.sub.4 of the normalized detected load values 0.25 are
determined respectively in advance. The correction coefficients
b.sub.1-b.sub.4 are not determined for the respective players but
are applied uniformly to all the players.
[0088] The correction coefficients b.sub.1-b.sub.4 are applied
uniformly to all the players here but the correction coefficients
may be determined for the respective players.
[0089] Data (load data) W.sub.1(n)-W.sub.4(n) of the detected load
values normalized and corrected are expressed by the following
formulas.
W.sub.1(n)=g.sub.1(n).times.b.sub.1=f.sub.1(n).times.a.times.b.sub.1
W.sub.2(n)=g.sub.2(n).times.b.sub.2=f.sub.2(n).times.a.times.b.sub.2
W.sub.3(n)=g.sub.3(n).times.b.sub.3=f.sub.3(n).times.a.times.b.sub.3
W.sub.4(n)=g.sub.4(n).times.b.sub.4=f.sub.4(n).times.a.times.b.sub.4
[0090] The CPU 40 stores the calculated load data
W.sub.1(n)-W.sub.4(n) in the W.sub.1-W.sub.4 memory provided in the
system memory 42.
Lay Out Objects
[0091] The position coordinates P.sub.(n) of the object (the hover
machine) 100 at the n-th frame in the world coordinate system are
expressed as follows.
P.sub.(n)=(P.sub.X(n), P.sub.Y(n), P.sub.Z(n))
[0092] The position coordinates P.sub.(n) are stored in the
position coordinates memory provided in the system memory 42 (see
FIG. 6).
[0093] Here, the X Z plane in the world coordinate system is a
plane in parallel with the virtual ground, and the Y axis of the
world coordinate system is normal to the virtual ground.
[0094] FIG. 7 is a view showing the relationships between the local
coordinate system and an object. The left-to-right direction as
viewed in FIG. 7 corresponds to the X axial direction of the local
coordinate system. The rightward direction as viewed in FIG. 7
corresponds to the positive direction of the X axis, and the
leftward direction as viewed in FIG. 7 corresponds to the negative
direction of the X axis. The up-to-down direction as viewed in FIG.
7 corresponds to the Z axial direction of the local coordinate
system. The downward direction as viewed in FIG. 7 is the positive
direction of the Z axis, and the upward direction of the Z axis as
viewed in FIG. 7 is the negative direction of the Z axis. The
normal direction as viewed in FIG. 7 corresponds to the Y axial
direction of the local coordinate system. The direction toward this
side as viewed in FIG. 7 is the positive direction of the Y axis,
and the away direction as viewed in FIG. 7 is the negative
direction of the Y axis.
[0095] On the initial stage of the game, the central line of the
object 100 in the left-to-right direction agrees with the X axial
direction. More specifically, on the initial stage of the game, the
rightward direction of the object 100 agrees with the positive
direction of the X axis, and the leftward direction of the object
100 agrees with the negative direction of the X direction.
[0096] On the initial stage of the game, the central line of the
object 100 in the front-to-rear direction agrees with the Z axial
direction. More specifically, on the initial stage of the game, the
rear direction of the object 100 agrees with the positive direction
of the Z axis, and the forward direction of the object 100 agrees
with the negative direction of the Z axis.
[0097] In the state that the object 100 is positioned on the
horizontal plane, the central line of the object 100 in the
up-to-down direction agrees with the Y axis. More specifically, in
the state that the object 100 is positioned on the horizontal
plane, the downward direction of the object 100 agrees with the
positive direction of the Y axis, and the upward direction of the
object 100 agrees with the negative direction of the Y axis.
Determine Action of the Object
[0098] FIG. 8 is the flow chart of the processing of determination
of action of the object.
[0099] When the execution of the game is started, the CPU makes the
normalization with the normalization coefficient a and the
correction with the correction coefficients b.sub.1-b.sub.4 as
described above, based on the data f.sub.1(n)-f.sub.4(n) of the
detected load values of the load sensors 82a-82d to thereby
calculate the respective load data W.sub.1(n)-W.sub.4(n) (Step S1).
The CPU 40 makes the computation of the respective load data
W.sub.1(n)-W.sub.4(n) for each frame.
[0100] The CPU 40 stores the calculated load data
W.sub.1(n)-W.sub.4(n) in the W.sub.1-W.sub.4 memory provided in the
system memory 42 (see FIG. 6).
[0101] Then, the CPU 40 subtracts first load data W.sub.1(n) from
the second load data W.sub.2(n) to thereby calculate the first
value W.sub.R(n) (Step S2). The first value W.sub.R(n) is
calculated for each frame.
[0102] The first value W.sub.R(n) is expressed by the following
formula.
W.sub.R(n)=W.sub.2(n)-W.sub.1(n)
[0103] The CPU 40 stores the calculated first value W.sub.R(n) in
the W.sub.R(n) memory provided in the system memory 42 (see FIG.
6).
[0104] The CPU 40 subtracts the third load data W.sub.3(n) from the
fourth load data W.sub.4(n) to thereby calculate the second value
W.sub.L(n) (Step S3). The second value W.sub.L(n) is calculated for
each frame.
[0105] The second value W.sub.L(n) is expressed by the following
formula.
W.sub.L(n)=W.sub.4(n)-W.sub.3(n)
[0106] The CPU 40 stores the calculated second value W.sub.L(n) in
the W.sub.L(n) memory provided in the system memory 42 (see FIG.
6).
[0107] Next, when the absolute value of the first value W.sub.R(n)
is smaller than a prescribed threshold value c (Step S4), the CPU
40 corrects the first value W.sub.R(n) (Step S5). Specifically,
when the absolute value of the first value W.sub.R(n) is smaller
than the prescribed threshold value c, a the first value W.sub.R(n)
is multiplied by a prescribed correction coefficient d. The
prescribed threshold value c is set at, e.g., 0.05. The prescribed
correction coefficient d is set at, e.g., 0.02. Such processing is
for preventing from the object 100 from acting by a small change of
a load even when a player does not intend. This permits the action
of the object 100 to be much suppressed when a player is standing
upright without motion.
[0108] When the absolute value of the second value W.sub.L(n) is
smaller than the prescribed threshold value c (Step S6), the CPU 40
corrects the second value W.sub.L(n) (Step S7). Specifically, when
the absolute value of the second value W.sub.L(n) is smaller than
the prescribed threshold value c, the second value W.sub.L(n) is
multiplied by the prescribed correction coefficient d.
[0109] Next, the CPU 40 gives a product of the multiplication of
the first value W.sub.R(n) by the second value W.sub.L(n), i.e.,
the value of (W.sub.R(n).times.W.sub.L(n)) (Step S8). When the
value of (W.sub.R(n).times.W.sub.L(n)) is negative and is smaller
than the prescribed threshold value e (Step S9), the processing of
rotating the object to be described later is made (Steps S11-S15).
When the value of (W.sub.R(n).times.W.sub.L(n)) is positive or
larger than the prescribed threshold value e even if
(W.sub.R(n).times.W.sub.L(n)) is negative, the action of the object
100 is determined as follows, based on the first value W.sub.R(n)
and the second value W.sub.L(n) (Step S10). The prescribed
threshold value e can be, e.g., -0.01. Such use of the prescribed
threshold value e is for preventing the rotation, etc. of the
object 100 due to a small load change even when a player does not
intend.
[0110] The CPU 40 determines an action of the object 100 as
follows, based on the first value W.sub.R(n) and the second value
W.sub.L(n).
[0111] The rotation angle A.sub.(n) of the object 100 in the n-th
frame of the local coordinate system is expressed as follows.
A.sub.(n)=(A.sub.X(n), A.sub.Y(n), A.sub.Z(n))
[0112] A.sub.X(n) is the data of the rotation angle of the object
100 on the rotation axis of the X axis. A.sub.Y(n) is the data of
the rotation angle of the object 100 on the rotation axis of the Y
axis. A.sub.Z(n) is the data of the rotation angle of the object
100 on the rotation axis of the Z axis. The right rotation on the
rotation axis is positive, and the left rotation on the rotation
axis is negative.
[0113] When the plane on which the object 100 moves is horizontal,
no rotation is made on the X axis and no rotation is made on the Z
axis. The rotation on the Y axis alone is made. Here, to make the
description simple, the description will be made by means of the
example that the plane on which the object 100 moves is horizontal.
Accordingly, the values of the A.sub.X(n) and the A.sub.Z(n) are 0
respectively here. A.sub.Y(n) is 0 when the central line of the
object 100 in the front-to-rear direction is parallel with the Z
axis and the forward direction of the object 100 agrees with the
negative direction of the Z axis.
[0114] The object 100 may move on an inclined plane. When the
object 100 moves on an inclined plane, not only the A.sub.Y(n) but
also the A.sub.X(n) and the A.sub.Z(n) are considered.
[0115] The rotation angle A.sub.Y(n) in the local coordinate system
is given by the following formula.
A.sub.Y(n)=A.sub.Y(n-1)+(W.sub.L(n)-W.sub.R(n))
[0116] A.sub.Y(n-1) is the data of the rotation angle of the n-1-th
frame, and A.sub.Y(n) is the data of the rotation angle of the
n-1-th frame. The data A.sub.Y(n-1) of the rotation angle of the
n-1-th frame is stored in the rotation angle memory provided in the
system memory 42 (see FIG. 6).
[0117] The minimum value of the (W.sub.L(n)-W.sub.R(n)) is -1.0,
and the maximum value thereof is 1.0.
[0118] The data of the rotation angle A.sub.(n) of the n-th frame
such given is stored in the rotation angle memory provided in the
system memory 42 (see FIG. 6).
[0119] When the object 100 is displayed in the world coordinate
system, the data A.sub.(n) of a rotation angle is converted to a
value A.sub.(n)' of the angle by a prescribed conversion formula or
others.
[0120] As such prescribed conversion formula, the following
conversion formula, for example, can be used.
A.sub.(n)'=k.times.A.sub.(n).times..pi.
[0121] k is a prescribed coefficient.
[0122] The velocity V.sub.(n) of the object 100 in the n-th frame
of the world coordinate system is expressed as follows.
V(n)=(V.sub.X(n), V.sub.Y(n), V.sub.Z(n))
[0123] The velocity V.sub.X(n) of the object 100 in the X axial
direction is expressed as follows.
V.sub.X(n)=(W.sub.R(n)+W.sub.L(n)).times.sin(A.sub.Y(n)')
[0124] When the plane on which the object 100 moves is horizontal,
the V.sub.Y(n) , the velocity of the object 100 in the Y axial
direction is 0.
[0125] The velocity V.sub.Z(n) of the object 100 in the Z axial
direction is expressed as follows.
V.sub.Z(n)=(W.sub.R(n)+W.sub.L(n)).times.cos(A.sub.Y(n)')
[0126] When the object 100 is displayed in the world coordinate
system, the conversion or others of the V.sub.X(n), the V.sub.Y(n)
and the V.sub.Z(n) is made by a prescribed conversion formula or
others.
[0127] FIG. 9 is views of operations of the first controller with
the legs of a player.
[0128] When the gravity center of the right leg 8a of the player is
neither forward nor backward (see FIG. 9A), the first value
W.sub.R(n) is W.sub.R(n)=0. In this case, the jet engine 112a at
the right front part and the jet engine at the right rear part dot
not jet.
[0129] When the center of the gravity of the left leg 8b of the
player is neither forward nor backward (see FIG. 9A), the second
value W.sub.L(n) is W.sub.L(n)=0. In this case, the jet engine 112c
at the left front part and the jet engine 112d at the left rear
part do not jet.
[0130] When the player applies the weight to the side of the tiptoe
of the right leg 8a (see FIG. 9B), the first value W.sub.R(n) is
W.sub.R(n)<0. In this case, the jet engine 112b at the right
rear part jets. The intensity of the jetting is set, based on the
magnitude of the absolute value of the first value W.sub.R(n).
[0131] When the player applies the weight to the side of the tiptoe
of the left leg 8b (see FIG. 9B), the second value W.sub.L(n) is
W.sub.L(n)<0. In this case, the jet engine 112d at the left rear
part jets. The intensity of the jetting is set, based on the
magnitude of the absolute value of the second value W.sub.L(n).
[0132] When the player applies the weight to the side of the heel
of the right leg 8a (see FIG. 9C), the first value W.sub.R(n) is
W.sub.R(n)>0. In this case, the jet engine 112a at the right
front part jets. The intensity of the jetting is set, based on the
magnitude of the absolute value of the first W.sub.R(n).
[0133] When the player applies the weight to the side of the heel
of the left leg 8b (see FIG. 9C), the second value W.sub.L(n) is
W.sub.L(n)>0. In this case, the jet engine 112c at the left
front part jets. The intensity of the jetting is set, based on the
magnitude of the absolute value of the second W.sub.L(n).
[0134] FIG. 10 is views illustrating the case that a player applies
the weight to the side of the tiptoe of the right leg and the side
of the tiptoe of the left leg. The hatchings in FIG. 10 indicate
the parts the player applies the weight to. FIG. 10A is a plan view
illustrating loading the first controller, and FIG. 10B is an
example of a display image illustrating a motion of the object.
[0135] When the player applies the weight to the side of the tiptoe
of the right leg 8a and also to the side of the tiptoe of the left
leg 8b, the CPU 40 displays on the TV monitor 4 the jetting of the
jet engines 112b at the right rear part and the jetting of the jet
engine 112d at the left rear part. The action of the object 100 is
determined as described above.
[0136] FIG. 11 is a view illustrating the case that a player
applies the weight to the side of the heel of the right leg and
also to the side of the heel of the left leg. The hatchings in FIG.
11 indicate the portions to apply the weight to. FIG. 11A is a plan
view of loading the first controller, and FIG. 11B is a view
illustrating an example of display image of the action of the
object.
[0137] When a player applies the weight to the heel of the right
leg 8a and also to the side of the heel of the left leg 8b, the CPU
40 displays on the TV monitor 4 the jetting of the jet engine 112a
at the right front part and also the jetting of the jet engine 112b
at the left front part. The action of the object 100 is determined
as described above.
[0138] In Step S9 (see FIG. 8) described above, when the value of
the (W.sub.R(n).times.W.sub.L(n)) is negative, and the value of the
(W.sub.R(n).times.W.sub.L(n)) is smaller than the prescribed
threshold value e, the processing of the rotation of the object 100
is made as follows.
[0139] FIG. 12 is a view illustrating the case that the player
applies the weight to the side of the heel of the right leg and to
the side of the tiptoe of the left leg. The hatchings in FIG. 12
indicate the portions the player applies the weight. FIG. 12A is a
plan view of loading the first controller, and FIG. 12B a view
illustrating an example of the display image of the action of the
object.
[0140] As illustrated in FIG. 12, when the player applies the
weight to the side of the tiptoe of the left leg 8b while applying
the weight to the side of the heel of the right leg 8a, the first
value W.sub.R(n) and the second value W.sub.L(n) are as
follows.
W.sub.R(n)>0
W.sub.L(n)<0
[0141] As described above, when the first value W.sub.R(n) is
positive, and the second value W.sub.L(n) is negative (Step S11),
the object 100 rotates right.
[0142] In this case, however, it is relatively easy for the left
leg 8b to apply the weight to the side of the tiptoe, but it is not
always easy for the right leg 8a to apply the weight sufficiently
to the side of the heel. Accordingly, in this case, the first value
W.sub.R(n) is corrected (Step S12). Specifically, the first value
W.sub.R(n) is multiplied by the prescribed correction coefficient
h. The prescribed correction coefficient h can be, e.g., 2.
[0143] The corrected first value W.sub.R(n)' is expressed as
follows.
W.sub.R(n)'=W.sub.R(n).times.h
[0144] The CPU 40 stores the corrected first value W.sub.R(n)' in
the W.sub.R(n)' memory provided in the system memory 42 (see FIG.
6).
[0145] When the object 100 is rotated right, by using the corrected
first value W.sub.R(n)' and the second value W.sub.L(n), which has
not been corrected, an action of the object 100 is determined as
follows (Step S13).
[0146] The data A.sub.Y(n) of the rotation angle in the local
coordinate system is given by the following formula.
A.sub.Y(n)=A.sub.Y(n-1)+(W.sub.L(n)-W.sub.R(n)')
[0147] A.sub.Y(n-1) is the data of the rotation angle in the n-1-th
frame, and A.sub.Y(n) is the data of the rotation angle in the n-th
frame. The data of the rotation angle of the n-1-th frame is stored
in the rotation angle memory provided in the system memory 42 (see
FIG. 6).
[0148] The data of the rotation angle A.sub.Y(n) of the n-th frame
thus given is stored in the rotation angle memory provided in the
system memory 42 (see FIG. 6).
[0149] The velocity V.sub.X(n) of the object 100 in the X axial
direction is expressed as follows.
V.sub.X(n)=(W.sub.R(n)'+W.sub.L(n)).times.sin(A.sub.Y(n)')
[0150] When the plane the object 100 moves on is horizontal, the
velocity V.sub.Y(n) of the object 100 in the Y axial direction is
0.
[0151] The velocity V.sub.Z(n) of the object 100 in the Z axial
direction is expressed as follows.
V.sub.Z(n)=(W.sub.R(n)'W.sub.L(n)).times.cos(A.sub.Y(n)')
[0152] The CPU 40 displays on the TV monitor 4 the jetting of the
jet engine 112a at the right front part and also the jetting of the
jet engine 112d at the left rear part. The intensities of the
respective jettings are set, respectively based on the magnitude of
the absolute value of the first value W.sub.R(n) and the magnitude
of the absolute value of the second value W.sub.L(n).
[0153] FIG. 13 is views illustrating the case that a player applies
the weight to the side of the heel of the left leg and to the side
of the tiptoe of the right leg. The hatchings in FIG. 13 indicate
the portions the player applies the weight to. FIG. 13A is a plan
view illustrating loading the first controller, and FIG. 13B is a
view illustrating an example of a display image of the action of
the object.
[0154] As illustrated in FIG. 13, when the player applies the
weight to the tiptoe of the side of the right leg 8a while applying
the weight to the heel of the left leg 8b, the first value
W.sub.R(n) and the second value W.sub.L(n) are as follows.
W.sub.R(n)<0
W.sub.L(n)>0
[0155] When the first value W.sub.R(n) is negative, and the second
value W.sub.L(n) is positive as above, the object 100 is rotated
left.
[0156] In this case, however, it is relatively easy to apply the
weight to the side of the tiptoe of the right leg 8a, but it is not
always easy sufficiently apply the weight to the side of the heel
of the left leg 8b. Accordingly, in this case, the second value
W.sub.L(n) is corrected (Step S14). Specifically, the second value
W.sub.L(n) is multiplied by a prescribed correction coefficient h.
The prescribed correction coefficient h can be, e.g., 2.
[0157] The corrected second value W.sub.L(n)' is expressed as
follows.
W.sub.L(n)'=W.sub.L(n).times.h
[0158] The CPU 40 stores the corrected second value W.sub.L(n)' in
the W.sub.L(n)' memory provided in the system memory 42 (see FIG.
6).
[0159] When the object 100 is rotated left, an action of the object
100 is determined as follows by using the first value W.sub.R(n)
not corrected and the corrected second value W.sub.L(n)' (Step
S16).
[0160] The data of a rotation angle A.sub.Y(n) in the local
coordinate system is given by the following formula.
A.sub.Y(n)=A.sub.Y(n-1)+(W.sub.L(n)'-W.sub.R(n))
[0161] A.sub.Y(n-1) is the data of the rotation angle of the n-1-th
frame, and the A.sub.Y(n) is the data of the rotation angle of the
n-th frame. The data A.sub.Y(n-1) of the rotation angle of the
n-1-th frame is stored in the rotation angle memory provided in the
system memory 42 (see FIG. 6).
[0162] The data of the rotation angle A.sub.Y(n) of the n-th frame
thus given is stored in the rotation angle memory provided in the
system memory 42 (see FIG. 6).
[0163] The velocity V.sub.X(n) of the object 100 in the X axial
direction is expressed as follows.
V.sub.X(n)=(W.sub.R(n)+W.sub.L(n)').times.sin(A.sub.Y(n)')
[0164] When the plane the object 100 moves on is horizontal, the
velocity V.sub.Y(n) of the object 100 in the Y axial direction is
0.
[0165] The velocity V.sub.Z(n) of the object 100 in the Z axial
direction is expressed as follows.
V.sub.Z(n)=(W.sub.R(n)+W.sub.L(n)').times.cos(A.sub.Y(n)')
[0166] The CPU 40 displays on the TV monitor 4 the image that the
jet engine 112c at the left front part jets, and also the jet
engine 112b at the right rear part jets. The intensities of the
respective jettings are set, respectively based on the magnitudes
of the absolute value of the first value W.sub.R(n) and the
magnitudes of the absolute value of the second value
W.sub.L(n).
[0167] Thus, the action of the object 100 is determined for each
frame.
[0168] The processing of determinating an action of the object
illustrated in FIG. 8 is repeated until the game finishes.
[0169] Next, actions of the object 100 will be more specifically
described with reference to FIGS. 14 to 17.
[0170] FIG. 14 is views illustrating a specific example (Part 1) of
the actions of the object. FIG. 14A is a plan view illustrating the
loading applied to the first controller, and FIG. 14B is a plan
view illustrating the action of the object.
[0171] In FIG. 14, the data A.sub.Y(n-1) of the rotation angle of
the n-1-th frame is 0, the first value W.sub.R(n) is -0.3, and the
second value W.sub.L(n) is also -0.3
[0172] The value given by subtracting the first value W.sub.R(n)
from the second value W.sub.L(n) is 0, and accordingly, the data
A.sub.Y(n) of the rotation angle of the n-th frame is the same
value as the data A.sub.Y(n-1) of the rotation angle of the n-1-th
frame. Accordingly, the object 100 does not change the
direction.
[0173] The value given by adding the first value W.sub.R(n) and the
second value W.sub.L(n) is -0.6, and accordingly, the object 100
proceeds in the negative direction of the Z axis at a velocity
corresponding to the magnitude of 0.6.
[0174] FIG. 15 is views illustrating a specific example (Part 2) of
the actions of the object. FIG. 15A is a plan view illustrating the
loading applied to the first controller, and FIG. 15B is a plan
view illustrating the action of the object.
[0175] FIG. 15 illustrates the case that the data A.sub.Y(n-1) of
the rotation angle of the n-1 frame is not 0, the first value
W.sub.R(n) is -0.3, and the second value W.sub.L(n) is also
-0.3.
[0176] The value given by subtracting the first value W.sub.R(n)
from the second value W.sub.L(n) is 0, and accordingly the data
A.sub.Y(n) of the rotation angle of the n-th frame is the same
value as the data A.sub.Y(n-1) of the rotation angle of the n-1-th
frame. Accordingly, the object 100 is retained in the same
direction as in the n-1-th frame.
[0177] The value given by adding the first value W.sub.R(n) and the
second value W.sub.L(n) is -0.6, and accordingly, in the case of
FIG. 15, the object 100 proceeds at a velocity corresponding to the
magnitude of 0.6 in a direction corresponding to the data
A.sub.Y(n) of the rotation angle.
[0178] FIG. 16 is views illustrating a specific example (Part 3) of
the actions of the object. FIG. 16A is a plan view illustrating the
loading applied to the first controller, and FIG. 16B is a plan
view illustrating the action of the object.
[0179] FIG. 16 illustrates the case that the first value W.sub.R(n)
' is 0.3, and the second value W.sub.L(n) is -0.3.
[0180] The value given by subtracting the first value W.sub.R(n)'
from the second value W.sub.L(n) is -0.6, and accordingly, the data
A.sub.Y(n) of the rotation angle of the n-th frame is varied by
-0.6 from the data A.sub.Y(n-1) of the rotation angle of the n-1-th
frame. More specifically, by the above-described conversion
formula, the value of the rotation angle varies by -0.6 k.pi.. In
FIG. 16, in which the direction toward this side as viewed in the
drawing is the positive direction of the Y axis, and the away
direction as viewed in the drawing is the negative direction of the
Y axis, the left rotation on the rotation axis is negative.
Accordingly, when FIG. 16 is viewed from the front, the rotation
direction of the object 100 is right.
[0181] The value given by adding the first value W.sub.R(n)' and
the second value W.sub.L(n) is 0, and accordingly the positional
coordinates of the center of the object 100 do not vary.
[0182] Thus, in the case of FIG. 16, the object 100 does not
proceed but rotates right there by an angle corresponding to the
magnitude of 0.6.
[0183] FIG. 17 is views illustrating a specific example (Part 4) of
the actions of the object. FIG. 17A is a plan view illustrating the
loading applied to the first controller, and FIG. 17B is a plan
view illustrating the action of the object.
[0184] FIG. 17 illustrates the case that the first value W.sub.R(n)
is -0.3, and the second value W.sub.L(n) is -0.1.
[0185] The value given by subtracting the first value W.sub.R(n)
from the second value W.sub.L(n) is 0.2, and accordingly, the data
A.sub.Y(n) of the rotation angle of the n-th frame is varied by
+0.2 from the data A.sub.Y(n-1) of the rotation angle of the n-1-th
frame. More specifically, when the above-described conversion
formula is used, the value of the rotation angle is varied by +0.2
k.pi.. In FIG. 17, in which the direction toward this side as
viewed in the drawing is the positive direction of the Y axis, and
the away direction as viewed in the drawing is the negative
direction of the Y axis, the right rotation on the rotation axis is
positive. Accordingly, when FIG. 17 is viewed from the front, the
rotation direction of the object 100 is left.
[0186] The value given by adding the first value W.sub.R(n) and the
second value W.sub.L(n) is -0.4.
[0187] Accordingly, in the case of FIG. 17, the object 100 proceeds
at the velocity corresponding to the magnitude of 0.4 while
rotating left by the angle corresponding to 0.2.
[0188] FIG. 18 is views illustrating a specific example (Part 5) of
the actions of the object. FIG. 18A is a plan view illustrating the
loading applied to the first controller, and the FIG. 18B is a plan
view illustrating the action of the object.
[0189] FIG. 18 illustrates the case that the first value W.sub.R(n)
is -0.3, and the second value W.sub.L(n)' is 0.1.
[0190] The value given by subtracting the first value W.sub.R(n)
from the second value W.sub.L(n)' is 0.4, and accordingly, the data
A.sub.Y(n) of the rotation angle of the n-th frame is varied by
+0.4 from the data A.sub.Y(n-1) of the rotation angle of the n-1-th
frame. More specifically, when the above-described conversion
formula is used, the value of the rotation angle is varied by +0.4
k.pi.. In FIG. 18, in which the direction toward this side as
viewed in the drawing is the positive direction of the Y axis, and
the away direction as viewed in the drawing is the negative
direction of the Y axis, the right rotation on the rotation axis is
positive. Accordingly, when FIG. 18 is viewed from the front, the
rotation direction of the object 100 is left.
[0191] The value given by adding the first value W.sub.R(n) and the
second value W.sub.L(n)' is -0.2.
[0192] Accordingly, in the case of FIG. 18, the object 100 proceeds
at the velocity corresponding to the magnitude of 0.2 while
rotating left by the angle corresponding to 0.4.
[0193] Thus, the actions of the objects 100 are determined, and the
object 100 on the screen of the TV monitor 4 acts corresponding to
the determined actions.
[0194] In the game of the present embodiment, all the flags 102
have been got, the game finishes.
[0195] As described above, according to the present embodiment, the
first value is calculated, based on a difference between the first
load data based on an output of the first load sensor 82a provided
at the right front part of the supporter 78 for a player to be
supported on, and the second load data based on an output of the
second load sensor 82b provided at the right rear part of the
supporter 78, and the second value is calculated, based on a
difference between the third load data based on an output of the
third load sensor 82c provided at the left front part of the
supporter 78 and the fourth load data based on an output of the
fourth load sensor 82d provided at the left rear part of the
supporter 78. Then, based on the first value and the second value,
an action of the object to be displayed on the display screen is
determined. Thus, according to the present embodiment, the
rotation, etc. of the object 100 can be made, which makes the game
realistically enjoyable.
Modified Embodiments
[0196] The present invention is not limited to the above-described
embodiment and can cover other various modifications.
[0197] For example, the above-described embodiment is described by
means of the example of determinating the actions of the hover
machine by the controller, but the object to have the actions
determined is not limited to the hover machine. The present
invention is applicable to determine actions of, e.g., four-wheel
vehicles, two-wheel vehicles, one-wheel vehicles, etc. For example,
when the value given by adding the first value and the second value
is positive, objects, such as four-wheel vehicles, two-wheel
vehicles, one-wheel vehicles, etc., may be caused to proceed, and
the objects, such as four-wheel vehicles, two-wheel vehicles,
one-wheel vehicles, etc., may be caused to retreat when the value
given by adding the first value and the second value is positive.
That is, the objects may be moved in the same directions as the
object exemplified in the above-described embodiment or may be
moved in directions opposite to the directions the exemplified
object in the above-described embodiment is moved in. The objects
may be turned in the same directions as the object exemplified in
the above-described embodiment or may be turned in the directions
opposite to the directions the object exemplified in the
above-described embodiment is turned in.
INDUSTRIAL APPLICABILITY
[0198] The game device and the computer program according to the
present invention is useful to provide a game which can be
realistically operated.
REFERENCE NUMBERS
[0199] 2 . . . TV table [0200] 4 . . . TV monitor [0201] 6 . . .
player [0202] 8a, 8b . . . legs [0203] 10 . . . game device [0204]
12 . . . game device body [0205] 20 . . . the first controller
[0206] 22 . . . the second controller [0207] 28 . . . various
operational buttons [0208] 28a . . . source button [0209] 28b . . .
cross button [0210] 40 . . . CPU [0211] 42 . . . system memory
(RAM) [0212] 44 . . . bus arbiter [0213] 46 . . . program data
memory device or memory storage medium [0214] 48 . . . BOOT ROM
[0215] 50 . . . rendering processor [0216] 52 . . . graphic memory
[0217] 54 . . . video DAC [0218] 56 . . . sound processor [0219] 58
. . . sound memory [0220] 60 . . . audio DAC [0221] 62 . . .
communication interface [0222] 64 . . . LAN adaptor [0223] 68 . . .
wireless receiver unit [0224] 70 . . . peripheral interface [0225]
78 . . . supporter [0226] 80a-80d . . . leg [0227] 82a-82d . . .
load sensor [0228] 86 . . . AD converter [0229] 88 . . . CPU [0230]
90 . . . wireless transmission unit [0231] 100 . . . object [0232]
102 . . . flag [0233] 104 . . . best record [0234] 106 . . . number
of remaining flags [0235] 108 . . . elapsed time [0236] 110 . . .
character [0237] 112a-112d . . . jet engines [0238] 114 . . .
obstacle
* * * * *