JP2007021233A - Character group movement controlling program, storage medium, and game device - Google Patents
Character group movement controlling program, storage medium, and game device Download PDFInfo
- Publication number
- JP2007021233A JP2007021233A JP2006247687A JP2006247687A JP2007021233A JP 2007021233 A JP2007021233 A JP 2007021233A JP 2006247687 A JP2006247687 A JP 2006247687A JP 2006247687 A JP2006247687 A JP 2006247687A JP 2007021233 A JP2007021233 A JP 2007021233A
- Authority
- JP
- Japan
- Prior art keywords
- group
- character
- agent
- leader
- enemy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
この発明は、キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置に係り、特にプレイヤに3次元空間上の集団(群れ)を直接介入操作させ、集団の移動や戦闘をリアルに表現させるキャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置に関するものである。 The present invention relates to a character group movement control program, a storage medium, and a game device, and in particular, a character group movement control that causes a player to directly intervene a group (group) in a three-dimensional space to express group movement and battle realistically. The present invention relates to a program, a storage medium, and a game device.
家庭用ビデオゲームにおいては、3次元仮想空間上で、リーダーキャラクタと、このリーダーキャラクタに追随する複数のエージェントキャラクタからなるエージェント集団(群れ)と、を移動制御するものがある。 Some home video games control movement of a leader character and an agent group (group) composed of a plurality of agent characters following the leader character in a three-dimensional virtual space.
従来、キャラクタ集団移動制御には、第1の領域内に他のキャラクタが存在するときに、この他のキャラクタから所定距離だけ離れるための加速度、第2の領域内にリーダーキャラクタに追随するように移動する他のキャラクタが存在するときに、この他のキャラクタの移動する速さ及び方向を合わせるための加速度を、3次元仮想空間上のx、y、zの成分毎に加算した総和加速度で、各キャラクタを目標点に移動させるものがある。これにより、各キャラクタが、第1又は第2の領域内に存在する他のキャラクタの移動状況に応じて速さや方向を変更しながら移動することができ、各キャラクタの移動の動作をリアルに表現させている。
また、キャラクタ集団移動制御には、入力装置において、方向を指示するための第1ボタン乃至第4ボタンのいずれのボタンも押下されていないときに、複数のゲームキャラクタを、特定のゲームキャラクタ又は特定の第1領域から離散するように移動させ、第1ボタンが押下されたときに、ゲームキャラクタを特定のゲームキャラクタ又は特定の第2領域の近傍に集結するように移動させるものがある。これにより、3次元仮想空間上で、特定のゲームキャラクタ又は特定の第1領域から離散した後、特定のゲームキャラクタ又は特定の第2領域に向かう方向が夫々異なる複数のゲームキャラクタに対し、第1ボタンによる一つのボタン操作で各方向と動作開始の指示を同時に指定し、複数のゲームキャラクタの移動に対して操作性の向上を図るとともに、信号処理部での負担の軽減を図ることができる。また、第2ボタン乃至第4ボタンのいずれかのボタンが押下されたときに、この第2ボタン乃至第4ボタンで指示された指定方向に、複数のゲームキャラクタを集団で移動させるようにすれば、この集団を指定することなく、第2ボタン乃至第4ボタンを、本来の方向を指示するためのボタンとして使用し、この集団を移動させることができるので、上述した離散・集結に加え、集団の移動操作性を向上させることができる。更に、入力装置が上下左右で構成された十字方向ボタンセットを備えており、第1ボタンを下ボタンとし、第2ボタン乃至第4ボタンを上左右ボタンとすれば、特定のゲームキャラクタはプレイヤ自身を表しており、十字方向ボタンセットの下ボタンは、その物理的配設位置からプレイヤの元に集結するという感覚と一致しているので、下ボタンは特定のゲームキャラクタへの集結用ボタンであることが分かり易く、上左右ボタンは十字方向ボタンの本来の方向指示用ボタンとして用いることができる。
更に、キャラクタ集団移動制御には、コンピュータを、3次元仮想空間で動作する非表示の3次元ポリゴンモデルのモーションデータを付与するモデルデータ付与手段、3次元ポリゴンモデルの頂点に追随するように頂点に対応付けられたキャラクタに運動性能を付与する運動性能付与手段、キャラクタの3次元仮想空間上の位置を演算する位置演算手段、として機能させるものがある。これにより、集団を構成する複数のキャラクタが非表示の3次元ポリゴンモデルの頂点に追随するように運動性能が付与され、各キャラクタ毎にモーションを用意する必要がなく、処理の簡素化が図られるとともに、キャラクタ全体で複雑な集団形状をとりながら、あたかも、1つの生物のように動く様子を表現することができる。
In the character group movement control, a plurality of game characters are specified as specific game characters or specified when none of the first button to the fourth button for instructing the direction is pressed on the input device. The first character is moved discretely from the first region, and when the first button is pressed, the game character is moved so as to be concentrated in the vicinity of the specific game character or the specific second region. As a result, in the three-dimensional virtual space, after being separated from the specific game character or the specific first area, the first game character is different from each other in the direction toward the specific game character or the specific second area. It is possible to simultaneously specify each direction and an operation start instruction by one button operation with the buttons, thereby improving the operability with respect to the movement of a plurality of game characters and reducing the burden on the signal processing unit. Further, when any one of the second button to the fourth button is pressed, a plurality of game characters are moved together in a designated direction designated by the second button to the fourth button. Without specifying this group, the second button to the fourth button can be used as buttons for instructing the original direction, and this group can be moved. The moving operability of the can be improved. Furthermore, if the input device is provided with a cross direction button set composed of up, down, left and right, and the first button is a down button and the second to fourth buttons are up, left, and right buttons, the specific game character is the player himself Since the lower button of the cross direction button set coincides with the feeling of gathering to the player from the physical arrangement position, the lower button is a button for gathering to a specific game character. It is easy to understand, and the upper left and right buttons can be used as the original direction instruction buttons of the cross direction buttons.
Furthermore, in character group movement control, a computer is provided with model data providing means for applying motion data of a non-displayed three-dimensional polygon model operating in a three-dimensional virtual space, and the vertex is set to follow the vertex of the three-dimensional polygon model. Some of them function as athletic performance imparting means for imparting athletic performance to the associated character and as position calculating means for calculating the position of the character in the three-dimensional virtual space. Thereby, motion performance is imparted so that a plurality of characters constituting the group follow the vertices of the non-displayed three-dimensional polygon model, and it is not necessary to prepare a motion for each character, thereby simplifying the processing. At the same time, it is possible to express a movement like a single creature while taking a complex group shape throughout the character.
ところが、従来、キャラクタ集団移動制御にあっては、上記の特許文献1及び特許文献3に記載された発明は、プレイヤが集団(群れ)の移動を直接介入操作できるものではなく、コンピュータにより自動的に集団が移動処理されるものなので、戦略をながめて楽しむという点では向いているものの、集団の移動や戦闘場面に直接介入して楽しむという点では不向きであるという不都合があった。 However, conventionally, in the character group movement control, the inventions described in Patent Document 1 and Patent Document 3 described above do not allow the player to directly intervene the movement of the group (group), but automatically by the computer. However, since the group is moved and processed, it is suitable for watching and enjoying the strategy, but it is not suitable for enjoying the movement of the group and intervening directly in the battle scene.
また、上記の特許文献1に記載された発明では、各キャラクタの集団は、リーダーキャラクタに追随しながら互いに距離をとり、速度と方向とを変化させながら移動するので、追い越しや隊列内の配置が変わることもあり、自然な移動が表現することができるが、重心という考え方が存在しないので、場合によっては、集団の背後(後方)のキャラクタが大きく拡散し、画面に集団全体が表れないこともあった。これに対し、上記の特許文献3に記載された発明では、各キャラクタが非表示の全体ポリゴンモデルの各頂点に追随するようにしたので、各キャラクタが大きく拡散することはなくなり、隊列の形状を保つことができるようになったが、各キャラクタには、隊列内の本来の整列位置(即ち、移動目標となるキャラクタ固有の頂点)が定められているので、基本的には、隊列内の配置が変わることはなく、変化に富んだ移動とまでは言えなかった。 In the invention described in Patent Document 1, each character group moves while changing the speed and direction while keeping distance from each other while following the leader character. It can change, and natural movement can be expressed, but since there is no concept of the center of gravity, the characters behind the group (behind) greatly diffuse in some cases, and the entire group may not appear on the screen there were. On the other hand, in the invention described in the above-mentioned Patent Document 3, each character follows each vertex of the non-displayed whole polygon model, so that each character does not diffuse greatly and the shape of the formation is changed. However, each character has its original alignment position in the platoon (that is, the vertices specific to the character that is the target of movement), so it is basically arranged in the platoon. There was no change, and it could not be said that the movement was rich in change.
更に、上記の特許文献2に記載された発明では、十字方向ボタンセットにより直接的に集団を操作することができたが、基本的には、リーダーキャラクタに追随する上記の特許文献1に記載された発明を引き継ぐものであるので、集団全体で真っ直ぐ進め・止まれ程度の操作が限界であった。これは、上記と同様に、重心という考え方が存在しないので、キャラクタが移動中に拡散したり、集団全体が表示されないという問題が残り、更には、戦闘状態への移行後は、最終的に乱戦状態となるので、拡散したキャラクタのプログラム処理上での状況把握が困難であり、外部からの集団としての操作が、もはや、困難となるからである。
Furthermore, in the invention described in
この発明は、ビデオゲームを制御するプログラムであって、コンピュータを、3次元仮想空間上でリーダーキャラクタを複数の味方エージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置から入力する移動方向の指定情報に基づいて敵集団の領域に移動して戦闘させる集団移動戦闘手段、前記リーダー入り集団と前記敵集団との戦闘中に前記敵集団が通過しないように前記リーダー入り集団の前線を形成する前線形成手段、前記リーダー入り集団と前記敵集団とを表示装置に表示する敵味方集団表示手段、として機能させることを特徴とする。 The present invention relates to a program for controlling a video game, wherein a computer is input to a leader-entered group formed by including a leader character in an agent group composed of a plurality of ally agent characters in a three-dimensional virtual space from an input device. Group movement battle means for moving to an enemy group area and fighting based on the direction designation information, and setting the front of the leader group so that the enemy group does not pass during the battle between the leader group and the enemy group. It is made to function as a front line formation means to form, an enemy ally group display means to display the group with a leader and the enemy group on a display device.
この発明のキャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置は、集団の隊列を大きく乱さずに全体を表示できると同時に、適度に隊列内での追い越しや配置が入れ替わる様子を表現することができ、リーダーキャラクタを中心とした複雑な集団の移動や戦闘を、直感的に分かり易い操作により動的に楽しませることができるとともに、よりリアルに表現させることができる。 The character group movement control program, the storage medium, and the game device of the present invention can display the whole without greatly disturbing the group's formation, and at the same time can appropriately express the situation where the overtaking and arrangement in the formation are switched, The movement and battle of complex groups centering on the leader character can be enjoyed dynamically by intuitive and easy-to-understand operations, and can be expressed more realistically.
この発明は、リーダーキャラクタを中心とした複雑な集団の移動や戦闘を直感的に分かり易い操作により動的に楽しませる目的を、プレイヤに集団を直接介入操作させて実現するものである。
以下図面に基づいてこの発明の実施例を詳細且つ具体的に説明する。
The present invention realizes the purpose of dynamically enjoying the movement and battle of a complex group centered on a leader character by an intuitively easy-to-understand operation by causing the player to directly intervene the group.
Embodiments of the present invention will be described in detail and specifically with reference to the drawings.
図1〜図24は、この発明の実施例を示すものである。 1 to 24 show an embodiment of the present invention.
図21において、2はビデオゲームが実行される家庭用ビデオゲーム装置(以下「ゲーム装置」という)である。
In FIG. 21,
このゲーム装置2は、ゲーム装置本体4に、スピーカ6を内蔵した表示装置としてのテレビモニタ8及びコントローラパッド等の入力装置10を接続している。ゲーム装置本体4は、CD−ROMやDVD等の記録媒体12を装着可能な媒体読取部14(図24参照)を有している。この媒体読取部14に記録媒体12を装着することにより、記録媒体12に記録されたゲームプログラムやゲームデータが自動的にゲーム装置本体4内の記憶メモリ(RAM)にロードされる。テレビモニタ8は、入力装置10からの入力情報に基づいてゲーム上での集団(群れ)等を表示するものである。入力装置10は、ゲーム上での集団(群れ)等を移動させるものである。
In the
図22、図23に示す如く、入力装置10の入力装置本体16には、操作部として、ゲームを開始するためのスタートボタン18や、ゲームキャラクタを操作したり、ゲーム装置本体4からの選択問い合わせ等に応答するための、□ボタン20、△ボタン22、○ボタン24、×ボタン26、及び、↑ボタン28、→ボタン30、←ボタン32、↓ボタン34で構成される十字方向ボタンセット36、セレクトボタン38、R1ボタン40、R2ボタン42、L1ボタン44、L2ボタン46、そして、2つの右側、左側アナログスティック48、50や、アナログモードスイッチ52等の各種ボタン類が配置されている。左側アナログスティック50は、集団(群れ)の移動方向を指定するものである。□ボタン20は、各キャラクタが刀を振りかざす等の攻撃を行わせるものである。
As shown in FIGS. 22 and 23, the
図24に示す如く、ゲーム装置本体4は、ビデオゲームのプログラムを実行するためのコンピュータとして、装置全体の制御を行うCPUブロック54を備えている。このCPUブロック54は、ゲーム装置本体4内の各部とのデータ転送を主に制御するSCU(System Control Unit)56、中央演算処理装置として高速クロックで作動するCPU(Central Processing Unit)58、ゲーム装置本体4の基本制御動作が記憶されたROM(Read Only Memory)60、CPU58のワークエリアとして働くと共に記録媒体12に記録されたゲームプログラム及び種々のデータを一時的に記憶するRAM(Random Access Memory)62、及び、これらを接続する内部バス64で構成されている。
As shown in FIG. 24, the
また、SCU56には、外部バス66が接続している。この外部バス66は、入力装置10からの入力を受信してCPUブロック54へ入力情報を転送する入力受信部68、図示しないサブCPUを備えて記録媒体12に記録されたゲームプログラムを読み取りCPUブロック54へ転送するCD−ROMドライブ等の媒体読取部14、グラフィック処理を行うCPU及びVRAMを備えてCPUブロック54から送出された情報に従って光源処理等を行い3次元フィールドでの描画処理を施す画像処理部70、並びに、図示しないサブCPUを備え、例えば、バックミュージックや戦闘音等の音響を処理する音響処理部72に接続している。また、入力受信部68には、入力装置10が接続している。画像処理部70には、テレビモニタ8が接続している。音響処理部72には、テレビモニタ8に内蔵されたスピーカ6が接続している。
An
この実施例のビデオゲームを制御するプログラムは、コンピュータであるCPUブロック54を、3次元仮想空間上でリーダーキャラクタを複数のエージェントキャラクタからなるエージェント集団(群れ)に含めて形成したリーダー入り集団(群れ)を入力装置10からの入力情報に基づいて移動する集団移動手段、所定時間毎に、前記リーダー入り集団の移動中において前記各キャラクタに自然な移動を表現させるように前記各キャラクタに特定力を作用する特定力作用手段、前記特定力に基づいて前記各キャラクタの最新位置を演算して記憶する位置演算記憶手段、前記リーダー入り集団を表示装置としてのテレビモニタ8に表示する集団表示手段、として機能させる。
The program for controlling the video game of this embodiment is a group (leader group) including leaders formed by including a CPU block 54, which is a computer, in an agent group (group) composed of a plurality of agent characters in a three-dimensional virtual space. ) On the basis of the input information from the
前記特定力は、以下の(1)から(3)の3つの力から構成される。
(1)他のキャラクタとの衝突を回避する力である反発力(拡散方向の力)。
(2)エージェント集団(群れ:部隊)に対して重心に向かう力である凝集力(集団でまとまろうとする力)。
(3)入力装置10の操作部やプログラムの指定等により各キャラクタの指定方向に移動する力である移動力。
The specific force includes the following three forces (1) to (3).
(1) A repulsive force (a force in the diffusion direction) that is a force for avoiding a collision with another character.
(2) Cohesive force (force to gather together) that is the force toward the center of gravity of the agent group (group: unit).
(3) A moving force that is a force that moves in the specified direction of each character by specifying the operation unit of the
また、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、更に、前記リーダーキャラクタを前記エージェント集団の重心に移動するリーダー移動手段、として機能させる。 Further, the program for controlling the video game of this embodiment causes the CPU block 54, which is the computer, to further function as leader moving means for moving the leader character to the center of gravity of the agent group.
前記記録媒体12は、ゲーム装置2を、前記集団移動手段、前記特定力作用手段、前記位置演算記憶手段、前記集団表示手段、及び、前記リーダー移動手段として機能させる、プログラムを記録している。
The
この実施例のビデオゲームを制御するゲーム装置2は、3次元仮想空間上でリーダーキャラクタを複数のエージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置10からの入力情報に基づいて移動する集団移動手段と、所定時間毎に、前記リーダー入り集団の移動中において前記各キャラクタに自然な移動を表現させるように前記各キャラクタに特定力を作用する特定力作用手段と、前記特定力に基づいて前記各キャラクタの最新位置を演算して記憶する位置演算記憶手段と、前記リーダー入り集団を表示装置としてのテレビモニタ8に表示する集団表示手段と、前記リーダーキャラクタを前記エージェント集団の重心に移動するリーダー移動手段と、を備えている。
The
更に、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、3次元仮想空間上でリーダーキャラクタを複数の味方エージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置10からの入力情報に基づいて敵集団の領域に移動して戦闘させる集団移動戦闘手段、前記リーダー入り集団と前記敵集団との戦闘中に前記敵集団が通過(交錯)しないように前記リーダー入り集団の前線を形成する前線形成手段、前記リーダー入り集団と前記敵集団とを表示装置としてのテレビモニタ8に表示する敵味方集団表示手段、として機能させる。
Furthermore, the program for controlling the video game of this embodiment includes a group including leaders formed by including the CPU block 54, which is the computer, in a three-dimensional virtual space including a leader character in an agent group composed of a plurality of friendly agent characters. Group movement battle means for moving to an enemy group area and fighting based on input information from the
更にまた、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、前記リーダー入り集団の前記敵集団への戦闘突入後に、入力装置10からの入力情報に基づいて戦闘していない残りの味方エージェントを移動する味方エージェント移動手段、として機能させる。
Furthermore, the program for controlling the video game of this embodiment causes the CPU block 54, which is the computer, to fight based on the input information from the
また、この実施例のビデオゲームを制御するプログラムは、コンピュータであるCPUブロック54を、前記敵集団の背後(後方)に仮想境界線を設定し、前記残りの味方エージェント(集団であっても良い)が前記仮想境界線を越えた場合に、前記残りの味方エージェントを自動的に前記敵集団の背後まで回り込ませる味方エージェント回込手段、として機能させる。 In addition, the program for controlling the video game of this embodiment sets a virtual boundary line behind (behind) the enemy group in the CPU block 54 which is a computer, and may be the remaining ally agent (group). ) Functions as an ally agent wrapping means that automatically wraps the remaining ally agent behind the enemy group when the imaginary boundary is exceeded.
更に、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、前記リーダー入り集団の移動後の戦闘時に、前記リーダーキャラクタは前記他の味方エージェントキャラクタと同様に索敵する索敵手段、として機能させる。 Furthermore, the program for controlling the video game of this embodiment uses the CPU block 54, which is the computer, to search for an enemy that the leader character searches for in the same manner as the other ally agent characters during the battle after the movement of the group including the leader. Function as a means.
前記記録媒体12は、ゲーム装置2を、上述の各機能の他に、前記集団移動戦闘手段、前記前線形成手段、前記敵味方集団表示手段、前記味方エージェント移動手段、前記味方エージェント回込手段、前記索敵手段としても機能させる、プログラムを記録している。
In addition to the above-described functions, the
また、この実施例のビデオゲームを制御するゲーム装置2は、3次元仮想空間上でリーダーキャラクタを複数の味方エージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置からの入力情報に基づいて敵集団の領域に移動して戦闘させる集団移動戦闘手段と、前記リーダー入り集団と前記敵集団との戦闘中に前記敵集団が通過(交錯)しないように、前記リーダー入り集団の前線を形成する前線形成手段と、前記リーダー入り集団の前記敵集団への戦闘突入後に、戦闘していない残りの味方エージェントを移動する味方エージェント移動手段と、前記敵集団の背後に仮想境界線を設定し、前記残りの味方エージェントが前記仮想境界線を越えた場合に、前記残りの味方エージェントを自動的に前記敵集団の背後まで回り込ませる味方エージェント回込手段と、前記リーダー入り集団と前記敵集団とを表示装置としてのテレビカメラ8に表示する敵味方集団表示手段と、を備えている。
In addition, the
即ち、この実施例において、ビデオゲームを制御するプログラムは、コンピュータであるCPUブロック54を、3次元仮想空間上でリーダーキャラクタを複数のエージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置10からの入力情報に基づいて移動する集団移動手段、所定時間毎に、前記リーダー入り集団の移動中において前記各キャラクタに自然な移動を表現させるように前記各キャラクタに特定力を作用する特定力作用手段、前記特定力に基づいて前記各キャラクタの最新位置を演算して記憶する位置演算記憶手段、前記リーダー入り集団を表示装置に表示する集団表示手段、として機能させ、又は、上述の各機能に、前記リーダーキャラクタを前記エージェント集団の重心に移動するリーダー移動手段、として機能させる。これにより、リーダー入り集団の移動中においては、各所定時間(フレーム)毎で、全てのキャラクタに、自然な移動を表現させるように、前記特定力としての、上述した反発力と凝集力と移動力とが加えられる。
That is, in this embodiment, a program for controlling a video game inputs a group containing a leader formed by including a CPU block 54, which is a computer, in a three-dimensional virtual space including a leader character in an agent group composed of a plurality of agent characters. A group moving means that moves based on input information from the
ここで、前記所定時間(フレーム)とは、画像処理の時間的単位であり、描画の際の、いわゆる「コマ」のことである。この実施例において、1フレームの時間は、テレビモニタ8の垂直帰線周期と一致した1/60秒(16.6ミリ秒)に一度の周期でプログラム上呼び出される垂直帰線割込(Vsync)の2回分の時間(1/30秒)に相当するものとする。
Here, the predetermined time (frame) is a time unit of image processing, and is a so-called “frame” at the time of drawing. In this embodiment, the time for one frame is a vertical blanking interrupt (Vsync) that is called on the program once every 1/60 seconds (16.6 milliseconds) that coincides with the vertical blanking cycle of the
上記の(1)の反発力において、図8に示す如く、例えば、エージェントキャラクタAについての反発力は、エージェントキャラクタAの位置を中心とした、例えば、半径3m程度の円の範囲内に属する他のエージェントキャラクタに対して反発力が発生する。この反発力は、各エージェントキャラクタについて別々に発生する。 In the above repulsive force (1), as shown in FIG. 8, for example, the repulsive force for the agent character A is in the range of a circle having a radius of about 3 m, for example, centered on the position of the agent character A. A repulsive force is generated against the agent character. This repulsive force is generated separately for each agent character.
この場合、一方のエージェントキャラクタの位置をaとし、他方のエージェントキャラクタの位置をbとし、反発力の発生限界距離(これ以上離れていたら反発力は、発生しない距離)をdとし、最大反発力の大きさをfとすると、以下のようになる。
[数1]
1=|a−b|
v=(a−b)/1
反発力=v*f*max(d−1、0)/d
ここで、vは、aからbに向かう単位ベクトル(方向のみの意味を持ち、大きさは1)。f*max(d−1、0)/dの部分は、図9に示すようになる。なお、ここで、|a−b|は、(a−b)の絶対値である。また、max(d−1、0)は、(d−1)と(0)とのいずれか大きい値の方を選択するという意味である。このとき、図9に示すように、反発力と距離とが一定比率で変化するとしても良いが、例えば、2次関数のように、距離が短いほど反発力が急激に増加するように変化させても良い。
In this case, the position of one agent character is a, the position of the other agent character is b, the repulsive force generation limit distance (the distance at which the repulsive force does not occur if it is further away) is d, and the maximum repulsive force Assuming that f is f, the following is obtained.
[Equation 1]
1 = | a−b |
v = (ab) / 1
Repulsive force = v * f * max (d-1, 0) / d
Here, v is a unit vector from a to b (only has a direction and has a size of 1). The part of f * max (d-1, 0) / d is as shown in FIG. Here, | a−b | is the absolute value of (a−b). Further, max (d−1, 0) means that the larger value of (d−1) and (0) is selected. At this time, as shown in FIG. 9, the repulsive force and the distance may be changed at a constant ratio. For example, as the distance is shorter, the repulsive force is changed so as to increase rapidly as the distance is shorter. May be.
また、上記の(2)の凝集力において、図10に示す如く、ここでいう集団の重心とは、いわゆる質点の重心であり、各エージェントキャラクタの水平成分(x、z)座標を成分毎に足して平均化した座標値をとる。なお、垂直成分yは、地表面の高さとする。即ち、重心とは、各エージェントキャラクタを含むような矩形又は円等の形状の単なる外枠の中心とは必ずしも一致しない。なお、簡易的に、このような外枠の中心で処理しても良いが、例えば、密集している部分から遠く離れてしまったキャラクタが1つ存在するとき等は、群れの重心は、密集している部分に近い方が望ましいことから、やはり本来的な重心の考え方を用いるべきである。 In the cohesive force of (2) above, as shown in FIG. 10, the collective center of gravity here is the so-called mass center of gravity, and the horizontal component (x, z) coordinates of each agent character are set for each component. Add and average the coordinate values. The vertical component y is the height of the ground surface. That is, the center of gravity does not necessarily coincide with the center of a simple outer frame having a shape such as a rectangle or a circle including each agent character. For simplicity, the processing may be performed at the center of such an outer frame. However, for example, when there is one character that is far from a dense part, the center of gravity of the flock is dense. Since it is desirable to be closer to the part that is doing, the original concept of center of gravity should still be used.
この場合、エージェントキャラクタAの位置をaとし、集団の重心をcとし、最大凝集力の大きさをfとすると、以下のようになる。
[数2]
v=(c−a)/|c−a|
凝集力=v*f
In this case, assuming that the position of the agent character A is a, the center of gravity of the group is c, and the magnitude of the maximum cohesive force is f, the following is obtained.
[Equation 2]
v = (c−a) / | c−a |
Cohesive force = v * f
更に、上記の(3)の移動力において、図11に示す如く、例えば、入力装置10の左側アナログスティック50を指定方向としての左斜め前方に傾けた場合に、エージェントキャラクタの現在の速度をv0とし、指定移動速度をv1とし、v0からv1に変化するのに要する時間をdtとし、発生可能な最大加速度の大きさをaccとすると、以下のようになる。
[数3]
v=(v1−v0)/dt
移動力=v/|v|*min(|v|、acc)
ここで、v/|v|は、単位ベクトルである。vは、加速度である。min(|v|、acc)により、加速度vが最大加速度accを超えないようにしている。
Further, in the above moving force (3), as shown in FIG. 11, for example, when the
[Equation 3]
v = (v1-v0) / dt
Movement force = v / | v | * min (| v |, acc)
Here, v / | v | is a unit vector. v is the acceleration. By means of min (| v |, acc), the acceleration v is prevented from exceeding the maximum acceleration acc.
また、ここで、運動方程式F=mα(F:力、m:質量、α:加速度)において、この実施例におけるゲームの3次元仮想空間では、エージェントキャラクタの質量mは、1として考えて、力=加速度とみなして計算する。 Here, in the equation of motion F = mα (F: force, m: mass, α: acceleration), the mass m of the agent character is assumed to be 1 in the three-dimensional virtual space of the game in this embodiment, and the force = Calculate considering acceleration.
各座標成分(x、y、z)毎に上記の(1)から(3)の力、即ち、加速度を求め、これらを各座標成分毎に加算して総和加速度を求め、下記の数式の[数4]を用いて各キャラクタの最新速度及び最新位置を演算し、この最新速度及び最新位置をRAM62に格納する。キャラクタの移動開始前の初期状態の速度(即ち0)、指定移動速度(上記の(3)の移動力のv1)及び位置(整列状態での座標値)は、予め与えられているものとする。
For each coordinate component (x, y, z), the forces (1) to (3) above, that is, the acceleration are obtained, and these are added for each coordinate component to obtain the total acceleration. The latest speed and the latest position of each character are calculated using Equation 4], and the latest speed and the latest position are stored in the
現在の総和加速度αが与えられる1つ前(前回のフレーム時)の速度V0及び位置P0を用いて、オイラー法を用いた運動方程式を表す下記の数式の[数4]により、対象エージェントキャラクタの現在の速度V1及び位置P1を、各(x、y、z)成分毎に演算する。 Using the equation (4) below, which represents the equation of motion using the Euler method, using the velocity V0 and the position P0 immediately before (at the previous frame) at which the current total acceleration α is given, The current speed V1 and position P1 are calculated for each (x, y, z) component.
なお、下記の数式の[数4]において、Δtは、前回のフレーム時から今回のフレーム時までの時間(1/30秒)を表しており、前回の速度V0及び位置P0は、RAM62に格納されている。
[数4]
V1=V0+α・Δt
P1=P0+V0・Δt+0.5・α・Δt2
In [Equation 4] of the following mathematical formula, Δt represents the time (1/30 seconds) from the previous frame time to the current frame time, and the previous speed V0 and position P0 are stored in the
[Equation 4]
V1 = V0 + α · Δt
P1 = P0 + V0 · Δt + 0.5 · α · Δt2
これを各エージェントキャラクタ毎に求め、上記の数式の[数4]により得られた最新位置P1で、エージェントキャラクタを描画する。 This is obtained for each agent character, and the agent character is drawn at the latest position P1 obtained by [Equation 4] of the above equation.
従って、上記の(1)の反発力と上記の(2)の凝集力とは、相反する力となり、各フレーム毎に上記の(1)から(3)の各力は、変化する。前記重心は、微妙に揺れ動くので、上記の(2)の重心に向かう凝集力も揺れ動く。これにより、集団には、揺れ動く感じや、ざわざわという感じを出すことができる。 Accordingly, the repulsive force (1) and the cohesive force (2) are contradictory, and the forces (1) to (3) change for each frame. Since the center of gravity slightly swings, the cohesive force toward the center of gravity of (2) also swings. As a result, the group can feel shaking and noisy.
また、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、前記リーダーキャラクタを前記エージェント集団の前記重心に移動するリーダー移動手段、として機能させる。 In addition, the program for controlling the video game of this embodiment causes the CPU block 54, which is the computer, to function as leader moving means for moving the leader character to the center of gravity of the agent group.
つまり、図12に示す如く、リーダーキャラクタを先頭とするとエージェント集団全体が画面に表せない(映らない)場合があり得る。また、実際に武将(リーダーキャラクタ)がエージェント集団を率いて移動する場面を考えた場合、武将は、集団の先頭ではなく、周りに護衛兵を配置させて、中央で指揮を取るとした方が現実的であるとも考えられる。 That is, as shown in FIG. 12, if the leader character is the head, the entire agent group may not be displayed (does not appear) on the screen. Also, when considering a situation where a warrior (leader character) actually moves leading an agent group, it is better for the military commander to place an escort around and take command at the center rather than at the head of the group. It is also considered realistic.
そこで、この実施例においては、図13に示す如く、エージェント集団全体に重心を設け、重心が表示される画面の中央となるように、自動的にカメラの位置及び方向を合わせ更に、リーダーキャラクタの位置が重心と一致するように、この重心に向かう力として上記の(2)の凝集力を作用させるとともに、リーダーキャラクタに特別な力(後述のリーダーキャラクタを重心に向かわせる力)を作用させる。 Therefore, in this embodiment, as shown in FIG. 13, the center of the agent group is provided with a center of gravity, and the position and direction of the camera are automatically adjusted so that the center of gravity is at the center of the screen on which the center of gravity is displayed. The cohesive force (2) is applied as a force toward the center of gravity so that the position coincides with the center of gravity, and a special force (a force that causes a later-described leader character toward the center of gravity) is applied to the leader character.
エージェント集団の各エージェントキャラクタの位置は、初期状態(移動開始前の整列状態)では、例えば、エージェント集団の形状が矩形等となるように配置が決まっているが、一旦移動が開始されると、上記の3つの力が各フレーム毎に様々に変化しながら働いて、具体的な位置が決まり表示される。このため、エージェント集団全体の形状や各キャラクタの位置関係・配列順は、一定でなく、実際の群れのような変化に富んだ移動を表現できる。 In the initial state (alignment state before the start of movement), the position of each agent character of the agent group is determined to be arranged such that the shape of the agent group is a rectangle or the like, but once the movement is started, The above three forces work while changing variously for each frame, and a specific position is determined and displayed. For this reason, the shape of the entire agent group and the positional relationship / arrangement order of each character are not constant, and can represent movements that are rich in changes like an actual group.
このとき、エージェント集団の先頭を走るキャラクタは存在するが、このキャラクタはいわゆるリーダーキャラクタではなく、エージェント集団の重心に存在するリーダーキャラクタへ向かう力(上記の(2)の凝集力)が働いている。 At this time, there is a character running at the head of the agent group, but this character is not a so-called leader character, and a force (cohesive force of (2) above) acting toward the leader character existing at the center of gravity of the agent group is working. .
また、リーダーキャラクタには、上記の3つの力とは別に、さらに以下の力が各フレーム毎で作用し、上記の3つの力との総和加速度を求めて、同様に、オイラー法の上記の数式の[数4]を用いて最新速度及び最新位置を演算し、RAMに記憶する。 In addition to the above three forces, the following force is applied to the leader character for each frame, and the total acceleration with the above three forces is obtained. Similarly, the above formula of the Euler method is used. [Equation 4] is used to calculate the latest speed and the latest position and store them in the RAM.
つまり、リーダーキャラクタを小隊重心に向かわせる力において、エージェントキャラクタ(ここでは、リーダーキャラクタのこと)の位置をpとし、エージェントキャラクタの現在速度をv0とし、発生可能な最大加速度をaccとし、小隊重心位置をcとし、小隊重心の移動速度をv1とし、小隊重心に接近する際の相対速度(=小隊重心から見たエージェントキャラクタの速度)をf(1)とすると、以下のようになる。
[数5]
f(l):0≦1<dのとき、v*1/d
d<1のとき、v
ここで、vは最大相対速度であり、dは接近速度の減速を開始する距離であり、1はエージェントキャラクタと小隊重心との距離である。
In other words, in the force to move the leader character toward the platoon center of gravity, the position of the agent character (here, the leader character) is p, the current speed of the agent character is v0, the maximum acceleration that can be generated is acc, Assuming that the position is c, the movement speed of the platoon center of gravity is v1, and the relative speed when approaching the platoon center of gravity (= the speed of the agent character viewed from the platoon center of gravity) is f (1), the following is obtained.
[Equation 5]
f (l): When 0 ≦ 1 <d, v * 1 / d
When d <1, v
Here, v is the maximum relative speed, d is the distance at which the approach speed starts to be decelerated, and 1 is the distance between the agent character and the platoon center of gravity.
そして、相対速度がf(1)になるまでに要する時間をdtとすると、以下のようになる。
[数6]
v2=v0−v1
1=|c−p|
v3=(c−p)/1
v4=((v3*f(1))−v2)/dt
小隊重心に向かわせる力=v4/|v4|*min(|v4|、acc)
If the time required for the relative speed to reach f (1) is dt, the time is as follows.
[Equation 6]
v2 = v0−v1
1 = | cp |
v3 = (cp) / 1
v4 = ((v3 * f (1))-v2) / dt
Force directed to the platoon center of gravity = v4 / | v4 | * min (| v4 |, acc)
なお、上式の意図するところは、図14(A)、図14(B)に示す如く、エージェントキャラクタxが、υ方向に速度υで移動中に、υ‘方向(重心方向)に速度υ‘が与えられたとき、υ‘−υ方向に力を作用させれば、υ‘方向に移動できるということである。
ここで(υ‘−υ)/dt=αは、加速度、すなわち、質量1の場合の重心に向かわせる力ということになる。また、この加速度αは、重心を向いていない(υ‘が重心方向であって上記υ‘−υの方向)。この点、上記の(2)の凝集力(即ち加速度)が重心を向いていることとは、相違する。
14A and 14B, the agent character x is moving at a speed υ in the υ direction, and the speed υ in the υ 'direction (center of gravity), as shown in FIGS. 14 (A) and 14 (B). When 'is given, if a force is applied in the υ'-υ direction, it can move in the υ' direction.
Here, (υ′−υ) / dt = α is an acceleration, that is, a force directed toward the center of gravity in the case of mass 1. Further, the acceleration α does not face the center of gravity (ν ′ is the direction of the center of gravity and the direction of υ′−υ). This is different from the fact that the cohesive force (that is, acceleration) in (2) is directed to the center of gravity.
しかし、この段階では、未だ、エージェントキャラクタの方向が加味されておらず、エージェントキャラクタは、方向を持たないパーティクル(質点)として把握される。エージェントキャラクタにも方向があるため、逆方向への瞬時の変更を表現すると不自然となり、徐々に方向を変更する様子を表現する必要があるためである。 However, at this stage, the direction of the agent character is not yet considered, and the agent character is grasped as a particle (mass point) having no direction. This is because the agent character also has a direction, so expressing an instantaneous change in the reverse direction becomes unnatural, and it is necessary to express the state of gradually changing the direction.
このため、この実施例においては、各フレーム毎にエージェントキャラクタの方向を変化させるために、エージェントキャラクタに対するパーティクル(質点)的な制御に方向制御を加味した、方向を持ったパーティクル制御を実行する。これについては、公知の手法(例えば、上記の特許文献3である特開2004−62676号公報)を用いることで、進行方向に応じた向きに、エージェントキャラクタを回転させて表現することが可能となる。 For this reason, in this embodiment, in order to change the direction of the agent character for each frame, particle control with direction is executed by adding direction control to particle (mass point) control for the agent character. With respect to this, by using a known method (for example, Japanese Patent Application Laid-Open No. 2004-62676, which is Patent Document 3 described above), the agent character can be rotated and expressed in a direction corresponding to the traveling direction. Become.
また、エージェント集団の戦闘中において、図15、図16に示す如く、上記の(3)の前方に移動する移動力(図11参照)と、上記の(1)の敵集団の前衛兵士から受ける反発力が集団に作用しているため、このままでは、上記の(1)と(3)との双方の力により、集団が押し潰される形となり、徐々に左右に広がっていく(特に、後衛兵士)ので、集団に重心を設定して、これに向かう力である上記の(2)の凝集力を各キャラクタに作用させることで、拡散を防ぐようにした。なお、前線で戦闘中の前衛兵士は、基本的には戦闘優先で処理され、上記の(3)の移動力の内、左右方向への移動は、働かないものとする(左側アナログスティック50を横に傾けても移動しない)。
Further, during the battle of the agent group, as shown in FIGS. 15 and 16, the movement force (see FIG. 11) that moves forward in the above (3) and the avant-garde soldier of the enemy group in the above (1) Since the repulsive force acts on the group, the force of both (1) and (3) above will cause the group to be crushed and gradually spread to the left and right (especially rear guard soldiers) Therefore, the center of gravity is set for the group, and the cohesive force of (2), which is the force toward this, is applied to each character to prevent diffusion. Avant-garde soldiers who are fighting on the front line are basically processed with priority to battle, and the movement in the left-right direction of the movement force (3) above does not work (the
更に、この実施例のビデオゲームを制御するプログラムは、コンピュータであるCPUブロック54を、3次元仮想空間上でリーダーキャラクタを複数の味方エージェントキャラクタからなるエージェント集団に含めて形成したリーダー入り集団を入力装置10からの入力情報に基づいて敵集団の領域に移動して戦闘させる集団移動戦闘手段、前記リーダー入り集団と前記敵集団との戦闘中に前記敵集団が通過(交錯)しないように前記リーダー入り集団の前線を形成する前線形成手段、前記リーダー入り集団と前記敵集団とを表示装置であるテレビカメラ8に表示する敵味方集団表示手段、として機能させる。
Furthermore, the program for controlling the video game of this embodiment inputs a group with a leader formed by including a CPU block 54, which is a computer, by including a leader character in an agent group composed of a plurality of friendly agent characters in a three-dimensional virtual space. Group movement battle means for moving to an enemy group area and fighting based on input information from the
つまり、図17に示す如く、先ず、視野角θ(例えば90度)で所定半径(例えば5m)内に存在する自分以外のエージェントキャラクタを探す。 That is, as shown in FIG. 17, first, an agent character other than the user character that exists within a predetermined radius (for example, 5 m) at a viewing angle θ (for example, 90 degrees) is searched.
次に、仮に、自分に一番近い前方にいる他のエージェントキャラクタが敵エージェントキャラクタの場合は、戦闘状態に移行し、また、そうでなければ、仮に、自分に一番近い前方にいる他のエージェントキャラクタが味方エージェントキャラクタの場合には、支援状態に移行し、そして、そうでなければ、自分の前方に他のエージェントキャラクタがいない場合なので、移動状態のままとする。 Next, if the other agent character in front closest to you is an enemy agent character, the player character enters the battle state, and if not, the other agent character in front of you If the agent character is an ally agent character, the state shifts to the support state, and if not, there is no other agent character in front of him, so the state is left in the moving state.
ここで、前記支援状態とは、これにより、前線に存在する戦闘状態の前衛キャラクタの攻撃力・防御力等のキャラクタ変数をアップさせる手法も考えられるが、この実施例においては、味方エージェント集団の各キャラクタ間に敵集団のエージェントキャラクタを入り込ませないように、その場で待機している状態をいう。 Here, the support state may be a method of increasing the character variables such as the attack power / defense power of the avant-garde characters in the battle state existing on the front line. In this embodiment, however, A state of waiting on the spot so that an agent character of the enemy group does not enter between each character.
なお、このプログラム処理において、各キャラクタが戦闘中か否かの判断については、戦闘中、支援中又は移動中という状態を示し、RAM62に記憶され、随時更新される状態変数を参照して判断される。
In this program processing, whether or not each character is in battle is determined by referring to a state variable stored in the
以上の説明により、結果的に、集団には、前記前線のようなものができる。このように、実際には、ローカルな制御を各エージェントキャラクタに与えているが、結果的に、グローバルな構造ができあがる処理を、一般に「創発的な制御」という。このように前線が形成されるように処理する上記処理の目的は、乱戦になるのを防ぐためである。 According to the above explanation, as a result, a group like the front is formed. Thus, in practice, local control is given to each agent character. As a result, the process of creating a global structure is generally called “emergent control”. The purpose of the above processing to process the front line in this way is to prevent a battle.
従来の方法では、戦闘開始後は、敵味方の双方が入り乱れた乱戦状態となるので、仮に、その時点まで集団を操作できる処理を設計できたとしても、その後、そのプレイヤは、それまでどの集団(部隊)を操作しているかわからなくなってしまう。つまり、集団(部隊)の原形がわからなくなってしまうのである。 In the conventional method, after the battle starts, both enemies and allies are in a turbulent state of war, so even if the process can be designed so that the group can be operated up to that point, the player will then You will not know if you are operating (units). In other words, the original form of the group (unit) is lost.
これに対して、戦闘状態となったときに、戦闘する前衛兵士の前線が形成され、その背後(後方)に位置する後衛兵士がカバーに回るような処理をすれば、集団(部隊)の固まりがはっきり視認できるようになる。 On the other hand, if the front line of the fighting avant-garde soldiers is formed in the battle state and the rear-guard soldiers located behind (behind) turn around the cover, the mass of the group (unit) Will be clearly visible.
なお、攻撃ボタン(例えば、□ボタン20)を押すと、プレイヤが、現在操作中の集団(群れ)の内、ここでいう前線の前衛兵士のみが、刀を振り下ろす等の攻撃を行い、そのモーションが表示される。 When an attack button (for example, □ button 20) is pressed, the player performs an attack such as swinging down the sword only of the front guard soldiers in the group (group) currently operated. Motion is displayed.
より具体的には、自分の目の前に味方のエージェントキャラクタがいない状態(敵エージェントキャラクタはいてもいなくてもよい)のエージェントキャラクタは、□ボタン20の押下により刀を振る。この場合、必ずしも、一列目が刀を振るというわけではない。図18には、それを例示する。
More specifically, an agent character in a state where there is no friendly agent character in front of his / her own eyes (the enemy agent character may or may not be present) swings the sword by pressing the □
また、この実施例のビデオゲームを制御するプログラムは、前記コンピュータであるCPUブロック54を、前記リーダー入り集団の前記敵集団への戦闘突入後に、入力装置10からの入力情報に基づいて戦闘していない残りの味方エージェントを移動する味方エージェント移動手段、として機能させ、又は、前記敵集団の背後に仮想境界線を設定し、前記残りの味方エージェントが前記仮想境界線を越えた場合に、前記残りの味方エージェントを自動的に前記敵集団の背後(後方)まで回り込ませる味方エージェント回込手段、として機能させる。
In addition, the program for controlling the video game of this embodiment causes the CPU block 54 that is the computer to fight based on input information from the
つまり、図19に示す如く、右方の(a)と上方の(b)は、左側アナログスティック50を右方、上方と順に傾けたとき(又は、十字方向ボタンセット36を右、上と順に押したとき)に、後衛兵士に働く力の方向、即ち移動方向を示している。
That is, as shown in FIG. 19, (a) on the right side and (b) on the upper side show that when the
また、図20に示す如く、(a)、(b)と左側アナログスティック50を傾けた後、本来であれば下方向への左側アナログスティック50の操作が必要となるが、下方向への操作を必要とすると、そのままでは、現在戦闘中の集団本体の下方向の移動(即ち逃走)までもが重なって処理されてしまう。
Also, as shown in FIG. 20, after tilting the
このときに、集団本体は動かしたくないので、左側アナログスティック50の下方向への操作は、集団本体を動かす操作のままとし、後衛兵士の回り込みに関しては、左側アナログスティック50の下方向への操作を必要としないようにする。即ち、敵集団の背後又は敵集団の内部を通るように、適度な仮想境界線を設け、左側アナログスティック50の(b)の方向への操作により、後衛兵士が移動して仮想境界線を越えた場合に、自動的に敵集団の背後又は側面に回り込み、そして、敵集団の重心に向かって移動するようにした(その後は、戦闘状態となる)。
At this time, since it is not desired to move the collective body, the downward operation of the
ここで、前記仮想境界線とは、例えば、敵集団と味方エージェント集団との双方の重心を結ぶ線に直角な線であって味方エージェント集団本体から向かって敵集団の一番後ろを通る直線、又は、敵集団の背後とはならないが、双方の重心を結ぶ線に直角な線であって、敵集団の重心を通る直線等であり、一定の攻撃ができる程度の自動の回り込み開始が可能であれば、敵集団の背後であっても、又は、集団の内部を通る線であっても問題なく、曲線であっても良い。 Here, the virtual boundary line is, for example, a line perpendicular to the line connecting the center of gravity of both the enemy group and the ally agent group, and a straight line passing through the back of the enemy group from the ally agent group body, Or, although it is not behind the enemy group, it is a line perpendicular to the line connecting the center of gravity of both, and is a straight line passing through the center of gravity of the enemy group, etc., and automatic wraparound to the extent that a certain attack is possible is possible As long as it is behind the enemy group or a line passing through the inside of the group, it may be a curved line.
また、エージェントキャラクタの拡散を防ぐ他の方法としては、例えば、集団の形状としての仮想枠を用意して、その仮想枠の中からはみ出ないようにする処理が考えられる。しかし、この方法では、現在戦闘していない集団の一部のみを移動させる(回り込みの)操作をすることは、困難となる。 As another method for preventing diffusion of agent characters, for example, a process of preparing a virtual frame as a group shape and preventing it from protruding from the virtual frame is conceivable. However, with this method, it is difficult to move (turn around) only a part of the group that is not currently fighting.
そこで、この実施例のビデオゲームを制御するプログラムは、コンピュータであるCPUブロック54を、前記敵集団の背後(後方)に仮想境界線を設定し、残りの味方エージェントが前記仮想境界線を越えるまで移動した後に、前記残りの味方エージェントを自動的に前記敵集団の背後(後方)まで回り込ませる味方エージェント回込手段、として機能させる。敵集団の背後(後方)に回り込む力においては、上記の数式の[数5]及び[数6]のリーダーキャラクタに働く力の式を、回り込ませる各エージェントに適用し、小隊重心を敵小隊重心に置き換えて、「各エージェントを敵小隊重心に向かわせる力」として求めて作用させる。 Therefore, the program for controlling the video game of this embodiment sets a virtual boundary line behind (behind) the enemy group for the CPU block 54, which is a computer, until the remaining ally agents cross the virtual boundary line. After the movement, it is made to function as a ally agent wrapping means for automatically wrapping the remaining ally agents behind (behind) the enemy group. For the force that circulates behind (behind) the enemy group, apply the formula of the force that acts on the leader character of [Equation 5] and [Equation 6] to each agent that wraps around, so that the platoon center of gravity is the enemy platoon center of gravity. Replace it with and act as “force to force each agent toward the center of the enemy platoon”.
次に、この実施例のゲーム装置2の動作について、図1〜図7のフローチャートを参照して、プレイヤの集団(リーダー入り集団:味方部隊)が移動した後、コンピュータ(CPUブロック54)側の集団(敵集団:敵部隊)と戦闘する場合について説明する。
Next, with regard to the operation of the
なお、ゲーム装置本体4には、既に、記録媒体12が挿入されたゲームプログラム、ゲームデータが、CPUブロック54内のRAM62に格納され、初期設定の処理がなされているものとする。また、説明を簡単にするために、図1〜図7のフローチャートにおいては、プレイヤの集団の動作を中心に記載して、コンピュータの集団についても同様の処理がなされるものとして、その記載を省略した。
Note that it is assumed that the game program and game data in which the
図1のフローチャートに示す如く、プログラムがスタートすると(ステップ102)、先ず、初期設定を行う(ステップ104)。このステップ104における初期設定は、各小隊が移動停止状態であり、各小隊の重心座標を設定する。つまり、全てのエージェントキャラクタの速度・加速度を0、北向き(例)、エージェントキャラクタの移動停止状態、ポリゴンデータ等の各種データをロードする。なお、前記移動停止状態とは、移動又は停止の状態である。
As shown in the flowchart of FIG. 1, when the program starts (step 102), first, initialization is performed (step 104). The initial setting in this
そして、この初期設定の後は、割り込みが発生したか否かを判断する(ステップ106)。なお、この時間間隔は、上述した通り、この実施例では、垂直帰線割込2回分に相当する1フレームの時間とする。 Then, after this initial setting, it is determined whether or not an interrupt has occurred (step 106). As described above, this time interval is a time of one frame corresponding to two vertical blanking interruptions in this embodiment.
このステップ106がNOで、割り込みが発生していない場合には、メイン処理を行う(ステップ108)。
If
このステップ108におけるメイン処理においては、例えば、左側アナログスティック50により入力され入力受信部68により、受信後に転送されたその傾き情報を、RAM62に一時記憶して随時更新する処理を行う。その他のボタンの押下による入力情報に対するその他の処理やゲーム効果音を音響制御部72に合成させるための音響処理等の処理も、ここで実行するものとする。
In the main process in
一方、前記ステップ106がYESで、割り込みが発生している場合には、集団移動戦闘処理のサブルーチンを実行する(ステップ110)。
On the other hand, if
そして、前記ステップ108でのメイン処理の後、又は、前記ステップ110での集団移動戦闘処理サブルーチンの実行後は、入力装置10の終了ボタンが押下しているか否かを判断し(ステップ112)、このステップ112がNOで、終了ボタンが押下していない場合には、前記ステップ106に戻し、一方、このステップ112がYESで、終了ボタンが押下している場合には、プログラムをエンドとする(ステップ114)。
Then, after the main processing at
図1の前記ステップ110における集団移動戦闘処理のサブルーチンにおいては、図2のフローチャートに示す如く、各小隊全体で1つの小隊状態変数、各エージェントキャラクタで1つのエージェント状態変数が、RAM62で用意されている。
In the group movement battle processing subroutine in
図2のフローチャートに示す如く、プログラムがスタートすると(ステップ202)、先ず、全小隊が終了か否かを判断する(ステップ204)。 As shown in the flowchart of FIG. 2, when the program starts (step 202), it is first determined whether or not all platoons are finished (step 204).
このステップ204がNOで、全小隊が終了していない場合には、エージェント処理のサブルーチンを実行し(ステップ206)、そして、小隊処理のサブルーチンを実行し(ステップ208)、そして、前記ステップ204に戻す。
If
一方、前記ステップ204がYESで、全小隊が終了している場合には、画面枠内に表示可能なキャラクタに対して全画面表示処理を行い(ステップ210)、プログラムをリターンする(ステップ212)。
On the other hand, if
図2の前記ステップ206におけるエージェント処理のサブルーチンにおいては、図3のフローチャートに示す如く、プログラムがスタートすると(ステップ302)、先ず、全エージェントキャラクタが終了か否かを判断する(ステップ304)。
In the agent processing subroutine in
このステップ304がNOで、全エージェントキャラクタが終了していない場合には、エージェント状態処理のサブルーチンを実行し(ステップ306)、次いで、反発力の演算をし(ステップ308)、さらに、上記の(2)の凝集力の演算をし(ステップ310)、そして、エージェントキャラクタが戦闘状態か否かを判断する(ステップ312)。
If this
このステップ312がNOで、エージェントキャラクタが戦闘状態でない場合には、プレイヤが小隊を操作しているか否かを判断し(ステップ314)、このステップ314がYESで、プレイヤが小隊を操作している場合には、左側アナログスティック50の傾きの値からエージェントキャラクタの移動速度を設定する(ステップ316)。
If this
一方、前記ステップ314がNOで、プレイヤが小隊を操作していない場合には、小隊の移動速度からエージェントキャラクタの移動速度を設定する(ステップ318)。
On the other hand, if
前記ステップ316又は前記ステップ318で、エージェントキャラクタの移動速度を設定した後は、上記の(3)の移動力を演算する(ステップ320)。
After setting the moving speed of the agent character in the
このステップ320で移動力を演算した後、重心力処理のサブルーチンを実行し(ステップ322)、また、総和加速度の演算を行い(ステップ324)、さらに、各キャラクタの最新速度及び最新位置を演算してRAMに記憶し(ステップ326)、そして、体の向き合わせ処理を行って(ステップ328)、前記ステップ304に戻す。
After calculating the moving force in
前記ステップ312がYESで、エージェントキャラクタが戦闘状態の場合には、エージェント戦闘処理を実行する(ステップ330)。ここでは、例えば、□ボタン20の押下があったときに、戦闘中のエージェントキャラクタのみが、攻撃動作を開始する処理や、これによる敵エージェントキャラクタのダメージ処理、逆に、敵エージェントキャラクタから攻撃を受けたときのダメージ処理や防御処理等が実行され、その後、前記ステップ324の総和加速度の演算を実行する。
If
一方、前記ステップ304がYESで、全エージェントキャラクタが終了している場合には、プログラムをリターンする(ステップ332)。
On the other hand, if
図3の前記ステップ306におけるエージェント状態処理のサブルーチンにおいては、図4に示す如く、エージェント状態変数の変更を行うものである。
In the agent status processing subroutine in
図4のフローチャートに示す如く、プログラムがスタートすると(ステップ402)、先ず、自分の一番近い前方にいるエージェントキャラクタを探し(ステップ404)、そして、敵集団(敵エージェントキャラクタ)を発見したか否かを判断する(ステップ406)。 As shown in the flowchart of FIG. 4, when the program is started (step 402), first, an agent character that is in front of you is searched (step 404), and whether an enemy group (enemy agent character) is found. Is determined (step 406).
このステップ406がNOで、敵集団を発見していない場合には、味方エージェント集団を発見したか否かを判断する(ステップ408)。
If this
このステップ408がYESで、味方エージェント集団を発見した場合には、自分の小隊が戦闘状態か否かを判断する(ステップ410)。
If this
このステップ410がYESで、自分の味方エージェント集団(小隊)が戦闘状態の場合には、支援待機状態とする(ステップ412)。
If this
前記ステップ408がNOで、味方エージェント集団を発見していない場合、又は、前記ステップ410がNOで、自分の小隊が戦闘状態でない場合には、自分の前方にエージェントキャラクタが何もいない場合であり、移動又は停止状態とする(ステップ414)。
If
前記ステップ406がYESで、敵集団(敵エージェントキャラクタ)を発見した場合には、戦闘状態とする(ステップ416)。
If
そして、前記ステップ412、前記ステップ414、又は、前記ステップ416の各処理後は、プログラムをリターンする(ステップ418)。
Then, after each processing of
図3の前記ステップ322における重心力処理のサブルーチンにおいては、図5に示す如く、プログラムがスタートすると(ステップ502)、先ず、リーダーキャラクタか否かを判断する(ステップ504)。
In the subroutine of gravity force processing in
このステップ504がYESで、リーダーキャラクタの場合には、自分の小隊(味方エージェント集団)の重心へ向かう力(上記の数式の[数5]及び[数6]により得られる力であって、厳密には自小隊の重心に向かわせる力であり、上記の(2)の凝集力とは異なる)の演算を行う(ステップ506)。
If this
前記ステップ504がNOで、リーダーキャラクタでない場合には、エージェントキャラクタの位置が仮想境界線を越えたか否かを判断する(ステップ508)。
If
このステップ510がYESで、エージェントキャラクタの位置が仮想境界線を越えた場合には、敵の小隊(敵集団)の重心へ向かう力を演算する(ステップ510)。なお、上記同様に厳密には敵小隊の重心に向かわせる力であり、このときの演算も、上記の数式の[数5]及び[数6]を用いる。
If this
そして、前記ステップ506で、自分の小隊の重心に向かわせる力を演算した後、前記ステップ510で、敵の小隊(敵エージェント集団)の重心に向かわせる力を演算した後、そして、前記ステップ508がNOで、エージェントキャラクタの位置が仮想境界線を越えていない場合には、プログラムをリターンする(ステップ512)。
Then, after calculating the force to be directed toward the center of gravity of the platoon in
図2の前記ステップ208における小隊処理のサブルーチンにおいては、図6のフローチャートに示すように、小隊状態変数の更新部分を含でいる。
The platoon processing subroutine in
図6のフローチャートに示す如く、プログラムがスタートすると(ステップ602)、先ず、自分の小隊の重心座標を演算し(ステップ604)、全エージェントキャラクタか否かを判断する(ステップ606)。 As shown in the flowchart of FIG. 6, when the program starts (step 602), first, the center of gravity coordinates of its own platoon are calculated (step 604), and it is determined whether or not all agent characters are present (step 606).
このステップ606がNOで、全エージェントキャラクタでない場合には、エージェントキャラクタが戦闘状態か否かを判断し(ステップ608)、このステップ608がNOで、エージェントキャラクタが戦闘状態でない場合には、前記ステップ606に戻す。
If this
前記ステップ608がYESで、エージェントキャラクタが戦闘状態の場合には、小隊を戦闘状態とし(ステップ610)、そして、回り込みの仮想境界線を設定する(ステップ612)。
If
一方、前記ステップ606がYESで、全エージェントキャラクタの場合には、小隊を移動又は停止状態とする(ステップ614)。ここで、戦闘状態のエージェントキャラクタが1つもいない場合に、この状態となる。
On the other hand, if
そして、前記ステップ612で、回り込みの仮想境界線を設定した後、又は、前記ステップ614で、小隊を移動停止状態とした後は、小隊移動速度設定処理のサブルーチンを実行し(ステップ616)、プログラムをリターンする(ステップ618)。
Then, after setting the wraparound virtual boundary line in the
この図6のフローチャートにおいては、いずれかのエージェントキャラクタが戦闘状態となったとき、そのエージェントキャラクタが属する小隊の状態変数を戦闘状態に変更し、敵小隊(敵集団)への回り込みの境界線を設定・記憶する。また、いずれのエージェントキャラクタも戦闘状態でなくなったときは、小隊を移動停止状態に変更する。 In the flowchart of FIG. 6, when any agent character enters the battle state, the state variable of the platoon to which the agent character belongs is changed to the battle state, and the boundary line of the wraparound to the enemy platoon (enemy group) is shown. Set and remember. When any agent character is no longer in a battle state, the platoon is changed to a movement stop state.
図6の前記ステップ616における小隊移動速度設定処理のサブルーチンにおいては、図7のフローチャートに示す如く、プログラムがスタートすると(ステップ702)、先ず、自分の味方小隊(味方エージェント集団)の一番近い前方にいる他の敵の小隊(敵集団)を探し(ステップ704)、敵小隊(敵集団)を発見したか否かを判断する(ステップ706)。
In the subroutine of the platoon movement speed setting process in
このステップ706がNOで、敵小隊を発見していない場合には、味方小隊を発見したか否かを判断する(ステップ708)。
If this
このステップ708がYESで、味方小隊を発見した場合には、この味方小隊が戦闘状態か否かを判断する(ステップ710)。
If this
このステップ710がYESで、味方小隊が戦闘状態の場合には、敵小隊が仮想境界線を越えたか否かを判断する(ステップ712)。
If this
このステップ712がYESで、味方小隊が仮想境界線を越えた場合には、敵小隊の重心へ向かう(回り込みの)移動速度を設定する(ステップ714)。
If this
一方、前記ステップ706がYESで、敵小隊を発見した場合には、敵小隊に接近する移動速度・方向を設定する(ステップ716)。
On the other hand, if
前記ステップ708がNOで、味方小隊を発見しない場合には、減速停止のための移動速度・方向を設定する(ステップ718)。
If
前記ステップ710がNOで、味方小隊が戦闘状態でない場合には、味方小隊に追従する移動速度・方向を設定する(ステップ720)。
If
前記ステップ712がNOで、味方小隊が仮想境界線を越えていない場合には、敵小隊付近に向かう移動速度・方向を設定する(ステップ722)。前記敵小隊付近とは、例えば、その敵小隊の最右端のエージェントキャラクタの位置から境界線上の5mの位置等である。
If
そして、前記ステップ714〜722の各種設定の終了後は、プログラムをリターンする(ステップ724)。
Then, after completion of the various settings in
これにより、この実施例におけるキャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置は、集団の隊列を大きく乱さずに全体を表示できると同時に、適度に隊列内での追い越しや配置が入れ替わる様子を表現することができ、リーダーキャラクタを中心とした複雑な集団の移動や戦闘を、直感的に分かり易い操作により動的に楽しませることができるとともに、よりリアルに表現させることができる。 As a result, the character group movement control program, the storage medium, and the game apparatus in this embodiment can display the whole without greatly disturbing the group's formation, and at the same time express the state that the overtaking and arrangement within the formation are moderately switched. In addition, it is possible to dynamically enjoy the movement and battle of a complex group centered on a leader character by an intuitively easy-to-understand operation, and to make it more realistic.
この結果、この実施例においては、リーダー入り集団(群れ)の移動開始・移動中に、入力装置10の操作により集団の移動を直接介入操作できる。この入力装置10の操作とは、左アナログスティック50を傾けたり、十字方向ボタンセット36を押下して移動方向を入力することである。これにより、リーダーキャラクタを含めた集団(群れ)(例えば騎馬兵)の移動を、リアルに表現することができる。この集団の移動中の各キャラクタには、常に、上述の3つの力(反発力、凝集力、移動力)が作用し、所定時間(フレーム)毎に最新位置が計算される。リーダー入り集団の隊列内で適度に位置を変えて散らばりながらも、隊列を大きく乱さないという、自然な群れの移動が表現できる。
As a result, in this embodiment, the movement of the group can be directly intervened by the operation of the
ところで、リーダー入り集団の移動の際には、リーダーキャラクタがその集団の中央に位置する。例えば、現実の鳥の群れのように、群れの先頭に位置するキャラクタをリーダーキャラクタとして左右に移動させると、先頭の変更とともに、リーダーキャラクタも変更されるとする方法も考えられる。 By the way, when the group including the leader moves, the leader character is positioned at the center of the group. For example, if the character located at the head of the flock is moved to the left or right as a leader character like a real flock of birds, a method may be considered in which the leader character is changed along with the change of the head.
しかし、この実施例においては、特定のリーダーキャラクタの指揮に基づく、エージェントキャラクタ(兵士キャラクタ)同士の集団移動・集団戦闘を想定しているので、リーダー入り集団(群れ)の状態により、リーダーキャラクタが変更されることを想定していない。このため、リーダーキャラクタがリーダー入り集団(群れ)の中心にいても、上記の重心の考え方により、リーダーキャラクタであることが変更されることはない。 However, in this embodiment, since group movement / group battle between agent characters (soldier characters) based on the command of a specific leader character is assumed, the leader character is determined depending on the state of the group (group) with the leader. Not expected to change. For this reason, even if the leader character is at the center of the group (group) including the leader, it is not changed to be the leader character due to the above-described concept of the center of gravity.
また、リーダー入り集団の戦闘開始・戦闘中においては、戦闘中の各キャラクタの前線が形成される。左側アナログスティック50(又は、十字方向ボタンセット36)を上に傾けてリーダー入り集団が上方に向かって移動を開始した後、敵集団に遭遇して戦闘を開始し、さらに、左側アナログスティック50を上に押し続けている限り、戦闘を続ける。このとき、戦闘中のエージェントキャラクタ(前衛兵士)の非表示の前線が形成されるようにし、敵集団を通過(交錯)しないようにする。一方、左側アナログスティック50を下に傾けると、集団が逃走を開始する。この点、1対1の戦闘では、通常の処理だが、集団の場合は、処理が複雑になる。
In addition, during the battle start / combat of the group including the leader, the front of each character in battle is formed. The left analog stick 50 (or the cross direction button set 36) is tilted upward and the group including the leader starts moving upward, then encounters an enemy group and starts a battle. Continue fighting as long as you keep pushing up. At this time, a hidden front of the agent character (avant-garde soldier) in battle is formed, and the enemy character group is prevented from passing (intersecting). On the other hand, when the
更に、リーダー入り集団の戦闘突入後は、戦闘中でない残りの味方エージェント集団を操作することができる。リーダー入り集団が戦闘中でないとき、後方のエージェントキャラクタ(後衛兵士)は、支援状態として、その場で待機させ、隊列を大きく崩さないように(間に敵エージェントキャラクタが入り込まないように)するとともに、入力装置10の入力操作があった場合には、敵集団の背後(後方)へ回り込めるようにする。
Furthermore, after the leader-entered group enters the battle, the remaining friendly agent group that is not in battle can be operated. When the leader group is not in battle, the agent character behind (the rear guard soldier) is in a support state to stand by on the spot, not to collapse the formation greatly (to prevent the enemy agent character from entering between) When there is an input operation of the
敵集団の背後(後方)付近に仮想的な境界線を設定し、プレイヤが、上記の左側アナログスティック50の操作をし、残りの味方エージェント集団がこの境界線を超えるまで移動した後は、自動的に敵集団の背後(後方)まで回り込ませることができる。
A virtual boundary line is set near the rear (rear) of the enemy group, and the player operates the
また、リーダー入り集団の移動後の戦闘時では、リーダーキャラクタは、他の味方エージェントキャラクタと同様に、索敵(戦闘中でない視野内の敵を探し、接近して戦闘)することができる。 Further, in the battle after the movement of the group including the leader, the leader character can search for an enemy (search for an enemy in the field of view not in battle and approach it) in the same manner as other teammate agent characters.
なお、この発明においては、リーダーキャラクタをエージェント集団の後側に位置させることも可能である。 In the present invention, the leader character can be located behind the agent group.
プレイヤに集団を直接介入操作させることを、他のゲーム装置にも適用することができる。 Allowing a player to directly intervene a group can also be applied to other game devices.
2 ゲーム装置
8 モニタテレビ
10 入力装置
12 記憶媒体
14 媒体読取部
48 右側アナログスティック
50 左側アナログスティック
54 CPUブロック
56 SCU
58 CPU
60 ROM
62 RAM
68 入力受信部
70 画像処理部
72 音響処理部
2
58 CPU
60 ROM
62 RAM
68
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247687A JP2007021233A (en) | 2006-09-13 | 2006-09-13 | Character group movement controlling program, storage medium, and game device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006247687A JP2007021233A (en) | 2006-09-13 | 2006-09-13 | Character group movement controlling program, storage medium, and game device |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004369471A Division JP3880008B2 (en) | 2004-12-21 | 2004-12-21 | Character group movement control program, storage medium, and game device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007021233A true JP2007021233A (en) | 2007-02-01 |
Family
ID=37782699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006247687A Pending JP2007021233A (en) | 2006-09-13 | 2006-09-13 | Character group movement controlling program, storage medium, and game device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007021233A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009240498A (en) * | 2008-03-31 | 2009-10-22 | Namco Bandai Games Inc | Program, information memory media and game system |
EP3984607A4 (en) * | 2020-08-05 | 2023-05-03 | Shanghai Lilith Technology Corporation | Interaction control system and method for game objects, and server and computer-readable storage medium |
-
2006
- 2006-09-13 JP JP2006247687A patent/JP2007021233A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009240498A (en) * | 2008-03-31 | 2009-10-22 | Namco Bandai Games Inc | Program, information memory media and game system |
EP3984607A4 (en) * | 2020-08-05 | 2023-05-03 | Shanghai Lilith Technology Corporation | Interaction control system and method for game objects, and server and computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3880008B2 (en) | Character group movement control program, storage medium, and game device | |
JP3911511B2 (en) | Character group movement control program, storage medium, and game device | |
JP5507893B2 (en) | Program, information storage medium, and image generation system | |
JP3795856B2 (en) | Video game apparatus, video game progress control method, program, and recording medium | |
JP4474640B2 (en) | Image processing program, game processing program, and game information processing apparatus | |
US7679623B2 (en) | Image processing program and image processing device | |
EP2634752A1 (en) | Image display apparatus, game program, and method of controlling game | |
JPH11235466A (en) | Computer game device | |
JP2018190163A (en) | Information processing method, computer, and program | |
EP3796988B1 (en) | Virtual camera placement system | |
JP4117343B2 (en) | Recording medium and game device | |
JP3786670B1 (en) | Program, information storage medium, and image generation system | |
JP2009082188A (en) | Game program, game machine, and game control method | |
JP2022020686A (en) | Information processing method, program, and computer | |
JP4330412B2 (en) | Game device and program for causing computer to function | |
JP2007021233A (en) | Character group movement controlling program, storage medium, and game device | |
JP3640384B2 (en) | Video game system and storage medium for video game | |
JP4553907B2 (en) | Video game system and storage medium for video game | |
JP5054908B2 (en) | Program, information storage medium, and image generation system | |
JP2000135376A (en) | Game system, information recording medium and method for switching indication | |
JP4313810B2 (en) | Video game system and storage medium for video game | |
JP3653062B2 (en) | Character movement speed control program | |
JP3921361B2 (en) | Video game system and storage medium for video game | |
JP2023099961A (en) | Program, information processing device, and information processing method | |
JP2019155113A (en) | Information processing method, computer, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070629 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071023 |