(57)【特許請求の範囲】
【請求項１】
ビデオゲームに基づいて第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に振動指示を与えて前記第１の操作装置を振動させ、前記第１の使用者による前記第１の操作装置への操作を前記振動により邪魔する処理を実行するコンピュータに、
前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの振動種別を含む要求を受信する要求受信ステップ、
前記要求受信ステップにより受信された前記要求に含まれる前記振動種別に応じた振動を前記第１の操作装置に生じさせるための前記振動指示を、前記第１の操作装置内の前記振動発生装置に与える振動指示ステップ、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
請求項１記載の記録媒体において、
前記振動種別は、前記第２の使用者が前記第２の操作装置に対して一度に操作する複数の操作子の種別に応じて決定されることを特徴とする記録媒体。
【請求項３】
ビデオゲームに基づいて第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に振動指示を与えて前記第１の操作装置を振動させ、前記第１の使用者による前記第１の操作装置への操作を前記振動により邪魔する処理を実行するコンピュータで使用される情報処理方法であって、
前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの振動種別を含む要求を受信する要求受信ステップと、
前記要求受信ステップにより受信された前記要求に含まれる前記振動種別に応じた振動を前記第１の操作装置に生じさせるための前記振動指示を、前記第１の操作装置内の前記振動発生装置に与える振動指示ステップとを有することを特徴とする情報処理方法。
【請求項４】
請求項３記載の情報処理方法において、
前記振動種別は、前記第２の使用者が前記第２の操作装置に対して一度に操作する複数の操作子の種別に応じて決定されることを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に指示を与えて、前記第１の使用者による前記第１の操作装置への操作を邪魔するビデオゲームをコンピュータで実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体及び情報処理方法に関する。
【０００２】
【従来の技術】
ビデオゲーム機を含むエンタテインメント装置のような情報機器（エンタテインメントシステム）として、例えばＣＤ−ＲＯＭ等の記録媒体に格納されたゲーム内容をテレビジョン受像機の画面上に表示させながら、操作装置で操作してゲームを進行させるものがある。
【０００３】
このエンタテインメントシステムにおけるエンタテインメント装置及び操作装置間は、通常、シリアルインターフェースで接続され、エンタテインメント装置からクロックが送られると、そのクロックに同期して操作装置から使用者の操作に対応したキースイッチ情報等を送るようになっている。
【０００４】
また、最近では、操作装置内に外部（例えばエンタテインメント装置）からの要求によって使用者に物理的影響、例えば振動を与える影響付与手段を設けるようにして、例えばゲームの進行中において、使用者の操作に応答するように種々の振動を使用者に与えるようにしたシステムが開発され、実用化に至っている（例えば特許文献１及び２参照）。
【０００５】
【特許文献１】
特開平９−３１３７３６号公報（図１、段落［０００１］、［００２２］〜［００２４］、［００３０］、［００３２］〜［００３３］）
【特許文献２】
特開平９−７４１号公報（図１、図２、段落［００１０］、［００３６］）
【０００６】
【発明が解決しようとする課題】
本発明は、例えばゲームの進行中での使用者の操作に対する応答としての影響付与のほか、他の使用者からの要求に基づいて、当該使用者に対して影響を与えるようにして、ゲーム内容の意外なる展開を可能にし、対戦ゲームであれば臨場感溢れる対戦を可能にすることができる記録媒体及び情報処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る記録媒体は、第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に指示を与えて、前記第１の使用者による前記第１の操作装置への操作を邪魔するビデオゲームをコンピュータで実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの要求を受信する要求受信ステップと、前記要求受信ステップにより受信された要求により、前記第１の操作装置を選択する選択ステップと、前記選択ステップにより選択された前記第１の操作装置内の前記振動発生装置に振動指示を与える振動指示ステップとを有することを特徴とする。
【０００９】
また、本発明に係る情報処理方法は、第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に指示を与えて、前記第１の使用者による前記第１の操作装置への操作を邪魔するビデオゲームをコンピュータで実行させる情報処理方法であって、前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの要求を受信する要求受信ステップと、前記要求受信ステップにより受信された要求により、前記第１の操作装置を選択する選択ステップと、前記選択ステップにより選択された前記第１の操作装置内の前記振動発生装置に振動指示を与える振動指示ステップとを有することを特徴とする。
【００１０】
前記構成において、前記第２の使用者からの前記要求に振動種別が含まれ、前記振動指示ステップは、前記振動種別に応じた振動を、前記選択ステップにより選択された前記第１の操作装置内の前記振動発生装置に指示するようにしてもよい。
【００１１】
また、本発明に係る記録媒体は、第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に指示を与えて、前記第１の使用者による前記第１の操作装置への操作を邪魔するビデオゲームをコンピュータで実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの振動種別を含む要求を受信する要求受信ステップと、前記要求受信ステップにより受信された前記要求に含まれる前記振動種別に応じた振動を、前記第１の操作装置内の前記振動発生装置に指示する振動指示ステップとを有することを特徴とする。
【００１２】
また、本発明に係る情報処理方法は、第１の使用者が第１の操作装置を操作しているときに、第２の使用者が第２の操作装置を操作して前記第１の操作装置内に設置された振動発生装置に指示を与えて、前記第１の使用者による前記第１の操作装置への操作を邪魔するビデオゲームをコンピュータで実行させる情報処理方法であって、前記第２の使用者による前記第２の操作装置の操作に基づいて、該第２の使用者からの振動種別を含む要求を受信する要求受信ステップと、前記要求受信ステップにより受信された前記要求に含まれる前記振動種別に応じた振動を、前記第１の操作装置内の前記振動発生装置に指示する振動指示ステップとを有することを特徴とする。
【００１３】
なお、これらの発明において、前記振動種別は、前記第２の使用者が前記第２の操作装置に対して一度に操作する１以上の操作子の種別に応じて決定するようにしてもよい。
【００１４】
【発明の実施の形態】
以下、本発明に係る記録媒体及び情報処理方法の実施の形態例（以下、単に実施の形態に係るエンタテインメントシステムと記す）を図１〜図２４を参照しながら説明する。
【００１５】
本実施の形態に係るエンタテインメントシステム１０は、図１に示すように、操作装置１２が着脱自在に装着されるエンタテインメント装置１４を有して構成されている。
【００１６】
このエンタテインメント装置１４は、例えば光ディスク等に記録されているプログラムを読み出して、使用者（例えばゲームプレイヤなど）からの指示に応じて例えばゲームを実行するためのものである。なお、ゲームの実行とは、主としてゲームの進行、及び表示や音声を制御することをいう。
【００１７】
このエンタテインメント装置１４の本体１６は、ほぼ四角形状の筐体に収容されており、その中央部にビデオゲーム等のアプリケーションプログラムを供給するための記録媒体であるＣＤ−ＲＯＭ等の光ディスクが装着されるディスク装着部１８と、現在実行中のプログラムを任意にリセットするためのリセットスイッチ２０と、電源スイッチ２２と、前記光ディスクの装着を操作するためのディスク操作スイッチ２４と、例えば２つのスロット部２６Ａ、２６Ｂを備えて構成されている。
【００１８】
なお、アプリケーションプログラムを供給するための記録媒体は光ディスクに限定されるものではなく、また、通信回線を介してアプリケーションプログラムが供給されるようにしてもよい。
【００１９】
スロット部２６Ａ、２６Ｂには２つの操作装置１２を接続することができ、２人の使用者が対戦ゲーム等を行うことができる。また、このスロット部２６Ａ、２６Ｂには、従来から使用されているメモリカード３０や携帯型情報端末３２（図４参照）を挿着することもできる。なお、図１では２系統のスロット部２６Ａ、２６Ｂを設けた構造を例示しているが、その数は２系統に限定されるものではない。
【００２０】
操作装置１２は、第１、第２の操作部４０、４２と、第３、第４の操作部４４、４６と、スタートボタン４８、選択ボタン５０とを有し、その内部には、振動付与機構が設けられている。この操作装置１２については後で詳述する。
【００２１】
図２は、前記エンタテインメント装置１４の本体１６の前面に設けられているスロット部２６Ａ、２６Ｂの様子を示している。
【００２２】
本実施の形態では、スロット部２６Ａ、２６Ｂは、それぞれ２段に形成されており、その上段には前述したメモリカード３０や携帯型情報端末３２が挿着されるメモリカード挿入部６０Ａ、６０Ｂが設けられ、その下段には操作装置１２の接続端子部６２（コネクタ；図１参照）が接続されるコントローラ接続部（ジャック）６４Ａ、６４Ｂが設けられている。
【００２３】
メモリカード挿入部６０Ａ、６０Ｂの挿入孔（スロット）は、横方向に長い長方形状に形成され、その下側の両端のコーナーを上側の両端のコーナーに比べて丸みを多くして、メモリカード３０や携帯型情報端末３２が誤った向きに挿入されない構造になっている。また、メモリカード挿入部６０Ａ、６０Ｂには、その内部に設けられている電気的接続を得るための接続端子を保護するシャッタが設けられている。
【００２４】
一方、コントローラ接続部６４Ａ、６４Ｂは、横方向に長い長方形状をした挿入孔の下側の両端のコーナーを上側の両端のコーナーに比べて丸みを多くした形状に形成され、操作装置１２の接続端子部６２が誤った向きに接続されない構造になっており、かつメモリカード３０や携帯型情報端末３２が誤挿入されないようにメモリカード挿入部６０Ａ、６０Ｂとは挿入孔の形状を異にした構造にされている。
【００２５】
図３に、エンタテインメント装置１４の前面のスロット部２６Ａのメモリカード挿入部６０Ａに、携帯型情報端末３２が挿入された状態を示す。
【００２６】
次に、エンタテインメント装置１４の構成を図４を参照しながら説明する。このエンタテインメント装置１４は、中央演算処理装置（ＣＰＵ：Central Processing Unit ）７０及びその周辺装置等からなる制御系７２と、フレームバッファ７４に描画を行う画像処理装置（ＧＰＵ：Graphic Processing Unit ）７６等からなるグラフィックシステム７８と、楽音、効果音等を発生する音声処理装置（ＳＰＵ：Sound Processing Unit ）等からなるサウンドシステム８０と、アプリケーションプログラムが記録されている光ディスクの制御を行う光ディスク制御部８２と、使用者からの指示が入力される操作装置１２からの信号及びゲームの設定等を記憶するメモリカード３０や携帯型情報端末３２からのデータの入出力を制御する通信制御部８４と、前記各部が接続されているバスＢＵＳ等を備えて構成されている。
【００２７】
前記制御系７２は、ＣＰＵ７０と、割込み制御やダイレクトメモリアクセス（ＤＭＡ：Direct Memory Access）転送の制御等を行う周辺機器制御部８６と、ランダムアクセスメモリ（ＲＡＭ：Random Access Memory）からなるメインメモリ（主記憶装置）８８と、該メインメモリ８８、グラフィックシステム７８、サウンドシステム８０等の管理を行ういわゆるオペレーティングシステム等のプログラムが格納されたリードオンリーメモリ（ＲＯＭ：Read Only Memory）９０とを備えている。なお、ここでいうメインメモリ８８は、そのメモリ上でプログラムを実行できるものをいう。
【００２８】
前記ＣＰＵ７０は、ＲＯＭ９０に記憶されているオペレーティングシステムを実行することにより、このエンタテインメント装置１４全体を制御するものであり、例えば３２ビットのＲＩＳＣ−ＣＰＵからなる。
【００２９】
そして、このエンタテインメント装置１４は、電源が投入されると、前記制御系７２のＣＰＵ７０がＲＯＭ９０に記憶されているオペレーティングシステムを実行することにより、ＣＰＵ７０が、前記グラフィックシステム７８、サウンドシステム８０等の制御を行うようになっている。また、オペレーティングシステムが実行されると、ＣＰＵ７０は、動作確認等のエンタテインメント装置１４全体の初期化を行った後、前記光ディスク制御部８２を制御して、光ディスクに記録されているゲーム等のアプリケーションプログラムを実行する。
【００３０】
このゲーム等のプログラムの実行により、ＣＰＵ７０は、使用者からの入力に応じて前記グラフィックシステム７８、サウンドシステム８０等を制御して、画像の表示、効果音、楽音の発生を制御する。
【００３１】
また、前記グラフィックシステム７８は、座標変換等の処理を行うジオメトリトランスファエンジン（ＧＴＥ：Geometry Transfer Engine）９４と、ＣＰＵ７０からの描画指示に従って描画を行うＧＰＵ７６と、このＧＰＵ７６により描画された画像を記憶するフレームバッファ７４と、離散コサイン変換等の直交変換により圧縮されて符号化された画像データを復号する画像デコーダ９６とを備えている。
【００３２】
前記ＧＴＥ９４は、例えば複数の演算を並列に実行する並列演算機構を備え、前記ＣＰＵ７０からの演算要求に応じて座標変換、光源計算、行列あるいはベクトル等の演算を高速に行うことができるようになっている。具体的には、このＧＴＥ９４は、例えば１つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行う演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行うことができるようになっており、これによって、このエンタテインメント装置１４では、ＣＰＵ７０の負荷を低減するとともに、高速な座標演算を行うことができるようになっている。
【００３３】
また、前記ＧＰＵ７６は、ＣＰＵ７０からの描画命令に従って、フレームバッファ７４に対して多角形（ポリゴン）等の描画を行う。このＧＰＵ７６は、１秒間に最大３６万程度のポリゴンの描画を行うことができるようになっている。
【００３４】
さらに、前記フレームバッファ７４は、いわゆるデュアルポートＲＡＭからなり、ＧＰＵ７６からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行うことができるようになっている。
【００３５】
このフレームバッファ７４は、例えば１Ｍバイトの容量を有し、それぞれ１６ビットの、横が１０２４画素、縦が５１２画素からなるマトリックスとして扱われる。また、このフレームバッファ７４には、ビデオ出力として出力される表示領域の他に、ＧＰＵ７６がポリゴン等の描画を行う際に参照するカラールックアップテーブル（ＣＬＵＴ：Color Look Up Table ）が記憶されるＣＬＵＴ領域と、描画時に座標変換されてＧＰＵ７６によって描画されるポリゴン等の中に挿入（マッピング）される素材（テクスチャ）が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は、表示領域の変更等に従って動的に変更されるようになっている。
【００３６】
なお、前記ＧＰＵ７６は、上述のフラットシェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーローシェーディングと、前記テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行うことができるようになっている。これらのグーローシェーディングまたはテクスチャマッピングを行う場合には、前記ＧＴＥ９４は、１秒間に最大５０万程度のポリゴンの座標演算を行うことができる。
【００３７】
さらに、画像デコーダ９６は、前記ＣＰＵ７０からの制御により、メインメモリ８８に記憶されている静止画あるいは動画の画像データを復号してメインメモリ８８に記憶する。
【００３８】
また、この再生された画像データは、ＧＰＵ７６を介してフレームバッファ７４に記憶することにより、上述のＧＰＵ７６によって描画される画像の背景として使用することができるようになっている。
【００３９】
前記サウンドシステム８０は、ＣＰＵ７０からの指示に基づいて、楽音、効果音等を発生するＳＰＵ９８と、このＳＰＵ９８により、波形データ等が記録されるサウンドバッファ１００と、ＳＰＵ９８によって発生される楽音、効果音等を出力するスピーカ１０２とを備えている。
【００４０】
前記ＳＰＵ９８は、例えば１６ビットの音声データを４ビットの差分信号として適応予測符号化（ＡＤＰＣＭ：Adaptive Diffrential PCM）された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ１００に記憶されている波形データを再生することにより、楽音、効果音等を発生する再生機能と、サウンドバッファ１００に記憶されている波形データを変調させて再生する変調機能等を備えている。
【００４１】
このような機能を備えることによって、このサウンドシステム８０は、ＣＰＵ７０からの指示によってサウンドバッファ１００に記録された波形データに基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができるようになっている。
【００４２】
前記光ディスク制御部８２は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置９２と、例えばエラー訂正符号（ＥＣＣ：Error Correction Code ）が付加されて記録されているプログラム、データ等を復号するデコーダ１０４と、光ディスク装置９２からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ１０６とを備えている。前記デコーダ１０４には、サブＣＰＵ１０８が接続されている。
【００４３】
また、光ディスク装置９２で読み出される光ディスクに記録されている音声データとしては、上述のＡＤＰＣＭデータの他に音声信号をアナログ／デジタル変換したいわゆるＰＣＭデータがある。
【００４４】
ＡＤＰＣＭデータとして、例えば１６ビットのデジタルデータの差分を４ビットで表わして記録されている音声データは、デコーダ１０４で復号された後、上述のＳＰＵ９８に供給され、該ＳＰＵ９８でデジタル／アナログ変換等の処理が施された後、スピーカ１０２を駆動するために使用される。
【００４５】
また、ＰＣＭデータとして、例えば１６ビットのデジタルデータとして記録されている音声データは、デコーダ１０４で復号された後、スピーカ１０２を駆動するために使用される。
【００４６】
さらに、通信制御部８４は、バスＢＵＳを介してＣＰＵ７０との通信の制御を行う通信デバイス１１０を備え、使用者からの指示を入力する操作装置１２が接続される接続端子部６２と、ゲームの設定データ等を記憶する補助記憶装置としてのメモリカード３０や携帯型情報端末３２が接続されるメモリカード挿入部６０Ａ、６０Ｂが前記通信デバイス１１０に設けられている。
【００４７】
前記接続端子部に接続された操作装置１２は、使用者からの指示を入力するために、例えば１６個の指示キーを有し、通信デバイス１１０からの指示に従って、この指示キーの状態を、同期式通信により、通信デバイス１１０に毎秒６０回程度送信する。そして、通信デバイス１１０は、操作装置１２の指示キーの状態をＣＰＵ７０に送信する。
【００４８】
これにより、使用者からの指示がＣＰＵ７０に入力され、ＣＰＵ７０は、実行しているゲームプログラム等に基づいて、使用者からの指示に従った処理を行う。
【００４９】
ここで、前記メインメモリ８８、ＧＰＵ７６、画像デコーダ９６及びデコーダ１０４等の間では、プログラムの読み出し、画像の表示あるいは描画等を行う際に、大量の画像データを高速に転送する必要がある。
【００５０】
そこで、このエンタテインメント装置１４では、上述のようにＣＰＵ７０を介さずに周辺機器制御部８６からの制御により前記メインメモリ８８、ＧＰＵ７６、画像デコーダ９６及びデコーダ１０４等の間で直接データの転送を行ういわゆるＤＭＡ転送を行うことができるようになっている。これにより、データ転送によるＣＰＵ７０の負荷を低減させることができ、高速なデータの転送を行うことができる。
【００５１】
また、前記ＣＰＵ７０は、実行しているゲームの設定データ等を記憶する必要があるときに、その記憶するデータを通信デバイス１１０に送信する。通信デバイス１１０はＣＰＵ７０からのデータを前記メモリカード挿入部６０Ａまたはメモリカード挿入部６０Ｂのスロットに挿着されたメモリカード３０や携帯型情報端末３２に書き込む。
【００５２】
ここで、前記通信デバイス１１０には、電気的な破壊を防止するための保護回路が内蔵されている。前記メモリカード３０や携帯型情報端末３２は、バスＢＵＳから分離されており、エンタテインメント装置本体１６の電源を入れた状態で、着脱することができる。従って、前記メモリカード３０や携帯型情報端末３２の記憶容量が足りなくなった場合等に、エンタテインメント装置本体１６の電源を遮断することなく、新たなメモリカード３０や携帯型情報端末３２を挿着することができる。このため、バックアップする必要があるゲームデータが失われてしまうことなく、新たなメモリカード３０や携帯型情報端末３２を挿着して、必要なデータを新たなメモリカード３０や携帯型情報端末３２に書き込むことができる。
【００５３】
また、パラレルＩ／Ｏインターフェース（ＰＩＯ）１１２は拡張用に用意され、シリアルＩ／Ｏインターフェース（ＳＩＯ）１１４は、例えば後述する外部インターフェースが接続されるようになっている。
【００５４】
次に、操作装置１２について図５〜図１１を参照しながら説明する。この操作装置１２は、図５に示すように、メガネ形状に形成され、上下に分割できる上ケース１２０と下ケース１２２とからハウジング本体が構成されている。このハウジング本体の長手方向の両端側には、両手の掌でグリップして支持する角状に突出した第１及び第２の操作支持部１２４、１２６が形成されている。
【００５５】
また、ハウジング本体における中央位置のくびれた部分に、ゲームの開始及び選択等に使用されるスイッチからなるスタートセレクト部１２８と、ハウジング本体の両側の左右対称な位置に円形状に形成され、その略中央部分に配設されている複数のスイッチ群からなる上述した第１及び第２の操作部４０、４２と、ハウジング本体の前部の側壁面側の側面の左右対称位置に、主として人差し指と中指とで操作できる複数のスイッチからなる上述した第３及び第４の操作部４４、４６とから構成されている。
【００５６】
スタートセレクト部１２８は、第１の操作部４０と第２の操作部４２との中間位置に配置された上述したスタートボタン４８と選択ボタン５０とを備えている。選択ボタン５０は、例えばゲームを開始するときに、難易度等を選択するものであり、スタートボタン４８はゲームを実際に開始させるスイッチである。
【００５７】
第１の操作部４０は、ハウジング本体の端部であって、円形状をした中央部分に略十字形状をした凹部に相当する窪み部１３０と、この窪み部１３０内には４個のキートップ１３２ａ、１３２ｂ、１３２ｃ、１３２ｄが内部から外方向に突出するための窓部１３４を設けた構造となっている。この窓部１３４は、略十字形状の窪み部１３０に合わせて十字方向に４個のキートップ１３２ａ、１３２ｂ、１３２ｃ、１３２ｄの頭部が向かい合うようにして配置される構造となっている。
【００５８】
第２の操作部４２は、図５に示すように、円形状の中央部分に略十字形状をした凹部に相当する窪み部１３６が設けられ、その十字形をした窪み部１３６の上下左右のそれぞれの位置に円筒形状のキートップ１３８ａ、１３８ｂ、１３８ｃ、１３８ｄをそれぞれ内部から外方向に突出できる大きさの開口部を有する４個の筒部１４０を有する構造となっている。
【００５９】
４個のそれぞれのキートップ１３８ａ、１３８ｂ、１３８ｃ、１３８ｄの頂面には、容易にスイッチの機能を識別できるように、視認しやすい認識符号、例えば、○、△、□、×等の機能を表す符号（マーク）を付けている。また、これらキートップ１３８ａ、１３８ｂ、１３８ｃ、１３８ｄの下端部と筒部１４０の下部側には、組み立て時において、他の筒部１４０に入らないように特有の突起及び切欠きを設けた構造となっている。
【００６０】
第３及び第４の操作部４４、４６は、図５に示すように、第１及び第２の操作部４０、４２の前部側の壁面に突出させて形成され、この突出した壁面に上下に平行して２列の細長い孔からなる開口部１４２と、この開口部１４２に略嵌まる細長い形状をしたキートップ１４４ａ、１４４ｂ、１４４ｃ、１４４ｄを内側から外側方向に突出して形成した動作指示操作スイッチとから構成されている。
【００６１】
このような構成を有する操作装置１２を使用する場合は、エンタテインメント装置１４に操作装置１２の接続端子部６２（図１参照）を介して接続し、エンタテインメント装置１４をテレビジョン受像機等のモニタに接続する。そして、通常は両手の掌で操作装置１２を持ち、両手の指で第１〜第４の操作部４０、４２、４４、４６の操作ボタン群を操作して、モニタ画面上のキャラクタ等の動作ターゲットの動きを指示してゲームを行う。
【００６２】
また、この操作装置１２は、ハウジング本体内部の所定空間に応答手段１５０が配置されている。
【００６３】
即ち、上ケース１２０と下ケース１２２とから構成されたハウジング本体は、下ケース１２２において角状に突出した部位である第１の操作支持部１２４に、応答手段１５０を装備するための応答手段配置部１５２を設けた構造となっている。
【００６４】
下ケース１２２の第１及び第２の操作部４０、４２は、図５に示すように、基板及びスイッチ群を設置するための円筒形状の載置部１５４が設けられ、第１及び第２の操作部４０、４２の前面側には、長方形状の第３及び第４の操作部４４、４６が突出するように設けられた構造となっている。
【００６５】
このような構造からなる下ケース１２２において、応答手段１５０を設置できる空間としては、図５及び図８に示すように、両手の掌でグリップして支持する第１及び第２の操作支持部１２４、１２６の部位、又はくびれたスタートセレクト部１２８の前側位置に存在する空間を利用することができる。本実施の形態においては左手の掌でグリップする第１の操作支持部１２４に収納配置した構造となっている。
【００６６】
ここで、応答手段１５０は、図６に示すように、モータ１５６と、このモータ１５６の回転軸１５８に対して偏心させた位置に円柱形状の回転部１６０を取り付けた構造となっている。このような構造において、モータ１５６が回転駆動すると、回転部１６０は偏心回転して振動が発生する仕組みになっており、この振動が一種の物理的影響として使用者に伝わることになる。
【００６７】
この振動は、図５及び図７において、第１の操作支持部１２４のみに限らず下ケース１２２及び上ケース１２０の筐体にも伝達されて操作装置１２全体が振動することになる。この偏心して発生する振動の強さや周期等の振動の度合いは、応答手段１５０のモータ１５６の回転速度およびトルクにより任意に変化させることができ、それによって応答手段１５０の強弱を変化させることができる。
【００６８】
下ケース１２２に設けた応答手段配置部１５２は、図５に示すように、第１の操作支持部１２４の掌が当接する部位の底部に設けられた構造となっており、応答手段１５０のモータ１５６を固定できる構造となっている。
【００６９】
このようにして応答手段１５０を下ケース１２２の第１の操作支持部１２４、即ち、左手の掌でグリップして支持する部位に取り付けたことにより、図５に示すように、操作装置１２をエンタテインメント装置１４に接続し、該エンタテインメント装置１４をテレビジョン受像機等のモニタ１６２に接続してゲームを行う際に、ゲームの種類によって決められたタイミングあるいは所定の操作で振動を受けるようになっている。
【００７０】
例えば格闘技のゲームにおいて相手を倒したときや相手から攻撃を受けたとき、シューティングゲームでターゲットに命中したとき、あるいは動作するターゲットが飛行機である場合に例えば画面上で攻撃を受けたときなどにおいて、エンタテインメント装置１４からの特定の応答信号により応答手段１５０のモータ１５６を回転駆動させて操作装置１２全体を一定時間振動させるようになっている。
【００７１】
このようにして使用者の操作ボタンに対する操作に応答して操作装置１２自体が振動を起こし、この振動が使用者に体感としてフィードバックされることになり、臨場感をより一層向上させることができる。
【００７２】
上述したように、応答手段１５０を駆動させて操作装置１２全体を振動させるためには、操作装置１２とエンタテインメント装置１４との間は双方向通信機能を備えた構成であることが必要である。
【００７３】
この双方向通信機能は、図１０に示すように、操作装置１２と双方向のシリアル通信を行う接続端子部６２をエンタテインメント装置１４と接続して行うことができる。
【００７４】
操作装置１２側の双方向通信機能を行う構成は、エンタテインメント装置１４とシリアル通信を行うシリアルＩ／ＯインターフェースＳＩＯと、複数の操作ボタンからの操作データを入力するパラレルＩ／ＯインターフェースＰＩＯ、ＣＰＵ、ＲＡＭ及びＲＯＭであるワンチップマイクロコンピュータ（以下、マイコンと呼ぶ）と、応答手段１５０のモータ１５６を回転駆動させるモータドライバ１６４とから構成され、モータ１５６はモータドライバ１６４からの供給電圧及び電流により回転駆動する。
【００７５】
エンタテインメント装置１４側には、操作装置１２間でシリアル通信を行うシリアルＩ／ＯインターフェースＳＩＯを設けた構造となつており、操作装置１２の接続端子部６２を接続すると、この接続端子部６２を介して操作装置１２側のシリアルＩ／ＯインターフェースＳＩＯと接続され、双方向の通信手段、即ち、双方向のシリアル通信を行うことができる構成となっている。なお、エンタテインメント装置１４のその他の詳細な構成は省略してある。
【００７６】
双方向のシリアル通信を行う信号線及び制御線は、エンタテインメント装置１４から操作装置１２に対してデータを送るデータ伝送用の信号線ＴＸＤ（Transmit X' for Data）と、操作装置１２側からエンタテインメント装置１４側にデータを送るデータ伝送用の信号線ＲＸＤ（Received X' for Data）と、各データ伝送用の信号線ＴＸＤ、ＲＸＤからデータを抜き出すシリアル同期クロック用の信号線ＳＣＫ（Serial Clock）と、ターミナル側である操作装置１２の通信の確立及び中断等を行うための制御線ＤＴＲ（Data Terminal Ready ）と、大量のデータ転送を行うためのフロー制御用の制御線ＤＳＲ（Data Set Ready）とから構成されている。
【００７７】
また、この双方向のシリアル通信を行う信号線及び制御線からなるケーブルには、図１０に示すように、信号線及び制御線の他にエンタテインメント装置１４側の電源から直接取り出した電源用ケーブル１６６が含まれており、この電源用ケーブル１６６は操作装置１２側のモータドライバ１６４に接続され、モータ１５６を回転させる電源を供給する。
【００７８】
このような構成からなる双方向のシリアル通信手順は、例えばエンタテインメント装置１４が操作装置１２と通信をして、第１〜第４の操作部４０、４２、４４、４６の操作ボタンの操作データ（ボタン情報）を取り込むために、まず、エンタテインメント装置１４は制御線ＤＴＲに選択データを出力する。この結果、操作装置１２は制御線ＤＴＲによって選択されたことを確認して、それに続く信号線ＴＸＤの受信待状態になる。続いてエンタテインメント装置１４は、データ伝送用の信号線ＴＸＤに操作装置１２を示す識別コードを送出する。これにより操作装置１２が信号線ＴＸＤよりこの識別コードを受け取る。
【００７９】
操作装置１２が識別コードを認識することにより、これ以降、エンタテインメント装置１４との通信を開始する。即ち、エンタテインメント装置１４からは制御データ等がデータ伝送用の信号線ＴＸＤを介して操作装置１２側に送信され、逆に操作装置１２からは操作ボタンで操作された操作データ等がデータ伝送用の信号線ＲＸＤを介してエンタテインメント装置１４に送信される。このようにしてエンタテインメント装置１４と操作装置１２との間で双方向のシリアル通信が行われ、この通信はエンタテインメント装置１４が制御線ＤＴＲを通じて選択中止データを出力することにより終了する。
【００８０】
このようにして双方向のシリアル通信機能を備えていれば、操作装置１２側からの主として操作ボタンの操作データをエンタテインメント装置１４側に送信することができると共に、エンタテインメント装置１４側からは、データ伝送用信号線ＴＸＤを介して応答手段１５０のモータ１５６を回転させるための振動指示データを操作装置１２側に送出することができる。このモータ１５６を回転させるための振動指示データは、エンタテインメント装置１４にセットされたＣＤ−ＲＯＭによって予め設定されており、ゲームを行う利用者の動作ターゲットに応じて、エンタテインメント装置１４から操作装置１２自体に一定時間の振動伝達によるフィードバックが行われる。この点に関して、図５及び図１０を参照しながら図１１のフローチャートに沿って以下詳細に説明する。
【００８１】
特定のＣＤ−ＲＯＭをエンタテインメント装置１４に装着して、図５に示した操作装置１２のスタートボタン４８によりゲームの開始を指示し、かつ、選択ボタン５０の操作により種々の機能を設定し、第１〜第４の操作部４０、４２、４４、４６の操作によりゲームが行われる状態になっている。
【００８２】
そして、ゲーム開始に伴つて、図１０に示した操作装置１２のＣＰＵ、ＲＡＭ、ＲＯＭからなるマイコンは振動指示データがエンタテインメント装置１４側からシリアルＩ／ＯインターフェースＳＩＯを介して送られてきているかを常時監視している。この振動指示データには、図１０に示すモータ１５６を駆動する電圧及び電流の制御信号及びモータ１５６を駆動する時間が含まれている。
【００８３】
そして、ゲームの進行中に、もし、エンタテインメント装置１４側から送られてくるデータの中に振動指示データがある場合には、モータドライバ１６４を駆動させ、エンタテインメント装置１４から供給されている電圧をモータ１５６に所定時間供給する。
【００８４】
即ち、操作装置１２側で受けたデータ信号の中の振動指示データをステップＳ１で判定し、ステップＳ２のマイコンで処理して、ステップＳ３で図１０に示すモータドライバ１６４を駆動し、ステップＳ４で振動を発生させる。
【００８５】
また、ステップＳ１で振動指示データでない場合に、ステップＳ５において操作ボタンが操作されると、ステップＳ６において操作された操作データが図１０に示すパラレルＩ／ＯインターフェースＰＩＯを介してマイコンに入力される。マイコンに入力された操作データは、ステップＳ２においてマイコンで処理され、ステップＳ７においてシリアルデータに変換され、図１０に示すシリアルＩ／ＯインターフェースＳＩＯを介してエンタテインメント装置１４に送信される。
【００８６】
エンタテインメント装置１４がシリアルデータに変換された操作データを受信すると、ステップＳ８において、動作ターゲットのデータと、受信したシリアルデータとの比較を行つて、ヒット状態を判別する。ここで、ヒット状態とは、使用者が放った例えば仮想のレーザ光が動作中にある仮想のターゲットに当たった状態を意味する。
【００８７】
もし、ステップＳ９において、動作ターゲットのデータとシリアルデータとが一致したとき、即ち、ヒットしたときは、ステップＳ１０においてヒットした動作ターゲットをモニタ１６２の画面上に表示すると共に、ステップＳ１１において振動指示データを出力し、ステップＳ１２においてシリアルデータに変換して図１０に示すシリアルＩ／ＯインターフェースＳＩＯを介して操作装置１２に特定の応答信号として返信する。
【００８８】
この振動指示データは、ステップＳ１〜Ｓ３で説明したように、操作装置１２のマイコンにより検出されると、図１０に示すモータドライバ１６４から電源をモータ１５６に供給して回転させ、その回転によって操作装置１２全体が振動する。
【００８９】
もし、ヒットしていないときには、ステップＳ１３において操作ボタンに基づいた動作ターゲットをモニタ１６２の画面上に表示して、ステップＳ５により操作装置１２からの操作ボタンの操作によつて、次の動作を行うようになる。
【００９０】
また、上述したヒットしたときに発生する振動指示データは、エンタテインメント装置１４から特定の応答信号として操作装置１２が受け取る構成になっているが、エンタテインメント装置１４から一方向の通信によつて操作装置１２に送出する構成でもよい。
【００９１】
次に、この実施の形態に係るエンタテインメントシステム１０が有する特徴的な機能、即ち、物理的影響付与手段（操作装置１２内のモータ１５６やゲームプログラムが参照するパラメータ等）に対して指示を行う機能（影響付与指示機能）について説明する。
【００９２】
この影響付与指示機能を実現するプログラム（影響付与指示手段２００）は、予めエンタテインメント装置１４にて再生される特定のＣＤ−ＲＯＭから所定の処理を経てエンタテインメント装置１４のメインメモリ８８にダウンロードされることによって当該エンタテインメント装置１４上で動作されるようになっている。
【００９３】
また、このエンタテインメント装置１４には、例えば図１２に示すように、外部端子（例えばシリアルＩ／Ｏ）１１４を通じて外部インターフェース（例えばマルチタップ）２０２が接続されるようになっている。この外部インターフェース２０２は、一度に複数（例えば４つ）の操作装置１２を接続することが可能であり、複数の使用者による例えば対戦ゲーム等を楽しむことができるようになっている。
【００９４】
もちろん、前記外部インターフェース２０２を、通信デバイス１１０に接続するようにしてもよい。
【００９５】
まず、前記影響付与指示手段２００の構成について図１３を参照しながら説明する。この影響付与指示手段２００は、図１３に示すように、当該エンタテインメント装置１４の使用者に関する情報を設定して使用者情報テーブル２０４を作成する使用者設定処理手段２０６と、１つ以上の操作装置１２からの入力情報を取り込んで、その入力情報に応じた処理を落ちこぼれがないように行って、イベント処理テーブル２０８を作成するイベント処理手段２１０と、イベント処理テーブル２０８から振動に関する情報のみを抽出して振動を与えるべき使用者に対する振動種別を振動出力テーブル２１２に順次登録する振動設定処理手段２１４と、前記振動出力テーブル２１２と使用者情報テーブル２０４とに基づいて、振動を与えるべき実使用者に振動種別を含んだ振動指示データＤｖを作成して出力する一方、仮想使用者に与えるべき物理的影響をパラメータの変更として実行する振動出力処理手段２１６と、ゲームが終了したか否かの判別を行う終了判別手段２１８とを有して構成されている。
【００９６】
使用者設定処理手段２０６は、前記外部インターフェース２０２及び通信デバイス１１０（図１２参照）をスキャンすることによって、外部インターフェース２０２のうち、操作装置１２が接続されているポートの番号（ポート番号）や、通信デバイス１１０のうち、操作装置１２が接続されているポートの番号（ポート番号）を取り込むように構成されている。
【００９７】
ポート番号の定義付けとしては、例えば通信デバイス１１０の２つのポートについてポート番号１、２とし、外部インターフェース２０２の複数のポートについてポート番号３、４、５、６・・・とすることができる。
【００９８】
また、このエンタテインメント装置１４を使用する複数の使用者についても番号付けをすることによって、ソフトウェアを構築する上で有利となる。そこで、例えば通信デバイス１１０に接続された操作装置１２を使用する使用者から順に番号を付与してゆき、次いで、外部インターフェース２０２に接続された複数の操作装置１２を使用する使用者について、そのポート番号の若い順から使用者番号を順次決めていく方法などがある。
【００９９】
具体的には、図１２に示すように、通信デバイス１１０に２つの操作装置１２が接続され、外部インターフェース２０２に４つの操作装置１２が接続された場合においては、通信デバイス１１０に接続された２つの操作装置１２を使用する２人の使用者に使用者番号１、２を付与し、次いで、外部インターフェース２０２に接続された４つの操作装置１２を使用するそれぞれ４人の使用者に対してポート番号の若い順から使用者番号３、４、５及び６というように付与する。
【０１００】
また、通信デバイス１１０に１つの操作装置１２が接続され、外部インターフェース２０２に３つの操作装置１２が接続された場合においては、通信デバイス１１０に接続された操作装置１２を使用する使用者に使用者番号１を付与し、次いで、外部インターフェース２０２に接続された３つの操作装置１２を使用するそれぞれ３人の使用者に対してポート番号の若い順から使用者番号３、４及び５というように付与する。
【０１０１】
もちろん、外部インターフェース２０２のみに例えば３つの操作装置１２が接続されている場合においては、３人の使用者に対してポート番号の若い順から使用者番号１、２及び３というように付与する。
【０１０２】
ところで、操作装置１２を使用する使用者は人間であり、実使用者として定義できる。一方、例えば対戦ゲームを行う場合に、コンピュータを相手にする場合もありうる。この場合、コンピュータは仮想使用者として定義することができる。この仮想使用者については、ポート番号の概念を取り入れることができないため、例えばコンピュータであることを示す特有のコードとして扱うのが便利である。更に、仮想使用者の使用者番号は、前記実使用者の使用者番号の後の番号を割り当てるようにすればよい。
【０１０３】
これらの定義付けに基づいて、各種テーブルの内訳について説明すると、まず、使用者情報テーブル２０４は、図１４に示すように、ポート番号あるいはコード（仮想使用者を示すコード）がレコード単位に登録されている。この使用者情報テーブル２０４のレコード番号は、使用者番号に対応しており、例えば使用者番号１として割り当てられた実使用者が使用する操作装置１２が接続されているポートの番号（ポート番号）がレコード１に登録されるようになっている。
【０１０４】
イベント処理テーブル２０８は、図１５に示すように、各レコードに、操作装置１２からの入力データやコンピュータの判断に基づく処理種別（振動など）と、例えば振動を与えるべき実使用者の使用者番号と、その操作属性、例えば操作キーの種別（○、△、□、×、これらの組合せなど）を示すコードが格納されるようになっている。振動に関する処理でない場合は、操作属性として入力内容に基づく演算やコンピュータの判断に基づく演算の結果が格納される。
【０１０５】
振動出力テーブル２１２は、図１６に示すように、各レコードに、操作キーの種別に基づく振動の種別が１つ以上格納されるようになっている。初期値（無効値）としては例えばＦＦＨを用いることができる。
【０１０６】
振動種別の内訳を示す駆動信号テーブル２６８の一例を図１７に示す。この例でみると、操作キー○に対応する種別１は、操作装置１２内に設置されたモータ１５６を「所定の回転数で一定駆動すること」を示し、操作キー×に対応する種別２は、前記モータ１５６に対し「一定の周期で回転数を可変すること」を示し、操作キー□に対応する種別３は、前記モータ１５６に対し「ランダムに回転数を可変すること」を示し、操作キー△に対応する種別４は、前記モータ１５６に対し「間欠的な回転をさせること」を示している。
【０１０７】
また、操作キー○＋×（操作キー○と×を同時に操作）に対応する種別５は、前記モータ１５６を「一定の周期で所定の回転数で駆動すること」を示している。
【０１０８】
次に、前記影響付与指示手段２００を構成する各種処理手段の構成について図１３に基づいて説明する。
【０１０９】
まず、使用者設定処理手段２０６は、外部インターフェース２０２等の接続の有無を検知して操作装置１２が接続できる許容数を設定する許容接続数設定手段２３０と、操作装置１２の接続の有無や仮想使用者の存在の有無を検出して使用者情報テーブル２０４を作成するテーブル作成手段２３２と、使用者設定処理の完了を判別する処理完了判別手段２３４とを有して構成されている。
【０１１０】
イベント処理手段２１０は、使用者情報テーブル２０４からレコードを順次読み出すレコード読出し手段２３６と、実使用者が操作している操作装置１２の入力内容を検出して、該入力内容に基づいて演算を行ったり、コンピュータの判断結果に基づいて演算を行う演算手段２３８と、演算結果が振動関係であるか否かを判別する振動関係判別手段２４０と、振動関係の場合にイベント処理テーブル２０８の該当レコードに振動に関するコードと、演算によって割り出された使用者番号と、操作属性を登録し、それ以外の場合に、イベント処理テーブル２０８の該当レコードに要求に応じた種別コードと、演算結果を登録してイベント処理テーブル２０８を作成するテーブル作成手段２４２と、イベント処理の完了を判別する処理完了判別手段２４４とを有して構成されている。
【０１１１】
振動設定処理手段２１４は、イベント処理テーブル２０８からレコードを順次読み出すレコード読出し手段２４６と、処理種別が振動関係であるか否かを判別する振動関係判別手段２４８と、前記読み出されたレコードに登録されている各種情報に基づいて振動出力テーブル２１２を作成するテーブル作成手段２５０と、振動設定処理の完了を判別する処理完了判別手段２５２とを有して構成されている。
【０１１２】
振動出力処理手段２１６は、使用者情報テーブル２０４からレコードを順次読み出す第１のレコード読出し手段２５４と、振動出力テーブル２１２からレコードを順次読み出す第２のレコード読出し手段２５６と、影響を与えるべき相手が実使用者か仮想使用者かを判別する使用者判別手段２５８と、該使用者判別手段２５８での判別結果が実使用者である場合に、その操作装置１２に向けて転送すべき振動指示データＤｖを作成する振動指示データ作成手段２６０と、作成された振動指示データＤｖを対象とする操作装置１２に出力する振動指示データ出力手段２６２と、前記使用者判別手段２５８での判別結果が仮想使用者である場合に、ゲームプログラムが参照する物理的パラメータの数値を変化させるパラメータ変更手段２６４と、振動出力処理の完了を判別する処理完了判別手段２６６とを有して構成されている。
【０１１３】
次に、前記影響付与指示手段（プログラム）２００の処理動作、例えば対戦ゲームのゲームプログラムと共に動作する影響付与指示手段２００の処理動作について図１８〜図２４のフローチャートを参照しながら説明する。
【０１１４】
まず、図１８のステップＳ１０１において、特定のＣＤ−ＲＯＭから対戦ゲームのゲームプログラムと本実施の形態に係る影響付与指示手段２００を読み出して、エンタテインメント装置１４のメインメモリ８８に転送し、ステップＳ１０２において、影響付与指示手段２００を起動すると共に、ステップＳ１０３において、ゲームプログラムを起動する。影響付与指示手段２００は、前記ゲームプログラムと時分割（タイムシュアリング方式）で動作するように設定されている。
【０１１５】
ゲームプログラムは、例えば図１９に示すように、まず、ステップＳ２０１において、ゲーム画面表示が行われる。次いで、ステップＳ２０２において、対戦ゲームの処理が行われ、操作装置１２を通じて送られてくる入力データを順次処理して、その入力に応じた画像表示や各種パラメータの変更を行う。
【０１１６】
そして、ステップＳ２０３において、勝敗が決定したか否かの判別が行われ、決定していない場合は、ステップＳ２０１に戻って、再び対戦ゲームの処理が行われ、勝敗が決定した場合には次のステップＳ２０４に進んで、今度はゲーム終了であるか否かが判別される。ゲーム終了でないと判別された場合は、ステップＳ２０１に戻って再び対戦ゲームの処理が行われ、ゲーム終了と判断された場合は、次のステップＳ２０５においてゲーム終了フラグをセットしてこのゲームプログラムが終了することになる。
【０１１８】
そして、次のステップＳ３０２において、例えば対戦ゲームに参加する使用者（実使用者や仮想使用者）の人数の入力が行われる。この人数の入力は、このエンタテインメント装置１４に接続された複数の操作装置１２の中のいずれかを通じて行われる。
【０１１９】
次に、ステップＳ３０３において、使用者設定処理に入る。この使用者設定処理は、図１３の使用者設定処理手段２０６で行われ、当該エンタテインメント装置１４の使用者に関する情報を設定して使用者情報テーブル２０４を作成する。前記使用者設定処理が終了した後、ステップＳ３０４において、イベント処理に入る。このイベント処理は、図１３のイベント処理手段２１０で行われ、１つ以上の操作装置１２からの入力情報を取り込んで、その入力情報に応じた処理を落ちこぼれがないように行って、イベント処理テーブル２０８を作成する。
【０１２０】
前記イベント処理が終了した後、ステップＳ３０５において、振動設定処理に入る。この振動設定処理は、図１３の振動設定処理手段２１４で行われ、イベント処理テーブル２０８から振動に関する情報のみを抽出して振動を与えるべき使用者に対する振動種別を振動出力テーブル２１２に順次登録する。
【０１２１】
前記振動設定処理が終了した後、ステップＳ３０６において、振動出力処理に入る。この振動出力処理は、図１３の振動出力処理手段２１６で行われ、使用者情報テーブル２０４と振動出力テーブル２１２に基づいて、振動を与えるべき実使用者に振動種別を含んだ振動指示データＤｖを作成して出力する一方、仮想使用者に与えるべき物理的影響をパラメータの変更として実行する。
【０１２２】
前記振動出力処理が終了した後、ステップＳ３０７においてその他の演算処理を行い、次いで、ステップＳ３０８において、終了判別手段２１８を通じて、ゲームが終了したか否かの判別が行われる。この判別は、ゲーム終了フラグがセットされているか否かで行われる。ゲームが終了していないと判別された場合は、前記ステップＳ３０４に戻り、再度、イベント処理、振動設定処理及び振動出力処理並びにその他の演算処理が行われる。
【０１２３】
そして、前記ステップＳ３０８において、ゲームが終了したと判別された場合は、この影響付与指示処理が終了する。
【０１２４】
次に、前記ステップＳ３０３での使用者設定処理、ステップＳ３０４でのイベント処理、ステップＳ３０５での振動設定処理及びステップＳ３０６での振動出力処理について図２１〜図２４を参照しながら順番に説明する。
【０１２５】
最初に使用者設定処理は、まず、図２１のステップＳ４０１において、許容接続数設定手段２３０を通じて、外部インターフェース２０２が接続されているか否かが判別される。この判別は、例えばハードウェアの接続状態を示す状態フラグを参照することにより行われる。
【０１２６】
外部インターフェース２０２が接続されている場合は、次のステップＳ４０２に進み、同じく許容接続数設定手段２３０を通じて、外部インターフェース２０２の種類（ＩＤ等）から許容接続数Ｍを割り出す。このとき、通信デバイス１１０に接続される操作装置１２も使用可能である場合は、前記許容接続数Ｍとして更に通信デバイス１１０への操作装置１２の許容接続数である例えば「２」が加算される。
【０１２７】
外部インターフェース２０２が接続されていない場合は、ステップＳ４０３に進み、同じく許容接続数設定手段２３０を通じて、許容接続数Ｍとして通信デバイス１１０への操作装置１２の許容接続数である例えば「２」が定義される。
【０１２８】
ステップＳ４０２又はステップＳ４０３での処理が終了した段階で次のステップＳ４０４に進み、外部インターフェース２０２や通信デバイス１１０のポート検索用に使用されるインデックスレジスタｉに初期値「１」を格納し、使用者情報テーブル２０４のレコード検索用に使用されるインデックスレジスタｊに初期値「１」を格納する。
【０１２９】
次に、ステップＳ４０５において、テーブル作成手段２３２を通じて、ｉ番目のポートに操作装置１２が接続されているか否かが判別される。操作装置１２が接続されている場合は、次のステップＳ４０６に進み、同じくテーブル作成手段２３２を通じて、使用者情報テーブル２０４のｊレコード目にポート番号ｉを格納する。次いで、ステップＳ４０７において、インデックスレジスタｊの値を＋１更新する。
【０１３０】
前記ステップＳ４０７での処理が終了した段階又は前記ステップＳ４０５においてｉ番目のポートに操作装置１２が接続されていないと判別された場合は、次のステップＳ４０８に進み、インデックスレジスタｉの値を＋１更新する。
【０１３１】
次いで、ステップＳ４０９において、処理完了判別手段２３４を通じて、操作装置１２が接続されているすべてのポート番号の使用者情報テーブル２０４への登録が完了したか否かが判別される。この判別は、インデックスレジスタｉの値が許容接続数Ｍよりも大きいか否かで行われる。
【０１３２】
インデックスレジスタｉの値が許容接続数Ｍ以下で、処理が完了していないと判別された場合は、前記ステップＳ４０５に戻り、該ステップＳ４０５以降の処理を繰り返す。操作装置１２が接続されているポート番号がすべて登録された場合は、次のステップＳ４１０に進み、テーブル作成手段２３２を通じて、今度は仮想使用者が存在するか否かが判別される。この判別は、インデックスレジスタｊの値が人数Ｎと同じか否かで行われる。
【０１３３】
インデックスレジスタｊの値と人数Ｎが同じで仮想使用者が存在すると判別された場合は、次のステップＳ４１１に進み、テーブル作成手段２３２を通じて、使用者情報テーブル２０４のｊレコード目に仮想使用者を示すコードを格納する。
【０１３４】
前記ステップＳ４１１での処理が終了した段階又は前記ステップＳ４１０において仮想使用者が存在しないと判別された場合は、この使用者設定処理が終了する。
【０１３５】
次に、イベント処理は、まず、図２２のステップＳ５０１において、使用者情報テーブル２０４やイベント処理テーブル２０８のレコード検索用として使用されるインデックスレジスタｉに初期値「１」を格納する。
【０１３６】
次に、ステップＳ５０２において、レコード読出し手段２３６を通じて、使用者情報テーブル２０４からｉレコード目の内容を読み出す。
【０１３７】
次いで、ステップＳ５０３において、演算手段２３８を通じて、当該レコードの内容が実使用者のものであるか否かが判別される。この判別は、当該レコードの内容が仮想使用者を示すコードであるか否かで行われる。
【０１３８】
当該レコードの内容が仮想使用者を示すコードではなく、実使用者に関するものである場合は、次のステップＳ５０４に進み、演算手段２３８を通じて、当該レコードに格納されているポート番号に対応するポート（外部インターフェース２０２や通信デバイス１１０の該当ポート）に接続されている操作装置１２からの入力情報を受け取る。
【０１３９】
その後、ステップＳ５０５において、演算手段２３８を通じて、前記受け取られた入力情報を演算して、どのような操作が行われたかを割り出す。
【０１４０】
一方、ステップＳ５０３において、仮想使用者であると判別された場合は、ステップＳ５０６に進み、コンピュータの判断（演算結果等）を受け取る。次いで、ステップＳ５０７において、演算手段２３８を通じて、前記コンピュータの判断結果を演算して、どのような判断が行われたかを割り出す。
【０１４１】
前記ステップＳ５０５とステップＳ５０７での演算で得られる情報としては、例えば振動に関するものであれば、振動に関するコードと、振動を与えるべき使用者の番号（使用者番号）と、操作ボタンの種別（操作属性）である。
【０１４２】
前記ステップＳ５０５での処理又はステップＳ５０７での処理が終了した段階で、次のステップＳ５０８に進み、振動関係判別手段２４０を通じて、今回の操作内容あるいは判断結果が振動関係であるか否かが判別される。
【０１４３】
振動関係である場合は、次のステップＳ５０９に進み、テーブル作成手段２４２を通じて、イベント処理テーブル２０８のｉレコード目に、振動に関するコード、使用者番号並びに演算結果に基づく操作属性を格納する。
【０１４４】
ステップＳ５０８において振動関係でないと判別された場合は、ステップＳ５１０に進み、テーブル作成手段２４２を通じて、イベント処理テーブル２０８のｉレコード目に、要求に応じた種別コードと、演算結果を格納する。
【０１４５】
前記ステップＳ５０９での処理又はステップＳ５１０での処理が終了した段階で、次のステップＳ５１１に進み、インデックスレジスタｉの値を＋１更新した後、次のステップＳ５１２において、処理完了判別手段２４４を通じて、使用者情報テーブル２０４に登録されたすべての使用者に対し、今回の操作内容又は判断内容をイベント処理テーブル２０８に登録したか否かが判別される。この判別は、インデックスレジスタｉの値が人数Ｎよりも大きいか否かで行われる。
【０１４６】
インデックスレジスタｉの値が人数Ｎ以下で、処理が完了していないと判別された場合は、前記ステップＳ５０２に戻り、該ステップＳ５０２以降の処理を繰り返す。今回の操作内容又は判断内容がすべてイベント処理テーブル２０８に登録された場合は、このイベント処理が終了する。
【０１４７】
次に、振動設定処理は、まず、図２３のステップＳ６０１において、イベント処理テーブル２０８のレコード検索用として使用されるインデックスレジスタｉに初期値「１」を格納する。
【０１４８】
次に、ステップＳ６０２において、レコード読出し手段２４６を通じて、イベント処理テーブル２０８からｉレコード目の内容、即ち、使用者番号ｉに対応する使用者の操作内容あるいは判断内容を読み出す。
【０１４９】
次に、ステップＳ６０３において、振動関係判別手段２４８を通じて、振動関係であるか否かが判別される。この判別は、当該レコードの内容に振動に関するコードが登録されているか否かで行われる。
【０１５０】
振動関係である場合は、次のステップＳ６０４に進み、テーブル作成手段２５０を通じて、当該レコードに登録されている使用者番号を読み出して、振動出力テーブル２１２のレコード検索用として使用されるインデックスレジスタｊに格納する。
【０１５１】
次に、ステップＳ６０５において、同じくテーブル作成手段２５０を通じて、当該レコードに登録されている操作属性を読み出し、駆動信号テーブル２６８からその操作属性に対応する振動種別を割り出す。
【０１５２】
次に、ステップＳ６０７において、同じくテーブル作成手段２５０を通じて、前記割り出された振動種別を振動出力テーブル２１２のｊレコード目に順次登録する。この時点で、振動を与えるべき使用者に対する振動種別が登録されることになる。
【０１５３】
前記ステップＳ６０７での処理が終了した段階あるいは前記ステップＳ６０３において振動関係でないと判別された場合は、次のステップＳ６０８に進み、インデックスレジスタｉの値を＋１更新した後、ステップＳ６０９において、処理完了判別手段２５２を通じて、イベント処理テーブル２０８に登録された情報のうち、振動関係に関する情報をすべて振動出力テーブル２１２に登録したか否かが判別される。この判別は、インデックスレジスタｉの値が人数Ｎよりも大きいか否かで行われる。
【０１５４】
インデックスレジスタｉの値が人数Ｎ以下で、処理が完了していないと判別された場合は、前記ステップＳ６０２に戻り、該ステップＳ６０２以降の処理を繰り返す。そして、今回の振動に関する情報がすべて振動出力テーブル２１２に登録された場合は、この振動設定処理が終了する。
【０１５５】
次に、振動出力処理は、まず、図２４のステップＳ７０１において、振動出力テーブル２１２のレコード検索用として使用されるインデックスレジスタｉに初期値「１」を格納する。
【０１５６】
次に、ステップＳ７０２において、第１のレコード読出し手段２５４を通じて、使用者情報テーブル２０４からｉレコード目の内容、即ち、使用者番号ｉに対応するポート番号あるいは仮想使用者を示すコードを読み出す。
【０１５７】
次に、ステップＳ７０３において、第２のレコード読出し手段２５６を通じて、振動出力テーブル２１２からｉレコード目の内容、即ち、使用者番号ｉに対応する使用者に与えるべきポート番号あるいは仮想使用者を示すコードを読み出す。
【０１５８】
次に、ステップＳ７０４において、振動種別の検索用として使用されるインデックスレジスタｊに初期値「１」を格納した後、次のステップＳ７０５において、振動出力テーブル２１２の当該レコードからｊ番目の振動種別を読み出す。
【０１５９】
次に、ステップＳ７０６において、前記読み出した振動種別が有効であるか否かが判別される。この判別は、読み出した振動種別が無効を示すＦＦＨであるか否かで行われる。
【０１６０】
振動種別が無効を示すＦＦＨでなく有効である場合は、次のステップＳ７０７に進み、使用者判別手段２５８を通じて、振動を与えるべき使用者が実使用者であるか否かが判別される。この判別は、前記読み出された使用者情報テーブル２０４のレコードに登録されている内容が仮想使用者を示すコードであるか否かで行われる。
【０１６１】
前記内容が仮想使用者を示すコードでなく実使用者である場合は、ステップＳ７０８において、振動指示データ作成手段２６０を通じて、使用者情報テーブル２０４の当該レコードに登録されているポート番号と今回の振動種別の情報を含んだ振動指示データＤｖを作成する。振動種別の情報としては、振動種別に応じてモータ１５６を駆動する電圧及び電流の制御信号並びにモータ１５６を駆動する時間等である。
【０１６２】
次に、ステップＳ７０９において、振動指示データ出力手段２６２を通じて、前記作成された振動指示データＤｖを出力する。外部インターフェース２０２及び通信デバイス１１０は、出力された振動指示データＤｖを常時監視し、振動指示データＤｖに登録されているポート番号に対応するポートに接続された操作装置１２に振動指示データＤｖを送出する。
【０１６３】
エンタテインメント装置１４からの振動指示データＤｖを受け取った操作装置１２は、当該振動指示データＤｖに格納されている振動種別の情報に基づいてモータ１５６を回転駆動し、当該操作装置１２を操作している実使用者に対して前記振動種別に応じた振動を与える。
【０１６４】
一方、前記ステップＳ７０７において、仮想使用者であると判別された場合は、ステップＳ７１０に進み、パラメータ変更手段２６４を通じて、ゲームプログラムが参照する物理的パラメータのうち、振動種別に応じたパラメータの数値を変更する。例えば画面上での動作スピードや状況判断能力に関するパラメータの値が変更される。
【０１６５】
前記ステップＳ７０９での処理あるいはステップＳ７１０での処理が終了した段階で、次のステップＳ７１１に進み、インデックスレジスタｊの値を＋１更新した後、前記ステップＳ７０５に戻って、振動出力テーブル２１２の当該レコードから次の振動種別を読み出して、その振動種別に応じた処理を行う。
【０１６６】
そして、前記ステップＳ７０６において、振動種別が無効であると判別された場合は、次のステップＳ７１２に進み、インデックスレジスタｉの値を＋１更新した後、ステップＳ７１３において、処理完了判別手段２６６を通じて、振動出力テーブル２１２に登録された振動種別についてすべての処理が完了したか否かが判別される。この判別は、インデックスレジスタｉの値が人数Ｎよりも大きいか否かで行われる。
【０１６７】
インデックスレジスタｉの値が人数Ｎ以下で、すべての処理が完了していないと判別された場合は、前記ステップＳ７０３に戻り、次の使用者に関する情報と該使用者に与えるべき振動種別を読み出して、その振動種別に応じた振動を実使用者に与える、あるいは仮想使用者の物理的パラメータの値を変更する。そして、振動出力テーブル２１２に登録された振動種別について処理がすべて完了した場合は、この振動出力処理が終了する。
【０１６８】
このように、本実施の形態に係るエンタテインメントシステム１０においては、エンタテインメント装置１４に、複数の使用者のうち、選択された使用者が操作する操作装置１２に対し、他の使用者からの要求に基づいて、物理的影響（振動等）を発生させるための指示を出力する影響付与指示手段２００を組み込むようにしたので、ある使用者が例えばテレビジョン受像機の画面を見ながら操作装置１２を使用してある所定の操作を行っている際に、別の使用者からの要求に従って、当該選択された使用者に対して物理的影響を与えることができる。
【０１６９】
この場合、当該選択された使用者は突然の物理的影響の付与によって操作をミスしたり、操作を一時中断されるなど、予期しない状況に遭遇することになる。つまり、例えば対戦ゲームの進行中での当該使用者の操作に対する応答としての物理的影響付与のほか、他の使用者からの要求に基づいて、当該使用者に対して影響を与えることができるため、ゲーム内容の意外なる展開を可能にし、対戦ゲームであれば臨場感溢れる対戦を可能にすることができる。
【０１７０】
特に、本実施の形態では、前記選択された使用者が実使用者、即ち人間である場合に、実使用者が操作する操作装置１２内の応答手段１５０に指示を与えて実使用者に振動を付与するようにしたので、例えば複数の使用者間で対戦ゲームを楽しんでいる場合に、使用者の意思で操作装置１２を振動させ、対戦相手の操作を物理的に邪魔することで、操作自体を困難にさせるあるいは操作ミスを誘発させることができるようになる。
【０１７１】
その結果、従来よりも臨場感溢れる対戦を可能にすることができる。また、いつ邪魔されるか分からないため、緊迫感が増すと共に、意外なゲーム展開を可能にすることができる。
【０１７２】
更に、本実施の形態では、選択された使用者が仮想使用者、即ち、コンピュータ上の使用者である場合に、仮想使用者の物理的パラメータに影響を与えるようにしている。仮想使用者の場合、架空の存在（キャラクタ）であるため、実際に操作装置１２を使用するということがない。そこで、仮想使用者の例えば画面上での動作スピードや状況判断能力に関するパラメータに影響を与えるようにしている。これにより、無味乾燥になりがちなコンピュータを対戦相手とするゲームにおいて、臨場感溢れるゲーム展開を可能にすることができる。
【０１７３】
また、本実施の形態では、エンタテインメント装置１４に接続されている操作装置１２の個数と各操作装置１２の識別因子（ポート番号等）を検出し、検出された操作装置１２の個数に応じた設定処理を行う使用者設定処理手段２０６を組み込む有するようにしているため、ある選択された使用者に対して物理的影響を与える旨の要求を発した使用者（実使用者及び仮想使用者）を正確に認識することができ、選択された使用者に対する物理的影響の付与を確実に行わせることができる。
【０１７４】
また、本実施の形態では、使用者からの要求が、選択された使用者に対して影響を与える指示（振動を与える指示等）である場合に、選択された使用者に与えるべき影響の度合い（振動種別等）を要求の内容（操作属性等）に応じて設定するようにしたので、前記選択された使用者に与えるべき物理的影響として、振動とした場合は、振動種別に応じた影響を付与することができ、小刻みな振動や緩やかな振動、大揺れする振動などを任意に与えることができ、更に臨場感溢れるゲーム展開を可能にすることができる。
【０１７５】
なお、この発明に係る記録媒体及び情報処理方法は、上述の実施の形態に限らず、この発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【０１７６】
【発明の効果】
以上説明したように、本発明に係る記録媒体及び情報処理方法によれば、例えばゲームの進行中での使用者の操作に対する応答としての影響付与のほか、他の使用者からの要求に基づいて、当該使用者に対して影響を与えるようにして、ゲーム内容の意外なる展開を可能にし、対戦ゲームであれば臨場感溢れる対戦を可能にすることができる。
【０１７７】
また、本発明に係る記録媒体によれば、例えばゲームの進行中での使用者の操作に対する応答としての影響付与のほか、他の使用者からの要求に基づいて、当該使用者に対して影響を与えることができるプログラムを提供することができる。
【図面の簡単な説明】
【図１】本実施の形態に係るエンタテインメントシステムを示す構成図である。
【図２】エンタテインメント装置におけるスロット部の様子を示す背面図である。
【図３】エンタテインメント装置の構成を示す外観斜視図である。
【図４】エンタテインメントシステム装置の主要部の具体的な構成例を示すブロック図である。
【図５】操作装置の下ケースを外した状態の全体斜視図である。
【図６】操作装置内に組み込まれている応答手段であるモータ及び偏心して取り付けた回転部を示した斜視図である。
【図７】操作装置が振動している様子を示した右側面図である。
【図８】操作装置に組み込まれる応答手段の組み込み位置を示した略示的な平面図である。
【図９】操作装置をエンタテインメント装置に接続し、エンタテインメント装置をモニタに接続してゲームを行う様子を示した説明図である。
【図１０】操作装置とエンタテインメント装置との双方向のシリアル通信を行う要部を示すブロツク図である。
【図１１】操作装置とエンタテインメント装置との操作データ及び振動指示データのマイコンでの処理を示したフローチャートである。
【図１２】エンタテインメント装置への操作装置の接続例を示す説明図である。
【図１３】本実施の形態に係る影響付与指示手段の構成を示す機能ブロック図である。
【図１４】使用者情報テーブルの内訳を示す説明図である。
【図１５】イベント処理テーブルの内訳を示す説明図である。
【図１６】振動出力テーブルの内訳を示す説明図である。
【図１７】駆動信号テーブルの内訳を示す説明図である。
【図１８】例えば対戦ゲームのゲームプログラムと共に動作する影響付与指示手段（プログラム）の処理動作を示すフローチャートである。
【図１９】ゲームプログラムの処理動作の一例を示すフローチャートである。
【図２０】影響付与指示手段の処理動作を示すフローチャートである。
【図２１】使用者設定処理手段の処理動作を示すフローチャートである。
【図２２】イベント処理手段の処理動作を示すフローチャートである。
【図２３】振動設定処理手段の処理動作を示すフローチャートである。
【図２４】振動出力処理手段の処理動作を示すフローチャートである。
【符号の説明】
１０…エンタテインメントシステム  １２…操作装置
１４…エンタテインメント装置      ６２…接続端子部
１１０…通信デバイス
１１４…シリアルＩ／Ｏインターフェース（ＳＩＯ）
１５０…応答手段                  １５６…モータ
２００…影響付与指示手段          ２０２…外部インターフェース
２０４…使用者情報テーブル        ２０６…使用者設定処理手段
２０８…イベント処理テーブル      ２１０…イベント処理手段
２１２…振動出力テーブル          ２１４…振動設定処理手段
２１６…振動出力処理手段          ２６０…振動指示データ作成手段
２６２…振動指示データ出力手段    ２６４…パラメータ変更手段
【図１】
0003981624.tif 000002
【図２】
0003981624.tif 000003
【図３】
0003981624.tif 000004
【図４】
0003981624.tif 000005
【図５】
0003981624.tif 000006
【図６】
0003981624.tif 000007
【図７】
0003981624.tif 000008
【図８】
0003981624.tif 000009
【図９】
0003981624.tif 000010
【図１０】
0003981624.tif 000011
【図１１】
0003981624.tif 000012
【図１２】
0003981624.tif 000013
【図１３】
0003981624.tif 000014
【図１４】
0003981624.tif 000015
【図１５】
0003981624.tif 000016
【図１６】
0003981624.tif 000017
【図１７】
0003981624.tif 000018
【図１８】
0003981624.tif 000019
【図１９】
0003981624.tif 000020
【図２０】
0003981624.tif 000021
【図２１】
0003981624.tif 000022
【図２２】
0003981624.tif 000023
【図２３】
0003981624.tif 000024
【図２４】
0003981624.tif 000025