(57)【要約】【課題】シューティングゲームの興趣性を高めること。【解決手段】例えば一人称視点のガンシューティングゲームにおいて、プレーヤが射撃操作を行うと、プレーヤキャラクタの銃１２から弾丸１４が発射される。発射された弾丸１４が敵キャラクタ２０に命中すると、該敵キャラクタ２０に所定のダメージが与えられるとともに、この弾丸１４が跳ね返り（跳弾）、近傍の他のオブジェクト（木箱３２）に命中し、このダメージによって破壊される。【選択図】図４
2010072768.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）と言った通信回線Ｎと接続して外部装置との間でデータ通信を実現する通信装置１２１４を備える。
【０１３４】
ゲームコントローラ１２３０は、選択の決定やキャンセル、タイミングの入力などに用いられるプッシュボタン１２３２と、上下左右の各方向を単独入力するための方向キー１２３４と、右アナログレバー１２３６Ｒと、左アナログレバー１２３６Ｌとを備える。ガンシューティングゲームを実行する場合では、プッシュボタン１２３２でプレーヤキャラクタによる射撃のトリガー操作、使用武器の切換などの操作を入力し、左アナログレバー１２３６Ｌの照準２の位置を上下左右に移動させることができる。
【０１３５】
制御ユニット１２１２は、ゲームコントローラ１２３０から受信した検出信号や操作入力信号に基づいてゲーム画像やゲーム音を生成する。そして、生成されたゲーム画像やゲーム音は、信号ケーブル１２０６で接続されたビデオモニタ１２２０（ディスプレイモニタ）に出力される。ビデオモニタ１２２０には、画像を表示するディスプレイ１２２２と音声を放音するスピーカ１２２４とが備えられており、プレーヤはディスプレイ１２２２に映し出されるゲーム画像を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイすることができる。
【０１３６】
（Ｇ）ゲームの種類
また、上述の実施形態では、ガンシューティングゲームを実行する場合を説明したが、他のジャンルのゲームにも同様に適用できる。
【０１３７】
例えば、図１８は、本発明をフライトシューティングゲームに適用した場合のゲーム画面の一例を示す図である。同図によれば、フライトシューティングゲームにおけるゲーム画面は、プレーヤ機のパイロット視点（一人称視点）から見た、いわゆるコックピット画面として表示される。プレーヤは、コントローラを操作して、自プレーヤ機を操縦して空中を飛行する。そして、敵飛行機に照準２を合わせてトリガを引くといった射撃操作を行うことで、該敵飛行機を射撃によって攻撃することができる。
【０１３８】
同図（ａ）に示すように、射撃に成功して敵機２２ａに命中させると、同図（ｂ）に示すように、この敵機２２ａに命中によるダメージが与えられ、炎上して破壊される。すると、同図（ｃ）に示すように、破壊された敵機２２ａから飛び散った破片が近傍の他の敵機２２ｂに命中し、該敵機２２ｂにダメージが与えられて煙が発生した演出がなされている。
【０１３９】
すなわち、上述の実施形態のガンシューティングゲームでは、弾丸が直接命中したオブジェクトの他に、その弾丸が跳ね返る“跳弾”によって他のオブジェクトに副次的にダメージを付与することとして説明したが、“跳弾”ではなく“飛散した破片”が副次的なダメージ付与の主体であるとしてもよい。
【０１４０】
従って、例えば図４において、敵キャラクタ２０を頭部、右腕部、左腕部、胴部、左足部、右足部といった破壊可能な部位オブジェクトで構成し、図４（ｂ）において、弾丸が当たった敵キャラクタ２０の右腕部を破壊させ、図４（ｃ）においては、“跳弾”ではなく“破壊されて飛散した右腕部の破片”によって木箱にダメージが与えられて破壊されるようにしてもよい。こうすることで、上述した実施形態の“跳弾”を“飛散した破片”に置き換える実施例を構成することができる。
【図面の簡単な説明】
【０１４１】
【図１】業務用ゲーム装置の概観例。
【図２】ゲーム画面の一例。
【図３】プレーヤキャラクタの一例。
【図４】ゲーム画面の一例。
【図５】跳弾対象範囲の説明図。
【図６】破壊可能オブジェクトを構成するパーツの一例。
【図７】被弾による段階的な破壊の説明図。
【図８】ゲーム装置の機能構成図。
【図９】破壊可能オブジェクトリストのデータ構成例。
【図１０】跳弾数テーブルのデータ構成例。
【図１１】跳弾対象範囲テーブルのデータ構成例。
【図１２】被弾エフェクトデータのデータ構成例。
【図１３】射撃時処理のフローチャート。
【図１４】跳弾対象範囲の他の例。
【図１５】跳弾対象範囲の他の例。
【図１６】跳弾対象範囲の他の例。
【図１７】家庭用ゲーム装置の概観例。
【図１８】フライトシューティングゲームにおけるゲーム画面例。
【図１９】被弾エフェクトデータの変形例。
【符号の説明】
【０１４２】
１０００  業務用ゲーム装置
１００  操作入力部
２００  処理部
２１０  ゲーム演算部、
２１１  照準位置判定部、２１２  プレーヤキャラ制御部
２１３  敵キャラ制御部、２１４  射撃時制御部
２３０  画像生成部、２４０  音生成部
３００  画像表示部、４００  音出力部、５００  通信部
６００  記憶部
６１０  ゲームプログラム、６１１  射撃時プログラム
６２１  プレーヤキャラデータ、６２２  敵キャラデータ
６２３  ステージデータ、６２４  破壊可能オブジェクトリスト
６３１  跳弾対象範囲テーブル、６３２  跳弾数テーブル
６３３  被弾エフェクトデータ
２  照準
１０  プレーヤキャラクタ
１４  弾丸
２０  敵キャラクタ
４０  跳弾対象範囲
【図１】
2010072768.tif 000003
【図２】
2010072768.tif 000004
【図３】
2010072768.tif 000005
【図４】
2010072768.tif 000006
【図５】
2010072768.tif 000007
【図６】
2010072768.tif 000008
【図７】
2010072768.tif 000009
【図８】
2010072768.tif 000010
【図９】
2010072768.tif 000011
【図１０】
2010072768.tif 000012
【図１１】
2010072768.tif 000013
【図１２】
2010072768.tif 000014
【図１３】
2010072768.tif 000015
【図１４】
2010072768.tif 000016
【図１５】
2010072768.tif 000017
【図１６】
2010072768.tif 000018
【図１７】
2010072768.tif 000019
【図１８】
2010072768.tif 000020
【図１９】
2010072768.tif 000021