(57)【特許請求の範囲】
【請求項１】
プレーヤの操作に基づき、オブジェクト空間内でプレーヤキャラクタが複数に分岐したコースを分岐移動するとともに、前記プレーヤキャラクタが前記コースの少なくとも分岐領域で逆方向に移動可能なゲームの演算を行う手段と、
前記コースに沿って設定された複数のヒットチェックポイントの位置データと、前記各ヒットチェックポイントに対応して設定された、コースに存在する障害物とプレーヤキャラクタとのヒットチェック用の付随データと、をチェックポイントデータとして記憶する記憶手段と、
プレーヤキャラクタの現在位置と、前記現在位置に近いヒットチェックポイントの付随データとに基づき、コースに存在する障害物とプレーヤキャラクタとのヒットチェックを行なうヒットチェック手段と、
前記コースの分岐領域でプレーヤキャラクタが分岐移動するコースの選択判定を行なう分岐判定手段と、
を含み、
オブジェクト空間内に設定される前記複数に分岐したコースは、
分岐前の第１のコースのコースデータと、
分岐後の複数の第２のコースのコースデータと、
を組み合わせて構成され、
前記記憶手段は、
前記各コース毎に、前記チェックポイントデータを記憶するとともに、第１のコースの後に接続される第２のコースの先頭チェックポイントの位置データを記憶するように構成され、
前記第１のコースの分岐領域のチェックポイントに対応した付随データは、
前記分岐判定指示用のイベントデータを含んで構成され、
前記分岐判定手段は、
前記分岐前の第１のコースの前記ヒットチェックに用いたヒットチェックポイントの付随データに前記イベントデータが含まれることを条件に、前記記憶された分岐後の複数の第２のコースの先頭ヒットチェックポイントの位置データと、現在位置との距離に基づき、複数の第２のコースから分岐移動する第２のコースの選択判定処理を行うとともに、前記プレーヤキャラクタが前記コースの分岐領域で分岐前の前記第１のコースの分岐領域まで逆方向に移動した場合には、前記コースの選択判定処理を再度行い、選択コースの変更の判定を行なうことを特徴とするゲーム装置。
【請求項２】
請求項１において、
前記第１のコースの分岐判定ゾーンには、
第１のコースの終端側のヒットチェックポイント列を覆い、第１のコースを下流側の複数の第２のコースへ導くための分岐路を構成するための移動規制領域が設定されたことを特徴とするゲーム装置。
【請求項３】
プレーヤの操作に基づき、オブジェクト空間内でプレーヤキャラクタが複数に分岐したコースを分岐移動するとともに、前記プレーヤキャラクタが前記コースの少なくとも分岐領域で逆方向に移動可能なゲームの演算を行う手段と、
前記コースに沿って設定された複数のヒットチェックポイントの位置データと、前記各ヒットチェックポイントに対応して設定された、コースに存在する障害物とプレーヤキャラクタとのヒットチェック用の付随データと、をチェックポイントデータとして記憶する記憶手段と、
プレーヤキャラクタの現在位置と、前記現在位置に近いヒットチェックポイントの付随データとに基づき、コースに存在する障害物とプレーヤキャラクタとのヒットチェックを行なうヒットチェック手段と、
前記コースの分岐領域でプレーヤキャラクタが分岐移動するコースの選択判定を行なう分岐判定手段としてコンピュータを機能させるプログラムが記憶された情報記憶媒体であって、
オブジェクト空間内に設定される前記複数に分岐したコースは、
分岐前の第１のコースのコースデータと、
分岐後の複数の第２のコースのコースデータと、
を組み合わせて構成され、
前記記憶手段は、
前記各コース毎に、前記チェックポイントデータを記憶するとともに、各コースの前後に接続される他のコースの隣接チェックポイントの位置データを記憶するように構成され、
前記第１のコースの分岐領域のチェックポイントに対応した付随データは、
前記分岐判定指示用のイベントデータを含んで構成され、
前記分岐前の第１のコースの前記ヒットチェックに用いたヒットチェックポイントの付随データに前記イベントデータが含まれることを条件に、前記記憶された分岐後の複数の第２のコースの先頭ヒットチェックポイントの位置データと、現在位置との距離に基づき、複数の第２のコースから分岐移動する第２のコースの選択判定処理を行うとともに、前記プレーヤキャラクタが前記コースの分岐領域で分岐前の前記第１のコースの分岐領域まで逆方向に移動した場合には、前記コースの選択判定処理を再度行い、選択コースの変更の判定を行なうことを特徴とする情報記憶媒体。
【請求項４】
請求項３において、
前記第１のコースの分岐判定ゾーンには、
第１のコースの終端側のヒットチェックポイント列を覆い、第１のコースを下流側の複数の第２のコースへ導くための分岐路を構成するための移動規制領域が設定されたことを特徴とする情報記憶媒体。
【請求項５】
プレーヤの操作に基づき、オブジェクト空間内でプレーヤキャラクタが複数に分岐したコースを上流側から下流側に向け片方向に分岐移動するとともに、前記プレーヤキャラクタが前記コースの分岐領域で逆方向にも移動可能なゲームの演算を行う手段と、
前記コースに沿って設定された複数のチェックポイントの位置データと、前記各チェックポイントに対応して設定され前記コースの分岐領域であることを示す付随データと、をチェックポイントデータとして記憶する記憶手段と、
プレーヤキャラクタの現在位置と、前記現在位置に近いチェックポイントの付随データとに基づき、プレーヤキャラクタがコースの分岐領域に位置するか否かを判断する分岐判定手段としてコンピュータを機能させるプログラムが記憶された情報記憶媒体であって、
オブジェクト空間内に設定される前記複数に分岐したコースは、
分岐前の第１のコースのコースデータと、
分岐後の複数の第２のコースのコースデータと、
を組み合わせて構成され、
前記記憶手段は、
前記各コース毎に、前記ポイントデータを記憶するとともに、各コースの前後に接続される他のコースの隣接ポイントの位置データを記憶するように構成され、
前記分岐判定手段は、
プレーヤキャラクタがコースの分岐領域に位置すると判断した場合には、前記記憶された分岐後の複数の第２のコースの先頭チェックポイントの位置データと、現在位置との位置関係に基づき、複数の第２のコースから分岐移動する第２のコースを選択判定する処理を行うとともに、前記プレーヤキャラクタが前記コースの分岐領域で分岐前の前記第１のコースの分岐領域まで逆方向に移動した場合には、前記コースを選択判定する処理を再度行い、選択コースの変更の判定を行なうことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プレーヤキャラクタが複数に分岐したコースを選択しながら移動しゲームを行うゲーム装置及びその為の情報が記憶された情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数の表示物を配置し、所与の視点から見える画像をゲーム画像として生成しディスプレイ上に表示するゲーム装置が知られており、いわゆる仮想現実を体験できるゲーム装置として人気が高い。
【０００３】
ドライビングゲームを楽しむことをゲーム装置を例にとれば、プレーヤは、自身が操作する車をオブジェクト空間内のコース上を走行させてゲームを楽しむ。このようなゲームではその面白さや興奮度は、オブジェクト空間内に配置されるコースの形状や演出に強く依存する。従って、コース作成時には、ゲームの面白さや興奮度がより高められるように、工夫をこらしてコースの形状を設計していく。
【０００４】
特に、従来より、オブジェクト空間内に工夫を凝らした複数の分岐コースを配置し、プレーヤがコース分岐点で所望のコースを選択しながら車を走行させて、各分岐コースでのゲームを楽しむゲーム装置が知られている。
【０００５】
しかし、従来のゲーム装置は、プレーヤの操縦する移動体、例えば車が一方の分岐コースを一旦選択し、そのコースに進入してしまうと、それ以降は他方のコースを選択し直すことができず、このため、プレーヤが、そのコースが気に入らなかった場合でも、そのままゲームを続行しなければならないという問題があった。
【０００６】
特に、繰り返してゲームにチャレンジするプレーヤにとっては、一旦選択した分岐コースが、前回のゲームで既に通過したコースであることがわかった場合には、他方のコースを再選択し、そのコースにチャレンジすることを希望する場合も多いと考えられるが、このような要求を満たすゲーム装置は従来なかった。
【０００７】
本発明は、このような課題に鑑みなされたものであり、その目的は、複数の分岐路を有するゲームにおいて、一旦所定の分岐路を選択した場合でも、コースを逆方向に移動することにより、他方の分岐路を選択し直しゲームを続行できるゲーム装置及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
前記課題を解決するために、本発明は、
プレーヤキャラクタが、複数に分岐したコースを選択しながら移動しゲームを行うゲーム装置であって、
前記コースの分岐領域を移動する前記プレーヤキャラクタの移動データに基づき、分岐コースを選択判定する分岐判定手段を含み、
前記プレーヤキャラクタは、
前記コースの少なくとも分岐領域で逆方向に移動可能に形成され、
前記分岐判定手段は、
前記分岐領域で逆方向に移動する前記プレーヤキャラクタの移動データに基づき、分岐コースの再選択判定を行うことを特徴とする。
【０００９】
情報記憶媒体に係る本発明は、
プレーヤキャラクタが、複数に分岐したコースを選択しながら移動し、更に前記プレーヤキャラクタを、前記コースの少なくとも分岐領域で逆方向に移動可能としてゲームを行うためのプログラムが記憶されたコンピュータが読み取り可能な情報記憶媒体であって、
前記プログラムは、
前記コースの分岐領域を移動する前記プレーヤキャラクタの移動データに基づき、分岐コースを選択判定する分岐判定用の手段としてコンピュータを選択させ、
前記分岐判定用の手段は、
前記分岐領域で逆方向に移動する前記プレーヤキャラクタの移動データに基づき、分岐コースの再選択判定を行うことを特徴とする。
【００１０】
ここにおいて、前記コースは、仮想的な３次元空間であるオブジェクト空間内に配置するように構成することが好ましい。
【００１１】
本発明によれば、プレーヤキャラクタが複数に分岐したコースを選択しながら移動しゲームを行う際に、プレーヤキャラクタが一旦選択した分岐コースが気に入らずに、他方の分岐コースの選択のやり直しを希望する場合には、プレーヤキャラクタを逆方向に移動させ、希望する分岐コースの選択のやり直しを行うことができる。これにより、プレーヤの希望に沿ったコースを選択しながらゲームを行うことができる、より自由度の高いゲーム装置及びこのゲームを行うための情報記憶媒体を提供することが可能となる。
【００１２】
特に、前記各分岐コースは、ゲームの面白さや興奮度がより高められるように工夫を凝らして設計されたものが多く、従って、本発明のように、プレーヤが分岐コースの選択をやり直しながらゲームを進めるように構成することにより、プレーヤにより多くのコースを楽しんでもらうことができるゲーム装置及び情報記憶媒体を提供することが可能となる。
【００１３】
ここにおいて、前記ゲーム装置に係る本発明は、以下のように構成することが好ましい。
【００１４】
即ち、ゲーム装置に係る本発明において、
前記コースの分岐領域には、
分岐箇所からその上流側にかけて分岐判定ゾーンが設定され、
プレーヤキャラクタは、
各分岐コースから少なくとも前記分岐判定ゾーンまで逆方向に移動可能に形成され、
前記分岐判定手段は、
前記分岐判定ゾーン内でのプレーヤキャラクタの移動データに基づき、前記コースの選択判定することを特徴とする。
【００１５】
又、前記情報記憶媒体に係る本発明は、以下のように構成することが好ましい。
【００１６】
即ち、情報記憶媒体に係る本発明において、
前記プログラムは、コンピュータを、
前記コースの分岐領域に、分岐箇所からその上流側にかけて分岐判定ゾーンを設定するための手段と、
前記プレーヤキャラクタを、各分岐コースから少なくとも前記分岐判定ゾーンまで逆方向に移動可能とするための手段として機能させ、
前記分岐判定用の手段は、
前記分岐判定ゾーン内でのプレーヤキャラクタの移動データに基づき、前記コースの選択判定するための処理を行うことを特徴とする。
【００１７】
ここにおいて、前記分岐判定ゾーンとは、コース上における分岐コース開始位置から所定距離上流側までの区間、即ち移動中のプレーヤキャラクタが、任意の分岐コースを選択可能な区間をいう。
【００１８】
また、ゲーム装置に係る本発明において、
前記コースに沿って設定された複数のヒットチェックポイントの位置データと、前記各ヒットチェックポイントに対応して設定された、コースとプレーヤキャラクタとのヒットチェック用の付随データと、をチェックポイントデータとして記憶する記憶手段と、
プレーヤキャラクタの現在位置と、前記現在位置に近いヒットチェックポイントの付随データとに基づき、コースとプレーヤキャラクタとのヒットチェックを行うヒットチェック手段と、
を含み、
前記分岐判定手段は、
プレーヤキャラクタが前記分岐判定ゾーン内に位置する際に、その現在位置と各分岐コースの先頭ヒットチェックポイントの位置データとに基づき、前記コースの選択判定を行うことを特徴とする。
【００１９】
情報記憶媒体に係る本発明において、
前記コースに沿って設定された複数のヒットチェックポイントの位置データと、前記各ヒットチェックポイントに対応して設定された、コースとプレーヤキャラクタとのヒットチェック用の付随データとを含むチェックポイントデータとが記憶され、
前記プログラムは、コンピュータを、プレーヤキャラクタの現在位置と、この現在位置に近いヒットチェックポイントの付随データとに基づき、コースとプレーヤキャラクタとのヒットチェックを行うための手段として機能させ、
前記分岐判定用の手段は、
プレーヤキャラクタが前記分岐判定ゾーン内に位置する際に、その現在位置と各分岐コースの先頭ヒットチェックポイントの位置データとに基づき、前記コースの選択判定を行うためのことを特徴とする。
【００２０】
即ち、オブジェクト空間内に設定されたコースの両サイドに配置されたプレーヤキャラクタの移動規制用のオブジェクト、例えば障害物や、コースの壁などが存在し、これらの移動規制用のオブジェクトと、コース上を移動するプレーヤキャラクタとの衝突判定、すなわちヒットチェックを行う必要がある。このようなヒットチェックを、まともに行おうとすると、３次元オブジェクト空間内に存在する全てのオブジェクトに対してヒットチェックを行わなければならず、ＣＰＵの負担が極めて重くなり、現実的ではない。
【００２１】
このため、コースに沿って所定間隔で仮想的なヒットチェックポイントを設定しておき、各ヒットチェックポイントに対しヒットチェックを行うための付随データを設定しておき、これを用いて簡単なヒットチェックを行うという手法が採用されている。前記ヒットチェックポイントは、通常コースの中央に中心点として、そのコース方向に沿って所定間隔で設定されている。そして、前記ヒットチェック用の付随データは、コースに沿って所定間隔で設けられた中心点に対し、両側の壁などの障害物までの距離ｌＲ、ｌＬとして設定されている。
【００２２】
そして、プレーヤキャラクタのオブジェクト空間内におけるワールド座標系の現在位置から、どのヒットチェックポイントが最も近いかを判断し、最も近いヒットチェックポイントの付随データと、プレーヤキャラクタの移動データ、特にその現在位置データとに基づき、前述したヒットチェックを行う。
【００２３】
このようにすることにより、プレーヤキャラクタと全ての３次元オブジェクトとのヒットチェックを行う場合に比べ、ＣＰＵの負担を大幅に減らすことができる。
【００２４】
本発明では、このようなヒットチェックポイントを利用し、プレーヤキャラクタが前記分岐領域、特にその分岐判定ゾーンを通過する際に、その現在位置と各分岐コースの先頭ヒットチェックポイントの位置データとに基づき、次に分岐するコースの選択判定を行うように構成されている。
【００２５】
このように、各分岐コースに予め設定されているヒットチェックポイントの先頭位置を、分岐判定用に用いることにより、分岐判定のために特別なデータを作成する必要も少なくなり、分岐判定のためのデータ量を少なくし、且つＣＰＵの負担も低減することができる。
【００２６】
ここにおいて、前記分岐判定は、プレーヤキャラクタの現在位置と各分岐コースの先頭ヒットチェックポイントの位置データとの距離を演算し、最短距離となる分岐コースを選択するように行う事が好ましい。
【００２７】
また、ゲーム装置に係る本発明において、
オブジェクト空間内に設定される前記複数に分岐したコースは、
分岐前の第１のコースのコースデータと、
分岐後の複数の第２のコースのコースデータと、
を組み合わせて構成され、
前記記憶手段は、
前記各コース毎に、前記チェックポイントデータを記憶するとともに、各コースの前後に接続される他のコースの隣接チェックポイントの位置データを記憶するように構成され、
前記付随データは、
前記分岐判定指示用のイベントデータを含んで構成され、
前記分岐判定手段は、
前記ヒットチェックに用いたヒットチェックポイントの付随データに前記イベントデータが含まれることを条件に、各分岐コースの隣接ヒットチェックポイントの位置データを前記各分岐コースの先頭ヒットチェックポイントの位置データとして読み出し、前記コースの選択判定を行うことを特徴とする。
【００２８】
情報記憶媒体に係る本発明において、
オブジェクト空間内に設定される前記複数に分岐したコースは、
分岐前の第１のコースのコースデータと、
分岐後の複数の第２のコースのコースデータと、
を組み合わせて構成され、
前記第１及び第２のコースのコースデータは、
各コース毎に作成された前記チェックポイントデータと、
各コース毎に、その前後に接続される他のコースの隣接チェックポイントの位置データとを含み、
前記付随データは、
前記分岐判定指示用のイベントデータを含み、
前記分岐判定用の手段は、
前記ヒットチェックに用いたヒットチェックポイントの付随データに前記イベントデータが含まれることを条件に、各分岐コースの隣接ヒットチェックポイントの位置データを前記各分岐コースの先頭ヒットチェックポイントの位置データとして読み出し、前記コースの選択判定を行うことを特徴とする。
【００２９】
即ち、複数に分岐するような複雑なコースを最初から全体として一つのコースとして開発していくと、コースの形状の設計が非常に煩雑な作業となり、ゲームの設計期間の短縮化が妨げられる。このため、本発明では、分岐するコースをそれぞれ分割し、各コース毎にそのコースデータが作成される。ここでコースデータは、各コースの形状等を特定するデータである。
【００３０】
これにより、コースの設計、作成が簡易になり、更に一つのコースの設計変更が他のコースの設計に及ぶ影響を最小限に抑えることが可能となる。
【００３１】
このような各コースの独立したコースデータの作成に際し、前記各コース毎に前述したチェックポイントデータが作成される。即ち、各コースに沿って設定された複数のチェックポイントの位置データと、各ヒットチェックポイントに対応して設定されたヒットチェック用の付随データとを含むチェックポイントデータとが、各コース毎に作成され記憶される。更に、前記付随データには、分岐判定用のイベントデータが含まれるように構成される。このイベントデータは、各コースとコースとの接続領域付近において、コースの判定動作を開始するチェックポイントに対応して設定されている。従って、分岐判定の必要とされないコース途中のチェックポイントにはこのようなイベントデータの設定は行われない。
【００３２】
そして、分岐判定手段は、ヒットチェックに用いたヒットチェックポイントの付随データに前記イベントデータが含まれるか否かを判定し、このイベントデータが含まれた場合には、プレーヤキャラクタの現在位置と各分岐コースの隣接ヒットポイント（先頭のヒットチェックポイント）の位置データとに基づき、分岐コースの選択判定を行う。
【００３３】
このようにすることにより、複数に分岐するコースを複数に分割して形成した場合でも、コースの分岐領域における分岐路の選択をＣＰＵの負担を増大させることなく簡単に行うことが可能となる。
【００３４】
ここにおいて、各分岐コースの隣接ヒットチェックポイントとしては、分岐コースの一番最初にあるヒットチェックポイントを用いることが好ましいが、位置判定に有効であるならば、最初から２番目、３番目…の先頭グループにあるヒットチェックポイントを用いてもよい。
【００３５】
又、各コースの接続端側には、実際にコース上に設定されているチェックポイント以外に、ダミー用のヒットチェックポイントが設定される場合もある。本発明によれば、必要に応じてこのようなダミー用のヒットチェックポイントを用いることも可能であるが、実際にはコースの接続端に一番近いコース上に設定された実質的なヒットチェックポイントを用いることが好ましい。
【００３６】
また、ゲーム装置に係る本発明において、
前記第１のコースの分岐判定ゾーンには、
第１のコースの終端側のヒットチェックポイント列を覆い、第１のコースを下流側の複数の第２のコースへ導くための分岐路を構成するための移動規制領域が設定され、
前記分岐判定手段は、
前記分岐路でのプレーヤキャラクタの現在位置と各分岐コースの隣接ヒットチェックポイントの位置データとに基づき、前記コースの選択判定を行うことを特徴とする。
【００３７】
情報記憶媒体に係る本発明において、
前記プログラムは、コンピュータを、
前記上流側の第１のコースの分岐判定領域に、第１のコースの終端側のヒットチェックポイント列を覆い、第１のコースを下流側の複数の第２のコースへ導くための分岐路を構成するための移動規制領域を設定するための手段として機能させ、
前記分岐判定用の手段は、
前記分岐路でのプレーヤキャラクタの現在位置と各分岐コースの隣接ヒットチェックポイントの位置データとに基づき、前記コースの選択判定を行うことを特徴とする。
【００３８】
本発明によれば、第１のコースから、複数の第２のコースに分岐する場合に、第１のコースの分岐判定ゾーンに、第１のコースを、下流側の複数の第２のコースへ導くための分岐路を形成する移動規定領域が設定されている。
【００３９】
これにより、プレーヤキャラクタは各分岐路を通って所望の分岐路へ移動していくことになる。
【００４０】
この時、前記移動規定領域は、第１のコースの終端側のヒットチェックポイント列を覆うように設定されている。このため、前記分岐路内では第２のコースの隣接ヒットチェックポイントとの距離の差が明確になる。従って、上流側の第１のコースと分岐する第２のコースとの接続端付近において、プレーヤキャラクタと第２のコースの隣接ヒットチェックポイントとの距離が、プレーヤキャラクタと他の分岐コースの隣接ヒットチェックポイントとの距離に比べて明確に短くなる。即ち、各分岐路における各コースの接続端付近において、プレーヤキャラクタの現在位置と各コースの隣接ヒットチェックポイントとの距離を明確に相違させることができ、これにより、より正確な分岐路の選択判定を行うことが可能となる。
【００４１】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本実施の形態をボートで川下りをするラフティングゲームに適用した場合を例にとり説明する。但し本発明が適用されるゲームはこれに限られるものではない。
【００４２】
図１に示すように、本実施の形態では、３次元オブジェクト空間内に設定され複数に分岐するコース１０上をラフティングボート７０を、プレーヤがディスプレイ上に表示されるゲーム画面を見ながら操縦し、所望の分岐コースを選択しながら川下りゲームを行うように構成されている。即ち、このコース１０は、ボート７０で下る川として設定されており、同図に示す箇所ではＡコース２０上を移動するボート７０は２つに分岐するＢコース２２及びＣコース２４を任意に選択し、川下りを行うように構成されている。
【００４３】
ここで、例えば図１（Ａ）で示すように、ボート７０が矢印１００で示すようにＣコース２４へ向けて移動すると、このボート７０の移動データからＣコース２４が選択されたとプログラム的に判断され、ディスプレイ上にはＣコース２４の川下りをするゲーム画面が表示されることになる。
【００４４】
通常は、このように一旦一方の分岐コースを選択してしまうと、その後プレーヤは他方の分岐コースを選択し直すことはできない。
【００４５】
これに対して本実施の形態では、ボート７０は、選択された一方の分岐コースをその上流側の分岐領域１２まで逆方向に移動可能に形成され、その後他方の分岐コースを再選択できるように構成されている。
【００４６】
例えば、図１（Ａ）に示すように、Ｃコース２４を選択した場合に、その後図１（Ｂ）に示すように、ボートは７０−１で示すＣコース２４上の位置から、７０−２で示すＡコースの分岐領域１２の位置まで逆走させ、その後他方のコース、即ちＢコース２２へボート７０の向きを変えこのコース２２を再選択するように構成されている。
【００４７】
これにより、プレーヤは分岐コースの選択直後に、そのコースが気に入らなかった場合でも、すぐにボート７０を分岐領域１２間で逆走させ、他方のコースを選択し直し、ゲームを楽しむことが可能となる。
【００４８】
このようなボート７０のコースの選択判定動作は、基本的にはボート７０の移動データ、特にその現在位置と、各コース２０、２２、２４のコース位置を特定するコースデータとを用いて行う。
【００４９】
本実施の形態では、このようなボート７０の分岐判定をコース１０上に予めヒットチェック用に設定されているチェックポイントを用いて行う構成を採用している。これにより、分岐判定に伴うＣＰＵの負荷の増大を大幅に低減し、且つ分岐判定のための特異なデータを少なくすることを可能とする。
【００５０】
以下に、この分岐判定に用いられるチェックポイントについて説明する。
【００５１】
（チェックポイントの意味）
３次元オブジェクト空間内に設定されたコース１０内を、プレーヤキャラクタであるボート７０が移動しながら川下りをする場合には、ボート７０がコース１０に沿って移動しているか否かを判断することが重要である。
【００５２】
特に、ボート７０が、コースの両サイドに設けられた壁や、その他の障害物に衝突していないか否かのヒットチェックを行い、そのヒットチェックの結果をゲーム演出に反映させることが、ゲームのリアリティーを高める上で重要である。
【００５３】
このようなヒットチェックをまともに行おうとすると、３次元オブジェクト空間内に存在する全ての３次元オブジェクトに対してボート７０と衝突しているか否かのヒットチェックを行わなければならず、ＣＰＵの負担が極めて多くなり現実でないことは前述した。
【００５４】
このため、図２に示すように、コース１０の中心に沿って仮想的なチェックポイント列３００を設定しておき、このチェックポイント列３００上に一定の間隔で中心点と呼ばれるチェックポイントを設定する。このチェックポイント列３００は、コース１０の中心からずれた位置に配置することもできるが、ヒットチェック演算の負荷を低減するためにはコース中心に配置することが好ましい。
【００５５】
又、このヒットチェックポイントは仮想的に配置されるものであるから、これがディスプレイ上に表示されることはない。
【００５６】
そして、各ヒットチェックポイント毎に、ワールド座標系内におけるその３次元位置座標位置（ｘ、ｙ、ｚ）が設定され、更にこのヒットチェックポイントから左右の障害物までの距離ｌR、ｌLが付随データとして設定される。
【００５７】
そして、プレーヤキャラクタであるボート７０のワールド座標系における現在位置から、どのヒットチェックポイントが最も近いかを判断し、最も近いヒットチェックポイントの付随データに基づき、コース１０の両サイドの障害物との間でヒットチェックを行う。このようにすることにより、ヒットチェックのための負担を大幅に軽減することができる。
【００５８】
（ヒットチェックポイントの選択）
このような演算は、ゲーム画面の各フレーム演算毎に行われるため、各フレーム毎に新たに演算されるボート７０の位置に基づき、次のチェックポイントをスムーズに検出する必要が生ずる。
【００５９】
このために、各フレーム毎にそのヒットチェックポイントが求められると、このヒットチェックポイントの前後数個のヒットチェックポイントが、次のフレームでのヒットチェックポイント選択対象となる。ここでは、前後３個ずつ選択される。
【００６０】
そして、次のフレームでのプレーヤキャラクタ（ボート７０）の位置から、前記選択対象となった複数のチェックポイントのうち最も近いチェックポイントが演算により求められ、このヒットチェックポイントの付随データを用いて前述したヒットチェックが同様にして行われる。
【００６１】
このようにすることにより、各フレーム毎に選択対象となるヒットチェックポイントの数を絞り込み、その分ＣＰＵの負担を軽減し、迅速なヒットチェック動作を行うことが可能となる。
【００６２】
例えば、図２において、所定フレームにおけるボートの存在位置が７０−１である場合を想定すると、この場合のヒットチェックポイントは（ｋ＋１）となる。従って、次のフレームでのヒットチェックポイント選択対象は、その前後の３ポイントずつ、即ち（ｋ−２）〜（ｋ＋４）の合計７個のポイントとなる。コース１０の上流側のヒットチェックポイントも、選択対象に含めたのは、本実施の形態ではボート７０が上流側に逆走することもできるように構成されているからである。
【００６３】
そして、次のフレームでボートが７０−２まで移動すると、前記７個の選択対象からこの位置に最も近いヒットチェックポイント（ｋ＋２）が選択されヒットチェック動作が行われる。
【００６４】
そして、同様にこの（ｋ＋２）のポイントの前後３ポイントを含む合計７個のヒットチェックポイントが次のフレームでの選択対象となる。
【００６５】
従って、次のフレームでボートが７０−３の位置まで移動すると、これに最も近いヒットチェックポイント（ｋ＋４）が、最も近いポイントとして選択され、ヒットチェック動作が行われることになる。
【００６６】
なお、本実施の形態では、現在のフレームで選択されたヒットチェックポイントの前後３ポイントのヒットチェックポイントを選択対象としたが、プレーヤキャラクタであるボート７０の移動速度が速い場合には、多少多めの数のヒットチェックポイントを選択対象として選択すればよく、又遅い場合には、少ない数のヒットチェックポイントを選択対象として選択するよう設定すればよい。
【００６７】
（ヒットチェックポイントデータの構成）
図３には、本実施の形態において、各コース２０、２２、２４にそれぞれ設定されたヒットチェックポイントの一例が示されている。特に、同図においては、各コース２０、２２、２４の接合領域付近におけるヒットチェックポイントの配置を表している。
【００６８】
ここにおいて、各コース２０、２２、２４の始端及び終端には、前述した次フレームでの選択対象となる複数のチェックポイントを設定するために所定数のダミーチェックポイント、ここでは３個のダミーチェックポイントがそれぞれ設けられている。コース２０では（ｍ＋１）…（ｍ＋３）、コース２２、２４では０、１、２のそれぞれ３つのチェックポイントが、コースから外れたダミーチェックポイントとして設定されている。
【００６９】
又、前記各コース２０、２２、２４は、その接続端から所定の範囲が分岐判定ゾーンとして設定されている。
【００７０】
次に、ヒットチェックポイントデータの構成を説明する。
【００７１】
図４（Ａ）には、Ａコース２０、同図（Ｂ）にはＢ、Ｃコース２２、２４のヒットチェックポイントデータが示されている。
【００７２】
これら各コース２０、２２、２４には、図４に示すように固有のヒットチェックポイントデータが対応づけて設定されている。
【００７３】
各コースのヒットチェックポイントデータは、各ヒットチェックポイントのワールド座標系における位置（ｘ、ｙ、ｚ）と、付随データとを含む。前記付随データは、前述したように当該ヒットチェックポイントを含む領域内において、障害物とのヒットチェックを行うためのデータを含んで構成されている。通常はヒットチェックポイントからコース両端に存在する障害物までの距離ｌＲ、ｌＬとを含んで構成されるが、例えば図３に示すようにコース中央にボート７０が進入できないような障害物７４が存在する場合には、この障害物の位置を特定するようなデータも含んで構成される。
【００７４】
又、前記各コース２０、２２、２４の接合領域付近のチェックポイント、例えば図３に示すように、分岐判定ゾーン内に存在するヒットチェックポイントの付随データには、分岐判定動作を指示するためのイベントデータが含まれている。
【００７５】
そして、ＣＰＵがこのイベントデータを呼び出した時には、分岐判定動作を行うように構成されている。
【００７６】
また、図３に示すように、上流側のコース２０の分岐領域１２内の複数のヒットチェックポイントに対しては、これを図中７４で示すように、ボート７０が移動できない障害物領域を設定することにより、コース２０を左右の領域に仕切り、ボート７０が右又は左のいずれか一方の領域１１Ｂ、１１Ｃしか通過できないようにしておく。即ちこの領域１１Ｂ、１１Ｃが下流側の分岐コース２２、２４のガイド流路として機能する。このようにすることにより、上流側コース２０の終端付近では、ボート７０はいずれか一方の分岐コースへ近づいて行くため、その分岐判定をより確実に行うことができる。ここでは、領域７４として、ヒットチェックポイントを岩山を表す３次元オブジェクトで覆っている。
【００７７】
図５には、各コース２０、２２、２４に対応付けて設定された分岐判定用のヒットチェックポイントデータが示されている。図５において（Ａ）は、コース２０、同図（Ｂ）はコース２２、同図（Ｃ）はコース２４のデータをそれぞれ表す。
【００７８】
又、図５（Ａ）、（Ｂ）、（Ｃ）において、Ａで示す領域にはコース２０の図４（Ａ）に示すデータが記憶され、同図（Ｂ）、（Ｃ）のＢ、Ｃに示す領域には、コース２２、２４の図４（Ｂ）に示すデータが設定記憶されている。
【００７９】
そして、図５（Ａ）に示すデータの終端側には、コース２０から次に分岐する複数のコース、ここではＢコース、Ｃコースの先端のヒットチェックポイントの位置データ、即ち隣接するコースの最も近いヒットチェックポイントの位置データが記憶されている。例えば、図３を例に取れば、Ｂコース２２の先端のヒットチェックポイントの位置データとして、３番目のヒットチェックポイントの位置データが記憶され、Ｃコース２４の先頭位置データとしては同様に３番目のヒットチェックポイントの位置データが記憶されている。
【００８０】
又、図５（Ｂ）に示すように、Ｂコース２２の先頭には、上流側のＡコース２０の最終チェックポイントＭの位置データが記憶され、又このデータの終端には後述するようにこのＢコースから分岐するＤコース、Ｅコースの先端のチェックポイントの位置データが記憶されている。
【００８１】
同様に、図５（Ｃ）に示すようにＣコース２４のデータの先頭には、上流側のＡコース２０の最終チェックポイントＭの位置データが記憶され、又このデータの終端側には、Ｃコースから分岐するＦ、Ｇコースの先頭のチェックポイントの位置データが記憶されている。
【００８２】
このようにして構成された図５に示すデータは、コース１０上を移動するボート７０のヒットチェック動作だけではなく、分岐判定動作に用いられることになる。
【００８３】
（分岐判定）
以下に分岐判定の詳細を説明する。
【００８４】
図６には、本発明のゲーム装置のヒットチェック及び分岐判定を行うためのシステムの機能ブロック図が示されている。
【００８５】
本実施の形態の装置は、コースデータ記憶手段３０と、現在位置演算手段３２と、ヒットチェックポイント記憶手段３４と、ヒットチェックポイント演算更新手段３６と、ヒットチェック手段３８と、分岐判定手段４０とを含んで構成される。
【００８６】
前記コースデータ記憶手段３０は、コース１０を構成する各コース２０、２２、２４…のコースデータが記憶されている。ここでは各コース２０、２２、２４…に対応して図５に示すヒットチェック及び分岐判定用のデータが記憶されている。
【００８７】
前記現在位置演算手段３２は、プレーヤからの入力信号及び所定のゲームプログラムに基づき、プレーヤキャラクタであるボート７０のワールド座標系における現在位置（ｘ、ｙ、ｚ）を画像の各フレームに同期して演算し、これを演算更新手段３６、分岐判定手段４０及びヒットチェック手段３８へ向け出力する。
【００８８】
前記ヒットチェックポイント記憶手段３４内には、前回のフレームにおいて使用されたヒットチェックポイントが更新記憶される。ここに記憶されたヒットチェックポイントは、次のフレームでの選択対象となる複数のヒットチェックポイントを特定するために用いられる。ここでは、更新記憶されたヒットチェックポイントの前後３個ずつのヒットチェックポイント、即ち合計７個のヒットチェックポイントが選択対象となる。
【００８９】
前記ヒットチェックポイント演算更新手段３６は、各フレーム毎に演算されるボート７０の位置データ（ｘ、ｙ、ｚ）に基づき、前記記憶手段３４に記憶されたヒットチェックポイントに基づき、その前後３個ずつの合計７個の選択対象となるヒットチェックポイントを特定し、この中から最も近い距離にあるヒットチェックポイントを選択する。例えば、図２に示す（ｋ−３）から（ｋ＋３）の合計７個のヒットチェックポイントのデータが選択対象として特定され、しかも現在位置演算手段３２から同図において７０−２で示すボートの現在位置（ｘ´、ｙ´、ｚ´）が演算出力された場合には、これと最も近い（ｋ＋２）のヒットチェックポイントを選択し、これを分岐判定手段４０及びヒットチェック手段３８へ出力する。更に、このヒットチェックポイント（ｋ＋２）を新たな選択対象を特定するためのデータとして記憶手段３４に書き込むデータ更新動作を行う。
【００９０】
ヒットチェック手段３８及び分岐判定手段４０は、このようにして演算更新手段３６により決定された新たなヒットチェックポイントに基づき、コースデータ記憶手段３０から該当するヒットチェックポイントの位置データ及び付随データの読み出しを行う。
【００９１】
そして、ヒットチェック手段３８は、このようにして読み出されたヒットチェックポイントの位置データ及び付随データと、現在位置演算手段３２により演算されるボート７０の現在位置とに基づき、ボート７０がコース１０の左右両サイド又はコース内に存在する障害物と衝突するか否かのヒットチェック動作を行い、この結果を出力する。このヒットチェック出力は、ディスプレイ上に表示されるゲーム画面のゲーム演出等に用いられる。
【００９２】
又、分岐判定手段４０は、コースデータ記憶手段３０から読み出されたヒットチェックポイントの付随データに、分岐判定指示用のイベントデータが含まれているか否かの判断を行う。
【００９３】
そして、このイベントデータが含まれている場合には、ボート７０の現在位置と、図５に示すデータに含まれる各分岐コースの先頭チェックポイントの位置データとに基づき、現在位置と各分岐コースの先頭チェックポイント位置との間の距離を求め、その距離が近い方の分岐コースが現在選択されていると判断する。
【００９４】
特に、本実施の形態では図３に示すように分岐判定ゾーンには、コース２０を左右のガイド流路１１Ｂ、１１Ｃにしきる障害物７４が設定されている。従って、コース２０を移動するボート７０は分岐判定ゾーンに入ると、プレーヤの意志に従ってボート７０はガイド流路１１Ｂ、１１Ｃのいずれか一方に移動していくため、この分岐ゾーンに進入したボート７０の現在位置は下流側の分岐コース２２、２４の先頭のチェックポイント３のどちらに近いかがはっきりする。これにより、分岐判定手段４０は、ボート７０が複数の分岐コース２０、２４のどれを選択したかを正確に判定することができる。そして、このゲーム装置は、ボート７０が上流側のコース２０の終端側から外に出た時点で、前記分岐判定手段４０により判定された分岐コースへ連続的に移動することになる。この時、分岐したコース上における最初のチェックポイントは、図５（Ａ）に示すデータの終端側に含まれるＢコース又はＣコースのチェックポイントの先頭位置データにより決定される。
【００９５】
また、ボート７０は、一旦いずれか一方の分岐コース、例えばＢコース２２側へ進入したとしても、分岐コース２２を上流側のＡコースの分岐判定ゾーン１１まで逆走し、他方の分岐コースへ進入できるように構成されている。
【００９６】
この場合には、分岐判定手段４０は、ボート７０の逆方向への移動データに基づき、前述した順方向の場合と同様に分岐コースの選択判定を行う。
【００９７】
このように、本実施の形態では、ヒットチェックに用いられるデータを利用し、コースの分岐判定を行うことができるため、分岐判定のためのデータの増加を最小限に押え、かつＣＰＵの負担も低減することができる。
【００９８】
なお、下流側の分岐コース、例えばＢコース２２から上流側のＡコース２０へ逆走する場合には、ボート７０が下流側のコース２２の始端側から外に出た時点で、上流のＡコースへ連続的に移動することになる。この時、分岐したコース上における最初のチェックポイントは、図５（Ｂ）に示すデータの始端側に含まれるＡコースのチェックポイントの最終位置データにより決定される。
【００９９】
図７には、全体コース１０の例が示されている。全体コース１０が複数の分岐コースに分割され、同図では、（１）に示す場所でコース２０、２２、２４が接続される。同様に（２）、（３）に示す場所で、各々、コース２２、２６、２７、コース２４、２８、２９が接続される。この時、本実施の形態では、上流から下流に向かう順でコースを接続している。即ち、例えば（１）、（２）、（３）の順でコースを接続している。ここで（１）、（２）、（３）の箇所はコースが複数に分岐する分岐領域となる。
【０１００】
さらに、前記各コース２０、２２、２４…に対応して、図５に示すデータが作成され前記コースデータ記憶手段３０に書込記憶される。
【０１０１】
このようにして、本実施の形態によれば、複雑な形状に分岐するコースであっても、各分岐コースを個別設計、作成できるため、コース全体も簡易に、短い設計期間で作成することが可能となる。
【０１０２】
次に本実施の形態を適用した画像生成装置の例について説明する。
【０１０３】
図８（Ａ）に、画像生成装置の１つであるコースデータ作成ツールに本実施の形態を適用した場合の機能ブロック図の例を示す。開発者は、キーボード２００、マウス２０２などの操作手段を用いて、コースデータの作成に必要な種々のデータを入力したり、コースデータ作成ツールへの種々の指示を行う。
【０１０４】
処理部２１０は、コースデータ作成部２１２と、コースデータ作成部２１２で作成されたコースデータに基づいて画像を生成する画像生成部２１４とを含む。処理部２１０は、例えばＣＰＵ、ＤＳＰ、画像生成専用ＩＣなどのハードウェアにより構成される。
【０１０５】
情報記憶媒体２１６には、コースデータ作成プログラム、このプログラムの実行のために必要な種々のデータが格納されている。この情報記憶媒体２１６としては、例えば、ＦＤ、ＣＤＲＯＭ、ＩＣカード、ＤＶＤ、ハードディスク或いはメモリ等を使用できる。
【０１０６】
処理部２１０は、キーボード２００、マウス２０２からの入力や、情報記憶媒体２１６に格納される情報に基づいて処理を行う。これによりコースデータの作成に必要な種々の画像が表示部２１８に表示される。このコースデータ作成ツールによれば、各コース２０、２２、２４…の形状等を確認しながらコースデータを作成できるため、設計作業の効率化を図れる。更に、各コースに対し、図５に示すデータを効率よく作成することもできる。
【０１０７】
図８（Ｂ）は、ゲーム装置に本実施の形態を適用した例である。ゲームコントローラ２２０、２２２などの操作手段は、プレーヤが操作情報を入力するためのものである。処理部２３０は、プレーヤからの操作情報に基づいて、前述したヒットチェック、分岐判定およびその他のゲーム演算を行うゲーム演算部２３２と、このゲーム演算部２３２からの演算結果に基づいて画像を生成する画像生成部２３４とを含む。この処理部２３０は、例えばＣＰＵ、ＤＳＰ、画像生成専用のＩＣなどのハードウェアにより構成される。
【０１０８】
情報記憶媒体２３６には、前述した処理により作成されたコースデータ、例えば図８に示すコース、図４、図５に示す各コース毎のデータ及びその他のデータが記憶されるとともに、ゲームプログラム等が格納されている。この情報記憶媒体２１６としては、例えば、ＦＤ、ＣＤＲＯＭ、ＩＣカード、ＤＶＤ、ハードディスク或いはメモリ等を使用できる。
【０１０９】
表示部２３８上には、上記コースデータに基づき生成されるコース２０の画像、プレーヤが操作するボート（移動体）７０の画像等が表示される。コースデータは、コース２０やボート７０の画像の生成に利用したり、ボート７０の位置や方向の演算に利用する。なお表示部２３８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１１０】
ゲーム装置が業務用のものであれば、コースデータ、ゲームプログラムは例えばメモリ等から成る情報記憶媒体に格納され、ゲーム装置が家庭用のものであれば、コースデータ、ゲームプログラムは例えばＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等から成る情報記憶媒体に格納される。また複数の端末をホスト装置を介して通信回線で接続し、ゲームプログラム等を配給するタイプのゲーム装置においては、コースデータ、ゲームプログラムはホスト装置の情報記憶媒体、例えば磁気ディスク装置、メモリ等に格納される。
【０１１１】
図９に、画像生成装置の１つである業務用ゲーム装置に本実施の形態を適用した場合の外観図の例を示す。プレーヤはシート２５０に座り、パドル２５２を操作し、表示部２５４に映し出されるボート（移動体）をオブジェクト空間内で移動させる。この場合、パドル２５２が図８（Ｂ）のゲームコントローラ２２０、２２２に相当する。なお２人のプレーヤがゲームプレイする場合には、第１のプレーヤがパドル２５２の左側を持ち、第２のプレーヤがパドル２５２の右側を持って、パドル２５２を協力して操作する。
【０１１２】
図１０に、図８（Ｂ）の画像生成部２３４により生成された画像の例を示す。プレーヤは、図９のパドル２５２を操作して、オブジェクト空間内のＡコース２０上でボート７０を移動させる。そして図１０に示すようにＡコース２０は、Ｂ、Ｃコース２２、２４に分岐しており、プレーヤは自身の判断でどちらのコースに進むかを選択する。
【０１１３】
図１１には、プレーヤがＣコースを選択し、このＣコース２４上を移動している場合の画像が示されている。プレーヤは一旦選択したＣコース２４が気に入らない場合には、パドル２５２を操作してこのＣコース２４から上流側のＡコースの分岐判定領域までコースを逆走し、他方の分岐コース２２を選択し直すことができる。図１２には、前記再選択動作により選択されたＢコース２２上を移動している場合の画像が示されている。
【０１１４】
このように、本実施の形態によれば、複雑に分岐したコース１０を、分岐コースを選択しながら川下りゲームを行う場合に、ある分岐点で分岐コースの選択を間違えた場合や、分岐コースが気に入らなかった場合に、プレーヤの希望する分岐コースを選択し直すことができるため、よりプレーヤの意向に添った面白いゲームを実現することができる。
【０１１５】
なお本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１１６】
例えば本発明によりデータが作成されるコースは、本実施の形態で説明したようなラフティングによる川下りコースに限定されものではない。例えば車・スキー・スノーボード・モータボート・ウォータービークル・宇宙船の走行コース等、種々のコースを作成できる。
【０１１７】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、画像を生成するシステム基板等の種々の装置に適用できる。
【０１１８】
【図面の簡単な説明】
【図１】本実施の形態のゲーム装置に使用される分岐コースの説明図である。
【図２】本実施の形態で実際のヒットチェックのためのヒットチェックポイントの説明図である。
【図３】コースの分岐領域付近に設定されたヒットチェックポイントの説明図である。
【図４】各コースに対応して設定されるヒットチェックポイントデータの説明図である。
【図５】図４に示すヒットチェックポイントデータと分岐判定用のデータとを組み合わせて構成された説明図であり、同図（Ａ）はＡコース、同図（Ｂ）、同図（Ｃ）はＢコース、Ｃコースのデータの説明図である。
【図６】本実施の形態のゲーム装置の機能ブロック図である。
【図７】本実施の形態で使用される全体コースの例を示す図である。
【図８】本実施の形態が適用されるゲーム装置の機能ブロック図の例を示す図である。
【図９】本実施の形態が適用される業務用ゲーム装置の外観図の例を示す図である。
【図１０】本実施の形態により生成される画像の例を示す図である。
【図１１】本実施の形態により生成される画像の例を示す図である。
【図１２】本実施の形態により生成される画像の例を示す図である。
【符号の説明】
１０  コース
１２  分岐領域
２０  Ａコース
２２  Ｂコース
２４  Ｃコース
３０  コースデータ記憶手段
３２  現在位置演算手段
３４  ヒットチェックポイント記憶手段
３６  ヒットチェックポイント演算更新手段
３８  ヒットチェック手段
４０  分岐判定手段
７０  ボート
２２０  ゲームコントローラ
２２２  ゲームコントローラ
２３０  処理部
２３２  ゲーム演算部
２３４  画像生成部
２３６  情報記憶媒体
２３８  表示部
【図１】
0003765649.tif 000002
【図２】
0003765649.tif 000003
【図３】
0003765649.tif 000004
【図４】
0003765649.tif 000005
【図５】
0003765649.tif 000006
【図６】
0003765649.tif 000007
【図７】
0003765649.tif 000008
【図８】
0003765649.tif 000009
【図９】
0003765649.tif 000010
【図１０】
0003765649.tif 000011
【図１１】
0003765649.tif 000012
【図１２】
0003765649.tif 000013