(57)【要約】【課題】  ３次元仮想空間に形成されたゲーム空間内にプレーヤキャラクタと複数のＮＰＣを配置し、その様子を仮想カメラで撮影した画像をゲーム画面とするシューティングゲームにおいて、次々に多数のＮＰＣが登場する場面であってもゲームプレイし易いゲーム画面構成となる画像を撮影するように適切に仮想カメラを制御すること。【解決手段】現在プレイ中の戦闘エリア２２の敵グループ２４ａ，２４ｂから被写体とするグループを選択する。選択したグループに属する全ての敵ＮＰＣの配置位置の代表点に相当する基準点Ｇを算出し、同基準点に仮想カメラＣＭの撮影方向Ｌを向けたと想定して被写体グループの全敵ＮＰＣが映るように目標画角θを算出する。そして、仮想カメラＣＭの撮影方向Ｌを基準点Ｇに向けつつ、撮影画角を目標画角θに合わせるように制御する。【選択図】図６
2010068882.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段、
前記被写体の敵グループを構成する敵ＮＰＣの中から撮影範囲に含める敵ＮＰＣを選択する撮影範囲選択手段、
前記撮影範囲選択手段により選択された敵ＮＰＣの位置に基づいて前記被写体の撮影基準点を算出する基準点算出手段、
仮想カメラの撮影方向を前記撮影基準点に向ける制御をする仮想カメラ制御手段、
プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段、
前記仮想カメラで撮影した画像を生成する画像生成手段、
として機能させて所定のゲームを実行させるためのプログラム。
【請求項２】
前記仮想カメラ制御手段が、更に、前記撮影範囲選択手段により選択された敵ＮＰＣが撮影画角内に位置するように当該仮想カメラの画角を制御するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記敵ＮＰＣそれぞれには、撮影範囲に含めるか否かの撮影対象是非情報が予め対応付けられており、
前記撮影範囲選択手段が、対応付けられている前記撮影対象是非情報に基づいて前記撮影範囲に含める敵ＮＰＣを選択するように前記コンピュータを機能させるための請求項１又は２に記載のプログラム。
【請求項４】
前記戦闘エリアに予め対応付けられた所定のクリア条件を満たした場合に、前記プレーヤキャラクタを新たな戦闘エリアに移動させてゲームを進行制御するゲーム進行制御手段、
として前記コンピュータを機能させるとともに、
前記被写体の敵グループが撃破され、前記所定のクリア条件が満たされておらず、且つ、前記戦闘エリアに他の敵グループが存在する場合に、前記被写体選択手段が、当該他の敵グループの中から新たに被写体とする敵グループを選択するように前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記被写体選択手段が、前記敵グループそれぞれに関連づけられている優先順位に基づいて前記被写体とする敵グループを選択するように前記コンピュータを機能させる請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段として前記コンピュータを更に機能させ、
前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択するように前記コンピュータを機能させる、
ための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
コンピュータを、
１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段、
前記被写体の敵グループを撮影対象として仮想カメラを制御する仮想カメラ制御手段、
プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段、
前記仮想カメラで撮影した画像を生成する画像生成手段、
前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段、
として機能させて所定のゲームを実行させるとともに、
前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択するように前記コンピュータを機能させるためのプログラム。
【請求項８】
前記被写体選択手段が、ゲームの進行に応じた所定イベントの発生に応じて、被写体とする敵グループを再選択するように前記コンピュータを機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
前記画像生成手段により生成される画像の中央所定範囲に前記被写体の敵グループを構成する敵ＮＰＣが映っていないことを検知する被写体不在検知手段、
前記被写体不在検知手段によって不在検知された場合に、前記被写体の敵グループを構成する敵ＮＰＣの何れかを注視ＮＰＣとして選択する注視ＮＰＣ選択手段、
前記注視ＮＰＣを前記中央所定範囲に映るように前記仮想カメラの撮影方向及び画角を補正する撮影条件補正手段、
として前記コンピュータを機能させる請求項１〜８の何れか一項に記載のプログラム。
【請求項１０】
前記注視ＮＰＣ選択手段が選択した注視ＮＰＣを基準とする所定範囲内に存在する他のＮＰＣを副注視ＮＰＣとして検出する副注視ＮＰＣ検出手段として前記コンピュータを機能させるとともに、
前記撮影条件補正手段が、前記副注視ＮＰＣが検出された場合に、前記注視ＮＰＣと前記副注視ＮＰＣとを前記中央所定範囲に映るように画角を補正するように前記コンピュータを機能させるための請求項９に記載のプログラム。
【請求項１１】
前記敵制御手段によって前記戦闘エリアに過去に出現された敵グループよりも優先順位の高い高優先敵グループが出現され、且つ、当該高優先敵グループが前記仮想カメラの撮影範囲に進入したことを検知する高優先敵グループ検知手段、
前記高優先敵グループ検知手段による検知が有った場合に、現在の被写体の敵グループと当該高優先敵グループとを映すように、前記仮想カメラの撮影方向及び画角を補正する第２撮影条件補正手段、
として前記コンピュータを機能させる請求項１〜１０の何れか一項に記載のプログラム。
【請求項１２】
前記被写体選択手段が、前記第２撮影条件補正手段による補正の後、前記高優先敵グループを新たな被写体として更新し、
前記第２撮影条件補正手段が、撮影方向及び画角の補正を終了し、
前記仮想カメラ制御手段が、前記高優先敵グループを撮影対象として前記仮想カメラを制御する、
ように前記コンピュータを機能させる請求項１１に記載のプログラム。
【請求項１３】
前記仮想カメラは前記プレーヤキャラクタの１人称視点として設定されるカメラであり、
複数の前記敵ＮＰＣの何れかが前記仮想カメラ又は前記プレーヤキャラクタを基準とする所定の近接範囲に進入したことを検知する敵ＮＰＣ近接検知手段として前記コンピュータを機能させ、
前記被写体選択手段が、前記敵ＮＰＣ近接検知手段による検知が有った場合に、前記近接範囲に進入した敵ＮＰＣ、又は当該敵ＮＰＣが所属する敵グループを前記被写体として更新するように前記コンピュータを機能させるための請求項１〜１２の何れか一項に記載のプログラム。
【請求項１４】
請求項１〜１３の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１５】
１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段と、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段と、
前記被写体の敵グループを構成する敵ＮＰＣの中から撮影範囲に含める敵ＮＰＣを選択する撮影範囲選択手段、
前記撮影範囲選択手段により選択された敵ＮＰＣの位置に基づいて前記被写体の撮影基準点を算出する基準点算出手段、
仮想カメラの撮影方向を前記撮影基準点に向ける制御をする仮想カメラ制御手段と、
プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段と、
前記仮想カメラで撮影した画像を生成する画像生成手段と、
を備えたゲーム装置。
【請求項１６】
１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段と、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段と、
前記被写体の敵グループを撮影対象として仮想カメラを制御する仮想カメラ制御手段と、
プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段と、
前記仮想カメラで撮影した画像を生成する画像生成手段と、
前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段と、
を備え、
前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択するゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにゲーム空間内でプレーヤキャラクタとＮＰＣ（ノンプレイアブルキャラクタ）を動作制御させるとともに、ゲーム空間を仮想カメラで撮影した画像を生成して所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
ビデオゲームに登場するキャラクタは、基本的にプレーヤが操作する事のできるプレーヤキャラクタの他は自動的に動作制御されるＮＰＣである。特に、プレーヤキャラクタへの攻撃をその主任務とする所謂敵ＮＰＣは、プレーヤキャラクタを索敵して接近しつつ攻撃するように動作制御される。そして、プレーヤはプレーヤキャラクタを操作して、迫り来るＮＰＣを攻撃してゲームを楽しむ。
【０００３】
ＮＰＣをゲーム画面内にどう映すか、換言すると仮想カメラをどのように制御してＮＰＣを撮影するかは、ゲーム画面の見栄えとゲーム操作性を左右する重要な要素である。特に、銃型のコントローラを用いるなどしてプレーヤが照準位置を操作し、ＮＰＣを標的として射撃するガンシューティングゲームでは、標的を認識・選別しやすいように適切にＮＰＣをゲーム画面内に映しつつも、臨場感あるカメラワークを実現することが望まれる。
【０００４】
こうした要望に応える技術としては、例えば、被写体とするＮＰＣを中心とする仮想球面に沿って仮想カメラを移動させつつ、当該ＮＰＣを画面中央に捉えるように追従制御するものが知られている。仮想球面の半径は、被写体とするＮＰＣの数に応じて大きくなるように設定されるので、複数のＮＰＣが迫り来るシチュエーションでは主たる被写体のＮＰＣを画面中央に映しつつも、その他のＮＰＣも適当に画面内に収めることができる（例えば、特許文献１参照）。
【特許文献１】特許第３８７１２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
さて、近年のゲームにおけるＮＰＣは、自動制御技術、所謂ＡＩ制御の発展により、より自律した知性的な動作をするように制御されている。例えば、ＮＰＣが敵兵士という設定であれば、訓練された兵士らしく、複数体でグループを編成し、各個が自律的にゲーム空間内に分散し障害物に隠れながら囲むようにプレーヤキャラクタを追い詰める。更にその動きは、その時々のゲーム進行状況によって変化する要素を含んでいる。
また一方で、近年のガンシューティングゲームでは、さらなる興奮とリアリティを求めるプレーヤに、ＮＰＣが一度により多く登場する文字通り戦場のような場面が展開され、プレーヤキャラクタがマシンガンを右へ左へと向けて次々に撃ちまくるものが好まれる傾向にある。
【０００６】
ところが、自律的に移動し攻撃してくるＮＰＣが多数登場するガンシューティングゲームでは、上述のような従来技術の仮想カメラ制御は、主たる被写体となるＮＰＣを画面中央に映すように制御されるので、当該ＮＰＣを画面に映すことができるが、その他のＮＰＣは画面に映ったり映らなかったりを繰り返すことになる。そのため、プレーヤが次々に標的を定めて射撃したくとも、標的を認識しにくくゲームプレイの爽快感を損ねる可能性がある。また、ＮＰＣが多数になると仮想球面の半径が大きく設定されるために仮想カメラは常に広範囲を撮影することになる。そのため、画面内に不必要なほど多くのＮＰＣが映るようになってしまい、却って標的を定めにくくなる。
【０００７】
本発明はこうした事情を鑑みてなされたものであり、その目的とするところは、３次元仮想空間に形成されたゲーム空間内にプレーヤキャラクタと複数のＮＰＣを配置し、その様子を仮想カメラで撮影した画像をゲーム画面とするシューティングゲームにおいて、次々に多数のＮＰＣが登場する場面であってもゲームプレイし易いゲーム画面構成となるように適切に仮想カメラを制御することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための第１の発明は、コンピュータを、
１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段（例えば、図１４の処理部２００、ゲーム演算部２１０、ＮＰＣ動作制御部２１６、図１８のステップＳ４、ステップＳ８〜Ｓ１０、ステップＳ１６）、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ６２〜Ｓ６６）、
前記被写体の敵グループを構成する敵ＮＰＣの中から撮影範囲に含める敵ＮＰＣを選択する撮影範囲選択手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ６８）、
前記撮影範囲選択手段により選択された敵ＮＰＣの位置に基づいて前記被写体の撮影基準点を算出する基準点算出手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ７０）、
仮想カメラの撮影方向を前記撮影基準点に向ける制御をする仮想カメラ制御手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ７４〜Ｓ９０）、
プレーヤの攻撃指示操作に応じて、前記プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段（例えば、図１４の処理部２００、ゲーム演算部２１０、ＰＣ動作制御部２１４、図１８のステップＳ２８）、
前記仮想カメラで撮影した画像を生成する画像生成手段（例えば、図１４の処理部２００、画像生成部２６０、図１８のステップＳ３４）、
として機能させて所定のゲームを実行させるためのプログラムである。
【０００９】
また、別形態として、１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、ＮＰＣ動作制御部２１６、図１８のステップＳ４、ステップＳ８〜Ｓ１０、ステップＳ１６）と、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ６２〜Ｓ６６）と、
前記被写体の敵グループを構成する敵ＮＰＣの中から撮影範囲に含める敵ＮＰＣを選択する撮影範囲選択手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ６８）と、
前記撮影範囲選択手段により選択された敵ＮＰＣの位置に基づいて前記被写体の撮影基準点を算出する基準点算出手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ７０）と、
仮想カメラの撮影方向を前記撮影基準点に向ける制御をする仮想カメラ制御手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ６８〜Ｓ９０）と、
プレーヤの攻撃指示操作に応じて、前記プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、ゲーム演算部２１０、ＰＣ動作制御部２１４、図１８のステップＳ２８）と、
前記仮想カメラで撮影した画像を生成する画像生成手段（例えば、図１の制御ユニット１１５０、図１４の処理部２００、画像生成部２６０、図１８のステップＳ３４）と、
を備えるゲーム装置として実現することもできる。
【００１０】
第１の発明によれば、プレイ中の戦闘エリアに出現した複数の敵グループの中から被写体とする敵グループを選択し、この敵グループを構成する敵ＮＰＣの内、選択された敵ＮＰＣの位置に基づいて求められる撮影基準点へ仮想カメラを向けることができる。
つまり、同時点において多数存在する敵ＮＰＣ群の中から選択した敵ＮＰＣ群を追従したゲーム画面とすることができるので、敵ＮＰＣの群れを視界に納めて次々に標的を切り換えて射撃するのに都合良く、爽快なゲームプレイを楽しむことができるようになる。尚、ここで言う「グループ」は、敵ＮＰＣ単独で構成されるグループも含む意味である。
【００１１】
第２の発明は、第１の発明のプログラムであって、前記仮想カメラ制御手段が、更に、前記撮影範囲選択手段により選択された敵ＮＰＣが撮影画角内に位置するように当該仮想カメラの画角を制御するように前記コンピュータを機能させるためのプログラムである。
【００１２】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、被写体とする敵グループを構成する敵ＮＰＣの様子を一度にゲーム画面に映し出すことができるので、より好適である。
【００１３】
第３の発明は、第１又は２の発明のプログラムであって、前記敵ＮＰＣそれぞれには、撮影範囲に含めるか否かの撮影対象是非情報（例えば、図１６の動作パラメータ５２４ｄ内の目標画角算出対象外設定のＯＮ／ＯＦＦ）が予め対応付けられており、
前記撮影範囲選択手段が、対応付けられている前記撮影対象是非情報に基づいて前記撮影範囲に含める敵ＮＰＣを選択する（例えば、図１９のステップＳ６８〜Ｓ７４）ように前記コンピュータを機能させるためのプログラムである。
【００１４】
第３の発明によれば、第１又は２の発明と同様の効果を奏するとともに、必ずしもグループを構成する敵ＮＰＣの全てを撮影するのではなく、撮影対象是非情報に基づいて選択される敵ＮＰＣの群を選択的に撮影するように仮想カメラを制御できる。よって、例えば敵グループが画面横方向に長く展開するシチュエーションであっても、適当に端の敵ＮＰＣを撮影対象外に設定することで、撮影画角が極端に広角に設定されて画面に映る敵ＮＰＣがプレイに不適な程小さくなってしまうのを防ぐことができる。つまり、敵グループがゲーム空間に広く展開するようなシチュエーションが実現されても、第１の発明の効果を保障するように制御できる。
【００１５】
第４の発明は、第１〜第３の何れかの発明のプログラムであって、前記戦闘エリアに予め対応付けられた所定のクリア条件を満たした場合に、前記プレーヤキャラクタを新たな戦闘エリアに移動させてゲームを進行制御するゲーム進行制御手段（例えば、図１４の処理部２００、ゲーム演算部２１０、図１８のステップＳ３８〜Ｓ４０）、として前記コンピュータを機能させるとともに、
前記被写体の敵グループが撃破され、前記所定のクリア条件が満たされておらず、且つ、前記戦闘エリアに他の敵グループが存在する場合に、前記被写体選択手段が、当該他の敵グループの中から新たに被写体とする敵グループを選択するように前記コンピュータを機能させるためのプログラムである。
【００１６】
ここで言う「撃破」とは、ゲーム世界において敵グループの脅威が取り除かれた状態に相当し、全滅は勿論、一部戦闘可能な残存個体を残した状態、説得に成功した状態、アイテムや魔法で眠らせたり麻痺させて攻撃できなくした状態、ダメージ数を敵ＮＰＣ単体でなくグループ全体として算出し基準値に達した状態など、ゲームの内容に応じて適宜設定することができる。
【００１７】
第４の発明によれば、第１〜第３の発明の何れかと同様の効果を奏するとともに、現在プレイ中の戦闘エリアにおいて、被写体とされている敵グループを撃破しても、同エリア内に他の敵グループが存在すれば自動的に残った他の敵グループを新たな被写体として選択することができる。換言すると、現在プレイ中のゲームステージが終了するまでは、自動的に次々に被写体とする敵グループがゲーム画面に映し出されるので、とてもプレイがしやすくなる。
【００１８】
第５の発明は、第１〜第４の何れかの発明のプログラムであって、前記被写体選択手段が、前記敵グループそれぞれに関連づけられている優先順位に基づいて前記被写体とする敵グループを選択するように前記コンピュータを機能させるプログラムである。
【００１９】
第５の発明によれば、第１〜第４の発明の何れかと同様の効果を奏するとともに、優先順位の順に次々と敵ＮＰＣの群れをゲーム画面に表示させることができるので、プレーヤにプレイしやすいゲーム画面を提供することができる。
【００２０】
第６の発明は、第１〜第５の何れかの発明のプログラムであって、前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１８のステップＳ２４）として前記コンピュータを更に機能させ、
前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択する（例えば、図１８のステップＳ２６）ように前記コンピュータを機能させるためのプログラムである。
【００２１】
ここで言う「敵グループを構成する敵ＮＰＣのダメージ状態」は、敵ＮＰＣのヒットポイントが減算された所謂ダメージ数の意味であったり、麻痺状態や睡眠状態、錯乱状態など戦闘能力の低下している状態（或いはその状態を示すパラメータ値）の意味であって、ゲーム内容に応じて適宜設定することができる。
第６の発明によれば、第１〜第５の発明の何れかと同様の効果を奏するとともに、敵グループ全体としてのダメージを観点として、ダメージ状態が所定条件を満たす敵グループを被写体から除外し、次の新たな被写体を選択して画面に映すことができる。よって、プレーヤはよりゲームを攻略しやすくプレイしやすくなる。
【００２２】
第７の発明は、コンピュータを、１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段、
複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段、
前記被写体の敵グループを撮影対象として仮想カメラを制御する仮想カメラ制御手段、
プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段、
前記仮想カメラで撮影した画像を生成する画像生成手段、
前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段、として機能させて所定のゲームを実行させるとともに、
前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択するように前記コンピュータを機能させるためのプログラムである。
【００２３】
また、別形態として、１体以上の敵ＮＰＣでなる敵グループを三次元仮想空間でなる戦闘エリアに複数出現させて前記敵ＮＰＣを制御する敵制御手段と、複数の前記敵グループの中から、被写体とする敵グループを選択する被写体選択手段と、前記被写体の敵グループを撮影対象として仮想カメラを制御する仮想カメラ制御手段と、プレーヤの攻撃指示操作に応じて、プレーヤキャラクタに攻撃動作を行わせて前記敵ＮＰＣとの戦闘制御を行うＰＣ制御手段と、前記仮想カメラで撮影した画像を生成する画像生成手段と、前記被写体となっている敵グループを構成する敵ＮＰＣのダメージ状態を表すパラメータに基づいて、当該敵グループ全体のダメージ状態を算出する被写体敵グループ状態算出手段と、を備え、前記被写体選択手段が、前記被写体敵グループ状態算出手段により算出されたダメージ状態が所定条件を満たした場合、新たに被写体とする敵グループを選択するゲーム装置、として実現することもできる。
【００２４】
第７の発明及びその別形態の発明によれば、プレイ中の戦闘エリアに出現した複数の敵グループの中から被写体とする敵グループを選択し、この敵グループを構成する敵ＮＰＣの内、選択された敵ＮＰＣへ仮想カメラを向けることができる。加えて、敵グループ全体としてのダメージを観点として、ダメージ状態が所定条件を満たす敵グループを被写体から除外し、次の新たな被写体を選択して画面に映すことができる。
つまり、同時点において多数存在する敵ＮＰＣ群の中から、脅威とされる敵ＮＰＣ群を自動的に被写体として追従したゲーム画面とすることができるので、敵ＮＰＣの群れを視界に収めて次々に標的を切り換えて射撃するのに都合良く、爽快なゲームプレイを楽しむことができるようになる。
【００２５】
第８の発明は、第１〜第７の何れかの発明のプログラムであって、前記被写体選択手段が、ゲームの進行に応じた所定イベントの発生に応じて、被写体とする敵グループを再選択するように前記コンピュータを機能させるためのプログラムである。
【００２６】
第８の発明によれば、第１〜第７の発明の何れかと同様の効果を奏するとともに、イベントの発生によってゲームの進行が変化した新たなゲーム状況において適当な被写体をゲーム画面に自動的に選択し映し出すことができる。
【００２７】
第９の発明は、第１〜第８の何れかの発明のプログラムであって、前記画像生成手段により生成される画像の中央所定範囲（例えば、図８のメイン撮影範囲３２）に前記被写体の敵グループを構成する敵ＮＰＣが映っていないことを検知する被写体不在検知手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ７６）、
前記被写体不在検知手段によって不在検知された場合に、前記被写体の敵グループを構成する敵ＮＰＣの何れかを注視ＮＰＣとして選択する注視ＮＰＣ選択手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ７８）、
前記注視ＮＰＣを前記中央所定範囲に映るように前記仮想カメラの撮影方向及び画角を補正する撮影条件補正手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ８０〜Ｓ９０）、として前記コンピュータを機能させるプログラムである。
【００２８】
第９の発明によれば、第１〜第８の発明の何れかと同様の効果を奏するとともに、被写体として敵グループの敵ＮＰＣが画面の端にしか映っていないような状況を検知し、自動的に敵ＮＰＣが画面の中央所定範囲に映るように撮影方向及び撮影画角を補正することができる。
【００２９】
第１０の発明は、第９の発明のプログラムであって、前記注視ＮＰＣ選択手段が選択した注視ＮＰＣを基準とする所定範囲内に存在する他のＮＰＣを副注視ＮＰＣとして検出する副注視ＮＰＣ検出手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ８０）として前記コンピュータを機能させるとともに、
前記撮影条件補正手段が、前記副注視ＮＰＣが検出された場合に、前記注視ＮＰＣと前記副注視ＮＰＣとを前記中央所定範囲に映るように画角を補正する（例えば、図１９のステップＳ８２〜Ｓ８４、Ｓ９０）ように前記コンピュータを機能させるためのプログラムである。
【００３０】
第１０の発明によれば、第９の発明と同様の効果を奏するとともに、さらに注視ＮＰＣの付近に他の敵ＮＰＣが存在する場合に、この敵ＮＰＣも注視ＮＰＣと一緒に画面中央所定範囲に映るようにすることができるので、よりプレイしやすい画面構成とすることができる。
【００３１】
第１１の発明は、第１〜第１０の何れかの発明のプログラムであって、前記敵制御手段によって前記戦闘エリアに過去に出現された敵グループよりも優先順位の高い高優先敵グループ（例えば、図１０〜図１２の特殊敵ＮＰＣ３０）が出現され、且つ、当該高優先敵グループが前記仮想カメラの撮影範囲に進入したことを検知する高優先敵グループ検知手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１８のステップＳ１２〜Ｓ１４，図１９のステップＳ６０）、
前記高優先敵グループ検知手段による検知が有った場合に、現在の被写体の敵グループと当該高優先敵グループとを映すように、前記仮想カメラの撮影方向及び画角を補正する第２撮影条件補正手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図１９のステップＳ１００）、として前記コンピュータを機能させるプログラムである。
【００３２】
第１１の発明によれば、第１〜第１０の発明の何れかと同様の効果を奏するとともに、現在被写体としている敵グループよりも優先順位の高い新たな敵グループが出現して現在プレイ中の戦闘エリアに進入した場合に、現在の被写体の敵グループと当該高優先敵グループとを映すカメラワークが入ることになる。よって、プレーヤに高優先敵グループの出現を、現在の被写体グループとの相対位置関係を含めて伝えることができる。
【００３３】
第１２の発明は、第１１の発明のプログラムであって、前記被写体選択手段が、前記第２撮影条件補正手段による補正の後、前記高優先敵グループを新たな被写体として更新し、前記第２撮影条件補正手段が、撮影方向及び画角の補正を終了し、前記仮想カメラ制御手段が、前記高優先敵グループを撮影対象として前記仮想カメラを制御する、ように前記コンピュータを機能させるプログラムである。
【００３４】
第１２の発明によれば、第１１の発明と同様の効果を奏するとともに、更にプレーヤに高優先敵グループの出現を現在の被写体グループとの相対位置関係を含めて通知する第２撮影条件補正に伴うカメラワークの後に、その状況下で優先順位の高い敵グループを新たな被写体として更新し、それらを画面に映し出すように仮想カメラを自動制御できる。
【００３５】
第１３の発明は、第１〜第１２の何れかの発明のプログラムであって、前記仮想カメラは前記プレーヤキャラクタの１人称視点として設定されるカメラであり、複数の前記敵ＮＰＣの何れかが前記仮想カメラ又は前記プレーヤキャラクタを基準とする所定の近接範囲に進入したことを検知する敵ＮＰＣ近接検知手段（例えば、図１４の処理部２００、ゲーム演算部２１０、仮想カメラ自動制御部２１８、図２０のステップＳ１３０）として前記コンピュータを機能させ、
前記被写体選択手段が、前記敵ＮＰＣ近接検知手段による検知が有った場合に、前記近接範囲に進入した敵ＮＰＣ、又は当該敵ＮＰＣが所属する敵グループを前記被写体として更新するように前記コンピュータを機能させるためのプログラムである。
【００３６】
第１３の発明によれば、第１〜第１２の発明の何れかと同様の効果を奏するとともに、プレーヤキャラクタの懐に飛び込んで肉薄した敵ＮＰＣ或いは同敵ＮＰＣが所属する敵グループを新たな被写体として更新することで、肉薄した敵ＮＰＣを優先して画面に映し出すことができるのは勿論、その所属グループの様子までも画面に映すことができる。よって、プレーヤは肉薄した敵ＮＰＣへの対処が可能になるとともに、その機を利用してその所属グループの攻め寄り具合も知ることができるので、より攻略しやすくなる。
【００３７】
第１４の発明は、第１〜第１３何れか一つのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１４の発明によれば、第１〜第１３の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜１３の何れか一つの発明と同様の効果を発揮させることができる。
【発明を実施するための最良の形態】
【００３８】
〔第１実施形態〕
次に、本発明を適用した第１実施形態として、アーケード用のガンシューティングゲーム装置であって、一人称視点のガンシューティングゲームをプレイ可能なゲーム装置を例に挙げて説明する。
【００３９】
［ゲーム装置の構成］
図１は、ガンシューティングゲーム装置１１００の構成例を説明するための外観図である。同装置は、例えばバンダイナムコゲームス社製の作品名「タイムクライシス４」等で使用される公知のゲーム装置等で実現され得る。具体的には、ガンシューティングゲーム装置１１００は、銃を模したガン型コントローラ１１３０と、画像表示装置１１２２と、スピーカ１１２４と、硬貨投入口１１４２から投入された硬貨を検知する硬貨検知センサ１１４４と、制御ユニット１１５０とを、装置本体１１０１に備えている。
【００４０】
制御ユニット１１５０は、ゲーム装置の制御基板に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＶＲＡＭやＲＡＭ，フラッシュメモリ１１５２等の各種ＩＣメモリを搭載する。また、通信装置１１５４や、画像表示装置１１２２のドライバ回路、スピーカ１１２４へ音声信号を出力するためのアンプ回路、ガン型コントローラ１１３０や硬貨検知センサ１１４４との信号入出力回路といった所謂Ｉ／Ｆ回路（インターフェース回路）を搭載する。これら制御ユニット１１５０に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【００４１】
フラッシュメモリ１１５２には、ゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。制御ユニット１１５０は、硬貨検知センサ１１４４で所定額の硬貨の投入を検知したら、フラッシュメモリ１１５２からプログラムやデータを読み出して、搭載するＩＣメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して、ゲーム画像を生成して画像表示装置１１２２に表示させるとともに、ゲーム音を生成してスピーカ１１２４から放音させる。
【００４２】
プレーヤは、画像表示装置１１２２の画面前方に立ち、画面を狙うようにしてガン型コントローラ１１３０を構える。ゲーム画面内には、標的とガン型コントローラ１１３０で狙っている位置を示す照準６が表示されるので、ゲーム画面内の任意の標的に照準６を合わせるようにしてガン型コントローラ１１３０を構え、トリガーを引いて射撃操作してシューティングゲームを楽しむ。
【００４３】
尚、本実施形態では、必要なプログラムや各種設定データをフラッシュメモリ１１５２から読み出す構成としているが、通信装置１１５４でインターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部の装置からダウンロードする構成としても良い。
【００４４】
［ゲームの概要］
図２は、本実施形態におけるゲーム画面例を示す図である。本実施形態では、３次元仮想空間内に建物８や木箱１０といった障害物オブジェクトが配置されて戦場となるゲーム空間が形成され、その内にプレーヤキャラクタや標的となる敵ＮＰＣ４や特殊敵ＮＰＣ５と言ったキャラクタオブジェクトが配置され動作制御される。具体的には、敵ＮＰＣ４や特殊敵ＮＰＣ５は、予めスクリプトデータによって出現位置や動作の内容が定義されたりＡＩ制御されることでプレーヤキャラクタ２に攻撃しつつ接近するように自動的に動作制御される。
【００４５】
画面左下の銃３はプレーヤキャラクタの所持する武器である。つまり、本実施形態のゲーム画面は、プレーヤキャラクタの一人称視点とし生成される。
より具体的には、図３に示すように、プレーヤキャラクタ２のオブジェクトは、撮影方向がプレーヤキャラクタ２の視線方向に一致するようにして仮想カメラＣＭが一体に固定されて制御される。また、プレーヤキャラクタ２はゲーム空間内を予め決められたコースを辿りつつ、予め決められている敵ＮＰＣ４の襲撃ポイントで襲来方向に視線を向けるように自動的に移動と視線方向が制御される。（つまり、プレーヤが、任意にプレーヤキャラクタ２をゲーム空間内で移動させたり、任意に視線となる仮想カメラの方向を操作できないゲームとなっている。しかし、そうしたゲームが本発明の適用対象外となるわけではない。）
【００４６】
そして、プレーヤキャラクタ２の一人称視点として仮想カメラＣＭでゲーム空間内を撮影したゲーム空間画像（所謂３ＤＣＧ）が生成され、これにプレーヤキャラクタのヒットポイントの残数を示すヒットポイントゲージ１２や、残弾数を表示する弾数ゲージ１４、視線の方向を示す方位表示１６、ガン型コントローラ１１３０で狙っている位置を示す照準６などの各種情報表示が合成されることでゲーム画面が形成されて、画像表示装置１１２２に表示される。そこには、戦場を駆け抜けるように流れる背景をバックにして襲い来る敵の姿が映し出されることになる。プレーヤは、迫り来る敵ＮＰＣ４から攻撃を受けるよりも早く、ＮＰＣ４に照準６を合わせてこれを射撃する。
【００４７】
尚、図３ではプレーヤキャラクタ２の身体オブジェクトが存在するように示しているが、ゲームの構成上、プレーヤキャラクタ２の身体が画面に登場することが無い設定の場合、必ずしも身体オブジェクトを表示する必要はない。つまり、仮想カメラＣＭと画面の端に映る銃３のオブジェクトのみで構成するとしても良い。
【００４８】
図４は、本実施形態におけるゲーム空間の構成例を説明するためのゲーム空間を俯瞰視した概略図である。同図に示すように、本実施形態では、ゲーム空間２０は複数の戦闘エリア２２（２２−１、２２−２、・・・）から構成されている。戦闘エリア２２はそれぞれが一つのゲームステージに相当する。
【００４９】
仮想カメラＣＭと一体のプレーヤキャラクタ２は、各戦闘エリア２２内に設定された所定の戦闘位置ＡＰ（ＡＰ１，ＡＰ２，・・・）に移動して、出現する複数の敵グループ２４（２４ａ，２４ｂ，・・・）を射撃しこれを撃破する。敵グループ２４には、複数の敵ＮＰＣ４が含まれており、軍隊で言うところの単数又は複数の小隊に相当する小規模な群れを形成する。
【００５０】
そして、出現する全ての敵グループ２４を撃破するとその戦闘エリア２２（つまりはゲームステージ）をクリアして、隣接する次の戦闘エリア２２に移動し、当該エリアで同じように出現する敵グループ２４と交戦する。これを、プレーヤキャラクタ２が所定のゴールに辿り着くまで繰り返す。
【００５１】
本実施形態では、公知のガンシューティングゲームと同様に、プレーヤキャラクタが敵ＮＰＣ４の攻撃を受けるとプレーヤキャラクタのヒットポイントが減算される。同ヒットポイントが「０」になる前に、所定のゴール地点に到達できればゲームクリアとなり、到達できなければゲームオーバとなる。
【００５２】
尚、本明細書で言う「撃破」とは、敵グループの驚異を除いた制圧状態を意味し、必ずしも全滅に限らず敵グループに所属する敵ＮＰＣ４が少数残存する場合も含めることができる。
【００５３】
さて、プレーヤキャラクタ２は、所定の戦闘位置付近に留まって戦闘する。仮想カメラＣＭはプレーヤキャラクタ２の視点としてゲームプレイし易いゲーム画面の構図となるように、ゲーム進行状況に応じた適切な撮影方向及び撮影画角に調整される。
【００５４】
撮影方向及び撮影画角の設定としては、戦闘エリア２２全体を撮影することの出来る撮影方向と撮影画角とすることもできるが、その場合ゲーム画面の構図に変化が乏しく、またゲーム画面内に映る敵ＮＰＣ４のサイズが小さくなるために、ゲームの興奮を損ない易く、ゲームプレイがし易いとも言えない。
そこで、本実施形態では戦闘エリア２２に出現する敵グループ２４から主たる被写体とするグループ（被写体グループ）を予めグループ毎に付与される攻撃優先順位に基づいて選択し、そのグループ全体を撮影できる撮影方向と撮影画角となるように仮想カメラＣＭを調整する。尚、ここで「主たる」としているのは、敵ＮＰＣの展開や撮影条件によってはゲーム画面内にそれ以外のグループの敵ＮＰＣが映り得ることを否定しない意味である。
【００５５】
［撮影方向及び撮影画角の設定原理］
図５〜図７は、本実施形態における撮影方向及び撮影画角の設定原理について説明するための図であって、図４の戦闘エリア２２−２の部分を拡大した図である。
図５の例では、第１グループ２４ａは第２グループ２４ｂより高い攻撃優先順位が付与されているので、被写体とするグループ数を「１」とするならば（勿論、複数でも良い。）、第１のグループ２４ａが主たる被写体グループとして選択される。
【００５６】
次いで、図６に示すように、被写体グループに含まれる敵ＮＰＣ４の位置座標を元に、被写体グループの敵ＮＰＣの配置代表点に相当する基準点Ｇ１を算出する。この基準点Ｇ１は、例えば各敵ＮＰＣ４の位置を結んだ多角形の重心位置として算出しても良いし、各敵ＮＰＣ４の位置座標の平均値として算出しても良い。そして、仮想カメラＣＭの撮影方向Ｌを基準点Ｇ１に向けた場合に被写体グループに含まれる敵ＮＰＣ４が撮影範囲内に収まる目標画角θ１を算出し、仮想カメラＣＭの撮影方向Ｌを基準点Ｇ１に向けつつ、撮影画角を目標画角θ１に合わせるように制御する。尚、目標画角は、撮影すべき敵ＮＰＣが所謂セーフエリア一杯に映るように求め、できる限りそれら敵ＮＰＣが大きく映るようにすると好適である。
【００５７】
こうして制御された仮想カメラＣＭで撮影された画像をもとに生成されたゲーム画面には、戦闘エリア２２−２に出現している多数のＮＰＣの内、第１グループ２４ａに属する敵ＮＰＣ４の様子のみ限定的に表示されることになる。結果として、一のグループに属する敵ＮＰＣの数を適当に設定することで、ゲーム画面上に表示される敵ＮＰＣ４の大きさを適当に調節することができるようになるので、プレーヤに標的が選択しやすいゲーム画面を提供することができる。
【００５８】
プレーヤがゲーム画面に映された敵ＮＰＣ４を射撃すると、公知のガンシューティングゲームと同様に撃たれた敵ＮＰＣ４は次々に倒れる。やがて、残存する敵ＮＰＣ４の数が第１グループ２４ａに予め定められている撃破判定条件を満たすに至ると、第１グループ２４ａの脅威は取り除かれたと判断して第１グループ２４ａを撃破したと判定し、残るその他の敵グループの中から攻撃優先順位に基づいて新たな被写体グループを選択する。
【００５９】
例えば、図７の例では、第１グループ２４ａの撃破判定条件が『敵ＮＰＣの残数「１」以下』なので第１グループ２４ａに敵ＮＰＣ４が一つ残っているが撃破されたと判定され、第１グループ２４ａは被写体グループの設定から解除される。
そして、残った敵グループの内、最も攻撃優先順位が高い第２グループ２４ｂが次の被写体グループとして選択され被写体の設定が更新される。更に、上述したのと同様にして、更新された被写体グループの基準点Ｇ２が算出されるとともに、同被写体グループに属する敵ＮＰＣ４を撮影することのできる目標画角θ２が算出される。
【００６０】
尚、目標画角の算出については、基本的には被写体グループに属する全ての敵ＮＰＣ４の配置を元に算出されるが、一部の敵ＮＰＣ４を算出の対象外に設定することができる。例えば、同図の例では仮想カメラＣＭから正面向かって左端の敵ＮＰＣが目標画角算出対象外に設定されている。目標画角算出対象外の設定を設けることで、一部の敵ＮＰＣ４が極端に所属グループの他の敵ＮＰＣ４から離れてしまい、目標画角が極端に大きくなってしまう事態を回避することができる。その意味では、例えばＡＩ制御される敵ＮＰＣ４に同設定を適用すると好適である。また、敵グループ内に非攻撃性のＮＰＣとして、拉致された民間人が設定されている場合、当該ＮＰＣの一部に目標画角算出対象外の設定を適用すると誤射の抑止を兼ねたプレイし易いゲーム画面構成とすることができる。
【００６１】
さて、基準点Ｇ２と目標画角θ２とが求められたならば、仮想カメラＣＭの撮影方向Ｌが基準点Ｇ２を向くようにパン制御され、撮影画角を目標画角θ２に合わせるようにズーム制御が行われる。この結果、図７の例では、第１グループ２４ａを撃破すると、仮想カメラＣＭは自動的に次の攻撃目標が集まる第２グループ２４ｂを撮影するように制御されるので、ゲーム画面上には自動的に現在のゲームステージにおいて次に優先して攻撃するべき標的群が表示されることになり適当な画面変化が生じる。そして、第２グループ２４ｂに属する敵ＮＰＣ４の数を適当に設定することで、ゲーム画面上に表示される敵ＮＰＣ４の大きさを適当に調節することができるようになるので、プレーヤにとって標的を選択し易いゲーム画面構成とすることができる。
【００６２】
また、本実施形態にはゲーム進行状況に応じてより確実にプレイしやすいゲーム画面を提供するべく次のような仮想カメラの追加制御が行われる。
図８〜図９は、第１の追加制御について説明するための図であって、各図において（ａ）がゲーム画面例を示す図、（ｂ）がそのときの仮想カメラＣＭと被写体グループの敵ＮＰＣ４との相対関係を示す俯瞰視概略図である。上述のように、基本的には被写体グループ全体を撮影するように仮想カメラＣＭが制御されているが、プレーヤキャラクタ２の攻撃を受けた敵ＮＰＣ４が倒れるなどして、図８のようにゲーム画面の全撮影範囲３０の中央に予め設定されているメイン撮影範囲３２に被写体グループに属する敵ＮＰＣ４が一体も映っていない場合、標的が画面の端に寄ってしまってプレイし難い画面構成になっていると判断できる。そこで、敵グループ全体を被写体とする制御モードを解除して、特定の敵ＮＰＣ４を被写体とする制御モードに変更し、メイン撮影範囲３２に何れかの敵ＮＰＣ４が映るように調整する。
【００６３】
具体的には、図９（ｂ）に示すように、仮想カメラＣＭに最寄りの敵ＮＰＣ４ａを選択して被写体とする。つまり、仮想カメラＣＭの撮影方向Ｌは、被写体となった敵ＮＰＣ４ａの代表点Ｇｃを向くようにパン制御される。また、被写体となった敵ＮＰＣ４ａから仮想カメラＣＭまでの距離に応じて予め設定されている撮影画角θｎ、θｍ、θｆの中から何れかを目標画角として選択し、仮想カメラＣＭの撮影画角を選択された目標画角（図９（ｂ）の例ではθｍ）に合わせるようにズーム制御する。但し、被写体となった敵ＮＰＣ４ａを中心とする所定の近接ＮＰＣ検索領域３６の中に同グループに属する他の敵ＮＰＣ４ｂが存在する場合には、当該敵ＮＰＣ４ｂもメイン撮影範囲３２内に映るように目標画角θ４を算出し、ズーム制御する。
この結果、図９（ａ）に示すように、ゲーム画面のメイン撮影領域３２の内に被写体グループに属する敵ＮＰＣ４ａ及び敵ＮＰＣ４ｂが映るように自動的にプレイしやすい画面構成とすることができる。
【００６４】
図１０〜図１２は、第２の追加制御について説明するための図であって、戦闘エリア２２−２の俯瞰視概略図である。本実施形態では、何れの敵グループ２４よりも攻撃優先順位の高い特殊敵ＮＰＣ３０が出現するゲームステージである。
第２の追加制御では、現在の被写体グループよりも攻撃優先順位の高い敵ＮＰＣや敵グループが出現した場合に、これをプレーヤに通知する目的で特殊なカメラワークが実行され、その新たに出現した敵ＮＰＣを新たな被写体として選択し、仮想カメラＣＭの撮影方向Ｌ及び撮影画角θを再調整する。
【００６５】
具体的には、例えば図１０に示すように、第２グループ２４ｂを被写体グループとして仮想カメラＣＭで撮影している状況において、現在の戦闘エリア２２−２にこの特殊敵ＮＰＣ３０が出現したとする。ゲーム画面上では、第２グループ２４ｂの敵ＮＰＣ４の様子しか映し出されていないのでプレーヤが特殊敵ＮＰＣ３０の出現を知ることはできない。
【００６６】
そこで、特殊カメラワークとして、先ず図１１に示すように、現在の被写体グループ（第２グループ２４ｂ）の敵ＮＰＣ４と特殊敵ＮＰＣ３０とを対象として特別基準点Ｇｓを算出し、仮想カメラＣＭの撮影方向Ｌをこの特別基準点Ｇｓに向けた場合に、現在の被写体グループの敵ＮＰＣ４と特殊敵ＮＰＣ３０とが撮影できる特別目標画角θｓを算出する。そして、仮想カメラＣＭの撮影方向Ｌをこの特別基準点Ｇｓに向けるようにパン制御しつつ、撮影画角を特別目標画角θｓに合うようにズーム制御する。
【００６７】
次いで、図１２に示すように、特殊敵ＮＰＣ３０を新たな被写体グループとして選択し、新たに基準点Ｇ５及び目標画角θ５を算出し、仮想カメラＣＭの撮影方向Ｌと撮影画角をそれらに合わせるようにパン制御及びズーム制御する。
この結果、プレーヤへ、新たな特殊敵ＮＰＣ３０の出現を直前までの標的群との相対位置関係を含めて明確に通知することができる。そして速やかに被写体をより攻撃優先順位の高い特殊敵ＮＰＣ３０に更新し、ゲーム画面に映し出すことができる。
【００６８】
図１３は、第３の追加制御について説明するための図であって、戦闘エリア２２−２の俯瞰視概略図である。第３の追加制御では、特殊敵ＮＰＣ３０ａが仮想カメラＣＭ（勿論プレーヤキャラクタであってもよい）を基準位置とする所定の近接攻撃範囲３８に進入した場合に、この特殊敵ＮＰＣ３０ａを新たな被写体に設定し、メイン撮影範囲３２にこの特殊敵ＮＰＣ３０ａが映るように、仮想カメラＣＭの撮影方向Ｌが当該ＮＰＣの代表点を向くようにパン制御される。また、撮影画角は、図９で示したのと同様にして、仮想カメラＣＭと特殊敵ＮＰＣ３０ａとの相対距離に基づいて所定の撮影画角設定θｎ、θｍ、θｆの中から目標画角が選択され、撮影画角がその目標画角となるようにズーム制御される。
これによって、プレーヤキャラクタに肉薄した特殊敵ＮＰＣ３０ａを最大の脅威として判断し、プレーヤが照準を合わせ易いような画面とすることができる。
尚、本実施形態では、第３の追加制御の対象を特殊敵ＮＰＣに限定しているが、通常の敵ＮＰＣも対象に含めることもできるのは勿論である。
【００６９】
［機能ブロックの説明］
次に、上述のような特徴を実現するための機能構成について説明する。
図１４は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００７０】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。例えば、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボール、２軸以上の検出軸を有する多軸検出型加速度センサ又は検出軸方向を違えて組み合わされた単軸検出型加速度センサユニット、少なくとも２方向以上の検出方向を可能にする多方向検出型傾斜センサまたは検出方向を違えて組み合わされた単方向検出型傾斜センサユニット、基準位置からのズレを撮影するビデオカメラなどによっても実現できる。図１ではガン型コントローラ１１３０がこれに該当する。
【００７１】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、ガンシューティングゲーム装置１１００の動作を制御する。図１では制御ユニット１１５０がこれに該当し、いわゆるコンピュータ基板に相当する。
そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００７２】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、３次元仮想空間中に建物８や木箱１０などの障害物オブジェクト等を配置してゲーム空間を形成する処理や、ゲーム空間中にプレーヤキャラクタ２や敵ＮＰＣ４等のキャラクタオブジェクトを配置する処理、配置されたキャラクタ等の動作制御処理、キャラクタの移動や攻撃といった各種動作制御処理、攻撃等によるオブジェクト（例えば弾丸とキャラクタ）間のヒット判定処理、物理演算処理、ゲーム結果の算出処理といった処理が実行対象に含まれる。
そして、本実施形態のゲーム演算部２１０は、照準位置判定部２１２と、ＰＣ（プレーヤキャラクタ）動作制御部２１４と、ＮＰＣ動作制御部２１６と、仮想カメラ自動制御部２１８とを含んでいる。
【００７３】
照準位置判定部２１２は、操作入力部１００で指し示されているゲーム画面座標系における照準位置座標を決定する。つまり、画像表示装置１１２２に向けられたガン型コントローラ１１３０の銃口が向けられた画面上の位置を求める。そして、画面上の位置から仮想３次元空間における照準位置を求め、銃口の向きとして決定する。この照準位置判定部２１２の機能は、公知のガンシューティングゲーム装置の技術で実現することができる。
【００７４】
ＰＣ動作制御部２１４は、プレーヤキャラクタ２の動作を制御する。具体的には、ＰＣ動作制御部２１４は、記憶部５００のゲーム空間設定データ５１０に格納されている現在プレイしている戦闘エリア２２の戦闘エリア設定データ５１２に含まれる撮影位置データ５２０を参照して、現在プレイしている戦闘エリア２２の所定位置にプレーヤキャラクタ２を移動させる。そして、プレーヤがガン型コントローラ１１３０で射撃操作したことを検出して、照準位置判定部２１２で求めた照準位置に向けて射撃をするように動作制御する。
【００７５】
ＮＰＣ動作制御部２１６は、記憶部５００に記憶されているスクリプトデータ５２４を参照して、敵グループ２４つまりは敵ＮＰＣ４の出現・移動・攻撃・回避などの動作を制御する。所定の思考ルーチンに従って自動的に動作を決定するいわゆる「ＡＩ制御」によって自律制御する機能を含む。
【００７６】
仮想カメラ自動制御部２１８は、プレーヤキャラクタ２の一人称視点としての仮想カメラＣＭの撮影方向及び撮影画角を自動制御する。具体的には、現在プレイ中の戦闘エリア２２に出現した敵グループの中から被写体グループを選択する処理を実行し、その被写体グループに所属する敵ＮＰＣの中から撮影対象を選択し、撮影対象のキャラクタ全体を撮影できるように基準点Ｇと目標画角θを算出する処理を実行する。そして、撮影方向Ｌが算出した基準点Ｇを向き、撮影画角が算出した目標画角θに合うようにパン制御処理やズーム制御処理を実行する。また、上述した第１〜第３の追加制御にかかる各種データの算出と仮想カメラＣＭの制御を実行する。
【００７７】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）、音声合成ＩＣなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００７８】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではスピーカ１１２４がこれに該当する。
【００７９】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（１／６０秒）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００８０】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクターといった画像表示装置によって実現できる。図１では画像表示装置１１２２がこれに該当する。
【００８１】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００８２】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１の通信装置１１５４がこれに該当する。
【００８３】
記憶部５００は、処理部２００にガンシューティングゲーム装置１１００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１では制御ユニット１１５０が搭載するフラッシュメモリ１１５２などがこれに該当する。
【００８４】
本実施形態では、記憶部５００はシステムプログラム５０２と、ゲームプログラム５０４とを記憶している。処理部２００がゲームプログラム５０４を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現できる。
特にゲームプログラム５０４には、ＮＰＣ動作制御部２１６の機能を実現させるためのＮＰＣ制御プログラム５０６が含まれている。
【００８５】
また、記憶部５００には、予め用意されるデータとして、ゲーム空間設定データ５１０と、キャラクタ初期設定データ５２２と、スクリプトデータ５２４と、撮影画角設定データ５２６と、攻撃優先順位設定データ５２８とが記憶されている。
更にゲームの進行に伴って随時生成や更新が行われるデータとして、キャラクタステータスデータ５３０と、メイン被写体設定データ５３２と、特殊カメラワーク制御データ５３４と、仮想カメラ制御データ５３６とを記憶する。
また、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、仮想カメラＣＭの３次元仮想空間座標系における位置座標や姿勢情報や、カウンタの値、タイマの値）なども適宜記憶されるものとする。
【００８６】
ゲーム空間設定データ５１０は、３次元仮想空間にゲーム空間を形成するための各種データを戦闘エリア設定データ５１２の単位で格納している。
一つの戦闘エリア設定データ５１２は、戦闘エリアの頂点位置座標を格納するエリア頂点データ５１４と、配置され障害物となり得るオブジェクトの位置や姿勢を定義する障害物配置データ５１６と、障害物となり得るオブジェクトのモデルデータやテクスチャデータなどを格納する障害物モデルデータ５１８と、当該戦闘エリアにおけるプレーヤキャラクタ２の戦闘位置、つまりは仮想カメラＣＭの設置位置を定義する撮影位置データ５２０とを含んでいる。
【００８７】
キャラクタ初期設定データ５２２は、プレーヤキャラクタ２や敵ＮＰＣ４の各種初期設定データを格納している。例えば、図１５に示すように、各キャラクタについて、キャラクタＩＤ５２２ａと、所属グループの識別情報を格納する所属グループ５２２ｂと、目標画角算出対象外設定５２２ｃと、初期ヒットポイント５２２ｄと、攻撃値５２２ｅと、移動速度５２２ｆと、モデルデータ５２２ｇと、テクスチャデータ５２２ｈとを含んでいる。その他、射撃動作や伏せ動作など各種戦闘行動中のモーションデータなどが適宜格納されている。
【００８８】
スクリプトデータ５２４は、敵ＮＰＣ４の動作タイミングと動作の内容、天井の崩落やゲームステージの切り換えといったイベントのタイミングとそのイベント内容など、ゲーム進行上の出来事を設定するデータである。
例えば、図１６に示すように、タイミング５２４ａと対応づけて、対象とされるオブジェクト５２４ｂと、その動作５２４ｃと、動作内容を定義する動作パラメータ５２４ｄとが格納されている。タイミング５２４ａには、ゲーム開始からの経過時間に相当するフレーム番号が格納される。オブジェクト５２４ｂには、敵ＮＰＣ４の識別情報や、崩落する天井や爆発する自動車など可動する障害物オブジェクトや背景のオブジェクトの識別情報が格納される。動作５２４ｃには、動作制御するプログラムのサブルーチンや関数が定義され、動作パラメータ５２４ｄには動作制御に必要なパラメータ値が格納される。
【００８９】
同図の例をより具体的に説明すると、例えば、タイミング５２４ａが「３００ｆ（フレーム）」では、「敵Ａ０２」「敵Ａ０３」のＩＤを有する敵ＮＰＣ４が、ゲーム空間内の「出現位置＝（ｘ１，ｙ１，ｚ１）」「出現位置＝（ｘ２，ｙ２，ｚ２）」の座標に「出現（ａｐｐｅａｒ）」する。前者は、目標画角算出対象外の設定は適用されず、後者は同設定が適用されている。そして、「敵Ａ０２」は「３２４ｆ〜４１０ｆ」の間に「始点、終点＝ｎｏｄｅ００１，ｎｏｄｅ２９８」としてゲーム空間内の指定点間を「移動（ｍｏｖｅ）」するように設定されている。また、「敵Ａ０３」は「３２４ｆ〜３７２ｆ」の間、「攻撃（ａｔｔａｃｋ）」動作するように定義されている。
また、「４１０ｆ」では、「天井（具体的には天井の落下物）」が所定の落下範囲に「落下（ｆａｌｌ）」するイベントが設定されている。同イベントでは、例えば爆発などの発生によって天井（一部）が落下物として落ちてくる演出が行われ、落下物に当ったプレーヤキャラクタ２や敵ＮＰＣ４に所定のダメージを与える。本実施形態では、ヒットポイントの減算としてダメージが与えられるが、麻痺状態や気絶状態など戦闘能力の低下を招くステータス異常を所定時間設定することでダメージを与える構成としても良いのは勿論である。
【００９０】
撮影画角設定データ５２６は、特定の敵ＮＰＣを被写体とする制御モードにおいて、被写体とするＮＰＣと仮想カメラＣＭとの相対距離別の撮影画角設定θｎ、θｍ、θｆを設定する（図９参照）。
【００９１】
攻撃優先順位設定データ５２８は、例えば図１７に示すように、戦闘エリア毎に当該エリアの識別情報を格納するエリアＩＤ５２８ａと、順位５２８ｂに対応づけた対象グループ５２８ｃ及び撃破判定条件５２８ｄを格納する。対象グループ５２８ｃには、優先順位付けされたＮＰＣ或いはグループの識別情報が格納される。撃破判定条件５２８ｄには、対応する対象グループ５２８ｃの脅威が取り除かれたと判定され、被写体から解除される条件（撃破されたとする条件）を定義する。全滅は勿論のこと、何体かの所属する敵ＮＰＣが残るような状態や、所属する敵ＮＰＣが受けたダメージの合計をグループ単位で算出しその合計が所定条件（例えば、ゲーム難易度に応じて決定される上限値）を満たした状態、などを適宜撃破判定条件５２８ｄに設定できる。これによって、グループとしての脅威を有る程度排除できたら、そのグループの全滅にこだわらずに、より脅威の高い次の敵に視線を向けてそちらの攻撃を優先すると言った、戦場における兵士の視線を模したリアルなカメラワークを実現することができる。
尚、本実施形態では、グループ単位のダメージ量を当該グループを構成する敵ＮＰＣのヒットポイントの初期値から現在値までの減算値の合計とするが、麻痺状態や気絶状態など戦闘能力の低下を招くステータス異常を所定時間設定することでダメージを与える構成では、ステータス異常となっている敵ＮＰＣの数を撃破判定条件５２８ｄに設定することもできる。
【００９２】
キャラクタステータスデータ５３０は、ゲームに登場するキャラクタ毎に用意され、該当キャラクタの現在状態を示す各種データを格納する（図１４参照）。
一つのキャラクタステータスデータ５３０は、例えば、キャラクタＩＤ５３０ａと、所属するグループの識別情報が格納される所属グループ５３０ｂと、ヒットポイント５３０ｃと、ゲーム空間内における位置座標を格納する現在位置５３０ｄと、現在実行中の動作の種類や当該動作のモーション制御情報などを格納する動作制御パラメータ５３０ｅとを含む。勿論、適宜その他の情報を格納することができる。
【００９３】
メイン被写体設定データ５３２は、現在被写体とされているグループやＮＰＣの識別情報を格納する。
【００９４】
特殊カメラワーク制御データ５３４は、第２の追加制御（図１０〜図１２参照）で実現される特殊カメラワークの制御に必要な情報を格納する。例えば、特別基準点５３４ａ、特別目標画角５３４ｂ、特殊カメラワークを実行した場合に「１」が設定される特殊カメラワーク実行フラグ５３４ｃが含まれる。勿論、適宜その他の情報を格納することができる。尚、特殊カメラワーク実行フラグ５３４ｃのゲームスタート時点の初期値は「０」である。
【００９５】
仮想カメラ制御データ５３６は、仮想カメラＣＭの位置座標、撮影方向Ｌ及び撮影画角の現在位置を格納する。
【００９６】
［動作の説明］
次に、本実施形態におけるガンシューディングゲーム装置１１００の動作について説明する。尚、ここで説明される処理は、処理部２００がシステムプログラム５０２並びにゲームプログラム５０４を読み出して実行することによって実現される。
【００９７】
図１８は、本実施形態における主たる処理の流れを説明するためのフローチャートである。同図に示すように、ゲーム演算部２１０は先ずゲーム空間設定データ５１０、キャラクタ初期設定データ５２２を参照して、３次元仮想空間中に建物８や木箱１０（図２参照）などの障害物オブジェクトや背景オブジェクトを配置してゲーム空間を形成し（ステップＳ２）、形成したゲーム空間内にプレーヤキャラクタ２と、敵ＮＰＣ４と、仮想カメラＣＭとを配置する（ステップＳ４）。
【００９８】
次に、処理部２００はゲームがスタートしているか否かを判定する（ステップＳ６）。
ゲームがスタートしていれば（ステップＳ６のＹＥＳ）、処理部２００は、公知のビデオゲームの制御と同様にゲーム開始からの経過時間を示すパラメータとして描画フレーム数のカウントを開始する。そして、ステップＳ８〜Ｓ３８をゲーム終了条件を満たすと判定されるまで、画像表示装置１１２２のリフレッシュレートと同等或いはそれよりも十分短い制御サイクルで繰り返し実行する。
【００９９】
具体的には、先ず、処理部２００はスクリプトデータ５２４を参照する。現時点が敵ＮＰＣの出現タイミングとして設定されている場合には（ステップＳ８のＹＥＳ）、指定された位置座標に敵ＮＰＣを配置・出現させる（ステップＳ１０）。そして、出現した敵ＮＰＣが特殊敵ＮＰＣの場合には（ステップＳ１２のＹＥＳ）、特殊カメラワーク実行フラグ５３４ｃを「０」に設定する（ステップＳ１４）。
【０１００】
次に、処理部２００は現在ゲーム空間に配置されている全ての敵ＮＰＣについて自動制御を実行する（ステップＳ１６）。勿論、プレーヤキャラクタ２によって撃破された敵ＮＰＣ４は除外する。この自動制御によって、ある敵ＮＰＣはスクリプトデータ５２４に従って移動や攻撃動作制御される。またある敵ＮＰＣはＡＩ制御によって移動から攻撃や回避までの戦闘行動を自律的に行うように制御される。
【０１０１】
次いで処理部２００は、仮想カメラ自動制御処理を実行する（ステップＳ１８）。
図１９は、本実施形態における仮想カメラ自動制御処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は特殊敵ＮＰＣが現在プレイ中の戦闘エリア２２に出現しているか否かを判定する（ステップＳ６０）。
出現していない場合（ステップＳ６０のＮＯ）、現在プレイ中の戦闘エリア２２に存在する敵ＮＰＣ４のキャラクタステータスデータ５３０の所属グループ５３０ｂを参照して、現在プレイ中の戦闘エリア２２に出現されている敵グループを被写体候補として抽出し（ステップＳ６２）、現在プレイ中の戦闘エリア２２の攻撃優先順位設定データ５２８を参照して撃破判定条件５２８ｃを満たしているグループを被写体候補から除外する（ステップＳ６４）。
【０１０２】
次いで、処理部２００は被写体候補の中から、現在プレイ中の戦闘エリア２２の攻撃優先順位設定データ５２８を参照し、被写体候補の敵グループそれぞれに対応づけられる順位５２８ａに基づいて最も優先順位の高い敵グループを被写体グループとして選択する（ステップＳ６６）。メイン被写体設定データ５３２には、選択した敵グループの識別情報が格納されメインの被写体が設定されたことになる。
【０１０３】
例えば、撃破判定条件５２８ｄ（図１７参照）にて「グループに含まれる敵ＮＰＣのダメージ量が基準値に到達」が条件に設定されているグループであれば、ステップＳ６４にて当該グループの敵ＮＰＣが受けたダメージ（例えば、ヒットポイントの初期値から現在値の差）の合計が算出され、算出された合計が基準値に達していれば、被写体候補から除外される。そして、ステップＳ６６で他のグループが有れば、それが被写体として選択されることになる。つまり、グループとしてのダメージ合計が基準値に達したグループを直前まで被写体としていれば、プレーヤキャラクタ２の攻撃等で脅威を取り除けたと判断され、新たに被写体とする敵グループが自動的に選択される。
【０１０４】
次いで、処理部２００は選択した被写体グループに所属する敵ＮＰＣの中から、目標画角算出対象外設定５２２ｃ（図１５、図１６参照）が「ＯＮ」に設定されて出現した敵ＮＰＣを除外して目標画角算出対象ＮＰＣを選択する（ステップＳ６８）。そして、全ての目標画角算出対象ＮＰＣの配置位置座標に基づいて撮影基準点となる基準点Ｇを算出する（ステップＳ７０）。
【０１０５】
次に、処理部２００は全ての目標画角算出対象ＮＰＣを撮影することのできる目標画角θを算出する（ステップＳ７４）。ここで算出される目標画角は、仮想カメラＣＭの撮影方向Ｌを基準点Ｇに向けたと仮定して、目標画角算出対象ＮＰＣの端のキャラクタが所謂セーフエリアやメイン撮影範囲３２の外縁に掛かる程度に、セーフエリアやメイン撮影範囲３２内でできるだけ大きく映るように算出される。
【０１０６】
そして、目標画角算出対象ＮＰＣがメイン撮影範囲３２（図８参照）に映っているか否かを判定する（ステップＳ７６）。
もし、映っていないと判定した場合には（ステップＳ７６のＮＯ）、処理部２００は目標画角算出対象ＮＰＣ、つまりは現在の被写体グループの敵ＮＰＣの内、仮想カメラＣＭに最寄りの敵ＮＰＣを新たな被写体として選択し、メイン被写体設定データ５３２に選択した敵ＮＰＣの識別情報を格納して被写体を更新する（ステップＳ７８）。ここで、メインの被写体をグループとする制御モードから一時的に単体のＮＰＣを被写体とする制御モードに切り替わったことになる。
【０１０７】
そして、処理部２００は新たに被写体となった最寄りの敵ＮＰＣを基準に設定される近接ＮＰＣ検索領域３６（図９参照）の内に同じグループに属する他の敵ＮＰＣが存在するか否かを判定する（ステップＳ８０）。
【０１０８】
もし、該当する他の敵ＮＰＣが存在する場合には（ステップＳ８０のＹＥＳ）、この敵ＮＰＣも最寄りの敵ＮＰＣと一緒に画面に映るように、これらを対象にして基準点Ｇを再度算出し（ステップＳ８２）、再算出した基準点Ｇに仮想カメラＣＭの撮影方向Ｌを向けたと仮定して、メイン撮影範囲３２の内でこれらが同範囲内で出来るだけ大きく映るように目標画角θを再度算出する（ステップＳ８４）。
【０１０９】
一方、近接ＮＰＣ検索領域３６の中に該当する他の敵ＮＰＣが存在しない場合には（ステップＳ８０のＮＯ）、処理部２００は基準点Ｇの位置座標に最寄りの敵ＮＰＣの代表点の位置座標を設定することで基準点Ｇの再設定を行い（ステップＳ８６）、最寄りの敵ＮＰＣと仮想カメラＣＭとの距離を算出し、撮影画角設定データ５２６を参照して算出した距離に応じた撮影画角設定θｎ、θｍ、θｆの何れかを目標画角として選択する（ステップＳ８８）。
【０１１０】
そして、処理部２００は仮想カメラＣＭの撮影方向Ｌを基準点Ｇに向けるように制御するとともに撮影画角を目標画角θに合わせるように制御して（ステップＳ９０）、今回の制御サイクルにおける仮想カメラ自動制御処理を終了する。
【０１１１】
尚、変形例として、ステップＳ７０で仮の基準点を算出するとともに、ステップＳ７４で仮の目標画角を算出する構成とし、ステップＳ７４とステップＳ７６の間に、これらを現在設定されている基準点Ｇ及び目標画角θと比較するステップと、比較の結果、基準値を上回る位置変化や画角変化が生じる場合に基準点及び目標画角を新たに算出した仮の基準点及び仮の目標画角に更新するステップを設ける構成としても良い。
この場合、仮想カメラＣＭの撮影方向Ｌ及び撮影画角の変化頻度を抑制することで画面構図変化を抑制したゲーム画面を提供できるようになる。こうした更新ステップを設ける構成と、図示された構成の何れを採用するかは、ゲーム内容や演出意図に応じて選択すればよい。
【０１１２】
さて、ステップＳ６０において、現在プレイ中の戦闘エリアに特殊敵ＮＰＣが出現している場合には（ステップＳ６０のＹＥＳ）、処理部２００は特殊カメラワーク制御処理を実行して（ステップＳ１００）、今回の制御サイクルにおける仮想カメラ自動制御処理を終了する。
【０１１３】
図２０は、本実施形態における特殊カメラワーク制御処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は特殊カメラワーク制御データ５３４の特殊カメラワーク実行フラグ５３４ｃを参照する（ステップＳ１０２）。同フラグが「０」の場合（ステップＳ１０２の「０」）、特殊カメラワークが未実行と判断して、特殊カメラワーク制御データ５３４に特別基準点５３４ａと特別目標画角５３４ｂが設定されているか否かを判定する（ステップＳ１０４）。
【０１１４】
そして、特別基準点５３４ａと特別目標画角５３４ｂが未設定の場合（ステップＳ１０４のＮＯ）、処理部２００は現在被写体に設定されているグループ（被写体グループ）の全ての敵ＮＰＣ４と特殊敵ＮＰＣ３０との特別基準点Ｇｓ（図１１参照）を算出し（ステップＳ１０６）、特別画角θｓを算出する（ステップＳ１０８）。
【０１１５】
次に、処理部２００は現在の仮想カメラＣＭの撮影方向Ｌが特別基準点Ｇｓを向き、撮影画角が特別画角θｓに合っているかを判定する（ステップＳ１１０）。否定の場合（ステップＳ１１０のＮＯ）、仮想カメラＣＭの撮影方向Ｌが特別基準点Ｇｓの方向を向くように今回の制御サイクル分だけパン制御し（ステップＳ１１２）、撮影画角が特別画角θｓに近づくように今回の制御サイクルの分だけズーム制御し（ステップＳ１１４）、今回の制御サイクルにおける特殊カメラワーク制御を終了する。
【０１１６】
何回かの制御サイクルを経て、仮想カメラＣＭの撮影方向Ｌが特別基準点Ｇｓを向き、撮影画角が特別画角θｓに一致するに至ると（ステップＳ１１０のＹＥＳ）、処理部２００は特殊カメラワーク実行フラグ５３４ｃを「１」に設定する（ステップＳ１１６）。
【０１１７】
一方、特殊カメラワーク実行フラグ５３４ｃが「１」の場合、処理部２００は近接攻撃範囲３８（図１３参照）に存在する特殊敵ＮＰＣ３０ａの有無を判定する（ステップＳ１３０）。存在しなければ（ステップＳ１３０のＮＯ）、現在プレイ中の戦闘エリア２２に出現している全ての特殊敵ＮＰＣを目標画角算出対象ＮＰＣとみなして基準点Ｇを算出するとともに（ステップＳ１３２）、仮想カメラＣＭの撮影方向Ｌが基準点Ｇを向いたと想定した場合に、それら全てを撮影することのできる目標画角θを算出する（ステップＳ１３４）。そして、仮想カメラＣＭの撮影方向Ｌを基準点Ｇに向けつつ、撮影画角を目標画角θに合わせるように制御し（ステップＳ１４０）、今回の制御サイクルにおける特殊カメラワーク制御処理を終了する。
【０１１８】
一方、ステップＳ１３０において、近接攻撃範囲３６に存在する特殊敵ＮＰＣ３０ａが存在すると判定した場合（ステップＳ１３０のＹＥＳ）、処理部２００は仮想カメラＣＭに最寄りの特殊敵ＮＰＣの位置を基準点Ｇに設定し（ステップＳ１３６）、撮影画角設定データ５２６を参照して、同特殊敵ＮＰＣと仮想カメラＣＭとの相対距離に応じた撮影画角設定θｎ、θｍ、θｆの何れかを選択し目標画角とする（ステップＳ１３８）。そして、仮想カメラＣＭの撮影方向Ｌを基準点Ｇに向けつつ、撮影画角を目標画角θに合わせるように制御し（ステップＳ１４０）、今回の制御サイクルにおける特殊カメラワーク制御処理を終了する。
【０１１９】
特殊カメラワーク制御処理を終了したならば、図１９のフローチャートに戻って、処理部２００は今回の制御サイクルにおける仮想カメラ自動制御処理を終了する。
【０１２０】
図１８のフローチャートに戻って、次に、処理部２００はスクリプトデータ５２４を参照して現在のタイミングにイベントが設定されていれば（ステップＳ２０のＹＥＳ）、イベント発生処理を実行する（ステップＳ２２）。そして、敵グループ毎に所属する敵ＮＰＣ４がイベントの発生にともなって受けたダメージ数の合計を算出し（ステップＳ２４）、再び仮想カメラ自動制御処理を実行する（ステップＳ２６）。
【０１２１】
本実施形態のイベントでは、落下物として天井（一部）が落ちてきたり、車両が爆発したりなど、プレーヤキャラクタ２や敵ＮＰＣ４にランダムにダメージを与えて戦況を変化させる内容が定義されている。よって、イベントの発生にともなって敵ＮＰＣ４もダメージを受け、戦闘不能になる可能性がある。つまり、イベントの発生にともなって現在被写体としているグループが撃破判定条件５２８ｄ（図１７参照）を満たしてしまう可能性がある。そこで、ステップＳ２６で再度、仮想カメラ自動制御を実行することで、被写体の再選択を実行する。勿論、イベントが発生しなければ同制御の再実行は行われない。
【０１２２】
次に、処理部２００は、プレーヤキャラクタの動作制御を実行する（ステップＳ２８）。具体的には、ガン型コントローラ１１３０の銃口を向けた先のゲーム画像座標系における照準位置座標を求め、当該箇所に照準６を表示させるとともに、当該照準位置に相当するゲーム空間内の位置を狙っているように銃を構えるプレーヤキャラクタの腕を動作制御する。そして、ガン型コントローラ１１３０での射撃操作を検出して、現在の照準位置座標に相当するゲーム空間中の位置に向けて射撃動作制御する。これらは、公知のガンシューディングゲームにおける処理と同様に実現できる。
【０１２３】
次いで、処理部２００はゲーム結果の算出を行う（ステップＳ３０）。ゲーム結果としては、プレーヤキャラクや敵ＮＰＣの攻撃のヒット判定、落下物や爆発などのイベントの発生に伴う敵ＮＰＣのダメージヒット判定、攻撃のヒット判定やダメージヒット判定の結果に基づくプレーヤキャラクや敵ＮＰＣのヒットポイントの減算、ヒットポイントゲージ１２や弾数ゲージ１４、方位表示１６の更新などが含まれる。そして、算出したゲーム結果に応じて、着弾位置に火花を表示させたり、被弾した敵ＮＰＣが倒れる等のやられ動作をさせたりと言った、被弾動作処理を今回の制御サイクル分だけ実行する（ステップＳ３２）。
【０１２４】
次いで、処理部２００はゲーム空間内の様子を仮想カメラＣＭで撮影した画像（ゲーム空間画像）をレンダリングし、これにヒットポイントゲージ１２等の各種情報表示を合成してゲーム画面を生成する。そして、生成したゲーム画面を画像表示部２６０、つまりは画像表示装置１１２２に表示させる。また、ゲーム音を生成して音出力部３５０、つまりはスピーカ１１２４から放音させる（ステップＳ３４）。
【０１２５】
次に、処理部２００はゲーム終了条件を満たしているか否かを判定するが（ステップＳ３６）。本実施形態では、プレーヤキャラクタのヒットポイントが「０」になればゲームオーバ、「０」になる前に所定のゴール地点に到達すればゲームクリアとしてゲーム終了条件を満たすと判断する。
【０１２６】
ゲーム終了条件を満たしていなければ（ステップＳ３６のＮＯ）、現在プレイ中の戦闘エリア２２のクリア条件を満たすか否かを判定する（ステップＳ３８）。
例えば、全てのグループを撃破した場合や、特殊敵ＮＰＣを全て撃破した場合など公知のガンシューティングゲームと同様に適宜クリアしたと判定し（ステップＳ３８のＹＥＳ）、処理部２００は戦闘エリア２２の変更処理を実行する（ステップＳ４０）。同処理は、所謂ゲームステージの切り換え処理に相当する。戦闘エリア２２の変更に伴い、仮想カメラＣＭの撮影位置は変更後の戦闘エリア２２の撮影位置データ５２０に従う。そして、ステップＳ６に戻る。
【０１２７】
ゲーム終了条件を満たすと判定した場合には（ステップＳ３６のＹＥＳ）、処理部２００はゲームオーバ或いはゲームクリアの結果に応じた所定のゲーム終了告知画面を表示させるなどのゲーム終了処理を実行して（ステップＳ４２）、一連の処理を終了する。
【０１２８】
以上、本実施形態によれば、１体以上の敵ＮＰＣでなる敵グループが複数出現する戦闘エリアでプレーヤキャラクタに戦闘制御を行わせる一人称視点ゲームにおいて、特定の敵グループを被写体として選択し、当該グループに属する敵ＮＰＣの全体をゲーム画面に映すように仮想カメラＣＭを制御することができる。そして、当該グループを撃破すると自動的に仮想カメラＣＭは次に優先して攻撃すべきグループを被写体として選択し、そのグループの敵ＮＰＣ全体を映すように自動的に制御される。更には、現在被写体としているグループよりも優先度の高い新たな敵ＮＰＣが出現した場合には、いままで攻撃していた敵ＮＰＣ群とともに一旦新たな敵ＮＰＣの全体を見渡せるように撮影した後、新たな敵ＮＰＣがゲーム画面に主に映るように自動制御される。
よって、ゲーム画面には常に優先的に攻撃すべき標的群が認識し易く映し出される。プレーヤは、次々に標的に狙いを定めて射撃するといった爽快感あるゲームを楽しむことができる。
【０１２９】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用形態はこれに限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【０１３０】
例えば、上記実施形態ではガンシューティングゲームを実行するケースを例に挙げたが、ＮＰＣが登場するゲームであれば、ＲＰＧや戦略シミュレーションゲームなどその他のジャンルのゲームにも同様に適用できる。
【０１３１】
また、ハードウェアは業務用のガンシューティングゲーム装置１１００に限らず、家庭用ゲーム装置や携帯型ゲーム装置、パーソナルコンピュータなどを用いることができる。
例えば、図２１に示すように、家庭用ゲーム装置１２００は、ゲーム装置本体１２０１と、ゲームコントローラ１２３０と、ビデオモニタ１２２０とを備えるコンピュータシステムでなる。ゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力に基づいて制御ユニット１２１０が各種のゲーム演算を実行する。
【０１３２】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。また、制御ユニット１２１０は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と接続して外部装置との間でデータ通信を実現する通信装置１２１２を備える。
【０１３３】
ゲームコントローラ１２３０は、選択の決定やキャンセル、タイミングの入力などに用いられるプッシュボタン１２３２と、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、右アナログレバー１２３６と、左アナログレバー１２３８とを備える。ガンシューティングゲームを実行する場合では、プッシュボタン１２３２でプレーヤキャラクタによる射撃のトリガー操作、使用武器の切換などの操作を入力し、左アナログレバー１２３８で照準６の位置を上下左右に移動させることができる。
【０１３４】
制御ユニット１２１０は、ゲームコントローラ１２３０から受信した検出信号や操作入力信号に基づいてゲーム画像やゲーム音を生成する。そして、生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０（ディスプレイモニタ）に出力される。ビデオモニタ１２２０には、画像を表示するディスプレイ１２２２と音声を放音するスピーカ１２２４とが備えられており、プレーヤはディスプレイ１２２２に映し出されるゲーム画像を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイすることができる。
【０１３５】
また、上記実施形態における仮想カメラＣＭの撮影画角の調整を、図２２に示すように、仮想カメラＣＭの基準点Ｇに対する前後移動（カメラ制御用語で言うところのトラック制御）によって代用するとしても良い。同図の例は、図６の状態から図７の状態に変化するのに相当する。撮影画角は固定或いは段階的な設定とし、制御上は目標画角の算出するステップに代えて、前後の移動目標位置Ｐを算出するステップとし、撮影画角を目標画角に合わせるステップを移動目標位置に仮想カメラＣＭを移動させるステップに置き換えれば良い。
【０１３６】
また、上記実施形態では各敵グループに予め設定されている攻撃優先順位の高いグループを優先的に被写体とする構成としたが、これに限るものではない。
例えば、ゲームスタート前に、公知のビデオゲームと同様にしてゲーム難易度をプレーヤが選択するステップを設け、選択されたゲーム難易度が低ければ攻撃優先順位の高いグループを優先的に被写体として選択し、ゲーム難易度が高ければ攻撃優先順位にかかわらずランダムに被写体とするグループを選択したり反対に攻撃優先順が低いグループを優先的に選択することで、敵ＮＰＣを群れに区切って主たる被写体として見せる基本的な作用はそのままに、被写体の選択でゲーム難易度を調整する構成とすることもできる。勿論、その場合でも、ゲームバランスを考慮して最も優先順位の高いＮＰＣ（例えば、上記実施形態で言うところの特殊敵ＮＰＣ３０）はその対象外とするのが好ましい。
【０１３７】
また、上記実施形態における第３の追加制御では、近接攻撃範囲３８に進入した特殊敵ＮＰＣの個体を新たな被写体とする構成としているが、判定対象に通常の敵ＮＰＣも対象に含めることもできる。また、進入を検知した場合に新たな被写体とする対象は、敵ＮＰＣの個体に限らず該当する敵ＮＰＣの属するグループとすることもできる。
例えば、ステップＳ６０とＳ６２の間に、近接攻撃範囲３８に存在する敵ＮＰＣの有無を判定するステップと、肯定判定の場合にはステップＳ６２〜Ｓ６６に代えて該当する敵ＮＰＣの敵グループを被写体グループとして更新するステップとを実行する構成が好適である。この場合、プレーヤキャラクタ２に肉薄した敵ＮＰＣを優先して画面に映し出すことができるのは勿論、その所属グループの様子までも画面に映すことができるので、プレーヤは肉薄した敵ＮＰＣへの対処が可能になるとともに、その機を利用してその所属グループの攻め寄り具合も知ることができる。
【図面の簡単な説明】
【０１３８】
【図１】ガンシューティングゲーム装置の構成例を説明するための外観図。
【図２】ゲーム画面の例を示す図。
【図３】プレーヤキャラクタと仮想カメラの相対位置関係を示す図。
【図４】ゲーム空間の構成例を説明するためのゲーム空間を俯瞰視した概略図。
【図５】撮影方向及び撮影画角の設定原理について説明するための図。
【図６】撮影方向及び撮影画角の設定原理について説明するための図。
【図７】撮影方向及び撮影画角の設定原理について説明するための図。
【図８】第１の追加制御について説明するための図であって、（ａ）ゲーム画面例を示す図、（ｂ）そのときの仮想カメラＣＭと被写体グループの敵ＮＰＣ４との相対関係を示す俯瞰視概略図。
【図９】第１の追加制御について説明するための図であって、（ａ）ゲーム画面例を示す図、（ｂ）そのときの仮想カメラＣＭと被写体グループの敵ＮＰＣ４との相対関係を示す俯瞰視概略図。
【図１０】第２の追加制御について説明するための図。
【図１１】第２の追加制御について説明するための図。
【図１２】第２の追加制御について説明するための図。
【図１３】第３の追加制御について説明するための図。
【図１４】機能構成例を示す機能ブロック図。
【図１５】キャラクタ初期設定データのデータ構成例を示す図。
【図１６】スクリプトデータのデータ構成例を示す図。
【図１７】攻撃優先順位設定データのデータ構成例を示す図。
【図１８】主たる処理の流れを説明するためのフローチャート。
【図１９】仮想カメラ自動制御処理の流れを説明するためのフローチャート。
【図２０】特殊カメラワーク制御処理の流れを説明するためのフローチャート。
【図２１】家庭用ゲーム装置の構成例を示す図。
【図２２】撮影画角に代えて撮影位置の変更を行う仮想カメラ制御の変形例を説明するための図。
【符号の説明】
【０１３９】
２  プレーヤキャラクタ
４  敵ＮＰＣ
５  特殊敵ＮＰＣ
６  照準
２０  ゲーム空間
２２  戦闘エリア
２４  敵グループ
３０  全撮影範囲
３２  メイン撮影範囲
３６  近接ＮＰＣ検索領域
３８  近接攻撃範囲
１００  操作入力部
２００  処理部
２１０  ゲーム演算部
２１２  照準位置判定部
２１４  ＰＣ（プレーヤキャラクタ）動作制御部
２１６  ＮＰＣ動作制御部
２１８  仮想カメラ自動制御部
５００  記憶部
５０４  ゲームプログラム
５０６  ＮＰＣ制御プログラム
５１０  ゲーム空間設定データ
５１２  戦闘エリア設定データ
５２０  撮影位置データ
５２２  キャラクタ初期設定データ
５２２ｂ  所属グループ
５２２ｃ  目標画角算出対象設定
５２４  スクリプトデータ
５２６  撮影画角設定データ
５２８  攻撃優先順位設定データ
５２８ｂ  対象グループ
５２８ｃ  撃破判定条件
５３０  キャラクタステータスデータ
５３２  メイン被写体設定データ
５３４  特殊カメラワーク制御データ
１１００  ガンシューティングゲーム装置
１１２２  画像表示装置
１１３０  ガン型コントローラ
１１５０  制御ユニット
１１５２  フラッシュメモリ
ＡＰ  撮影位置
ＣＭ  仮想カメラ
Ｇ    基準点
Ｇｓ  特別基準点
Ｌ    撮影方向
θ    撮影画角
【図１】
2010068882.tif 000003
【図２】
2010068882.tif 000004
【図３】
2010068882.tif 000005
【図４】
2010068882.tif 000006
【図５】
2010068882.tif 000007
【図６】
2010068882.tif 000008
【図７】
2010068882.tif 000009
【図８】
2010068882.tif 000010
【図９】
2010068882.tif 000011
【図１０】
2010068882.tif 000012
【図１１】
2010068882.tif 000013
【図１２】
2010068882.tif 000014
【図１３】
2010068882.tif 000015
【図１４】
2010068882.tif 000016
【図１５】
2010068882.tif 000017
【図１６】
2010068882.tif 000018
【図１７】
2010068882.tif 000019
【図１８】
2010068882.tif 000020
【図１９】
2010068882.tif 000021
【図２０】
2010068882.tif 000022
【図２１】
2010068882.tif 000023
【図２２】
2010068882.tif 000024