(57)【要約】【課題】シミュレーション内容又は操作者の好みに応じた振動体感できるシミュレータを提供する。【解決手段】所与のシミュレーション状況の発生に対応して振動機構１４０を駆動することにより操作者に振動を体感させるシミュレータである。このシミュレータは、操作部１６０からの操作入力に応じてシミュレータオブジェクトが操作されるシミュレーション演算を行うシミュレーション演算部１１２と、シミュレーション演算により、振動の発生シミュレーション状況が発生したことを条件として振動機構を駆動する振動機構制御部１１４と、振動の発生シミュレーション状況を特定する振動条件の設定を、振動条件設定用の操作部からの操作入力により受付ける振動条件設定部１１６とを含む。【選択図】        図１
2004325828.tif 000002
【特許請求の範囲】
【請求項１】
所与のシミュレーション状況の発生に対応して振動機構を駆動することにより操作者に振動を与えるシミュレータであって、
オブジェクト操作手段からの操作入力に応じてシミュレータオブジェクトが操作されるシミュレーション演算を行うシミュレーション演算手段と、
前記シミュレーション演算により、振動の発生シミュレーション状況が発生したことを条件として前記振動機構を駆動する振動機構制御手段と、
前記振動の発生シミュレーション状況を特定する振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付ける振動条件設定手段と、
を含み、
前記振動条件設定手段は、
前記振動条件の設定により特定された前記振動の発生シミュレーション状況における、振動機構の振動の強さ、パターン、長さの少なくとも一つを含む振動内容の設定を受付ける条件設定処理を行ない、
前記振動機構制御手段は、
前記前記振動条件の設定により特定された前記振動の発生シミュレーション状況が発生した際、前記設定された振動内容に関連付けて前記振動機構を駆動することを特徴とするシミュレータ。
【請求項２】
請求項１において、
前記振動条件設定手段は、
ディスプレイ上に振動条件設定画面を表示するとともに、前記振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付け、記憶手段に記憶する条件設定処理を行なうことを特徴とするシミュレータ。
【請求項３】
請求項１、２のいずれかにおいて、
前記振動機構制御手段は、
前記振動機構を振動させる条件としてのシミュレーション状況が同時に複数発生した場合、前記振動内容設定手段によって設定された複数の振動内容を合成して前記振動機構を制御することを特徴とするシミュレータ。
【請求項４】
請求項１〜３のいずれかにおいて、
前記振動機構制御手段は、
前記振動機構を振動させる条件としてのシミュレーション状況が同時に複数発生した場合、前記各シミュレーション状況に与えられた優先度に互い前記振動機構を制御することを特徴とするシミュレータ。
【請求項５】
所与のシミュレーション状況の発生に対応して振動機構を駆動することにより操作者に振動を与えるシミュレータのコンピュータを制御するプログラムであって、
オブジェクト操作手段からの操作入力に応じてシミュレータオブジェクトが操作されるシミュレーション演算を行うシミュレーション演算手段と、
前記シミュレーション演算により、振動の発生シミュレーション状況が発生したことを条件として前記振動機構を駆動する振動機構制御手段と、
前記振動の発生シミュレーション状況を特定する振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付ける振動条件設定手段としてコンピュータを機能させ、
前記振動条件設定手段は、
前記振動条件の設定により特定された前記振動の発生シミュレーション状況における、振動機構の振動の強さ、パターン、長さの少なくとも一つを含む振動内容の設定を受付ける条件設定処理を行ない、
前記振動機構制御手段は、
前記前記振動条件の設定により特定された前記振動の発生シミュレーション状況が発生した際、前記設定された振動内容に関連付けて前記振動機構を駆動するための処理を行なうことを特徴とするプログラム。
【請求項６】
請求項５において、
前記振動条件設定手段は、
ディスプレイ上に振動条件設定画面を表示するとともに、前記振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付け、記憶手段に記憶する条件設定処理を行うことを特徴とするプログラム。
【請求項７】
請求項５、６のいずれかのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シミュレータ、プログラム及び情報記憶媒体に関する。
【０００２】
【背景技術】
従来より、例えば自動車運転用シミュレータなどにあっては、実際の運転状況を臨場感をもってドライバに体験させることができるように、運転状況にあわせた振動を発生し、ドライバに体感させるものがあった。
【０００３】
また、アーケードゲームを行うゲーム用のシミュレータにあっては、ゲーム環境にあわせて振動を発生させ、プレーヤにリアリティの高いゲームを実行させるものもあった。このようなシミュレータとしては、例えば特開平９−８４９５７号公報が知られている。
【０００４】
【特許文献１】
特開平９−８４９５７号公報
【０００５】
【発明が解決しようとする課題】
しかし、従来のシミュレータでは、予め振動の発生する状況がプログラム的に設定されているため、シミュレータの操作者が望まない状況においても振動が発生してしまう場合があるという問題があった。
【０００６】
例えば、運転教習用のシミュレータを例に取ると、初心者でかつ神経質な操作者にあっては、余計なノイズとなる振動発生を望まない場合も多く、また実際に近い状況を望む操作者にあっては、実空間にあわせた振動の発生を望むことが多い。しかし、従来のシミュレータは、このような操作者の要求に十分に対応するものとはいえなかった。
【０００７】
本発明は、このような課題に鑑みなされたものであり、その目的は、操作者からの要求に応じて振動の発生シミュレーション状況を特定する振動条件の設定を変更可能なシミュレータ、プログラム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
（１）上記課題を解決するために、本発明のシミュレータは、
所与のシミュレーション状況の発生に対応して振動機構を駆動することにより操作者に振動を与えるシミュレータであって、
オブジェクト操作手段からの操作入力に応じてシミュレータオブジェクトが操作されるシミュレーション演算を行うシミュレーション演算手段と、
前記シミュレーション演算により、振動の発生シミュレーション状況が発生したことを条件として前記振動機構を駆動する振動機構制御手段と、
前記振動の発生シミュレーション状況を特定する振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付ける振動条件設定手段と、
を含み、
前記振動条件設定手段は、
前記振動条件の設定により特定された前記振動の発生シミュレーション状況における、振動機構の振動の強さ、パターン、長さの少なくとも一つを含む振動内容の設定を受付ける条件設定処理を行ない、
前記振動機構制御手段は、
前記前記振動条件の設定により特定された前記振動の発生シミュレーション状況が発生した際、前記設定された振動内容に関連付けて前記振動機構を駆動することを特徴とする。
【０００９】
また本発明に係るプログラムは、コンピュータにより実行可能なプログラム（情報記憶媒体又は搬送波に具現化されるプログラム）であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより読み取り可能（使用可能）な情報記憶媒体であって、上記手段をコンピュータに実現させる（上記手段としてコンピュータを機能させる）ためのプログラムを含むことを特徴としている。
【００１０】
ここにおいて、前記振動機構は、シミュレータの操作者に振動を与えるものであり、例えば振動モータなどを用いて構成することができる。また前記振動機構は、シミュレータ演算する内容や、シミュレータのタイプによって各種の部位に設けることができ、例えば操作者が座って操作を行うタイプのシミュレータにあっては、椅子や、各種の操作部位の近くに設けてもよく、また家庭用ゲームのようにコントローラを用いて操作するものにあっては、プレーヤが操作するコントローラ内部に設けるように構成すればよい。
【００１１】
また、本発明においてシミュレータは、例えば各種の運転シミュレータや、アーケードゲーム機、さらには家庭用ゲーム機を含むものであり、各種の状況をシミュレーションするものを幅広く意味するものである。
【００１２】
また、振動発生シミュレーション状況とは、シミュレーションされた仮想空間において、操作者に振動を付与することにより、よりリアリティの高い状況を実現できる状況を意味し、例えば運転をシミュレートする場合には、操作対象となるシミュレータオブジェクトが障害物にぶつかった場合や、砂利道などを走行する場合などが相当する。
【００１３】
また、振動発生シミュレーション状況を特定する振動条件の設定とは、どのようなシミュレーション状況において振動を発生するか、その条件を設定することを意味する。例えばプログラム的に複数の振動発生シミュレーション状況が設定されている場合に、操作者はこの複数の状況のそれぞれについて、振動を発生させる、発生さない等の振動条件の設定を行うことができる。
【００１４】
また振動内容とは、どのような内容の振動を発生させるかを意味し、例えば振動の強さ、振動パターン、振動の長さなどが該当する。
【００１５】
本発明のシミュレータによれば、操作者はオブジェクト操作手段を操作することにより、仮想空間内のシミュレータオブジェクトの操作を行う。このとき、振動発生シミュレーション状況が発生すると、振動機構制御手段は振動機構を駆動し、操作者に当該状況に対応した振動を体感させ、リアリティの高いシミュレーションを実現することができる。
【００１６】
このとき、本発明のシミュレータによれば、操作者は振動条件設定用の操作手段を操作し、振動が発生するシミュレーション状況を特定する振動条件の設定を行うことができる。これにより、例えばプログラム的に複数の振動発生シミュレーション状況が用意されている場合にあっても、操作者は所望の状況においてのみ振動を発生するように振動条件を設定することができる。このように、本発明によれば、振動演出を行うシミュレーション条件毎に、振動演出を行うか否かを操作者に決定させ、操作者の好みに応じた演出効果の高い振動演出を行うシミュレータを提供することができる。
【００１７】
特に、本発明によれば、振動条件の設定に加え、例えば振動の強さ、振動パターン、振動の長さなどの発生する振動内容の設定も操作者が行うことができるため、操作者の好みにより適合したより演出効果の高い振動演出を行うシミュレータを提供することができる。
【００１８】
なお、家庭用ゲーム機を用いて本発明のシミュレータを構成する場合には、ゲーム機の振動機構付コントローラと、上記シミュレーション演算手段、振動機構制御手段、振動条件設定手段として機能するようにプログラムがインストール又は当該プログラムの記憶媒体がセットされた家庭用ゲーム機本体と、ディスプレイとを含み、家庭用ゲーム機本体が振動機構制御手段、振動条件設定手段として機能しコントローラの振動機構を制御するように構成すればよい。
【００１９】
（２）また、本発明に係る遊技機、プログラム及び情報記憶媒体において、
前記振動条件設定手段は、
ディスプレイ上に振動条件設定画面を表示するとともに、前記振動条件の設定を、振動条件設定用の操作手段からの操作入力により受付け、記憶手段に記憶する条件設定処理を行うように形成してもよい。
【００２０】
ここにおいて、記憶手段は、シミュレータ内部に設けてもよく、またネットワーク等を用いて接続された外部に用意してもよく、また操作者が持ち運び自在な外部記憶媒体を用いてもよい。
【００２１】
（３）また、本発明に係る遊技機、プログラム及び情報記憶媒体において、
前記振動機構制御手段は、
前記振動機構を振動させる条件としてのシミュレーション状況が同時に複数発生した場合、前記振動内容設定手段によって設定された複数の振動内容を合成して前記振動機構を制御するように形成してもよい。
【００２２】
（４）また、本発明に係る遊技機、プログラム及び情報記憶媒体において、
前記振動機構制御手段は、
前記振動機構を振動させる条件としてのシミュレーション状況が同時に複数発生した場合、前記各シミュレーション状況に与えられた優先度に互い前記振動機構を制御するように形成してもよい。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施の形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２４】
以下、本発明の好適な実施の形態について図面を用いて説明する。
【００２５】
１．シミュレータの構成
以下に、本発明が適用されたシミュレータの好適な実施の形態を説明する。
【００２６】
なお、以下に説明する本実施の形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施の形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００２７】
図１に、本実施の形態のブロック図の一例を示す。なお同図において本実施の形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００２８】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、シミュレーション処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（シミュレーションプログラム）により実現できる。
【００２９】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００３０】
振動機構１４０は、シミュレータのシミュレーション状況に応じた振動を発生するためのものであり、その機能は、例えば振動モータなどにより実現できる。
【００３１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、メインメモリ１７２、フレームバッファ１７４、振動条件記憶部１７６として機能し、ＲＡＭなどのハードウェアにより実現できる。
【００３２】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施の形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施の形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００３３】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３４】
表示部１９０は、本実施の形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３５】
音出力部１９２は、本実施の形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３６】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型シミュレーション装置などを考えることができる。
【００３７】
通信部１９６は、外部（例えばホスト装置や他のシミュレーションシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３８】
なお本発明（本実施の形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３９】
処理部１００は、シミュレーション処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００４０】
シミュレーション処理部１１０は、本実施の形態において、ゲーム用のシミュレーション処理を実行する。
【００４１】
すなわち、このシミュレーション処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、シミュレーションの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、シミュレーション結果（成果、成績）を演算する処理、複数のプレーヤが共通のシミュレーション空間でプレイするための処理、或いはゲームオーバー処理などの種々のシミュレーション処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、シミュレーションプログラムなどに基づいて行う。
【００４２】
シミュレーション処理部１１０は、シミュレーション演算部１１２、振動機構制御部１１４、振動条件設定部１１６を含む。
【００４３】
シミュレーション演算部１１２は、オブジェクト操作手段として機能する操作部１６０からの操作入力に応じて、ゲームオブジェクトが操作されるゲーム用のシミュレーション演算を行う。
【００４４】
振動機構制御部１１４は、前記シミュレーション演算により、振動発生シミュレーション状況が発生したことを条件として、前記振動機構１４０を駆動し、シミュレーション状況に適合した振動をプレーヤに体感させる処理を実行する。
【００４５】
前記振動条件設定部１１６は、振動条件特定用の操作手段からの操作入力により、前記振動発生シミュレーション状況を特定する振動条件の設定を受け付ける処理を行う。本実施の形態では、操作部１６０が、振動条件設定用の操作手段としても機能し、設定された振動条件は、記憶部１７０の振動条件記憶部１７６に設定書き込みされる。なお、必要に応じてセーブ用情報記憶装置１９４に、設定された振動条件を読出し可能に書き込むように構成してもよい。また、必要に応じて通信回線を介しホスト装置のメモリに、設定された振動条件を読出し可能に書き込む構成を採用してもよい。
【００４６】
画像生成部１３０は、シミュレーション処理部１１０からの指示等にしたがって、例えば座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）や、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファに描画する描画処理等の各種の画像処理を行い、オブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。
【００４７】
また、音生成部１５０は、シミュレーション処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００４８】
なお、シミュレーション処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００４９】
なお、本実施の形態のシミュレーションシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５０】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するシミュレーション画像やシミュレーション音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５１】
２．本実施の形態の特徴
以下本実施の形態の特徴について、図面を用いて説明する。
【００５２】
次に、本実施の形態の特徴的な構成を、本実施の形態のシミュレータをドライビングゲームを行うアーケードゲーム装置に適用した場合を例に取り説明する。
【００５３】
本実施の形態のシミュレータでは、操作者であるプレーヤは、操作部１６０を操作して、シミュレータオフジェクトである自分の仮想レーシングカー（以下、自機レーシングカーという）を操縦し、ゲームを楽しむ。シミュレーション演算部１１２は、操作部１６０からの入力及び所与のプログラムに基づき、ドライビングゲームを行うための仮想３次元ゲーム空間を演算し、画像生成部１３０は自機のレーシングカーがレーシングコースを走行するゲーム画面を生成し表示部１９０に表示し、音生成部１５０は、ゲームの効果音を生成し音出力部１９２から出力する。
【００５４】
このとき、振動機構制御部１１４は、前記シミュレーション演算により、振動発生シミュレーション状況が発生することを条件として、振動機構１４０を駆動する。これにより、プレーヤにシミュレーション演算されたゲーム状況に適合した振動を体感させ、ゲームにリアリティを与えかつその雰囲気を盛り上げることができる。
【００５５】
図２（Ａ）には、前記シミュレーション演算により、振動が発生する振動発生シミュレーション状況の具体例が「振動発生要素名」として示され、その振動の強さが０〜８の９段階で示されている。
【００５６】
図２（Ｂ）には、各振動発生要素と、その振動パターンとの関係が示され、各振動発生要素毎にＡ、Ｂ、Ｃの振動パターンが選択可能になっている。同図において大文字のアルファベットで記載されたパターンが現在選択されているパターンである。
【００５７】
図２（Ｃ）には、各振動発生要素名と、その振動発生時間との関係が示され、各振動発生要素毎に、１秒〜８秒までの間で、その振動発生時間が選択可能になっている。
【００５８】
このように、本実施の形態のシミュレータ、すなわちドライビングゲームを行うシミュレータにあっては、図２に示すように、少なくとも８種類の振動発生要素毎に、振動の強さ、振動パターン、振動長さを、操作者であるプレーヤが選択可能に構成されている。
【００５９】
図３には、振動発生条件及び振動発生パターンをプレーヤが設定するための、一連の処理を表すフローチャートが示されている。
【００６０】
まず、プレーヤが操作部１６０を操作して、図示しないメニュー選択画面を表示部１９０上に表示させ、ここで振動条件の設定入力受付けモードを選択する。
【００６１】
すると、ステップＳ１０において、振動機構設定部１１４は、表示部１９０上に図２（Ａ）〜（Ｃ）に示す設定入力受付画面の表示を行い、次にステップＳ２０において、設定入力の受付処理を開始する。
【００６２】
プレーヤは、図２に示す画面を見ながら、各振動発生要素（振動発生シミュレーション状況）毎に、その振動内容、具体的には振動の強さ、パターン、振動継続時間を設定する。
【００６３】
図２（Ａ）〜（Ｃ）に示す設定入力受付画面では、プログラムが予め用意していたデフォルト値が表示される。プレーヤが、このデフォルト値を変更しなければ、図２に示すデフォルト値に従って、振動発生制御が行われることになる。
【００６４】
各振動発生要素毎に、当該要素に対して振動を発生させるか否か、発生させる場合にはどの程度の強さに設定するかについては、図２（Ａ）に示すメニュー画面を用いて入力する。振動発生を希望しない振動発生要素に対しては、振動の強さを０に設定すればよい。
【００６５】
また、図２（Ｂ）に示すように、各振動発生要素毎に、その振動パターンはＡ、Ｂ、Ｃの３パターン用意されている。プレーヤは、その３パターンの中から所望の振動パターンを選択することができる。
【００６６】
また、図２（Ｃ）に示すように、各振動発生要素毎に、１秒〜８秒の振動の長さが用意されており、プレーヤは所望の振動の長さを選択設定することができる。
【００６７】
プレーヤが、操作部１６０を用いて、このような各振動発生要素毎に、振動発生の有無、及びその振動内容の設定を行い、更に操作部１６０を用いてその設定内容を確定する操作を行うと、次にステップＳ３０において、設定されたデータが振動条件記憶部１７６に更新記憶される設定記憶処理が実行される。
【００６８】
このような図３に示す一連の処理は、プレーヤがゲームを開始するに先立って行ってもよく、またゲーム中において適宜メニュー画面を表示させ、行うようにしてもよい。
【００６９】
図４、図５には、振動機構制御部１１４が、前述したように振動条件記憶部１７６に設定記憶された設定条件に従い、振動機構１４０を制御する処理の一例を表すフローチャートが示されている。
【００７０】
振動機構制御部１１４は、シミュレーション演算部１１２が行うシミュレーション演算により、前記振動条件の設定により特定された振動発生シミュレーション状況（振動発生要素）が発生した際に、設定された振動内容に関連付けて前記振動機構１４０を駆動する。すなわち、設定された振動の強さ、パターン、振動の長さに従って、振動機構１４０を駆動する。
【００７１】
これにより、ゲーム中に、所定の振動発生シミュレーション状況が発生すると、プレーヤの好みに応じて設定された振動内容に従った振動をプレーヤは体感しながらゲームを楽しむことができる。
【００７２】
まず、図４の振動発生制御処理について説明する。
【００７３】
ここでは、自車が他の車にぶつかった「対車ヒット」と、これに伴い自車がコースアウトして不整地を走行する状況を表す「不整地走行」と、このときの「エンジン振動」の各振動を発生させるシミュレーション状況が同時に発生した場合を例にとり説明する。
【００７４】
まず、ステップＳ１１０において、対車ヒットの振動を計算して、振動リクエスト値Ｓｈを求める処理を行う。
【００７５】
次に、ステップＳ１２０において、不整地走行での振動を計算して振動リクエスト量Ｓａを求める処理を行う。
【００７６】
次に、ステップＳ１３０において、エンジン振動を計算して振動リクエスト量Ｓｅを求める処理を行う。
【００７７】
次に、ステップＳ１４０において、求められた各リクエスト量を加算し、総振動リクエスト量Ｓａｌｌを、次式によって求める。
【００７８】
Ｓａｌｌ＝Ｓｈ＋Ｓａ＋Ｓｅ
次に、ステップＳ１５０において、得られた総振動リクエスト量Ｓａｌｌとなるように、振動機構制御部１１４は振動機構１４０を駆動制御する。
【００７９】
このようにすることにより、同時に複数の振動発生要素が発生した場合でも、これら各要素の合成値として振動を発生させ、プレーヤに体感させることができる。
【００８０】
次に、図５の振動発生制御処理について説明する。
【００８１】
ここでは、各振動発生要素毎に振動発生の優先度が設定されており、同時に複数の「振動発生シミュレーション状況」が発生した場合に、優先度の高い振動を選択的に実行させる。ここにおいても、「対車ヒット」、「不整地走行」、「エンジン振動」の３つの振動が同時に発生する場合を例に取り説明する。
【００８２】
まず、ステップＳ２１０において、対車ヒットに起因する振動を計算して振動リクエスト量Ｓｈを求める処理を行う。
【００８３】
次に、ステップＳ２１２において、計算によって求められたリクエスト量Ｓｈが０であるか否かが判断され、０である場合にはステップＳ２１６でその優先度Ｐｈを０に設定し、０でない場合にはステップＳ２１４において、対車ヒット振動の優先度Ｐｈを、予め用意されたプログラムに基づき設定する。
【００８４】
次に、ステップＳ２１８において、不整地走行時の振動を計算し、振動リクエスト量Ｓａを求める処理を行う。
【００８５】
そして、求めた値Ｓａが０であるか否かがステップＳ２２０で判断され、０と判断された場合には当該リクエスト量の優先度Ｐａを０に設定する処理をステップＳ２２４で行い、求められた値Ｓａが０でないと判断された場合には、不整地走行振動の優先度Ｐａを予め用意されたプログラム等に従い設定する処理をステップＳ２２２で行う。
【００８６】
次に、ステップＳ２２６において、エンジン振動を計算し、その振動リクエスト量Ｓｅを求める処理を行い、次にステップＳ２２８で、前述したように求めたリクエスト量Ｓｅが０であるか否かを判断し、０である場合にはステップＳ２３２でその優先度Ｐｅを０に設定する処理を行い、０でない場合にはステップＳ２３０においてその優先度Ｐｅを設定する処理を行う。
【００８７】
このような一連の処理を終了した後に、次にステップＳ２３４において、すべての振動発生要素の優先度をチェックし、一番優先度の高い振動発生要素の振動リクエスト量に基づき、振動機構１４０を駆動制御する。
【００８８】
このようにすることにより、同時に複数の振動発生シミュレーション状況が生じた場合にあっても、優先度の高い振動が選択的に実行されることになる。
【００８９】
なお、本実施の形態においては、図４に示す振動制御または図５に示す振動制御を、それぞれユーザが個別に選択設定するように形成してもよく、またプログラム的にいずれか一方を実行するように形成してもよく、また図４に示す振動の合成出力、図５に示す優先度に基づく振動の選択出力を状況に応じプログラム的に選択実行するように形成してもよい。
【００９０】
いずれの場合であっても、本実施の形態によれば、ゲーム中において所定の振動発生シミュレーション状況となった場合には、プレーヤの設定した振動条件、振動内容等に関連付けて振動機構１４０が制御され、プレーヤにリアリティの高いシミュレーションゲームを体感し楽しんでもらうことができる。
【００９１】
特に、従来のゲーム機等にあっては、各振動発生要素毎に、プレーヤがその振動の設定をできるものはなかったが、本実施の形態によれば、このような各振動発生要素毎にプレーヤの意思を反映した振動条件、振動内容等を設定し、これに関連付けた振動をプレーヤに体感させるシミュレーションを実現できる。
【００９２】
３．ハードウェア構成
次に、本実施の形態を実現できるハードウェアの構成の一例について図６を用いて説明する。
【００９３】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００９４】
メインプロセッサ９００は、振動機構１４０の振動制御処理、振動条件設定処理も実行する。
【００９５】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００９６】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００９７】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００９８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、痺ｕレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１００】
シミュレーションコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１０１】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１０２】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１０３】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１０４】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１０５】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステム、他のゲームシステムとの間でのデータ転送が可能になる。
【０１０６】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１０７】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。すなわち、例えば図１に示す各部として機能し、さらに図２〜図５に示す各種処理、例えばシミュレーション演算処理、振動機構制御処理、振動条件設定処理、画像生成処理などの個々の処理を実行する。
【０１０８】
図７（Ａ）に、本実施の形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、ハンドル１１０２、アクセル１１０３、ブレーキ１１０４等を操作してドライブゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１０９】
この業務用ゲームシステムにおいて、プレーヤの座る各シートの内部には、プレーヤに振動を体感させる振動機構１４０が設けられ、前述した図２〜図５に示す処理に基づき、振動機構１４０の振動条件、振動内容が設定され、またその振動制御が実行されることになる。
【０１１０】
これにより、ゲームの状況に応じて、プレーヤの要求にあった振動をきめ細かに体感させることが可能なゲームシステムを提供することができる。
【０１１１】
図７（Ｂ）に、本実施の形態を家庭用のゲームシステムに適用した場合の例を示す。
【０１１２】
このゲームシステムは、家庭用ゲーム機本体８０と、このゲーム機本体８０に着脱自在な記憶媒体であるＣＤ１２０６、あるいはメモリカード１２０８−１、１２０８−２と、ゲーム機本体８０に接続されたディスプレイ１２００と、ゲーム機本体８０に接続された２組のコントローラ１２０２−１、１２０２−２とを含んで構成される。
【０１１３】
そして、プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２−１、１２０２−２を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８−１、１２０８−２等に格納されている。
【０１１４】
ここにおいて、コントローラ１２０２−１、１２０２−２は、図１に示す操作部１６０として機能するものであり、ディスプレイ１２００は、表示部１９０として機能するものであり、ＣＤ１２０６は情報記憶媒体１８０として機能するものであり、ＣＤ１２０６が格納されたゲーム装置本体８０は、図１に示す処理部１００、記憶部１７０、通信部１９６及びその他の部材として機能するものである。
【０１１５】
さらに、この家庭用ゲームシステムでは、コントローラ１２０２−１、１２０２−２の内部に、図１に示す振動機構１４０が設けられており、ここでは振動モータなどか振動機構１４０として設けられている。
【０１１６】
そして、プレーヤはコントローラ１２０２−１、１２０２−２を操作しゲームを行う場合に、ゲーム装置本体８０により演算されるゲームシミュレーション状況において、例えば図２に示す振動発生シミュレーション状況が発生した場合には、コントローラ１２０２に内蔵された振動機構１４０が、その設定された振動の強さ、パターン、振動時間に従って振動を行い、プレーヤにゲーム状況に応じた振動を体感させることができる。
【０１１７】
特に、本発明によれば、プレーヤの設定した振動条件、振動内容に基づきプレーヤの意向が反映するようにその振動制御が行えるため、よりきめ細かな振動をプレーヤに体感させながらシミュレーションゲームを楽しんでもらうことができる。
【０１１８】
図７（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４−１〜１３０４−ｎとを含むシステムに本実施の形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４−１〜１３０４−ｎが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４−１〜１３０４−ｎに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４−１〜１３０４−ｎに伝送し端末において出力することになる。
【０１１９】
なお、図７（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１２０】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１２１】
なお、この図７（Ｃ）の実施の形態においても、ネットワークに接続する端末内部に、前記図１に示す振動機構１４０を設け、前記各実施の形態と同様にその制御を行うように構成すればよい。
【０１２２】
なお本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。
【０１２３】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１２４】
また、前記実施の形態では、本発明のシミュレータを、ゲームに適用する場合を例に取り説明したが、本発明はこれに限らず、これ以外の各シミュレータ、例えば運転訓練用のシミュレータやその他の用途にも幅広く提供することができる。
【０１２５】
また、本発明において、シミュレータでシミュレートする内容が、前述したように運転等のシミュレーションばかりでなく、これ以外の各種のシミュレーション、例えばアクションゲームや、ロールプレイングゲーム等のシミュレーションゲームにも適用することができる。
【０１２６】
また、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図１】本実施の形態のゲームシステムのブロック図の例である。
【図２】振動発生要素毎にその振動内容を設定するためのメニュー画面の説明図である。
【図３】各振動発生要素毎に振動条件設定入力を行なう処理の一例を示すフローチャート図である。
【図４】振動制御の処理の一例を示すフローチャート図である。
【図５】振動制御の処理の他の一例を示すフローチャート図である。
【図６】本実施の形態を実現できるハードウェアの構成の一例を示す図である。
【図７】図７（Ａ）、（Ｂ）、（Ｃ）は、本実施の形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  シミュレーション処理部
１１２  シミュレーション演算部
１１４  振動機構制御部
１１６  振動条件設定部
１３０  画像生成部
１４０  振動機構
１６０  操作部
１７０  記憶部
１７６  振動条件記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９６  通信部
【図１】
2004325828.tif 000003
【図２】
2004325828.tif 000004
【図３】
2004325828.tif 000005
【図４】
2004325828.tif 000006
【図５】
2004325828.tif 000007
【図６】
2004325828.tif 000008
【図７】
2004325828.tif 000009