(57)【要約】【課題】移動体のランダム性のある移動制御を実現すること。また、プレーヤが画面上からは予測できないような移動体の制御を実現すること。【解決手段】ゲームフィールドＦＬに、移動体ＯＢに作用する力場の発生基点である複数の力場基点ＦＰを配置する。移動体ＯＢは、力場基点ＦＰにより、該力場基点ＦＰに反発する方向或いは引き寄せられる方向の外力Ｆが与えられることで、その動き（移動及び自転）が制御される。【選択図】    図４
2007267857.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、移動体が移動する仮想空間の画像を生成させてゲームの進行を制御させるためのプログラムであって、
少なくとも距離に応じて力の大きさが変わる力場の発生基点である力場基点を前記仮想空間に設定する力場基点設定手段、
前記設定された力場基点と前記移動体との距離に基づいて、当該力場基点の力場が当該移動体に加える外力を演算する外力演算手段、
前記外力演算手段により演算された外力に基づいて前記移動体の移動を制御する移動体制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記外力演算手段が、前記設定された力場基点と前記移動体との距離が短いほど、当該移動体に加える外力を大きくする演算を行うように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記力場基点設定手段により設定された力場基点に、所定の物理量を設定する力場物理量設定手段、
前記移動体に、所定の物理量を設定する移動体物理量設定手段、
として前記コンピュータを機能させ、
前記外力演算手段が、１）前記設定された力場基点と前記移動体との距離、２）前記力場物理量設定手段により設定された当該力場基点の物理量、及び、３）前記移動体物理量設定手段により設定された当該移動体の物理量、に基づいて、当該力場基点の力場が当該移動体に加える外力を演算するように前記コンピュータを機能させる、
ための請求項１又は２に記載のプログラム。
【請求項４】
前記外力演算手段により演算された外力に基づいて前記移動体の自転を制御する移動体自転制御手段として前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記力場基点設定手段により設定された力場基点を移動させる力場基点移動手段として前記コンピュータを更に機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記力場基点移動手段が、予め定められた経路に沿って前記力場基点を移動させるように前記コンピュータを機能させるための請求項５に記載のプログラム。
【請求項７】
前記力場基点設定手段が、前記仮想空間の所定領域の周囲に前記力場基点を複数設定する領域周囲設定手段を有するように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記力場基点設定手段により設定される力場基点の力場の方向を、当該力場基点に向かう方向又は当該力場基点から離れる方向に設定する力場方向設定手段として前記コンピュータを機能させ、
前記移動体制御手段が、前記外力演算手段により演算された外力が、前記力場方向設定手段により設定された方向に加わるとして前記移動体の移動を制御するように前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
前記力場基点設定手段により設定された力場基点の可視／不可視を切り替える力場基点表示切替手段、
前記力場基点表示切替手段により前記力場基点を可視する切り替えが為された場合に、当該力場基点の前記仮想空間中の位置を前記画像中に識別表示させる力場基点位置表示制御手段、
として前記コンピュータを機能させるための請求項１〜８の何れか一項に記載のプログラム。
【請求項１０】
力場基点の配置位置が異なる複数の力場基点配置パターンの中から１つを選択する力場基点配置パターン選択手段として前記コンピュータを機能させ、
前記力場基点設定手段が、前記力場基点配置パターン選択手段により選択された力場基点配置パターンに従った配置位置に力場基点を設定するように前記コンピュータを機能させるための請求項１〜９の何れか一項に記載のプログラム。
【請求項１１】
前記移動体制御手段による制御を一時的に抑止して、所定の経路に沿って前記移動体を移動させる所定移動一時制御手段として前記コンピュータを機能させるための請求項１〜１０の何れか一項に記載のプログラム。
【請求項１２】
移動体の移動制御の内容が異なる予め定められた複数の移動制御パターンの中から１つを選択する移動制御パターン選択手段として前記コンピュータを機能させ、
前記所定移動一時制御手段が、前記移動制御パターン選択手段により選択された移動制御パターンに従って移動体を移動させるように前記コンピュータを機能させるための請求項１１に記載のプログラム。
【請求項１３】
前記ゲーム空間に目標体を配置する目標体配置手段、
プレーヤの操作入力に従って飛行物を発射する飛行物発射手段、
前記発射された飛行物と前記移動体制御手段により制御された移動体との接触を検知する移動体接触検知手段、
前記移動体接触検知手段の検知に応じて、前記飛行物に予め定められていた威力を変更する威力変更手段、
前記発射された飛行物と前記目標体配置手段により配置された目標体とが接触した際に、当該飛行物に定められている現在の威力に基づき、当該目標体に与えるダメージを演算するダメージ演算手段、
前記ダメージ演算手段により演算されたダメージに基づいて、所定のゲーム演出処理を実行する演出処理手段、
として前記コンピュータを機能させるための請求項１〜１２の何れか一項に記載のプログラム。
【請求項１４】
請求項１〜１３の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
【請求項１５】
移動体が移動する仮想空間の画像を生成してゲームの進行を制御するゲーム装置であって、
少なくとも距離に応じて力の大きさが変わる力場の発生基点である力場基点を前記仮想空間に設定する力場基点設定手段と、
前記設定された力場基点と前記移動体との距離に基づいて、当該力場基点の力場が当該移動体に加える外力を演算する外力演算手段と、
前記外力演算手段により演算された外力に基づいて前記移動体の移動を制御する移動体制御手段と、
を備えるゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、移動体の移動を制御してゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
複数の個体から構成される群れの各個体の移動制御に関する発明が知られている（特許文献１参照）。この発明は、個体と目標点間の距離に基づく第１のベクトル、個体と敵間の距離に基づく第２のベクトル、個体と他の個体間の距離に基づく第３のベクトルを設定し、第１〜第３のベクトルを所定の比率で合成することによって算出した合成ベクトルによって、個体の移動を制御するものである。
【特許文献１】特開２００４−１７４０７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載の発明は、第１〜第３のベクトルの設定に当たっては、個体と、目標点・敵・他の個体等の影響対象との間の距離をパラメータとして用いており、影響対象自体に影響力を付与し、その影響力に応じてベクトルを設定するといった、影響対象自体の設定については考慮されていない。従って、単純に個体と影響対象との間の距離でベクトルが決まってしまうため、個体の移動が単調になるという問題がある。
【０００４】
また、特許文献１に記載の影響対象は、いずれも表示される可視オブジェクトであるため、プレーヤは影響対象の存在を視認でき、個体がプレーヤにとって予想外の移動をするということは無い。
【０００５】
本発明は、上記の課題を解決するため、移動体のランダム性のある移動制御を実現することを目的とする。また、プレーヤが画面上からは予測できないような移動体の制御を実現することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、
コンピュータに、移動体が移動する仮想空間の画像を生成させてゲームの進行を制御させるためのプログラム（例えば、図７のゲームプログラム４１０）であって、
少なくとも距離に応じて力の大きさが変わる力場の発生基点である力場基点を前記仮想空間に設定する力場基点設定手段（例えば、図７の力場基点制御部２１１；図１４のステップＡ１，図１６のステップＣ３）、
前記設定された力場基点と前記移動体との距離に基づいて、当該力場基点の力場が当該移動体に加える外力を演算する外力演算手段（例えば、図７の移動体制御部２１２；図１７のステップＤ１１）、
前記外力演算手段により演算された外力に基づいて前記移動体の移動を制御する移動体制御手段（例えば、図７の移動体制御部２１２；図１７のステップＤ１５）、
として前記コンピュータを機能させるためのプログラムである。
【０００７】
また、他の発明として、
移動体が移動する仮想空間の画像を生成してゲームの進行を制御するゲーム装置（例えば、図１，７の家庭用ゲーム装置１２００）であって、
少なくとも距離に応じて力の大きさが変わる力場の発生基点である力場基点を前記仮想空間に設定する力場基点設定手段（例えば、図７の力場基点制御部２１１）と、
前記設定された力場基点と前記移動体との距離に基づいて、当該力場基点の力場が当該移動体に加える外力を演算する外力演算手段（例えば、図７の移動体制御部２１２）と、
前記外力演算手段により演算された外力に基づいて前記移動体の移動を制御する移動体制御手段（例えば、図７の移動体制御部２１２）と、
を備えるゲーム装置が考えられる。
【０００８】
この第１の発明等によれば、力場基点と移動体との距離に基づく外力が移動体に加わって、移動体の移動が制御されることとなるため、不用意に力場基点に近づくと移動体の移動方向が急激に変化するといった移動体のランダムな移動制御を実現することが可能となる。
【０００９】
また、第２の発明として、第１の発明において、
前記外力演算手段が、前記設定された力場基点と前記移動体との距離が短いほど、当該移動体に加える外力を大きくする演算を行う（例えば、図５（ａ）の外力Ｆの算出式）ように前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００１０】
この第２の発明によれば、力場基点と移動体の距離が短いほど、大きな外力が移動体に加わることとなる。この結果、力場基点に近づくと、移動体が急に方向転換したり、移動体の速度が急に変化するといったランダムな動きが実現されることとなる。なお、力場の方向を力場基点から離れる方向とし、力場基点と移動体との間の距離が極めて短い場合の外力を十分大きな値に設定すれば、力場基点と移動体とが反発し、移動体を力場基点に近づけないように制御することができる。
【００１１】
また、第３の発明として、第１又は第２の発明において、
前記力場基点設定手段により設定された力場基点に、所定の物理量を設定する力場物理量設定手段（例えば、図１１の力場基点データ４２４）、
前記移動体に、所定の物理量を設定する移動体物理量設定手段（例えば、図１２の移動体データ４２５）、
として前記コンピュータを機能させ、
前記外力演算手段が、１）前記設定された力場基点と前記移動体との距離、２）前記力場物理量設定手段により設定された当該力場基点の物理量、及び、３）前記移動体物理量設定手段により設定された当該移動体の物理量、に基づいて、当該力場基点の力場が当該移動体に加える外力を演算する（例えば、図５（ａ）の外力Ｆの算出式）ように前記コンピュータを機能させる、
ためのプログラムを構成することとしてもよい。
【００１２】
この第３の発明によれば、力場基点と移動体との間の距離だけでなく、力場基点と移動体の双方に設定された物理量に基づいて移動体に加える外力が演算される。従って、力場基点や移動体に様々な物理量を設定することによって、単に力場基点と移動体との間の距離のみに基づいて外力を演算するよりも、複雑でランダム性のある移動体の移動制御を実現できる。また、力場基点や移動体に設定されている物理量を変化させることによって、力場基点の位置を変えずに、移動体の移動制御を動的に変化させることができる。力場基点や移動体が複数ある場合は、力場基点毎、移動体毎に物理量を設定でき、複雑且つ多様なランダム性を実現することができる。
【００１３】
また、第４の発明として、第１〜第３の何れかの発明において、
前記外力演算手段により演算された外力に基づいて前記移動体の自転を制御する移動体自転制御手段（例えば、図７の移動体制御部２１２；図１７のステップＤ１９）として前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００１４】
この第４の発明によれば、移動体の移動制御に加えて、移動体の自転も制御することができる。
【００１５】
また、第５の発明として、第１〜第４の何れかの発明において、
前記力場基点設定手段により設定された力場基点を移動させる力場基点移動手段（例えば、図７の力場基点制御部２１１；図１６のステップＣ３）として前記コンピュータを更に機能させるためのプログラムを構成することとしてもよい。
【００１６】
この第５の発明によれば、力場基点の移動に伴って力場基点と移動体との間の距離が変化するので、移動体に加わる外力が変化し、ランダム性のある移動体の移動を多様化させることができる。
【００１７】
なお、第６の発明として、第５の発明において、
前記力場基点移動手段が、予め定められた経路に沿って前記力場基点を移動させる（例えば、図４の円軌道ＲＴに沿った力場基点ＦＰ２の移動）ように前記コンピュータを機能させるためのプログラムを実現することとしてもよい。
【００１８】
また、第７の発明として、第１〜第６の何れかの発明において、
前記力場基点設定手段が、前記仮想空間の所定領域の周囲に前記力場基点を複数設定する領域周囲設定手段（例えば、図７の力場基点制御部２１１）を有するように前記コンピュータを機能させるためのプログラムを構成してもよい。
【００１９】
この第７の発明によれば、所定領域の周囲に力場基点が複数設定されるため、所定領域を、力場基点による力場を特に作用させたい領域とすることができる。具体的には、例えば、力場基点から離れる方向に力場の方向を設定し、力場に近づくほど外力を大きくするとした場合には、所定領域内に存在する移動体は、所定領域の外へ移動し難くなる。
【００２０】
また、第８の発明として、第１〜第７の何れかの発明において、
前記力場基点設定手段により設定される力場基点の力場の方向を、当該力場基点に向かう方向又は当該力場基点から離れる方向に設定する力場方向設定手段（例えば、図７の力場基点制御部２１１）として前記コンピュータを機能させ、
前記移動体制御手段が、前記外力演算手段により演算された外力が、前記力場方向設定手段により設定された方向に加わるとして前記移動体の移動を制御するように前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００２１】
この第８の発明によれば、力場の方向を設定できるので、移動体の移動にどのような影響を与える力場とするのか、目的に応じた力場を実現することができる。
【００２２】
また、第９の発明として、第１〜第８の何れかの発明において、
前記力場基点設定手段により設定された力場基点の可視／不可視を切り替える力場基点表示切替手段（例えば、図１１の力場基点データ４２４における可視フラグ４２４ｅ）、
前記力場基点表示切替手段により前記力場基点を可視する切り替えが為された場合に、当該力場基点の前記仮想空間中の位置を前記画像中に識別表示させる力場基点位置表示制御手段（例えば、図７の画像生成部２３０）、
として前記コンピュータを機能させるためのプログラムを構成してもよい。
【００２３】
この第９の発明によれば、力場基点を可視化したり、不可視化したりすることができる。このため、例えば、不可視の力場基点によるプレーヤに予測できない移動体の移動制御を実現しつつ、プレーヤにとって視認が必要な場合には可視化して、移動体の移動制御をある程度予測可能とさせるといったことができる。
【００２４】
また、第１０の発明として、第１〜第９の発明において、
力場基点の配置位置が異なる複数の力場基点配置パターンの中から１つを選択する力場基点配置パターン選択手段として前記コンピュータを機能させ、
前記力場基点設定手段が、前記力場基点配置パターン選択手段により選択された力場基点配置パターンに従った配置位置に力場基点を設定するように前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００２５】
この第１０の発明によれば、予め目的に応じた複数の力場基点配置パターンを用意しておき、例えば、ゲーム進行状況等に応じて、ゲーム中に配置パターンを変更するといったことが可能となる。
【００２６】
また、第１１の発明として、第１〜第１０の発明において、
前記移動体制御手段による制御を一時的に抑止して、所定の経路に沿って前記移動体を移動させる所定移動一時制御手段（例えば、図７の移動体制御部２１２；図１７のステップＤ５）として前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００２７】
第１１の発明によれば、移動体制御手段による移動制御を一時的に解除することができる。また、その解除時には、移動体は所定の経路に沿って移動するという、ランダム性のない移動となる。このため、例えば、プレーヤによる所定の操作入力があった場合に、ランダムな移動を一時的に解除したり、ゲームの進行状況に応じて、一時的に、所定の経路に沿った移動をさせるといったことが可能となる。
【００２８】
なお、第１２の発明として、第１１の発明において、
移動体の移動制御の内容が異なる予め定められた複数の移動制御パターンの中から１つを選択する移動制御パターン選択手段（例えば、図７の移動体制御部２１２；図１７のステップＤ２３）として前記コンピュータを機能させ、
前記所定移動一時制御手段が、前記移動制御パターン選択手段により選択された移動制御パターンに従って移動体を移動させるように前記コンピュータを機能させるためのプログラムを実現するようにしてもよい。
【００２９】
また、第１３の発明として、第１〜第１２の何れかの発明において、
前記ゲーム空間に目標体（例えば、図１の自機ＰＣ或いは敵機ＥＣ）を配置する目標体配置手段（例えば、図７のゲーム演算部２１０；図１４のステップＡ１，Ａ５）、
プレーヤの操作入力に従って飛行物（例えば、図１のミサイルＭＯ）を発射する飛行物発射手段（例えば、図７のミサイル制御部２１３；図１５のステップＢ３）、
前記発射された飛行物と前記移動体制御手段により制御された移動体との接触を検知する移動体接触検知手段（例えば、図７のミサイル制御部２１３；図１５のステップＢ７）、
前記移動体接触検知手段の検知に応じて、前記飛行物に予め定められていた威力を変更する威力変更手段（例えば、図７のミサイル制御部２１３；図１５のステップＢ９）、
前記発射された飛行物と前記目標体配置手段により配置された目標体とが接触した際に、当該飛行物に定められている現在の威力に基づき、当該目標体に与えるダメージを演算するダメージ演算手段（例えば、図７のミサイル制御部２１３；図１５のステップＤ１３）、
前記ダメージ演算手段により演算されたダメージに基づいて、所定のゲーム演出処理を実行する演出処理手段（例えば、図７のミサイル制御部２１３；図１５のステップＤ１５）、
として前記コンピュータを機能させるためのプログラムを構成してもよい。
【００３０】
この第１３の発明によれば、移動体に飛行物を接触させてから目標体に接触させることによって、飛行物の威力が変化するという新規なシューティングゲームを実現できる。移動体はランダム性を持った移動をしているため、ゲームの難易度や趣向性を高めることができる。
【００３１】
また、第１４の発明として、第１〜第１３の何れかの発明のプログラムを記憶したコンピュータ読取可能な情報記憶媒体（例えば、図７の記憶部４００）を構成することとしてもよい。
【発明の効果】
【００３２】
本発明によれば、力場基点と移動体との距離に基づく外力が移動体に加わって、移動体の移動が制御されることとなるため、不用意に力場基点に近づくと移動体の移動方向が急激に変化するといった移動体のランダムな移動制御を実現することが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照して、本発明に好適な実施形態を説明する。尚、以下では、家庭用ゲーム装置でシューティングゲームを実行する場合について説明するが、本発明が適用可能な実施形態がこれに限定されるものではない。
【００３４】
［家庭用ゲーム装置］
図１は、本実施形態における家庭用ゲーム装置１２００の概略外観図である。同図に示すように、家庭用ゲーム装置１２００は、本体装置１２１０と、プレーヤがゲーム操作を入力するための方向キー１２２１やボタンスイッチ１２２２を有するゲームコントローラ１２２０と、スピーカ１２３１を有するディスプレイ１２３０とを備える。ゲームコントローラ１２２０は本体装置１２１０に接続され、ディスプレイ１２３０は、画像信号及び音信号を伝送可能なケーブル１２０１によって本体装置１２１０に接続されている。
【００３５】
本体装置１２１０がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置１２１０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２１２やメモリカード１２１３、ＩＣカード１２１４等に格納されている。尚、このゲーム情報等は、本体装置１２１０が具備する通信装置１２１５を介して通信回線Ｎに接続し、外部装置から取得することとしても良い。ここで、通信回線Ｎとは、データ授受が可能な通信路を意味する。即ち、通信回線Ｎとは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方式については有線／無線を問わない。
【００３６】
また、本体装置１２１０は、例えばＣＰＵ、ＲＯＭやＲＡＭ等のメモリを搭載した制御ユニット１２１１と、ＣＤ−ＲＯＭ１２１２等の情報記憶媒体の読取装置とを具備する。本体装置１２１０は、ＣＤ−ＲＯＭ１２１２等から読み出したゲーム情報と、ゲームコントローラ１２２０からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号及び音信号をディスプレイ１２３０に出力して、ディスプレイ１２３０にゲーム画面を表示させるとともに、スピーカ１２３１からゲーム音を出力させる。プレーヤは、ディスプレイ１２３０に表示されたゲーム画面を見、スピーカ１２３１から出力されるゲーム音を聞きながら、ゲームコントローラ１２２０を操作してシューティングゲームを楽しむ。
【００３７】
［ゲーム画面］
本実施形態の家庭用ゲーム装置１２００では、２Ｄのシューティングゲームが実行される。図２は、ディスプレイ１２３０に表示されるゲーム画面の一例を示す図である。同図によれば、ゲーム画面には、仮想二次元空間であるゲームフィールドＦＬに配置された、プレーヤキャラクタである自機ＰＣと、敵キャラクタである敵機ＥＣと、自機ＰＣ或いは敵機ＥＣから発射されたミサイルＭＯと、移動体ＯＢとが表示される。また、画面上部には、自機ＰＣの耐久値を示す耐久値ゲージＧＡ１と、敵機ＥＣの耐久値を示す耐久値ゲージＧＡ２とが表示される。
【００３８】
自機ＰＣは、プレーヤの操作入力に従って、ゲームフィールドＦＬ中を移動するとともにミサイルＭＯを発射するように制御される。敵機ＥＣは、予め定められた所定の制御ルーチンに従って、ゲームフィールドＦＬ中を移動するともに自機ＰＣに向かってミサイルＭＯを発射するよう、コンピュータにより自動制御される。尚、敵機ＥＣはコンピュータ制御されることにするが、他のプレーヤ（対戦相手のプレーヤ）の操作入力に従って制御されることにしても良い。そして、ミサイルＭＯは、自機ＰＣ或いは敵機ＥＣの向きの方向に発射され、発射方向に向かって直進する。
【００３９】
耐久値ゲージＧＡは、画面右方向に伸びるバーの長さによって現在の耐久値を示す。耐久値は、ミサイルＭＯが命中するとこのミサイルＭＯに設定されている威力に応じた値だけ減少され、耐久値がゼロになると該当する機体が撃破（破壊）される。
【００４０】
移動体ＯＢは、ゲームフィールドＦＬ中を移動するとともにその中心を回転中心として自転するよう、コンピュータに制御される。また、移動体ＯＢには「向き」が設定されており、この向きは、該移動体ＯＢの周囲に近接して配置された塗り潰しの三角形状の向き表示体ＤＯにより示される。また、移動体ＯＢの向きは、該移動体ＯＢが自転することにより変化する。
【００４１】
また、ミサイルＭＯが移動体ＯＢに命中（接触）すると、図３に示すように、このミサイルＭＯの移動方向及び威力が変更される。具体的には、ミサイルＭＯの移動方向が命中した移動体ＯＢの向きに一致する方向に変更されるとともに、威力が増加される。同図では、自機ＰＣから図中左方向に向かってミサイルＭＯが発射され、ミサイルＭＯは図中左方向に向かって直進移動する。このミサイルＭＯは、発射された時点では威力が「１０」に設定されている。また、移動体ＯＢが自機ＰＣの左方に配置され、その向きは「上」である。そして、ミサイルＭＯが移動体ＯＢに命中すると、ミサイルＭＯの移動方向が移動体ＯＢの向きに一致する「上」に変更されるとともに、ミサイルＭＯの威力が「２０」に変更される。
【００４２】
尚、移動体ＯＢはミサイルＭＯのみに作用し、自機ＰＣ或いは敵機ＥＣが接触したとしても作用しない。即ち、機体にダメージが与えられることも無いし、その移動方向や移動速度が変化することも無い。
【００４３】
また、ゲームフィールドＦＬには、図４に示すように複数の力場基点ＦＰが配置される。力場基点ＦＰは、移動体ＯＢに作用する力場の発生基点である。この力場基点ＦＰにより発生される力場による外力Ｆが与えられることで、移動体ＯＢが移動及び自転する。尚、力場基点ＦＰにより発生される力場は移動体ＯＢのみに作用し、自機ＰＣや敵機ＥＣ、ミサイルＭＯには作用しない。
【００４４】
力場基点ＦＰには、発生させる力場の方向（力場方向）が設定されている。この力場方向には、移動体ＯＢを引き寄せる向きに力場を発生する「＋」と、移動体ＯＢを遠ざける向きに力場を発生する「−」とがある。即ち、力場基点ＦＰの力場方向が「＋」である場合、移動体ＯＢには、該力場基点ＦＰに引き寄せられる方向に外力Ｆが与えられる。また、力場基点ＦＰの力場方向が「−」である場合、移動体ＯＢには、該力場基点ＦＰと反発し合う方向に外力Ｆが与えられる。また、力場基点ＦＰには、ゲームフィールドＦＬに固定配置されるものと、所定の経路に沿って移動可能に配置されるものとがある。
【００４５】
同図では、長方形状の領域ＡＲの各辺に沿って複数の力場基点ＦＰ１が近接して配置されているともに、この領域ＡＲの略中心位置に１つの力場基点ＦＰ２が配置されている。力場基点ＦＰ１は、力場方向が「−」に設定されているとともに、固定配置されている。また、力場基点ＦＰ２は、力場方向が「＋」に設定されているともに、移動可能に配置されており、詳細には、円軌道ＲＴに沿って時計回り方向に一定速度で移動するように制御される。
【００４６】
従って、領域ＡＲ内に配置された移動体ＯＢには、領域ＡＲを取り囲むように固定配置された力場基点ＦＰ１それぞれから反発する方向に外力Ｆが与えられる。これにより、移動体ＯＢは、領域ＡＲ外に出ることが殆どなく、ほぼ領域ＡＲ内で移動するように制御される。
【００４７】
更に、移動体ＯＢには、領域ＡＲ内に配置された力場基点ＦＰ２から引き寄せられる方向に外力Ｆが与えられる。つまり、移動体ＯＢには、力場基点ＦＰ１それぞれから与えられる外力Ｆと、力場基点ＦＰ２から与えられる外力Ｆとの総和に基づいて、移動及び自転が制御される。このため、予測し難いランダム性を持った移動体ＯＢの動きが実現される。
【００４８】
また、力場基点ＦＰは、ゲーム画面に表示される（可視）ことにしても良いし、不可視としても良い。更には、力場基点ＦＰの可視／不可視を所定のタイミングで切り替えることにしても良い。この切替タイミングには、プレーヤによる切替指示が入力されたときや、ゲームの進行状況が予め定められた特定状況になったとき等がある。或いは、プレーヤのプレイレベルに応じて可視／不可視を切り替えることにしても良い。力場基点ＦＰを不可視とした場合、プレーヤは、移動体ＯＢがどのようなアルゴリズムに従って移動或いは自転しているかを理解し難く、より予測し難いランダム性をもっているかのような印象を与えることが可能となる。
【００４９】
図５（ａ）は、力場基点ＦＰにより移動体ＯＢに与えられる外力Ｆの算出を説明する図である。同図（ａ）では、移動体ＯＢと力場基点ＦＰとが距離Ｌを隔てて配置されている。また、移動体ＯＢの質量が「Ｍｏｂ」であり、力場基点ＦＰの質量が「Ｍｆｐ」であるとともに力場方向は「＋」である。この場合、移動体ＯＢには、力場基点ＦＰに向かう方向（図中左方向）に外力Ｆが与えられ、この外力Ｆは次式（１）で与えられる。
Ｆ＝Ｋ×Ｍｆｐ×Ｍｏｂ／Ｌ２    ・・（１）
上式（１）において、「Ｋ」は正値の定数である。即ち、上式（１）によれば、移動体ＯＢに与えられる外力Ｆは、移動体ＯＢ及び力場基点ＦＰの質量が一定の場合、移動体ＯＢとの距離Ｌによって決まり、距離Ｌが短いほど外力Ｆは大きくなる。
【００５０】
ところで、ゲームフィールドには複数の力場基点ＦＰが配置され、これらの力場基点ＦＰそれぞれによる外力が移動体ＯＢに与えられる。つまり、同図（ｂ）に示すように、移動体ＯＢには、力場基点ＦＰ１，ＦＰ２，・・それぞれから外力Ｆ１，Ｆ２，・・・が与えられる。このため、これらの外力Ｆ１，Ｆ２，・・・の総和Ｆｗに基づいて、移動体ＯＢの移動及び自転が制御される。
【００５１】
即ち、先ず、移動体ＯＢの加速度ａが次式（２）に従って算出される。
ａ＝Ｆｗ／Ｍｏｂ    ・・（２）
次いで、移動体ＯＢの移動速度Ｖが次式（３）に従って算出される。
Ｖ＝Ｖ０＋ａ    ・・（３）
上式（３）において、「Ｖ０」は移動体ＯＢの直前の移動速度（例えば、フレーム時間間隔で制御する場合には１フレーム前での移動速度）である。
【００５２】
また、移動体ＯＢの角加速度ｄが次式（４）に従って算出される。
ｄ＝Ｆｗ／Ｍｏｂ    ・・（４）
次いで、移動体ＯＢの角速度ωが次式（５）に従って算出される。
ω＝ω０＋ｄ    ・・（５）
上式（５）において、「ω０」は移動体ＯＢの直前の角速度（例えば、フレーム時間間隔で制御する場合には１フレーム前での角速度）である。
【００５３】
そして、算出された移動速度Ｖで移動するとともに、算出された角速度ωで自転するよう、移動体ＯＢが制御される。
【００５４】
このように、各移動体ＯＢは力場基点ＦＰを基に独立して制御される。しかし、ゲーム進行中、予め定められた所定のタイミングで、予め定められた所定の配置パターンに従う移動体ＯＢの制御が開始される。このタイミングには、プレーヤの操作入力や、ゲームの進行状況が特定状況になった場合等がある。また、配置パターンは、移動体ＯＢの移動を制御するための一種の移動制御パターンであり、配置パターンに基づく制御は予め定められた所定時間の間行われ、その間は移動体ＯＢは力場基点ＦＰによる作用を受けない。そして、所定時間が経過して配置パターンに基づく制御が終了すると、再度、力場基点ＦＰに基づく移動体ＯＢの制御が開始される。
【００５５】
図６は、移動体ＯＢの配置パターンの一例を示す図である。同図（ａ）に示す配置パターンでは、４つの移動体ＯＢそれぞれが、自機ＰＣの位置を中心とする正方形の各頂点に位置し、各移動体ＯＢの向きが位置されている頂点に隣り合う辺に沿った方向に一致するように配置される。そして、４つの移動体ＯＢが、相対的な位置関係を維持したまま、正方形の中心を回転中心として自機ＰＣの周囲を巡回するように移動する。この場合、ミサイルＭＯが移動体ＯＢに命中すると、ミサイルＭＯは、正方形の各辺に沿って自機ＰＣの周囲を巡回するように移動するとともに、移動体ＯＢに命中する毎にその威力が増加される。
【００５６】
また、同図（ｂ）に示す配置パターンでは、４つの移動体ＯＢは、等角度を成す３つの向きが設定された１つの移動体ＯＢ１が自機ＰＣの前方（向きの方向）に位置し、この移動体ＯＢ１の３つの向きそれぞれの延長線上に他の３つの移動体ＯＢ２〜ＯＢ４それぞれが位置するように配置される。移動体ＯＢ２〜ＯＢ４の向きは、何れも自機ＰＣの向きに一致している。この場合、自機ＰＣから発射されたミサイルＭＯが移動体ＯＢ１に命中すると、ミサイルＭＯは、３つのミサイルＭＯ１〜３に分裂し、それぞれが移動体ＯＢ２〜ＯＢ４に命中した後は、同一方向に向かって移動する。
【００５７】
［機能構成］
図７は、本実施形態における家庭用ゲーム装置１２００の機能構成を示すブロック図である。同図に示すように、家庭用ゲーム装置１２００は、機能的には、操作入力部１００と、処理部２００と、画像表示部３３０と、音出力部３４０と、記憶部４００とを備えて構成される。
【００５８】
操作入力部１００は、プレーヤによる操作指示入力を受け付け、操作に応じた操作信号を処理部２００に出力する。この機能は、例えばボタンスイッチやレバー、ダイヤル、マウス、キーボード、各種センサ等によって実現される。図１では、ゲームコントローラ１２２０がこれに該当する。
【００５９】
処理部２００は、家庭用ゲーム装置１２００の全体制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、制御ユニット１２１１に実装されているＣＰＵ等がこれに該当する。
【００６０】
また、処理部２００は、主にゲームの実行に係る演算処理を行うゲーム演算部２１０と、ゲーム演算部２１０の処理によって求められた各種のデータに基づいてゲーム画像を生成する画像生成部２３０と、効果音やＢＧＭ等のゲーム音を生成する音生成部２４０とを含んでいる。
【００６１】
ゲーム演算部２１０は、操作入力部１００から入力された操作信号や、記憶部４００から読み出したプログラムやデータ等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えば、ゲームフィールドＦＬに自機ＰＣや敵機ＥＣ、移動体ＯＢ等の各種のオブジェクトを配置してゲーム空間を設定する処理、操作入力部１００からの操作信号に基づく自機ＰＣの制御、所定の制御ルーチンに従う敵機ＥＣの制御、オブジェクトの交差判定（ヒットチェック）、視点（仮想カメラ）の制御等がある。また、ゲーム演算部２１０は、力場基点制御部２１１と、移動体制御部２１２と、ミサイル制御部２１３とを含み、シューティングゲームの実行を制御する。
【００６２】
力場基点制御部２１１は、力場基点ＦＰを制御する。具体的には、力場基点データ４２４を参照して、ゲームフィールドＦＬに配置されている力場基点ＦＰのうち、移動可能に配置されている力場基点ＦＰそれぞれについて、予め設定されている所定の移動経路に沿って移動させる。
【００６３】
力場基点データ４２４は、ゲームフィールドＦＬに配置されている力場基点ＦＰに関するデータである。図１１に、力場基点データ４２４のデータ構成の一例を示す。同図によれば、力場基点データ４２４は、力場基点４２４ａ毎に、現在の位置４２４ｂと、質量４２４ｃと、力場方向４２４ｄと、可視フラグ４２４ｅと、移動フラグ４２４ｆと、移動パターン４２４ｇとを対応付けて格納している。
【００６４】
可視フラグ４２４ｅは、対応する力場基点４２４ａの可視／不可視を指定するフラグであり、可視とする場合に「１」が設定される。移動フラグ４２４ｆは、対応する力場基点４２４ａが移動可能に配置されるか固定配置されるかを示すフラグであり、移動可能に配置される場合に「１」が設定される。移動パターン４２４ｇは、対応する力場基点４２４ａに適用する移動パターンを示すデータであり、具体的には、移動経路や移動速度等のデータを格納している。移動フラグ４２４ａが「１」に設定されている場合、この移動パターン４２４ｇに従って力場基点４２４ａが移動制御される。
【００６５】
力場基点制御部２１１は、ゲームフィールドＦＬに配置されている全ての力場基点ＦＰのうち、移動フラグが移動可能に配置されることを示す「１」に設定されている力場基点ＦＰそれぞれを、対応付けられている移動パターンに従って移動させる。
【００６６】
移動体制御部２１２は、移動体ＯＢを制御する。具体的には、移動体データ４２５及び力場基点データ４２４を参照して、ゲームフィールドＦＬに配置されている力場基点ＦＰから移動体ＯＢに与えられる外力Ｆを算出し、算出した外力Ｆに基づいて移動体ＯＢの移動及び自転を制御する。
【００６７】
即ち、ゲームフィールドＦＬに配置されている全ての力場基点ＦＰそれぞれから対象とした移動体ＯＢ（対象移動体）に与えられる外力Ｆを式（１）に従って算出し、算出した外力Ｆを合成して総和Ｆｗを算出する。次いで、算出した外力Ｆの総和Ｆｗを基に、式（２），（３）に従って対象移動体の移動速度Ｖを算出するとともに、式（４），（５）に従って対象移動体の角速度ωを算出する。そして、算出した移動速度Ｖで移動させるとともに、算出した角速度ωで自転させるよう、対象移動体を制御する。
【００６８】
移動体データ４２５は、ゲームフィールドＦＬに配置されている移動体ＯＢに関するデータである。図１２に、移動体データ４２５のデータ構成の一例を示す。同図によれば、移動体データ４２５は、移動体４２５ａ毎に、現在の位置４２５ｂと、向き４２５ｃと、質量４２５ｄと、加速度４２５ｅと、移動速度４２５ｆと、角加速度４２５ｇと、角速度４２５ｈと、威力増加量４２５ｉとを対応付けて格納している。威力増加量４２５ｉは、対応する移動体４２５ａにミサイルＭＯが命中した場合の、命中したミサイルＭＯに対する威力の増加量である。
【００６９】
更に、移動体制御部２１２は、予め定められた配置パターンの適用タイミングが到来すると、プレーヤの操作入力に従って或いはランダムに、予め用意されている複数の配置パターンのうちから一の配置パターンを選択する。或いは、予め配置パターンそれぞれをゲーム進行中の状況の種類と対応付けておき、適用タイミングに対応する状況の配置パターンを選択することにしても良い。そして、配置パターンデータ４２６を参照して、選択した配置パターンに従った移動体ＯＢの制御を開始する。
【００７０】
配置パターンデータ４２６は、移動体ＯＢに適用され得る配置パターンに関するデータである。図１３に、配置パターンデータ４２６のデータ構成の一例を示す。同図によれば、配置パターンデータ４２６は、配置パターン毎に用意され、配置パターンの種類を示すパターン番号４２６ａと、位置関係データ４２６ｂと、移動パターン４２６ｃと、適用時間４２６ｄとを格納している。位置関係データ４２６ｂは、移動体ＯＢの相対的な位置や向きを示すデータである。移動パターン４２６ｃは、各移動体ＯＢの移動パターンを示すデータであり、具体的には、移動経路や移動速度、向きの変化等のデータを格納している。適用時間４２６ｄは、該当する配置パターンが適用される時間を格納する。
【００７１】
移動体制御部２１２は、選択した配置パターンに該当する配置パターンデータ４２６を参照して、設定されている位置関係データに従って移動体ＯＢを配置し、設定されている適用時間に達するまでの間、設定されている移動パターンに従って各移動体ＯＢを制御する。
【００７２】
ミサイル制御部２１３は、ミサイルＭＯを制御する。具体的には、ミサイルデータ４２３を参照して、ゲームフィールドＦＬに配置されている各ミサイルＭＯを所定速度で直進移動するように制御する。
【００７３】
ミサイルデータ４２３は、ゲームフィールドＦＬに配置されているミサイルＭＯに関するデータである。図１０に、ミサイルデータ４２３のデータ構成の一例を示す。同図によれば、ミサイルデータ４２３は、ミサイル４２３ａ毎に、現在の位置４２３ｂと、移動速度４２３ｃと、移動方向４２３ｄと、威力４２３ｅとを対応付けて格納している。
【００７４】
また、ミサイル制御部２１３は、自機ＰＣ或いは敵機ＥＣからミサイルＭＯが発射されると、該当する機体の向きの直近位置に新たなミサイルＭＯを配置する。そして、該機体の向きの方向を新たなミサイルＭＯの移動方向として設定する。また、ミサイルＭＯが移動体ＯＢに命中した場合、移動体データ４２５を参照し、命中した移動体ＯＢに設定されている威力増加量だけ該ミサイルＭＯの威力を増加させるとともに、命中した移動体ＯＢに設定されている向きに一致する方向に該ミサイルＭＯの移動方向を変更する。また、ミサイルＭＯが自機ＰＣ或いは敵機ＥＣに命中した場合、命中した機体の耐久値を該ミサイルＭＯに設定されている威力に応じた値だけ減少させるとともに、ミサイルＭＯが命中したことを表す所定の表示演出を行って該ミサイルＭＯを消去する。
【００７５】
画像生成部２３０は、ゲーム演算部２１０による演算結果に基づき、ゲーム画面を表示するためのゲーム画像（２ＤＣＧ画像）を生成し、生成した画像の画像信号を画像表示部３３０に出力する。画像表示部３３０は、画像生成部２３０からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現される。図１では、ディスプレイ１２３０がこれに該当する。
【００７６】
音生成部２４０は、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部３４０に出力する。音出力部３４０は、音生成部２４０からの音信号に基づいてＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ１２３１がこれに相当する。
【００７７】
記憶部４００は、処理部２００に家庭用ゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、制御ユニット１２１１に実装されているＲＯＭやＲＡＭ、ＣＤ−ＲＯＭ１２１２等がこれに該当する。
【００７８】
また、記憶部４００は、処理部２００をゲーム演算部２１０として機能させるためのゲームプログラム４１０及びゲームデータを記憶する。ゲームデータには、自機データ４２１と、敵機データ４２２と、ミサイルデータ４２３と、移動体データ４２５と、力場基点データ４２４と、配置パターンデータ４２６とが含まれている。
【００７９】
自機データ４２１は、自機ＰＣに関するデータである。図８に、自機データ４２１のデータ構成の一例を示す。同図によれば、自機データ４２１は、自機ＰＣの現在の位置４２１ａと、移動速度４２１ｂと、移動方向４２１ｃと、耐久値４２１ｄとを格納している。
【００８０】
敵機データ４２２は、ゲームフィールドＦＬに配置されている敵機ＥＣに関するデータである。図９に、敵機データ４２２のデータ構成の一例を示す。同図によれば、敵機データ４２２は、敵機４２２ａ毎に、現在の位置４２２ｂと、移動速度４２２ｃと、移動方向４２２ｄと、耐久値４２２ｅとを対応付けて格納している。
【００８１】
［処理の流れ］
図１４は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。この処理は、ゲーム演算部２１０がゲームプログラム４１０を実行することで実現される。
【００８２】
同図によれば、ゲーム演算部２１０は、先ず、自機ＰＣ、敵機ＥＣ、力場基点ＦＰ及び移動体ＯＢそれぞれを、予め設定された初期位置に配置する（ステップＡ１）。その後ゲームを開始する。
【００８３】
ゲーム中、ゲーム演算部２１０は、操作入力部１００から入力される操作データを取り込み（ステップＡ３）、取り込んだ操作データに従って自機ＰＣを制御する（ステップＡ５）。また、予め定められた所定の制御ルーチンに従って敵機ＥＣを制御する（ステップＡ７）。次いで、ミサイル制御部２１３がミサイル制御処理を実行する（ステップＡ９）。
【００８４】
図１５は、ミサイル制御処理の流れを説明するためのフローチャートである。同図によれば、ミサイル制御部２１３は、自機ＰＣ或いは敵機ＥＣからミサイルＭＯが発射されたか否かを判断する。発射されたならば（ステップＢ１：ＹＥＳ）、該当する機体の向きの直近位置に新たなミサイルＭＯを配置し、新たなミサイルＭＯの移動方向を該機体の向きの方向として設定する（ステップＢ３）。
【００８５】
続いて、ミサイル制御部２１３は、ゲームフィールドＦＬに配置されている全てのミサイルＭＯを順に対象として、ループＡを実行する。ループＡでは、ミサイルデータ４２３を参照して、対象のミサイルＭＯ（対象ミサイル）を移動制御する（ステップＢ５）。次いで、対象ミサイルが移動体ＯＢに命中（接触）したか否かを判断する。命中したならば（ステップＢ７：ＹＥＳ）、対象ミサイルの威力を命中した移動体ＯＢに設定されている威力増加量だけ増加させるとともに、対象ミサイルの移動方向を命中した移動方向に変更する（ステップＢ９）。
【００８６】
また、対象ミサイルが自機ＰＣ或いは敵機ＥＣに命中したか否かを判断する。命中したならば（ステップＢ１１：ＹＥＳ）、ミサイル制御部２１３は、命中した機体の耐久値を対象ミサイルの威力に応じた値だけ減少させる（ステップＢ１３）。また、該当する機体に対象ミサイルが命中したことを示す所定の表示演出を行い（ステップＢ１５）、対象ミサイルを消去する（ステップＢ１７）。ループＡはこのように実行される。全てのミサイルＭＯを対象としたループＡを終了すると、ミサイル制御部２１３はミサイル制御処理を終了する。
【００８７】
ミサイル制御処理が終了すると、続いて、力場基点制御部２１１が力場基点制御処理を実行する（ステップＡ１１）。
【００８８】
図１６は、力場基点制御処理の流れを説明するためのフローチャートである。同図によれば、力場基点制御部２１１は、ゲームフィールドＦＬに配置されている全ての力場基点ＦＰを順に対象として、ループＢを実行する。
【００８９】
ループＢでは、力場基点データ４２４を参照して、対象の力場基点ＦＰ（対象力場基点）に設定されている移動フラグを判定する。移動フラグが移動可能に配置されていることを示す「１」に設定されているならば（ステップＣ１：ＹＥＳ）、対象力場基点に設定されている移動パターンに従って対象力場基点の移動を制御する（ステップＣ３）。ループＢはこのように実行される。全ての力場基点ＦＰを対象としたループＢを終了すると、力場基点制御部２１１は力場基点制御処理を終了する。
【００９０】
力場基点制御処理が終了すると、続いて、移動体制御部２１２が移動体制御処理を実行する（ステップＡ１３）。
【００９１】
図１７は、移動体制御処理の流れを説明するためのフローチャートである。同図によれば、移動体制御部２１２は、適用フラグを判断する。適用フラグは、現在、移動体ＯＢに配置パターンが適用されているか否かを示すフラグであり、適用されている場合「１」に設定される。適用フラグが「１」に設定されているならば（ステップＤ１：ＹＥＳ）、次いで、配置パターンデータ４２６を参照して、適用実行時間が、現在適用している配置パターン（適用パターン）で定められた適用時間を超えたか否かを判断する。適用実行時間とは、移動体ＯＢに対する配置パターンの適用が継続されている時間である。適用実行時間が適用時間を超えていないならば（ステップＤ３：ＹＥＳ）、適用パターンで定められた移動パターンに従って、各移動体ＯＢの移動及び自転を制御する（ステップＤ５）。
【００９２】
また、適用実行時間が適用時間を超えていないならば（ステップＤ３：ＮＯ）、移動体制御部２１２は、配置パターンの適用を終了するとして適用フラグを「０」に設定し（ステップＤ７）、適用実行時間をゼロクリアする（ステップＤ９）。次いで、ゲームフィールドＦＬに配置されている全ての移動体ＯＢを順に対象としてループＣを実行する。
【００９３】
ループＣでは、移動体制御部２１２は、移動体データ４２５及び力場基点データ４２４を参照して、ゲームフィールドＦＬに配置されている全ての力場基点ＦＰそれぞれが対象の移動体ＯＢ（対象移動体）に与える外力Ｆを算出し、算出した外力Ｆを合成して外力Ｆの総和Ｆｗを算出する（ステップＤ１１）。次いで、算出した外力Ｆの総和Ｆｗを基に、対象移動体の加速度ａ及び速度Ｖを算出し（ステップＤ１３）、算出した速度Ｖで対象移動体の移動を制御する（ステップＤ１５）。また、算出した外力の総和Ｆｗを基に、対象移動体の角加速度ｄ及び角速度ωを算出し（ステップＤ１７）、算出した角速度ωで対象移動体の自転を制御する（ステップＤ１９）。ループＣはこのように実行される。
【００９４】
また、ステップＤ１において、適用フラグが「１」に設定されていないならば（ステップＤ１：ＮＯ）、移動体制御部２１２は、配置パターンの適用タイミングであるか否かを判断する。適用タイミングでないならば（ステップＤ２１：ＮＯ）、ステップＤ１１に移行する。また、適用タイミングならば（ステップＤ２１：ＹＥＳ）、プレーヤ操作入力に従って、或いはランダムに、予め用意された複数の配置パターンのうちから一の配置パターンを選択する（ステップＤ２３）。次いで、選択した配置パターンの配置パターンデータを参照して、設定されている位置関係データに従って移動体ＯＢを配置する（ステップＤ２５）。また、適用フラグを「１」に設定するとともに（ステップＤ２７）、適用実行時間の計測を開始する（ステップＤ２９）。以上の処理を行うと、移動体制御部２１２は移動体制御処理を終了する。
【００９５】
移動体制御処理が終了すると、画像生成部２３０がゲーム画像を生成し、生成した画像をゲーム画面として画像表示部３３０に表示させる（ステップＡ１５）。その後、ゲーム演算部２１０は、ゲーム終了か否かを判断し、終了でないならば（ステップＡ１７：ＮＯ）、ステップＡ３に戻る。ゲーム終了ならば（ステップＡ１７：ＹＥＳ）、ゲーム結果の表示等を行った後、ゲーム処理を終了する。
【００９６】
［ハードウェア構成］
図１８は、本実施の形態における家庭用ゲーム装置１２００のハードウェア構成の一例を示す図である。同図によれば、家庭用ゲーム装置１２００は、ＣＰＵ１０００と、ＲＯＭ１００２と、ＲＡＭ１００４と、情報記憶媒体１００６と、画像生成ＩＣ１００８と、音生成ＩＣ１０１０と、Ｉ／Ｏポート１０１２，１０１４とを有し、システムバス１０１６により相互にデータの入出力が可能に接続されている。また、画像生成ＩＣ１００８には表示装置１０１８が接続され、音生成ＩＣ１０１０にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１２１５が接続されている。
【００９７】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されているプログラムやデータ、ＲＯＭ１００２に格納されているシステムプログラム（装置本体の初期化情報等）やデータ、コントロール装置１０２２によって入力される入力信号等に従って、装置全体の制御や各種データ処理を行う。このＣＰＵ１０００は、図１の制御ユニット１２１１に搭載されているＣＰＵ、図７の処理部２００に該当する。
【００９８】
ＲＯＭ１００２、ＲＡＭ１００４及び情報記憶媒体１００６は、図７の記憶部４００に該当する。ＲＯＭ１００２は、家庭用ゲーム装置１２００のシステムプログラムや、図７の記憶部４００に記憶されている情報の内、特に、予め設定されているプログラムやデータ等を記憶する。ＲＡＭ１００４は、ＣＰＵ１０００の作業領域として用いられ、例えば、ＲＯＭ１００２や情報記憶媒体１００６の所与の内容、１フレーム分の画像データ、ＣＰＵ１０００による演算結果等が格納される。また、情報記憶媒体１００６は、ＩＣメモリカードや本体装置に着脱自在なハードディスクユニット、ＭＯ等によって実現される。
【００９９】
画像生成ＩＣ１００８は、ＣＰＵ１０００からの画像情報に基づいて表示装置１０１８に表示するゲーム画面の画素情報を生成する集積回路である。表示装置１０１８は、画像生成ＩＣ１００８で生成された画素情報に基づくゲーム画面を表示する。この画像生成ＩＣ１００８は、図７の画像生成部２３０に該当し、表示装置１０１８は、図７の画像表示部３３０、図１のディスプレイ１２３０に該当する。
【０１００】
音生成ＩＣ１０１０は、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１０１０は、図７の音生成部２４０に該当し、スピーカ１０２０は、図７の音出力部３４０、図１のスピーカ１２３１に該当する。
【０１０１】
尚、画像生成ＩＣ１００８、音生成ＩＣ１０１０等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【０１０２】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図７の操作入力部１００、図１のゲームコントローラ１２２０に該当する。
【０１０３】
通信装置１２１５は、家庭用ゲーム装置１２００内部で使用される各種情報を外部とやり取りするための装置であり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介してゲームプログラム等の情報を送受信する等に利用される。この通信装置１２１５は、図１の本体装置１２１０に具備される通信装置に該当する。
【０１０４】
［作用・効果］
このように、本実施形態によれば、移動体ＯＢは、力場基点ＦＰにより与えられる外力Ｆに基づいてその移動及び自転が制御される。この外力Ｆは、移動体ＯＢ及び力場基点ＦＰの質量が一定とした場合、移動体ＯＢと力場基点ＦＰとの距離Ｌの二乗に反比例する。つまり、移動体ＯＢが力場基点ＦＰに近づくほど、与えられる外力Ｆが急激に大きくなる。これにより、ランダム性を持った移動体ＯＢの動き（移動及び自転）の制御が実現される。
【０１０５】
［変形例］
尚、本発明が適用可能な実施形態は上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【０１０６】
（Ａ）力場基点ＦＰの配置パターン
例えば、移動体ＯＢの配置パターンと同様に、予め複数の力場基点ＦＰの配置パターンを用意しておき、ゲーム進行中、所定のタイミングで力場基点ＦＰにこの配置パターンを適用することにしても良い。この適用タイミングには、プレーヤよる操作入力が為されたときや、ゲームの進行状況が予め定められた特定状況になったとき等がある。また、適用する配置パターンは、複数の配置パターンのうちから、プレーヤの操作入力に従って、或いはランダムに選択することにしても良いし、配置パターンそれぞれをゲーム進行中の特定状況の種類と予め対応付けておき、特定状況になったときに該特定状況に対応する配置パターンを適用することにしても良い。
【０１０７】
（Ｂ）適用するゲーム装置
また、上述した実施形態では、本発明を家庭用ゲーム装置に適用した場合について説明したが、図１に示した家庭用ゲーム装置１２００のみではなく、業務用ゲーム装置や携帯型ゲーム装置、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用できる。
【０１０８】
例えば図１９は、本発明を業務用ゲーム装置に適用した一例を示す外観図である。同図によれば、業務用ゲーム装置１３００は、ゲーム画面を表示するディスプレイ１３０２と、ゲームの効果音やＢＧＭを出力するスピーカ１３０４と、前後左右方向を入力するジョイスティック１３０６と、プッシュボタン１３０８と、演算処理によって業務用ゲーム装置１３００を統合的に制御して所与のゲームを実行する制御ユニット１３１０とを備える。
【０１０９】
制御ユニット１３１０は、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１３００の制御及びゲームの実行に必要なプログラムやデータが格納されたＲＯＭを搭載する。制御ユニット１３１０に搭載されるＣＰＵは、ＲＯＭに記憶されたプログラムやデータを適宜読み出して演算処理することによって、ゲーム処理等の種々の処理を実行する。プレーヤは、ディスプレイ１３０２に表示されたゲーム画面を見て、スピーカ１３０４から出力されるゲーム音声を聞きながら、ジョイスティック１３０６やプッシュボタン１３０８を操作してシューティングゲームを楽しむ。
【図面の簡単な説明】
【０１１０】
【図１】家庭用ゲーム装置の外観例。
【図２】ゲーム画面例。
【図３】移動体に命中したミサイルの移動方向及び威力変更の説明図。
【図４】力場基点の説明図。
【図５】力場基点により移動体に与えられる外力Ｆの算出の説明図。
【図６】移動体の配置パターン例。
【図７】家庭用ゲーム装置の機能構成例。
【図８】自機データのデータ構成例。
【図９】敵機データのデータ構成例。
【図１０】ミサイルデータのデータ構成例。
【図１１】力場基点データのデータ構成例。
【図１２】移動体データのデータ構成例。
【図１３】配置パターンデータのデータ構成例。
【図１４】ゲーム処理の流れ図。
【図１５】ゲーム処理中に実行されるミサイル制御処理の流れ図。
【図１６】ゲーム処理中に実行される力場基点制御処理の流れ図。
【図１７】ゲーム処理中に実行される移動体制御処理の流れ図。
【図１８】家庭用ゲーム装置のハードウェア構成例。
【図１９】業務用ゲーム装置の外観例。
【符号の説明】
【０１１１】
１２００  家庭用ゲーム装置
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１１  力場基点制御部
２１２  移動体制御部
２１３  ミサイル制御部
２３０  画像生成部
２４０  音生成部
３３０  画像表示部
３４０  音出力部
４００  記憶部
４１０  ゲームプログラム
４２１  自機データ
４２２  敵機データ
４２３  ミサイルデータ
４２４  力場基点データ
４２５  移動体データ
４２６  配置パターンデータ
ＦＬ  ゲームフィールド
ＰＣ  自機（プレーヤキャラクタ）
ＥＣ  敵機（敵キャラクタ）
ＭＯ  ミサイル
ＯＢ  移動体
ＦＰ  力場基点
【図１】
2007267857.tif 000003
【図２】
2007267857.tif 000004
【図３】
2007267857.tif 000005
【図４】
2007267857.tif 000006
【図５】
2007267857.tif 000007
【図６】
2007267857.tif 000008
【図７】
2007267857.tif 000009
【図８】
2007267857.tif 000010
【図９】
2007267857.tif 000011
【図１０】
2007267857.tif 000012
【図１１】
2007267857.tif 000013
【図１２】
2007267857.tif 000014
【図１３】
2007267857.tif 000015
【図１４】
2007267857.tif 000016
【図１５】
2007267857.tif 000017
【図１６】
2007267857.tif 000018
【図１７】
2007267857.tif 000019
【図１８】
2007267857.tif 000020
【図１９】
2007267857.tif 000021