(57)【要約】【課題】群を構成する個々のオブジェクトの状態を反映したオブジェクトの動きを実現可能なプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】本プログラムは、複数のオブジェクトの集合であるユニットの移動制御情報を演算するユニット移動制御部１２４とユニット移動制御情報及び各オブジェクトポジション情報に基づき各オブジェクトのオブジェクト移動制御情報を演算するオブジェクト移動制御部１２４と、画像生成部としてコンピュータを機能させ、オブジェクト移動制御部１２４は、各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断し、位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行う。【選択図】図３０
2009207625.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、してコンピュータを機能させ、
前記オブジェクト移動制御部は、
各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことを特徴とするプログラム。
【請求項２】
請求項１において、
各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた前記所定のパラメータの値を変化させる制御を行うパラメータ演算部をさらに含むことを特徴とするプログラム。
【請求項３】
請求項２において、
前記パラメータ演算部は、
各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた所定のパラメータの値を減少または増加させ、各オブジェクトに対して設定された前記所定のパラメータが所定の消滅基準値になると各オブジェクトを消滅状態とし、消滅状態でないオブジェクトについては、ダメージに応じて減少または増加させた分の少なくとも一部についてダメージ前の状態に回復させる制御を行うことを特徴とするプログラム。
【請求項４】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、してコンピュータを機能させ、
前記オブジェクト移動制御部は、
各オブジェクトが受けたダメージ量に基づき各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記オブジェクト移動制御部は、
各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトを含む同じユニットに属する複数のオブジェクト間で、ポジションの入れ替え処理を行うオブジェクトポジション入れ替え処理部を含み、
前記ポジションの入れ替え処理の対象となる複数のオブジェクトについて、入れ替え後のポジションに対応した位置に移動させるためのオブジェクト移動制御情報を演算することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記オブジェクトポジション入れ替え処理部は、
所与のオブジェクトが位置移動条件を満たすと判断した場合には、所与のオブジェクトが位置するポジションに対して退避エリアとなるポジションに位置するオブジェクトを入れ替え対象となる他のオブジェクトとしてオブジェクトポジション入れ替え処理を行うことを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記オブジェクトポジション入れ替え処理部は、
ユニットを構成する各ポジションに対応付けられた安全度を示す値に基づき、所与のポジションより安全度の高いポジションを所与のポジションの退避エリアとしてポジションの入れ替え処理を行うことを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記オブジェクトポジション入れ替え処理部は、
所与のポジションからの移動距離が最も短いまたは所定の基準より短いポジションを退避エリアとしてポジションの入れ替え処理を行うことを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記オブジェクトポジション入れ替え処理部は、
前記オブジェクトに対応付けられている司令官のキャラクタに応じてポジションの入れ替え基準の異なる条件を用いて、ポジションの入れ替えの有無を判断することを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
各オブジェクトに対して設定された前記所定のパラメータまたはダメージ量に基づき、各オブジェクトが属するユニットに対応した回復可能なダメージ量を示す回復可能ダメージパラメータを演算して、当該回復可能ダメージパラメータに基づき回復可能なダメージ量を告知するためのパラメータ表示オブジェクトをゲーム画像の一部に表示する制御を行うパラメータ表示オブジェクト表示制御部をさらに含むことを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記オブジェクトポジション入れ替え処理部は、
各オブジェクトがダメージを受けると、ポジションの入れ替えの有無を判断することを特徴とするプログラム。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記ユニット移動制御部が、
与えられた情報に基づいて、前記ユニットの目標移動位置を決定し、当該目標移動位置に前記ユニットを移動させるためのユニット移動制御情報を演算し、
前記オブジェクト移動制御部が、
各オブジェクトが属するユニットの目標移動位置及び当該ユニット内における各オブジェクトのポジション情報に基づいて各オブジェクトの目標移動位置を決定し、当該目標移動位置に各オブジェクトを移動させるためのオブジェクト移動制御情報を演算することを特徴とするプログラム。
【請求項１３】
請求項１乃至１２のいずれかにおいて、
前記ユニットを構成するオブジェクトの位置情報に基づき、ユニットの外縁またはボリュームをイメージさせるボリュームイメージオブジェクトの表示制御を行うボリュームイメージオブジェクト表示制御部と、を含むことを特徴とするプログラム。
【請求項１４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１３のいずれかのプログラムを記憶されていることを特徴とする情報記憶媒体。
【請求項１５】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、を含み、
前記オブジェクト移動制御部は、
各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことを特徴とする画像生成システム。
【請求項１６】
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、を含み、
前記オブジェクト移動制御部は、
各オブジェクトが受けたダメージ量に基づき各オブジェクトが各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
近年、仮想的な３次元空間（以下、「オブジェクト空間」という。）に配置設定されたキャラクタなどのオブジェクトを、仮想カメラ（所与の視点）に基づく所定の画像として生成する画像生成システムが実用化されている。このような画像生成システムは、仮想現実を体験させることができるものとして様々なシステムにて用いられるようになっており、特に、ゲームシステムにおいては、娯楽性および興趣性を向上させるためものとして重要視されている。
【０００３】
このようなゲームシステムにおいては、複数の移動体オブジェクトから構成される群（ユニット）、すなわち、オブジェクトのユニットを用い、当該オブジェクトのユニットに対して種々の移動制御を行うようになっている。
【特許文献１】特開２０００−１７２８６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような画像生成システムにあっては、各オブジェクトは群の中でのポジションがきまっているが、それが常に固定されたままでは、群れを構成する個々のオブジェクトの状態を反映したゲームを提供することができず、ゲームが単調になりがちであった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、群を構成する個々のオブジェクトの状態を反映したオブジェクトの動きを実現可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、してコンピュータを機能させ、
前記オブジェクト移動制御部は、
各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことプログラムに関係する。
【０００７】
また本発明は、上記各部を含む画像生成システムに関係する。
【０００８】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００９】
ここにおいてオブジェクトとは、例えば地上や上空や宇宙空間や水中等の仮想３次元空間（オブジェクト空間）を移動する移動体オブジェクト（例えば戦闘機、飛行機、宇宙船、潜水艦、自動車、人、動物、鳥、魚等）でもよい。
【００１０】
ユニットとは群れをなして移動する複数のオブジェクトの集合単位であって、例えば隊列を組んで移動する戦闘機群や飛行機群や宇宙船群や潜水艦群や自動車群でもよいし、群れをなして移動する群衆や動物群や鳥群や魚群等でもよい。またユニットを構成する個々のオブジェクトは同じ種類のものに限られず、例えば人やロボットや車等の複数の異なる種類のオブジェクトが混在して１つのユニットを構成するようにしてもよい。
【００１１】
所定のパラメータとしては、各オブジェクトの耐久力の大きさをしめす耐久力パラメータや、各オブジェクトの体力の大きさをしめす体力パラメータや、各オブジェクトのライフの数をしめすライフ値パラメータをもちいる場合でもよいし、各オブジェクトの位置座標等を用いる場合でもよい。また所定のパラメータは各オブジェクトに対して１対１に対応しているパラメータに限られず、例えば多対１で対応しているパラメータでもよい。
【００１２】
本発明によれば、各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断して各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことで群を構成する個々のオブジェクトの状態を反映したオブジェクトの動きを実現可能なプログラム、情報記憶媒体及び画像生成システムを提供することができる。
（２）このプログラム、情報記憶媒体、画像生成システムは、
各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた前記所定のパラメータの値を変化させる制御を行うパラメータ演算部をさらに含んでもよい。
【００１３】
例えば、各オブジェクトがダメージを受けると、受けたダメージの回数やダメージの大きさに応じて値が減少または増加し、最終的に所定の消滅基準値（例えば０）に達したら、当該オブジェクトを消滅扱いにしてもよい。
【００１４】
このようにするとダメージを受けたオブジェクトをより安全な位置に移動させることができる。
（３）このプログラム、情報記憶媒体、画像生成システムは、
前記パラメータ演算部は、
各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた所定のパラメータの値を減少または増加させ、各オブジェクトに対して設定された前記所定のパラメータが所定の消滅基準値になると各オブジェクトを消滅状態とし、消滅状態でないオブジェクトについては、ダメージに応じて減少または増加させた分の少なくとも一部についてダメージ前の状態に回復させる制御を行ってもよい。
（４）本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算するユニット移動制御部と、
前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算するオブジェクト移動制御部と、
前記オブジェクト移動制御情報に基づき複数のオブジェクトをオブジェクト空間に配置して、仮想カメラから見た前記オブジェクト空間の画像を生成する画像生成部と、してコンピュータを機能させ、
前記オブジェクト移動制御部は、
各オブジェクトが受けたダメージ量に基づき各オブジェクトが位置移動条件を満たすか否かを判断し、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行うことプログラムに関係する。
【００１５】
また本発明は、上記各部を含む画像生成システムに関係する。
【００１６】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１７】
各オブジェクトが受けたダメージ量とは、例えば１回のダメージの大きさでもよいし、複数回受けたダメージの総量でもよい。なおダメージ量を、ダメージを与える原因となる被弾回数や衝突回数等で判断してもよい。
【００１８】
このようにするとダメージを受けたオブジェクトをより安全な位置に移動させることができる。
（５）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト移動制御部は、
各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトを含む同じユニットに属する複数のオブジェクト間で、ポジションの入れ替え処理を行うオブジェクトポジション入れ替え処理部を含み、
前記ポジションの入れ替え処理の対象となる複数のオブジェクトについて、入れ替え後のポジションに対応した位置に移動させるためのオブジェクト移動制御情報を演算してもよい。
【００１９】
各オブジェクトは、ユニット内において所定のポジションを与えられており、所定のポジションを維持するように移動してもよい。移動時には常に所定のポジションに対応した位置をキープして移動する場合に限られず、各オブジェクトの移動特性に従って所定のポジションを目標位置に対応した位置を目標位置として移動する場合でもよい。
【００２０】
なおポジションとはユニット内における位置を特定するもので、ポジションによって特定されるユニット内の具体的な位置は固定されている場合でもよいし、ゲーム状況（ユニットの存在する位置や他のオブジェクトとの位置関係や移動中か否か、又は設定されている陣形等）応じて動的に（リアルタイムに）変動する場合でもよい。例えばユニット内のオブジェクトの数に応じて各ポジション間の距離や各ポジションの配置を動的に変化させてもよい。
【００２１】
またポジションによって特定されるユニット内の具体的な位置は、例えばユニットのローカル座標系における位置座標で定義してもよいし、所定のオブジェクトに対する相対位置として定義しても良い。
（６）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクトポジション入れ替え処理部は、
所与のオブジェクトが位置移動条件を満たすと判断した場合には、所与のオブジェクトが位置するポジションに対して退避エリアとなるポジションに位置するオブジェクトを入れ替え対象となる他のオブジェクトとしてオブジェクトポジション入れ替え処理を行ってもよい。
（７）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクトポジション入れ替え処理部は、
ユニットを構成する各ポジションに対応付けられた安全度を示す値に基づき、所与のポジションより安全度の高いポジションを所与のポジションの退避エリアとしてポジションの入れ替え処理を行ってもよい。
【００２２】
このようにするとポジションの入れ替え処理により、ダメージを受けたオブジェクトをより安全度の高いポジションに退避させることができる。
（８）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクトポジション入れ替え処理部は、
所与のポジションからの移動距離が最も短いまたは所定の基準より短いポジションを退避エリアとしてポジションの入れ替え処理を行ってもよい。
【００２３】
このようにするとポジション入れ替えのための移動距離が短くなるので、スムーズなポジション入れ替えを実現することができる。
（９）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクトポジション入れ替え処理部は、
前記オブジェクトに対応付けられている司令官のキャラクタに応じてポジションの入れ替え基準の異なる条件を用いて、ポジションの入れ替えの有無を判断してもよい。
【００２４】
前記オブジェクトに対応付けられている司令官のキャラクタとは、オブジェクトが属するユニット又はそのユニットが属する上位のグループに対応づけれた司令官のキャラクタでもよい。
【００２５】
司令官として複数のキャラクタが選択可能な設定において、各キャラクタ毎に異なるポジションの入れ替え基準を設定してもよいし、各キャラクタの属性に応じて異なるポジションの入れ替え基準を設定してもよい。
【００２６】
例えばポジションの入れ替え処理により、ダメージを受けたオブジェクトをより安全度の高いポジションに退避させるようにすれば、煩雑にポジションの入れ替えを行うことによりユニットの防御力を向上させることができる。
【００２７】
従ってキャラクタに応じてポジションの入れ替え頻度が異ならせることにより、司令官のキャラクタによって防護力の異なるゲームを提供することができる。
（１０）このプログラム、情報記憶媒体、画像生成システムは、
各オブジェクトに対して設定された前記所定のパラメータまたはダメージ量に基づき、各オブジェクトが属するユニットに対応した回復可能なダメージ量を示す回復可能ダメージパラメータを演算して、当該回復可能ダメージパラメータに基づき回復可能なダメージ量を告知するためのパラメータ表示オブジェクトをゲーム画像の一部に表示する制御を行うパラメータ表示オブジェクト表示制御部をさらに含んでもよい。
【００２８】
例えば受けたダメージが所定の条件下（例えばオブジェクトが未だ消滅していない状態において）所定時間経過後に回復させるようにすると、入れ替えによりダメージを受けたオブジェクトを弾の当たりにくい場所に移動させることにより当該オブジェクトがうけたダメージを回復させやすくすることができる。
【００２９】
パラメータ表示オブジェクトは、バーやグラフやメータ等の画像でもよい。
【００３０】
本発明によれば回復可能なダメージ量を告知するためのパラメータ表示オブジェクトによってプレーヤは現在のユニットの状態を正確に把握することが出きる。
（１１）このプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクトポジション入れ替え処理部は、
各オブジェクトがダメージを受けると、ポジションの入れ替えの有無を判断してもよい。
（１２）このプログラム、情報記憶媒体、画像生成システムは、
前記ユニット移動制御部が、
与えられた情報に基づいて、前記ユニットの目標移動位置を決定し、当該目標移動位置に前記ユニットを移動させるためのユニット移動制御情報を演算し、
前記オブジェクト移動制御部が、
各オブジェクトが属するユニットの目標移動位置及び当該ユニット内における各オブジェクトのポジション情報に基づいて各オブジェクトの目標移動位置を決定し、当該目標移動位置に各オブジェクトを移動させるためのオブジェクト移動制御情報を演算してもよい。
【００３１】
操作入力情報に基づいて、前記ユニットの移動先の目標位置を決定するようにしてもよいし、他のルーチンから与えられた情報に基づいて、前記ユニットの移動先の目標位置を決定するようにしてもよい。
（１３）このプログラム、情報記憶媒体、画像生成システムは、
前記ユニットを構成するオブジェクトの位置情報に基づき、ユニットの外縁またはボリュームをイメージさせるボリュームイメージオブジェクトの表示制御を行うボリュームイメージオブジェクト表示制御部と、を含んでもよい。
【発明を実施するための最良の形態】
【００３２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３３】
１．構成
図１に本実施形態のゲームシステムの機能ブロック図の例を示す。なお本実施形態のゲームシステムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３４】
操作部１６０は、プレーヤがオブジェクト（移動体、プレーヤキャラクタ）の操作データを入力するためのものであり、その機能は、キーボート、マウス、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。なお、オブジェクトデータ記憶部１７６は、オブジェクトのオブジェクトデータが記憶される。例えば、エフェクトオブジェクトのデータ（ポリゴン）を記憶する。
【００３６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００３７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３８】
通信部１９６は外部（例えば他のゲームシステム、サーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３９】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信してゲームシステムを機能させる場合も本発明の範囲内である。
【００４０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４１】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４２】
処理部１００は、オブジェクト空間設定部１１２、移動・動作処理部１２０、仮想カメラ制御部１１４、ゲーム処理部１４０、描画部１１３、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４３】
オブジェクト空間設定部１１２は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４４】
移動・動作処理部１２０は、オブジェクト（キャラクタ、移動体オブジェクト等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４５】
本実施形態の移動・動作処理部１２０は、グループ移動制御情報を演算するグループ移動制御部１２２、ユニット移動制御部１２４、オブジェクト移動制御部１２６を含んで構成してもよい。
【００４６】
前記ユニット移動制御部１２４は、所定の移動イベントが発生した場合、グループ内の複数のユニットについて移動後のポジションの入れ替え処理を行うユニットポジションの入れ替え処理部を含み、入れ替え後のポジションに対応した移動位置に移動させるためのユニット移動制御情報を演算してもよい。
【００４７】
前記ユニットポジションの入れ替え処理部は、ポジションの入れ替えが可能に設定されたユニット群について移動後のポジションの入れ替え処理を行ってもよい。また所与のユニットが複数のポジションを取り得る場合には、前記ポジションに基づき所与のユニットのとり得る複数のポジションに対応した移動後の位置を求め、移動前の所与のユニットの位置と所与のユニットのとり得る複数のポジションに対応した移動後の位置との距離に基づき、所与のユニットの移動後のポジションを決定してもよい。またグループ内にポジションの入れ替え可能な複数のユニットが存在する場合には、前記複数のユニットに対して設定された優先順位に従って、優先順位の高いユニットから順に移動後のポジションを決定してもよい。またグループ内に配置するユニットの入れ替えが可能な複数のポジションが存在する場合には、入れ替えが可能な複数のポジションに対して設定された優先順位に従って、優先順位の高いポジションから順に移動後に配置されるユニットを決定してもよい。また移動後のポジションとユニットの対応関係が複数存在する場合には、各対応関係における入れ替え可能な各ユニットの予想移動距離の合計に基づき移動後のポジションとユニットの対応関係を決定し、決定した対応関係に従って、移動後に各ポジションに配置されるユニットを決定してもよい。
【００４８】
ユニット移動制御部１２４は、各グループに対して設定可能な複数の陣形について、各陣形におけるポジションの配置パターンに関する情報である陣形情報を記憶し、各グループに対して設定されている陣形に対応付けて記憶されている陣形情報に基づきグループ内における各ユニットの配置位置を決定してもよい。
【００４９】
またユニット移動制御部１２４は、各グループに対応付け可能な所定のパラメータの値が所定の条件を満たす場合には各グループに対して設定された陣形に従ってグループ内の各ユニットの配置位置を決定してもよい。
することを特徴とするプログラム。
【００５０】
またグループ移動制御部１２２が、操作入力情報に基づいて、前記グループの目標移動位置を決定し、当該目標移動位置に前記グループを移動させるためのグループ移動制御情報を演算し、ユニット移動制御部１２４が、各ユニットが属するグループの目標移動位置及び当該グループ内における各ユニットのポジション情報に基づいて各ユニットの目標移動位置を決定し、当該目標移動位置に各ユニットを移動させるためのユニット移動制御情報を演算してもよい。
【００５１】
本実施形態の移動・動作処理部１２０は、オブジェクト移動制御部１２６を含んで構成してもよい。オブジェクト移動制御部１２６は、ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算してもよい。
【００５２】
またユニット移動制御部１２４は、複数のオブジェクトの集合であるユニットの移動を制御するためのユニット移動制御情報を演算し、オブジェクト移動制御部１２６は前記ユニット移動制御情報及び当該ユニット内における各オブジェクトの配置位置を示すポジション情報に基づき各オブジェクトの移動を制御するためのオブジェクト移動制御情報を演算してもよい。
【００５３】
オブジェクト移動制御部１２６は、各オブジェクトに対して設定されている所定のパラメータに基づき各オブジェクトが位置移動条件を満たすか否かを判断し、位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行ってもよい。
【００５４】
オブジェクト移動制御部１２６は、各オブジェクトが受けたダメージ量に基づき各オブジェクトが位置移動条件を満たすか否かを判断し、位置移動条件を満たすと判断した場合には、各オブジェクトの位置を移動させる制御を行ってもよい。
【００５５】
オブジェクト移動制御部１２６は、各オブジェクトが位置移動条件を満たすと判断した場合には、各オブジェクトを含む同じユニットに属する複数のオブジェクト間で、ポジションの入れ替え処理を行うオブジェクトポジション入れ替え処理部をおこなってもい。そして前記ポジションの入れ替え処理の対象となる複数のオブジェクトについて、入れ替え後のポジションに対応した位置に移動させるためのオブジェクト移動制御情報を演算してもよい。
【００５６】
オブジェクトポジション入れ替え処理部は、所与のオブジェクトが位置移動条件を満たすと判断した場合には、所与のオブジェクトが位置するポジションに対して退避エリアとなるポジションに位置するオブジェクトを入れ替え対象となる他のオブジェクトとしてオブジェクトポジション入れ替え処理を行ってもよい。またユニットを構成する各ポジションに対応付けられた安全度を示す値に基づき、所与のポジションより安全度の高いポジションを所与のポジションの退避エリアとしてポジションの入れ替え処理を行ってもよい。また所与のポジションからの移動距離が最も短いまたは所定の基準より短いポジションを退避エリアとしてポジションの入れ替え処理を行ってもよい。またオブジェクトに対応付けられている司令官のキャラクタに応じてポジションの入れ替え基準の異なる条件を用いて、ポジションの入れ替えの有無を判断してもよい。また各オブジェクトがダメージを受けると、ポジションの入れ替えの有無を判断してもよい。
【００５７】
またユニット移動制御部１２４が、与えられた情報に基づいて、前記ユニットの目標移動位置を決定し、当該目標移動位置に前記ユニットを移動させるためのユニット移動制御情報を演算し、オブジェクト移動制御部１２６が、各オブジェクトが属するユニットの目標移動位置及び当該ユニット内における各オブジェクトのポジション情報に基づいて各オブジェクトの目標移動位置を決定し、当該目標移動位置に各オブジェクトを移動させるためのオブジェクト移動制御情報を演算してもよい。
【００５８】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）等に基づいて、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００５９】
ゲーム処理部１４０は、陣形設定部１４２、パラメータ演算部１４４、パラメータ表示オブジェクト制御部１４６、ボリュームイメージオブジェクト表示制御部１４８を含んで構成してもよい。
【００６０】
陣形設定部１４２は、各グループに対応付け設定されている司令官情報に基づき、各グループに対する陣形の設定を行ってもよい。
【００６１】
パラメータ演算部１４４は、各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた前記所定のパラメータの値を変化させる制御を行ってもよい。また各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた所定のパラメータの値を減少または増加させ、各オブジェクトに対して設定された前記所定のパラメータが所定の消滅基準値になると各オブジェクトを消滅状態とし、消滅状態でないオブジェクトについては、ダメージに応じて減少または増加させた分の少なくとも一部についてダメージ前の状態に回復させる制御を行ってもよい。
【００６２】
パラメータ表示オブジェクト表示制御部１４６は、各オブジェクトに対して設定された前記所定のパラメータまたはダメージ量に基づき、各オブジェクトが属するユニットに対応した回復可能なダメージ量を示す回復可能ダメージパラメータを演算して、当該回復可能ダメージパラメータに基づき回復可能なダメージ量を告知するためのパラメータ表示オブジェクトをゲーム画像の一部に表示する制御を行ってもよい。
【００６３】
ボリュームイメージオブジェクト表示制御部１４８は、前記ユニットを構成するオブジェクトの位置情報に基づき、ユニットの外縁またはボリュームをイメージさせるボリュームイメージオブジェクトの表示制御を行ってもよい。
【００６４】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６５】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００６６】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６７】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６８】
そして描画部１１３は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００６９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００７０】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７１】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００７２】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００７３】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７５】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００７６】
２．本実施形態の戦闘処理
図２は、本実施形態のゲームシステムの概要について説明するための図である。
【００７７】
本実施の形態のゲームシステムは、例えばＰＣ（パーソナルコンピュータ）等で本実施の形態のプログラムを実行することにより実現することができる。例えばＰＣ上でＲＴＳ（リアル・タイム・ストラテジー）として実現してもよい。ここにおいてＲＴＳとは、シミュレーション・ゲームに多いターン制（将棋のように自分の番、相手の番を順次繰り返して、各自が自分の番の時に入力を行う）ではなく一度ゲームが始まると時間が止まることなく刻刻と状況が変化していくゲームである。
【００７８】
本実施形態のゲームシステムは、操作部からの操作入力により複数の艦船Ｍ１（移動体オブジェクト）を含む艦隊ＧＲ３を移動させて、複数の敵艦船Ｍ２（移動体オブジェクト）を含む敵艦隊ＧＲ４と戦闘を行うもので、複数の艦船オブジェクトを含むオブジェクト空間を仮想カメラからみた画像が生成され、ゲーム画像ＧＩとして表示される。
【００７９】
ここで艦隊ＧＲ３（グループ）は、複数の部隊ＧＲ１（ユニット）を含んで構成され、各部隊ＧＲ１は、複数の艦船Ｍ１を含んで構成される。同様に敵艦隊ＧＲ４（グループ）は複数の敵部隊ＧＲ２（ユニット）を含んで構成され、各敵部隊ＧＲ２は複数の敵艦船Ｍ２を含んで構成される。なお艦隊ＧＲ３と敵艦隊ＧＲ４はオブジェクト空間にそれぞれ複数配置されている。
【００８０】
プレーヤは操作対象とする艦隊ＧＲ３を操作部を用いて選択して、移動先の目標位置と向きを指定することにより艦隊ＧＲ３をオブジェクト空間内で移動させることができる。
【００８１】
本実施形態では、各部隊ＧＲ１に属する複数の艦船Ｍ１に射撃を行わせることができる。射撃は部隊ＧＲ１単位で開始され、攻撃対象として決定された敵部隊ＧＲ２に対して行われる。すなわち、まず複数の敵艦隊ＧＲ４からゲーム画面に表示されている敵艦隊ＧＲ４が選択され、選択された敵艦隊ＧＲ４に属する複数の敵部隊ＧＲ２の内、艦船Ｍ１から所定距離範囲内にある敵部隊ＧＲ２が選択される。そして当該艦船Ｍ１の攻撃可能範囲と、選択された敵部隊ＧＲ２に属する敵艦船Ｍ２とがヒットするか否かを判断し、ヒットすると判断した場合には、選択された敵部隊ＧＲ２を当該艦船Ｍ１が属する部隊ＧＲ１の攻撃対象として決定し、当該部隊ＧＲ１に属する全ての艦船Ｍ１による射撃（攻撃）を自動的に開始する。
【００８２】
図２に示す例では、艦船Ｍ１−１を含む部隊ＧＲ１が、敵艦船Ｍ２−１を含む敵部隊ＧＲ２に対して射撃を開始しており、また、艦船Ｍ１−３を含む部隊ＧＲ１が、敵艦船Ｍ２−２を含む敵部隊ＧＲ２に対して射撃を開始している。
【００８３】
このように本実施形態によれば、表示されていない敵艦隊ＧＲ４や離れた場所に位置する敵部隊ＧＲ２についてはヒットチェックを省略することができ、演算負荷を軽減することができる。また部隊ＧＲ１に属するいずれかの艦船Ｍ１が攻撃可能となった場合に、当該部隊ＧＲ１に属する全ての艦船Ｍ１が攻撃を開始する演出を行うことができる。
【００８４】
そして本実施形態では、射撃の開始後、射撃を開始した部隊ＧＲ１に属する各艦船Ｍ１の攻撃可能範囲と、攻撃対象となる敵部隊ＧＲ２に属する各敵艦船Ｍ２とのヒットチェックを行い、その結果に基づいて攻撃演出及び各種パラメータや成績の演算を行う。
【００８５】
例えばヒットチェックにおける命中判定は、射程内に敵がいるか、射撃可能範囲かで判断してもよい。そして命中の場合、目標ユニットに命中する射撃エフェクトを表示し、外れの場合、外れのエフェクトを表示してもよい。また例えばヒットチェックにおける貫通判定として、命中の場合、攻撃艦との距離等に基づいてシールドを突破できるかを判定してもよい。そして貫通した場合、その艦船Ｍ１（移動体オブジェクト）の耐久力にダメージを与え、耐久力が０になった場合は撃沈する（ゲーム空間から削除する）ようにしてもよい。
【００８６】
図２に示す例では、艦船Ｍ１−１を含む部隊ＧＲ１については、艦船Ｍ１−２の攻撃可能範囲と敵艦船Ｍ２−１とがヒットすると判断されたために、艦船Ｍ１−２からの射撃が敵艦船Ｍ２−１に命中したことを表す射撃エフェクトＨＥが表示されている。また艦船Ｍ１−１の攻撃可能範囲と敵艦船Ｍ２とがヒットしないと判断されたために、当該艦船Ｍ１−１からの射撃が外れたことを表す外れエフェクトＵＥが表示されている。また艦船Ｍ１−３を含む部隊ＧＲ１についても、艦船Ｍ１−３からの射撃が敵艦船Ｍ２−２に命中したことを表す射撃エフェクトＨＥと、当該艦船Ｍ１−４からの射撃が外れたことを表す外れエフェクトＵＥが表示されている。
【００８７】
３．本実施形態のパラメータ管理
図２８（Ａ）（Ｃ）は、本実施の形態の艦隊（グループの一例）、部隊（ユニットの一例）、艦船（移動体オブジェクトの一例）の関係を定義する定義テーブルの一例である。例えば図２８（Ａ）に示すように、艦隊と艦隊に属する部隊を定義する艦隊編成テーブル７００を設け、各艦隊（ＧＲ３やＧＲ４）の艦隊ＩＤ（艦隊を特定するための情報）７１０に対応付けて、当該艦隊に属する部隊（ＧＲ１やＧＲ２）の部隊ＩＤ（部隊を特定するための情報）を記憶させてもよい。また例えば図２８（Ｂ）に示すように、部隊と部隊に属する艦船を定義する部隊編成テーブル７３０を設け、各部隊（ＧＲ１やＧＲ２）の部隊ＩＤ（部隊を特定するための情報）７４０に対応付けて、当該部隊に属する艦船（Ｍ１やＭ２）の艦船ＩＤ（艦船を特定するための情報）７５０や、各部隊の属性（例えば旗艦部隊であるとか、通常に戦艦部隊であるとか、巡航艦部隊であるとかの部隊の特徴を表す部隊固有で不変に設定されている属性）７６２や、当該部隊が属する艦隊の艦隊ＩＤ７６０等を記憶させてもよい。また例えば図２８（Ｃ）に示すように、艦船の属する部隊を定義する艦船部隊対応テーブル７７０を設け、各艦船の艦船ＩＤ（艦船を特定するための情報）７８０に対応付けて、各艦船（Ｍ１やＭ２）の属する部隊の部隊ＩＤ７９０等を記憶させてもよい。
【００８８】
そしてこれらの定義情報に基づき、艦船の集合である部隊や部隊の集合である艦隊を構成して、艦船や艦隊や部隊に関する各種パラメータの管理をおこなうようにしてもよい。
【００８９】
図２９（Ａ）〜（Ｃ）は、本実施の形態の各艦隊、各部隊、各艦船のそれぞれに対応付けて設定されているパラメータの一例について説明するための図である。例えば図２９（Ａ）に示すように、艦隊が有するパラメータを管理する艦隊パラメータ管理テーブル８１０を設け、各艦隊（ＧＲ３やＧＲ４）の艦隊ＩＤ（艦隊を特定するための情報）８１２に対応付けて、当該艦隊の艦隊パラメータを管理し、ゲーム状況に応じて各パラメータの値を更新してもよい。
【００９０】
艦隊パラメータとして、例えば各艦隊の現在位置座標８１４を設けてもよい。現在位置座標８１４は、艦隊の代表点の位置座標（ワールド座標系におけるｘ、ｙ、ｚ座標値）であり、各フレーム毎に現在の座標値を演算して更新するようにしても良い。
【００９１】
また艦隊パラメータとして、例えば各艦隊の艦隊目標位置座標８１６を設けてもよい。艦隊目標位置座標８１６は、移動イベントが発生した場合（例えば艦隊の移動先の目標位置と向きが指定された場合）の艦隊の代表点の移動先の位置座標であり、移動イベント発生時に設定され、移動イベントに伴う移動が終了するとクリアされるようにしてもよい。
【００９２】
また艦隊パラメータとして、例えば各艦隊の陣形種別８１８を設けてもよい。後述するように本実施の形態では艦隊の取り得る陣形として、複数の陣形が用意されており、操作入力により所望の陣形を選択できるように構成されている。従って陣形の選択入力情報に基づき陣形種別をセット又は更新するようにしても良い。
【００９３】
また艦隊パラメータとして、例えば各艦隊の司令官情報（例えば司令官となるキャラクタＩＤ）８２０を設けてもよい。本実施の形態では艦隊の司令官として、複数のキャラクタが用意されており、操作入力により所望のキャラクタを司令官として選択できるように構成されている。従って司令官となるキャラクタの選択入力情報に基づき司令官情報陣形種別をセット又は更新するようにしても良い。
【００９４】
なお例えば司令官がＲ１である場合には、陣形種別Ａ、Ｂ、Ｃが選択可能で、司令官がＲ５である場合には陣形種別Ｃ，Ｄが選択可能であるというように、各艦隊の司令官となるキャラクタに応じて各艦隊が取り得る陣形種別の種類が異なるようにしてもよい。
【００９５】
また例えば図２９（Ｂ）に示すように、部隊が有するパラメータを管理する部隊パラメータ管理テーブル８３０を設け、各部隊（ＧＲ１やＧＲ２）の部隊ＩＤ（部隊を特定するための情報）８３２に対応付けて、当該部隊の部隊パラメータを管理し、ゲーム状況に応じて各パラメータの値を更新してもよい。
【００９６】
部隊パラメータとして、例えば各部隊の現在位置座標８３４を設けてもよい。現在位置座標８３４は、部隊の代表点の位置座標（ワールド座標系におけるｘ、ｙ、ｚ座標値）であり、各フレーム毎に現在の座標値を演算して更新するようにしても良い。
【００９７】
また部隊パラメータとして、例えば各部隊の部隊目標位置座標８３６を設けてもよい。部隊目標位置座標８３６は、移動イベントが発生した場合（例えば艦隊の移動先の目標位置と向きが指定された場合）の各部隊の代表点の移動先の位置座標であり、移動イベント発生時に設定され、移動イベントに伴う移動が終了するとクリアされるようにしてもよい。部隊目標位置座標８３６は、後述するように艦隊目標位置座標と、当該部隊の艦隊内のポジション情報に基づき求めても良い。
【００９８】
また部隊パラメータとして、例えば各部隊の艦隊内ポジションＩＤ８３８を設けてもよい。後述するように本実施の形態では、移動イベント等の発生により部隊間でポジションの入れ替えが起こるので、かかる場合に各部隊の艦隊内ポジションＩＤ８３８は更新される。
【００９９】
また部隊パラメータとして、例えば各部隊の部隊耐久力８４０を設けてもよい。例えば各部隊に属する全艦船の耐久力（図２９（Ｃ）の８６０）の合計に基づき設定するようにしてもよい。後述するように各艦船の耐久力は各艦船がダメージを受ける（ここでは弾が命中して貫通した場合）と減少するように構成されているため、毎フレーム毎に各艦船の耐久力の合計値を求め更新してもよい。
【０１００】
また部隊パラメータとして、例えば各部隊の士気（士気の高さ）８４２を設けてもよい。各部隊の士気（士気の高さ）８４２は、例えば各部隊の置かれているゲーム状況（回りにいる敵の数や受けたダメージの大きさや撃沈した艦船の数）に応じて設定、更新してもよい。
【０１０１】
また例えば図２９（Ｃ）に示すように、艦船が有するパラメータを管理する艦船パラメータ管理テーブル８５０を設け、各艦船（Ｍ１やＭ２）の艦船ＩＤ（艦船を特定するための情報）８５２に対応付けて、当該艦船の艦船パラメータを管理し、ゲーム状況に応じて各パラメータの値を更新してもよい。
【０１０２】
艦船パラメータとして、例えば各艦船の現在位置座標８５４を設けてもよい。現在位置座標８５４は、艦船の位置座標（ワールド座標系におけるｘ、ｙ、ｚ座標値）であり、各フレーム毎に現在の座標値を演算して更新するようにしても良い。
【０１０３】
また艦船パラメータとして、例えば各艦船の艦船目標位置座標８５６を設けてもよい。艦船目標位置座標８５６は、移動イベントが発生した場合（例えば艦隊の移動先の目標位置と向きが指定された場合）の各艦船の移動先の位置座標であり、移動イベント発生時に設定され、移動イベントに伴う移動が終了するとクリアされるようにしてもよい。艦船目標位置座標８５６は、後述するように部隊目標位置座標と、当該艦船の部隊のポジション情報に基づき求めても良い。
【０１０４】
また部隊パラメータとして、例えば各部隊の部隊内ポジションＩＤ８５８を設けてもよい。後述するように本実施の形態では、ダメージ状況により艦船間でポジションの入れ替えが起こるので、かかる場合に各艦船の艦隊内ポジションＩＤ８５８は更新される。
【０１０５】
また艦船パラメータとして、例えば各艦船の耐久力８６０を設けてもよい。後述するように各艦船の耐久力は各艦船がダメージを受ける（ここでは弾が命中して貫通した場合）と減少するように構成されているため、毎フレーム毎に命中判定や貫通判定を行い、各艦船の耐久力の合計値を求め更新してもよい。
【０１０６】
また艦船パラメータとして、例えば各艦船の消滅フラグ８６２を設けてもよい。各艦船の消滅フラグ８６２がＯＦＦ（例えば’０’）の間は、所定の条件下で耐久力パラメータの回復が可能であるが消滅フラグがオンになると耐久力パラメータの回復ができないように制御してもよい。
【０１０７】
４．本実施形態の移動制御処理
図３は、本実施の形態のゲーム画像の一例（艦隊）である。
【０１０８】
本実施の形態では、複数の部隊ＧＲ１（ユニット）で構成された艦隊ＧＲ３（グループ）に対して、操作部を介して艦隊の移動先の目標位置と向きに関する情報が入力できるよう構成されている。そして本システムは、入力情報や各種パラメータに従って複数の部隊ＧＲ１（ユニット）の集合である艦隊ＧＲ３（グループ）の移動を制御するためのグループ移動制御情報を演算する。
【０１０９】
また本システムは、艦隊ＧＲ３（グループ）に属する複数の部隊ＧＲ１（ユニット）に、艦隊内における相対位置であるポジションを与え（各部隊ＧＲ１（ユニット）のポジションを示すポジション情報が与えられている）、グループ移動制御情報及び当該グループ内における各部隊ＧＲ１（ユニット）のポジション情報や各種パラメータに基づき各部隊ＧＲ１（ユニット）の移動を制御するためのユニット移動制御情報を演算する。
【０１１０】
グループ移動制御情報は、例えば各艦隊ＧＲ３（グループ）の移動後の位置座標である艦隊目標位置や各艦隊ＧＲ３（グループ）の移動時の位置座標等である。艦隊目標位置は、操作部から入力された移動先の目標位置により演算してもよい。また各艦隊ＧＲ３（グループ）の移動時の位置座標は、移動前の位置と前記艦隊目標位置（移動後の位置）と各艦隊に与えられたパラメータ（例えば移動属性に関するパラメータやダメージパラメータ等）に従って設定された移動関数Ｆｇ（ｔ）により演算してもよい。
【０１１１】
本実施の形態では、艦隊（グループ）は最大１０個の部隊ＧＲ１−１〜ＧＲ１−１０（ユニット）で構成される。図３では艦隊ＧＲ３（グループ）を構成する１０個の部隊ＧＲ１−１〜ＧＲ１−１０（ユニット）が、艦隊内の所定のポジションに位置している様子が示されている。
【０１１２】
本実施の形態では各部隊ＧＲ１（ユニット）毎に取り得るポジションが決まるように構成されている。そして艦隊ＧＲ３（グループ）が移動する場合には、各部隊ＧＲ１（ユニット）の属性によって取り得る所定のポジションに対応した移動先の位置を目標位置として移動する。ここで取り得るポジションが１つしかない部隊もあるし、取り得るポジションが複数の部隊もある。取りえるポジションが複数のある部隊は、所定の条件下（例えば移動イベント発生時）でポジションの変更（他の取り得るポジションに変更）を行うようにしてもよい。
【０１１３】
例えば各部隊ＧＲ１（ユニット）に与えれた属性（例えば図２８（Ｂ）の７６２）によって取り得るポジションが決まるように構成し、艦隊ＧＲ３（グループ）が移動する場合に、各部隊ＧＲ１（ユニット）の属性によって取り得る所定のポジションに対応した移動先の位置を目標位置として移動するようにしてもよい。そして各部隊ＧＲ１（ユニット）が所定の属性であれば、グループ内において所定の属性の部隊ＧＲ１（ユニット）間でポジションの入れ替えが可能な設定としてもよい。
【０１１４】
所定の移動イベントが発生した場合（例えば回転を伴う移動イベント）、グループ内の所定の属性のユニット（ポジションの入れ替えが可能な複数のユニット）間で移動前後でポジションの入れ替えがおこなわれ、各ユニットを入れ替え後のポジションに対応した目標位置に移動させるためのユニット移動制御情報が演算されるようにしてもよい。
【０１１５】
ユニット移動制御情報は、例えば各部隊ＧＲ１（ユニット）の移動先の位置座標である部隊目標位置や各部隊ＧＲ１（ユニット）の移動時の位置座標等である。
部隊目標位置は、例えば艦隊目標位置（グループ移動制御情報）と艦隊（グループ）内の各部隊ＧＲ１（ユニット）のポジション情報（艦隊内における相対的な位置）に基づき演算してもよい。また各部隊ＧＲ１（ユニット）の移動時の位置座標は、各部隊ＧＲ１の移動前の位置と前記部隊目標位置（移動後の位置）と個々の部隊に与えられたパラメータ（例えば移動属性に関するパラメータやダメージパラメータ等）に従って設定された移動関数Ｆｙ（ｔ）により演算してもよい。
【０１１６】
このようにすると、艦隊移動時は艦隊に属する各部隊は移動後の対応するポジションを目標位置として、目標位置を目指してその特性に従って移動する移動表現を行うことができる。すなわち各部隊は移動前後（例えば移動前後の停止状態にあるとき）は艦隊内の所定のポジションに対応した位置にいるが、移動中は所定ポジションを維持しているわけではない（移動中は陣形をなしていなくてもよい）。このようにすると、艦隊移動時にも艦隊に属する部隊が常に所定のポジション位置しているような移動表現に比べてより自然でリアリティに富んだ移動表現を行うことができる。
【０１１７】
なお本実施の形態では、艦隊ＧＲ３（グループ）に司令官２１０が設定されており、設定されている司令官２１０に応じて艦隊の移動や動作、ダメージの受け方や回復力、艦隊がくめる陣形等の条件が設定され、条件に従って移動制御、成績評価、各種パラメータの制御等が行われる。図２９（Ａ）で説明したように司令官はプレーヤからの選択により設定されるようにしてもよい。
【０１１８】
図４は、本実施の形態のゲーム画像の一例（部隊）である。
【０１１９】
本実施の形態では部隊ＧＲ１（ユニット）は、複数の艦船Ｍ１（移動体オブジェクト）を含んで構成されている。図２９（Ｃ）で説明したように、艦船Ｍ１（移動体オブジェクト）単位で、位置座標や耐久力のパラメータを有し、パラメータ管理をおこなってもよい。
【０１２０】
部隊ＧＲ１（ユニット）に属する各艦船Ｍ１（移動体オブジェクト）は、部隊ＧＲ１（ユニット）内における相対位置であるポジションが与えれており（各艦船Ｍ１（移動体オブジェクト）のポジションを示すポジション情報が与えられている）、ユニット移動制御情報及び当該ユニット内における各艦船Ｍ１（移動体オブジェクト）のポジション情報や各艦船Ｍ１（移動体オブジェクト）に与えれた各種パラメータに基づき各艦船Ｍ１（移動体オブジェクト）の移動を制御するためのオブジェクト移動制御情報を演算してもよい。
【０１２１】
オブジェクト移動制御情報は、各艦船Ｍ１（移動体オブジェクト）の移動先の位置座標である艦船目標位置や各艦船Ｍ１（移動体オブジェクト）の移動時の位置座標等である。艦船目標位置は、例えば部隊目標位置（ユニット移動制御情報）と部隊（ユニット）内の各艦船Ｍ１（移動体オブジェクト）のポジション情報（部隊内における相対的な位置）に基づき演算してもよい。また各艦船Ｍ１（移動体オブジェクト）の移動時の位置座標は、艦船Ｍ１の移動前の位置と前記艦船目標位置（移動後の位置）と個々の艦船に与えられたパラメータ（例えば移動属性に関するパラメータやダメージパラメータ等）に従って設定された移動関数Ｆｏ（ｔ）により演算してもよい。
【０１２２】
このようにすると、艦隊移動時は艦隊の各部隊に属する移動体オブジェクトは移動後の対応するポジションを目標位置として、目標位置を目指してその特性に従って移動する移動表現を行うことができる。すなわち各移動体オブジェクトは移動前後（例えば移動前後の停止状態にあるとき）は艦隊の部隊内の所定のポジションに対応した位置にいるが、移動中は所定ポジションを維持しているわけではない。このようにすると、艦隊移動時にも艦隊（グループ）の各部隊（ユニット）に属する艦船（移動体オブジェクト）が常に所定のポジション位置しているような移動表現に比べてより自然でリアリティに富んだ移動表現を行うことができる。
【０１２３】
５．本実施形態のパラメータ表示オブジェクト表示制御処理
士気パラメータや耐久力パラメータ等の所定のパラメータに対応したパラメータ表示オブジェクトを生成してゲーム画面の一部に表示してもよい。
【０１２４】
図４の２２０は各部隊の士気の程度を示す士気表示であり、士気バー２２２の示す割合（全体にしめるパーセンテージ）や、士気バー２２２長さで各部隊の士気の高さの程度を示している。例えば図２９（Ｂ）で説明したように部隊単位で士気パラメータを設定し、士気パラメータの値に基づき士気表示２２０を行うようにしてもよい。
【０１２５】
また２３０は各部隊の耐久力を示す耐久力表示であり、例えば図２９（Ｂ）（Ｃ）で説明したように艦船単位で耐久力パラメータを設定し、部隊に属する全艦船の耐久力パラメータの値に基づき各部隊の耐久力表示２３０を行うようにしてもよい。
【０１２６】
耐久力を現在の耐久力２３２、回復可能な耐久力２３４、回復不可能な耐久力２３６の３種類に分類して表示してもよい。例えば、バー２３０をそれぞれに対応した領域２３２、２３４、２３６に分割して各領域毎に異なる態様（例えば各領域毎に異なる色）で表示し、各領域の長さで現在の耐久力２３２、回復可能な耐久力２３４、回復不可能な耐久力２３６の割合を示すようにしてもよい。
【０１２７】
現在の耐久力２３２は、部隊内の艦船の耐久力の総和に応じて設定してもよい。また回復可能な耐久力２３４は、一旦失われたが回復可能な部隊内の艦船の耐久力の総和に応じて設定してもよい。一旦失われたが回復可能な部隊内の艦船の耐久力とは例えば、ダメージをうけて耐久力が減少しているが消滅（撃沈）していない艦船の減少した耐久力に基づき設定してもよい。また回復不可能な耐久力２３６は、ダメージを耐久力が失われてすでに撃沈した艦船の失われた耐久力に基づき設定してもよい。
【０１２８】
例えば、簡単な例をあげて説明すると、艦船ｋ１、ｋ２、ｋ３からなる部隊で最初は艦船ｋ１、ｋ２、ｋ３はそれぞれ１００ポイントの耐久力を有しており、艦船ｋ１の耐久力は受けたダメージにより２０ポイント減少して現在は８０ポイントであり、艦船ｋ２の耐久力は受けたダメージにより５０ポイント減少して現在は５０ポイントであり、艦船ｋ３の耐久力は受けたダメージにより１００ポイント減少して０ポイントとなって既に撃沈している場合、現在の耐久力２３２は艦船ｋ１の８０ポイントと艦船ｋ２の５０ポイントの合計である１３０ポイントであり、回復可能な耐久力２３４は艦船ｋ１の減少した２０ポイントと艦船ｋ２の減少した５０ポイントの合計である７０ポイントであり、回復不可能な耐久力２３６は、既に撃沈した艦船ｋ２から失われた耐久力１００ポイントであるとしてもとめてもよい。このようにすると、現在の耐久力：回復可能な耐久力：回復不可能な耐久力＝１３０：７０：１００となるので、この比に基づきバー２３０をそれぞれに対応した領域２３２、２３４、２３６の長さを設定してもよい。このようにすると、プレーヤはゲーム画面において表示されるバー２３０により、部隊の現在の耐久力、回復可能な耐久力、回復不可能な耐久力を視覚的に瞬時に把握することができる。
【０１２９】
このようにすることにより各オブジェクト（ここでは艦船）に対して設定された前記所定のパラメータ（ここでは）耐久力パラメータ）と各オブジェクトの状態（撃沈したか否か等、または各オブジェクトのポジション）に基づき、各オブジェクトが属するユニット（ここでは部隊）に対応した回復可能なダメージ量を示す回復可能ダメージパラメータを演算して、当該回復可能ダメージパラメータに基づき回復可能なダメージ量を告知するためのパラメータ告知オブジェクト（ここでは耐久力表示２３０）をゲーム画像の一部に表示する制御を行うことができる。
【０１３０】
２４０は司令官表示オブジェクトである。艦隊に設定された司令官が視覚的に把握できるように、パラメータ表示オブジェクトの近傍に司令官表示オブジェクトで２４０として、司令官のキャラクタの顔画像等を表示してもよい。本実施の形態では司令官のキャラクタによって戦い方や必殺技や耐久力等が異なるように設定されているので、司令官表示オブジェクトによって司令官のキャラクタを常に意識しながらゲームを行うことで、よりゲーム世界を楽しむことができる。
【０１３１】
なお司令官のキャラクタ毎に戦い方がことなるとは、例えば司令官となるキャラクタに応じて取り得る陣形が異なる設定にすることで実現してもよい。また司令官によって耐久力がことなるとは、例えば後述するようにダメージを受けた艦船のポジションの入れ替え基準を司令官のキャラクタに応じて変更する事等により実現してもよい。
【０１３２】
６．本実施形態の陣形処理
図５〜図１０は本実施の形態で艦隊が取り得る陣形を示す図である。ここで陣形とは各艦隊に所属する部隊の配置パターンを示すもので、陣形毎に部隊の取り得るポジションが決まっている。図５は横陣形の艦隊のゲーム画像であり、図６は縦陣形の艦隊のゲーム画像であり、図７は方陣形の艦隊のゲーム画像であり、図８は鶴翼陣形の艦隊のゲーム画像であり、図９紡錘陣形の艦隊のゲーム画像であり、図１０は円陣形の艦隊のゲーム画像である。艦隊がどの陣形を取るかは入力により指定選択できるようにしてもよい。この場合、艦隊に設定されている司令官に応じて取り得る（選択可能な）陣形が異なる構成としても良い。
【０１３３】
また各艦隊（グループ）または部隊（ユニット）または艦船（移動体オブジェクト）と対応付けられている所定のパラメータの値（例えば士気パラメータや耐久力パラメータ）が所定の条件を満たす場合には各グループに対して設定された陣形に従ってグループ内の各ユニットの配置位置を決定し、所定の条件を満たさない場合には、各グループに対して設定された陣形に従わずにグループ内の各ユニットの配置位置を決定してもよい。例えば各艦隊に対応付けられた士気パラメータや耐久力パラメータが所定の基準以下である場合には、設定された陣形を構成できない演出を行うようにしてもよい。
【０１３４】
図１１（Ａ）〜（Ｅ）は陣形の設定手法について説明するための図である。本実施の形態では部隊が所定個数（例えば６個）以上ある場合には陣形がくめるように構成されている。図１１（Ａ）〜（Ｅ）は、横陣形における部隊が６個から１０個の場合の配置形態を示している。陣形種別と陣形を構成する部隊の数に応じて部隊の配置パターン（各ポジション）はきまっており、部隊の属性に応じて取り得るポジションが決定される。Ｐ1は艦隊司令官がいる部隊（属性１）の指定ポジションであり、Ｐ２左翼戦隊指揮官がいる部隊（属性２）の指定ポジションであり、Ｐ３は右翼戦隊指揮官がいる部隊（属性３）の指定ポジションである。Ｐ４〜Ｐ１０はその他（属性４）の部隊の取り得るポジションである。その他（属性４）の部隊はＰ４〜Ｐ１０のいずれかのポジションがあたえられるが、所定の条件下で入れ替え可能である。例えば、部隊Ａ、Ｂがその他（属性４）に属しておりポジションとしてそれぞれＰ５、Ｐ６が与えられていた場合、所定の場合に部隊Ａ、Ｂのポジションの入れ替え行われる。
【０１３５】
各陣形ごとの部隊の配置パターンの情報は、例えばローカル座標系における配置位置の座標等として定義し、陣形を構成する各ポジションと配置位置の座標等の艦隊内ポジション定義テーブルを設けてもよい。図１８は、艦隊内ポジション定義テーブル３５０の一例を示す図である。ここでポジションＩＤ３５２とは、各艦隊内におけるポジションを識別するための識別情報であり、陣形種別とポジションＩＤによって艦隊内の相対位置を特定できる。
【０１３６】
Ｘ（３５４）、Ｙ（３５６）、Ｚ（３５８）は、各ポジションの艦隊ローカル座標系におけるｘ座標、ｙ座標、ｚ座標である。なお陣形が平面上で定義可能な場合には、いずれかの座標を省略してもよい。
【０１３７】
またかかる艦隊内ポジション定義テーブル３５０は陣形種別と陣形を構成する部隊の数毎に設けておくとよい。そして陣形種別と部隊数に応じたテーブルＩＤを設定する。例えば陣形種別が横陣形、縦陣形、方陣形、鶴翼陣形、紡錘陣形、円陣形のそれぞれの陣形ＩＤをＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆとして、その後に陣形を構成する部隊の数をつけると、６部隊で構成される横陣形の定義テーブルＩＤはＡ６となり、１０部隊で構成される横陣形の艦隊内ポジション定義テーブルＩＤはＡ１０となる。
【０１３８】
図１９（Ａ）（Ｂ）は横陣形の配置パターンを艦隊のローカル座標系のｘｚ平面上で定義した場合について説明するための図である。図１９（Ａ）は艦隊ローカル座標系における１０個の部隊で構成される艦隊の横陣形の配置パターンを示す図であり、図１９（Ｂ）は図１９（Ａ）に対応した陣形内の各ポジションと配置位置の座標等の対応関係を定義した所与の陣形の艦隊内ポジション定義テーブルの一例を示している。図１９（Ａ）に示すように艦隊ローカル座標系の原点Ｏを、艦隊の基準位置（艦隊司令官がいる部隊Ｐ１の位置とする）に設定してもよい。このようにすると艦隊内の部隊の位置座標を艦隊の基準位置に対する相対座標として定義することができる。ここでは各ポジションのｙ座標は同じなので省略可能である。
【０１３９】
図２６は部隊の位置情報の一例を示す図である。
【０１４０】
各部隊の位置情報として、各部隊のポジション情報６１０を保持する構成でもよい。各部隊のポジション情報６１０は、各部隊の部隊ＩＤ６２０に対応させて、各部隊が配置されているポジションＩＤ６３０を記憶するようにしてもよい。移動時にポジションの入れ替えが起こった場合には、入れ替え対象となった部隊の部隊ＩＤ６２０に対応したポジションＩＤ６３０は、入れ替え後の内容に更新される。
【０１４１】
このようにすると、ポジション情報として図２６に示すような各部隊のポジションＩＤ６３０と、図１８、図１９に示すような艦隊内ポジション定義テーブルのテーブルＩＤ３１０を与えることにより、ポジション情報から部隊のポジションを特定し、艦隊内ポジション定義テーブルから特定したポジション対応する艦隊内の相対位置座標を取得することができる。そして取得した艦隊内の相対位置座標とワールド座標系における艦隊の位置座標に基づき、ワールド座標系における各部隊の位置座標を求めることができる。
【０１４２】
７．移動に伴うユニットのポジション入れ替え処理
図１２（Ａ）（Ｂ）、図１３、図２０は、本実施の形態の移動時のポジションの入れ替えについて説明するための図である。ここでは説明を簡単にするために４つの部隊からなる艦隊の移動を例にとり説明する。例えば図２０に示すように所与の時刻ｔにおいてゲーム空間に４個の部隊からなる艦隊ＧＲ３が配置されていたとする。４１０は時刻ｔにおける艦隊ＧＲ３の位置を示しており、４１２は時刻ｔにおける艦隊ＧＲ３の向きを示している。この状態において操作入力により艦隊の移動位置４２０と、移動後の向き４２２が指定された場合、移動前後において艦隊の向きは１８０度回転することになる。
【０１４３】
このような場合、艦隊内の部隊間でポジションの入れ替えがなければ移動前後における艦隊内の部隊の配置パターンは、図１２（Ａ）に示すようにＧＲ３→ＧＲ３’になる。ここでｂ１〜ｂ４は部隊を表し、Ｐ１〜Ｐ５は艦隊内における部隊が取りえるポジションを示している。図１２（Ａ）では移動前後において各部隊ｂ１〜ｂ４の艦隊内でのポジションは変更されていない。しかし例えば図１２（Ａ）に示すように艦隊の向きが１８０度回転するような場合にはポジションＰ３にいた部隊ｂ３とポジションＰ４にいた部隊ｂ４とを移動後の同じポジションに最短経路で移動させようとすると各部隊の移動経路が交わってしまうので移動経路が複雑になりスムーズな移動表現ができなかった。
【０１４４】
ここでポジションＰ３とＰ４は入れ替え可能なポジションであるとする。すなわち部隊ｂ３と部隊ｂ４は、いずれもポジションＰ３とＰ４を取り得る属性を有しているとする。本実施の形態では、所定の移動イベントが発生した場合（例えば回転を伴う移動イベント）、グループ内にポジションの入れ替えが可能な複数のユニット（例えば位置属性が同じユニット）が存在する場合には、入れ替え可能なポジションについて、所定の規則に従って移動前後でポジションの入れ替えを行う。すなわち図１２（Ｂ）に示すように、移動前後で部隊ｂ３と部隊ｂ４のポジションＰ３、Ｐ４が入れ替えられる。
【０１４５】
方向転換を伴うような移動の場合、移動後の位置に最短距離で移動させようとすると各部隊の移動経路が交差したりしてスムーズな移動表現が困難であったが、ポジションが入れ替え可能な部隊については入れ替え後のポジションに移動させることにより、図１３に示すように、移動距離が短くて各部隊の移動経路が交差しないスムーズな移動を実現することがきる。
【０１４６】
入れ替えは移動前後での向きの変化（方向変換）が所定角度以上である場合におこなうようにしてもよい。
【０１４７】
またグループ内にポジションの入れ替え可能な複数のユニットが存在する場合には移動前の各ユニットの位置と各ユニットのとり得る複数のポジションに対応した移動後の位置との距離に基づき、ポジションの入れ替えを行ってもよい。
【０１４８】
例えば、図２１（Ａ）に示すように移動前の部隊ｂ３はポジションＰ３（４５０参照）に位置しているが、移動後の位置としてポジションＰ３（４６０参照）またはポジションＰ４（４７０参照）をとることが可能である。このような場合、移動前のポジションＰ３（４５０参照）から移動後のポジションＰ３（４６０参照）までの距離Ｌ１と、移動前のポジションＰ３（４５０参照）から移動後のポジションＰ４（４７０参照）までの距離Ｌ２とを比較して、比較結果に基づき移動ポジションを決定するようにしてもよい。ここではＬ１＞Ｌ２なので、距離が短いＬ２に対応した移動後のポジションＰ４を、部隊ｂ３の移動後のポジションとして決定してもよい。
【０１４９】
また例えば、図２１（Ｂ）に示すように移動前の部隊ｂ４はポジションＰ４（４４０参照）に位置しているが、移動後の位置としてポジションＰ３（４６０参照）またはポジションＰ４（４７０参照）をとることが可能である。このような場合、移動前のポジションＰ４（４４０参照）から移動後のポジションＰ３（４６０参照）までの距離Ｌ３と、移動前のポジションＰ４（４４０参照）から移動後のポジションＰ４（４７０参照）までの距離Ｌ４とを比較して、比較結果に基づき移動ポジションを決定するようにしてもよい。ここではＬ４＞Ｌ３なので、距離が短いＬ３に対応した移動後のポジションＰ３を、部隊ｂ４の移動後のポジションとして決定してもよい。
【０１５０】
図２４（Ａ）〜（Ｃ）は、本実施の形態の入れ替え対象特定情報について説明するための図である。
【０１５１】
入れ替え対象特定情報とは、入れ替えが可能なユニット及び入れ替えが可能なポジションの少なくとも一方に関する情報である。かかる入れ替え対象特定情報をテーブル情報として、またプログラムの一部としてシステムの記憶部に記憶させ、記憶部に記憶された入れ替え対象特定情報に基づき、ポジションの入れ替えが可能に設定された複数のユニット群について移動後のポジションの入れ替え処理を行ってもよい。
【０１５２】
４つのユニット（ユニットＩＤがｂ１、ｂ２，ｂ３，ｂ４）で構成されるグループに対して、例えば図２４（Ａ）に示すように４つのポジション５１０−１〜５１０−４が設定されており、各ポジションのポジションＩＤがＰ１、Ｐ２、Ｐ３、Ｐ４であるとする。ここでユニットｂ１（ユニットＩＤがｂ１）はポジション５１０−１のみ取りえ、ユニットｂ２（ユニットＩＤがｂ２）はポジション５１０−２のみ取りえるとし、ユニットｂ３（ユニットＩＤがｂ３）、ユニットｂ４（ユニットＩＤがｂ４）は、ポジション５１０−３、ポジション５１０−４のいずれもとりえ、ポジションの入れ替えが可能になっている（すなわちユニットｂ３とユニットｂ４はポジションの入れ替えが可能なユニット群である）とする。
【０１５３】
このような場合、例えば図２４（Ｂ）に示すように、各ポジションに対応させて（例えば各ポジションのポジションＩＤ５２０に対応させて）、配置可能なユニットを特定するユニット特定情報（例えばユニットＩＤ５３０）を記憶させても良い。なおポジションの入れ替えが可能に設定されたポジションＰ３、Ｐ４については、優先順位５４０を設定してもよい（５４２参照）。
【０１５４】
また例えば図２４（Ｃ）に示すように、各ユニットに対応させて（例えば各ユニットのユニットＩＤ５５０に対応させて）、取り得るポジションを特定するポジション特定情報（例えばポジションＩＤ５６０）を記憶させても良い。なおポジションの入れ替えが可能に設定されたユニットｂ３、ｂ４については、優先順位５６０を設定してもよい（５６２参照）。
【０１５５】
また艦隊（グループ）内にポジションの入れ替え可能な複数の部隊（ユニット）が存在する場合には、所定の優先順位に従って、優先順位の高い部隊（ユニット）から順に入れ替え後のポジションを決定するようにしてもよい。ここで優先順位は、例えば部隊に対して予め設定されていてもよい。またポジションに対して予め設定されていてもよい。また優先順位はオブジェクトに設定されている所定のパラメータに応じて決定されてもよい。
【０１５６】
部隊にたいして優先順位が設定されている場合、例えば複数の部隊ｂ１、ｂ２、ｂ３、・・・ｂｎがこの順番で優先順位が高い場合には、まず部隊ｂ１について移動後に取り得るすべてのポジションまでの距離を演算して、もっとも距離の短いポジションを移動後のポジションとして決定してもよい。そして次に優先順位の高い部隊ｂ２について、部隊ｂ２が移動後に取り得るすべてのポジションから既に他の部隊のポジションとして決定されているポジションをのぞいたすべてのポジションまでの距離を演算して、もっとも距離の短いポジションを移動後のポジションとして決定してもよい。
【０１５７】
ポジションにたいして優先順位が設定されている場合には、例えば優先順位の高いポジションについて、移動後にこのポジションを取り得るすべての部隊について移動前との距離を演算して、検算結果に基づき、例えば移動距離が最も短い部隊を選択して当該ポジションを割り当てるようにしてもよい。
【０１５８】
またグループ内にポジションの入れ替え可能な複数の部隊（ユニット）が存在する場合には、入れ替え可能な複数の部隊についての移動前後の組み合わせの各パターンについての各ユニットの移動前後の合計距離を算出し、合成距離基づき、ポジションの入れ替えを行うようにしてもよい。
【０１５９】
図２２（Ａ）（Ｂ）は、移動前後においてポジション変更の組み合わせについて説明するための図である。図２２（Ａ）に示すような６個の部隊からなる艦隊において、ポジションＰ５、Ｐ２、Ｐ６が入れ替え可能なポジションであり、ポジションＰ５、Ｐ２、Ｐ６を取り得る部隊はｂ５、ｂ２、ｂ６であるとする。移動前には図２２（Ａ）に示すようにポジションＰ５には部隊ｂ５、ポジションＰ２には部隊ｂ２、ポジションＰ６には部隊ｂ６が位置している。この場合移動後の各ポジションにくる可能性のある部隊の組み合わせは、図２１（Ｂ）に示すように６通りである。従ってこの６通りの場合についての各部隊ｂ５，ｂ２、ｂ６の直線移動距離を求め、その総計に基づき移動後の部隊のポジションを決定してもよい（総計が最も小さい組み合わせにしたがって部隊が移動するように制御してもよい）。
【０１６０】
図２３は、本実施の形態のグループ移動前後におけるユニットのポジション入れ替え処理について説明するためのフローチャートである。
【０１６１】
艦隊（グループ）の移動先の目標位置と向きが指定されると以下のステップＳ２０〜Ｓ５０の処理をおこなう（ステップＳ１０）。
【０１６２】
まず艦隊（グループ）の移動先の目標位置と向き及び艦隊（グループ）の陣形情報に基づき移動後の陣形を構成する各ポジションの位置座標（ワールド座標系における位置座標）を演算する（ステップＳ２０）
次に艦隊（グループ）内にポジションの入れ替え可能な複数の部隊（ユニット）が存在する場合には移動前の各部隊（ユニット）の位置と各部隊（ユニット）のとり得る複数のポジションに対応した移動後の位置との距離に基づき、移動後の各部隊（ユニット）のポジションを決定する（ステップＳ３０）。
【０１６３】
例えば移動後の陣形の配置パターンとして取り得る陣形内の各ポジションに配置可能な部隊の複数の配置パターンについて、それぞれ各ユニットの直線移動距離の合計を算出し、直線移動距離の合計が最も小さくなる配置パターンを選択し、当該配置パターン従って、各部隊の移動後のポジションを決定してもよい。陣形内にポジションの入れ替えが可能な複数の部隊が存在する場合には移動後の配置パターンは、移動前の配置パターンを含む複数の配置パターンをとることが可能である。移動前の配置パターンに対応した各部隊の位置を演算し、移動後の各配置パターンに対応した各部隊の位置を演算する。そして各部隊の移動前後位置の距離を求め、これを各ユニットの直線移動距離としてもよい。
【０１６４】
次に決定された各部隊のポジションに従って、各部隊の移動先の部隊目標位置を決定する（ステップＳ４０）。
【０１６５】
次に各部隊毎に決定された部隊目標位置を目指して各部隊の移動特性に従って移動させる制御を行う（ステップＳ５０）。
【０１６６】
ステップＳ３０においてに、各部隊の直線移動距離の合計の最も小さい場合が移動前の配置パターンと異なる場合には、移動の前後において各ユニット（部隊）のポジションの入れ替えがおこる。
【０１６７】
８．ダメージを受けた移動体オブジェクトのポジション入れ替え処理
図１４、図１５は本実施形態の移動体オブジェクトのポジション入れ替え処理について説明するための図である。
【０１６８】
本実施の形態では部隊（ユニット）に属する艦船（移動体オブジェクト）は、所定の配置パターンを構成する各ポジションに配置され部隊の隊列を構成する。
艦船（移動体オブジェクト）の集合である部隊（ユニット）が静止状態にあるときは、艦船は与えられたポジションに位置し、艦船（移動体オブジェクト）の集合である部隊（ユニット）が移動する場合には、与えられポジションに対応した移動後の位置を艦船目標位置として移動する。
【０１６９】
所定の配置パターンを構成する各ポジション情報は、例えば先に図１８、図１９で説明した部隊のポジション情報と同様に、部隊ローカル座標系における配置位置の座標等として定義し、各ポジションの部隊ローカル座標系における位置の座標等の定義テーブルを設けておいてもよい。
【０１７０】
図２７は艦船（移動体オブジェクト）の位置情報の一例を示す図である。
【０１７１】
各艦船の位置情報として、各艦船のポジション情報６４０を保持する構成でもよい。各艦船のポジション情報６４０は、各艦船の艦船ＩＤ６５０に対応させて、各艦船が配置されているユニット内のポジションＩＤ６６０を記憶するようにしてもよい。所与の艦船がうけたダメージによりポジションの入れ替えが起こった場合には、入れ替え対象となった艦船の艦船ＩＤ６６５０に対応したユニット内のポジションＩＤ６６０は、入れ替え後の内容に更新される。
【０１７２】
このようにすると、ポジション情報として図２７に示すような各艦船のポジション情報６４０と、所定の配置パターンを構成するユニットの各ポジション情報を定義する部隊内ポジション定義テーブルのテーブルＩＤを与えることにより、ポジション情報から艦船のポジションを特定し、部隊内ポジション定義テーブルから特定したポジション対応する部隊内の相対位置座標を取得することができる。そして取得した部隊内の相対位置座標とワールド座標系における部隊の位置座標に基づき、ワールド座標系における各移動体オブジェクトの位置座標を求めることができる。
【０１７３】
本実施形態では、各移動体オブジェクトに対して設定されている所定のパラメータに基づき各移動体オブジェクトが位置移動条件を満たすか否かを判断し、位置移動条件を満たすと判断した場合には、同じユニットに属し入れ替え対象となる他の移動体オブジェクトと当該移動体オブジェクトについて、ポジションの入れ替え処理を行う。例えば同じユニット５７０に属する移動体オブジェクト（艦船）５８０と移動体オブジェクト（艦船）５９０のポジションの入れ替え処理が行われると、図１５に示すように、移動体オブジェクト（艦船）５８０は、現在移動体オブジェクト（艦船）５９０が位置しているポジションに移動し、現在移動体オブジェクト（艦船）５９０は現在移動体オブジェクト（艦船）５８０が位置しているポジションに移動する。
【０１７４】
所定のパラメータとして各オブジェクトの耐久力の大きさをしめす耐久力パラメータや、各オブジェクトの体力の大きさをしめす体力パラメータや、各オブジェクトのライフの数をしめすライフ値パラメータをもちいてもでもよい。
【０１７５】
また各オブジェクトが受けたダメージに応じて、各オブジェクトに対応付けられた所定のパラメータの値を変化させる制御を行ってもよい。例えば、各オブジェクトがダメージを受けると、受けたダメージの回数やダメージの大きさに応じて所定のパラメータの値が減少または増加し、最終的に所定の消滅基準値（例えば０）に達したら、当該オブジェクトを消滅扱いにしてもよい。
【０１７６】
例えば艦船（移動体オブジェクト）毎に耐久力パラメータ（所定のパラメータ）を設定し、最初は１００ポイントの耐久力値を与え、艦船にたいして弾が貫通した場合（艦船に弾が命中してかつ艦船に設定されたシールドを突破した場合）には、当該艦船の耐久力パラメータを１０ポイント減少させる制御を行い、耐久力パラメータが所定の消滅基準値（例えば０）以下になった場合に、当該耐久力パラメータに対応した移動体オブジェクトを撃沈（消滅）させてもよい。
【０１７７】
また所与の移動体オブジェクトが位置移動条件を満たすと判断した場合には、所与のオブジェクトが位置するポジションに対して退避エリアとなるポジションに位置する移動体オブジェクトを入れ替え対象となる他のオブジェクトとしてオブジェクトポジション入れ替え処理を行ってもよい。
【０１７８】
図１４（Ａ）（Ｂ）は、部隊（ユニット）内の艦船（移動体オブジェクト）の配置ポジションＰ１〜Ｐ１６と各配置ポジションに配置された艦船Ｋ１〜Ｋ１５との関係を示す図である。図２５（Ａ）（Ｂ）は各ポジションと対応する退避エリアについて説明するための図である。
【０１７９】
ユニットを構成する艦船Ｋ１〜Ｋ１５が、図１４（Ａ）に示すようなポジションに位置している場合、隊列の最も外側のポジション（Ｐ１６、Ｐ１５、Ｐ１２、Ｐ８、Ｐ１０、Ｐ１４、Ｐ１１、Ｐ９、Ｐ１３）に位置する艦船（Ｋ１６、Ｋ１５、Ｋ１２、Ｋ８、Ｋ１０、Ｋ１４、Ｋ１１、Ｋ９、Ｋ１３）が被弾によるダメージを受けやすく、内側のポジション（Ｐ６、Ｐ２、Ｐ４、Ｐ５、Ｐ３、Ｐ７、Ｐ１）に位置する艦船（Ｋ６、Ｋ２、Ｋ４、Ｋ５、Ｋ３、Ｋ７、Ｋ１）は被弾によるダメージを受けにくい。従って内側に位置するポジションの方が外側に位置するポジションのより安全度が高いといえる。
【０１８０】
ここで外側のポジションＰ１６に位置し、耐久力パラメータが現在６０ポイントである艦船Ｋ１６が攻撃を受けて弾が貫通した場合、艦船Ｋ１６の耐久力パラメータは１０ポイント減少して５０ポイントとなる。位置移動条件が耐久力パラメータが５０ポイント以下である場合、艦船Ｋ１６と他の艦船（ポジションＰ１６の退避エリアに位置する艦船とでポジションの入れ替えがおこる。
ここでポジションＰ１６の退避エリアがポジションＰ７であるとすると、ポジションＰ７に位置する艦船Ｋ７と艦船Ｋ１６とでポジション入れ替えが行われ、図１４（Ｂ）に示すように、ポジションＰ７に艦船Ｋ１５が位置し、ポジションＰ１５には艦船Ｋ６が位置するように艦が移動する。
【０１８１】
所与のポジションの退避エリアとして所与のポジションより安全度の高いポジションを設定することで、ダメージを受けた艦船をより安全度の高いポジション（例えば被弾しにくいポジション）に移動させることができる。代わりに安全度のより高い退避エリアに位置していた艦船（あまり被弾していないので耐久力パラメータの値が減少していない艦船）が外側にくることになるが、耐久力があるので、仮に被弾して弾が貫通してもすぐには撃沈しない。耐久力パラメータの値は所定の条件下で回復するような設定にしてもよい。例えば所定時間が経過するまたは所定時間被弾、貫通しないと耐久力パラメータの値が回復するようにしてもよい。このようにすると、退避エリアに退避している艦船の耐久力が回復しやすくなる。
【０１８２】
例えばユニットを構成する各ポジションには図２５（Ａ）に示すように安全度を示す値が対応付けられており、安全度を示す値に基づき、所与のポジションより安全度の高いポジションを選択し、所与のポジションの退避エリアとしてポジションの入れ替え処理を行ってもよい。
【０１８３】
また各ポジションと退避エリアの対応付けを図２５（Ｂ）に示すように退避エリアテーブル５１０として予め設定しておいても良い。退避エリアテーブル５１０には各ポジション（ここではポジションＰ１６からＰ８）に対して設定される退避エリアのポジション５３０が対応付けて記憶させてもよい。
【０１８４】
このようにすると、退避エリアテーブルを参照して入れ替え対象となる移動体オブジェクトを決定することができる。
【０１８５】
所与のポジションに対する退避エリアは、よりユニットの中心に近いポジションやより後方のポジションとしてもよい。
【０１８６】
また所与のポジションに対する退避エリアは、所与のポジションからの移動距離が最も短いまたは所定の基準より短いポジションをとしてもよい。
【０１８７】
入れ替え移動を行うタイミングは、艦船（移動体オブジェクト）がダメージを受けて、艦船（移動体オブジェクト）の耐久力パラメータが所定の基準値以下になった場合でもよい。ここで所定の基準値とは例えば艦船（移動体オブジェクト）毎に設定されていてもよいし、艦船（移動体オブジェクト）が属する部隊（ユニット）や艦隊（グループ）毎に設定されていてもよいし艦船（移動体オブジェクト）や艦船（移動体オブジェクト）が属する部隊（ユニット）や艦隊（グループ）毎に設定されているパラメータの値を用いて動的に（リアルタイムに）算出した値でもよい。また例えば艦隊（グループ）の司令官の属性パラメータ（本実施の形態は艦隊毎に設定されているパラメータである）等用いて動的に（リアルタイムに）算出した値でもよい。
【０１８８】
また、各移動体オブジェクト（ここでは艦船）に対応付けられている司令官のキャラクタに応じてポジションの入れ替え基準の異なる条件を用いて、ポジションの入れ替えの有無を判断してもよい。各司令官キャラクタに応じて、ポジションの入れ替え条件となる耐久力パラメータの値（入れ替え基準値）を異なるようにしてもよい。
【０１８９】
例えば司令官のキャラクタの能力が高い（戦隊能力・統率が高い）場合、入れ替え基準値を高めに設定して耐久力パラメータが大きい場合でも入れ替えを行うようにしてもよい。
【０１９０】
本実施の形態では戦闘中は部隊の前にいる艦船に弾が当たりやすいため、部隊の前にいる艦船からダメージを受けていくが、司令官キャラクターの能力パラメータが高い（戦隊能力・統率が高い）場合、耐久力パラメータが大きい場合でも入れ替えを行うため、部隊内でのダメージが各艦船に分散し、全滅しにくくなる。  例えば司令官キャラクタがＳ１の場合には入れ替え基準値が５０ポイント、司令官キャラクタがＳ２の場合には入れ替え基準値が７０ポイントというように、替え基準値の割合が異なるように設定すると、司令官のキャラクタに応じて、司令官がＳ１の艦隊より司令官がＳ２の艦隊のほうが艦船の入れ替えが頻度が高くなる。
【０１９１】
消滅状態でないオブジェクトについては、ダメージに応じて減少または増加させた分の少なくとも一部について（所定の条件下で）ダメージ前の状態に回復させてもよい。
【０１９２】
例えば所定時間経過したら耐久力が回復する設定や所定期間被弾しなかったら耐久力が回復する設定にしてもよい。このようにすると、艦船の入れ替えが頻度が高いほうが、艦船の撃沈率が低くなるので、司令官がＳ１の艦隊より司令官がＳ２の艦隊のほうが、防御力が高くなる。このように司令官のキャラクタに応じてポジションの入れ替え基準の異なる条件を用いることで、ゲームの幅がひろがり飽きられにくうゲームシステムを提供することができる。
【０１９３】
図３０は本実施の形態のダメージを受けた移動体オブジェクトのポジション入れ替え処理について説明するためのフローチャート図である。
【０１９４】
例えば毎フレーム毎にオブジェクト空間に存在する各艦船（オブジェクト）について以下のような処理を行う。
【０１９５】
まず各艦船（オブジェクト）がダメージを受けたか（ステップＳ１１０）いなか判断し、ダメージを受けた場合には、ダメージに応じて各オブジェクトの耐久力パラメータを変化させる（ステップＳ１２０）。ここで例えば各艦船のヒットチェック結果が命中であり、なおかつ各艦船のシールドが突破された場合（被弾した弾が貫通した場合）にダメージを受けたと判定してもよい。そしてダメージをうけた場合には耐久力パラメータを減少させる制御を行う。
【０１９６】
各艦船がダメージを受けた場合には、ダメージによる耐久力の変化によって各オブジェクトの耐久力パラメータは消滅基準値以下になったか否か判断し（ステップＳ１３０）、消滅基準値以下になった場合には各オブジェクトの消滅処理を行う（ステップＳ１４０）。各オブジェクトの消滅処理を行う。消滅処理としては、各オブジェクトに対応付けられた消滅フラグ（図２９（Ｃ）の８６２参照）を消滅を示す値（例えば’１’オン）にする処理を行っても良い。消滅フラグがＯＦＦ（例えば’０’）の間は、所定の条件下で耐久力パラメータの回復が可能であるが消滅フラグがオンになると耐久力パラメータの回復ができないように制御してもよい。
【０１９７】
消滅基準値以下になっていない場合には、各オブジェクトの耐久力パラメータは入れ替え基準値以下か否か判断する（ステップＳ１５０）。各艦船の入れ替え基準値は各艦船に対応した司令官（各艦船の属する部隊の属する艦隊の司令官）のキャラクタに応じて異なる値に設定されていてもよい。
【０１９８】
入れ替え基準値以下である場合には、同じ部隊（ユニット）に属する入れ替え対象となる艦船（オブジェクト）を決定し（ステップＳ１６０）、当該艦船と入れ替え対象なる艦船のポジション情報の入れ替えを行い、それぞれを入れ替えたポジション情報に応じた位置に移動させる制御を行う（ステップＳ１７０）。同じ部隊（ユニット）に属する入れ替え対象となる艦船（オブジェクト）は例えば図２５（Ａ）（Ｂ）で説明したように各艦隊の退避エリアを調べて、退避エリアに位置している艦船としてもよい。
【０１９９】
９．ボリュームイメージオブジェクトの表示制御処理
図１６（Ａ）（Ｂ）は、本実施の形態のボリュームイメージオブジェクトの表示制御処理について説明するための図である。
【０２００】
ユニット（ここでは部隊）を構成するオブジェクト（ここでは艦船）の位置情報に基づき、ユニット（ここでは部隊）の外縁またはボリュームをイメージさせるボリュームイメージオブジェクト９００−１、９００−２の表示してもよい。
【０２０１】
ボリュームイメージオブジェクト９００−１、９００−２は部隊を構成する艦船のアウトラインを可視化するい仮想的なオブジェクトであり例えば部隊を構成する艦船が見えるように半透明の立体オブジェクトとしてもよい。
【０２０２】
例えば部隊を構成する艦船のなかで最も外側に位置する艦船の位置座標に基づきボリュームイメージオブジェクト９００−１、９００−２の外縁の頂点を複数決定し、決定した頂点を通る立体の画像を生成してボリュームイメージオブジェクト９００−１、９００−２として表示してもよい。
【０２０３】
図１６（Ａ）（Ｂ）に示すように艦船の配置状態（艦船の配置パターンや配置数）が変化するとボリュームイメージオブジェクト９００−１、９００−２の形状も変化する。
【０２０４】
かかる多数のオブジェクト集合で戦闘を行うようなゲームシステムにおいては多数のオブジェクト（ここでは艦船）で砲撃や被弾が繰り返され、全オブジェクト（ここでは艦船）の状態変化を把握するのは困難である。ところが本実施の形態では個々の艦船の位置や状態の変化の結果をボリュームイメージオブジェクトの形状の変化として把握できるので、刻々と変化する艦隊の状態を視覚的に瞬時に把握することができる。
【０２０５】
図１７に示すように味方艦隊ＧＲ３のボリュームイメージオブジェクト９００−Ａと敵艦隊ＧＲ４のボリュームイメージオブジェクト９００−ＢはＡとの表示態様（例えば色）を異ならせるようにしてもよい。このようにすると、敵味方の艦隊の状態を把握しやすくなる。
【０２０６】
１０．ハードウェア構成
図３０に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０２０７】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０２０８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０２０９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリーカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０２１０】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０２１１】
なお、本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０２１２】
そして、本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０２１３】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（描画領域、ピクセル値、変換テーブル等）として引用された用語（フレームバッファ・ワークバッファ、α値、ルックアップテーブル等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２１４】
また、グループ、ユニット、オブジェクトの構成及び移動制御手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【０２１５】
また、上記実施の形態の移動時のポジションの入れ替え処理では、ユニットが複数の移動体オブジェクトの集合として構成されている場合を例に取り説明したが是に限られない。ユニットが例えば１つの移動体オブジェクトで構成される場合でもよい。
【０２１６】
また、上記実施の形態では宇宙空間における複数の宇宙艦隊の戦闘ゲームを例にとり説明したがこれに限られず、種々のゲームに適用できる。
【０２１７】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０２１８】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】本実施形態のゲームシステムの概要について説明するための図。
【図３】本実施の形態のゲーム画像の一例（艦隊）である。
【図４】本実施の形態のゲーム画像の一例（部隊）である。
【図５】本実施の形態で艦隊が取り得る陣形を示す図。
【図６】本実施の形態で艦隊が取り得る陣形を示す図。
【図７】本実施の形態で艦隊が取り得る陣形を示す図。
【図８】本実施の形態で艦隊が取り得る陣形を示す図。
【図９】本実施の形態で艦隊が取り得る陣形を示す図。
【図１０】本実施の形態で艦隊が取り得る陣形を示す図。
【図１１】図１１（Ａ）〜（Ｅ）は陣形の設定手法について説明するための図。
【図１２】図１２（Ａ）（Ｂ）、本実施の形態の移動時のポジションの入れ替えについて説明するための図。
【図１３】本実施の形態の移動時のポジションの入れ替えについて説明するための図。
【図１４】本実施形態の移動体オブジェクトのポジション入れ替え処理について説明するための図。
【図１５】本実施形態の移動体オブジェクトのポジション入れ替え処理について説明するための図。
【図１６】図１６（Ａ）（Ｂ）は、本実施の形態のボリュームイメージオブジェクトの表示制御処理について説明するための図。
【図１７】図１６（Ａ）（Ｂ）は、本実施の形態のボリュームイメージオブジェクトの表示制御処理について説明するための図。
【図１８】艦隊内ポジション定義テーブルの一例を示す図。
【図１９】図１９（Ａ）（Ｂ）は横陣形の配置パターンを艦隊のローカル座標系のｘｚ平面上で定義した場合について説明するための図。
【図２０】本実施の形態の移動時のポジションの入れ替えについて説明するための図。
【図２１】本実施の形態の移動時のポジションの入れ替えについて説明するための図。
【図２２】本実施の形態の移動時のポジションの入れ替えについて説明するための図。
【図２３】本実施の形態の移動時のポジションの入れ替えについて説明するためのフローチャート。
【図２４】図２４（Ａ）〜（Ｃ）は、本実施の形態の入れ替え対象特定情報について説明するための図。
【図２５】図２５（Ａ）（Ｂ）は各ポジションと対応する退避エリアについて説明するための図。
【図２６】部隊の位置情報の一例を示す図である。
【図２７】艦船（移動体オブジェクト）の位置情報の一例を示す図。
【図２８】図２８（Ａ）（Ｃ）は、本実施の形態の艦隊、部隊、艦船の関係を定義する定義テーブルの一例。
【図２９】図２９（Ａ）〜（Ｃ）は、本実施の形態の各艦隊、各部隊、各艦船のそれぞれに対応付けて設定されているパラメータの一例について説明するための図。
【図３０】本実施の形態のダメージを受けた移動体オブジェクトのポジション入れ替え処理について説明するためのフローチャート図である。
【図３１】ハードウェア構成例。
【符号の説明】
【０２１９】
１００  処理部、１１０  画像生成部、１１２  オブジェクト空間設定部、１１３  描画部、１１４  仮想カメラ制御部、１２０  移動・動作制御部、１２２  グループ移動制御部、１２４  ユニット移動制御部、１２６  オブジェクト移動制御部、１４０  ゲーム処理部、１４２  陣形設定部、１４４  パラメータ演算部、１４６  パラメータ表示オブジェクト表示制御部、１４８  ボリュームイメージオブジェクト表示制御部、１６０  操作部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009207625.tif 000003
【図２】
2009207625.tif 000004
【図３】
2009207625.tif 000005
【図４】
2009207625.tif 000006
【図５】
2009207625.tif 000007
【図６】
2009207625.tif 000008
【図７】
2009207625.tif 000009
【図８】
2009207625.tif 000010
【図９】
2009207625.tif 000011
【図１０】
2009207625.tif 000012
【図１１】
2009207625.tif 000013
【図１２】
2009207625.tif 000014
【図１３】
2009207625.tif 000015
【図１４】
2009207625.tif 000016
【図１５】
2009207625.tif 000017
【図１６】
2009207625.tif 000018
【図１７】
2009207625.tif 000019
【図１８】
2009207625.tif 000020
【図１９】
2009207625.tif 000021
【図２０】
2009207625.tif 000022
【図２１】
2009207625.tif 000023
【図２２】
2009207625.tif 000024
【図２３】
2009207625.tif 000025
【図２４】
2009207625.tif 000026
【図２５】
2009207625.tif 000027
【図２６】
2009207625.tif 000028
【図２７】
2009207625.tif 000029
【図２８】
2009207625.tif 000030
【図２９】
2009207625.tif 000031
【図３０】
2009207625.tif 000032
【図３１】
2009207625.tif 000033