(57)【要約】【課題】  白熱したゲーム展開を期待できるレースゲームを提供する。【解決手段】  プレイヤによって操縦されるプレイヤ移動体と所定のアルゴリズムに基づき自動操縦される複数のノンプレイヤ移動体とが仮想空間に設けられたコース上で競争するレースゲームにおいて、複数のノンプレイヤ移動体に対して異なる目標順位を設定し、各ノンプレイヤ移動体に対して予め設定されている走行性能値を目標順位に応じてそれぞれ変更し、変更された走行性能値に従って各ノンプレイヤ移動体を自動操縦する。【選択図】  図５
2005137449.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤによって操縦されるプレイヤ移動体と所定のアルゴリズムに基づき自動操縦される複数のノンプレイヤ移動体とが仮想空間に設けられたコース上で競争するレースゲームのためのレースゲームプログラムであって、コンピュータを、
前記複数のノンプレイヤ移動体のうちの少なくとも２台のノンプレイヤ移動体に対して異なる目標順位を設定する目標順位設定手段、
前記ノンプレイヤ移動体に対して予め設定されている走行性能値を前記目標順位設定手段によって設定された目標順位に応じて変更する走行性能値変更手段、および、
前記走行性能値変更手段によって変更された走行性能値に従って前記ノンプレイヤ移動体を自動操縦する自動操縦手段として機能させるためのレースゲームプログラム。
【請求項２】
前記走行性能値は、最高速度性能値および加速性能値の少なくとも一つを含むことを特徴とする、請求項１に記載のレースゲームプログラム。
【請求項３】
当該レースゲームプログラムは、前記コンピュータを、前記コース上を走行中の前記ノンプレイヤ移動体の現在順位であって、前記複数のノンプレイヤ移動体間における現在順位を取得する現在順位取得手段としてさらに機能させるものであり、
前記自動操縦手段は、前記ノンプレイヤ移動体の現在順位が目標順位に近づくように当該ノンプレイヤ移動体の速度を制御するものであることを特徴とする、請求項１に記載のレースゲームプログラム。
【請求項４】
当該レースゲームプログラムは、前記コンピュータを、前記目標順位設定手段によって設定された目標順位を変更する目標順位変更手段としてさらに機能させるものであることを特徴とする、請求項１に記載のレースゲームプログラム。
【請求項５】
前記目標順位変更手段は、前記ノンプレイヤ移動体がコース上を走行しているときに前記目標順位を変更するものであることを特徴とする、請求項４に記載のレースゲームプログラム。
【請求項６】
前記複数のノンプレイヤ移動体は、２台のライバル移動体とその他の１台以上のノーマル移動体から成り、
前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するものであり、
前記目標順位変更手段は、目標順位が１位である第１ライバル移動体が、目標順位が２位である第２ライバル移動体から大きく遅れたときに、当該第１ライバル移動体と当該第２ライバル移動体の目標順位を入れ替えるものであることを特徴とする、請求項５に記載のレースゲームプログラム。
【請求項７】
前記レースゲームが、前記プレイヤ移動体と前記ノンプレイヤ移動体から成る複数の移動体が一連の複数のレースの結果に基づく総合得点を競い合うものであり、
当該レースゲームプログラムは、前記コンピュータを、各レースが終了する度にその時点での各移動体の総合得点を算出する総合得点算出手段としてさらに機能させるものであり、
前記目標順位変更手段は、あるレースが終了してから次のレースが開始するまでの間に前記総合得点算出手段の算出結果に基づいて前記目標順位を変更するものであることを特徴とする、請求項４に記載のレースゲームプログラム。
【請求項８】
前記複数のノンプレイヤ移動体は、２台のライバル移動体とその他の１台以上のノーマル移動体から成り、
前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するものであり、
前記目標順位変更手段は、あるレースが終了した時点で、前記２台のライバル移動体のいずれかの総合得点または当該総合得点に基づく総合順位が、前記プレイヤ移動体の総合得点または総合順位を大きく上回っている場合に、前記２台のライバル移動体のうち、総合得点が高い方のライバル移動体の目標順位を２位に変更し、総合得点が低い方のライバル移動体の目標順位を１位に変更するものであることを特徴とする、請求項７に記載のレースゲームプログラム。
【請求項９】
前記複数のノンプレイヤ移動体は、２台のライバル移動体とその他の１台以上のノーマル移動体から成り、
前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するものであり、
前記目標順位変更手段は、あるレースが終了した時点で、前記２台のライバル移動体の総合得点がいずれも前記プレイヤ移動体の総合得点を大きく下回っている場合に、目標順位が１位である第１ライバル移動体と目標順位が２位である第２ライバル移動体の目標順位をいずれも１位に変更するものであることを特徴とする、請求項７に記載のレースゲームプログラム。
【請求項１０】
請求項１に記載のレースゲームプログラムを記録したコンピュータ読み取り可能な記録媒体と、当該レースゲームプログラムを実行するコンピュータとを備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はレースゲームプログラムおよびゲーム装置に関し、より特定的には、プレイヤによって操縦されるプレイヤ移動体と所定のアルゴリズムに基づき自動操縦される複数のノンプレイヤ移動体とが仮想空間に設けられたコース上で競争するレースゲームに関する。
【背景技術】
【０００２】
従来、複数の移動体がコース上で競争するレースゲームにおいて、白熱したレース展開を実現するための工夫が考えられている。例えば、特許文献１に記載のゲームシステムでは、２台のレーシングカーの車間距離が大きいときに、これらレーシングカーの車間距離を縮めるように最高速度等の性能値が変更される。これにより、特定のレーシングカーだけが他のレーシングカーに対して大きくリードしたり、もしくは大きく遅れたりといった状況が生じにくく、レースがより白熱したものとなる。
【特許文献１】特許第２７４７４０５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１に記載のゲームシステムでは、複数のプレイヤがそれぞれ操縦するレーシングカーに対して、プレイヤ間の能力差を縮めるような効果を与えるために、レーシングカー間の車間を調整するための処理を行っている。このため、、プレイヤが操作する場合に比べて比較的正確な移動体の操縦が行なわれる所定のアルゴリズムに基づいたコンピュータによる自動操縦の場合に、上記特許文献１の発明を単に適用したときには以下の問題が顕著に現れる。
【０００４】
つまり、より後方を走行するレーシングカーの走行性能が、より前方を走行するレーシングカーの走行性能よりも高くなるように制御されるので、コンピュータが自動操縦するレーシングカー同士が団子状態になるようなゲーム展開となる。したがって、コンピュータが自動操縦するレーシングカーの順位がレース中にめまぐるしく変化するので、プレイヤにとっては、特定のレーシングカーと順位を競い合っているような感覚が得られず、また、レーシングカート毎の個性が感じられないといった問題がある。
【０００５】
また、プレイヤが操縦するレーシングカーとコンピュータが操縦する複数のレーシングカーとが一連の複数のレースの結果に基づく総合得点を競い合うようなレースゲームに対して上記特許文献１の発明を適用した場合には、コンピュータが操縦する各レーシングカーの順位がレース毎にランダムになる。このため、コンピュータが操縦する各レーシングカーの総合得点が同じような得点となる場合には、プレイヤだけが突出して高い得点を獲得したり、また、たまたま安定した順位をコンピュータが操縦するレーシングカーが獲得した場合には、各レースの順位がそれほど高くなくても総合順位で首位になってしまう可能性もあり、ゲームの難易度が下がってしまうといった問題がある。
【０００６】
ところで、コンピュータが自動操縦する各レーシングカーに個性を持たせるために、走行性能の異なる複数のレーシングカーを用意することが考えられるが、この場合、より高性能なレーシングカーほどレース結果が上位となる。つまり、何度レースを繰り返しても、コンピュータが自動操縦する各レーシングカーの順位は毎回ほぼ同じような順位となるため、レース結果が単調なものとなり、プレイヤは何度もゲームをプレイするうちに新鮮さを感じなくなるといった問題がある。
【０００７】
それゆえに本発明の目的は、コンピュータが操縦する複数の移動体のうちの特定の移動体が、プレイヤが操縦する移動体に対して強力なライバルとして振舞わせることができる、レースゲームを提供することである。
【０００８】
また、本発明の他の目的は、複数のレース結果によって最終的な結果を決定する場合にも、一連のレースを通じて特定の移動体が、プレイヤが操縦する移動体に対するライバルとすること可能なレースゲームを提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は以下の構成を採用した。なお、括弧内の参照符号等は、本発明の理解を助けるために図面との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【００１０】
本発明の請求項１に係るレースゲームプログラムは、プレイヤによって操縦されるプレイヤ移動体（カートＢ）と所定のアルゴリズムに基づき自動操縦される複数のノンプレイヤ移動体（カートＡ、Ｃ〜Ｇ）とが仮想空間に設けられたコース上で競争するレースゲームのためのものであって、コンピュータを、目標順位設定手段（２１、４３）、走行性能値変更手段（２１、４５）および自動操縦手段（２１、４７）として機能させるためのものである。目標順位設定手段は、前記複数のノンプレイヤ移動体のうちの少なくとも２台のノンプレイヤ移動体に対して異なる目標順位を設定するものである（図７）。走行性能値変更手段は、前記ノンプレイヤ移動体に対して予め設定されている走行性能値（図６）を前記目標順位設定手段によって設定された目標順位に応じて変更するものである（図８）。自動操縦手段は、前記走行性能値変更手段によって変更された走行性能値に従って前記ノンプレイヤ移動体を自動操縦するものである。
【００１１】
本発明の請求項２に係るレースゲームプログラムは、請求項１のものにおいて、前記走行性能値は、最高速度性能値および加速性能値の少なくとも一つを含むことを特徴とする（図６）。
【００１２】
本発明の請求項３に係るレースゲームプログラムは、請求項１のものにおいて、当該レースゲームプログラムは、前記コンピュータを、前記コース上を走行中の前記ノンプレイヤ移動体の現在順位であって、前記複数のノンプレイヤ移動体間における現在順位を取得する現在順位取得手段（２１、４９）としてさらに機能させるものであり、前記自動操縦手段は、前記ノンプレイヤ移動体の現在順位が目標順位に近づくように当該ノンプレイヤ移動体の速度を制御するものである（Ｓ２０９）ことを特徴とする。
【００１３】
本発明の請求項４に係るレースゲームプログラムは、請求項１のものにおいて、当該レースゲームプログラムは、前記コンピュータを、前記目標順位設定手段によって設定された目標順位を変更する目標順位変更手段（２１、５１）としてさらに機能させるものであることを特徴とする。
【００１４】
本発明の請求項５に係るレースゲームプログラムは、請求項４のものにおいて、前記目標順位変更手段は、前記ノンプレイヤ移動体がコース上を走行しているときに前記目標順位を変更するものである（Ｓ２１５、Ｓ２１７）ことを特徴とする。
【００１５】
本発明の請求項６に係るレースゲームプログラムは、請求項５のものにおいて、前記複数のノンプレイヤ移動体は、２台のライバル移動体（カートＡ、Ｄ）とその他の１台以上のノーマル移動体（カートＣ、Ｅ〜Ｇ）から成り、前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するもの（図７）であり、前記目標順位変更手段は、目標順位が１位である第１ライバル移動体が、目標順位が２位である第２ライバル移動体から大きく遅れたとき（例えば、第１ライバル移動体が第２ライバル移動体からどれだけ遅れたかを表すパラメータ（例えば、順位差、時間差、車間距離、ポイント差など）が所定の閾値を超えたとき）に、当該第１ライバル移動体と当該第２ライバル移動体の目標順位を入れ替えるものである（Ｓ４０３）ことを特徴とする。
【００１６】
本発明の請求項７に係るレースゲームプログラムは、請求項４のものにおいて、前記レースゲームが、前記プレイヤ移動体と前記ノンプレイヤ移動体から成る複数の移動体が一連の複数のレース（第１レース〜第５レース）の結果に基づく総合得点を競い合うものであり、当該レースゲームプログラムは、前記コンピュータを、各レースが終了する度にその時点での各移動体の総合得点を算出する総合得点算出手段（２１、５３）としてさらに機能させるものであり、前記目標順位変更手段は、あるレースが終了してから次のレースが開始するまでの間に前記総合得点算出手段の算出結果に基づいて前記目標順位を変更するものである（Ｓ１１５）ことを特徴とする。
【００１７】
本発明の請求項８に係るレースゲームプログラムは、請求項７のものにおいて、前記複数のノンプレイヤ移動体は、２台のライバル移動体（カートＡ、Ｄ）とその他の１台以上のノーマル移動体（カートＣ、Ｅ〜Ｇ）から成り、前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するもの（図７）であり、前記目標順位変更手段は、あるレースが終了した時点で、前記２台のライバル移動体のいずれかの総合得点または当該総合得点に基づく総合順位が、前記プレイヤ移動体の総合得点または総合順位を大きく上回っている場合（図２２）に、前記２台のライバル移動体のうち、総合得点が高い方のライバル移動体の目標順位を２位に変更し、総合得点が低い方のライバル移動体の目標順位を１位に変更するもの（図２３）であることを特徴とする。
【００１８】
本発明の請求項９に係るレースゲームプログラムは、請求項７のものにおいて、前記複数のノンプレイヤ移動体は、２台のライバル移動体（カートＡ、Ｄ）とその他の１台以上のノーマル移動体（カートＣ、Ｅ〜Ｇ）から成り、前記目標順位設定手段は、前記２台のライバル移動体のうちの一方のライバル移動体の目標順位を１位に設定し、かつ他方のライバル移動体の目標順位を２位に設定するもの（図７）であり、前記目標順位変更手段は、あるレースが終了した時点で、前記２台のライバル移動体の総合得点がいずれも前記プレイヤ移動体の総合得点を大きく下回っている場合（図２０）に、目標順位が１位である第１ライバル移動体と目標順位が２位である第２ライバル移動体の目標順位をいずれも１位に変更するもの（図２１）であることを特徴とする。
【００１９】
本発明の請求項１０に係るゲーム装置は、請求項１のレースゲームプログラムを記録したコンピュータ読み取り可能な記録媒体と、当該レースゲームプログラムを実行するコンピュータとを備える。
【発明の効果】
【００２０】
本発明の請求項１に記載の発明によれば、少なくとも二台のノンプレイヤ移動体に対して目標順位を設定し、当該ノンプレイヤ移動体の走行性能値を変更して、レースゲーム結果をある程度意図的に制御することができる。このため、例えばプレイヤの操縦する移動体が特定のノンプレイヤ移動体と競いあうような演出をすることができる。
【００２１】
本発明の請求項２に記載の発明によれば、最高速度性能値または加速性能値を目標順位に応じて変更するという簡易なパラメータ変更によって、レースにおけるノンプレイヤ移動体をある程度意図的に制御することができる。
【００２２】
本発明の請求項３に記載の発明によれば、現在順位を取得し、当該現在順位を目標順位に近づけるようにするので、より効果的に目標順位に近づけることができる。
【００２３】
本発明の請求項４に記載の発明によれば、レースゲーム結果を柔軟に調整することができる。
【００２４】
本発明の請求項５に記載の発明によれば、各レースの結果を柔軟に調整することができる。
【００２５】
本発明の請求項６に記載の発明によれば、２台のライバル移動体に対して、目標順位付けをするので、例えば目標順位が１位のライバル移動体がアクシデント等により大きく遅れ、結果として目標順位が２位のライバル移動体の現在順位が１位となったときに、目標順位が２位のライバル移動体が２位になろうとして減速してしまう問題を回避できる。
【００２６】
本発明の請求項７に記載の発明によれば、総合得点を柔軟に調整することができる。
【００２７】
本発明の請求項８に記載の発明によれば、総合得点でプレイヤ移動体がライバル移動体に大差をつけられているときに、総合得点が高い方のライバル移動体の目標順位を２位に変更することで、特定のライバル移動体がトップを独走してプレイヤがやる気をなくしてしまう状況を回避することができる。
【００２８】
本発明の請求項９に記載の発明によれば、総合得点でプレイヤ移動体がライバル移動体に大差をつけているときに、２台のライバル移動体の目標順位をともに１位にすることで、ライバル移動体同士が競り合ってゲームの難易度が上昇し、レースがより白熱したものとなる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施形態について図面を参照して説明する。
【００３０】
図１は、本発明の一実施形態に係るゲームシステムの構成を示す外観図であり、図２はそのブロック図である。図１および図２に示すように、ゲームシステムは、ＴＶモニタ１１、ＤＶＤ−ＲＯＭ１３、ゲーム機１５、メモリカード１７、コントローラ１９を備える。ＤＶＤ−ＲＯＭ１３およびメモリカード１７は、ゲーム機１５に着脱自在に装着される。コントローラ１９は、通信ケーブルを介して、ゲーム機１５に設けられた複数（図１では４つ）のコントローラポート用コネクタのいずれかに接続される。ＴＶモニタ１１は、ＡＶケーブル等によってゲーム機１５と接続される。なお、ゲーム機１５とコントローラ１９との通信は無線通信であってもよい。以下、図２を参照しながら、ゲームシステムの各部についてより詳細に説明する。
【００３１】
ＤＶＤ−ＲＯＭ１３は、ゲームプログラムやゲームデータ等を固定的に記憶している。プレイヤがゲームをプレイするとき、ＤＶＤ−ＲＯＭ１３はゲーム機１５に装着される。なお、ゲームプログラム等を記憶する手段として、ＤＶＤ−ＲＯＭ１３の代わりに例えばＣＤ−ＲＯＭ、ＭＯ、メモリカード、ＲＯＭカートリッジ等のコンピュータ読み取り可能な任意の記録媒体を用いてもよい。
【００３２】
メモリカード１７は、バックアップメモリ３５として例えばフラッシュメモリ等の書き換え可能な記憶媒体を有している。バックアップメモリ３５には、例えばゲームのセーブデータ等のデータが記録される。
【００３３】
ゲーム機１５は、ＤＶＤ−ＲＯＭ１３に記録されているプログラムを読み出し、読み出したプログラムに応じた処理を行う。
【００３４】
コントローラ１９は、プレイヤがゲーム操作に関する入力を行うための入力装置であり、複数の操作スイッチを有する。コントローラ１９は、プレイヤによる操作スイッチの押圧等に応じて操作データをゲーム機１５に出力する。
【００３５】
ＴＶモニタ１１は、ゲーム機１５から出力された画像データを画面に表示する。
【００３６】
次に、ゲーム機１５の構成について説明する。図２において、ゲーム機１５には、ＣＰＵ２１、ワークメモリ２３、メモリカード１７とデータのやり取りを行うための外部メモリＩ／Ｆ２５、コントローラ１９からの操作データを受け取るためのコントローラＩ／Ｆ２７、画像処理専用のメモリであるＶＲＡＭ２９、ゲーム画像を生成するためのＧＰＵ３１、ＤＶＤ−ＲＯＭ１３からデータを読み込むための光ディスクドライブ３３が設けられている。
【００３７】
ゲーム開始の際、まず、光ディスクドライブ３３は、ゲーム機１５に装着されたＤＶＤ−ＲＯＭ１３を駆動する。ＤＶＤ−ＲＯＭ１３から読み込まれたゲームプログラムはワークメモリ２３に記憶される。このワークメモリ２３上のゲームプログラムをＣＰＵ２１が実行することによってゲーム処理が開始される。ゲーム開始後、プレイヤがコントローラ１９を操作すると、コントローラ１９は操作データをゲーム機１５に出力する。ＣＰＵ２１は、この操作データに応じてゲーム処理を行う。なお本実施形態では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばワークメモリ２３の一部を画像処理用のメモリとして利用する方式（ＵＭＡ：Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を採用してもよい。
【００３８】
次に、図３を参照してＤＶＤ−ＲＯＭ１３のメモリマップについて説明する。ＤＶＤ−ＲＯＭ１３には、レースゲームプログラム４１と、このレースゲームプログラム４１で利用するレースゲームデータ５５が記憶されている。
【００３９】
レースゲームプログラム４１には、少なくとも目標順位設定プログラム４３、走行性能値変更プログラム４５、自動操縦プログラム４７、現在順位取得プログラム４９、目標順位変更プログラム５１、総合得点算出プログラム５３が含まれている。
【００４０】
レースゲームデータ５５には、少なくとも基本走行性能値データ５７、オフセットデータ５９が含まれている。
【００４１】
以下、本実施形態のゲームシステムの動作について説明する。
【００４２】
図４は、本ゲームシステムにおいて実行されるレースゲームのゲーム画面例を示している。このレースゲームは、プレイヤによって操縦されるプレイヤカートと所定のアルゴリズムに基づき自動操縦される複数のノンプレイヤカートとが仮想空間に設けられたコース上で競争するレースゲームであって、１つのレースが終わる毎にそのレース結果に応じた得点が各カートに与えられ、最終的に５つのレースが終了した時点での総合得点を競い合うものである。なお、本実施形態では複数のカートが競争するレースゲームの例を説明するが、本発明は、カートに限らず、飛行物体や人物など、任意の移動体が競争するレースゲームに適用することができる。
【００４３】
以下、図５のフローチャートを参照して、ゲーム処理の流れを説明する。
【００４４】
ゲーム処理が開始されると、まずＣＰＵ２１は、予め用意された複数のカート（ここではカートＡ〜Ｇの７台のカート）の中から所望のカートをプレイヤに選択させる（Ｓ１０１）。各カートには、図６に示すような基本走行性能値（基本最高速度および基本加速度）が予め設定されており、この設定値はＤＶＤ−ＲＯＭ１３に基本走行性能値データ５７として記録されている。なお、図６の例では、各カートに対して異なる基本走行性能値が設定されているが、これらの値は各カート間で大きな性能差が現れにくい値に設定されている。また、本発明はこれに限らず、全カートにほぼ同一の基本走行性能値が設定されていてもよい。また、基本走行性能値としては、最高速度や加速度に限らず、走行性能に現れるようなパラメータであればよく、例えば減速率や最低速度などでもよい。
【００４５】
以下では、ステップ１０１で、プレイヤがカートＢを選択したと仮定して説明を続ける。プレイヤは、このカートＢをプレイヤカートとして操縦して、残りのノンプレイヤカート（カートＡ、Ｃ〜Ｇ）と競争することとなる。
【００４６】
次にＣＰＵ２１は、ステップ１０１においてプレイヤにより選択されなかったカート（ここではカートＡ、Ｃ〜Ｇ）の中から、２台のカートをライバルカートとして決定する（Ｓ１０３）。ライバルカートとは、ノンプレイヤカートの中でも特別なカートであって、他のノンプレイヤカート（以下、ノーマルカートと称す）よりも高い総合得点を獲得することを期待されたカートである。つまりライバルカートは、プレイヤカートにとって強力なライバルとなる。ライバルカートは、ランダムに決定してもよいし、所定の法則に従って決定してもよい。ライバルカートがランダムに決定される場合には、プレイヤが一連のゲームを行なうたびに同じカートを選択しても、異なる種類のカートがライバルカートとして選ばれるので、ライバルがマンネリ化することを防ぐことができる。
【００４７】
以下では、ステップ１０２で、カートＡとカートＤをライバルカートとして決定したと仮定して説明を続ける。
【００４８】
次にＣＰＵ２１は、図３の目標順位設定プログラム４３に基づいて、ノンプレイヤカートの目標順位を決定する（Ｓ１０５）。ここで、２台のライバルカートの一方については目標順位が１位に、他方については目標順位が２位が設定される。そして、ノーマルカートについては目標順位が３位以下に設定される。２台のライバルカートのいずれの目標順位を１位に設定するかは、ランダムに決定してもよいし、所定の法則に従って決定してもよい。ノーマルカートの目標順位についても同様である。
【００４９】
ステップ１０５で各ノンプレイヤカートに対して設定された目標順位は、図７に示すような目標順位データとしてワークメモリ２３に記憶される。以下では、ステップ１０５で、各ノンプレイヤカートに対して図７に示すような目標順位を設定したと仮定して説明を続ける。ステップ１０５で決定した目標順位は、後述する図１０のステップ２０５においてノンプレイヤカートの走行性能値を決定する際に影響を与える。具体的には、図６に示す基本走行性能値に対して、図８に示すような目標順位に応じたオフセットを付加することにより、各ノンプレイヤカートの走行性能値が決定される。例えば、目標順位が１位であるカートＡの最高速度は１３０×１．３＝１６９、加速度は２．５×１．２＝３．０と決定される。図８に示すデータは、ＤＶＤ−ＲＯＭ１３にオフセットデータ５９として記憶されている。
【００５０】
以上の処理が完了すると、ＣＰＵ２１は、レース処理を開始する（Ｓ１０７）。各ノンプレイヤカートの走行性能値は、後述する図１０のステップ２０５において目標順位に応じたオフセットが付加されることになるため、レース中では図９に示すように目標順位が上位のノンプレイヤカートほど実際の順位も上位になる可能性が高くなる。特に２台のライバルカートは、ノンプレイヤカート中の順位（すなわちプレイヤカートを除いた順位）で１位と２位を占める可能性が高くなる。
【００５１】
以下、図１０のフローチャートを参照して、ステップ１０７のレース処理の詳細を説明する。
【００５２】
レース処理が開始されると、まずＣＰＵ２１は、コントローラからの操作データを読み込む（Ｓ２０１）。そして、操作データに基づいて、プレイヤカートの速度を計算する（Ｓ２０３）。
【００５３】
次にＣＰＵ２１は、図３の走行性能値変更プログラム４５に基づいて、ノンプレイヤカートの走行性能値を決定する（Ｓ２０５）。具体的には、図８に示すオフセットデータ５９に基づいて、図６に示す基本走行性能値に対して目標順位に応じたオフセットを付加することにより、各ノンプレイヤカートの走行性能値を決定する。
【００５４】
次にＣＰＵ２１は、図３の現在順位取得プログラム４９に基づいて、各ノンプレイヤカートの現在順位を検出する（Ｓ２０７）。なお、ここでいう「現在順位」とは、ノンプレイヤカート中の順位（すなわちプレイヤカートを除いた順位）を指すものとする。例えば、図９において、カートＦの現在順位は５位である。
【００５５】
次にＣＰＵ２１は、図３の自動操縦プログラム４７に基づいて、各ノンプレイヤカートの速度を計算する（Ｓ２０９）。ここでは、各ノンプレイヤカートが目標順位に応じた位置取りで走行するように速度が制御される。このような制御の一例を図１１のフローチャートを参照して説明する。
【００５６】
図１１において、ＣＰＵ２１は、まず処理対象となるノンプレイヤカートを選択する（Ｓ３０１）。そして、選択したカートの現在順位（プレイヤカートを除いた順位）が目標順位よりも高いかどうか判定する（Ｓ３０３）。判定の結果、現在順位が目標順位よりも高かった場合は減速し（Ｓ３０７）、現在順位が目標順位と等しい、または目標順位よりも低かった場合は加速する（Ｓ３０５）。例えば、図１２において、カートＤの現在順位（１位）は目標順位（２位）よりも高いため、カートＤについては減速し、一方、カートＡの現在順位（２位）は目標順位（１位）よりも低いため、カートＡについては加速する。なお、ステップ３０５では、加速後の速度が図１０のステップ２０５で決定された最高速度を超えないように加速が行われる。また、ステップ３０７では、減速後の速度が所定の下限速度を下回らないように減速が行われる。このような下限速度を設ける理由は、減速の結果、ノンプレイヤカートの速度が不自然に遅くなってしまってプレイヤに違和感を与えてしまうことを防止するためである。次にＣＰＵ２１は、全てのノンプレイヤカートの処理が完了したかどうかを判定し（Ｓ３０９）、未処理のノンプレイヤカートが存在する場合にはステップ３０１に戻る。
【００５７】
なお、ステップ２０９では、各ノンプレイヤカートが目標順位に応じた位置取りで走行するように各ノンプレイヤカートの速度が制御されればよく、その具体的制御の内容は図１１の処理に限定されない。例えば、図１３に示すように、目標順位がより上位のノンプレイヤカートからの車間距離ΔＤをモニタし、この車間距離ΔＤが所定値となるようにノンプレイヤカートを加速または減速するようにしてもよい。
【００５８】
ステップ２０９におけるノンプレイヤカートの速度の制御により、各ノンプレイヤカートは基本的には図９に示すように目標順位に応じた位置取りで走行することとなる。ただし、スピンやコースアウトや走行妨害や衝突などのアクシデントが発生し得るため、常に図９に示すような位置取りで各ノンプレイヤカートが走行するとは限らない。
【００５９】
図１０において、ステップ２０９の後、ＣＰＵ２１は、ステップ２０３およびステップ２０９の結果に基づいて、仮想空間における各カート（プレイヤカートおよびノンプレイヤカート）の位置を更新する（Ｓ２１１）。そして、ＣＰＵ２１（またはＧＰＵ３１）は、図４に示すようなゲーム画像を生成し、このゲーム画像を表示するための映像信号をＴＶモニタ１１に出力する（Ｓ２１３）。
【００６０】
次にＣＰＵ２１は、図３の目標順位変更プログラム５１に基づいて、ライバルカートの目標順位変更処理を行う（Ｓ２１５）。図１４に、このステップ２１５の詳細を示す。図１４において、ＣＰＵ２１は、まず目標順位が１位のライバルカート（ここではカートＡ）が、目標順位が２位のライバルカート（ここではカートＢ）から大きく遅れたかどうか判定する（Ｓ４０１）。「大きく」遅れたかどうかの判定は、ライバルカート間の車間距離が所定値を超えたかどうかで判定してもよいし、２台のライバルカートの現在順位の差が所定値を超えたかどうかで判定してもよいし、２台のカートがコース上のチェックポイントを通過したタイムの差が所定値を超えたかどうかで判定してもよい。判定の結果、目標順位が１位のライバルカートが、目標順位が２位のライバルカートから大きく遅れたと判定された場合には、２台のライバルカートの目標順位を入れ替える（Ｓ４０３）。具体的には、ワークメモリ２３に記憶されている図７の目標順位データを図１５のように変更する。
【００６１】
ここで、ステップ２１５の処理の効果について説明する。
【００６２】
まず、仮にステップ２１５の処理が存在しない場合を考える。例えば図９のような状態で目標順位が１位のカートＡがコースアウトして順位が最下位にまで落ちてしまったとする。すると、目標順位が２位のノンプレイヤカートは、現在順位が１位に繰り上がるため、目標順位に応じた順位で走行しようとして減速することとなる。この減速はカートＤがカートＡに追い抜かれるまで続くため、その結果、プレイヤカートは容易に首位に立ててしまい、ゲームがつまらなくなる。
【００６３】
一方、ステップ２１５の処理が存在する場合には、カートＡの順位が最下位にまで落ちてしまった時点でカートＡとカートＤの目標順位が入れ替わる、すなわちカートＡの目標順位が２位となり、カートＤの目標順位が１位となる。よって、カートＤは減速することなく首位を走行し続けることとなり、上記の問題は発生しない。つまり、目標順位が１位のライバルカートがアクシデントにより大きく遅れてしまった場合にも白熱したレースが引き続き展開されることとなる。
【００６４】
図１０において、ステップ２１５の後、ＣＰＵ２１は、図３の目標順位変更プログラム５１に基づいて、ノーマルカートの目標順位変更処理を行う（Ｓ２１７）。図１６に、このステップ２１７の詳細を示す。図１６において、ＣＰＵ２１は、まず処理対象となるノーマルカートを選択する（Ｓ５０１）。そして、選択したカートの現在順位（プレイヤカートを除いた順位）が目標順位と等しいかどうか判定する（Ｓ５０３）。判定の結果、現在順位が目標順位と異なっていた場合は、このノーマルカートの目標順位を現在順位の値に変更する（Ｓ５０５）。例えば、図９の状態から目標順位が３位のカートＣの順位が最下位にまで落ちてしまった場合、ワークメモリ２３に記憶されている図７の目標順位データを、図１７のように変更する。このような処理の目的は、カートＣがアクシデントによって大きく遅れてカートＥの現在順位が４位から３位に繰り上がった場合に、カートＥの目標順位が４位のままだとカートＥが減速してしまってカートＤとカートＥとの車間距離が大きく開いてしまうという問題を回避するためである。次にＣＰＵ２１は、全てのノーマルカートの処理が完了したかどうかを判定し（Ｓ５０７）、未処理のノーマルカートが存在する場合にはステップ５０１に戻る。
【００６５】
図１０において、ステップ２１７の後、ＣＰＵ２１は、レースが終了したかどうか判定し（Ｓ２１９）、レースが続行している場合にはステップ２０１に戻り、レースが終了した場合にはレース処理を終了する。
【００６６】
図５において、レース処理が終了すると、ＣＰＵ２１は、図３に示す総合得点算出プログラム５３に基づいて、ステップ１０７のレース結果に応じて各カートに得点を割り振り、各カートの現時点での総合得点を計算する。そして、その計算結果を表示するためのゲーム画像を生成する（Ｓ１１１）。ステップ１１１で生成されたゲーム画像は、ＴＶモニタ１１に図１８のように表示される。図１８には、第１レース〜第３レースが終了した時点での各カートの総合得点が示されている。ノンプレイヤカートの総合得点は、図１８に示すように、基本的に目標順位が高いほど高くなる。
【００６７】
次に、ＣＰＵ２１は、全レース（ここでは第１レース〜第５レース）が終了したかどうかを判定する（Ｓ１１３）。判定の結果、全レースが終了していた場合はゲーム処理を終了し、まだ終了していないレースが存在していた場合にはステップ１１５に進む。
【００６８】
ステップ１１５では、ＣＰＵ２１は、図３の目標順位変更プログラム５１に基づいて、ライバルカートの目標順位変更処理を行う。図１９に、このステップ１１５の詳細を示す。
【００６９】
図１９において、まずＣＰＵ２１は、プレイヤカートが２台のライバルカートに対して大きくリードしているかどうか判定する（Ｓ６０１）。「大きく」リードしているかどうかは、具体的にはプレイヤカートとライバルカートとの総合得点の差が所定値を超えたかどうかで判定する。判定の結果、プレイヤカートが２台のライバルカートに対して大きくリードしていた場合には、２台のライバルカートの目標順位をいずれも１位に設定する（Ｓ６０３）。例えば、図２０の例では、プレイヤカート（カートＢ）が２台のライバルカート（カートＡ、Ｄ）に対して大きくリードしているため、ワークメモリ２３に記憶されている図７の目標順位データを、図２１のように変更する。この結果、次回のレースでは２台のライバルカートが１位を目指して競り合うため、プレイヤカートが１位を取ることが難しくなり、レースがより白熱したものとなる。
【００７０】
図１９のステップ６０１でＮｏと判定された場合には、ＣＰＵ２１は、いずれかのライバルカートがプレイヤカートに対して大きくリードしているかどうか判定する（Ｓ６０５）。「大きく」リードしているかどうかは、例えばプレイヤカートとライバルカートとの総合得点の差が所定値を超えたかどうかで判定してもよいし、プレイヤカートとライバルカートとの総合順位の差が所定値を超えたかどうかで判定してもよい。判定の結果、いずれかのライバルカートがプレイヤカートに対して大きくリードしていた場合には、総合得点が高い方のライバルカートの目標順位を２位に設定し、総合得点が低い方のライバルカートの目標順位を１位に設定する（Ｓ６０７）。例えば、図２２の例では、ライバルカート（カートＡ）がプレイヤカート（カートＢ）に対して大きくリードしているため、ワークメモリ２３に記憶されている図７の目標順位データを、図２３のように変更する。この結果、次回のレースではカートＡが１位を取る可能性が低くなる。よって、カートＡの総合得点がプレイヤカートの総合得点から大きく離れてしまってプレイヤがやる気をなくしてしまう状況を回避することができる。
【００７１】
以上のように、本実施形態によれば、プレイヤカートとライバルカートが総合得点を競い合う状況が生じやすくなるため、プレイヤが飽きることのない白熱したゲーム展開が期待できる。
【００７２】
ところで、本実施形態では、目標順位が１位のライバルカート（仮にカートＸとする）がアクシデントにより、目標順位が２位のライバルカート（仮にカートＹとする）から大きく遅れたときに、カートＸの目標順位を２位にするとした。ここで、目標順位を変更する条件を「大きく」遅れたときに限定している理由は、カートＸの目標順位を容易に２位に変更してしまうと、その時点のレースにおいてカートＸが１位となる可能性が低くなり、カートＸの総合得点が低くなってゲームの難易度が下がってしまうからである。また、カートＸがカートＹから大きく遅れたときに、カートＸの目標順位をノーマルカートの様に現在順位の値に変更するのではなくて２位に設定するとした理由は、ライバルカートの目標順位を下位に設定してしまうと、このライバルカートの総合得点が下がってしまい、プレイヤカートに対する強力なライバルとならないからである。
【００７３】
なお、本実施形態では、レースゲームプログラム４１がＤＶＤ−ＲＯＭ１３からゲーム機１５に供給されるとしたが、本発明はこれに限らず、レースゲームプログラム４１がゲーム機１５内の任意の記録媒体に予め格納されていても構わないし、レースゲームプログラム４１が有線または無線の通信回線や、通信ケーブル等の通信媒体を通じてゲーム機１５に供給されても構わない。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施形態に係るゲームシステムの外観図
【図２】ゲームシステムの構成を示すブロック図
【図３】ＤＶＤ−ＲＯＭ１３のメモリマップ
【図４】ゲーム画面の一例を示す図
【図５】ゲーム処理の流れを示すフローチャート
【図６】基本走行性能値データ５７の一例を示す図
【図７】ワークメモリ２３に記憶される目標順位データの一例を示す図
【図８】オフセットデータ５９の一例を示す図
【図９】レース中における各カートの位置関係の一例を示す図
【図１０】レース処理の流れを示すフローチャート
【図１１】ノンプレイヤカートの速度計算処理の流れを示すフローチャート
【図１２】ノンプレイヤカートの速度計算処理の具体例を示す図
【図１３】ノンプレイヤカートの速度計算処理の変形例を示す図
【図１４】ライバルカートの目標順位変更処理（Ｓ２１３）の流れを示すフローチャート
【図１５】ワークメモリ２３に記憶される目標順位データの他の例を示す図
【図１６】ノーマルカートの目標順位変更処理の流れを示すフローチャート
【図１７】ワークメモリ２３に記憶される目標順位データの他の例を示す図
【図１８】総合得点をプレイヤに知らせるためのゲーム画面の一例を示す図
【図１９】ライバルカートの目標順位変更処理（Ｓ１１５）の流れを示すフローチャート
【図２０】総合得点をプレイヤに知らせるためのゲーム画面の他の例を示す図
【図２１】ワークメモリ２３に記憶される目標順位データのさらに他の例を示す図
【図２２】総合得点をプレイヤに知らせるためのゲーム画面のさらに他の例を示す図
【図２３】ワークメモリ２３に記憶される目標順位データのさらに他の例を示す図
【符号の説明】
【００７５】
１１  ＴＶモニタ
１３  ＤＶＤ−ＲＯＭ
１５  ゲーム機
１７  メモリカード
１９  コントローラ
２１  ＣＰＵ
２３  ワークメモリ
２５  外部メモリＩ／Ｆ
２７  コントローラＩ／Ｆ
２９  ＶＲＡＭ
３１  ＧＰＵ
３３  光ディスクドライブ
３５  バックアップメモリ
４１  レースゲームプログラム
４３  目標順位設定プログラム
４５  走行性能値変更プログラム
４７  自動操縦プログラム
４９  現在順位取得プログラム
５１  目標順位変更プログラム
５３  総合得点算出プログラム
５５  レースゲームデータ
５７  基本走行性能値データ
５９  オフセットデータ
【図１】
2005137449.tif 000003
【図２】
2005137449.tif 000004
【図３】
2005137449.tif 000005
【図４】
2005137449.tif 000006
【図５】
2005137449.tif 000007
【図６】
2005137449.tif 000008
【図７】
2005137449.tif 000009
【図８】
2005137449.tif 000010
【図９】
2005137449.tif 000011
【図１０】
2005137449.tif 000012
【図１１】
2005137449.tif 000013
【図１２】
2005137449.tif 000014
【図１３】
2005137449.tif 000015
【図１４】
2005137449.tif 000016
【図１５】
2005137449.tif 000017
【図１６】
2005137449.tif 000018
【図１７】
2005137449.tif 000019
【図１８】
2005137449.tif 000020
【図１９】
2005137449.tif 000021
【図２０】
2005137449.tif 000022
【図２１】
2005137449.tif 000023
【図２２】
2005137449.tif 000024
【図２３】
2005137449.tif 000025