JP4220224B2 - Program, information storage medium, and image generation apparatus - Google Patents

Program, information storage medium, and image generation apparatus Download PDF

Info

Publication number
JP4220224B2
JP4220224B2 JP2002345813A JP2002345813A JP4220224B2 JP 4220224 B2 JP4220224 B2 JP 4220224B2 JP 2002345813 A JP2002345813 A JP 2002345813A JP 2002345813 A JP2002345813 A JP 2002345813A JP 4220224 B2 JP4220224 B2 JP 4220224B2
Authority
JP
Japan
Prior art keywords
individual
vector
setting
distance
target point
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
JP2002345813A
Other languages
Japanese (ja)
Other versions
JP2004174077A (en
Inventor
秀俊 青柳
康雄 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
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 Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2002345813A priority Critical patent/JP4220224B2/en
Publication of JP2004174077A publication Critical patent/JP2004174077A/en
Application granted granted Critical
Publication of JP4220224B2 publication Critical patent/JP4220224B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータ、複数の個体で構成する群の移動制御をさせるために、各個体それぞれの移動を制御して、移動する群の画像を生成させるためのプログラム等に関する。
【0002】
【従来の技術】
ゲーム等のコンピュータグラフィックス(CG)において、昆虫や鳥、兵隊などのように複数の個体が集まってなる「群」の様子を表現する技術を群制御という。群制御では、全体として1つの群としての纏まった形態を保ちつつ、各個体が何らかの知能の元に独立して動作しているかのように制御することが好ましい。
【0003】
従来の群制御の方法としては、例えば以下のものが挙げられる。
(1)例えば、群を構成する個体の中に群を率いるリーダを設定する。リーダ以外の個体は、リーダの位置を基準として相対的に定められた目標点に向かって移動することを基本とし、目標点に到達すると所定範囲内を所定速度で彷徨するように制御する。
各個体が目標点に向かう移動制御では、各個体を中心とする近距離・中距離・遠距離の有視野レンジを設定する。近距離の有視野レンジに仲間(同群の他個体)がいる場合には衝突回避のための反発力を設定し、この反発力を重量(個体の設定重量値)で除して第1の加速度を算出する。中距離の有視野レンジに仲間がいる場合には、仲間と同じ方向に移動するために仲間の加速度の平均値を第2の加速度とする。遠距離の有視野レンジに仲間がいる場合は、見通しを確保する為に仲間から離れるための反発力を設定し、反発力を重量で除して第3の加速度とする。そして、目標点に向かう加速度と第1〜第3の加速度とを、3次元仮想空間上のX,Y,Z成分毎に加算して総和平均値を算出する。この総和平均に基づいて当該個体の位置座標を演算する。これによって、各個体について仲間との距離に応じた適切な移動制御を行い、より自然に見える群制御を実現する(例えば、特許文献1参照;全請求項に対応)。
【0004】
(2)また、仮想空間中に複数の種族(種類)の群が設定される場合、各個体に他個体に抱かせる興味の程度を示す仮想量を設定し、この仮想量から注目する他個体との距離に応じて力のベクトルの大きさを決定する方法もある。仮想量は各種族毎に予め設定され、評価関数は注目する他個体との距離レンジに応じて、当該他個体の仮想量から評価値を算出する。この評価値が、個体間の方向を有する力のベクトルの大きさを示す値となり、この力のベクトルが個体に掛かる力となる。そして、求められた各個体に掛かる力のベクトルから合力ベクトルが算出され、各個体はこの合成ベクトルに基づいて移動制御される。
【0005】
例えば、被捕食種のニシンとその捕食種であるカマスとの場合、ニシンの個体には仮想量「1」、カマスの個体には仮想量「10」を設定する。カマスの個体に設定された視界に相当する距離レンジ内にニシンの個体が存在する場合、このカマスからニシンへの方向を有しニシンの仮想量「1」の大きさを持った力のベクトルが当該カマスに掛かるとする。即ち、カマスはニシンに近づこうとする。反対に、ニシンからカマスを評価すると、評価関数によって仮想量は「−10」と評価され、ニシンには「−10」の力のベクトル、即ちカマスから反対方向へ向かう強い力が掛かり、結果ニシンはカマスから強く逃げようとする。また、ニシンの個体に設定された視界に相当する距離内に、ニシンの他個体が存在する場合、仮想量を「−1」と評価する。即ち、ニシンは他のニシンとは逆向きの「−1」の力のベクトルが掛かり、衝突を避けるように離れる。
【0006】
このように、仮想空間中に複数の種族の個体が存在する場合であっても、種族毎に仮想量と評価関数とを予め設定することによって、簡単に複数の種族に対応する個体の移動制御を実行し、より自然な群制御を実現する。(例えば、特許文献2;全請求項に対応)。
【0007】
また、(3)他個体との距離に基づいて判定処理を行って個体の移動制御をするものもある。例えば、敵味方に分かれた複数の個体が存在する場合において、個体が敵個体と接近した場合、敵個体との距離に基づいて戦闘すべきか否かを判断し、戦闘すべきと判断した場合に敵に接近するように個体を移動制御する。このように、判定処理を移動途中に接近した敵個体と戦うだけではなく、敵個体を発見した場合に自ら敵個体に向かうといった状況に応じた個体の移動制御が可能となる。(例えば、特許文献3参照;全請求項に対応)。
【0008】
また、(4)個体の進行方向を3次元座標空間のZ軸方向として、XY平面に個体と周囲障害物とを平行投影するものも有る。そして、XY平面上で個体と障害物の衝突判定をすることによって個体が障害物と衝突しない方向に移動制御する(例えば、特許文献4;請求項11に対応)。
【0009】
【特許文献1】
特許第3163496号公報
【特許文献2】
特許第2512052号公報
【特許文献3】
特開2001−149655号公報
【特許文献4】
特許第3005246号公報
【0010】
【発明が解決しようとする課題】
しかしながら、前記(1)や(3)の方法では、加速度の算出や判定処理を繰り返すために処理が重くなると言う問題がある。また、前記(2)の方法では、群に共通する行動を簡単に表現できるが、群を構成する個体ごとの行動の個性を表現できないという問題があった。
【0011】
本発明は、上記課題を鑑みてなされたものであり、その目的とするところは、群を構成する個体及び群の動作に個性をもたせつつ、より高速に群制御することである。
【0012】
【課題を解決するための手段】
上記課題を解決するための第1の発明は、コンピュータに類する装置に、敵(例えば、図2のネコオブジェクトCl)の存在する仮想空間において、第1パラメータ(例えば、図12の性格設定情報735)の値が異なる複数の個体(例えば、図2のネズミオブジェクトMn)で構成される群の目標点(例えば、図2の仮想ターゲットTa)に向けた移動制御をするために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、当該個体と目標点間の距離に基づいて第1ベクトル(例えば、図3のベクトルVt及びVt’)を設定する第1設定手段(例えば、図10のベクトル演算部221、成分ベクトル算出部223、図15のステップS206)、当該個体と敵間の距離に基づいて第2ベクトル(例えば、図3のベクトルVe及びVe’)を設定する第2設定手段(例えば、図10のベクトル演算部221、成分ベクトル算出部223、図15のステップS208)、当該個体と他個体間の距離に基づいて第3ベクトル(例えば、図3のベクトルVf及びVf’)を設定する第3設定手段(例えば、図10のベクトル演算部221、成分ベクトル算出部223、図15のステップS210)、当該個体の第1パラメータの値に基づいて第1ベクトルの大きさに関する第1係数を設定する第1係数設定手段(例えば、図10のベクトル演算部221、合成ベクトル算出部224、図15のステップS216〜S218)、当該個体の第1パラメータの値に基づいて第2ベクトルの大きさに関する第2係数を設定する第2係数設定手段(例えば、図10のベクトル演算部221、合成ベクトル算出部224、図15のステップS216〜S218)、当該個体の第1パラメータの値に基づいて第3ベクトルの大きさに関する第3係数を設定する第3係数設定手段(例えば、図10のベクトル演算部221、合成ベクトル算出部224、図15のステップS216〜S218)、第1〜第3ベクトル及び第1〜第3係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段(例えば、図10のゲーム演算部22、図15のステップS222)として前記装置を機能させるための情報を含む制御情報である
【0013】
第14の発明は、敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、当該個体と目標点間の距離に基づいて第1ベクトルを設定する第1設定手段と、当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段と、当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段と、当該個体の第1パラメータの値に基づいて第1ベクトルの大きさに関する第1係数を設定する第1係数設定手段と、当該個体の第1パラメータの値に基づいて第2ベクトルの大きさに関する第2係数を設定する第2係数設定手段と、当該個体の第1パラメータの値に基づいて第3ベクトルの大きさに関する第3係数を設定する第3係数設定手段と、第1〜第3ベクトル及び第1〜第3係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段と、を備える画像生成装置である
【0014】
第2の発明は、コンピュータに類する装置に、敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、当該個体と目標点間の距離に基づいて第1ベクトルを設定する第1設定手段、当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段、当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段、当該個体の第1パラメータの値に基づいて、第1〜第3ベクトルの合成比率を設定する合成比率設定手段(例えば、図10の合成ベクトル算出部224、図15のステップS216〜S218)前記合成比率設定手段により設定された合成比率に基づいて、第1〜第3ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段(例えば、図10のゲーム演算部22、図15のステップS222)、として前記装置を機能させるための情報を含制御情報である
【0015】
第15の発明は、敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、当該個体と目標点間の距離に基づいて第1ベクトルを設定する第1設定手段と、当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段と、当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段と、当該個体の第1パラメータの値に基づいて、第1〜第3ベクトルの合成比率を設定する合成比率設定手段と、前記合成比率設定手段により設定された合成比率に基づいて、第1〜第3ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段と、を備える画像生成装置である
【0016】
第1又は第14の発明によれば、群を構成する個体に共通する行動として第1〜第3の各ベクトルを設定し、更に各個体毎に設定された第1パラメータに基づいて設定される第1〜第3係数を適用して各ベクトルの大きさに個体毎の変化を付加して個体の移動位置を求める。また、第2又は第15の発明によれば、群を構成する個体に共通する行動として第1〜第3の各ベクトルを設定し、更に第1パラメータに基づく合成比率で第1〜第3ベクトルを合成し、合成ベクトルから個体の移動位置を求める。各個体は、これらベクトルに基づいて移動制御される。
【0017】
ここで、第1〜第3の各ベクトルを設定する過程は群毎に共通であり、仔の段階における第1〜第3ベクトルは群に共通する行動原理を示すことになる。一方、第1〜第3ベクトルにそれぞれ掛かる第1〜第3係数及び第1〜第3ベクトルの合成比率は各個体毎のパラメータに基づいており、他各個体の特性を表す。従って、各個体に、群で共通する行動原理に基づく行動をさせながらも個体毎の個性を反映させた移動制御が可能となる。
また、このように群を構成する個体の行動に影響を与える力の成分をベクトルとして捉え、ベクトルを個体の移動制御演算のベースとすることによって、複雑な加速度演算や条件分岐などを要せず、ベクトル演算によって複数のベクトルが作用する状態からでも所望する値を速やかに演算することができる。従って、個体及び群に動作の個性をもたせつつ、より高速に群制御することができる。
【0018】
尚、ここで言う「敵」とは、群を構成する個体が交戦する存在に限らず、個体に害を成す存在や、個体が避けるべき存在であっても良い。また、「制御情報」とは 、ゲーム装置等の電子計算機(コンピュータ)による処理の用に供する、プログラムに準じた情報の意である。
【0019】
第3の発明は、第1又は第2の発明の制御情報であって、前記第1設定手段が、複数の演算方法の内、当該個体と目標点間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第1ベクトルを設定するための情報(例えば、図10の算出方法設定情報734)と、前記第2設定手段が、複数の演算方法の内、当該個体と敵間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第2ベクトルを設定するための情報(例えば、図10の算出方法設定情報734)と、前記第3設定手段が、複数の演算方法の内、当該個体と他個体間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第3ベクトルを設定するための情報(例えば、図10の算出方法設定情報734)と、を含む制御情報である
【0020】
第3の発明によれば第1〜第3ベクトルそれぞれの算出方法を予め設定した中から、ベクトル算出の対象との距離に応じて選択することができる。従って、個体の移動制御をベクトル算出の対象との距離に応じて様々に変化させることができる。
【0021】
第4の発明は、第1第3の何れかの発明の制御情報であって、前記仮想空間内に自群の他に他群が存在する場合に、前記第3設定手段が、当該個体と自群の他個体間の距離、及び当該個体と他群の個体間の距離に基づいて第3ベクトルを設定するための情報を含む制御情報である
【0022】
第4の発明によれば個体に同群の仲間と他群の個体に対する行動の違いを表現することができる。
【0023】
また、第5の発明として第4の発明の制御情報であって、前記第3設定手段が、当該個体から他群の個体に向かう方向と第3ベクトルの方向との偏角が、当該個体と他群の個体間の距離に反比例するような演算方法で、第3ベクトルを設定するための情報を含む制御情報を構成することとしても良い。
【0024】
第5の発明によれば処理対象となっている個体と他群の個体間の距離が近いほど、第3ベクトルの方向がより逆向きになるように設定される。従って、他群に属する個体が近づくにつれて、徐々に避ける方向を増し、ついには反対方向に向かって逃げるような斥力を表現することができる。
【0025】
第6の発明は、第1第5の何れかの発明の制御情報であって、前記第1設定手段が、当該個体と目標点間の距離が所与の距離外である場合には、目標点に近づく方向に第1ベクトルを設定し、前記所与の距離内である場合には、目標点から遠ざかる方向に第1ベクトルを設定するための情報を含む制御情報である
【0026】
第6の発明によれば目標点から個体を所与の距離から離すことができる。従って、例えば個体が1箇所に集中し、群として不自然な形にならないようにできる。また、目標点が群を率いる存在である場合に、群を率いる側と追従する側とを離して明確に表現することができる。
【0027】
第7の発明は、第1第6の何れかの発明の制御情報であって、当該個体が属する群の内、何れか一の個体と目標点間の距離が所与の距離内になったか否かを判定する判定手段として前記装置を機能させるための情報と、前記判定手段により何れか一の個体と目標点間の距離が所与の距離内になったと判定された場合には、前記所与の距離外の時に比べて、ベクトルの大きさが小さくなるように、前記第1設定手段が第1ベクトルを設定するための情報と、を含む制御情報である
【0028】
第7の発明によれば同群の何れかの個体が目標点と所定の位置関係を満たす場合に、個体のベクトルの大きさを小さくし、移動量を小さくすることができる。従って、例えば一の個体を群の先頭とするならば、群の先頭が所定の位置に達すると同時に各個体は減速し自然に停止する状態を表現することができる。
【0029】
第8の発明は、第1第7の何れかの発明の制御情報であって、前記各個体には、予め種類を表す第2パラメータ(例えば、図22のキャラクタ属性733d、図23の属性別アイテム設定情報742)が設定されており、一の群には、第2パラメータの値が異なる、複数種類の個体が含まれ、複数の種類別演算方法の内、当該個体の第2パラメータの値に応じて択一的に種類別演算方法を選択し、選択した種類別演算方法に基づいて第4ベクトル(例えば、図20のベクトルVs’)を設定する第4設定手段(例えば、図21のベクトル演算部221、成分ベクトル算出部223、図24のステップS302〜S308)として前記装置を機能させるための情報と、前記演算手段が、更に、第4ベクトルを加味して所定時間後の当該個体の移動位置を演算するための情報と、を含む制御情報である
【0030】
ここで言う、種類とは同じ群を形成する個体の属性に関する種類であって、例えばオス/メス、年齢、職業、人種、役職、段位など適宜設定して構わない。
第8の発明によれば群を構成する個体に複数の種類を設け、各種類に固有の行動を第4ベクトルとして表し、個体の移動位置演算に加味させることができる。従って、より群の制御に多様性を持たせることができる。
【0031】
第9の発明第1第8の何れかの発明の制御情報であって、前記各個体にそれぞれ対応するサブ目標点(例えば、図25のサブ仮想ターゲットGn)を、前記目標点に基づく所与の配置パターンで前記仮想空間に設定するサブ目標点設定手段(例えば、図26のゲーム演算部22、群設定部220)として前記装置を機能させるための情報と、前記第1設定手段が、当該個体と目標点間の距離に代えて、当該個体と当該個体に対応するサブ目標点間の距離に基づいて第1ベクトルを設定する(例えば、図28のステップS508〜S510)ための情報とを含む制御情報である
【0032】
第9の発明によれば目標点に基づく所与の配置パターンでサブ目標点を設定することができる。サブ目標点は、所与の配置パターンで設定されるので、結果として群を構成する個体は配置パターンに従って整列するように移動制御されることになる。
【0033】
第10の発明は、第9の発明の制御情報であって、前記画像を生成する基準となる視点を前記仮想空間に設定する視点設定手段(例えば、図26のゲーム演算部22)として前記装置を機能させるための情報と、前記サブ目標点設定手段が、前記視点設定手段により設定された視点から前記目標点までの距離に応じて前記配置パターンを可変するための情報と、を含む制御情報である
【0034】
視点より遠方に群が位置する場合、画面表示される個体の大きさも小さくなる。
第10の発明によれば視点からの距離に応じて配置パターンを可変することができる。例えば、群が視点から遠方に位置する場合、サブ目標点の設定間隔を広くするように配置パターンを可変し、個体が整列している状態を画像上において識別し易くなるように変える。或いは各個体とサブ目標点との対応が、1体1対応ではなく、複数の個体が1つのサブ目標点に対応するような、サブ目標点の数を少なくした配置パターンに可変し、視点から遠方に位置する個体に掛かる演算処理を軽減することができる。
【0035】
第11の発明は、第1第10の何れかの発明の制御情報であって、前記各個体は前記仮想空間内の地表上を移動し、前記第1設定手段が前記地表に沿った所定の2次元成分で第1ベクトルを設定するための情報と、前記第2設定手段が前記2次元成分で第2ベクトルを設定するための情報と、前記第3設定手段が前記2次元成分で第3ベクトルを設定するための情報と、前記演算手段が、更に、地表の高度を加味して所定時間後の当該個体の移動位置を演算するための情報と、を含む制御情報である。
【0036】
第11の発明によれば、第1・第2・第3ベクトルは地表面に沿った2次元成分でベクトルを設定し、高さ方向の成分は演算しない。例えば、XYZ成分からなる3次元座標系において地表がXZ平面に沿って形成されている場合、XZ平面のX成分とZ成分からベクトルを演算し、高さ成分であるY成分は地表の高さから求める。従って、より演算負荷を削減することができる。
【0037】
第12の発明は、第1第11の何れかの発明の制御情報であって、前記目標点は前記画像上に表示されない制御情報である
【0038】
第12の発明によれば目標点を不可視状態とすることによって、群を引率するのではなく群そのものを操作しているように表現することができる。
【0039】
第13の発明は、第1第12の何れかの発明の制御情報を記憶した前記装置による読み取り可能な情報記憶媒体である。
【0040】
情報記憶媒体とは、コンピュータに類する装置が読取可能な媒体であって、例えばICメモリーカードや、CD−ROM、MO、DVD、ハードディスクなどである。第13の発明によれば、コンピュータに類する装置に、第1第12の何れかの発明と同様の効果を実現させることができる。
【0041】
【発明の実施の形態】
〔第1の実施の形態〕
以下、図1〜図19を参照して、本発明を適用した第1の実施の形態について説明する。第1の実施の形態では、画像生成装置の一種であるゲーム装置でプレーヤがネズミの群を移動操作するゲームを実行する場合を例に挙げて説明する。尚、ゲームの詳細な内容は適宜設定するものとし、ここではネズミの群の移動操作について主に説明する。また、群を構成する個体はネズミに限るものではなく適宜設定して構わない。例えば、シミュレーションゲームに登場する騎馬隊や戦車隊に適用し、プレーヤが指揮官となって戦う設定としても良い。また、群を操作するのはプレーヤに限らず、コンピュータがシューティングゲームの敵キャラクタとして登場する昆虫群やロボット群、コブタの群などを自動操作する設定としても良いのは勿論である。
【0042】
[構成の説明]
図1は、本発明を適用した業務用ゲーム装置1300の外観の一例を示す図である。同図に示すように、業務用ゲーム装置1300は、ゲーム画面を画像表示するディスプレイ1302と、ゲームの効果音やBGMを出力するスピーカ1304と、前後左右方向を入力するジョイスティック1306と、プッシュボタン1308と、演算処理によって業務用ゲーム装置1300を統合的に制御して所与のゲームを実行する制御ユニット1320とを備える。
【0043】
制御ユニット1320は、例えばCPUやMPU、各種ICメモリ、ASICなどによって実現され、ベクトル演算ユニット1324を搭載する。ベクトル演算ユニット1324とは、ベクトル演算処理用に機能を特化したマイクロプロセッサ等の意味である。
また、制御ユニット1320には、業務用ゲーム装置1300の制御及びゲームの実行に必要なプログラムやデータが格納されたROM1322を搭載する。制御ユニット1320に搭載されるCPUやベクトル演算ユニット1324などは、ROM1322よりプログラムやデータを適宜読み出して演算処理することによって種々の処理を実行する。
【0044】
プレーヤは、ディスプレイ1302に表示されたゲーム画面を見ながら、ジョイスティック1306で群の移動方向を入力し、プッシュボタン1308で各種コマンドを入力して群を制御してゲームを楽しむ。
【0045】
[ゲーム内容の概要説明]
図2は、本実施の形態におけるゲーム内容の概念を説明するための図である。同図に示すように、ゲーム空間には複数のネズミオブジェクトMn(nは自然数;包括的にはネズミオブジェクトMとし、一つのネズミオブジェクトを指す場合にはネズミオブジェクトMnとする)と、ネズミを捕食するネコオブジェクトCl(lは自然数)とが配置される。ネズミオブジェクトMは群Faを形成し、群Faには共通の移動目標である仮想ターゲットTaが設定される。
【0046】
本実施の形態では、仮想ターゲットTaをプレーヤがジョイスティック1306で操作して群Faの移動方向を決定する。プレーヤは、自分が操作する群のネズミオブジェクトMがネコオブジェクトCに捕食されないように操作しながら群Faを所定の目的地(ゴール地点)に導く。そして、群Faを無事に目的地に到着させることができたならばゲーム終了となる。尚、説明の便宜上、仮想ターゲットTaを可視状態(旗状のオブジェクト)として説明するが、不可視としても構わない。
【0047】
[ネズミオブジェクトの移動制御の原理]
図3は、本実施の形態におけるネズミオブジェクトMの移動制御の原理を説明するための図である。同図に示すように、ネズミオブジェクトMnは、仮想ターゲットTaと、同群に属する他のネズミオブジェクトMm(mは自然数;m≠n)と、ネコオブジェクトClとを注目対象とする。そして、これら注目対象との相対位置関係に基づいて個々に移動制御される。ネズミオブジェクトMが個々に移動制御されることによって、その総体として群Faが移動することになる。
【0048】
ネズミオブジェクトMnの移動制御においては、先ず(1)ネズミオブジェクトMnから仮想ターゲットTaまでのベクトルVtと、(2)ネコオブジェクトClまでのベクトルVeと、(3)ネズミオブジェクトMnから同群に属する他のネズミオブジェクトMmまでのベクトルVfとを算出する。
【0049】
そして、算出されたベクトルVt、Ve、Vfを各注目対象との位置関係に応じてベクトルの方向と大きさとを変更し、ベクトルVt’、Ve’、Vf’とする。ベクトルVt’、Ve’、Vf’は、ゲーム設定上においてネズミという種族に共通する各注目対象に対する感心の高さや影響力と同様の意義を有し、求心力や回避力としてネズミオブジェクトMnに作用する。
【0050】
ベクトルVt’、Ve’、Vf’を算出したならば、ネズミオブジェクトMnの行動の個性を示すパラメータに基づいて、ベクトルVt’、Ve’、Vf’をそれぞれ係数kt、ke、kfで重み付けして合成ベクトルVaを算出する。
また、本実施の形態においては、合成ベクトルVaの算出時にネズミオブジェクトMnに影響を与えるゲーム空間の環境の力をベクトルVwとして更に合成する。ゲーム空間の環境の力とは、例えば風、水流、床や地面の移動、床や地面の滑り、重力などの地形条件や環境条件に基づく外力を表す。
【0051】
合成ベクトルVaを算出したならば、合成ベクトルVaを更にネズミのゲーム設定上の上限速度|V|maxを超えないように大きさを適正化し、合成ベクトルVa’とする。ネズミオブジェクトMnは、この合成ベクトルVa’に基づいて次の移動先の位置座標が算出されて移動制御される。
【0052】
[ベクトルの算出方法の説明]
次に、本実施の形態における各種ベクトルの具体的な算出方法について説明する。
【0053】
図4は、本実施の形態におけるベクトルVt’の算出方法について原理を説明する図である。
図4(a)に示すように、ネズミオブジェクトMnからベクトルVt’を求める算出方法は、仮想ターゲットTaを中心とする近距離・中距離・遠距離・遠距離圏外の4つの距離レンジ毎に設定し、ネズミオブジェクトMnが何れの距離レンジに位置するかによって択一的に選択する。尚、具体的な各距離レンジは適宜設定するものとする。
【0054】
ネズミオブジェクトMnが近距離レンジに位置する場合(図4(b)の(1))、仮想ターゲットTaに対して近づき過ぎていると判断し、仮想ターゲットTaから離れるようにベクトルVtの方向を変更する。より具体的には、例えば仮想ターゲットTaとの距離、或いはベクトルVtの大きさが所定値以下である場合、ベクトルVtが逆向きに作用するようにマイナスの係数を掛けてベクトルVt’とする。又は所定行列を掛けて方向を反転させるとしても良い。
【0055】
これによって、例えば図5(a)に示すように、仮想ターゲットTaとネズミオブジェクトMnとを所定距離離して、ネズミオブジェクトMが仮想ターゲットTaを取り囲むように密集し次の移動に支障がでてしまう状態を回避する。
【0056】
ネズミオブジェクトMnが中距離レンジに位置する場合、仮想ターゲットTaの状態に応じて更に条件を細分化して算出方法を設定する。
仮想ターゲットTaが停止している場合(図4(b)の(2))、ベクトルVtに比例してベクトルVt’を算出する。図5(b)に示すように、ベクトルVt’は、ネズミオブジェクトMnが仮想ターゲットTaに近づくにつれて小さくなり、ネズミオブジェクトMnが停止状態の仮想ターゲットTaに対して徐々に速度を落としつつ接近するように作用する。
【0057】
仮想ターゲットTaが移動している場合は、仮想ターゲットTaの1フレーム前の速度ベクトルVtat-1に比例してベクトルVt’を算出する。ベクトルVt’は、ネズミオブジェクトMnが同属の他のネズミオブジェクトMmとともに仮想ターゲットTaと同方向に移動するように作用する。
【0058】
また、仮想ターゲットTaが移動している場合では、群Faの先頭のネズミオブジェクトが中距離レンジの範囲に達しているか否かで更に条件分けする。
【0059】
群Faの先頭のネズミオブジェクトが中距離レンジの範囲に達していない場合は(図4(b)の(4))、ネズミオブジェクトMnが仮想ターゲットTaと並走するように係数k7を適当に設定する。
群Faの先頭のネズミオブジェクトが中距離レンジの範囲に達している場合は(図4(b)の(3))、群Faが停止・減速する可能性が有ると判断し、ベクトルVtが大きな値を示していても、ベクトルVt’が小さくなるように係数k6を適当に設定する。ベクトルVt’は、群Faの先頭のネズミオブジェクトが中距離レンジに達すると、群Fa全体の停止に備えて減速するように作用する。これによって、群Faが停止或いは減速し、前方を行く他のネズミオブジェクトMmにつかえてネズミオブジェクトMnがそれ以上進めないにもかかわらず前方のネズミオブジェクトMmを無理矢理押し、結果群Faの形態が崩れる事態を回避できる。
尚、群Faの先頭のネズミオブジェクトが中距離レンジの範囲に達している場合に求められるベクトルVt’は、その目的から群Faの先頭のネズミオ部ジェクトが中距離レンジの範囲に達していない場合の並走時のベクトルVt’より小さい値となるように係数k6を設定する。
【0060】
ネズミオブジェクトMnが遠距離レンジに位置する場合は、ベクトルVtに比例してベクトルVt’を算出する(図4(b)の(6))。従って、ベクトルVt’はネズミオブジェクトMnが仮想ターゲットTaから離れているほど大きくなり、ネズミオブジェクトMnが強く仮想ターゲットTaを追走するように作用する。
ただし、群Faの先頭のネズミオブジェクトが停止している場合は(図4(b)の(5))、ネズミオブジェクトMnも停止しなければならないと判断し、ベクトルVt’によって、ネズミオブジェクトMnが大きく減速するように見えるように係数k2を適当に設定する。これによって、ネズミオブジェクトMnが前方を行く同属の他のネズミオブジェクトMmに追突するのを回避しながら、群Faをスムーズに停止させることができる。
【0061】
ネズミオブジェクトMnが遠距離圏外のレンジに位置する場合は、ベクトルVtに比例してベクトルVt’を算出する。(図4(b)の(7))。ベクトルVt’は、ネズミオブジェクトMnが仮想ターゲットTaをより強く追走するように作用する。この際、算出されるベクトルVt’の対ベクトルVt比を他の条件において算出される場合に比べて大きくなるように係数k4を適当に設定すると、仮想ターゲットTaから遠く離れてしまったネズミオブジェクトMnが必死に追いつこうとして早く移動する様子を表現できる。
【0062】
この様に、ベクトルVt’は、ネズミオブジェクトMnが仮想ターゲットTaから遠く離れるほど急いで目標に向かおうとする力となって作用し、近づくほど作用する程度が小さくなる。ベクトルVt’はネズミオブジェクトMnが群の一員として群Fa全体の移動方向へ向う行動原理、求心力として作用する。
尚、係数k1=k2=k3=k4とし、処理を簡略化するとしても良い。この場合であっても、ベクトルVtが仮想ターゲットTaとの距離に応じた大きさを有するので、基本的にベクトルVt’も仮想ターゲットTaとの距離に応じた大きさを有することとなり、ベクトルVt’の基本作用としては同様の効果が得られる。
【0063】
図6は、本実施の形態におけるネズミオブジェクトMnのベクトルVe’の算出方法について原理を説明するための図である。図6(a)に示すように、ベクトルVe’は、ネズミオブジェクトMnからネコオブジェクトClとの距離に応じて、所定の閾値を境に近距離レンジと遠距離レンジとに分けて択一的に算出方法を設定する。
【0064】
ネコオブジェクトClが近距離レンジにいる場合(図6(b)の(1))、ベクトルVeの方向を反転させてベクトルVe’とし、近ければ近いほど早く逃げるように作用させる。ネコオブジェクトClが遠距離にいる場合(図6(b)の(2))は、ベクトルVe’の大きさを「0」にする。即ち、まだ敵が十分離れているので危険を感じていないように制御する。
従って、ベクトルVe’は、敵から逃げる行動原理としての意味を有する。近距離レンジと遠距離レンジの閾値の設定によって、当該ネズミオブジェクトMnの危険察知能力や臆病さを表現することが可能になる。
【0065】
図7は、本実施の形態におけるネズミオブジェクトMnのベクトルVf’の算出方法について原理を説明するための図である。図7(a)に示すように、ベクトルVf’は、ネズミオブジェクトMnを中心に、近傍に位置する所定数の同属の他のネズミオブジェクトMmとの距離に応じて、近距離・中距離・遠距離の距離レンジ毎に算出方法を設定する。尚、ベクトルVf’の算出対象とするネズミオブジェクトMmの所定数は、群の規模やゲーム内容等に応じて適宜設定する。
【0066】
ネズミオブジェクトMmが近距離にいる場合(図7(b)の(1))、衝突回避のためにネズミオブジェクトMmから離れる方向にベクトルVfを変更する。より具体的には、ベクトルVfにマイナスの係数を掛けて方向を反転してベクトルVf’とする。これによって図8(a)に示すように、ベクトルVf’は衝突しそうな程に接近しているネズミオブジェクトMnとネズミオブジェクトMmとを互いに離すように作用する。
【0067】
ネズミオブジェクトMmが、適当な距離と判断される中距離にいる場合で、且つ群Faの先頭のネズミオブジェクトが中距離レンジ(図4(a)参照)に居る場合(図7(b)の(2))、群Faが停止・減速する可能性があると判断し、ベクトルVfに比例してベクトルVf’を算出する。ベクトルVf’は、同属の他のネズミオブジェクトMmに近づくほど小さくなり、ネズミオブジェクトMnが徐々に速度を落としながら近づくように作用する。
【0068】
群Faの先頭のネズミオブジェクトが中距離レンジにいない場合は(図7(b)の(3))、近傍に位置するネズミオブジェクトMmの1フレーム前の合成ベクトルVmt-1(=Va’t-1)に基づいて算出する。これによって、例えば図8(b)に示すように、ベクトルVf’は、ネズミオブジェクトMnが同属の他のネズミオブジェクトMmと同じ方向に移動するように作用する。
【0069】
ネズミオブジェクトMmが遠距離にいる場合(図7(b)の(4))、ベクトルVfの方向はそのままにして、ベクトルVfに比例してベクトルVf’を算出する。ベクトルVf’は、ネズミオブジェクトMnが仲間から離れるに従って大きくなり、例えば図8(c)に示すように、群Faからはぐれそうになった場合に、早く仲間(同属の他のネズミオブジェクトMm)に追いつくように作用する。
【0070】
従って、ベクトルVf’は、同属の他のネズミオブジェクトMmまでの距離に応じて、近づき過ぎれば離れる方向に、離れすぎれば近づく方向に作用し、ネズミオブジェクトMn、Mmが互いの距離を保ち衝突を回避させる働きをする。即ち、ベクトルVf’は同群に属する他の個体との距離を適当に保つための行動原理としての意味を有する。尚、ベクトルVf’は、更にネズミオブジェクトMmが他の群に属するか否かを条件に、図7(b)の(5)(6)(7)に示すようにベクトルの方向や大きさを適宜変更するなどしても良い。
【0071】
この様に、ベクトルVt’、Ve’、Vf’の算出方法の設定は、ネズミオブジェクトMnの種族個有の行動原理を表現することに相当する。例えばネコオブジェクトCを移動制御する場合は、ネズミオブジェクトMを捕食する側なのでベクトルVe’は注目オブジェクトから遠ざかる方向ではなく近づく方向となる。
【0072】
図9は、環境から作用する外力ベクトルVwの概念を説明するための図である。同図に示すように、例えばゲーム空間に風が設定されている場合、外力ベクトルVw−1によって、ネズミオブジェクトMnの位置に応じた風をネズミオブジェクトMnに作用させる。また、ネズミオブジェクトMnの位置が斜面である場合には、重力によるベクトルVw−2を作用させる。斜面の滑り易い場所ではベクトルVw−2を大きく設定するとしても良い。風を表すベクトルは、例えばゲーム空間の環境設定に基づいて求め、重力を表すベクトルは、例えば地面を構成するポリゴン面の法線ベクトルに基づいて求めることにより、設定することができる。
【0073】
[ロ:合成ベクトルの算出の説明]
ベクトルVt’、Ve’、Vf’及びベクトルVwを算出したならば、ネズミオブジェクトMnの個性を示す性格設定情報735の値に基づいて係数kt、ke、kfを決定し、例えばベクトルVa=kt×Vt’+kf×Vf’+ke×Ve’+Vwとしてベクトル合成して合成ベクトルVaを算出する。
【0074】
性格設定情報735の値は、当該ネズミオブジェクトMnにおいて各成分ベクトルがどの程度の割合で最終的な行動に影響を与えるかを決定する。図12は、性格設定情報735のデータ構成の一例を示す図である。同図に示すように、例えばネズミオブジェクトM1は相対的に群に従う傾向が強い設定であり、例えばベクトルVt’とベクトルVf’のパラメータが高く設定されている。ネズミオブジェクトM2は相対的に臆病な設定であり、例えばベクトルVe’のパラメータが高く設定されている。
【0075】
算出されたベクトルVaは、更にネズミとして不自然な移動速度をもたないように、ネズミのゲーム設定上の上限速度|V|maxを超えないように合成ベクトルVaの大きさを適正化しベクトルVa’とする。
【0076】
以上の移動制御の原理によって、ネズミオブジェクトMはネズミというゲーム設定上の種族に共通する行動原理に従うとともに、その詳細はネズミオブジェクトMnの個性が反映されたように移動制御される。また、上述のように移動制御に係る演算のほとんどがベクトル演算であるので、表示画面上の実際の移動量は合成ベクトルVa’から一度だけ求めれば良く、個々のネズミオブジェクトMの移動制御にかかる演算負荷を軽減し、群全体の制御の処理を高速化することができる。業務用ゲーム装置1300にベクトル演算ユニット1324を搭載している場合には特にその効果が高い。
【0077】
[機能ブロックの説明]
図10は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、業務用ゲーム装置1300は、操作入力部10と、処理部20と、画像表示部30と、音出力部40と、記憶部70とを有する。
【0078】
操作入力部10は、例えば、十字キー、レバー、ボタンスイッチ、ジョイスティックなどによって実現され、種々のゲーム操作を受付けて操作入力信号を処理部20に出力する。図1の例ではジョイスティック1306とプッシュボタン1308とがこれに該当する。
【0079】
処理部20は、業務用ゲーム装置1300全体の制御、装置内の各機能ブロックへの命令、ゲーム演算などの各種の演算処理を行う。その機能は、例えば、CPU(CISC型、RISC型)、ASIC(ゲートアレイ等)などのハードウェア及び関連する制御プログラム等により実現される。図1の例では制御ユニット1320がこれに該当する。
処理部20には更に、主にゲームに係る演算処理を行うゲーム演算部22と、ゲーム演算部22の処理によって求められた各種のデータから画像信号を生成する画像生成部24と、効果音やBGMなどのゲーム音の音信号を生成する音生成部26とが含まれる。
【0080】
ゲーム演算部22は、操作入力部10からの操作入力信号や、記憶部70から読み出したプログラムやデータに基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば、仮想空間(ゲーム空間)の設定、仮想空間へのオブジェクトの配置及び移動、ヒット判定、キャラクタのアクション操作、ゲーム結果(成績)を求める処理、或いは視点の位置や視線方向の決定等の処理などを実行する。
本実施の形態では特に、複数の所属オブジェクトからなる複数の群を設定する群設定部220と、ベクトル演算部221と、仮想ターゲットを設定し移動制御する仮想ターゲット移動制御部222とを含む。
【0081】
群設定部220は、群FaにネズミオブジェクトMnを所属オブジェクトとして登録し各所属オブジェクトの情報を管理する。例えば、ネズミオブジェクトMnがゲーム中にネコオブジェクトCに捕食されるなどして存在しなくなる場合には登録を抹消する。
【0082】
ベクトル演算部221は、ベクトル演算専用のルーチンやベクトル演算専用のマイクロプロセッサ(例えば図1のベクトル演算ユニット1324)、DSPなどによって実現される。
ベクトル演算部221は更に、ベクトルVt,Ve,Vf,Vw及びVt’,Ve’,Vf’の各種成分ベクトルを算出する成分ベクトル算出部223と、成分ベクトルを合成して合成ベクトルを算出する合成ベクトル算出部224と、合成ベクトルの大きさを適正化する合成ベクトル変更部225とを含む。
【0083】
仮想ターゲット移動制御部222は、仮想ターゲットTaを操作入力部10からの操作入力信号に基づいて移動制御する。
【0084】
画像表示部30は、画像生成部24からの画像信号に基づいて、例えば1/60秒ごとを1フレームとして画面を再描画しながらゲーム画面を表示する。画像表示部30は、例えばCRT、LCD、ELD、PDP、HMD等のハードウェアによって実現できる。図1の例ではディスプレイ1302がこれに該当する。音出力部40は、音生成部26からの音信号に基づいて効果音やBGM等を音出力する。図1の例ではスピーカ1304がこれに該当する。
【0085】
記憶部70は、例えばICメモリ、ハードディスク、CD−ROM、MO、DVD等の情報記憶媒体によって実現され、業務用ゲーム装置1300を統合的に制御するシステムプログラムや演算処理に必要なデータを含むシステムプログラム(図示略)や、ゲームを実行させるためのプログラム及び設定値等のデータが含まれるゲーム情報72などを記憶する。図1の例ではROM1322がこれに該当する。
【0086】
ゲーム情報72は、本実施の形態におけるゲームを実行するのに必要なプログラム及びデータを格納する(図示略)。本実施の形態では特に、処理部20を群設定部220として機能させるための群設定プログラム720と、ベクトル演算部221として機能させるためのベクトル演算プログラム721と、仮想ターゲット移動制御部222として機能させるための仮想ターゲット移動制御プログラム722とを含む。
【0087】
また、データとしては、ゲーム空間を表示させるために必要なモデリングデータやテクスチャデータ等を含むステージ情報730と、ネズミオブジェクトM及びネコオブジェクトCを表示するためのモデリングデータやテクスチャデータなどを含むキャラクタデータ732と、群に所属するオブジェクトを登録するための群登録情報733と、ベクトルVt’、Ve’、Vf’の算出に参照される係数や行列などを格納する算出方法設定情報734と、ネズミオブジェクトMnの行動の個性を設定するための性格設定情報735と、仮想ターゲットTaの位置座標、移動ベクトルVa及び1フレーム前の移動ベクトルVtat-1等を格納する仮想ターゲット情報736とを含む。また、ネコオブジェクトClに関する位置情報の速度ベクトルなどもここに格納される(図示略)。
【0088】
ステージ情報730には更に、ゲーム空間を形成するポリゴンの位置情報とポリゴンの法線ベクトルが格納されるとともに、当該位置におけるベクトルVw(例えば風の外力ベクトルVw−1など)を設定する外力設定情報740が格納される。
図13は、外力設定情報740のデータ構成の一例を示す図である。同図に示すように、位置情報の範囲740aと、当該範囲に設定されている外力のベクトルVw740bを対応付けて格納している。外力設定情報740は、予め用意されるとしてもよいし、別途ゲーム中の時間経過に応じて範囲740aやベクトルVw740bの方向及び大きさを変化させる構成としても良い。その場合には、ベクトルVwをより自然環境からの外力らしく設定することができる。
【0089】
図11は、群登録情報733のデータ構成の一例を示す図である。同図に示すように、群登録情報733は群毎に設けられ、群の識別情報である群ID733aと、当該群が移動目標とする仮想ターゲットを識別するための仮想ターゲットID733bと、当該群に所属するオブジェクト毎の個体情報733cとを含む。本実施の形態では、個体情報733cには、現在の位置座標や合成ベクトルVa’t、及び1フレーム前の位置座標・合成ベクトルVa’t-1・回転等の情報を格納する。
【0090】
[処理の流れの説明]
次に、図14〜図15を参照して、本実施の形態における処理の流れを説明する。尚、ここでは群の移動制御について主に説明し、ゲームの内容については適宜省略するものとする。
【0091】
図14は、ゲーム処理のメインフローの流れを説明するためのフローチャートである。同図に示すように、先ずゲーム演算部22が所定の初期条件に基づいてゲーム空間を生成する(ステップS102)。次いで、各ネコオブジェクトClを所定のアルゴリズムに従って移動制御する(ステップS104)。
プレーヤによって操作入力がされた場合(ステップS106のYES)、仮想ターゲット移動制御部222が操作入力に応じて仮想ターゲットTaを移動制御する(ステップS108)。そして、ゲーム演算部22は記憶部70よりベクトル演算プログラム721を読み出し実行して、群Faについて群移動処理を実行する(ステップS110)。
【0092】
図15は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。同図に示すように、ベクトル演算部221は群登録情報733を参照して、登録されている全てのネズミオブジェクトMnについて個体別ルーチンを実行する(ステップS204〜S224)。
【0093】
個体別ルーチンでは、先ず成分ベクトル算出部223が、ベクトルVtを算出する。そして、算出方法設定情報734を参照して、前述の如く仮想ターゲットTaからの距離や仮想ターゲットTaの動静及び群Faの先頭の位置条件等に基づいて、ベクトルVtからベクトルVt’を算出する(ステップS206)。
【0094】
次に、成分ベクトル算出部223は、ベクトルVe及びVe’を算出する(ステップS208)。具体的には、ネコオブジェクトClの位置情報と当該ネズミオブジェクトMnの位置関係に基づいてベクトルVeを算出する。そして、算出方法設定情報734を参照してベクトルVeからベクトルVe’を算出する。尚、複数のネコオブジェクトClが近距離レンジにいる場合は、ネコオブジェクトClごとにベクトルVe’を算出し、それぞれのベクトルVe’をサブベクトルとみなし、ベクトル合成した結果を最終的なベクトルVe’としても良い。
【0095】
次いで成分ベクトル算出部223は、ベクトルVf及びVf’を算出する(ステップS210)。より具体的には、成分ベクトル算出部223は、先ず群登録情報733を参照して、ネズミオブジェクトMnの近傍に位置する仲間のネズミオブジェクトMmを対象としてベクトルVfを算出する。そして、算出方法設定情報734を参照してベクトルVfからベクトルVf’を算出する。尚、複数のネズミオブジェクトMmを対象とする場合は、例えば個々にベクトルVf’を算出して合成し、当該ネズミオブジェクトMnのベクトルVf’とする。
【0096】
次に、ステージ情報730を参照して、ネズミオブジェクトMnの現在位置におけるベクトルVwを算出する(ステップS212)。例えば、外力設定情報740を参照して風などの環境条件に基づくベクトルVwを算出し、地形を構成するポリゴン面の法線ベクトルから地形条件に基づくベクトルVwを算出する。
【0097】
ベクトルVt’、Ve’、Vf’、Vwが算出されたならば、合成ベクトル算出部224は、性格設定情報735を参照し(ステップS216)、これら成分ベクトルを合成し合成ベクトルVaを算出する(ステップS218)。次いで、合成ベクトルVaの大きさを、ネズミオブジェクトMの最大移動速度を超えないように適正化し合成ベクトルVa’とする(ステップS220)。
【0098】
合成ベクトルVa’が求められたならば、ゲーム演算部22は当該ネズミオブジェクトの移動先の位置座標や地形にあわせてX、Y、Z軸周りの回転等を演算し、群登録情報733を更新する(ステップS222)。より具体的には、個体情報733cの現在の位置座標・合成ベクトル・回転を、1フレーム前のそれとして格納し、新たに求められた合成ベクトルVa’から現在の位置座標・回転等を新たに算出して格納する。
【0099】
全ての所属オブジェクトについて、ステップS204〜S224の処理が実行されたならば群移動処理を終了し、図14のフローに戻る。尚、本実施の形態では処理対象となる群を一つ(群Fa)としているが、ゲーム空間中に複数の群が存在する場合は、全ての群について上述の群移動処理を実行する。
【0100】
図14のフローに戻って、群移動処理によって全てのネズミオブジェクトMnの位置が確定されたので、ゲーム演算部22は所定のゲーム判定処理を実施する(ステップS112)。例えば、ネズミが捕食されるか否かの判定や、ゲーム時間の判定、ヒットチェック、得点の計算などがここに含まれる。次いで、画像生成部24がゲーム画面の画像を生成し、画像表示部30に表示させる(ステップS114)。ここで、ゲーム演算部22はゲーム終了判定を実行し、所定の条件を満たす場合にゲームを終了する(ステップS116のYES)。
【0101】
図16〜図18は、上記処理結果に基づくゲーム画面の一例を示す図である。図16では、ネコオブジェクトClが画面下側より上に移動して群Faに近づいている。
続く図17では、ネコオブジェクトClが仮想ターゲットTaの近傍まで達し、ネズミオブジェクトMは仮想ターゲットTaに集まろうとしながらもネコオブジェクトClから逃げるように移動制御される。結果、ネコオブジェクトClの周囲に円形の空間が生じている。
図18は、ネコオブジェクトClが更に右上方向に進行し、群Faを通り抜けた場合を示している。ネコオブジェクトCl(敵)が群Faから離れることによって、ネズミオブジェクトMにはベクトルVe’が作用しなくなる。例えば、敵から逃げるために仮想ターゲットTaから所定距離離れてしまったネズミオブジェクトMnにはベクトルVt’が比較的高く作用し、仮想ターゲットTaに近づくように移動制御される。尚、これらの図はある条件下における一例であって、その時々の各オブジェクトの位置関係や地形などの諸条件により様々な形態になり得る。
【0102】
[ハードウェアの構成]
次に、業務用ゲーム装置1300を実現できるハードウェアの構成について説明する。
図19は、本実施の形態におけるハードウェア構成の一例を示す図である。業務用ゲーム装置1300は、CPU1000と、ROM1002と、RAM1004と、情報記憶媒体1006と、音生成IC1008と、画像生成IC1010と、I/Oポート1012及び1014とを有し、システムバス1016により相互にデータの入出力可能に接続されている。
【0103】
CPU1000は、図10における処理部20に該当し、情報記憶媒体1006に格納されているプログラム、ROM1002に格納されているシステムプログラム、コントロール装置1022によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【0104】
ROM1002、RAM1004及び情報記憶媒体1006は、図10における記憶部70に該当する。
ROM1002は、図1のROM1322に該当し、図10のゲーム情報72、特に予め設定されているプログラムやデータを記憶する。RAM1004は、CPU1000の作業領域などとして用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、或いはCPU1000の演算結果が格納される。情報記憶媒体1006は、ICメモリカードや着脱自在なハードディスクユニット、MOなどによって実現される。情報記憶媒体1006は、図1のROM1322に該当する。
【0105】
音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やBGM等のゲーム音を生成する集積回路であり、生成された音はスピーカ1020によって出力される。なお、スピーカ1020は、図10における音出力部40、図1におけるスピーカ1304に該当する。
【0106】
画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報にもとづいて表示装置1018に画像を出力するための画素情報を生成する集積回路である。なお、表示装置1018は、図10における画像表示部30、図1におけるディスプレイ1302に該当する。
【0107】
I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
コントロール装置1022は、図10における操作入力部10に該当し、操作パネルや図1のジョイスティック1306やプッシュボタン1308等に相当するものであり、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介して、ゲームプログラム等の情報を送受信することなどに利用される。
【0108】
尚、画像生成IC1010、音生成IC1008等で行われる処理はCPU1000、或いは汎用のDSP等によってソフトウェア的に実行されても良い。
【0109】
〔第2の実施の形態〕
次に、図20〜図24を参照して、本発明における第2の実施の形態について説明する。第2の実施の形態は、様々な職業属性のキャラクタが群を成している場合を例に、合成ベクトルVaに更に他の要素が加わる場合を説明する。
尚、本実施の形態は、基本的に第1の実施の形態と同様の構成によって実現可能であり、第1の実施の形態と同様の構成要素については同じ符号を付け、説明は省略するものとする。
【0110】
[群制御の概念の説明]
図20は本実施の形態におけるキャラクタの属性に応じて設定されるベクトルVsに関する概念を説明する図である。同図に示すように、本実施の形態における群Faは、ゲーム設定上群を率いるとともに他のキャラクタをモンスターDから守る兵士キャラクタPと、食料を生産する農民キャラクタQと、対外的な商売を担当する商人キャラクタRとから構成されている。同図では、隊列を組んでゲーム空間上の他の土地に移動中である。
【0111】
ここで、商人キャラクタRはその属性による特徴から、お金に絡むものに高い興味を示す。同図において、ゲームフィールド上に宝物アイテムH1が配置されている場合、商人キャラクタRには、第1の実施の形態で述べたベクトルVt’、Ve’、Vf’、Vwのほかに、宝物アイテムH1を手に入れたいという要求を示すベクトルVs’を特別に算出する。また、農民キャラクタQはその属性による特徴から、食料や食料生産に欠かせないものに高い興味を示す。同図において、ゲームフィ−ルド上に食料アイテムH2が配置されている場合、農民キャラクタQには、食料アイテムH2を手に入れたいという要求を示すベクトルVs’を特別に算出する。
【0112】
ベクトルVs’は、ベクトルVt’などと同様に、それぞれキャラクタからアイテムまでのベクトルVsからアイテムの種類やアイテムまでの距離などに応じて、後述する算出方法設定情報734を参照して求める。そして、合成ベクトルVaには、ベクトルVt’、Ve’、Vf’、Vwの他にベクトルVs’が合成される。
【0113】
上述のようにベクトルVs’はアイテムまでの距離によってその大きさが決まるので、図20の場合では宝物アイテムH1に近い商人キャラクタR5と、食料アイテムH2に近い農民キャラクタQ1には、他の商人キャラクタR1〜R4や農民キャラクタQ1〜Q4に比べて強くベクトルVs’が作用し、群を離れようとする。ベクトルVs’はそれぞれアイテムの存在を起因としており、例えば宝物アイテムH1を入手した商人キャラクタR5は、ベクトルVs’が無くなるので群に戻ろうと移動する。
【0114】
[機能ブロックの説明]
図21は、本実施の形態における機能構成の一例を説明するための機能ブロック図である。本実施の形態における業務用ゲーム装置1300では、ゲーム情報72にキャラクタの属性毎に特別に注目するアイテムを規定する属性別アイテム設定情報742を含む。
【0115】
図22は、本実施の形態における群登録情報733のデータ構成の一例を示す図である。同図に示すように、各オブジェクトID733cに対応してキャラクタ属性733dが格納される。
【0116】
図23は、属性別アイテム設定情報742のデータ構成の一例を示す図である。同図に示すように、キャラクタ属性742a毎に、ベクトルVsを設定する対象となるアイテム742bと、性格パラメータ値742cなどが設定されている。例えば食料アイテムの場合、リンゴなど具体的な食料より水の性格パラメータ値742cを高く設定して、より強くベクトルVsが作用する設定としても良い。この場合リンゴよりも水のほうがより重要な設定となり、農民キャラクタQには水へのベクトルVs’がより強く作用する。
【0117】
[処理の流れの説明]
図24は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。尚、第1の実施の形態と異なるステップにはS300番台の符号をつけている。
【0118】
同図に示すように、群移動処理においてはベクトルVwの算出の後に(ステップS212)、ベクトル演算部221が群登録情報733からキャラクタ属性733dを参照して(ステップS302)、属性別アイテム設定情報742から当該キャラクタ属性733dに対応するアイテム742bと性格パラメータ値742cを参照する(ステップS304)。
そして、アイテム742bが所定の距離内に有るか否かを判定し、アイテム742bが有る場合には(ステップS306のYES)、算出方法設定情報734の設定に従ってベクトルVs及びVs’を求める(ステップS308)。
【0119】
ベクトルVs’が求められたならば、ベクトル演算部224はベクトルVt’、Ve’、Vf’、Vw、Vs’をベクトル合成してベクトルVaを求め、ベクトルVaを適正化してベクトルVa’を算出する(ステップS216〜S220)。そして、ベクトルVa’に基づいて群登録情報733の当該ネズミオブジェクトMnの個体情報733cを更新する(ステップS222)。
【0120】
以上の処理によって、宝物アイテムH1に目がくらんで、商人キャラクタR5が群から離れてしまうといったキャラクタの属性に基づく特有の行動をゲームに反映させることができる。
【0121】
〔第3の実施の形態〕
次に、図25〜図29を参照して、本発明における第3の実施の形態について説明する。第3の実施の形態は、ネズミオブジェクトMを更に所定の形状を成すように整列させる場合と、仮想視点からの距離に応じて演算処理を省略する場合を例に挙げて説明する。尚、本実施の形態は、基本的に第1及び第2の実施の形態と同様の構成によって実現可能であり、同様の構成要素については同じ符号を付け説明は省略するものとする。
【0122】
[整列の概念の説明]
図25は、本実施の形態におけるオブジェクトの整列の原理を説明する図である。同図に示すように、仮想ターゲットTaを基準位置として所与の配置パターンにサブ仮想ターゲットGn(nは自然数)を設定する。各サブ仮想ターゲットGnにはそれぞれネズミオブジェクトMnが対応づけられている。そして、ネズミオブジェクトMnはそれぞれに対応づけられたサブ仮想ターゲットGnをそれぞれの移動目標とする。従って、ネズミオブジェクトMは互いに衝突を回避し、また敵を避けつつもあたかも隊列を成すように群Faを形成する。
【0123】
本実施の形態では仮想ターゲットTaに対するサブ仮想ターゲットGnの配置パターンは予め決まっているものとし、プレーヤの操作によって仮想ターゲットTaを移動目標とするか、サブ仮想ターゲットGnを移動目標として整列させるかを切り換えできる。本実施の形態では、後者を「整列モード」と言う。
尚、配置は同図の例に限らず形状は適宜設定して構わないし、平面状に限らず立体状に配置するとしても良い。また複数の配置のパターンを予め用意し、ゲーム中に適宜ユーザが選択できる構成としても良いのは勿論である。
【0124】
[機能ブロックの説明]
図26は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、本実施の形態における業務用ゲーム装置1300では、ゲーム情報72にサブ仮想ターゲットGnの配置位置を設定するための情報を格納するサブ仮想ターゲット設定情報744とを含む。
【0125】
図27は、配置パターンを表す具体的なデータである、サブ仮想ターゲット設定情報744のデータ構成の一例を示す図である。同図に示すように、サブ仮想ターゲット設定情報744は、例えば仮想ターゲットTaをローカル原点とするサブ仮想ターゲットGnの識別情報(サブ仮想ターゲットID)と座標値とをテーブルデータとして格納する。
【0126】
サブ仮想ターゲットGnとネズミオブジェクトMnの対応関係は、本実施の形態では群設定部220によって行われ、群登録情報733の個体情報733cに対応関係に関する情報(例えば、対応するサブ仮想ターゲットGnの識別情報など)を格納するものとする。また、整列モードか否かの識別は適宜ゲーム情報72内に例えばフラグを設定して管理するものとする。
【0127】
[処理の流れの説明]
図28は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。尚、図15と相異するステップには、S500番台の符号を付けている。
【0128】
同図に示すように、先ずゲーム演算部22は仮想視点から仮想ターゲットTaまでの距離を演算する(ステップS501)。求めた距離は記憶部70に適宜記憶する。
次に、ゲーム演算部22は、整列モードが選択されているか否かを判定する(ステップS502)。整列モードが選択されている場合(ステップS502のYES)、ゲーム演算部22はサブ仮想ターゲット設定情報744を参照して、ゲーム空間上にサブ仮想ターゲットGnを設定し(ステップS504)、群設定部220がサブ仮想ターゲットGnとネズミオブジェクトMnとを対応づける(ステップS506)。
【0129】
次に、ベクトル演算部221が成分ベクトルの算出を行う。整列モードが選択されている場合(ステップS508のYES)、ベクトル演算部221はサブ仮想ターゲットGnを対象としてベクトルVt及びVt’を算出する(ステップS510)。整列モードが選択されていない場合(ステップS508のNO)、仮想ターゲットTaを対象としてベクトルVt及びVt’を算出する(ステップS206)。
【0130】
次に、ゲーム演算部22は、仮想視点から仮想ターゲットTaまでの距離が、画面上のネズミオブジェクトMの表示サイズが小さくなり個体識別が難しくなる所定閾値を超えるか否かを判定する(ステップS512)。
仮想視点から仮想ターゲットTaまでの距離が閾値を上回る場合(ステップS512のYES)、即ちネズミオブジェクトMの表示サイズが十分に小さい場合、ステップS208からステップS212を省略して、ベクトルVe’、Vf’、Vwをそれぞれ「0」とする(ステップS514)。以下、第1の実施の形態と同様であり説明を省略する(ステップS208〜S224)。
【0131】
以上の処理によって、ネズミオブジェクトMそれぞれが独立して動作しているかのように制御しつつも、群Faが所定の形状を成すように整列させることができる。
【0132】
尚、サブ仮想ターゲットGnとネズミオブジェクトMnの対応づけは、これに限定されるものではなく適宜設定して構わない。
【0133】
また、サブ仮想ターゲットGnの配置を視点からの距離に応じて可変する構成としても良い。より具体的には、例えばゲーム演算部22が、ステップS504において仮想ターゲットTaから仮想視点までの距離を求め、仮想ターゲットTaが所定距離以上に遠方に位置する場合に、サブ仮想ターゲットGn相互の配置間隔を初期状態から所定の倍率だけ拡大する。また、仮想ターゲットTaから仮想視点までの距離が所定距離に満たない場合には、初期状態のままとする。これによって、画面表示上、ネズミオブジェクトMの表示サイズが小さくなり、整列しているか否かが判別しにくくなる場合に、意図的に間隔を広げて整列している状態を明確に示すことができる。
【0134】
また、仮想ターゲットTaから仮想視点までの距離に基づいて、サブ仮想ターゲットGnとネズミオブジェクトMnとの対応を1対1から1対多に可変するとしても良い。より具体的には、例えば群移動処理のステップS504において求めた距離が所定値を超える場合、ゲーム演算部22が間欠的にネズミオブジェクトMnのベクトルVt及びVt’を求めるステップS508、S206、S510を省略し、隣接する他のネズミオブジェクトMmのベクトルVt’をコピーする。
【0135】
以上、本発明を適用した第1〜第3の実施の形態について説明したが、本発明の適用がこれらに限定されるものでなく、本発明の趣旨を逸脱しない限りにおいて構成する要素を適宜追加・変更して構わない。
【0136】
例えば、ベクトルVe’及びVf’の算出において、ネコオブジェクトCl又は近接する仲間のネズミオブジェクトMmを避ける場合、ベクトルVe及びVfを判定するものとしたが、これに限らず例えばベクトルVeとVe’、ベクトルVfとVf’の偏角が、ネコオブジェクトCl又は近接する仲間のネズミオブジェクトMmまでの距離に反比例するように決定する構成としても良い。この場合、回避する対象が遠方に有る場合には、まだ距離が離れているので予防措置的に向きを変える程度とし、対象が近接するに従って回避する程度を高めてより対象の反対方向に向かって避けるように移動制御できる。
【0137】
例えば、ネズミオブジェクトMが移動中にジャンプする場合には、ベクトルVaを合成する際に、放物運動するためのベクトルをベクトルVaに適宜追加することによってジャンプしながら移動する様子を表現できる。同様に、ネズミオブジェクトMの制御に生物特有の揺らぎを与える場合、ベクトルVt’、Ve’、Vf’を算出する際、それぞれにランダムな係数を掛けてバラツキを与えるとしても良い。
【0138】
また、距離レンジは段階的に設定されるのに限らない。例えばベクトルVt’、Ve’、Vf’を算出する際に掛ける係数を、所定の関数から求めることによって、連続的に設定する構成としても良いのは勿論である。
【0139】
また、ネズミオブジェクトMのように、基本的に地表面を移動する設定である場合には、前述の各ベクトルを地表面に沿った平面の2次元成分のみを扱い、高さは地表のモデリングデータから得る構成としても良い。例えば、XYZの3次元座標系において地表がXZ平面に概ね沿って形成されている場合、前述の各ベクトルをXZ成分のみで演算する。そして、ネズミオブジェクトMのXZ平面での移動位置が決定したならば、当該位置座標に該当する地表の高さを参照して、移動位置の高さ成分とする。より具体的には、ネズミオブジェクトMの移動位置が地表ポリゴンの平面上の一点であると考え、地表を構成するポリゴンの法線ベクトルVnを算出し、ベクトルVnと移動位置のXZ座標値からY座標値を求めるとしても良い。
【0140】
【発明の効果】
本発明によれば、群を構成する個体の行動に影響を与える力の成分をベクトルとして捉え、ベクトルを移動位置演算のベースとすることによって、ベクトル演算によって複数の力が相互に作用する状態から所望する値を速やかに演算することができる。また、各ベクトルの影響の程度を係数やベクトルの合成比率によって反映させることによって個体毎の個性を反映することができる。従って、個体及び群に動作の個性をもたせつつ、より高速に群制御することができる。
【図面の簡単な説明】
【図1】本発明を適用した業務用ゲーム装置の外観の一例を示す図。
【図2】ゲーム内容の概念を説明するための図。
【図3】第1の実施の形態におけるネズミオブジェクトMの移動制御の原理を説明するための図。
【図4】第1の実施の形態におけるネズミオブジェクトMのベクトルVt'の算出方法について原理を説明するための図。
【図5】第1の実施の形態におけるネズミオブジェクトMのベクトルVt'の算出方法について原理を説明するための図。
【図6】第1の実施の形態におけるネズミオブジェクトMのベクトルVe'の算出方法について原理を説明するための図。
【図7】第1の実施の形態におけるネズミオブジェクトMのベクトルVf'の算出方法について原理を説明するための図。
【図8】第1の実施の形態におけるネズミオブジェクトMのベクトルVf'の算出方法について原理を説明するための図。
【図9】環境から作用する外力ベクトルVwの概念を説明するための図。
【図10】第1の実施の形態における機能構成の一例を示す機能ブロック図。
【図11】群登録情報のデータ構成の一例を示す図。
【図12】性格設定情報のデータ構成の一例を示す図。
【図13】外力設定情報のデータ構成の一例を示す図。
【図14】第1の実施の形態におけるメインフローの流れを説明するためのフローチャート。
【図15】第1の実施の形態における群移動処理の流れを説明するためのフローチャート。
【図16】ゲーム画面の一例を示す図。
【図17】ゲーム画面の一例を示す図。
【図18】ゲーム画面の一例を示す図。
【図19】ハードウェア構成の一例を示す図。
【図20】第2の実施の形態におけるキャラクタの属性に応じて設定されるベクトルVsに関する概念を説明する図。
【図21】第2の実施の形態における機能構成の一例を説明するための機能ブロック図。
【図22】第2の実施の形態における群登録情報のデータ構成の一例を示す図。
【図23】属性別アイテム設定情報のデータ構成の一例を示す図。
【図24】第2の実施の形態における群移動処理の流れを説明するためのフローチャート。
【図25】第3の実施の形態におけるオブジェクトの整列の原理を説明する図。
【図26】第3の実施の形態における機能構成の一例を示す機能ブロック図。
【図27】サブ仮想ターゲット設定情報のデータ構成の一例を示す図。
【図28】第3の実施の形態における群移動処理の流れを説明するためのフローチャート。
【符号の説明】
10 操作入力部
20 処理部
22 ゲーム演算部
220 群設定部
221 ベクトル演算部
222 仮想ターゲット移動制御部
223 成分ベクトル算出部
224 合成ベクトル算出部
225 合成ベクトル変更部
70 記憶部
72 ゲーム情報
720 群設定プログラム
721 ベクトル演算プログラム
722 仮想ターゲット移動制御プログラム
733 群登録情報
734 算出方法設定情報
735 性格設定情報
740 外力設定情報
742 属性別アイテム設定情報
744 サブ仮想ターゲット設定情報
1300 業務用ゲーム装置
1320 制御ユニット
1324 ベクトル演算ユニット
C ネコオブジェクト
F 群
G サブ仮想ターゲット
H1 宝物アイテム
H2 食料アイテム
k 係数
M ネズミオブジェクト
T 仮想ターゲット
V ベクトル
[0001]
BACKGROUND OF THE INVENTION
The present invention is a computer. In In order to control the movement of a group consisting of a plurality of individuals, to control the movement of each individual and generate an image of the moving group program Etc.
[0002]
[Prior art]
In computer graphics (CG) such as games, a technique for expressing the appearance of a “group” in which a plurality of individuals are gathered, such as insects, birds, and soldiers, is called group control. In group control, it is preferable to perform control as if each individual operates independently under some intelligence while maintaining a grouped form as a group as a whole.
[0003]
Examples of conventional group control methods include the following.
(1) For example, a leader who leads a group is set among individuals constituting the group. Individuals other than the leader basically move toward a target point that is relatively determined based on the position of the leader, and when reaching the target point, control is performed so as to hesitate within a predetermined range at a predetermined speed.
In the movement control for each individual toward the target point, a short-range, medium-range, and long-range field-of-view range centered on each individual is set. When there is a companion (another individual in the same group) in the short-range visual field range, the repulsive force for collision avoidance is set, and this repulsive force is divided by the weight (set weight value of the individual) to obtain the first Calculate acceleration. When there is a friend in the medium-range visual field range, the average acceleration of the friend is set as the second acceleration in order to move in the same direction as the friend. When there is a friend in the far field range, a repulsive force for leaving the friend is set to secure the line of sight, and the repulsive force is divided by the weight to obtain the third acceleration. Then, the acceleration toward the target point and the first to third accelerations are added for each of the X, Y, and Z components in the three-dimensional virtual space to calculate the total average value. Based on the total average, the position coordinates of the individual are calculated. Accordingly, appropriate movement control is performed for each individual according to the distance from the fellow, and group control that looks more natural is realized (for example, see Patent Document 1; corresponding to all claims).
[0004]
(2) In addition, when a group of a plurality of races (types) is set in the virtual space, a virtual quantity indicating the degree of interest to be given to each individual is set for each individual, and the other individual to be noted from this virtual quantity There is also a method of determining the magnitude of the force vector in accordance with the distance between and. The virtual quantity is set in advance for each family, and the evaluation function calculates an evaluation value from the virtual quantity of the other individual in accordance with the distance range with the other individual of interest. This evaluation value is a value indicating the magnitude of a force vector having a direction between individuals, and this force vector is a force applied to the individual. Then, a resultant force vector is calculated from the obtained force vector applied to each individual, and each individual is controlled to move based on this combined vector.
[0005]
For example, in the case of herring as a prey species and barracuda as its predatory species, a virtual amount “1” is set for the herring individual and a virtual amount “10” is set for the individual of barracuda. When a herring individual exists within a distance range corresponding to the field of view set for the barracuda individual, a force vector having a direction from the barracuda to the herring and a magnitude of the virtual amount “1” of the herring is obtained. Suppose that it takes the barracuda. That is, the barracuda tries to approach herring. On the other hand, when evaluating barracuda from herring, the virtual function is evaluated as “−10” by the evaluation function, and herring is applied with a force vector of “−10”, that is, a strong force in the opposite direction from barracuda. Tries to escape from the barracuda. Further, when another individual of herring exists within a distance corresponding to the field of view set for the herring individual, the virtual quantity is evaluated as “−1”. That is, the herring is subjected to a force vector of “−1” opposite to that of the other herrings, and is separated to avoid a collision.
[0006]
In this way, even if there are multiple race individuals in the virtual space, the movement control of individuals corresponding to multiple races can be easily performed by presetting virtual quantities and evaluation functions for each race. To achieve more natural group control. (For example, Patent Document 2; corresponding to all claims).
[0007]
There are also (3) performing movement control of an individual by performing a determination process based on a distance from another individual. For example, when there are multiple individuals divided into enemy allies, when an individual approaches an enemy individual, it is determined whether to fight based on the distance from the enemy individual, and when it is determined to fight Move and control an individual to approach an enemy. In this way, it is possible to control the movement of an individual according to the situation such as not only fighting against an enemy individual approaching in the middle of movement in the determination process but also heading to the enemy individual when the enemy individual is discovered. (For example, see Patent Document 3; corresponding to all claims).
[0008]
In addition, there is (4) a method in which an individual and a surrounding obstacle are projected in parallel on the XY plane with the traveling direction of the individual as the Z-axis direction of the three-dimensional coordinate space. Then, movement control is performed in a direction in which the individual does not collide with the obstacle by determining the collision between the individual and the obstacle on the XY plane (for example, Patent Document 4; corresponding to claim 11).
[0009]
[Patent Document 1]
Japanese Patent No. 3163696
[Patent Document 2]
Japanese Patent No. 2512052
[Patent Document 3]
JP 2001-149655 A
[Patent Document 4]
Japanese Patent No. 3005246
[0010]
[Problems to be solved by the invention]
However, the methods (1) and (3) have a problem that the processing becomes heavy because the acceleration calculation and determination processing are repeated. In the method (2), the behavior common to the group can be expressed easily, but there is a problem that the individuality of the behavior for each individual constituting the group cannot be expressed.
[0011]
The present invention has been made in view of the above-mentioned problems, and an object of the present invention is to perform group control at higher speed while giving individuality to the individual constituting the group and the operation of the group.
[0012]
[Means for Solving the Problems]
To solve the above problems The first of According to the present invention, an apparatus similar to a computer has a plurality of individuals (for example, personality setting information 735 in FIG. 12) having different values in a virtual space where an enemy (for example, a cat object Cl in FIG. 2) exists. For example, in order to control the movement toward the target point (for example, the virtual target Ta in FIG. 2) of the group composed of the mouse objects Mn) in FIG. Control information for generating an image, and first setting means (for example, FIG. 10) that sets a first vector (for example, vectors Vt and Vt ′ in FIG. 3) based on the distance between the individual and the target point. Vector calculation unit 221, component vector calculation unit 223, step S206 in FIG. 15, and a second vector (for example, vectors Ve and V in FIG. 3) based on the distance between the individual and the enemy. e ′) is set by a second setting means (for example, the vector calculation unit 221, the component vector calculation unit 223 in FIG. 10, step S208 in FIG. 15), and a third vector (for example, based on the distance between the individual and another individual) , Third setting means for setting the vectors Vf and Vf ′ in FIG. 3 (for example, the vector calculation unit 221, the component vector calculation unit 223 in FIG. 10, step S 210 in FIG. 15), and the value of the first parameter of the individual First coefficient setting means for setting a first coefficient related to the magnitude of the first vector (for example, the vector calculation unit 221, the combined vector calculation unit 224 in FIG. 10, steps S 216 to S 218 in FIG. 15), the first number of the individual Second coefficient setting means for setting a second coefficient related to the magnitude of the second vector based on the value of one parameter (for example, the vector calculation unit 221 in FIG. 10, The generated vector calculation unit 224, steps S216 to S218 in FIG. 15, and third coefficient setting means (for example, FIG. 10) that sets a third coefficient related to the size of the third vector based on the value of the first parameter of the individual. Calculation unit for calculating the movement position of the individual after a predetermined time based on the vector calculation unit 221, the combined vector calculation unit 224, steps S216 to S218 in FIG. 15, the first to third vectors, and the first to third coefficients. (For example, the game calculation unit 22 in FIG. 10, step S222 in FIG. 15) includes information for causing the device to function. Control information .
[0013]
14th In the virtual space where the enemy exists, the movement of each individual is controlled in order to control the movement toward the target point of the group composed of a plurality of individuals having different first parameter values. An image generation apparatus for generating an image of a group that performs first setting means for setting a first vector based on a distance between the individual and a target point, and a first setting unit based on a distance between the individual and an enemy Second setting means for setting two vectors, third setting means for setting a third vector based on the distance between the individual and another individual, and the magnitude of the first vector based on the value of the first parameter of the individual First coefficient setting means for setting a first coefficient related to the length, second coefficient setting means for setting a second coefficient related to the magnitude of the second vector based on the value of the first parameter of the individual, Based on the value of one parameter And a third coefficient setting means for setting a third coefficient relating to the magnitude of the third vector, and an operation for calculating the movement position of the individual after a predetermined time based on the first to third vectors and the first to third coefficients. Means It is an image generation device .
[0014]
Second According to the invention, in order to allow a device similar to a computer to perform movement control toward a target point of a group composed of a plurality of individuals having different values of the first parameter in a virtual space where an enemy exists, each individual moves Control information for generating an image of a moving group by controlling the first setting means for setting the first vector based on the distance between the individual and the target point, the distance between the individual and the enemy Second setting means for setting the second vector based on the first setting means, third setting means for setting the third vector based on the distance between the individual and the other individual, the first parameter based on the value of the first parameter of the individual. ~ Composition ratio setting means for setting the composition ratio of the third vector (for example, the composition vector calculation unit 224 in FIG. 10, steps S216 to S218 in FIG. 15) The composition ratio set by the composition ratio setting means Then, the apparatus is used as a calculation means (for example, the game calculation unit 22 in FIG. 10 and step S222 in FIG. 15) for calculating the movement position of the individual after a predetermined time by combining the first to third vectors. Contains information to make it work Mu Control information Is .
[0015]
15th In the virtual space where the enemy exists, the movement of each individual is controlled in order to control the movement toward the target point of the group composed of a plurality of individuals having different first parameter values. An image generation apparatus for generating an image of a group that performs first setting means for setting a first vector based on a distance between the individual and a target point, and a first setting unit based on a distance between the individual and an enemy Second setting means for setting two vectors, third setting means for setting a third vector based on the distance between the individual and another individual, and first to first values based on the value of the first parameter of the individual. Based on the composition ratio setting means for setting the composition ratio of three vectors and the composition ratio set by the composition ratio setting means, the first to third vectors are synthesized, and the movement position of the individual after a predetermined time is determined. Computing means for computing That It is an image generation device .
[0016]
First Or 14th According to the invention, the first to third vectors are set as actions common to the individuals constituting the group, and further, the first to third values set based on the first parameter set for each individual. A coefficient is applied to add a change for each individual to the size of each vector to obtain the movement position of the individual. Also, Second Or 15th According to the invention, the first to third vectors are set as actions common to the individuals constituting the group, and further, the first to third vectors are synthesized at the synthesis ratio based on the first parameter, Find the moving position of the individual. Each individual is controlled to move based on these vectors.
[0017]
Here, the process of setting the first to third vectors is common to each group, and the first to third vectors at the offspring stage indicate a behavior principle common to the groups. On the other hand, the first to third coefficients and the synthesis ratio of the first to third vectors respectively applied to the first to third vectors are based on the parameters for each individual and represent the characteristics of each other individual. Accordingly, it is possible to perform movement control that reflects the individuality of each individual while causing each individual to perform an action based on the behavior principle common to the group.
In addition, by comprehending the force component that affects the behavior of the individuals making up the group as a vector and using the vector as the base for the movement control calculation of the individual, no complicated acceleration calculation or conditional branching is required. A desired value can be quickly calculated even from a state in which a plurality of vectors act by vector calculation. Therefore, the group control can be performed at a higher speed while giving the individual and group the individuality of the operation.
[0018]
The “enemy” referred to here is not limited to the existence of individuals engaged in the group, but may be an existence that causes harm to the individual or an existence that the individual should avoid. “Control information” refers to information according to a program that is used for processing by an electronic computer (computer) such as a game device.
[0019]
Third The invention of First Or Second invention The first setting means alternatively selects a calculation method according to the distance between the individual and the target point from among a plurality of calculation methods, and the first setting means selects a calculation method based on the selected calculation method. Information for setting one vector (for example, calculation method setting information 734 in FIG. 10) and the second setting means are alternatively selected from the plurality of calculation methods according to the distance between the individual and the enemy. Information for selecting a calculation method and setting a second vector based on the selected calculation method (for example, calculation method setting information 734 in FIG. 10), and the third setting means are a plurality of calculation methods, Information for selecting a calculation method alternatively according to the distance between the individual and another individual, and setting a third vector based on the selected calculation method (for example, calculation method setting information 734 in FIG. 10); ,including Control information .
[0020]
Third According to the invention , The calculation method of each of the first to third vectors can be selected according to the distance from the vector calculation target from among preset methods. Therefore, the movement control of the individual can be changed variously according to the distance from the vector calculation target.
[0021]
4th The invention of First ~ Third Either Invention Control information, and when there is another group in addition to the own group in the virtual space, the third setting means determines the distance between the individual and the other group, and the individual and the other group. Contains information for setting the third vector based on the distance between individuals Control information .
[0022]
4th According to the invention , The individual can express the difference in behavior with respect to the members of the same group and the other group.
[0023]
Also, 5th Invention As , 4th invention Control information, wherein the third setting means is such that the declination between the direction from the individual toward the other group of individuals and the direction of the third vector is inversely proportional to the distance between the individual and the other group of individuals. Information for setting the third vector in a simple calculation method Configure control information It is also good.
[0024]
5th According to the invention , The third vector is set so that the direction of the third vector is more reversed as the distance between the individual to be processed and the individual in the other group is closer. Accordingly, it is possible to express a repulsive force that gradually increases the direction of avoidance and finally escapes in the opposite direction as individuals belonging to other groups approach.
[0025]
6th The invention of First ~ 5th Either Invention And when the distance between the individual and the target point is outside a given distance, the first setting means sets a first vector in a direction approaching the target point, and Contains information for setting the first vector in a direction away from the target point. Control information .
[0026]
6th According to the invention , The individual can be separated from the target point by a given distance. Therefore, for example, it is possible to prevent individuals from being concentrated in one place and forming an unnatural shape as a group. Further, when the target point is the presence leading the group, the side leading the group and the following side can be clearly expressed.
[0027]
7th The invention of First ~ 6th Either Invention Control information for causing the apparatus to function as a determination unit that determines whether the distance between any one of the groups to which the individual belongs and the target point is within a given distance. When it is determined by the information and the determination means that the distance between any one individual and the target point is within the given distance, the magnitude of the vector is larger than when the distance is outside the given distance. The first setting means includes information for setting the first vector so as to be smaller Control information .
[0028]
7th According to the invention , When any individual in the group satisfies a predetermined positional relationship with the target point, the vector size of the individual can be reduced and the movement amount can be reduced. Therefore, for example, if one individual is set as the head of the group, it is possible to express a state in which each individual decelerates and stops spontaneously as soon as the head of the group reaches a predetermined position.
[0029]
8th The invention of First ~ 7th Either Invention The second parameter (for example, the character attribute 733d in FIG. 22 and the item-specific item setting information 742 in FIG. 23) representing the type is set in advance for each individual. Includes a plurality of types of individuals having different values of the second parameter, and selects a calculation method by type according to the value of the second parameter of the individual among a plurality of calculation methods by type, Fourth setting means (for example, vector calculation unit 221, component vector calculation unit 223 in FIG. 21, step of FIG. 24) that sets a fourth vector (for example, vector Vs ′ in FIG. 20) based on the selected calculation method by type. Information for causing the apparatus to function as S302 to S308), and information for calculating the movement position of the individual after a predetermined time in consideration of the fourth vector by the calculation means. Control information .
[0030]
The type mentioned here is a type related to the attributes of individuals forming the same group, and may be appropriately set, for example, male / female, age, occupation, race, title, rank.
8th According to the invention , There are multiple types of individuals that make up the group, and each type Inherent This behavior can be expressed as a fourth vector and can be taken into account for the movement position calculation of the individual. Therefore, it is possible to give diversity to the group control.
[0031]
9th Invention Is , First ~ 8th Either Invention Sub-target points corresponding to each individual (for example, the sub-virtual target Gn in FIG. 25) are set in the virtual space with a given arrangement pattern based on the target points. Information for causing the device to function as setting means (for example, the game calculation unit 22 and the group setting unit 220 in FIG. 26), and the first setting means, instead of the distance between the individual and the target point, the individual And information for setting the first vector based on the distance between the sub target points corresponding to the individual (for example, steps S508 to S510 in FIG. 28). Control information .
[0032]
9th According to the invention , Sub-target points can be set with a given arrangement pattern based on the target points. Since the sub target points are set with a given arrangement pattern, as a result, the individuals constituting the group are controlled to move so as to align according to the arrangement pattern.
[0033]
10th The invention of Ninth invention Control information, and information for causing the apparatus to function as viewpoint setting means (for example, the game calculation unit 22 in FIG. 26) for setting a viewpoint serving as a reference for generating the image in the virtual space, and the sub Target point setting means includes information for changing the arrangement pattern in accordance with a distance from the viewpoint set by the viewpoint setting means to the target point. Control information .
[0034]
When the group is located far from the viewpoint, the size of the individual displayed on the screen is also reduced.
10th According to the invention , The arrangement pattern can be varied according to the distance from the viewpoint. For example, when the group is located far from the viewpoint, the arrangement pattern is varied so as to widen the setting interval of the sub target points, and the state in which the individual is aligned is changed so that it can be easily identified on the image. Alternatively, the correspondence between each individual and the sub-target point is not one-unit-one correspondence, but a plurality of individuals correspond to one sub-target point, and the arrangement pattern is reduced so that the number of sub-target points is reduced. Arithmetic processing applied to an individual located far away can be reduced.
[0035]
11th The invention of First ~ 10th Either Invention Control information, wherein each individual moves on the ground surface in the virtual space, and the first setting means sets information for setting a first vector with a predetermined two-dimensional component along the ground surface; Information for the second setting means to set a second vector with the two-dimensional component; information for the third setting means to set a third vector with the two-dimensional component; and the computing means, Information for calculating the movement position of the individual after a predetermined time in consideration of the altitude of the ground surface.
[0036]
11th According to the invention, the first, second, and third vectors are set as two-dimensional components along the ground surface, and the components in the height direction are not calculated. For example, when the ground surface is formed along the XZ plane in a three-dimensional coordinate system composed of XYZ components, a vector is calculated from the X and Z components of the XZ plane, and the Y component, which is the height component, is the height of the ground surface. Ask from. Therefore, the calculation load can be further reduced.
[0037]
12th The invention of First ~ 11th Either Invention Control information, the target point is not displayed on the image Control information .
[0038]
12th According to the invention , By making the target point invisible, it can be expressed as if the group itself is being operated rather than being pulled.
[0039]
13th The invention of First ~ 12th Either Invention An information storage medium that can be read by the apparatus storing the control information.
[0040]
The information storage medium is a medium that can be read by a device similar to a computer, such as an IC memory card, a CD-ROM, an MO, a DVD, or a hard disk. 13th According to the invention, in a device similar to a computer, First ~ 12th An effect similar to that of any of the inventions can be realized.
[0041]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
Hereinafter, a first embodiment to which the present invention is applied will be described with reference to FIGS. In the first embodiment, an example will be described in which a player executes a game in which a player moves a group of mice on a game device that is a type of image generation device. It should be noted that the detailed contents of the game are set as appropriate, and here, the operation of moving the group of mice will be mainly described. Moreover, the individual | organism | solid which comprises a group is not restricted to a mouse | mouth, You may set suitably. For example, it may be applied to a cavalry unit or a tank unit appearing in a simulation game, and the player may be set to fight as a commander. In addition, the group is not limited to the player, and it is needless to say that the computer may be set to automatically operate an insect group, a robot group, a piglet group, etc. that appear as enemy characters in the shooting game.
[0042]
[Description of configuration]
FIG. 1 is a diagram showing an example of the appearance of a commercial game apparatus 1300 to which the present invention is applied. As shown in the figure, the arcade game apparatus 1300 includes a display 1302 for displaying a game screen image, a speaker 1304 for outputting game sound effects and BGM, a joystick 1306 for inputting front and rear, left and right directions, and a push button 1308. And a control unit 1320 that controls the arcade game device 1300 in an integrated manner through arithmetic processing to execute a given game.
[0043]
The control unit 1320 is realized by, for example, a CPU, an MPU, various IC memories, an ASIC, and the like, and has a vector operation unit 1324 mounted thereon. The vector arithmetic unit 1324 means a microprocessor or the like specialized in functions for vector arithmetic processing.
In addition, the control unit 1320 is equipped with a ROM 1322 in which programs and data necessary for controlling the arcade game device 1300 and executing the game are stored. The CPU, the vector calculation unit 1324, and the like mounted on the control unit 1320 execute various processes by appropriately reading out programs and data from the ROM 1322 and performing calculation processes.
[0044]
While viewing the game screen displayed on the display 1302, the player inputs the group movement direction with the joystick 1306, and inputs various commands with the push button 1308 to control the group and enjoy the game.
[0045]
[Overview of game content]
FIG. 2 is a diagram for explaining the concept of game contents in the present embodiment. As shown in the figure, in the game space, a plurality of mouse objects Mn (n is a natural number; generally, it is a mouse object M, and when referring to one mouse object, it is a mouse object Mn) and prey on the mouse. A cat object Cl (l is a natural number) is arranged. The mouse object M forms a group Fa, and a virtual target Ta that is a common movement target is set in the group Fa.
[0046]
In the present embodiment, the player operates the virtual target Ta with the joystick 1306 to determine the moving direction of the group Fa. The player guides the group Fa to a predetermined destination (goal point) while operating so that the mouse object M of the group operated by the player is not preyed on by the cat object C. If the group Fa can arrive at the destination safely, the game is over. For convenience of explanation, the virtual target Ta is described as a visible state (flag-like object), but may be invisible.
[0047]
[Principle of mouse object movement control]
FIG. 3 is a diagram for explaining the principle of movement control of the mouse object M in the present embodiment. As shown in the figure, the mouse object Mn focuses on a virtual target Ta, another mouse object Mm (m is a natural number; m ≠ n) belonging to the same group, and a cat object Cl. Then, the movement is individually controlled based on the relative positional relationship with these objects of interest. When the mouse objects M are individually controlled to move, the group Fa moves as a whole.
[0048]
In the movement control of the mouse object Mn, first, (1) the vector Vt from the mouse object Mn to the virtual target Ta, (2) the vector Ve from the cat object Cl, and (3) others belonging to the same group from the mouse object Mn. The vector Vf up to the mouse object Mm is calculated.
[0049]
Then, the calculated vectors Vt, Ve, and Vf are changed in vector direction and size according to the positional relationship with each target object, and are set as vectors Vt ′, Ve ′, and Vf ′. The vectors Vt ′, Ve ′, and Vf ′ have the same significance as the level of influence and influence on each target of interest common to the race of rats in the game settings, and act on the mouse object Mn as centripetal force and avoidance force. .
[0050]
Once the vectors Vt ′, Ve ′, and Vf ′ are calculated, the vectors Vt ′, Ve ′, and Vf ′ are weighted by coefficients kt, ke, and kf, respectively, based on the parameters that indicate the individuality of the behavior of the mouse object Mn. A composite vector Va is calculated.
In the present embodiment, the game space environment force that affects the mouse object Mn when calculating the combined vector Va is further combined as a vector Vw. The environmental force in the game space represents an external force based on topographic conditions and environmental conditions such as wind, water flow, floor and ground movement, floor and ground slip, and gravity.
[0051]
When the combined vector Va is calculated, the size of the combined vector Va is further optimized so as not to exceed the upper limit speed | V | max in the game setting of the mouse, and is set as the combined vector Va ′. The mouse object Mn is movement-controlled by calculating the position coordinates of the next movement destination based on the composite vector Va ′.
[0052]
[Explanation of vector calculation method]
Next, a specific calculation method of various vectors in the present embodiment will be described.
[0053]
FIG. 4 is a diagram for explaining the principle of the method for calculating the vector Vt ′ in the present embodiment.
As shown in FIG. 4A, the calculation method for obtaining the vector Vt ′ from the mouse object Mn is set for each of the four distance ranges of short distance, medium distance, long distance, and long distance outside the virtual target Ta. The mouse object Mn is selected alternatively depending on which distance range the mouse object Mn is located. It should be noted that specific distance ranges are set as appropriate.
[0054]
When the mouse object Mn is located in the short distance range ((1) in FIG. 4B), it is determined that the mouse object Mn is too close to the virtual target Ta, and the direction of the vector Vt is changed so as to move away from the virtual target Ta. To do. More specifically, for example, when the distance to the virtual target Ta or the magnitude of the vector Vt is equal to or smaller than a predetermined value, a vector Vt ′ is obtained by multiplying a negative coefficient so that the vector Vt acts in the opposite direction. Alternatively, the direction may be reversed by multiplying by a predetermined matrix.
[0055]
As a result, for example, as shown in FIG. 5A, the virtual target Ta and the mouse object Mn are separated from each other by a predetermined distance, and the mouse object M is so dense that it surrounds the virtual target Ta, thereby hindering the next movement. Avoid the situation.
[0056]
When the mouse object Mn is located in the middle distance range, the calculation method is set by further subdividing the conditions according to the state of the virtual target Ta.
When the virtual target Ta is stopped ((2) in FIG. 4B), the vector Vt ′ is calculated in proportion to the vector Vt. As shown in FIG. 5B, the vector Vt ′ becomes smaller as the mouse object Mn approaches the virtual target Ta, and the mouse object Mn approaches the virtual target Ta in a stopped state while gradually decreasing the speed. Act on.
[0057]
When the virtual target Ta is moving, the velocity vector Vta one frame before the virtual target Ta t-1 The vector Vt ′ is calculated in proportion to The vector Vt ′ acts so that the mouse object Mn moves in the same direction as the virtual target Ta together with other mouse objects Mm belonging to the vector Vt ′.
[0058]
Further, when the virtual target Ta is moving, the condition is further divided depending on whether or not the first mouse object of the group Fa has reached the middle distance range.
[0059]
When the first mouse object of the group Fa has not reached the range of the middle distance range ((4) in FIG. 4B), the coefficient k7 is appropriately set so that the mouse object Mn runs in parallel with the virtual target Ta. To do.
When the first mouse object of the group Fa reaches the middle distance range ((3) in FIG. 4B), it is determined that the group Fa may stop or decelerate, and the vector Vt is large. Even if the value is shown, the coefficient k6 is appropriately set so that the vector Vt ′ becomes small. The vector Vt ′ acts to decelerate in preparation for stopping the entire group Fa when the first mouse object of the group Fa reaches the middle distance range. As a result, the group Fa stops or decelerates, and the mouse object Mm is pushed forward even though the mouse object Mn does not advance any further by moving to the other mouse object Mm going forward, and the form of the result group Fa is destroyed. The situation can be avoided.
Note that the vector Vt ′ obtained when the first mouse object of the group Fa reaches the range of the middle distance range is the vector Vt ′ obtained when the first mouse part of the group Fa does not reach the range of the middle distance range. The coefficient k6 is set so as to be smaller than the vector Vt ′ during parallel running.
[0060]
When the mouse object Mn is located in the long distance range, the vector Vt ′ is calculated in proportion to the vector Vt ((6) in FIG. 4B). Therefore, the vector Vt ′ becomes larger as the mouse object Mn is farther from the virtual target Ta, and the mouse object Mn is stronger and acts to follow the virtual target Ta.
However, if the first mouse object of the group Fa is stopped ((5) in FIG. 4B), it is determined that the mouse object Mn must also be stopped, and the mouse object Mn is determined by the vector Vt ′. The coefficient k2 is appropriately set so as to appear to decelerate greatly. This makes it possible to smoothly stop the group Fa while avoiding the rat object Mn from colliding with another mouse object Mm belonging to the same belonging to the front.
[0061]
When the mouse object Mn is located in a range outside the long-distance range, the vector Vt ′ is calculated in proportion to the vector Vt. ((7) in FIG. 4B). The vector Vt ′ acts so that the mouse object Mn follows the virtual target Ta more strongly. At this time, if the coefficient k4 is appropriately set so that the ratio of the calculated vector Vt ′ to the vector Vt is larger than that calculated under other conditions, the mouse object Mn that is far away from the virtual target Ta. Can express how they move quickly trying to catch up.
[0062]
In this way, the vector Vt ′ acts as a force that rushes toward the target as the mouse object Mn moves away from the virtual target Ta, and the degree of acting decreases as the distance from the mouse Vn ′ approaches. The vector Vt ′ acts as a centripetal force, a behavioral principle in which the mouse object Mn is a member of the group and moves in the direction of movement of the entire group Fa.
The processing may be simplified by setting the coefficient k1 = k2 = k3 = k4. Even in this case, since the vector Vt has a magnitude corresponding to the distance to the virtual target Ta, the vector Vt ′ basically has a magnitude corresponding to the distance to the virtual target Ta. The same effect can be obtained as the basic action of '.
[0063]
FIG. 6 is a diagram for explaining the principle of the method for calculating the vector Ve ′ of the mouse object Mn in the present embodiment. As shown in FIG. 6A, the vector Ve ′ is alternatively divided into a short distance range and a long distance range with a predetermined threshold as a boundary according to the distance from the mouse object Mn to the cat object Cl. Set the calculation method.
[0064]
When the cat object Cl is in the short distance range ((1) in FIG. 6B), the direction of the vector Ve is reversed to the vector Ve ′, and the closer it is, the faster the escape is. When the cat object Cl is at a long distance ((2) in FIG. 6B), the size of the vector Ve ′ is set to “0”. In other words, control is performed so that the enemy is not far away and the danger is not felt.
Therefore, the vector Ve ′ has a meaning as an action principle for escaping from the enemy. By setting the thresholds of the short-range range and the long-range range, it is possible to express the danger detection ability and timidity of the mouse object Mn.
[0065]
FIG. 7 is a diagram for explaining the principle of the method for calculating the vector Vf ′ of the mouse object Mn in the present embodiment. As shown in FIG. 7A, the vector Vf ′ has a short distance / medium distance / far distance according to the distance from a predetermined number of other mouse objects Mm belonging to the vicinity of the mouse object Mn. Set the calculation method for each distance range. The predetermined number of the mouse objects Mm to be calculated for the vector Vf ′ is appropriately set according to the group size, game content, and the like.
[0066]
When the mouse object Mm is at a short distance ((1) in FIG. 7B), the vector Vf is changed in a direction away from the mouse object Mm to avoid collision. More specifically, the vector Vf is multiplied by a negative coefficient to reverse the direction to obtain a vector Vf ′. As a result, as shown in FIG. 8A, the vector Vf ′ acts to separate the mouse object Mn and the mouse object Mm that are close enough to collide with each other.
[0067]
When the mouse object Mm is at a medium distance determined to be an appropriate distance, and the mouse object at the head of the group Fa is in the medium distance range (see FIG. 4A) ((b) of FIG. 7B). 2)), it is determined that the group Fa may stop or decelerate, and a vector Vf ′ is calculated in proportion to the vector Vf. The vector Vf ′ becomes smaller as it approaches another mouse object Mm of the same genera, and acts so that the mouse object Mn approaches while gradually decreasing the speed.
[0068]
When the first mouse object of the group Fa is not in the middle distance range ((3) in FIG. 7B), the combined vector Vm one frame before the mouse object Mm located in the vicinity. t-1 (= Va ' t-1 ). Thus, for example, as shown in FIG. 8B, the vector Vf ′ acts so that the mouse object Mn moves in the same direction as the other mouse objects Mm of the same genera- tion.
[0069]
When the mouse object Mm is at a long distance ((4) in FIG. 7B), the vector Vf ′ is calculated in proportion to the vector Vf while keeping the direction of the vector Vf. The vector Vf ′ increases as the mouse object Mn moves away from the group. For example, as shown in FIG. 8C, when the mouse object Mn is about to be separated from the group Fa, the vector Vf ′ is quickly transferred to the group (the other mouse object Mm of the same group). Acts to catch up.
[0070]
Accordingly, the vector Vf ′ acts in a direction away from it if it is too close, or in a direction that is close if it is too far, depending on the distance to the other mouse object Mm of the same group. Work to avoid. That is, the vector Vf ′ has a meaning as an action principle for maintaining an appropriate distance from other individuals belonging to the same group. It should be noted that the vector Vf ′ indicates the direction and size of the vector as shown in (5), (6), and (7) of FIG. 7B, on the condition that the mouse object Mm belongs to another group. You may change suitably.
[0071]
As described above, the setting of the calculation method of the vectors Vt ′, Ve ′, and Vf ′ corresponds to expressing the action principle of the race object of the mouse object Mn. For example, when the movement control of the cat object C is performed, the vector Ve ′ is not in the direction of moving away from the object of interest but in the direction of approaching because the mouse object M is preyed.
[0072]
FIG. 9 is a diagram for explaining the concept of the external force vector Vw acting from the environment. As shown in the figure, for example, when a wind is set in the game space, a wind corresponding to the position of the mouse object Mn is applied to the mouse object Mn by the external force vector Vw-1. When the position of the mouse object Mn is a slope, the vector Vw-2 due to gravity is applied. The vector Vw-2 may be set large in a place where the slope is slippery. The vector representing the wind can be set, for example, based on the environment setting of the game space, and the vector representing the gravity can be set, for example, by obtaining based on the normal vector of the polygon plane that constitutes the ground.
[0073]
[B: Explanation of calculation of composite vector]
When the vectors Vt ′, Ve ′, Vf ′ and the vector Vw are calculated, the coefficients kt, ke, kf are determined based on the value of the personality setting information 735 indicating the individuality of the mouse object Mn. For example, the vector Va = kt × Vector synthesis is performed by vector synthesis as Vt ′ + kf × Vf ′ + ke × Ve ′ + Vw.
[0074]
The value of the personality setting information 735 determines how much each component vector affects the final behavior in the mouse object Mn. FIG. 12 is a diagram illustrating an example of a data configuration of the personality setting information 735. As shown in the figure, for example, the mouse object M1 is set to have a relatively strong tendency to follow the group, and for example, the parameters of the vector Vt ′ and the vector Vf ′ are set high. The mouse object M2 has a relatively timid setting, for example, the parameter of the vector Ve ′ is set high.
[0075]
The calculated vector Va is further optimized so that the combined vector Va does not exceed the upper limit speed | V | max on the game setting of the mouse so that the mouse does not have an unnatural moving speed as a mouse. 'And.
[0076]
Based on the principle of movement control described above, the mouse object M follows the action principle common to the race in the game setting called the mouse, and the details are controlled so that the individuality of the mouse object Mn is reflected. Since most of the operations related to movement control are vector calculations as described above, the actual movement amount on the display screen only needs to be obtained once from the composite vector Va ′, and the movement control of individual mouse objects M is involved. It is possible to reduce the calculation load and speed up the control processing of the entire group. The effect is particularly high when the vector game unit 1324 is mounted on the arcade game apparatus 1300.
[0077]
[Description of functional block]
FIG. 10 is a functional block diagram illustrating an example of a functional configuration according to the present embodiment. As shown in the figure, the arcade game apparatus 1300 includes an operation input unit 10, a processing unit 20, an image display unit 30, a sound output unit 40, and a storage unit 70.
[0078]
The operation input unit 10 is realized by, for example, a cross key, a lever, a button switch, a joystick, etc., and receives various game operations and outputs an operation input signal to the processing unit 20. In the example of FIG. 1, the joystick 1306 and the push button 1308 correspond to this.
[0079]
The processing unit 20 performs various arithmetic processes such as control of the arcade game apparatus 1300 as a whole, instructions to each functional block in the apparatus, and game calculations. The function is realized by, for example, hardware such as a CPU (CISC type, RISC type), ASIC (gate array, etc.) and a related control program. In the example of FIG. 1, the control unit 1320 corresponds to this.
The processing unit 20 further includes a game calculation unit 22 that mainly performs calculation processing related to the game, an image generation unit 24 that generates an image signal from various data obtained by the processing of the game calculation unit 22, sound effects, And a sound generator 26 for generating a sound signal of a game sound such as BGM.
[0080]
The game calculation unit 22 executes various game processes based on operation input signals from the operation input unit 10 and programs and data read from the storage unit 70. As game processing, for example, setting of a virtual space (game space), arrangement and movement of objects in the virtual space, hit determination, character action operation, processing for obtaining a game result (score), or the position of the viewpoint and the line-of-sight direction Processing such as determination is executed.
In particular, the present embodiment includes a group setting unit 220 that sets a plurality of groups of a plurality of belonging objects, a vector calculation unit 221, and a virtual target movement control unit 222 that sets and controls a virtual target.
[0081]
The group setting unit 220 registers the mouse object Mn as a belonging object in the group Fa and manages information of each belonging object. For example, if the mouse object Mn disappears due to being preyed by the cat object C during the game, the registration is deleted.
[0082]
The vector calculation unit 221 is implemented by a routine dedicated to vector calculations, a microprocessor dedicated to vector calculations (for example, the vector calculation unit 1324 in FIG. 1), a DSP, and the like.
The vector calculation unit 221 further includes a component vector calculation unit 223 that calculates various component vectors of the vectors Vt, Ve, Vf, Vw and Vt ′, Ve ′, Vf ′, and a combination that calculates a combined vector by combining the component vectors. A vector calculation unit 224 and a combined vector change unit 225 that optimizes the size of the combined vector are included.
[0083]
The virtual target movement control unit 222 controls the movement of the virtual target Ta based on the operation input signal from the operation input unit 10.
[0084]
Based on the image signal from the image generation unit 24, the image display unit 30 displays the game screen while redrawing the screen, for example, every 1/60 seconds as one frame. The image display unit 30 can be realized by hardware such as CRT, LCD, ELD, PDP, and HMD. In the example of FIG. 1, the display 1302 corresponds to this. The sound output unit 40 outputs sound effects, BGM, and the like based on the sound signal from the sound generation unit 26. In the example of FIG. 1, the speaker 1304 corresponds to this.
[0085]
The storage unit 70 is realized by an information storage medium such as an IC memory, a hard disk, a CD-ROM, an MO, and a DVD, and includes a system program that integrally controls the arcade game device 1300 and a system that includes data necessary for arithmetic processing. A program (not shown), a program for executing a game, game information 72 including data such as setting values, and the like are stored. In the example of FIG. 1, the ROM 1322 corresponds to this.
[0086]
The game information 72 stores a program and data necessary for executing the game in the present embodiment (not shown). Particularly in the present embodiment, a group setting program 720 for causing the processing unit 20 to function as the group setting unit 220, a vector operation program 721 for causing the processing unit 20 to function as the vector operation unit 221, and a virtual target movement control unit 222 are caused to function. A virtual target movement control program 722.
[0087]
The data includes stage information 730 including modeling data and texture data necessary for displaying the game space, and character data including modeling data and texture data for displaying the mouse object M and the cat object C. 732, group registration information 733 for registering objects belonging to the group, calculation method setting information 734 for storing coefficients, matrices, and the like referred to in calculating the vectors Vt ′, Ve ′, Vf ′, and mouse objects Personality setting information 735 for setting the individuality of the action of Mn, the position coordinates of the virtual target Ta, the movement vector Va, and the movement vector Vta one frame before t-1 And the like. Further, a velocity vector of position information related to the cat object Cl is also stored here (not shown).
[0088]
The stage information 730 further stores position information and polygon normal vectors forming the game space, and external force setting information for setting a vector Vw (for example, wind external force vector Vw-1) at the position. 740 is stored.
FIG. 13 is a diagram illustrating an example of a data configuration of the external force setting information 740. As shown in the figure, a position information range 740a and an external force vector Vw 740b set in the range are stored in association with each other. The external force setting information 740 may be prepared in advance, or may be configured to change the direction and size of the range 740a and the vector Vw 740b as time passes during the game. In that case, the vector Vw can be set more like an external force from the natural environment.
[0089]
FIG. 11 is a diagram illustrating an example of the data configuration of the group registration information 733. As shown in the figure, group registration information 733 is provided for each group. A group ID 733a, which is group identification information, a virtual target ID 733b for identifying a virtual target to be moved by the group, and a group And individual information 733c for each belonging object. In the present embodiment, the individual position information 733c includes the current position coordinates and the combined vector Va ′. t , And the position coordinate and composite vector Va ′ one frame before t-1 ・ Stores information such as rotation.
[0090]
[Description of process flow]
Next, a processing flow in the present embodiment will be described with reference to FIGS. Here, group movement control will be mainly described, and the contents of the game will be omitted as appropriate.
[0091]
FIG. 14 is a flowchart for explaining the flow of the main flow of the game process. As shown in the figure, first, the game calculation unit 22 generates a game space based on a predetermined initial condition (step S102). Next, movement control of each cat object Cl is performed according to a predetermined algorithm (step S104).
When an operation input is made by the player (YES in step S106), the virtual target movement control unit 222 controls the movement of the virtual target Ta according to the operation input (step S108). Then, the game calculation unit 22 reads and executes the vector calculation program 721 from the storage unit 70, and executes group movement processing for the group Fa (step S110).
[0092]
FIG. 15 is a flowchart for explaining the flow of the group movement process in the present embodiment. As shown in the figure, the vector calculation unit 221 refers to the group registration information 733 and executes the individual-specific routine for all the registered mouse objects Mn (steps S204 to S224).
[0093]
In the individual routine, the component vector calculation unit 223 first calculates the vector Vt. Then, referring to the calculation method setting information 734, as described above, the vector Vt ′ is calculated from the vector Vt based on the distance from the virtual target Ta, the movement of the virtual target Ta, the position condition of the head of the group Fa, and the like ( Step S206).
[0094]
Next, the component vector calculation unit 223 calculates vectors Ve and Ve ′ (step S208). Specifically, the vector Ve is calculated based on the positional information on the cat object Cl and the positional relationship between the mouse object Mn. Then, the vector Ve ′ is calculated from the vector Ve with reference to the calculation method setting information 734. When a plurality of cat objects Cl are in the short distance range, a vector Ve ′ is calculated for each cat object Cl, each vector Ve ′ is regarded as a subvector, and the result of vector synthesis is the final vector Ve ′. It is also good.
[0095]
Next, the component vector calculation unit 223 calculates vectors Vf and Vf ′ (step S210). More specifically, the component vector calculation unit 223 first refers to the group registration information 733 and calculates a vector Vf for a fellow mouse object Mm located in the vicinity of the mouse object Mn. Then, the vector Vf ′ is calculated from the vector Vf with reference to the calculation method setting information 734. When a plurality of mouse objects Mm are targeted, for example, vectors Vf ′ are individually calculated and combined to obtain a vector Vf ′ of the mouse object Mn.
[0096]
Next, referring to the stage information 730, the vector Vw at the current position of the mouse object Mn is calculated (step S212). For example, the vector Vw based on the environmental condition such as wind is calculated with reference to the external force setting information 740, and the vector Vw based on the terrain condition is calculated from the normal vector of the polygonal surface constituting the terrain.
[0097]
If the vectors Vt ′, Ve ′, Vf ′, and Vw are calculated, the combined vector calculation unit 224 refers to the personality setting information 735 (step S216) and combines these component vectors to calculate a combined vector Va ( Step S218). Next, the size of the composite vector Va is optimized so as not to exceed the maximum movement speed of the mouse object M, and is set as a composite vector Va ′ (step S220).
[0098]
When the composite vector Va ′ is obtained, the game calculation unit 22 calculates the rotation around the X, Y, and Z axes according to the position coordinates and the terrain of the mouse object, and updates the group registration information 733. (Step S222). More specifically, the current position coordinate / composition vector / rotation of the individual information 733c is stored as that of the previous frame, and the current position coordinate / rotation is newly determined from the newly obtained composition vector Va ′. Calculate and store.
[0099]
If the processes in steps S204 to S224 have been executed for all the belonging objects, the group movement process is terminated, and the flow returns to the flow of FIG. In the present embodiment, one group (group Fa) is to be processed. However, when there are a plurality of groups in the game space, the above-described group movement process is executed for all groups.
[0100]
Returning to the flow of FIG. 14, since the positions of all the mouse objects Mn have been determined by the group movement process, the game calculation unit 22 performs a predetermined game determination process (step S112). For example, this includes determination of whether or not a mouse is prey, determination of game time, hit check, score calculation, and the like. Next, the image generation unit 24 generates an image of the game screen and displays it on the image display unit 30 (step S114). Here, the game calculation unit 22 performs a game end determination, and ends the game when a predetermined condition is satisfied (YES in step S116).
[0101]
16 to 18 are diagrams illustrating an example of the game screen based on the processing result. In FIG. 16, the cat object Cl moves upward from the lower side of the screen and approaches the group Fa.
In FIG. 17, the cat object Cl reaches the vicinity of the virtual target Ta, and the mouse object M is controlled to move away from the cat object Cl while trying to gather at the virtual target Ta. As a result, a circular space is generated around the cat object Cl.
FIG. 18 shows a case where the cat object Cl further travels in the upper right direction and passes through the group Fa. When the cat object Cl (enemy) leaves the group Fa, the vector Ve ′ does not act on the mouse object M. For example, the vector Vt ′ acts relatively high on the mouse object Mn that has moved away from the virtual target Ta to escape from the enemy, and the movement is controlled so as to approach the virtual target Ta. These drawings are examples under certain conditions, and may take various forms depending on various conditions such as the positional relationship of each object and the topography.
[0102]
[Hardware configuration]
Next, a hardware configuration capable of realizing the arcade game device 1300 will be described.
FIG. 19 is a diagram illustrating an example of a hardware configuration according to the present embodiment. The arcade game apparatus 1300 includes a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, and I / O ports 1012 and 1014. Connected so that data can be input and output.
[0103]
The CPU 1000 corresponds to the processing unit 20 in FIG. 10, and controls the entire apparatus according to a program stored in the information storage medium 1006, a system program stored in the ROM 1002, an operation input signal input by the control device 1022, and the like. And various data processing.
[0104]
The ROM 1002, the RAM 1004, and the information storage medium 1006 correspond to the storage unit 70 in FIG.
The ROM 1002 corresponds to the ROM 1322 of FIG. 1, and stores the game information 72 of FIG. 10, particularly programs and data set in advance. The RAM 1004 is a storage means used as a work area of the CPU 1000 and stores the given contents of the information storage medium 1006 and the ROM 1002 or the calculation result of the CPU 1000. The information storage medium 1006 is realized by an IC memory card, a removable hard disk unit, an MO, or the like. The information storage medium 1006 corresponds to the ROM 1322 in FIG.
[0105]
The sound generation IC 1008 is an integrated circuit that generates game sounds such as sound effects and BGM based on information stored in the information storage medium 1006 and the ROM 1002, and the generated sounds are output by the speaker 1020. The speaker 1020 corresponds to the sound output unit 40 in FIG. 10 and the speaker 1304 in FIG.
[0106]
The image generation IC 1010 is an integrated circuit that generates pixel information for outputting an image to the display device 1018 based on image information output from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like. The display device 1018 corresponds to the image display unit 30 in FIG. 10 and the display 1302 in FIG.
[0107]
A control device 1022 is connected to the I / O port 1012, and a communication device 1024 is connected to the I / O port 1014.
The control device 1022 corresponds to the operation input unit 10 in FIG. 10 and corresponds to the operation panel, the joystick 1306 and the push button 1308 in FIG. 1, and the player inputs various game operations as the game progresses. It is a device for doing. The communication device 1024 exchanges various types of information used inside the game device with the outside. The communication device 1024 is connected to other game devices to transmit / receive given information according to the game program, It is used for transmitting and receiving information such as game programs via the.
[0108]
Note that the processing performed by the image generation IC 1010, the sound generation IC 1008, and the like may be executed by software by the CPU 1000, a general-purpose DSP, or the like.
[0109]
[Second Embodiment]
Next, a second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, a case where other elements are added to the composite vector Va will be described by taking as an example a case where characters having various occupation attributes form a group.
Note that this embodiment can be basically realized by the same configuration as the first embodiment, and the same reference numerals are given to the same components as those of the first embodiment, and the description will be omitted. And
[0110]
[Explanation of group control concept]
FIG. 20 is a diagram for explaining the concept relating to the vector Vs set according to the character attributes in the present embodiment. As shown in the figure, the group Fa in the present embodiment leads a group in the game setting and protects other characters from the monster D, a farmer character Q that produces food, and external business. And merchant character R in charge. In the figure, the team is moving to another land in the game space.
[0111]
Here, the merchant character R shows a high interest in money-related things because of its attribute characteristics. In the figure, when the treasure item H1 is arranged on the game field, the merchant character R has a treasure item in addition to the vectors Vt ′, Ve ′, Vf ′, and Vw described in the first embodiment. A vector Vs ′ indicating a request to obtain H1 is specially calculated. Further, the farmer character Q is highly interested in food and food production because of its characteristics. In the figure, when the food item H2 is arranged on the game field, a vector Vs ′ indicating a request for obtaining the food item H2 is specially calculated for the farmer character Q.
[0112]
Similar to the vector Vt ′ and the like, the vector Vs ′ is obtained with reference to calculation method setting information 734 to be described later according to the type of the item from the vector Vs from the character to the item and the distance from the item. In addition to the vectors Vt ′, Ve ′, Vf ′, and Vw, the vector Vs ′ is combined with the combined vector Va.
[0113]
As described above, since the size of the vector Vs ′ is determined by the distance to the item, the merchant character R5 close to the treasure item H1 and the peasant character Q1 close to the food item H2 in FIG. 20 have other merchant characters. The vector Vs ′ acts more strongly than R1 to R4 and the farmer characters Q1 to Q4, and tries to leave the group. Each vector Vs ′ is attributed to the presence of an item. For example, the merchant character R5 who has obtained the treasure item H1 moves to return to the group because the vector Vs ′ disappears.
[0114]
[Description of functional block]
FIG. 21 is a functional block diagram for explaining an example of a functional configuration in the present embodiment. In the arcade game apparatus 1300 in the present embodiment, the game information 72 includes attribute-specific item setting information 742 that defines an item of particular interest for each character attribute.
[0115]
FIG. 22 is a diagram illustrating an example of a data configuration of the group registration information 733 in the present embodiment. As shown in the figure, a character attribute 733d is stored corresponding to each object ID 733c.
[0116]
FIG. 23 is a diagram illustrating an example of a data configuration of the item setting information 742 for each attribute. As shown in the figure, for each character attribute 742a, an item 742b for which a vector Vs is set, a personality parameter value 742c, and the like are set. For example, in the case of food items, the personality parameter value 742c of water may be set higher than that of specific food such as apples, and the vector Vs may be set stronger. In this case, water is more important than apple, and the vector Vs ′ for water acts more strongly on the farmer character Q.
[0117]
[Description of process flow]
FIG. 24 is a flowchart for explaining the flow of the group movement process in the present embodiment. Steps different from those in the first embodiment are denoted by reference numerals in the S300 series.
[0118]
As shown in the figure, in the group movement process, after calculation of the vector Vw (step S212), the vector calculation unit 221 refers to the character attribute 733d from the group registration information 733 (step S302), and sets the item setting information for each attribute. From 742, the item 742b and the personality parameter value 742c corresponding to the character attribute 733d are referred to (step S304).
Then, it is determined whether or not the item 742b is within a predetermined distance. If the item 742b is present (YES in step S306), vectors Vs and Vs ′ are obtained according to the setting of the calculation method setting information 734 (step S308). ).
[0119]
When the vector Vs ′ is obtained, the vector calculation unit 224 obtains the vector Va by vector synthesis of the vectors Vt ′, Ve ′, Vf ′, Vw, Vs ′, optimizes the vector Va, and calculates the vector Va ′. (Steps S216 to S220). Based on the vector Va ′, the individual information 733c of the mouse object Mn in the group registration information 733 is updated (step S222).
[0120]
Through the above processing, it is possible to reflect in the game a specific action based on the attributes of the character such that the treasure item H1 is blinded and the merchant character R5 leaves the group.
[0121]
[Third Embodiment]
Next, a third embodiment of the present invention will be described with reference to FIGS. In the third embodiment, a case where the mouse objects M are further aligned so as to form a predetermined shape and a case where the arithmetic processing is omitted according to the distance from the virtual viewpoint will be described as examples. Note that this embodiment can be realized basically by the same configuration as the first and second embodiments, and the same components are denoted by the same reference numerals and the description thereof is omitted.
[0122]
[Description of alignment concept]
FIG. 25 is a diagram for explaining the principle of object alignment in the present embodiment. As shown in the figure, a sub virtual target Gn (n is a natural number) is set in a given arrangement pattern with the virtual target Ta as a reference position. Each sub-virtual target Gn is associated with a mouse object Mn. Then, the mouse object Mn uses the sub virtual target Gn associated therewith as the movement target. Therefore, the mouse objects M form a group Fa so as to form a formation while avoiding collision with each other and avoiding enemies.
[0123]
In the present embodiment, it is assumed that the arrangement pattern of the sub virtual target Gn with respect to the virtual target Ta is determined in advance, and whether the virtual target Ta is set as the movement target or the sub virtual target Gn is aligned as the movement target by the operation of the player. Can be switched. In the present embodiment, the latter is referred to as “alignment mode”.
The arrangement is not limited to the example shown in the figure, and the shape may be set as appropriate. Of course, it is possible to prepare a plurality of arrangement patterns in advance so that the user can select them appropriately during the game.
[0124]
[Description of functional block]
FIG. 26 is a functional block diagram illustrating an example of a functional configuration according to the present embodiment. As shown in the figure, the arcade game apparatus 1300 in the present embodiment includes sub virtual target setting information 744 that stores information for setting the arrangement position of the sub virtual target Gn in the game information 72.
[0125]
FIG. 27 is a diagram illustrating an example of a data configuration of the sub virtual target setting information 744, which is specific data representing an arrangement pattern. As shown in the figure, the sub virtual target setting information 744 stores, for example, identification information (sub virtual target ID) and coordinate values of the sub virtual target Gn having the virtual target Ta as the local origin as table data.
[0126]
The correspondence relationship between the sub virtual target Gn and the mouse object Mn is performed by the group setting unit 220 in this embodiment, and information related to the correspondence relationship (for example, identification of the corresponding sub virtual target Gn is included in the individual information 733c of the group registration information 733). Information). Further, identification of whether or not the mode is the alignment mode is appropriately managed by setting a flag in the game information 72, for example.
[0127]
[Description of process flow]
FIG. 28 is a flowchart for explaining the flow of group movement processing in the present embodiment. Note that steps different from those in FIG.
[0128]
As shown in the figure, first, the game calculation unit 22 calculates the distance from the virtual viewpoint to the virtual target Ta (step S501). The obtained distance is stored in the storage unit 70 as appropriate.
Next, the game calculation unit 22 determines whether or not the alignment mode is selected (step S502). When the alignment mode is selected (YES in step S502), the game calculation unit 22 sets the sub virtual target Gn on the game space with reference to the sub virtual target setting information 744 (step S504), and the group setting unit 220 associates the sub virtual target Gn with the mouse object Mn (step S506).
[0129]
Next, the vector calculation unit 221 calculates a component vector. When the alignment mode is selected (YES in step S508), the vector calculation unit 221 calculates vectors Vt and Vt ′ for the sub virtual target Gn (step S510). If the alignment mode is not selected (NO in step S508), vectors Vt and Vt ′ are calculated for the virtual target Ta (step S206).
[0130]
Next, the game calculation unit 22 determines whether or not the distance from the virtual viewpoint to the virtual target Ta exceeds a predetermined threshold that makes the display size of the mouse object M on the screen smaller and makes individual identification difficult (step S512). ).
If the distance from the virtual viewpoint to the virtual target Ta exceeds the threshold value (YES in step S512), that is, if the display size of the mouse object M is sufficiently small, the steps Ve208 to S212 are omitted and the vectors Ve ′ and Vf ′ are omitted. , Vw are set to “0” (step S514). Hereinafter, since it is the same as that of 1st Embodiment, description is abbreviate | omitted (step S208-S224).
[0131]
With the above processing, the group Fa can be aligned so as to form a predetermined shape while controlling the mouse objects M as if they are operating independently.
[0132]
The association between the sub virtual target Gn and the mouse object Mn is not limited to this, and may be set as appropriate.
[0133]
Further, the arrangement of the sub virtual target Gn may be varied according to the distance from the viewpoint. More specifically, for example, the game calculation unit 22 obtains the distance from the virtual target Ta to the virtual viewpoint in step S504, and when the virtual target Ta is located farther than a predetermined distance, the sub virtual targets Gn are arranged with each other. The interval is enlarged from the initial state by a predetermined magnification. If the distance from the virtual target Ta to the virtual viewpoint is less than the predetermined distance, the initial state is maintained. As a result, when the display size of the mouse object M is reduced on the screen display and it is difficult to determine whether or not it is aligned, it is possible to clearly show the state where the spaces are intentionally widened. .
[0134]
Further, the correspondence between the sub virtual target Gn and the mouse object Mn may be varied from one-to-one to one-to-many based on the distance from the virtual target Ta to the virtual viewpoint. More specifically, for example, when the distance obtained in step S504 of the group movement process exceeds a predetermined value, the game calculation unit 22 performs steps S508, S206, and S510 for intermittently obtaining the vectors Vt and Vt ′ of the mouse object Mn. The vector Vt ′ of other adjacent mouse objects Mm is copied.
[0135]
The first to third embodiments to which the present invention is applied have been described above. However, the application of the present invention is not limited to these embodiments, and constituent elements are appropriately added without departing from the spirit of the present invention.・ You can change it.
[0136]
For example, in the calculation of the vectors Ve ′ and Vf ′, when avoiding the cat object Cl or the neighboring mouse object Mm, the vectors Ve and Vf are determined. However, the present invention is not limited thereto. For example, the vectors Ve and Ve ′, The declination angle of the vectors Vf and Vf ′ may be determined so as to be inversely proportional to the distance to the cat object Cl or the close fellow mouse object Mm. In this case, if the target to be avoided is far away, the distance is still far away, so the direction should be changed as a precautionary measure, and the degree of avoidance will be increased as the target comes closer to the opposite direction. Move control can be avoided.
[0137]
For example, when the mouse object M jumps while moving, when the vector Va is synthesized, a state of moving while jumping can be expressed by appropriately adding a vector for parabolic motion to the vector Va. Similarly, when a fluctuation peculiar to a living thing is given to control of the mouse object M, when calculating the vectors Vt ′, Ve ′, and Vf ′, each may be multiplied by a random coefficient to give a variation.
[0138]
Further, the distance range is not limited to be set stepwise. For example, it is a matter of course that a configuration in which the coefficients to be multiplied when calculating the vectors Vt ′, Ve ′, and Vf ′ are continuously set by obtaining from a predetermined function may be used.
[0139]
Also, in the case where the ground surface is basically set like the mouse object M, the above-mentioned vectors are treated only with the two-dimensional components of the plane along the ground surface, and the height is modeling data of the ground surface. It is good also as a structure obtained from. For example, when the ground surface is formed substantially along the XZ plane in an XYZ three-dimensional coordinate system, each of the above-described vectors is calculated using only the XZ component. When the movement position of the mouse object M on the XZ plane is determined, the height component of the movement position is obtained by referring to the height of the ground surface corresponding to the position coordinates. More specifically, the movement position of the mouse object M is considered to be one point on the plane of the ground polygon, the normal vector Vn of the polygon constituting the ground surface is calculated, and the Y value is calculated from the vector Vn and the XZ coordinate value of the movement position. The coordinate value may be obtained.
[0140]
【The invention's effect】
According to the present invention, the force component that affects the behavior of the individuals constituting the group is regarded as a vector, and the vector is used as a base for the movement position calculation. The desired value can be calculated quickly. Moreover, the individuality of each individual can be reflected by reflecting the degree of influence of each vector by the coefficient and the composition ratio of the vectors. Therefore, the group control can be performed at a higher speed while giving the individual and group the individuality of the operation.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of the appearance of a commercial game apparatus to which the present invention is applied.
FIG. 2 is a diagram for explaining the concept of game content.
FIG. 3 is a view for explaining the principle of movement control of a mouse object M in the first embodiment.
FIG. 4 is a view for explaining the principle of a method for calculating a vector Vt ′ of a mouse object M in the first embodiment.
FIG. 5 is a view for explaining the principle of a method for calculating a vector Vt ′ of a mouse object M in the first embodiment.
FIG. 6 is a diagram for explaining the principle of a method for calculating a vector Ve ′ of a mouse object M in the first embodiment.
FIG. 7 is a diagram for explaining the principle of a method for calculating a vector Vf ′ of a mouse object M in the first embodiment.
FIG. 8 is a diagram for explaining the principle of a method for calculating a vector Vf ′ of a mouse object M in the first embodiment.
FIG. 9 is a diagram for explaining the concept of an external force vector Vw acting from the environment.
FIG. 10 is a functional block diagram illustrating an example of a functional configuration according to the first embodiment.
FIG. 11 is a diagram showing an example of the data configuration of group registration information.
FIG. 12 is a diagram showing an example of the data configuration of personality setting information.
FIG. 13 is a diagram showing an example of the data configuration of external force setting information.
FIG. 14 is a flowchart for explaining the flow of the main flow in the first embodiment;
FIG. 15 is a flowchart for explaining the flow of group movement processing in the first embodiment;
FIG. 16 is a diagram showing an example of a game screen.
FIG. 17 is a diagram showing an example of a game screen.
FIG. 18 is a diagram showing an example of a game screen.
FIG. 19 is a diagram illustrating an example of a hardware configuration.
FIG. 20 is a diagram illustrating a concept related to a vector Vs set according to the character attribute according to the second embodiment.
FIG. 21 is a functional block diagram for explaining an example of a functional configuration according to the second embodiment.
FIG. 22 is a diagram showing an example of a data configuration of group registration information in the second embodiment.
FIG. 23 is a diagram showing an example of the data configuration of item-specific attribute setting information.
FIG. 24 is a flowchart for explaining the flow of group movement processing in the second embodiment;
FIG. 25 is a view for explaining the principle of object alignment in the third embodiment;
FIG. 26 is a functional block diagram illustrating an example of a functional configuration according to the third embodiment.
FIG. 27 is a diagram showing an example of the data configuration of sub virtual target setting information.
FIG. 28 is a flowchart for explaining the flow of group movement processing in the third embodiment;
[Explanation of symbols]
10 Operation input section
20 processor
22 Game calculator
220 group setting part
221 Vector operation unit
222 Virtual target movement controller
223 Component vector calculation unit
224 Composite vector calculation unit
225 Composite vector change unit
70 storage unit
72 Game Information
720 group setting program
721 Vector operation program
722 Virtual target movement control program
733 Group Registration Information
734 Calculation method setting information
735 Personality setting information
740 External force setting information
742 Item setting information by attribute
744 Sub virtual target setting information
1300 arcade game machine
1320 Control unit
1324 Vector arithmetic unit
C Cat object
F group
G Sub virtual target
H1 treasure item
H2 food item
k coefficient
M mouse object
T Virtual target
V vector

Claims (14)

コンピュータに、敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるためのプログラムであって、
前記目標点を基準位置として前記各個体にそれぞれ対応するサブ目標点の配置位置が定められた所与の配置パターンに従って、前記サブ目標点を前記仮想空間に設定するサブ目標点設定手段、
当該個体と当該個体に対応するサブ目標点間の距離に基づいて第1ベクトルを設定する第1設定手段、
当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段、
当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段、
当該個体の第1パラメータの値に基づいて第1ベクトルの大きさに関する第1係数を設定する第1係数設定手段、
当該個体の第1パラメータの値に基づいて第2ベクトルの大きさに関する第2係数を設定する第2係数設定手段、
当該個体の第1パラメータの値に基づいて第3ベクトルの大きさに関する第3係数を設定する第3係数設定手段、
第1〜第3ベクトル及び第1〜第3係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段、
として前記コンピュータを機能させることで、前記目標点を基準位置とする前記配置パターンに従った前記各個体の整列移動制御と、敵及び他個体との距離に応じた前記各個体の独立移動制御とを前記コンピュータに行わせるためのプログラム。
In order to make the computer control the movement toward the target point of the group composed of a plurality of individuals having different values of the first parameter in the virtual space where the enemy exists, the movement of each individual is controlled and moved. A program for generating a group image,
Sub target point setting means for setting the sub target point in the virtual space according to a given arrangement pattern in which the arrangement position of the sub target point corresponding to each individual is determined with the target point as a reference position;
First setting means for setting a first vector based on a distance between the individual and a sub target point corresponding to the individual;
Second setting means for setting a second vector based on the distance between the individual and the enemy;
Third setting means for setting a third vector based on the distance between the individual and another individual;
First coefficient setting means for setting a first coefficient related to the magnitude of the first vector based on the value of the first parameter of the individual;
Second coefficient setting means for setting a second coefficient related to the magnitude of the second vector based on the value of the first parameter of the individual;
Third coefficient setting means for setting a third coefficient related to the magnitude of the third vector based on the value of the first parameter of the individual;
Calculation means for calculating the movement position of the individual after a predetermined time based on the first to third vectors and the first to third coefficients,
By causing the computer to function as an alignment movement control of the individual according to the arrangement pattern with the target point as a reference position, and independent movement control of the individual according to the distance from the enemy and other individuals, A program for causing the computer to execute.
コンピュータに、敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるためのプログラムであって、
前記目標点を基準位置として前記各個体にそれぞれ対応するサブ目標点の配置位置が定められた所与の配置パターンに従って、前記サブ目標点を前記仮想空間に設定するサブ目標点設定手段、
当該個体と当該個体に対応するサブ目標点間の距離に基づいて第1ベクトルを設定する第1設定手段、
当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段、
当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段、
当該個体の第1パラメータの値に基づいて、第1〜第3ベクトルの合成比率を設定する合成比率設定手段、
前記合成比率設定手段により設定された合成比率に基づいて、第1〜第3ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段、
として前記コンピュータを機能させることで、前記目標点を基準位置とする前記配置パターンに従った前記各個体の整列移動制御と、敵及び他個体との距離に応じた前記各個体の独立移動制御とを前記コンピュータに行わせるためのプログラム。
In order to make the computer control the movement toward the target point of the group composed of a plurality of individuals having different values of the first parameter in the virtual space where the enemy exists, the movement of each individual is controlled and moved. A program for generating a group image,
Sub target point setting means for setting the sub target point in the virtual space according to a given arrangement pattern in which the arrangement position of the sub target point corresponding to each individual is determined with the target point as a reference position;
First setting means for setting a first vector based on a distance between the individual and a sub target point corresponding to the individual;
Second setting means for setting a second vector based on the distance between the individual and the enemy;
Third setting means for setting a third vector based on the distance between the individual and another individual;
A composition ratio setting means for setting a composition ratio of the first to third vectors based on the value of the first parameter of the individual;
Calculation means for combining the first to third vectors based on the combination ratio set by the combination ratio setting means and calculating the movement position of the individual after a predetermined time;
By causing the computer to function as an alignment movement control of the individual according to the arrangement pattern with the target point as a reference position, and independent movement control of the individual according to the distance from the enemy and other individuals, A program for causing the computer to execute.
請求項1又は2に記載のプログラムであって、
前記画像を生成する基準となる視点を前記仮想空間に設定する視点設定手段、
前記視点設定手段により設定された視点から見た前記仮想空間の画像を生成する画像生成手段、
前記視点設定手段により設定された視点と前記目標点との距離に応じて前記サブ目標点間の配置間隔を可変するサブ目標点間隔可変手段、
として前記コンピュータを機能させるためのプログラム。
The program according to claim 1 or 2,
Viewpoint setting means for setting a viewpoint serving as a reference for generating the image in the virtual space;
Image generating means for generating an image of the virtual space viewed from the viewpoint set by the viewpoint setting means;
Sub target point interval varying means for varying the arrangement interval between the sub target points according to the distance between the viewpoint set by the viewpoint setting means and the target point;
A program for causing the computer to function as
請求項1〜3の何れか一項に記載のプログラムであって、
前記第1設定手段が、複数の演算方法の内、当該個体と当該個体に対応するサブ目標点間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第1ベクトルを設定し、
前記第2設定手段が、複数の演算方法の内、当該個体と敵間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第2ベクトルを設定し、
前記第3設定手段が、複数の演算方法の内、当該個体と他個体間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第3ベクトルを設定する、
ように前記コンピュータを機能させるためのプログラム。
The program according to any one of claims 1 to 3,
The first setting means alternatively selects a calculation method according to the distance between the individual and the sub- target point corresponding to the individual among the plurality of calculation methods, and the first setting means selects a first calculation method based on the selected calculation method. Vector set and
The second setting means alternatively selects a calculation method according to the distance between the individual and the enemy among a plurality of calculation methods, and sets a second vector based on the selected calculation method,
The third setting means alternatively selects a calculation method according to the distance between the individual and another individual among a plurality of calculation methods, and sets a third vector based on the selected calculation method.
Program for causing the computer to function.
請求項1〜4の何れか一項に記載のプログラムであって、
前記仮想空間内に自群の他に他群が存在する場合に、前記第3設定手段が、当該個体と自群の他個体間の距離、及び当該個体と他群の個体間の距離に基づいて第3ベクトルを設定するように前記コンピュータを機能させるためのプログラム。
The program according to any one of claims 1 to 4,
When there is another group in addition to the own group in the virtual space, the third setting means is based on the distance between the individual and the other individual of the own group, and the distance between the individual and the individual of the other group. A program for causing the computer to function so as to set the third vector.
請求項5に記載のプログラムであって、
前記第3設定手段が、当該個体から他群の個体に向かう方向と第3ベクトルの方向との偏角が、当該個体と他群の個体間の距離に反比例するような演算方法で、第3ベクトルを設定するように前記コンピュータを機能させるためのプログラム。
The program according to claim 5,
The third setting means is a calculation method in which the declination between the direction from the individual toward the other group of individuals and the direction of the third vector is inversely proportional to the distance between the individual and the other group of individuals. A program for causing the computer to function to set a vector.
請求項1〜6の何れか一項に記載のプログラムであって、
前記第1設定手段が、当該個体と当該個体に対応するサブ目標点間の距離が所与の距離外である場合には、当該サブ目標点に近づく方向に第1ベクトルを設定し、前記所与の距離内である場合には、当該サブ目標点から遠ざかる方向に第1ベクトルを設定するように前記コンピュータを機能させるためのプログラム。
The program according to any one of claims 1 to 6,
If the distance between the individual and the sub target point corresponding to the individual is outside the given distance, the first setting means sets a first vector in a direction approaching the sub target point, and A program for causing the computer to function so as to set a first vector in a direction away from the sub target point when the distance is within a given distance.
請求項1〜7の何れか一項に記載のプログラムであって、
当該個体が属する群の内、何れか一の個体と当該一の個体に対応するサブ目標点間の距離が所与の距離内になったか否かを判定する判定手段として前記コンピュータを機能させるとともに、
前記判定手段により何れか一の個体と当該一の個体に対応するサブ目標点間の距離が所与の距離内になったと判定された場合には、前記所与の距離外の時に比べて、ベクトルの大きさが小さくなるように、前記第1設定手段が第1ベクトルを設定するように前記コンピュータを機能させる、
ためのプログラム。
A program according to any one of claims 1 to 7,
The computer functions as a determination means for determining whether the distance between any one individual in the group to which the individual belongs and the sub- target point corresponding to the one individual is within a given distance. ,
When it is determined by the determination means that the distance between any one individual and the sub target point corresponding to the one individual is within a given distance, compared to when the distance is outside the given distance, Causing the computer to function so that the first setting means sets the first vector so that the magnitude of the vector is reduced;
Program for.
請求項1〜8の何れか一項に記載のプログラムであって、
前記各個体には、予め種類を表す第2パラメータが設定されており、
一の群には、第2パラメータの値が異なる、複数種類の個体が含まれ、
複数の種類別演算方法の内、当該個体の第2パラメータの値に応じて択一的に種類別演算方法を選択し、選択した種類別演算方法に基づいて第4ベクトルを設定する第4設定手段として前記コンピュータを更に機能させるとともに、
前記演算手段が、更に、第4ベクトルを加味して所定時間後の当該個体の移動位置を演算するように前記コンピュータを機能させる、
ためのプログラム。
A program according to any one of claims 1 to 8,
Each individual is set in advance with a second parameter indicating the type,
One group includes a plurality of types of individuals having different values of the second parameter,
4th setting which selects a calculation method classified by type according to the value of the 2nd parameter of the individual among a plurality of calculation methods classified by type, and sets the 4th vector based on the selected calculation method classified by type As a means to further function the computer,
The calculation means further causes the computer to calculate a movement position of the individual after a predetermined time in consideration of the fourth vector;
Program for.
請求項1〜9の何れか一項に記載のプログラムであって、
前記各個体は前記仮想空間内の地表上を移動し、
前記第1設定手段が前記地表に沿った所定の2次元成分で第1ベクトルを設定し、
前記第2設定手段が前記2次元成分で第2ベクトルを設定し、
前記第3設定手段が前記2次元成分で第3ベクトルを設定し、
前記演算手段が、更に、地表の高度を加味して所定時間後の当該個体の移動位置を演算する、
ように前記コンピュータを機能させるためのプログラム。
A program according to any one of claims 1 to 9,
Each individual moves on the ground surface in the virtual space,
The first setting means sets a first vector with a predetermined two-dimensional component along the ground surface;
The second setting means sets a second vector with the two-dimensional component;
The third setting means sets a third vector with the two-dimensional component;
The calculation means further calculates the movement position of the individual after a predetermined time in consideration of the altitude of the ground surface,
Program for causing the computer to function.
請求項1〜10の何れか一項に記載のプログラムであって、
前記目標点を前記画像上に非表示とさせる手段として前記コンピュータを更に機能させるためのプログラム。
It is a program as described in any one of Claims 1-10,
A program for causing the computer to further function as a means for hiding the target point on the image.
請求項1〜11の何れか一項に記載のプログラムを記憶したコンピュータによる読み取り可能な情報記憶媒体。  A computer-readable information storage medium storing the program according to claim 1. 敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、
前記目標点を基準位置として前記各個体にそれぞれ対応するサブ目標点の配置位置が定められた所与の配置パターンに従って、前記サブ目標点を前記仮想空間に設定するサブ目標点設定手段と、
当該個体と当該個体に対応するサブ目標点間の距離に基づいて第1ベクトルを設定する第1設定手段と、
当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段と、
当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段と、
当該個体の第1パラメータの値に基づいて第1ベクトルの大きさに関する第1係数を設定する第1係数設定手段と、
当該個体の第1パラメータの値に基づいて第2ベクトルの大きさに関する第2係数を設定する第2係数設定手段と、
当該個体の第1パラメータの値に基づいて第3ベクトルの大きさに関する第3係数を設定する第3係数設定手段と、
第1〜第3ベクトル及び第1〜第3係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段と、
を備え、前記目標点を基準位置とする前記配置パターンに従った前記各個体の整列移動制御と、敵及び他個体との距離に応じた前記各個体の独立移動制御とを実行する画像生成装置。
In a virtual space where an enemy exists, an image of a group that moves by controlling the movement of each individual in order to perform movement control toward a target point of the group composed of a plurality of individuals having different values of the first parameter An image generation device for generating
Sub target point setting means for setting the sub target point in the virtual space according to a given arrangement pattern in which the arrangement position of the sub target point corresponding to each individual is determined with the target point as a reference position;
First setting means for setting a first vector based on a distance between the individual and a sub-target point corresponding to the individual;
Second setting means for setting a second vector based on the distance between the individual and the enemy;
Third setting means for setting a third vector based on a distance between the individual and another individual;
First coefficient setting means for setting a first coefficient related to the magnitude of the first vector based on the value of the first parameter of the individual;
Second coefficient setting means for setting a second coefficient related to the magnitude of the second vector based on the value of the first parameter of the individual;
Third coefficient setting means for setting a third coefficient related to the magnitude of the third vector based on the value of the first parameter of the individual;
A computing means for computing the movement position of the individual after a predetermined time based on the first to third vectors and the first to third coefficients;
An image generation apparatus that executes alignment movement control of the individuals according to the arrangement pattern with the target point as a reference position, and independent movement control of the individuals according to the distance from an enemy and another individual .
敵の存在する仮想空間において、第1パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、
前記目標点を基準位置として前記各個体にそれぞれ対応するサブ目標点の配置位置が定められた所与の配置パターンに従って、前記サブ目標点を前記仮想空間に設定するサブ目標点設定手段と、
当該個体と当該個体に対応するサブ目標点間の距離に基づいて第1ベクトルを設定する第1設定手段と、
当該個体と敵間の距離に基づいて第2ベクトルを設定する第2設定手段と、
当該個体と他個体間の距離に基づいて第3ベクトルを設定する第3設定手段と、
当該個体の第1パラメータの値に基づいて、第1〜第3ベクトルの合成比率を設定する合成比率設定手段と、
前記合成比率設定手段により設定された合成比率に基づいて、第1〜第3ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段と、
を備え、前記目標点を基準位置とする前記配置パターンに従った前記各個体の整列移動制御と、敵及び他個体との距離に応じた前記各個体の独立移動制御とを実行する画像生成装置。
In a virtual space where an enemy exists, an image of a group that moves by controlling the movement of each individual in order to perform movement control toward a target point of the group composed of a plurality of individuals having different values of the first parameter An image generation device for generating
Sub target point setting means for setting the sub target point in the virtual space according to a given arrangement pattern in which the arrangement position of the sub target point corresponding to each individual is determined with the target point as a reference position;
First setting means for setting a first vector based on a distance between the individual and a sub-target point corresponding to the individual;
Second setting means for setting a second vector based on the distance between the individual and the enemy;
Third setting means for setting a third vector based on a distance between the individual and another individual;
A composition ratio setting means for setting a composition ratio of the first to third vectors based on the value of the first parameter of the individual;
Based on the composition ratio set by the composition ratio setting means, the first to third vectors are synthesized, and a computing means for computing the movement position of the individual after a predetermined time;
An image generation apparatus that executes alignment movement control of the individuals according to the arrangement pattern with the target point as a reference position, and independent movement control of the individuals according to the distance from an enemy and another individual .
JP2002345813A 2002-11-28 2002-11-28 Program, information storage medium, and image generation apparatus Expired - Fee Related JP4220224B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002345813A JP4220224B2 (en) 2002-11-28 2002-11-28 Program, information storage medium, and image generation apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002345813A JP4220224B2 (en) 2002-11-28 2002-11-28 Program, information storage medium, and image generation apparatus

Publications (2)

Publication Number Publication Date
JP2004174077A JP2004174077A (en) 2004-06-24
JP4220224B2 true JP4220224B2 (en) 2009-02-04

Family

ID=32706903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002345813A Expired - Fee Related JP4220224B2 (en) 2002-11-28 2002-11-28 Program, information storage medium, and image generation apparatus

Country Status (1)

Country Link
JP (1) JP4220224B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4868568B2 (en) * 2005-02-01 2012-02-01 株式会社バンダイナムコゲームス Program, information storage medium, and image generation system
JP4754229B2 (en) * 2005-02-01 2011-08-24 株式会社バンダイナムコゲームス Program, information storage medium, and image generation system
JP4771821B2 (en) * 2006-02-02 2011-09-14 株式会社バンダイナムコゲームス Program, information storage medium, and image generation system
JP5421655B2 (en) * 2009-05-28 2014-02-19 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP5450718B2 (en) * 2012-06-11 2014-03-26 株式会社スクウェア・エニックス GAME DEVICE AND GAME PROGRAM
JP7240433B2 (en) * 2021-03-19 2023-03-15 任天堂株式会社 Information processing device, information processing device control method, and information processing system

Also Published As

Publication number Publication date
JP2004174077A (en) 2004-06-24

Similar Documents

Publication Publication Date Title
US7390254B2 (en) Soccer game method for use in game apparatus, involves recognizing areas pertaining to power of character group, based on calculated arrival times of characters up to sample points
US7399224B2 (en) Method of game character movement control in game space
US8574071B2 (en) Information storage medium and image generation system
US20160256777A1 (en) Method for controlling display of game image and server system
US9579563B2 (en) Game system, information storage medium and game proecssing method
US10176586B2 (en) Image generation system, image generation method, and information storage medium
JP5989621B2 (en) Game system, server system, and program
JP5527925B2 (en) Program and game device
US9345972B2 (en) Information storage medium, image generation system, and image generation method
JP2010068872A (en) Program, information storage medium and game device
JP7207911B2 (en) Program, game system, server system and game providing method
JP2010287191A (en) Program, information storage medium and image generating system
JP2010029398A (en) Program, information storage medium and image generation system
US20030040362A1 (en) Image generation method, program, and information storage medium
TW202243712A (en) Method and apparatus for displaying control item, computer device, computer-readable storage medium, and computer program product
JP4220224B2 (en) Program, information storage medium, and image generation apparatus
JP4176455B2 (en) Program, information storage medium, and image generation apparatus
JP2017118979A (en) Game device and program
JP2019000138A (en) Game program, game device, and server device
JP3990648B2 (en) Program, information storage medium, and image generation apparatus
JP2024054232A (en) Widget display method, device, instrument, and computer program
JP7097163B2 (en) Game system, game provision method and program
JP3579794B2 (en) PROGRAM, RECORDING MEDIUM, AND GAME DEVICE
JP2009075739A (en) Program, information storage medium and image generation system
JP4119850B2 (en) PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051021

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060116

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081113

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4220224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

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