(57)【特許請求の範囲】
【請求項１】
プレーヤ移動体を操作する操作手段と、前記プレーヤ移動体が移動する仮想ゲーム空間を演算するゲーム演算手段と、前記ゲーム空間のゲーム画像を表示するゲーム画像表示手段とを有するゲーム装置において、
前記ゲーム演算手段は、前記プレーヤ移動体が障害物に衝突したか否かを判定する衝突判定を、前記プレーヤ移動体から見た前記障害物の相対的な移動軌跡に沿って、前記ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置だけでなく、前記移動軌跡に沿った中間位置において行うものであり、
前記プレーヤ移動体と前記障害物の相対速度を算出する相対速度算出手段と、
前記相対速度算出手段によって算出された前記相対速度が所定値以上のときに、前記ゲーム画像の表示間隔に対応して前記プレーヤ移動体から見た前記障害物が相対的に移動する移動軌跡を複数に分割し、分割位置に前記障害物の位置を対応させた衝突判定位置を決定する衝突判定位置決定手段と、
前記衝突判定位置決定手段によって決定された前記衝突判定位置において前記衝突判定を行う衝突判定手段と、
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１において、
前記ゲーム演算手段は、前記プレーヤ移動体の向きを基準とした前記障害物が存在する向きθ１と、前記プレーヤ移動体の向きを基準とした前記障害物の向きθ２とに対応させて、前記プレーヤ移動体と前記障害物とが衝突するか否かを判定するために用いられる衝突距離ｄｓを格納するテーブルメモリをさらに備えており、
前記衝突判定手段は、衝突対象となる前記プレーヤ移動体と前記障害物との間の距離が、同じ前記向きθ１、θ２に対応する前記衝突距離ｄｓ以下であるときに前記プレーヤ移動体と前記障害物とが衝突したとの判断を行うことを特徴とするゲーム装置。
【請求項３】
請求項１または２において、
前記障害物は、前記プレーヤ移動体以外の他の移動体であることを特徴とするゲーム装置。
【請求項４】
プレーヤ移動体を操作する操作手段と、前記プレーヤ移動体が移動する仮想ゲーム空間を演算するゲーム演算手段と、前記ゲーム空間のゲーム画像を表示するゲーム画像表示手段とを有するゲーム装置において、
前記ゲーム演算手段は、前記プレーヤ移動体が障害物に衝突したか否かを判定する衝突判定を、前記仮想ゲーム空間に含まれる前記障害物の中から、前記プレーヤ移動体を中心とする所定範囲内に含まれる前記障害物を抽出し、この抽出された前記障害物を対象に、前記プレーヤ移動体から見た前記障害物の相対的な移動軌跡に沿って、前記ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置だけでなく、前記移動軌跡に沿った中間位置において行うものであり、
前記ゲーム画像の表示間隔に対応して前記プレーヤ移動体から見た前記障害物が相対的に移動する移動軌跡を複数に分割し、分割位置に前記障害物の位置を対応させた衝突判定位置を決定する衝突判定位置決定手段と、
前記衝突判定位置決定手段によって決定された前記衝突判定位置において前記衝突判定を行う衝突判定手段と、
を備えることを特徴とするゲーム装置。
【請求項５】
請求項４において、
前記ゲーム演算手段は、前記プレーヤ移動体と前記障害物の相対速度を算出する相対速度算出手段をさらに備えており、
前記衝突判定位置決定手段は、前記相対速度算出手段によって算出された前記相対速度が所定値以上のときに、前記衝突判定位置を決定する処理を行うことを特徴とするゲーム装置。
【請求項６】
請求項５において、
前記ゲーム演算手段は、前記プレーヤ移動体の向きを基準とした前記障害物が存在する向きθ１と、前記プレーヤ移動体の向きを基準とした前記障害物の向きθ２とに対応させて、前記プレーヤ移動体と前記障害物とが衝突するか否かを判定するために用いられる衝突距離ｄｓを格納するテーブルメモリをさらに備えており、
前記衝突判定手段は、衝突対象となる前記プレーヤ移動体と前記障害物との間の距離が、同じ前記向きθ１、θ２に対応する前記衝突距離ｄｓ以下であるときに前記プレーヤ移動体と前記障害物とが衝突したとの判断を行うことを特徴とするゲーム装置。
【請求項７】
請求項４〜６のいずれかにおいて、
前記障害物は、前記プレーヤ移動体以外の他の移動体であることを特徴とするゲーム装置。
【請求項８】
プレーヤ移動体を操作する操作手段と、前記プレーヤ移動体が移動する仮想ゲーム空間を演算するゲーム演算手段と、前記ゲーム空間のゲーム画像を表示するゲーム画像表示手段とを有するゲーム装置において、前記ゲーム演算手段に、前記プレーヤ移動体が障害物に衝突したか否かを判定する衝突判定を、前記プレーヤ移動体から見た前記障害物の相対的な移動軌跡に沿って、前記ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置だけでなく、前記移動軌跡に沿った中間位置において行わせる複数のステップを実行させるためのプログラムを格納した情報記憶媒体であって、
前記複数のステップには、
前記プレーヤ移動体と前記障害物の相対速度を算出するステップと、
算出された前記相対速度が所定値以上のときに、前記ゲーム画像の表示間隔に対応して前記プレーヤ移動体から見た前記障害物が相対的に移動する移動軌跡を複数に分割し、分割位置に前記障害物の位置を対応させた衝突判定位置を決定するステップと、
決定された前記衝突判定位置において前記衝突判定を行うステップと、
が含まれる、ゲーム演算部により読み取り可能な情報記憶媒体。
【請求項９】
プレーヤ移動体を操作する操作手段と、前記プレーヤ移動体が移動する仮想ゲーム空間を演算するゲーム演算手段と、前記ゲーム空間のゲーム画像を表示するゲーム画像表示手段とを有するゲーム装置において、前記ゲーム演算手段に、前記プレーヤ移動体が障害物に衝突したか否かを判定する衝突判定を、前記仮想ゲーム空間に含まれる前記障害物の中から、前記プレーヤ移動体を中心とする所定範囲内に含まれる前記障害物を抽出し、この抽出された前記障害物を対象に、前記プレーヤ移動体から見た前記障害物の相対的な移動軌跡に沿って、前記ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置だけでなく、前記移動軌跡に沿った中間位置において行わせる複数のステップを実行させるためのプログラムを格納した情報記憶媒体であって、
前記複数のステップには、
前記ゲーム画像の表示間隔に対応して前記プレーヤ移動体から見た前記障害物が相対的に移動する移動軌跡を複数に分割し、分割位置に前記障害物の位置を対応させた衝突判定位置を決定するステップと、
決定された前記衝突判定位置において前記衝突判定を行うステップと、
が含まれる、ゲーム演算部により読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プレーヤ移動体と障害物との衝突判定を行うゲーム装置およびこれに用いられる情報記憶媒体に関する。
【０００２】
【従来の技術】
従来から、ディスプレイ装置に表示されるゲーム画像を見ながら移動体を走行させ、他の移動体と競走するドライブゲーム装置が知られている。このようなゲーム装置では、プレーヤの操作する移動体が他の移動体や側壁等に衝突すると、そのスピードが一時的に大幅に低下したり車両がスピンする等の演出が行われ、実際のレースと同様の雰囲気を味わうことができるようになっている。
【０００３】
これらの衝突時の演出のために、従来のゲーム装置は、プレーヤの移動体（自車）と他の移動体（他車）や側壁等の障害物との衝突判定（以下、「ヒットチェック」と称する）を行っている。ヒットチェックに関する従来技術としては、特開平８−１３１６５６号公報に開示された「ゲーム装置及びその衝突判定方法」がある。この従来技術では、所定時間ごと（例えばゲーム画像の表示間隔である１／６０秒ごと）に自車と障害物が衝突したか否かが判定される。
【０００４】
【発明が解決しようとする課題】
しかし、従来のような所定時間ごとのヒットチェックでは、移動体が高速で走行する場合における衝突判定を正確に行うことができないことがあった。図１４および図１５は、従来のヒットチェック方法の一例を示す図であり、１／６０秒ごとに自車が前方に停車中の他車に衝突したか否かを判定する例が示されている。
【０００５】
例えば、自車のスピードが遅く、１／６０秒間に１車身以上走行しない場合には、図１４に示すように、１／６０秒ごとの自車の位置Ａ〜Ｄが連続した領域となるため、自車と他車との重なり部分が必ず生じ、衝突したか否かを正確に判定することができる。しかしながら、自車のスピードが速く、１／６０秒間に１車身以上走行する場合には、図１５に示すように、１／６０秒ごとの自車の位置Ａ〜Ｄが連続した領域にならずに隙間が生じる。そして、この隙間に他車が位置した場合には自車と他車の重なり部分が生じないため、実際には衝突しているにもかかわらず衝突したと判定されず、自車が他車をすり抜けてしまう場合があった。また、自車から見た他車の速度が速い場合にも同様に、正確な衝突判定がなされず、自車が他車をすり抜けてしまう場合があった。
【０００６】
本発明は、このような点に鑑みて創作されたものであり、その目的は高速で移動する移動体の衝突判定を正確に行うことができるゲーム装置および情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
上述した課題を解決するために、本発明のゲーム装置は、操作手段によって操作されるプレーヤ移動体が移動したときに、ゲーム演算手段によってこのプレーヤ移動体と障害物との間の衝突判定を、ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置の中間位置において行っている。したがって、プレーヤ移動体等が高速に移動中であって、前回とその次の表示時点のそれぞれで他の障害物と衝突せずに、その中間位置において衝突する場合であっても正確に衝突判定を行うことができる。
【０００８】
また、ゲーム演算手段は、ゲーム画像の表示間隔に対応してプレーヤ移動体と障害物とが相対的に移動する距離に基づいて、中間位置において行われる１あるいは複数回の衝突判定のそれぞれに用いられるプレーヤ移動体と障害物の相対座標データを衝突判定位置決定手段によって求め、この相対座標データを用いてプレーヤ移動体と障害物との間の衝突判定を衝突判定手段によって行うことが望ましい。ゲーム画像の表示間隔に対応したプレーヤ移動体と障害物との相対的な距離が長い場合には、離散的に存在する表示位置においてプレーヤ移動体と障害物とが衝突していなくても、その中間位置で衝突している可能性があるが、この中間位置でも衝突判定を行うことにより、プレーヤ移動体と障害物の衝突を確実に検出することができる。
【０００９】
また、ゲーム演算手段は、プレーヤ移動体と障害物の相対速度を相対速度算出手段によって算出し、この算出した相対速度が所定値以上のときに、中間位置に対応した衝突判定を衝突判定位置決定手段によって行うことが望ましい。相対速度が速くなるということは、プレーヤ移動体と障害物とが相対的に移動する距離が長くなるということであり、このときに中間位置における衝突判定を通常の判定処理に追加して行うようにすれば、この中間位置で生じた衝突を確実に検出することができる。また、相対速度が遅い場合には中間位置における衝突判定が行われないため、その分だけ処理の負担が軽くなる。
【００１０】
また、ゲーム演算手段は、プレーヤ移動体の向きを基準とした障害物が存在する向きθ１と、プレーヤ移動体の向きを基準とした障害物の向きθ２とに対応させて、プレーヤ移動体と障害物とが衝突するか否かを判定するために用いられる衝突距離ｄｓを格納するテーブルメモリをさらに備えることが望ましい。衝突判定手段は、衝突対象となるプレーヤ移動体と障害物との間の距離が、同じ向きθ１、θ２に対応する衝突距離ｄｓ以下であるときにプレーヤ移動体と障害物とが衝突したとの判断を行うことができ、プレーヤ移動体等が複雑な形状を有する場合であっても、プレーヤ移動体と障害物の実際の距離と衝突距離ｄｓの比較を行うだけで、簡単かつ確実に衝突判定を行うことができる。
【００１１】
また、ゲーム演算手段は、仮想ゲーム空間に含まれる障害物の中から、プレーヤ移動体を中心とする所定範囲内に含まれる障害物を抽出して衝突判定を行うことが望ましい。特に、この所定範囲は、プレーヤ移動体と障害物の少なくとも一方の移動速度を考慮して設定することが望ましい。プレーヤ移動体等の移動速度によっては、衝突の可能性がない位置に配置された障害物もあるため、このような障害物を最初から衝突判定の対象から外すことにより、処理の簡略化が可能であり、ゲーム演算手段の処理の負担を軽減することができる。
【００１２】
また、本発明の情報記憶媒体は、プレーヤ移動体と障害物との間の衝突判定を、ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置の中間位置において行うプログラムを含むことを特徴としている。
【００１３】
また、本発明の他の情報記憶媒体は、ゲーム画像の表示間隔に対応してプレーヤ移動体と障害物とが相対的に移動する距離に基づいて、ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置の中間位置において行われる１あるいは複数回の衝突判定のそれぞれに用いられるプレーヤ移動体と障害物の相対座標データを求めるプログラムと、相対座標データに基づいて、プレーヤ移動体と障害物との間の衝突判定を行うプログラムとを含むことを特徴としている。
【００１４】
【発明の実施の形態】
本発明を適用した一実施形態のゲーム装置は、プレーヤ移動体としてのバイクが障害物としての他のバイクに対して相対的に高速で移動しているときに、表示間隔毎のバイク位置に基づいてこれらのバイク間の衝突判定を行うだけではなく、バイクの移動軌跡に沿った複数箇所においても衝突判定を行うことに特徴がある。以下、本発明を適用した一実施形態のゲーム装置について図面を参照しながら説明する。
【００１５】
図１は、一実施形態のゲーム装置の構成を示す図である。同図に示すゲーム装置１００は、３次元のゲーム空間内に設定された仮想的なレーシングコースでバイクレースを行うためのものであり、操作部１０、ゲーム演算部２０、情報記憶媒体３０、画像合成部４０、ディスプレイ装置５０を含んで構成されている。
【００１６】
操作部１０は、実際のバイクと同様に、ハンドル、スロットルグリップ、ブレーキレバー、シフトレバーを備えており、これらの各部の操作状態に応じた信号がゲーム演算部２０に向けて出力される。
【００１７】
ゲーム演算部２０は、操作部１０から出力される操作指示の信号と、情報記憶媒体３０に格納されているゲームプログラムとに基づいて、プレーヤ移動体としてのバイク（以後、「自車」と称する）が所定の３次元ゲーム空間内に設定されたレーシングコースを走行するためのゲーム演算を行う。画像合成部４０は、この３次元ゲーム空間を所定の視点座標系の投影面に変換してゲーム画像を生成する。この生成された画像がディスプレイ装置５０に表示される。
【００１８】
情報記憶媒体３０は、ゲーム演算部２０において実行されるプログラム、表示物を表現するための画像データ、音声データ等が主に格納されるものである。例えば、家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてのＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ、ハードディスク等が用いられる。また、業務用ゲーム装置ではＲＯＭ、ハードディスク等のメモリが用いられる。
【００１９】
図２は、ゲーム画像生成の原理を示す図である。同図に示すように、ゲーム演算部２０は、３次元ゲーム空間２００に、プレーヤ３００の操縦するバイクを表す３次元オブジェクト２１０を配置する。情報記憶媒体３０には、この３次元オブジェクト２１０を構成する複数のポリゴンに関するデータが格納されている。なお、３次元ゲーム空間２００には、プレーヤ３００の操縦するバイクを表す３次元オブジェクト２１０だけでなく、プレーヤ３００の操縦するバイク以外のバイク（以後、「他車」と称する）や、レーシングコース、側壁、建物、山、トンネル等の背景を表す各種の３次元オブジェクトも配置されており、これらの３次元オブジェクトを構成する複数のポリゴンに関するデータも情報記憶媒体３０に格納されている。
【００２０】
これらの３次元オブジェクトは、画像合成部４０によって、プレーヤ３００の仮想的な視点３１０を中心とする視点座標系の透視投影面２２０上に透視投影変換され、疑似３次元画像２２２としてディスプレイ装置５０に表示される。例えば、プレーヤ３００が操作部１０を操作しながらディスプレイ装置５０の画面を見ると、バイクに跨って３次元ゲーム空間２００内に位置しているような映像を見ることができる。
【００２１】
そして、プレーヤ３００が、操作部１０のハンドル等を操作して、バイクの回転、前進等を行うと、ゲーム演算部２０は、この操作とゲームプログラム、あるいは３次元オブジェクトを構成する複数のポリゴンに関するデータに基づいて、３次元ゲーム空間２００内の３次元オブジェクト２１０やその他の３次元オブジェクトの位置や向きを変化させる演算を行う。これらの位置や向きが変化した３次元オブジェクトは、上述したように、画像合成部４０によって、プレーヤ３００の視点３１０を中心とする視点座標系の透視投影面２２０上に透視投影変換され、疑似３次元画像２２２としてディスプレイ装置５０に表示される。
【００２２】
したがって、プレーヤ３００が操作部１０を操作することにより、３次元ゲーム空間２００内の３次元オブジェクトの位置や向きがリアルタイムで変化するため、プレーヤ３００は３次元ゲーム空間２００内に設定されたレーシングコースを実際に走行しているような臨場感を味わうことができる。
【００２３】
例えば、コンピュータグラフィックスの手法を用いた場合には、ゲーム演算部２０は、独立したボディ座標系を用いて３次元オブジェクト２１０の形状モデルを作成する。すなわち、このボディ座標系に３次元オブジェクト２１０を構成する各ポリゴンが配置されることにより、３次元オブジェクト２１０の形状モデルが特定される。また、ゲーム演算部２０は、ワールド座標系（Ｘｗ，Ｙｗ，Ｚｗ）を用いて３次元ゲーム空間２００を構成するとともに、ボディ座標系を用いて表された３次元オブジェクト２１０を、その運動モデルにしたがってワールド座標系の中に配置する。そして、画像合成部４０は、３次元ゲーム空間２００内の各３次元オブジェクトの座標を、視点３１０の位置を原点として視線の方向をＺ軸の正方向にとった視点座標系に変換し、さらに投影面２２０の座標系であるスクリーン座標系に変換することによって、透視投影変換を行う。このようにして、視点３１０からの視野の範囲内にある３次元ゲーム空間２００の画像がディスプレイ装置５０に表示される。
【００２４】
図３は、ディスプレイ装置５０に表示されるゲーム画像の一例を示す図である。同図に示すように、ゲーム画像の中心にはプレーヤ３００の操縦するバイク（自車）４１０が表示されている。また、このゲーム画像には、他のバイク（他車）４２０や、レーシングコース４３０および側壁４４０等の各種の背景の画像も同時に表示される。
【００２５】
また、ゲーム演算部２０は、上述したゲーム画像生成のための動作とともに、ヒットチェック動作（衝突判定動作）を行うことによって、自車４１０が他車４２０等の障害物に衝突したか否かを判定しており、この判定結果をゲームに反映させるための演算を行う。例えば、図３に示したゲーム画像において、自車４１０が前方の他車４２０に追突した場合には、自車４１０のスピードが大幅にダウンする。また、自車４１０が他車４２０に接触する角度によっては、自車４１０はレーシングコース４３０上でスピンしたり、コースアウトすることになる。
【００２６】
図４は、ゲーム演算部２０内の衝突判定の動作に関係する各機能ブロックを示す図である。同図に示すように、ゲーム演算部２０は、相対座標算出部２１、相対速度算出部２２、ヒットチェック位置決定部２３、カウンタ２４、ヒットチェック部２５、テーブルメモリ２６を含んで構成されている。
【００２７】
相対座標算出部２１は、ヒットチェックの対象となる他車の重心の座標を、自車の重心から見た座標（相対座標）に変換する。すなわち、相対座標算出部２１は、他車の重心の座標について、ワールド座標系の座標から自車の重心を中心とするローカル座標系の座標に変換する。このローカル座標系は、自車の前後方向をＺ軸、左右方向をＸ軸、上下方向をＹ軸として設定されている。また、相対速度算出部２２は、相対座標算出部２１によって求められた他車の相対座標の時間変化に基づいて、自車から見た他車の相対速度および他車から見た自車の相対速度を算出する。例えば、ゲーム画像の表示間隔毎に求められた他車の相対座標の変化量をこの表示間隔で割ることにより、他車および自車の相対速度が算出される。
【００２８】
図５は、ローカル座標系における自車と他車の位置関係を示す図である。同図に示すように、ローカル座標系においては自車の重心Ｐが原点となる。そして、他車の重心Ｑはローカル座標系の座標（Ｘ２，Ｚ２）によって特定される。また、図５に示すように、他車から見た自車の相対速度をベクトルａで表すと、自車から見た他車の相対速度は、ベクトルａと同じ大きさで向きが反対となるベクトルｂで表される。
【００２９】
ヒットチェック位置決定部２３は、前回のヒットチェック位置から次のヒットチェック位置までの距離が長い場合に、１あるいは複数の中間位置をヒットチェック位置として追加する処理を行う。ゲーム画像の表示間隔（以下の説明では、ゲーム画面の表示間隔を１／６０秒とする）でヒットチェックが行われているものとすると、前回のゲーム画面の表示を行った時点から次のゲーム画面の表示を行うまでの間に自車と他車の相対的な距離が大きく変化した場合に、各表示位置に至る中間位置において１回あるいは複数回のヒットチェックが行われる。
【００３０】
具体的には、ヒットチェック位置決定部２３は、まず前回のヒットチェック位置から次のヒットチェック位置までの距離が長いか否かを、相対速度算出部２２によって算出された自車（あるいは他車）の相対速度が所定値より大きいか否かを調べることによって判定する。例えば、ゲーム画像の表示間隔の間に、相対速度算出部２２によって算出された相対速度で自車が走行する距離が自車の前後方向の長さＬ（ｍ）より長くなるような相対速度であるか否かが判定される。この場合には、自車の相対速度が６０Ｌ（ｍ／ｓ）以上であれば、１／６０秒間に距離Ｌ以上走行することになる。
【００３１】
自車の相対速度が所定値よりも大きい場合には、次にヒットチェック位置決定部２３は、相対速度算出部２２によって算出された相対速度で自車が走行する距離を算出するとともに、この距離を自車の前後方向の長さＬを越えないように等分割するために必要な分割数ｎをヒットチェック回数として設定する。この設定されたヒットチェック回数は、カウンタ２４のカウントの初期値として与えられる。
【００３２】
図６は、ヒットチェック位置決定部２３によって設定される中間位置におけるヒットチェック回数を説明するための図であり、例えば自車の相対速度Ｖが４．５×６０Ｌ（ｍ／ｓ）の場合が示されている。ヒットチェック位置決定部２３は、自車の相対速度Ｖに基づいて１／６０秒間における自車の相対的な移動距離を算出する。図６に示した例では、自車は、（１／６０）×Ｖ＝４．５Ｌだけ移動するので、分割数を５として５回のヒットチェック回数が設定される。このヒットチェック回数には、次のゲーム画面の表示に対応した従来通りのヒットチェックも含まれており、結局中間位置において４回のヒットチェックが追加される。
【００３３】
また、ヒットチェック位置決定部２３は、設定したヒットチェック回数分のヒットチェック位置の設定を行う。例えば、図６に示したようにヒットチェック回数が５回に設定されている場合には、自車が相対速度Ｖで（１／６０）／５秒間に移動した後の自車位置と他車位置が１回目のヒットチェック位置として設定される。なお、ヒットチェックを行う場合に、図５に示した自車位置を原点としたローカル座標が用いられているため、この１回目のヒットチェック位置を求めるということは、他車の重心Ｑを他車の相対速度で（１／６０）／５秒間移動させたときの移動後の他車位置を求めることに相当する。このようにして、２回目から４回目までのヒットチェック位置が求められる。なお、５回目のヒットチェック位置は、次にゲーム画像の表示を行う場合の他車位置そのものなので、特にヒットチェック位置として計算する必要はない。
【００３４】
また、図４に示すヒットチェック部２５は、ヒットチェック位置決定部２３によって決定された各ヒットチェック位置のそれぞれに順番に他車の重心Ｑを配置して、自車と他車とが衝突しているか否かを判定する。例えば、４つの分割位置Ａ１〜Ａ４と、他車が１／６０秒間走行したときに達する位置Ｂの５地点がヒットチェック位置として決定された場合には、ヒットチェック部２５は、図７に示すように、これら５つのヒットチェック位置のそれぞれに他車の重心を配置して衝突判定（ヒットチェック）を行う。
【００３５】
すなわち、ゲーム画像の表示タイミングごとのヒットチェックのみならず、ゲーム画像の表示タイミングの中間におけるヒットチェックを行うことが可能となる。しかも、自車から見た他車の相対的な走行速度で他車が１／６０秒間走行した場合の距離を、所定数に分割してヒットチェック位置を決定しているため、従来のように、自車あるいは他車が高速で移動するために、自車が他車をすり抜けてしまうということがなく、正確なヒットチェックを行うことができる。
【００３６】
図８〜図１０はヒットチェックの原理を示す図である。ヒットチェック部２５は、まず、図８に示すように１／６０秒ごとの自車の位置および他車の位置に基づいて第１次ヒットチェックを行う。具体的には、ヒットチェック部２５は、自車５００の重心Ｐを中心とする所定範囲（第１次ヒットチェックゾーン）５２０を設定する。第１次ヒットチェックゾーン５２０は、自車５００の最高速度や他車の最高速度あるいは自車５００から見た他車５１０の相対的な走行速度の上限値等に応じて大きさが設定され、Ｘ方向基準値Ｘｓ１およびＺ方向基準値Ｚｓ１によって特定される。そして、ヒットチェック部２５は、自車５００の重心Ｐと他車５１０の重心ＱとのＸ軸方向の距離およびＺ軸方向の距離を算出し、Ｘ方向の距離がＸ方向基準値Ｘｓ１より小さく、かつ、Ｚ方向の距離がＺ方向基準値Ｘｓ１より小さい場合、すなわち、他車５１０の重心Ｑが第１次ヒットチェックゾーン５２０内に含まれる場合に衝突の可能性ありと判断する。
【００３７】
衝突の可能性ありと判断すると、次にヒットチェック部２５は、各ヒットチェック位置に他車の重心Ｑを配置して第２次ヒットチェックを行う。具体的には、ヒットチェック部２５は、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１や他車５１０の方向θ２、および自車５００の重心と他車５１０の重心との距離（重心間距離）ｄを算出する。
【００３８】
また、図４に示すテーブルメモリ２６には、衝突距離データテーブルが格納されている。この衝突距離データテーブル内の衝突距離データは、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と他車５１０の方向θ２が特定されたときに、自車５００と他車５１０が衝突する重心間距離を示すものである。
【００３９】
例えば、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と他車５１０の方向θ２が図９に示すように特定されている場合には、重心間距離がｄ１以下のときに自車５００と他車５１０が衝突する。一方、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と他車５１０の方向θ２が図１０に示すように特定されている場合には、重心間距離がｄ２（＞ｄ１）以下のときに自車５００と他車５１０が衝突する。このように、自車５００と他車５１０とが衝突する距離（衝突距離）ｄｓは２つの方向θ１、θ２に応じて変化しており、これらの２つの方向θ１、θ２が特定されることによって衝突距離ｄｓが一義的に定められる。
【００４０】
図１１は、テーブルメモリ２６の格納状態を示す図であり、一義的に定められた衝突距離ｄｓが格納された状態が示されている。例えば、θ１、θ２のそれぞれに対して３２個の測定ポイントを設定した場合には、θ１、θ２の各測定ポイントを組み合わせた３２×３２＝１０２４ポイントにおいて衝突距離ｄｓが求まる。なお、本実施形態においては、バイクは左右対称の形状を有しているため、方向θ１の測定ポイントを３６０°の範囲に渡って設定する必要はなく、その半分の１８０°の範囲内で設定すればよい。したがって、図１１に示すように、θ１、θ２の各測定ポイントを組み合わせた１６×３２＝５１２ポイントに対応した衝突距離ｄｓがテーブルメモリ２６に含まれている。
【００４１】
ヒットチェック部２５は、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と他車５１０の方向θ２を算出し、これら２つの方向θ１、θ２をパラメータとして衝突距離データテーブルを検索することにより、衝突距離ｄｓを求める。そして、ヒットチェック部２５は、この衝突距離ｄｓと重心間距離ｄとを比較し、重心間距離ｄが衝突距離ｄｓ以下であれば自車５００が他車５１０に衝突すると判断し、重心間距離ｄが衝突距離ｄｓより大きい場合には自車５００と他車５１０は衝突しないと判断する。
【００４２】
自車５００と他車５１０が衝突すると判断した場合には、ヒットチェック部２５は、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と、他車５１０の方向θ２に基づいて、自車５００が他車５１０に衝突したときの演出方法を特定する。例えば、図９に示したように自車５００の右前部と他車５１０の左側部が衝突した場合には、自車５００に反時計回りの力を与えてハンドルが取られる状況やバイクがスピンする状況を演出する。
【００４３】
テーブルメモリ２６には、上述した衝突距離データテーブルの他に、衝突時の演出方法を特定するための衝突演出データテーブルも格納されている。この衝突演出データテーブルには、自車５００の重心Ｐから見た他車５１０の重心Ｑの方向θ１と、他車５１０の方向θ２とをパラメータとした演出方法に関するデータが格納されている。ヒットチェック部２５は、算出した２つの方向θ１、θ２に基づいて衝突演出データテーブルを検索することにより、衝突時に実施する演出方法を特定することができる。そして、この特定された衝突演出データを反映させたゲーム画像が画像合成部４０によって生成され、図１２に示すような衝突時のゲーム画像がディスプレイ装置５０に表示される。
【００４４】
なお、ヒットチェック部２５は、ヒットチェック位置に自車５００の重心を配置してヒットチェックを行うごとにカウンタ２４のカウント値を１減らす処理を行う。
【００４５】
上述した操作部１０が操作手段に、ゲーム演算部２０がゲーム演算手段に、画像合成部４０、ディスプレイ装置５０がゲーム画像表示手段に、相対速度算出部２２が相対速度算出手段に、ヒットチェック位置決定部２３が衝突判定位置決定手段に、ヒットチェック部２５が衝突判定手段にそれぞれ対応する。
【００４６】
本実施形態のゲーム装置１００は、上述した構成を有しており、次にその動作を説明する。図１３は、本実施形態のゲーム装置１００のヒットチェック時の動作手順を示す流れ図であり、主にゲーム演算部２０内部の動作が示されている。なお、上述した第１次ヒットチェックが終了して第２次ヒットチェックの対象となる障害物（他車）がある程度絞り込まれており、この絞り込まれた他車に対して第２次ヒットチェックが行われるものとする。
【００４７】
ゲーム画像の表示タイミングごと（１／６０秒ごと）に、相対座標算出部２１は、１／６０秒前の自車を中心としたローカル座標を用いた他車の相対座標を算出し（ステップ１００）、相対速度算出部２２は、相対座標算出部２１によって計算された１／６０秒前の他車の相対座標と、１／６０秒間経過後の次の表示タイミングにおける他車の相対座標とに基づいて、自車と他車の相対速度を算出する（ステップ１０１）。
【００４８】
ヒットチェック位置決定部２３は、この算出された相対速度が所定値より大きいか否かを判定する（ステップ１０２）。相対速度が所定値より大きい場合には、次にヒットチェック位置決定部２３は、この相対速度で１／６０秒間に自車が走行する距離をｎ分割してヒットチェック回数ｎを決定するとともに、このヒットチェック回数ｎをカウンタ２４のカウントの初期値として設定する（ステップ１０３）。例えば、図６に示したように、自車が原点から１／６０秒間走行した場合の距離が４．５Ｌとなる場合には、ヒットチェック位置決定部２３は、この距離４．５Ｌを自車の前後方向の長さＬを越えない範囲で分割したときの分割数の最小値「５」をヒットチェック回数ｎとして求め、カウンタ２４にカウント値「５」を設定する。
【００４９】
また、相対速度が所定値以下の場合には、ヒットチェック位置決定部２３は、ステップ１０３のような分割処理は行わずに、カウンタ２４のカウントの初期値として「１」を設定する（ステップ１０４）。
【００５０】
ステップ１０３あるいはステップ１０４におけるカウンタ２４のカウント値の設定が終了すると、次に、ヒットチェック部２５は、最初のヒットチェック位置に対応する移動後の他車の相対座標を算出した後に（ステップ１０５）、テーブルメモリ２６に格納された衝突距離データテーブルを参照して、自車が他車に衝突したか否か（ヒットしたか否か）を判定する（ステップ１０６）。例えば、図７に示した例では、前回の表示タイミングにおける他車位置に最も近い分割位置Ａ１が最初のヒットチェック位置に設定され、ヒットチェックが行われる。自車が他車に衝突している場合には、ヒットチェック部２５は、テーブルメモリ２６に格納された衝突演出データテーブルを参照してヒット後の処理を行う（ステップ１０７）。
【００５１】
また、ヒットしていない場合（ステップ１０６で否定判断した場合）には、ヒットチェック部２５は、カウンタ２４のカウント値を１減らして（ステップ１０８）、カウント値が「０」か否かを判定する（ステップ１０９）。カウント値が「０」の場合には、全てのヒットチェック位置での衝突判定が終了したということであるから、一連のヒットチェックが終了する。また、カウント値が「０」でない場合には、ヒットチェック部２５は、次のヒットチェック位置に対応する他車の相対座標を算出して（ステップ１０５）、ヒットしたか否かの判定（ステップ１０６）以降の動作を繰り返す。
【００５２】
このように、本実施形態のゲーム装置１００は、自車と他車との相対速度が所定値より大きい場合には、表示間隔の間にこの相対速度で走行した距離を、自車の前後方向の長さＬを越えない間隔で分割してヒットチェック回数を決定し、自車および他車の移動軌跡上の中間位置で１あるいは複数回のヒットチェックを行う。したがって、自車あるいは他車が高速で移動したときに、実際には自車と他車とが衝突したにもかかわらず、自車が他車をすり抜けてしまって衝突が起きないという現象がなくなり、正確なヒットチェックを行うことができる。
【００５３】
また、本実施形態のゲーム装置１００では、ヒットチェックの回数が増えるが、自車のローカル座標系で他車の相対速度を求める処理等は各ヒットチェックに共通しているため、ヒットチェック回数が増えたにもかかわらず処理の負担がそれ程増加しない利点もある。
【００５４】
また、連続する表示間隔の中間のヒットチェック位置を追加しただけであり、基本的なヒットチェックのアルゴリズムは変更せずにすむため、衝突後のリアクション動作をよりリアルに演出することができる。
【００５５】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形実施が可能である。例えば、自車と他車が衝突する場合のヒットチェックについて説明したが、自車が側壁等の移動しない障害物に衝突する場合にも、本発明を適用することができる。さらに、上述した実施形態では、バイクレースのゲーム装置について説明したが、自動車レース等の他のゲーム装置についても本発明を適用することができる。
【００５６】
また、上述した実施形態では、最初に自車と他車との相対速度が所定値以上であるか否かを判定したが（図１３のステップ１０２）、この判定処理を省略するようにしてもよい。この場合には、自車と他車との相対速度が小さくて、前回の表示タイミングから次回の表示タイミングまでの間の自車の相対的な移動量が自車の前後方向の長さＬ以下のときには、中間位置でのヒットチェックを行わずにカウンタ２４のカウントの初期値を「１」に設定すればよい。また、自車と他車との相対速度が所定値以上であるか否かを判定する代わりに、前回の表示タイミングにおける他車の相対座標が次回の表示タイミングまでにどの程度変化したかを求め、この変化量（他車あるいは自車の相対的な移動量に対応する）が所定値以上であるか否かを判定するようにしてもよい。
【００５７】
また、上述した実施形態では、各分割片の長さが自車の前後方向の長さＬを越えない範囲で最も分割数が少なくなるように分割してヒットチェック回数およびヒットチェック位置を決定したが、各分割片の長さをさらに短くしてヒットチェック回数を増やすようにしてもよい。
【００５８】
【発明の効果】
上述したように、本発明によれば、操作手段によって操作されるプレーヤ移動体が移動したときに、ゲーム演算手段によってこのプレーヤ移動体と障害物との間の衝突判定を、ゲーム画像の前回の表示時点に対応した位置と次の表示時点に対応した位置の中間位置において行っており、プレーヤ移動体等が高速に移動中であって、前回とその次の表示時点のそれぞれで他の障害物と衝突せずに、その中間位置において衝突する場合であっても正確に衝突判定を行うことができる。
【図面の簡単な説明】
【図１】一実施形態のゲーム装置の構成を示す図である。
【図２】ゲーム画像生成の原理を示す図である。
【図３】ゲーム画像の一例を示す図である。
【図４】ゲーム演算部内の衝突判定の動作に関係する各機能ブロックを示す図である。
【図５】ローカル座標系における自車と他車の位置関係を示す図である。
【図６】ヒットチェック位置決定部によって設定されるヒットチェック回数を説明するための図である。
【図７】ヒットチェック位置に他車を移動させた状態を示す図である。
【図８】第１次ヒットチェックの原理を示す図である。
【図９】第２次ヒットチェックの原理を示す図である。
【図１０】第２次ヒットチェックの原理を示す他の図である。
【図１１】テーブルメモリの格納状態を示す図である。
【図１２】衝突時のゲーム画像の一例を示す図である。
【図１３】本実施形態のゲーム装置のヒットチェック時の動作手順を示す流れ図である。
【図１４】従来のヒットチェックの一例を示す図である。
【図１５】従来のヒットチェックの他の例を示す図である。
【符号の説明】
１０  操作部
２０  ゲーム演算部
２１  相対座標算出部
２２  相対速度算出部
２３  ヒットチェック位置決定部
２４  カウンタ
２５  ヒットチェック部
２６  テーブルメモリ
３０  情報記憶媒体
４０  画像合成部
５０  ディスプレイ装置
【図１】
0004030209.tif 000002
【図２】
0004030209.tif 000003
【図３】
0004030209.tif 000004
【図４】
0004030209.tif 000005
【図５】
0004030209.tif 000006
【図６】
0004030209.tif 000007
【図７】
0004030209.tif 000008
【図８】
0004030209.tif 000009
【図９】
0004030209.tif 000010
【図１０】
0004030209.tif 000011
【図１１】
0004030209.tif 000012
【図１２】
0004030209.tif 000013
【図１３】
0004030209.tif 000014
【図１４】
0004030209.tif 000015
【図１５】
0004030209.tif 000016