(57)【要約】【課題】演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることのできるゲーム装置等を提供する。【解決手段】着弾点選定部２５１は、自キャラクタを基準とした所定範囲内における地形上の着弾点を複数選定する。そして、基準高さ算定部２５２は、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する。候補特定部２５３は、順番に算定される当該基準高さと、対応する着弾点の高さとを順次比較し、当該基準高さよりも高さの低い着弾点を除いたものを、有効な着弾点として特定する。着弾点決定部２５４は、有効な着弾点のうちから、少なくとも１つの候補着弾点をランダムに決定する。そして、画像生成部２６０は、決定された候補着弾点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する。【選択図】図２
2011036503.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内において、敵キャラクタが自キャラクタに向けて移動体による攻撃を行うゲーム装置であって、
仮想空間内の地形を含むマップ情報を記憶するマップ情報記憶部と、
各キャラクタを含む各オブジェクトについての空間内における位置情報を管理する位置情報管理部と、
記憶される当該マップ情報、及び、管理される当該位置情報に基づいて、自キャラクタを基準とした所定範囲内におけるマップ上の目標点を複数選定する選定部と、
選定された当該各目標点について、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する算定部と、
順番に算定される当該基準高さと、対応する目標点の高さとを順次比較し、当該基準高さよりも高さの低い目標点を除いたものを、有効な目標点として特定する特定部と、
特定された当該目標点のうちから、少なくとも１つの目標点をランダムに決定する決定部と、
決定された当該目標点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する画像生成部と、を備える、
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記選定部は、敵キャラクタと自キャラクタとを結ぶ奥行き方向を基準として、水平方向の距離に応じてグループ分けした複数の目標点を選定し、
前記算定部は、選定されたグループ単位で各目標点を敵キャラクタとの距離の昇順にソートし、各グループの各目標点について、傾きに基づいた前記基準高さを順番に算定する、
ことを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置であって、
前記算定部は、各目標点について、地形上の高さを敵キャラクタからの奥行き方向の距離で除することにより敵キャラクタとを結ぶ直線の傾きを順番に算定し、それまでの傾きの最大値を、敵キャラクタとの軸方向の距離に乗じることにより求めた基準高さを順番に算定する、
ことを特徴とするゲーム装置。
【請求項４】
マップ情報記憶部、位置情報管理部、選定部、算定部、特定部、決定部、及び、画像生成部を有しており、仮想空間内において、敵キャラクタが自キャラクタに向けて移動体による攻撃を行うゲーム装置における画像生成方法であって、
前記マップ情報記憶部には、仮想空間内の地形を含むマップ情報が記憶されており、
前記位置情報管理部が、各キャラクタを含む各オブジェクトについての空間内における位置情報を管理する位置情報管理ステップと、
前記選定部が、記憶される当該マップ情報、及び、管理される当該位置情報に基づいて、自キャラクタを基準とした所定範囲内におけるマップ上の目標点を複数選定する選定ステップと、
前記算定部が、選定された当該各目標点について、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する算定ステップと、
前記特定部が、順番に算定される当該基準高さと、対応する目標点の高さとを順次比較し、当該基準高さよりも高さの低い目標点を除いたものを、有効な目標点として特定する特定ステップと、
前記決定部が、特定された当該目標点のうちから、少なくとも１つの目標点をランダムに決定する決定ステップと、
前記画像生成部が、決定された当該目標点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する画像生成ステップと、を備える、
ことを特徴とする画像生成方法。
【請求項５】
仮想空間内において、敵キャラクタが自キャラクタに向けて移動体による攻撃を行うコンピュータを、
仮想空間内の地形を含むマップ情報を記憶するマップ情報記憶部、
各キャラクタを含む各オブジェクトについての空間内における位置情報を管理する位置情報管理部、
記憶される当該マップ情報、及び、管理される当該位置情報に基づいて、自キャラクタを基準とした所定範囲内におけるマップ上の目標点を複数選定する選定部、
選定された当該各目標点について、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する算定部、
順番に算定される当該基準高さと、対応する目標点の高さとを順次比較し、当該基準高さよりも高さの低い目標点を除いたものを、有効な目標点として特定する特定部、
特定された当該目標点のうちから、少なくとも１つの目標点をランダムに決定する決定部、
決定された当該候補目標点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する画像生成部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることのできるゲーム装置、画像生成方法、および、プログラムに関する。
【背景技術】
【０００２】
従来より、ゲーム装置（ビデオゲーム装置等）にて、アクションゲームやスポーツゲームといった体感型のゲームが人気を博している。このようなアクションゲーム等では、緊迫感やリアリティを高めるため、ゲームの進行に伴う様々な状況の変化を瞬時（リアルタイム）に表現している。
例えば、敵味方に分かれたキャラクタが銃撃戦を行うようなアクションゲーム（シューティングゲーム等）では、敵キャラクタから発砲された弾丸が自キャラクタ（プレイヤキャラクタ）の近傍に着弾する等により、緊迫感を高めている。
【０００３】
このようなゲーム装置の一例として、着弾位置の遠近に応じて着弾音を変え、また、銃弾が近くを通過した際には、風切音を出力する対戦式ビデオゲーム装置の技術も開示されている（例えば、特許文献１参照）。
また、本願出願人によるゲーム装置の技術であって、自キャラクタを含む視野内に着弾点を適宜選定し、当該着弾点に向けた発砲を行わせることで、自キャラクタの近傍に着弾する画像を生成する技術も開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−５２２４３号公報  （第３−１０頁、第３図）
【特許文献２】特開２００９−１３１３０９号公報  （第６−１２頁、第２図）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したような銃撃戦を行うアクションゲーム（ゲーム装置）では、着弾によって、緊迫感を高めるだけでなく、自キャラクタの存在が敵キャラクタに察知されたことや、敵キャラクタの射程内に入ったこと、更に、敵キャラクタのおおよその位置（方向等）をプレイヤに知らせる役目も果たしている。
例えば、ゲーム中の画像（ゲーム画像）において、自キャラクタの前方（視界が自キャラクタの前方）に、敵キャラクタが見えない（存在しない）状況であっても、着弾（跳弾や塵等の巻き上がり等）によって、背後や側面から敵キャラクタに狙われていることを、プレイヤは知ることができる。
そのため、上述した特許文献２の技術（発明）では、自キャラクタの近傍に適切に着弾させることにより、緊迫感を高めると共に、攻撃してきた敵キャラクタの位置等をプレイヤに知らせることができる。
【０００６】
しかしながら、特許文献２の技術は、演算能力が比較的高いゲーム装置にしか適用することができなかった。具体的に説明すると、特許文献２の技術では、着弾点を選定する際に、各着弾点に対して着弾可能かどうかをそれぞれ判別している。つまり、敵キャラクタと着弾点とを結ぶ直線上において、障害物との衝突判定（いわゆる、ラインチェック）を行っていた。
そのため、例えば、携帯型のゲーム装置等のような演算能力が比較的低いものには、処理負荷が高くなって（速度が遅くなって）しまい、特許文献２の技術が使用できない場合が多かった。
このような特許文献２の技術が使用できない携帯型のゲーム装置等では、従来通りに、例えば、自キャラクタの直前や直後というようないつも決まった位置（自キャラクタを基準として相対的に同じ位置）に着弾するように制御することになる。そのため、着弾が近傍になされたとしても、単調となってしまい、プレイヤに緊迫感を与えられないおそれが大きかった。
【０００７】
このようなことから、演算能力が比較的小さい携帯型のゲーム装置等でも、敵キャラクタから発砲された弾丸等を効果的に着弾させることの技術が求められていた。
【０００８】
本発明は、このような課題を解決するためになされたもので、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることのできるゲーム装置、画像生成方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の観点に係るゲーム装置は、仮想空間内において、敵キャラクタが自キャラクタに向けて移動体（例えば、発射された弾丸、投じられた槍や石、射られた矢等であり、飛翔体や被射出体などと称されるものも含む）による攻撃を行うゲーム装置であって、マップ情報記憶部、位置情報管理部、選定部、算定部、特定部、決定部、及び、画像生成部を含んで構成される。
【００１０】
まず、マップ情報記憶部は、仮想空間内の地形を含むマップ情報を記憶する。また、選定部は、記憶される当該マップ情報、及び、管理される当該位置情報に基づいて、自キャラクタを基準とした所定範囲内におけるマップ上の目標点（例えば、着弾点となり得る地点）を複数選定する。そして、算定部は、選定された当該各目標点について、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する。
一方、特定部は、順番に算定される当該基準高さと、対応する目標点の高さとを順次比較し、当該基準高さよりも高さの低い目標点を除いたものを、有効な目標点として特定する。また、決定部は、特定された当該目標点のうちから、少なくとも１つの目標点をランダムに決定する。そして、画像生成部は、決定された当該候補目標点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する。
【００１１】
すなわち、各目標点について、敵キャラクタとの距離が近い順番に算定される基準高さ（それまでの傾きの最大値に基づいた基準となる高さ）を求め、この基準高さよりも目標点の高さが低い場合には、途中の地形等に遮られて移動体が到達しないことになる。そのため、そのような高さの目標点を除いた有効な目標点の中から、少なくとも１つの目標点を決定することで、自キャラクタの近傍に向けて攻撃されるゲーム画像が生成されることになる。
このような処理において、順番に算定された基準高さと、目標点の高さとを順次比較するだけで、不要な（対象とならない）目標点を候補から外すことができるため、演算負荷が小さく、また、演算が高速に行われることになる。
この結果、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることができる。
【００１２】
選定部は、敵キャラクタと自キャラクタとを結ぶ奥行き方向を基準として、水平方向の距離に応じてグループ分けした複数の目標点を選定し、
算定部は、選定されたグループ単位で各目標点を敵キャラクタとの距離の昇順にソートし、各グループの各目標点について、傾きに基づいた基準高さを順番に算定してもよい。
この場合、グループ分けされた各目標点について、傾きに基づいた基準高さを順番に算定するため、グループ毎に、例えば、弾道方向に沿った基準高さをそれぞれ順番に求めることができる。
【００１３】
算定部は、各目標点について、地形上の高さを敵キャラクタからの奥行き方向の距離で除することにより敵キャラクタとを結ぶ直線の傾きを順番に算定し、それまでの傾きの最大値を、敵キャラクタとの軸方向の距離に乗じることにより求めた基準高さを順番に算定してもよい。
この場合、各目標点について、傾きに基づいた基準高さををそれぞれ適切に求めることができる。
【００１４】
本発明の第２の観点に係る画像生成方法は、マップ情報記憶部、位置情報管理部、選定部、算定部、特定部、決定部、及び、画像生成部を有しており、仮想空間内において、敵キャラクタが自キャラクタに向けて移動体（例えば、発射された弾丸、投じられた槍や石、射られた矢等であり、飛翔体や被射出体などと称されるものも含む）による攻撃を行うゲーム装置における画像生成方法であって、マップ情報記憶部には、仮想空間内の地形を含むマップ情報が記憶されており、位置情報管理ステップ、選定ステップ、算定ステップ、特定ステップ、決定ステップ、及び、画像生成ステップを含んで構成される。
【００１５】
まず、選定ステップでは、記憶される当該マップ情報、及び、管理される当該位置情報に基づいて、自キャラクタを基準とした所定範囲内におけるマップ上の目標点（例えば、着弾点となり得る地点）を複数選定する。また、算定ステップでは、選定された当該各目標点について、敵キャラクタとの距離が近い順に、敵キャラクタとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する。
一方、特定ステップでは、順番に算定される当該基準高さと、対応する目標点の高さとを順次比較し、当該基準高さよりも高さの低い目標点を除いたものを、有効な目標点として特定する。また、決定ステップでは、特定された当該目標点のうちから、少なくとも１つの目標点をランダムに決定する。そして、画像生成ステップでは、決定された当該目標点に向けて移動体により攻撃される自キャラクタを含むゲーム画像を生成する。
【００１６】
すなわち、各目標点について、敵キャラクタとの距離が近い順番に算定される基準高さ（それまでの傾きの最大値に基づいた基準となる高さ）を求め、この基準高さよりも目標点の高さが低い場合には、途中の地形等に遮られて移動体が到達しないことになる。そのため、そのような高さの目標点を除いた有効な目標点の中から、少なくとも１つの目標点を決定することで、自キャラクタの近傍に向けて攻撃されるゲーム画像が生成されることになる。
このような処理において、順番に算定された基準高さと、目標点の高さとを順次比較するだけで、不要な（対象とならない）目標点を候補から外すことができるため、演算負荷が小さく、また、演算が高速に行われることになる。
この結果、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることができる。
【００１７】
本発明の第３の観点に係るプログラムは、コンピュータ（電子機器を含む。）を、上記のゲーム装置として機能させるように構成する。
【００１８】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００１９】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２０】
本発明によれば、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る情報処理装置の概要構成を示すブロック図である。
【図２】本発明の実施形態に係るゲーム装置の概要構成を示すブロック図である。
【図３】（ａ）〜（ｃ）全て、選定される各着弾地点を説明するための模式図である。
【図４】（ａ）が各着弾地点のグループ化を説明するための模式図であり、（ｂ）が傾きの求め方を説明するための模式図であり、（ｃ）が基準高さの求め方を説明するための模式図である。
【図５】（ａ）〜（ｄ）全て、各着弾点の関係を説明するための模式図である。
【図６】描画されるゲーム画像の一例を示す模式図である。
【図７】本発明の実施形態に係る着弾処理の一例を示すフローチャートである。
【図８】本発明の他の実施形態に係るゲーム装置の概要構成を示すブロック図である。
【図９】（ａ）が仰角を説明するための模式図であり、（ｂ）が俯角を説明するための模式図であり、（ｃ）が角度の求め方を説明するための模式図である。
【図１０】（ａ）〜（ｄ）全て、各着弾点の関係を説明するための模式図である。
【図１１】（ａ）〜（ｃ）全て、各着弾点の関係を説明するための模式図である。
【発明を実施するための形態】
【００２２】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００２３】
図１は、本発明の実施の形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示すブロック図である。以下、本図を参照して説明する。
【００２４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ（Digital Versatile Disk）−ＲＯＭドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００２５】
なお、ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００２６】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００２７】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００２８】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００２９】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。たとえば、コントローラ１０５は、操作入力に従って、文字列（メッセージ）等の入力を受け付ける。
【００３０】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３１】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３２】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３３】
なお、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３４】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００３５】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００３６】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００３７】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【００３８】
また、本実施形態の情報処理装置１００にかえて、一般的なコンピュータ（汎用のパーソナルコンピュータ等）をゲーム装置として利用することもできる。たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、ゲーム装置として機能する。
【００３９】
（ゲーム装置の概要構成）
図２は、本実施形態に係るゲーム装置の概要構成を示すブロック図である。このゲーム装置は、一例として、敵味方に分かれたキャラクタが銃撃戦を行うようなアクションゲーム（シューティングゲーム等）において、効果的な着弾を表現する装置である。また、ゲームにおいて、一例として、自キャラクタ（プレイヤキャラクタ）を眺める三人称視点（第三者視点）のゲーム画像が生成されるものとする。以下、本図を参照して説明する。
【００４０】
図示するように、ゲーム装置２００は、マップ情報記憶部２１０と、オブジェクト情報記憶部２２０と、操作受付部２３０と、位置管理部２４０と、着弾演算部２５０と、画像生成部２６０とを備えて構成される。
【００４１】
まず、マップ情報記憶部２１０は、ゲームの仮想空間内に規定されたマップ情報を記憶する。例えば、マップ情報記憶部２１０は、地面や樹木等の配置を含む地形や、建物等の建造物の配置を規定するマップ情報を記憶する。このマップ情報には、地形や建築物等の高さを含む情報が含まれているものとする。
なお、上述したＤＶＤ−ＲＯＭドライブ１０７に装填される装着されるＤＶＤ−ＲＯＭや、ＲＡＭ  １０３等が、このようなマップ情報記憶部２１０として機能しうる。
【００４２】
オブジェクト情報記憶部２２０は、仮想空間内に配置される各種オブジェクトの情報を記憶する。例えば、オブジェクト情報記憶部２２０は、自キャラクタ、敵キャラクタといった各種オブジェクトについての情報を記憶する。このオブジェクト情報には、各オブジェクトについての３次元モデルやテクスチャ等の情報が含まれているものとする。また、敵キャラクタには、例えば、敵兵のキャラクタだけでなく、敵戦車等のメカキャラクタも含まれている。
なお、上述したＤＶＤ−ＲＯＭドライブ１０７に装填される装着されるＤＶＤ−ＲＯＭや、ＲＡＭ  １０３等が、このようなオブジェクト情報記憶部２２０として機能しうる。
【００４３】
操作受付部２３０は、プレイヤが操る自キャラクタに対する動作指示等の操作入力を受け付ける。例えば、操作受付部２３０は、所定方向に移動する、銃を構える、銃を発砲する、しゃがむ、伏せる等の動作に対応した複数のボタン（一例として、コントローラ１０５に配置された方向キー，Ａボタン，Ｂボタン，Ｘボタン，Ｙボタン等）の何れかがプレイヤにより押下されることによって、自キャラクタに向けた操作入力を受け付ける。
なお、上述したコントローラ１０５がこのような操作受付部２３０として機能しうる。
【００４４】
位置管理部２４０は、自キャラクタや敵キャラクタといった仮想空間内で位置が変化するオブジェクトの位置情報（高さ等を含む現在位置や向き等）を管理する。例えば、自キャラクタは、操作受付部２３０によって受け付けた移動指示等に従って、仮想空間内の位置や向きが変化するため、位置管理部２４０にてその位置情報が管理される。また、敵キャラクタも所定のロジックに従って適宜移動し、仮想空間内の位置等が変化するため、同様に位置情報が管理される。
なお、上述したＲＡＭ  １０３及びＣＰＵ  １０１が、このような位置管理部２４０として機能しうる。
【００４５】
着弾演算部２５０は、敵キャラクタからの発砲等を制御し、この発砲に伴う弾丸の着弾について、種々の演算を行う。
具体的に着弾演算部２５０は、着弾点選定部２５１と、基準高さ算定部２５２と、候補特定部２５３と、着弾点決定部２５４とを含んで構成される。
【００４６】
まず、着弾点選定部２５１は、自キャラクタを基準とした所定範囲内におけるマップ上の着弾点を複数選定する。
例えば、着弾点選定部２５１は、図３（ａ）に示すように、自キャラクタＪｃの周囲の所定範囲内に、複数の着弾点Ｐを所定数選定する。これら各着弾点Ｐの位置は、ランダムに選定してもよく、また、所定の規則に従って選定してもよい。
なお、図３（ａ）では、説明を分かり易くするために、地形等のマップが平坦な場合を示しているが、実際には、起伏の激しいマップも含まれるため、その場合、図３（ｂ）に示すように、高低差のある着弾点Ｐがそれぞれ選定されるものとする。
また、着弾点選定部２５１は、各着弾点Ｐを敵キャラクタＴｃ（攻撃を行う敵キャラクタ）の方向に沿って、グループ分けする。
例えば、着弾点選定部２５１は、図３（ｃ）に示すように、各着弾点Ｐを、敵キャラクタＴｃと自キャラクタＪｃとを結ぶ奥行き方向を基準として、水平方向の距離に応じて適宜グループ分けする。この図では、一例として、４つのグループＧ１〜Ｇ４に各着弾点Ｐをグループ分けする場合を示している。なお、グループ分けする範囲設定や、グループ数は任意であり、ゲーム状況や場面等に応じて適宜変更可能である。
【００４７】
図２に戻って、基準高さ算定部２５２は、上述した着弾点選定部２５１により選定された各着弾点について、傾きに基づいた基準高さを順番に算定する。
例えば、基準高さ算定部２５２は、図４（ａ）に示すように、各グループＧ単位（Ｇ１〜Ｇ４）に、各着弾点Ｐを敵キャラクタＴｃとの距離の昇順にソートする。つまり、敵キャラクタＴｃとの距離が近い順に、着弾点Ｐ１，Ｐ２、Ｐ３、・・・、Ｐｎと並べる。
そして、基準高さ算定部２５２は、各着弾点Ｐ（Ｐ１〜Ｐｎ）について、敵キャラクタＴｃとを結ぶ直線の傾きを順次求め、それまでの傾きの最大値に基づいた基準高さを順番に算定する。
具体的に、基準高さ算定部２５２は、まず、下記の数式１を用いて、敵キャラクタＴｃと着弾点Ｐとを結ぶ直線の傾きを求める。
【００４８】
［数１］
ΔＴ  ＝  ｈ ／ ｚ
ΔＴ：敵キャラクタとを結ぶ直線の傾き
ｈ：着弾点のマップ上の高さ
ｚ：敵キャラクタとの軸上の距離
【００４９】
つまり、図４（ｂ）に示すように、敵キャラクタＴｃと着弾点Ｐとを結ぶ直線、つまり、弾道の傾きΔＴを求める。基準高さ算定部２５２は、各グループＧ単位に、このような傾きΔＴを、各着弾点Ｐ（Ｐ１〜Ｐｎ）について順番に求めていく。
【００５０】
また、基準高さ算定部２５２は、下記の数式２を用いて、着弾点Ｐの高さと比較するための基準高さを求める。
【００５１】
［数２］
Ｋｈ  ＝  ΔＴmax × ｚ
Ｋｈ：基準高さ
ΔＴmax：それまでの傾きの最大値
ｚ：敵キャラクタとの軸上の距離
【００５２】
例えば、図４（ｃ）に示すように、それまでの傾きの最大値ΔＴmax（図中のΔＴ１：着弾点Ｐ１の傾き）に、着弾点Ｐ２までの軸上の距離ｚ２を乗じて、基準高さＫｈ２を算定する。
この基準高さＫｈ２は、それまでの傾きの最大値である着弾点Ｐ１の弾道を、着弾点Ｐ２まで延ばした場合の高さとなる。基準高さ算定部２５２は、各グループＧ単位に、このような基準高さＫｈを、各着弾点Ｐ（Ｐ１〜Ｐｎ）について順番に算出していく。
【００５３】
図２に戻って、候補特定部２５３は、上述した基準高さ算定部２５２により順番に算定される基準高さと着弾点Ｐの高さを比較して、候補となる着弾点を特定する。
例えば、候補特定部２５３は、順番に算定される基準高さと、対応する着弾点の高さとを比較して、基準高さよりも高さの低い着弾点を除いたものを、候補着弾点として特定する。
具体的に、図５（ａ）に示すように、着弾点Ｐ１〜Ｐｎの順に傾きΔＴ（ΔＴ１〜ΔＴｎ）が算定される場合を一例として説明する。
候補特定部２５３は、まず、図５（ｂ）に示すように、最初の着弾点Ｐ１を候補（候補着弾点ＫＰ１）として特定すると共に、その傾きΔＴ１をそのまま最大値として管理し、この最大値（つまり、傾きΔＴ１）を用いて算出した次の着弾点Ｐ２の基準高さＫｈ２と、その着弾点Ｐ２の高さｈ２（実際の高さ）とを比較する。
そして、高さｈ２の方が基準高さＫｈ２よりも大きい場合（ｈ２＞Ｋｈ２）に、候補特定部２５３は、候補着弾点ＫＰ２として特定すると共に、その傾きΔＴ２を最大値として管理する。
【００５４】
この状態で、候補特定部２５３は、図５（ｃ）に示すように、現在の最大値（つまり、傾きΔＴ２）を用いて算出した次の着弾点Ｐ３の基準高さＫｈ３と、その着弾点Ｐ３の高さｈ３とを比較する。
そして、高さｈ３が基準高さＫｈ２以下の場合（ｈ３≦Ｋｈ３）に、候補特定部２５３は、着弾点Ｐ３を特定することなく候補から外す。つまり、図５（ｄ）に示すように、着弾点Ｐ３は、マップの制約から、銃弾が到達しない（着弾点Ｐ２を超えられない）ため、候補から外されることになる。なお、この場合、傾きの最大値は、傾きΔＴ２のまま維持される。
【００５５】
候補特定部２５３は、このような比較を、着弾点Ｐｎまで行い、マップの制約から銃弾が到達しない着弾点を除いて、着弾可能となる候補着弾点（有効な着弾点）を特定する。なお、候補特定部２５３は、このような候補着弾点の特定をグループ単位にそれぞれ行う。そして、候補特定部２５３は、特定した候補着弾点を、例えば、候補リストに登録する。
【００５６】
図２に戻って、着弾点決定部２５４は、上述した候補特定部２５３により特定された候補着弾点のうち、自キャラクタＪｃとの距離が一定距離以内の候補着弾点をランダムに決定する。
例えば、着弾点決定部２５４は、候補リストに登録された候補着弾点のうちで、更に、自キャラクタＪｃとの距離が一定距離以内（一例として、仮想空間内の距離で４．５ｍ以内）となる候補着弾点の中から、実際に着弾させる１つの着弾点候補をランダムに決定する。
なお、敵キャラクタＴｃの銃が連射可能なマシンガン等であり、同時期に複数（例えば、２つ）着弾させる場合には、着弾点決定部２５４は、複数（例えば、２つ）の候補着弾点をランダムに決定するようにしてもよい。
【００５７】
このような構成の着弾演算部２５０は、順番に算定された基準高さと着弾点の高さとを順次比較するだけで、不要な（着弾しない）着弾点を候補から外すことができるため、演算負荷が小さく、また、演算が高速に行われることになる。
なお、ＣＰＵ  １０１等が、このような着弾演算部２５０として機能しうる。
【００５８】
画像生成部２６０は、マップ情報記憶部２１０に記憶されたマップ情報、オブジェクト情報記憶部２２０に記憶されたオブジェクトの情報、及び、位置管理部２４０に管理されるキャラクタの位置情報等に従って、仮想空間内（視界内）のオブジェクトを、視点座標系に変換したゲーム画像（表示画像）を描画する。
例えば、敵キャラクタＴｃから発砲がなされ、上述した着弾演算部２５０により１つの着弾点が決定されると、画像生成部２６０は、自キャラクタＪｃの近傍（視界内）に着弾する様子を示すゲーム画像を生成する。
具体的に画像生成部２６０は、図６のように、着弾点Ｐ４に向けて発砲された弾丸が自キャラクタＪｃの近傍に着弾する様子を示すゲーム画像を表示する。なお、この着弾点Ｐ４は説明のためのものであり、実際のゲーム画像には表示されない。
なお、画像処理部１０８が、このような画像生成部２６０として機能しうる。
【００５９】
（ゲーム装置の動作）
図７は、上述した構成のゲーム装置２００において実行される着弾処理の流れを示すフローチャートである。以下、本図を参照してゲーム装置２００の動作について説明する。この着弾処理は、ゲーム実行中において、敵キャラクタＴｃにより発砲される度に、繰り返し実行される。なお、着弾処理の開始時において、候補リストは、クリアされている（何も登録されていない）ものとする。
【００６０】
まず、ゲーム装置２００は、マップ上の着弾点を複数選定する（ステップＳ３０１）。
すなわち、着弾点選定部２５１は、自キャラクタＪｃを基準とした所定範囲内におけるマップ上の着弾点を複数選定する。つまり、着弾点選定部２５１は、上述した図３（ａ），（ｂ）に示すように、自キャラクタＪｃの周囲の所定範囲内に、複数の着弾点Ｐを所定数選定する。
また、着弾点選定部２５１は、上述した図３（ｃ）に示すように、各着弾点Ｐを、水平方向の距離に応じて、例えば、グループＧ１〜Ｇ４にグループ分けする。
【００６１】
ゲーム装置２００は、１つのグループの各着弾点について、傾きに基づいた基準高さを順番に算定する（ステップＳ３０２）。
例えば、基準高さ算定部２５２は、上述した図４（ａ）に示すように、グループ内の各着弾点Ｐを敵キャラクタＴｃとの距離の昇順にソートする。そして、上述した数式１，２を用いて、傾きに基づいた基準高さを順番に算定する。
すなわち、基準高さ算定部２５２は、数式１を用いて、上述した図４（ｂ）に示すように、弾道の傾きΔＴを求める。つまり、基準高さ算定部２５２は、このような傾きΔＴを、各着弾点Ｐ１〜Ｐｎの順番に求めていく。
また、基準高さ算定部２５２は、数式２を用いて、上述した図４（ｃ）に示すような基準高さＫｈ（図中では、基準高さＫｈ２）を、順番に算定する。つまり、このような基準高さＫｈを、グループ内で、敵キャラクタＴｃとの距離が近い順に算定する。
【００６２】
ゲーム装置２００は、順番に算定される基準高さと着弾点の高さを比較して、候補となる（有効となる）着弾点を特定する（ステップＳ３０３）。
例えば、候補特定部２５３は、上述した図５（ｂ）に示すように、最初の着弾点Ｐ１を候補（候補着弾点ＫＰ１）として特定すると共に、その傾きΔＴ１をそのまま最大値として管理し、この最大値を用いて算出した次の着弾点Ｐ２の基準高さＫｈ２と、その着弾点Ｐ２の高さｈ２とを比較する。そして、高さｈ２の方が基準高さＫｈ２よりも大きい場合（ｈ２＞Ｋｈ２）に、候補特定部２５３は、候補着弾点ＫＰ２として特定すると共に、その傾きΔＴ２を最大値として管理する。
更に、候補特定部２５３は、図５（ｃ）に示すように、現在の傾きの最大値（ΔＴ２）を用いて算出した次の着弾点Ｐ３の基準高さＫｈ３と、その着弾点Ｐ３の高さｈ３とを比較し、高さｈ３が基準高さＫｈ３以下の場合（ｈ３≦Ｋｈ３）に、着弾点Ｐ３を特定することなく候補から外す。つまり、上述した図５（ｄ）に示すように、着弾点Ｐ３は、マップの制約から、銃弾が到達しないため、候補から外される。
候補特定部２５３は、このような比較を、着弾点Ｐｎまで行い、マップの制約から銃弾が到達しない着弾点を除いて、着弾可能となる候補着弾点を特定する。
【００６３】
ゲーム装置２００は、全グループについて処理が終わったか否かを判別する（ステップＳ３０４）。つまり、上述した候補特定部２５３が、最後のグループについて、候補着弾点の特定を終えたかどうかを判別する。
ゲーム装置２００は、全グループについての処理が終わっていないと判別すると（ステップＳ３０４；Ｎｏ）、ステップＳ３０２に処理を戻し、上述したステップＳ３０２〜Ｓ３０４の処理を繰り返し実行する。
【００６４】
一方、全グループについての処理が終わったと判別した場合（ステップＳ３０４；Ｙｅｓ）に、ゲーム装置２００は、特定された候補着弾点の中から、１つの候補着弾点を決定する（ステップＳ３０５）。
例えば、着弾点決定部２５４は、候補リストに登録された候補着弾点のうちで、更に、自キャラクタＪｃとの距離が一定距離以内となる候補着弾点の中から、実際に着弾させる１つの着弾点候補をランダムに決定する。
なお、同時期に複数（例えば、２つ）着弾させる場合には、着弾点決定部２５４は、複数（例えば、２つ）の候補着弾点をランダムに決定するようにしてもよい。
【００６５】
ゲーム装置２００は、決定した候補着弾点に向けて発砲する画像を生成する（ステップＳ３０６）。
すなわち、画像生成部２６０は、上述した図６に示すような自キャラクタＪｃの近傍に着弾する様子を示すゲーム画像を生成する。
【００６６】
このような着弾処理によって、各着弾点について、敵キャラクタとの距離が近い順番に算定される基準高さ（それまでの傾きの最大値に基づいた基準となる高さ）を求め、この基準高さよりも着弾点の高さが低い場合には、途中の地形等に遮られて移動体が到達しないことになる。そのため、そのような高さの着弾点を除いた有効な着弾点の中から、少なくとも１つの着弾点を決定することで、自キャラクタＪｃの近傍に向けて攻撃されるゲーム画像が生成されることになる。
このような処理において、順番に算定された基準高さと、着弾点の高さとを順次比較するだけで、不要な（着弾しない）着弾点を候補から外すことができるため、演算負荷が小さく、また、演算が高速に行われることになる。
この結果、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることができる。
【００６７】
（他の実施形態）
上記の実施形態では、傾きに基づいた基準高さを順番に算定し、この基準高さと着弾点の高さとの関係に基づいて、マップの制約から不要な（着弾しない）着弾点を候補から外す場合について説明した。
このような手法に限られず、他の手法により、マップの制約から不要となる着弾点を候補から外すようにしてもよい。例えば、敵キャラクタから各着弾点への仰俯角をそれぞれ求め、各仰俯角の関係に基づいて、不要な着弾点を候補から外してもよい。
以下、仰俯角を求めることを特徴とする本願発明の他の実施形態について、図面を参照して説明する。
【００６８】
図８は、他の実施形態に係るゲーム装置の概要構成を示すブロック図である。このゲーム装置４００は、マップ情報記憶部２１０と、オブジェクト情報記憶部２２０と、操作受付部２３０と、位置管理部２４０と、着弾演算部４５０と、画像生成部２６０とを備えて構成される。
【００６９】
つまり、上述した図２に示すゲーム装置２００の着弾演算部２５０を着弾演算部４５０に置き換えた構成となっている。
なお、マップ情報記憶部２１０〜位置管理部２４０、及び、画像生成部２６０は、ゲーム装置２００の構成と同様である。
【００７０】
着弾演算部４５０は、着弾点選定部２５１と、仰俯角算定部４５２と、候補特定部２５３と、着弾点決定部２５４とを含んで構成される。
つまり、ゲーム装置２００（着弾演算部２５０）の基準高さ算定部２５２を仰俯角算定部４５２に置き換えた構成となっている。
なお、着弾点選定部２５１、候補特定部２５３、及び、着弾点決定部２５４は、ゲーム装置２００（着弾演算部２５０）の構成と同様である。
【００７１】
仰俯角算定部４５２は、着弾点選定部２５１により選定された各着弾点について、敵キャラクタを基準として各着弾点までの仰角、若しくは、俯角を順番に算定する。
例えば、仰俯角算定部４５２は、図９（ａ），（ｂ）に示すように、敵キャラクタＴｃの水平面ＨＯを基準として着弾点までの上下方向の角度を求める。つまり、図９（ａ）に示すように、敵キャラクタＴｃよりも着弾点Ｐが上方に存在している場合、仰俯角算定部２５２は、仰角となるθを算定する。一方、図９（ｂ）に示すように、敵キャラクタＴｃよりも着弾点Ｐが下方に存在している場合、仰俯角算定部２５２は、俯角となる−θを算定する。
具体的に、仰俯角算定部４５２は、図９（ｃ）に示すように、三角関数により、各着弾点の仰俯角を順番に算定する。
【００７２】
候補特定部２５３は、上述した仰俯角算定部４５２により順番に算定される各仰俯角の関係に従って、候補となる着弾点を特定する。
例えば、候補特定部２５３は、順番に算定される仰俯角の最高値よりも低くなった着弾点を除いたものを、候補着弾点として特定する。
具体的に、図１０（ａ）に示すように、着弾点Ｐ１〜Ｐｎの順に仰俯角（−θ１〜θｎ）が算定される場合を一例として説明する。
候補特定部２５３は、まず、図１０（ｂ）に示すように、最初の着弾点Ｐ１を候補（候補着弾点ＫＰ１）として特定すると共に、その俯角−θ１を最高値として管理し、この最高値（つまり、俯角−θ１）と次の着弾点Ｐ２の俯角−θ２とを比較する。
そして、俯角−θ２の方が最高値よりも大きい場合（−θ１＜−θ２）に、候補特定部２５３は、候補着弾点ＫＰ２として特定すると共に、俯角−θ２を最高値として管理する。
【００７３】
この状態で、候補特定部２５３は、図１０（ｃ）に示すように、現在の最高値（つまり、俯角−θ２）と次の着弾点Ｐ３の俯角−θ３とを比較する。
そして、俯角−θ３が最高値以下の場合（−θ２≧−θ３）に、候補特定部２５３は、着弾点Ｐ３を特定することなく候補から外す。つまり、図１０（ｄ）に示すように、着弾点Ｐ３は、マップの制約から、銃弾が到達しない（着弾点Ｐ２を超えられない）ため、候補から外されることになる。
【００７４】
更に、候補特定部２５３は、図１１（ａ）に示すように、現在の最高値（つまり、俯角−θ２）と次の着弾点Ｐ４の仰角θ４とを比較する。
そして、仰角θ４の方が最高値よりも大きい場合（−θ２＜θ４）に、候補特定部２５３は、候補着弾点ＫＰ４として特定すると共に、仰角θ４を最高値として管理する。
【００７５】
この状態で、候補特定部２５３は、図１１（ｂ）に示すように、現在の最高値（つまり、仰角θ４）と次の着弾点Ｐ５の仰角θ５とを比較する。
そして、仰角θ５が最高値以下の場合（θ４≧θ５）に、候補特定部２５３は、着弾点Ｐ５を特定することなく候補から外す。つまり、図１１（ｃ）に示すように、着弾点Ｐ５は、マップの制約から、銃弾が到達しない（着弾点Ｐ４を超えられない）ため、候補から外されることになる。
【００７６】
候補特定部２５３は、このような比較を、着弾点Ｐｎまで行い、マップの制約から銃弾が到達しない着弾点を除いて、着弾可能となる候補着弾点を特定する。なお、候補特定部２５３は、このような候補着弾点の特定をグループ単位にそれぞれ行う。
【００７７】
上記と同様に着弾点決定部２５４は、候補特定部２５３により特定された候補着弾点のうち、自キャラクタＪｃとの距離が一定距離以内の候補着弾点をランダムに決定する。
【００７８】
そして、画像生成部２６０も上記と同様に仮想空間内（視界内）のオブジェクトを、視点座標系に変換したゲーム画像（表示画像）を描画する。
【００７９】
このようなゲーム装置４００でも、各着弾点について、敵キャラクタとの位置が近い順番に算定された仰俯角が、それまでの最高値よりも小さい場合には、マップの制約から着弾しないと考えられる。そのため、そのような状況の着弾点を除いた各候補着弾点から、ランダムに決定された候補着弾点に向けて攻撃されるゲーム画像が生成されることになる。
このような処理において、算定された仰俯角を最高値と比較するだけで、不要な（着弾しない）着弾点を候補から外すことができるため、演算負荷が小さく、また、演算が高速に行われることになる。
この結果、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることができる。
【００８０】
上記の実施形態では、敵キャラクタから銃弾（弾丸）が発せられる場合を一例として説明したが、このような銃弾に限られず、投じられた槍や石、射られた矢等のような種々の移動体（飛翔体や被射出体などと称されるものも含む）についても、適宜適用可能である。
【産業上の利用可能性】
【００８１】
以上説明したように、本発明によれば、演算負荷を軽減させつつ、攻撃を受ける際の緊迫感を適切に高めることのできるゲーム装置、画像生成方法、および、プログラムを提供することができる。
【符号の説明】
【００８２】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００、４００  ゲーム装置
２１０  マップ情報記憶部
２２０  オブジェクト情報記憶部
２３０  操作受付部
２４０  位置管理部
２５０，４５０  着弾演算部
２６０  画像生成部
【図１】
2011036503.tif 000003
【図２】
2011036503.tif 000004
【図３】
2011036503.tif 000005
【図４】
2011036503.tif 000006
【図５】
2011036503.tif 000007
【図６】
2011036503.tif 000008
【図７】
2011036503.tif 000009
【図８】
2011036503.tif 000010
【図９】
2011036503.tif 000011
【図１０】
2011036503.tif 000012
【図１１】
2011036503.tif 000013