U.S. patent application number 10/197399 was filed with the patent office on 2003-02-27 for image generation method, program, and information storage medium.
This patent application is currently assigned to Namco Ltd.. Invention is credited to Egashira, Norio.
Application Number | 20030040362 10/197399 |
Document ID | / |
Family ID | 19060147 |
Filed Date | 2003-02-27 |
United States Patent
Application |
20030040362 |
Kind Code |
A1 |
Egashira, Norio |
February 27, 2003 |
Image generation method, program, and information storage
medium
Abstract
A motion processing and a movement processing of an object OB1
are performed based on control data from analog levers AL1 and AL2,
each of which is tilted in an arbitrary direction and of which tilt
angle is detectable. When the analog lever AL1 is tilted by a fine
tilt angle .beta.1, the object OB1 is caused to perform an attack
motion in a direction of attack corresponding to the tilting
direction of the analog lever AL1. The attack motion of the object
OB1 is changed depending on the distance between the objects OB1
and OB2 or the angle between the direction to which the object OB1
faces and the direction in which the object OB2 exists. When the
object OB2 exists within a range of direction determined by the
tilting direction of the analog lever AL1, the attack motion of the
object OB1 against the object OB2 is played. The attack motion of
the object OB1 is changed depending on time T1 required to tilt the
analog lever AL1 by a given angle, time T2 until the analog lever
AL1 returns to its neutral position, or the sum of these times
T1+T2. The attack motion is initiated at a position corresponding
to the tilt angle .beta.1, while the direction of motion is
determined at a position corresponding to the tilt angle
.beta.2.
Inventors: |
Egashira, Norio;
(Yokohama-shi, JP) |
Correspondence
Address: |
OLIFF & BERRIDGE, PLC
P.O. BOX 19928
ALEXANDRIA
VA
22320
US
|
Assignee: |
Namco Ltd.
Tokyo
JP
|
Family ID: |
19060147 |
Appl. No.: |
10/197399 |
Filed: |
July 18, 2002 |
Current U.S.
Class: |
463/42 |
Current CPC
Class: |
A63F 13/10 20130101;
A63F 2300/6045 20130101; A63F 13/428 20140902; A63F 13/833
20140902; A63F 2300/8029 20130101 |
Class at
Publication: |
463/42 |
International
Class: |
A63F 009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Jul 27, 2001 |
JP |
2001-227497 |
Claims
What is claimed is:
1. An image generation method of generating an image comprising:
causing a first object to perform a motion based on control data
from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; causing the first
object to move based on control data from a second control lever
which is tilted in an arbitrary direction and of which tilt angle
is detectable; generating an image including an image of the first
object; and causing the first object to perform an attack motion
toward an attack direction which corresponds to a tilting direction
of the first control lever, when the first control lever is tilted
by a given angle.
2. The image generation method as defined in claim 1, comprising:
changing the attack motion of the first object according to at
least one of a distance between the first and second objects and an
angle between a direction to which the first object faces and a
direction in which the second object exists.
3. The image generation method as defined in claim 1, comprising:
causing the first object to perform the attack motion against a
second object, when the second object exists within a given
direction range determined by a tilting direction of the first
control lever.
4. The image generation method as defined in claim 1, comprising:
changing the attack motion of the first object according to at
least one of a first time period required to tilt the first control
lever from the neutral position by a given angle and a second time
period until the first control lever returns from the tilted state
to the neutral position by reaction force.
5. The image generation method as defined in claim 1, comprising:
causing the first object to initiate the attack motion, when the
first control lever is tilted by a first angle; and determining a
direction in which the first object performs the attack motion,
when the first control lever is tilted thereafter by a second angle
which is larger than the first angle.
6. An image generation method of generating an image comprising:
causing a first object to perform a motion based on control data
from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; generating an
image including an image of the first object; and changing the
attack motion of the first object according to at least one of a
distance between the first object and a second object and an angle
between a direction to which the first object faces and a direction
in which the second object exists.
7. An image generation method of generating an image comprising:
causing a first object to perform a motion based on control data
from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; generating an
image including an image of the first object; and causing the first
object to perform a motion for taking an action against a second
object, when the second object exists within a given direction
range determined by a tilting direction of the first control
lever.
8. The image generation method as defined in claim 7, comprising:
causing the first object to perform a motion corresponding to an
angle between a direction to which the first object faces and a
tilting direction of the first control lever, when the second
object does not exist within a given direction range determined by
a tilting direction of the first control lever.
9. An image generation method of generating an image comprising:
causing a first object to perform a motion based on control data
from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; generating an
image including an image of the first object; and changing a motion
of the first object according to at least one of a first time
period required to tilt the first control lever from the neutral
position by a given angle and a second time period until the first
control lever returns from the tilted state to the neutral position
by reaction force.
10. The image generation method as defined in claim 9, comprising:
changing the motion of the first object according to the sum of the
first and second time periods.
11. The image generation method as defined in claim 9, comprising:
causing the first object to initiate a first motion when the first
control lever is tilted by a first angle; continuing the first
object to perform the first motion, when any one of the first time
period, the second time period, and the sum of the first and second
time periods is shorter than a given time period; and causing the
first object to perform a second motion, when any one of the first
time period, the second time period, and the sum of the first and
second time periods is longer than the given time period.
12. An image generation method of generating an image comprising:
causing a first object to perform a motion based on control data
from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; generating an
image including an image of the first object; causing the first
object to initiate a motion, when the first control lever is tilted
by a first angle; and determining a direction in which the first
object performs the motion, when the first control lever is tilted
thereafter by a second angle which is larger than the first
angle.
13. The image generation method as defined in claim 12, comprising:
compensating the first object to face a direction which corresponds
to a tilting direction of the first control lever, when the first
control lever is tilted by a second angle which is larger than a
first angle.
14. The image generation method as defined in claim 6, comprising:
moving the first object based on control data from a second control
lever which is tilted in an arbitrary direction and of which tilt
angle is detectable.
15. The image generation method as defined in claim 7, comprising:
moving the first object based on control data from a second control
lever which is tilted in an arbitrary direction and of which tilt
angle is detectable.
16. The image generation method as defined in claim 9, comprising:
moving the first object based on control data from a second control
lever which is tilted in an arbitrary direction and of which tilt
angle is detectable.
17. The image generation method as defined in claim 12, comprising:
moving the first object based on control data from a second control
lever which is tilted in an arbitrary direction and of which tilt
angle is detectable.
18. A program for a computer to realize: a processing which causes
a first object to perform a motion based on control data from a
first control lever which is tilted in an arbitrary direction and
of which tilt angle is detectable; a processing which causes the
first object to move based on control data from a second control
lever which is tilted in an arbitrary direction and of which tilt
angle is detectable; and a processing which generates an image
including an image of the first object, wherein the first object is
caused to perform an attack motion toward an attack direction which
corresponds to a tilting direction of the first control lever, when
the first control lever is tilted by a given angle.
19. The program as defined in claim 18, wherein the attack motion
of the first object is changed according to at least one of a
distance between the first and second objects and an angle between
a direction to which the first object faces and a direction in
which the second object exists.
20. The program as defined in claim 18, wherein the first object is
caused to perform the attack motion against a second object, when
the second object exists within a given direction range determined
by a tilting direction of the first control lever.
21. The program as defined in claim 18, wherein the attack motion
of the first object is changed according to at least one of a first
time period required to tilt the first control lever from the
neutral position by a given angle and a second time period until
the first control lever returns from the tilted state to the
neutral position by reaction force.
22. The program as defined in claim 18, wherein the first object is
caused to initiate the attack motion, when the first control lever
is tilted by a first angle, and wherein a direction in which the
first object performs the attack motion is determined, when the
first control lever is tilted thereafter by a second angle which is
larger than the first angle.
23. A program for a computer to realize: a processing which causes
a first object to perform a motion based on control data from a
first control lever which is tilted in an arbitrary direction and
of which tilt angle is detectable; and a processing which generates
an image including an image of the first object, wherein the attack
motion of the first object is changed according to at least one of
a distance between the first object and a second object and an
angle between a direction to which the first object faces and a
direction in which the second object exists.
24. A program for a computer to realize: a processing which causes
a first object to perform a motion based on control data from a
first control lever which is tilted in an arbitrary direction and
of which tilt angle is detectable; and a processing which generates
an image including an image of the first object, wherein the first
object is caused to perform a motion for taking an action against a
second object, when the second object exists within a given
direction range determined by a tilting direction of the first
control lever.
25. The program as defined in claim 24, wherein the first object is
caused to perform a motion corresponding to an angle between a
direction to which the first object faces and a tilting direction
of the first control lever, when the second object does not exist
within a given direction range determined by a tilting direction of
the first control lever.
26. A program for a computer to realize: a processing which causes
a first object to perform a motion based on control data from a
first control lever which is tilted in an arbitrary direction and
of which tilt angle is detectable; and a processing which generates
an image including an image of the first object, wherein a motion
of the first object is changed according to at least one of a first
time period required to tilt the first control lever from the
neutral position by a given angle and a second time period until
the first control lever returns from the tilted state to the
neutral position by reaction force.
27. The program as defined in claim 26, wherein the motion of the
first object is changed according to the sum of the first and
second time periods.
28. The program as defined in claim 26, wherein the first object is
caused to initiate a first motion when the first control lever is
tilted by a first angle, wherein the first object is continued to
perform the first motion, when any one of the first time period,
the second time period, and the sum of the first and second time
periods is shorter than a given time period, and wherein the first
object is caused to perform a second motion, when any one of the
first time period, the second time period, and the sum of the first
and second time periods is longer than the given time period.
29. A program for a computer to realize: a processing which causes
a first object to perform a motion based on control data from a
first control lever which is tilted in an arbitrary direction and
of which tilt angle is detectable; and a processing which generates
an image including an image of the first object, wherein the first
object is caused to initiate a motion, when the first control lever
is tilted by a first angle; and wherein a direction in which the
first object performs the motion is determined, when the first
control lever is tilted thereafter by a second angle which is
larger than the first angle.
30. The program as defined in claim 29, wherein the first object is
compensated to face a direction which corresponds to a tilting
direction of the first control lever, when the first control lever
is tilted by a second angle which is larger than a first angle.
31. The program as defined in claim 23, wherein the first object is
moved based on control data from a second control lever which is
tilted in an arbitrary direction and of which tilt angle is
detectable.
32. The program as defined in claim 24, wherein the first object is
moved based on control data from a second control lever which is
tilted in an arbitrary direction and of which tilt angle is
detectable.
33. The program as defined in claim 26, wherein the first object is
moved based on control data from a second control lever which is
tilted in an arbitrary direction and of which tilt angle is
detectable.
34. The program as defined in claim 29, wherein the first object is
moved based on control data from a second control lever which is
tilted in an arbitrary direction and of which tilt angle is
detectable.
35. A computer-readable information storage medium storing the
program as defined in claim 18.
36. A computer-readable information storage medium storing the
program as defined in claim 23.
37. A computer-readable information storage medium storing the
program as defined in claim 24.
38. A computer-readable information storage medium storing the
program as defined in claim 26.
39. A computer-readable information storage medium storing the
program as defined in claim 29.
Description
[0001] Japanese Patent Application No. 2001-227497, filed on Jul.
27, 2001, is hereby incorporated by reference in its entirety.
BACKGROUND
[0002] The present invention relates to a method, program and
information storage medium for image generation.
[0003] There is known an image generating system (or game system)
for generating an image as viewed through a virtual camera (or a
given viewpoint) within an object space that is a virtual
three-dimensional space. Such an image generating system is highly
popular as one that can provide a so-called virtual reality.
[0004] For example, in an image generating system for fighting
game, a player may use a game controller 10 (which is, in a broad
sense, a control section) to control an object OB1 (or player's
character), as shown in FIG. 1. The player will enjoy the game by
causing the player's character to fight another object OB2 (or
enemy character) which is controlled by another player or a
computer.
[0005] In such a case, the game controller 10 includes a direction
indicating key 12 and control buttons 14, 16, 18 and 20. When the
direction indicating key 12 is depressed at its right or left side,
the player's character moves rightward or leftward. If each of the
control buttons 14, 16, 18 and 20 is depressed, the player's
character OB1 thrusts a right punch, a left punch, a right kick or
a left kick.
[0006] Such a control is effective for such a fighting game that
the player's character OB1 battles the enemy character OB2 in a
one-on-one manner.
[0007] However, such a control as shown in FIG. 1 is unsuitable for
use in such a fighting game that the player's character OB1 fights
a plurality of objects OB2 (multi-object fighting game). This
raises a technical problem in that an operating environment (or
interface environment) optimum for a player (which is, in a broad
sense, an operator) cannot be provided.
SUMMARY
[0008] One aspect of the present invention relates to an image
generation method of generating an image comprising:
[0009] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0010] causing the first object to move based on control data from
a second control lever which is tilted in an arbitrary direction
and of which tilt angle is detectable;
[0011] generating an image including an image of the first object;
and
[0012] causing the first object to perform an attack motion toward
an attack direction which corresponds to a tilting direction of the
first control lever, when the first control lever is tilted by a
given angle.
[0013] Another aspect of the present invention relates to an image
generation method of generating an image comprising:
[0014] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0015] generating an image including an image of the first
object;
[0016] changing the attack motion of the first object according to
at least one of a distance between the first object and a second
object and an angle between a direction to which the first object
faces and a direction in which the second object exists.
[0017] Further aspect of the present invention relates to an image
generation method of generating an image comprising:
[0018] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0019] generating an image including an image of the first object;
and
[0020] causing the first object to perform a motion for taking an
action against a second object, when the second object exists
within a given direction range determined by a tilting direction of
the first control lever.
[0021] Still another aspect of the present invention relates to an
image generation method of generating an image comprising:
[0022] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable; and
[0023] generating an image including an image of the first object,
and
[0024] changing a motion of the first object according to at least
one of a first time period required to tilt the first control lever
from the neutral position by a given angle and a second time period
until the first control lever returns from the tilted state to the
neutral position by reaction force.
[0025] Still further aspect of the present invention relates to an
image generation method of generating an image comprising:
[0026] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0027] generating an image including an image of the first object;
and
[0028] causing the first object to initiate a motion, when the
first control lever is tilted by a first angle; and
[0029] determining a direction in which the first object performs
the motion, when the first control lever is tilted thereafter by a
second angle which is larger than the first angle.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
[0030] FIG. 1 illustrates a conventional process of controlling a
fighting game.
[0031] FIG. 2 is a functional block diagram of an image generating
system according to this embodiment.
[0032] FIGS. 3A, 3B and 3C illustrate a procedure of sensing the
angle and direction of a tilted analog lever.
[0033] FIGS. 4A, 4B and 4C illustrate a process of performing the
control using analog levers AL1 and AL2 according to this
embodiment.
[0034] FIGS. 5A, 5B and 5C illustrate a technique of changing the
motion of an object OB1 depending on the distance between the
object OB1 and another object OB2 or an angle included between a
direction to which the object OB1 faces and a direction in which
the object OB2 exists.
[0035] FIGS. 6A and 6B show game pictures generated according to
this embodiment.
[0036] FIGS. 7A and 7B show game pictures generated according to
this embodiment.
[0037] FIGS. 8A and 8B show game pictures generated according to
this embodiment.
[0038] FIG. 9 shows a game picture generated according to this
embodiment.
[0039] FIGS. 10A, 10B and 10C illustrate a technique of determining
the motion of the object OB1 after it has been judged whether or
not the object OB2 exists within the range of direction determined
by a tilting direction of an analog lever.
[0040] FIGS. 11A and 11B illustrate a technique of realizing a
quick motion of an object by quickly actuating an analog lever.
[0041] FIGS. 12A and 12B show game pictures generated according to
this embodiment.
[0042] FIGS. 13A, 13B, 13C and 13D illustrate a technique of
initiation a motion by finely actuating an analog lever and
thereafter determining the direction of motion.
[0043] FIG. 14 illustrates a technique of compensating the
orientation of an object.
[0044] FIG. 15 is a flowchart illustrating the details of a process
in this embodiment.
[0045] FIG. 16 is a flowchart illustrating the details of another
process in this embodiment.
[0046] FIG. 17 is a flowchart illustrating the details of still
another process in this embodiment.
[0047] FIG. 18 shows a hardware structure by which this embodiment
can be realized.
[0048] FIGS. 19A, 19B and 19C show various system forms to which
this embodiment can be applied.
DETAILED DESCRIPTION
[0049] This embodiment will now be described.
[0050] Note that the embodiments described herein do not in any way
limit the scope of the invention as laid out in the claims.
Similarly, the entirety of the configuration described for these
embodiments does not place any limitations on the essential
components of the means in accordance with the present
invention.
[0051] One embodiment of the present invention relates to an image
generation method of generating an image comprising:
[0052] causing a first object to perform a motion based on control
data from a first control lever which is tilted (pushed) in an
arbitrary direction and of which tilt angle (an angle of the first
control lever from the neutral position) is detectable;
[0053] causing the first object to move based on control data from
a second control lever which is tilted in an arbitrary direction
and of which tilt angle is detectable; and
[0054] generating an image including an image of the first object;
and
[0055] causing the first object to perform an attack motion toward
an attack direction which corresponds to a tilting direction of the
first control lever, when the first control lever is tilted by a
given angle.
[0056] According to this configuration, when the second control
lever is tilted, the first object moves in a direction
corresponding to a tilting direction of the second control lever.
On the other hand, when the first control lever is tilted by a
given angle, the first object performs an attack motion (e.g., a
motion in which an object thrusts a part object or the like in the
direction of attack) in a direction corresponding to a tilting
direction of the first control lever.
[0057] Thus, only by tilting the first control lever by a given
angle, the first object performs the attack motion in the direction
corresponding to the tilting direction of the first control lever.
This provides a simplified control environment which can
intuitively be understood by a player.
[0058] Moreover, the player (or operator) can cause the first
object to perform a motion through the second control lever while
moving the first object through the second control lever. This also
provides a player with a preferred control environment.
[0059] When the maximum tilt angle of the first control lever is
.beta.MAX and the accuracy of the tilt angle is
.beta.AC=.beta.MAX/N, a given tilt angle .beta.1 of the first
control lever can be represented by .beta.1=.beta.AC.times.K
(K<N), for example.
[0060] In this configuration, the image generation method may
comprise:
[0061] changing the attack motion of the first object according to
at least one of a distance between the first and second objects and
an angle between a direction to which the first object faces and a
direction in which the second object exists.
[0062] In this configuration, the image generation method may
comprise:
[0063] causing the first object to perform the attack motion
against a second object, when the second object exists within a
given direction range determined by a tilting direction of the
first control lever.
[0064] In this configuration, the image generation method may
comprise:
[0065] changing the attack motion of the first object according to
at least one of a first time period required to tilt the first
control lever from the neutral position by a given angle and a
second time period until the first control lever returns from the
tilted state to the neutral position by reaction force.
[0066] In this configuration, the image generation method may
comprise:
[0067] causing the first object to initiate the attack motion, when
the first control lever is tilted by a first angle; and
[0068] determining a direction in which the first object performs
the attack motion, when the first control lever is tilted
thereafter by a second angle which is larger than the first
angle.
[0069] Another embodiment relates to an image generation method of
generating an image comprising:
[0070] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0071] generating an image including an image of the first object;
and
[0072] changing the attack motion of the first object according to
at least one of a distance between the first object and a second
object and an angle between a direction to which the first object
faces and a direction in which the second object exists.
[0073] According to this configuration, the motion of the first
object can multiply be changed according to a distance between the
first object and a second object and an angle between a direction
to which the first object faces (e.g., frontward direction) and a
direction in which the second object exists (e.g., a direction
connecting the first and second objects, a tilting direction, or a
direction of action). Thus, the multiple motions can be represented
through a simple operation.
[0074] Further embodiment of the present invention relates to an
image generation method of generating an image comprising:
[0075] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0076] generating an image including an image of the first object;
and
[0077] causing the first object to perform a motion for taking an
action against a second object, when the second object exists
within a given direction range determined by a tilting direction of
the first control lever.
[0078] According to this configuration, the first object can be
caused to perform a motion for taking an action against the second
object, even when a direction of action (such as a direction of
attack) corresponding to a tilting direction of the first control
lever is not completely consistent with a direction in which the
second object exists. Thus, the motion of the first object can be
determined by a simple process.
[0079] In this configuration, the image generation method may
comprise:
[0080] causing the first object to perform a motion corresponding
to an angle between a direction to which the first object faces and
a tilting direction of the first control lever, when the second
object does not exist within a given direction range determined by
a tilting direction of the first control lever.
[0081] Thus, even a motion of the first object which indicates a
failure of the action can realistically be represented.
[0082] Still another embodiment of the present invention relates to
an image generation method of generating an image comprising:
[0083] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0084] generating an image including an image of the first object;
and
[0085] changing a motion of the first object according to at least
one of a first time period required to tilt the first control lever
from the neutral position by a given angle and a second time period
until the first control lever returns from the tilted state to the
neutral position by reaction force.
[0086] According to this configuration, a motion of the first
object can be changed according to a time period for tilting the
first control lever (or tilting speed) or a time period until the
first control lever returns (or returning seed). Therefore, the
multiple motion of the first object can be represented in an
operating environment which does not provide any artificiality to
the player.
[0087] In this configuration, the image generation method may
comprise:
[0088] changing the motion of the first object according to the sum
of the first and second time periods.
[0089] Thus, any uncertain factor on measuring the time period can
be reduced while realizing an environment of quick operation.
[0090] In this configuration, the image generation method may
comprise:
[0091] causing the first object to initiate a first motion when the
first control lever is tilted by a first angle;
[0092] continuing the first object to perform the first motion,
when any one of the first time period, the second time period, and
the sum of the first and second time periods is shorter than a
given time period; and
[0093] causing the first object to perform a second motion, when
any one of the first time period, the second time period, and the
sum of the first and second time periods is longer than the given
time period.
[0094] Thus, an environment of quick operation can be realized
since the first motion is initiated at a point of time when the
first control lever has been tilted by a given angle. In addition,
multiple motion can be represented while reducing any uncertain
factor on measuring the time period, since either of the first or
second motion is determined to be performed according to the first
time period, second time period, or the sum of the first and second
time periods.
[0095] Still further embodiment of the present invention relates to
an image generation method of generating an image comprising:
[0096] causing a first object to perform a motion based on control
data from a first control lever which is tilted in an arbitrary
direction and of which tilt angle is detectable;
[0097] generating an image including an image of the first
object;
[0098] causing the first object to initiate a motion, when the
first control lever is tilted by a first angle; and
[0099] determining a direction in which the first object performs
the motion, when the first control lever is tilted thereafter by a
second angle which is larger than the first angle.
[0100] According to this configuration, the motion of the first
object is provisionally initiated when the first control lever is
tilted by the first angle. Thus, the environment of quick operation
can be realized. When the first control lever is subsequently
tilted by the second angle, the direction in which the first object
performs its motion (e.g., the direction of motion, the direction
of action or the direction of attack) is determined. Even when the
first control lever is moved in a serpentine manner, the motion of
the first object can be performed in a direction intended by the
player.
[0101] In this configuration, the image generation method may
comprise:
[0102] compensating the first object to face a direction which
corresponds to a tilting direction of the first control lever, when
the first control lever is tilted by a second angle which is larger
than a first angle.
[0103] Thus, the orientation of the first object may be changed
while performing the motion. This can provide a representation of
motion which does not provide any sense of artificiality to the
player.
[0104] In this configuration, the image generation method may
comprise:
[0105] moving the first object based on control data from a second
control lever which is tilted in an arbitrary direction and of
which tilt angle is detectable.
[0106] Thus, a preferred environment of operation can be provided
which can control the movement of the first object through the
second control lever while controlling the motion of the first
object through the first control lever.
[0107] This embodiment will be described in further detail with
reference to the drawing.
[0108] 1. Configuration
[0109] FIG. 2 shows a block diagram of an image generating system
(or game system) according to this embodiment. In this figure, this
embodiment may comprise at least a processing section 100 (or a
processing section 100 with a storage section 170). Each of the
other blocks may take any suitable form.
[0110] A control section 160 is used to input operational data from
the player and the function thereof may be realized through any
suitable hardware means such as a lever, a button, a housing or the
like.
[0111] The storage section 170 provides a working area for the
processing section 100, a communication section 196 and others. The
function thereof may be realized by any suitable hardware means
such as RAM or the like.
[0112] An information storage medium (which may be a
computer-readable storage medium) 180 is designed to store
information including programs, data and others. The function
thereof may be realized through any suitable hardware means such as
optical memory disk (CD or DVD), magneto-optical disk (MO),
magnetic disk, hard disk, magnetic tape, memory (ROM) or the like.
The processing section 100 performs various processings in the
present invention (or this embodiment) based on a program (or data)
that has been stored in this information storage medium 180. In
other words, the information storage medium 180 stores (or records)
a program for causing a computer to operate as the respective one
of various sections or portions (which are particularly the blocks
included in the processing section 100) in the present invention or
this embodiment (that is, a program for causing a computer to
realize the respective processings). Such a program may contain one
or more modules (as well as object-oriented objects), for
example.
[0113] Part or the whole of the information stored in the
information storage medium 180 will be transferred to the storage
section 170 when the system is initially powered on. The
information stored in the information storage medium 180 may
contain at least one of program code set for processing the present
invention, image data, sound data, shape data of objects to be
displayed, table data, list data, information for instructing the
processings in the present invention, information for performing
the processings according to these instructions and so on.
[0114] A display section 190 is to output an image generated
according to this embodiment and the function thereof can be
realized by any suitable hardware means such as CRT, LCD or HMD
(Head-Mount Display).
[0115] A sound output section 192 is to output a sound generated
according to this embodiment and the function thereof can be
realized by any suitable hardware means such as speaker.
[0116] A portable information storage device 194 is to store the
player's personal data and save data and maybe take any suitable
form such as memory card, portable game machine and so on.
[0117] A communication section 196 is designed to perform various
controls for communication between the game system and any external
device (e.g., host device or other image generating system). The
function thereof may be realized through any suitable hardware
means such as various types of processors or communication ASIS or
according to any suitable program.
[0118] The program (or data) for causing the computer to realize
the respective processings in the present invention or this
embodiment may be delivered from an information storage medium
included in a host device (or server) to the information storage
medium 180 through a network and the communication section 196. The
use of such an information storage medium in the hose device (or
server) falls within the scope of the invention.
[0119] The processing section (processor) 100 is to perform various
processings such as game processing, image generating or sound
generating, based on the control data or program from the control
section 160. In such a case, the processing section 100 performs
various processings using a main storage section 172 in the storage
section 170 as a working area.
[0120] The processing section 100 may be designed to perform
various processes such as coin (or charge) reception, setting of
various modes, game proceeding, setting of scene selection,
determination of the position and rotation angle (about X-, Y- or
Z-axis) of an object, movement of the object (motion processing),
determination of the position of the viewpoint (or virtual camera)
and the angle of visual line (or the rotational angle of the
virtual camera), arrangement of the object within the object space,
hit checking, computation of the game results (or scores),
processing for causing a plurality of players to play in a common
game space and various other game processings including
game-over.
[0121] The processing section 100 comprises a movement processing
section 110, a motion processing portion 112, an image generating
section 120 and a sound generating section 130. However, the
processing section 100 is not required to include all of these
functions.
[0122] The movement processing section 110 is designed to control
the movement of an object (i.e., a moving object such as a
character, robot, motorcar, tank or the like).
[0123] More particularly, the movement processing section 110
performs a process of moving (or translating or rotating) an object
within an object space (or game space). Such a process of moving
the object can be realized by determining the position or rotation
angle of the object in the present frame (inter), based on the
operational data from the control section 160 or the position or
rotation angle (or direction) of the same object in the previous
frame (e.g., before {fraction (1/60)} seconds or {fraction (1/30)}
seconds). For example, if it is assumed that the position and
rotation angle of the object in a frame (k-1) are respectively Pk-1
and .theta.k-1 and that the amount of positional change (or
velocity) and the amount of rotational change (rotational velocity)
in the object at one frame are respectively .DELTA.P and
.DELTA..theta., the position Pk and rotation angle .theta.k of the
object at a frame k may be determined according to the following
formulas (1) and (2):
Pk=Pk-1+.DELTA.P (1)
.theta.k=.theta.k-1+.DELTA..theta. (2)
[0124] The motion processing portion 112 performs a process of
causing an object to perform a motion (or animation) (i.e. motion
play or motion generation). The processing for the motion of the
object can be realized by playing it based on a motion data which
has been stored in a motion data storage section 176.
[0125] More particularly, the motion data storage section 176 has
stored the motion data containing the position or rotation angle of
each of part objects forming an object (or skeleton) (or motion
bones forming a skeleton). The motion processing portion 112 is
designed to read out this motion data and to play the motion of the
object by moving the part objects of the object (or by deforming
the shape of the skeleton of the object) based on the read out
motion data.
[0126] It is desirable that the motion data stored in the motion
data storage section 176 has been prepared by capturing the motion
of a real person on which various sensors are mounted. However, the
motion data may be generated in real time through a physical
simulation (which is a simulation utilizing a physical calculation
which may be a pseudo-calculation).
[0127] It is further desirable that the motion play is performed
using a motion interpolation or inverse kinematics so as to play a
realistic motion with less motion data.
[0128] In this embodiment, the control section 160 includes analog
levers AL1 and AL2 (which are, in a broad sense, first and second
control levers that can be tilted in any direction and that can
detect the angles of the first and second control levers).
[0129] The movement processing section 110 is designed to move an
object (or character) based on the control data from the analog
lever AL2 (or second control lever) which may contain volume values
in the first and second axial directions.
[0130] More particularly, the object is moved in a direction of
movement corresponding to the tilting direction of the analog lever
AL2 (or second control lever) is tilted. (The direction of movement
maybe defined in a one-to-one manner corresponding to an arbitrary
tilting direction.) In such a case, the velocity of the moving
object may be changed depending on the angle of the analog lever
AL2. It is further desirable that when the object is moved by the
analog lever AL2, the object is caused to perform a motion of
movement corresponding to the velocity of object movement (e.g.,
walking or running motion).
[0131] The motion processing portion 112 is designed to perform a
process of causing the object (or character) to perform a motion
based on the control data of the analog lever AL1 (or first control
lever) which may contain volume values in the first and second
axial directions, for example. Such a process may include a motion
play and/or motion generation.
[0132] More particularly, the object is caused to perform a motion
(or action motion) in a direction of action corresponding to the
tilting direction of the analog lever AL1, which direction of
action may be determined corresponding to an arbitrary tilting
direction in a one-to-one manner, such that a direction of attack,
a direction of guard, a direction of ball hit, a direction of ball
catch or a direction of item taking. In other words, the object is
caused to perform a motion in which the part objects (hand and leg
objects) of a object are moved or another motion in which the
representative point of the object is shifted in position, in this
direction of action.
[0133] In this embodiment, furthermore, the object may be changed
in motion (or provide different motions) depending on a distance
between the objects (or first and second objects), a time required
to tilt the analog lever AL1 by a given angle (or a velocity at
which the analog lever AL1 is tilted), or a time required for the
analog lever AL1 to return to its neutral position under reaction
force (or a velocity at which the analog lever AL1 returns to its
neutral position).
[0134] In this embodiment, it is judged whether or not the other
object (or second object) to be attacked by the player's object
exists within a range of direction determined by the tilting
direction of the analog lever AL1 (or a range of direction selected
from plural pre-divided ranges of direction depending on the
tilting direction). If so, the object (or first object) is caused
to perform an action motion in which an action is provided to the
other object.
[0135] In this embodiment, the motion of the object hastens to be
initiated (or the motion play is started) if the analog lever AL1
is tilted by an angle .beta.1 (e.g., an angle required to secure a
play). For example, if the analog lever AL1 is further tilted to
another angle .beta.2 (.beta.2>.beta.1) for a predetermined time
period, the direction of motion (the direction of action) in the
object is determined.
[0136] The image generating section 120 processes, generates and
outputs an image toward the display section 190, based on the
results of various processings in the processing section 100. For
example, with generation of a so-called three-dimensional game
image, the coordinate transformation, clipping, perspective
transformation or light-source calculation is first carried out.
The results of that processing are then used to prepare a drawing
data (e.g., positional coordinates given to a vertex (or
configuration point) of a primitive face, texture coordinates,
color (brightness) data, normal vector or .alpha.-value). Based on
this drawing data (or primitive face data), the image of the
geometry-processed object (one or more primitive faces) is drawn in
a drawing buffer 174 (or a buffer which can store the image
information by pixel, such as a frame buffer or a work buffer).
Thus, an image visible from a virtual camera (or a given viewpoint)
within the object space can be generated.
[0137] The sound generating section 130 is designed to process,
generate and output BGMs, sound effects or voices toward the sound
output section 192, based on the results of various processings in
the processing section 100.
[0138] The image generating system of this embodiment may be
dedicated for a single-player mode in which only a single player
can play the game or may have a multi-player mode in which a
plurality of players can play the game.
[0139] If a plurality of players play the game, only a single
terminal may be used to generate game images and sounds to be
provided to all the players. Alternatively, a plurality of
terminals (game machines or portable telephones) interconnected
through a network (transmission line or communication line) may be
used in the present invention.
[0140] 2. Features of this Embodiment
[0141] Features of this embodiment will now be described with
reference to the drawing. Although a fighting game to which this
embodiment is applied will mainly be described below, this
embodiment may broadly be applied to any of various other
games.
[0142] 2.1 Attack Motion Through Analog Levers
[0143] FIG. 3A shows a game controller 30 (which is, in a broad
sense, a control section) usable in this embodiment. This game
controller 30 is provided with a direction indicating key (or cross
key) 32, control buttons 34, 36, 38 and 40, and analog levers AL1
and AL2 (or first and second control levers).
[0144] Each of these analog levers (or analog sticks or analog
direction keys) AL1 and AL2 is a control lever which can be tilted
in any direction (or by any angle between 0 and 360 degrees) as
shown in FIG. 3A and of which tilted angle is detectable. Any
conventional digital (or binary) control lever can only detect a
binary value, that is, a value when the lever is in its neutral
position or a value when the lever is tilted. On the contrary, the
analog levers AL1 and AL2 can detect a tilted angle represented by
a multilevel value (ternary or higher value). For example, if it is
assumed that the maximum tilt angle is .beta.MAX, the tilt angle
can be detected with an accuracy of .beta.MAX/N (N.gtoreq.3).
[0145] More particularly, as shown in FIG. 3B, each of the analog
levers AL1 and AL2 can detect its tilt angle .beta. and its tilting
direction TD (e.g., an angle .alpha. included between that lever
and X-axis).
[0146] Namely, the one analog lever AL (AL1 or AL2) comprises a
first sensor (not shown) for sensing a volume value XVL in a
direction of X-axis (which is, in a broad sense, a first axis) and
a second sensor (not shown) for sensing a volume value ZVL in a
direction of Z-axis (which is, in a broad sense, a second axis).
These volume values XVL and ZVL (e.g., values between 0 and 255)
correspond to rotation angles about Z- and X-axes,
respectively.
[0147] As shown in FIG. 3C, the volume values XVL and ZVL (or first
and second coordinate components of the control vector) detected by
the first and second sensors are then used to calculate a distance
D corresponding to the tilt angle .beta. of one analog lever AL
(AL1 or AL2), that is, D=(XVL.sup.2+ZVL.sup.2).sup.1/2 (or the
length of the control vector). These volume values XVL and ZVL are
also used to calculate an angle .alpha. corresponding to the
tilting direction TD (or the direction of the control vector) in
the one analog lever AL (AL1 or AL2), that is,
.alpha.=tan.sup.-1(ZVL/XVL).
[0148] The tilt angle .beta. (or distance D) and the tilting
direction TD (or angle .alpha.) are then used to perform the
processings of object movement and motion.
[0149] More particularly, as shown in FIG. 4A, the direction in
which the analog lever AL2 (or second control lever) is tilted is
detected. In a direction of movement corresponding to such a
tilting direction, an object OB1 (or a first object to be
controlled or player's character) is moved. For example, if the
analog lever AL2 is tilted forward, backward, leftward or
rightward, the object OB1 is also moved forward, backward, leftward
or rightward within the object space. In such a case, the object
OB1 may be moved in any direction of movement (or with any angle
between 0 and 360 degrees) since the analog lever AL2 can be tilted
in any direction (or by any angle between 0 and 360 degrees).
Furthermore, the velocity of the moving object OB1 can also be
changed based on the tilt angle .beta. in the analog lever AL2.
[0150] On the other hand, as shown in FIG. 4C, the direction TD in
which the analog lever AL1 is tilted by a given angle (e.g., a fine
angle within 0 and 10 degrees) is detected. In a direction of
attack AD corresponding to that tilting direction TD (which is, in
a broad sense, a direction of action), the object OB1 takes a
motion of attack (which is, in a broad sense, a motion or action
motion).
[0151] In FIG. 4B, for example, when the analog lever AL1 is tilted
rightward and forward, the object OB1 performs an attack motion in
the rightward and forward direction. This attack hits another
object OB2-1 (or the second object to be subjected to this action)
located at the rightward and forward position.
[0152] On the other hand, FIG. 4C shows that since the analog lever
AL1 is tilted leftward and backward, the object OB1 performs the
attack motion in the leftward and backward direction. This attack
hits still another object OB2-2 located at the leftward and
backward position.
[0153] In such a manner, this embodiment performs the processing of
moving the object OB1 based on the control data from the analog
lever AL2 and the processing of motion in the object OB2 based on
the control data from the analog lever AL1. Thus, this embodiment
can provides a preferred control environment to the player in
comparison with the prior art described in connection with FIG.
1.
[0154] More particularly, in the control method of FIG. 1, the
player cannot explicitly specify the direction of attack in the
object OB1 (or player's character). This provided an operating
environment (or interface environment) which cannot easily be
understood by the player by intuition.
[0155] On the contrary, in the control method of this embodiment
shown in FIGS. 4A, 4B and 4C, the player can explicitly specify the
direction of attack AD (or the direction of action) in the object
OB1 depending on the tilting direction of the analog lever AL1.
Therefore, this embodiment can provide an operating environment
which can easily be understood by the player by intuition.
[0156] Furthermore, the control method of FIG. 1 must execute an
attack after the orientation of the object OB1 has been modified to
face the object OB2. For example, if the object OB1 moves behind
the object OB2, the attack against the object OB2 must be performed
after the orientation of the object OB1 has been modified from the
rightward direction to the leftward direction.
[0157] On the contrary, the control method of this embodiment can
simultaneously realize both the motions of movement and attack of
the object OB1. In other words, the attacks can be executed in all
the directions through only one action without modification of the
orientation of the object OB1 for each attack. This simplifies the
control method.
[0158] As shown in FIG. 4B, for example, the object OB1 can take an
attack against the other object OB2-1 through only one action in
which the analog lever AL1 is tilted rightward and forward, without
modification of the orientation of the object OB1. Similarly, as
shown in FIG. 4C, the object OB1 can take an attack against the
other object OB2-2 through only one action in which the analog
lever AL1 is tilted leftward and backward.
[0159] In addition, the control method of FIG. 1 is not suitable
for use in such a type of game that the object OB1 battles a number
of objects OB2 (or multi-player battle game) since this control
method cannot explicitly specify the direction of attack.
[0160] On the contrary, the control method of this embodiment can
provides a preferred control environment for the multi-player
battle game since this control method can take an attack in any
direction through a simplified process. More particularly, such a
game that the object OB1 controlled by the player battles a number
of enemy's objects OB2 can be realized, as shown in FIGS. 4A, 4B
and 4C. This can improve the feel of the player for virtual
reality.
[0161] In this embodiment, furthermore, a plurality of game players
can compete for their skills based on the accuracy relating to the
directions in which the analog levers AL1 and AL2 are tilted. This
can provide an operating environment which can easily be understood
by the players.
[0162] It is desirable to provide an indication which represents
the direction of attack AD (or the direction of motion) in the
object OB1, as shown in FIGS. 4B and C. This may be an arrow AH
extending from the position of the object OB1 toward the direction
of attack AD (or the direction in which an enemy object exists).
Thus, a player can immediately and explicitly recognize the
direction of the attack performed by the player.
[0163] The arrow AH may be continuously extended depending on the
tilt angle in the analog lever AL1.
[0164] If it is judged that the input has been established from a
fixed tilt angle in the analog lever AL1, the image (or design) of
the arrow AH may be changed to indicate the establishment of input
to the player.
[0165] If the player continuously tilts the analog lever AL1 in a
plurality of directions, all the arrows AH indicating the
establishments of input may be left in all the directions.
[0166] In addition, if the input of attack cannot be made for such
a reason that the motion play of attack in the object OB1 is not
lasted or that the object OB1 is damaged, the arrow AH may not be
indicated to advise the player that the input is now
impossible.
[0167] 2.2 Change of Attack Motion Depending on the Relationship of
Distance or Direction
[0168] The present invention changes the motion of attack (or
motion) of the object OB1 depending on at least one of the distance
and direction relationships between the objects OB1 and OB2.
[0169] As shown in FIG. 5A, the motion of attack in the object OB1
may be changed depending on a distance R between the objects OB1
and OB2 or an angle .gamma. included between a direction FD (or
frontal direction or face direction) to which the object OB1 faces
and a direction in which the object OB2 exists (or a direction OBD
connecting between the objects OB1 and OB2 or a tilting direction
TD in the analog lever or a direction of attack AD corresponding to
the tilting direction TD).
[0170] For example, if the object OB2 exists rightward relative to
the object OB1 (.gamma.=90 degrees), the motion of attack may be
changed as shown in FIG. 5B. More particularly, the object OB1 may
be caused to perform different motions of attack, for example, a
right punch when the distance R is short, a right kick when the
distance R is middle and a right flying kick when the distance R is
long.
[0171] If the object OB2 exists leftward relative to the object OB1
(.gamma.=-90 degrees), the motion of attack may be changed as shown
in FIG. 5C. More particularly, the object OB1 may be caused to
perform different motions of attack, for example, a left hook when
the distance R is short, a left and back spin kick when the
distance R is middle and a left step kick when the distance R is
long.
[0172] Thus, a more realistic game picture improved in game effect
can be generated through a simplified process since the motion of
attack in the object OB1 is multiply changed depending on the
distance R and/or angle .gamma..
[0173] In the prior art control method of FIG. 1, the depression of
the control buttons 14, 16, 18 and 20 can only take the standard
motions of attack such as the right punch, left punch, right kick
and left kick. In order to cause the object OB1 to perform any
specific motion of attack other than these standard motions of
attack, the player must perform a specific combination of control
buttons or a specific combination of control buttons and direction
indicating key. For example, the player must perform such a
specific operation that the control buttons 14 and 16 are
simultaneously depressed or that the control button 18 is depressed
while depressing the rightward part of the direction indicating key
12.
[0174] However, such specific operations could not be understood
intuitively by the player since they did not correlate with the
actual motion of the object OB1. Since the player must master
specific complicated operations set for each object, he or she
could not easily control the game. This caused that a beginner
avoided such a game play.
[0175] On the contrary, this embodiment can cause the object OB1 to
perform an optimum motion of attack depending on the distance R
and/or angle .gamma.. Therefore, an operating environment that the
player can easily be understood by intuition can be realized
according to this embodiment. In addition, the motion of attack in
the object OB1 can automatically be determined depending on the
angle .gamma. determined by the tilting direction of the analog
lever AL1 or the distance R between the object OB1 and the enemy
object OB2. As a result, multiple motions of attack in the object
OB1 can be realized even if the player does not learn the specific
operations. This can also generate a more realistic game picture
under a simplified control environment.
[0176] However, the present invention may equivalently be applied
to such a case where the motion in the object OB1 is changed
depending on parameters which are mathematically equivalent to the
distance R and angle .gamma..
[0177] FIG. 6A to FIG. 9 show various game pictures generated
according to this embodiment.
[0178] FIG. 6A shows a game picture in which the object OB1 stands
in a basic attitude. In FIG. 6A, the direction in which the eyes
and nose of the object face (or the direction of arrow indicated on
the ground) is the direction to which the object faces (FD in FIG.
5A).
[0179] FIG. 6B shows a game picture in which the object OB1 takes
an attack against an enemy (or the object OB2) located forward
relative to the object OB1. According to this embodiment, thus, the
object OB1 will take a motion of attack against the enemy only by
tilting an analog lever in the tilting direction corresponding to
the direction in which the enemy exists by a fine angle (.beta.1).
Thus, an attack wanted by the player can be realized through only
one action in which the analog lever is simply tilted. This can
provide an operating environment which can easily and intuitively
be understood by the player.
[0180] FIG. 7A shows a game picture in which the object OB1 takes
an attack against an enemy located leftward relative to the object
OB1 by tilting the analog lever. FIG. 7B shows a game picture in
which the object OB1 takes an attack against an enemy located
backward relative to the object OB1.
[0181] As will be apparent from comparison of FIGS. 6B, 7A and 7B,
this embodiment multiply changes the motion of attack in the object
OB1 depending on the direction of the enemy. Namely, the motion of
attack in the object OB1 will automatically be changed depending on
the direction of the enemy even though the player performs no
specific complicated operation. As a result, the image can multiply
be represented under a simplified control environment.
[0182] FIG. 8A shows a game picture in which the distance R between
the object OB1 and an enemy (or the object OB2) is short. FIGS. 8B
and 9 show game pictures in which the distance R is middle and
long, respectively.
[0183] As will be apparent from comparison of FIGS. 8A, 9B and 9,
this embodiment changes the motion of attack in the object OB1
depending on the distance between the object OB1 and the enemy.
Namely, the motion of attack in the object OB1 will automatically
be changed depending on the distance between the object OB1 and the
enemy even though the player performs no specific complicated
operation. As a result, the image can multiply be represented under
a simplified control environment.
[0184] 2.3 Judgment of Directional Range
[0185] In this embodiment, the object OB1 is caused to perform the
motion of attack by judging a range of direction in which the
object OB2 exists.
[0186] More particularly, in FIG. 10A, enemy objects OB2-1 and
OB2-2 exist in a range of direction DR which is determined by the
tilting direction TD of an analog lever (AL1). In such a case,
therefore, the object OB1 is caused to perform a motion in which it
takes an attack (or action) against the object OB2-1 or 2-2. Which
enemy object 2-1 or 2-2 is to be attacked by the object OB1 is
determined depending on the distance between either of the enemy
object 2-1 or 2-2 and the object OB1. Any enemy object which is
nearer the object OB1 may be selected. Alternatively, the enemy
object to be attacked may be determined depending on the amount of
deviation between the tilting direction TD and the direction in
which the enemy object exists. Any enemy object having a reduced
amount of deviation may be selected.
[0187] On the other hand, in FIG. 10B, no enemy object exists in
the range of direction DR determined by the tilting direction of
the analog lever. In such a case, therefore, the attack will fail.
For example, the object OB1 may perform a motion of missing the
target.
[0188] In such a case, it is desirable that the object OB1 is
caused to perform a motion depending on the angle .gamma. included
between the direction to which the object OB1 faces and the tilting
direction TD of the analog lever in order to provide more realistic
and multiple game pictures.
[0189] Thus, the motion of the object OB1 will multiply be changed
depending on the tilting direction TD of the analog lever, thereby
effectively preventing the motion of missing the target in the
object OB1 from being dull.
[0190] As shown in FIG. 10C, plural ranges of direction DR0 to DR24
(which are, in a broad sense, DR0 to DRM) divided through a range
between 0 and 360 degrees may previously be set. In this case, one
motion of attack (or motion data) has been associated with each of
the ranges of direction DR0 to DR24. Any one of these ranges of
direction DR0 to DR24 will be selected depending on the tilting
direction TD of the analog lever. A motion of attack associated
with the selected range of direction will then be played.
[0191] Thus, the motion of attack in the object OB1 can be
determined through a simplified process, thereby reducing the
processing load. Since motions of attack corresponding to the
number of direction ranges are only required, therefore, the amount
of data in the motion data can be reduced, thereby saving the
capacity of the memory.
[0192] The motion of attack in the object OB1 may be determined by
interpolating between the motions of attack associated with the
respective ranges of direction.
[0193] 2.4 Change of Motion Depending on Times Required to Tilt and
Return the Analog Lever
[0194] In this embodiment, the motion of the object OB1 is changed
(or different motions of the object OB1 are provided) depending on
a time required to tilt the analog lever by a desired angle
(velocity of tilt) and another time until the analog lever returns
to its neutral position (velocity of return).
[0195] More particularly, as shown in FIG. 11a, the motion of the
object OB1 is changed depending on a time T1 required to tilt the
analog lever AL (AL1) from its neutral position by an angle .beta..
Alternatively, the motion of the object OB1 may be changed
depending on a time T2 required to return the analog lever AL from
its tilted (angle .beta.) position to its neutral position under
reaction force. The angle .beta. may be different between the
tilted analog lever AL and the returned analog lever AL.
[0196] As shown in FIG. 11B, thus, the object OB1 can be caused to
perform such a jab motion (or quick motion) as shown in FIG. 12A,
for example, if the analog lever AL is flipped by the player with
his or her finger (quick operation).
[0197] If the player quickly operates the analog lever AL in a
flipping manner as shown in FIG. 11B, the time T1 or T2 of FIG. 11A
will be shortened. If at least one of the times T1 and T2 is
shortened, the object OB1 is caused to perform such a jab motion as
shown in FIG. 12A (which is, in a broad sense, a first motion or a
motion in which the motion play time is shorter or a motion in
which the action is faster).
[0198] If the player operates the analog lever AL at the normal
velocity, the time T1 or T2 of FIG. 1A is prolonged in comparison
of the flipping operation. If at least one of the times T1 and T2
is longer, the object OB1 is caused to perform such a hook motion
as shown in FIG. 12B (which is, in a broad sense, a second motion
or a motion in which the motion play time is longer or a motion in
which the action is slower).
[0199] Thus, the motion of the object OB1 can multiply be changed
merely by changing the velocity at which the player operates the
analog lever AL. Therefore, more realistic and multiple images can
be represented without making the operating environment of the
player complicated.
[0200] The motion of the object OB1 may be changed depending on
only either of the time T1 or T2. Alternatively, the motion of the
object OB1 may be changed depending on the sum of the times T1 and
T2 (or time under influence of both the times T1 and T2).
[0201] For example, taking the first technique of changing the
motion depending on the time T1, the velocity of tilt at which the
analog lever AL is tilted can immediately be detected to play such
a jab motion as shown in FIG. 12A. This can provide a feel of quick
operation.
[0202] On the other hand, taking the second technique of changing
the motion depending on the time T2, uncertain factors associated
with measuring of time can be reduced. If the player operates the
analog lever AL in an active manner, the velocity (or time) on
operation may be vary. It is thud difficult to judge whether or not
the player performed a quick operation.
[0203] On the contrary, the time T2 is one that is required to
return to its neutral position under reaction force due to a
resilient member (not shown). Therefore, it will not depend on the
velocity at which the player operates the analog lever AL and be
substantially invariable. Since the time T2 will hardly vary,
therefore, it can easily be judged whether or not the player
performed the quick operation (or flipping operation). In this
sense, it is thus desirable to take the second technique rather
than the first technique.
[0204] In order to utilize the advantages of both the first and
second techniques, it is desirable to take a third technique of
changing the motion depending on the sum of the first and second
times (or time under influence of both the first and second times).
Such a third technique can realize the environment of quick
operation since the motion is changed in consideration of the first
time T1. Furthermore, uncertain factors on measuring of time can be
reduced since the motion is also changed in consideration of the
second time T2.
[0205] The object OB1 may hasten to be caused to initiate the jab
motion (or first motion) if the analog lever AL is tilted by a
given angle .beta.1. Thereafter, if the analog lever AL is tilted
by another given angle .beta.2 (=.beta.), time required to complete
this tile T1, T2 or T1+T2 may be judged. Based on such a judgment,
the initiated jab motion may be changed.
[0206] More particularly, if the time T1, T2 or T1+T2 is relatively
short, the object OB1 is caused to continue such a jab motion as
shown in FIG. 12A.
[0207] On the other hand, if the time T1, T2 or T1+T2 is relatively
long, the object OB1 is caused to perform such a hook motion (or
second motion) as shown in FIG. 12B. In such a case, a joining
motion between the jump and hook motions is desirably generated
through an interpolation of motion (or an interpolation between
joints or bones in a skeleton model).
[0208] Thus, the motion of the object OB1 is initiated at a point
of time when the analog lever AL is tilted by the fine angle
.beta.1. Therefore, an environment of quick operation can be
realized. If the analog lever AL is further tilted, the motion of
the object OB1 will be changed depending on the velocity of tilt or
return in that analog lever AL. As a result, multiple images of
motion can be realized.
[0209] 2.5 Initiation of Motion and Determination of Motion
Direction
[0210] The analog lever AL can be tilted in any direction to
provide an increased degree of freedom in the player's operation.
Conversely, the tilting direction of the analog lever AL multiply
varies depending on the accuracy in the player's operation. This
may frequently provide such a serpentine operation as shown in
FIGS. 13A and B.
[0211] In such a case, if the tilting direction of the analog lever
AL is determined to establish a direction in which the object OB1
is to perform an attack (or direction of attack or action)
immediately as the player begins to tilt the analog lever AL, the
object OB1 may probably perform a motion in a direction different
from a direction intended by the player.
[0212] To avoid such a problem, this embodiment hastens to initiate
the motion of the object at a step whereat the analog lever AL
(AL1) has been tilted by the angle .beta.1 (e.g., a fine angle for
securing a play), as shown in FIG. 13C. In this case, the direction
in which the object OB1 is to perform a motion (or direction of
attack or action) is set to be in a direction corresponding to the
tilting direction TD1 (angle .alpha.1) when the analog lever AL is
tilted by the angle .beta.1 as shown in FIG. 13D.
[0213] If the analog lever AL is further tilted to a further angle
.beta.2 (.beta.2>.beta.1), the direction in which the object OB1
is to perform the motion is finally determined. For example, the
direction in which the object OB1 is to perform the motion may be
determined to be in a direction corresponding to the tilting
direction TD2 (angle .alpha.2) when the analog lever AL is tilted
by the angle .beta.2 as shown in FIG. 13d.
[0214] Thus, the environment of quick operation can be provided to
the player since the motion of the object OB1 hastens to be
initiated at a step whereat the analog lever AL is slightly
tilted.
[0215] Therefore, the object OB1 can be caused to perform the
motion in a direction (or direction of attack or action)
corresponding to the final tilting direction (TD2 of FIG. 13D) as
shown by E1 in FIG. 13B even though the player operates the analog
lever AL in a serpentine manner as shown in FIG. 13A. Since the
object OB1 performs the motion in a direction actually intended by
the player, an operating environment which is felt by the player to
be nature can be provided.
[0216] It is further desirable that if the analog lever AL is
tilted by the angle .beta.2, the orientation of the object OB1 is
compensated relative to a direction (or direction of attack or
action) corresponding to the tilting direction TD2 of the analog
lever AL at that time.
[0217] More particularly, if the orientation of the object OB1 is
FD1 when the angle of the tilted analog lever AL is .beta. as shown
in FIG. 14 and when the tilt angle is .beta.2, the orientation of
the object OB1 is compensated to be in the direction FD2
corresponding to the tilting direction at that time. This can be
realized by rotating the object OB1 about a given rotation axis
(e.g., the central axis of the object OB1 along the longitudinal
direction). Thus, the orientation of the object OB1 can be changed
while causing it to perform the motion. This can provide a motion
picture which hardly provides a sense of incompatibility to the
player.
[0218] 3. Processings of this Embodiment
[0219] Processings in this embodiment will now be described in
detail with reference to flowcharts shown in FIGS. 15, 16 and
17.
[0220] First of all, it is judged whether or not the analog lever
(AL1) is tilted by an angle equal to or larger than the tilt angle
.beta.1 (or angle for securing the play) (step S1). If so, it is
then judged whether or not at least one enemy object exist within a
range of direction determined by the tilting direction TD of the
analog lever (step S2 and see FIGS. 10A, 10B and 1C).
[0221] If at least one enemy object exists, an enemy object located
nearest the player's object within that range of direction is
selected. The distance between the selected enemy object and the
player's object is then determined (step S3). In addition, an angle
included between the direction to which the player's object (or
object controlled by the player) faces and the direction in which
the player views the enemy object (or direction of existence) is
determined (step S4). Based on the distance determined at the step
S3 and the angle determined at the step S4, an attack motion
(technique) of the player's object is selected (step S5 and see
FIGS. 5A, 5B and 5C). The selected attack motion (or success
motion) begins to be played (step S6).
[0222] If it is judged at the step S2 that no enemy object exists
within the range of direction, an angle included between the
direction to which the player's object faces and the tilting
direction of the analog lever is determined. An attack motion
having a shortest attack time (or attack distance) is then selected
from the attack motions depending on the determined angle (step S7
and see FIG. 10B). The selected attack motion (failure motion or
motion of missing the target) is then played (step S8).
[0223] FIG. 16 is a flowchart illustrating a quick motion
processing through such a quick (or flipping) operation as
described in connection with FIGS. 11A to 12B.
[0224] It is first judged whether or not the analog lever (AL1) is
tilted by an angle equal to or larger than the tilt angle .beta.1
(step S11). If so, the jab motion of FIG. 12a (first or quick
motion) hastens to be initiated (step S12).
[0225] It is then judged whether or not the sum of times T1+T2 (or
T1 or T2) as described in connection with FIG. 1A is smaller than a
fixed value (step S13). If so, the jab motion of FIG. 12A is
continued (step S14). If the sum of times is larger than the fixed
value, the jab motion (or first motion) is switched to such a hook
motion (or second motion) as shown in FIG. 12B (step S15). At this
time, a joining motion between the jump and hook motions is
generated and played through motion interpolation.
[0226] FIG. 17 is a flowchart illustrating a process of initiating
a motion through a fine operation of the analog lever and then
determining the direction of motion, as described in connection
with FIGS. 13A to 14.
[0227] It is first judged whether or not the analog lever (AL1) is
tilted by an angle equal to or larger than the tilt angle .beta.1
(step S21). If so, it is then judged whether or not at least one
enemy object exists within a range of direction determined by the
tilting direction TD of the analog lever (see FIG. 13D) (step
S22).
[0228] If at least one enemy object exists, an enemy object located
nearest the player's object within that range of direction is
selected. The distance between the selected enemy object and the
player's object is determined (step S23) Furthermore, an angle
included between the direction to which the player's object faces
and the direction in which the player's object views the enemy
object is determined (step S24) Based on the distance and angle
determined respectively at the steps S23 and 24, an attack motion
of the player's object is selected and initiated to play (step
S25).
[0229] It is then judged whether or not the analog lever is tilted
by an angle equal to or larger than the tilt angle .beta.2
(>.beta.1) within a fixed time period after the analog lever has
been tilted by the tilt angle .beta.1 (step S26). If so, the
orientation of the player's object is compensated in a direction
corresponding to the tilting direction TD2 of the analog lever when
it is tilted by the tilt angle .beta.2 (see FIG. 13D), as described
in connection with FIG. 14 (step S27). If not so, the orientation
of the player's object will not be compensated. The attack motion
at the step S25 is continuously played (step S28).
[0230] It is then judged whether or not the attack hits the enemy
object (step S29). If so, it is judged that the attack is
successful (step S30). If not so, it is judged that the attack has
failed (miss the target) (step S32).
[0231] If it is judged at the step S22 that no enemy object exists
within the range of direction, an angle between the direction to
which the player's object faces and the tilting direction of the
analog lever is determined. An attack motion having the shortest
attack time (or attack distance) is selected from the attack
motions corresponding to the determined angle. The selected attack
motion is then played (step S31). In this case, it is judged that
the attack failed (step S32).
[0232] 4. Hardware Configuration
[0233] A hardware arrangement which can realize this embodiment is
shown in FIG. 18.
[0234] A main processor 900 operates to execute various processings
such as game processing, image processing, sound processing and
other processings according to a program stored in a CD
(information storage medium) 982, a program transferred through a
communication interface 990 or a program stored in a ROM
(information storage medium) 950.
[0235] A coprocessor 902 is to assist the processing of the main
processor 900 and has a product-sum operator and analog divider
which can perform high-speed parallel calculation to execute a
matrix (or vector) calculation at high speed. If a physical
simulation for causing an object to move or act (motion) requires
the matrix calculation or the like, the program running on the main
processor 900 instructs (or asks) that processing to the
coprocessor 902.
[0236] A geometry processor 904 is to perform a geometry processing
such as coordinate transformation, perspective transformation,
light source calculation, curve formation or the like and has a
product-sum operator and analog divider which can perform
high-speed parallel calculation to execute a matrix (or vector)
calculation at high speed. For example, for the coordinate
transformation, perspective transformation or light source
calculation, the program running on the main processor 900
instructs that processing to the geometry processor 904.
[0237] A data expanding processor 906 is to perform a decoding
process for expanding image and sound compressed data or a process
for accelerating the decoding process in the main processor 900. In
the opening, intermission, ending or game scene, thus, an MPEG
compressed animation may be displayed. The image and sound data to
be decoded may be stored in the storage devices including ROM 950
and CD 982 or may externally be transferred through the
communication interface 990.
[0238] A drawing processor 910 is to draw or render an object
constructed by primitives (or primitive faces) such as polygons or
curved faces at high speed. On drawing the object, the main
processor 900 uses a DMA controller 970 to deliver the object data
to the drawing processor 910 and also to transfer a texture to a
texture storage section 924, if necessary. Thus, the drawing
processor 910 draws the object in a frame buffer 922 at high speed
while performing a hidden-surface removal by the use of a Z-buffer
or the like, based on the object data and texture. The drawing
processor 910 can also perform a-blending (or translucency
processing), mip-mapping, fogging, tri-linear filtering,
anti-aliasing, shading and so on. As the image for one frame is
written into the frame buffer 922, that image is displayed on a
display 912.
[0239] A sound processor 930 includes any multi-channel ADPCM sound
source or the like to generate high-quality game sounds such as
BGMs, sound effects and voices. The generated game sounds are
outputted from a speaker 932.
[0240] The operational data from a game controller 942 (such as a
lever, button, housing, pad-shaped controller or gun-shaped
controller) and the saved and personal data from a memory card 944
may externally be transferred through a serial interface 940.
[0241] ROM 950 has stored a system program and soon. For an arcade
game system, the ROM 950 functions as an information storage medium
in which various programs have been stored. The ROM 950 may be
replaced by any suitable hard disk.
[0242] RAM 960 is used as a working area for various
processors.
[0243] The DMA controller 970 controls the transfer of DMA between
the processors and memories (such as RAMs, VRAMs, ROMs or the
like).
[0244] CD drive 980 drives a CD (information storage medium) 982 in
which the programs, image data or sound data have been stored and
enables these programs and data to be accessed.
[0245] The communication interface 990 is to perform data transfer
between the image generating system and any external instrument
through a network. In such a case, the network connectable with the
communication interface 990 may take any of communication lines
(analog phone line or ISDN) or high-speed serial interface bus. The
use of the communication line enables the data transfer to be
performed through the INTERNET. If the high-speed serial interface
bus is used, the data transfer may be carried out between the image
generating system and any other game system.
[0246] All the processings of the present invention may be executed
only through hardware or only through a program which has been
stored in an information storage medium or which is distributed
through the communication interface. Alternatively, they may be
executed both through the hardware and program.
[0247] If all the means of the present invention are executed both
through the hardware and program, the information storage medium
stores a program for causing hardware (or a computer) to realize
the respective processings of the present invention. More
particularly, the aforementioned program instructs the respective
processors 902, 904, 906, 910 and 930 which are hardware and also
delivers the data to them, if necessary. Each of the processors
902, 904, 906, 910 and 930 will execute the corresponding one of
the means of the present invention based on the instruction and
delivered data.
[0248] FIG. 19A shows an arcade game system (or image generating
system) to which this embodiment is applied. Players enjoy a game
by controlling a controller 1102 and so on while viewing a game
scene displayed on a display 1100. A system board (circuit board)
1106 included in the game system includes various processor and
memories which are mounted thereon. Program (or data) for realizing
all the processings of the present invention has been stored in a
memory 1108 on the system board 1106, which is an information
storage medium. Such program will be referred to "the stored
program (information)" later.
[0249] FIG. 19B shows a home game apparatus (or image generating
system) to which this embodiment is applied. A player enjoys a game
by manipulating game controllers 1202, 1204 and so on while viewing
a game picture displayed on a display 1200. In such a case, the
aforementioned stored information pieces have been stored in CD
1206 or memory cards 1208, 1209 which are detachable information
storage media in the game system body.
[0250] FIG. 19C shows an example wherein this embodiment is applied
to a game system which includes a host device 1300 and terminals
1304-1 to 1304-n (or game machines or portable telephones)
connected to the host device 1300 through a network (which is a
small-scale network such as LAN or a global network such as
INTERNET) 1302. In such a case, the above stored program
(information) has been stored in an information storage medium 1306
such as magnetic disk device, magnetic tape device, memory or the
like which can be controlled by the host device 1300, for example.
If each of the terminals 1304-1 to 1304-n are designed to generate
game images and game sounds in a stand-alone manner, the host
device 1300 delivers the game program and other data for generating
game images and game sounds to the terminals 1304-1 to 1304-n. On
the other hand, if the game images and sounds cannot be generated
by the terminals in the stand-alone manner, the host device 1300
will generate the game images and sounds which are in turn
transmitted to the terminals 1304-1 to 1304-n.
[0251] In the arrangement of FIG. 19C, the processings of the
present invention may be decentralized into the host device (or
server) and terminals. The above stored program (information) for
realizing the respective processings of the present invention may
be distributed and stored into the information storage media of the
host device (or server) and terminals.
[0252] Each of the terminals connected to the network may be either
of home or arcade type. When the arcade game systems are connected
to the network, it is desirable that each of the arcade game
systems includes a portable information storage device (memory card
or portable game machine) which can not only transmit the
information between the arcade game systems but also transmit the
information between the arcade game systems and the home game
systems.
[0253] The present invention is not limited to the things described
in connection with the above forms, but may be carried out in any
of various other forms.
[0254] For example, the motion of the object controlled by
operation of the analog lever is not limited to the attack motion,
but it may be any one of various other motions (action motions)
such as a guard motion, ball kicking motion, ball catching motion
and item taking motion.
[0255] The structures of the first and second control levers (or
analog levers) and the technique of sensing the angle of tile and
the tilting direction are not limited to those described in
connection with FIGS. 3A, 3B and 3C, but they may be carried out in
various other forms.
[0256] Parameters used to determine or change the motions of the
object (action motion and attack motion) may be mathematically
equivalent parameters other than the parameters used in this
embodiment such as the angles of tilt in the control levers, the
distance between the first and second objects, the angle included
between the direction to which the first object faces and the
direction in which the second object exists, the times required to
tilt and return the control levers and the sum of times).
[0257] The invention relating to one of the dependent claims may
not contain part of the structural requirements in any claim to
which the one dependent claim belongs. The primary part of the
invention defined by one of the independent claim may be belonged
to any other independent claim.
[0258] The present invention may be applied to any of various games
such as fighting games, shooting games, robot combat games, sports
games, competitive games, roll-playing games, music playing games,
dancing games and so on.
[0259] Furthermore, the present invention can be applied to various
image generating systems (or game systems) such as arcade game
systems, home game systems, large-scaled multi-player attraction
systems, simulators, multimedia terminals, image generating
systems, game image generating system boards and so on.
* * * * *