U.S. patent application number 11/313112 was filed with the patent office on 2006-11-02 for program for controlling the movement of group of characters, recorded medium, and game device thereof.
Invention is credited to Naohito Kano, Sotaro Kuroda, Jumpei Tsuda.
Application Number | 20060246974 11/313112 |
Document ID | / |
Family ID | 36729574 |
Filed Date | 2006-11-02 |
United States Patent
Application |
20060246974 |
Kind Code |
A1 |
Tsuda; Jumpei ; et
al. |
November 2, 2006 |
Program for controlling the movement of group of characters,
recorded medium, and game device thereof
Abstract
In a program for controlling group of characters, a recorded
medium, and a game device thereof, one can enjoy complex lively
movement or fighting of the group by a self-explanatory operation,
which is expressed more realistically. The present program provides
a program for controlling video games, and controlling the movement
of a character group to permit a computer to function to
accomplish: a group movement function to move a leader-including
group of which a leader character is added to an agent group
comprising a plurality of agent characters in a 3-dimensional
virtual space based on input information from an input device; a
friendly agent group following function to permit the friendly
agent groups other than the leader-including group to follow the
moving leader-including group; and a group display function to
display the leader-including group and the friendly agent group on
a display device.
Inventors: |
Tsuda; Jumpei;
(Kanagawa-ken, JP) ; Kuroda; Sotaro;
(Kanagawa-ken, JP) ; Kano; Naohito; (Kanagawa-ken,
JP) |
Correspondence
Address: |
FLYNN THIEL BOUTELL & TANIS, P.C.
2026 RAMBLING ROAD
KALAMAZOO
MI
49008-1631
US
|
Family ID: |
36729574 |
Appl. No.: |
11/313112 |
Filed: |
December 20, 2005 |
Current U.S.
Class: |
463/7 |
Current CPC
Class: |
A63F 13/822 20140902;
A63F 13/56 20140902; A63F 2300/8029 20130101; A63F 13/10
20130101 |
Class at
Publication: |
463/007 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 21, 2004 |
JP |
2004-369472 |
Claims
1. A program for controlling video games, controlling the movement
of a character group to permit a computer to function as: a group
movement means to move a leader-including group of which a leader
character is added to an agent group comprising a plurality of
agent characters in a 3-dimensional virtual space based on input
information from an input device; a friendly agent group following
means to permit the friendly agent groups other than the
leader-including group to follow the moving leader-including group;
and a group display means to display the leader-including group and
the friendly agent group on a display device.
2. A recorded medium on which the programs as defined in claim 1
are recorded and from which the computer can read.
3. A game device to operate the video game, comprising: a group
movement means to move a leader-including group of which a leader
character is added to an agent group comprising a plurality of
agent characters in a 3-dimensional virtual space based on input
information from an input device; a friendly agent group following
means to permit the friendly agent groups other than the
leader-including group to follow the moving leader-including group;
and a group display means to display the leader-including group and
the friendly agent group on a display device.
4. A program for controlling video games, controlling the movement
of a character group to permit a computer to function as: a group
movement and combat means to move, to an enemy area to fight, a
leader-including group of which a leader character is added to an
agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group movement means to move the
friendly agent group behind the leader-including group toward the
enemy group after the leader-including group starts the battle; and
a friendly and enemy groups display means to display the
leader-including group, the enemy group, and the friendly agent
group on a display device.
5. The program for controlling the movement of a character group as
defined in claim 4 to permit the computer to further function as a
friendly agent group move-round means to move the other friendly
agent behind the leader-including group to turn aside from right or
left side of the leader-including group so as to avoid overlapping
with the leader-including group, after starting of the battle of
the leader-including group.
6. The program for controlling the movement of a character group as
defined in claim 4 to permit the computer to further function as a
friendly agent group barycenter movement means to automatically
move the friendly agent group other than the leader-including group
to the barycenter of the enemy group when the friendly agent group
other than the leader-including group goes beyond a virtual border
line behind the enemy group that is set behind the enemy group
after starting of the battle of the leader-including group.
7. A recorded medium on which the programs as defined in claims 4
are recorded and from which the computer can read.
8. A game device to operate the video game, comprising: a group
movement and combat means to move, to an enemy area to fight, a
leader-including group of which a leader character is added to an
agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group movement means to move the
friendly agent group behind the leader-including group toward the
enemy group after the leader-including group starts the battle; a
friendly agent group move-round means to move the other friendly
agent behind the leader-including group to turn aside from right or
left side of the leader-including group so as to avoid overlapping
with the leader-including group, after starting of the battle of
the leader-including group; a friendly agent group barycenter
movement means to automatically move the friendly agent group other
than the leader-including group to the barycenter of the enemy
group when the friendly agent group other than the leader-including
group goes beyond a virtual border line behind the enemy group that
is set behind the enemy group after starting of the battle of the
leader-including group; and a friendly and enemy groups display
means to display the leader-including group, the enemy group, and
the friendly agent group on a display device.
Description
FIELD OF THE INVENTION
[0001] This invention relates to programs for controlling a group
of characters, a recorded medium, and a game device thereof, and
more particularly to a program for controlling the group of
characters, recorded medium, and game device thereof wherein a
player can directly operate the group (troop) of the characters in
a 3-dimensional virtual space and wherein the movement and the
battle of the group are shown with reality.
BACKGROUND ART
[0002] In video games for home usage, there are some programs
wherein the player controls, for moving in the 3-dimensional
virtual space, both a leader character and an agent group (such as
a troop, party, and platoon) comprising agent characters who follow
the leader.
[0003] Conventionally, there is disclosed a program for controlling
the movement of the character group, wherein each character is
moved to a target site at a total acceleration in combination of,
for each X-Y-Z component in 3-dimensional virtual space, an
acceleration to be away from the other characters when the other
characters exist in a first range and an acceleration to agree with
the moving speed and the direction of the other characters
following the leader when the other characters exist in a second
range. Thereby, each character can be moved while changing the
speed and/or direction based on the moving state of the other
characters in the first or second range, which shows realistic
movement of each character.
[0004] Also, there is disclosed a program for controlling the
movement of the character group, wherein a plurality of game
characters are moved to disperse from a certain game character or a
certain first range when any buttons (first to fourth buttons) on
an input device are not pressed to instruct the direction, and the
game characters are moved to assemble adjacently to the certain
game character or a second range when the first button is pressed.
Thereby, in the 3D virtual space, pressing the first button, just a
single button, gives instructions for both direction and start for
movement at the same time to the game characters moving in the
different directions toward the certain game character or the
second range after dispersing from the game character or the first
range. Operationality for the movement of the plural game
characters is improved while reducing the burden on a signal
processing section. Also, by setting such that the plural game
characters are moved as a group in a direction designated by
pressing any one of the second to fourth buttons, the second to
fourth buttons can be utilized to instruct the normal direction
while moving the group without indicating the group. This improves
the operationality of the movement of the group, in addition to the
above-mentioned dispersion and the assembly. Further, when the
input device includes a cross-like button set in which the first
button is allocated to a down button, the second to fourth buttons
are allocated to up, left, right buttons respectively, it is easy
for the player to understand that the down button is a button to
assemble the certain game characters, with the other up, right, and
left buttons being utilized to instruct actual normal directions.
Because the particular game character represents the player
himself, pressing of the down button of the cross-like button set
corresponds to the feeling for the assembly to the player in view
of the position of the button.
[0005] Further, there is disclosed a program for controlling the
movement of the character group, wherein the computer functions as:
a model data providing means to supply motion data for
non-displayed 3D polygon model that operates in the 3D virtual
space; a motion ability providing means to provide the character
following the top of the 3D polygon model with the motion ability;
and a position calculation means to calculate the position of the
characters in the 3D virtual space. Thereby, the plural characters
forming the group are provided with the motion ability to follow
the top of the non-displayed 3D polygon models, which eliminates
the need to prepare the motion for each character, simplifying the
process. This also serves to express the group of the character in
a complex formation, as if a single moving organism.
[0006] Moreover, there is disclosed a program for controlling the
movement of the character group, wherein a plurality of character
groups are controlled to establish battle formations on both
friendly and enemy sides and to fight each other, which are
displayed in the 3-dimensional virtual space. The battle formation
is selected from predetermined groups of battle formations, and the
player can operate by means of the cross-shaped button set. The
group is divided into a plurality of smaller groups each having a
particular formation. As a result, a plurality of characters can
establish the battle formation, wherein the player can grasp the
situation of the whole group from this battle formation. The player
can operate the small group of a particular formation and also a
plurality of characters for each small group. Here, when the player
is not operating a leader of the platoon by an input device, the
battle formation is maintained in a similar aligned state. When the
player is operating the platoon leader, the operated platoon shifts
its direction based on the operation while the other platoons
remains those battle formations. Accordingly, the battle formation
of the whole group can be changed by the operation of the
player.
[0007] Examples of relevant patent documents include JP No.
3163496, JP Laid-Open No. 2002-66131, JP Laid-Open No. 2004-62676
and JP Laid Open No. 2002-143555.
SUMMARY OF THE INVENTION
[0008] Conventionally, when controlling the motion of the character
group according to the patent documents JP No. 3163496 and JP
Laid-Open No. 2004-62676, the group (troop or platoon) is not
operated to move by the player but automatically by the computer.
It is suitable to enjoy watching the battle, but is not suitable
for the enjoyment of being directly involved in the operation and
battle of the group, which is inconvenient.
[0009] Also, according to the invention disclosed in JP No.
3163496, each character in the group follows the leader while
maintaining a distance between each other, but while changing speed
and direction. This expresses realistic movement since there is
passing of the character and changing of the relative position
thereof in the group. Due to the lack of the idea of a barycenter,
the characters in the back (rear) of the group may however disperse
to a certain extent in some cases, and therefore the whole group is
not displayed on the screen. In contrast, the invention according
to the patent document JP Laid-Open No. 2004-62676 avoids the large
dispersal of the characters and maintains the formation of the
group owing to the characters following the top of the whole
non-displayed polygon models. However, each character is provided
with a fundamental alignment position in the group (i.e., the top
of own character to be a target site for movement), so that the
position in the group does not change basically, which is not a
variable lively or life-like movement.
[0010] Further, according to the invention of the patent document
JP Laid-Open No. 2002-66131, the group can be operated directly by
the cross-like button set. However, this invention succeeds the
invention of JP No. 3163496 in which the characters follow the
leader, and therefore the operation of the whole group is limited
to only, e.g., forward or stop. This is because, due to the lack of
the idea of the barycenter, there are the problems of the
dispersion of the character while moving and of the non-display of
the whole group. It is also difficult to grasp the dispersed
characters on the program process in the course of battle,
especially in the confusion of a close fight in the final stage, so
that external operation of the group is no longer easy.
[0011] Moreover, according to the invention of JP Laid-Open No.
2002-143555, a plurality of the platoons maintain those battle
formations and move as a whole group without lying off the virtual
frame indicating the battle formation upon the movement of the
groups (platoons). Unless the player operates to select either one
of the platoons, there is only a movement while maintaining the
battle formation, which is an awkward movement that is not
realistic. Also, there causes a problem that once the battle
starts, the characters disperse in the confused close fight and it
is difficult to manage them as separated groups. Although there may
be an idea to combine the groups after two or more groups are
mixed, it is unrealistic that the platoon leader is changed in the
course of the battle. Improvement is desired for managaing each
group (platoon).
[0012] The present invention provides a program to control video
games, wherein a computer functions as: a group movement means to
move a leader-including group of which a leader character is added
to an agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group following means to permit the
friendly agent groups other than the leader-including group to
follow the moving leader-including group; and a group display means
to display the leader-including group and the friendly agent group
on a display device. Also, the present invention provides a program
to control video games, wherein a computer functions as: a group
movement and combat means to move, to an enemy area to fight, a
leader-including group of which a leader character is added to an
agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group movement means to move the
friendly agent group behind the leader-including group toward the
enemy group after the leader-including group starts the battle; and
a friendly and enemy groups display means to display the
leader-including group, the enemy group, and the friendly agent
group on a display device.
[0013] According to the present invention, the present invention
provides the program for controlling the movement of group of
characters, a recorded medium, and a game device thereof, which
program serves to permit the rear friendly agent group to follow
the other front friendly agent group (or the leader
including-group) in case the friendly agent group, even if the
player is not operating, finds the other front friendly agent group
(including the leader-included group that the player is operating),
and serves to permit the rear friendly agent group to battle in
case the friendly agent group finds the enemy group. Thereby,
automatic action is achievable within an appropriate region. For
example, in case the leader-including group operated by the player
is found, the rear friendly agent group takes actions of following
in accordance with the operation and automatically turns aside from
behind the enemy group toward the barycenter of the enemy group
that is fighting with the leader-including group operated by the
player. Accordingly, one can enjoy complex lively movement or
fighting of the group by a self-explanatory operation, which is
expressed more realistically.
[0014] By the player that directly operates the group, the
invention achieves the object wherein one can enjoy complex lively
movement or fighting of the group by a self-explanatory
operation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Embodiments of the present invention will now be described
in detail with reference to the drawings.
[0016] FIG. 1 is a flowchart of a program for controlling the
character group.
[0017] FIG. 2 is a flowchart for a sub-routine to process the
movement and battle of the group.
[0018] FIG. 3 is a flowchart for a sub-routine to process the agent
character in FIG. 2.
[0019] FIG. 4 is a flowchart for a sub-routine to process a state
of the agent character in FIG. 3.
[0020] FIG. 5 is a flowchart for a sub-routine to process the
barycenter in FIG. 3.
[0021] FIG. 6 is a flowchart for a sub-routine to process the
platoon in FIG. 2.
[0022] FIG. 7 is a flowchart for a sub-routine to process traveling
speed of the platoon in FIG. 6.
[0023] FIG. 8 is a diagram of the repulsive force effected on the
character.
[0024] FIG. 9 is a diagram of the relationship between the
repulsive force effected on the character and the distance.
[0025] FIG. 10 is a diagram of the cohesive force effected on the
character.
[0026] FIG. 11 is a diagram of the moving force effected on the
character.
[0027] FIG. 12 is a diagram to indicate the distance between the
leader and guard units.
[0028] FIG. 13 is a diagram wherein the rear guard unit moves
toward the enemy group.
[0029] FIG. 14 is a diagram wherein the rear guard unit moves to
surround the rear of the enemy group.
[0030] FIG. 15 is a block diagram of the game device.
[0031] FIG. 16 is a plan view of the input device.
[0032] FIG. 17 is a front view of the input device taking along
line of an arrow XVII in FIG. 16.
[0033] FIG. 18 is a control block diagram of the game device.
DETAILED DESCRIPTION
[0034] FIGS. 1-18 illustrate an embodiment of the present
invention.
[0035] FIG. 15 shows a video game device 2 for home usage
(hereinafter referred to as "game device").
[0036] The game device 2 includes a game device main body 4 to
which a television monitor 8, with a speaker 6 built therein, and
an input device 10 are connected. The game device main body 4
includes a media reading section 14 (see FIG. 18) by which a
recorded medium 12, such as CD-ROM and DVD, can be loaded/unloaded.
When attaching the recorded media 12 to the media reading section
14, stored game programs or game data are automatically loaded into
a memory (RAM) in the main body 4. The television monitor 8
displays, for example, the groups (troops) of the game based on
information from the input device 10. By the input device 10, the
groups can be moved in the game.
[0037] As shown in FIGS. 16 and 17, a main body 16 of the input
device 10, as an operational section, includes many buttons such
as: a start button 18 to start the game; a square-marked button 20,
a triangle-marked button 22, a circle-marked button 24, and an
X-marked button 26, which are utilized to, for example, operate
game characters and respond to the questionnaire that the game
device main body 4 issued; a cross-like direction button set 36
formed by an upward button 28, a rightward button 30, a leftward
button 32, and a downward button 34; a select button 38; R1 and R2
buttons 40, 42; L1 and L2 buttons 44, 46; right and left analogue
sticks 48, 50; and an analogue mode switch 52. The right analogue
stick 48 functions to change rotation of the camera (viewpoint and
direction) so as to change the point to observe the group (platoon)
on the screen. The left analogue stick 50 is allocated for
instructing the direction in which the group should move. The
square-marked button 20 is allocated to attacking of the character,
such as raising a sword overhead.
[0038] Referring to FIG. 18, the main body 4 of the game device
includes a CPU block 54 to control the whole system of the device
as a computer to execute programs for video games. The CPU block 54
includes: an SCU (System control unit) 56 to control mainly the
data transfer between respective sections of the main body 4; a CPU
(Central Processing Unit) 58 that operates at high clock speed; a
ROM (Read Only Memory) 60 that stores the basic operation of the
main body 4 of the game device; a RAM (Random Access Memory) 62
that functions as a working area for the CPU 58 and temporarily
stores the game programs recorded by the recorded medium 12 and
various data; and an internal bus 64 connecting these elements.
[0039] Also, the SCU 56 is connected to an outer bus 66. The outer
bus 66 includes: a receiving section 68 that receives an input from
the input device 10 and provides the input information to the CPU
block 54; the media reading section 14 that reads the game programs
recorded on the recorded medium 12 such as CD-ROM, and transfers to
the CPU block 54, the media reading section 14 including a sub-CPU
(not shown); an image processing section 70, equipped with a CPU
for graphics and a VRAM, that performs a light source process based
on information from the CPU block 54 to draw in the 3-dimensional
field; and a sound processing section 72, equipped with a sub-CPU
(not shown), that processes the sound such as background music and
battle sound. In addition, the receiving section 68 is connected to
the input device 10. The image processing section 70 is connected
to the television monitor 8. The sound processing section 72 is
connected to the speaker 6 built in the television monitor 8.
[0040] Here, according to the program of the embodiment to operate
the video game, the CPU block 54, or a computer, functions as: a
group movement means to move a leader-including group of which a
leader character is added to an agent group comprising a plurality
of agent characters in the 3-dimensional virtual space based on
input information from the left analogue stick 50 of the input
device 10; a friendly agent group following means to permit the
friendly agent groups other than the leader-including group to
follow the moving leader-including group; and a group display means
to display the leader-including group and the friendly agent group
on a display device or the television monitor 8.
[0041] In moving the leader-including group, particular forces,
i.e., repulsive, cohesive, and moving forces, are applied as
follows so that the movement of every character is displayed
realistically with every certain time (frames): (1) repulsive force
to avoid a collision with the other characters (force in a
direction of dispersion); (2) cohesive force to effect the agent
group toward the barycenter (force to be together); and (3) moving
force to move the character in a designated direction selected by
the operation section of the input device 10 or by the program.
[0042] Here, the certain time (frame) is defined by a unit of time
for image process. In the embodiment, the time for one frame
corresponds to the time for two vertical retrace interruptions
(Vsync), 1/30 sec, which Vsync is recalled on the program at
intervals of 1/60 sec (16.6 msec) in accordance with a vertical
retrace cycle of the television monitor 8.
[0043] In the (1) repulsive force, as shown in FIG. 8, the
repulsive force of an agent character A, for example, is produced
against the other agent characters within an area of some, e.g.,
3-meter radius having the agent character A at the center. This
repulsive force is produced separately for each agent
character.
[0044] In this case, it is assumed that a position of the agent
character is designated as "a", a position of the other agent
character is "b", a limit range to produce the repulsive force (the
maximum distance at which the repulsive force is produced and is no
longer produced beyond this limit) is "d", and the extent of the
maximum repulsive force is "f". 1=|a-b| v=(a-b)/1 Repulsive
force=v*f*max(d-1,0)/d [Equation 1] Wherein "v" is a unit vector
directing from "a" to "b", that has only direction; its quantity
being 1. The expression "f*max(d-1, 0)/d" is illustrated in FIG. 9.
Here the expression "|a-b|" is absolute value of "(a-b)". The
expression "max (d-1, 0)" is intended to choose the larger value of
either "(d-1)" or "(0)". The relationship between the repulsive
force and the distance may be changed at a certain ratio as shown
in FIG. 9, although it may be changed so that the repulsive force
becomes steeply larger with decreases in distance, such as
quadratic function.
[0045] In the (2) cohesive force, as shown in FIG. 10, the
barycenter of the group mentioned herein is the so-called
barycenter of particles, which utilizes coordinates wherein
coordinates of horizontal components (x and z) of each agent
character are added and averaged for each component. The vertical
component (y) is set at the ground level. The barycenter does not
always agree with a center of simple rectangular or circular outer
frame including each agent character. Simply, the barycenter may be
set at the center of the simple outer frame. However, it is
desirable that, when there is a character apart from the gathering
group, the barycenter of the group should be at the gathering
portion, so that the original idea of barycenter should be
adopted.
[0046] It is assumed that the position of the agent character A is
designated "a", the barycenter of the group is "c", and the
magnitude of a maximum cohesive force is "f". v=(c-a)/|c-a|
Cohesive force=v*f [Equation 2]
[0047] In the (3) moving force, as shown in FIG. 11, when the left
analogue stick 50 on the input device 10 is tilted in a forward
left slanting direction to instruct the direction, the equation is
stated as follows, wherein the current velocity of the agent
character is designated "v0", a designated moving velocity is "v1",
the time to require to change from v0 to v1 is "dt", and a maximum
acceleration that can be produced is "acc". v=(v1-v0)/dt Moving
force=v/|v|*min(|v|,acc) [Equation 3] Wherein "v/|v|" is a unit
vector. Expression "V" designates acceleration. Expression "min
(|v|, acc)" is intended to limit the acceleration "v" below the
maximum acceleration "acc".
[0048] Here, when calculating the equation of motion "F=m*.alpha.
(wherein "F" is force, "m" is mass, and ".alpha." is
acceleration)", the present embodiment regards the mass "m" as 1
and the force as being equal to acceleration, in the 3-dimensional
virtual space of the embodiment.
[0049] The forces (1)-(3), i.e., acceleration speed is calculated
for each coordinate component (x, y, z) and, by adding these for
each coordinate component, the total acceleration speed is
calculated. Then by utilizing an equation 4 described below, the
latest speed and position of each character are computed and the
results are stored in RAM 62. Predetermined are an initial speed
before the movement of the characters (i.e., zero), a designated
moving speed (the (3) moving force, v1), and the position
(coordinate value in an aligned state).
[0050] By applying the velocity V0 and the position P0 just before
the current total acceleration .alpha. is obtained (the immediately
preceding frame) to the below equation 4 indicating equation of
motion with Euler's formula, the current velocity V1 and position
of the agent character are calculated for each component (x, y, and
z).
[0051] Incidentally, in the equation 4, .DELTA.t designates a time
( 1/30 sec) between the previous frame and the current frame, with
the previous velocity V0 and position P0 being stored in RAM 62.
V1=V0+.alpha./.DELTA.t P1=P0+V0*.DELTA.t+0.5*.alpha.*.DELTA.t2
[Equation 4]
[0052] Based on the latest position P1 obtained from the above
equation 4 for each character, the agent character is drawn on the
screen.
[0053] Thus, the (1) repulsive force and the (2) cohesive force are
counteracting, so that the forces (1)-(3) vary in every frames.
Slight sway of the barycenter effects on the (2) cohesive force.
This serves to express the group swaying or lively slight
movement.
[0054] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, further
functions as the leader movement means to move the leader character
to the barycenter of the agent group.
[0055] That is, the whole of the agent group with the leader at the
vanguard is not shown or displayed in some cases. Also, assuming
that the leader character is leading to move the agent group, it
may be realistic when the leader is commanding at the center of the
group with the soldiers guarding around him, instead of commanding
at the vanguard.
[0056] Therefore, in the inventive embodiment the barycenter is set
for the whole of the agent group, and the position and direction of
the camera is set automatically so that the barycenter is at the
center of the display. The (2) cohesive force is effected so that
the position of the leader character is in agreement with the
barycenter. Special force (the force that brings the leader toward
the barycenter) is effected on the leader character.
[0057] Although the initial position of each agent character of the
group is preset so that the group establishes, e.g., a rectangular
formation, the specific position of the agent character is
determined and displayed once the movement begins due to the three
forces variably effecting in every frame. Therefore the whole shape
of the agent group and the relative position and the sequence of
the characters are variable as in the real troops, thereby
representing a lively movement.
[0058] At this time, the character at the vanguard of the agent
group is not the leader and is effected by the force toward the
leader at the barycenter of the group (i.e., (2) cohesive
force).
[0059] In addition to the three forces, the leader character is
effected by a force described below in each frame. Total
acceleration is computed in addition to the three forces, and the
latest speed and position are calculated by using the equation 4 of
Euler's formula and then memorized in the RAM.
[0060] More particularly, in the force which brings the leader
character toward the barycenter of the troop, it is assumed that
the position of the agent character (here, the leader) is
designated "p", the current velocity of the agent character is
"v0", the maximum acceleration is "acc", the position of the
barycenter of the platoon is "c", the traveling velocity to the
barycenter of the platoon is "v1", and the relative speed in
gaining access to the barycenter of the platoon (the speed of the
agent character viewed from the barycenter of the platoon) is
"f(1)". f(1):v*1/d, when 0.ltoreq.1<d f(1):v, when d<1
[Equation 5] Here, expression "v" is maximum relative speed, "d" is
the distance to start deceleration of the access speed, and "1" is
the distance between the agent character and the barycenter of the
platoon.
[0061] It is assumed that "dt" is a time until the relative speed
reaches f(1). v2=v0-v1 1=|c-p| v3=(c-p)/1 v4=((v3*f(1))-v2)/dt
Force to bring toward the barycenter of
platoon=v4/|v4|*min(|v4|,acc) [Equation 6]
[0062] However, at this stage, the direction of the agent character
has not been considered (added) yet; the agent character is handled
as a particle having no-direction. This is because, due to the fact
that the agent character has a certain direction, the sudden
changes of the agent character in the opposite direction may result
in non-realistic movement. The changes of the direction must be
shown gradually.
[0063] For this, the present embodiment provides a particle control
having a direction in which a particle control of the agent
character with the addition of a direction control so as to change
the direction of the agent character in each frame. Regarding this,
the well-known method (for example, JP Laid-Open 2004-6267) enables
the agent character to rotate to a traveling direction.
[0064] Also, according to the program of the embodiment to operate
the video game, the CPU block 54, or a computer, functions as: a
group movement means to move a leader-including group of which a
leader character is added to an agent group comprising a plurality
of agent characters in the 3-dimensional virtual space based on
input information from the input device 10; a friendly agent group
following means to permit the friendly agent groups other than the
leader-including group to follow the moving leader-including group;
and a group display means to display the leader-including group and
the friendly agent group on a display device or the television
monitor 8. Here, permitting the friendly agent group of the other
agent group to follow the leader-including group is to bring the
other friendly agent group to move/stop simultaneously with the
leader-including group.
[0065] There are two methods to move the leader-including group
(military unit): one is to directly operate with the left analogue
stick 50; and the other is to automatically move to a target
point.
[0066] As shown in FIG. 12, the first method can be applied to only
the leader-including group operable by the player (hereinafter
referred to as "leader military unit"). The second method is
applied to the military units other than the leader unit.
[0067] Referring to FIG. 12, the leader-including group is managed
as "leader unit" and other friendly agent group as "guard unit".
The guard unit moves to the barycenter of the leader unit as a
target. On this account, simultaneously with the movement of the
leader unit, the guard unit starts to move toward the barycenter of
the leader unit. When the leader unit stops, the guard unit also
stops due to stationary position of the target. The guard unit may
tightly contact and overlap with the leader unit if the guard unit
is allowed to move to reach the target, so that the guard unit
should be stopped at a certain distance from the leader unit.
[0068] More particularly, the guard unit does not further approach
the leader unit when the barycenter of the leader unit is within 20
meters if the guard unit is a "direct attack unit" and within 30
meters for a "long range attack unit". After the leader unit
resumes moving, the guard unit also resumes moving toward the
leader unit when the distance to the leader unit is more than 20-30
meters.
[0069] Next, the recorded medium 12 has the recorded program that
permits the game device 2 to function as the group movement means,
the friendly agent group following means, and the group display
means.
[0070] The game device 2 to control video games of the embodiment
includes: a group movement means to move a leader-including group
of which a leader character is added to an agent group comprising a
plurality of agent characters in a 3-dimensional virtual space
based on input information from an input device; a friendly agent
group following means to permit the friendly agent groups other
than the leader-including group to follow the moving
leader-including group; and a group display means to display the
leader-including group and the friendly agent group on a display
device or the television monitor 8.
[0071] Also, the program of the embodiment to control video games
permit a CPU block 54 or a computer to function as: a group
movement and combat means to move, to an enemy area to fight, a
leader-including group of which a leader character is added to an
agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group movement means to move the
friendly agent group behind the leader-including group toward the
enemy group after the leader-including group starts the battle; and
a friendly and enemy groups display means to display the
leader-including group, the enemy group, and the friendly agent
group on a display device or the television monitor 8.
[0072] For example, with regard to the action of the rear guard
unit when the operable leader unit starts to fight, the unit
includes data for "target for attack" in addition to "target for
moving". When the enemy group is found within a certain range of
the leader unit (view range: for example a segment of front 30
degrees and 30 meters radius, or circle of 40 meters radius), or
when the leader unit starts to fight, the enemy group is recognized
as a "target for attack". Basically, action to attack the "target
for attack" precedes the action to move toward "target for
moving".
[0073] As shown in FIG. 13, when the leader unit starts to fight
and if the rear guard unit is the long distance attacking unit, the
unit begins to attack the "target for attack" (in most cases the
target is the enemy against which the leader unit is fighting). If
the rear guard unit is the direct attack unit, the unit approaches
until the range for attacking (i.e., until the unit is close to the
enemy group). At this time, the action to move toward the "target
for attack" precedes a "process to avoid further approaching the
leader unit".
[0074] Also, the program of the embodiment to control video games
permits a CPU block 54 or a computer to function as: a friendly
agent group move-round means to move the other friendly agent
behind the leader-including group to turn aside from right or left
side of the leader-including group so as to avoid overlapping with
the leader-including group, after starting of the battle of the
leader-including group.
[0075] If the rear guard unit will overlap with the friendly leader
until reaching the "target for attack", the rear guard unit takes
action to move and turn aside from either the left or right side so
as to avoid disturbing them. More particularly, as shown in FIG.
14, when there is the friendly leader unit within the segment of
front 30 degrees and 30 meters radius with respect to the guard
unit, the rear guard unit firstly moves in the 90 degrees right (or
left) direction and goes straight and moves to turn to the rear of
the enemy group (unit). It is noted that the the rear guard unit
moves to turn aside similarly, when there is another guard unit
before the rear guard unit.
[0076] Also, the program of the embodiment to control video games
permits a CPU block 54 or a computer to function as: a friendly
agent group barycenter movement means to automatically move the
friendly agent group other than the leader-including group to the
barycenter of the enemy group when the friendly agent group other
than the leader-including group goes beyond a virtual border line
behind the enemy group that is set behind the enemy group after
starting of the battle of the leader-including group.
[0077] At this time, as shown in FIG. 14, the virtual border line
may be provided at the back of the enemy unit, and the guard unit
may automatically turn to the barycenter of the enemy unit after
the guard unit goes beyond the virtual border line. Incidentally,
movement of the guard unit is done automatically. This is done
based on prepared values that are memorized in RAM 62 in advance by
the program, which values correspond to the situation where the
leader unit operable by the player was moved by the input from the
left analogue stick 50. Alternatively the automatic movement of the
guard unit is done while reading values calculated from relations
with the distance to the front leader unit, similarly with the
process for the leader unit. (These values are ones to achieve so
that, for example, the unit moves sidewardly for some 5 meters from
side of the front leader unit or enemy unit, and moves forward, and
then turns to the barycenter of the enemy group after the unit goes
beyond the virtual border line provided behind the enemy unit.) In
this case, this movement is processed as the (3) moving force.
[0078] Smooth moving-around can be expressed while rotating the
agent character in accordance with the traveling direction by a
more specified equation for moving-around beyond the border line by
the equations 5 and 6 of "the force to bring the leader character
toward the barycenter of the platoon" (the force is calculated to
bring each agent character of the platoon to the barycenter of the
enemy platoon for the moving-around), and the equation 4 of Euler's
formula, and the well-known method (for example, JP Laid-Open
2004-6267). In addition, on a unit (group) base instead of by an
agent base, it may be allowable that the equations 5 and 6 are
applied for "the force to bring the platoon toward the barycenter
of the enemy platoon for moving-around" and the resultant force can
be effected uniformly on each agent character of the platoon.
[0079] The recorded medium 12 has the recorded program that permits
the game device 2 to function as, in addition to above-mentioned
means, the group movement and combat means, the friendly agent
group movement means, the friendly and enemy groups display means,
the friendly agent group move-around means, and the friendly agent
group barycenter movement means.
[0080] The game device 2 to control video games of the embodiment
includes: a group movement and combat means to move and fight a
leader-including group of which a leader character is added to an
agent group comprising a plurality of agent characters in a
3-dimensional virtual space based on input information from an
input device; a friendly agent group movement means to move the
friendly agent group behind the leader-including group toward the
enemy group after the leader-including group starts the battle; a
friendly agent group move-around means to move the other friendly
agent behind the leader-including group to turn aside from the
right or left side of the leader-including group so as to avoid
overlapping with the leader-including group, after starting of the
battle of the leader-including group; a friendly agent group
barycenter movement means to automatically move the friendly agent
group other than the leader-including group to the barycenter of
the enemy group when that friendly agent group other than the
leader-including group goes beyond a virtual border line behind the
enemy group that is set behind the enemy group after starting of
the battle of the leader-including group; and a friendly and enemy
groups display means to display the leader-including group, the
enemy group, and the friendly agent group on a display device or
the television monitor 8.
[0081] Operation of the game device 2 of the embodiment is
explained with reference to the flowcharts of FIGS. 1-7 as to a
battle with the enemy group being commanded by the computer (the
CPU block 54) after movement of the group of the player (friendly
group; leader-included group).
[0082] The game program and the game data recorded on the medium 12
have been already installed into the RAM 62 of the CPU block 54 of
the main body 4 of the game device, having an initial setting
already done. For the sake of simplicity, operation of the group of
the player is mainly explained, and explanation of the group of the
computer, to which is applied the similar process, is omitted.
[0083] Now referring to FIG. 1 which shows a flowchart, a program
starts in step 102, followed by an initial setting in step 104. In
the initial setting in step 104, coordinates of each platoon, in a
move/halt state, are set. For all of the agent characters, the
various data are loaded such as the velocity and acceleration set
at zero, in a northern direction (for example), in the move/halt
state, and those polygon data. The move/halt state is a state
wherein either the character is moving or staying.
[0084] After the initial setting, a determination is made in step
106 as to whether an interruption is caused. In this embodiment, a
time interval for this is set at a time for one frame that
corresponds to two interruptions of Vsync as described above.
[0085] If the determination in step 106 is "NO", a main process is
executed in step 108.
[0086] In this step 108, for example, information for the tilting
operation by the left analogue stick 50 that is received and
transferred by the input receiving section 68, is temporarily
stored and updated in the RAM 62. In this step 108, other processes
are also executed, such as the process as to pressing of other
buttons or the sound process to permit the sound processing section
72 to synthesize for a game sound effect.
[0087] If the determination in step 106 is "YES", then a
sub-routine is executed in step 110 for the group movement and
battle process.
[0088] After the main process in step 108 or the sub-routine for
the group movement and battle process in step 110, a determination
is made in step 112 as to whether a finish button of the input
device 10 is pressed. If this determination in step 112 is "NO",
the program returns to step 106. If the determination in step 112
is "YES", the program ends in step 114.
[0089] The sub-routine for the group movement and battle process in
step 110 in FIG. 1 is illustrated by a flowchart in FIG. 2. One
platoon-state variable is prepared for each platoon, and one
agent-state variable is prepared for each agent character in the
RAM 62.
[0090] As shown in the flowchart in FIG. 2, a program starts in
step 202. At first, a determination is made in step 204 as to
whether the process finished for all of the platoons.
[0091] If the determination in step 204 is "NO", a sub-routine for
the agent is executed in step 206. Then a sub-routine for the
platoon is executed in step 208 and then the program reverts to
step 204.
[0092] If the determination in step 204 is "YES", a process for
full-screen display is executed in step 210 for the character which
is able to display within the screen frame. Then the program
returns in step 212.
[0093] The sub-routine for the agent character in step 206 of FIG.
2 is illustrated by a flowchart shown in FIG. 3. A program starts
in step 302, followed by a determination in step 304 as to whether
the process is finished for all the agent characters.
[0094] If the determination in step 304 is "NO", then a sub-routine
to process for a state of the agent character is executed in step
306. Then the (1) repulsive force is calculated in step 308, and
the (2) cohesive force is calculated in step 310. In step 312, a
determination is made as to whether the agent character is fighting
or not.
[0095] If the determination in step 312 is "NO", then another
determination is made in step 314 as to whether the player is
operating or instructing the platoon. If this determination in step
314 is "YES", then a moving speed for the agent character is set
based on a value of the tilt of the left analogue stick 50 in step
316.
[0096] If the determination in step 314 is "NO", then the traveling
speed for the agent character is set based on the traveling speed
of the platoon in step 318.
[0097] After the traveling speed of the agent character is set in
step 316 or 318, the (3) moving force is computed in step 320.
[0098] After the calculation of the moving force in step 320, a
sub-routine for the barycenter process is executed in step 322.
Then the total acceleration speed is calculated in step 324, and
the latest speed and position of each character are computed and
stored in RAM in step 326, and orientation of the character body is
performed in step 328. The program then returns to step 304.
[0099] If the determination in step 312 is "YES", that is the agent
character is fighting, then a process for the battle of the agent
character is executed in step 330. Here, various process are
executed, such as a process to start fighting of only the agent
character in the battle when the square-marked button 20 is
depressed, a process to deal with the damage of the enemy character
or the damage of the agent character given by the enemy character,
and a process for defense. Then the total acceleration speed is
calculated in step 324.
[0100] If the determination in step 304 is "YES", the program
returns in step 332.
[0101] As to the sub-routine for the process of the state of agent
character in step 306 of FIG. 3, a variable of the state of the
agent is changed as shown in FIG. 4.
[0102] As shown in the flowchart in FIG. 4, a program starts in
step 402. Firstly, the agent character searches for the other agent
characters front and nearest to him in step 404. A determination is
made in step 406 as to whether the enemy group (enemy agent
character) is found.
[0103] If the determination in step 406 is "NO", then another
determination is made in step 408 as to whether the friendly agent
group is found.
[0104] If the determination in step 408 is "YES", then further
determination is made in step 410 as to whether the platoon of the
agent character is in the battle or not.
[0105] If this determination in step 410 is "YES", the agent
character is set to the state for standing by for help in step
412.
[0106] If the determination in step 408 is "NO" or the
determination in step 410 is "NO", then the agent character is set
to the move/halt state in step 414 since there are no agent
characters before him.
[0107] If the determination in step 406 is "YES", then the agent
character is set to a battle state in step 416.
[0108] After the processes in the steps 412, 414, and 416, the
program returns in step 418.
[0109] As shown in the flowchart in FIG. 5, a program starts in
step 502 as to the process for the barycenter in step 322 in FIG.
3. A determination is made in step 504 as to whether the character
to be processed is the leader character.
[0110] If the determination in step 504 is "YES", then a force to
bring toward the barycenter of the friendly platoon (friendly agent
group) is calculated in step 506. This force is obtained from the
equation 5 and equation 6, and is different from the (2) cohesive
force.
[0111] If the determination in step 504 is "NO", then another
determination is made in step 508 as to whether the position of the
agent character is beyond the virtual border.
[0112] If this determination in step 508 is "YES", then a force to
bring toward the barycenter of the enemy platoon (enemy group) is
calculated in step 510. This force is also calculated by utilizing
the equations 5 and 6.
[0113] The program returns in step 512 after the calculation of the
force to bring toward the barycenter of the friendly platoon in
step 506, or the calculation to bring toward the barycenter of the
enemy platoon (enemy agent group) in step 510, or if the
determination in step 508 is "NO".
[0114] The sub-routine for the platoon in step 208 of FIG. 2
includes a modification of the platoon state value as shown in a
flowchart of FIG. 6.
[0115] As shown in the flowchart in FIG. 6, a program starts in
step 602. Firstly, the coordinates of the barycenter of the
friendly platoon are calculated in step 604. A determination is
made in step 606 as to whether all the agent charters are in a
non-balttle state.
[0116] If the determination in step 606 is "NO", then another
determination is made in step 608 as to whether the agent character
is fighting. If this determination in step 608 is "NO", then the
program returns to step 606.
[0117] If the determination in step 608 is "YES", then the platoon
is shifted to the battle state in step 610 and the virtual
borderline for the moving-round is set in step 612.
[0118] If the determination in step 606 is "YES", then the platoon
is shifted to the move/halt state in step 614. Here, this move/halt
state occurs when there are no fighting agent characters.
[0119] After the setting of the virtual border for moving-round in
step 612 or the platoon is shifted to the move/halt state in step
614, a sub-routine for the platoon traveling speed process is
executed in step 616, and the program returns in step 618.
[0120] In the flowchart in FIG. 6, when any one of the agent
characters are fighting, the state variable of the platoon to which
the agent character belongs is shifted to the battle state, and
then the border for moving-round to surround the enemy platoon
(enemy group) is set and restored. If there are no fighting agent
characters, the state variable of the platoon is changed to the
move/halt state.
[0121] As to the sub-routine for the platoon traveling speed
process in step 606 in FIG. 6, a program starts in step 702 as
shown in a flowchart of FIG. 7. Firstly, the process to search for
the other enemy platoon front and nearest to the friendly platoon
(friendly agent group) is executed in step 704. A determination is
made in step 706 as to whether the enemy platoon is found.
[0122] If the determination in step 706 is "NO", then another
determination is made in step 708 as to whether the friendly
platoon is found.
[0123] If this determination in step 708 is "YES", then further
determination is made in step 710 as to whether this friendly
platoon is fighting or not.
[0124] If this determination in step 710 is "YES", then another
determination is made in step 712 as to whether the enemy platoon
goes beyond the virtual border line.
[0125] If this determination in step 712 is "YES", then a traveling
speed to move toward the barycenter of the enemy platoon is set in
step 714 (for the moving-round).
[0126] If the determination in step 706 is "YES", then the
traveling speed and direction to gain access to the enemy platoon
are set in step 716.
[0127] If the determination in step 708 is "NO", then the traveling
speed and direction for deceleration and stoppage are set in step
718.
[0128] If the determination in step 710 is "NO", then the traveling
speed and direction to follow the friendly platoon are set in step
720.
[0129] If the determination in step 712 is "NO", then the traveling
speed and direction toward the vicinity of the enemy platoon are
set in step 722. The vicinity of the enemy platoon is, for example,
at 5 meter on the borderline from the agent character at the right
end of the enemy platoon.
[0130] The program returns in step 724 after the processes in steps
714-722.
[0131] As a result, according to the program for controlling the
movement of the group of characters, recorded medium, and game
device thereof of the embodiment, the program serves to permit the
rear friendly agent group to follow the other front friendly agent
group (or the leader including-group) in case the friendly agent
group, even if the player is not operating, finds the other front
friendly agent group (including the leader-included group that the
player is operating), and to permit the rear friendly agent group
to battle in case the friendly agent group finds the enemy group.
Thereby, automatic action is achievable within an appropriate
region. For example, in case the leader-including group operated by
the player is found, the rear friendly agent group takes actions of
following in accordance with the operation and automatically turns
aside from behind the enemy group toward the barycenter of the
enemy group that is fighting with the leader-including group
operated by the player. This serves to show the whole group without
substantially disturbing the formation of the group and to
appropriately express the character's behavior such as passing or
changing position of the character in the group. Accordingly, one
can enjoy complex lively movement or fighting of the group having
the leader in the middle by a self-explanatory operation, which is
expressed more realistically.
[0132] Since the input device 10 is not a button operation but an
analogue stick operation, complex operation can be achieved by the
left analogue stick 50. For example, the whole group moves straight
in the direction designated by the left analogue stick 50 but
starts to rotate to a large extent when the stick 50 is tilted in
the opposite direction without releasing the player's finger as in
the button operation.
[0133] Further, the friendly agent group (e.g. group of rear foot
solders) other than the operated group (e.g. group of horse
solders) can follow (move and stop simultaneously) to keep the
distance uniformly between the barycenters.
[0134] It is noted that in the present invention, the player can
select automatically operating friendly platoons from a selection
list displayed on the screen. Thereby, the selected friendly
platoon may be allowed to follow the platoon that the player is
operating.
[0135] The leader character may be positioned behind the agent
group.
[0136] The direct operation of the group by the player also can be
applied to the other game device.
[0137] Although particular preferred embodiments of the invention
have been disclosed in detail for illustrative purposes, it will be
recognized that variations or modifications of the disclosed
apparatus, including the rearrangement of parts, lie within the
scope of the present invention.
* * * * *