(57)【要約】【課題】  障害物が配置されている場合であっても、円滑に移動体を移動させて総ての標的のみを貫通・破壊することができるような制御を実現すること。また、標的が移動する場合であっても、処理負荷に問題を生じることなく上記制御を実現すること。【解決手段】  ロックオンした敵キャラクタＥについて、ビームの発射点Ｐ0との関係を基にビームの通過順を決定し、決定した通過順に従って各敵キャラクタＥの位置に設定した通過点Ｐを結ぶ曲線の軌道を生成する。次いで、この軌道と障害物Ｄとの衝突（交差）を判定し、衝突すると判定した区間Ｓについては、該衝突を判定した障害物Ｄの周辺に回避通過点Ｒを設定して、この回避通過点Ｒを通る回避用軌道を生成する。そして、この軌道（回避用軌道が生成された区間については、この回避用軌道）に沿って、移動体であるビームを進ませる。【選択図】図５
2006116133.tif 000002
【特許請求の範囲】
【請求項１】
障害物及び標的体が配置されたゲーム空間を移動して前記標的体を貫通する移動体を制御するゲーム装置であって、
前記ゲーム空間中に複数の標的候補体を配置し、当該標的候補体の移動を制御する標的候補体制御手段と、
プレーヤの操作に従って前記標的候補体の中から標的体とする標的候補体を蓄積的に選択する標的体選択手段と、
前記選択された各標的体の通過順序を決定する順序決定手段と、
前記決定された通過順序に従って前記選択された各標的体を貫通させるように前記移動体の移動を制御する移動制御手段と、
前記移動体と前記障害物との衝突を事前に判定する事前判定手段と、
を備え、前記移動制御手段が、前記事前判定手段による判定に応じて前記移動体の移動を制御し、当該障害物との衝突を回避して移動させる回避制御手段を有することを特徴とするゲーム装置。
【請求項２】
前記移動制御手段が、前記選択された各標的体を前記決定された順序に従って結ぶ軌道を算出する軌道算出手段を有し、算出された軌道に沿って前記移動体の移動を制御し、
前記事前判定手段が、前記算出された軌道と前記障害物との衝突を判定することで前記移動体と前記障害物との衝突を事前に判定する、
ことを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記軌道算出手段が、前記選択された各標的体を前記決定された順序に従って結ぶ曲線状の軌道を算出することを特徴とする請求項２に記載のゲーム装置。
【請求項４】
前記軌道算出手段が、前記標的候補体制御手段によって制御される前記標的候補体の位置変化に応じて、算出した軌道を補正することを特徴とする請求項２又は３に記載のゲーム装置。
【請求項５】
前記回避制御手段が、前記事前判定手段により衝突すると判定された障害物を回避する軌道を算出する回避軌道算出手段を有し、前記算出された回避用軌道に沿って前記移動体の移動を制御することで前記障害物を回避することを特徴とする請求項１〜４の何れか一項に記載のゲーム装置。
【請求項６】
前記回避制御手段が、前記事前判定手段により衝突すると判定された障害物の周辺に回避通過点を設定する回避通過点設定手段を有し、
前記回避軌道算出手段が、前記回避通過点設定手段により設定された回避通過点を通過するように回避用軌道を算出する、
ことを特徴とする請求項５に記載のゲーム装置。
【請求項７】
前記事前判定手段が、前記障害物における衝突位置を算出する衝突位置算出手段を有し、
前記回避通過点設定手段が、前記衝突位置算出手段により算出された衝突位置と、前記移動体の移動方向とに基づいて回避通過点の設定位置を決定する、
ことを特徴とする請求項６に記載のゲーム装置。
【請求項８】
前記移動制御手段が、プレーヤによる開始指示操作に応じて前記移動体の移動を開始し、
前記順序決定手段が、前記開始指示操作が入力された際に、前記選択された各標的体の位置関係に基づいて前記各標的体の通過順序を決定する、
ことを特徴とする請求項１〜７の何れか一項に記載のゲーム装置。
【請求項９】
銃型コントローラと、
前記銃型コントローラのゲーム画面に対する照準位置を検出する照準検出手段と、
を更に備え、
前記標的体選択手段が、プレーヤによる開始指示操作が入力されるまでの間、前記照準検出手段により検出される照準位置に基づいて標的体とする標的候補体を蓄積的に選択する、
ことを特徴とする請求項１〜８の何れか一項に記載のゲーム装置。
【請求項１０】
コンピュータに、障害物及び標的体が配置されたゲーム空間を移動して前記標的体を貫通する移動体を制御させるためのプログラムであって、
前記ゲーム空間中に複数の標的候補体を配置し、当該標的候補体の移動を制御する標的候補体制御手段、
プレーヤの操作に従って前記標的候補体の中から標的体とする標的候補体を蓄積的に選択する標的体選択手段、
前記選択された各標的体の通過順序を決定する順序決定手段、
前記決定された通過順序に従って前記選択された各標的体を貫通させるように前記移動体の移動を制御する移動制御手段、
前記移動体と前記障害物との衝突を事前に判定する事前判定手段、
として前記コンピュータを機能させるとともに、前記移動制御手段が、前記事前判定手段による判定に応じて前記移動体の移動を制御し、当該障害物との衝突を回避して移動させる回避制御手段を有するように前記コンピュータを機能させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを記憶するコンピュータ読取可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム空間を移動する移動体を制御して、該ゲーム空間の画像を生成するゲーム装置等に関する。
【背景技術】
【０００２】
プレーヤの操作入力に応じて移動体の移動を制御するゲームとして例えば球技スポーツゲームやシューティングゲーム等がある。球技スポーツゲームは、大凡の移動方向をプレーヤが操作入力して、その入力された方向に沿って移動体としてのボールを移動させるゲームである。また、シューティングゲームは、表示される照準等を利用してプレーヤが着弾位置を指定し、その指定された着弾位置に移動体としての弾丸を移動させるゲームである。
【０００３】
しかし、何れのゲームも移動方向又は目標点を１つ定め、その定められた１つの移動方向又は目標点に向けて移動体を移動させるものであった。そこで、大量の敵オブジェクトを１つの移動体が連続して破壊する爽快感を得るための技術として、１つの飛翔体（移動体）でもって複数の敵オブジェクト（標的）を貫通（通過）させる特許文献１の技術が発明された。
【特許文献１】特許第３４４５８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術は、ゲーム空間中に標的である敵オブジェクトのみが固定的に配置されている場合には問題なく適用できるが、敵オブジェクト以外のオブジェクトとして飛翔体の移動を阻害する障害物がゲーム空間中に配置されていた場合に問題が生じる。例えば、移動体が障害物に衝突した場合には破壊されてしまうとしても良いが、敵オブジェクトを連続して破壊しにくくなってしまう。一方、障害物を貫通するとしても良いが、その場合には障害物となったオブジェクトやキャラクタをも破棄されることとなり、プレーヤが予想できない結果をもたらし、興趣性に欠け、プレーヤのゲームへの没入感、世界観が削がれてしまいかねない。また、標的である敵オブジェクトがゲーム空間中を自由に移動するといった場合には、障害物に対する飛翔体の移動制御をどのようにするかによって、処理負荷が大きく変わることとなる。
【０００５】
本発明は係る課題に鑑みてなされたものであり、その目的とするところは、障害物が配置されている場合であっても、円滑に移動体を移動させて総ての標的のみを貫通・破壊することができるような制御を実現することである。また、更なる目的は、標的が移動する場合であっても、処理負荷に問題を生じることなく上記制御を実現することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するための第１の発明は、
障害物及び標的体が配置されたゲーム空間を移動して前記標的体を貫通する移動体（例えば、図３のビームＢ）を制御するゲーム装置（例えば、図１，図１３の業務用ゲーム装置１０００）であって、
前記ゲーム空間中に複数の標的候補体（例えば、図２，図３の敵キャラクタＥ）を配置し、当該標的候補体の移動を制御する標的候補体制御手段（例えば、図１３の敵キャラ制御部２１２；図１９のステップＴＡ１３）と、
プレーヤの操作に従って前記標的候補体の中から標的体とする標的候補体を蓄積的に選択する標的体選択手段（例えば、図１３の操作入力部１００、ロックオンリスト４５２；図１９のステップＴＡ１５〜ＴＡ２５）と、
前記選択された各標的体の通過順序を決定する順序決定手段（例えば、図１３のビーム制御部２１６；図２１のステップＴＡ２１３）と、
前記決定された通過順序に従って前記選択された各標的体を貫通させるように前記移動体の移動を制御する移動制御手段（例えば、図１３のビーム制御部２１６；図２０のステップＴＡ１１５）と、
前記移動体と前記障害物との衝突を事前に判定する事前判定手段（例えば、図１３のビーム制御部２１６；図１２のステップＴＡ１１１，ＴＡ１２３）と、
を備え、前記移動制御手段が、前記事前判定手段による判定に応じて前記移動体の移動を制御し、当該障害物との衝突を回避して移動させる回避制御手段（例えば、図１３のビーム制御部２１６；図２０のステップＴＡ１１５）を有することを特徴とするゲーム装置である。
【０００７】
また、第１０の発明は、
コンピュータに、障害物及び標的体が配置されたゲーム空間を移動して前記標的体を貫通する移動体を制御させるためのプログラム（例えば、図１３のゲームプログラム４１０）であって、
前記ゲーム空間中に複数の標的候補体を配置し、当該標的候補体の移動を制御する標的候補体制御手段、
プレーヤの操作に従って前記標的候補体の中から標的体とする標的候補体を蓄積的に選択する標的体選択手段、
前記選択された各標的体の通過順序を決定する順序決定手段、
前記決定された通過順序に従って前記選択された各標的体を貫通させるように前記移動体の移動を制御する移動制御手段、
前記移動体と前記障害物との衝突を事前に判定する事前判定手段、
として前記コンピュータを機能させるとともに、前記移動制御手段が、前記事前判定手段による判定に応じて前記移動体の移動を制御し、当該障害物との衝突を回避して移動させる回避制御手段を有するように前記コンピュータを機能させるためのプログラムである。
【０００８】
この第１又は第１０の発明によれば、移動体が、障害物及び標的体が配置されたゲーム空間を移動して標的体を貫通するゲームにおいて、複数の標的候補体の中から蓄積的に選択された標的体を、決定された通過順序で貫通するように移動体が制御されるが、このとき、移動体と障害物との衝突が事前に判定され、この判定に応じて移動体の移動が制御されて、障害物との衝突が回避される。従って、ゲーム空間に移動体の移動を阻害する障害物が配置されている場合であっても、この障害物を円滑に回避しつつ、選択された標的体を確実に貫通するような移動体の制御が実現される。
【０００９】
この場合、第２の発明として、
前記移動制御手段が、前記選択された各標的体を前記決定された順序に従って結ぶ軌道を算出する軌道算出手段（例えば、図１３のビーム制御部２１６；図２２のステップＴＡ３１１）を有し、算出された軌道に沿って前記移動体の移動を制御し、
前記事前判定手段が、前記算出された軌道と前記障害物との衝突を判定することで前記移動体と前記障害物との衝突を事前に判定する、
こととしても良い。
【００１０】
この第２の発明によれば、選択された各標的体を決定された通過順序に従って結ぶ軌道が算出され、この軌道と障害物との衝突を判定することで、移動体と障害物との衝突が事前に判定される。従って、障害物との衝突反映を比較的簡単な演算で済ませることができるため、障害物を回避させる際の処理負荷を軽減させることができる。
【００１１】
更に、第３の発明として、
前記軌道算出手段が、前記選択された各標的体を前記決定された順序に従って結ぶ曲線状の軌道を算出することとしても良い。
【００１２】
この第３の発明によれば、選択された各標的体を決定された順序に従って結ぶ軌道として、曲線状の軌道が算出される。
【００１３】
また、第４の発明として、第２又は第３の発明のゲーム装置において、
前記軌道算出手段が、前記標的候補体制御手段によって制御される前記標的候補体の位置変化に応じて、算出した軌道を補正するゲーム装置を構成しても良い。
【００１４】
この第４の発明によれば、標的候補体の位置変化に応じて、算出された軌道が補正される。従って、標的体の位置が変化（移動）しても、この標的体を確実に貫通するような移動体の制御が実現される。
【００１５】
また、第５の発明として、第１〜第４の何れかの発明のゲーム装置において、
前記回避制御手段が、前記事前判定手段により衝突すると判定された障害物を回避する軌道を算出する回避軌道算出手段（例えば、図１３のビーム制御部２１６；図２２のステップＴＡ３１３）を有し、前記算出された回避用軌道に沿って前記移動体の移動を制御することで前記障害物を回避するゲーム装置を構成しても良い。
【００１６】
この第５の発明によれば、衝突すると判定された障害物を回避する軌道が算出され、この回避用軌道に沿って移動の移動が制御される。従って、障害物との衝突を円滑且つ確実に回避するような移動体の制御が実現される。
【００１７】
この場合、第６の発明として、
前記回避制御手段が、前記事前判定手段により衝突すると判定された障害物の周辺に回避通過点を設定する回避通過点設定手段（例えば、図１３のビーム制御部２１６；図２１のステップＴＡ２２３，図２３のステップＴＡ４２１）を有し、
前記回避軌道算出手段が、前記回避通過点設定手段により設定された回避通過点を通過するように回避用軌道を算出する、
こととしても良い。
【００１８】
この第６の発明によれば、衝突すると判定された障害物の周辺に回避通過点が設定され、この回避通過点を通過するように回避用軌道が生成される。
【００１９】
更に、第７の発明として、
前記事前判定手段が、前記障害物における衝突位置を算出する衝突位置算出手段（例えば、図１３のビーム制御部２１６；図２１のステップＴＡ２１９，図２３のステップＴＡ４１７）を有し、
前記回避通過点設定手段が、前記衝突位置算出手段により算出された衝突位置と、前記移動体の移動方向とに基づいて回避通過点の設定位置を決定する、
こととしても良い。
【００２０】
この第７の発明によれば、障害物における衝突位置が算出され、この衝突位置と移動体の移動方向とに基づいて回避通過点の設定位置が決定される。従って、移動体の移動方向を考慮して回避通過点が設定されるので、衝突すると判定された障害物を自然且つ円滑に回避するような移動体の制御が実現される。
【００２１】
また、第８の発明として、第１〜第７の何れかの発明のゲーム装置において、
前記移動制御手段が、プレーヤによる開始指示操作に応じて前記移動体の移動を開始し、
前記順序決定手段が、前記開始指示操作が入力された際に、前記選択された各標的体の位置関係に基づいて前記各標的体の通過順序を決定する、
ゲーム装置を構成しても良い。
【００２２】
この第８の発明によれば、プレーヤによる開始指示操作に応じて移動体の移動が開始され、この開始指示操作が入力された際に、選択された各標的体の位置関係に基づいて通過順序が決定される。
【００２３】
第９の発明は、第１〜第８の何れかの発明のゲーム装置において、
銃型コントローラ（例えば、図１のガン型コントローラ３０）と、
前記銃型コントローラのゲーム画面に対する照準位置を検出する照準検出手段（例えば、図１のガン型コントローラ３０が有するレンズやフォトセンサ、図１３のロックオン管理部２１４；図１９のステップＴＡ１９）と、
を更に備え、
前記標的体選択手段が、プレーヤによる開始指示操作が入力されるまでの間、前記照準検出手段により検出される照準位置に基づいて標的体とする標的候補体を蓄積的に選択する、
ゲーム装置である、
【００２４】
この第９の発明によれば、ゲーム装置には銃型コントローラが備えられ、プレーヤによる開始指示操作が入力されるまでの間、この銃型コントローラのゲーム画面に対する照準位置に基づいて、標的体とする標的候補体が蓄積的に選択される。従って、例えばガンシューティングゲームにおいて、用いられる銃型コントローラを利用して、プレーヤは、簡単且つ効率的に標的体を選択することができる。
【００２５】
更に、第１１の発明は、第１０の発明のプログラムを記憶するコンピュータ読取可能な情報記憶媒体である。
【００２６】
ここでいう「情報記憶媒体」とは、記憶されている情報をコンピュータが読み取り可能な、例えばハードディスクやＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカード、ＩＣメモリ等の記憶媒体である。従って、この第１１の発明によれば、該情報記憶媒体に記憶されている情報をコンピュータに読み取らせて演算処理を実行させることで、第１０の発明と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００２７】
以下、図面を参照して、本発明に好適な実施形態を説明する。尚、以下では、本発明を、ガンシューティングゲームを実行する業務用ゲーム装置に適用した場合を説明するが、本発明を適用可能な実施形態がこれに限定されるものではない。
【００２８】
［ゲーム装置の外観］
図１は、本実施形態における業務用ゲーム装置１０００の外観例を示す図である。同図に示すように、業務用ゲーム装置１０００は、筐体の正面上部に設けられたゲーム画面を表示するディスプレイ１０と、ゲームの効果音やＢＧＭを出力するスピーカ２０と、筐体とケーブルＫによって接続された、プレーヤがゲーム操作を入力するためのガン型コントローラ３０と、筐体内部に設けられた、演算処理によって業務用ゲーム装置１０００を統合的に制御してシューティングゲームを実行するための制御ユニット４０とを備えている。
【００２９】
ガン型コントローラ３０は、拳銃やライフルといった銃を模した形状を成しており、その銃口付近に内蔵するレンズやフォトセンサによってディスプレイ１０上の照準位置を光学的に検出し、検出した位置座標を制御ユニット４０に出力する。また、ガン型コントローラ３０は、引き金３２を有し、この引き金３２が引かれているか否かを検出して、これを示すトリガ信号を制御ユニット４０に出力する。尚、ガン型コントローラ３０は、銃口方向の位置であるディスプレイ１０上の照準位置が検出可能であり、引き金３２によってトリガ信号を制御ユニット４０に出力可能であれば、他の公知の構成によることとしても良い。
【００３０】
制御ユニット４０は、ＣＰＵ等の演算処理装置と、業務用ゲーム装置１０００の制御及びゲームの実行に必要なプログラムやデータ等が格納されたＲＯＭとを搭載している。演算処理装置は、ＲＯＭから読み出したプログラムやデータ、ガン型コントローラ３０から入力される操作信号（照準位置座標やトリガ信号）等に基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号をディスプレイ１０に出力してディスプレイ１０にゲーム画面を表示させるとともに、音信号をスピーカ２０に出力してスピーカ２０からゲーム音を出力させる。
【００３１】
プレーヤは、筐体正面にディスプレイ１０に対向して立ち、ディスプレイ１０に表示されたゲーム画面を見て、スピーカ２０から出力されるゲーム音声を聞きながら、ガン型コントローラ３０を用いてシューティングゲームを楽しむ。
【００３２】
［ゲーム画面］
図２、図３は、ディスプレイ１０に表示されるゲーム画面の一例を示す図である。ゲーム画面は、床ＯＢ１や壁ＯＢ２、柱ＯＢ３，ＯＢ４、ブロックＯＢ５等のオブジェクトを仮想三次元空間に配置して構築されたゲームステージ上に、プレーヤキャラクタである自キャラクタや、自キャラクタと戦闘する標的候補体である敵キャラクタＥが配置されたゲーム空間の様子を、仮想カメラ等の所与の視点から見た三次元ＣＧ画像として表示される。本実施形態では、視点は自キャラクタに設定され、いわゆる一人称視点としてゲーム画面が表示される。
【００３３】
そして、例えば図２に示すゲーム画面が表示されている状態で、プレーヤが、ガン型コントローラ３０の銃口をディスプレイ１０に向けて引き金３２を引いた状態で保つ（ホールドする）と、ゲーム画面上の照準位置に存在する敵キャラクタＥがロックオン（選択）されて標的体とされる。また、引き金３２をホールドしたまま銃口の向きを変化させて照準位置を移動させると、移動した照準位置に存在する敵キャラクタＥを蓄積的にロックオンすることができる。このとき、ロックオン可能か否かは、仮想三次元空間（ゲーム空間）中で銃口の方向を表すベクトルと敵キャラクタＥのポリゴンとの衝突判定処理により決定される。
【００３４】
その後、プレーヤが、ガン型コントローラ３０の引き金３２を離す（戻す）と、これが発射指示となって、図３に示すように、自キャラクタが有するガン（不図示）から、移動体であるビームＢが発射される（移動開始）。発射されたビームＢは、標的体であるロックオンした敵キャラクタＥを順に通過（貫通）するように曲線の軌跡を描いて進み、ビームＢが通過した敵キャラクタＥが攻撃される。またこのとき、ビームＢは、ゲームステージを構築するオブジェクトの内、柱ＯＢ３，ＯＢ４やブロックＯＢ５等の所定の障害物オブジェクト（以下、単に「障害物」という。）については、これを回避するようにして進んでいく。そして、画面外まで進むと、ビームＢは消える。
【００３５】
図３は、ビームＢを発射中の画面であり、図２において敵キャラクタＥＡ，ＥＢがロックオンされた場合を示している。図３では、ビームＢは、敵キャラクタＥＡを通過し、次いで、この敵キャラクタＥＡの後方に在る障害物である柱ＯＢ３を向かって右方向に回り込むように進んでこれを回避し、その後、敵キャラクタＥＢを通過している。
【００３６】
このように、本実施形態では、自キャラクタのガンから発射されたビームＢが、ロックオンした複数の敵キャラクタＥを順に通過するように進むとともに、ロックオンした各敵キャラクタＥの間に在って進行を阻害する障害物を回避するように進む。
【００３７】
［原理］
次に、本実施形態におけるビーム制御の原理を説明する。
【００３８】
図４は、引き金３２が離された直後、即ちビームＢの発射指示（移動開始指示）が入力された直後のゲーム空間の俯瞰図であり、ロックオンされている敵キャラクタＥの配置を示している。ビームＢの発射指示が入力されると、その時点でロックオンされている敵キャラクタＥについて、ビームＢの発射点（自キャラクタが有するガンの銃口位置とする）Ｐ0との位置関係を基にビームＢの通過順が決定され、決定された通過順に、標的Ｔ1，Ｔ2，・・・、ＴN（「Ｎ」は、ロックオンされている敵キャラクタＥの数）とされる。
【００３９】
ビームＢの通過順は、次のように決定される。即ち、ロックオンされている敵キャラクタＥの内、発射点Ｐ0から近い順に、標的Ｔ1，Ｔ2，・・・，ＴNとされる。同図では、３体の敵キャラクタＥ１，Ｅ２，Ｅ３がロックオンされている場合を示しており、発射点Ｐ0から敵キャラクタＥ１，Ｅ２，Ｅ３それぞれまでの距離Ｌ１，Ｌ２，Ｌ３には、Ｌ３＜Ｌ１＜Ｌ２、の関係がある。従って、この場合には、敵キャラクタＥ３が標的Ｔ1とされ、敵キャラクタＥ１が標的Ｔ2とされ、敵キャラクタＥ２が標的Ｔ3とされる。
【００４０】
尚、ビームＢの通過順を、例えば次のように決定しても良い。即ち、視点を基準として手前（奥行値が小さい）から順に標的Ｔ1，Ｔ2，・・・，ＴNとしても良い。また、ロックオンされている敵キャラクタＥの内、発射点Ｐ0に最も近い敵キャラクタＥを１番目の標的Ｔ1とし、次いで、この標的Ｔ1に最も近い敵キャラクタＥを２番目の標的Ｔ2とするといったように、直前に標的Ｔとした敵キャラクタＥに最も近い敵キャラクタＥを、その次の標的Ｔとしても良い。
【００４１】
ビームＢの通過順が決定されると、これら標的Ｔ1，Ｔ2，・・・，ＴNの各位置（詳細には、該当する敵キャラクタＥの代表点の位置）に、通過点Ｐ1，Ｐ2，・・・，ＰNが設定される。ビームＢは、発射点Ｐ0からこれらの通過点Ｐ1，Ｐ2，・・・，ＰNを順に通過するよう、滑らかな曲線を描きながら進んでいく。
【００４２】
このとき、実際のビームＢの進行に先立ち、ビームＢと障害物Ｄとの衝突が事前に判定され、衝突が判定された場合には、衝突を判定した障害物Ｄを回避するようにビームＢの進行が制御される。
【００４３】
具体的には、図５に示すように、発射点Ｐ0から各通過点Ｐ1，Ｐ2，・・・，ＰNを順に結ぶ曲線の軌道が生成され、この軌道と障害物Ｄとの衝突判定（交差判定）が行われる。その結果、衝突が判定されない場合には、ビームＢは、この軌道に沿って進むように制御される。一方、障害物Ｄとの衝突が判定された場合には、この衝突が判定された障害物Ｄを回避するような軌道（回避用軌道）が新たに生成され、ビームＢは、この回避用軌道に沿って進むように制御される。
【００４４】
より詳細には、発射点Ｐ0及び通過点Ｐ1，Ｐ2，・・・，ＰNそれぞれの間の区間Ｓ1，Ｓ2，・・・，ＳNについて、該区間Ｓの始点と終点とを結ぶ軌道（区間軌道）が生成され、この区間軌道と障害物Ｄとの衝突判定が行われる。その結果、衝突が判定された区間Ｓについては、その衝突が判定された障害物Ｄの近傍（周辺）に回避通過点Ｒが設定され、該区間Ｓの始点、回避通過点Ｒ、及び、該区間Ｓの終点を順に通る回避用軌道が生成される。
【００４５】
回避用軌道は、次のように生成される。即ち、該区間Ｓの始点と回避通過点Ｒとを結ぶ曲線の軌道、及び、回避通過点Ｒと該区間Ｓの終点とを結ぶ曲線の軌道が生成される。そして、この２つの軌道を繋げて、該区間Ｓの回避用軌道とされる。
【００４６】
本実施形態においては、回避通過点Ｒは、１つの区間Ｓに最大１つ設定されることとして説明する。１区間の区間軌道と衝突する障害物Ｄが複数判定された場合には、これらの障害物Ｄの内、区間軌道を該区間Ｓの始点から辿って最初に衝突する障害物Ｄの近傍に、該区間Ｓの回避通過点Ｒが設定される。
【００４７】
例えば同図では、発射点Ｐ0と通過点Ｐ1との間の区間Ｓ1について、区間軌道との衝突が判定された障害物Ｄ１の近傍に回避通過点Ｒ1が設定され、この回避通過点Ｒ1を通る回避用軌道が生成されている。また、通過点Ｐ2と通過点Ｐ3との間の区間Ｓ3については、区間軌道が２つの障害物Ｄ３ａ，Ｄ３ｂと衝突すると判定され、この場合には、区間Ｓ3の始点（通過点Ｐ2）からこの区間軌道を辿って最初に衝突する障害物Ｄ３ａの近傍に回避通過点Ｒ3が設定され、この回避通過点Ｒ3を通過する回避用軌道が生成されている。尚、衝突すると判定された各障害物Ｄの近傍に回避通過点Ｒを設定することとしても良い。
【００４８】
そして、区間毎に生成された区間軌道（回避用軌道が生成された区間Ｓについては、この回避用軌道）を区間順に繋ぐことで、発射点Ｐ0から各通過点Ｐ1，Ｐ2，・・・，ＰNを順に通過する軌道全体が生成される。その後、ビームＢが、この軌道全体に沿って進むように制御される。
【００４９】
尚、標的Ｔである敵キャラクタＥは移動するので、この敵キャラクタＥの位置に設定される通過点Ｐは変化する。このため、ビームＢは、通過点Ｐの位置の変化に合わせて、必ず通過点Ｐを通過するよう、その軌道を補正しつつ進むように制御される。
【００５０】
本実施形態において、軌道は、公知のエルミート曲線として生成される。エルミート曲線とは、図６に示すように、２つの制御点Ｐa，Ｐbについて、その位置及び接線ベクトル（導関数）ａa，ａbが与えられた場合に、この２つの制御点Ｐａ，Ｐｂの間を補間するものとして定義された曲線である。
【００５１】
そして、区間軌道は、該区間Ｓの始点及び終点を制御点としたエルミート曲線として生成される。このとき、制御点となる発射点Ｐ0及び通過点Ｐ1，Ｐ2，・・・，ＰNそれぞれの接線ベクトルａは、図７に示すように与えられる。即ち、その前の点からその次の点に至るベクトルＶを、向きはそのままに大きさをｎ倍にしたベクトルである。但し、０＜ｎ＜１、である。例えば、通過点Ｐ1の接線ベクトルａ1は、発射点Ｐ0から通過点Ｐ2に至るベクトルＶ2を、向きをそのままに大きさをｎ倍にしたベクトルである。また、通過点Ｐ2の接線ベクトルａ2は、通過点Ｐ1から通過点Ｐ3に至るベクトルＶ3を、向きはそのままに大きさをｎ倍にしたベクトルである。
【００５２】
前／後の点が無い場合には、接線ベクトルａは、次のように与えられる。即ち、前の点が無い発射点Ｐ0については、この発射点Ｐ0から次の通過点Ｐ1に至るベクトルＶ1を基に与えられ、次の点が無い最後の通過点ＰNについては、１つ前の通過点ＰN-1からこの通過点ＰNに向かうベクトルＶNを基に与えられる。
【００５３】
また、回避通過点Ｒの接線ベクトルｂは、図８に示すように生成される。即ち、該区間Ｓの始点から終点に至るベクトルＶSを、向きはそのままに大きさをｎ倍としたベクトルとして与えられる。
【００５４】
ところで、標的Ｔである敵キャラクタＥは移動するので、ビームＢの進行中、通過点Ｐの位置は随時変化する。このため、制御点である発射点Ｐ0、通過点Ｐ及び回避通過点Ｒのそれぞれの接線ベクトルａ，ｂも随時変化する。
【００５５】
また、回避通過点Ｒは、詳細には、次のように設定される。
図９は、回避通過点Ｒの設定方法を説明するための図である。同図に示すように、回避通過点Ｒは、軌道と障害物Ｄとの衝突位置Ｃから、所定の回避方向へ所定の回避距離αだけ離れた位置に設定される。
【００５６】
回避方向は、ビームＢの自然な進行が表現されるよう、障害物Ｄ毎に定められている。
また、回避距離αは、障害物Ｄの任意方向の最大長さより大きく設定されている。このため、回避通過点Ｒは、障害物Ｄにではなくその近傍（周辺）に設定され、この回避通過点Ｒを通る回避用軌道は、この障害物Ｄの近傍を通る、エルミート曲線による滑らかな軌道となる。従って、この回避用軌道に沿って移動させることで、障害物Ｄとの衝突を回避するようにビームＢを制御することができる。
【００５７】
例えば、同図（ａ）に示すように、障害物Ｄが、床ＯＢ１の上に配置される高さが比較的低いブロックＯＢ５の場合は、回避方向として「上」が設定される。この場合には、衝突位置Ｃ（ｘc，ｙc，ｚc）のＹ座標値ｙcに所定の回避距離αを加算した位置（ｘc，ｙc＋α，ｚc）に、回避通過点Ｒが設定される。
【００５８】
また、同図（ｂ）に示すように、障害物Ｄが、高さが比較的高い柱ＯＢ３，ＯＢ４には、回避方向として「横」が設定される。この場合には、更に、回避方向として「右」若しくは「左」が、例えばランダムに選択され、衝突位置Ｃから、ビームＢの進行方向に対して選択された回避方向に、所定の回避距離αだけ離れた位置に回避通過点Ｒが設定される。
【００５９】
具体的には、同図（ｃ）に示すように、Ｘ−Ｚ平面において、障害物Ｄとの衝突直前のビームＢの進行ベクトルＶBに直交する大きさ（長さ）αの回避ベクトルＶDが、衝突位置Ｃを始点として生成される。このとき、回避方向が「右」ならば、ビームＢの進行方向（進行ベクトルＶB向き）に対して右方向に向かう回避ベクトルＶD1が生成され、回避方向が「左」ならば、ビームＢの進行方向（進行ベクトルＶBの向き）に対して左方向に向かう回避ベクトルＶD2が生成される。そして、この回避ベクトルＶDの終点の位置に、回避通過点Ｒが設定される。即ち、衝突位置Ｃ（ｘc，ｙc，ｚc）のＸ座標値ｘcに回避ベクトルＶＤのＸ成分αxを加算し、Ｚ座標値ｚcに回避ベクトルＶDのＺ成分αzを加算した位置（ｘc＋αx，ｙc，ｚc＋αz）に、回避通過点Ｒが設定される。
【００６０】
尚この場合、回避通過点Ｒは、ビームＢの進行方向に対して「右」若しくは「左」方向ではなく、視点から見て「右」若しくは「左」方向に所定の回避距離αだけ離れた位置に設定しても良い。
【００６１】
［ビーム制御手順］
以上の原理をふまえた、具体的なビームＢの制御手順を説明する。
本実施形態では、先ず、（１）区間Ｓ1（開始区間）の衝突判定が行われた後、（２）区間Ｓ1，Ｓ2，・・・，ＳNを順に対象としてビームＢの進行が制御されるとともに、（３）ビームＢの進行制御の対象となっている区間Ｓの次の区間Ｓを対象として障害物Ｄとの衝突判定が行われる。
【００６２】
尚、原理上、最初に画面全体に亘る軌道全体を生成し、この軌道全体についての衝突判定を行って各区間Ｓの回避通過点Ｒを設定した後、ビームＢの進行を開始しても良いが、この場合には、（イ）衝突判定に時間がかかるため、ビームＢの発射指示が入力されてから実際にビームＢが発射されるまでの時間差が生じる、（ロ）通過点Ｐ1，Ｐ2，・・・，ＰNの位置が変化するため、衝突判定のために最初に生成される軌道と実際にビームＢの軌跡とにずれが生じ、回避すべき障害物Ｄを回避しない（回避しきれない）、といった不都合が生じる。このような理由から、本実施形態では、発射点Ｐ0及び各通過点Ｐ1，Ｐ2，・・，ＰNのそれぞれの間の区間Ｓを単位として、ビームＢの進行制御と、その次の区間Ｓについての衝突判定とを並行して行う。
【００６３】
（１）区間Ｓ1（開始区間）の衝突判定
先ず、図１０に示すように、発射点Ｐ0を始点とし、通過点Ｐ1を終点とする区間Ｓ1（開始区間）の軌道（開始区間軌道）が計算される。次いで、この開始区間軌道と障害物Ｄとの衝突判定が行われる。その結果、衝突が判定された場合には、その衝突が判定された障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒ1が設定される。
【００６４】
（２）ビームＢの進行制御
その後、区間Ｓ1，Ｓ2，・・・，ＳNを順に対象として、ビームＢの進行制御が行われる。このとき、ビームＢは、予め定められた１フレーム当たりの速さで進むように制御される。
【００６５】
図１１は、１区間についてのビームＢの進行制御を説明するための図であり、区間Ｓ1を対象とした場合を例として示している。同図に示すように、先ず、該区間Ｓの始点（同図では、発射点Ｐ0）と終点（同図では、通過点Ｐ1）とを結ぶ軌道（区間軌道）が計算される。このとき、該区間Ｓに回避通過点Ｒが設定されている場合には、この回避通過点Ｒを通る区間軌道が計算される。
【００６６】
ここで、区間軌道をビームＢの１フレーム当たりの進む速さ（長さ）で割ると、この区間を何フレームで進むかがわかる。このフレーム数を、区間フレーム数Ｎ（Ｎは自然数）とする。そして、この区間軌道を区間フレーム数Ｎで等分する区分点の内、該区間Ｓの始点から数えて１つ目の区分点がビームＢの到達位置Ｑ1とされる。そして、ビームＢが、該区間Ｓの始点からこの到達位置Ｑ1まで進められる。
【００６７】
次いで、２フレーム目では、再度、該区間Ｓの軌道（区間軌道）が計算される。敵キャラクタＥは移動しているので、１フレーム目と２フレーム目とでは、該区間Ｓの始点及び終点の位置及び接線ベクトルａは変化し、これに伴い、回避通過点Ｒの接線ベクトルｂも変化している。このため、区間軌道は、その時点での始点及び終点の位置を基に計算される。従って、１フレーム目とは異なる区間軌道が計算される。そして、計算された区間軌道を区間フレーム数Ｎで等分する区分点の内、該区間Ｓの始点から数えて２番目の区分点がビームＢの到達位置Ｑ2とされて、この到達位置Ｑ2までビームＢが進められる。
【００６８】
３フレーム目以降も同様に、フレーム毎に、その時点での該区間Ｓの始点及び終点（設定されていれば、回避通過点Ｒも）の位置を基に区間軌道が計算され、これをＮ等分する区分点の内から、ビームＢの到達位置Ｑが選択される。即ち、ｉフレーム目では、該区間Ｓの始点から数えてｉ番目の区分点がビームＢの到達位置Ｑとされる。そして、この到達位置ＱまでビームＢが進められる。
【００６９】
そして、Ｎフレーム目では、該区間Ｓの終点がビームＢの到達位置ＱNとされ、この位置までビームＢが進められて、１区間分のビームＢの進行制御が終了する。
【００７０】
（３）衝突判定
また、上述した（２）ビームＢの進行制御と並行して、該制御の対象となっている区間Ｓの次の区間Ｓを対象として、障害物Ｄとの衝突判定が行われる。即ち、ビームＢが進むであろう１区間分先の軌道について、障害物Ｄとの衝突を事前に判定する。
【００７１】
図１２は、１区間についての障害物Ｄとの衝突判定を説明するための図であり、区間Ｓ2を対象とした場合を例として示している。この衝突判定も、上述した（２）ビームＢの進行制御と同様に、区間フレーム数Ｎをかけて１区間分の判定が行われる。
【００７２】
同図に示すように、先ず、１フレーム目では、該区間Ｓの始点（同図では、通過点Ｐ1）と終点（同図では、通過点Ｐ2）とを結ぶ軌道（区間軌道）が計算される。次いで、この区間軌道を区間フレーム数Ｎで等分した部分軌道Ｆの内、該区間Ｓの開始点から数えて１番目の部分軌道Ｆ1と、障害物Ｄとの衝突判定が行われる。その結果、衝突すると判定された場合には、該衝突が判定された障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒが設定されて、該区間Ｓを対象とする衝突判定が終了する。
【００７３】
１フレーム目で回避通過点Ｒが設定されない場合には、続く２フレーム目において、同様に、その時点での該区間Ｓの始点及び終点の位置を基に区間軌道が計算され、この区間軌道を区間フレーム数Ｎで等分した部分軌道Ｆの内、該区間Ｓの始点から数えて２番目の部分軌道Ｆ2と障害物Ｄとの衝突判定が行われる。その結果、衝突が判定された場合には、該衝突すると判定された障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒが設定されて、該区間Ｓを対象とする衝突判定が終了する。
【００７４】
このように、区間フレーム数Ｎに等しいＮフレームの間、フレーム毎に、該区間の区間軌道が計算され、この区間軌道を区間フレーム数Ｎで等分した部分軌道Ｆの内、ｉフレーム目では、該区間Ｓの始点から数えてｉ番目の部分軌道Ｆと障害物Ｄとの衝突判定が行われる。その結果、衝突が判定されると、該衝突が判定された障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒが設定され、その時点で、該区間Ｓについての衝突判定が終了する。
【００７５】
このように、本実施形態では、発射点Ｐ0及び通過点Ｐ1，Ｐ2，・・・，ＰNそれぞれの間の区間Ｓ1，Ｓ2，・・・，ＳNを単位として、区間順にビームＢの進行が制御されるとともに、該ビームＢの進行制御の対象としている区間Ｓの次の区間Ｓを対象として、障害物Ｄとの衝突判定が行われる。即ち、実際ビームＢが進んでいる区間Ｓより１つ先行する区間Ｓについての衝突判定が事前に行われている。尚、回避通過点Ｒが設定された場合には、それを追加された通過点Ｐとして扱うこととしても良い。
【００７６】
［機能構成］
図１３は、本実施形態における業務用ゲーム装置１０００の機能構成を示すブロック図である。同図に示すように、業務用ゲーム装置１０００は、機能的には、操作入力部１００と、処理部２００と、画像表示部３３０と、音出力部３４０と、記憶部４００と、を備えて構成される。
【００７７】
操作入力部１００は、プレーヤによる操作指示を受け付け、操作に応じた操作信号を処理部２００に出力する。図１では、ガン型コントローラ３０がこれに該当し、検出した表示画面上の照準位置座標を処理部２００に出力するとともに、トリガ信号として、引き金３２が引かれていれば「ＯＮ」を、引かれていない（戻されている）ならば「ＯＦＦ」を、それぞれ処理部２００に出力する。
【００７８】
処理部２００は、業務用ゲーム装置１０００の全体制御やゲームの進行、画像生成等の各種演算処理を行う。この機能は、例えばＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＡＳＩＣ（ゲートアレイ等）等の演算装置やその制御プログラムにより実現される。図１では、制御ユニット４０に実装されているＣＰＵ等の演算処理装置がこれに該当する。
【００７９】
また、処理部２００は、主にゲームの実行に係る演算処理を行うゲーム演算部２１０と、ゲーム演算部２１０の処理によって求められた各種のデータに基づき、仮想カメラ等の所与の視点から見たゲーム空間の画像を生成する画像生成部２３０と、効果音やＢＧＭ等のゲーム音を生成する音生成部２４０と、を含んでいる。
【００８０】
ゲーム演算部２１０は、操作入力部１００から入力された操作信号や、記憶部４００から読み出したゲーム情報（プログラム及びデータ）等に基づいて種々のゲーム処理を実行する。ゲーム処理としては、例えばゲーム空間に各種オブジェクトを配置してゲームステージを構築する処理や、自キャラクタ及び敵キャラクタＥの制御、操作入力部１００からの操作信号に基づくビームＢの制御、仮想カメラ等の視点の制御、各種オブジェクトの交差判定（衝突判定）等がある。また、本実施形態では、ゲーム演算部２１０は、敵キャラ制御部２１２と、ロックオン管理部２１４と、ビーム制御部２１６と、を含んでいる。
【００８１】
敵キャラ制御部２１２は、標的候補体である敵キャラクタＥを制御する。具体的には、フレーム毎に、所定の制御ルーチンに従って敵キャラクタＥの位置を演算して再配置するとともに、敵キャラ情報４２６を更新する。
【００８２】
敵キャラ情報４２６は、敵キャラクタＥの位置に関する情報である。図１４に、敵キャラ情報４２６のデータ構成の一例を示す。同図に示すように、敵キャラ情報４２６は、該ゲームに登場する各敵キャラクタについて、該敵キャラクタを識別する敵キャラ名（４２６ａ）と、現在位置（４２６ｂ）とを対応付けて格納している。この現在位置（４２６ｂ）は、敵キャラ制御部２１２によってフレーム毎に更新される。
【００８３】
ロックオン管理部２１４は、操作入力部１００から入力される操作信号に基づいて、敵キャラクタＥのロックオンを管理する。具体的には、引き金３２が引かれている（ホールドされている）場合、即ち、操作入力部１００から入力されるトリガ信号が「ＯＮ」である場合には、操作入力部１００から入力される照準位置信号を基に仮想三次元空間（ゲーム空間）での狙い方向（銃口の向く方向）を表すベクトルを算出し、このベクトルと各敵キャラクタＥのポリゴンとの衝突判定を行うことで、敵キャラクタＥをロックオンするか否かを判断する。そして、ロックオンすると判断した場合には、該敵キャラクタＥの名称（敵キャラ名）をロックオンリスト４５２に追加する。
【００８４】
ロックオンリスト４５２とは、現在ロックオンされている敵キャラクタＥのリスト（一覧）である。図１５に、ロックオンリスト４５２の一例を示す。同図に示すように、ロックオンリスト４５２は、ロックオンされている敵キャラクタＥの名称（敵キャラ名）を、そのロックオン順に蓄積している。このロックオンリスト４５２は、ロックオン管理部２１４によってロックオンすると判断された敵キャラクタＥの名称（敵キャラ名）が追加される。そして、ビーム制御部２１６によるビーム制御が行われると、蓄積されている敵キャラ名が削除されてクリアされる。
【００８５】
ビーム制御部２１６は、移動体であるビームＢを制御する。具体的には、引き金３２が離された場合、即ち、操作入力部１００から入力されるトリガ信号が「ＯＮ」から「ＯＦＦ」に変化すると、ビームＢの発射指示が入力されたと判断して、発射点Ｐ0からビームＢを発射させ、現在ロックオンしている敵キャラクタＥを順に攻撃するように移動させる制御を開始する。
【００８６】
具体的には、ビーム制御部２１６は、ビームＢの発射指示が入力されたと判断すると、ロックオンリスト４５２に蓄積されている各敵キャラクタＥについて、敵キャラ情報４２６を参照して、その現在位置と発射点Ｐ0とを基にビームＢの通過順を決定し、決定した通過順に標的Ｔ1，Ｔ2，・・・，ＴNとした後、軌道計算用テーブル４５４を作成する。
【００８７】
軌道計算用テーブル４５４とは、ビームＢの制御のための軌道の計算に必要なデータを格納するデータテーブルであり、ビームＢの発射１回毎に１つの軌道計算用テーブル４５４が作成される。図１６に、軌道計算用テーブル４５４のデータ構成の一例を示す。同図に示すように、軌道計算用テーブル４５４は、標的テーブル４５５と、回避通過点テーブル４５６とを含んでいる。
【００８８】
標的テーブル４５５は、標的Ｔに関するデータを格納するデータテーブルであり、標的（４５５ａ）毎に、該標的Ｔとされた敵キャラクタＥの名称（敵キャラ名）（４５５ｂ）と、通過点（４５５ｃ）と、該通過点Ｐの接線ベクトル（４５５ｄ）と、を対応付けて格納している。
【００８９】
通過点（４５５ｃ）は、対応する標的Ｔである敵キャラクタＥの代表点の位置座標が格納され、フレーム毎に、対応する敵キャラクタＥの位置の変化（移動）に伴って更新される。接線ベクトル（４５５ｄ）は、通過点（４５５ｃ）の変化に伴って、フレーム毎に更新される。
【００９０】
また、回避通過点テーブル４５６は、回避通過点Ｒに関するデータを格納するデータテーブルであり、区間（４５６ａ）毎に、回避通過点（４５６ｂ）と、該回避通過点Ｒの接線ベクトル（４５６ｃ）と、を対応付けて格納している。
【００９１】
回避通過点（４５６ｂ）は、ビーム制御部２１６により障害物との衝突判定が行われた際に設定された回避通過点Ｒの位置座標が格納される。即ち、対応する区間Ｓの衝突判定が行われていない場合、或いは、衝突判定が行われたけれども回避通過点Ｒが設定されなかった場合には、データ無し（「−」）とされる。
【００９２】
接線ベクトル（４５６ｃ）は、対応する回避通過点（４５６ｂ）が設定された際に、その時点での通過点Ｐの位置に基づいて算出された値が格納され、標的テーブル４５５の通過点（４５５ｃ）の変化に伴って、フレーム毎に更新される。対応する回避通過点（４５６ｂ）が設定されていない場合には、データ無し（「−」）とされる。
【００９３】
ビーム制御部２１６は、標的Ｔ1，Ｔ2，・・・，ＴNそれぞれに対応する敵キャラクタＥの現在位置を通過点Ｐ1，Ｐ2，・・・，ＰNの位置とするとともに、これら通過点Ｐ1，Ｐ2，・・・，ＰNのそれぞれについて接線ベクトルａ1，ａ2，・・・，ａNを算出する。そして、各標的Ｔに、対応する敵キャラクタＥの名称（敵キャラ名）と、設定した通過点Ｐの位置座標と、算出した該通過点Ｐの接線ベクトルａとを対応付けて、標的テーブル４５５を作成する。更に、発射点Ｐ0の位置及び接線ベクトルａ0を算出し、これをこの標的テーブル４５５の先頭に追加する。
【００９４】
また、ビーム制御部２１６は、発射点Ｐ0及び通過点Ｐ1，Ｐ2，・・，ＰNそれぞれの間の区間Ｓ1，Ｓ2，・・・，ＳNについて、回避通過点Ｒ及びこの回避通過点Ｒの接線ベクトルｂを全て未設定（「−」）として、回避通過点テーブル４５６を作成する。
【００９５】
その後、ビーム制御部２１６は、開始区間（区間Ｓ1）について衝突判定を行う。即ち、標的テーブル４５５を参照して、発射点Ｐ0から通過点Ｐ1までの区間軌道を計算し、この区間軌道と障害物Ｄとの衝突判定を行う。その結果、衝突が判定された障害物Ｄが在る場合には、ステージ構築情報４２２を参照して、その障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒ1を算出するとともに、標的テーブル４５５を参照して、この算出した回避通過点Ｒ1の接線ベクトルｂ1を算出する。そして、算出した回避通過点Ｒ1及び接線ベクトルｂ1を回避通過点テーブル４５６に格納する。
【００９６】
続いて、ビーム制御部２１６は、区間Ｓ1，Ｓ2，・・・，ＳNを順に対象としてビームＢの進行制御を行う。即ち、ビーム制御部２１６は、区間フレーム数Ｎに等しいＮフレームの間、１フレーム毎に、軌道計算用テーブル４５４を参照して対象区間Ｓの区間軌道を計算し、計算した区間軌道を区間フレーム数Ｎで等分する区分点の内、ｉフレーム目では、該区間Ｓの始点から数えてｉ番目の区分点の位置をビームＢの到達位置Ｑとする。そして、この到達位置Ｑを先頭位置としてビーム通過位置情報４５８に追加する。
【００９７】
ビーム通過位置情報４５８は、発射１回分のビームＢの位置変化（移動）を示す情報である。図１７に、ビーム通過位置情報４５８のデータ構成の一例を示す。同図に示すように、ビーム通過位置情報４５８は、発射点Ｐ0を最後尾とし、現在位置を先頭として、フレーム毎のビームＢの位置を蓄積している。即ち、このビーム通過位置情報４５８は、ビームＢが発射されている間、１フレーム毎に、ビーム制御部２１６によって算出されたビームＢの到達位置Ｑが先頭位置として追加される。そして、１フレーム毎に、発射点Ｐ0である最後尾から先頭まで、蓄積されている到達位置Ｑを順に繋ぐ細い帯状のビームオブジェクトがゲーム空間に配置されることで、ゲーム画面にビームＢが延伸して表示されていく。
【００９８】
また、ビーム制御部２１６は、ビームＢの進行制御と並行して、ビームＢの進行制御の対象としている区間Ｓの次の区間Ｓ、即ちビームＢが区間Ｓ1を進行している際は区間Ｓ2を、ビームＢが区間Ｓ2を進行している際には区間Ｓ3を、といった順に対象区間を変更して衝突判定を行う。
【００９９】
即ち、ビーム制御部２１６は、区間フレーム数Ｎに等しいＮフレームの間、１フレーム毎に、標的テーブル４５５を参照して衝突判定の対象区間の区間軌道を計算し、計算した区間軌道を区間フレーム数Ｎで等分した部分軌道Ｆの内、ｉフレーム目では、該区間Ｓの始点から数えてｉ番目の部分軌道Ｆと障害物Ｄとの衝突判定を行う。その結果、衝突を判定した場合には、ステージ構築情報４２２を参照して、その衝突を判定した障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒを算出するとともに、該回避通過点Ｒの接線ベクトルｂを算出して、算出した回避通過点Ｒ及び接線ベクトルｂを回避通過点テーブル４５６に格納する。そして、該区間Ｓに対する衝突判定を終了する。
【０１００】
画像生成部２３０は、ゲーム演算部２１０による演算結果に基づき、ゲーム画面を表示するためのゲーム画像（３ＤＣＧ画像）を生成し、生成した画像の画像信号を画像表示部３３０に出力する。
画像表示部３３０は、画像生成部２３０からの画像信号に基づいて、例えば１／６０秒毎に１フレームの画面を再描画しながらゲーム画面を表示する。この機能は、例えばＣＲＴ、ＬＣＤ、ＥＬＤ、ＰＤＰ、ＨＭＤ等のハードウェアによって実現される。図１では、ディスプレイ１０がこれに該当する。
【０１０１】
音生成部２４０は、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部３４０に出力する。
音出力部３４０は、音生成部２４０からの音信号に基づいて、ＢＧＭや効果音等のゲーム音声を出力する。この機能は、例えばスピーカ等によって実現される。図１では、スピーカ２０がこれに相当する。
【０１０２】
記憶部４００は、処理部２００に業務用ゲーム装置１０００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なプログラムやデータ等を記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えば各種ＩＣメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＡＭ、ＶＲＡＭ等によって実現される。図１では、制御ユニット４０に実装されているＲＯＭやＲＡＭ等がこれに該当する。
【０１０３】
また、記憶部４００は、処理部２００をゲーム演算部２１０として機能させるためのゲームプログラム４１０及びゲームデータを記憶する。ゲームデータには、ステージ構築情報４２２と、自キャラ情報４２４と、敵キャラ情報４２６と、視点情報４２８と、ロックオンリスト４５２と、軌道計算用テーブル４５４と、ビーム通過位置情報４５８と、が含まれている。
【０１０４】
ステージ構築情報４２２は、ゲームステージを構築するためのオブジェクトに関する情報である。図１８に、ステージ構築情報４２２のデータ構成の一例を示す。同図に示すように、ステージ構築情報４２２は、仮想三次元空間（ゲーム空間）に配置されてゲームステージを構成する各オブジェクトについて、該オブジェクトを識別するオブジェクト名（４２２ａ）と、配置位置（４２２ｂ）と、モデル情報（４２２ｃ）と、障害物フラグ（４２２ｄ）と、回避方向（４２２ｅ）と、回避距離（４２２ｆ）と、を対応付けて格納している。
【０１０５】
障害物フラグ（４２２ｄ）は、対応するオブジェクトが障害物であるか否かを示すフラグであり、障害物であるならば「１」に設定され、障害物でないならば「０」に設定されている。
【０１０６】
回避方向（４２２ｅ）及び回避距離（４２２ｆ）は、対応するオブジェクトが障害物である場合にのみその値が設定され、障害物でない場合にはデータ無し（「−」）とされる。回避方向（４２２ｅ）は、対応するオブジェクトが軌道と衝突すると判定された場合に、衝突位置Ｃに対して回避通過点Ｒが設定される方向である。ここでは、オブジェクトの種類に応じて、「上」若しくは「横」が設定される。また、回避距離（４２２ｆ）は、対応するオブジェクトが軌道と衝突すると判定された場合に設定される回避通過点Ｒの位置の、衝突位置Ｃとの間の距離である。
【０１０７】
従って、ビーム制御部２１６によって軌道と障害物Ｄとが衝突すると判定された場合には、その衝突位置Ｃから、該衝突すると判定された障害物Ｄに対応付けられている回避方向（４２２ｅ）が示す方向へ、回避距離（４２２ｆ）が示す距離だけ離れた位置に、回避通過点Ｒが設定される。
【０１０８】
自キャラ情報４２４は、自キャラクタに関する情報であり、自キャラクタの現在位置やモデル情報等を含んでいる。この自キャラ情報４２４に含まれる現在位置を基に、ビームＢの発射点Ｐ０が決定される。
【０１０９】
視点情報４２８は、仮想カメラ等の視点の情報であり、現在の始点の位置や姿勢、画角等を含んでいる。
【０１１０】
［処理の流れ］
次に、本実施形態の処理の流れを説明する。
【０１１１】
図１９は、本実施形態におけるゲーム全体の進行処理の流れを説明するためのフローチャートである。この処理は、ゲーム演算部２１０がゲームプログラム４１０を実行することで実現される。同図に示すように、ゲーム進行処理では、ゲーム演算部２１０は、先ず、ステージ構築情報４２２に基づいてゲームステージを構築し、構築したゲームステージに、自キャラクタや敵キャラクタＥを配置する（ステップＴＡ１１）。その後、１フレーム毎に、自キャラクタや敵キャラクタＥ、視点（仮想カメラ等）を再配置し、視点に基づくゲーム画像の生成・表示をさせるといったゲーム通常処理を開始する（ステップＴＡ１３）。
【０１１２】
次いで、ロックオン管理部２１４が、操作入力部１００から入力されるトリガ信号を基に引き金３２がホールドされた（引かれた）か否かを判断し、ホールドされたと判断すると（ステップＴＡ１５：ＹＥＳ）、敵キャラクタＥをロックオンするか否かを判定する。その結果、ロックオンすると判定したならば（ステップＴＡ２３：ＹＥＳ）、該当する敵キャラクタＥの名称をロックオンリスト４５２に追加（蓄積）する（ステップＴＡ２５）。
【０１１３】
続いて、ビーム制御部２１６が、操作入力部１００から入力されるトリガ信号を基に、引き金３２が離された（戻された）か否かを判断し、離されていないと判断したならば（ステップＴＡ２７：ＮＯ）、ステップＴＡ１７に戻る。また、引き金３２が離されたと判断したならば（ステップＴＡ２７：ＹＥＳ）、ビームＢを発射するための処理を開始する。即ち、ロックオンリスト４５２に敵キャラクタＥが蓄積されているか否かを判定し、蓄積されているならば（ステップＴＡ２９：ＹＥＳ）、続いて、ビーム発射処理を実行する（ステップＴＡ３１）。
【０１１４】
図２０は、ビーム発射処理の流れを説明するためのフローチャートである。同図に示すように、ビーム発射処理では、ビーム制御部２１６は、先ず、発射時処理を実行する（ステップＴＡ１１１）。
【０１１５】
図２１は、発射時処理の流れを説明するためのフローチャートである。同図に示すように、発射時処理では、ビーム制御部２１６は、先ず、ビーム通過位置情報４５８をクリアし、発射点Ｐ0のみを格納した新たなビーム通過位置情報４５８を作成する（ステップＴＡ２１１）。次いで、ロックオンリスト４５２に蓄積されている敵キャラクタＥについて、その現在位置と発射点Ｐ0との位置関係を基にビームＢの通過順序を決定し、決定した通過順に標的Ｔ1，Ｔ2，・・・，ＴNとする（ステップＴＡ２１３）。
【０１１６】
続いて、ビーム制御部２１６は、新たな軌道計算用テーブル４５４を作成する（ステップＴＡ２１５）。具体的には、各標的Ｔに対応する敵キャラクタＥの現在位置を通過点Ｐの位置とし、これら各通過点の接線ベクトルａを算出する。そして、各標的Ｔそれぞれに、対応する敵キャラクタＥの名称（的キャラ名）と、設定した通過点Ｐの位置座標と、算出した接線ベクトルａとを対応付けて、標的テーブル４５５を作成する。また、発射点Ｐ0及び各通過点のそれぞれの間の区間Ｓについて、回避通過点Ｒ及び該回避通過点Ｒの接線ベクトルｂを全て未設定「−」として、回避通過点テーブル４５６を作成する。
【０１１７】
その後、ビーム制御部２１６は、軌道計算用テーブル４５４を基に開始区間（区間Ｓ1）の軌道（開始区間軌道）を計算し（ステップＴＡ２１７）、ステージ構築情報４２２を参照して、計算した開始区間軌道と障害物Ｄとの衝突判定を行う（ステップＴＡ２１９）。その結果、障害物Ｄとの衝突の発生を判定したならば（ステップＴＡ２２１：ＹＥＳ）、ステージ構築情報４２２を参照して、該衝突を判定した障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒ1を算出するとともに、この回避通過点Ｒ1の接線ベクトルｂ1を算出する（ステップＴＡ２２３）。そして、この回避通過点Ｒ1と接線ベクトルｂ1とを回避通過点テーブル４５６に格納する（ステップＴＡ２２５）。
以上の処理を行うと、ビーム制御部２１６は、発射時処理を終了する。
【０１１８】
発射時処理を終了すると、続いて、ビーム制御部２１６は、初期設定として、ビームの発射点Ｐ0を始点とし、１番目の通過点Ｐ1を終点とする区間Ｓ1を“現区間”とし、この区間Ｓ1の次の区間Ｓ、即ち区間Ｓ2を“次区間”とする。また、変数ｉを「１」に設定する（ステップＴＡ１１３）。その後、ビーム延伸処理を実行する（ステップＴＡ１１５）。
【０１１９】
図２２は、ビーム延伸処理の流れを説明するためのフローチャートである。同図に示すように、ビーム延伸処理では、ビーム制御部２１６は、軌道計算用テーブル４５４を参照して、現区間の軌道（現区間軌道）を計算する（ステップＴＡ３１１）。そして、計算した現区間軌道を区間フレーム数Ｎで等分する区分点の内、現区間の始点から数えてｉ番目の区分点をビームＢ到達位置Ｑとし（ステップＴＡ３１３）、この到達位置Ｑを先頭位置としてビーム通過位置情報４５８に追加する（ステップＴＡ３１５）。その後、画像生成部２３０により、更新後のビーム通過位置情報４５８を基にビームＢが再描画されて、この到達位置ＱまでビームＢが延伸されて表示される（ステップＴＡ３１７）。
以上の処理を行うと、ビーム延伸処理を終了する。
【０１２０】
ビーム延伸処理を終了すると、ビーム制御部２１６は、変数ｉが所定の区間フレーム数Ｎに一致するか否かを判定し、一致するならば（ステップＴＡ１１７：ＹＥＳ）、現区間の終点までビームＢが進んだので、現区間の終点に対応する敵キャラクタＥに対する被弾処理を行う（ステップＴＡ１１９）。
【０１２１】
次いで、ビーム制御部２１６は、次区間が設定されているか否かを判定し、設定されているならば（ステップＴＡ１２１：ＹＥＳ）、続いて、事前判定処理を実行する（ステップＴＡ１２３）。
【０１２２】
図２３は、事前判定処理の流れを説明するためのフローチャートである。同図に示すように、事前判定処理では、ビーム制御部２１６は、回避通過点テーブル４５６を参照して、次区間に既に回避通過点が設定されているか否かを判定し、設定されているならば（ステップＴＡ４１１：ＹＥＳ）、事前判定処理を終了する。
【０１２３】
一方、次区間には未だ回避通過点Ｒが設定されていないならば（ステップＴＡ４１１：ＮＯ）、ビーム制御部２１６は、軌道計算用テーブル４５４を参照して次区間の軌道（次区間軌道）を計算する（ステップＴＡ４１３）。そして、計算した次区間軌道を区間フレーム数Ｎで等分して、次区間の始点から数えてｉ番目の部分軌道Ｆを算出し（ステップＴＡ４１５）、このｉ番目の部分軌道Ｆと障害物Ｄとの衝突判定を行う（ステップＴＡ４１７）。
【０１２４】
その結果、衝突の発生を判定したならば（ステップＴＡ４１９：ＹＥＳ）、ビーム制御部２１６は、該衝突を判定した障害物Ｄとの衝突位置Ｃを基に回避通過点Ｒを算出し（ステップＴＡ４２１）、算出した回避通過点Ｒを回避通過点テーブル４５６に格納する（ステップＴＡ４２３）。
以上の処理を行うと、ビーム制御部２１６は、事前判定処理を終了する。
【０１２５】
事前判定処理が終了すると、ビーム制御部２１６は、変数ｉが区間フレーム数Ｎに一致するか否かを判定し、一致しないならば（ステップＴＡ１２５：ＮＯ）、変数ｉを「１」加算した値に更新する（ステップＴＡ１２７）。また、標的Ｔである各敵キャラクタＥの位置の変化（移動）に基づいて、標的テーブル４５５の該当する通過点Ｐの位置座標を更新する（ステップＴＡ１２９）。その後、ステップＴＡ１１５に戻る。
【０１２６】
また、ステップＴＡ１２５において、変数ｉが区間フレーム数Ｎに一致しないならば（ステップＴＡ１２５：ＮＯ）、ビーム制御部２１６は、次区間が設定されているか否かを判定し、設定されているならば（ステップＴＡ１３１：ＹＥＳ）、この次区間を“現区間”とする（ステップＴＡ１３３）。更に、次区間の次の区間Ｓが有るか否かを判定し、有るならば（ステップＴＡ１３５：ＹＥＳ）、この次の区間Ｓを“次区間”とし（ステップＴＡ１３７）、無いならば（ステップＴＡ１３５：ＮＯ）、“次区間”を「無し」とする（ステップＴＡ１３９）。
【０１２７】
続いて、ビーム制御部２１６は、変数ｉを初期値「１」に更新する（ステップＴＡ１４１）。また、標的Ｔである各敵キャラクタＥの位置の変化（移動）に基づいて、軌道計算用テーブル４５４を更新する。即ち、標的テーブル４５５における通過点Ｐの位置座標を更新し、これに伴って通過点Ｐの接線ベクトルａを算出・更新するとともに、回避通過点テーブル４５６における回避通過点Ｒの接線ベクトルｂを算出・更新する（ステップＴＡ１２９）。その後、ステップＴＡ１１５に戻る。
このステップＴＡ１１５〜ＴＡ１４１の処理が、１フレームの間の処理である。
【０１２８】
また、ステップＴＡ１３１において、次区間が設定されていないならば（ステップＴＡ１３１：ＮＯ）、最後の通過点ＴNまでビームＢが進んだので、所定のビーム終了処理を実行し（ステップＴＡ１４３）、その後、ビーム発射処理を終了する。ここで、「所定のビーム終了処理」とは、最後の通過点ＰＮまで到達したビームＢを、例えばその時点での移動ベクトルを保持したまま移動させ、画面外に出た後、ビームＢの表示を消去させる処理である。
【０１２９】
ビーム発射処理が終了すると、ビーム制御部２１６は、ロックオンリスト４５２に蓄積されている敵キャラクタＥ（敵キャラ名）を削除して、ロックオンリスト４５２をクリアする（ステップＴＡ３３）。その後、ゲームを終了するか否かを判断し、終了しないならば（ステップＴＡ３５：ＮＯ）、ステップＴＡ１３に戻る。一方、ゲームを終了するならば（ステップＴＡ３５：ＹＥＳ）、所定のゲーム終了処理を行った後、ゲーム進行処理を終了する。
【０１３０】
［ハードウェア構成］
図２４は、本実施の形態における業務用ゲーム装置１０００のハードウェア構成の一例を示す図である。同図によれば、業務用ゲーム装置１０００は、ＣＰＵ１００２と、ＲＯＭ１００４と、ＲＡＭ１００６と、情報記憶媒体１００８と、画像生成ＩＣ１０１０と、音生成ＩＣ１０１２と、Ｉ／Ｏポート１０１４，１０１６とを有し、システムバス１０３０により相互にデータの入出力が可能に接続されている。また、画像生成ＩＣ１０１０には表示装置１０１８が接続され、音生成ＩＣ１０１２にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１４にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１６には通信装置１０２４が接続されている。
【０１３１】
ＣＰＵ１００２は、情報記憶媒体１００８に格納されているプログラムやデータ、ＲＯＭ１００４に格納されているシステムプログラムやデータ、コントロール装置１０２２によって入力される操作入力信号等に従って、業務用ゲーム装置１０００全体の制御や各種データ処理を行う。このＣＰＵ１００２は、図１３の処理部２００に該当する。
【０１３２】
ＲＯＭ１００４、ＲＡＭ１００６及び情報記憶媒体１００８は、図１３の記憶部４００に該当する。ＲＯＭ１００４は、業務用ゲーム装置１０００のシステムプログラムや、図１３の記憶部４００に記憶されている情報の内、特に、予め設定されているプログラムやデータ等を記憶する。ＲＡＭ１００６は、ＣＰＵ１００２の作業領域として用いられる記憶手段であり、例えば、ＲＯＭ１００４や情報記憶媒体１００８の所与の内容、１フレーム分の画像データ、ＣＰＵ１００２の演算結果等が格納される。また、情報記憶媒体１００８は、ＩＣメモリカードや本体装置に着脱自在なハードディスクユニット、ＭＯ等によって実現される。
【０１３３】
画像生成ＩＣ１０１０は、ＣＰＵ１００２からの画像情報に基づいて表示装置１０１８に表示するゲーム画面の画素情報を生成する集積回路である。表示装置１０１８は、画像生成ＩＣ１０１０で生成された画素情報に基づくゲーム画面を表示する。この画像生成ＩＣ１０１０は、図９の画像生成部３２に該当し、表示装置１０１８は、図１３の画像表示部３３０、図１のディスプレイ１０に該当する。
【０１３４】
音生成ＩＣ１０１２は、情報記憶媒体１００８やＲＯＭ１００４に記憶される情報に基づいて効果音やＢＧＭ等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。この音生成ＩＣ１０１２は、図１３の音生成部２４０に該当し、スピーカ１０２０は、図１３の音出力部３４０、図１のスピーカ２０に該当する。
【０１３５】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１０１２等で行われる処理は、ＣＰＵ１００２或いは汎用のＤＳＰ等によってソフトウェア的に実行されることとしても良い。
【０１３６】
コントロール装置１０２２は、プレーヤがゲームの進行に応じて種々のゲーム操作を入力するための装置である。このコントロール装置１０２２は、図１３の操作入力部１００、図１のガン型コントローラ３０に該当する。
【０１３７】
通信装置１０２４は、業務用ゲーム装置１０００内部で使用される各種情報を外部とやり取りするための装置であり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受信したり、通信回線を介してゲームプログラム等の情報を送受信する等に利用される。
【０１３８】
［作用・効果］
以上のように、本実施形態によれば、引き金３２が戻されてビームＢの発射指示が入力されると、その時点でロックオンされている敵キャラクタＥについて、ビームＢの発射位置Ｐ0との位置関係を基に決定されたビームＢの通過順に、標的Ｔ1，Ｔ2，・・・、ＴNとされ、これら標的Ｔ1，Ｔ2，・・・，ＴNに該当する敵キャラクタＥの位置に、通過点Ｐ1，Ｐ2，・・・，ＰNが設定される。
【０１３９】
次いで、発射点Ｐ0及び各通過点Ｐそれぞれの間の区間Ｓについて、該区間Ｓの始点と終点とを結ぶ軌道（区間軌道）が計算され、この区間軌道と障害物Ｄとの衝突判定が行われる。その結果、衝突が判定された区間Ｓについては、その衝突が判定された障害物Ｄの近傍（周辺）に回避通過点Ｒが設定され、該回避通過点Ｒを通る回避用軌道が計算される。そして、区間毎に計算された区間軌道（回避用軌道が計算された区間Ｓについては、この回避用軌道）を区間順に繋ぐことで、発射点Ｐ0から各通過点Ｐを順に通過する軌道全体が計算される。その後、ビームＢが、この軌道全体に沿って進むように制御される。
【０１４０】
従って、ゲーム空間に配置されている各種の障害物（オブジェクト）との衝突を回避しつつ、標的体であるロックオンした敵キャラクタＥを確実に通過（貫通）するようなビームＢの制御が実現される。またこのとき、各区間Ｓの軌道は曲線として計算されるので、滑らかで自然なビームＢの移動が実現される。
【０１４１】
また、ビームＢの発射点Ｐ0からロックオンした各敵キャラクタＥの位置である通過点Ｐを順に通過する軌道と障害物Ｄとの衝突判定が行われることで、さほど大きな処理負荷をかけることなく、事前のビームＢと障害物Ｄとの衝突判定を実現できる。
【０１４２】
更に、衝突判定の結果、障害物Ｄとの衝突が判定された区間Ｓについては、その障害物Ｄの近傍に設定した回避通過点Ｒを通過する回避用軌道に沿ってビームＢを進める（移動させる）といった簡易な方法で、確実に障害物Ｄを回避させるビームＢの制御を実現できる。
【０１４３】
［変形例］
尚、本発明の適用は上述した実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１４４】
例えば、上述した実施形態では、本発明を業務用ゲーム装置に適用した場合について説明したが、業務用ゲーム装置のみではなく、家庭用ゲーム装置といった種々の装置にも同様に適用できる。
【０１４５】
図２５は、本発明を適用した家庭用ゲーム装置の概略外観図である。同図に示すように、家庭用ゲーム装置１２００は、本体装置１２２０と、プレーヤがゲーム操作を入力するための方向キー１２１２やボタンスイッチ１２１４を有するゲームコントローラ１２１０と、スピーカ１２３２を有するディスプレイ１２３０と、を備える。ゲームコントローラ１２１０は本体装置１２２０に接続され、ディスプレイ１２３０は、画像信号及び音信号を伝送可能なケーブル１２０２によって本体装置１２２０に接続されている。
【０１４６】
本体装置１２２０がゲーム処理を行うために必要なプログラムやデータ等を含むゲーム情報等は、例えば本体装置１２２０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２４０やメモリカード１２５２、ＩＣカード１２５４等に格納されている。或いは、ゲーム情報等は、本体装置１２２０が具備する通信装置１２２４を介して通信回線Ｎに接続し、外部装置から取得することとしても良い。ここで、通信回線Ｎとは、データ授受が可能な通信路を意味する。即ち、通信回線Ｎとは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方式については有線／無線を問わない。
【０１４７】
また、本体装置１２２０は、例えばＣＰＵの他、ＲＯＭやＲＡＭ等のメモリを搭載した制御ユニット１２２２、ＣＤ−ＲＯＭ１２４０等の情報記憶媒体の読取装置を具備する。本体装置１２２０は、ＣＤ−ＲＯＭ１２４０等から読み出したゲーム情報と、ゲームコントローラ１２１０からの操作信号とに基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、生成した画像信号及び音信号をディスプレイ１２３０に出力して、ディスプレイ１２３０にゲーム画面を表示させるとともに、スピーカ１２３２からゲーム音を出力させる。
【０１４８】
プレーヤは、ディスプレイ１２３０に表示されたゲーム画面を見て、スピーカ１２３２から出力されるゲーム音を聞きながら、ゲームコントローラ１２１０を操作してシューティングゲームを楽しむ。具体的には、例えばカーソルキー１２１２を操作して画面上の照準位置を移動させて敵キャラクタＥをロックオンし、ボタンスイッチ１２１４を操作することでビームＢの発射指示を入力することができる。
【図面の簡単な説明】
【０１４９】
【図１】実施形態における業務用ゲーム装置の外観例。
【図２】ロックオン中のゲーム画面例。
【図３】ビーム発射中のゲーム画面例。
【図４】敵キャラクタのビーム通過順決定の説明図。
【図５】ビーム制御の概要図。
【図６】エルミート曲線の説明図。
【図７】発射点及び通過点の接線ベクトルの決定方法。
【図８】回避通過点の接線ベクトルの決定方法。
【図９】回避通過点の設定方法。
【図１０】開始区間の衝突判定の説明図。
【図１１】各区間のビームの進行制御の説明図。
【図１２】各区間の衝突判定の説明図。
【図１３】実施形態の機能構成図。
【図１４】敵キャラ情報のデータ構成例。
【図１５】ロックオンリストのデータ構成例。
【図１６】軌道計算用テーブルのデータ構成例。
【図１７】ビーム通過位置情報のデータ構成例。
【図１８】ステージ構築情報のデータ構成例。
【図１９】ゲーム進行処理の流れ図。
【図２０】ゲーム進行処理中に実行されるビーム発射処理の流れ図。
【図２１】ビーム発射処理中に実行される発射時処理の流れ図。
【図２２】ビーム発射時処理中に実行されるビーム延伸処理の流れ図。
【図２３】ビーム発射処理中に実行される事前判定処理の流れ図。
【図２４】ハードウェア構成図。
【図２５】本発明を適用する家庭用ゲーム装置の外観例。
【符号の説明】
【０１５０】
１０００  業務用ゲーム装置
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１２  敵キャラ制御部
２１４  ロックオン管理部
２１６  ビーム制御部
２３０  画像生成部
２４０  音生成部
３３０  画像表示部
３４０  音出力部
４００  記憶部
４１０  ゲームプログラム
４２２  ステージ構築情報
４２４  自キャラ情報
４２６  敵キャラ情報
４２８  視点情報
４５２  ロックオンリスト
４２４  軌道計算用テーブル
４２５  標的テーブル
４２６  回避通過点テーブル
４２８  ビーム通過位置情報
３０  ガン型コントローラ
３２  引き金
【図１】
2006116133.tif 000003
【図２】
2006116133.tif 000004
【図３】
2006116133.tif 000005
【図４】
2006116133.tif 000006
【図５】
2006116133.tif 000007
【図６】
2006116133.tif 000008
【図７】
2006116133.tif 000009
【図８】
2006116133.tif 000010
【図９】
2006116133.tif 000011
【図１０】
2006116133.tif 000012
【図１１】
2006116133.tif 000013
【図１２】
2006116133.tif 000014
【図１３】
2006116133.tif 000015
【図１４】
2006116133.tif 000016
【図１５】
2006116133.tif 000017
【図１６】
2006116133.tif 000018
【図１７】
2006116133.tif 000019
【図１８】
2006116133.tif 000020
【図１９】
2006116133.tif 000021
【図２０】
2006116133.tif 000022
【図２１】
2006116133.tif 000023
【図２２】
2006116133.tif 000024
【図２３】
2006116133.tif 000025
【図２４】
2006116133.tif 000026
【図２５】
2006116133.tif 000027