(57)【要約】      （修正有）【課題】操作に不慣れな初心者がグループにいる場合であってもグループ対抗でのレースゲームを十分に楽しむことができるように操作インターフェース環境を改善したゲームシステム、プログラム及び情報記憶媒体を提供する。【解決手段】複数の移動体がグループを形成してレースゲームを行うためのゲームシステムであって、移動体毎に設定される走行性能に基づいて移動体をゲーム空間内で移動させる制御を行う移動体制御部１１２と、各移動体の位置に基づいてゲーム空間に対してスリップストリーム領域を設定するスリップストリーム領域設定部１１３と、所与の移動体の位置に基づいて設定されたスリップストリーム領域内に他の移動体が存在するか否かを判定する位置関係判定部１１４と、所与の移動体が他の移動体と同一グループであるか否かに応じて他の移動体の走行性能を変化させる度合いを変化させる走行性能変更部１１５から構成される。【選択図】図１
2008067938.tif 000002
【特許請求の範囲】
【請求項１】
複数の移動体がグループを形成してレースゲームを行うためのプログラムであって、
前記移動体毎に設定される移動性能に基づいて前記移動体をゲーム空間内で移動させる制御を行う移動体制御部と、
各移動体のゲーム空間における位置関係を判定する位置関係判定部と、
同一グループに属する各移動体の位置関係が所定の位置関係であることに基づいて移動体の移動性能を変化させる移動性能変更部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記各移動体の位置に基づいてゲーム空間に対して所定の領域を設定する領域設定部としてコンピュータを機能させるとともに、
前記位置関係判定部が、
所与の移動体の位置に基づいて設定された前記所定の領域内に他の移動体が存在するか否かを前記位置関係として判定し、
前記移動性能変更部が、
前記他の移動体の前記所定の領域内での位置に応じて前記他の移動体の移動性能を変化させる度合いを設定して、設定された度合いに応じて前記他の移動体の移動性能を変化させるとともに、
前記所与の移動体が前記他の移動体と同一グループであるか否かに応じて前記他の移動体の移動性能を変化させる度合いを変化させることを特徴とするプログラム。
【請求項３】
請求項１または２において、
前記各移動体の位置に基づいてゲーム空間に対して所定の領域を設定する領域設定部としてコンピュータを機能させるとともに、
前記位置関係判定部が、
所与の移動体の位置に基づいて設定された前記所定の領域内に他の移動体が存在するか否かを判定するとともに、前記他の移動体が前記所定の領域内から前記所定の領域外に移動したか否かを判定し、
前記移動性能変更部が、
前記所定の領域内に滞在している前記他の移動体の移動性能を変化させるとともに、前記所定の領域外に前記他の移動体が移動した後においても前記他の移動体が前記所定の領域内に滞在した期間に応じて設定される所与の期間において、前記他の移動体の移動性能が変化した状態を維持する処理を行い、
前記所定の領域内に存在する他の移動体が前記所与の移動体と同一グループであるか否かに応じて、前記他の移動体の移動性能が変化した状態を維持する期間を変化させることを特徴とするプログラム。
【請求項４】
請求項２または３において、
前記領域設定部が、
所定イベントの発生に基づいて、前記所定の領域の大きさを変化させる処理および前記所定の領域を無効化する処理の少なくとも一方を実行することを特徴とするプログラム。
【請求項５】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜４のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項６】
複数の移動体がグループを形成してレースゲームを行うためのゲームシステムであって、
前記移動体毎に設定される移動性能に基づいて前記移動体をゲーム空間内で移動させる制御を行う移動体制御部と、
各移動体のゲーム空間における位置関係を判定する位置関係判定部と、
同一グループに属する各移動体の位置関係が所定の位置関係であることに基づいて移動体の移動性能を変化させる移動性能変更部とを含むことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるゲーム空間（オブジェクト空間）において所与の視点（仮想カメラ）から見える画像を生成するゲームシステム（画像生成システム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができるゲームシステムを例に取れば、プレーヤは、操作部（ゲームコントローラ等）を用いて移動体（車、船、飛行機等）に関する操作（ステアリング操作、シフト操作、アクセル操作、ブレーキ操作等）を行い、他のプレーヤ（コンピュータプレーヤも含まれる）の移動体と順位やタイムを競争することでレースゲームを楽しむ。
【０００３】
ところで、上述したレースゲームを行わせるゲームシステムにおいて、移動体同士が前後関係で接近した場合に、後方の移動体の速度や加速度が上昇するスリップストリーム現象を考慮して、移動体の移動制御を行う手法が提案されている（特許文献１、２参照）。
【特許文献１】特許３４０３５０５号公報
【特許文献２】特開２０００−１４０４３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のゲームシステムでは、操作技術の未熟な初心者の操作する移動体が競争相手の移動体に接近する事自体が困難であり、スリップストリーム現象を利用して競争相手とのデッドヒートを楽しむことが難しいという難点があった。また複数のプレーヤがグループを形成して、グループ同士が対抗してレースゲームを行うような場合には、同一グループ内でのプレーヤ間の技量の差がレースゲームの結果を大きく左右してしまい、特に操作技術の未熟な初心者を抱えるグループでは、初心者が同一グループの他のプレーヤから引き離されてしまって、他のグループとのデッドヒートを十分に楽しむことができないという難点があった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、操作に不慣れな初心者がグループにいる場合であってもグループ対抗でのレースゲームを十分に楽しむことができるように操作インターフェース環境を改善したゲームシステム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、複数の移動体がグループを形成してレースゲームを行うためのゲームシステムであって、前記移動体毎に設定される移動性能に基づいて前記移動体をゲーム空間内で移動させる制御を行う移動体制御部と、各移動体のゲーム空間における位置関係を判定する位置関係判定部と、同一グループに属する各移動体の位置関係が所定の位置関係であることに基づいて移動体の移動性能を変化させる移動性能変更部とを含むゲームシステムに関するものである。また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータに読み取り可能な情報記憶媒体に関するものである。
【０００７】
「移動性能」とは、移動体の加速度、移動速度、最高速度等を意味し、「移動性能を変化させる」というのは、加速度、移動速度、最高速度等を決定する演算係数を変更することの他に、変化前の加速度、移動速度、最高速度等に対して任意の値を加算あるいは減算することなども含まれる。
【０００８】
本発明によれば、同一グループに属する各移動体の位置関係が所定の位置関係であることに基づいて移動体の移動性能を変化させるようにしたので、操作に不慣れな初心者と操作に熟練した上級者とがグループを形成する場合であっても、上級者が初心者の移動体の位置に合わせて自らの移動体を所定の位置関係を構築するように操作することで、初心者とともに移動体の移動性能を変化させながら、レースゲームを有利に進めることができるようになる。このため本発明によれば、操作に不慣れな初心者がいる場合であってもプレーヤ同士が積極的に協力して互いの連携を高めながらグループ対抗でのレースゲームを十分に楽しむことができる操作インターフェース環境を提供することができる。
【０００９】
（２）また本発明のゲームシステムでは、前記各移動体の位置に基づいてゲーム空間に対して所定の領域を設定する領域設定部を含み、前記位置関係判定部が、所与の移動体の位置に基づいて設定された前記所定の領域内に他の移動体が存在するか否かを前記位置関係として判定し、前記移動性能変更部が、前記他の移動体の前記所定の領域内での位置に応じて前記他の移動体の移動性能を変化させる度合いを設定して、設定された度合いに応じて前記他の移動体の移動性能を変化させるとともに、前記所与の移動体が前記他の移動体と同一グループであるか否かに応じて前記他の移動体の移動性能を変化させる度合いを変化させるようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記領域設定部、位置関係判定部、移動性能変更部としてコンピュータを機能させるようにしてもよい。
【００１０】
このようにすれば、いずれの移動体であっても、任意の移動体の後方に設定される所定の領域内に移動体を滞在させることで移動性能を変化させることができるが、滞在していた所定の領域が同一グループに属する移動体の後方に設定された領域であるか否かによって移動性能を変化させる度合いが異なるため、例えば、異なるグループの移動体の後方に設定される所定の領域内で移動体の移動性能が変化する場合よりも、同一グループの移動体の後方に設定される所定の領域内で移動体の移動性能が変化する場合の方が、移動体の移動性能を変化させる度合いを有利にすれば、同一グループに属する移動体同士が互いの後方に設定される所定の領域に交互に移動しながら、移動性能を互いに高めあっていくという連携プレイを積極的に活用させることができるという今までのレースゲームにはない操作インターフェース環境を提供することができる。
【００１１】
（３）また本発明のゲームシステムでは、前記各移動体の位置に基づいてゲーム空間に対して所定の領域を設定する領域設定部を含み、前記位置関係判定部が、所与の移動体の位置に基づいて設定された前記所定の領域内に他の移動体が存在するか否かを判定するとともに、前記他の移動体が前記所定の領域内から前記所定の領域外に移動したか否かを判定し、前記移動性能変更部が、前記所定の領域内に滞在している前記他の移動体の移動性能を変化させるとともに、前記所定の領域外に前記他の移動体が移動した後においても前記他の移動体が前記所定の領域内に滞在した期間に応じて設定される所与の期間において、前記他の移動体の移動性能が変化した状態を維持する処理を行い、前記所定の領域内に存在する他の移動体が前記所与の移動体と同一グループであるか否かに応じて、前記他の移動体の移動性能が変化した状態を維持する期間を変化させるようにしてもよい。また本発明のプログラム及び情報記憶媒体では、上記領域設定部、位置関係判定部、移動性能変更部としてコンピュータを機能させるようにしてもよい。
【００１２】
「移動性能が変化した状態を維持する」というのは、移動性能が同一のまま所与の期間維持される場合の他に、所与の期間において移動性能を変化させながら本来の移動性能に復帰させる場合も含まれる。すなわち「移動性能が変化した状態を維持する」というのは、移動体の移動性能が本来の移動性能とは異なる状態が維持されることを意味する。
【００１３】
このようにすれば、いずれの移動体であっても、任意の移動体の後方に設定される所定の領域内に移動体を滞在させることで移動性能を変化させれば、移動体が所定の領域の外に移動した場合でも所与の期間において移動性能が変化した状態が維持されるが、滞在していた領域が同一グループに属する移動体の後方に設定された所定の領域であるか否かによって移動性能を変化させた状態が維持される期間が異なるため、例えば、異なるグループの移動体の後方に設定される所定の領域内に移動体を滞在させた場合よりも、同一グループの移動体の後方に設定される所定の領域内に移動体を滞在させた場合の方が、移動性能を変化させた状態が維持される期間を有利にすれば、同一グループに属する移動体同士が互いの後方に設定される所定の領域に交互に移動しながら、移動性能を互いに高めあっていくという連携プレイを積極的に活用させることができるという今までのレースゲームにはない操作インターフェース環境を提供することができる。
【００１４】
（４）また本発明のゲームシステム、プログラム及び情報記憶媒体では、前記領域設定部が、所定イベントの発生に基づいて、前記所定の領域の大きさを変化させる処理および前記所定の領域を無効化する処理の少なくとも一方を実行するようにしてもよい。
【００１５】
「所定イベントの発生」には、プレーヤが操作部に対して特定の操作を行った場合の他に、移動体がゲーム空間上の特定の領域を通過した場合や移動体に対して特定のアイテムが装備されている場合などが含まれる。
【００１６】
また「所定の領域の大きさを変化させる」とは、所定の領域の面積を拡大すること、及び所定の領域の面積を縮小することの双方を含む。
【００１７】
また「所定の領域を無効化する」とは、所定の領域自体を設定しない場合の他に、所定の領域を形式的には設定しておくが、当該領域内に移動体が存在していても、その移動体の移動性能を変化させる演算を行わない場合も含む。
【００１８】
このようにすれば、各移動体の後方に設定される所定の領域を利用したレースゲームの展開に起伏を与えることができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２０】
図１に本実施形態のゲームシステム（画像生成システム）の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２１】
操作部１６０は、プレーヤが移動体の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２３】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２４】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２５】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバ）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバ）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２６】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行い、処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２７】
処理部１００は、ゲーム処理部１１０、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２８】
ゲーム処理部１１０は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やコースなどのオブジェクト（表示物）を配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。特に本実施形態では、レースゲームの進行を制御する処理として、移動体がオブジェクト空間（ゲーム空間）に設定されたコースを周回するタイムを計測しており、グループの中で最後に周回を終えた移動体のタイムをグループのタイムとして、グループ同士のタイムを比較判定してグループの順位を決定する処理を行っている。もちろんグループに属する全ての移動体の周回タイムを合計したタイムをグループのタイムとして処理するようにしてもよいし、グループの中で最も早く周回を終えた移動体のタイムをグループのタイムとして処理するようにしてもよい。
【００２９】
そして本実施形態のゲームシステムでは、ゲーム処理部１１０が、表示制御部１１１、移動体制御部１１２、スリップストリーム領域設定部１１３（領域設定部の一例）、位置関係判定部１１４、走行性能変更部１１５（移動性能変更部の一例）、通信制御部１１６を含む。
【００３０】
表示制御部１１１は、表示部１９０に表示される画像（オブジェクト画像）の表示制御を行う。具体的には、表示すべきオブジェクト（車（移動体）、コース、建物、樹木、柱、壁、マップ）を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部１２０等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。
【００３１】
また表示制御部１１１は、プレーヤの入力情報等により、プレーヤ移動体（プレーヤの操作対象となる移動体）やオブジェクトの移動や動作が発生した場合に、発生した移動や動作の様子を示す画像を表示部１９０に表示するための制御を行う。
【００３２】
特に本実施形態のゲームシステムでは、ゲーム空間を３次元のオブジェクト空間によって設定するようになっており、表示制御部１１１は、オブジェクト空間設定処理、仮想カメラ制御処理なども行う。
【００３３】
オブジェクト空間設定処理では、車（移動体）、飛行機（移動体）、コース、建物、樹木、柱、壁、マップなどの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３４】
仮想カメラ制御処理では、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００３５】
例えば仮想カメラにより移動体（例えば、車、飛行機等）を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、後述する移動体制御部１１２で求められた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００３６】
移動体制御部１１２は、移動体（例えば、車、飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、移動体をオブジェクト空間内で移動させたり、移動体を動作（モーション、アニメーション）させたりする処理を行う。具体的には、移動体の移動情報（位置、回転角度、速度、或いは加速度）や動作情報（移動体を構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理（シミュレーション処理）や描画処理を行う時間の単位である。
【００３７】
特に本実施形態では、移動体制御部１１２が、移動体毎に設定される走行性能（移動性能の一例）に基づいてオブジェクト空間（ゲーム空間）において移動体を移動させる制御を行う。具体的には、操作部１６０からの操作データに基づいて移動体を移動させる制御を開始し、移動体毎に設定される走行性能である加速係数に基づいてフレーム単位での移動量（移動体の移動速度）を算出するとともにフレーム単位での移動体の回転量（移動体の回転速度）を算出して移動体の座標変換マトリクスＭを求める。なお各移動体には、走行性能として移動速度の上限値である最高速度も設定されており、移動体のフレーム単位での移動量は、移動体毎の最高速度によってリミットされる。そして第Ｋ−１のフレームでの移動体の頂点座標ＰＫ−１に座標変換マトリクスＭを乗算して第Ｋのフレームでの移動体の頂点座標ＰＫ（＝ＰＫ−１×Ｍ）を求めている。
【００３８】
スリップストリーム領域設定部１１３は、各移動体の位置に基づいてオブジェクト空間（ゲーム空間）に対してスリップストリーム領域（所定の領域の一例）を設定する処理を行う。
【００３９】
具体的には、オブジェクト空間に設定されている移動体の移動経路を定めるコース（例えば、ポリゴンにより構成される）において移動体の後方の領域に略矩形のスリップストリーム領域を発生させている。本実施の形態では、コースに対して移動体の進行方向に沿った座標軸およびこれに直交する座標軸を有するローカル座標系を設定しており、このローカル座標系を用いて移動体の後方にスリップストリーム領域を設定している。スリップストリーム領域の形状は、コース形状に影響されずに一定の形状を保たれるように設定してもよいし、コース形状に合わせて変形するように設定してもよい。
【００４０】
なおスリップストリーム領域設定部１１３が、所定イベントの発生に基づいて、スリップストリーム領域の大きさを変化させる処理やスリップストリーム領域を無効化する処理を実行するようにしてもよい。
【００４１】
例えば、移動体がアイテムを装着することによって設定されるアイテムフラグを用意しておき、アイテムフラグがオンの場合には、アイテムフラグの種類に応じて、移動体の後方に設定されるスリップストリーム領域を拡大したり縮小したりすることができる。また別のアイテムフラグがオンの場合には、移動体の後方にスリップストリーム領域が設定されないようにしたり、移動体の後方に設定されたスリップストリーム領域内に移動体が滞在していても走行性能が変更されないようにしたりすることによって、スリップストリーム領域を無効化してもよい。なおスリップストリーム領域を無効化する場合には、アイテムを装着した移動体と異なるグループの移動体に限ってスリップストリーム領域が無効化され、同一グループの移動体に対しては、原則通りにスリップストリーム領域が有効となるようにしてもよい。また例えば、移動体がコース上の所定の領域を通過した場合に、スリップストリーム領域を拡大あるいは縮小したり、スリップストリーム領域を無効化したりしてもよい。
【００４２】
また表示制御部１１１によって移動体毎にスリップストリーム領域を識別表示する処理を行うようにしてもよい。この場合に、主記憶部１７２に保存されているグループ設定情報に基づいて、プレーヤの移動体と同一グループに属する移動体のスリップストリーム領域と、プレーヤの移動体と異なるグループに属する移動体のスリップストリーム領域とを色を変えて表示するなどしてスリップストリーム領域の表示態様によって所属グループの識別ができるようにしてもよい。
【００４３】
位置関係判定部１１４は、各移動体のオブジェクト空間（ゲーム空間）における位置関係を判定する処理を行う。例えば、オブジェクト空間に設定されたコース上を移動している移動体の位置に基づいて設定されたスリップストリーム領域内に別の移動体（他の移動体）が存在するか否かを位置関係として判定するとともに、スリップストリーム領域内に滞在していた移動体が、スリップストリーム領域外に移動したか否かを判定する。この場合には、コース上においてスリップストリーム領域を設定するためのローカル座標系における各移動体の代表点の位置に基づいて、移動体がスリップストリーム領域に滞在していること、および移動体がスリップストリーム領域外に移動したことを判定することができる。
【００４４】
走行性能変更部１１５は、同一グループに属する各移動体の位置関係が所定の位置関係であることに基づいて移動体の走行性能を変化させる処理を行う。移動体の走行性能を変化させる処理としては、例えば、移動体制御部１１２で求められる移動体のフレーム単位での移動量に効果倍率係数（＞１）を乗算することで、移動体の速度を上昇させる処理を行う。
【００４５】
より具体的には、位置判定部１１４での判定結果に基づいて、移動体のスリップストリーム領域内での位置に応じた効果倍率係数（走行性能を変化させる度合い）を設定して、設定された効果倍率係数を移動体のフレーム単位の移動量に乗算して移動体の速度（ゲーム空間内での移動量）を上昇させる。
【００４６】
また本実施形態のゲームシステムでは、オブジェクト空間（ゲーム空間）内のコース上を走行移動する複数の移動体が２体以上の移動体を単位としてグループ分けされており、走行性能変更部１１５が、移動体が滞在しているスリップストリーム領域が同一グループの移動体に対して設定されたスリップストリーム領域であるか否かに応じて、移動体の速度を上昇させる効果倍率係数を変化させる処理も行っている。なお各移動体が属するグループの設定情報は、ゲーム開始に先立ってプレーヤの操作部１６０からの選択操作等に基づいて主記憶部１７２に保存されている。例えば、プレーヤの操作する移動体が、同一グループの移動体の後方に設定されたスリップストリーム領域内に滞在している場合には、異なるグループの移動体の後方に設定されたスリップストリーム領域内に滞在している場合よりも効果倍率係数が高くなるように設定することができる。
【００４７】
また本実施形態のゲームシステムでは、走行性能変更部１１５が、スリップストリーム領域内に移動体が滞在した期間を監視しており、移動体がスリップストリーム領域内からスリップストリーム領域外に移動した後においても、その移動体がスリップストリーム領域内に滞在した期間に応じて設定される所与の期間において、移動体の走行性能が変化した状態を維持する処理を行っている。例えば、移動体がスリップストリーム領域内に滞在した期間が長いほど、走行性能が変化した状態が長期間維持されるようにすることができる。
【００４８】
また走行性能変更部１１５は、移動体が滞在していたスリップストリーム領域が同一グループに属する移動体の後方に設定されたスリップストリーム領域であるか否かに応じて、移動体の走行性能が変化した状態を維持する期間を変化させる処理を行っている。例えば、プレーヤの操作する移動体が、同一グループの移動体の後方に設定されたスリップストリーム領域内に滞在していた場合には、異なるグループの移動体の後方に設定されたスリップストリーム領域内に滞在していた場合よりも走行性能が変化した状態が長期間維持されるように制御することができる。
【００４９】
なお移動体がスリップストリーム領域内の特定の領域に一定期間滞在した場合には、その移動体の走行性能が変化した状態を維持する処理を開始するタイミングを変更するようにしてもよい。例えば、移動体の速度を上昇させる効果倍率係数が高めに設定される領域では、移動体の走行性能が変化した状態を維持する処理を早期に開始してレースゲームのバランスを好適に調整することができる。
【００５０】
通信制御部１１６は、他のゲームシステムに送信するパケットを生成する処理、パケット送信先のゲームシステムのネットワークアドレスを指定する処理、受信したパケットを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部１９６の制御処理等を行う。特に本実施形態では、レースゲームをネットワーク（例えば、インターネット）を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部１９６を介してデータパケット及びコマンドパケットを送受信させる制御を行う。
【００５１】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず表示物（オブジェクト、モデル）を定義する各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含む表示物データ（オブジェクトデータ、モデルデータ）が入力され、入力された表示物データに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、表示物を構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５２】
なお描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５３】
そして描画部１２０は、表示物を描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５４】
ジオメトリ処理では、表示物に関して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）の表示物データ（表示物の頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００５５】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）を表示物にマッピングするための処理である。具体的には、表示物の頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャを表示物にマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５６】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００５７】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００５８】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００５９】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６０】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６１】
２．本実施形態の手法
本実施の形態では、移動体の後方に設定されるスリップストリーム領域を発生させて、スリップストリーム領域内に滞在する移動体の走行性能を変化させる場合に、移動体が滞在するスリップストリーム領域が、同一グループに属する移動体の後方に設定されたスリップストリーム領域であるか否かに応じて走行性能を変化させる効果倍率係数を変化させる手法を採用している。
【００６２】
まず本実施形態では、ゲーム空間に設定されたコースＣを走行する移動体ＰＣの後方にスリップストリーム領域Ｒを設定している。具体的には、図２に示すように、コースＣに対して進行方向に沿ったローカル座標軸Ｄとローカル座標軸Ｄと直交するローカル座標軸Ｂとを設定し、このローカル座標軸Ｄ上における移動体ＰＣの代表点Ａの位置に基づいて、コース上に略矩形のスリップストリーム領域Ｒを設定している。このため、本実施形態の手法によれば、図２に示すように、コース形状に沿ってスリップストリーム領域Ｒを変形して設定することができる。なおスリップストリーム領域Ｒを設定する際には、コースＣにおける移動体ＰＣの向き（姿勢）に応じてローカル座標軸Ｄに対する回転角度が設定され、設定された回転角度に従った向きでスリップストリーム領域ＲがコースＣにおける移動体ＰＣの後方に設定される。
【００６３】
また本実施形態では、スリップストリーム領域Ｒにおける各位置に対して移動体ＰＣの後方を走行する移動体のフレーム単位での移動量に乗算される効果倍率係数（＞１）が設定されており、図２に示すように、スリップストリーム領域Ｒの特定の領域Ｒｍ内では、効果倍率係数が最大値（上限値）となるように設定されている。
【００６４】
次に、移動体同士の位置関係の判定手法や、位置関係の判定結果に基づいた走行性能の変更手法について図３及び図４を参照しながら説明する。
【００６５】
本実施の形態では、移動体の位置を代表点を用いて判定しており、図３及び図４に示すように、第１のプレーヤが操作する移動体ＰＣ１と第２のプレーヤが操作する移動体ＰＣ２とがコースＣ上を走行している場合に、図３に示す例では、移動体ＰＣ１の代表点Ａ１の位置に基づいて設定されたスリップストリーム領域Ｒの中に移動体ＰＣ２の代表点Ａ２が存在している。従って、図３に示す例では、移動体ＰＣ２が移動体ＰＣ１の後方に設定されたスリップストリーム領域Ｒ内に滞在していると判定する。
【００６６】
ここで本実施形態では、移動体ＰＣ１の代表点Ａ１からの距離が近い位置に移動体ＰＣ２が滞在するほど効果倍率係数が高くなるように設定されており、特定の領域Ｒｍでは、効果倍率係数が最大値で固定設定されている。すなわち図３に示す例では、移動体ＰＣ２の走行性能を上昇させる効果倍率係数の値は、移動体ＰＣ１の代表点Ａ１と移動体ＰＣ２の代表点Ａ２との距離に応じて設定される。
【００６７】
次に図４に示す例では、移動体ＰＣ１の後方を走行する移動体ＰＣ２が、移動体ＰＣ１の後方に設定されたスリップストリーム領域Ｒ内の特定の領域Ｒｍに滞在している。すなわち図４に示す例では、移動体ＰＣ２の走行性能を上昇させる効果倍率係数の値は、移動体ＰＣ１の代表点Ａ１と移動体ＰＣ２の代表点Ａ２との距離関係に依らずに最大値に設定される。
【００６８】
このように本実施形態では、移動体ＰＣ１の後方に設定されたスリップストリーム領域Ｒ内での移動体ＰＣ２の位置に応じて移動体ＰＣ２の走行性能を上昇させるための効果倍率係数の値を設定しているが、さらに移動体ＰＣ１と移動体ＰＣ２とが同一グループであるか否かが効果倍率係数を設定する上で重要な指標となっている。
【００６９】
具体的に説明すると、本実施形態では、プレーヤがゲームを開始するに際して自らの操作する移動体が所属するグループを選択しており、２体以上の移動体がグループを形成してグループ対抗でのレースゲームを行っている。このグループ対抗のレースゲームでは、上述したようにグループ内で最後にコースの周回を終えたプレーヤの操作する移動体のタイム（周回時間）をグループのタイムとしてグループ間の順位を判定するようになっている。
【００７０】
そこで本実施形態では、ゲーム開始に際して予め設定したプレーヤ毎の所属グループを特定するグループ設定情報に基づいて、移動体が滞在しているスリップストリーム領域が、同一グループに所属する移動体の後方に設定されたスリップストリーム領域であると判断された場合には、異なるグループの移動体の後方に設定されたスリップストリーム領域に滞在している場合よりも効果倍率係数を高く設定する手法を採用している。
【００７１】
このようにすることによって、例えば、第１のプレーヤが操作する移動体ＰＣ１と第２のプレーヤが操作する移動体ＰＣ２とが同一のグループである場合には、図５に示すようにコースＣ上において、移動体ＰＣ１と移動体ＰＣ２とが互いのスリップストリーム領域Ｒ１、Ｒ２内に交互に滞在するように走行移動すれば、異なるグループに属する移動体の後方に設定されたスリップストリーム領域を利用する場合よりも移動体ＰＣ１、ＰＣ２の走行性能を高く保ちながらレースゲームを有利に進めることができるようになる。
【００７２】
従って本実施形態の手法によれば、上級者が初心者の移動体の位置に合わせて自らの移動体を初心者の前方に移動させて初心者の移動体がスリップストリーム領域に滞在しているような位置関係を構築するように操作することで、初心者とともに移動体の走行性能を高めながら、レースゲームを有利に進めることができるようになる。このため本実施形態の手法によれば、操作に不慣れな初心者がいる場合であってもプレーヤ同士が積極的に協力して互いの連携を高めながらグループ対抗でのレースゲームを十分に楽しむことができる操作インターフェース環境を提供することができる。
【００７３】
また本実施の形態では、スリップストリーム領域内に移動体が滞在した期間に応じて走行性能を変化させる効果倍率係数の維持期間が可変される手法を採用している。
【００７４】
具体的には、図６（Ａ）および図６（Ｂ）に示すように、ｔ１からｔ２の期間Ｔ１において移動体がスリップストリーム領域に滞在した場合において、期間Ｔ１が長期間であるほど、移動体がスリップストリーム領域外に移動した後における走行性能を変化させた状態を維持する期間Ｔ３が長期化するように制御している。なお本実施の形態では、期間Ｔ３において、走行性能を決定する効果倍率係数を一定値ずつ減少させながら元の効果倍率係数（＝１）に復帰させる演算を行っている。
【００７５】
さらに本実施の形態では、移動体が滞在していたスリップストリーム領域が同一グループの移動体の後方に設定されたスリップストリーム領域であったか否かに応じて走行性能を変化させた状態を維持する期間が可変する手法を採用している。
【００７６】
具体的には、図６（Ａ）および図６（Ｃ）に示すように、ｔ１からｔ２の期間Ｔ１において移動体がスリップストリーム領域に滞在した場合において、期間Ｔ１が同じであっても、移動体の滞在したスリップストリーム領域が、異なるグループの移動体の後方に設定されたスリップストリーム領域であった場合には、図６（Ａ）に示すように期間Ｔ３が設定され、同一グループの移動体の後方に設定されたスリップストリーム領域であった場合には、図６（Ｃ）に示すように期間Ｔ３が設定される。すなわち図６（Ａ）および図６（Ｃ）に示す例によれば、移動体が滞在していたスリップストリーム領域が同一グループの移動体の後方に設定されたスリップストリーム領域であった場合には、走行性能を変化させた状態を維持する期間Ｔ３が長期化するように制御される。
【００７７】
このように本実施形態の手法によれば、異なるグループの移動体の後方に設定されるスリップストリーム領域内に移動体を滞在させた場合よりも、同一グループの移動体の後方に設定されるスリップストリーム領域内に移動体を滞在させた場合の方が、スリップストリーム領域の外に移動した後における移動体の走行性能を変化させた状態が維持される期間Ｔ３が長期化するため、図５に示したように、同一グループに属する移動体同士が互いの後方に設定されるスリップストリーム領域に交互に移動しながら、走行性能を互いに高めあっていくという連携プレイを積極的に活用させることができるという今までのレースゲームにはない操作インターフェース環境を提供することができる。
【００７８】
また本実施形態では、図２に示したようにスリップストリーム領域Ｒ内に効果倍率係数が最大値に設定される特定の領域Ｒｍを設けているため、移動体が特定の領域Ｒｍに滞在した場合には、以下のようにして移動体の走行性能を維持している。
【００７９】
具体的には、図６（Ｄ）に示すように、移動体がスリップストリーム領域Ｒ内に滞在した期間Ｔ１（ｔ１〜ｔ４）の他に、移動体が特定の領域Ｒｍ内に滞在していた期間Ｔ２（ｔ２〜ｔ３）を計測しており、期間Ｔ２が任意のしきい値を超えている場合には、移動体が特定の領域Ｒｍの外に移動した場合であっても走行性能を変化させる効果倍率係数を期間Ｔ２において最大値に固定したまま維持している。そして効果倍率係数が最大値に維持される期間Ｔ２においては、移動体がスリップストリーム領域Ｒの外に出た後においても最大値のまま維持され、期間Ｔ２の経過後（ｔ５以降）においては、移動体がスリップストリーム領域Ｒ内に滞在した期間Ｔ１に基づいて設定された期間Ｔ３の終了するまでの期間（ｔ５〜ｔ６）において元の効果倍率係数（＝１）に復帰するように効果倍率係数が徐々に減算される制御が実行される。
【００８０】
３．本実施形態の処理
次に図７〜図１０を参照しながら、本実施形態の手法を実現する処理例を詳細に説明する。
【００８１】
図７は、本実施形態の手法におけるスリップストリーム領域を用いた走行性能の演算処理のメイン処理を示すフローチャートである。
【００８２】
まずスリップストリーム領域内に演算の対象となる移動体が滞在しているか否かを判別するスリップストリーム対象判別処理（ＳＳ対象判別）を行う（ステップＳ１００）。ステップＳ１００における判別処理の結果、対象が見つかった場合には（ステップＳ２００でＹ）、スリップストリーム領域に滞在したことに基づいて走行性能を変化させるスリップストリーム効果算出処理（ＳＳ効果算出）を行い（ステップＳ３００）、対象が見つからなかった場合には（ステップＳ２００でＮ）、対象がスリップストリーム領域から出ていると判断されるため、走行性能を徐々に本来の走行性能に復帰させていくスリップストリーム状態終了チェック処理（ＳＳ終了チェック）を行う（ステップＳ４００）。
【００８３】
図８は、スリップストリーム対象判別処理（ＳＳ対象判別）の詳細を示すフローチャートである。
【００８４】
まず自分の速度（操作対象の移動体の速度）が、所定速度以上であるか否かを判断し（ステップＳ１０１）、自分の速度が所定速度以上であると判断された場合には（ステップＳ１０１でＹ）、調査対象の移動体の速度が所定速度以上であるか否かを判断する（ステップＳ１０２）。
【００８５】
調査対象の移動体の速度が所定速度以上であると判断された場合には（ステップＳ１０２でＹ）、コース座標上（ローカル座標軸Ｄ：図２参照）における移動体間の相対距離を算出する（ステップＳ１０３）。
【００８６】
次に、調査対象がスリップストリーム領域内に滞在しているか否かを判断する（ステップＳ１０４）。例えば、調査対象の移動体の代表点がコース上に設定されたスリップストリーム領域内に存在するかを求めて、調査対象の移動体がスリップストリーム領域内に滞在していると判断された場合には（ステップＳ１０４でＹ）、ステップＳ１０３で求めた相対距離に基づいて、調査対象の移動体に関する走行性能を変化させる効果倍率係数を算出する（ステップＳ１０５）。
【００８７】
次にゲーム開始に先立って選択されたグループの設定情報に基づいて、調査対象の移動体が、自らの操作対象の移動体と同一グループに所属しているか否かを判断する（ステップＳ１０６）。調査対象が同一グループであった場合には（ステップＳ１０６でＹ）、ペアＳＳフラグをオンに設定する（ステップＳ１０７）。一方、調査対象が異なるグループであった場合には（ステップＳ１０６でＮ）、ステップＳ１０７の処理はバイパスする。
【００８８】
次に、ステップＳ１０５で算出した効果倍率係数が今までで最も大きな値であるかどうかを判断する（ステップＳ１０８）。すなわち、移動体がひとたびスリップストリーム領域内に滞在した場合には、前方にいる移動体との位置関係において効果倍率係数が求められるが、最も接近した場合に算出される効果倍率係数で走行性能が変化するようにしている。こうして効果倍率係数が今までで最大の値であった場合には（ステップＳ１０８でＹ）、調査対象の効果倍率係数やペアＳＳフラグなどの各種の設定情報を保存する（ステップＳ１０９）。
【００８９】
次に全ての対象（コース上を走行している全ての移動体）の調査が終了したか否かを判断して（ステップＳ１１０）、調査が終了していない場合には（ステップＳ１１０でＮ）、調査対象を変更して（ステップＳ１１１）、ステップＳ１０２〜Ｓ１０９までの処理を行う。一方、全ての対象についての調査が終了した場合には（ステップＳ１１０でＹ）、メイン処理に復帰して図７に示すステップＳ２００以降の処理を行う。
【００９０】
図９は、スリップストリーム効果算出処理（ＳＳ効果算出）の詳細を示すフローチャートである。
【００９１】
まず移動体の効果倍率係数を、図８に示すスリップストリーム対象判別処理（ＳＳ対象判別）において求められた値に更新するとともに（ステップＳ３０１）、スリップストリーム領域内に滞在した期間Ｔ１を更新し（ステップＳ３０２）、移動体の状態を示すステータスデータであるスリップストリーム効果権利獲得状態ＳＴ１を「カウント中」に変更する（ステップＳ３０３）。
【００９２】
次に移動体の効果倍率係数が上限値に固定されるか否かを示すステータスデータであるＭＡＸ効果倍率権利獲得状態ＳＴ２を参照して、ＳＴ２の状態に応じた処理を実行する（ステップＳ３０４）。
【００９３】
まず、ＳＴ２が「未獲得」であった場合には（ステップＳ３０４で「未獲得」）、移動体の位置が効果倍率ＭＡＸ領域（図２に示す特定の領域Ｒｍ）内であるか否かを判断する（ステップＳ３０５）。
【００９４】
そして移動体の位置が効果倍率ＭＡＸ領域内であった場合には（ステップＳ３０５でＹ）、効果倍率ＭＡＸ領域内に移動体が滞在した期間Ｔ２を更新し（ステップＳ３０６）、更新後の期間Ｔ２の値がしきい値以上であった場合には（ステップＳ３０７でＹ）、ＳＴ２を「権利獲得中」に変更してメイン処理に復帰する（ステップＳ３０８）。
【００９５】
一方、移動体の位置が効果倍率ＭＡＸ領域内でなかった場合には（ステップＳ３０５でＮ）、期間Ｔ２の値を初期値（例えば、０）にリセットしてメイン処理に復帰する（ステップＳ３０９）。
【００９６】
また、ステップＳ３０４でＭＡＸ効果倍率権利獲得状態ＳＴ２を参照した結果、ＳＴ２が「権利獲得中」であった場合には（ステップＳ３０４で「権利獲得中」）、移動体の位置が効果倍率ＭＡＸ領域内であるか否かを判断する（ステップＳ３１０）。
【００９７】
そして移動体の位置が効果倍率ＭＡＸ領域内であった場合には（ステップＳ３１０でＹ）、期間Ｔ２の値を更新してメイン処理に復帰する（ステップＳ３１１）。
【００９８】
一方、移動体の位置が効果倍率ＭＡＸ領域内でなかった場合には（ステップＳ３１０でＮ）、期間Ｔ２のカウントダウンを開始し（ステップＳ３１２）、ＳＴ２を「権利行使中」に変更してメイン処理に復帰する（ステップＳ３１３）。すなわちステップＳ３１２以降において移動体の効果倍率係数が期間Ｔ２において上限値に維持される処理が開始される。
【００９９】
また、ステップＳ３０４でＭＡＸ効果倍率権利獲得状態ＳＴ２を参照した結果、ＳＴ２が「権利行使中」であった場合には（ステップＳ３０４で「権利行使中」）、期間Ｔ２のカウントダウンを行い（ステップＳ３１４）、期間Ｔ２が終了（Ｔ２≦０）したか否かを判断する（ステップＳ３１５）。ステップＳ３１５において期間Ｔ２が終了したと判断された場合には（ステップＳ３１５でＹ）、ＳＴ２を「未獲得」に変更してメイン処理に復帰する（ステップＳ３１６）。
【０１００】
図１０は、スリップストリーム状態終了チェック処理（ＳＳ終了チェック）の詳細を示すフローチャートである。
【０１０１】
まずＳＴ２が「未獲得」でない場合には（ステップＳ４０１でＹ）、ＳＴ２を「権利行使中」に変更して（ステップＳ４０２）、期間Ｔ２のカウントダウンを開始する（ステップＳ４０３）。すなわちＳＳ終了チェックを実行する際には、対象となる移動体が既にスリップストリーム領域の外に移動しているため、効果倍率ＭＡＸ領域外にいると判断することができるため、ＳＴ２の状態を変更するとともに、期間Ｔ２のカウントを開始する必要がある。
【０１０２】
そして期間Ｔ２が終了（Ｔ２≦０）した場合には（ステップＳ４０４でＹ）、ＳＴ２を「未獲得」に変更してから、ＳＴ１を参照して、ＳＴ１の状態を判断する（ステップＳ４０６）。なおＳＴ２が「未獲得」であった場合には（ステップＳ４０１でＹ）、ステップＳ４０２〜Ｓ４０５の処理をバイパスする。
【０１０３】
まず、ＳＴ１が「未獲得」であった場合には（ステップＳ４０６で「未獲得」）、移動体がスリップストリーム領域内に滞在した期間Ｔ１の値がしきい値以上であるか否かを判断する（ステップＳ４０７）。期間Ｔ１の値がしきい値以上であった場合には（ステップＳ４０７でＹ）、期間Ｔ１の値に基づいて効果倍率係数を維持する期間Ｔ３の値を算出する（ステップＳ４０８）。ステップＳ４０８では、期間Ｔ１が長期間であるほど期間Ｔ３が長期化するように算出する。そして、ペアＳＳフラグがオンである場合には（ステップＳ４０９でＹ）、期間Ｔ３をペア用の算出式で再計算し（ステップＳ４１０）、ペアＳＳフラグをオフにリセットする（ステップＳ４１１）。ステップＳ４１０では、ペアＳＳフラグがオンであることに基づいて、同一グループの移動体の後方に設定されたスリップストリーム領域内に滞在していたことが確認されているため、異なるグループの移動体の後方に設定されたスリップストリーム領域内に滞在していた場合よりも期間Ｔ３が長期化するような算出式を使用して再計算を行う。なおペアＳＳフラグがオフである場合には（ステップＳ４０９でＮ）、ステップＳ４１０〜Ｓ４１１の処理はバイパスされる。最終的には、ＳＴ１を「権利行使中」に変更してメイン処理に復帰する（ステップＳ４１２）。
【０１０４】
一方、期間Ｔ１がしきい値を下回っていた場合には（ステップＳ４０７でＮ）、効果倍率係数、期間Ｔ１、ＳＴ１の各データを初期値にリセットしてメイン処理に復帰する（ステップＳ４１３）。
【０１０５】
また、ステップＳ４０６でＳＴ１を参照した結果、ＳＴ１が「権利行使中」であった場合には（ステップＳ４０６で「権利行使中」）、ステップＳ４０８あるいはステップＳ４１０で求められた期間Ｔ３のカウントダウンを行う（ステップＳ４１４）。そして期間Ｔ３が終了（Ｔ３≦０）した場合には（ステップＳ４１５でＹ）、ＳＴ１を「効果倍率減少中」に変更してメイン処理に復帰する（ステップＳ４１６）。
【０１０６】
また、ステップＳ４０６でＳＴ１を参照した結果、ＳＴ１が「効果倍率減少中」であった場合には（ステップＳ４０６で「効果倍率減少中」）、効果倍率係数の値から一定値を減算する（ステップＳ４１７）。そして効果倍率係数が等倍（＝１）以下になった場合には（ステップＳ４１８でＹ）、効果倍率係数、期間Ｔ３を初期値にリセットするとともに（ステップＳ４１９）、ＳＴ１を「未獲得」に変更してメイン処理に復帰する（ステップＳ４２０）。
【０１０７】
４．応用例
４．１  クライアント／サーバシステム
本実施形態のゲームシステムは、単体の装置によって各ゲーム処理を実行するようになっているが、サーバ装置と複数のクライアント装置から構成されるシステム（以下、「クライアント／サーバシステム」という。）に適用することができる。
【０１０８】
この場合に、クライアントサーバシステムは、図１１に示すように、基本的なゲーム処理を行うサーバ装置Ｓと、レースゲームに参加する各プレーヤから操作データを受信し、かつ、サーバ装置Ｓと必要なデータ及び命令の送受信を行う複数のクライアント装置Ｃ（Ｃ−１、Ｃ−２、・・・Ｃ−Ｎ）と、から構成される。
【０１０９】
本例においてサーバ装置Ｓは、クライアント装置Ｃに対して、例えば、ブロードキャスト方式でデータ通信を行うことによって、上述のように、ゲーム開始条件が満たされた場合にゲームを開始する処理やゲームを進行させる処理などレースゲームを実行する際に必要な各種の処理を行う。
【０１１０】
具体的には、このサーバ装置Ｓは、各レースゲームの実行中には、各クライアント装置Ｃを識別するための識別データに基づいて各クライアント装置Ｃとデータパケットやコマンドパケットの送受信を行う。
【０１１１】
また、このサーバ装置Ｓは、各クライアント装置Ｃの識別データ（グループ設定情報も含む）に基づいて、各プレーヤにおける操作データの受信、各プレーヤの移動体の後方にスリップストリーム領域を設定する処理、移動体の位置を判別する処理、移動体の走行性能を変化させる処理や移動体の走行性能を所与の期間維持する処理、及び各種処理結果の各クライアント装置Ｃへの送信など各種の処理を行う。
【０１１２】
各クライアント装置Ｃは、操作部１６０を介して受信した操作データを識別データとともにサーバ装置Ｓに送信するとともに、サーバ装置Ｓで実行された処理結果のデータや表示部１９０に出力するゲーム画像を描画するためのデータを受信する。
【０１１３】
４．２  ピアツーピアシステム
本実施形態のゲームシステムは、単体の装置によって各ゲーム処理を実行するようになっているが、複数の端末装置のみから構成され、各端末装置にて連動させてゲーム処理を実行するシステム（以下、「ピアツーピアシステム」という。）に適用することができる。
【０１１４】
この場合には、ピアツーピアシステムは、図１２に示すように、必要なデータ及びコマンドを相互に送受させつつ、個々にゲーム処理を実行しつつも各ゲーム処理を連動させるように制御可能な複数の端末装置Ｔ（Ｔ−１、Ｔ−２、Ｔ−３、・・・Ｔ−Ｎ）から構成される。
【０１１５】
各端末装置Ｔは、他の端末装置Ｔと連動しつつ、上述のように、ゲーム開始条件が満たされた場合にゲームを開始する処理やゲームを進行させる処理などレースゲームを実行する際に必要な各種の処理を行うようになっている。
【０１１６】
具体的には、各端末装置Ｔは、各レースゲームの実行中には、他の端末装置Ｔを識別するための識別データ（グループ設定情報を含む）に基づいて、それぞれデータパケット及びコマンドパケットの送受信を行うようになっており、当該識別データに基づいて、各プレーヤにおける操作データの受信、各プレーヤの移動体の後方にスリップストリーム領域を設定する処理、移動体の位置を判別する処理、移動体の走行性能を変化させる処理や移動体の走行性能を所与の期間維持する処理など各種の処理を行う。
【０１１７】
特に、この各端末装置Ｔは、プレーヤの操作データが操作部１６０を介して各端末装置Ｔに入力されると、当該入力された操作データに基づいて各種のゲーム処理を実行するとともに、当該入力された操作データを他の端末装置Ｔに送信する。
【０１１８】
また、この各端末装置Ｔは、操作部１６０を介して入力された操作データに基づいて自己の装置が担当する移動体をオブジェクト空間において移動させる制御を行うとともに、他の端末装置Ｔから送信された操作データに基づいて該当する移動体をオブジェクト空間において移動させる制御も行う。
【０１１９】
すなわち、ピアツーピアシステムの場合には、各端末装置Ｔは、当該各端末装置Ｔにて操作データが入力される移動体（すなわち、担当する移動体）以外の移動体の操作データについては、他の端末装置Ｔから受信し、操作部１６０を介して入力された操作データと受信した操作データに基づいて上述した各種のゲーム処理を行うようになっている。
【０１２０】
なお、上述のピアツーピアシステムでは、各端末装置Ｔ毎に、入力された操作データと受信した操作データに基づいて各種のゲーム処理を行うようになっているが、勿論、操作データだけでなく、各プレーヤの移動体の後方にスリップストリーム領域を設定する処理、移動体の位置を判別する処理、移動体の走行性能を変化させる処理や移動体の走行性能を所与の期間維持する処理などの各種の処理に関するデータの送受信を行うことができる。
【０１２１】
５．変形例
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１２２】
例えば、図１３（Ａ）〜図１３（Ｄ）に示すように、同一グループに所属するプレーヤの操作する移動体が所定の位置関係になったことに基づいて、移動体の走行性能を変化させてもよい。図１３（Ａ）や図１３（Ｂ）では、移動体ＰＣ１と移動体ＰＣ２とが進行方向に対して直列に配置される場合や移動体ＰＣ１と移動体ＰＣ２とが進行方向に対して並列に配置される場合に、走行性能を変化させる。具体的な例を挙げると、移動体ＰＣ１の代表点Ａ１と移動体ＰＣ２の代表点Ａ２との距離関係が一定距離に保たれるように各移動体の位置関係を制御することができる。この場合、速度の大きい移動体を基準として、速度の小さい移動体を近づけるように各移動体の位置関係を制御すれば、熟練者の操作による移動体の動きを制限することなく、初心者の操作する移動体を熟練者と同様に移動させることができるようになる。また３体の同一グループに所属する移動体ＰＣ１〜ＰＣ３において上記と同様に一定の距離関係を保つように位置関係を制御する場合には、図１３（Ｃ）に示すように、各移動体が進行方向に対して三角形の形状を保つように各移動体の位置関係を制御したり、図１３（Ｄ）に示すように、各移動体が進行方向に対して逆三角形の形状を保つように各移動体の位置関係を制御したりするようにしてもよい。この場合にも、移動体ＰＣ１の代表点Ａ１と移動体ＰＣ２の代表点Ａ２との距離、移動体ＰＣ２の代表点Ａ２と移動体ＰＣ３の代表点Ａ３との距離、移動体ＰＣ３の代表点Ａ３と移動体ＰＣ１の代表点Ａ１との距離を、一定距離に保つように各移動体の位置関係を制御することによって、グループ内に初心者が含まれる場合であっても、初心者の操作する移動体の走行安定性を良好に制御することができるようになる。
【０１２３】
また、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１２４】
また、スリップストリーム領域の設定手法、移動体の位置判別手法、移動体の走行性能を変化させる手法、移動体の走行性能を維持する手法等についても上記実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
【０１２５】
また、上記実施形態では、移動体として車両を操作するレースゲームを例にとり説明したがこれに限られず、船舶又は飛行機などの各種の移動体を操作するゲーム等に適用可能である。
【０１２６】
また、本発明は、種々のゲームに適用できる。そして、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１２７】
【図１】本実施形態のゲームシステムの機能ブロック図。
【図２】本実施形態の手法を説明するための図。
【図３】本実施形態の手法を説明するための図。
【図４】本実施形態の手法を説明するための図。
【図５】本実施形態の手法を説明するための図。
【図６】本実施形態の手法を説明するための図。
【図７】本実施形態の具体的な処理例を示すフローチャート。
【図８】本実施形態の具体的な処理例を示すフローチャート。
【図９】本実施形態の具体的な処理例を示すフローチャート。
【図１０】本実施形態の具体的な処理例を示すフローチャート。
【図１１】本実施形態の応用例を示すネットワークシステムの説明図。
【図１２】本実施形態の応用例を示すネットワークシステムの説明図。
【図１３】本実施形態の手法の変形例を説明するための図。
【符号の説明】
【０１２８】
１００  処理部、１１０  ゲーム処理部、
１１１  表示制御部、１１２  移動体制御部、１１３  スリップストリーム領域設定部、
１１４  位置関係判定部、１１５  走行性能変更部、１１６  通信制御部、
１２０  描画部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  主記憶部、１７４  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2008067938.tif 000003
【図２】
2008067938.tif 000004
【図３】
2008067938.tif 000005
【図４】
2008067938.tif 000006
【図５】
2008067938.tif 000007
【図６】
2008067938.tif 000008
【図７】
2008067938.tif 000009
【図８】
2008067938.tif 000010
【図９】
2008067938.tif 000011
【図１０】
2008067938.tif 000012
【図１１】
2008067938.tif 000013
【図１２】
2008067938.tif 000014
【図１３】
2008067938.tif 000015