説明

プログラム、情報記憶媒体、及びゲーム装置

【課題】 オブジェクト空間内を移動する移動体オブジェクトが静止オブジェクトに衝突した場合に、移動体オブジェクトを容易に静止オブジェクトから離れる方向に移動させることが可能なゲーム装置、プログラム、情報記憶媒体を提供すること。
【解決手段】 ハンドル10の回転角を検出する検出部と、前記検出部の検出結果に基づいて、コースCS上を走行する移動体オブジェクトMOの移動方向MVを制御する移動制御部と、移動体オブジェクトMOがコースCSの両端に設定された静止オブジェクトWOに接触したか否かを判断し、接触したと判断した場合に、ハンドル10を所定角度θだけ回転させるための制御信号を生成する制御信号生成部と、前記制御信号に基づいて、ハンドル10を回転させるハンドル駆動部とを含むことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及びゲーム装置に関する。
【背景技術】
【0002】
従来から、プレーヤがハンドル(ステアリングホイール)を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクト(例えば車両)の移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置が知られている。
【0003】
このようなゲーム装置では、より実車に近いハンドル操作感を得るために、路面状況、衝突等により発生する振動をシミュレートして、ハンドルに振動を与えるものが知られている(例えば、特許文献1)。
【特許文献1】特開平4−232829号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら従来のゲーム装置では、車両がコース両端の壁等に衝突した場合に、ハンドルに振動を与えるのみであり、プレーヤがハンドルをコース中央側に戻す操作を行わない限り、車両をコース中央寄りに復帰させることができなかった。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、
オブジェクト空間内を移動する移動体オブジェクトが静止オブジェクトに衝突した場合に、移動体オブジェクトを容易に静止オブジェクトから離れる方向に移動させることが可能なゲーム装置、プログラム、情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0006】
(1)本発明は、プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置であって、
前記操作部の回転量を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成する制御信号生成部と、
前記制御信号に基づいて前記操作部を回転させる駆動部とを含むことを特徴とする。
【0007】
また本発明は、プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
前記操作部の回転量を検出する検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成し、前記操作部を回転させる駆動部に対して生成した制御信号を出力する制御信号生成部としてコンピュータを機能させることを特徴とする。
【0008】
また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
【0009】
本発明によれば、前記移動体オブジェクトが静止オブジェクトに接触したと判断した場合に、操作部を所定量回転させることにより、移動体オブジェクトを静止オブジェクトから離れる方向に移動させることができる。
【0010】
(2)また本発明に係るゲーム装置では、
前記移動制御部は、
前記検出部の検出結果に基づいて、コース上を走行する前記移動体オブジェクトの移動方向を制御し、
前記制御信号生成部は、
前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とする。
【0011】
本発明において、コースの両端に設定された静止オブジェクトとは、移動体オブジェクトがコースから出られないようにするためのオブジェクトをいい、例えばコース両端に設置された壁、建物、樹木などの表示物を表すオブジェクトでもよい。
【0012】
本発明によれば、前記移動体オブジェクトが前記コースの両端に設定された静止オブジェクトに接触したと判断した場合に、操作部を所定量回転させることにより、移動体オブジェクトを容易にコース中央寄りに復帰させることができる。
【0013】
(3)また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、前記操作部を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、前記操作部を右回転させるための制御信号を生成することを特徴とする。
【0014】
本発明において、操作部を左回転させるとは、操作部をプレーヤから見て左側に(反時計回りに)回転させることをいい、操作部を右回転させるとは、操作部をプレーヤから見て右側に(時計回りに)回転させることをいう。
【0015】
本発明によれば、前記移動体オブジェクトが移動方向右側又は左側に設定された静止オブジェクトに接触したと判断した場合に、移動体オブジェクトを容易にコース中央寄りに復帰させることができる。
【0016】
(4)また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とする。
【0017】
本発明によれば、接触時の移動体オブジェクトの姿勢に応じて、操作部の回転量を変化させることができ、移動体オブジェクトをコースに復帰させるための適切な角度だけ操作部を回転させることができる。
【0018】
(5)また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほど前記操作部の回転量を大きくして、前記操作部を当該回転量だけ回転させるための制御信号を生成することを特徴とする。
【0019】
(6)また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とする。
【0020】
本発明によれば、接触時の移動体オブジェクトの速度に応じて、操作部の回転量を変化させることができる。
【0021】
(7)また本発明に係るゲーム装置では、
前記制御信号生成部は、
前記移動体オブジェクトが前記コース上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とする。
【0022】
本発明において、コース上に設定された静止オブジェクトとは、例えばコース上に配置された中央分離帯、障害物などの表示物を表すオブジェクトでもよい。
【0023】
本発明によれば、前記移動体オブジェクトがコース上に設定された静止オブジェクトに接触したと判断した場合に、移動体オブジェクトを前記静止オブジェクトから離れる方向に移動させることができる。
【0024】
(8)また本発明に係るゲーム装置では、
前記操作部は、ハンドル又はステアリングホイールで構成されることを特徴とする。
【発明を実施するための最良の形態】
【0025】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0026】
1.システム概略
図1は、本実施形態のゲーム装置の概略外観図である。本実施形態のゲーム装置1は、サーキットコースあるいは市街地コースを走行するレーシングカー(移動体オブジェクト)をプレーヤが運転し、他のプレーヤの運転するレーシングカーやコンピューターカーと順位や時間を競い合うように形成されている。
【0027】
プレーヤは、シート18に座ってゲーム画面が表示されるディスプレイ20を見ながらハンドル10(ステアリングホイール)を操作し、必要に応じてアクセル12あるいはブレーキ14を踏みつけるとともにシフトレバー16を操作してゲームを行う。
【0028】
図2に示すように、ハンドル10にはシャフト32の一端が固定され、ハンドル10が回転操作されたときにシャフト32も回転するように構成されている。そしてハンドル10の回転状態(回転量、回転角)は可変抵抗器34によって検出され、検出結果が出力される。
【0029】
またシャフト32にはブラシレスモータ36が設けられている。ブラシレスモータ36は、ハンドル10を所定角度回転させるための制御信号に基づいて、シャフト32に対して一定時間回転力を与え、ハンドル10を所定量(所定角度)回転させる。またブラシレスモータ36は、シャフト32に対して、ハンドル10を所定位置に戻そうとする復元力や、ハンドル10を回そうとする力に対抗する抵抗力を与えることができる。
【0030】
2.構成
図3に本実施形態のゲーム装置の機能ブロック図の例を示す。なお本実施形態のゲーム装置は図3の構成要素(各部)の一部を省略した構成としてもよい。
【0031】
操作部160は、プレーヤがオブジェクト(移動体オブジェクト)の操作データを入力するためのものであり、その機能は、図1に示すハンドル10(ステアリングホイール)、レバー16、ペダル(アクセル12、ブレーキ14)、ボタン、或いは筺体などにより実現できる。
【0032】
操作部160は、検出部162、ハンドル駆動部164(駆動部)を含む。
【0033】
検出部162は、ハンドル10の回転角(操舵角)を検出し、検出結果を出力するものであり、その機能は図2に示す可変抵抗器34などにより実現できる。
【0034】
ハンドル駆動部164は、制御信号生成部113からの制御信号に基づいてハンドル10を所定角度回転するものであり、その機能は図2に示すブラシレスモータ36などにより実現できる。
【0035】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部172と、最終的な表示画像等が記憶されるフレームバッファ174と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部176と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部178と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ179と、を含む。なお、これらの一部を省略する構成としてもよい。
【0036】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0038】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0039】
通信部196は外部(例えば他のゲーム装置、サーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0040】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲーム装置を機能させる場合も本発明の範囲内に含む。
【0041】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクト、エフェクトモデルを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0042】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112(移動制御部)、制御信号生成部113、仮想カメラ制御部114、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0043】
オブジェクト空間設定部110は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0044】
移動・動作処理部112は、オブジェクト(キャラクタ、移動体オブジェクト等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0045】
特に本実施形態の移動・動作処理部112(移動制御部)は、検出部162の検出結果(ハンドル10の回転角)に基づいて、移動体オブジェクトの移動方向(速度ベクトルの向き)を制御する。また移動・動作処理部112はコース上を走行する移動体オブジェクトの移動方向を制御するようにしてもよい。
【0046】
制御信号生成部113は、移動・動作処理部112によって求められたオブジェクトの移動情報に基づいて、前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル10を所定量回転させるための制御信号を生成して、ハンドル駆動部164に出力する。
【0047】
また制御信号生成部113は、前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル10を所定量回転させるための制御信号を生成するようにしてもよい。
【0048】
また制御信号生成部113は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、ハンドル10を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、ハンドル10を右回転させるための制御信号を生成するようにしてもよい。
【0049】
また制御信号生成部113は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づきハンドル10の回転量を求め、ハンドル10を求めた回転量だけ回転させるための制御信号を生成するようにしてもよい。
【0050】
また制御信号生成部113は、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほどハンドル10の回転量を大きくして、ハンドル10を当該回転量だけ回転させるための制御信号を生成するようにしてもよい。
【0051】
また制御信号生成部113は、前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づきハンドル10の回転量を求め、ハンドル10を求めた回転量だけ回転させるための制御信号を生成するようにしてもよい。
【0052】
また制御信号生成部113は、前記移動体オブジェクトが前記コースの上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、ハンドル10を所定量回転させるための制御信号を生成するようにしてもよい。
【0053】
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)等に基づいて、ワールド座標系における仮想カメラの位置(X、Y、Z)又は回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0054】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0055】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
【0056】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
【0057】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0058】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0059】
なお、本実施形態のゲーム装置は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用の装置にしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備える装置にしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0060】
3.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0061】
図4(A)、図4(B)は、本実施形態のハンドル制御の一例について説明するための図である。
【0062】
本実施形態では、プレーヤはハンドル10を操作することにより、コースCS上を走行する移動体オブジェクトMO(車両)の移動方向MVを制御する。また、コースCSの両端には、壁オブジェクトWO(静止オブジェクト)が設定され、移動体オブジェクトMOがコースCSの外側に出られないようになっている。
【0063】
そして図4(A)に示すように、移動体オブジェクトMOが移動方向MVに向かって左側の壁オブジェクトWOに接触した場合には、ハンドル10を所定角度θだけ右回り(時計回り)に回転させて、移動体オブジェクトMOの移動方向MVをコースCS中央寄りに変化させる制御を行う。
【0064】
また図4(B)に示すように、移動体オブジェクトMOが移動方向MVに向かって右側の壁オブジェクトWOに接触した場合には、ハンドル10を所定角度θだけ左回り(反時計回り)に回転させて、移動体オブジェクトMOの移動方向MVをコースCS中央寄りに変化させる制御を行う。
【0065】
このように本実施形態によれば、移動体オブジェクトMOが壁オブジェクトWOに衝突した場合に、衝突した壁オブジェクトWOの位置する方向と反対方向にハンドル10を物理的に回転させる制御を行うことで、プレーヤ自身にハンドル10を操作させることなく、移動体オブジェクトMOをコースCS中央寄りに復帰させることができ、移動体オブジェクトMOが壁オブジェクトWOに衝突し続ける事態を防止することができる。またプレーヤは、自身の運転する移動体オブジェクトMOが壁オブジェクトWOと衝突した反動でハンドル10が回転したような感覚を得ることができる。
【0066】
なお、移動体オブジェクトMOが壁オブジェクトWOに接触した場合には、移動体オブジェクトMOの移動方向MVを壁オブジェクトWOに沿う向きに変化させた上で、上記手法によりハンドル10を回転させるようにしてもよい。この場合、ハンドル10を大きく回転させることなく、移動オブジェクトMOをコースCS中央寄りに復帰させることができる。
【0067】
図5(A)、図5(B)は、移動体オブジェクトMOの壁オブジェクトWOとの接触時の姿勢によってハンドル10を回転させる角度を制御する例について説明するための図である。
【0068】
本実施形態では、図5(A)、図5(B)に示すように、移動体オブジェクトMOが壁オブジェクトWOに接触した場合には、壁オブジェクトWOの移動体オブジェクトMOとの接触点CPにおける接線方向TVと移動体オブジェクトMOの移動方向MVとがなす角度(進入角度)φを求め、求めた進入角度φに基づきハンドル10を回転させる角度θ(ハンドル10の回転量)を求める。
【0069】
すなわち、図5(A)、図5(B)に示すように、進入角度φが大きいほどハンドル10を回転させる角度θが大きくなるように制御している。例えば、移動体オブジェクトMOの移動方向MVを、進入角度φ+所定の角度αだけコースCS中央寄りに変化させるような角度θを求めて、求めた角度θだけハンドル10を回転させるようにしてもよい。
【0070】
このように、本実施形態によれば、壁オブジェクトWOに対する移動体オブジェクトMOの進入角度φが大きくなるほどハンドル10を回転させる角度θを大きくするように制御することで、移動体オブジェクトMOがコースに復帰するために必要な角度だけハンドル10を回転させることができる。またプレーヤは、移動体オブジェクトMOが壁オブジェクトWOに対して深い角度で衝突した場合(進入角度φが大きい場合)に、浅い角度で衝突した場合に比べてより大きな反動がハンドル10に生じたような感覚を得ることができる。
【0071】
なお、移動体オブジェクトMOが壁オブジェクトWOに接触した場合には、接触時の移動体オブジェクトMOの移動速度(速度ベクトルの大きさ)に基づきハンドル10を回転させる角度θを求めるようにしてもよい。この場合、接触時の移動体オブジェクトMOの移動速度が大きいほどハンドル10を回転させる角度θを大きくするように制御することで、プレーヤは、移動体オブジェクトMOの衝突時の速度が大きいほど、より大きな反動がハンドル10に生じたような感覚を得ることができる。
【0072】
図6は、移動体オブジェクトMOがコースCS上の静止オブジェクトに接触した場合のハンドル制御の一例について説明するための図である。
【0073】
図6に示す例では、コースCS上に中央分離帯を表すオブジェクトCO(静止オブジェクト)が設定されている。そして図6に示すように、移動体オブジェクトMOが移動方向MV右側のオブジェクトCOに接触した場合には、ハンドル10を所定角度θだけ左回り(反時計回り)に回転させて、移動体オブジェクトMOの移動方向MVをオブジェクトCOから離れる方向に変化させる制御を行う。このようにすることで、プレーヤ自身にハンドル10を操作させることなく、移動体オブジェクトMOをオブジェクトCOから離れる方向に移動させることができ、移動体オブジェクトMOがオブジェクトCOに衝突し続ける事態を防止することができる。
【0074】
4.本実施形態の処理
次に、本実施形態の処理の一例について図7のフローチャートを用いて説明する。
【0075】
まず、移動・動作処理部112は、検出部162の検出結果(ハンドルの回転角)に基づいて、移動体オブジェクトMOの移動方向MVを制御する(ステップS10)。
【0076】
次に、制御信号生成部113は、移動体オブジェクトMOが静止オブジェクト(壁オブジェクトWO、中央分離帯を表すオブジェクトCO)に接触したか否かを判断し(ステップS12)、接触したと判断した場合には、静止オブジェクトに対する移動体オブジェクトMOの進入角度φを求め、求めた進入角度φに基づきハンドル10を回転させる角度θを求める(ステップS14)。
【0077】
次に、制御信号生成部113は、接触した静止オブジェクトが移動体オブジェクトMOの移動方向MVに向かって右側にあるか否かを判断し(ステップS16)、右側にあると判断した場合には、ハンドル10を角度θだけ左回りに回転させるための制御信号を生成する(ステップS18)。
【0078】
ステップS16において、接触した静止オブジェクトが移動体オブジェクトMOの移動方向MVに向かって右側にない(接触した静止オブジェクトが移動体オブジェクトMOの移動方向MVに向かって左側にある)と判断した場合には、制御信号生成部113は、ハンドル10を角度θだけ右回りに回転させるための制御信号を生成する(ステップS20)。ここでハンドルを角度θだけ右回転或いは左回転させるための制御信号とは、ハンドルの回転方向、回転角度、回転時間、回転力(トルク)、ハンドル10が戻ろうとする位置、抵抗力等を、ハンドル駆動部164に指示する制御信号である。
【0079】
次に、ステップS18又はステップS20の処理において生成した制御信号をハンドル駆動部164に出力する(ステップS22)。
【0080】
次に、処理を続けるか否か判断し(ステップS24)、続けるのであればステップS10に戻り、ステップS10以下の処理を繰り返す。
【0081】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【図面の簡単な説明】
【0082】
【図1】本実施形態のゲーム装置の概略外観図。
【図2】本実施形態の操作部の構成を示す図。
【図3】本実施形態のゲーム装置の機能ブロック図。
【図4】図4(A)、図4(B)は、本実施形態のハンドル制御の一例について説明するための図。
【図5】図5(A)、図5(B)は、移動体オブジェクトの壁オブジェクトとの接触時の姿勢によってハンドルの回転角度を制御する例について説明するための図。
【図6】移動体オブジェクトがコース上の静止オブジェクトに接触した場合のハンドル制御の一例について説明するための図。
【図7】本実施形態の処理の流れを示すフローチャート図。
【符号の説明】
【0083】
10 ハンドル、100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、113 制御信号生成部、114 仮想カメラ制御部、120 描画部、130 音生成部、160 操作部、162 検出部、164 ハンドル駆動部、170 記憶部、180 情報記憶媒体、190 表示部、192 音出力部、196 通信部

【特許請求の範囲】
【請求項1】
プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するゲーム装置であって、
前記操作部の回転量を検出する検出部と、
前記検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成する制御信号生成部と、
前記制御信号に基づいて前記操作部を回転させる駆動部とを含むことを特徴とするゲーム装置。
【請求項2】
請求項1において、
前記移動制御部は、
前記検出部の検出結果に基づいて、コース上を走行する前記移動体オブジェクトの移動方向を制御し、
前記制御信号生成部は、
前記移動体オブジェクトが前記コースの両端に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項3】
請求項2において、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあるか左側にあるかを判断し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって右側にあると判断した場合には、前記操作部を左回転させるための制御信号を生成し、接触した前記静止オブジェクトが前記移動体オブジェクトの移動方向に向かって左側にあると判断した場合には、前記操作部を右回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項4】
請求項2又は3において、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度を求め、求めた角度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項5】
請求項4において、
前記制御信号生成部は、
前記移動体オブジェクトの移動方向と、前記静止オブジェクトの接触点における接線方向とがなす角度が大きいほど前記操作部の回転量を大きくして、前記操作部を当該回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記制御信号生成部は、
前記移動体オブジェクトが前記静止オブジェクトに接触したと判断した場合に、前記移動体オブジェクトの移動速度に基づき前記操作部の回転量を求め、前記操作部を求めた回転量だけ回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項7】
請求項2乃至6のいずれかにおいて、
前記制御信号生成部は、
前記移動体オブジェクトが前記コース上に設定された前記静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成することを特徴とするゲーム装置。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記操作部は、ハンドル又はステアリングホイールで構成されることを特徴とするゲーム装置。
【請求項9】
プレーヤが操作部を操作することにより入力された操作データに基づきオブジェクト空間における移動体オブジェクトの移動を制御し、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
前記操作部の回転量を検出する検出部の検出結果に基づいて、前記移動体オブジェクトの移動方向を制御する移動制御部と、
前記移動体オブジェクトがオブジェクト空間内に設定された静止オブジェクトに接触したか否かを判断し、接触したと判断した場合に、前記操作部を所定量回転させるための制御信号を生成し、前記操作部を回転させる駆動部に対して生成した制御信号を出力する制御信号生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項10】
コンピュータ読み取り可能な情報記憶媒体であって、請求項9のプログラムを記憶したことを特徴とする情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−189527(P2009−189527A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−32623(P2008−32623)
【出願日】平成20年2月14日(2008.2.14)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】