JP3163496B2 - 集団キャラクタ移動方法、記録媒体及びゲーム装置 - Google Patents

集団キャラクタ移動方法、記録媒体及びゲーム装置

Info

Publication number
JP3163496B2
JP3163496B2 JP23359599A JP23359599A JP3163496B2 JP 3163496 B2 JP3163496 B2 JP 3163496B2 JP 23359599 A JP23359599 A JP 23359599A JP 23359599 A JP23359599 A JP 23359599A JP 3163496 B2 JP3163496 B2 JP 3163496B2
Authority
JP
Japan
Prior art keywords
character
acceleration
distance
predetermined
area
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
JP23359599A
Other languages
English (en)
Other versions
JP2001056870A (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 JP23359599A priority Critical patent/JP3163496B2/ja
Priority to GB0018702A priority patent/GB2356539A/en
Priority to US09/631,993 priority patent/US6525736B1/en
Priority to EP00116940A priority patent/EP1078665A3/en
Priority to KR10-2000-0045883A priority patent/KR100383047B1/ko
Priority to CNB001235168A priority patent/CN1178170C/zh
Priority to TW089116825A priority patent/TW440456B/zh
Publication of JP2001056870A publication Critical patent/JP2001056870A/ja
Priority to HK01103138A priority patent/HK1032465A1/xx
Application granted granted Critical
Publication of JP3163496B2 publication Critical patent/JP3163496B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • 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
    • 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/833Hand-to-hand fighting, e.g. martial arts competition
    • 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
    • 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/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • 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/8029Fighting without shooting
    • 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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は集団キャラクタ移動
方法、記録媒体及びゲーム装置に係り、特に、3次元仮
想空間上に表現されリーダーを有する複数のキャラクタ
が集団を形成して予め設定された目標点に移動する集団
キャラクタ移動方法、該方法を記録した記録媒体及び入
力部を操作して記録媒体から読み込んだソフトウエアを
記憶部にロード可能なゲーム装置であって、所定周期で
呼び出され、リーダーを有する複数のキャラクタが集団
を形成して予め設定された目標点に移動する集団キャラ
クタの各キャラクタの位置を演算する位置演算部を備え
たゲーム装置に関する。
【0002】
【従来の技術】今日、種々のゲームソフトがCD−RO
M等の記録媒体に記録されてゲーム業界各社から販売さ
れている。このような記録媒体はゲーム装置に挿入され
て使用される。図1に示すように、ゲーム装置のうち最
も一般的な家庭用ゲーム装置10は、ゲーム装置本体2
に図2に示すようなコントローラパッド等の入力装置3
とテレビモニタ4とを接続して構成されている。プレイ
ヤが記録媒体1をゲーム装置本体2に挿入すると、自動
的に、又は、入力装置3の所定ボタンを押下することに
より、記録媒体1に記録されたゲームプログラムがゲー
ム装置本体2の記憶メモリであるRAMにロードされて
ゲームがスタートし、その後は入力装置3のボタンを操
作することによりゲームを楽しむことができる。
【0003】ところで、従来のゲームでは、主に2次元
で表現された座標上を、5つ程度の複数のキャラクタが
隊列をつくりながら移動するものが発売されている。例
えば、特開平第8−63613号公報では、予めキャラ
クタごとに移動速度、方向転換を行う時期・確率を設定
し、隊列のリーダーである主人公キャラクタに追従して
いく様子を個性的な変化をもって表示する技術が開示さ
れている。
【0004】この技術によれば、各キャラクタを実際に
表示したい位置を目標位置としたときに、主人公キャラ
クタがたどった軌跡から決定される本来そのキャラクタ
が取りうる基本位置と、その基本位置に対するオフセッ
トを示す相対位置と、の双方のベクトル和を演算して目
標位置としている。目標位置に障害物があるときは、目
標位置を前回の値に戻し、目標位置がその値となるよう
に相対位置を定め、キャラクタを小休止させている。従
って、主人公キャラクタに追従するキャラクタは、前方
に位置するキャラクタの空いた位置を目標位置として移
動している。
【0005】なお、本発明に関連する文献としては、1
988年4月に発行された「The Visual Computer」
、第283頁から295頁に、「Dynamic animation:
interaction and control」(Jane Wilhelms, Matthew M
oore, and Robert Skinner)の「2.2 Numerical integra
tion methods」と題される、オイラー法による運動方程
式に関する記載がある。
【0006】
【発明が解決しようとする課題】しかしながら、上記公
報の技術では、キャラクタ移動中の状況に合わせて、予
め設定された移動速度、方向転換を行う時期・確率が変
更されないので、主人公キャラクタの移動に対して各キ
ャラクタは追従表現となり、各キャラクタ同士の相互作
用を細かに表現しながら移動するすることができない。
すなわち、現実的な鳥や馬などの動物の群れ(集団)で
は、群れの中程から後方にかけて移動している鳥や馬
は、リーダーの動きを見て移動しているのではなく、周
囲の鳥や馬の動きに応じて速度や方向を合わせながら移
動しているので、上記公報の技術では現実の動物の群れ
の移動の様子をリアルに表現することができない、とい
う問題点がある。
【0007】本発明は上記事案に鑑み、集団キャラクタ
の一連の動作をよりリアルに表現することができる集団
キャラクタ移動方法、該記録媒体及びゲーム装置を提供
することを課題とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、本発明の第1の態様は、3次元仮想空間上に表現さ
れリーダーを有する複数のキャラクタが集団を形成して
予め設定された目標点に移動する集団キャラクタ移動方
法であって、所定時間内に、前記キャラクタの予め設定
された第1の領域内に他のキャラクタが存在するときに
該他のキャラクタから所定距離離れるための第1の加速
及び前記キャラクタの予め設定された第2の領域内に
前記リーダーに追随するように移動する他のキャラクタ
が存在するときに該他のキャラクタの移動する速さ及び
方向を合わせるための第2の加速度をそれぞれ演算し、
該演算された第1及びの加速度を前記3次元仮想空
間上のx、y、z成分毎に加算した総和加速度に基づい
て前記キャラクタの前記3次元仮想空間上の位置を演算
する、ステップを含んでいる。
【0009】本発明では、第1の領域内に他のキャラク
タが存在するときに該他のキャラクタから所定距離離れ
るための加速度及び第2の領域内にリーダーに追随する
ように移動する他のキャラクタが存在するときに該他の
キャラクタの移動する速さ及び方向を合わせるための加
度を3次元仮想空間上のx、y、z成分毎に加算した
総和加速度で各キャラクタを目標点に移動させるように
したので、各キャラクタは第1及びの領域内に存在
する他のキャラクタの移動状況に応じて速さや方向を変
更しながら移動することから各キャラクタの移動の動作
をリアルに表現することができる。
【0010】この場合において、第1及びの領域を
キャラクタを中心とする所定頂角及び所定半径で画定さ
れる球又は円とし、第1の領域は第2の領域に対して、
頂角を大きく、かつ、半径を小さくするようにれば、
自然界の動物の視界と同様の視界を各キャラクタに与え
ることができるので、各キャラクタの移動の動作を自然
界の動物に擬して表現することができる。更に、キャラ
クタの予め設定された第3の領域内に他のキャラクタが
存在するときに該他のキャラクタから所定距離離れるた
めの第3の加速度をそれぞれ演算し、該演算された第1
乃至第3の加速度を前記3次元仮想空間上のx、y、z
成分毎に加算した総和加速度に基づいて前記キャラクタ
の前記3次元仮想空間上の位置を演算するようにすれ
ば、各キャラクタは第1乃至第3の領域内に存在する他
のキャラクタの移動状況に応じて速さや方向を変更しな
がら移動することから各キャラクタの移動の動作をより
リアルに表現することができる。このとき、第1乃至第
3の領域をキャラクタを中心とする所定頂角及び所定半
径で画定される球又は円とし、第1の領域は第2の領域
に対して及び第2の領域は第3の領域に対して、頂角を
大きく、かつ、半径を小さくするようにすれば、自然界
の動物の視界と同様の視界を各キャラクタに与えること
ができるので、各キャラクタの移動の動作をより自然界
の動物に擬して表現することができる。また、第1の加
速度をキャラクタと他のキャラクタとの距離が小さいと
きに急激に増加するように変化させ、第3の加速度をキ
ャラクタと他のキャラクタとの距離が小さいときに一定
比率で増加するように変化させるようにすれば、キャラ
クタが他のキャラクタに近づくと大きな加速度で離れよ
うとし、キャラクタの遠方に他のキャラクタが存在する
と小さい加速度で遠方の他のキャラクタを避けようとす
るので、自然界の動物の群の各動物の動きと同様の動作
をさせることができる。また、集団が目標点に到達した
後、キャラクタが予め設定された情報に基づいて所定領
域内を所定の速さで彷徨する彷徨ステップを更に含むよ
うにすれば、自然界の動物の群が一定の領域で群れてい
る状態を表現することができる。このとき、キャラクタ
が所定領域外に移動したときに、所定領域内に任意に定
められた基準点に向けて所定領域内に戻るまで所定の速
さより大きい速さで移動するようにすれば、自然界の動
物が群から離れようとするときに群に戻ろうとする動作
をリアルに表現することができる。そして、キャラクタ
が他のキャラクタと膠着し移動不能となる膠着状態とな
ったときに該膠着状態を脱出するようにキャラクタの進
行方向を変える膠着状態脱出ステップを更に含むように
すれば、膠着状態で動きのないキャラクタをなくすこと
ができるので、ゲームを飽きさせることを防止すること
ができると共に、後ずさりができない自然界の動物の動
きを再現することができる。
【0011】本発明の第2の態様は、上述した第1の態
様の集団キャラクタ移動方法を記録したコンピュータ読
取可能な記録媒体である。また、本発明の第3の態様
は、入力部を操作して記録媒体から読み込んだソフトウ
エアを記憶部にロード可能なゲーム装置であって、所定
周期で呼び出され、リーダーを有する複数のキャラクタ
が集団を形成して予め設定された目標点に移動する集団
キャラクタの各キャラクタの位置を演算する位置演算部
を備えたゲーム装置において、前記位置演算部は、前記
キャラクタの予め設定された第1の領域内に他のキャラ
クタが存在するときに該他のキャラクタから所定距離離
れるための第1の加速度を演算する第1加速度演算手段
と、前記キャラクタの予め設定された第2の領域内に前
記リーダーに追随するように移動する他のキャラクタが
存在するときに該他のキャラクタの移動する速さ及び方
向を合わせるための第2の加速度を演算する第2加速度
演算手段と、前記第1及び加速度演算手段で演算さ
れた加速度を前記3次元仮想空間上のx、y、z成分毎
に加算した総和加速度に基づいて、前記キャラクタの前
記3次元仮想空間上の位置を演算する位置演算手段と、
を備えている。
【0012】
【発明の実施の形態】以下、図面を参照して本発明をビ
デオゲーム装置に適用した実施の形態について説明す
る。本実施形態では、キャラクタの集団を騎馬軍団と
し、予め設定された位置に整列させ、目標点に向かって
移動させ目標点で整列させる場合を想定する。
【0013】(構成)図3に示すように、ゲーム装置本
体2は装置全体の制御を行う第1乃至第3加速度演算手
段及び位置演算手段としてのCPUブロック20を備え
ている。CPUブロック20は、ゲーム装置本体2内の
各部とのデータ転送を主に制御するSCU(System Con
trol Unit)、中央演算処理装置として高速クロックで
作動するCPU、ゲーム装置本体2の基本制御動作が記
憶されたROM、CPUのワークエリアとして働くと共
に記録媒体1に記録されたゲームプログラムを一時的に
記憶するRAM及びこれらを接続するバスで構成されて
いる。
【0014】SCU20には外部バス25が接続されて
いる。外部バス25は、コントローラパッド等の入力装
置3からの入力を受信してCPUブロック20へ入力情
報を転送する入力受信部21、図示しないサブCPUを
備え記録媒体1に記録されたゲームプログラムを読み取
りCPUブロック20へ転送するCD−ROMドライバ
等の媒体読取部22、図示しないVRAMを備えCPU
ブロック20から転送された情報に従って画情報を作成
する画像処理部23、及び、図示しないサブCPUを備
え、例えば、騎馬軍団の足音等の音響を処理する音響処
理部24に接続されている。また、入力受信部21は入
力装置3に、画像処理部23はテレビモニタ4に、音響
処理部24はスピーカ5にそれぞれ接続されている。
【0015】(動作)次に、本実施形態の動作について
フローチャートを参照して説明する。なお、ゲーム装置
本体2には電源が接続されており、ゲーム装置本体2を
作動状態とさせる図示しない電源スイッチが押下される
と、図4に示す騎馬軍団移動ルーチンの実行が開始され
る。
【0016】騎馬軍団移動ルーチンでは、まず、ステッ
プ102で、記録媒体1が媒体読取部22に挿入されゲ
ームプログラムが読み取り可能状態となるまで待機し、
読み取り可能状態となると、次のステップ104におい
て、媒体読取部22にゲームプログラムを読み取らせ読
み取ったゲームプログラムをRAMに転送させる。次の
ステップ106では、入力装置3のスタートボタン31
が押下されるまで待機する。スタートボタン31が押下
されると、次のステップ108において、騎馬軍団を目
標点に移動させるための初期設定を行う軍団移動初期設
定処理サブルーチンを実行する。
【0017】図5に示すように、この軍団移動初期設定
処理サブルーチンでは、まず、ステップ202で騎馬軍
団を整列点に整列させるための整列命令情報をテレビモ
ニタ4に表示させる。この整列命令情報表示では、ステ
ップ104でRAMに格納されたデフォルト値を、図9
に示すように、ダイアログ形式で表示する。なお、図1
5(a)に示すように、図9において、「リーダー位
置」は騎馬軍団の軍団長(以下、リーダーという。)9
03の仮想空間上の位置を示しており、「リーダー向
き」はリーダーの仮想空間上の水平線902から前方方
向へ向かう角度φを示しており、「列数」及び「行数」
はリーダーを除く騎馬軍団の騎馬兵士が整列したときの
列及び行の数を示し、「列間隔」及び「行間隔」は騎馬
兵士間の列及び行の3次元仮想空間上の間隔を示してい
る。従って、プレーヤは自己の好みに応じて入力装置3
を操作してデフォルト値を変更することができる。ま
た、図9において、「キャンセル」に対応する入力装置
3の所定ボタン操作がなされると、変更した値がすべて
デフォルト値に戻されるようになっている(以下、図1
0〜12においても同じ。)。本実施形態では、リーダ
ーは自動的に設定されるが入力装置3により指定するよ
うにしてもよい。次のステップ204では、図9の「O
K」ボタンを押下するための入力装置3の所定ボタン操
作がなされるまで待機し、所定ボタン操作がなされる
と、ステップ206において整列命令情報の整列命令値
を取り込んでRAMに格納する。
【0018】次に、ステップ208では、騎馬軍団の到
達目標である目標命令情報をテレビモニタ4に表示させ
る。目標命令情報の表示は、ステップ104でRAMに
格納されたデフォルト値を、図10に示すように、ダイ
アログ形式で表示することにより行われる。なお、図1
7に示すように、図10において、「目標点」は仮想空
間上の騎馬軍団の到達目標点1103の位置を示してお
り、「突入角度」はリーダーの整列位置から前方に進む
方向を0度としたときに目標点に突入するときの角度を
示しており、「目標点半径」は目標点からの半径110
7を示し、リーダーがこの半径を有する円(球)内に到
達したときにリーダーが目標点に到達したものとみなす
ために設定するものであり、「彷徨時半径」は目標点か
らの半径1106を示し、騎馬軍団が目標点に到達した
後この半径1106で画定される円内を基準として彷徨
させるために設定するものである。次のステップ210
では所定ボタン操作(OKボタンの押下)がなされるま
で待機し、所定ボタン操作がなされると、ステップ21
2において目標命令情報の目標命令値を取り込んでRA
Mに格納する。
【0019】次に、ステップ214では、騎馬軍団の特
性である軍団特性情報をテレビモニタ4に表示させる。
図11に示すように、軍団特性情報は、ステップ104
でRAMに格納されたデフォルト値をダイアログ形式で
表示したものであり、軍団特性情報の変更が可能とされ
ている。なお、図11に示した「近距離知覚角度」等の
意味については後述する。次のステップ216では所定
ボタン操作がなされるまで待機し、所定ボタン操作がな
されると、ステップ218において軍団特性情報の値を
取り込んでRAMに格納し、軍団移動初期設定処理サブ
ルーチンを終了して図4のステップ110へ進む。
【0020】ステップ110では、図15(a)に示す
ように、騎馬軍団を図5のステップ206でRAMに格
納した整列命令値に従って騎馬軍団を整列させる。次
に、ステップ112では、1/60秒(約16.6ミリ
秒)に一度の周期で呼び出される垂直帰線周期による垂
直帰線割込処理がなされたか否かを判断することによ
り、割込が発生したか否かを判定する。ステップ112
で否定判定がなされると、次のステップ116におい
て、視点を変更する等の入力受信部21から転送された
入力情報に対する処理やゲーム効果音を音響制御部24
に合成させるための処理等のメイン処理を実行し、ステ
ップ118に進む。
【0021】一方、ステップ112で肯定判定がなされ
ると、次のステップ214において騎馬軍団を整列位置
から目標点へ向けて移動させる軍団移動処理サブルーチ
ンが割り込み処理時間1/60秒内で実行される。図6
に示すように、この軍団移動処理サブルーチンでは、騎
馬軍団のリーダーを含む騎馬兵士全員に対して一人ずつ
最新位置を算出して全員の最新位置算出終了後、画像処
理部23へ全員の最新位置情報を転送するものである。
【0022】まず、ステップ302で騎馬軍団全員の処
理が終了したか否かを判断し、否定判断の場合には、次
のステップ304において、処理対象がリーダーが否か
を判断する。
【0023】肯定判断のときは、ステップ306におい
て、整列点と目標点との間でリーダーがたどる軌跡であ
るベジエ曲線を算出し、ベジエ曲線上を移動するリーダ
ーの最新位置を演算する。ここで、4点の点列で構成さ
れるベジエ曲線について一言すれば、図13(a)に示
すように、今、整列点Pと目標点Pとが与えられた
ときに、整列点Pから目標点Pまでの線分を3等分
したその1と同じ長さであって、整列点Pの向きの方
向に点P、目標点Pの突入角度の方向とは逆方向に
を設定し、図13(b)に示すように、滑らかな曲
線としたものであるが詳しくは次の通りである。
【0024】一般的な4点(P,P,P,P
で形成されるベジエ曲線上の位置を示す位置ベクトルR
(S)は、4点から算出されるベジエ曲線全体を1とし
たときの相対位置であるベジエパラメータをS(0<=
S<=1)とすると、次式(1)で与えられる。
【0025】
【数1】
【0026】3次元座標系の場合は上記式(1)をx、
y、zの各座標ごとに求めればよいので、次式(2)で
与えられる。
【0027】
【数2】
【0028】ベジエ曲線をRとすると、上記式(1)
(又は、式(2))からベジエ曲線Rは位置ベクトルR
(S)の点列で構成されており、ベジエパラメータSは
時間tの増加と共に0から1に暫時増加しいくので、ベ
ジエ曲線Rは、R=R(S(t))のように、時間tの
関数で表すことができる。
【0029】ベジエ曲線Rを距離と考えれば、時間tで
微分することにより速度vel(t)を求めることがで
きる。また、連鎖定理により、速度vel(t)は次式
(3)で与えられる。更に、式(3)を変形して式
(4)を求めることができる。
【0030】
【数3】
【0031】式(4)の右辺の分母は位置ベクトル自身
の内積となり、vel(t)は初期値0で後述するオイ
ラー法により垂直帰線割込処理の度に順次求めることが
できる。dtは垂直帰線割込処理の時間間隔で上述した
ように1/60秒である。また、dR/dSは上記式
(2)をSについて1回微分して得られるベクトル
(x,y,z)である。従って、dSを最終的に求める
ことができるので、ベジエ曲線上のリーダーの位置を演
算することができる。これにより、リーダーはベジエ曲
線上の軌道を割込処理ごとに移動していく様子がテレビ
モニタ4に表示される。図17を参照して更に詳述すれ
ば、点列は整列点1101、点1109、点1108、
目標点1103の4点であり、ベジエ曲線は曲線110
2である。リーダー903はベジエ曲線1102上を割
込処理ごとに目標点1103に向けて移動することとな
る。なお、点列の算出は、整列点又は目標点が変更され
た場合には再度算出される。ステップ306でリーダー
の最新位置の演算後、軍団移動処理サブルーチンはステ
ップ302に戻る。
【0032】一方、ステップ304で否定判断の場合に
は、次のステップ308において他の騎馬兵士との接触
・衝突回避を目的として一定距離以上離れようとするた
めに発生する第1の加速度としての加速度を求める近距
離加速度演算を行う。この近距離加速度演算では、ま
ず、図5のステップ218で取り込んだ近距離知覚角度
及び近距離知覚半径を読み出す。ここに、近距離知覚角
度とは、騎馬兵士の現在の顔の向きで見える近傍の視界
の角度をいい、図11の領域801に示すように、本実
施形態では190度がデフォルト値とされている。ま
た、近距離知覚半径とは、近距離知覚角度で騎馬兵士が
見える近傍の距離をいい、図11の領域801に示すよ
うに、本実施形態では3mがデフォルト値とされてい
る。次に、前回の垂直帰線割込処理時(1/60秒前)
にRAMに記憶した他の騎馬兵士の位置を読み出し、他
の騎馬兵士が近距離知覚角度及び近距離知覚半径で画定
される第1の領域としての近距離領域内にいるか否かを
判断する。
【0033】他の騎馬兵士がいる場合には、その騎馬兵
士との距離を求め、その距離に対応する反発力を求め
る。上述したように、近距離では他の騎馬兵士との接触
・衝突回避を目的としているので、他の騎馬兵士が近接
しているときは急激にその騎馬兵士から離れるようにす
ることが望ましいことから、図14に示すように、縦軸
に反発力、横軸に距離をとったときに、距離と反発力の
関係は例えば2次関数Fのように距離が短い場合は急
激に反発力が増加するように変化するものとして演算す
る。従って、距離が0の場合の反発力は、図8の領域8
01で与えられた近距離最大反発力の値となり、距離が
近距離知覚半径に等しい場合は、反発力は0となる。求
めた反発力を質量で除算した加速度とみなし(図11の
領域801の単位系参照)、当該他の騎馬兵士から自己
に向かうベクトルと、の積を、各成分α,α,α
ごとに求め、これを近距離加速度とする。そして、更に
他の騎馬兵士が近距離領域内いるか否かを判断し、い
る場合には同様にして反発力を求め、求めた反発力から
加速度を求め、先に求めた近距離加速度に各成分x,
y,zごとに加算して近距離加速度としRAMに格納し
てステップ310へ進む。
【0034】一方、他の騎馬兵士が近距離領域内にいな
い場合には、距離が近距離知覚半径に等しい場合と同様
に、反発力は0であるので、近距離加速度の各成分
α,α ,αを0として、RAMに格納してステッ
プ310へ進む。
【0035】ステップ310では、近傍の騎馬兵士と同
じ速度になろうとするために発生する第2の加速度とし
ての加速度を求める中距離加速度演算を行う。この中距
離加速度演算では、まず、ステップ218で取り込んだ
中距離知覚角度及び中距離知覚半径を読み出す。ここ
に、中距離知覚角度とは、騎馬兵士の現在の顔の向きで
見える中距離の視界の角度をいい、図11の領域802
に示したように、本実施形態では近距離知覚角度より小
さい170度がデフォルト値とされている。また、中距
離知覚半径とは、中距離知覚角度で騎馬兵士が見える距
離をいい、図11の領域802に示すように、本実施形
態では近距離知覚距離より大きい7mがデフォルト値と
されている。次に、前回の垂直帰線割込処理時(1/6
0秒前)にRAMに記憶した他の騎馬兵士の位置を読み
出し、他の騎馬兵士が中距離知覚角度及び中距離知覚半
径で画定される第2の領域としての中距離領域内にいる
か否かを判断する。
【0036】中距離領域内に他の騎馬兵士がいない場合
には、最大速度でリーダーを追跡させるために、まず、
リーダーへの方向ベクトル(x,y,z)を求める。ここ
に、方向ベクトルとは、大きさ(長さ)について意味を
持たない単位ベクトルで、方向だけが意味を持つベクト
ル(x,y,z)をいう。リーダーへの方向ベクトル(x,y,
z)は、リーダーの位置(x,y,z)から自己の位置(x,y,
z)の差を求め、単位ベクトル化することにより得るこ
とができる。次に、式(5)により加速度を演算し、後
述するオイラー法により位置を演算してRAMに格納し
てステップ312へ進む。
【0037】
【数4】
【0038】一方、中距離領域内に他の騎馬兵士がいる
場合には、次式(6)により中距離領域内にいる他の騎
馬兵士の平均速度に合わせようとする加速度を演算し、
後述するオイラー法により位置を演算してRAMに格納
してステップ312へ進む。なお、式(6)において、
速度同一化時間とは、移動速度から加速度を求めるとき
に使用される時間パラメータをいい、本実施形態では約
0.3秒をデフォルト値としている(図11の領域80
4参照)。
【0039】
【数5】
【0040】ステップ312では、騎馬兵士の進行方向
にいる遠方の騎馬兵士との接触を回避するために進行方
向を変更して見通しを良くするために発生する第3の加
速度としての加速度を求める遠距離加速度演算を行う。
この遠距離加速度演算では、まず、ステップ218で取
り込んだ遠距離知覚角度及び遠距離知覚半径を読み出
す。ここに、遠距離知覚角度とは、騎馬兵士が前方に向
かって進むときの遠方の視界の角度をいい、図11の領
域803に示すように、本実施形態では中距離知覚角度
より小さい30度がデフォルト値とされている。また、
遠距離知覚半径とは、遠距離知覚角度で騎馬兵士が見え
る距離をいい、図11の領域803に示すように、本実
施形態では中距離知覚半径より大きい15mとされてい
る。次に、前回の垂直帰線割込処理時にRAMに記憶し
た他の騎馬兵士の位置を読み出し、他の騎馬兵士が遠距
離知覚角度及び遠距離知覚半径で画定される第3の領域
としての遠距離領域内にいるか否かを判断する。
【0041】他の騎馬兵士がいる場合には、その騎馬兵
士との距離を求め、その距離に対応する反発力を求め
る。遠距離では、近距離の場合のように急激に近傍の騎
馬兵士から離れるようにする必要はないので、図14に
示すように、縦軸に反発力、横軸に距離をとったとき
に、距離と反発力の関係は例えば1次関数Fのように
変化するものとして演算する。従って、距離が0の場合
の反発力は、図11の領域803で与えた遠距離最大反
発力の値となり、距離が遠距離知覚半径に等しい場合
は、反発力は0となる。求めた反発力と、当該他の騎馬
兵士から自己に向かうベクトルと、の積を、各成分x,
y,zごとに求め、これを遠距離加速度とする。そし
て、更に他の騎馬兵士が遠距離領域内いるか否かを判
断し、いる場合には同様にして反発力を求め、求めた反
発力から加速度を求め、先に求めた遠距離加速度に各成
分x,y,zごとに加算して遠距離加速度としRAMに
格納してステップ314へ進む。
【0042】一方、他の騎馬兵士が遠距離領域内にいな
い場合には、距離が遠距離知覚半径に等しい場合と同様
に、反発力は0であるので、遠距離加速度の各成分
α,α ,αを0として、RAMに格納してステッ
プ314へ進む。
【0043】ステップ314では、RAMに格納した近
距離加速度、中距離加速度及び遠距離加速度を読み出し
て、各成分x,y,zごとに加算して総和加速度を求
め、次のステップ316において、最新速度及び最新位
置を演算しRAMに格納してステップ302へ戻る。こ
こで、現在の時間をt、経過時間をδt、速度V(Vt+
δt:時刻t+δtにおける速度、Vt:時刻tにおける速
度)、加速度をα(αt:時刻tにおける加速度)、位
置をP(Pt+δt:時刻t+δtにおける位置、Pt:時刻
tにおける位置)とすると、最新速度及び最新位置は次
式(7)に示すオイラー法を用いた運動方程式により得
ることができる。
【0044】
【数6】
【0045】従って、式(7)から、最新速度及び最新
位置は、最新速度=前回速度+経過時間×加速度、最新
位置=前回位置+経過時間×(速度+0.5×経過時間
×加速度)として求めることができる。本実施形態の3
次元座標系では、下記式(8)に示すように、割込処理
の度に、最新加速度を3次元座標軸x,y,zの各成分
ごとに求め、最新速度及び最新位置が算出し、これら最
新速度及び最新位置の値をRAMに記憶する(以下、最
新速度及び最新位置をRAMに記憶することについては
説明を省略する。)。
【0046】
【数7】
【0047】ステップ302において肯定判断された場
合には、すなわち、騎馬軍団全員の最新位置の算出が終
了した場合には、次のステップ318で騎馬軍団全員の
最新位置データを画像処理部25に転送し、割込による
軍団移動処理サブルーチンを終了して図4のステップ1
18に進む。
【0048】これにより、テレビモニター4には1/6
0秒ごとに騎馬軍団の移動状態が表示される。軍団移動
の様子を、説明を簡単にするために2次元仮想空間とし
た図15を参照して説明すれば、リーダーは、リーダー
位置:(x,y)=(0,0)、リーダー向きφ:90
度、目標点:(x,y)=(0,150)、突入角度:
90度に設定されており、図15(a)はステップ11
0で騎馬軍団が整列したときの状態である。リーダー9
03が移動すると、まずその背後の騎馬兵士がそれに気
づいたように追従する。騎馬軍団後方の騎馬兵士は、未
だ周りが込み合っていてすぐには移動できないので、多
少の広がりを持って待機している(図15(b))。周
りに他の騎馬兵士が少なくなってくると、ばらけた(散
開した)状態で移動していく(図15(c))。従っ
て、プレーヤがテレビモニタ4上に表示された騎馬軍団
の移動の様子を見ると、各々の騎馬兵士は知覚角度、知
覚半径、最大反発力等の設定値に基づいて独自に判断し
て行動しているように見える。また、図16は、リーダ
ーをリーダー位置:(x,y)=(−20,−10)、
リーダー向きφ:80度、目標点:(x,y)=(2
0,200)、突入角度:80度で設定したものであ
り、テレビモニタ4に(a)、(b)、(c)の順で騎
馬軍団が移動する様子を示したものである。
【0049】図4のステップ118では、リーダーが目
標点に到達したか否かを、リーダーが目標点半径内に入
ったか否かを判断することにより判定する。否定判定の
ときは、ステップ112へ戻り、上述したように騎馬軍
団の移動が進行し、肯定判定のときは、次のステップ1
19で後述するようにフラグとして機能するkを0と
し、次にステップ120において、ステップ112と同
様に、1/60秒(約16.6ミリ秒)に一度の周期で
呼び出される垂直帰線周期による垂直帰線割込処理がな
されたが否かを判断することにより、割込が発生したか
否かを判定する。ステップ120で否定判定がなされる
と、次のステップ122において、ステップ116と同
様のメイン処理を実行し、ステップ126に進む。一
方、ステップ120で肯定判定がなされると、次のステ
ップ124において騎馬軍団全員が目標点近傍を彷徨す
る彷徨処理サブルーチンが割込により1/60秒以内で
実行される。
【0050】図7に示すように、この彷徨処理サブルー
チンでは、まず、ステップ404で騎馬軍団全員につい
て彷徨基準点を設定する。この彷徨基準点について図1
7を参照して説明すれば、目標点1103を中心とする
彷徨半径1107により画定される彷徨円1105内の
任意の点であり、他の騎馬兵士の彷徨基準点との重複を
避けて騎馬兵士ごとにランダムに選定された点である。
次のステップ406では、kが1か否かを判断し、肯定
判断のときはステップ422へ進み、否定判断のとき
は、次のステップ408において騎馬兵士全員の処理が
終了したか否かを判断する。ステップ408で否定判断
された場合には、次のステップ410において、処理対
象がリーダーが否かを判断する。
【0051】ステップ410での判断が肯定判断のとき
は、ステップ412で、次式(9)により加速度を演算
してこの加速度にステップ308で求めたと同様に近距
離加速度を求めて各成分x,y,zごとに加算した総和
加速度を算出し、現在の自己の方向ベクトルをRAMに
記憶して、次のステップ414において、上述したオイ
ラー法により最新位置を演算する。
【0052】
【数8】
【0053】次のステップ416では、ステップ414
で演算したリーダーの最新位置が彷徨円外か否かを判断
し、否定判断のときはステップ406へ戻り、肯定判断
のときは、次のステップ418においてkを1としてス
テップ406へ戻る。このkは騎馬軍団全員が彷徨状態
に入った否かを示すフラグであり、リーダーが一旦彷徨
円の範囲外に出るとkは0から1となり、騎馬軍団全員
が彷徨状態に入る。
【0054】ステップ410での判断が否定判断のとき
は、ステップ420において、ステップ412と同様に
加速度を演算し方向ベクトルを記憶して、ステップ42
1において最新位置を演算してステップ406へ戻る。
【0055】一方、ステップ408で肯定判断されたと
きは、騎馬軍団全員の処理が終了したので、ステップ4
34で騎馬軍団全員の最新位置データを画像処理部25
に転送して彷徨処理サブルーチンを終了して図4のステ
ップ126へ進む。これにより、図17に示すように、
リーダー903が所定突入角度で彷徨円1104内に到
達すると、リーダー903は軌跡1110で示した所定
突入角度で彷徨円1104に突入した延長方向に彷徨時
の速度に一致させる加速度で移動し、騎馬兵士もリーダ
ーに追随して彷徨時の速度に一致させる加速度で移動す
る。
【0056】次にステップ422では、騎馬軍団全員の
処理が終了したか否かを判断し、否定判断の場合には、
次のステップ424において処理対象の騎馬兵士の前回
RAMに格納した位置を読み出し、次のステップ426
において当該処理対象の騎馬兵士が彷徨円外にいるか否
かを判断する。否定判断のときは、次のステップ428
においてステップ412と同様に加速度を演算し、更に
オイラー法で位置を演算し現在の方向ベクトルをRAM
に記憶してステップ432へ進み、肯定判断のときは、
ステップ430において最大速度で彷徨基準点に向かっ
て彷徨円内に入るための加速度及びオイラー法によって
位置を演算してステップ432へ進む。ステップ430
での加速度の演算では、まず、彷徨基準点(x,y,z)と現
在の位置(x,y,z)との差を求めて方向ベクトルを算出
し、次式(10)により加速度を演算する。次に、この
加速度にステップ308で求めたと同様に近距離加速度
を求めて各成分x,y,zごとに加算した総和加速度を
演算する。
【0057】
【数9】
【0058】これにより、図18(a)に示すように、
騎馬兵士1203は彷徨円1105をゆっくりとした速
度で彷徨し、図18(b)に示すように、騎馬兵士12
03が彷徨円1105から外に前回出た場合には、騎馬
兵士1203は騎馬兵士1203に対してステップ40
4で設定された彷徨基準点Bへ向けて彷徨円1105内
に入るまで最大速度で戻ろうとする。従って、彷徨状態
では、騎馬軍団の各騎馬兵士は概ね彷徨円内をゆっくり
とした速度で移動することとなる。
【0059】次のステップ432では、図8に示す膠着
処理サブルーチンが実行される。この膠着処理サブルー
チンでは、例えば、図19(a)に示すように、騎馬兵
士1301の近距離領域内に騎馬兵士1302が直線上
に騎馬兵士1301方向に進行しようとする場合、換言
すれば、正面から反発力を受けた場合の処理が実行され
る。
【0060】図8に示すように、膠着処理サブルーチン
では、まず、ステップ502において、近距離領域内に
いる他の騎馬兵士の自己に向かう反発力があるか否かを
判断する。否定判断の場合には、膠着サブルーチンを終
了して図7のステップ422へ戻り、肯定判断の場合に
は、次のステップ504においてθ度回転させて、ステ
ップ506で回転角θ及びその方向の単位ベクトルを方
向ベクトルとしてRAMに格納して、回転角θ方向へ進
もうとする。しかしながら、図19(a)に示したよう
に、θ度回転させた方向にも自己に向かう反発力を有す
る騎馬兵士1303がいる場合には近距離反発力が働く
ので進むことができず、次の垂直帰線割込では−θ度回
転させることとなり騎馬兵士1301は動くことができ
なくなってしまう。そこで、次のステップ508では、
現在を含め過去8回の垂直帰線分割でRAMに記憶した
角度の総和がほぼ0か否かを判断することにより、膠着
状態、すなわち、騎馬兵士が動けない状態にあるか否か
を判定する。膠着状態でないと判定された場合には、膠
着処理サブルーチンを終了して図7のステップ422へ
戻り、膠着状態と判定された場合には、次のステップ5
10において、近距離領域内にいる他の騎馬兵士全てと
自己の座標差を求め、それぞれ単位ベクトル化した方向
ベクトルを演算して、その総和を求め、更に総和を求め
たベクトルを単位ベクトル化して方向ベクトルとし、こ
の方向ベクトルを自己の方向ベクトル(x,y,z)とす
る。これにより、図19(b)に示すように、騎馬兵士
1301は進行方向を変えるので、近距離領域内にいる
他の騎馬兵士1302、1303との膠着状態から抜け
出しゲームが進行することとなる。次のステップ512
では、ステップ510で演算した方向ベクトル(x,y,
z)に最大加速度を掛けて加速度とし、ステップ514
においてオイラー法により最新速度及び最新位置を求め
て、膠着処理サブルーチンを終了して図7のステップ4
22へ戻る。
【0061】図7のステップ422で肯定判断のとき
は、ステップ434において最新位置データを画像処理
部25に転送して彷徨処理サブルーチンを終了して図4
のステップ126へ進む。
【0062】ステップ126では、彷徨状態にある騎馬
軍団を整列させるために、プレーヤから入力装置3によ
り整列命令を受信したか否かを判断し、否定判断のとき
は、ステップ120へ戻り、肯定判断のときは、次のス
テップ128において、例えば、図12に示すダイアロ
グをテレビモニタ4に表示させる。次のステップ130
では、プレーヤがリーダー向きをデフォルト値のまま又
は変更して入力装置3でOKボタンを押下する操作が行
われるまで待機し、押下されると、ステップ132でリ
ーダーの向きを取り込み、次のステップ134におい
て、騎馬軍団を整列させて騎馬軍団移動ルーチンが終了
する。なお、この整列点は目標命令の変更がない限り
(図10のダイアログはいつでも呼び出せるので目標点
の変更が可能)、ステップ212で取り込んだ目標点と
される。
【0063】以上のように本実施形態では、騎馬軍団の
騎馬兵士は、他の騎馬兵士に近づき過ぎたときに一定距
離離れようとする近距離加速度と、廻りにいる騎馬兵士
と走る速さ及び方向を合わせようとする中距離加速度
と、進行方向を変更して見通しを良くしようとする遠距
離加速度と、を加算した総和加速度でリーダーに追従す
るので、リーダーの移動に対して騎馬兵士は単なる追従
表現とはならず、リーダーと直接関係のない近傍の各騎
馬兵士の相互作用を細かに表現しながら、あたかも各々
の知覚角度、知覚半径、最大反発力等の設定値に基づい
て独自に判断して移動しているように見える。このた
め、現実の鳥や馬などの動物の群れ(集団)と同様に、
騎馬軍団の中程から後方にかけて移動している騎馬兵士
は、リーダーの動きに追従して移動しているのではな
く、周囲の騎馬兵士の動きに応じて速度や方向を合わせ
ながら移動するので、騎馬軍団の移動の動作をよりリア
ルに表現することができる。従って、プレーヤは仮想空
間上にリアルに表現された騎馬軍団の移動動作を現実感
を持って楽しむことができる。
【0064】また、目標点到達後各騎馬兵士に対してラ
ンダムに彷徨基準点を設定し彷徨状態となったときに、
彷徨円内ではゆっくりとした速度で彷徨し、彷徨円外に
出たときは彷徨基準点に戻るようにしたので、現実の野
生の馬が群れているのと同様の状態を表現でき、騎馬軍
団が新たな命令(整列命令)を受けるまで目標点近傍に
待機している様子をリアルに表現することができる。
【0065】更に、膠着状態となったときには、騎馬兵
士を後ずさりさせることなく回転して膠着状態から脱出
するようにしたので、騎馬が後ずさりできないという習
性をリアルに表現することができる。従って、本実施形
態の各動作は、動物が実際に行う動作をほぼ完全に再現
しているということができる。
【0066】なお、本実施形態ではゲームプログラムを
記録した記録媒体1を媒体読取部22で読み取ることに
よりRAMへプログラムを転送するようにしたが、媒体
記録部22を備えずROMにゲームプログラムを記憶し
てこのROMからゲームプログラムを読み出すようにし
てもよい。このようにすれば、ゲーム専用機とすること
ができる。また、本実施形態では、記録媒体としてCD
−ROMを使用する例で説明したが、CPUブロック2
0のRAMにロード可能なROMカートリッジや大容量
のフロッピーディスク、マグネットオプティカルディス
ク等であっても、これらの媒体読取部を備えていれば本
発明を適用することができることはいうまでもない。
【0067】また、本実施形態では、ダイアログにより
軍団移動のための初期設定を行うようにしたが、実際の
ゲームにおいては、例えば、入力装置3を用いて画面上
に表示されているカーソルを移動させ、騎馬軍団の移動
を開始する整列位置等を指定することにより、自動的に
設定されるようにしてもよい。また、ゲームの進行状況
に応じて全ての初期設定を自動的に行うようにしてもよ
い。
【0068】更にまた、本実施形態では、一定間隔で行
うため垂直帰線周期の割込処理内で騎馬兵士の加速度、
位置演算を行うようにしたが、タイマ割込処理内やメイ
ン処理内で行われるようにしてもよい。また、本実施形
態では、総和加速度を求めた後、最新位置の演算をオイ
ラー法により行った例を示したが、近距離、中距離、遠
距離加速度を演算する度にオイラー法を用いて位置を順
次算出していくようにしてもよい。
【0069】また、本実施形態では、3次元座標軸で説
明したが、z軸の値を0として2次元座標軸に適用する
ことも可能であり上述した特許請求の範囲内において他
の種々の実施形態を採ることができることはいわゆる当
業者にとって明らかである。
【0070】
【発明の効果】以上説明したように、本発明によれば、
第1の領域内に他のキャラクタが存在するときに該他の
キャラクタから所定距離離れるための加速度及び第2の
領域内にリーダーに追随するように移動する他のキャラ
クタが存在するときに該他のキャラクタの移動する速さ
及び方向を合わせるための加速度を3次元仮想空間上の
x、y、z成分毎に加算した総和加速度で各キャラクタ
を目標点に移動させるようにしたので、各キャラクタは
第1及びの領域内に存在する他のキャラクタの移動
状況に応じて速さや方向を変更しながら移動することか
ら各キャラクタの移動の動作をリアルに表現することが
できる、という効果を得ることができる。
【図面の簡単な説明】
【図1】家庭用ゲーム装置の接続態様を示す概略斜視図
である。
【図2】家庭用ゲーム装置に使用される入力装置の平面
図である。
【図3】本発明を適用した実施形態のゲーム装置本体の
構成を示す概略ブロック図である。
【図4】実施形態の騎馬軍団移動ルーチンを示すフロー
チャートである。
【図5】騎馬軍団移動ルーチンのステップ108の詳細
を示す軍団移動初期設定処理サブルーチンのフローチャ
ートである。
【図6】騎馬軍団移動ルーチンのステップ114の詳細
を示す軍団移動処理サブルーチンのフローチャートであ
る。
【図7】騎馬軍団移動ルーチンのステップ124の詳細
を示す彷徨処理サブルーチンのフローチャートである。
【図8】彷徨処理サブルーチンのステップ432の詳細
を示す膠着状態サブルーチンのフローチャートである。
【図9】テレビモニタに表示された整列命令情報のダイ
アログ画面である。
【図10】テレビモニタに表示された目標命令情報のダ
イアログ画面である。
【図11】テレビモニタに表示された軍団特性情報のダ
イアログ画面である。
【図12】テレビモニタに表示された目標点整列命令情
報のダイアログ画面である。
【図13】(a)はベジエ曲線の点列を説明するための
説明図であり、(b)はベジエ曲線を説明するための説
明図である。
【図14】近距離領域及び遠距離領域における反発力と
距離との関係を示す説明図である。
【図15】騎馬軍団の移動状態を示す説明図であり、
(a)は整列時、(b)は(a)から所定時刻経過後、
(c)は(b)から更に所定時刻経過後にそれぞれテレ
ビモニタに表示された騎馬軍団を示したものである。
【図16】騎馬軍団の別の移動状態を示す説明図であ
り、(a)は整列時、(b)は(a)から所定時刻経過
後、(c)は(b)から更に所定時刻経過後にそれぞれ
テレビモニタに表示された騎馬軍団を示したものであ
る。
【図17】騎馬軍団のリーダーがたどる軌跡を説明する
説明図である。
【図18】騎馬軍団が彷徨状態となった後の騎馬兵士の
彷徨の様子を説明するための説明図であり、(a)は騎
馬兵士が彷徨円内にいる場合、(b)は騎馬兵士が彷徨
円から外に出た場合の様子を示したものである。
【図19】騎馬兵士同士の膠着状態を説明する説明図で
あり、(a)は正面から反発力を受ける場合、(b)は
膠着状態を脱出する場合を示したものである。
【符号の説明】
1 記録媒体 2 ゲーム装置本体 3 入力装置 4 テレビモニタ 20 CPUブロック(第1、第2、第3加速度演算手
段、位置演算手段)
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 13/00 G06T 15/70 A63F 13/00 G06F 19/00 110

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 3次元仮想空間上に表現されリーダーを
    有する複数のキャラクタが集団を形成して予め設定され
    た目標点に移動する集団キャラクタ移動方法であって、
    所定時間内に、前記キャラクタの予め設定された第1の
    領域内に他のキャラクタが存在するときに該他のキャラ
    クタから所定距離離れるための第1の加速度及び前記キ
    ャラクタの予め設定された第2の領域内に前記リーダー
    に追随するように移動する他のキャラクタが存在すると
    きに該他のキャラクタの移動する速さ及び方向を合わせ
    るための第2の加速度をそれぞれ演算し、該演算された
    第1及びの加速度を前記3次元仮想空間上のx、
    y、z成分毎に加算した総和加速度に基づいて前記キャ
    ラクタの前記3次元仮想空間上の位置を演算する、ステ
    ップを含む集団キャラクタ移動方法。
  2. 【請求項2】 前記第1及び第2の領域は前記キャラク
    タを中心とする所定頂角及び所定半径で画定される球又
    は円であり、前記第1の領域は前記第2の領域に対し
    て、前記頂角が大きく、かつ、前記半径が小さいことを
    特徴とする請求項1に記載の集団キャラクタ移動方法。
  3. 【請求項3】 更に、前記キャラクタの予め設定された
    第3の領域内に他のキャラクタが存在するときに該他の
    キャラクタから所定距離離れるための第3の加速度を演
    算し、前記演算された第1乃至第3の加速度を前記3次
    元仮想空間上のx、y、z成分毎に加算した総和加速度
    に基づいて前記キャラクタの前記3次元仮想空間上の位
    置を演算する、ステップを含む請求項1に記載の集団キ
    ャラクタ移動方法。
  4. 【請求項4】 前記第1乃至第3の領域は前記キャラク
    タを中心とする所定頂角及び所定半径で画定される球又
    は円であり、前記第1の領域は前記第2の領域に対して
    及び前記第2の領域は前記第3の領域に対して、前記頂
    角が大きく、かつ、前記半径が小さいことを特徴とする
    請求項に記載の集団キャラクタ移動方法。
  5. 【請求項5】 前記第1の加速度は前記キャラクタと前
    記他のキャラクタとの距離が小さいときは急激に増加す
    るように変化し、前記第3の加速度は前記キャラクタと
    前記他のキャラクタとの距離が小さいときは一定比率で
    増加するように変化することを特徴とする請求項又は
    請求項に記載の集団キャラクタ移動方法。
  6. 【請求項6】 前記キャラクタが予め設定された情報に
    基づいて所定領域内を所定の速さで彷徨する彷徨ステッ
    プを更に含む請求項1乃至請求項のいずれか1項に記
    載の集団キャラクタ移動方法。
  7. 【請求項7】 前記キャラクタが前記所定領域外に移動
    したときに、前記所定領域内に任意に定められた基準点
    に向けて前記所定領域内に戻るまで前記所定の速さより
    大きい速さで移動することを特徴とする請求項に記載
    の集団キャラクタ移動方法。
  8. 【請求項8】 前記キャラクタが他のキャラクタと膠着
    し移動不能となる膠着状態となったときに該膠着状態を
    脱出するように前記キャラクタの進行方向を変える膠着
    状態脱出ステップを更に含む請求項1乃至請求項のい
    ずれか1項に記載の集団キャラクタ移動方法。
  9. 【請求項9】 請求項1乃至請求項のいずれか1項に
    記載の集団キャラクタ移動方法を記録したコンピュータ
    読取可能な記録媒体。
  10. 【請求項10】 入力部を操作して記録媒体から読み込
    んだソフトウエアを記憶部にロード可能なゲーム装置で
    あって、所定周期で呼び出され、リーダーを有する複数
    のキャラクタが集団を形成して予め設定された目標点に
    移動する集団キャラクタの各キャラクタの位置を演算す
    る位置演算部を備えたゲーム装置において、 前記位置演算部は、 前記キャラクタの予め設定された第1の領域内に他のキ
    ャラクタが存在するときに該他のキャラクタから所定距
    離離れるための第1の加速度を演算する第1加速度演算
    手段と、 前記キャラクタの予め設定された第2の領域内に前記リ
    ーダーに追随するように移動する他のキャラクタが存在
    するときに該他のキャラクタの移動する速さ及び方向を
    合わせるための第2の加速度を演算する第2加速度演算
    手段と、 記第1及び加速度演算手段で演算された加速度を
    前記3次元仮想空間上のx、y、z成分毎に加算した総
    和加速度に基づいて、前記キャラクタの前記3次元仮想
    空間上の位置を演算する位置演算手段と、 を備えたゲーム装置。
  11. 【請求項11】 更に、前記キャラクタの予め設定され
    た第3の領域内に他のキャラクタが存在するときに該他
    のキャラクタから所定距離離れるための第3の加速度を
    演算する第3加速度演算手段を備え、前記位置演算手段
    は、前記第1乃至第3加速度演算手段で演算された加速
    度を前記3次元仮想空間上のx、y、z成分毎に加算し
    た総和加速度に基づいて、前記キャラクタの前記3次元
    仮想空間上の位置を演算することを特徴とする請求項1
    0に記載のゲーム装置。
JP23359599A 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置 Expired - Fee Related JP3163496B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP23359599A JP3163496B2 (ja) 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置
GB0018702A GB2356539A (en) 1999-08-20 2000-08-01 A method of moving grouped characters
US09/631,993 US6525736B1 (en) 1999-08-20 2000-08-03 Method for moving grouped characters, recording medium and game device
EP00116940A EP1078665A3 (en) 1999-08-20 2000-08-07 Method for moving grouped characters, recording medium and game device
KR10-2000-0045883A KR100383047B1 (ko) 1999-08-20 2000-08-08 집단 캐릭터 이동방법, 기록매체 및 게임장치
CNB001235168A CN1178170C (zh) 1999-08-20 2000-08-18 移动成群角色对象的方法和游戏装置
TW089116825A TW440456B (en) 1999-08-20 2000-08-28 Method for moving grouped characters, recording medium and game device
HK01103138A HK1032465A1 (en) 1999-08-20 2001-05-03 Method for moving grouped characters, recording medium and game device.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23359599A JP3163496B2 (ja) 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置

Publications (2)

Publication Number Publication Date
JP2001056870A JP2001056870A (ja) 2001-02-27
JP3163496B2 true JP3163496B2 (ja) 2001-05-08

Family

ID=16957532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23359599A Expired - Fee Related JP3163496B2 (ja) 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置

Country Status (8)

Country Link
US (1) US6525736B1 (ja)
EP (1) EP1078665A3 (ja)
JP (1) JP3163496B2 (ja)
KR (1) KR100383047B1 (ja)
CN (1) CN1178170C (ja)
GB (1) GB2356539A (ja)
HK (1) HK1032465A1 (ja)
TW (1) TW440456B (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355982B2 (ja) * 2000-03-30 2009-11-04 株式会社セガ 集団キャラクタの移動制御方法、集団キャラクタの移動制御を含む遊戯装置、遊戯成績の演算方法及び記録媒体
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP3779869B2 (ja) * 2000-10-16 2006-05-31 株式会社ケー・エー・ジェー 仮想現実空間を表示する方法、仮想現実空間を表示するための装置、および単位仮想現実空間情報を記録した記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7530112B2 (en) * 2003-09-10 2009-05-05 Cisco Technology, Inc. Method and apparatus for providing network security using role-based access control
JP4735802B2 (ja) * 2003-10-23 2011-07-27 新世代株式会社 ゲーム装置、ゲームプログラム、及び、ゲーム装置の制御方法
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US7932909B2 (en) * 2004-04-16 2011-04-26 Apple Inc. User interface for controlling three-dimensional animation of an object
US8448083B1 (en) 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US7805678B1 (en) 2004-04-16 2010-09-28 Apple Inc. Editing within single timeline
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US8566732B2 (en) * 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7411590B1 (en) 2004-08-09 2008-08-12 Apple Inc. Multimedia file format
JP3822218B2 (ja) * 2004-09-21 2006-09-13 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
KR100682849B1 (ko) 2004-11-05 2007-02-15 한국전자통신연구원 디지털 캐릭터 생성 장치 및 그 방법
JP3911511B2 (ja) * 2004-12-21 2007-05-09 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
JP3880008B2 (ja) * 2004-12-21 2007-02-14 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
US8140975B2 (en) * 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
JP4040050B2 (ja) 2005-03-30 2008-01-30 株式会社コナミデジタルエンタテインメント プログラム、キャラクタ制御方法、ならびに、キャラクタ制御装置
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
JP5025940B2 (ja) * 2005-10-26 2012-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
US20070101279A1 (en) * 2005-10-27 2007-05-03 Chaudhri Imran A Selection of user interface elements for unified display in a display environment
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7743336B2 (en) * 2005-10-27 2010-06-22 Apple Inc. Widget security
US7954064B2 (en) * 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7752556B2 (en) * 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
JP4358181B2 (ja) * 2005-11-11 2009-11-04 任天堂株式会社 ゲームプログラムおよびゲーム装置
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070162850A1 (en) * 2006-01-06 2007-07-12 Darin Adler Sports-related widgets
JP4163718B2 (ja) * 2006-02-28 2008-10-08 株式会社コナミデジタルエンタテインメント オブジェクト表示装置、オブジェクト配置方法、および、プログラム
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8869027B2 (en) * 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
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
KR100885996B1 (ko) 2006-12-02 2009-03-03 한국전자통신연구원 대규모 가상 군중 동작의 획득 및 편집 방법 및 그 장치
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
JP4566221B2 (ja) * 2007-07-20 2010-10-20 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US8667415B2 (en) * 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
JP5214215B2 (ja) * 2007-11-02 2013-06-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
KR100895199B1 (ko) * 2007-11-07 2009-04-24 에스케이 텔레콤주식회사 가상 공간에서의 캐릭터 이동 경로 설정 방법 및 시스템
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8245283B2 (en) * 2009-03-03 2012-08-14 International Business Machines Corporation Region access authorization in a virtual environment
US8913063B2 (en) * 2010-08-27 2014-12-16 Disney Enterprises, Inc. Pattern detection of avatars in a virtual environment
US10449457B2 (en) * 2011-04-20 2019-10-22 Disney Enterprises, Inc. System and method for dynamic matchmaking population herding
WO2013055320A2 (en) * 2011-10-11 2013-04-18 Empire Technology Development Llc Gathering path data from a massively multiplayer on-line role-playing game
JP5450718B2 (ja) * 2012-06-11 2014-03-26 株式会社スクウェア・エニックス ゲーム装置及びゲームプログラム
US8790178B1 (en) 2012-11-15 2014-07-29 Kabam, Inc. Metric based conformance by character units to specified formations
JP6677437B2 (ja) * 2013-09-13 2020-04-08 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
US10500488B2 (en) 2016-03-30 2019-12-10 Bloober Team S.A. Method of simultaneous playing in single-player video games
CN110314373B (zh) * 2019-07-08 2023-02-28 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器
CN112569598A (zh) * 2020-12-22 2021-03-30 上海幻电信息科技有限公司 目标对象控制方法及装置
US20230367463A1 (en) * 2022-05-11 2023-11-16 Supercell Oy Randomized movement control

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3470822B2 (ja) 1994-03-03 2003-11-25 株式会社セガ 画像表示方法及びその装置
JP3359981B2 (ja) * 1994-08-18 2002-12-24 株式会社ハドソン ロールプレイングゲームにおける集団キャラクタ表示方法
JPH1176614A (ja) * 1997-09-11 1999-03-23 Sega Enterp Ltd コンピュータゲーム装置

Also Published As

Publication number Publication date
HK1032465A1 (en) 2001-07-20
TW440456B (en) 2001-06-16
GB0018702D0 (en) 2000-09-20
JP2001056870A (ja) 2001-02-27
KR100383047B1 (ko) 2003-05-09
CN1285571A (zh) 2001-02-28
KR20010050017A (ko) 2001-06-15
EP1078665A3 (en) 2005-11-16
GB2356539A (en) 2001-05-23
EP1078665A2 (en) 2001-02-28
CN1178170C (zh) 2004-12-01
US6525736B1 (en) 2003-02-25

Similar Documents

Publication Publication Date Title
JP3163496B2 (ja) 集団キャラクタ移動方法、記録媒体及びゲーム装置
JP3985369B2 (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体
KR100786149B1 (ko) 캐릭터 집단이동 제어방법, 기록매체 및 게임장치
US7922584B2 (en) Image generation method and information storage medium with program for video game in which operation of the controller beyond a predetermined angle causes a character to attack
EP0778547B1 (en) Image processing apparatus and image processing method
KR100594558B1 (ko) 게임 장치, 게임 장치용 방법 및 컴퓨터 판독가능 매체
JP7374209B2 (ja) 仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム
US6322444B1 (en) Video game with displayed bar for indicating target position
JPH11137842A (ja) 画像処理装置
EP2135648B1 (en) Game device, control method of game device and information storage medium
US6336864B1 (en) Game machine, method for checking hit and information storage medium
JP4117343B2 (ja) 記録媒体及びゲーム装置
JP3780512B2 (ja) プログラム、記録媒体及びゲーム装置
CN112188922A (zh) 虚拟相机放置系统
JP7441442B2 (ja) Vr装置、方法、プログラム及び記憶媒体
JP4560711B2 (ja) 画像処理
JP2003305275A (ja) ゲームプログラム
JP3937179B2 (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体
JP2007229506A (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体
JP3995817B2 (ja) ゲーム機および情報記憶媒体
JP2003030685A (ja) 画像処理装置および画像処理方法
JP2004005024A (ja) 情報処理プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
R150 Certificate of patent or registration of utility model

Ref document number: 3163496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100302

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130302

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160302

Year of fee payment: 15

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees