JP3505705B2 - 記録媒体及びゲーム装置 - Google Patents

記録媒体及びゲーム装置

Info

Publication number
JP3505705B2
JP3505705B2 JP33917699A JP33917699A JP3505705B2 JP 3505705 B2 JP3505705 B2 JP 3505705B2 JP 33917699 A JP33917699 A JP 33917699A JP 33917699 A JP33917699 A JP 33917699A JP 3505705 B2 JP3505705 B2 JP 3505705B2
Authority
JP
Japan
Prior art keywords
enemy
character
cavalry
cavalry soldier
soldier
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.)
Expired - Fee Related
Application number
JP33917699A
Other languages
English (en)
Other versions
JP2001149655A (ja
Inventor
陽一 襟川
順平 津田
Original Assignee
株式会社光栄
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社光栄 filed Critical 株式会社光栄
Priority to JP33917699A priority Critical patent/JP3505705B2/ja
Priority to US09/721,886 priority patent/US6736724B1/en
Publication of JP2001149655A publication Critical patent/JP2001149655A/ja
Application granted granted Critical
Publication of JP3505705B2 publication Critical patent/JP3505705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は記録媒体及びゲーム
装置に係り、特に、3次元仮想空間上に表示され複数の
キャラクタが敵味方の集団を形成して互いに戦闘する集
団キャラクタの戦闘相手をマッチングするためのプログ
ラムが記録されたコンピュータ読取可能な記録媒体及び
集団キャラクタの対戦相手をマッチングするゲーム装
置に関する。
【0002】
【従来の技術】今日、種々のゲームソフトがCD−RO
M等の記録媒体に記録されて各社から販売されている。
このような記録媒体はゲーム装置に挿入されて使用され
る。図1に示すように、ゲーム装置のうち最も一般的な
家庭用ゲーム装置10は、ゲーム装置本体2に図2に示
すようなコントローラパッド等の入力装置3とテレビモ
ニタ4とを接続して構成されている。プレーヤが記録媒
体1をゲーム装置本体2に挿入すると、自動的に、又
は、入力装置3の所定ボタンを押下することにより、記
録媒体1に記録されたゲームプログラムがゲーム装置本
体2の記憶メモリであるRAMにロードされてゲームが
スタートし、その後は入力装置3のボタンを操作するこ
とによりゲームを楽しむことができる。
【0003】ところで従来、複数のキャラクタが主に2
次元座標上で敵味方に分かれて戦闘するゲームが発売さ
れている。例えば、ファミリーコンピュータ(任天堂
(株))用として、1985年にアスキー社から発売さ
れ、味方の兵士が戦闘に勝つごとにランクが上がってい
く「ボコスカウォーズ」や、1988年にアイレム社か
ら発売され、プレーヤが各部隊の進行方向を決定し味方
部隊が敵と遭遇すると選択可能なフォーメーションの中
からひとつを選び戦闘モードとなる「ナポレオン戦記」
等がある。また、コンピュータ用(NEC(株)PC−
88X1用)としては、1988年に呉ソフトウエア工
房社から発売され、プレーヤがキャラクタを制御するこ
とによりピンチに陥ったキャラクタを直接コントロール
して救うことができる「シルバーゴースト」等が知られ
ている。
【0004】これらのゲームソフトは、戦闘中にプレー
ヤによるコマンド入力待ちをするわけではなく、コマン
ド入力命令中もゲームはリアルタイムに進行し戦闘を繰
り返すゲームであり、「リアルタイムシミュレーション
ゲーム」と呼ばれている。リアルタイムシミュレーショ
ンゲームは、戦術を考えながら敵軍を打ち負かす過程を
楽しむゲームジャンルに属し、一定時間経過後にプレー
ヤのコマンド入力を受け付け、コマンド入力中は敵が攻
撃しない「ターン制」のゲームとは異なり、いつでも敵
が攻撃してくるので、実際の戦闘に疑似する緊迫感や戦
術感を味わうことができる。
【0005】なお、本発明に関連する文献としては、1
988年4月に発行された「The Visual Computer」
紙、第283頁から295頁に、「Dynamic animation:
interaction and control」(Jane Wilhelms, Matthew
Moore, and Robert Skinner)の「2.2 Numerical integr
ation methods」と題される、オイラー法による運動方
程式に関する記載がある。
【0006】
【発明が解決しようとする課題】しかしながら、従来の
リアルタイムシミュレーションゲームでは、主に2次元
での戦闘であるため実際の戦闘のような迫力が表現でき
ず、視覚性に乏しいものであった。従って、近時のコン
ピュータ技術の急速な進歩によりテレビモニタ4には映
画並の画像が表示されることから、従来技術では、プレ
ーヤが希求するより現実感のあるゲームからはほど遠い
ものとなっている、という問題点があった。
【0007】また、上述のリアルタイムシミュレーショ
ンゲームでは、リーダーを一歩動かすと他のキャラクタ
も一歩追随し、途中味方の他のキャラクタが障害物に接
触すると、そのキャラクタは進行することができなくな
ったり、各キャラクタが自動的に敵を探しに行くのでは
なく、移動の途中で敵に接触した場合に戦闘を開始する
ものであり、どちらかというと戦術を楽しむ思考型のゲ
ームに止まるものであった。従って、各キャラクタが自
ら敵を探したり(索敵したり)、状況に応じて索敵移動
状態を変更したりする実際の戦闘とは異なり、物足りな
さを感じる、という問題点があった。
【0008】本発明は上記事案に鑑み、集団戦闘の一連
の動作をよりリアルに表現することができる集団キャラ
クタ戦闘方法、該記録媒体及びゲーム装置を提供するこ
とを課題とする。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明は、3次元仮想空間上に表示され複数のキャラ
クタが敵味方の集団を形成して互いに戦闘する集団キャ
ラクタの戦闘相手をマッチングするためのプログラムが
記録されたコンピュータ読取可能な記録媒体であって、
前記プログラムは、コンピュータを、前記3次元仮想空
間上を加速度に基づいて移動する前記キャラクタの座標
値を演算する座標値演算手段、前記敵集団に属する敵キ
ャラクタの座標値が前記キャラクタの視野範囲として予
め設定された第1の領域内となっているか否かを判断
し、第1の領域内と判断したときに、前記第1の領域内
の敵キャラクタについて該敵キャラクタを識別するため
の情報を前記キャラクタの座標値を中心に近い順に並び
替えてリストとして記憶部に記憶し、前記キャラクタか
ら近い敵キャラクタの順に、予め設定され敵味方キャラ
クタの戦闘を1:1又は1:複数に許容する交戦条件を
満たしているか否かを判断し、満たしているときに、前
記敵キャラクタが前記キャラクタと戦闘可能な状態にあ
ると判断し、戦闘可能な状態にあると判断したときに、
前記敵キャラクタを前記キャラクタの戦闘すべき敵と決
定する索敵手段、前記索敵手段により戦闘すべき敵と決
定された敵キャラクタの座標値が前記キャラクタの戦闘
可能範囲として予め設定された第2の領域内となるま
で、前記索敵手段により戦闘すべき敵と決定された敵キ
ャラクタに向けて接近するように前記キャラクタの座標
値を変更する接近手段、前記3次元仮想空間上に前記複
数のキャラクタを表示するために、前記複数のキャラク
タの座標値を、画像を処理する画像処理部へ転送する座
標値転送手段、として機能させる。
【0010】 本発明では、座標値演算手段により3次
元仮想空間上を加速度に基づいて移動するキャラクタの
座標値が演算され、索敵手段により、敵集団に属する敵
キャラクタの座標値がキャラクタの視野範囲として予め
設定された第1の領域内となっているか否かが判断さ
れ、第1の領域内と判断されたときに、第1の領域内の
敵キャラクタについて該敵キャラクタを識別するための
情報をキャラクタの座標値を中心に近い順に並び替えて
リストとして記憶部に記憶し、キャラクタから近い敵キ
ャラクタの順に、予め設定され敵味方キャラクタの戦闘
を1:1又は1:複数に許容する交戦条件を満たしてい
るか否かが判断され、満たしているときに、敵キャラク
タがキャラクタと戦闘可能な状態にあると判断され、戦
闘可能な状態にあると判断されたときに、敵キャラクタ
がキャラクタの戦闘すべき敵と決定され、接近手段によ
索敵手段で戦闘すべき敵と決定された敵キャラクタの
座標値がキャラクタの戦闘可能範囲として予め設定され
た第2の領域内となるまで、索敵手段で戦闘すべき敵と
決定された敵キャラクタに向けて接近するようにキャラ
クタの座標値が変更され、座標値転送手段により、3次
元仮想空間上に複数のキャラクタを表示するために、複
数のキャラクタの座標値が、画像を処理する画像処理部
に転送されるようにしたので、各キャラクタは自己の視
野範囲内の敵キャラクタを索敵して接近していくことか
ら集団キャラクタの戦闘相手のマッチングをリアルに表
現することができる。
【0011】この場合において、索敵手段が、交戦条件
を満たしていないと判断したときに、キャラクタの移動
を、キャラクタの所定回転中心に対する位置ベクトル及
び角速度により演算される求心ベクトルに基づいて3次
元仮想空間上を旋回するように切り換えるようにすれ
ば、索敵するキャラクタの移動が旋回して移動するよう
に切り換えられるので、プレーヤの興味を引くことがで
きると共に、旋回して移動することから視野範囲も変
され敵キャラクタを索敵し易くなりマッチングを短い時
間に行うことができるので、マッチングまでの時間中に
プレーヤをイライラさせることを防止することができ
る。
【0012】また、キャラクタの各々は3次元仮想空間
上で敵キャラクタを索敵するときにキャラクタの現在の
状態を表す状態フラグが索敵状態に設定され、リストに
は敵キャラクタの状態フラグが記述されており、索敵手
段は、キャラクタから近い敵キャラクタの順に、リスト
に基づいて敵キャラクタの状態フラグが索敵状態に設定
されているか否かを判断し、索敵状態に設定されている
ときに、前記交戦条件を満たしているか否かを判断する
ようにしてもよい。
【0013】更に、コンピュータを、前記キャラクタと
前記敵キャラクタとの間に前記キャラクタの前記敵キャ
ラクタへの接近を妨害する障害があるか否かを判断し、
障害があるときに、前記接近手段による前記キャラクタ
の座標値の変更を解除して前記索敵手段で他の敵キャラ
クタを索敵させる索敵対象変更手段として機能させる
うにすれば、障害によりキャラクタが敵キャラクタに接
近することができないときでも他の敵キャラクタを索敵
して接近するので、プレーヤが興味を削がれることを防
止することができる。
【0014】また、コンピュータを、前記敵キャラクタ
向けて前記第2の領域内まで接近させた後、前記キャ
ラクタの移動を停止させ前記敵キャラクタとの戦闘が可
能なように前記キャラクタの座標値と前記敵キャラクタ
の座標値とを結ぶ直線上で前記キャラクタを所定角度回
転させ、前記敵キャラクタと戦闘させる戦闘手段として
機能させるようにすれば、例えば、騎馬兵士同士が戦闘
する場合のように敵味方の正面で戦闘することが困難な
場合でも、キャラクタ同士を戦闘させることができる。
このとき、コンピュータを、前記キャラクタが前記敵キ
ャラクタから一定量以上のダメージを受けたとき又は前
記キャラクタの座標値が前記キャラクタを敵とする別の
敵キャラクタの前記第2の領域内となっており、かつ
該別の敵キャラクタの座標値が前記キャラクタの前記第
2の領域外となっているときに、前記戦闘手段による前
記敵キャラクタとの戦闘を解除して前記敵キャラクタ及
び/又は前記別の敵キャラクタの座標値から遠ざかるよ
うに前記キャラクタの座標値を変更する逃走手段として
機能させるようにすれば、キャラクタは敵から逃走する
ので、プレーヤはより現実的な戦闘を楽しむことができ
る。
【0015】 本発明の第2の態様は、3次元仮想空間
上に表示され複数のキャラクタが敵味方の集団を形成し
て互いに戦闘する集団キャラクタの戦闘相手をマッチン
グするゲーム装置において、前記3次元仮想空間上を加
速度に基づいて移動する前記キャラクタの座標値を演算
する座標値演算手段と、前記敵集団に属する敵キャラク
タの座標値が前記キャラクタの視野範囲として予め設定
された第1の領域内となっているか否かを判断し、第1
の領域内と判断したときに、前記第1の領域内の敵キャ
ラクタについて該敵キャラクタを識別するための情報を
前記キャラクタの座標値を中心に近い順に並び替えてリ
ストとして記憶部に記憶し、前記キャラクタから近い敵
キャラクタの順に、予め設定され敵味方キャラクタの戦
闘を1:1又は1:複数に許容する交戦条件を満たして
いるか否かを判断し、満たしているときに、前記敵キャ
ラクタが前記キャラクタと戦闘可能な状態にあると判断
し、戦闘可能な状態にあると判断したときに、前記敵キ
ャラクタを前記キャラクタの戦闘すべき敵と決定する索
敵手段と、前記索敵手段により戦闘すべき敵と決定され
敵キャラクタの座標値が前記キャラクタの戦闘可能範
囲として予め設定された第2の領域内となるまで、前記
索敵手段により戦闘すべき敵と決定された敵キャラクタ
に向けて接近するように前記キャラクタの座標値を変更
する接近手段と、前記3次元仮想空間上に前記複数のキ
ャラクタを表示するために、前記複数のキャラクタの座
標値を、画像を処理する画像処理部へ転送する座標値転
送手段と、を備えている。本発明は以下の実施の形態を
参照することにより更に明らかとなる。
【0016】
【発明の実施の形態】以下、図面を参照して本発明をビ
デオゲーム装置に適用した実施の形態について説明す
る。本実施形態では、キャラクタの集団を騎馬兵士で構
成される騎馬部隊とし、予め設定された整列点に整列さ
せた後、戦場まで突撃して敵騎馬部隊を構成する敵騎馬
兵士と交戦する場合を想定する。
【0017】(構成)図3に示すように、ゲーム装置本
体2は装置全体の制御を行うCPUブロック20を備え
ている。CPUブロック20は、ゲーム装置本体2内の
各部とのデータ転送を主に制御するSCU(System Con
trol Unit)、中央演算処理装置として高速クロックで
作動するCPU、ゲーム装置本体2の基本制御動作が記
憶されたROM、CPUのワークエリアとして働くと共
に記録媒体1に記録されたゲームプログラム及び種々の
データを一時的に記憶するRAM及びこれらを接続する
内部バスで構成されている。
【0018】SCUには外部バス25が接続されてい
る。外部バス25は、コントローラパッド等の入力装置
3からの入力を受信してCPUブロック20へ入力情報
を転送する入力受信部21、図示しないサブCPUを備
え記録媒体1に記録されたゲームプログラムを読み取り
CPUブロック20へ転送するCD−ROMドライブ等
の媒体読取部22、図示しないサブCPU及びVRAM
を備えCPUブロック20から転送された情報に従って
画像を描画する画像処理部23、及び、図示しないサブ
CPUを備え、例えば、バックミュージックや騎馬部隊
の足音等の音響を処理する音響処理部24、に接続され
ている。また、入力受信部21は入力装置3に、画像処
理部23はテレビモニタ4に、音響処理部24はテレビ
モニタ4に内蔵されたスピーカ5にそれぞれ接続されて
いる。
【0019】(動作) 次に、本実施形態のビデオゲーム装置の動作についてフ
ローチャートを参照して、プレーヤの騎馬部隊(以下、
部隊Fという。)の騎馬兵士とコンピュータの騎馬部隊
(以下、部隊Eという。)の騎馬兵士とが対戦する場合
について説明する。なお、ゲーム装置本体2には電源が
接続されており、ゲーム装置本体2を作動状態とさせる
図示しない電源スイッチが押下されると、図4に示す
戦闘ルーチンの実行が開始される。
【0020】索敵戦闘ルーチンでは、まず、ステップ1
02で、記録媒体1が媒体読取部22に挿入されゲーム
プログラムが読み取り可能状態となるまで待機し、読み
取り可能状態となると、次のステップ104において、
媒体読取部22にゲームプログラムを読み取らせ読み取
ったゲームプログラムをRAMに転送させる。次のステ
ップ106では、入力装置3のスタートボタン31(図
2参照)が押下されるまで待機する。スタートボタン3
1が押下されると、次のステップ108において、部隊
Fと部隊Eとを交戦させるための初期設定を行う初期設
定処理サブルーチンを実行する。
【0021】図5に示すように、この初期設定処理サブ
ルーチンでは、まず、ステップ142で部隊Fの隊形を
設定し整列点に整列させるための隊形設定情報をテレビ
モニタ4に表示させる。この隊形設定情報表示では、ス
テップ104でRAMに格納されたデフォルト値を、図
28に示すように、ダイアログ形式で表示する。なお、
図32に示すように、図28において、「リーダー位
置」は戦場中心Cを3次元仮想空間上の座標(0,0,
0)としたときに(図29参照)、部隊Fの部隊長(以
下、リーダーという。)F1の3次元仮想空間上の位置
(座標)を示し、「リーダー向き」はリーダーF1の3
次元仮想空間上の水平線(又は水平面)HLからのリー
ダーの顔を向く角度を示し、「列数」及び「行数」はリ
ーダーF1を除く部隊Fの騎馬兵士が整列したときの列
及び行の数を示し、「列間隔」及び「行間隔」は騎馬兵
士間の列及び行の3次元仮想空間上の間隔を示してい
る。従って、プレーヤは自己の好みに応じて入力装置3
を操作してデフォルト値を変更することができる。ま
た、図28において、「キャンセル」に対応する入力装
置3の所定ボタン操作がなされると、変更した値がすべ
てデフォルト値に戻されるようになっている(以下、図
29〜31においても同じ。)。なお、本実施形態で
は、リーダーF1は自動的に設定されるが入力装置3に
より指定するようにしてもよい。
【0022】図5のステップ144では、プレーヤによ
り図28に示す「OK」ボタンを押下するための入力装
置3の所定ボタン操作がなされるまで待機し、所定ボタ
ン操作がなされると、次のステップ146において部隊
Fの隊形設定値を取り込んでRAMに格納した後、部隊
Eについての隊形設定値を演算してRAMに格納する。
この部隊Eの隊形設定値演算にあたっては、図32に示
すように、部隊Fと部隊Eとが戦場中心Cを跨いで対称
的配置となるように、部隊FのリーダーF1の位置及び
向きに基づいて部隊EのリーダーEaの位置が演算さ
れ、列数、行数、列間隔及び行間隔については図28に
示した部隊Fについての隊形設定値がそのままコピーさ
れる。
【0023】次に、ステップ148では、両部隊の交戦
戦場となる戦場設定情報をテレビモニタ4に表示させ
る。戦場設定情報の表示は、ステップ104でRAMに
格納されたデフォルト値を、図29に示すように、ダイ
アログ形式で表示することにより行われる。なお、図3
2に示すように、図29において、「突撃方向」はリー
ダーF1から戦場中心Cへの方向を示し、「突撃速度」
は部隊Fを構成する騎馬兵士の3次元仮想空間上の突撃
時の速度を示している。また、戦場中心Cを中心として
戦場半径Rの戦場円(又は球)Bcにより両部隊の騎
馬兵士同士が主に戦闘する戦場が画定される。
【0024】次のステップ150では、所定ボタン操作
がなされるまで待機し、所定ボタン操作がなされると、
ステップ152において戦場設定値を取り込んでRAM
に格納した後、部隊Eについて突撃方向を演算し、部隊
Fの突撃速度を部隊Eの突撃速度としてコピーしてRA
Mに格納する。
【0025】次に、ステップ154において、部隊Fの
騎馬兵士の特性である部隊特性情報をテレビモニタ4に
表示させる。図30に示すように、部隊特性情報は、ス
テップ104でRAMに格納されたデフォルト値をダイ
アログ形式で表示したものであり、部隊特性情報の変更
が可能とされている。なお、図30に示した「近距離知
覚角度」等の意味については後述する。次のステップ1
56では所定ボタン操作がなされるまで待機し、所定ボ
タン操作がなされると、ステップ158において部隊特
性情報値を取り込んでRAMに格納する。なお、部隊F
と同一の部隊特性情報値が部隊Eの部隊特性情報値とし
て使用される。
【0026】次にステップ160では、騎馬兵士同士の
戦闘を1:1とするか、1:多を許容するかを設定する
交戦設定情報をテレビモニタ4に表示する。図31に示
すデフォルト値では、後述する実行時点(図4のステッ
プ112参照)を基準として、5分経過前は1:1の戦
闘しか許容せず、5分経過後10分経過前は1:1又は
1:2の戦闘を許容し、10分経過後は1:1、1:2
又は1:3の戦闘を許容する設定とされている。このよ
うな時間のカウントは、CPUブロック20内の図示し
ない内部時計やテレビモニタ4から1/60秒毎に一度
の周期で呼び出される垂直帰線割込をカウントすること
により計測することができる。この場合に、例えば、プ
レーヤが実行時点から1:1又は1:2の対戦を希望す
る場合には、交戦許容兵士数1:1及び1:3のチェッ
クを外し、チェックのある交戦許容兵士数1:2の変更
時間デフォルト値10分を0分とすればよく、また、プ
レーヤが実行時点から1:3までの対戦を希望する場合
には、交戦許容兵士数1:1及び1:2のチェックを外
せばよい。次のステップ162では、所定ボタン操作が
なされるまで待機し、所定ボタン操作がなされると、ス
テップ164において交戦設定値を取り込んでRAMに
格納し、初期設定処理サブルーチンを終了して図4のス
テップ110へ進む。
【0027】ステップ110では、RAMに格納した部
隊設定値及び戦場設定値を読み出して両部隊を構成する
騎馬兵士をそれぞれの整列点に整列させるために3次元
仮想空間上の位置を演算してRAMに格納し、次のステ
ップ111において、各騎馬兵士を特定する情報、その
位置情報及び視点位置情報を画像処理部23へ転送す
る。画像処理部23は転送された情報に基づいて画像を
描画して1/60秒毎にテレビモニタ4に画像を出力す
る。これにより、テレビモニタ4には図32に示す画像
が表示される。なお、本実施形態では、図32に示す画
像の立体感を得るために、画像処理部23に描画させる
際に、部隊Fの騎馬兵士F4及びF5の間の背後上方に
視点を置き、部隊E方向に向けて遠近法を使用し画像描
画の際に各騎馬兵士の画像を拡大圧縮している。従っ
て、プレーヤがテレビモニタ4を見ると、部隊Eの騎馬
兵士は部隊Fの騎馬兵士と比べ小さく見えることになる
(図49参照)。
【0028】次のステップ112では、図33に示すよ
うに、プレーヤの入力装置3の所定ボタン操作によりメ
ニューから命令が選択されドロップダウンメニューの中
から実行()がクリックされたか否かを判断する。否
定判断のときは、次のステップ114において、図34
に示すように、プレーヤが入力装置3の所定ボタン操作
でメニューから設定を選択しドロップダウンメニューの
中から部隊特性()、隊形()、戦場()及び交
戦()の中からいずれかを選択して設定を変更したか
否かを判断し、否定判断のときは、ステップ115にお
いて、プレーヤが選択した図28〜図31に示した対応
するダイアログを表示してステップ110へ戻る。一
方、ステップ114で肯定判断されたときは、ステップ
116で設定値を取り込み、必要に応じて部隊Eの配置
を再演算して、RAMに格納した後、ステップ115に
進む。これにより、プレーヤは自己が希望する設定値に
変更することができる共に、両部隊の隊形及び戦場をテ
レビモニタ4により視覚的に確認することができること
となる(ステップ111)。なお、本実施形態では、図
35に示すように、対戦相手にコンピュータ以外の第2
のプレーヤがいる場合に備えて部隊Eについても第2の
プレーヤの希望値に設定することができるようになって
いる。
【0029】ステップ112でドロップダウンメニュー
の中から実行()がクリックされたと判断すると、次
のステップ117において、まず、勝利フラグwを0と
し、両部隊の騎馬兵士数を加算した騎馬兵士数nを演算
する(本例の場合は、騎馬兵士数n=(F1〜F7の騎
馬兵士数7)+(Ea〜Egの騎馬兵士数7)=1
4)。勝利フラグwは0又は1の値をとり、後述するよ
うに、勝利フラグが0のときは部隊Eが勝利したものと
みなし、1のときは部隊Fが勝利したものとみなすフラ
グである。次に、ステップ117では、各騎馬兵士のダ
メージフラグdfnを0とする。このダメージフラグd
fnは、騎馬兵士がダメージを受けているか否かを判断
するもので、後述するように、ダメージを受けたときは
このダメージフラグdfnが1とされる。また、このス
テップ117では、両部隊の騎馬兵士全員について彷徨
基準点を設定する。この彷徨基準点について図32を参
照して説明すれば、戦場円Bc内の任意の点(座標)で
あり、他の騎馬兵士の彷徨基準点との重複を避けて騎馬
兵士毎にランダムに選定された点である。次のステップ
118では、両部隊の全ての騎馬兵士F1〜F7及びE
a〜Egの状態フラグFLを突撃とする。各騎馬兵士
は、下表1に示す通り18の状態の中から一つの状態を
採り得、現在の状態を状態フラグFLとして持ってい
る。各状態について一言すれば表1に示す状態の概略の
通りであるが、詳しくは後述する。なお、以下便宜上、
彷徨索敵及び旋回索敵をまとめて索敵といい、接近、対
峙、回転、武器持替、攻撃、ダメージ、反動及び防御を
まとめて交戦といい、それらの状態以外の状態をまとめ
てその他の状態という。
【0030】
【表1】
【0031】次に、ステップ120では、1/60秒
(約16.6ミリ秒)に一度の周期で呼び出される(返
される)垂直帰線周期による垂直帰線割込処理がなされ
たか否かを判断することにより、割込が発生したか否か
を判定する。ステップ120で否定判定がなされると、
次のステップ122において、視点を変更する等の入力
受信部21から転送された入力情報に対する処理やゲー
ム効果音を音響処理部24に合成させるための音響処理
等のメイン処理を実行して、次のステップ124に進
む。ステップ124では、プレーヤがゲーム続行中に、
入力装置3の所定ボタン操作により図33に示したメニ
ューから命令を選択しドロップダウンメニューの中から
撤退()を選択して実行()をクリックしたか否か
を判断する。否定判断のときは、ステップ132へ進
み、肯定判断のときは、次のステップ126において状
態フラグFLが死亡となっている騎馬兵士以外のすべて
の騎馬兵士の状態フラグFLを撤収とする。次に、ステ
ップ128において、生存騎馬兵士の整列点を演算し
て、ステップ132へ進む。この整列点演算では、ま
ず、勝利フラグwが0か否かを判断することにより部隊
F及び部隊Eの向きを決定し、次に、RAMにステップ
146又は116で格納した隊形設定値から整列点を読
み出し現在の生存騎馬兵士の数に基づいて整列状態を演
算する。すなわち、図39に示すように、例えば、勝利
フラグw=0のときに、プレーヤが撤収命令を出すと、
部隊Fの向きは図32に示した突撃を開始する前の整列
方向とは反対方向(180度回転した方向)としてリー
ダー位置を演算した後、リーダーの位置を基準として生
存騎馬兵士の位置を演算する。
【0032】一方、ステップ120で肯定判定がなされ
ると、ステップ130において両部隊の各騎馬兵士が戦
場内に突撃し索敵・戦闘を行う索敵戦闘処理サブルーチ
ンが割り込み処理時間1/60秒内に実行される。図6
に示すように、この索敵戦闘処理サブルーチンでは、各
騎馬兵士が戦場まで至らないときには突撃を続行し、各
騎馬兵士が戦場内に至ると戦場処理を実行し、撤収命令
が出されると撤収する処理を騎馬兵士全員に対して一人
ずつ行うものである。
【0033】まず、ステップ166で騎馬兵士数nを読
み出し、次のステップ168で騎馬兵士数nが0か否か
を判断する。肯定判断のときは、全ての騎馬兵士の処理
を終了したので、ステップ184において、ステップ1
11と同様に、全ての騎馬兵士の位置情報等を画像処理
部23に転送し描画させる。画像処理部23は1/60
秒毎に描画した画像をテレビモニタ4に出力することに
よりテレビモニタ4には索敵戦闘の様子が表示される。
一方、否定判断のときは、次のステップ170において
(プレーヤから)撤収命令が出されたか否かを状態フラ
グFLが撤収とされたか否かから判断し、否定判断のと
きは、ステップ172で処理対象となる騎馬兵士(以
下、対象騎馬兵士という。)の前回の(1/60秒前に
RAMに格納した)位置を読み出して(最初の場合に
は、ステップ146又は116でRAMに格納した対象
騎馬兵士の整列点位置)、次のステップ174におい
て、対象騎馬兵士が戦場円Bc内にいるか否かを判断す
る。ステップ174で否定判断されたときは、ステップ
176において、対象騎馬兵士を戦場円Bc内に移動さ
せるための突撃処理サブルーチンを実行する。
【0034】図7に示すように、突撃処理サブルーチン
では、まず、ステップ202において、対象騎馬兵士に
ついて突撃速度(図29参照)に一致させるための加速
度である突撃時加速度(αx,αy,αz)を演算して
RAMに格納する。ここに、αx、αy、αzは、それ
ぞれx、y、z、方向の加速度成分を表す。例えば、本
例の場合には、最初の突撃加速度は、整列点では速度
(vx,vy,vz)=(0,0,0)で、突撃方向は
90度(図29参照)であるので、αx=0、αz=
0、αy=(突撃速度14m/sec)×60(1/
s)=840m/sとして演算することができる。図
30に示すように、騎馬兵士が有する最大加速度は35
m/sなので、対象騎馬兵士の突撃時加速度(αx,
αy,αz)=(0,35,0)となる。なお、vx、
vy、vzは、それぞれx、y、z、方向の速度成分を
表している。
【0035】次のステップ204では、他の(この場合
には味方の)騎馬兵士との接触・衝突回避を目的として
一定距離以上離れようとするために発生する加速度を求
める近距離加速度演算を行う。この近距離加速度演算で
は、まず、図5のステップ158で取り込んだ近距離知
覚角度及び近距離知覚半径を読み出す。ここに、近距離
知覚角度とは、騎馬兵士の現在の顔の向きで見える近傍
の視界の角度をいい、図30に示すように、本実施形態
では190度がデフォルト値とされている。また、近距
離知覚半径とは、近距離知覚角度で騎馬兵士が見える近
傍の距離をいい、図30に示すように、本実施形態では
3mがデフォルト値とされている。
【0036】次に、前回の垂直帰線割込処理時(1/6
0秒前)にRAMに記憶した他の騎馬兵士の位置を読み
出し、他の騎馬兵士が近距離知覚角度及び近距離知覚半
径で画定される近距離領域内にいるか否かを判断する。
他の騎馬兵士がいる場合には、その騎馬兵士との距離を
求め、その距離に対応する反発力を求める。上述したよ
うに、近距離では他の騎馬兵士との接触・衝突回避を目
的としているので、他の騎馬兵士が近接しているときは
急激にその騎馬兵士から離れるようにすることが望まし
いことから、図37に示すように、縦軸に反発力、横軸
に距離をとったときに、距離と反発力の関係は、例えば
2次関数Fのように、他の騎馬兵士との距離が小さい場
合には急激に反発力が増加するように変化するものとし
て演算する。従って、距離が0の場合の反発力は、図3
0で与えられた近距離最大反発力の値となり、距離が近
距離知覚半径に等しい場合は、反発力は0となる。求め
た反発力を質量で除算した加速度とみなし(図30の近
距離最大反発力の単位系参照)、当該他の騎馬兵士から
対象騎馬兵士に向かうベクトルと、の積を、各成分α
x、αy、αz毎に求め、これを近距離加速度とする。
そして、更に別の騎馬兵士が近距離領域内いるか否かを
判断し、いる場合には同様にして反発力を求め、求めた
反発力から加速度を求め、先に求めた近距離加速度に各
成分x,y,zごとに加算して近距離加速度(αx,α
y,αz)としてRAMに格納してステップ206に進
む。一方、他の騎馬兵士が近距離領域内にいない場合に
は、距離が近距離知覚半径に等しい場合と同様に、反発
力は0であるので、近距離加速度(αx,αy,αz)
=(0,0,0)として、RAMに格納してステップ2
06へ進む。
【0037】ステップ206では、RAMに格納した突
撃時加速度及び近距離加速度を読み出して各成分x、
y、z毎に加算して総和加速度を求めRAMに格納し、
次のステップ208において、方向ベクトルを演算す
る。ここに、方向ベクトルとは、大きさ(長さ)につい
て意味を持たない単位ベクトルで、方向だけが意味を持
つベクトル(x,y,z)をいう。方向ベクトルは総和
加速度を単位ベクトル化することにより得ることができ
る。
【0038】次のステップ210では、突撃方向又は部
隊の隊形(特に、列間隔及び行間隔)によって近距離加
速度が生ずるので、対象騎馬兵士が突撃方向の±45度
以内の方向を向いている(前向き)か否かを、ステップ
208で求めた方向ベクトルから判断する。否定判断の
ときは、ステップ218において、1.5deg(90
deg/sec、図30の最大角速度参照)で回転する
ための加速度を求めて総和加速度に加算してステップ2
12へ進む。図38に示すように、回転方向は騎馬兵士
が少ない回転角で前向きとなる方向とされる。これによ
り、対象騎馬兵士は徐々に回転しながら突撃することが
できる。
【0039】次にステップ212では、最新速度及び最
新位置を演算しRAMに格納して次のステップ214へ
進む。ここで、現在の時間をt、経過時間をδt、速度
V(Vt+δt:時刻t+δtにおける速度、Vt:時刻tに
おける速度)、加速度をα(αt:時刻tにおける加速
度)、位置をP(Pt+δt:時刻t+δtにおける位置、P
t:時刻tにおける位置)とすると、最新速度及び最新
位置は次式(1)に示すオイラー法を用いた運動方程式
により得ることができる。
【0040】
【数1】
【0041】従って、式(1)から、最新速度及び最新
位置は、最新速度=前回速度+経過時間×加速度、最新
位置=前回位置+経過時間×(速度+0.5×経過時間
×加速度)として求めることができる。本実施形態の3
次元座標系では、次式(2)に示すように、割込処理の
度に、最新加速度を3次元座標軸x,y,zの各成分ご
とに求め、最新速度及び最新位置を算出し、これら最新
速度及び最新位置の値をRAMに記憶する(以下、最新
速度及び最新位置をRAMに記憶することについては説
明を省略する。)。
【0042】
【数2】
【0043】ステップ214では、ステップ212で求
めた最新位置から対象騎馬兵士が戦場円Bc内にいるか
否かを判断し、否定判断のときは、突撃処理サブルーチ
ンを終了して図6のステップ182に進み、肯定判断の
ときは、対象騎馬兵士の状態フラグFLを彷徨索敵
し、突撃処理サブルーチンを終了してステップ182へ
進む。
【0044】一方、図6のステップ170において肯定
判断されたときは、図4のステップ128で演算した整
列点に生存騎馬兵士を整列させるための撤収処理サブル
ーチンを実行する。図8に示すように、この撤収処理サ
ブルーチンでは、まず、ステップ232において、上述
した近距離加速度を演算し、次のステップ234で撤収
加速度を演算する。この撤収加速度演算では、ステップ
128でRAMに格納した対象騎馬兵士の整列点を読み
出し、対象騎馬兵士の位置から当該整列点までの方向ベ
クトル(x,y,z)を求め、次式(3)により撤収加
速度を演算する。なお、式(3)において、速度同一化
時間とは、移動速度から加速度を求めるときに使用され
る時間パラメータをいい、本例では図30に示すように
約0.3秒をデフォルト値としている。
【0045】
【数3】
【0046】次のステップ236では、ステップ232
及びステップ234で求めた近距離加速度と撤収加速度
とを各成分x、y、z毎に加算して総和加速度を演算
し、ステップ238において、上述したオイラー法によ
り対象騎馬兵士の最新速度及び最新位置を演算する。次
に、ステップ240では、対象騎馬兵士が対象騎馬兵士
の整列点を中心とする半径5mの整列半径内にいるか否
かを判断し、否定判断のときは、撤収処理サブルーチン
を終了して図6のステップ182へ進み、肯定判断のと
きは、次のステップ242において、整列点に到達した
ものとみなして、対象騎馬兵士を整列点に停止させる
(図39参照)。
【0047】次に、ステップ244では、生存騎馬兵士
が全員それぞれの整列点に整列したか否かを判断し、否
定判断のときは、撤収処理サブルーチンを終了してステ
ップ182へ進み、肯定判断のときは、次のステップ2
46において、戦闘終了フラグをONにして、撤収処理
サブルーチンを終了してステップ182へ進む。
【0048】図6のステップ174で肯定判断された場
合には、ステップ180において両部隊の騎馬兵士同士
が戦場及び後述する彷徨領域内で索敵や交戦等を行う戦
場処理サブルーチンを実行する。図9に示すように、こ
の戦場処理サブルーチンでは、ステップ302で対象騎
馬兵士の状態フラグFLが彷徨索敵か否かを判断し、肯
定判断のときは、ステップ304において後述する彷徨
索敵処理サブルーチンを実行し、ステップ302で否定
判断されたときは、次のステップ306で対象騎馬兵士
の状態フラグFLが旋回索敵か否かを判断し、肯定判断
のときは、ステップ308において後述する旋回索敵
理サブルーチンを実行する。
【0049】ステップ306で否定判断されたときは、
次のステップ310で対象騎馬兵士の状態フラグFLが
接近か否かを判断し、肯定判断のときは、ステップ31
2において後述する接近処理サブルーチンを実行し、ス
テップ310で否定判断されたときは、次のステップ3
14で対象騎馬兵士の状態フラグFLが対峙か否かを判
断し、肯定判断のときは、ステップ316において後述
する対峙処理サブルーチンを実行し、ステップ314で
否定判断されたときは、次のステップ318で対象騎馬
兵士の状態フラグFLが回転か否かを判断し、肯定判断
のときは、ステップ320において後述する回転処理サ
ブルーチンを実行する。
【0050】ステップ318で否定判断されたときは、
次のステップ322で対象騎馬兵士の状態フラグFLが
武器持替か否かを判断し、肯定判断のときは、ステップ
324において後述する武器持替処理サブルーチンを実
行し、ステップ322で否定判断されたときは、次のス
テップ326で対象騎馬兵士の状態フラグFLが索敵
行か否かを判断し、肯定判断のときは、ステップ328
において後述する索敵移行処理サブルーチンを実行し、
ステップ326で否定判断されたときは、次のステップ
330で対象騎馬兵士の状態フラグFLが威嚇か否かを
判断し、肯定判断のときは、ステップ332において後
述する威嚇処理サブルーチンを実行する。
【0051】ステップ330で否定判断されたときは、
次のステップ334で対象騎馬兵士の状態フラグFLが
萎縮か否かを判断し、肯定判断のときは、ステップ33
6において後述する萎縮処理サブルーチンを実行し、ス
テップ334で否定判断されたときは、次のステップ3
38で対象騎馬兵士の状態フラグFLが逃走か否かを判
断し、肯定判断のときは、ステップ340において後述
する逃走処理サブルーチンを実行し、ステップ338で
否定判断されたときは、次のステップ342で対象騎馬
兵士の状態フラグFLが攻撃か否かを判断し、肯定判断
のときは、ステップ344において後述する攻撃処理サ
ブルーチンを実行する。
【0052】ステップ342で否定判断されたときは、
次のステップ346で対象騎馬兵士の状態フラグFLが
ダメージか否かを判断し、肯定判断のときは、ステップ
348において後述するダメージ処理サブルーチンを実
行し、ステップ346で否定判断されたときは、次のス
テップ350で対象騎馬兵士の状態フラグFLが崩落か
否かを判断し、肯定判断のときは、ステップ352にお
いて後述する崩落処理サブルーチンを実行し、ステップ
350で否定判断されたときは、次のステップ354で
対象騎馬兵士の状態フラグFLが反動か否かを判断し、
肯定判断のときは、ステップ356において後述する反
動処理サブルーチンを実行する。
【0053】ステップ354で否定判断されたときは、
次のステップ358で対象騎馬兵士の状態フラグFLが
防御か否かを判断し、肯定判断のときは、ステップ36
0において後述する防御処理サブルーチンを実行し、ス
テップ358で否定判断されたときは、次のステップ3
62において、後述する死亡処理サブルーチンを実行し
て、戦場処理サブルーチンを終了して図6のステップ1
82に進む。
【0054】<彷徨索敵処理サブルーチン> 図10に示すように、ステップ304の彷徨索敵処理サ
ブルーチンでは、ステップ450において、図11に示
索敵サブルーチンを呼び出す。なお、図10において
接続点C及びDは、図11の接続点C及びDにそれぞれ
接続されているものとしてフローチャートが作成されて
いる。
【0055】図11に示すように、ステップ450で呼
び出される索敵サブルーチンでは、まず、ステップ40
2において、対象騎馬兵士が敵からロックされたか否か
をロック情報に自己をロックした敵騎馬兵士を識別する
情報が記述されているか否かを判断することにより判定
する。ロック情報は、被ロック部とロック部とで構成さ
れており、図40(A)に示すように、例えば、対象騎
馬兵士F2が敵騎馬兵士Ebにロックされていると、対
象騎馬兵士F2のロック情報の被ロック部にはロックし
た敵騎馬兵士Ebを識別する情報Ebが記述される。な
お、被ロック部に記述可能な敵騎馬兵士の数は一つとさ
れている。ステップ402で肯定判定されたときは、ス
テップ432へ進み、ステップ402で否定判定された
ときは、換言すれば、図40(C)に示すように、ロッ
ク情報の被ロック部(及びロック部の情報)がヌル(n
ull)のときには、次のステップ404において、R
AMに格納した前回の対象騎馬兵士の速度、位置及び方
向ベクトルを読み出して、ステップ406で索敵検索処
理を実行する。
【0056】図36に示すように、対象騎馬兵士の方向
ベクトル及び位置が既知であるときに、第1の領域とし
ての索敵可能領域S及び第2の領域としての戦闘可能
領域Bは次のように定義される。索敵可能領域
は、一言すれば、対象騎馬兵士が敵騎馬兵士を探すこと
ができる視野範囲をいい、より詳しくは、索敵可能角度
θ及び索敵可能半径Sで画定される領域をいう。な
お、本例では、図30に示すように、索敵可能角度Sθ
=90度(対象騎馬兵士の方向ベクトルに対して±45
度)、索敵可能半径S=14mがデフォルト値とされ
ている。また、戦闘可能領域Bとは、一言すれば、対
象騎馬兵士が戦闘することができる領域をいい、より詳
しくは、戦闘可能角度B θ 及び戦闘可能半径Bで画定
される領域をいう。なお、本例では、図30に示すよう
に、戦闘可能角度B θ =170度、戦闘可能半径B
3mがデフォルト値とされている。
【0057】このステップ406の索敵検索処理では、
対象騎馬兵士の索敵可能領域S内にいる敵騎馬兵士の
位置及び状態を検索する。例えば、対象騎馬兵士をF2
とした場合に、敵騎馬兵士であるEa〜Egの位置を順
次調べ、図41(A)に示すように、索敵可能領域S
内にいる敵騎馬兵士Ea、Ec、Ef、Egを得る。次
に、図41(B)に示すように、敵騎馬兵士Ea、E
c、Ef、Egを対象騎馬兵士F2から近い順に並び替
え、図41(C)に示すように、敵騎馬兵士Ea、E
g、Ef、Ecのそれぞれの状態フラグを調べることに
より敵騎馬兵士の位置及び状態を知ることができる(以
下便宜上、図41(C)に示した情報を索敵検索情報と
いう。)。
【0058】次のステップ408では、現在の交戦フラ
グBFが1:1か否かを判断する(図31も参照)。な
お、本実施形態では、交戦条件を示すフラグとして交戦
フラグBFが設けられており、この交戦フラグは1:
1、1:2、1:3の値を採り得る。肯定判断の場合
は、次のステップ410において、索敵検索情報に索敵
中の敵があるか否かを判断し、ステップ410での判断
が肯定のときは、次のステップ412において、例え
ば、図41(C)に示した例に即して説明すれば、索敵
中の最も近い敵である敵騎馬兵士Ecを得、敵騎馬兵士
Ecのロック情報の被ロック部を参照してヌルか否か判
断することにより、他の味方の騎馬兵士が敵騎馬兵士E
cをロックしているか否かを判定する。ステップ412
否定判断されたときは、交戦フラグBFが1:1で他
の味方の騎馬兵士のいずれもが索敵中である敵騎馬兵士
Ecをロックしていないので、敵騎馬兵士をロックする
ためにステップ432へ進む。ここに、「ロック」と
は、敵騎馬兵士を戦闘相手と認識したことをいい、自己
のロック情報のロック部に敵騎馬兵士の識別情報を記述
し(図40(D)参照)、当該敵騎馬兵士のロック情報
の被ロック部に自己の識別情報を記述することをいう。
ステップ410で否定判断されたとき又はステップ41
2で肯定判断されたときは、索敵サブルーチンを終了し
て、図10のステップ452へ進む。
【0059】一方、ステップ408で否定判断されたと
きは、1:2又は1:3の交戦を許容するので、次のス
テップ414において、交戦フラグBFが1:2か否か
を判断する。ステップ414での判断が肯定のときは、
ステップ416で、ステップ410と同様に索敵検索情
報に基づいて、索敵中の敵がいるか否かを判断する。ス
テップ416での判断が肯定のときは、次のステップ4
18において、索敵中の最も近い敵(図41(C)の例
では敵騎馬兵士Ec)の識別情報Ecを得、全ての味方
のロック情報のロック部を参照することにより、索敵
の最も近い敵が味方二人の騎馬兵士にロックされている
か否かを判断する。ステップ418で否定判断されたと
きは、交戦フラグBFが1:2で他の味方の騎馬兵士の
いずれも又は一人の騎馬兵士しか索敵中である敵騎馬兵
士Ecをロックしていないので、その敵騎馬兵士をロッ
クするためにステップ432へ進む。ステップ416で
の判断が否定のときは、ステップ420において、索敵
検索情報に交戦中の敵があるか否かを判断し、肯定判断
のときは、次のステップ422で交戦中の最も近い敵
(図41(C)の例では敵騎馬兵士Ea)が他の二人の
味方と交戦中か、他の一人の味方と交戦中で別の一人の
味方が該最も近い敵をロックしているか、又は、他の二
人の味方が該最も近い敵をロックしているか否かを、該
最も近い敵の敵リスト及び味方のロック情報のロック部
を参照して判断する。ここに、敵リストとは、対象騎馬
兵士が自己の戦闘可能領域内で移動を停止し戦闘し
ようとする敵騎馬兵士を特定した情報の一覧をいう(図
42参照)。ステップ422での判断が否定されたとき
は、該最も近い敵は1:2の交戦を許容する条件下で自
己と交戦することが可能であるので、その敵騎馬兵士を
ロックするためにステップ432へ進む。ステップ41
8で肯定判断されたとき、ステップ420で否定判断さ
れたとき、又は、ステップ422で肯定判断されたとき
は、索敵サブルーチンを終了して、図10のステップ4
52へ進む。
【0060】ステップ414で否定判断されたときは、
1:3の交戦を許容するので、次のステップ424にお
いて、ステップ410と同様に例えば索敵検索情報に基
づいて、索敵中の敵があるか否かを判断する。ステップ
424での判断が肯定のときは、次のステップ426に
おいて、索敵中の最も近い敵の識別情報を得、全ての味
方のロック情報のロック部を参照することにより、索敵
中の最も近い敵が味方人の騎馬兵士にロックされてい
るか否かを判断する。ステップ426で否定判断された
ときは、交戦フラグBFが1:3で他の味方の騎馬兵士
のいずれも又は一人又は二人の騎馬兵士しか索敵中であ
る敵騎馬兵士をロックしていないので、その敵をロック
するためにステップ432へ進む。ステップ424での
判断が否定のときは、ステップ428において、索敵
索情報に交戦中の敵があるか否かを判断し、肯定判断の
ときは、次のステップ430で交戦中の最も近い敵が他
の三人の味方と交戦中か、他の一人の味方と交戦中で別
の二人の味方が該最も近い敵をロックしているか、他の
二人の味方と交戦中で別の一人の味方が該最も近い敵を
ロックしているか、又は、他の三人の味方が該最も近い
敵をロックしているか否かを、該最も近い敵の敵リスト
及び味方のロック情報のロック部を参照して判断する。
ステップ430での判断が否定されたときは、該最も近
い敵は1:3の交戦を許容する条件下で自己と交戦する
ことが可能であるので、その敵騎馬兵士をロックするた
めにステップ432へ進む。ステップ426で肯定判断
されたとき、ステップ428で否定判断されたとき、又
は、ステップ430で肯定判断されたときは、索敵サブ
ルーチンを終了して、図10のステップ452へ進む。
【0061】ステップ440で敵騎馬兵士をロックした
後、ステップ442で対象騎馬兵士の状態フラグFLを
接近とし、次のステップ444でカウンタqnを0とし
索敵サブルーチンを終了して、図10のステップ46
0に進む。
【0062】ステップ432では、ロック情報の解除部
に敵騎馬兵士の識別情報が有り、かつ、その識別情報が
ロックしようとする敵騎馬兵士の識別情報と同一か否か
を判断する(図40(E)参照)。否定判断のときは、
ステップ440へ進み、肯定判断のときは、対象騎馬兵
士と当該ロックしようとする敵騎馬兵士との間に障害物
(死亡した騎馬兵士の死骸や戦闘中の敵味方の騎馬兵士
等)があるために両者の状態フラグFLを接近から彷徨
索敵(又は、旋回索敵)と接近状態を解除したものであ
るので、まだ両者間には接近するために障害物があると
みなして、ステップ434で解除カウンタjnを1イン
クリメントし、次のステップ436で解除カウンタjn
が120か否かを判断する。否定判断のときは、索敵
ブルーチンを終了して図10のステップ452(又は図
12のステップ472)へ進み、肯定判断のときは、ス
テップ438において、対象騎馬兵士のロック情報の解
除部に記述された敵騎馬兵士の識別情報を削除する。次
のステップ440では、解除部に識別情報がないので、
その敵騎馬兵士をロックする(図40(D)参照)。な
お、ステップ440においてステップ402で肯定判断
されたときは、例えば、図40(A)(B)に示すよう
に、騎馬兵士F2のロック情報の被ロック部から自己を
ロックした敵騎馬兵士の識別情報Ebを削除してヌルと
し、自己がロックした敵騎馬兵士を識別する情報として
ロック部にEbを記述する。次にステップ442では、
対象騎馬兵士の状態フラグFLを接近とし、カウンタq
nを0とし、索敵サブルーチンを終了して図10のステ
ップ460(又は、図12のステップ478)に進む。
【0063】図10のステップ452では、ステップ4
04で読み出した対象騎馬兵士の前回の位置自陣内か
否かを判断する。図43に示すように、戦場円Bcは戦
場中心Cを通る水平直線(又は面)で2つの領域に区分
される。部隊Fを構成する騎馬兵士にとっては、図43
の紙面下側の領域が自陣であり、紙面上側の領域が敵陣
である。ステップ452において、肯定判断のときは、
次のステップ454において、対象騎馬兵士の向きが自
陣に戻る方向(図43の騎馬兵士F6参照)か否かを、
対象騎馬兵士の方向ベクトルの成分を参照することによ
り判定し、肯定判定されたときは、次のステップ456
において対象騎馬兵士の状態フラグFLを旋回索敵
し、解除カウンタjnの値を100として、ステップ4
58において対象騎馬兵士の旋回方向を決定して決定結
果をRAMに格納して、ステップ460に進む。この旋
回方向決定では、対象騎馬兵士が戦場中心を通り戦場円
Bcを垂直方向に二分する垂直線(又は面)より左側に
いる場合には、対象騎馬兵士の方向ベクトルが水平線に
対して45度より小なら時計回りとし、45度以上なら
反時計回りとする。逆に、対象騎馬兵士が戦場中心を通
り戦場円Bcを垂直方向に二分する垂直線(又は面)よ
り右側にいる場合には、対象騎馬兵士の方向ベクトルが
水平線に対して45度より小なら反時計回りとし(図4
3の騎馬兵士F6の場合)、45度以上なら時計回りと
する。一方、ステップ452及びステップ454で否定
判断されたときは、彷徨索敵を続行するために、ステッ
プ460へ進む。
【0064】次のステップ460では、上述した近距離
加速度を演算し、次のステップ462で彷徨加速度を演
算する。この彷徨加速度演算では、まず、対象騎馬兵士
の前回の位置を読み出し、対象騎馬兵士が彷徨領域Wc
内にいるか否かを判断し、彷徨領域Wc内にいると判断
されたときには、前回の方向ベクトルを読み出して、上
述した式(3)により彷徨加速度を演算する。ここに彷
徨領域Wcとは、戦場中心Cを中心に戦場半径R
1.5倍の半径を有する円(又は球)で画定される領域
をいう。一方、対象騎馬兵士が彷徨領域Wc外にいると
判断されたときには、ステップ117で対象騎馬兵士に
設定された彷徨基準点に向かって最大速度で彷徨領域W
c内に入るための彷徨加速度を演算する。この彷徨加速
度演算では、対象騎馬兵士の前回の位置から彷徨基準点
への方向ベクトルを算出し、次式(4)により加速度を
演算する。
【0065】
【数4】
【0066】これにより、騎馬兵士は彷徨領域Wc内を
比較的ゆっくりした速度で敵を探しながら彷徨し、彷徨
領域Wcから外に出た場合には、ステップ117で自己
に設定された彷徨基準点に向けて彷徨領域Wc内に入る
まで最大速度で戻ろうとする。
【0067】次のステップ464では、ステップ460
で求めた近距離加速度とステップ462で求めた彷徨加
速度とを読み出して各成分x、y、z毎に加算して総和
加速度を求め、上述したオイラー法により最新速度及び
最新位置を演算し(更に、方向ベクトルを演算してRA
Mに格納し)、彷徨索敵処理サブルーチンを終了して、
図6のステップ182へ進む。
【0068】<旋回索敵処理サブルーチン> 図9に示したステップ308の旋回索敵処理サブルーチ
ンでは、図12に示すように、ステップ470におい
て、上述した図11の索敵サブルーチンを呼び出す。な
お、図12において接続点C、Dはぞれぞれ図11の接
続点C、Dに接続されているものとする。
【0069】次のステップ472では、対象騎馬兵士が
彷徨領域Wc外否かを判断し、肯定判断のときは、ス
テップ474において対象騎馬兵士の前回の速度が戦闘
時速度に至ったか否かを判断する。肯定判断のときは、
次のステップ476で対象騎馬兵士の状態フラグFLを
彷徨索敵として、ステップ478に進む。一方、ステッ
プ472及びステップ474で否定判断されたときは、
旋回索敵を続行するために、ステップ478へ進む。
【0070】ステップ478では上述した近距離加速度
を演算し、次のステップ480において前回の速度から
戦闘時速度に一致させる加速度を演算して、次にステッ
プ482で現在の速度を維持したまま旋回するための求
心加速度Aを演算する。この求心加速度Aについて図4
5を参照して説明すれば、回転中心C’に対する対象騎
馬兵士の位置ベクトルをr、対象騎馬兵士の速度ベクト
ルをV、角速度をωとすると、求心ベクトルAは次式
(5)により求めることができる。
【0071】
【数5】
【0072】速度ベクトルVは位置ベクトルrと角速度
ωとの外積であるので、位置ベクトルrのスカラとして
例えば戦場半径Rの1/2を与えれば、対象騎馬兵士
の位置及び速度ベクトルは既知であるので角速度ωを求
めることができ、この角速度ωを式(5)に代入するこ
とにより求心ベクトルAを求めることができる。
【0073】次のステップ484では、ステップ478
で演算した近距離加速度、ステップ480で演算した戦
闘時速度に一致させる加速度及びステップ482で演算
した求心加速度Aを各成分x、y、z毎に加算して総和
加速度を求め、上述したオイラー法により最新速度及び
最新位置を演算し(更に、方向ベクトルを演算してRA
Mに格納し)、彷徨索敵処理サブルーチンを終了して、
図6のステップ182へ進む。これにより対象騎馬兵士
は図45に示す旋回円Acの軌跡上を1/60秒毎に位
置を変えて移動することとなる。
【0074】ここで、図44を参照して彷徨索敵及び旋
索敵について更に詳しく説明すると、例えば騎馬兵士
Efは、状態フラグFLが彷徨索敵状態のときに、自陣
内にいてかつ自陣に戻る方向にいるので、状態フラグF
Lは旋回索敵とされ、旋回方向が決定され、速度及び位
置が演算される(図10のステップ452〜464)。
騎馬兵士Efは彷徨領域内にいるので状態フラグFLは
旋回索敵に維持され(図12のステップ472)、旋回
中心C’を中心とする旋回円Acの軌跡上を1/60秒
毎に位置を変えて移動する(図12のステップ478〜
484)。騎馬兵士Efが状態フラグFL=死亡とされ
動かない騎馬兵士Ecの近傍に近づくと騎馬兵士Ecを
障害物とみなして反発力が働き(図37及び図12のス
テップ478参照)、現在速度を維持したまま旋回する
ために旋回中心C’の位置を変更して旋回することとな
る(図12のステップ482)。このとき、障害物とし
て騎馬兵士Ecがいなければ、騎馬兵士Efは敵騎馬兵
士が自己の索敵可能領域S内に入るまで1/60秒毎
に位置を変え旋回円Ac上の軌跡を旋回することとな
る。旋回中心C’の位置を変更して旋回した騎馬兵士E
fが、図44の点Pに示すように、彷徨領域Wc外に出
て、かつ、点Pでの速度が戦闘時速度に至ったときに
は、戦場から離れすぎたとみなされ騎馬兵士Efの状態
フラグFLは彷徨索敵とされ(図12のステップ47
6)、旋回状態は維持されるものの(図12のステップ
478〜ステップ484)、次の1/60秒後からは騎
馬兵士Efに設定された彷徨基準点(図4のステップ1
17)に向けて彷徨して索敵する状態となる。従って、
対象騎馬兵士は索敵中には、彷徨する場合と旋回する場
合との異なる2つの移動モードを有している。一方、図
44に示す騎馬兵士Fbの場合には、点Qで味方の騎馬
兵士と戦闘中の敵騎馬兵士Egが索敵可能領域S内に
入るので、交戦フラグBFが1:2又は1:3のときに
は、騎馬兵士Egをロックして状態フラグFLを接近と
し(図11のステップ440、442)旋回索敵を止め
て騎馬兵士Egに近づくこととなる。
【0075】<接近処理サブルーチン>図9に示したス
テップ312の接近処理サブルーチンでは、図13に示
すように、まず、ステップ502においてロック情報の
解除部を参照することにより敵騎馬兵士が対象騎馬兵士
に対するロックを解除したか否かを判断する(図40
(E)も参照)。このように接近状態にある騎馬兵士が
ロックを解除するのは、ロックした敵騎馬兵士との間に
死亡した騎馬兵士等が障害物となり接近できない場合に
起こり得る。肯定判断のときは、ステップ542に進
み、否定判断のときは、次のステップ504において、
前回の速度及び位置を読み出す。次に、ステップ506
でロック情報のロック部に記述された敵の前回の位置を
読み出し、次のステップ508においてロック情報の被
ロック部を参照することにより別の敵が対象騎馬兵士を
ロックしているか否かを判断する。なお、交戦フラグ
1:1の条件下では、別の敵が対象騎馬兵士をロックす
ることはないことは論を待たない(図11のステップ4
12)。
【0076】ステップ508で肯定判断されたときは、
ステップ510において、対象騎馬兵士のロック情報の
被ロック部に記述された敵騎馬兵士の前回の位置を読み
出し、ステップ512でロック部及び被ロック部に記述
されたそれぞれの敵と対象騎馬兵士との距離を演算す
る。次に、ステップ514においてロック情報のロック
部に記述された敵騎馬兵士との距離が小さいか否かを判
断する。肯定判断のときは、ロック部に記述された敵騎
馬兵士と戦闘するために、ステップ518に進み、否定
判断のときは、ステップ516において、対象騎馬兵士
は一人の敵騎馬兵士にしか自らは接近することができな
いので被ロック部に記述された敵騎馬兵士を接近すべき
敵とするために、対象騎馬兵士のロック情報の被ロック
部の情報を削除し、ロック部の敵騎馬兵士を識別する情
報を前回までロックしていた敵騎馬兵士から当該別の敵
騎馬兵士に書き換えて、ロックしていた敵騎馬兵士のロ
ック情報を削除し、解除部に対象騎馬兵士を識別する情
報を記述する。
【0077】次のステップ518では、対象騎馬兵士の
前回の位置と敵騎馬兵士の前回の位置とが戦闘可能領域
内か否かを判断する。肯定判断のときは、次のステ
ップ520において、ロック情報の全ての(被ロック
部、ロック部、解除部の)情報を削除し、ステップ52
2で対象騎馬兵士の敵リストに交戦すべき敵騎馬兵士と
して追加し(図42(A)参照)、ステップ524で対
象騎馬兵士の状態フラグFLを対峙とする。次に、ステ
ップ526において前回の方向ベクトルをRAMに格納
して対象騎馬兵士の向きを記憶した後、敵騎馬兵士との
衝突を回避すると共に敵騎馬兵士と交戦するために、対
象騎馬兵士の速度を0として、次のステップ528で対
象騎馬兵士の攻撃力を表す攻撃ポイントPnを0、生命
力を表すライフポイントLnを100として、接近処理
サブルーチンを終了し図6のステップ182へ進む。
【0078】一方、ステップ518で否定判断されたと
きは、次のステップ530において対象騎馬兵士の前回
の速度が0か否かを判断し、否定判断のときは、ステッ
プ532でカウンタqnを1インクリメントしてステッ
プ536に進み、肯定判断のときは、ステップ534に
おいてカウンタqnが100か否かを判断する。ステッ
プ534での判断が肯定のときは、換言すれば、対象騎
馬兵士が100/60秒間動けない状態のときは、対象
騎馬兵士の三次元仮想空間上の前方に騎馬兵士の死骸等
の障害物があるものとみなして、ステップ542におい
て、対象騎馬兵士の状態フラグを彷徨索敵とし、次のス
テップ543において解除カウンタnを0とし、敵騎
馬兵士のロック情報の解除部に対象騎馬兵士の識別情報
を記述して、接近処理サブルーチンを終了し図6のステ
ップ182へ進む。これにより、対象騎馬兵士と当該敵
騎馬兵士との間には障害物があるものとして所定時間
(120/60=2秒、図11のステップ432〜43
8参照)の間、それぞれが敵として接近することが防止
される。
【0079】ステップ534での判断が否定のときは、
ステップ536において、敵騎馬兵士に近づいたときに
徐々に速度を落とし敵騎馬兵士との距離が戦闘可能半径
内となるときに速度が0となるように接近加速度を
演算する。なお、本実施形態では、敵騎馬兵士の位置並
びに対象騎馬兵士の位置及び速度を読み出し、敵騎馬兵
士との距離を演算することにより対象騎馬兵士と敵騎馬
兵士との距離が10m以内となったときに速度を落とす
ための接近加速度の演算を行い、10mを超えるときに
はこの接近加速度は0となるように設定している。次に
ステップ537で他の騎馬兵士との接触を回避するため
に上述した近距離加速度を演算し、次のステップ538
において回避加速度を演算する。この回避加速度演算で
は、停止して敵騎馬兵士と交戦中の味方の騎馬兵士との
接触を回避するために、対象騎馬兵士の近距離知覚半径
内に味方の騎馬兵士がいるか否かを判断し、いる場合に
は、図37に示したように、味方の騎馬兵士との反発加
速度を演算(複数の騎馬兵士がいる場合にはそれらを総
和した近距離加速度を演算)し、図48に示すように、
反発加速度と直交する方向のベクトル成分である回避加
速度を演算して味方の騎馬兵士との衝突を回避し、いな
い場合には、回避加速度は0とする。次に、ステップ5
40において、ステップ536〜538で演算した接近
加速度、近距離加速度及び回避加速度の総和である総和
加速度を求めた後、オイラー法により最新の速度、位置
を演算して、接近処理サブルーチンを終了し図6のステ
ップ182へ進む。これにより、対象騎馬兵士はロック
した敵騎馬兵士に徐々に接近し、敵騎馬兵士との距離が
3次元仮想空間上で10m以内となると速度を落とし、
対象騎馬兵士の近距離知覚半径内で味方の騎馬兵士が敵
騎馬兵士と交戦しているときは、当該味方の騎馬兵士と
の衝突を避けて敵騎馬兵士に接近することになる。
【0080】<対峙処理サブルーチン> 図9に示したステップ316の対峙処理サブルーチンで
は、図14に示すように、まず、ステップ552におい
て敵リストに記述された敵情報を読み出し、次のステッ
プ554において、有効な敵の数が0か否かを敵騎馬兵
士の状態フラグを参照して判断する。すなわち、後述す
るように、例えば、敵騎馬兵士の状態フラグが崩落のと
きは、その後敵騎馬兵士は死亡するので、対象騎馬兵士
の状態フラグが対峙となっていても最早敵騎馬兵士に攻
撃する必要はないので、有効な敵の数から当該敵騎馬兵
士を排除する。ステップ554において、肯定判断され
たときは、戦闘可能領域B 内に交戦すべき敵騎馬兵士
はいないので、ステップ580で対象騎馬兵士が左手に
槍や刀等の武器をもっているか否かを判断する。肯定判
断のときは、ステップ582において状態フラグFLを
索敵移行とし、ステップ584で索敵移行カウンタsn
を0として、対峙処理サブルーチンを終了し図6のステ
ップ182へ進み、否定判断のときは、ステップ586
において、対象騎馬兵士の状態フラグFLを彷徨索敵
して、対峙処理サブルーチンを終了しステップ182へ
進む。
【0081】一方、ステップ554において否定判断さ
れたときは、次のステップ558で、図13のステップ
526で記憶した対象騎馬兵士の方向ベクトルの情報
と、対象騎馬兵士及び対象騎馬兵士の戦闘可能半径B
内の全ての敵騎馬兵士のうち対象騎馬兵士を敵として敵
リストに記述した敵騎馬兵士の位置とを読み出して、対
象騎馬兵士の敵リストに対象騎馬兵士の戦闘可能半径B
内の全ての敵騎馬兵士のうち対象騎馬兵士を敵として
敵リストに記述した敵騎馬兵士を特定する情報を追加し
て記述した後(図42(B)参照)、次のステップ56
0において、対象騎馬兵士が対応不能な配置に(戦闘可
能領域外に)敵騎馬兵士がいるか否か、換言すれば、対
象騎馬兵士の戦闘可能半径B内でも対象騎馬兵士の戦
闘可能角度 θ はデフォルト値で170度に限定されて
いるので、この戦闘可能領域B外に一人でも対象騎馬
兵士を敵として敵リストに記述した敵騎馬兵士がいるか
否かを判断する。ステップ560で肯定判断されたとき
は、次のステップ562において、対象騎馬兵士は敵に
対応できないものとして、対象騎馬兵士の状態フラグF
Lを逃走とし、対峙処理サブルーチンを終了しステップ
182へ進む。
【0082】一方、ステップ560で否定判断されたと
きは、次のステップ564において対象騎馬兵士が同一
の敵騎馬兵士と戦闘して一定以上のダメージを受けたか
否かを判断する。本実施形態では、この一定以上のダメ
ージをライフポイントLnで30以上となったときとし
ている。ステップ564で肯定判断のときは、次のステ
ップ566において、対象騎馬兵士の状態フラグFLを
威嚇とし、ステップ567で対象騎馬兵士の威嚇カウン
タtnを0とし、次のステップ568において、対象騎
馬兵士に一定量以上のダメージを与えた敵騎馬兵士の状
態フラグFLを萎縮とし、次のステップ569で当該敵
騎馬兵士の萎縮カウンタunを0として、対峙処理サブ
ルーチンを終了しステップ182へ進む。
【0083】ステップ564で否定判断されたときは、
次のステップ570において、対象騎馬兵士の攻撃ポイ
ントPnを1インクリメントする。次にステップ570
において、攻撃ポイントPnが100か否かを判断し、
否定判断のときは、ステップ574において、攻撃基準
方向まで回転して、対峙処理サブルーチンを終了しステ
ップ182へ進む。ここに、攻撃基準方向とは、最小の
回転量で敵リストに記述された全ての敵に攻撃を加える
ことができる方向をいう。例えば、図46(A)に示す
ように、ステップ558で読み出した対象騎馬兵士F6
の方向から最小の回転量で敵騎馬兵士Ef、Ee及びE
gの全ての敵に攻撃を加えることができる方向とするに
は、戦闘可能角度 θ は170度であるので、敵騎馬兵
士Eeとの角度が戦闘可能角度Bθの1/2である85
度となるまで1/60秒毎に1.5deg/sec(図
30の最大角速度参照)で回転する。一方、ステップ5
72で肯定判断されたときは、次のステップ576にお
いてライフポイントLnの最も小さい敵騎馬兵士を選択
して記憶し、ステップ578で対象騎馬兵士の状態フラ
グFLを回転として、対峙処理サブルーチンを終了しス
テップ182へ進む。
【0084】<回転処理サブルーチン> 図9に示したステップ320の回転処理サブルーチンで
は、図15に示すように、まず、ステップ602におい
て、攻撃しようとする敵騎馬兵士(例えば、ライフポイ
ントLnの最も小さい敵騎馬兵士)の位置が攻撃可能角
度内か否かを判断し、否定判断のときは、攻撃可能な角
度まで回転するために、ステップ604において回転を
続行する。このとき、例えば、図46(B)に示すよう
に、対象騎馬兵士F6は攻撃しようとする騎馬兵士Eg
と同一線上となるのではなく、戦闘しやすいように同一
線上からθ度(例えば、20度)だけずれた方向まで回
転を続行する。一方、肯定判断のときは、ステップ60
6において、攻撃しようとする敵騎馬兵士と同一直線上
からθ度ずれた方向で回転を停止して、次のステップ6
08で武器持ち替えが必要か否かを判断する。なお、対
象騎馬兵士は右利きであるとみなし、交戦する敵騎馬兵
士が一人のときは右側を敵騎馬兵士に向けるように右手
に武器を持ち、交戦する敵騎馬兵士二人以上のとき
は、少ない回転角で敵に武器を向けることができる方向
の手に武器を持つ(図46(B)の騎馬兵士Ee参
照)。
【0085】ステップ608で肯定判断されたときは、
次のステップ610において、対象騎馬兵士の状態フラ
グFLを武器持替とし、ステップ612で対象騎馬兵士
の武器持替カウンタrnを0として、回転処理サブルー
チンを終了しステップ182へ進む。一方、ステップ6
08で否定判断されたときは、ステップ614において
対象騎馬兵士の状態フラグFLを攻撃とし、攻撃回数a
nをセットする。この攻撃回数anは、乱数を発生させ
ることにより1、2又は3のいずれかの値が採られる。
次のステップ618では攻撃カウンタhnを0として、
回転処理サブルーチンを終了しステップ182へ進む。
【0086】<武器持替処理サブルーチン>図9に示し
たステップ324の武器持替処理サブルーチンでは、図
16に示すように、まず、ステップ632において、対
象騎馬兵士の武器持替モーションの描画処理を画像処理
部23に指示する。これにより、テレビモニタ4には1
/60秒毎に対象騎馬兵士が武器を持ち替えようとして
いる動作が表示される。次にステップ634において、
武器持ち替えに要する時間を1.5秒として、武器持替
カウンタrnが90か否かを判断する。否定判断のとき
は、武器持替モーションを続行するために、ステップ6
40で武器持替カウンタrnを1インクリメントし、肯
定判断のときは、ステップ636で対象騎馬兵士の状態
フラグFLを攻撃とし、次のステップ638で攻撃回数
anをステップ616と同様にセットし、攻撃カウンタ
hnを0として、武器持替処理サブルーチンを終了しス
テップ182へ進む。
【0087】<索敵移行処理サブルーチン> 図9に示したステップ328の索敵移行処理サブルーチ
ンでは、図17に示すように、まず、ステップ652に
おいて、ステップ632と同様に、対象騎馬兵士の武器
持替モーションの描画処理を画像処理部23に指示す
る。すなわち、索敵移行は彷徨索敵への移行段階であ
り、彷徨する前には必ず右手に武器を持つこととしてい
る。次にステップ654において、索敵移行カウンタs
nが90か否かを判断し、否定判断のときは、武器持替
モーションを続行するために、ステップ658で索敵
行カウンタsnを1インクリメントし、肯定判断のとき
は、ステップ656で対象騎馬兵士の状態フラグFLを
彷徨索敵として、索敵移行処理サブルーチンを終了して
ステップ182へ進む。
【0088】<威嚇処理サブルーチン>図9に示したス
テップ332の威嚇処理サブルーチンでは、図18に示
すように、まず、ステップ662において、対象騎馬兵
士の敵騎馬兵士に対する威嚇モーションの描画処理を画
像処理部23に指示する。すなわち、威嚇処理サブルー
チンに入る状態は、同一の敵騎馬兵士から一定以上のダ
メージを受けたとき(図14のステップ566)に、対
象騎馬兵士が逃走する前段階であり、対象騎馬兵士から
威嚇を受けた敵騎馬兵士は必ず萎縮することとしてい
る。次のステップ664では、威嚇カウンタtnが12
0か否かを判断し、否定判断のときは、威嚇モーション
を続行するために、ステップ668で威嚇カウンタtn
を1インクリメントして威嚇処理サブルーチンを終了し
ステップ182へ進み、肯定判断のときは、ステップ6
66で対象騎馬兵士の状態フラグFLを逃走とし、対象
騎馬兵士の敵リスト情報、及び、威嚇した敵騎馬兵士以
外の交戦中の敵騎馬兵士の敵リスト情報を削除して、威
嚇処理サブルーチンを終了してステップ182へ進む。
【0089】<萎縮処理サブルーチン>図9に示したス
テップ336の萎縮処理サブルーチンでは、図19に示
すように、まず、ステップ672において、対象騎馬兵
士の威嚇モーションの描画処理を画像処理部23に指示
する。次にステップ674において、萎縮カウンタun
が120か否かを判断し、否定判断のときは、萎縮モー
ションを続行するために、ステップ678で萎縮カウン
タunを1インクリメントして萎縮処理サブルーチンを
終了しステップ182へ進み、肯定判断のときは、ステ
ップ676で対象騎馬兵士の状態フラグFLを逃走と
し、対象騎馬兵士の敵リストの情報を削除し、萎縮処理
サブルーチンを終了してステップ182へ進む。
【0090】<逃走処理サブルーチン> 図9に示したステップ340の逃走処理サブルーチンで
は、図20に示すように、まず、ステップ682におい
て攻撃基準方向の逆向きを逃走方向として逃走方向を単
位ベクトル化した逃走方向ベクトルVeを演算し(図4
6(C)も参照)、次にステップ684において、戦闘
から脱出できたか否かを対象騎馬兵士の逃走方向への速
度スカラ(速度ベクトルの絶対値)が1.0m/sec
以上か否かを判断することにより判定する。否定判定の
ときは、ステップ688へ進み、肯定判定のときは、対
象騎馬兵士の状態フラグFLを彷徨索敵とし、対象騎馬
兵士の敵リストに敵騎馬兵士を特定する情報が記述され
ている場合及び対象騎馬兵士を敵とする敵騎馬兵士の敵
リストに対象騎馬兵士を特定する情報が記述されている
場合には敵リストから当該情報を削除して、ステップ6
88へ進む。
【0091】ステップ688では、戦場から脱出するた
めに、下式(6)で示される脱出加速度Aeを演算す
る。なお、式6において5(m/sec)は固定値と
されている。
【0092】
【数6】
【0093】次にステップ690において、オイラー法
により最新速度及び最新位置を演算し、逃走処理サブル
ーチンを終了してステップ182へ進む。
【0094】<攻撃処理サブルーチン>図9に示したス
テップ344の攻撃処理サブルーチンでは、図21に示
すように、まず、ステップ702において敵騎馬兵士は
武器持替モーション等のモーション処理中ではなく対象
騎馬兵士の攻撃を受け得る状態(状態フラグFLが対
峙、回転、ダメージ、攻撃、防御)にあるか否かを判断
し、否定判断のときは、攻撃処理サブルーチンを終了し
てステップ182へ進み、肯定判断のときは、次のステ
ップ704において、対象騎馬兵士の攻撃モーションの
描画処理を画像処理部23に指示し、ステップ706に
おいて攻撃カウンタhnが50か否かを判断する。否定
判断のときは、ステップ708において攻撃カウンタh
nを1インクリメントして、攻撃処理サブルーチンを終
了してステップ182へ進み、肯定判断のときは、ステ
ップ710で、攻撃回数anが0か否かを判断する。ス
テップ710での判断が否定のときは、ステップ712
で攻撃回数anを1デクリメントし、次のステップ71
4で攻撃カウンタhnを0とし、攻撃処理サブルーチン
を終了してステップ182へ進む。
【0095】ステップ710での判断が肯定のときは、
対象騎馬兵士の攻撃が終了したので、次のステップ71
6で敵騎馬兵士の位置及び向き及び対象騎馬兵士の位置
を読み出して、ステップ718において、対象騎馬兵士
が敵騎馬兵士に対して敵騎馬兵士の戦闘可能領域B
からの攻撃か否かを判断する。否定判断のときは、敵騎
馬兵士は対象騎馬兵士の攻撃を防御することができず、
対象騎馬兵士の攻撃は必ず成功するものとみなして、ス
テップ720へ進む。
【0096】一方、ステップ718で肯定判断のとき
は、敵騎馬兵士は対象騎馬兵士の攻撃を防御することも
できるので、次のステップ722において、敵騎馬兵士
の防御力を表す防御値を演算する。この防御値演算で
は、まず、敵騎馬兵士のダメージフラグdfn、状態フ
ラグFL及びライフポイントLnを読み出し、次に、敵
騎馬兵士のダメージフラグdfnが0で、かつ、状態
ラグFLが防御のときは、防御係数dを1.5とし、敵
騎馬兵士のダメージフラグdfnが1のときは、防御係
数dを0.5とし、これら以外のときは、防御係数dを
1として、次式(7)により敵騎馬兵士の防御値を演算
する。
【0097】
【数7】
【0098】次にステップ724で0〜99の範囲で乱
数値を取得し、ステップ726において、乱数値が防御
値より大きいか否かを判断することにより、対象騎馬兵
士の攻撃が成功したか否かを判定する。肯定判定のとき
はステップ720へ進み、敵騎馬兵士のライフポイント
Lnを減少させる敵ダメージ前処理を実行する。
【0099】図22に示すように、この敵ダメージ前処
理では、まず、ステップ732で敵騎馬兵士のライフポ
イントLnを15減算し、次のステップ734で敵騎馬
兵士のライフポイントLnが30未満か否かを判断す
る。否定判断のときは、ステップ746に進み、肯定判
断のときは、次のステップ736において敵騎馬兵士は
敵部隊のリーダーか否かを判断する。ステップ736で
の判断が肯定のときは、ステップ744において、リー
ダーは死亡しないように、当該敵騎馬兵士のライフポイ
ントLnを100とし、ステップ736での判断が否定
のときは、ステップ738において、敵騎馬兵士のライ
フポイントLnが0未満か否かを判断し、この判断が否
定のときは、ステップ746に進み、この判断が肯定の
ときは、ステップ740において敵騎馬兵士の状態フラ
グFLを崩落とし、次のステップ742で崩落カウンタ
enを0とし、敵ダメージ前処理サブルーチン、攻撃サ
ブルーチンを終了してステップ182へ進む。ステップ
746では敵騎馬兵士の状態フラグFLをダメージと
し、敵騎馬兵士のダメージフラグdfnを1として、次
のステップ748でダメージカウンタdnを0とし、敵
ダメージ前処理サブルーチン、攻撃サブルーチンを終了
してステップ182へ進む。
【0100】一方、図21のステップ726で否定判定
のときは、ステップ728において対象騎馬兵士の状態
フラグFLを反動とし、次のステップ730において反
動カウンタgnを0とし、攻撃処理サブルーチンを終了
してステップ182へ進む。
【0101】<ダメージ処理サブルーチン>図9に示し
たステップ348のダメージ処理サブルーチンでは、図
23に示すように、まず、ステップ752において、対
象騎馬兵士のダメージモーションの描画処理を画像処理
部23に指示する。これにより、対象騎馬兵士は敵騎馬
兵士の攻撃によりダメージを受けた状態を1/60秒毎
に描画してテレビモニタ4に出力する。次にステップ7
54において、ダメージカウンタdnが90か否かを判
断し、否定判断のときは、ダメージモーションを続行す
るために、ステップ756でダメージカウンタdnを1
インクリメントしダメージ処理サブルーチンを終了して
ステップ182へ進み、肯定判断のときは、ステップ7
58で対象騎馬兵士の状態フラグFLを対峙とし、ダメ
ージ処理サブルーチンを終了してステップ182へ進
む。
【0102】<崩落処理サブルーチン>図9に示したス
テップ352の崩落処理サブルーチンでは、図24に示
すように、まず、ステップ762において、対象騎馬兵
士が騎馬から転落する崩落モーションの描画処理を画像
処理部23に指示し、次のステップ764において、崩
落カウンタenが90か否かを判断する。否定判断のと
きは、ステップ766で崩落カウンタenを1インクリ
メントし、崩落処理サブルーチンを終了してステップ1
82へ進む。一方、肯定判断のときには、ステップ76
8で対象騎馬兵士の状態フラグFLを死亡として、次の
ステップ770で対象騎馬兵士を敵とする敵騎馬兵士及
び対象騎馬兵士の敵リストから対象騎馬兵士に関する情
報を削除する。なお、状態フラグFLが死亡となった騎
馬兵士は騎馬を含めて移動不能の状態となる。次のステ
ップ772で敵部隊はリーダー以外の全騎馬兵士の状態
フラグFLが死亡か否かを判断し、否定判断のときは、
交戦を続行するために、崩落処理サブルーチンを終了し
てステップ182へ進み、肯定判断のときは、ステップ
774において勝利フラグwを1とし、次のステップ7
76で状態フラグFLが死亡とされた騎馬兵士以外の両
部隊の全ての騎馬兵士の状態フラグFLを撤収とし、次
のステップ778において状態フラグFLが撤収とされ
た両部隊の騎馬兵士の整列点を演算し(図47参照)、
崩落処理サブルーチンを終了してステップ182へ進
む。
【0103】<反動処理サブルーチン>図9に示したス
テップ356の反動処理サブルーチンでは、図25に示
すように、まず、ステップ782において、対象騎馬兵
士の攻撃が敵騎馬兵士により防御されその衝撃を受けた
状態を表す反動モーションの描画処理を画像処理部23
に指示する。次にステップ784において、反動カウン
タgnが90か否かを判断し、否定判断のときは、反動
モーションを続行するために、ステップ786で反動カ
ウンタgnを1インクリメントし反動処理サブルーチン
を終了してステップ182へ進み、肯定判断のときは、
ステップ788で対象騎馬兵士の状態フラグFLを防御
とし、次のステップ790で防御カウンタbnを0と
し、反動処理サブルーチンを終了してステップ182へ
進む。
【0104】<防御処理サブルーチン> 図9に示したステップ360の防御処理サブルーチンで
は、図26に示すように、まず、ステップ802におい
て、敵騎馬兵士からの攻撃を防御するため防御モーショ
ンの描画処理を画像処理部23に指示する。次にステッ
プ804で攻撃ポイントPnを1インクリメントし、ス
テップ806で防御カウンタbnが90か否かを判断
し、否定判断のときは、防御モーションを続行するため
に、ステップ810で防御カウンタbnを1インクリメ
ントし、次のステップ812で攻撃基準方向まで1/6
0秒毎に1.5deg/secの割合で回転し、防御処
理サブルーチンを終了してステップ182へ進む。一
方、ステップ806で肯定判断のときは、次のステップ
808において状態フラグFLを対峙とし、防御処理サ
ブルーチンを終了してステップ182へ進む。
【0105】<死亡処理サブルーチン>図9に示したス
テップ362の死亡処理サブルーチンでは、図27に示
すように、ステップ822において、味方部隊はリーダ
ー以外の全騎馬兵士の状態フラグFLが死亡か否かを判
断し、否定判断のときは、交戦を続行するために、死亡
処理サブルーチンを終了してステップ182へ進み、肯
定判断のときは、ステップ824において、状態フラグ
FLが死亡とされた騎馬兵士以外の両部隊の全ての騎馬
兵士の状態フラグFLを撤収とし、次のステップ826
において状態フラグFLが撤収とされた両部隊の騎馬兵
士の整列点を演算し、死亡処理サブルーチンを終了して
ステップ182へ進む。
【0106】図6のステップ182では、対象騎馬兵士
の次の騎馬兵士の処理を行うために、兵士数nを1デク
リメントしてステップ168へ戻る。図4のステップ1
32では、戦闘終了フラグがONか否かを判断し、否定
判断のときは、ステップ120へ戻り、肯定判断のとき
は、次のステップ134において終了処理を行う。この
終了処理では、勝利フラグwが1のときには部隊Fが勝
利したものとして、例えば、図47に示すように、整列
点で部隊Fの生存している騎馬兵士F1、F3、F6及
びF7は一斉に武器を上方向へ向けて大きな音響で勝ち
どきを上げ、部隊Eのリーダーは整列点から突撃方向と
は反対側に移動を開始して索敵戦闘ルーチンを終了す
る。一方、勝利フラグwが0のときは部隊Eが勝利した
ものとして、例えば、図39で示したように、整列点で
部隊Eの生存している騎馬兵士Ea、Eb、Ed〜Eg
は一斉に武器を上方向へ向けて小さな音響で勝ちどきを
上げ、部隊Fの生存騎馬兵士は整列点から突撃方向とは
反対側に移動を開始して索敵戦闘ルーチンを終了する。
【0107】以上のように、本実施形態では、索敵サブ
ルーチンで対象騎馬兵士の索敵可能領域内に敵騎馬
兵士が存在するか否かを判断し(ステップ406)、敵
騎馬兵士が存在するときに(ステップ410、416、
428)、敵騎馬兵士が対象騎馬兵士との戦闘が可能か
否かを判断し(ステップ412、422、418、43
0、426、432〜438)、戦闘可能と判断したと
きに、対象騎馬兵士は敵騎馬兵士をロックして敵と認識
し、敵騎馬兵士に対象騎馬兵士を、該対象騎馬兵士の戦
闘可能領域B内まで接近させるようにした(ステップ
518)ので、両部隊の騎馬兵士は自己の索敵可能領域
内の敵騎馬兵士を索敵して接近していくことから、
実際の集団戦闘に疑似した集団キャラクタ戦闘をリアル
に表現することができる。従って、リーダーを一歩動か
すと他のキャラクタも一歩追随する従来の集団キャラク
タ戦闘ゲームと比べ現実感のあるゲームとすることがで
きる。
【0108】また、本実施形態では、対象騎馬兵士の
可能領域内に敵騎馬兵士がいない場合や他の味方
の騎馬兵士と交戦中で対象騎馬兵士との戦闘ができない
場合には、対象騎馬兵士は彷徨索敵から旋回索敵へ(ス
テップ456)、そして戦場から離れたときは、旋回
から彷徨索敵へ(ステップ476)、移動モードを変
更して索敵するので、プレーヤの興味を引くことがで
き、また、索敵移動モードが変更されることによりそれ
までの移動モードとは異なる方向で対象騎馬兵士の索敵
可能領域は移動することとなるので、敵同士を探す
まで(マッチングまで)の時間中にプレーヤをイライラ
させることがない。
【0109】更に、本実施形態では、敵騎馬兵士が対象
騎馬兵士との戦闘が可能か否かを、プレーヤが設定可能
な交戦フラグBFにより判断するようにしたので(ステ
ップ408、414)、実際の戦闘と同様の現実感のあ
る集団キャラクタ戦闘ゲームとすることができる。また
更に、本実施形態では、敵騎馬兵士に接近する前に敵騎
馬兵士が戦闘可能か否かを判断するようにしたので(ス
テップ440、442)、実際の騎馬兵士同士が自己の
視覚で敵騎馬兵士を探す戦闘に疑似しており、接近した
後敵騎馬兵士が戦闘可能か否かを判断し否定判断される
場合に比べ、プレーヤが希望する現実感を満たすことが
できる。
【0110】また、本実施形態では、対象騎馬兵士と敵
騎馬兵士との間に両者の接近を妨害する騎馬兵士の死骸
等の障害物があるときには、接近することを解除して彷
索敵に移行して他の敵騎馬兵士を索敵するので(ステ
ップ534、542)、従来のように、途中味方が他の
キャラクタが障害物に接触して動けなくなると、他のキ
ャラクタが進行できなくなり、プレーヤの興味が削がれ
る、ことを防止することができる。
【0111】更に、本実施形態では、敵騎馬兵士に戦闘
可能領域B内まで接近した後、対象騎馬兵士を停止さ
せ敵騎馬兵士との戦闘が可能なように対象騎馬兵士の方
向(向き)を変えて敵騎馬兵士と戦闘するようにしたの
で(ステップ578、図46(B))、実際の騎馬兵士
の戦闘と同様の戦闘を疑似することができ、プレーヤは
このような緊迫感のあるリアルな戦闘の様子を近時の映
画並の画像で楽しむことができる。
【0112】更にまた、対象騎馬兵士が敵騎馬兵士から
一定以上のダメージを受けたとき、敵騎馬兵士との配置
が対象騎馬兵士の戦闘不能の配置となったときに、対象
騎馬兵士は敵騎馬兵士から逃走するようにしたので(ス
テップ562〜567)、プレーヤは実際の戦闘と同様
の疑似戦闘を楽しむことができる。また、ライフポイン
トLnが一定値以下となったときにダメージを受けたと
して防御力小さくするようにしたので(ステップ72
2、746)、戦闘で負傷した騎馬兵士の防御力の低下
を表現することができる。そして、対象騎馬兵士が同一
の敵騎馬兵士から一定量以上のダメージを受け逃走する
ときには、当該敵騎馬兵士を威嚇するようにしたので
(ステップ566)、実際の騎馬兵士の心理を巧みに表
現することができる。
【0113】なお、本実施形態ではゲームプログラムを
記録した記録媒体1を媒体読取部22で読み取ることに
よりRAMへプログラムを転送するようにしたが、媒体
読取部22を備えずROMにゲームプログラムを記憶し
てこのROMからゲームプログラムを読み出すようにし
てもよい。このようにすれば、ゲーム専用機とすること
ができる。また、本実施形態では、記録媒体としてCD
−ROMを使用する例で説明したが、CPUブロック2
0のRAMにロード可能なROMカートリッジや大容量
フレキシブルディスク、マグネットオプティカルディ
スク等であっても、これらの媒体読取部を備えていれば
本発明を適用することができることはいうまでもない。
【0114】また、本実施形態では、ダイアログにより
初期設定を行うようにしたが、実際のゲームにおいて
は、例えば、入力装置3を用いて画面上に表示されてい
るカーソルを移動させ、騎馬軍団の移動を開始する整列
位置等を指定することにより、自動的に設定されるよう
にしてもよい。また、ゲームの進行状況に応じて全ての
初期設定を自動的に行うようにしてもよい。
【0115】更にまた、本実施形態では、一定間隔で行
うため垂直帰線周期の割込処理内で騎馬兵士の加速度、
位置演算を行うようにしたが、タイマ割込処理内やメイ
ン処理内で行われるようにしてもよい。
【0116】また、本実施形態では、騎馬兵士の移動モ
ードとして彷徨と旋回とを示したが、本発明はこれに限
られることなく、例えば、ジグザグ、三角形、四角形等
種々の移動モードを採ることができることはいうまでも
ない。更に、本実施形態では、交戦フラグBFを時間に
より変動するようにしたが、交戦フラグBFは、例えば
乱数値を取り込むことにより、交戦フラグBFの値が必
要になったときランダムに設定するようにしてもよい。
【0117】更に、本実施形態では具体的に説明するた
めに、攻撃カウンタhn等の種々のカウンタを90、1
00、120、ライフポイントLnを100として例示
したが、本発明はこれらの値に限定されることなく種々
の値を採ることができることは論を待たず、また、この
ようなカウンタ値はテーブルから読み出したり、又は、
ランダムに値を設定するようにしてもよい。また更に、
本実施形態では、対象騎馬兵士が突撃する際に、突撃方
向が前方向(前向き)でないと判断したときに、ステッ
プ218において徐々に回転しながら戦場へ向けて突撃
するようにしたが、対象騎馬兵士の状態フラグFLを直
ちに旋回索敵とするようにしてもよい。このようにすれ
ば、対象騎馬兵士は旋回円Acの軌跡上を移動し戦闘時
速度に達した時点で状態フラグFLが彷徨索敵となるの
で(ステップ476参照)、彷徨基準点が設定された戦
場に向かうこととなる。
【0118】そして、本実施形態では、3次元座標軸で
説明したが、z軸の値を0として2次元座標系に適用す
ることも可能であり、また逆に、z軸を有効に活用し
た、例えば、宇宙空間で円盤同士が互いに戦闘するよう
な場合のような集団キャラクタ戦闘にも本発明は適用可
能であるので、上述した特許請求の範囲内において他の
種々の実施の形態を採ることができることはいわゆる当
業者にとって明らかである。
【0119】
【発明の効果】以上説明したように、本発明によれば、
座標値演算手段により3次元仮想空間上を加速度に基づ
いて移動するキャラクタの座標値が演算され、索敵手段
により、敵集団に属する敵キャラクタの座標値がキャラ
クタの視野範囲として予め設定された第1の領域内とな
っているか否かが判断され、第1の領域内と判断された
ときに、第1の領域内の敵キャラクタについて該敵キャ
ラクタを識別するための情報をキャラクタの座標値を中
心に近い順に並び替えてリストとして記憶部に記憶し、
キャラクタから近い敵キャラクタの順に、予め設定され
敵味方キャラクタの戦闘を1:1又は1:複数に許容す
る交戦条件を満たしているか否かが判断され、満たして
いるときに、敵キャラクタがキャラクタと戦闘可能な状
態にあると判断され、戦闘可能な状態にあると判断され
たときに、敵キャラクタがキャラクタの戦闘すべき敵と
決定され、接近手段により索敵手段で戦闘すべき敵と決
定された敵キャラクタの座標値がキャラクタの戦闘可能
範囲として予め設定された第2の領域内となるまで、
敵手段で戦闘すべき敵と決定された敵キャラクタに向け
て接近するようにキャラクタの座標値が変更され、座標
値転送手段により、3次元仮想空間上に複数のキャラク
タを表示するために、複数のキャラクタの座標値が、画
像を処理する画像処理部に転送されるようにしたので、
各キャラクタは自己の視野範囲内の敵キャラクタを索敵
して接近していくことから集団キャラクタの戦闘相手の
マッチングをリアルに表現することができる、という効
果を得ることができる。
【図面の簡単な説明】
【図1】家庭用ゲーム装置の接続態様を示す概略斜視図
である。
【図2】家庭用ゲーム装置に使用される入力装置の平面
図である。
【図3】本発明が適用可能な実施形態のゲーム装置本体
の構成を示す概略ブロック図である。
【図4】本実施形態の索敵戦闘ルーチンを示すフローチ
ャートである。
【図5】索敵戦闘ルーチンのステップ108の初期設定
処理サブルーチンの詳細を示すフローチャートである。
【図6】索敵戦闘ルーチンのステップ130の索敵戦闘
処理サブルーチンの詳細を示すフローチャートである。
【図7】索敵戦闘処理サブルーチンのステップ176突
撃処理サブルーチンの詳細を示すフローチャートであ
る。
【図8】索敵戦闘処理サブルーチンのステップ178の
撤収処理サブルーチンの詳細を示すフローチャートであ
る。
【図9】索敵戦闘処理サブルーチンのステップ180の
戦場処理サブルーチンの詳細を示すフローチャートであ
る。
【図10】戦場処理サブルーチンのステップ304の彷
索敵処理サブルーチンの詳細を示すフローチャートで
ある。
【図11】彷徨索敵サブルーチン及び旋回索敵サブルー
チンで呼び出される索敵サブルーチンのフローチャート
である。
【図12】戦場処理サブルーチンのステップ308の旋
索敵処理サブルーチンの詳細を示すフローチャートで
ある。
【図13】戦場処理サブルーチンのステップ312の接
近処理サブルーチンの詳細を示すフローチャートであ
る。
【図14】戦場処理サブルーチンのステップ316の対
峙処理サブルーチンの詳細を示すフローチャートであ
る。
【図15】戦場処理サブルーチンのステップ320の回
転処理サブルーチンの詳細を示すフローチャートであ
る。
【図16】戦場処理サブルーチンのステップ324の武
器持替処理サブルーチンの詳細を示すフローチャートで
ある。
【図17】戦場処理サブルーチンのステップ328の
移行処理サブルーチンの詳細を示すフローチャートで
ある。
【図18】戦場処理サブルーチンのステップ332の威
嚇処理サブルーチンの詳細を示すフローチャートであ
る。
【図19】戦場処理サブルーチンのステップ336の萎
縮処理サブルーチンの詳細を示すフローチャートであ
る。
【図20】戦場処理サブルーチンのステップ340の逃
走処理サブルーチンの詳細を示すフローチャートであ
る。
【図21】戦場処理サブルーチンのステップ344の攻
撃処理サブルーチンの詳細を示すフローチャートであ
る。
【図22】攻撃処理サブルーチンのステップ720の敵
ダメージ前処理サブルーチンの詳細を示すフローチャー
トである。
【図23】戦場処理サブルーチンのステップ348のダ
メージ処理サブルーチンの詳細を示すフローチャートで
ある。
【図24】戦場処理サブルーチンのステップ352の崩
落処理サブルーチンの詳細を示すフローチャートであ
る。
【図25】戦場処理サブルーチンのステップ356の反
動処理サブルーチンの詳細を示すフローチャートであ
る。
【図26】戦場処理サブルーチンのステップ360の防
御処理サブルーチンの詳細を示すフローチャートであ
る。
【図27】戦場処理サブルーチンのステップ362の死
亡処理サブルーチンの詳細を示すフローチャートであ
る。
【図28】テレビモニタに表示される隊形設定情報のダ
イアログ画面である。
【図29】テレビモニタに表示される戦場設定情報のダ
イアログ画面である。
【図30】テレビモニタに表示される部隊特性情報のダ
イアログ画面である。
【図31】テレビモニタに表示される交戦設定情報のダ
イアログ画面である。
【図32】テレビモニタに表示された両部隊の整列点の
位置を示す説明図である。
【図33】プレーヤがメニューから命令を選択したとき
のドロップダウンメニューを示す説明図である。
【図34】プレーヤがメニューから設定を選択したとき
のドロップダウンメニューを示す説明図である。
【図35】プレーヤがメニューから部隊選択を選択した
ときのドロップダウンメニューを示す説明図である。
【図36】騎馬兵士の索敵可能領域及び戦闘可能領域を
模式的に示す説明図である。
【図37】縦軸に反発力をとり、横軸に距離をとったと
きの距離と反発力との関係を模式的に示す説明図であ
る。
【図38】突撃中に騎馬兵士が回転する場合の方向を模
式的に示す説明図である。
【図39】撤収命令が出された後、整列点に整列した状
態を模式的に示す説明図である。
【図40】(A)〜(D)はロック情報の被ロック部及
びロック部に記述された情報を模式的に示し、(E)は
ロック情報の解除部に記述された情報を模式的に示す説
明図である。
【図41】(A)は対象騎馬兵士の索敵可能領域内にい
る敵騎馬兵士を特定する情報とその位置を一覧で示し、
(B)は(A)の敵騎馬兵士を特定する情報を対象騎馬
兵士から近い順に並び替えた状態を一覧で示し、(C)
は敵騎馬兵士の状態フラグを読み出した状態を一覧で表
した索敵検索情報を示す説明図である。
【図42】(A)は敵騎馬兵士が対象騎馬兵士の戦闘可
能範囲に入ったときの対象騎馬兵士の敵リストの状態で
あり、(B)はその後別の敵騎馬兵士が敵リストに追加
された状態を示す説明図である。
【図43】対象騎馬兵士が彷徨索敵状態から旋回索敵
態に移行する条件を模式的に示す説明図である。
【図44】対象騎馬兵士が旋回索敵状態から彷徨索敵
態又は接近状態に移行する条件を模式的に示す説明図で
ある。
【図45】対象騎馬兵士の状態フラグが旋回索敵のとき
の求心加速度を模式的に示す説明図である。
【図46】(A)は攻撃基準方向を示し、(B)は攻撃
前の回転方向を示し、(C)は撤収方向を模式的に示す
説明図である。
【図47】勝利フラグが1のときの整列点を模式的に示
す説明図である。
【図48】回避加速度を模式的に示す説明図である。
【図49】突撃処理サブルーチンの実行時のテレビモニ
タに表示される画像の一例である。
【符号の説明】
1 記録媒体 2 ゲーム装置本体 3 入力装置 4 テレビモニタ 5 スピーカ 10 家庭用ゲーム装置 20 CPUブロック(記憶部、座標値演算手段、索敵
手段、接近手段、座標値転送手段、索敵対象変更手段、
戦闘手段、逃走手段) 21 入力受信部 22 媒体読取部 23 画像処理部 24 音響処理部 31 スタートボタン
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平8−280933(JP,A) 特開 平8−229238(JP,A) 電撃PlayStation,日本, メディアワークス,1999年 8月27日, 第5巻 第22号,第226頁 週刊ファミ通,日本,株式会社アスキ ー,1999年10月22日,第14巻 第43号, 第21−23頁 (58)調査した分野(Int.Cl.7,DB名) A63F 13/00 - 13/12

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 3次元仮想空間上に表示され複数のキャ
    ラクタが敵味方の集団を形成して互いに戦闘する集団キ
    ャラクタの戦闘相手をマッチングするためのプログラム
    が記録されたコンピュータ読取可能な記録媒体であっ
    て、前記プログラムは、コンピュータを、 前記3次元仮想空間上を加速度に基づいて移動する前記
    キャラクタの座標値を演算する座標値演算手段、 前記敵集団に属する敵キャラクタの座標値が前記キャラ
    クタの視野範囲として予め設定された第1の領域内とな
    っているか否かを判断し、第1の領域内と判断したとき
    に、前記第1の領域内の敵キャラクタについて該敵キャ
    ラクタを識別するための情報を前記キャラクタの座標値
    を中心に近い順に並び替えてリストとして記憶部に記憶
    し、前記キャラクタから近い敵キャラクタの順に、予め
    設定され敵味方キャラクタの戦闘を1:1又は1:複数
    に許容する交戦条件を満たしているか否かを判断し、満
    たしているときに、前記敵キャラクタが前記キャラクタ
    と戦闘可能な状態にあると判断し、戦闘可能な状態にあ
    ると判断したときに、前記敵キャラクタを前記キャラク
    タの戦闘すべき敵と決定する索敵手段、 前記索敵手段により戦闘すべき敵と決定された敵キャラ
    クタの座標値が前記キャラクタの戦闘可能範囲として予
    め設定された第2の領域内となるまで、前記索敵手段に
    より戦闘すべき敵と決定された敵キャラクタに向けて接
    近するように前記キャラクタの座標値を変更する接近手
    段、 前記3次元仮想空間上に前記複数のキャラクタを表示す
    るために、前記複数のキャラクタの座標値を、画像を処
    理する画像処理部へ転送する座標値転送手段、 として機能させることを特徴とするコンピュータ読取可
    能な記録媒体。
  2. 【請求項2】 前記索敵手段は、前記交戦条件を満たし
    ていないと判断したときに、前記キャラクタの移動を、
    前記キャラクタの所定回転中心に対する位置ベクトル及
    び角速度により演算される求心ベクトルに基づいて前記
    3次元仮想空間上を旋回するように切り換えることを特
    徴とする請求項1に記載の記憶媒体。
  3. 【請求項3】 前記複数のキャラクタの各々は前記3次
    元仮想空間上で敵キャラクタを索敵するときに前記キャ
    ラクタの現在の状態を表す状態フラグが索敵状態に設定
    され、前記リストには前記敵キャラクタの状態フラグが
    記述されており、前記索敵手段は、前記キャラクタから
    近い敵キャラクタの順に、前記リストに基づいて前記敵
    キャラクタの状態フラグが前記索敵状態に設定されてい
    るか否かを判断し、索敵状態に設定されているときに、
    前記交戦条件を満たしているか否かを判断することを特
    徴とする請求項1又は請求項2に記載の記録媒体。
  4. 【請求項4】 更に、コンピュータを、前記キャラクタ
    と前記敵キャラクタとの間に前記キャラクタの前記敵キ
    ャラクタへの接近を妨害する障害があるか否かを判断
    し、障害があるときに、前記接近手段による前記キャラ
    クタの座標値の変更を解除して前記索敵手段で他の敵キ
    ャラクタを索敵させる索敵対象変更手段として機能させ
    ることを特徴とする請求項1乃至請求項3のいずれか1
    項に記載の記録媒体。
  5. 【請求項5】 更に、コンピュータを、前記敵キャラク
    タに向けて前記第2の領域内まで接近させた後、前記キ
    ャラクタの移動を停止させ前記敵キャラクタとの戦闘が
    可能なように前記キャラクタの座標値と前記敵キャラク
    タの座標値とを結ぶ直線上で前記キャラクタを所定角度
    回転させ、前記敵キャラクタと戦闘させる戦闘手段とし
    て機能させることを特徴とする請求項1乃至請求項4の
    いずれか1項に記載の記録媒体。
  6. 【請求項6】 更に、コンピュータを、前記キャラクタ
    が前記敵キャラクタから一定量以上のダメージを受けた
    とき又は前記キャラクタの座標値が前記キャラクタを敵
    とする別の敵キャラクタの前記第2の領域内となってお
    り、かつ、該別の敵キャラクタの座標値が前記キャラク
    タの前記第2の領域外となっているときに、前記戦闘手
    段による前記敵キャラクタとの戦闘を解除して前記敵キ
    ャラクタ及び/又は前記別の敵キャラクタの座標から遠
    ざかるように前記キャラクタの座標値を変更する逃走手
    段として機能させることを特徴とする請求項5に記載の
    記録媒体。
  7. 【請求項7】 3次元仮想空間上に表示され複数のキャ
    ラクタが敵味方の集団を形成して互いに戦闘する集団キ
    ャラクタの戦闘相手をマッチングするゲーム装置におい
    て、 前記3次元仮想空間上を加速度に基づいて移動する前記
    キャラクタの座標値を演算する座標値演算手段と、 前記敵集団に属する敵キャラクタの座標値が前記キャラ
    クタの視野範囲として予め設定された第1の領域内とな
    っているか否かを判断し、第1の領域内と判断したとき
    に、前記第1の領域内の敵キャラクタについて該敵キャ
    ラクタを識別するための情報を前記キャラクタの座標値
    を中心に近い順に並び替えてリストとして記憶部に記憶
    し、前記キャラクタから近い敵キャラクタの順に、予め
    設定され敵味方キャラクタの戦闘を1:1又は1:複数
    に許容する交戦条件を満たしているか否かを判断し、満
    たしているときに、前記敵キャラクタが前記キャラクタ
    と戦闘可能な状態にあると判断し、戦闘可能な状態にあ
    ると判断したときに、前記敵キャラクタを前記キャラク
    タの戦闘すべき敵と決定する索敵手段と、 前記索敵手段により戦闘すべき敵と決定された敵キャラ
    クタの座標値が前記キャラクタの戦闘可能範囲として予
    め設定された第2の領域内となるまで、前記索敵手段に
    より戦闘すべき敵と決定された敵キャラクタに向けて接
    近するように前記キャラクタの座標値を変更する接近手
    段と、 前記3次元仮想空間上に前記複数のキャラクタを表示す
    るために、前記複数のキャラクタの座標値を、画像を処
    理する画像処理部へ転送する座標値転送手段と、 を備えたゲーム装置。
  8. 【請求項8】 前記索敵手段は、前記交戦条件を満たし
    ていないと判断したときに、前記キャラクタの移動を、
    前記キャラクタの所定回転中心に対する位置ベクトル及
    び角速度により演算される求心ベクトルに基づいて前記
    3次元仮想空間上を旋回するように切り換えることを特
    徴とする請求項8に記載のゲーム装置。
JP33917699A 1999-11-30 1999-11-30 記録媒体及びゲーム装置 Expired - Fee Related JP3505705B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33917699A JP3505705B2 (ja) 1999-11-30 1999-11-30 記録媒体及びゲーム装置
US09/721,886 US6736724B1 (en) 1999-11-30 2000-11-24 Character group battle method, recording medium and game device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33917699A JP3505705B2 (ja) 1999-11-30 1999-11-30 記録媒体及びゲーム装置

Publications (2)

Publication Number Publication Date
JP2001149655A JP2001149655A (ja) 2001-06-05
JP3505705B2 true JP3505705B2 (ja) 2004-03-15

Family

ID=18324967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33917699A Expired - Fee Related JP3505705B2 (ja) 1999-11-30 1999-11-30 記録媒体及びゲーム装置

Country Status (2)

Country Link
US (1) US6736724B1 (ja)
JP (1) JP3505705B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP2003181146A (ja) * 2001-12-14 2003-07-02 Square Co Ltd ネットワークゲームシステム、ゲームサーバシステム、クライアントシステム、ネットワークゲーム処理方法、プログラム及び記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
JP2005034303A (ja) * 2003-07-18 2005-02-10 Sega Corp ネットワークゲームシステムおよびネットワークゲーム処理方法
JP3779298B2 (ja) * 2003-11-28 2006-05-24 任天堂株式会社 ゲーム装置およびゲームプログラム
JP3732843B2 (ja) * 2004-02-18 2006-01-11 株式会社スクウェア・エニックス ビデオ・ゲーム装置のプログラムおよびビデオ・ゲーム装置
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
JP2007075446A (ja) * 2005-09-15 2007-03-29 Square Enix Co Ltd ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP4137128B2 (ja) * 2006-01-25 2008-08-20 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
US20070243916A1 (en) * 2006-04-14 2007-10-18 Lee Ren E Objective oriented reality horror survival game
US7775882B2 (en) * 2006-06-12 2010-08-17 Kabushiki Kaisha Sega Game apparatus for changing a visual point position of a virtual camera in conjunction with an attack by and enemy character
JP4137151B2 (ja) * 2006-09-21 2008-08-20 株式会社スクウェア・エニックス ビデオゲーム制御システム、及びビデオゲーム制御サーバ
US20080125220A1 (en) 2006-11-27 2008-05-29 Hironobu Sakaguchi System and method of a game that shares a specific property of a character with team members
JP5594933B2 (ja) * 2007-12-25 2014-09-24 株式会社カプコン プログラムおよびゲームシステム
KR101631895B1 (ko) * 2010-10-01 2016-06-20 엔에이치엔엔터테인먼트 주식회사 전략 시뮬레이션 방식을 도입한 전투 게임을 제공하기 위한 시스템 및 방법
CN103875022B (zh) * 2011-10-11 2018-06-01 英派尔科技开发有限公司 从大规模多玩家在线角色扮演游戏收集路径数据的方法、设备及系统
CN103593546B (zh) * 2012-08-17 2015-03-18 腾讯科技(深圳)有限公司 一种无动态阻挡网络游戏系统及其处理方法
JP6200144B2 (ja) * 2012-11-20 2017-09-20 任天堂株式会社 ゲームプログラム、ゲーム処理方法、ゲーム装置及びゲームシステム
US9539517B2 (en) * 2013-06-21 2017-01-10 Gree, Inc. Game control method, server device, game system, and computer-readable recording medium
US9795881B2 (en) * 2014-10-27 2017-10-24 Disney Enterprises, Inc. Controlling groups of game entities in a video game in a collective, coordinated, and/or collaborative manner using a group entity
JP6165129B2 (ja) * 2014-12-26 2017-07-19 株式会社バンダイナムコエンターテインメント プログラム及び端末
CN107967116B (zh) * 2015-06-16 2019-07-19 深圳市腾讯计算机系统有限公司 游戏场景中锁定目标的方法和装置、计算机设备
CN104915117B (zh) * 2015-06-16 2017-03-22 深圳市腾讯计算机系统有限公司 控制与虚拟目标进行交互的方法和装置
CN105148517B (zh) * 2015-09-29 2017-08-15 腾讯科技(深圳)有限公司 一种信息处理方法、终端及计算机存储介质
JP7245605B2 (ja) * 2018-02-13 2023-03-24 株式会社バンダイナムコエンターテインメント ゲームシステム、ゲーム提供方法及びプログラム
JP6683769B2 (ja) * 2018-07-23 2020-04-22 株式会社カプコン ゲームプログラムならびにゲーム装置
JP6640322B1 (ja) * 2018-12-28 2020-02-05 株式会社Cygames 情報処理プログラム、情報処理装置、及び情報処理システム
JP7057764B2 (ja) * 2019-02-22 2022-04-20 株式会社Cygames プログラム、電子装置、方法、及びシステム
CN110314373B (zh) * 2019-07-08 2023-02-28 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器
JP6795661B1 (ja) * 2019-08-20 2020-12-02 株式会社バンダイ プログラム、端末、ゲームシステム及びゲーム管理装置
JP6652676B1 (ja) * 2019-09-03 2020-02-26 株式会社Cygames 情報処理システム、情報処理方法および情報処理プログラム
US11541317B2 (en) * 2020-02-06 2023-01-03 Sony Interactive Entertainment Inc. Automated weapon selection for new players using AI

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10272258A (ja) * 1997-01-30 1998-10-13 Sega Enterp Ltd 画像処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
週刊ファミ通,日本,株式会社アスキー,1999年10月22日,第14巻 第43号,第21−23頁
電撃PlayStation,日本,メディアワークス,1999年 8月27日,第5巻 第22号,第226頁

Also Published As

Publication number Publication date
JP2001149655A (ja) 2001-06-05
US6736724B1 (en) 2004-05-18

Similar Documents

Publication Publication Date Title
JP3505705B2 (ja) 記録媒体及びゲーム装置
US6634947B1 (en) Video game system and video game memory medium
US7137891B2 (en) Game playing system with assignable attack icons
US6652384B2 (en) Image processing device for placing a player character in a virtual space
EP0911069B1 (en) Video game system using radar picture
JP3699660B2 (ja) ゲーム装置及びネットワークゲームシステム
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US8070573B2 (en) Video game apparatus and video game program
US20100069152A1 (en) Method of generating image using virtual camera, storage medium, and computer device
US20070026944A1 (en) A video game processing apparatus, a method and a computer program product for processing a video game
US20040046800A1 (en) Electronic game and method for effecting game features
EP1048330A2 (en) Method of controlling a character in a video game
JPH10165647A (ja) ゲーム装置及び画像処理装置
JP4050658B2 (ja) ゲーム装置、ゲーム制御プログラムおよびそのプログラムが記録された記録媒体
JP4117343B2 (ja) 記録媒体及びゲーム装置
JP3736767B2 (ja) 画像処理方法
JP3579794B2 (ja) プログラム、記録媒体及びゲーム装置
JPH11179055A (ja) ゲーム装置および情報記録媒体
JPH11306394A (ja) 画像生成装置及び情報記憶媒体
JP2003154163A (ja) 描画制御方法、記録媒体、描画制御装置及びプログラム
KR20030057296A (ko) 묘화 코멘드 제어방법, 기록매체, 묘화 코멘드 제어장치및 프로그램
JP3197536B2 (ja) ゲーム装置、及び画像表示制御方法法並びに画像表示制御プログラムを記録した記録媒体
JP5734561B2 (ja) ゲームシステム、および、このゲームシステムを実現するためのプログラム
JP2000107438A (ja) ゲーム装置、方法および情報記録媒体
JP2006087458A (ja) ゲームプログラム、ゲームプログラムを記録したコンピュータ読み取り可能な記録媒体、及び、ゲーム装置

Legal Events

Date Code Title Description
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031205

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees