(57)【要約】【課題】第１、第２の移動体において従来にない対戦を行うことが可能なシューティングゲームを提供可能なプログラム、情報記憶媒体、端末、及びサーバを提供すること。【解決手段】第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、所定条件を満たすと判断し、所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける。そして、第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に第１の移動体を移動させる。【選択図】図１３
2012210243.tif 000002
【特許請求の範囲】
【請求項１】
シューティングゲームの処理を行うプログラムであって、
オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる移動体制御部と、
所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける受け付け部として、コンピュータを機能させ、
前記受け付け部が、
第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、
前記移動体制御部が、
第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記受け付け部が、
第１の移動体と第２の移動体との距離が第２の所定距離以内で第１の移動体が第２の移動体に追尾されている場合に、第１の移動体と第２の移動体との距離が第２の所定距離よりも短い第１の所定距離以内に狭まった場合に、前記所定条件を満たすと判断することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記受け付け部が、
オブジェクト空間における基準軸に対する第１の移動体の傾斜角度が所定角度内である場合に、前記所定条件を満たすと判断することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記受け付け部が、
第１の移動体と第２の移動体との相対速度が所定速度範囲内である場合に、前記所定条件を満たすと判断することを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記受け付け部が、
前記所定条件を満たす期間が第１の所定期間継続した後に、第１の特殊コマンドの入力情報を受け付けることを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記移動体制御部が、
第１の特殊コマンドの入力情報を受け付けた場合に、第２の移動体の方角を向くように、第１の移動体の向きを補正することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
第１の移動体と第２の移動体との距離に応じて変化するマーカを含む画像を生成する描画部として、コンピュータを更に機能させ、
前記描画部が、
前記所定条件を満たす場合に、第１の特殊コマンドの入力を指示する画像を生成することを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
第１の特殊コマンドの入力情報を受け付けた場合には、
第１の移動体の挙動に追従する第１の仮想カメラ情報と、第１の移動体が第２の移動体を追尾するまでの第１の移動体の移動を注視する第２の仮想カメラ情報とを設定し、
前記描画部が、
第１の特殊コマンドの入力情報を受け付けた場合には、
前記第１の仮想カメラ情報と前記第２の仮想カメラ情報とに基づいて、画像を生成することを特徴とするプログラム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記受け付け部が、
第２の移動体が第１の移動体に追尾されている場合に、第２の移動体が第１の移動体を追尾する位置に第２の移動体を移動させるための第１の特殊コマンドを実行する際に、当該第１の特殊コマンド実行開始時から第２の所定期間中に第２の特殊コマンドの入力情報を受け付け可能とし、
前記移動体制御部が、
第２の所定期間中に第２の特殊コマンドの入力情報を受け付けた場合には、第２の移動体の方角を向くように、第１の移動体の向きを制御することを特徴とするプログラム。
【請求項１０】
請求項９において、
第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
第２の所定期間中に第２の特殊コマンドの入力情報を受け付けた場合には、第１の移動体の向きに応じて、前記仮想カメラの視線方向を変化させることを特徴とするプログラム。
【請求項１１】
請求項９又は１０において、
前記移動体制御部が、
前記第２の所定期間中に第２の特殊コマンドの入力情報を受け付けなかった場合には、第１の移動体の挙動を制限することを特徴とするプログラム。
【請求項１２】
請求項１１において、
第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、
オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
第２の所定期間中に第２の特殊コマンドを受け付けなかった場合には、第１の特殊コマンド実行開始時から第１の移動体と第２の移動体との追尾関係が逆転するまで、第２の移動体を注視するように、前記仮想カメラの視線方向を制御することを特徴とするプログラム。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１２のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１４】
シューティングゲームの処理を行う端末であって、
オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる移動体制御部と、
所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける受け付け部と、を含み、
前記受け付け部が、
第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、
前記移動体制御部が、
第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させることを特徴とする端末。
【請求項１５】
シューティングゲームの処理を行うサーバであって、
ネットワークを介して端末から移動体制御用の入力情報、第１の特殊コマンドの入力情報を受信する通信制御部と、
オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる移動体制御部と、
所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける受け付け部と、を含み、
前記受け付け部が、
第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、
前記移動体制御部が、
第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、端末、及びサーバに関する。
【背景技術】
【０００２】
従来から、オブジェクト空間（仮想的３次元空間）内において仮想カメラ（所与の視点）から見える画像を生成する端末が知られており、いわゆる仮想現実を体験できるものとして人気が高い。例えば、ミサイル、機関砲などをターゲットオブジェクトにヒットさせて攻撃を行うシューティングゲームのための端末が存在する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２４０４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、シューティングゲームでは、移動体ＯＢ１の機軸に合わせて装備された機銃、ミサイルなどを用いて移動体ＯＢ２を攻撃する場合には、移動体ＯＢ１を移動体ＯＢ２の背後に配置させて攻撃操作を行うことが有効である。また、逆に、移動体ＯＢ２に移動体ＯＢ１の背後をとられてしまうと、敵からの攻撃を受け易くなるため、移動体ＯＢ２に背後を取られないように逃げる操作を行うことが有効である。
【０００５】
このように、従来のシューティングゲームでは、移動体ＯＢ２に移動体ＯＢ１の背後をとられてしまう場合には、プレーヤは移動体ＯＢ１を旋回させたり、ターンさせたりして逃げる操作を行うことが一般的であった。そのため、移動体ＯＢ１と移動体ＯＢ２とのせめぎ合いに欠けるものがあった。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、第１、第２の移動体において従来にない対戦を行うことが可能なシューティングゲームを提供可能なプログラム、情報記憶媒体、端末、及びサーバを提供することにある。
【課題を解決するための手段】
【０００７】
（１）本発明は、シューティングゲームの処理を行うプログラムであって、オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる移動体制御部と、所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける受け付け部として、コンピュータを機能させ、前記受け付け部が、第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、前記移動体制御部が、第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させるプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関する。
【０００８】
本発明によれば、第１の移動体が第２の移動体に追尾されている場合であっても、プレーヤが、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に第１の特殊コマンドの入力を行うことにより、第１の移動体を第２の移動体を追尾する位置に移動させることができる。つまり、本発明によれば、第１の移動体が第２の移動体から被弾され得る不利な立場から、第１の移動体が第２の移動体を射撃可能な有利な立場になる機会を得ることができる。したがって、本発明は、第１、第２の移動体において従来にない新たな対戦を行うことが可能なシューティングゲームを提供できる。
【０００９】
（２）また、本発明のプログラム、情報記憶媒体及び端末は、前記受け付け部が、第１の移動体と第２の移動体との距離が第２の所定距離以内で第１の移動体が第２の移動体に追尾されている場合に、第１の移動体と第２の移動体との距離が第２の所定距離よりも短い第１の所定距離以内に狭まった場合に、前記所定条件を満たすと判断するようにしてもよい。
【００１０】
本発明によれば、第１の移動体と第２の移動体との距離が第２の所定距離以内で第１の移動体が第２の移動体に追尾されている場合において、プレーヤは、第１の移動体と第２の移動体との距離が第２の所定距離よりも短い第１の所定距離以内に狭まるように、第１の移動体の入力操作を行うことが要求される。このように、本発明によれば、第１の移動体を操作するプレーヤは、例えば、第１の移動体を減速させて第２の移動体に近づくというリスクをとらないと、攻撃の機会を得ることができないようにすることができる。つまり、本発明は、第１、第２の移動体のせめぎ合いのあるシューティングゲームを提供できる。
【００１１】
（３）また、本発明のプログラム、情報記憶媒体及び端末は、前記受け付け部が、オブジェクト空間における基準軸に対する第１の移動体の傾斜角度が所定角度内である場合に、前記所定条件を満たすと判断するようにしてもよい。本発明によれば、第１の移動体が基準軸に対して適切な傾き状態である場合に、攻撃の機会を得るようにすることができる。
【００１２】
（４）また、本発明のプログラム、情報記憶媒体及び端末は、前記受け付け部が、第１の移動体と第２の移動体との相対速度が所定速度範囲内である場合に、前記所定条件を満たすと判断するようにしてもよい。本発明によれば、第１の移動体と第２の移動体との相対速度が所定速度範囲内であるという適切な状況下で、第１の移動体は攻撃の機会を得ることができる。
【００１３】
（５）また、本発明のプログラム、情報記憶媒体及び端末は、前記受け付け部が、前記所定条件を満たす期間が第１の所定期間継続した後に、第１の特殊コマンドの入力情報を受け付けるようにしてもよい。
【００１４】
本発明によれば、第１の移動体を操作するプレーヤは、第１の移動体と第２の移動体との距離が第１の所定距離以内で追尾されている状況を第１の所定期間維持するように操作する必要が生じる。つまり、第１の移動体は、第２の移動体から被弾されるリスクをとることによって攻撃の機会を得ることができる。このように、本発明は、第１、第２の移動体のせめぎ合いのあるシューティングゲームを提供できる。
【００１５】
（６）また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、第１の特殊コマンドの入力情報を受け付けた場合に、第２の移動体の方角を向くように、第１の移動体の向きを補正するようにしてもよい。
【００１６】
本発明によれば、第１の移動体から第２の移動体への向きに基づき、第１の移動体の向きを補正することによって、簡易に第２の移動体を射撃できるようにしている。
【００１７】
（７）また、本発明のプログラム、情報記憶媒体及び端末は、第１の移動体と第２の移動体との距離に応じて変化するマーカを含む画像を生成する描画部として、コンピュータを更に機能させ、前記描画部が、前記所定条件を満たす場合に、第１の特殊コマンドの入力を指示する画像を生成するようにしてもよい。
【００１８】
本発明によれば、第１の移動体を操作するプレーヤは、第１の移動体と第２の移動体との距離を確認することができるので、所定条件を満たすように第１の移動体を操作することができる。また、所定条件を満たす場合に、第１の特殊コマンドの入力を指示する画像が生成されるので、プレーヤに対して第１の特殊コマンドの入力タイミングを逃さないようにすることができる。
【００１９】
（８）また、本発明のプログラム、情報記憶媒体及び端末は、第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、第１の特殊コマンドの入力情報を受け付けた場合には、第１の移動体の挙動に追従する第１の仮想カメラ情報と、第１の移動体が第２の移動体を追尾するまでの第１の移動体の移動を注視する第２の仮想カメラ情報とを設定し、前記描画部が、第１の特殊コマンドの入力情報を受け付けた場合には、前記第１の仮想カメラ情報と前記第２の仮想カメラ情報とに基づいて、画像を生成するようにしてもよい。本発明によれば、第１の移動体が不利な立場から有利な立場に逆転する迫力のある画像を生成することができる。
【００２０】
（９）また、本発明のプログラム、情報記憶媒体及び端末は、前記受け付け部が、第２の移動体が第１の移動体に追尾されている場合に、第２の移動体が第１の移動体を追尾する位置に第２の移動体を移動させるための第１の特殊コマンドを実行する際に、当該第１の特殊コマンド実行開始時から第２の所定期間中に第２の特殊コマンドの入力情報を受け付け可能とし、前記移動体制御部が、第２の所定期間中に第２の特殊コマンドの入力情報を受け付けた場合には、第２の移動体の方角を向くように、第１の移動体の向きを制御するようにしてもよい。
【００２１】
本発明によれば、第２の特殊コマンドの入力により、第１の移動体の向きが、第２の移動体への方角を向くように制御される。したがって、第１の移動体の向きが、第２の移動体への方角を向く際に、第１の移動体が第２の移動体を射撃すれば、第１、第２の追尾関係が逆転する事態を阻止することができる。このように、本発明は、更に、白熱した対戦可能なシューティングゲームを提供することができる。
【００２２】
（１０）また、本発明のプログラム、情報記憶媒体及び端末は、第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、第２の所定期間中に第２の特殊コマンドの入力情報を受け付けた場合には、第１の移動体の向きに応じて、前記仮想カメラの視線方向を変化させるようにしてもよい。
【００２３】
本発明によれば、第２の所定期間中に第２の特殊コマンドを受け付けた場合には、第１の移動体の向きに応じて、仮想カメラの視線方向を変化させる。したがって、例えば、第１の移動体が第２の移動体を射撃する様子をリアルに表現できる。
【００２４】
（１１）また、本発明のプログラム、情報記憶媒体及び端末は、前記移動体制御部が、前記第２の所定期間中に第２の特殊コマンドの入力情報を受け付けなかった場合には、第１の移動体の挙動を制限するようにしてもよい。
【００２５】
本発明によれば、第２の移動体が第１の移動体を追尾する有利な立場であったにもかかわらず、その有利な立場を生かしきれなかった場合には、ペナルティとして第２の移動体の挙動が制限される。つまり、本発明によれば、第２の移動体が第１の移動体に追尾されるとなった場合に被弾されやすい状況を作り出すことができ、第１、第２の移動体において、より白熱した対戦が可能なシューティングゲームを提供することができる。
【００２６】
（１２）また、本発明のプログラム、情報記憶媒体及び端末は、第１の移動体の挙動に追従する仮想カメラを制御する仮想カメラ制御部と、オブジェクト空間において、前記仮想カメラから見える画像を生成する描画部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、第２の所定期間中に第２の特殊コマンドを受け付けなかった場合には、第１の特殊コマンド実行開始時から第１の移動体と第２の移動体との追尾関係が逆転するまで、第２の移動体を注視するように、前記仮想カメラの視線方向を制御するようにしてもよい。
【００２７】
本発明によれば、第１の移動体が第２の移動体を追尾する有利な立場から、第１の移動体が第２の移動体に追尾される不利な立場に変化する様子を表現できる。
【００２８】
（１３）また、本発明は、シューティングゲームの処理を行うサーバであって、ネットワークを介して端末から移動体制御用の入力情報、第１の特殊コマンドの入力情報を受信する通信制御部と、オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる移動体制御部と、所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける受け付け部と、を含み、前記受け付け部が、第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、前記移動体制御部が、第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させるサーバに関する。
【００２９】
本発明によれば、第１の移動体が第２の移動体に追尾されている場合であっても、プレーヤの端末から受信した、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に第１の特殊コマンドの入力を受け付けることにより、第１の移動体を第２の移動体を追尾する位置に移動させることができる。つまり、本発明によれば、第１の移動体が、第２の移動体から被弾され得る不利な立場において、逆に、第１の移動体が第２の移動体を追い射撃攻撃可能な有利な立場となる機会を得ることができる。したがって、本発明は、第１、第２の移動体において白熱した対戦を行うことが可能となる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本実施形態の端末の構成の一例である。
【図２】図２（Ａ）〜（Ｃ）は、通常戦闘時の仮想カメラ制御の説明図。
【図３】図３は、第１の特殊コマンド（攻守交替コマンド）の説明図。
【図４】図４は、近接戦闘モードの説明図。
【図５】図５（Ａ）〜（Ｃ）は、移動体の傾斜角度を説明するための図。
【図６】図６（Ａ）〜（Ｃ）は、移動体の傾斜角度を説明するための図。
【図７】図７は、第１の特殊コマンド（攻守交替コマンド）の説明図。
【図８】図８は、マニューバに対応する入力情報、移動ルート情報、カメラ情報についての対応表。
【図９】図９（Ａ）（Ｂ）は、移動体の向き補正の説明図。
【図１０】図１０（Ａ）〜（Ｃ）は、生成画像の一例。
【図１１】図１１は生成画像の一例。
【図１２（Ａ）】図１２（Ａ）は、仮想カメラの制御を説明するための図。
【図１２（Ｂ）】図１２（Ｂ）は、仮想カメラの制御を説明するための図。
【図１３】図１３は、本実施形態のフローチャート。
【図１４】図１４は、第２の特殊コマンド（敵追尾コマンド）の説明図。
【図１５】図１５は、第２の特殊コマンド（敵追尾コマンド）の説明図。
【図１６】図１６は、第２の特殊コマンド（敵追尾コマンド）の説明図。
【図１７】図１７は、第２の特殊コマンド（敵追尾コマンド）の説明図。
【図１８】図１８（Ａ）（Ｂ）は、生成画像の一例。
【図１９】図１９は、仮想カメラの制御を説明するための図。
【図２０】図２０は、仮想カメラの制御を説明するための図。
【図２１】図２１は、仮想カメラの制御を説明するための図。
【図２２】図２２は、本実施形態のフローチャート。
【図２３】図２３は、ネットワークシステムの説明図。
【図２４】図２４は、ネットワークシステムの説明図。
【図２５】図２５は、ネットワークシステムの説明図。
【発明を実施するための形態】
【００３１】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３２】
１．構成
図１に本実施形態の端末（画像生成装置、ゲーム装置、携帯電話、携帯端末、携帯型ゲーム装置）の機能ブロック図の例を示す。なお本実施形態の端末は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３３】
入力部１６０は、プレーヤ（操作者）からの入力情報を入力するための入力機器（コントローラ）であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部１６０は、プレーヤの入力情報（入力信号）を検出する検出部１６２を備える。入力部１６０は、例えば、アナログレバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。また、入力部１６０は、振動信号に基づいて振動させる処理を行う振動部を備えていてもよい。
【００３４】
また、入力部１６０は、３軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力部１６０は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力部１６０は、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られた入力機器でもよい。また入力部１６０は、入力機器と一体化されている端末（携帯電話、携帯端末、携帯型ゲーム装置）なども含まれる。
【００３５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００３７】
なお、記憶部１７０、情報記憶媒体１８０は、複数の攻守交替マニューバそれぞれに対応付けて、マニューバ選択用の入力情報、移動ルート情報、仮想カメラ情報を記憶させるようにしてもよい。
【００３８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００３９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４０】
通信部１９６は外部（例えば他の端末、サーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４１】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【００４２】
処理部１００（プロセッサ）は、入力部１６０からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００４３】
この処理部１００は記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４４】
処理部１００は、受け付け部１１０、オブジェクト空間設定部１１１、移動・動作処理部１１２、ヒット判定部１１４、ゲーム演算部１１５、表示制御部１１６、仮想カメラ制御部１１７、通信制御部１１８、描画部１２０、音処理部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【００４５】
受け付け部１１０は、プレーヤの入力情報を受け付ける処理を行う。例えば、移動体ＯＢ１（第１のオブジェクト、プレーヤの操作対象のオブジェクト）の挙動を制御するための移動体制御用の入力情報を受け付ける処理や、移動体ＯＢ１から弾（ミサイル、機銃）を発射させる射撃用入力情報を受け付ける。特に、本実施形態の受け付け部１１０は、アイテム（例えば、武器）の選択を受け付ける処理を行うようにしてもよい。
【００４６】
また、例えば、受け付け部１１０は、移動体に対する相対的な仮想カメラの位置を特定の位置に変更するための視点位置変更入力情報を受け付けるようにしてもよい。なお、アイテムの選択の情報は、視点位置変更入力情報と同じであってもよい。つまり、アイテムの選択の情報を受け付けると、同時に視点位置をアイテムに応じた視点位置に変更（通常戦闘時カメラ制御からアイテムカメラ制御に変更）してもよい。
【００４７】
また、受け付け部１１０は、所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける。例えば、受け付け部１１０は、第１の移動体が第２の移動体に追尾されている場合であって、第１の移動体と第２の移動体との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断する。具体的には、受け付け部１１０が、第１の移動体と第２の移動体との距離が第２の所定距離以内で第１の移動体が第２の移動体に追尾されている場合に、第１の移動体と第２の移動体との距離が第２の所定距離よりも短い第１の所定距離以内に狭まった場合に、所定条件を満たすと判断するようにしてもよい。
【００４８】
また、受け付け部１１０は、オブジェクト空間における基準軸に対する第１の移動体の傾斜角度が所定角度内である場合に、所定条件を満たすと判断するようにしてもよい。
【００４９】
また、受け付け部１１０は、第１の移動体と第２の移動体との相対速度が所定速度範囲内である場合に、所定条件を満たすと判断するようにしてもよい。
【００５０】
また、受け付け部１１０は、所定条件を満たす期間が第１の所定期間継続した後に、第１の特殊コマンドの入力情報を受け付けるようにしてもよい。
【００５１】
また、受け付け部１１０は、第２の移動体が第１の移動体に追尾されている場合に、第２の移動体が第１の移動体を追尾する位置に第２の移動体を移動させるための第１の特殊コマンドを実行する際に、当該第１の特殊コマンド実行開始時から第２の所定期間中に第２の特殊コマンドの入力情報を受け付け可能としてもよい。
【００５２】
例えば、受け付け部１１０は、第１の移動体を操作する第１の入力部から第１の特殊コマンドの入力情報を受け付けた場合に、当該第１の特殊コマンドを受け付けた時点から第２の所定期間中に、第２の移動体を操作する第２の入力部から第２の特殊コマンドを受け付けるようにしてもよい。
【００５３】
また、受け付け部１１０は、第１の移動体を操作する端末１０Ａから第１の特殊コマンドの入力情報を受け付けた（受信した）場合に、当該第１の特殊コマンドを受け付けた時点から第２の所定期間中に、第２の移動体を操作する端末１０Ｂから第２の特殊コマンドを受け付け可能（受信可能）としてもよい。
【００５４】
オブジェクト空間設定部１１１は、オブジェクトをオブジェクト空間（仮想的３次元空間）に配置する処理を行う。例えば、オブジェクト空間設定部１１１は、移動体ＯＢ１、移動体ＯＢ２（第２のオブジェクト、コンピュータプログラムに基づいて移動・動作、攻撃を行う移動体、ノンプレーヤキャラクターＮＰＣ、他のプレーヤの操作対象のオブジェクト）の他に、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を、オブジェクト空間に配置する処理を行う。ここでオブジェクト空間とは、仮想的なゲーム空間であり、例えば、ワールド座標系、仮想カメラ座標系のように、３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００５５】
例えば、オブジェクト空間設定部１１１は、ワールド座標系にオブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５６】
オブジェクト空間設定部１１１は、スクリーン（２次元画像、画面、スクリーン座標系）上に、特殊コマンドの入力指示オブジェクト、マーカなどの指示オブジェクトを配置する処理を行うようにしてもよい。また、オブジェクト空間設定部は、オブジェクト空間（３次元空間、ワールド座標系、仮想カメラ座標系、モデル座標系）に、指示オブジェクトを配置するようにしてもよい。
【００５７】
特に、オブジェクト空間設定部１１１は、オブジェクト空間において、所定範囲を設定する。この所定範囲は、オブジェクト空間に配置された複数の敵オブジェクト（敵地上物）を含む３次元のボリュームとすることができる。
【００５８】
移動・動作処理部１１２は、オブジェクト空間にあるオブジェクトの移動・動作演算を行う。すなわち入力部１６０から受け付けた入力情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。
【００５９】
移動体制御部１１２ａは、オブジェクト空間において、移動体の挙動を制御する。移動体の挙動とは、移動体の移動・動作情報であり、移動体の回転（向きの変更）及び移動方向の変更の少なくとも一方を含む。なお、移動体の挙動は、移動体の速度、加速度を含んでいてもよい。例えば、移動体制御部１１２ａは、１フレーム（例えば、１／６０秒）毎に移動体のモデル座標系のＸ軸、Ｙ軸、Ｚ軸回りの回転角度（向き）を求める。また、移動体制御部１１２ａは、１フレーム毎に、移動体の移動方向を求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００６０】
例えば、移動体制御部１１２ａは、入力部１６０からの移動体制御用の入力情報に基づき、第１の移動体（例えば、移動体ＯＢ１）の挙動を制御し、移動体制御プログラムに基づいて、第２の移動体（例えば、移動体ＯＢ２）の挙動を制御する処理を行うようにしてもよい。
【００６１】
また、移動体制御部１１２ａは、移動体から発射された弾（例えば、ミサイル、機関砲）がターゲットオブジェクトに追尾するように、弾の移動処理を行うようにしてもよい。
【００６２】
なお、移動・動作処理部１１２は、他の端末とネットワークを介してデータを送受信している場合には、他の端末から受信した入力情報や他の機体の移動情報等のデータに基づいて、本端末１０Ａのオブジェクト空間に配置される他の移動体（他の端末を操作するプレーヤの操作対象の移動体）の挙動（移動・動作）を制御するようにしてもよい。
【００６３】
特に、本実施形態の移動体制御部１１２ａは、オブジェクト空間において、移動体制御用の入力情報に基づき、移動体の挙動を制御する。例えば、移動体制御部１１２ａは、オブジェクト空間において、移動体制御用の入力情報に基づき第１の移動体を移動させる。
【００６４】
また、本実施形態の移動体制御部１１２ａは、第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させる。
【００６５】
また、移動体制御部１１２ａは、第１の特殊コマンドの入力情報を受け付けた場合に、第２の移動体の方角を向くように第１の移動体の向きを補正するようにしてもよい。例えば、第１の特殊コマンドの入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に第１の移動体を移動させ、当該位置において、第１の移動体から第２の移動体への向きに基づき、第１の移動体の向きを補正するようにしてもよい。
【００６６】
また、移動体制御部１１２ａは、第２の特殊コマンドを受け付けた場合には、第２の移動体の方角を向くように、第１の移動体の向きを制御してもよい。また、移動体制御部１１２ａが、第２の所定期間中に第２の特殊コマンドを受け付けなかった場合には、第２の移動体の挙動を制限するようにしてもよい。
【００６７】
ヒット判定部１１４は、第２の移動体から発射された弾（例えば、ミサイル）が第１の移動体にヒットしたか否かを判定する。また、ヒット判定部１１４は、第１のオブジェクトから発射された弾が第２のオブジェクトにヒットしたか否かを判定する。
【００６８】
ゲーム演算部１１５は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【００６９】
ゲーム演算部１１５は、第１の移動体から発射させた弾が第２の移動体に命中したか否かを判断し、第２の移動体から発射させた弾が第１の移動体に命中したか否かを判断し、各判断結果に基づきゲーム演算を行う。
【００７０】
例えば、ゲーム演算部１１５は、各オブジェクト（移動体ＯＢ１、移動体ＯＢ２を含む）のパラメータを更新する処理を行う。本実施形態のゲーム演算部１１５では、弾が移動体ＯＢ１にヒットする度に、ダメージを蓄積したダメージ蓄積値Ｉを更新している。例えば、移動体ＯＢ１のダメージ蓄積値Ｉが最大値（Ｉ＝１００）になると、移動体ＯＢ１が撃墜したものとみなされ、ゲームを終了する処理を行う。一方、ゲーム中の全ての移動体ＯＢ２のダメージ蓄積値Ｉが最大値になると、ゲームクリアと判定する処理を行う。
【００７１】
また、ゲーム演算部１１５は、ゲーム進行速度に基づいて、ゲームを進行させる。例えば、ゲーム演算部１１５は、制限条件を満たす場合には（例えば、攻守交代マニューバの移動中）、ゲーム進行速度を減速するようにしてもよい（スローモーションにするようにしてもよい）。
【００７２】
表示制御部１１６は、描画部１２０において生成された画像を表示部１９０に表示させる処理を行う。
【００７３】
仮想カメラ制御部１１７は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）、回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、仮想カメラ制御部１１７は、仮想カメラの視点位置、視線方向、画角、移動方向、移動速度の少なくとも１つを制御する処理を行う。
【００７４】
特に、本実施形態の仮想カメラ制御部１１７は、移動体の挙動に追従する仮想カメラを制御する。例えば、図２（Ａ）（Ｂ）に示す一人称視点、図２（Ｃ）に示す三人称視点（後方視点）によって、仮想カメラを制御する。
【００７５】
例えば、仮想カメラ制御部１１７は、移動・動作処理部１１２で得られたオブジェクトの位置、向き又は速度などの移動体の挙動（挙動情報）に基づいて、仮想カメラを制御する。つまり、本実施形態の仮想カメラ制御部１１７は、移動体の挙動に追従する仮想カメラを制御する。例えば、仮想カメラ制御部１１７は、ワールド座標において、移動体制御部１１２ａで処理される移動体の挙動と仮想カメラの挙動とが所定の関係を保つように制御する。
【００７６】
より具体的には、ワールド座標において、移動体制御部１１２ａで処理される移動体の位置（移動体の中心点Ｐ）と仮想カメラの位置（ＣＰ）とが所定の位置関係を保つように制御する。例えば、移動体の位置（移動体の中心点Ｐ）と仮想カメラの位置（ＣＰ）とが、所定の距離を保つように制御する。また、移動体の移動方向及び移動速度と、仮想カメラの移動方向及び移動速度とが所定の関係を保つように制御する。例えば、移動体の移動方向と仮想カメラの移動方向が同一の方向になるように制御し、移動体の移動速度と仮想カメラの移動速度とが同一の速度になるように制御する。また、仮想カメラ制御部１１７は、移動体の向き（回転）と、仮想カメラの向き（回転）とが所定の関係を保つように仮想カメラの向き（視線方向）を制御する。例えば、移動体の向きと仮想カメラの向きとが同一の方向を向くように制御する。また、仮想カメラ制御部１１７は、移動体の回転方向、回転速度が所定の関係を保つように仮想カメラの回転方向、回転速度を制御する。例えば、移動体の回転方向、回転速度と仮想カメラの回転方向、回転速度とが同一になるように制御する。
【００７７】
本実施形態の仮想カメラ制御部１１７は、第１の移動体の挙動に追従する仮想カメラを制御する。また、仮想カメラ制御部１１７が、第１の特殊コマンドの入力情報を受け付けた場合には、第１の移動体の挙動に追従する第１の仮想カメラ情報と、第１の移動体が第２の移動体を追尾するまでの第１の移動体の移動を注視する第２の仮想カメラ情報（例えば、攻守交替マニューバの移動ルートを注視する仮想カメラ情報）とを設定するようにしてもよい。なお、第２の仮想カメラ情報を、移動ルート情報に対応する仮想カメラ情報（視点位置、視線方向、移動方向、画角、回転（向き））として、予め、を記憶部１７０、情報記憶媒体１８０等に記憶するようにしてもよい。
【００７８】
また、仮想カメラ制御部１１７は、第２の所定期間中に第２の特殊コマンドの入力情報を受け付けた場合には、第１の移動体の向きに応じて、仮想カメラの視線方向を変化させるようにしてもよい。
【００７９】
また、仮想カメラ制御部１１７は、第２の所定期間中に第２の特殊コマンドを受け付けなかった場合には、第１の特殊コマンド実行開始時から第１の移動体と第２の移動体との追尾関係が逆転するまでの間、第２の移動体を注視するように、仮想カメラの視線方向を制御するようにしてもよい。
【００８０】
また、仮想カメラ制御部１１７は、オブジェクト空間において所与の位置から見下ろすような俯瞰用仮想カメラを配置させて当該俯瞰用仮想カメラを制御するようにしてもよい。
【００８１】
また、仮想カメラ制御部１１７は、リプレイ用で画像を生成するためのリプレイ用仮想カメラをオブジェクト空間に配置させて、当該リプレイ用仮想カメラを制御するように使用してもよい。リプレイ用仮想カメラは、移動体の移動に必ずしも追従させる必要はないが、移動体の移動情報に応じて、リプレイ用仮想カメラを制御するようにしてもよい。
【００８２】
通信制御部１１８は、端末（例えば第１の端末）が他の端末（例えば第２の端末）又はサーバ２０とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
【００８３】
なお、本実施形態の端末では、通信制御で必要となるネットワーク情報をサーバから取得し、管理する処理等を行うようにしてもよい。例えば、端末は、各端末に個別に付与される端末の識別情報（オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ＩＤ）と、端末の識別情報に対応付けられたパケットの送信先を指定する宛先情報（ＩＰアドレスなど）とを取得し、管理する処理を行うようにしてもよい。
【００８４】
通信制御部１１８は、他の端末（第２の端末）又はサーバ２０に送信するパケットを生成する処理、パケット送信先の端末のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【００８５】
また本実施形態の通信制御部１１８は、複数の端末間、又はサーバ２０においての接続（第１の端末と第２の端末との接続）が確立されてから接続が切断されるまで、データを所定周期（例えば、１秒周期で）互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト（機体、移動体）の位置情報、移動情報としてもよい。
【００８６】
また、本実施形態の通信制御部１１８は、他の端末（第２の端末）又はサーバ２０から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
【００８７】
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア（いわゆるＰ２Ｐ）方式としてもよいし、サーバ２０を介して各端末がデータ（情報）の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
【００８８】
描画部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。言い換えると、描画部１２０は、オブジェクト空間において、仮想カメラから見える画像を生成する。
【００８９】
例えば、描画部１２０は、オブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００９０】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００９１】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ１７２（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット、フレームバッファ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００９２】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００９３】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００９４】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部１７０に保存される。
【００９５】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００９６】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００９７】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００９８】
例えば、αブレンディングでは、これから画像バッファ１７２に描画する描画色（上書きする色）Ｃ１と、既に画像バッファ１７２（レンダリングターゲット）に描画されている描画色（下地の色）Ｃ２とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をＣとすると、Ｃ＝Ｃ１＊α＋Ｃ２＊（１−α）によって求めることができる。
【００９９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１００】
なお、描画部１２０が、第１の移動体と第２の移動体との距離に応じて変化するマーカを含む画像を生成するようにしてもよい。また、描画部１２０が、所定条件を満たす場合に、第１の特殊コマンドの入力を指示する画像を生成するようにしてもよい。
【０１０１】
また、描画部１２０が、オブジェクト空間において、仮想カメラから見える画像を生成する。また、描画部１２０は、他の端末（第２の端末）とネットワークを介してデータを送受信するマルチプレーヤオンラインゲームを行う場合は、端末（第１の端末）の操作対象のオブジェクトの移動に追従する仮想カメラ（端末（第１の端末）で制御される仮想カメラ）から見える画像を生成する処理を行う。つまり、各端末が独立した描画処理を行う。
【０１０２】
描画部１２０が、第１の特殊コマンドの入力情報を受け付けた場合には、第１の仮想カメラ情報（例えば、第１の移動体の挙動に追従する仮想カメラ情報）と、第２の仮想カメラ情報（例えば、攻守交替マニューバの移動経路を注視する仮想カメラ情報）とに基づいて、画像を生成するようにしてもよい。
【０１０３】
音処理部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【０１０４】
なお、本実施形態の端末は、１人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。
【０１０５】
例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよい。１つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
【０１０６】
２．概要
本実施形態は、プレーヤの操作対象の移動体ＯＢ１と、コンピュータオブジェクト或いは他のプレーヤのオブジェクトである移動体ＯＢ２と、互いにミサイルや機関砲などで攻撃し合うフライトシューティングゲームに関するものである。
【０１０７】
つまり、本実施形態では、移動体ＯＢ１と移動体ＯＢ２が互いに相手をターゲットオブジェクト（標的）とし、互いにミサイルや機関砲を発射してターゲットオブジェクトを撃墜させるゲーム処理を行う。したがって、移動体ＯＢ１を操作するプレーヤは、移動体ＯＢ１から発射されるミサイルや機関砲を移動体ＯＢ２にヒットさせるように攻撃操作を行い、移動体ＯＢ２から発射されるミサイル等の攻撃から回避するように移動体ＯＢ１を移動させる操作を行う。
【０１０８】
ところで、このようなシューティングゲームでは、移動体ＯＢ１の機軸に合わせて装備された機銃、ミサイルなどを用いて移動体ＯＢ２を攻撃する場合には、移動体ＯＢ１を移動体ＯＢ２の背後に配置させて攻撃操作を行うことが有効である。また、逆に、移動体ＯＢ２に移動体ＯＢ１の背後をとられてしまうと、敵からの攻撃を受け易くなるため、移動体ＯＢ２に背後を取られないように逃げる操作を行うことが有効である。つまり、移動体ＯＢ２に移動体ＯＢ１の背後をとられてしまう場合には、プレーヤは移動体ＯＢ１を旋回させたり、ターンさせたりして逃げる操作を行うことが従来のゲームでは一般的であった。
【０１０９】
しかし、移動体ＯＢ２に追尾された場合に、単純に逃げる操作を行うだけでは、移動体ＯＢ１と移動体ＯＢ２とのせめぎ合いがなくシューティングゲームの面白みに欠けるものがある。
【０１１０】
そこで、本実施形態では、図３に示すように、移動体ＯＢ１が、移動体ＯＢ２に追尾されている場合において、所定条件を満たす場合に、移動体ＯＢ１を操作する第１のプレーヤから第１の特殊コマンド（攻守交替コマンド）を受け付け、第１の特殊コマンドを受け付けた場合には、移動体ＯＢ１が移動体ＯＢ２を追尾する位置（移動体ＯＢ１が移動体ＯＢ２の背後の位置）に、移動体ＯＢ１を自動的に移動させる制御を行う。このようにすれば、移動体ＯＢ１、移動体ＯＢ２において白熱した対戦を行うことが可能なシューティングゲームを提供できる
３．第１の特殊コマンド（攻守交替コマンド）の説明
本実施形態では、所定条件を満たす場合に、第１の特殊コマンド（攻守交替コマンド）の入力情報を受け付けた場合に、移動体制御用の入力情報によらずに、第１の移動体が第２の移動体を追尾する位置に、第１の移動体を移動させる処理を行っている。
【０１１１】
例えば、図３に示すように、Ｔ１時点で移動体ＯＢ１（第１の移動体）が、移動体ＯＢ２（第２の移動体）に追尾されている場合であって、移動体ＯＢ１と移動体ＯＢ２との距離が第２の所定距離Ｌ２以内（例えば、３００メートル以内）であるとする。
【０１１２】
そして、本実施形態では、例えば、移動体ＯＢ１が減速して、移動体ＯＢ１と移動体ＯＢ２との距離が第２の所定距離よりも短い第１の所定距離Ｌ１以内（例えば、１００メートル以内）に狭まった場合に、所定条件を満たすと判断する。
【０１１３】
例えば、Ｔ２時点で所定条件を満たすと、移動体ＯＢ１を操作するプレーヤの入力部から第１の特殊コマンドの入力情報を受け付ける。そして、第１の特殊コマンドの入力情報を受け付けると、予め用意された移動ルート情報ＰＤ１に基づいて、移動体ＯＢ１を自動的に移動させる処理を行う。移動体ＯＢ１が移動ルート情報ＰＤ１を移動している期間、例えば、移動体ＯＢ２が前進すれば、移動体ＯＢ１は移動体ＯＢ２の背後をとることができ、移動体ＯＢ１は不利な立場から有利な立場に攻守の逆転を可能にすることができる。
【０１１４】
３．１  第１の特殊コマンドの発動条件（所定条件）
次に、本実施形態において、第１の特殊コマンドの発動条件である所定条件について説明する。まず、本実施形態では、近接戦闘モードＤＦＭ（ドッグファイトモード、クロスレンジアサルト、所定のモード）であることが、第１の特殊コマンドの発動するための少なくとも１つの条件となる。
【０１１５】
３．１．１  近接戦闘モードの説明
ここで、本実施形態の近接戦闘モードＤＦＭについて説明する。本実施形態では、移動体ＯＢ１と移動体ＯＢ２の位置関係が近接戦闘モード発動条件を満たしたか否かを判定し、近接戦闘モード発動条件を満たしたと判定された場合に、近接戦闘モードが発動される。
【０１１６】
図４に示すように、移動体ＯＢ１には、円錐形状の第１の判定領域Ａ１と、球形状の第２の判定領域Ｂ１が設定されている。同様に、移動体ＯＢ２には、円錐形状の第１の判定領域Ａ２と、球形状の第２の判定領域Ｂ２が設定されている。第１の判定領域Ａ１、Ａ２は、機体（移動体ＯＢ１、移動体ＯＢ２）の前方に広がるように設定され、第２の判定領域Ｂ１、Ｂ２は、球形状の領域の中心が機体の後方に位置するように設定されている。移動体ＯＢ１と移動体ＯＢ２に設定される各判定領域は、各機体の特性（属性）によって、機体に対する設定位置や形状が異なるようにしてもよい。
【０１１７】
本実施形態では、移動体ＯＢ１の第２の判定領域Ｂ１内に移動体ＯＢ２が位置し、且つ移動体ＯＢ２の第１の判定領域Ａ２内に移動体ＯＢ１が位置する場合（図４に示す場合）には、移動体ＯＢ１の後方に移動体ＯＢ２が接近していると判定され、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」が発動される。一方、移動体ＯＢ２の第２の判定領域Ｂ２内に移動体ＯＢ１が位置し、且つ移動体ＯＢ１の第１の判定領域Ａ１内に移動体ＯＢ２が位置する場合には、移動体ＯＢ１の前方に移動体ＯＢ２が接近していると判定され、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」が発動される。
【０１１８】
なお、本実施形態では、移動体ＯＢ２の第２の判定領域Ｂ２内に移動体ＯＢ１が位置し、且つ移動体ＯＢ１の第１の判定領域Ａ１内に移動体ＯＢ２が位置する場合において、移動体ＯＢ１の前方に移動体ＯＢ２が接近していると判定された場合に、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」のコマンドの入力情報を受け付けるようにしてもよい。そして、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」のコマンドの入力情報を受け付けた場合に、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」を発動するようにしてもよい。なお、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」のコマンドの入力情報の有無に関係なく、発動条件を満たした場合に自動的に「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」を発動するようにしてもよい。
【０１１９】
また、本実施形態では、移動体ＯＢ１の第２の判定領域Ｂ１内に移動体ＯＢ２が位置し、且つ移動体ＯＢ２の第１の判定領域Ａ２内に移動体ＯＢ１が位置する場合（図４に示す場合）には、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」のコマンドの入力情報を受け付けた場合に、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」を発動してもよい。なお、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」のコマンドの入力情報の有無に関係なく、発動条件を満たした場合に自動的に「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」を発動するようにしてもよい。
【０１２０】
ここでは、移動体ＯＢ１に設定された判定領域と移動体ＯＢ２に設定された判定領域とを用いて位置関係の判定を行っているが、移動体ＯＢ１と移動体ＯＢ２いずれか一方に設定された判定領域のみを用いて位置関係の判定を行うようにしてもよい。
【０１２１】
また移動体ＯＢ１と移動体ＯＢ２の距離が所定の値以下になった場合に、近接戦闘モード発動条件を満たしたと判定するようにしてもよい。また、移動体ＯＢ１と移動体ＯＢ２とがオブジェクト空間に設定された所定の範囲（特殊なエリア）に入った場合に、近接戦闘モード発動条件を満たしたと判定するようにしてもよい。また、プレーヤによって所定の操作入力が行われた場合又は所定のゲームアイテムが使用された場合に、近接戦闘モード発動条件を満たしたと判定するようにしてもよい。
【０１２２】
そして、本実施形態では、移動体ＯＢ１が移動体ＯＢ２を追尾する、「移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側近接戦闘モード」では、移動体ＯＢ２の過去の移動軌跡に基づき移動体ＯＢ１を移動体ＯＢ２に追従させる追従制御が行われる。また、移動体ＯＢ１が移動体ＯＢ２に追尾される、「移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側の近接戦闘モード」では、移動体ＯＢ１の過去の移動軌跡に基づき移動体ＯＢ２を移動体ＯＢ１に追従させる追従制御が行われる。
【０１２３】
例えば、本実施形態の「近接戦闘モード」で、移動体ＯＢ２が移動体ＯＢ１を追尾する場合には、ＯＢ１の過去の移動軌跡を辿って（トレースして）、移動体ＯＢ２の位置を求める。例えば、過去（Ｎ−Ｍフレーム目（例えば、Ｍ＝３０））の移動体ＯＢ１の位置に基づき、Ｎフレーム目の移動体ＯＢ２の位置を求める。
【０１２４】
つまり、Ｎ−Ｍフレーム目の移動体ＯＢ１の位置に基づいて、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１（１００メートル）より離れており、かつ第２の所定距離Ｌ２（例えば、３００メートル）以内（Ｌ１＜Ｌ≦Ｌ２）になるように、移動体ＯＢ２の位置を求める。
【０１２５】
例えば、Ｎフレーム目の移動体ＯＢ１の位置Ｇ１と、Ｎ−Ｍフレーム目の移動体ＯＢ１の位置Ｇ２との距離Ｌが、Ｌ１＜Ｌ≦Ｌ２でない場合には、例えば、Ｇ１とＧ２を結ぶ線分上であって、Ｌ１＜Ｌ≦Ｌ２となる所与の位置をＮフレーム目の移動体ＯＢ２の位置とすればよい。なお、「近接戦闘モード」で、移動体ＯＢ１が移動体ＯＢ２を追尾する場合における移動体ＯＢ１の位置を求める場合も、同様に処理を行えばよい。
【０１２６】
３．１．２  距離の条件
そして、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１＜Ｌ２）になった場合に、所定条件を満たすと判断する。一方、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１より大きい（Ｌ１＜Ｌ）場合は、所定条件を満たさないと判断する。
【０１２７】
つまり、近接戦闘モードが発動している場合は、移動体ＯＢ１、ＯＢ２との距離Ｌが第１の所定距離Ｌ１よりも大きくなるように（Ｌ１＜Ｌとなるように）移動体ＯＢ２を制御している。したがって、本実施形態では、移動体ＯＢ１を操作するプレーヤは、第１の特殊コマンドの入力の機会を得るために、移動体ＯＢ１を減速させる操作を強いられることになる。要するに、本実施形態では、移動体ＯＢ１を操作するプレーヤに、敢えて移動体ＯＢ１を減速させて移動体ＯＢ２からの攻撃を受けやすくするリスクを与えてから、攻守交替の機会を得ることができるようにしている。このため、本実施形態では、移動体ＯＢ１、ＯＢ２の白熱した対戦可能なシューティングゲームを提供できる。
【０１２８】
３．１．３  機体の傾きの条件
また、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、（１）移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）になった場合、（２）オブジェクト空間（ワールド座標系）における基準軸（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が所定角度内である場合に、所定条件を満たすと判断する。
【０１２９】
例えば、図５（Ａ）に示すように、基準軸Ｄ１（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が０度であるとする。例えば、図５（Ｂ）（Ｃ）に示すように、例えば、移動体ＯＢ１がロールの挙動を行い、基準軸Ｄ１に対して移動体ＯＢ１の傾斜角度θが所定角度以内（例えば、所定角度を１３５度とする）である場合に、所定条件を満たすと判断する。一方、例えば、移動体ＯＢ１がロールの挙動を行い、基準軸Ｄ１に対して移動体ＯＢ１の傾斜角度θが所定角度を超えた場合には、所定条件を満たさないと判断する。
【０１３０】
また、図６（Ａ）に示すように基準軸Ｄ２（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が０度であるとする。例えば、図６（Ｂ）（Ｃ）に示すように、例えば、移動体ＯＢ１がピッチアップ、ピッチダウンの挙動を行い、基準軸Ｄ２に対して移動体ＯＢ１の傾斜角度θが所定角度以内（例えば、所定角度を１３５度とする）である場合に、所定条件を満たすと判断する。一方、例えば、移動体ＯＢ１がピッチアップ、ピッチダウンの挙動を行い、基準軸Ｄ２に対して移動体ＯＢ１の傾斜角度θが所定角度を超えた場合には、所定条件を満たさないと判断する。
【０１３１】
なお、移動体ＯＢ１のロール挙動に対する所定角度と、移動体ＯＢ１のピッチアップ、ピッチダウンに対する所定角度とは異なる値としてもよい。
【０１３２】
つまり、本実施形態では、追われている移動体ＯＢ１が背面飛行など、特殊な飛行状態である場合や、移動体ＯＢ１が移動体ＯＢ２から逃げようと旋回しようとして傾けている場合などは、第１の特殊コマンドを実行できないように制御している。つまり、本実施形態では、移動体ＯＢ１を操作するプレーヤは、第１の特殊コマンドの入力の機会を得るために、移動体ＯＢ２からの攻撃を受けやすくするリスクを与えてから、攻守交替の機会を得ることができるようにしている。このため、本実施形態では、移動体ＯＢ１、ＯＢ２の白熱した対戦可能なシューティングゲームを提供できる。
【０１３３】
なお、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）にならないことがある。かかる場合には、移動体ＯＢ１を操作するプレーヤにストレスを与えかねない。
【０１３４】
そこで、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１よりも長い場合（Ｌ１＜Ｌ＜Ｌ２）である期間が制限期間（例えば、１０秒）以上維持された場合には、移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第３の所定距離Ｌ３以内（例えば、２００メートル以内）になった場合に、所定条件を満たすと判断するようにしてもよい。なお、第３の所定距離は、第２の所定距離よりも短く、第１の所定距離よりも長い関係（Ｌ１＜Ｌ３＜Ｌ２）にある。このようにすれば、プレーヤにストレスのないゲーム環境を提供できる。
【０１３５】
３．１．４  相対速度の条件
また、本実施形態では、移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内である場合に、所定条件を満たすと判断するようにしてもよい。
【０１３６】
つまり、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、（１）移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）になった場合、（２）オブジェクト空間（ワールド座標系）における基準軸（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が所定角度内である場合、（３）移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内である場合に、所定条件を満たすと判断してもよい。
【０１３７】
例えば、所定速度範囲を、時速０キロメートル〜時速２００キロメートルに設定したとする。すると、本実施形態では、例えば、移動体ＯＢ１と移動体ＯＢ２との相対速度が時速１００キロメートルである場合には所定条件を満たすと判断し、一方、移動体ＯＢ１と移動体ＯＢ２との相対速度が時速３００キロメートルである場合には、所定条件を満たさないと判断する。
【０１３８】
このように、移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内であることを所定条件を満たすための１つの条件とするので、移動体ＯＢ１と移動体ＯＢ２との位置関係が適切に維持されている状況下で、移動体ＯＢ１に攻撃の機会を与えることができる。
【０１３９】
３．１．５  衝突判定の条件
また、本実施形態では、移動体ＯＢ１の傾斜角度及び移動速度（スピード）の少なくとも一方に基づき、現時点から特定期間後（例えば、５秒後）に、移動体ＯＢ１が地面や障害物に衝突（ヒット）するか否かを予測判断する処理を行い、現時点から特定期間後に、移動体ＯＢ１が地面や障害物に衝突すると予測判断された場合には、所定条件を満たさないと判断し、一方、現時点から特定期間後に、移動体ＯＢ１が地面や障害物に衝突しないと予測判断された場合には、所定条件を満たすと判断してもよい。
【０１４０】
つまり、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」ある場合において、（１）移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）になった場合、（２）オブジェクト空間（ワールド座標系）における基準軸（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が所定角度内である場合、（３）移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内である場合、（４）現時点から特定期間後に、移動体ＯＢ１が地面や障害物に衝突しないと予測判断された場合に、所定条件を満たすと判断してもよい。このようにすれば、移動体ＯＢ１が、地面や障害物に衝突する事態を回避することができる。
【０１４１】
３．１．６  第１の特殊コマンドの受け付け期間
また、本実施形態では、所定条件を満たす期間が第１の所定期間Ｋ１継続した後に、第１の特殊コマンドの入力情報を受け付けるように制御する。
【０１４２】
例えば、図７に示すように、Ｔ１０時点から移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」が発動される。そして、Ｔ１１時点から、（１）移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）になった場合、（２）オブジェクト空間（ワールド座標系）における基準軸（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が所定角度内である場合、（３）移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内である場合、（４）現時点から特定期間後に、移動体ＯＢ１が地面や障害物に衝突しないと予測判断された場合に、所定条件を満たすと判断する。
【０１４３】
本実施形態では、所定条件を始めて満たした時点から第１の所定期間Ｋ１を経過する時点までの期間（Ｔ１１〜Ｔ１２の期間）は、第１の特殊コマンドの入力情報を受け付けないようにし、所定条件を満たす期間が第１の所定期間Ｋ１継続した後に、第１の特殊コマンドの入力情報を受け付けるように制御する。例えば、図７の例では、Ｔ１２時点から第１の特殊コマンドの入力情報を受け付ける。そして、Ｔ１２時点以後は、所定条件を満たす限りにおいて第１の特殊コマンドの入力情報を受け付ける。
【０１４４】
したがって、本実施形態では、第１の所定期間Ｋ１の期間は、移動体ＯＢ１は敵の移動体ＯＢ２からの攻撃を受け易くなりリスクが伴う。しかしながら、Ｔ１２時点以後は、第１の特殊コマンドの入力が受け付けられ、移動体ＯＢ１、ＯＢ２の攻守交替が可能となる機会が到来する。このように、本実施形態では、移動体ＯＢ１がリスクを負わなければならない状況を作り出すことができるので、より白熱した対戦を実現できる。なお、本実施形態では、第１の所定期間Ｋ１を可変にしてもよい。
【０１４５】
なお、本実施形態では、第１の所定期間Ｋ１を設定しないようにしてもよい。つまり、本実施形態では、所定条件を満たすと判断される期間において、常に第１の特殊コマンドの入力情報を受け付けるように制御してもよい。
【０１４６】
３．１．７  その他
本実施形態では、近接戦闘モードＤＦＭでない場合においても、（１）移動体ＯＢ１と移動体ＯＢ２との距離Ｌが第１の所定距離Ｌ１以内（Ｌ≦Ｌ１）である条件（２）オブジェクト空間（ワールド座標系）における基準軸（ワールド座標系ＸＺ平面に平行な軸）に対する移動体ＯＢ１の傾斜角度が所定角度内である条件、（３）移動体ＯＢ１と移動体ＯＢ２との相対速度が所定速度範囲内である条件、（４）現時点から特定期間後に、移動体ＯＢ１が地面や障害物に衝突しないと予測判断される条件のうち、少なくとも一つの条件を満たした場合に、第１の特殊コマンドを発動するための所定条件を満たすと判断してもよい。また、本実施形態では、第１の所定期間Ｋ１に関係なく、上記（１）（２）（３）（４）のうち少なくとも１つの条件を満たしている期間において、第１の特殊コマンドを受け付けるようにしてもよい。また、第１の特殊コマンドの受け付け期間を例えば、所定の期間（例えば、３秒）に制限してもよい。
【０１４７】
また、本実施形態では、移動体ＯＢ１が移動体ＯＢ２に追尾されている「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」の発動条件を満たした時点から、特定の期間（例えば、３秒間）を経過した後に、所定条件を満たしているか否かの判断処理を行うようにしてもよい。
【０１４８】
３．２  第１の特殊コマンド（攻守交替コマンド）の実行処理
次に、第１の特殊コマンドの実行処理について説明する。本実施形態では、特殊コマンドを受け付けると、複数種類のマニューバ（クイックループ、バレルロール、コブラ、クルビット等）マニューバのうちいずれか１つの攻守交替マニューバを決定する処理を行う。具体的には、第１の特殊コマンドの入力情報を受け付ける際に、攻守交替マニューバを選択する入力情報を受け付け、受け付けた選択された入力情報に基づき、攻守交替マニューバを決定する。なお、マニューバとは、特殊飛行を示し、戦闘機などの移動体が、空中で行う動き方のことである。例えば、宙返りをするクイックループ、バレルロール、コブラ、クルビット等の種々の動き方がある。本実施形態ではマニューバの軌道にあわせて移動体を移動させるので、プレーヤを惹き付けるゲームを実現することができる。
【０１４９】
例えば、図８に示すように、方向キーの入力情報「右」、「左」、「上」、「下」それぞれに対応づけて攻守交替マニューバが対応づけられている。例えば、第１の特殊コマンドの入力情報を受け付けと同時に方向キー「右」の入力情報を受け付けると、図３に示すように、クイックループの移動ルート情報ＰＤ１に基づいて、オブジェクト空間における移動体ＯＢ１の挙動（位置、向き、移動方向、移動速度などの移動情報）を演算し、演算された挙動に基づいて移動体ＯＢ１を移動させる。
【０１５０】
なお、移動ルート情報ＰＤ１は、記憶部１７０に記憶されている予め定義されたモーション（アニメーション）であり、位置、向き、移動速度などの移動情報である。本実施形態では、移動ルート情報ＰＤ１をオブジェクト空間の座標系に座標変換等を行い、移動体ＯＢ１を移動させる。
【０１５１】
また、移動ルート情報ＰＤ１によって、移動体ＯＢ１が移動している期間は、敵である移動体ＯＢ２は、移動体ＯＢ１との近接戦闘モードが終了し追従機能が解除される。移動体ＯＢ２が、コンピュータプログラムで制御されるノンプレーヤキャラクターである場合には、図３に示すように、移動体ＯＢ２を直進させるように制御してもよい。
【０１５２】
また、移動体ＯＢ１が移動している期間は、移動体ＯＢ２を直進させずに移動させてもよい。例えば、他のプレーヤの移動体制御用の入力情報に基づいて移動体ＯＢ２を制御している場合には、図９（Ａ）に示すように、Ｔ２０時点で特殊コマンドを実行することによって、移動体ＯＢ１が攻守交替マニューバの移動ルート情報に基づきを移動している最中に、移動体ＯＢ２が逃避する場合がある。例えば、移動体ＯＢ１の攻守交替マニューバの移動の終了時（Ｔ２１時点）において、移動体ＯＢ２の向きＶ２が、移動体ＯＢ１の向きＶ１と異なる場合、移動体ＯＢ１は攻撃することが困難となる。
【０１５３】
そこで、本実施形態では、移動体ＯＢ１の攻守交替マニューバの移動の終了時（Ｔ２１時点）において、移動体ＯＢ２の方角を向くように、移動体ＯＢ１の向きＶ１を補正するようにする。例えば、移動体ＯＢ１の位置Ｐ１から移動体ＯＢ２の位置Ｑ１への向きを、移動体ＯＢ１の向きＶ１として設定してもよい。また、移動体ＯＢ１の向きＶ１が、移動体ＯＢ２の向きＶ２と平行となるように、移動体ＯＢ１の向きを設定してもよい。
【０１５４】
なお、本実施形態では、図３に示すように、移動体ＯＢ１と移動体ＯＢ２との追尾関係が逆になる。「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」の発動条件を満たす場合には、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」を発動させる。
【０１５５】
なお、図３に示すように、第１の特殊コマンドを実行することによって、移動体ＯＢ１が逃げて逆に移動体ＯＢ２の背後をとると、移動体ＯＢ２にとっては有利な状況であったにもかかわらず移動体ＯＢ１の攻撃に失敗したことになる。本実施形態では、移動体ＯＢ２に、ペナルティとして移動体ＯＢ２の挙動を所定の制限時間において制限する。
【０１５６】
つまり、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」において、移動体ＯＢ１が逃げて近接戦闘モードが解除されると、移動体ＯＢ２の機軸周りの回転であるロールに関する回転速度を減速させ、回転角度を所定角度（例えば、１０度）に制限する。また、移動体ＯＢ２の上昇角度（ピッチアップ）、下降角度（ピッチダウン）、ヨー（移動体を水平に保ちながら移動方向を変更する）の単位時間あたりの変更角度を制限する。このようにすれば、図３のＴ４時点のように、移動体ＯＢ２の背後をとった移動体ＯＢ１は容易に移動体ＯＢ２を攻撃し易くなる。
【０１５７】
３．３  画像生成処理
３．３．１  近接戦闘モードにおける画像生成処理
次に、本実施形態の画像生成処理について説明する。図１０（Ａ）（Ｂ）（Ｃ）は、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」における、移動体ＯＢ１を操作する端末１０に表示される画像の一例である。
【０１５８】
例えば、図１０（Ａ）に示すように、移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側の近接戦闘モード時には、移動体ＯＢ１に対するマーカＭＫが表示される。そして、図１０（Ｂ）に示すように、移動体ＯＢ１の位置（例えば、移動体ＯＢ１の中心点又は代表点の位置）がマーカＭＫの表示範囲内に入ると、マーカＭＫの内周側にゲージＧＡが表示される。ゲージＧＡは、移動体ＯＢ１がマーカＭＫ内に位置する時間の経過に従ってその値が増加するように表示され、移動体ＯＢ１がマーカＭＫ内に位置しなくなった場合にリセットされる（ゲージＧＡの値が０になる）。なお、移動体ＯＢ１がマーカＭＫ内に位置しなくなった場合にゲージＧＡの値を所定値だけ減少させるようにしてもよい。また、移動体ＯＢ１がマーカＭＫ内に位置しない時間の経過に従ってゲージＧＡの値を減少させるようにしてもよい。
【０１５９】
図１０（Ｃ）に示すように、移動体ＯＢ１がマーカＭＫ内に位置する時間が所定時間（例えば、０．５秒）に達してゲージＧＡの値が最大値となると、移動体ＯＢ１が移動体ＯＢ２にロックオンされるロックオン状態となる。このロックオン状態になると、移動体ＯＢ２から通常の誘導ミサイルよりも誘導性能の高い誘導ミサイル（特殊武器）が発射され、発射された誘導ミサイルは、高確率で移動体ＯＢ１に着弾することになる。
【０１６０】
移動体ＯＢ１を操作するプレーヤは、移動体ＯＢ１に対するマーカＭＫによって、移動体ＯＢ１が移動体ＯＢ２の誘導ミサイルに狙われている様子を視覚的に把握することができ、また、マーカＭＫに表示されるゲージＧＡによって、ロックオン状態になるタイミングを視覚的に把握することができる。
【０１６１】
また移動体ＯＢ１を操作するプレーヤは、移動体ＯＢ１がマーカＭＫ内に入らないように移動体ＯＢ１を移動させる操作を行うことで、或いは移動体ＯＢ１がマーカＭＫ内に入っている場合には、マーカＭＫのゲージＧＡが最大値に達するまで（ロックオン状態になる前）に移動体ＯＢ１をマーカＭＫ外に移動させる操作を行うことで、移動体ＯＢ２から誘導性能の高い誘導ミサイルが発射される事態を回避することができる。
【０１６２】
また、本実施形態では、移動体ＯＢ１と移動体ＯＢ２との距離に応じて変化するマーカＭＫを含む画像を生成する。すなわち、移動体ＯＢ１と移動体ＯＢ２の距離が近いほどマーカＭＫのサイズ（半径）が大きくなり、移動体ＯＢ１が移動体ＯＢ２から狙われ易くなる（マーカＭＫを回避し難くなる）。一方、移動体ＯＢ１と移動体ＯＢ２の距離が遠いほどマーカＭＫのサイズ（半径）が小さくなり、移動体ＯＢ１が移動体ＯＢ２から狙われ難くなる（マーカＭＫを回避し易くなる）。
【０１６３】
また、移動体ＯＢ１を操作するプレーヤは、例えば、移動体ＯＢ１を加速させる等の操作を行って移動体ＯＢ１と移動体ＯＢ２の距離を長くすることで、マーカＭＫのサイズを小さくし、移動体ＯＢ２から誘導性能の高い誘導ミサイルが発射される事態を回避することができる。
【０１６４】
３．３．２  第１の特殊コマンドの入力を指示する画像の生成処理
図１１は、「（移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側）近接戦闘モード」において、所定条件を満たす場合に、第１の特殊コマンドの入力を指示する画像（移動体ＯＢ１を操作する端末１０に表示される画像）の一例である。本実施形態では、Ａボタンの入力情報を、第１の特殊コマンドの入力情報とし、Ａボタンの入力情報を受け付けた場合に、第１の特殊コマンドを実行する。
【０１６５】
したがって、本実施形態では、特殊コマンドの受け付け期間（図７のＴ１２〜Ｔ１３の期間中）において、図１１に示すように、画像の中央に、「Ａ」の第１の特殊コマンドの入力指示マークＭＳ１（第１の指示画像ＭＳ１）を含む画像を生成する。したがって、移動体ＯＢ１を操作するプレーヤは、移動体ＯＢ１は、移動体ＯＢ２にロックオン状態になるリスクがある点、また、第１の特殊コマンドを入力可能である点を、確実に知ることができる。
【０１６６】
３．３．３  攻守交替マニューバの画像
本実施形態では、移動体ＯＢ１の挙動に追従する仮想カメラを制御し、オブジェクト空間において、移動体ＯＢ１用の仮想カメラから見える画像を生成する。つまり、移動体ＯＢ１を制御する端末１０の表示部には、移動体ＯＢ１用の仮想カメラから見える画像を生成する。
【０１６７】
ここで、本実施形態では、第１の特殊コマンドの入力情報を受け付けた場合において、端末１０の仮想カメラ制御部１１７が、移動体ＯＢ１用の画像を生成する場合には、次のようにして画像生成処理を行う。すなわち、移動体ＯＢ１の挙動に追従する第１の仮想カメラ情報ＣＤ０と、移動体ＯＢ１が移動体ＯＢ２を追尾するまでの移動体ＯＢ１の移動ルート情報ＰＤ１に基づく攻守交替マニューバの移動経路を注視する第２の仮想カメラ情報と、を設定し、第１の特殊コマンドの入力情報を受け付けた場合には、第１の仮想カメラ情報ＣＤ０と、第２の仮想カメラ情報とに基づいて、画像を生成する。なお、仮想カメラ情報とは、視点位置、視線方向、移動方向、画角、回転（向き）の少なくとも１つの情報を含む。
【０１６８】
例えば、図１２（Ａ）に示すように、Ｔ３０時点で移動体ＯＢ１を追従する仮想カメラＣが、仮想カメラ情報ＣＤ０に基づいて画像を生成する。
【０１６９】
そして、Ｔ３１時点で、第１の特殊コマンドの入力情報を受け付け、例えば、図８のクイックループの攻守交替マニューバの入力情報を受け付けると、当該入力情報に対応する移動ルート情報ＰＤ１、仮想カメラ情報ＣＤ１（第２の仮想カメラ情報の一例）を記憶部１７０（或いは、情報記憶媒体１８０）から読み出す。
【０１７０】
そして、本実施形態では、当該移動ルート情報ＰＤ１に基づき移動体ＯＢ１が移動制御されると共に、「クイックループ」による移動中は、仮想カメラ情報ＣＤ１に基づいて、移動体ＯＢ１を含む画像を生成する。
【０１７１】
例えば、図１２（Ａ）に示すように、第１の特殊コマンドの入力情報を受け付けると、第１の仮想カメラ情報ＣＤ０と第２の仮想カメラ情報ＣＤ１とを合成（例えば、線形合成）しながら、第２の仮想カメラ情報ＣＤ１に移行する。
【０１７２】
その後、第２の仮想カメラ情報ＣＤ１に基づき、移動体ＯＢ１の攻守交替マニューバの移動経路を注視する画像を生成する。そして、図１２（Ｂ）に示すように、攻守交替マニューバの終了間際に、第２の仮想カメラ情報ＣＤ１と第１の仮想カメラ情報ＣＤ０とを合成（例えば、線形合成）しながら、第１の仮想カメラ情報ＣＤ０に移行する。そして、移動体ＯＢ１の攻守交替マニューバの移動が終了する時点Ｔ３４では、仮想カメラ情報ＣＤ０に移行して画像を生成する。
【０１７３】
なお、移動体ＯＢ１の挙動に追従する仮想カメラ情報ＣＤ０の演算と、移動体ＯＢ１が移動体ＯＢ２を追尾するまでの移動体ＯＢ１の攻守交替マニューバの移動経路を注視する第２の仮想カメラ情報ＣＤ１の演算とを並列に演算処理してもよい。
【０１７４】
つまり、本実施形態では、記憶部１７０に記憶された、攻守交替マニューバに対応する移動ルート情報ＰＤ１の再生と、選択された攻守交替マニューバに対応する仮想カメラ情報ＣＤ１の再生とを行う。そして、仮想カメラ情報ＣＤ１の再生を開始する場合は、第１の特殊コマンドを受け付けた時点において、移動体ＯＢ１の挙動に追従する仮想カメラ情報ＣＤ０から、仮想カメラ情報ＣＤ１に移行させる場合には、仮想カメラ情報ＣＤ０、ＣＤ１を合成しながら再生する。また、仮想カメラ情報ＣＤ１の再生を終了する場合は、仮想カメラ情報ＣＤ０、ＣＤ１を合成しながら移動体ＯＢ１の挙動に追従する仮想カメラ情報ＣＤ０に移行させる。このようにすれば、シームレスなカメラ演出を行うことができる。
【０１７５】
なお、仮想カメラ情報ＣＤ０、ＣＤ１を合成せずに、仮想カメラ情報ＣＤ１の再生開始時点で、仮想カメラ情報をＣＤ０からＣＤ１に切り替え、再生終了時点で、仮想カメラ情報をＣＤ１からＣＤ０に切り替えてもよい。
【０１７６】
また、移動体ＯＢ１が攻守交替マニューバの移動経路を移動している期間は、ゲーム進行速度を減速させる（スローモーション）にするようにしてもよい。このようにすれば、プレーヤは、移動体ＯＢ１の特殊飛行の様子や追尾関係が逆転される様子をじっくりと確認することができる。
【０１７７】
３．４  処理の流れ
最後に、第１の特殊コマンドを実行するまでの処理の流れについて説明する。まず、移動体ＯＢ１が逃げ側、移動体ＯＢ２が追う側で近接戦闘モードが発動されたか否かを判断するステップＳ１。逃げ側近接戦闘モードが発動されていない場合ステップＳ１のＮは、ステップＳ１を繰り返す。一方、逃げ側近接戦闘モードが発動されたステップＳ１のＹの場合、所定条件を満たすか否かを判断する。例えば、逃げ側の移動体ＯＢ１と、追う側の移動体ＯＢ２との距離が所定距離以内であって、かつ、移動体ＯＢ１の傾きが所定角度以内であるか否かを判断する（ステップＳ２）。
【０１７８】
所定条件を満たさない場合（ステップＳ２のＮ）は、ステップＳ２を繰り返す。一方、所定条件を満たす場合（ステップＳ２のＹ）、第１の所定期間Ｋ１を経過したか否かを判断する（ステップＳ３）。
【０１７９】
第１の所定期間Ｋ１を経過すると（ステップＳ３のＹ）、第１の特殊コマンド攻守交替コマンドを受け付けたか否かを判断する（ステップＳ４）。そして、第１の特殊コマンド攻守交替コマンドを受け付けた場合（ステップＳ４のＹ）、第１の特殊コマンド（攻守交替コマンド）を実行する（ステップＳ５）。以上で処理が終了する。
【０１８０】
３．５  複数の移動体に追尾されている場合の説明
本実施形態では、移動体ＯＢ１が、複数の移動体ＯＢ２、ＯＢ３に追尾されている場合には、「移動体ＯＢ１」と、「移動体ＯＢ１に最も近接している移動体ＯＢ２」との関係に基づいて、第１の特殊コマンドの発動条件（所定条件）を満たすか否かを判断する。
【０１８１】
４．第２の特殊コマンド（敵追尾コマンド）の説明
本実施形態では、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」において、所定条件を満たし第１の特殊コマンド（攻守交替コマンド）が実行されると、移動体ＯＢ１とＯＢ２との追尾関係が逆となり、移動体ＯＢ１が追われる状況になることもある。
【０１８２】
例えば、移動体ＯＢ２がコンピュータプログラムによって制御されるノンプレーヤキャラクターＮＰＣである場合には、所定条件を満たす場合に、コンピュータプログラムによって第１の特殊コマンドを実行し、移動体ＯＢ２が移動体ＯＢ１の背後をとるように制御される。また、第１の入力部或いは第１の端末１０Ａからの入力情報に基づき、移動体ＯＢ１を制御し、第２の入力部或いは第２の端末１０Ｂからの入力情報に基づき、移動体ＯＢ２を制御するような対人戦の場合は、第２の入力部或いは第２の端末１０Ｂからの第１の特殊コマンドの入力情報を実行することによって、移動体ＯＢ２が移動体ＯＢ１の背後をとることもある。
【０１８３】
本実施形態では、図１４に示すように、Ｔ４０時点において「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」において、所定条件を満たし第１の特殊コマンド（攻守交替コマンド）が実行されたとする。そして、Ｔ４１時点に示すように、移動体ＯＢ１とＯＢ２との追尾関係が逆になりそうな状況であっても、第２の特殊コマンド（敵追尾コマンド）の実行を行うことによって、移動体ＯＢ２が移動体ＯＢ１の背後を取らせないようする機会を、移動体ＯＢ１に与えるようにしている。
【０１８４】
つまり、第２の特殊コマンド（敵追尾コマンド）は、移動体制御用の入力情報によらずに、敵の移動体ＯＢ２の方角を向くように、移動体ＯＢ１の向きを制御するコマンドである。したがって、図１４のＴ４２時点に示すように、第２の特殊コマンドの入力を確実に行えば、移動体ＯＢ１が敵の移動体ＯＢ２の方角に自動的に向くので、移動体ＯＢ１を操作するプレーヤは、機銃やミサイルの射撃用入力を行うだけで簡易に敵機ＯＢ２を撃墜させることができる。このように、本実施形態では、移動体ＯＢ１が敵機ＯＢ２に背後を取られる前に攻撃の機会を与え、より白熱した対戦ゲームのプレイが可能となるようにしている。
【０１８５】
４．１  第２の特殊コマンド（敵追尾コマンド）の発動条件
次に、本実施形態において、第２の特殊コマンドの発動条件について説明する。まず、本実施形態では、移動体ＯＢ２が移動体ＯＢ１に追尾されている場合であって、移動体ＯＢ１と移動体ＯＢ２との距離が第１の所定距離Ｌ１以内である場合に、所与のタイミングで移動体ＯＢ２が移動体ＯＢ１を追尾する位置に、移動体ＯＢ２を移動させる第１の特殊コマンドを実行することが発動条件となる。
【０１８６】
そして、本実施形態では、第１の特殊コマンドの実行開始時点から第２の所定期間Ｋ２中に第２の特殊コマンドの入力情報を受け付け可能とする。例えば、図１５に示すように、Ｔ５１時点で第１の特殊コマンドの実行が開始されると、Ｔ５１時点から第２の所定期間Ｋ２を第２の特殊コマンド受け付け期間とする。このように、本実施形態では、攻守交替マニューバの開始期間においてのみ、第２の特殊コマンドの入力を受け付けるので、移動体ＯＢ１を操作するプレーヤは、移動体ＯＢ１の攻撃の機会を得るために、第２の特殊コマンドの入力のタイミングを逃さないようにすることが重要となる。
【０１８７】
なお、第２の所定期間Ｋ２は固定でもよいし可変に設定してもよい。例えば、オンラインモード（ネットワークを介して複数の端末１０又はサーバ２０とデータ送受信を行ってゲーム処理を行うモード）では、通信ラグの影響により、相手方端末から第１の特殊コマンドの入力情報を受け付ける時点が遅延する傾向にある。
【０１８８】
したがって、オンラインモードでは第２の所定期間Ｋ２を０．５秒に設定し、オフラインモード（シングルプレーヤモード、１つの端末が、複数の入力部からの入力情報に基づいて処理を行うマルチプレーヤモードを含む）では、第２の所定期間Ｋ２を１秒にする等して、オンラインモードでは、オフラインモードよりも第２の所定期間Ｋ２を短期間に設定するようにしてもよい。
【０１８９】
４．２  第２の特殊コマンド（敵追尾コマンド）の実行処理
本実施形態では、図１５に示すように、第２の特殊コマンドの入力情報を、第２の所定期間Ｋ２において受け付けた場合には、敵機である移動体ＯＢ２の方角を向くように、移動体ＯＢ１の向きを制御する（つまり、敵追尾を行うように制御する）。つまり、移動体制御用の入力情報によらずに、敵機である移動体ＯＢ２の方角を向くように、移動体ＯＢ１の向きを制御する。例えば、図１４のＴ４１時点に示すように、移動体ＯＢ１の位置Ｐ１と、移動体ＯＢ２の位置Ｑ１とを結ぶ方向に、移動体ＯＢ１の向きＶ１を設定する。
【０１９０】
そして、図１５のＴ５４に示すように、移動体ＯＢ１を操作するプレーヤが、攻撃コマンドの入力を行うことによって、移動体ＯＢ２を攻撃し、移動体ＯＢ２の攻守交替を行う挙動を阻止することができる。例えば、射撃用入力情報に基づき、移動体ＯＢ１から機銃を発射させる。例えば、発射された弾が移動体ＯＢ２に命中すれば、移動体ＯＢ２は攻守交替に失敗することになる。なお、第２の特殊コマンドによって敵機を追尾する際の攻撃力を、通常戦闘時よりも大きくするようにしてもよい。
【０１９１】
なお、図１６に示すように、第２の特殊コマンドの第２の所定期間Ｋ２において、移動体ＯＢ１を操作するプレーヤが、第２の特殊コマンドの入力を行わない場合には、自動的に、敵機である移動体ＯＢ２の方角を向くように、移動体ＯＢ１の向きを制御しない。したがって、移動体ＯＢ１は、追尾されないように逃げる操作等を行うことが必要となる。なお、移動体ＯＢ２は、移動体ＯＢ１の背後を取ることになる攻守交替が成功することになる。
【０１９２】
また、図１７に示すように、第２の特殊コマンドの第２の所定期間Ｋ２において、移動体ＯＢ１を操作するプレーヤが、第２の特殊コマンドの入力を行ったとしても、移動体ＯＢ１が移動体ＯＢ２を攻撃しない場合は、移動体ＯＢ２の攻守交替が成功し、移動体ＯＢ１は、移動体ＯＢ２に背後をとられてしまう。したがって、移動体ＯＢ１は、第２の特殊コマンドの入力を第２の所定期間Ｋ２に行い、移動体ＯＢ１の向きが、移動体ＯＢ２の方角を向くように制御された後は、射撃用入力情報に基づき、移動体ＯＢ１から弾を発射させる。
【０１９３】
なお、図１６、１７に示すように、第２の所定期間中に第２の特殊コマンドの入力情報を受け付けなかった場合には、第１の移動体の挙動を、所定の制限時間において制限する。つまり、移動体ＯＢ１が移動体ＯＢ２を追尾する有利な立場であったにもかかわらず、その有利な立場を生かしきれなかった場合には、ペナルティとして移動体ＯＢ１の挙動が制限する。
【０１９４】
移動体ＯＢ１の挙動の制限とは、例えば、移動体ＯＢ１の機軸周りの回転であるロールに関する回転速度を減速させる処理、回転角度を所定角度（例えば、１０度）に制限する処理等である。また、移動体ＯＢ１の上昇角度（ピッチアップ）、下降角度（ピッチダウン）、ヨー（移動体を水平に保ちながら移動方向を変更する）の単位時間あたりの変更角度を制限してもよい。また、移動体ＯＢ１の移動速度を制限（例えば、加速不可）にしてもよい。
【０１９５】
このようにすれば、移動体ＯＢ１が移動体ＯＢ２に追尾される状態となった場合により被弾されやすい状況を作り出すことができ、より白熱した戦闘が可能なゲームを提供できる。
【０１９６】
４．３  仮想カメラの制御
４．３．１  近接戦闘モードにおける画像生成処理
次に、本実施形態の画像生成処理について説明する。図１８（Ａ）（Ｂ）は、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」における、移動体ＯＢ１を操作する端末１０に表示される画像の一例である。
【０１９７】
例えば、図１８（Ａ）に示すように、近接戦闘モードが発動されると、マーカＭＫが表示される。例えば、マーカＭＫの表示範囲内に移動体ＯＢ２の位置が入ると、マーカＭＫの内周側にゲージＧＡが表示される。ゲージＧＡは、移動体ＯＢ２がマーカＭＫ内に位置する時間の経過に従ってその値が増加するように表示され、移動体ＯＢ２がマーカＭＫ内に位置しなくなった場合にリセットされる（ゲージＧＡの値が０になる）。なお、移動体ＯＢ２がマーカＭＫ内に位置しなくなった場合にゲージＧＡの値を所定値だけ減少させるようにしてもよい。また、移動体ＯＢ２がマーカＭＫ内に位置しない時間の経過に従ってゲージＧＡの値を減少させるようにしてもよい。
【０１９８】
図１８（Ａ）に示すように、移動体ＯＢ２がマーカＭＫ内に位置する時間が所定時間（例えば、０．５秒）に達してゲージＧＡの値が最大値となると、移動体ＯＢ２が移動体ＯＢ１にロックオンされるロックオン状態となる。このロックオン状態になると、移動体ＯＢ１から通常の誘導ミサイルよりも誘導性能の高い誘導ミサイル（特殊武器）が発射され、発射された誘導ミサイルは、高確率で移動体ＯＢ２に着弾することになる。
【０１９９】
また、本実施形態では、移動体ＯＢ１と移動体ＯＢ２との距離に応じて変化するマーカＭＫを含む画像を生成する。すなわち、移動体ＯＢ１と移動体ＯＢ２の距離が近いほどマーカＭＫのサイズ（半径）が大きくなり、移動体ＯＢ２が移動体ＯＢ１から狙われ易くなる（マーカＭＫを回避し難くなる）。一方、移動体ＯＢ１と移動体ＯＢ２の距離が遠いほどマーカＭＫのサイズ（半径）が小さくなり、移動体ＯＢ２が移動体ＯＢ１から狙われ難くなる（マーカＭＫを回避し易くなる）。
【０２００】
４．３．２  第２の特殊コマンドの入力を指示する画像の生成処理
図１８（Ｂ）は、「（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）近接戦闘モード」において、第２の特殊コマンドの発動条件を満たすと、第２の特殊コマンドの入力を指示する画像（移動体ＯＢ１を操作する端末１０に表示される画像）の一例である。本実施形態では、Ｂボタンの入力情報を、第２の特殊コマンドの入力情報とし、Ｂボタンの入力情報を受け付けた場合に、第２の特殊コマンドを実行する。
【０２０１】
したがって、本実施形態では、特殊コマンドを受け付ける第２の所定期間Ｋ２（図１５のＴ５１〜Ｔ５３の期間中）において、図１８（Ｂ）に示すように、画像の中央に、「Ｂ」の第２の特殊コマンドの入力指示マークＭＳ２（第１の指示画像ＭＳ２）を含む画像を生成する。したがって、移動体ＯＢ１を操作するプレーヤは、第２の特殊コマンドを入力可能であることを確実に知ることができる。
【０２０２】
４．３．３  第２の特殊コマンド実行時、非実行時の画像生成処理の説明
本実施形態では、移動体ＯＢ１の挙動に追従する仮想カメラから見える画像を生成しているが、第２の所定期間Ｋ２中に第２の特殊コマンドの入力情報を受け付けた場合には、移動体ＯＢ１の向きに応じて、仮想カメラの視線方向を変化させるように制御する。
【０２０３】
図１９は、第２の所定期間中に第２の特殊コマンドが受け付けられた場合における、仮想カメラＣの制御について説明するための図である。例えば、図１９に示すように、Ｔ８０時点で移動体ＯＢ１を追従する仮想カメラＣの仮想カメラ情報ＣＤ０に基づいて画像を生成する。
【０２０４】
そして、第１の特殊コマンドの実行により移動体ＯＢ２がクイックループの攻守交替マニューバによる移動が開始される。例えば、第２の所定期間中のＴ８１時点に、第２の特殊コマンドを受け付けると、移動体ＯＢ１を移動体ＯＢ２の方角に移動体ＯＢ１の向きＶ１を設定する。そして、仮想カメラＣの視線方向ＣＶも移動体の向きＶ１と同じ方向に設定する。例えば、Ｔ８２時点のように、移動体ＯＢ１が移動体ＯＢ２に対して射撃攻撃を行うと、撃墜時の迫力のある画像を生成することができる。
【０２０５】
図２０は、第２の所定期間中に第２の特殊コマンドを受け付けなかった場合における、仮想カメラＣの制御について説明するための図である。図２０に示すように、Ｔ９０時点で移動体ＯＢ１を追従する仮想カメラＣの仮想カメラ情報ＣＤ０に基づいて画像を生成する。
【０２０６】
そして、第１の特殊コマンドの実行により移動体ＯＢ２がクイックループの攻守交替マニューバによる移動が開始される。本実施形態では、第２の所定期間中に第２の特殊コマンドを受け付けなかった場合には、Ｔ９１に示すように、移動体ＯＢ２を注視するように仮想カメラＣの視線方向を制御する。例えば、第１の特殊コマンド実行開始時から移動体ＯＢ１と移動体ＯＢ２との追尾関係が逆転するまでの間、移動体ＯＢ２を注視するように仮想カメラＣの視線方向を制御する。移動体ＯＢ１と移動体ＯＢ２との追尾関係が逆転後は、仮想カメラの視線方向を、移動体ＯＢ１の向きに追従させればよい。
【０２０７】
また、図２１は、第２の所定期間中に第２の特殊コマンドが受け付けたが、射撃攻撃に失敗した場合における、仮想カメラＣの制御について説明するための図である。例えば、図２１に示すように、Ｔ１００時点で移動体ＯＢ１を追従する仮想カメラＣの仮想カメラ情報ＣＤ０に基づいて画像を生成する。
【０２０８】
そして、第１の特殊コマンドの実行により移動体ＯＢ２がクイックループの攻守交替マニューバによる移動が開始される。例えば、第２の所定期間中のＴ１０１時点に、第２の特殊コマンドを受け付けると、移動体ＯＢ１を移動体ＯＢ２の方角に移動体ＯＢ１の向きＶ１を設定する。そして、仮想カメラＣの視線方向ＣＶも移動体の向きＶ１と同じ方向に設定する。
【０２０９】
しかし、Ｔ１０２時点のように、移動体ＯＢ１が移動体ＯＢ２に対して射撃攻撃を行わず、移動体ＯＢ１と移動体ＯＢ２との追尾関係が逆転した後は、仮想カメラの視線方向を、移動体ＯＢ１の向きに追従させる。
【０２１０】
なお、移動体ＯＢ１と移動体ＯＢ２との追尾関係が逆転したか否か判断は、移動体ＯＢ１、ＯＢ２の位置関係に基づき判断する。例えば、移動体ＯＢ１の進行方向に、移動体ＯＢ２の位置が移動体ＯＢ１の位置より後方に位置する場合に、移動体ＯＢ１と移動体ＯＢ２の追尾関係が逆転したと判断すればよい。
【０２１１】
また、移動体ＯＢ１の攻撃終了後（或いは、移動体ＯＢ２の攻守交替マニューバの移動が終了後）は、移動体ＯＢ１の挙動に追従する元の仮想カメラ制御に切り替えるようにする。仮想カメラ制御の切り替え時は、移動体ＯＢ１の挙動に追従する第１の仮想カメラ情報と、攻守交替マニューバの開始から終了（攻撃終了）までの第２の仮想カメラ情報とを並行に演算してもよい。そして、攻守交替マニューバの開始期間は、第１の仮想カメラ情報と第２の仮想カメラ情報とを合成（例えば、線形合成）して第２の仮想カメラ情報に移行し、攻守交替マニューバの終了期間（移動体ＯＢ２の攻撃終了期間）は、第１の仮想カメラ情報と第２の仮想カメラ情報とを合成（例えば、線形合成）して第１の仮想カメラ情報に移行するようにしてもよい。このようにすれば、シームレスなカメラ制御を行うことができる。以上のように、本実施形態では、従来にないカメラ演出を行うことができる。
【０２１２】
４．４  処理の流れ
最後に、図２２を用いて、第２の特殊コマンドを実行するまでの処理の流れについて説明する。まず、追う側近接戦闘モード（移動体ＯＢ１が追う側、移動体ＯＢ２が逃げ側）が発動されたか否かを判断するステップＳ１０。追う側近接戦闘モードが発動されていない場合ステップＳ１０のＮは、ステップＳ１０を繰り返す。一方、追う側近接戦闘モードが発動されたステップＳ１０のＹの場合、第１の特殊コマンド（攻守交替コマンド）が実行されたか否かを判断する（ステップＳ１１）。
【０２１３】
第１の特殊コマンドが実行されない場合（ステップＳ１１のＮ）は、ステップＳ１１を繰り返す。一方、第１の特殊コマンドが実行された場合（ステップＳ１１のＹ）、第１の特殊コマンド実行時から第２の所定期間Ｋ２の間に第２の特殊コマンド（敵追尾コマンド）の入力情報を受け付けたか否かを判断する（ステップＳ１２）。
【０２１４】
第１の特殊コマンド実行時から第２の所定期間Ｋ２の間に第２の特殊コマンド（敵追尾コマンド）の入力情報を受け付けた場合（ステップＳ１２のＹ）、第２の特殊コマンド（敵追尾コマンド）を実行し（ステップＳ１３）、処理を終了する。
【０２１５】
一方、第１の特殊コマンド実行時から第２の所定期間Ｋ２の間に第２の特殊コマンド（敵追尾コマンド）の入力情報を受け付けなかった場合は（ステップＳ１２のＮ）、処理を終了する。
【０２１６】
４．５  その他
なお、本実施形態では、ノンプレーヤキャラクターＮＰＣを移動体ＯＢ２とし、移動体ＯＢ１と移動体ＮＰＣとが対戦する場合には、第１の特殊コマンドを実行することを事前に予告するための予告処理を実行してもよい。そして、この予告処理の実行時を基準に第２の所定期間Ｋ２を設定してもよい。
【０２１７】
つまり、本実施形態では、移動体ＮＰＣが移動体ＯＢ１に追尾されている場合であって、移動体ＯＢ１と移動体ＮＰＣとの距離が第１の所定距離Ｌ１以内である場合に、Ｔ５０時点で予告処理を実行し、その後、Ｔ５１時点で第１の特殊コマンドを実行する。かかる場合、本実施形態では、予告処理を実行する時点Ｔ５０から第２の所定期間Ｋ２中に、第２の特殊コマンドの入力情報を受け付け可能とするようにしてもよい。このようにすれば、実際に第１の特殊コマンドを実行する前から、第２の特殊コマンドの入力情報を受け付けることになるので、移動体ＯＢ１を操作するプレーヤは余裕をもって第２の特殊コマンドの入力操作を行うことができる。
【０２１８】
５．通信制御の説明
５．１  オンラインゲームの処理例１
本実施形態では、複数の端末とネットワークを介して相互にデータの送受信を行い、オンラインフライトシューティングゲームを実現可能としてもよい。つまり、本実施形態では、ピア・ツー・ピア方式のオンラインゲームに適用してもよい。
【０２１９】
図２３及び図２４は、本実施形態のネットワークシステムの構成を示す図である。例えば、本実施形態のネットワークシステムでは、複数の端末１０Ａ〜１０Ｃの間で無線通信を行って、各端末１０Ａ〜１０Ｃの所有者が対戦プレイや協力プレイを行うことができる。なお、本実施形態のネットワークシステムでは、複数の端末１０Ａ〜１０Ｃの間で有線通信を行ってもよい。
【０２２０】
無線通信の態様としては、図２３に示すように、各端末１０Ａ〜１０Ｃが自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図２４に示すように、端末１０ＡがアクセスポイントＡＣＳＰ１を介し、端末１０Ｂ、１０ＣがアクセスポイントＡＣＳＰ２を介して、間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントＡＣＳＰ１又はＡＳＣＰ２を介してインターネットＩｎｅｔ（公衆通信網）にアクセスすることができる。そして、各端末１０Ａ〜１０Ｃは、インターネットＩｎｅｔに接続されたサーバ２０との間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットを、アクセスポイントＡＣＳＰ１又はＡＣＳＰ２を介して送受信することができる。
【０２２１】
本実施形態のネットワークシステムは、端末１０Ａの移動体ＯＢ１が、他の端末１０Ｂの移動体ＯＢ２を攻撃するゲーム演算を行うようにしてもよい。また、本実施形態のネットワークシステムは、複数の端末１０Ａ、１０Ｂそれぞれの操作対象の移動体ＯＢ１、ＯＢ２によって構成される第１のグループと、複数の端末１０Ｃ、１０Ｄそれぞれの操作対象の移動体ＯＢ３、ＯＢ４によって構成される第２のグループとが対戦を行うゲーム演算を行うようにしてもよい。
【０２２２】
また、本実施形態では、各端末が相互にネットワークを介して移動情報等のデータに基づいて、端末のオブジェクト空間に配置される他の機体（他の端末を操作するプレーヤの操作対象の移動体）を移動・動作させる。つまり、各端末１０は、ネットワークを介して、移動体の挙動（向き、移動方向、位置、移動速度）などを含むデータ、移動体制御用の入力情報、射撃用の入力情報、第１の特殊コマンドの入力情報、第２の特殊コマンドの入力情報などのデータを送受信する。
【０２２３】
例えば、描画のフレームレートで（例えば、１／６０秒毎）、端末１０Ａが、端末１０Ａの操作対象の機体ＯＢ１の位置Ｐを端末１０Ｂに送信する。一方、端末１０Ｂにおいても、端末１０Ａと同じように、描画のフレームレートで端末１０Ｂの操作対象の機体ＯＢ２の位置Ｑを端末１０Ａに送信する。
【０２２４】
また、各端末は、各端末のオブジェクト空間における仮想カメラから見える画像を、ゲーム画像として生成する処理を行う。従って、端末毎に、その端末が操作する移動体の挙動に応じた画像が生成される。
【０２２５】
５．２  オンラインゲームの処理例２
また、本実施形態では、クライアント・サーバ方式のオンラインゲームに適用してもよい。つまり、サーバ２０が、端末１０で行う一部の処理（例えば、処理部１００の少なくとも１つの処理）を行うようにしてもよい。図２５に示すように、サーバ２０が、ネットワーク（例えば、インターネット）を介して複数の端末１０Ａ〜１０Ｃと接続され、サーバ２０が、端末１０から入力情報を受信する。そして、サーバ２０が、受信した入力情報に基づいて画像を生成し、生成した画像を端末１０に送信してもよい。
【０２２６】
つまり、サーバ２０は、シューティングゲームの処理を行うサーバであって、ネットワークを介して端末から移動体制御用の入力情報、第１の特殊コマンドの入力情報や第２の特殊コマンドの入力情報を、端末から受信する。
【０２２７】
そして、サーバ２０は、移動体ＯＢ１を操作する端末１０Ａからの移動体制御用の入力情報に基づき移動体ＯＢ１から発射させた弾が移動体ＯＢ２に命中したか否かを判断し、移動体ＯＢ２から発射させた弾が移動体ＯＢ１に命中したか否かを判断し、各判断結果に基づきゲーム演算を行う。なお、移動体ＯＢ２は、ノンプレーヤキャラクターＮＰＣであってもよいし、他の端末１０Ｂからの移動体制御用の入力情報に基づき制御される移動体であってもよい。また、サーバ２０は、オブジェクト空間において、端末１０Ａから受信した移動体制御用の入力情報に基づき移動体ＯＢ１を移動させる移動体制御を行う。
【０２２８】
そして、サーバ２０は、移動体ＯＢ１が移動体ＯＢ２に追尾されている場合であって、移動体ＯＢ１と移動体ＯＢ２との距離が第１の所定距離以内である場合に、前記所定条件を満たすと判断し、所定条件を満たす場合に、第１の特殊コマンドの入力情報を受け付ける処理を行う。例えば、端末１０Ａから第１の特殊コマンドの入力情報を受信した場合に、第１の特殊コマンドの入力情報を受け付ける処理を行う。そして、サーバ２０は、第１の特殊コマンドの入力情報を受け付けた場合に、端末１０Ａからの移動体制御用の入力情報によらずに、移動体ＯＢ１が移動体ＯＢ２を追尾する位置に、移動体ＯＢ１を移動させる。
【０２２９】
つまり、サーバ２０は、上述した端末１０と同様に、第１の特殊コマンドの発動条件を満たすか否かを判断し、第１の特殊コマンドの発動条件を満たす場合に、第１の特殊コマンドを実行する。また、サーバ２０は、上述した端末１０と同様に、第２の特殊コマンドの発動条件を満たすか否かを判断し、第２の特殊コマンドの発動条件を満たす場合に、第２の特殊コマンドを実行するようにしてもよい。
【０２３０】
なお、サーバ２０は、上述した端末１０と同様に、近接戦闘モードの発動条件を満たすか否かを判断し、近接戦闘モードの発動条件を満たす場合に、近接戦闘モードの発動させるようにしてもよい。
【０２３１】
６．立体視画像
また、本実施形態では、立体視画像に応用してもよい。すなわち、本実施形態の描画部１２０が、立体視のための左目用仮想カメラから見える左目用画像と、立体視のための右目用仮想カメラから見える右目用画像とを生成し、当該左目用画像と当該右目用画像とを合成して立体視用画像を生成する処理を行うようにしてもよい。
【０２３２】
ここで、立体視画像とは、人間の左右の眼の視線角度のずれ、輻輳、焦点距離（ピント調整）の生理的機能を利用して、立体物があるかのように感じることができる画像のことである。
【０２３３】
７．その他
本実施形態では、移動体の挙動に仮想カメラを追従させるように制御しているが、プレーヤの入力情報に基づき、機銃、ミサイル、特殊兵装などのアイテムの選択を受け付けると、移動体に対する相対的な仮想カメラの視点位置を、図２（Ａ）〜（Ｃ）に示す通常戦闘時の仮想カメラ位置から、機銃、ミサイル、特殊兵装の位置（アイテムカメラ制御用の視点位置）に変更するようにしてもよい。
【０２３４】
また本発明は、業務用ゲームシステム等の種々のゲームシステムに適用できる。また、本実施形態では、フライトシューティンゲームに限らず、プレーヤの操作対象のプレーヤキャラクタが武器（拳銃）などを用いて、敵を攻撃するシューティングゲームに応用してもよい。
【０２３５】
また、本実施形態で行う移動体、仮想カメラの挙動制限処理は、シューティングゲームの他、アクションゲーム、ロールプレイングゲーム、対戦ゲーム、レースゲーム、音楽ゲーム、格闘ゲームなど種々のゲーム装置、ゲームを提供するサーバで行うようにしてもよい。
【０２３６】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２３７】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。なお、本実施形態で説明した実施例は、自由に組み合わせることができる。
【符号の説明】
【０２３８】
１００  処理部、１１０  受け付け部、１１１  オブジェクト空間設定部、
１１２  移動・動作処理部、１１２ａ  移動体制御部、
１１４  ヒット判定部、１１５  ゲーム演算部、
１１６  表示制御部、１１７  仮想カメラ制御部、１１８  通信制御部
１２０  描画部、１３０  音処理部、１６０  入力部、１６２  検出部、
１７０  記憶部、１７１  主記憶部、１７２  画像バッファ、
１７３  オブジェクトデータ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９６  通信部、
ＯＢ１  第１の移動体、ＯＢ２  第２の移動体、Ｃ  仮想カメラ
【図１】
2012210243.tif 000003
【図３】
2012210243.tif 000004
【図４】
2012210243.tif 000005
【図５】
2012210243.tif 000006
【図６】
2012210243.tif 000007
【図７】
2012210243.tif 000008
【図８】
2012210243.tif 000009
【図９】
2012210243.tif 000010
【図１２（Ａ）】
2012210243.tif 000011
【図１２（Ｂ）】
2012210243.tif 000012
【図１３】
2012210243.tif 000013
【図１４】
2012210243.tif 000014
【図１５】
2012210243.tif 000015
【図１６】
2012210243.tif 000016
【図１７】
2012210243.tif 000017
【図１９】
2012210243.tif 000018
【図２０】
2012210243.tif 000019
【図２１】
2012210243.tif 000020
【図２２】
2012210243.tif 000021
【図２５】
2012210243.tif 000022
【図２】
2012210243.tif 000023
【図１０】
2012210243.tif 000024
【図１１】
2012210243.tif 000025
【図１８】
2012210243.tif 000026
【図２３】
2012210243.tif 000027
【図２４】
2012210243.tif 000028