U.S. patent application number 11/313130 was filed with the patent office on 2006-06-22 for program for controlling the movement of group of characters, recorded medium, and game device thereof.
Invention is credited to Jumpei Tsuda.
Application Number | 20060135237 11/313130 |
Document ID | / |
Family ID | 36596700 |
Filed Date | 2006-06-22 |
United States Patent
Application |
20060135237 |
Kind Code |
A1 |
Tsuda; Jumpei |
June 22, 2006 |
Program for controlling the movement of group of characters,
recorded medium, and game device thereof
Abstract
In a program for controlling a group of characters, a recorded
medium, and a game device thereof, 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. 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 particular effect function to
effect a particular force on each character every certain time in
order to express the realistic movement of the character when
moving the leader-including group; a position computing and storage
function to calculate and memorize the latest position of each
character based on the applied particular effects; and a group
display function to display the leader-including group on a display
device.
Inventors: |
Tsuda; Jumpei;
(Kanagawa-ken, JP) |
Correspondence
Address: |
FLYNN THIEL BOUTELL & TANIS, P.C.
2026 RAMBLING ROAD
KALAMAZOO
MI
49008-1631
US
|
Family ID: |
36596700 |
Appl. No.: |
11/313130 |
Filed: |
December 20, 2005 |
Current U.S.
Class: |
463/9 |
Current CPC
Class: |
A63F 2300/64 20130101;
A63F 2300/8029 20130101; A63F 13/822 20140902; A63F 13/10 20130101;
A63F 2300/6623 20130101; A63F 13/56 20140902 |
Class at
Publication: |
463/009 |
International
Class: |
A63F 9/24 20060101
A63F009/24 |
Foreign Application Data
Date |
Code |
Application Number |
Dec 21, 2004 |
JP |
2004-369471 |
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 particular effect means to
effect a particular force on each character every certain time in
order to express the realistic movement of the character when
moving the leader-including group; a position computing and storage
means to calculate and memorize the latest position of each
character based on the applied particular effects; and a group
display means to display the leader-including group on a display
device.
2. The program for controlling the movement of a character group as
defined in claim 1, wherein the particular force effected on each
character includes repulsive force, cohesive force, and moving
force.
3. The program for controlling the movement of a character group as
defined in claim 1 to permit the computer to further function as a
leader movement means to move the leader character to the
barycenter of the agent group.
4. A recorded medium on which the programs as defined in claims 1
are recorded and from which the computer can read.
5. 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 particular force effect means
to effect the particular force on each character every certain time
in order to express the realistic movement of the character when
moving the leader-including group; a position computing and storage
means to calculate and memorize the latest position of each
character based on the applied particular effects; and a group
display means to display the leader-including group on a display
device.
6. A program for controlling video games, and 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 for a
battle, 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 front-line forming means to form the front-line of
the leader-including so as not to pass an enemy group in the battle
of the leader-including group against the enemy group; and a
friendly and enemy groups display means to display the
leader-including and the enemy groups on a display device.
7. The program for controlling the movement of a character group as
defined in claim 6 to permit the computer to further function as a
friendly agent movement means to move the friendly agent who is not
fighting based on information from the input device after the
leader-including group is piercing the enemy group.
8. The program for controlling the movement of a character group as
defined in claim 7 to permit the computer to further function as a
friendly agent move-around means to automatically move the friendly
agent who is not fighting to surround behind the enemy group when
the friendly agent goes beyond a set virtual border line at the
back of the enemy group.
9. The program for controlling the movement of a character group as
defined in claim 6 to permit the computer to further function as a
reconnoiter means to enable the leader character to search for the
enemy as in the other friendly agent character in the course of
battle of the leader-included group.
10. A recorded medium on which the programs as defined in claims 6
are recorded and from which the computer can read.
11. A game device to operate the video game, comprising: a group
movement and combat means to move, to an enemy area for a battle, 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 front-line forming means to form the front-line of
the leader-including so as not to pass an enemy group in the battle
of the leader-including group against the enemy group; a friendly
agent movement means to move the friendly agent who is not fighting
after the leader-including group is piercing the enemy group; a
friendly agent move-around means to automatically move the friendly
agent who is not fighting to surround behind the enemy group when
the friendly agent who is not fighting goes beyond a set virtual
border line at the back of the enemy group; and a friend and enemy
groups display means to display the leader-including group and the
enemy 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] Examples of relevant patent documents include JP No.
3163496, JP Laid-Open No. 2002-66131, and JP Laid-Open No.
2004-62676.
SUMMARY OF THE INVENTION
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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 particular effect means to effect a particular
force on each character every certain time in order to express the
realistic movement of the character when moving the
leader-including group; a position computing and storage means to
calculate and memorize the latest position of each character based
on the applied particular effects; and a group display means to
display the leader-including 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 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 front-line forming means to
form the front-line of the leader-including group so as not to pass
an enemy group in the battle of the leader-including group against
the enemy group; and a friendly and enemy groups display means to
display the leader-including and the enemy groups on a display
device.
[0011] According to the present invention that provides the program
for controlling the movement of group of characters, recorded
medium, and game device thereof, the invention 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 the 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.
[0012] 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 having the leader in the middle
by a self-explanatory operation.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Embodiments of the present invention will now be described
in detail with reference to the drawings.
[0014] FIG. 1 is a flowchart of a program for controlling the
character group.
[0015] FIG. 2 is a flowchart for a sub-routine to process the
movement and battle of the group.
[0016] FIG. 3 is a flowchart for a sub-routine to process the agent
character in FIG. 2.
[0017] FIG. 4 is a flowchart for a sub-routine to process a state
of the agent character in FIG. 3.
[0018] FIG. 5 is a flowchart for a sub-routine to process the
barycenter in FIG. 3.
[0019] FIG. 6 is a flowchart for a sub-routine to process the
platoon in FIG. 2.
[0020] FIG. 7 is a flowchart for a sub-routine to process traveling
speed of the platoon in FIG. 6.
[0021] FIG. 8 is a diagram of the repulsive force effected on the
character.
[0022] FIG. 9 is a diagram of the relationship between the
repulsive force effected on the character and the distance.
[0023] FIG. 10 is a diagram of the cohesive force effected on the
character.
[0024] FIG. 11 is a diagram of the moving force effected on the
character.
[0025] FIG. 12 is a diagram wherein the leader character is at the
vanguard of the group.
[0026] FIG. 13 is a diagram wherein the leader character is
positioned generally in the middle of the screen.
[0027] FIG. 14(A) is a diagram of the force effected on the
character.
[0028] FIG. 14(B) is a diagram to show the movement of the
character.
[0029] FIG. 15 is a diagram to show the movement of the vanguard
soldiers in the course of the battle in the front line.
[0030] FIG. 16 is a diagram to show the rearguard soldiers standing
by to cover the vanguard soldiers.
[0031] FIG. 17 is a diagram to show the friendly agent group
shifting to the assist state.
[0032] FIG. 18 is a diagram to show the arrangement of the agent
characters when attacking.
[0033] FIG. 19 is a diagram to show the movement of the rearguard
soldiers.
[0034] FIG. 20 is a diagram to show the movement of the rearguard
soldiers after the virtual borderline is established.
[0035] FIG. 21 is a block diagram of the game device.
[0036] FIG. 22 is a plan view of the input device.
[0037] FIG. 23 is a front view of the input device taking along
line of an arrow XXIII in FIG. 22.
[0038] FIG. 24 is a control block diagram of the game device.
DETAILED DESCRIPTION
[0039] FIGS. 1-24 illustrate an embodiment of the present
invention.
[0040] FIG. 21 shows a video game device 2 for home usage
(hereinafter referred to as "game device").
[0041] 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. 24) 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.
[0042] As shown in FIGS. 22 and 23, 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 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.
[0043] Referring to FIG. 24, 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.
[0044] 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.
[0045] 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 (troop, platoon and the
like) comprising a plurality of agent characters in the
3-dimensional virtual space based on input information from the
input device 10; a particular force effect means to effect a
particular force on each character every certain time in order to
express the realistic movement of the character when moving the
leader-including group; a position computing and storage means to
calculate and memorize the latest position of the character based
on the applied particular effects; and a group display means to
display the leader-including group on the display device, namely
the television monitor 8.
[0046] The particular force includes three forces (1)-(3) as
follows: (1) a repulsive force to avoid a collision with the other
characters (force in a direction of dispersion); (2) a cohesive
force to effect the agent group toward the barycenter (force to be
together); and 3) a moving force to move the character in a
designated direction selected by the operation section of the input
device 10 or by the program.
[0047] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, further
functions as a leader movement means to move the leader character
to the barycenter of the agent group.
[0048] The recorded medium 12 has the recorded program that permits
the game device 2 to function as the group movement means, the
particular force effect means, the position computing and store
means, the group display means, and the leader movement means.
[0049] The game device 2 to operate the video game of the
embodiment includes: the group movement means to move a
leader-including group of which the leader character is added to
the agent group comprising a plurality of the agent characters in
the 3-dimensional virtual space based on input information from the
input device 10; the particular force effect means to effect the
particular force on each character every certain time in order to
express the realistic movement of the character when moving the
leader-including group; the position computing and storage means to
calculate and memorize the latest position of the character based
on the applied particular effects; the group display means to
display the leader-including group on the television monitor 8,
i.e. the display device; and the leader movement means to move the
leader character to the barycenter of the agent group.
[0050] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, further
functions as: a group battle movement means to move, to an enemy
area for a battle, the leader-including group of which the leader
character is added to the agent group comprising a plurality of the
agent characters in the 3-dimensional virtual space based on input
information from the input device 10; a front line forming means to
form the front line of the leader-including group to avoid breaking
(mixture) of the enemy group in the course of the battle against
the enemy group; and a friend and enemy groups display means to
display the leader-including group and the enemy group on the
television monitor 8, i.e. the display device.
[0051] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, further
functions as a friendly agent movement means to move the friendly
agent who is not fighting based on information from the input
device 10 after the leader-including group is piercing the enemy
group.
[0052] According to the program of the embodiment to operate the
video game, the CPU block 54, or the computer, further functions as
a friendly agent move-around means to automatically move the
friendly agent who is not fighting to surround behind the enemy
group when the friendly agent (or group) who is not fighting goes
beyond a set virtual border line at the back (behind) of the enemy
group.
[0053] According to the program of the embodiment to operate the
video game, the CPU block 54, or the computer, further functions as
a reconnoiter means to enable the leader character to search for
the enemy as in the other friendly agent character in the course of
battle of the leader-included group.
[0054] The recorded medium 12 has the recorded program that permits
the game device 2 to function as, in addition to the
above-mentioned functions, the group battle movement means, the
front line forming means, the friend and enemy groups display
means, the friendly agent movement means, the friendly agent
move-around means, and the reconnoiter means.
[0055] Next, to operate the video game of the embodiment, the game
device 2 includes: the group battle movement means to move, to the
enemy area for a battle, the leader-including group of which the
leader character is added to the agent group comprising a plurality
of the agent characters in the 3-dimensional virtual space based on
input information from the input device 10; the front line forming
means to form the front line of the leader-including group to avoid
breaking (mixture) of the enemy group in the course of the battle
against the enemy group; the friendly agent movement means to move
the friendly agent who is not fighting after the leader-including
group is piercing the enemy group; the friendly agent move-around
means to automatically move the friendly agent who is not fighting
to surround behind the enemy group when the friendly agent who is
not fighting goes beyond a set virtual border line at the back of
the enemy group; and the friend and enemy groups display means to
display the leader-including group and the enemy group on the
television monitor 8, i.e. the display device.
[0056] As thus described, according to the embodiment of the
present invention, the program for controlling the video game
permits the CPU block 54, or the computer, to function as: the
group movement means to move the leader-including group of which
the leader character is added to the agent group comprising a
plurality of the agent characters in the 3-dimensional virtual
space based on input information from the input device 10; the
particular force effect means to effect the particular force on
each character every certain time in order to express the realistic
movement of the character when moving the leader-including group;
the position computing and storage means to calculate and memorize
the latest position of the character based on the applied
particular effects; and the group display means to display the
leader-including group on the television monitor 8, i.e. the
display device. Alternatively, in addition to those functions, the
program permits the computer to function as the leader movement
means to move the leader character to the barycenter of the agent
group. Thereby, on the move of the leader-including group, the
particular forces, i.e., repulsive, cohesive, and moving forces,
are applied so that the movement of every character is displayed
realistically every certain time (frames).
[0057] 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.
[0058] 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.
[0059] 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| [Equation 1] v=(a-b)/1
Repulsive force=v*f*max(d-1, 0)/d 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 the 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.
[0060] 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 a 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.
[0061] 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|
[Equation 2] Cohesive force=v*f
[0062] 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 [Equation
3] Moving force=v/v|*min(|v|, acc) 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".
[0063] 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.
[0064] For 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).
[0065] 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).
[0066] 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 [Equation 4]
P1=P0+V0*.DELTA.t+0.5*.alpha.*.DELTA.t2
[0067] Based on the latest position P1 obtained from the above
equation 4 for each character, the agent character is drawn on the
screen.
[0068] Thus, the (1) repulsive force and the (2) cohesive force are
counteracting, so that the forces (1)-(3) vary in every frame.
Slight sway of the barycenter effects on the (2) cohesive force.
This serves to express the group swaying or lively slight
movement.
[0069] 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.
[0070] Referring to FIG. 12, 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.
[0071] Therefore, in the embodiment as shown in FIG. 13, 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.
[0072] 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.
[0073] 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).
[0074] 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.
[0075] 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 Here,
expression "v" is the 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.
[0076] It is assumed that "dt" is a time until the relative speed
reaches f(1). v2=v0-v1 [Equation 6] 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)
[0077] In the above-mentioned equation, as shown in FIGS. 14(A) and
14(B), when the agent character "x" moving in the direction "v" at
the velocity of "v" is effected by the force in the direction "v"
at the velocity of "v'", the agent character can be moved in the
direction "v'" in a situation where the force in the direction
"v'-v" is applied. Here, equation "(v'-v)/dt=.alpha." relates to
the acceleration speed, that is the force to bring toward the
barycenter having mass of 1. This acceleration speed a does not
point to the barycenter (direction "v'-v"; "v'" is the direction to
the barycenter). This is different from the (2) cohesive force
(acceleration speed) that directs toward the barycenter.
[0078] 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.
[0079] 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.
[0080] As shown in FIGS. 15 and 16, in the course of combat of the
agent group, both of the (3) moving force to move forward (see FIG.
11) and the (1) repulsive force effected by a vanguard soldier of
the enemy group are applied to the group. In this situation, both
the repulsive and moving forces cause the group to be in a flat
formation to gradually expand right and left, particularly the
rearguard soldiers are dispersing. On this account, the expansion
or dispersion is avoided by applying the (2) cohesive force, the
force toward the barycenter of the group, to the characters. In
addition, the vanguard soldier fighting in the front line is
processed, given a battle process on a higher priority, so that the
right and left movements of the (3) moving force are prevented (the
soldiers are not moved right and left even if the right analogue
stick 50 is operated sidewardly).
[0081] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, functions as: a
group battle movement means to move, to an enemy area for a battle,
the leader-including group of which the leader character is added
to the agent group (troop, unit and the like) comprising a
plurality of agent characters in the 3-dimensional virtual space
based on input information from the input device 10; a front line
forming means to form the front line of the leader-including group
to avoid breaking (mixture) of the enemy group in the course of the
battle against the enemy group; and a friend and enemy groups
display means to display the leader-including group and the enemy
group on the television monitor 8, the display device.
[0082] As shown in FIG. 17, a first character searches for the
other agent characters within a certain radius (e.g., 5 m) and
within a certain angel view .theta. (e.g., 90 degrees).
[0083] Then, if the other agent character nearest to the first
character is the enemy agent, the first character is shifted to a
battle state. If not and if the other agent character front and
nearest to the first character is the friendly agent character, it
is shifted to an assisting state. If not, the first character
remains to move since there are no other agent characters before
him.
[0084] Here, the above-mentioned assisting state in this embodiment
is a state where the first character is standing by to avoid the
enemy agent character to pierce into the friendly agent group,
although there may be another method to increase variables of
attacking or defense power of the fighting vanguard character in
the front line.
[0085] On the process of the program, whether each character is
fighting or not is determined by referring to state variables that
indicate battle, assist, or moving state and are updated at anytime
and stored in the RAM 62.
[0086] Consequently, the group forms the front-line as described
below. In this way, a process of which local control is provided
with each agent character but eventually forms the total formation,
is generally called "creative and developing control". The purpose
of this process that forms the front line is to prevent melee or
assault at close quarters.
[0087] After the battle begins, there may be caused a close fight
where both friend and enemy groups mix or confuse. The player
cannot grasp which group the player is operating, even if the
process has been realized to operate the group before mixing. It is
hard to see the original formation of the group.
[0088] In contrast, formation of the group is clearly visualized or
maintained by a process of which, in the course of the battle, the
vanguard soldiers form the front line and then rearguard soldiers
behind the vanguard soldiers move to cover them.
[0089] Pressing the attack button (e.g., the square-marked button
20) allows attacking of only the front vanguard soldiers of the
group being presently operated by the player and shows motion of
the characters, such as swinging down the sword.
[0090] More particularly, when the square-marked button 20 is
depressed, the agent character who does not face the friendly agent
character swings down the sword, regardless of whether facing the
enemy character or not. The soldiers in a first row do not
necessarily swing down the sword. This is illustrated in FIG.
18.
[0091] Next, according to the program of the embodiment to operate
the video game, the CPU block 54, or the computer, further
functions as a friendly agent movement means to move the friendly
agent who is not fighting based on information from the input
device 10 after the leader-including group pierces the enemy group;
and a friendly agent move-around means to automatically move the
friendly agent who is not fighting to surround behind the enemy
group when the friendly agent who is not fighting goes beyond a set
virtual border line at the back (behind) of the enemy group.
[0092] More particularly, in FIG. 19, a right-arrow (a) and
up-arrow (b) show the directions of the forces effected onto the
rearguard soldiers, i.e. moving directions, when the left analogue
stick 50 is tilted toward right and up in turn (alternatively the
cross-shaped button set 36 is depressed rightward and upward in
turn).
[0093] As shown in FIG. 20, after the left analogue stick 50 is
tilted in the directions (a) and (b), the left analogue stick 50
should be tilted downwardly in a usual way. However, requirement of
this downward operation also results in the undesirable downward
movement of the group presently fighting (i.e., retreat).
[0094] At this time, the group main body should not be moved, so
that, while the downward operation of the left analogue stick 50 is
still allocated to downwardly move the group main body, the
move-around of the rearguard soldier is realized without the need
for the downward operation of the left analogue stick 50. In
particular, the virtual borderline is appropriately provided at the
back or through the enemy group. After the rearguard soldiers move
beyond the virtual boarder line by operation of the left analogue
stick 50 in the direction (b), the rearguard soldiers automatically
move-around behind or to the side of the enemy group and then move
toward the barycenter of the enemy group (subsequently battle
occurs).
[0095] The virtual boarder line is, for example, a straight line
which is perpendicular to a line connecting the barycenters of the
enemy and friendly agent groups and which passes the aftermost of
the enemy group, with respect to the friendly agent group or which
passes the barycenter of the enemy group instead of the aftermost
of the enemy group. Other lines such as a line behind the enemy
group or a line passing inside of the group or even a curved line
may be utilized as long as automatic move-around can be started to
the extent a certain attack can be achieved.
[0096] Also, the other methods to prevent dispersion of the agent
character may include a process to avoid movement beyond a virtual
frame of the group, for example. However it is difficult for this
method to move (move round) only a part of the group not
fighting.
[0097] Therefore, according to the program of the embodiment to
operate the video game, the CPU block 54, or a computer, further
functions as a friendly agent move-around means to automatically
move the friendly agent who is not fighting to surround behind the
enemy group when the friendly agent who is not fighting goes beyond
an assumed virtual border line at the back (behind) of the enemy
group. With regard to the force to move behind the enemy group, the
above-mentioned equation 5 and equation 6 effected on the leader
character are applied to the agent characters, while replacing the
barycenter of the platoon by that of the enemy platoon, that is
"the force to move the respective agent toward the barycenter of
the enemy platoon".
[0098] Operation of the game device 2 of the embodiment is
explained with reference to 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).
[0099] 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.
[0100] 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 the 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.
[0101] 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.
[0102] If the determination in step 106 is "NO", a main process is
executed in step 108.
[0103] 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.
[0104] If the determination in step 106 is "YES", then a
sub-routine is executed in step 110 for the group movement and
battle process.
[0105] 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.
[0106] 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.
[0107] 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 is finished for all of the platoons.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] After the traveling speed of the agent character is set in
step 316 or 318, the (3) moving force is computed in step 320.
[0115] 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.
[0116] 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.
[0117] If the determination in step 304 is "YES", the program
returns in step 332.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] If this determination in step 410 is "YES", the agent
character is set to the state for standing by for help in step
412.
[0123] 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.
[0124] If the determination in step 406 is "YES", then the agent
character is set to a battle state in step 416.
[0125] After the processes in the steps 412, 414, and 416, the
program returns in step 418.
[0126] 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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".
[0131] 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.
[0132] 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-battle state.
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] If the determination in step 706 is "NO", then another
determination is made in step 708 as to whether the friendly
platoon is found.
[0140] 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.
[0141] 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.
[0142] 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).
[0143] 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.
[0144] If the determination in step 708 is "NO", then the traveling
speed and direction for deceleration and stoppage are set in step
718.
[0145] If the determination in step 710 is "NO", then the traveling
speed and direction to follow the friendly platoon are set in step
720.
[0146] 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 border line from the agent character at the right
end of the enemy platoon.
[0147] The program returns in step 724 after the processes in steps
714-722.
[0148] As thus described, according to the present invention that
provides the program for controlling the movement of a group of
characters, recorded medium, and game device thereof, achieves 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 or life-like movement or
fighting of the group having the leader in the middle by a
self-explanatory operation, which is expressed more
realistically.
[0149] As a result, in this embodiment, the leader-including group
(troop) can be directly operated by manipulation of the input
device 10 at the beginning of the movement or when moving the
group. The manipulation of the input device 10 is to tilt the left
analogue stick 50 or to press the cross-shaped button set 36 so as
to input the traveling direction. This achieves the expression of
the realistic movement of the leader-included group (troop; such as
horse-soldiers). On each character of the group on the move, the
above-mentioned three forces (repulsive, cohesive, moving forces)
are effected, and latest position of each character is calculated
for every certain time (frame). Realistic movement of the
leader-included group can be shown while changing its position in
the group without disturbing the formation.
[0150] Incidentally, in the movement of the leader-including group,
the leader character is positioned generally in the middle of the
group. There may be a method to change the leader character in
addition to changing of the character at the top of the group, when
the character at the top is moved sidewardly as the leader
character.
[0151] However, it is assumed that, in this embodiment, a
particular leader character commands the agent characters
(soldiers) to move or fight as a group. Therefore it is not assumed
that the leader character is changed depending on the state of the
leader-including group (troop). Accordingly, the leader character
is not changed in view of the idea of the barycenter if the leader
character is positioned generally in the middle of the group.
[0152] Also, at the beginning or in the course of the battle of the
leader-including group, there is formed the front line by the
fighting characters. The left analogue stick 50 (or the
cross-shaped button set 36) is tilted upwardly to start moving the
leader-including group upwardly. The battle starts when
encountering the enemy group. As long as the left analogue stick 50
is tilted upwardly, the characters continue the battle. At this
time, the non-displayed front line is formed by the fighting agent
character (front-line soldiers) so as to pass the enemy group. In
contrast, the group starts to retreat when the left analogue stick
50 is tilted downwardly. It is a normal process for a one-on-one
fight, but it is a complicated process for the group fight.
[0153] Further, after the leader-including group is piercing the
enemy group, the friendly agents who are not fighting can be
operated. If the leader-including group is not fighting, the rear
agent characters (rear-guarding soldiers) are standing by for
assistance while maintaining the formation (so as to avoid piercing
of the enemy character) and are able to move behind the enemy group
upon the operation of the input device 10.
[0154] There is provided the virtual borderline behind and adjacent
the enemy group. When the player operates the left analogue stick
50, the friendly agents who are not fighting move beyond the
borderline and move automatically behind the enemy group for
surround.
[0155] Also, in the battle after the movement of the
leader-including group, the leader character searches for the enemy
(who are not fighting in view so as to move close to them for the
fight), similarly to the other friendly agent characters.
[0156] It is noted that in the present invention, the leader
character can be positioned in the rear of the agent group.
* * * * *