(57)【要約】【課題】個体及び群に動作の個性をもたせつつ、より高速に群制御する。【解決手段】各ネズミオブジェクトＭｎについて、先ず仮想ターゲットＴａまでのベクトルＶｔと、仲間のネズミオブジェクトＭｍまでのベクトルＶｆと、敵であるネコオブジェクトＣｎまでのベクトルＶｅとを求める。そして、各ベクトルを対象までの距離に応じてベクトルの方向と大きさとを変更しベクトルＶｔ’・Ｖｆ’・Ｖｅ’を求める。次に当該ネズミオブジェクトＭｎの行動の個性を示す性格パラメータに基づく係数ｋｔ・ｋｆ・ｋｅでもって合成して合成ベクトルＶａを算出し、更にベクトルの大きさを適正化して合成ベクトルＶａ’を求める。該合成ベクトルＶａ’に基づいて移動制御する。【選択図】    図３
2004174077.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに類する装置に、敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、
当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段、
当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段、
当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段、
当該個体の第１パラメータの値に基づいて第１ベクトルの大きさに関する第１係数を設定する第１係数設定手段、
当該個体の第１パラメータの値に基づいて第２ベクトルの大きさに関する第２係数を設定する第２係数設定手段、
当該個体の第１パラメータの値に基づいて第３ベクトルの大きさに関する第３係数を設定する第３係数設定手段、
第１〜第３ベクトル及び第１〜第３係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段、
として前記装置を機能させるための情報を含むことを特徴とする制御情報。
【請求項２】
コンピュータに類する装置に、敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、
当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段、
当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段、
当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段、
当該個体の第１パラメータの値に基づいて、第１〜第３ベクトルの合成比率を設定する合成比率設定手段、
前記合成比率設定手段により設定された合成比率に基づいて、第１〜第３ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段、
として前記装置を機能させるための情報を含むことを特徴とする制御情報。
【請求項３】
請求項１又は２に記載の制御情報であって、
前記第１設定手段が、複数の演算方法の内、当該個体と目標点間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第１ベクトルを設定するための情報と、
前記第２設定手段が、複数の演算方法の内、当該個体と敵間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第２ベクトルを設定するための情報と、
前記第３設定手段が、複数の演算方法の内、当該個体と他個体間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第３ベクトルを設定するための情報と、
を含むことを特徴とする制御情報。
【請求項４】
請求項１〜３の何れか一項に記載の制御情報であって、
前記仮想空間内に自群の他に他群が存在する場合に、前記第３設定手段が、当該個体と自群の他個体間の距離、及び当該個体と他群の個体間の距離に基づいて第３ベクトルを設定するための情報を含むことを特徴とする制御情報。
【請求項５】
請求項４に記載の制御情報であって、
前記第３設定手段が、当該個体から他群の個体に向かう方向と第３ベクトルの方向との偏角が、当該個体と他群の個体間の距離に反比例するような演算方法で、第３ベクトルを設定するための情報を含むことを特徴とする制御情報。
【請求項６】
請求項１〜５の何れか一項に記載の制御情報であって、
前記第１設定手段が、当該個体と目標点間の距離が所与の距離外である場合には、目標点に近づく方向に第１ベクトルを設定し、前記所与の距離内である場合には、目標点から遠ざかる方向に第１ベクトルを設定するための情報を含むことを特徴とする制御情報。
【請求項７】
請求項１〜６の何れか一項に記載の制御情報であって、
当該個体が属する群の内、何れか一の個体と目標点間の距離が所与の距離内になったか否かを判定する判定手段として前記装置を機能させるための情報と、
前記判定手段により何れか一の個体と目標点間の距離が所与の距離内になったと判定された場合には、前記所与の距離外の時に比べて、ベクトルの大きさが小さくなるように、前記第１設定手段が第１ベクトルを設定するための情報と、
を含むことを特徴とする制御情報。
【請求項８】
請求項１〜７の何れか一項に記載の制御情報であって、
前記各個体には、予め種類を表す第２パラメータが設定されており、
一の群には、第２パラメータの値が異なる、複数種類の個体が含まれ、
複数の種類別演算方法の内、当該個体の第２パラメータの値に応じて択一的に種類別演算方法を選択し、選択した種類別演算方法に基づいて第４ベクトルを設定する第４設定手段として前記装置を機能させるための情報と、
前記演算手段が、更に、第４ベクトルを加味して所定時間後の当該個体の移動位置を演算するための情報と、
を含むことを特徴とする制御情報。
【請求項９】
請求項１〜８の何れか一項に記載の制御情報であって、
前記各個体にそれぞれ対応するサブ目標点を、前記目標点に基づく所与の配置パターンで前記仮想空間に設定するサブ目標点設定手段として前記装置を機能させるための情報と、
前記第１設定手段が、当該個体と目標点間の距離に代えて、当該個体と当該個体に対応するサブ目標点間の距離に基づいて第１ベクトルを設定するための情報と、
を含むことを特徴とする制御情報。
【請求項１０】
請求項９に記載の制御情報であって、
前記画像を生成する基準となる視点を前記仮想空間に設定する視点設定手段として前記装置を機能させるための情報と、
前記サブ目標点設定手段が、前記視点設定手段により設定された視点から前記目標点までの距離に応じて前記配置パターンを可変するための情報と、
を含むことを特徴とする制御情報。
【請求項１１】
請求項１〜１０の何れか一項に記載の制御情報であって、
前記各個体は前記仮想空間内の地表上を移動し、
前記第１設定手段が前記地表に沿った所定の２次元成分で第１ベクトルを設定するための情報と、
前記第２設定手段が前記２次元成分で第２ベクトルを設定するための情報と、
前記第３設定手段が前記２次元成分で第３ベクトルを設定するための情報と、
前記演算手段が、更に、地表の高度を加味して所定時間後の当該個体の移動位置を演算するための情報と、
を含むことを特徴とする制御情報。
【請求項１２】
請求項１〜１１の何れか一項に記載の制御情報であって、
前記目標点は前記画像上に表示されないことを特徴とする制御情報。
【請求項１３】
請求項１〜１２の何れか一項に記載の制御情報を記憶した前記装置による読み取り可能な情報記憶媒体。
【請求項１４】
敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、
当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段と、
当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段と、
当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段と、
当該個体の第１パラメータの値に基づいて第１ベクトルの大きさに関する第１係数を設定する第１係数設定手段と、
当該個体の第１パラメータの値に基づいて第２ベクトルの大きさに関する第２係数を設定する第２係数設定手段と、
当該個体の第１パラメータの値に基づいて第３ベクトルの大きさに関する第３係数を設定する第３係数設定手段と、
第１〜第３ベクトル及び第１〜第３係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段と、
を備えることを特徴とする画像生成装置。
【請求項１５】
敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、
当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段と、
当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段と、
当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段と、
当該個体の第１パラメータの値に基づいて、第１〜第３ベクトルの合成比率を設定する合成比率設定手段と、
前記合成比率設定手段により設定された合成比率に基づいて、第１〜第３ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段と、
を備えることを特徴とする画像生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータに類する装置に、複数の個体で構成する群の移動制御をさせるために、各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報等に関する。
【０００２】
【従来の技術】
ゲーム等のコンピュータグラフィックス（ＣＧ）において、昆虫や鳥、兵隊などのように複数の個体が集まってなる「群」の様子を表現する技術を群制御という。群制御では、全体として１つの群としての纏まった形態を保ちつつ、各個体が何らかの知能の元に独立して動作しているかのように制御することが好ましい。
【０００３】
従来の群制御の方法としては、例えば以下のものが挙げられる。
（１）例えば、群を構成する個体の中に群を率いるリーダを設定する。リーダ以外の個体は、リーダの位置を基準として相対的に定められた目標点に向かって移動することを基本とし、目標点に到達すると所定範囲内を所定速度で彷徨するように制御する。
各個体が目標点に向かう移動制御では、各個体を中心とする近距離・中距離・遠距離の有視野レンジを設定する。近距離の有視野レンジに仲間（同群の他個体）がいる場合には衝突回避のための反発力を設定し、この反発力を重量（個体の設定重量値）で除して第１の加速度を算出する。中距離の有視野レンジに仲間がいる場合には、仲間と同じ方向に移動するために仲間の加速度の平均値を第２の加速度とする。遠距離の有視野レンジに仲間がいる場合は、見通しを確保する為に仲間から離れるための反発力を設定し、反発力を重量で除して第３の加速度とする。そして、目標点に向かう加速度と第１〜第３の加速度とを、３次元仮想空間上のＸ，Ｙ，Ｚ成分毎に加算して総和平均値を算出する。この総和平均に基づいて当該個体の位置座標を演算する。これによって、各個体について仲間との距離に応じた適切な移動制御を行い、より自然に見える群制御を実現する（例えば、特許文献１参照；全請求項に対応）。
【０００４】
（２）また、仮想空間中に複数の種族（種類）の群が設定される場合、各個体に他個体に抱かせる興味の程度を示す仮想量を設定し、この仮想量から注目する他個体との距離に応じて力のベクトルの大きさを決定する方法もある。仮想量は各種族毎に予め設定され、評価関数は注目する他個体との距離レンジに応じて、当該他個体の仮想量から評価値を算出する。この評価値が、個体間の方向を有する力のベクトルの大きさを示す値となり、この力のベクトルが個体に掛かる力となる。そして、求められた各個体に掛かる力のベクトルから合力ベクトルが算出され、各個体はこの合成ベクトルに基づいて移動制御される。
【０００５】
例えば、被捕食種のニシンとその捕食種であるカマスとの場合、ニシンの個体には仮想量「１」、カマスの個体には仮想量「１０」を設定する。カマスの個体に設定された視界に相当する距離レンジ内にニシンの個体が存在する場合、このカマスからニシンへの方向を有しニシンの仮想量「１」の大きさを持った力のベクトルが当該カマスに掛かるとする。即ち、カマスはニシンに近づこうとする。反対に、ニシンからカマスを評価すると、評価関数によって仮想量は「−１０」と評価され、ニシンには「−１０」の力のベクトル、即ちカマスから反対方向へ向かう強い力が掛かり、結果ニシンはカマスから強く逃げようとする。また、ニシンの個体に設定された視界に相当する距離内に、ニシンの他個体が存在する場合、仮想量を「−１」と評価する。即ち、ニシンは他のニシンとは逆向きの「−１」の力のベクトルが掛かり、衝突を避けるように離れる。
【０００６】
このように、仮想空間中に複数の種族の個体が存在する場合であっても、種族毎に仮想量と評価関数とを予め設定することによって、簡単に複数の種族に対応する個体の移動制御を実行し、より自然な群制御を実現する。（例えば、特許文献２；全請求項に対応）。
【０００７】
また、（３）他個体との距離に基づいて判定処理を行って個体の移動制御をするものもある。例えば、敵味方に分かれた複数の個体が存在する場合において、個体が敵個体と接近した場合、敵個体との距離に基づいて戦闘すべきか否かを判断し、戦闘すべきと判断した場合に敵に接近するように個体を移動制御する。このように、判定処理を移動途中に接近した敵個体と戦うだけではなく、敵個体を発見した場合に自ら敵個体に向かうといった状況に応じた個体の移動制御が可能となる。（例えば、特許文献３参照；全請求項に対応）。
【０００８】
また、（４）個体の進行方向を３次元座標空間のＺ軸方向として、ＸＹ平面に個体と周囲障害物とを平行投影するものも有る。そして、ＸＹ平面上で個体と障害物の衝突判定をすることによって個体が障害物と衝突しない方向に移動制御する（例えば、特許文献４；請求項１１に対応）。
【０００９】
【特許文献１】
特許第３１６３４９６号公報
【特許文献２】
特許第２５１２０５２号公報
【特許文献３】
特開２００１−１４９６５５号公報
【特許文献４】
特許第３００５２４６号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、前記（１）や（３）の方法では、加速度の算出や判定処理を繰り返すために処理が重くなると言う問題がある。また、前記（２）の方法では、群に共通する行動を簡単に表現できるが、群を構成する個体ごとの行動の個性を表現できないという問題があった。
【００１１】
本発明は、上記課題を鑑みてなされたものであり、その目的とするところは、群を構成する個体及び群の動作に個性をもたせつつ、より高速に群制御することである。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、請求項１に記載の発明は、コンピュータに類する装置に、敵（例えば、図２のネコオブジェクトＣｌ）の存在する仮想空間において、第１パラメータ（例えば、図１２の性格設定情報７３５）の値が異なる複数の個体（例えば、図２のネズミオブジェクトＭｎ）で構成される群の目標点（例えば、図２の仮想ターゲットＴａ）に向けた移動制御をするために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、当該個体と目標点間の距離に基づいて第１ベクトル（例えば、図３のベクトルＶｔ及びＶｔ’）を設定する第１設定手段（例えば、図１０のベクトル演算部２２１、成分ベクトル算出部２２３、図１５のステップＳ２０６）、当該個体と敵間の距離に基づいて第２ベクトル（例えば、図３のベクトルＶｅ及びＶｅ’）を設定する第２設定手段（例えば、図１０のベクトル演算部２２１、成分ベクトル算出部２２３、図１５のステップＳ２０８）、当該個体と他個体間の距離に基づいて第３ベクトル（例えば、図３のベクトルＶｆ及びＶｆ’）を設定する第３設定手段（例えば、図１０のベクトル演算部２２１、成分ベクトル算出部２２３、図１５のステップＳ２１０）、当該個体の第１パラメータの値に基づいて第１ベクトルの大きさに関する第１係数を設定する第１係数設定手段（例えば、図１０のベクトル演算部２２１、合成ベクトル算出部２２４、図１５のステップＳ２１６〜Ｓ２１８）、当該個体の第１パラメータの値に基づいて第２ベクトルの大きさに関する第２係数を設定する第２係数設定手段（例えば、図１０のベクトル演算部２２１、合成ベクトル算出部２２４、図１５のステップＳ２１６〜Ｓ２１８）、当該個体の第１パラメータの値に基づいて第３ベクトルの大きさに関する第３係数を設定する第３係数設定手段（例えば、図１０のベクトル演算部２２１、合成ベクトル算出部２２４、図１５のステップＳ２１６〜Ｓ２１８）、第１〜第３ベクトル及び第１〜第３係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段（例えば、図１０のゲーム演算部２２、図１５のステップＳ２２２）として前記装置を機能させるための情報を含むことを特徴とする。
【００１３】
請求項１４に記載の発明は、敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段と、当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段と、当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段と、当該個体の第１パラメータの値に基づいて第１ベクトルの大きさに関する第１係数を設定する第１係数設定手段と、当該個体の第１パラメータの値に基づいて第２ベクトルの大きさに関する第２係数を設定する第２係数設定手段と、当該個体の第１パラメータの値に基づいて第３ベクトルの大きさに関する第３係数を設定する第３係数設定手段と、第１〜第３ベクトル及び第１〜第３係数に基づいて所定時間後の当該個体の移動位置を演算する演算手段と、を備えることを特徴とする。
【００１４】
請求項２に記載の発明は、コンピュータに類する装置に、敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成させるための制御情報であって、当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段、当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段、当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段、当該個体の第１パラメータの値に基づいて、第１〜第３ベクトルの合成比率を設定する合成比率設定手段（例えば、図１０の合成ベクトル算出部２２４、図１５のステップＳ２１６〜Ｓ２１８）前記合成比率設定手段により設定された合成比率に基づいて、第１〜第３ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段（例えば、図１０のゲーム演算部２２、図１５のステップＳ２２２）、として前記装置を機能させるための情報を含むことを特徴とする制御情報。
【００１５】
請求項１５に記載の発明は、敵の存在する仮想空間において、第１パラメータの値が異なる複数の個体で構成される群の目標点に向けた移動制御をさせるために各個体それぞれの移動を制御して、移動する群の画像を生成するための画像生成装置であって、当該個体と目標点間の距離に基づいて第１ベクトルを設定する第１設定手段と、当該個体と敵間の距離に基づいて第２ベクトルを設定する第２設定手段と、当該個体と他個体間の距離に基づいて第３ベクトルを設定する第３設定手段と、当該個体の第１パラメータの値に基づいて、第１〜第３ベクトルの合成比率を設定する合成比率設定手段と、前記合成比率設定手段により設定された合成比率に基づいて、第１〜第３ベクトルを合成して、所定時間後の当該個体の移動位置を演算する演算手段と、を備えることを特徴とする。
【００１６】
請求項１又は１４に記載の発明によれば、群を構成する個体に共通する行動として第１〜第３の各ベクトルを設定し、更に各個体毎に設定された第１パラメータに基づいて設定される第１〜第３係数を適用して各ベクトルの大きさに個体毎の変化を付加して個体の移動位置を求める。また、請求項２又は１５に記載の発明によれば、群を構成する個体に共通する行動として第１〜第３の各ベクトルを設定し、更に第１パラメータに基づく合成比率で第１〜第３ベクトルを合成し、合成ベクトルから個体の移動位置を求める。各個体は、これらベクトルに基づいて移動制御される。
【００１７】
ここで、第１〜第３の各ベクトルを設定する過程は群毎に共通であり、仔の段階における第１〜第３ベクトルは群に共通する行動原理を示すことになる。一方、第１〜第３ベクトルにそれぞれ掛かる第１〜第３係数及び第１〜第３ベクトルの合成比率は各個体毎のパラメータに基づいており、他各個体の特性を表す。従って、各個体に、群で共通する行動原理に基づく行動をさせながらも個体毎の個性を反映させた移動制御が可能となる。
また、このように群を構成する個体の行動に影響を与える力の成分をベクトルとして捉え、ベクトルを個体の移動制御演算のベースとすることによって、複雑な加速度演算や条件分岐などを要せず、ベクトル演算によって複数のベクトルが作用する状態からでも所望する値を速やかに演算することができる。従って、個体及び群に動作の個性をもたせつつ、より高速に群制御することができる。
【００１８】
尚、ここで言う「敵」とは、群を構成する個体が交戦する存在に限らず、個体に害を成す存在や、個体が避けるべき存在であっても良い。また、「制御情報」とは  、ゲーム装置等の電子計算機（コンピュータ）による処理の用に供する、プログラムに準じた情報の意である。
【００１９】
請求項３に記載の発明は、請求項１又は２に記載の制御情報であって、前記第１設定手段が、複数の演算方法の内、当該個体と目標点間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第１ベクトルを設定するための情報（例えば、図１０の算出方法設定情報７３４）と、前記第２設定手段が、複数の演算方法の内、当該個体と敵間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第２ベクトルを設定するための情報（例えば、図１０の算出方法設定情報７３４）と、前記第３設定手段が、複数の演算方法の内、当該個体と他個体間の距離に応じて択一的に演算方法を選択し、選択した演算方法に基づいて第３ベクトルを設定するための情報（例えば、図１０の算出方法設定情報７３４）と、を含むことを特徴とする。
【００２０】
請求項３に記載の発明によれば、請求項１又は２に記載の発明と同様の効果を奏するとともに、第１〜第３ベクトルそれぞれの算出方法を予め設定した中から、ベクトル算出の対象との距離に応じて選択することができる。従って、個体の移動制御をベクトル算出の対象との距離に応じて様々に変化させることができる。
【００２１】
請求項４に記載の発明は、請求項１〜３の何れか一項に記載の制御情報であって、前記仮想空間内に自群の他に他群が存在する場合に、前記第３設定手段が、当該個体と自群の他個体間の距離、及び当該個体と他群の個体間の距離に基づいて第３ベクトルを設定するための情報を含むことを特徴とする。
【００２２】
請求項４に記載の発明によれば、請求項１〜３の何れか一項に記載の発明と同様の効果を奏するとともに、個体に同群の仲間と他群の個体に対する行動の違いを表現することができる。
【００２３】
また、請求項５に記載の発明のように、請求項４に記載の制御情報であって、前記第３設定手段が、当該個体から他群の個体に向かう方向と第３ベクトルの方向との偏角が、当該個体と他群の個体間の距離に反比例するような演算方法で、第３ベクトルを設定するための情報を含むとしても良い。
【００２４】
請求項５に記載の発明によれば、請求項４に記載の発明と同様の効果を奏するとともに、処理対象となっている個体と他群の個体間の距離が近いほど、第３ベクトルの方向がより逆向きになるように設定される。従って、他群に属する個体が近づくにつれて、徐々に避ける方向を増し、ついには反対方向に向かって逃げるような斥力を表現することができる。
【００２５】
請求項６に記載の発明は、請求項１〜５の何れか一項に記載の制御情報であって、前記第１設定手段が、当該個体と目標点間の距離が所与の距離外である場合には、目標点に近づく方向に第１ベクトルを設定し、前記所与の距離内である場合には、目標点から遠ざかる方向に第１ベクトルを設定するための情報を含むことを特徴とする。
【００２６】
請求項６に記載の発明によれば、請求項１〜５の何れか一項に記載の発明と同様の効果を奏するとともに、目標点から個体を所与の距離から離すことができる。従って、例えば個体が１箇所に集中し、群として不自然な形にならないようにできる。また、目標点が群を率いる存在である場合に、群を率いる側と追従する側とを離して明確に表現することができる。
【００２７】
請求項７に記載の発明は、請求項１〜６の何れか一項に記載の制御情報であって、当該個体が属する群の内、何れか一の個体と目標点間の距離が所与の距離内になったか否かを判定する判定手段として前記装置を機能させるための情報と、前記判定手段により何れか一の個体と目標点間の距離が所与の距離内になったと判定された場合には、前記所与の距離外の時に比べて、ベクトルの大きさが小さくなるように、前記第１設定手段が第１ベクトルを設定するための情報と、を含むことを特徴とする。
【００２８】
請求項７に記載の発明によれば、請求項１〜６の何れか一項に記載の発明と同様の効果を奏するとともに、同群の何れかの個体が目標点と所定の位置関係を満たす場合に、個体のベクトルの大きさを小さくし、移動量を小さくすることができる。従って、例えば一の個体を群の先頭とするならば、群の先頭が所定の位置に達すると同時に各個体は減速し自然に停止する状態を表現することができる。
【００２９】
請求項８に記載の発明は、請求項１〜７の何れか一項に記載の制御情報であって、前記各個体には、予め種類を表す第２パラメータ（例えば、図２２のキャラクタ属性７３３ｄ、図２３の属性別アイテム設定情報７４２）が設定されており、一の群には、第２パラメータの値が異なる、複数種類の個体が含まれ、複数の種類別演算方法の内、当該個体の第２パラメータの値に応じて択一的に種類別演算方法を選択し、選択した種類別演算方法に基づいて第４ベクトル（例えば、図２０のベクトルＶｓ’）を設定する第４設定手段（例えば、図２１のベクトル演算部２２１、成分ベクトル算出部２２３、図２４のステップＳ３０２〜Ｓ３０８）として前記装置を機能させるための情報と、前記演算手段が、更に、第４ベクトルを加味して所定時間後の当該個体の移動位置を演算するための情報と、を含むことを特徴とする。
【００３０】
ここで言う、種類とは同じ群を形成する個体の属性に関する種類であって、例えばオス／メス、年齢、職業、人種、役職、段位など適宜設定して構わない。
請求項８に記載の発明によれば、請求項１〜７の何れか一項に記載の発明と同様の効果を奏するとともに、群を構成する個体に複数の種類を設け、各種類に個有の行動を第４ベクトルとして表し、個体の移動位置演算に加味させることができる。従って、より群の制御に多様性を持たせることができる。
【００３１】
請求項９に記載の発明によれば、請求項１〜８の何れか一項に記載の制御情報であって、前記各個体にそれぞれ対応するサブ目標点（例えば、図２５のサブ仮想ターゲットＧｎ）を、前記目標点に基づく所与の配置パターンで前記仮想空間に設定するサブ目標点設定手段（例えば、図２６のゲーム演算部２２、群設定部２２０）として前記装置を機能させるための情報と、前記第１設定手段が、当該個体と目標点間の距離に代えて、当該個体と当該個体に対応するサブ目標点間の距離に基づいて第１ベクトルを設定する（例えば、図２８のステップＳ５０８〜Ｓ５１０）ための情報とを含むことを特徴とする。
【００３２】
請求項９に記載の発明によれば、請求項１〜８の何れか一項に記載の発明と同様の効果を奏するともに、目標点に基づく所与の配置パターンでサブ目標点を設定することができる。サブ目標点は、所与の配置パターンで設定されるので、結果として群を構成する個体は配置パターンに従って整列するように移動制御されることになる。
【００３３】
請求項１０に記載の発明は、請求項９に記載の制御情報であって、前記画像を生成する基準となる視点を前記仮想空間に設定する視点設定手段（例えば、図２６のゲーム演算部２２）として前記装置を機能させるための情報と、前記サブ目標点設定手段が、前記視点設定手段により設定された視点から前記目標点までの距離に応じて前記配置パターンを可変するための情報と、を含むことを特徴とする。
【００３４】
視点より遠方に群が位置する場合、画面表示される個体の大きさも小さくなる。
請求項１０に記載の発明によれば、請求項９に記載の発明と同様の効果を奏するとともに、視点からの距離に応じて配置パターンを可変することができる。例えば、群が視点から遠方に位置する場合、サブ目標点の設定間隔を広くするように配置パターンを可変し、個体が整列している状態を画像上において識別し易くなるように変える。或いは各個体とサブ目標点との対応が、１体１対応ではなく、複数の個体が１つのサブ目標点に対応するような、サブ目標点の数を少なくした配置パターンに可変し、視点から遠方に位置する個体に掛かる演算処理を軽減することができる。
【００３５】
請求項１１に記載の発明は、請求項１〜１０の何れか一項に記載の制御情報であって、前記各個体は前記仮想空間内の地表上を移動し、前記第１設定手段が前記地表に沿った所定の２次元成分で第１ベクトルを設定するための情報と、前記第２設定手段が前記２次元成分で第２ベクトルを設定するための情報と、前記第３設定手段が前記２次元成分で第３ベクトルを設定するための情報と、前記演算手段が、更に、地表の高度を加味して所定時間後の当該個体の移動位置を演算するための情報と、を含むことを特徴とする。
【００３６】
請求項１１に記載の発明によれば、請求項１〜１０の何れか一項に記載の発明と同様の効果を奏するとともに、第１・第２・第３ベクトルは地表面に沿った２次元成分でベクトルを設定し、高さ方向の成分は演算しない。例えば、ＸＹＺ成分からなる３次元座標系において地表がＸＺ平面に沿って形成されている場合、ＸＺ平面のＸ成分とＺ成分からベクトルを演算し、高さ成分であるＹ成分は地表の高さから求める。従って、より演算負荷を削減することができる。
【００３７】
請求項１２に記載の発明は、請求項１〜１１の何れか一項に記載の制御情報であって、前記目標点は前記画像上に表示されないことを特徴とする。
【００３８】
請求項１２に記載の発明によれば、請求項１〜１１の何れか一項に記載の発明と同様の効果を奏するとともに、目標点を不可視状態とすることによって、群を引率するのではなく群そのものを操作しているように表現することができる。
【００３９】
請求項１３に記載の発明は、請求項１〜１２の何れか一項に記載の制御情報を記憶した前記装置による読み取り可能な情報記憶媒体である。
【００４０】
情報記憶媒体とは、コンピュータに類する装置が読取可能な媒体であって、例えばＩＣメモリーカードや、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ハードディスクなどである。請求項１３に記載の発明によれば、コンピュータに類する装置に、請求項１〜１２の何れか一項に記載の発明と同様の効果を実現させることができる。
【００４１】
【発明の実施の形態】
〔第１の実施の形態〕
以下、図１〜図１９を参照して、本発明を適用した第１の実施の形態について説明する。第１の実施の形態では、画像生成装置の一種であるゲーム装置でプレーヤがネズミの群を移動操作するゲームを実行する場合を例に挙げて説明する。尚、ゲームの詳細な内容は適宜設定するものとし、ここではネズミの群の移動操作について主に説明する。また、群を構成する個体はネズミに限るものではなく適宜設定して構わない。例えば、シミュレーションゲームに登場する騎馬隊や戦車隊に適用し、プレーヤが指揮官となって戦う設定としても良い。また、群を操作するのはプレーヤに限らず、コンピュータがシューティングゲームの敵キャラクタとして登場する昆虫群やロボット群、コブタの群などを自動操作する設定としても良いのは勿論である。
【００４２】
［構成の説明］
図１は、本発明を適用した業務用ゲーム装置１３００の外観の一例を示す図である。同図に示すように、業務用ゲーム装置１３００は、ゲーム画面を画像表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３２０とを備える。
【００４３】
制御ユニット１３２０は、例えばＣＰＵやＭＰＵ、各種ＩＣメモリ、ＡＳＩＣなどによって実現され、ベクトル演算ユニット１３２４を搭載する。ベクトル演算ユニット１３２４とは、ベクトル演算処理用に機能を特化したマイクロプロセッサ等の意味である。
また、制御ユニット１３２０には、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭ１３２２を搭載する。制御ユニット１３２０に搭載されるＣＰＵやベクトル演算ユニット１３２４などは、ＲＯＭ１３２２よりプログラムやデータを適宜読み出して演算処理することによって種々の処理を実行する。
【００４４】
プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見ながら、ジョイスティック１３０６で群の移動方向を入力し、プッシュボタン１３０８で各種コマンドを入力して群を制御してゲームを楽しむ。
【００４５】
［ゲーム内容の概要説明］
図２は、本実施の形態におけるゲーム内容の概念を説明するための図である。同図に示すように、ゲーム空間には複数のネズミオブジェクトＭｎ（ｎは自然数；包括的にはネズミオブジェクトＭとし、一つのネズミオブジェクトを指す場合にはネズミオブジェクトＭｎとする）と、ネズミを捕食するネコオブジェクトＣｌ（ｌは自然数）とが配置される。ネズミオブジェクトＭは群Ｆａを形成し、群Ｆａには共通の移動目標である仮想ターゲットＴａが設定される。
【００４６】
本実施の形態では、仮想ターゲットＴａをプレーヤがジョイスティック１３０６で操作して群Ｆａの移動方向を決定する。プレーヤは、自分が操作する群のネズミオブジェクトＭがネコオブジェクトＣに捕食されないように操作しながら群Ｆａを所定の目的地（ゴール地点）に導く。そして、群Ｆａを無事に目的地に到着させることができたならばゲーム終了となる。尚、説明の便宜上、仮想ターゲットＴａを可視状態（旗状のオブジェクト）として説明するが、不可視としても構わない。
【００４７】
［ネズミオブジェクトの移動制御の原理］
図３は、本実施の形態におけるネズミオブジェクトＭの移動制御の原理を説明するための図である。同図に示すように、ネズミオブジェクトＭｎは、仮想ターゲットＴａと、同群に属する他のネズミオブジェクトＭｍ（ｍは自然数；ｍ≠ｎ）と、ネコオブジェクトＣｌとを注目対象とする。そして、これら注目対象との相対位置関係に基づいて個々に移動制御される。ネズミオブジェクトＭが個々に移動制御されることによって、その総体として群Ｆａが移動することになる。
【００４８】
ネズミオブジェクトＭｎの移動制御においては、先ず（１）ネズミオブジェクトＭｎから仮想ターゲットＴａまでのベクトルＶｔと、（２）ネコオブジェクトＣｌまでのベクトルＶｅと、（３）ネズミオブジェクトＭｎから同群に属する他のネズミオブジェクトＭｍまでのベクトルＶｆとを算出する。
【００４９】
そして、算出されたベクトルＶｔ、Ｖｅ、Ｖｆを各注目対象との位置関係に応じてベクトルの方向と大きさとを変更し、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’とする。ベクトルＶｔ’、Ｖｅ’、Ｖｆ’は、ゲーム設定上においてネズミという種族に共通する各注目対象に対する感心の高さや影響力と同様の意義を有し、求心力や回避力としてネズミオブジェクトＭｎに作用する。
【００５０】
ベクトルＶｔ’、Ｖｅ’、Ｖｆ’を算出したならば、ネズミオブジェクトＭｎの行動の個性を示すパラメータに基づいて、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’をそれぞれ係数ｋｔ、ｋｅ、ｋｆで重み付けして合成ベクトルＶａを算出する。
また、本実施の形態においては、合成ベクトルＶａの算出時にネズミオブジェクトＭｎに影響を与えるゲーム空間の環境の力をベクトルＶｗとして更に合成する。ゲーム空間の環境の力とは、例えば風、水流、床や地面の移動、床や地面の滑り、重力などの地形条件や環境条件に基づく外力を表す。
【００５１】
合成ベクトルＶａを算出したならば、合成ベクトルＶａを更にネズミのゲーム設定上の上限速度｜Ｖ｜ｍａｘを超えないように大きさを適正化し、合成ベクトルＶａ’とする。ネズミオブジェクトＭｎは、この合成ベクトルＶａ’に基づいて次の移動先の位置座標が算出されて移動制御される。
【００５２】
［ベクトルの算出方法の説明］
次に、本実施の形態における各種ベクトルの具体的な算出方法について説明する。
【００５３】
図４は、本実施の形態におけるベクトルＶｔ’の算出方法について原理を説明する図である。
図４（ａ）に示すように、ネズミオブジェクトＭｎからベクトルＶｔ’を求める算出方法は、仮想ターゲットＴａを中心とする近距離・中距離・遠距離・遠距離圏外の４つの距離レンジ毎に設定し、ネズミオブジェクトＭｎが何れの距離レンジに位置するかによって択一的に選択する。尚、具体的な各距離レンジは適宜設定するものとする。
【００５４】
ネズミオブジェクトＭｎが近距離レンジに位置する場合（図４（ｂ）の（１））、仮想ターゲットＴａに対して近づき過ぎていると判断し、仮想ターゲットＴａから離れるようにベクトルＶｔの方向を変更する。より具体的には、例えば仮想ターゲットＴａとの距離、或いはベクトルＶｔの大きさが所定値以下である場合、ベクトルＶｔが逆向きに作用するようにマイナスの係数を掛けてベクトルＶｔ’とする。又は所定行列を掛けて方向を反転させるとしても良い。
【００５５】
これによって、例えば図５（ａ）に示すように、仮想ターゲットＴａとネズミオブジェクトＭｎとを所定距離離して、ネズミオブジェクトＭが仮想ターゲットＴａを取り囲むように密集し次の移動に支障がでてしまう状態を回避する。
【００５６】
ネズミオブジェクトＭｎが中距離レンジに位置する場合、仮想ターゲットＴａの状態に応じて更に条件を細分化して算出方法を設定する。
仮想ターゲットＴａが停止している場合（図４（ｂ）の（２））、ベクトルＶｔに比例してベクトルＶｔ’を算出する。図５（ｂ）に示すように、ベクトルＶｔ’は、ネズミオブジェクトＭｎが仮想ターゲットＴａに近づくにつれて小さくなり、ネズミオブジェクトＭｎが停止状態の仮想ターゲットＴａに対して徐々に速度を落としつつ接近するように作用する。
【００５７】
仮想ターゲットＴａが移動している場合は、仮想ターゲットＴａの１フレーム前の速度ベクトルＶｔａｔ−１に比例してベクトルＶｔ’を算出する。ベクトルＶｔ’は、ネズミオブジェクトＭｎが同属の他のネズミオブジェクトＭｍとともに仮想ターゲットＴａと同方向に移動するように作用する。
【００５８】
また、仮想ターゲットＴａが移動している場合では、群Ｆａの先頭のネズミオブジェクトが中距離レンジの範囲に達しているか否かで更に条件分けする。
【００５９】
群Ｆａの先頭のネズミオブジェクトが中距離レンジの範囲に達していない場合は（図４（ｂ）の（４））、ネズミオブジェクトＭｎが仮想ターゲットＴａと並走するように係数ｋ７を適当に設定する。
群Ｆａの先頭のネズミオブジェクトが中距離レンジの範囲に達している場合は（図４（ｂ）の（３））、群Ｆａが停止・減速する可能性が有ると判断し、ベクトルＶｔが大きな値を示していても、ベクトルＶｔ’が小さくなるように係数ｋ６を適当に設定する。ベクトルＶｔ’は、群Ｆａの先頭のネズミオブジェクトが中距離レンジに達すると、群Ｆａ全体の停止に備えて減速するように作用する。これによって、群Ｆａが停止或いは減速し、前方を行く他のネズミオブジェクトＭｍにつかえてネズミオブジェクトＭｎがそれ以上進めないにもかかわらず前方のネズミオブジェクトＭｍを無理矢理押し、結果群Ｆａの形態が崩れる事態を回避できる。
尚、群Ｆａの先頭のネズミオブジェクトが中距離レンジの範囲に達している場合に求められるベクトルＶｔ’は、その目的から群Ｆａの先頭のネズミオ部ジェクトが中距離レンジの範囲に達していない場合の並走時のベクトルＶｔ’より小さい値となるように係数ｋ６を設定する。
【００６０】
ネズミオブジェクトＭｎが遠距離レンジに位置する場合は、ベクトルＶｔに比例してベクトルＶｔ’を算出する（図４（ｂ）の（６））。従って、ベクトルＶｔ’はネズミオブジェクトＭｎが仮想ターゲットＴａから離れているほど大きくなり、ネズミオブジェクトＭｎが強く仮想ターゲットＴａを追走するように作用する。
ただし、群Ｆａの先頭のネズミオブジェクトが停止している場合は（図４（ｂ）の（５））、ネズミオブジェクトＭｎも停止しなければならないと判断し、ベクトルＶｔ’によって、ネズミオブジェクトＭｎが大きく減速するように見えるように係数ｋ２を適当に設定する。これによって、ネズミオブジェクトＭｎが前方を行く同属の他のネズミオブジェクトＭｍに追突するのを回避しながら、群Ｆａをスムーズに停止させることができる。
【００６１】
ネズミオブジェクトＭｎが遠距離圏外のレンジに位置する場合は、ベクトルＶｔに比例してベクトルＶｔ’を算出する。（図４（ｂ）の（７））。ベクトルＶｔ’は、ネズミオブジェクトＭｎが仮想ターゲットＴａをより強く追走するように作用する。この際、算出されるベクトルＶｔ’の対ベクトルＶｔ比を他の条件において算出される場合に比べて大きくなるように係数ｋ４を適当に設定すると、仮想ターゲットＴａから遠く離れてしまったネズミオブジェクトＭｎが必死に追いつこうとして早く移動する様子を表現できる。
【００６２】
この様に、ベクトルＶｔ’は、ネズミオブジェクトＭｎが仮想ターゲットＴａから遠く離れるほど急いで目標に向かおうとする力となって作用し、近づくほど作用する程度が小さくなる。ベクトルＶｔ’はネズミオブジェクトＭｎが群の一員として群Ｆａ全体の移動方向へ向う行動原理、求心力として作用する。
尚、係数ｋ１＝ｋ２＝ｋ３＝ｋ４とし、処理を簡略化するとしても良い。この場合であっても、ベクトルＶｔが仮想ターゲットＴａとの距離に応じた大きさを有するので、基本的にベクトルＶｔ’も仮想ターゲットＴａとの距離に応じた大きさを有することとなり、ベクトルＶｔ’の基本作用としては同様の効果が得られる。
【００６３】
図６は、本実施の形態におけるネズミオブジェクトＭｎのベクトルＶｅ’の算出方法について原理を説明するための図である。図６（ａ）に示すように、ベクトルＶｅ’は、ネズミオブジェクトＭｎからネコオブジェクトＣｌとの距離に応じて、所定の閾値を境に近距離レンジと遠距離レンジとに分けて択一的に算出方法を設定する。
【００６４】
ネコオブジェクトＣｌが近距離レンジにいる場合（図６（ｂ）の（１））、ベクトルＶｅの方向を反転させてベクトルＶｅ’とし、近ければ近いほど早く逃げるように作用させる。ネコオブジェクトＣｌが遠距離にいる場合（図６（ｂ）の（２））は、ベクトルＶｅ’の大きさを「０」にする。即ち、まだ敵が十分離れているので危険を感じていないように制御する。
従って、ベクトルＶｅ’は、敵から逃げる行動原理としての意味を有する。近距離レンジと遠距離レンジの閾値の設定によって、当該ネズミオブジェクトＭｎの危険察知能力や臆病さを表現することが可能になる。
【００６５】
図７は、本実施の形態におけるネズミオブジェクトＭｎのベクトルＶｆ’の算出方法について原理を説明するための図である。図７（ａ）に示すように、ベクトルＶｆ’は、ネズミオブジェクトＭｎを中心に、近傍に位置する所定数の同属の他のネズミオブジェクトＭｍとの距離に応じて、近距離・中距離・遠距離の距離レンジ毎に算出方法を設定する。尚、ベクトルＶｆ’の算出対象とするネズミオブジェクトＭｍの所定数は、群の規模やゲーム内容等に応じて適宜設定する。
【００６６】
ネズミオブジェクトＭｍが近距離にいる場合（図７（ｂ）の（１））、衝突回避のためにネズミオブジェクトＭｍから離れる方向にベクトルＶｆを変更する。より具体的には、ベクトルＶｆにマイナスの係数を掛けて方向を反転してベクトルＶｆ’とする。これによって図８（ａ）に示すように、ベクトルＶｆ’は衝突しそうな程に接近しているネズミオブジェクトＭｎとネズミオブジェクトＭｍとを互いに離すように作用する。
【００６７】
ネズミオブジェクトＭｍが、適当な距離と判断される中距離にいる場合で、且つ群Ｆａの先頭のネズミオブジェクトが中距離レンジ（図４（ａ）参照）に居る場合（図７（ｂ）の（２））、群Ｆａが停止・減速する可能性があると判断し、ベクトルＶｆに比例してベクトルＶｆ’を算出する。ベクトルＶｆ’は、同属の他のネズミオブジェクトＭｍに近づくほど小さくなり、ネズミオブジェクトＭｎが徐々に速度を落としながら近づくように作用する。
【００６８】
群Ｆａの先頭のネズミオブジェクトが中距離レンジにいない場合は（図７（ｂ）の（３））、近傍に位置するネズミオブジェクトＭｍの１フレーム前の合成ベクトルＶｍｔ−１（＝Ｖａ’ｔ−１）に基づいて算出する。これによって、例えば図８（ｂ）に示すように、ベクトルＶｆ’は、ネズミオブジェクトＭｎが同属の他のネズミオブジェクトＭｍと同じ方向に移動するように作用する。
【００６９】
ネズミオブジェクトＭｍが遠距離にいる場合（図７（ｂ）の（４））、ベクトルＶｆの方向はそのままにして、ベクトルＶｆに比例してベクトルＶｆ’を算出する。ベクトルＶｆ’は、ネズミオブジェクトＭｎが仲間から離れるに従って大きくなり、例えば図８（ｃ）に示すように、群Ｆａからはぐれそうになった場合に、早く仲間（同属の他のネズミオブジェクトＭｍ）に追いつくように作用する。
【００７０】
従って、ベクトルＶｆ’は、同属の他のネズミオブジェクトＭｍまでの距離に応じて、近づき過ぎれば離れる方向に、離れすぎれば近づく方向に作用し、ネズミオブジェクトＭｎ、Ｍｍが互いの距離を保ち衝突を回避させる働きをする。即ち、ベクトルＶｆ’は同群に属する他の個体との距離を適当に保つための行動原理としての意味を有する。尚、ベクトルＶｆ’は、更にネズミオブジェクトＭｍが他の群に属するか否かを条件に、図７（ｂ）の（５）（６）（７）に示すようにベクトルの方向や大きさを適宜変更するなどしても良い。
【００７１】
この様に、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’の算出方法の設定は、ネズミオブジェクトＭｎの種族個有の行動原理を表現することに相当する。例えばネコオブジェクトＣを移動制御する場合は、ネズミオブジェクトＭを捕食する側なのでベクトルＶｅ’は注目オブジェクトから遠ざかる方向ではなく近づく方向となる。
【００７２】
図９は、環境から作用する外力ベクトルＶｗの概念を説明するための図である。同図に示すように、例えばゲーム空間に風が設定されている場合、外力ベクトルＶｗ−１によって、ネズミオブジェクトＭｎの位置に応じた風をネズミオブジェクトＭｎに作用させる。また、ネズミオブジェクトＭｎの位置が斜面である場合には、重力によるベクトルＶｗ−２を作用させる。斜面の滑り易い場所ではベクトルＶｗ−２を大きく設定するとしても良い。風を表すベクトルは、例えばゲーム空間の環境設定に基づいて求め、重力を表すベクトルは、例えば地面を構成するポリゴン面の法線ベクトルに基づいて求めることにより、設定することができる。
【００７３】
［ロ：合成ベクトルの算出の説明］
ベクトルＶｔ’、Ｖｅ’、Ｖｆ’及びベクトルＶｗを算出したならば、ネズミオブジェクトＭｎの個性を示す性格設定情報７３５の値に基づいて係数ｋｔ、ｋｅ、ｋｆを決定し、例えばベクトルＶａ＝ｋｔ×Ｖｔ’＋ｋｆ×Ｖｆ’＋ｋｅ×Ｖｅ’＋Ｖｗとしてベクトル合成して合成ベクトルＶａを算出する。
【００７４】
性格設定情報７３５の値は、当該ネズミオブジェクトＭｎにおいて各成分ベクトルがどの程度の割合で最終的な行動に影響を与えるかを決定する。図１２は、性格設定情報７３５のデータ構成の一例を示す図である。同図に示すように、例えばネズミオブジェクトＭ１は相対的に群に従う傾向が強い設定であり、例えばベクトルＶｔ’とベクトルＶｆ’のパラメータが高く設定されている。ネズミオブジェクトＭ２は相対的に臆病な設定であり、例えばベクトルＶｅ’のパラメータが高く設定されている。
【００７５】
算出されたベクトルＶａは、更にネズミとして不自然な移動速度をもたないように、ネズミのゲーム設定上の上限速度｜Ｖ｜ｍａｘを超えないように合成ベクトルＶａの大きさを適正化しベクトルＶａ’とする。
【００７６】
以上の移動制御の原理によって、ネズミオブジェクトＭはネズミというゲーム設定上の種族に共通する行動原理に従うとともに、その詳細はネズミオブジェクトＭｎの個性が反映されたように移動制御される。また、上述のように移動制御に係る演算のほとんどがベクトル演算であるので、表示画面上の実際の移動量は合成ベクトルＶａ’から一度だけ求めれば良く、個々のネズミオブジェクトＭの移動制御にかかる演算負荷を軽減し、群全体の制御の処理を高速化することができる。業務用ゲーム装置１３００にベクトル演算ユニット１３２４を搭載している場合には特にその効果が高い。
【００７７】
［機能ブロックの説明］
図１０は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、業務用ゲーム装置１３００は、操作入力部１０と、処理部２０と、画像表示部３０と、音出力部４０と、記憶部７０とを有する。
【００７８】
操作入力部１０は、例えば、十字キー、レバー、ボタンスイッチ、ジョイスティックなどによって実現され、種々のゲーム操作を受付けて操作入力信号を処理部２０に出力する。図１の例ではジョイスティック１３０６とプッシュボタン１３０８とがこれに該当する。
【００７９】
処理部２０は、業務用ゲーム装置１３００全体の制御、装置内の各機能ブロックへの命令、ゲーム演算などの各種の演算処理を行う。その機能は、例えば、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）などのハードウェア及び関連する制御プログラム等により実現される。図１の例では制御ユニット１３２０がこれに該当する。
処理部２０には更に、主にゲームに係る演算処理を行うゲーム演算部２２と、ゲーム演算部２２の処理によって求められた各種のデータから画像信号を生成する画像生成部２４と、効果音やＢＧＭなどのゲーム音の音信号を生成する音生成部２６とが含まれる。
【００８０】
ゲーム演算部２２は、操作入力部１０からの操作入力信号や、記憶部７０から読み出したプログラムやデータに基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば、仮想空間（ゲーム空間）の設定、仮想空間へのオブジェクトの配置及び移動、ヒット判定、キャラクタのアクション操作、ゲーム結果（成績）を求める処理、或いは視点の位置や視線方向の決定等の処理などを実行する。
本実施の形態では特に、複数の所属オブジェクトからなる複数の群を設定する群設定部２２０と、ベクトル演算部２２１と、仮想ターゲットを設定し移動制御する仮想ターゲット移動制御部２２２とを含む。
【００８１】
群設定部２２０は、群ＦａにネズミオブジェクトＭｎを所属オブジェクトとして登録し各所属オブジェクトの情報を管理する。例えば、ネズミオブジェクトＭｎがゲーム中にネコオブジェクトＣに捕食されるなどして存在しなくなる場合には登録を抹消する。
【００８２】
ベクトル演算部２２１は、ベクトル演算専用のルーチンやベクトル演算専用のマイクロプロセッサ（例えば図１のベクトル演算ユニット１３２４）、ＤＳＰなどによって実現される。
ベクトル演算部２２１は更に、ベクトルＶｔ，Ｖｅ，Ｖｆ，Ｖｗ及びＶｔ’，Ｖｅ’，Ｖｆ’の各種成分ベクトルを算出する成分ベクトル算出部２２３と、成分ベクトルを合成して合成ベクトルを算出する合成ベクトル算出部２２４と、合成ベクトルの大きさを適正化する合成ベクトル変更部２２５とを含む。
【００８３】
仮想ターゲット移動制御部２２２は、仮想ターゲットＴａを操作入力部１０からの操作入力信号に基づいて移動制御する。
【００８４】
画像表示部３０は、画像生成部２４からの画像信号に基づいて、例えば１／６０秒ごとを１フレームとして画面を再描画しながらゲーム画面を表示する。画像表示部３０は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現できる。図１の例ではディスプレイ１３０２がこれに該当する。音出力部４０は、音生成部２６からの音信号に基づいて効果音やＢＧＭ等を音出力する。図１の例ではスピーカ１３０４がこれに該当する。
【００８５】
記憶部７０は、例えばＩＣメモリ、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等の情報記憶媒体によって実現され、業務用ゲーム装置１３００を統合的に制御するシステムプログラムや演算処理に必要なデータを含むシステムプログラム（図示略）や、ゲームを実行させるためのプログラム及び設定値等のデータが含まれるゲーム情報７２などを記憶する。図１の例ではＲＯＭ１３２２がこれに該当する。
【００８６】
ゲーム情報７２は、本実施の形態におけるゲームを実行するのに必要なプログラム及びデータを格納する（図示略）。本実施の形態では特に、処理部２０を群設定部２２０として機能させるための群設定プログラム７２０と、ベクトル演算部２２１として機能させるためのベクトル演算プログラム７２１と、仮想ターゲット移動制御部２２２として機能させるための仮想ターゲット移動制御プログラム７２２とを含む。
【００８７】
また、データとしては、ゲーム空間を表示させるために必要なモデリングデータやテクスチャデータ等を含むステージ情報７３０と、ネズミオブジェクトＭ及びネコオブジェクトＣを表示するためのモデリングデータやテクスチャデータなどを含むキャラクタデータ７３２と、群に所属するオブジェクトを登録するための群登録情報７３３と、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’の算出に参照される係数や行列などを格納する算出方法設定情報７３４と、ネズミオブジェクトＭｎの行動の個性を設定するための性格設定情報７３５と、仮想ターゲットＴａの位置座標、移動ベクトルＶａ及び１フレーム前の移動ベクトルＶｔａｔ−１等を格納する仮想ターゲット情報７３６とを含む。また、ネコオブジェクトＣｌに関する位置情報の速度ベクトルなどもここに格納される（図示略）。
【００８８】
ステージ情報７３０には更に、ゲーム空間を形成するポリゴンの位置情報とポリゴンの法線ベクトルが格納されるとともに、当該位置におけるベクトルＶｗ（例えば風の外力ベクトルＶｗ−１など）を設定する外力設定情報７４０が格納される。
図１３は、外力設定情報７４０のデータ構成の一例を示す図である。同図に示すように、位置情報の範囲７４０ａと、当該範囲に設定されている外力のベクトルＶｗ７４０ｂを対応付けて格納している。外力設定情報７４０は、予め用意されるとしてもよいし、別途ゲーム中の時間経過に応じて範囲７４０ａやベクトルＶｗ７４０ｂの方向及び大きさを変化させる構成としても良い。その場合には、ベクトルＶｗをより自然環境からの外力らしく設定することができる。
【００８９】
図１１は、群登録情報７３３のデータ構成の一例を示す図である。同図に示すように、群登録情報７３３は群毎に設けられ、群の識別情報である群ＩＤ７３３ａと、当該群が移動目標とする仮想ターゲットを識別するための仮想ターゲットＩＤ７３３ｂと、当該群に所属するオブジェクト毎の個体情報７３３ｃとを含む。本実施の形態では、個体情報７３３ｃには、現在の位置座標や合成ベクトルＶａ’ｔ、及び１フレーム前の位置座標・合成ベクトルＶａ’ｔ−１・回転等の情報を格納する。
【００９０】
［処理の流れの説明］
次に、図１４〜図１５を参照して、本実施の形態における処理の流れを説明する。尚、ここでは群の移動制御について主に説明し、ゲームの内容については適宜省略するものとする。
【００９１】
図１４は、ゲーム処理のメインフローの流れを説明するためのフローチャートである。同図に示すように、先ずゲーム演算部２２が所定の初期条件に基づいてゲーム空間を生成する（ステップＳ１０２）。次いで、各ネコオブジェクトＣｌを所定のアルゴリズムに従って移動制御する（ステップＳ１０４）。
プレーヤによって操作入力がされた場合（ステップＳ１０６のＹＥＳ）、仮想ターゲット移動制御部２２２が操作入力に応じて仮想ターゲットＴａを移動制御する（ステップＳ１０８）。そして、ゲーム演算部２２は記憶部７０よりベクトル演算プログラム７２１を読み出し実行して、群Ｆａについて群移動処理を実行する（ステップＳ１１０）。
【００９２】
図１５は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。同図に示すように、ベクトル演算部２２１は群登録情報７３３を参照して、登録されている全てのネズミオブジェクトＭｎについて個体別ルーチンを実行する（ステップＳ２０４〜Ｓ２２４）。
【００９３】
個体別ルーチンでは、先ず成分ベクトル算出部２２３が、ベクトルＶｔを算出する。そして、算出方法設定情報７３４を参照して、前述の如く仮想ターゲットＴａからの距離や仮想ターゲットＴａの動静及び群Ｆａの先頭の位置条件等に基づいて、ベクトルＶｔからベクトルＶｔ’を算出する（ステップＳ２０６）。
【００９４】
次に、成分ベクトル算出部２２３は、ベクトルＶｅ及びＶｅ’を算出する（ステップＳ２０８）。具体的には、ネコオブジェクトＣｌの位置情報と当該ネズミオブジェクトＭｎの位置関係に基づいてベクトルＶｅを算出する。そして、算出方法設定情報７３４を参照してベクトルＶｅからベクトルＶｅ’を算出する。尚、複数のネコオブジェクトＣｌが近距離レンジにいる場合は、ネコオブジェクトＣｌごとにベクトルＶｅ’を算出し、それぞれのベクトルＶｅ’をサブベクトルとみなし、ベクトル合成した結果を最終的なベクトルＶｅ’としても良い。
【００９５】
次いで成分ベクトル算出部２２３は、ベクトルＶｆ及びＶｆ’を算出する（ステップＳ２１０）。より具体的には、成分ベクトル算出部２２３は、先ず群登録情報７３３を参照して、ネズミオブジェクトＭｎの近傍に位置する仲間のネズミオブジェクトＭｍを対象としてベクトルＶｆを算出する。そして、算出方法設定情報７３４を参照してベクトルＶｆからベクトルＶｆ’を算出する。尚、複数のネズミオブジェクトＭｍを対象とする場合は、例えば個々にベクトルＶｆ’を算出して合成し、当該ネズミオブジェクトＭｎのベクトルＶｆ’とする。
【００９６】
次に、ステージ情報７３０を参照して、ネズミオブジェクトＭｎの現在位置におけるベクトルＶｗを算出する（ステップＳ２１２）。例えば、外力設定情報７４０を参照して風などの環境条件に基づくベクトルＶｗを算出し、地形を構成するポリゴン面の法線ベクトルから地形条件に基づくベクトルＶｗを算出する。
【００９７】
ベクトルＶｔ’、Ｖｅ’、Ｖｆ’、Ｖｗが算出されたならば、合成ベクトル算出部２２４は、性格設定情報７３５を参照し（ステップＳ２１６）、これら成分ベクトルを合成し合成ベクトルＶａを算出する（ステップＳ２１８）。次いで、合成ベクトルＶａの大きさを、ネズミオブジェクトＭの最大移動速度を超えないように適正化し合成ベクトルＶａ’とする（ステップＳ２２０）。
【００９８】
合成ベクトルＶａ’が求められたならば、ゲーム演算部２２は当該ネズミオブジェクトの移動先の位置座標や地形にあわせてＸ、Ｙ、Ｚ軸周りの回転等を演算し、群登録情報７３３を更新する（ステップＳ２２２）。より具体的には、個体情報７３３ｃの現在の位置座標・合成ベクトル・回転を、１フレーム前のそれとして格納し、新たに求められた合成ベクトルＶａ’から現在の位置座標・回転等を新たに算出して格納する。
【００９９】
全ての所属オブジェクトについて、ステップＳ２０４〜Ｓ２２４の処理が実行されたならば群移動処理を終了し、図１４のフローに戻る。尚、本実施の形態では処理対象となる群を一つ（群Ｆａ）としているが、ゲーム空間中に複数の群が存在する場合は、全ての群について上述の群移動処理を実行する。
【０１００】
図１４のフローに戻って、群移動処理によって全てのネズミオブジェクトＭｎの位置が確定されたので、ゲーム演算部２２は所定のゲーム判定処理を実施する（ステップＳ１１２）。例えば、ネズミが捕食されるか否かの判定や、ゲーム時間の判定、ヒットチェック、得点の計算などがここに含まれる。次いで、画像生成部２４がゲーム画面の画像を生成し、画像表示部３０に表示させる（ステップＳ１１４）。ここで、ゲーム演算部２２はゲーム終了判定を実行し、所定の条件を満たす場合にゲームを終了する（ステップＳ１１６のＹＥＳ）。
【０１０１】
図１６〜図１８は、上記処理結果に基づくゲーム画面の一例を示す図である。図１６では、ネコオブジェクトＣｌが画面下側より上に移動して群Ｆａに近づいている。
続く図１７では、ネコオブジェクトＣｌが仮想ターゲットＴａの近傍まで達し、ネズミオブジェクトＭは仮想ターゲットＴａに集まろうとしながらもネコオブジェクトＣｌから逃げるように移動制御される。結果、ネコオブジェクトＣｌの周囲に円形の空間が生じている。
図１８は、ネコオブジェクトＣｌが更に右上方向に進行し、群Ｆａを通り抜けた場合を示している。ネコオブジェクトＣｌ（敵）が群Ｆａから離れることによって、ネズミオブジェクトＭにはベクトルＶｅ’が作用しなくなる。例えば、敵から逃げるために仮想ターゲットＴａから所定距離離れてしまったネズミオブジェクトＭｎにはベクトルＶｔ’が比較的高く作用し、仮想ターゲットＴａに近づくように移動制御される。尚、これらの図はある条件下における一例であって、その時々の各オブジェクトの位置関係や地形などの諸条件により様々な形態になり得る。
【０１０２】
［ハードウェアの構成］
次に、業務用ゲーム装置１３００を実現できるハードウェアの構成について説明する。
図１９は、本実施の形態におけるハードウェア構成の一例を示す図である。業務用ゲーム装置１３００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、音生成ＩＣ１００８と、画像生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２及び１０１４とを有し、システムバス１０１６により相互にデータの入出力可能に接続されている。
【０１０３】
ＣＰＵ１０００は、図１０における処理部２０に該当し、情報記憶媒体１００６に格納されているプログラム、ＲＯＭ１００２に格納されているシステムプログラム、コントロール装置１０２２によって入力される操作入力信号等に従って、装置全体の制御や各種のデータ処理を行う。
【０１０４】
ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図１０における記憶部７０に該当する。
ＲＯＭ１００２は、図１のＲＯＭ１３２２に該当し、図１０のゲーム情報７２、特に予め設定されているプログラムやデータを記憶する。ＲＡＭ１００４は、ＣＰＵ１０００の作業領域などとして用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、或いはＣＰＵ１０００の演算結果が格納される。情報記憶媒体１００６は、ＩＣメモリカードや着脱自在なハードディスクユニット、ＭＯなどによって実現される。情報記憶媒体１００６は、図１のＲＯＭ１３２２に該当する。
【０１０５】
音生成ＩＣ１００８は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成された音はスピーカ１０２０によって出力される。なお、スピーカ１０２０は、図１０における音出力部４０、図１におけるスピーカ１３０４に該当する。
【０１０６】
画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から出力される画像情報にもとづいて表示装置１０１８に画像を出力するための画素情報を生成する集積回路である。なお、表示装置１０１８は、図１０における画像表示部３０、図１におけるディスプレイ１３０２に該当する。
【０１０７】
Ｉ／Ｏポート１０１２には、コントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には、通信装置１０２４が接続されている。
コントロール装置１０２２は、図１０における操作入力部１０に該当し、操作パネルや図１のジョイスティック１３０６やプッシュボタン１３０８等に相当するものであり、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。また、通信装置１０２４は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介して、ゲームプログラム等の情報を送受信することなどに利用される。
【０１０８】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理はＣＰＵ１０００、或いは汎用のＤＳＰ等によってソフトウェア的に実行されても良い。
【０１０９】
〔第２の実施の形態〕
次に、図２０〜図２４を参照して、本発明における第２の実施の形態について説明する。第２の実施の形態は、様々な職業属性のキャラクタが群を成している場合を例に、合成ベクトルＶａに更に他の要素が加わる場合を説明する。
尚、本実施の形態は、基本的に第１の実施の形態と同様の構成によって実現可能であり、第１の実施の形態と同様の構成要素については同じ符号を付け、説明は省略するものとする。
【０１１０】
［群制御の概念の説明］
図２０は本実施の形態におけるキャラクタの属性に応じて設定されるベクトルＶｓに関する概念を説明する図である。同図に示すように、本実施の形態における群Ｆａは、ゲーム設定上群を率いるとともに他のキャラクタをモンスターＤから守る兵士キャラクタＰと、食料を生産する農民キャラクタＱと、対外的な商売を担当する商人キャラクタＲとから構成されている。同図では、隊列を組んでゲーム空間上の他の土地に移動中である。
【０１１１】
ここで、商人キャラクタＲはその属性による特徴から、お金に絡むものに高い興味を示す。同図において、ゲームフィールド上に宝物アイテムＨ１が配置されている場合、商人キャラクタＲには、第１の実施の形態で述べたベクトルＶｔ’、Ｖｅ’、Ｖｆ’、Ｖｗのほかに、宝物アイテムＨ１を手に入れたいという要求を示すベクトルＶｓ’を特別に算出する。また、農民キャラクタＱはその属性による特徴から、食料や食料生産に欠かせないものに高い興味を示す。同図において、ゲームフィ−ルド上に食料アイテムＨ２が配置されている場合、農民キャラクタＱには、食料アイテムＨ２を手に入れたいという要求を示すベクトルＶｓ’を特別に算出する。
【０１１２】
ベクトルＶｓ’は、ベクトルＶｔ’などと同様に、それぞれキャラクタからアイテムまでのベクトルＶｓからアイテムの種類やアイテムまでの距離などに応じて、後述する算出方法設定情報７３４を参照して求める。そして、合成ベクトルＶａには、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’、Ｖｗの他にベクトルＶｓ’が合成される。
【０１１３】
上述のようにベクトルＶｓ’はアイテムまでの距離によってその大きさが決まるので、図２０の場合では宝物アイテムＨ１に近い商人キャラクタＲ５と、食料アイテムＨ２に近い農民キャラクタＱ１には、他の商人キャラクタＲ１〜Ｒ４や農民キャラクタＱ１〜Ｑ４に比べて強くベクトルＶｓ’が作用し、群を離れようとする。ベクトルＶｓ’はそれぞれアイテムの存在を起因としており、例えば宝物アイテムＨ１を入手した商人キャラクタＲ５は、ベクトルＶｓ’が無くなるので群に戻ろうと移動する。
【０１１４】
［機能ブロックの説明］
図２１は、本実施の形態における機能構成の一例を説明するための機能ブロック図である。本実施の形態における業務用ゲーム装置１３００では、ゲーム情報７２にキャラクタの属性毎に特別に注目するアイテムを規定する属性別アイテム設定情報７４２を含む。
【０１１５】
図２２は、本実施の形態における群登録情報７３３のデータ構成の一例を示す図である。同図に示すように、各オブジェクトＩＤ７３３ｃに対応してキャラクタ属性７３３ｄが格納される。
【０１１６】
図２３は、属性別アイテム設定情報７４２のデータ構成の一例を示す図である。同図に示すように、キャラクタ属性７４２ａ毎に、ベクトルＶｓを設定する対象となるアイテム７４２ｂと、性格パラメータ値７４２ｃなどが設定されている。例えば食料アイテムの場合、リンゴなど具体的な食料より水の性格パラメータ値７４２ｃを高く設定して、より強くベクトルＶｓが作用する設定としても良い。この場合リンゴよりも水のほうがより重要な設定となり、農民キャラクタＱには水へのベクトルＶｓ’がより強く作用する。
【０１１７】
［処理の流れの説明］
図２４は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。尚、第１の実施の形態と異なるステップにはＳ３００番台の符号をつけている。
【０１１８】
同図に示すように、群移動処理においてはベクトルＶｗの算出の後に（ステップＳ２１２）、ベクトル演算部２２１が群登録情報７３３からキャラクタ属性７３３ｄを参照して（ステップＳ３０２）、属性別アイテム設定情報７４２から当該キャラクタ属性７３３ｄに対応するアイテム７４２ｂと性格パラメータ値７４２ｃを参照する（ステップＳ３０４）。
そして、アイテム７４２ｂが所定の距離内に有るか否かを判定し、アイテム７４２ｂが有る場合には（ステップＳ３０６のＹＥＳ）、算出方法設定情報７３４の設定に従ってベクトルＶｓ及びＶｓ’を求める（ステップＳ３０８）。
【０１１９】
ベクトルＶｓ’が求められたならば、ベクトル演算部２２４はベクトルＶｔ’、Ｖｅ’、Ｖｆ’、Ｖｗ、Ｖｓ’をベクトル合成してベクトルＶａを求め、ベクトルＶａを適正化してベクトルＶａ’を算出する（ステップＳ２１６〜Ｓ２２０）。そして、ベクトルＶａ’に基づいて群登録情報７３３の当該ネズミオブジェクトＭｎの個体情報７３３ｃを更新する（ステップＳ２２２）。
【０１２０】
以上の処理によって、宝物アイテムＨ１に目がくらんで、商人キャラクタＲ５が群から離れてしまうといったキャラクタの属性に基づく特有の行動をゲームに反映させることができる。
【０１２１】
〔第３の実施の形態〕
次に、図２５〜図２９を参照して、本発明における第３の実施の形態について説明する。第３の実施の形態は、ネズミオブジェクトＭを更に所定の形状を成すように整列させる場合と、仮想視点からの距離に応じて演算処理を省略する場合を例に挙げて説明する。尚、本実施の形態は、基本的に第１及び第２の実施の形態と同様の構成によって実現可能であり、同様の構成要素については同じ符号を付け説明は省略するものとする。
【０１２２】
［整列の概念の説明］
図２５は、本実施の形態におけるオブジェクトの整列の原理を説明する図である。同図に示すように、仮想ターゲットＴａを基準位置として所与の配置パターンにサブ仮想ターゲットＧｎ（ｎは自然数）を設定する。各サブ仮想ターゲットＧｎにはそれぞれネズミオブジェクトＭｎが対応づけられている。そして、ネズミオブジェクトＭｎはそれぞれに対応づけられたサブ仮想ターゲットＧｎをそれぞれの移動目標とする。従って、ネズミオブジェクトＭは互いに衝突を回避し、また敵を避けつつもあたかも隊列を成すように群Ｆａを形成する。
【０１２３】
本実施の形態では仮想ターゲットＴａに対するサブ仮想ターゲットＧｎの配置パターンは予め決まっているものとし、プレーヤの操作によって仮想ターゲットＴａを移動目標とするか、サブ仮想ターゲットＧｎを移動目標として整列させるかを切り換えできる。本実施の形態では、後者を「整列モード」と言う。
尚、配置は同図の例に限らず形状は適宜設定して構わないし、平面状に限らず立体状に配置するとしても良い。また複数の配置のパターンを予め用意し、ゲーム中に適宜ユーザが選択できる構成としても良いのは勿論である。
【０１２４】
［機能ブロックの説明］
図２６は、本実施の形態における機能構成の一例を示す機能ブロック図である。同図に示すように、本実施の形態における業務用ゲーム装置１３００では、ゲーム情報７２にサブ仮想ターゲットＧｎの配置位置を設定するための情報を格納するサブ仮想ターゲット設定情報７４４とを含む。
【０１２５】
図２７は、配置パターンを表す具体的なデータである、サブ仮想ターゲット設定情報７４４のデータ構成の一例を示す図である。同図に示すように、サブ仮想ターゲット設定情報７４４は、例えば仮想ターゲットＴａをローカル原点とするサブ仮想ターゲットＧｎの識別情報（サブ仮想ターゲットＩＤ）と座標値とをテーブルデータとして格納する。
【０１２６】
サブ仮想ターゲットＧｎとネズミオブジェクトＭｎの対応関係は、本実施の形態では群設定部２２０によって行われ、群登録情報７３３の個体情報７３３ｃに対応関係に関する情報（例えば、対応するサブ仮想ターゲットＧｎの識別情報など）を格納するものとする。また、整列モードか否かの識別は適宜ゲーム情報７２内に例えばフラグを設定して管理するものとする。
【０１２７】
［処理の流れの説明］
図２８は、本実施の形態における群移動処理の流れを説明するためのフローチャートである。尚、図１５と相異するステップには、Ｓ５００番台の符号を付けている。
【０１２８】
同図に示すように、先ずゲーム演算部２２は仮想視点から仮想ターゲットＴａまでの距離を演算する（ステップＳ５０１）。求めた距離は記憶部７０に適宜記憶する。
次に、ゲーム演算部２２は、整列モードが選択されているか否かを判定する（ステップＳ５０２）。整列モードが選択されている場合（ステップＳ５０２のＹＥＳ）、ゲーム演算部２２はサブ仮想ターゲット設定情報７４４を参照して、ゲーム空間上にサブ仮想ターゲットＧｎを設定し（ステップＳ５０４）、群設定部２２０がサブ仮想ターゲットＧｎとネズミオブジェクトＭｎとを対応づける（ステップＳ５０６）。
【０１２９】
次に、ベクトル演算部２２１が成分ベクトルの算出を行う。整列モードが選択されている場合（ステップＳ５０８のＹＥＳ）、ベクトル演算部２２１はサブ仮想ターゲットＧｎを対象としてベクトルＶｔ及びＶｔ’を算出する（ステップＳ５１０）。整列モードが選択されていない場合（ステップＳ５０８のＮＯ）、仮想ターゲットＴａを対象としてベクトルＶｔ及びＶｔ’を算出する（ステップＳ２０６）。
【０１３０】
次に、ゲーム演算部２２は、仮想視点から仮想ターゲットＴａまでの距離が、画面上のネズミオブジェクトＭの表示サイズが小さくなり個体識別が難しくなる所定閾値を超えるか否かを判定する（ステップＳ５１２）。
仮想視点から仮想ターゲットＴａまでの距離が閾値を上回る場合（ステップＳ５１２のＹＥＳ）、即ちネズミオブジェクトＭの表示サイズが十分に小さい場合、ステップＳ２０８からステップＳ２１２を省略して、ベクトルＶｅ’、Ｖｆ’、Ｖｗをそれぞれ「０」とする（ステップＳ５１４）。以下、第１の実施の形態と同様であり説明を省略する（ステップＳ２０８〜Ｓ２２４）。
【０１３１】
以上の処理によって、ネズミオブジェクトＭそれぞれが独立して動作しているかのように制御しつつも、群Ｆａが所定の形状を成すように整列させることができる。
【０１３２】
尚、サブ仮想ターゲットＧｎとネズミオブジェクトＭｎの対応づけは、これに限定されるものではなく適宜設定して構わない。
【０１３３】
また、サブ仮想ターゲットＧｎの配置を視点からの距離に応じて可変する構成としても良い。より具体的には、例えばゲーム演算部２２が、ステップＳ５０４において仮想ターゲットＴａから仮想視点までの距離を求め、仮想ターゲットＴａが所定距離以上に遠方に位置する場合に、サブ仮想ターゲットＧｎ相互の配置間隔を初期状態から所定の倍率だけ拡大する。また、仮想ターゲットＴａから仮想視点までの距離が所定距離に満たない場合には、初期状態のままとする。これによって、画面表示上、ネズミオブジェクトＭの表示サイズが小さくなり、整列しているか否かが判別しにくくなる場合に、意図的に間隔を広げて整列している状態を明確に示すことができる。
【０１３４】
また、仮想ターゲットＴａから仮想視点までの距離に基づいて、サブ仮想ターゲットＧｎとネズミオブジェクトＭｎとの対応を１対１から１対多に可変するとしても良い。より具体的には、例えば群移動処理のステップＳ５０４において求めた距離が所定値を超える場合、ゲーム演算部２２が間欠的にネズミオブジェクトＭｎのベクトルＶｔ及びＶｔ’を求めるステップＳ５０８、Ｓ２０６、Ｓ５１０を省略し、隣接する他のネズミオブジェクトＭｍのベクトルＶｔ’をコピーする。
【０１３５】
以上、本発明を適用した第１〜第３の実施の形態について説明したが、本発明の適用がこれらに限定されるものでなく、本発明の趣旨を逸脱しない限りにおいて構成する要素を適宜追加・変更して構わない。
【０１３６】
例えば、ベクトルＶｅ’及びＶｆ’の算出において、ネコオブジェクトＣｌ又は近接する仲間のネズミオブジェクトＭｍを避ける場合、ベクトルＶｅ及びＶｆを判定するものとしたが、これに限らず例えばベクトルＶｅとＶｅ’、ベクトルＶｆとＶｆ’の偏角が、ネコオブジェクトＣｌ又は近接する仲間のネズミオブジェクトＭｍまでの距離に反比例するように決定する構成としても良い。この場合、回避する対象が遠方に有る場合には、まだ距離が離れているので予防措置的に向きを変える程度とし、対象が近接するに従って回避する程度を高めてより対象の反対方向に向かって避けるように移動制御できる。
【０１３７】
例えば、ネズミオブジェクトＭが移動中にジャンプする場合には、ベクトルＶａを合成する際に、放物運動するためのベクトルをベクトルＶａに適宜追加することによってジャンプしながら移動する様子を表現できる。同様に、ネズミオブジェクトＭの制御に生物特有の揺らぎを与える場合、ベクトルＶｔ’、Ｖｅ’、Ｖｆ’を算出する際、それぞれにランダムな係数を掛けてバラツキを与えるとしても良い。
【０１３８】
また、距離レンジは段階的に設定されるのに限らない。例えばベクトルＶｔ’、Ｖｅ’、Ｖｆ’を算出する際に掛ける係数を、所定の関数から求めることによって、連続的に設定する構成としても良いのは勿論である。
【０１３９】
また、ネズミオブジェクトＭのように、基本的に地表面を移動する設定である場合には、前述の各ベクトルを地表面に沿った平面の２次元成分のみを扱い、高さは地表のモデリングデータから得る構成としても良い。例えば、ＸＹＺの３次元座標系において地表がＸＺ平面に概ね沿って形成されている場合、前述の各ベクトルをＸＺ成分のみで演算する。そして、ネズミオブジェクトＭのＸＺ平面での移動位置が決定したならば、当該位置座標に該当する地表の高さを参照して、移動位置の高さ成分とする。より具体的には、ネズミオブジェクトＭの移動位置が地表ポリゴンの平面上の一点であると考え、地表を構成するポリゴンの法線ベクトルＶｎを算出し、ベクトルＶｎと移動位置のＸＺ座標値からＹ座標値を求めるとしても良い。
【０１４０】
【発明の効果】
本発明によれば、群を構成する個体の行動に影響を与える力の成分をベクトルとして捉え、ベクトルを移動位置演算のベースとすることによって、ベクトル演算によって複数の力が相互に作用する状態から所望する値を速やかに演算することができる。また、各ベクトルの影響の程度を係数やベクトルの合成比率によって反映させることによって個体毎の個性を反映することができる。従って、個体及び群に動作の個性をもたせつつ、より高速に群制御することができる。
【図面の簡単な説明】
【図１】本発明を適用した業務用ゲーム装置の外観の一例を示す図。
【図２】ゲーム内容の概念を説明するための図。
【図３】第１の実施の形態におけるネズミオブジェクトＭの移動制御の原理を説明するための図。
【図４】第１の実施の形態におけるネズミオブジェクトＭのベクトルＶｔ’の算出方法について原理を説明するための図。
【図５】第１の実施の形態におけるネズミオブジェクトＭのベクトルＶｔ’の算出方法について原理を説明するための図。
【図６】第１の実施の形態におけるネズミオブジェクトＭのベクトルＶｅ’の算出方法について原理を説明するための図。
【図７】第１の実施の形態におけるネズミオブジェクトＭのベクトルＶｆ’の算出方法について原理を説明するための図。
【図８】第１の実施の形態におけるネズミオブジェクトＭのベクトルＶｆ’の算出方法について原理を説明するための図。
【図９】環境から作用する外力ベクトルＶｗの概念を説明するための図。
【図１０】第１の実施の形態における機能構成の一例を示す機能ブロック図。
【図１１】群登録情報のデータ構成の一例を示す図。
【図１２】性格設定情報のデータ構成の一例を示す図。
【図１３】外力設定情報のデータ構成の一例を示す図。
【図１４】第１の実施の形態におけるメインフローの流れを説明するためのフローチャート。
【図１５】第１の実施の形態における群移動処理の流れを説明するためのフローチャート。
【図１６】ゲーム画面の一例を示す図。
【図１７】ゲーム画面の一例を示す図。
【図１８】ゲーム画面の一例を示す図。
【図１９】ハードウェア構成の一例を示す図。
【図２０】第２の実施の形態におけるキャラクタの属性に応じて設定されるベクトルＶｓに関する概念を説明する図。
【図２１】第２の実施の形態における機能構成の一例を説明するための機能ブロック図。
【図２２】第２の実施の形態における群登録情報のデータ構成の一例を示す図。
【図２３】属性別アイテム設定情報のデータ構成の一例を示す図。
【図２４】第２の実施の形態における群移動処理の流れを説明するためのフローチャート。
【図２５】第３の実施の形態におけるオブジェクトの整列の原理を説明する図。
【図２６】第３の実施の形態における機能構成の一例を示す機能ブロック図。
【図２７】サブ仮想ターゲット設定情報のデータ構成の一例を示す図。
【図２８】第３の実施の形態における群移動処理の流れを説明するためのフローチャート。
【符号の説明】
１０  操作入力部
２０  処理部
２２  ゲーム演算部
２２０  群設定部
２２１  ベクトル演算部
２２２  仮想ターゲット移動制御部
２２３  成分ベクトル算出部
２２４  合成ベクトル算出部
２２５  合成ベクトル変更部
７０  記憶部
７２  ゲーム情報
７２０  群設定プログラム
７２１  ベクトル演算プログラム
７２２  仮想ターゲット移動制御プログラム
７３３  群登録情報
７３４  算出方法設定情報
７３５  性格設定情報
７４０  外力設定情報
７４２  属性別アイテム設定情報
７４４  サブ仮想ターゲット設定情報
１３００  業務用ゲーム装置
１３２０  制御ユニット
１３２４  ベクトル演算ユニット
Ｃ  ネコオブジェクト
Ｆ  群
Ｇ  サブ仮想ターゲット
Ｈ１  宝物アイテム
Ｈ２  食料アイテム
ｋ  係数
Ｍ  ネズミオブジェクト
Ｔ  仮想ターゲット
Ｖ  ベクトル
【図１】
2004174077.tif 000003
【図２】
2004174077.tif 000004
【図３】
2004174077.tif 000005
【図４】
2004174077.tif 000006
【図５】
2004174077.tif 000007
【図６】
2004174077.tif 000008
【図７】
2004174077.tif 000009
【図８】
2004174077.tif 000010
【図９】
2004174077.tif 000011
【図１０】
2004174077.tif 000012
【図１１】
2004174077.tif 000013
【図１２】
2004174077.tif 000014
【図１３】
2004174077.tif 000015
【図１４】
2004174077.tif 000016
【図１５】
2004174077.tif 000017
【図１６】
2004174077.tif 000018
【図１７】
2004174077.tif 000019
【図１８】
2004174077.tif 000020
【図１９】
2004174077.tif 000021
【図２０】
2004174077.tif 000022
【図２１】
2004174077.tif 000023
【図２２】
2004174077.tif 000024
【図２３】
2004174077.tif 000025
【図２４】
2004174077.tif 000026
【図２５】
2004174077.tif 000027
【図２６】
2004174077.tif 000028
【図２７】
2004174077.tif 000029
【図２８】
2004174077.tif 000030