(57)【特許請求の範囲】
【請求項１】
ゲームコントローラと、ゲームアプリケーションを実行するゲーム装置とを備えたゲームシステムであって、
前記ゲームコントローラは、
振動制御信号により駆動を制御される少なくとも１つの振動子と、
前記振動子の駆動に起因する振動を検出する動きセンサと、
前記動きセンサの出力をアナログデジタル変換するアナログデジタル変換器と、
アナログデジタル変換されたセンサ出力を前記ゲーム装置に供給する第１通信モジュールとを有し、
前記ゲーム装置は、
前記ゲームコントローラからセンサ出力を受け取る第２通信モジュールと、
ゲームアプリケーションを処理するアプリケーション処理部と、
受け取ったセンサ出力を、前記アプリケーション処理部にゲーム操作データとして供給する供給部とを有し、
前記アプリケーション処理部は、前記供給部から受け取ったゲーム操作データをゲームアプリケーションの処理に反映させることを特徴とするゲームシステム。
【請求項２】
前記ゲームコントローラは、
ユーザにより操作されて、前記振動子を駆動するための操作ボタンと、
操作ボタンへの操作入力を振動制御信号に変換して前記振動子に供給する振動制御部と、
をさらに有することを特徴とする請求項１に記載のゲームシステム。
【請求項３】
前記振動制御部は、前記操作ボタンの操作量に応じて、前記振動子の振動数または振動振幅を定めることを特徴とする請求項２に記載のゲームシステム。
【請求項４】
前記ゲームコントローラは、
ユーザにより操作される操作ボタンをさらに有し、
前記第１通信モジュールは、操作ボタンへの操作入力を前記ゲーム装置に供給し、
前記ゲーム装置は、
前記第２通信モジュールにおいて受け取った操作入力をもとに振動制御信号を生成する振動制御信号生成部をさらに備え、
前記第２通信モジュールは、前記ゲームコントローラに、生成した前記振動制御信号を供給することを特徴とする請求項１に記載のゲームシステム。
【請求項５】
前記供給部は、センサ出力が基準値以下の値から基準値を超えたこと、またはセンサ出力が基準値より高い値から基準値以下となったことを検出すると、ゲーム操作データを生成して前記アプリケーション処理部に供給することを特徴とする請求項１から４のいずれかに記載のゲームシステム。
【請求項６】
前記アプリケーション処理部は、
前記供給部から受け取ったゲーム操作データにより仮想弾丸を連射させることを特徴とする請求項１から５のいずれかに記載のゲームシステム。
【請求項７】
ユーザによるゲーム操作データをゲーム装置に伝送するゲームコントローラであって、
少なくとも１つの振動子と、
前記振動子の駆動に起因する当該ゲームコントローラの動きを検出する動きセンサと、
ユーザにより操作されて、前記振動子を駆動するための操作ボタンと、
前記操作ボタンへの操作入力を振動制御信号に変換して前記振動子に供給する振動制御部と、
前記動きセンサの出力をアナログデジタル変換するアナログデジタル変換器と、
アナログデジタル変換されたセンサ出力を前記ゲーム装置に供給する通信モジュールとを備えることを特徴とするゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振動子を備えたゲームコントローラ、およびそのゲームコントローラを備えたゲームシステムに関する。
【背景技術】
【０００２】
シューティングゲームは、ゲームコントローラによりゲーム空間内のオブジェクトから仮想の弾丸を発射させて、敵オブジェクトにあてるゲームである。シューティングゲームでは、ゲームコントローラの任意のボタンが、仮想弾丸の発射スイッチに割り当てられ、ユーザがそのボタンを押下するたびに、弾丸が発射されるようになっている。
【０００３】
弾丸を単位時間あたりに沢山発射させるために、最近ではゲームコントローラの所定のボタンに連射専用のスイッチが割り当てられたり、ゲームコントローラの所定のボタンに対して、ゲーム装置側で連射専用のスイッチをソフト的に割り当てることが行われている。このようなスイッチを利用することで、ユーザは、ボタンを連打することなく、単にボタンの押下状態を維持するだけで、簡単に連射を行える。従来、ゲームコントローラに設けられた感圧手段により、発射操作の圧力を感知して、発射弾丸数を決定するシューティングゲームを提案するものがある（たとえば特許文献１参照）。
【特許文献１】特表２００３−５１９５４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、ゲームコントローラに動きセンサを搭載して、ゲームコントローラの姿勢や動きそのものをゲーム装置への操作入力として利用することが現実化されている。ユーザがゲームコントローラを動かすと、動きセンサはゲームコントローラの傾きや回転量などを検出し、その検出値をゲーム装置に送信することで、従来からあるボタン操作とは異なるゲーム操作入力が実現される。たとえばレーシングゲームでは、ゲームコントローラが自動車のハンドルのように扱われて、ユーザは、ボタン操作よりもリアルな感覚をもってゲームを行うことができる。
【０００５】
本発明者は、ゲームコントローラに搭載されている動きセンサを有効に利用することで、ゲーム装置に対して従来にない操作入力を実現することの可能性を見いだした。
【０００６】
そこで本発明は、ゲームコントローラに搭載された動きセンサの出力をゲーム装置に対する操作入力として利用する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様のゲームシステムは、ゲームコントローラと、ゲームアプリケーションを実行するゲーム装置とを備える。ゲームコントローラは、振動制御信号により駆動を制御される少なくとも１つの振動子と、振動子の駆動に起因する振動を検出する動きセンサと、動きセンサの出力をアナログデジタル変換するアナログデジタル変換器と、アナログデジタル変換されたセンサ出力をゲーム装置に供給する第１通信モジュールとを有する。ゲーム装置は、ゲームコントローラからセンサ出力を受け取る第２通信モジュールと、ゲームアプリケーションを処理するアプリケーション処理部と、受け取ったセンサ出力を、アプリケーション処理部にゲーム操作データとして供給する供給部とを有する。アプリケーション処理部は、供給部から受け取ったゲーム操作データをゲームアプリケーションの処理に反映させる。
【０００８】
本発明の別の態様は、ユーザによるゲーム操作データをゲーム装置に伝送するゲームコントローラに関する。このゲームコントローラは、少なくとも１つの振動子と、振動子の駆動に起因する当該ゲームコントローラの動きを検出する動きセンサと、ユーザにより操作されて、振動子を駆動するための操作ボタンと、操作ボタンへの操作入力を振動制御信号に変換して振動子に供給する振動制御部と、動きセンサの出力をアナログデジタル変換するアナログデジタル変換器と、アナログデジタル変換されたセンサ出力をゲーム装置に供給する通信モジュールとを備える。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によると、ゲームコントローラに搭載された動きセンサの出力をゲーム装置に対する操作入力として利用する技術を提供することができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施例にかかるゲームシステムの使用環境を示す。ゲームシステム１は、画像表示装置３、音声出力装置４、ゲーム装置１０およびコントローラ２０を備える。画像表示装置３、音声出力装置４およびコントローラ２０は、ゲーム装置１０に接続される。
【００１２】
画像表示装置３は画像信号を出力するディスプレイであって、ゲーム装置１０において生成された画像信号を受けて、ゲーム画面を表示する。音声出力装置４は音声を出力するスピーカであって、ゲーム装置１０において生成された音声信号を受けて、ゲーム音声を出力する。画像表示装置３および音声出力装置４は、ゲームシステム１における出力装置を構成する。ゲーム装置１０と出力装置は、ＡＶケーブルなどの有線により接続されてもよく、また無線により接続されてもよい。またゲーム装置１０と出力装置との間には、ネットワーク（ＬＡＮ）ケーブルやワイヤレスＬＡＮなどで構築したホームネットワークが構築されてもよい。
【００１３】
コントローラ２０は、ユーザがゲーム中のキャラクタを動作させるゲーム操作データを入力するための入力装置であり、またゲーム装置１０は、コントローラ２０から供給されるゲーム操作データをもとにゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する処理装置である。なおゲーム装置１０は、コントローラ２０から供給される動きセンサの出力をゲーム操作データとして利用し、ゲームアプリケーションを処理する機能ももつ。なお、本実施例に示す技術は、ゲームアプリケーションに限らず、他の種類のアプリケーションを実行する処理装置を備えたエンタテインメントシステムにおいても実現できる。以下では、エンタテインメントシステムを代表して、ゲームアプリケーションを実行するゲームシステム１について説明する。
【００１４】
コントローラ２０は、ゲーム操作データをゲーム装置１０に伝送する機能をもち、本実施例ではゲーム装置１０との間で無線通信可能な無線コントローラとして構成される。コントローラ２０とゲーム装置１０は、Bluetooth（ブルートゥース）（登録商標）プロトコルを用いて無線接続を確立してもよい。ゲーム操作データの送受信において、ゲーム装置１０は親機すなわちマスタとして機能し、コントローラ２０は子機すなわちスレーブとして機能する。なおコントローラ２０は、無線コントローラに限らず、ゲーム装置１０とケーブルを介して接続される有線コントローラであってもよい。
【００１５】
コントローラ２０は、図示しないバッテリにより駆動され、ゲームを進行させるゲーム入力を行うための複数のボタンやキーを有して構成される。ユーザがコントローラ２０のボタンやキーを操作すると、そのゲーム操作データが無線により周期的にゲーム装置１０に送信される。またコントローラ２０は、コントローラ２０の３軸方向の加速度を検出する３軸加速度センサと、所定の軸回りの角速度を検出する角速度センサを有して構成される。３軸加速度センサおよび角速度センサは、コントローラ２０の動きを検出する動きセンサを構成する。各センサの検出値は無線により周期的にゲーム装置１０に送信され、ゲームの進捗状況に応じて、ゲーム操作データとして扱われる。たとえば、コントローラ２０を自動車のハンドルに見立て、ユーザがコントローラ２０をハンドルのように動かすことで、ゲーム中の自動車を動かすレーシングゲームにおいては、３軸加速度センサおよび角速度センサの出力値がゲーム操作データとして利用される。
【００１６】
ゲーム装置１０は、コントローラ２０からゲームアプリケーションに関するゲーム操作データを受信し、ゲーム操作データに応じてゲーム進行を制御して、ゲーム画像信号およびゲーム音声信号を生成する。生成されたゲーム画像信号およびゲーム音声信号は、それぞれ画像表示装置３および音声出力装置４により出力される。
【００１７】
近年のゲームシステムにおいて、モータなどの振動子を備えたゲームコントローラが普及している。ゲームキャラクタの状況にあわせて振動子が駆動されることで、仮想的な現実感をユーザに与えて、ゲームの魅力を高める効果がある。本実施例のゲームシステム１においては、コントローラ２０が振動子を備え、この振動子の駆動に起因するコントローラ２０の振動を動きセンサが検出して、その検出値をゲーム操作データとして利用することで、従来にないゲーム装置１０に対する操作入力を実現する。
【００１８】
コントローラ２０は、自身を振動させる振動制御信号を、ユーザのボタン操作に応じて生成する機能をもつ。コントローラ２０は、ボタンへの操作入力を振動制御信号に変換して、振動子に供給する。ユーザが所定のボタンを押下している間、振動制御信号が生成され続けて、振動子に供給されてもよい。またコントローラ２０は、所定のボタンが押下されたときに振動開始信号を振動子に供給して、振動子を駆動し、所定のボタンの押下が終了したとき、すなわち所定のボタンが解放されたときに振動停止信号を振動子に供給して、振動子の駆動を停止してもよい。
【００１９】
またゲーム装置１０は、ゲームアプリケーションの進行状況や、ユーザのボタン操作に応じて、コントローラ２０を振動させる振動制御信号をコントローラ２０に送信する機能を有してもよい。コントローラ２０は、振動開始信号を受信すると振動子を駆動し、振動停止信号を受信すると振動子の駆動を停止する。なおゲーム装置１０は、振動子を駆動させるか否かを特定する振動制御信号を、送信フレームごとに送信してもよく、この場合、コントローラ２０は、この振動制御信号にしたがって動作する。なお、コントローラ２０において振動子に供給される振動制御信号は、ＰＷＭ（パルス幅変調）信号であってよく、ゲーム装置１０から供給される振動制御信号とは異なる信号形態をとってもよい。
【００２０】
図２は、コントローラの外観構成を示す。コントローラ２０には、方向キー２１、アナログスティック２７と、４種の操作ボタン２６が設けられている。４種のボタン２２〜２５には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン２２には赤色の丸、×ボタン２３には青色のバツ、□ボタン２４には紫色の四角形、△ボタン２５には緑色の三角形が記されている。
【００２１】
ユーザは左手で左側把持部２８ａを把持し、右手で右側把持部２８ｂを把持して、コントローラ２０を操作する。方向キー２１、アナログスティック２７、操作ボタン２６は、ユーザが左側把持部２８ａ、右側把持部２８ｂを把持した状態で操作可能なように、筐体上面３０に設けられる。
【００２２】
左側把持部２８ａおよび右側把持部２８ｂの筐体内部には、モータなどで構成される振動子が配置される。左右の振動子は、駆動を指示する振動制御信号を供給されると駆動され、その振動がコントローラ２０の筐体に伝達されて、コントローラ２０が振動する。またコントローラ２０の筐体内部の中央付近には、コントローラ２０の動作を制御するための基板が配置される。この基板には、既述した３軸加速度センサや角速度センサなども設けられている。なおコントローラ２０の外郭を構成する筐体は、下側筐体と上側筐体とを嵌め合わせることで構成され、振動子および基板は、下側筐体に固定されている。
【００２３】
基板上の３軸加速度センサおよび角速度センサなどの動きセンサは、コントローラ２０の動きを検出するが、振動子が駆動されたときには、その駆動により生じるコントローラ２０の振動成分も検出する。本実施例のゲームシステム１においては、振動子の駆動に起因して動きセンサにより検出されるコントローラ２０の振動成分を、ゲームの操作データとして処理する。これにより、ユーザに対してコントローラ２０の振動を感じさせながら、その振動そのものが、ゲームに対する操作入力として利用できる。コントローラ２０の所定のボタンに、振動子を駆動させる振動制御信号を生成させるスイッチとしての機能を割り当て、同時に、振動子の駆動に起因するコントローラ２０の振動を検出した動きセンサの検出値を、たとえばゲームの連射モードにおける操作入力として利用することで、ユーザは、ゲーム中で連射を行いながら、振動を感じることができ、現実感の高いゲームを体感できる。
【００２４】
図３は、コントローラの背面側の外観構成を示す。筐体背面側からみて、筐体上面右方には方向キー２１が設けられ、上面左方には操作ボタン２６が設けられる。また、方向キー２１および操作ボタン２６の内側には、２つのアナログスティック２７が設けられる。筐体背面２９の中央部には、ＵＳＢコネクタ４６が設けられる。ＵＳＢコネクタ４６には、ゲーム装置１０から延びるＵＳＢケーブルが接続されて、コントローラ２０の充電処理を行うことができる。なおＵＳＢケーブルが接続されると、コントローラ２０を有線コントローラとして利用することも可能である。
【００２５】
筐体背面２９側には、上側操作ボタン３２ａ、上側操作ボタン３２ｂ、下側操作ボタン３４ａ、下側操作ボタン３４ｂが筐体背面長手方向の左右対称な位置にそれぞれ設けられる。上側操作ボタン３２ａおよび上側操作ボタン３２ｂは、ユーザが左側把持部２８ａ、右側把持部２８ｂを把持した状態で、それぞれ左手および右手の人差指の先端で操作される位置に形成され、下側操作ボタン３４ａおよび下側操作ボタン３４ｂは、それぞれ左手および右手の中指の先端で操作される位置に形成される。
【００２６】
上側操作ボタン３２ａおよび上側操作ボタン３２ｂは、プッシュ式のボタンとして構成される。上側操作ボタン３２からの入力は、押下されることで実行され、オンオフのデジタル入力を可能とする。一方、下側操作ボタン３４ａおよび下側操作ボタン３４ｂは、回動支持されたトリガー式のボタンとして構成される。下側操作ボタン３４は、回動可能な入力インタフェースであって、回動量に応じたアナログ入力を可能とする。なお、上側操作ボタン３２についても同様にアナログ入力を可能とする入力インタフェースとして構成されてもよい。下側操作ボタン３４は、回動軸により回動可能に支持された状態で、ばねなどにより筐体外向きに付勢されている。これにより、ユーザから押下されない状態では、下側操作ボタン３４が筐体から離れる方向に付勢され、その位置を維持する。
【００２７】
コントローラ２０において、下側操作ボタン３４は、筐体背面２９の長手方向に実質的に平行に設けられた回転軸により回動可能に支持されて構成される。下側操作ボタン３４は、その上側部分を回動支持され、ユーザは下側操作ボタン３４の表面の下側を押下することで、下側操作ボタン３４を筐体内に収容する方向に回動させることができる。下側操作ボタン３４の表面の下端部には、回動軸から離れる向き、具体的には下向きないしは斜め下向きに張り出した突起部が形成される。したがって突起部は、回転軸よりも筐体裏面側に配置される。
【００２８】
下側操作ボタン３４の回動量検出手段として、静電容量式のセンサが採用されてもよい。静電容量式センサは、２つの電極間における静電容量の変化を検出して、下側操作ボタン３４の回動量を検知することができる。コントローラ２０において、電極間の静電容量をアナログ値として取得する検出手段が設けられ、検出手段により取得されたアナログ値が、回動量に応じたデジタル値に変換される。これにより、コントローラ２０は、回動量に応じた入力値を取得することが可能となる。
【００２９】
他の例として、下側操作ボタン３４の回動量検出手段に、抵抗変化を検出するセンサを採用してもよい。たとえば、筐体内部に所定の抵抗値で２端子間を導通している回路パターンを用意し、下側操作ボタン３４の回動方向端部に導電ゴムを設ける。下側操作ボタン３４が回動されると、回動方向端部に設けられた導電ゴムが筐体内部の回路パターンに接触する。導電ゴムは、回動量に応じて回路パターンとの接触面積が変化するように変形可能に形成され、これにより回動量に応じて２端子間の抵抗値が変化する。この抵抗値を検出することで、回動量を検出することができ、これによりコントローラ２０は、回動量に応じた入力値を取得することが可能となる。
【００３０】
図４（ａ）および図４（ｂ）は、コントローラの側面側の外観構成を示す。なお図４は、コントローラ２０の右側面から見える下側操作ボタン３４ｂを示しているが、左側面から見える下側操作ボタン３４ａについても同様の構造を有している。図４（ａ）は、下側操作ボタン３４ｂを回動しない状態を示し、図４（ｂ）は、下側操作ボタン３４ｂを回動軸３６ｂを中心に最大に回動した状態を示す。突起部は、回動されると、筐体の外表面、具体的には開口部の縁部に接触して回動動作を制限するストッパとして機能する。なお図示するように、開口部を形成する筐体外郭部分を下方に向けて傾斜させることで、下側操作ボタン３４の回動量すなわちストローク量を大きくすることができる。ストローク量を大きくすることで、入力可能なアナログ値の範囲を増やすことができる。
【００３１】
本実施例のゲームシステム１では、下側操作ボタン３４に、筐体内部に設けられた振動子を駆動するスイッチの機能が割り当てられる。下側操作ボタン３４ａ、３４ｂは、それぞれ左側、右側に配置される振動子を駆動するスイッチ機能を割り当てられてもよいが、いずれか一方の下側操作ボタン３４に、両方の振動子を駆動するスイッチ機能を割り当てられてもよい。
【００３２】
ゲームシステム１では、下側操作ボタン３４の回動量に応じて、振動子の振動数を制御してもよく、また振動の振幅を制御してもよい。振動子の駆動に起因して筐体が振動すると、動きセンサが、その振動を検出する。ゲームシステム１では、この検出した振動をもとに、ゲームの連射機能を実現する。
【００３３】
図５は、コントローラの上側筐体を外して、下側筐体に固定される基板および振動子を露出させた状態を示す。基板８８は横長の形状を有し、下側筐体の前方中央位置に固定される。振動子８０ａは、モータ８２ａと、モータシャフトの先端に取り付けられた偏心部材８６ａを有し、一対の締結爪８４ａにより挟持されて、下側筐体の左側把持部２８ａの位置に固定される。同様に振動子８０ｂは、モータ８２ｂと偏心部材８６ｂを有し、一対の締結爪８４ｂにより挟持されて、下側筐体の右側把持部２８ｂの位置に固定される。偏心部材８６は半円形状を有して、モータシャフトに対して偏心して固定され、モータシャフトが回転すると、筐体を振動させる。
【００３４】
図６は、コントローラの内部構成を示す。コントローラ２０は、処理部９０を有し、さらに、モータと偏心部材から構成される振動子８０ａ、８０ｂと、無線通信モジュール７２と、ＵＳＢコネクタ４６を備える。無線通信モジュール７２は、ゲーム装置１０の無線通信モジュールとの間でデータを無線で送受信する機能をもつ。またＵＳＢコネクタ４６に、一端がゲーム装置１０のＵＳＢコネクタに接続されているＵＳＢケーブルの他端が挿入されると、コントローラ２０は、ゲーム装置１０との間でデータを有線で送受信することができる。処理部９０は、コントローラ２０における所期の処理を実行する。処理部９０および無線通信モジュール７２の機能は、筐体内部に設けられる基板８８に作り込まれた回路として実現されてもよい。
【００３５】
処理部９０は、メイン制御部５０、入力受付部５２、センサユニット５８、アナログデジタル変換装置６２、メモリ６４、読出部６６、通信制御部６８および振動制御部７０を備える。通信制御部６８は、無線通信モジュール７２との間で必要なデータの送受を行う。以下では、コントローラ２０とゲーム装置１０の間で無線通信が行われる場合について説明するが、コントローラ２０とゲーム装置１０の間でＵＳＢケーブルを介した通信が行われてもよい。
【００３６】
入力受付部５２は、方向キー２１、操作ボタン２６、アナログスティック２７、上側操作ボタン３２などの入力部から操作入力を受け付け、メイン制御部５０に送る。メイン制御部５０は、受け取った操作情報をメモリ６４に供給し、記憶させる。各入力部からの操作情報は、メモリ６４においてそれぞれに割り当てられる領域に上書きして記憶される。
【００３７】
通信制御部６８は、所定の周期で無線通信モジュール７２の送信処理を制御する。ゲーム装置１０のゲーム画像のフレーム周期は１／６０秒に設定されているため、無線通信モジュール７２の送信周期は、１／６０秒以下の時間、たとえば１１．２５ｍ秒に設定される。読出部６６は、無線通信モジュール７２の送信周期にあわせてメモリ６４からデータを読み出し、通信制御部６８に供給する。各入力部からの情報は、それぞれの記憶領域において上書き保存されているため、読出部６６は、最新のゲーム操作データを通信制御部６８に供給できる。
【００３８】
センサユニット５８は、加速度センサ５４と角速度センサ５６を有する。センサユニット５８が３軸加速度センサを含む場合、センサユニット５８は、３つの加速度センサ５４を有して構成される。加速度センサ５４は、所定の軸方向におけるコントローラ２０の動きを検出し、角速度センサ５６は、所定の軸回りのコントローラ２０の動きを検出する。本実施例において、加速度センサ５４および／または角速度センサ５６が、振動子８０の駆動に起因するコントローラ２０の振動を検出すると、その検出値は、ゲームアプリケーションのゲーム操作データとして利用され、具体的には連射機能の実行に利用される。
【００３９】
アナログデジタル変換装置６２は、複数のアナログデジタル変換器（ＡＤＣ）６０を有する。ＡＤＣ６０は、センサユニット５８から出力されるアナログ信号をデジタル信号に変換する。サンプリング周期は、無線通信モジュール７２による送信周期と比較して短く設定されることが好ましく、たとえば２ｍ秒程度であってよい。アナログデジタル変換装置６２は、固定のサンプリング周期を保持してもよく、またメイン制御部５０によりサンプリング周期を所望に制御されてもよい。各ＡＤＣ６０は、サンプリング値を、メモリ６４において割り当てられた領域に上書きする。
【００４０】
既述したように、読出部６６は、無線通信モジュール７２の送信周期で特定される送信タイミングにあわせてメモリ６４からデータを読み出し、通信制御部６８に供給する。各ＡＤＣ６０から供給されるセンサ出力値は、それぞれの記憶領域において上書き保存されているため、読出部６６は、最新のセンサ情報を通信制御部６８に供給できる。通信制御部６８は、無線通信モジュール７２から、入力受付部５２で受け付けた操作ボタン２６などの操作情報とともに、動きセンサ、すなわち加速度センサ５４および角速度センサ５６により取得されたセンサ情報をゲーム操作データとして、ゲーム装置１０に送信させる。
【００４１】
本実施例のコントローラ２０において、入力受付部５２は、下側操作ボタン３４からの操作入力を受け付けると、振動制御部７０に送る。本実施例において下側操作ボタン３４は、ユーザにより操作されて、操作量すなわち回動量に応じたアナログ入力を可能とし、振動子８０を駆動するためのボタンである。振動制御部７０は、受け取った操作情報を振動制御信号に変換して、振動子８０に供給する。
【００４２】
振動制御部７０は、下側操作ボタン３４の操作量に応じて、振動子８０の振動数を定める機能をもつ。振動制御部７０は、操作量が大きければ、振動子８０の振動数を高くする振動制御信号を生成し、また操作量が小さければ、振動子８０の振動数を低くする振動制御信号を生成する。
【００４３】
図７（ａ）は、操作ボタンの操作量と、振動子に供給する駆動電圧の関係を示す。下側操作ボタン３４の操作量が大きいほど、振動子８０に供給する駆動電圧を大きくすることで、振動子８０の振動数を高くできる。これにより、ユーザが下側操作ボタン３４を押し込むほど、振動子８０が高い振動数で駆動されて、コントローラ２０の振動を多くできる。
【００４４】
また振動制御部７０は、下側操作ボタン３４の操作量に応じて、振動子８０の振動振幅を定める機能を有してもよい。たとえば振動制御部７０は、振動子８０に供給する振動制御信号のデューティ比を調整することで、振動子８０の振動振幅を定めてもよい。振動制御部７０は、操作量が大きければ、振動子８０の振動振幅を大きくする振動制御信号を生成し、また操作量が小さければ、振動子８０の振動振幅を小さくする振動制御信号を生成してもよい。
【００４５】
図７（ｂ）は、操作ボタンの操作量と、振動子に供給するＰＷＭ信号のデューティ比の関係を示す。下側操作ボタン３４の操作量が大きいほど、振動子８０に供給する振動制御信号のデューティ比を高くすることで、振動子８０の振動振幅を大きくできる。これにより、ユーザが下側操作ボタン３４を押し込むほど、振動子８０が大きい振動振幅で駆動されて、コントローラ２０の振動を大きくできる。
【００４６】
以上のように、振動制御部７０は、下側操作ボタン３４の操作量に応じて振動子８０の振動数および／または振動振幅を調整する振動制御信号を生成し、振動子８０に供給する。これにより、コントローラ２０は、下側操作ボタン３４の操作量に応じた振動数および／または振動振幅で振動され、ユーザは、その振動を体感できる。このとき、加速度センサ５４および角速度センサ５６で構成される動きセンサは、振動子８０の駆動に起因するコントローラ２０の振動を検出する。このセンサ出力は、無線通信モジュール７２からゲーム装置１０に送信されて、連射機能を実行させるゲーム操作データとして利用される。
【００４７】
図８は、ゲーム装置の構成を示す。ゲーム装置１０は、無線通信モジュール１００、ＵＳＢコネクタ１０１、通信制御部１０２、メイン制御部１０４、ゲーム操作データ供給部１０６、アプリケーション処理部１１０および出力部１１２を備える。本実施例におけるゲーム装置１０の処理機能は、ＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、ゲーム装置１０に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、ゲーム装置１０のＣＰＵが、通信制御部１０２、メイン制御部１０４、ゲーム操作データ供給部１０６、アプリケーション処理部１１０としての機能を実現する。なお、ハードウェアの構成上、ゲーム装置１０は複数のＣＰＵを有してもよい。このような場合、１つのＣＰＵが無線通信モジュール１００の動作を制御する通信制御部１０２として機能し、別のＣＰＵがゲーム装置１０全体の動作を制御するメイン制御部１０４として機能し、別のＣＰＵがゲームアプリケーションを実行するアプリケーション処理部１１０として機能し、また別のＣＰＵがゲーム操作データをアプリケーション処理部１１０に供給するゲーム操作データ供給部１０６として機能してもよい。
【００４８】
通信制御部１０２は、無線通信モジュール１００との間で必要なデータを送受して、無線通信モジュール１００の通信処理を制御し、無線通信モジュール１００は、コントローラ２０の無線通信モジュール７２との間で無線通信を確立する。無線通信モジュール１００および無線通信モジュール７２は、たとえばBluetooth（登録商標）プロトコルによる接続を確立する。コントローラ２０の無線通信モジュール７２からは、所定の周期でゲーム操作データなどのデータが送信され、通信制御部１０２は、無線通信モジュール１００で受信したデータをメイン制御部１０４に供給する。なおＵＳＢコネクタ１０１に、一端がコントローラ２０のＵＳＢコネクタ４６に接続されているＵＳＢケーブルの他端が挿入されている場合には、通信制御部１０２が、ＵＳＢケーブルを介してコントローラ２０との間の通信処理を制御してもよい。
【００４９】
メイン制御部１０４は、コントローラ２０から供給された操作情報およびセンサ情報をゲーム操作データ供給部１０６に供給する。ゲーム操作データ供給部１０６は、受け取った操作情報およびセンサ情報を、ゲーム操作データに変換して、アプリケーション処理部１１０に供給する。ゲーム操作データ供給部１０６は、ユーザから所定の入力があったときに、連射モードにおけるゲーム操作データの生成処理を実行してもよい。たとえばユーザは２つの下側操作ボタン３４ａ、３４ｂを同時押しすることで連射モードへの移行、終了を指示することができ、ゲーム操作データ供給部１０６は、下側操作ボタン３４ａ、３４ｂの同時押しを検出して、連射モード用のゲーム操作データの生成タイミングを判断してもよい。アプリケーション処理部１１０は、ゲーム操作データ供給部１０６から受け取ったゲーム操作データをゲームアプリケーションの処理に反映する。具体的に、アプリケーション処理部１１０は、センサ情報に対応するゲーム操作データを利用して、ゲーム中の連射モードを実行する。
【００５０】
図９は、振動子の駆動に起因するコントローラの動きを検出したセンサ出力を示す。このセンサ出力はＺ軸成分（垂直成分）の加速度センサ出力であってもよく、また他の軸成分の加速度センサ出力であってもよく、さらには角速度センサ出力であってもよい。図９（ａ）は、低い振動数で振動子が駆動されたときのセンサ出力を示し、図９（ｂ）は、相対的に高い振動数で振動子が駆動されたときのセンサ出力を示す。ゲーム操作データ供給部１０６は、このセンサ情報をゲーム操作データに変換してアプリケーション処理部１１０に供給する。
【００５１】
ゲーム操作データ供給部１０６は、たとえばセンサ出力の周期を測定して、連射モードにおける単位時間あたりの仮想弾丸の発射数を決定し、ゲーム操作データとしてアプリケーション処理部１１０に供給してもよい。センサ出力の周期が短いことは、振動子８０が高い振動数で駆動されていることを意味するが、コントローラ２０を激しく振動させ、同時にゲーム中では、連射の単位時間あたりの弾丸の発射数を増やすことで、コントローラ２０の振動と、弾丸の発射数との関係を、ユーザに体感させることができる。すなわち、この場合は、コントローラ２０の振動数が高いほど、ゲームキャラクタが発射する弾丸数が多くなるため、ユーザに対して、激しく弾丸を発射している仮想体験を与えることが可能となる。
【００５２】
またゲーム操作データ供給部１０６は、センサ出力の振幅を測定して、連射モードにおける単位時間あたりの仮想弾丸の発射数を決定し、ゲーム操作データとしてアプリケーション処理部１１０に供給してもよい。センサ出力の振幅が大きいことは、コントローラ２０の動きが大きいことを意味するが、コントローラ２０を大きく振動させ、同時にゲーム中では、連射の単位時間あたりの弾丸の発射数を増やすことで、コントローラ２０の振動と、弾丸の発射数との関係を、ユーザに体感させることができる。すなわち、この場合は、ゲームキャラクタが発射する弾丸数が多いほど、コントローラ２０の振動振幅が大きくなるため、ユーザに対して、激しく弾丸を発射している仮想体験を与えることが可能となる。
【００５３】
なお、ゲーム操作データ供給部１０６は、センサ出力の振幅を測定して、弾丸の飛距離を決定してもよい。すなわち、センサ出力の振幅が大きければ、弾丸の飛距離を長くし、センサ出力の振幅が小さければ、弾丸の飛距離を短くしてもよい。これにより、コントローラ２０の振動と、弾丸の飛距離との関係を、ユーザに体感させることができる。なお、ゲーム操作データ供給部１０６は、センサ出力の周期により単位時間あたりの仮想弾丸の発射数を決定し、同時にセンサ出力の振幅により弾丸の飛距離を決定することも可能である。
【００５４】
図１０は、振動子の振動に起因するコントローラの動きを検出したセンサ出力の具体例を示す。このセンサ出力は、１０ｍ秒ごとに送信されるＸ軸成分の加速度センサ出力を示す。図１１は、図１０に示すセンサ出力を時間軸上にプロットして結んだラインを示す。
【００５５】
ゲーム操作データ供給部１０６は、センサ出力に対して基準値を設定し、センサ出力が基準値以下の値から基準値を超えたこと、またはセンサ出力が基準値より高い値から基準値以下となったことを検出すると、仮想弾丸を発射させるゲーム操作データをアプリケーション処理部１１０に供給してもよい。基準値は所定の固定値であってもよいが、後述するように環境にあわせて設定されてもよい。図１０、図１１の例では、ゲーム操作データ供給部１０６は、基準値をたとえば５１２に設定し、基準値である５１２を超えたときに、一発の仮想弾丸の発射をさせるゲーム操作データを生成して、アプリケーション処理部１１０に供給する。０〜２００ｍ秒までの間でみれば、３０ｍ秒、５０ｍ秒、８０ｍ秒、１１０ｍ秒、１４０ｍ秒、１７０ｍ秒、２００ｍ秒のタイミングで、センサ出力値が５１２以下の値から５１２を超えている。ゲーム操作データ供給部１０６は、基準値を超えたことを判定すると、仮想弾丸を発射させるゲーム操作データを生成する。したがって、この例では、２００ｍ秒の間に、計７発の仮想弾丸が連射されることになる。
【００５６】
なおアプリケーション処理部１１０は、ユーザによる所定の操作ボタン２６の押下操作についてのゲーム操作データを受けると、仮想弾丸を発射するように処理できる。具体的には、所定の操作ボタン２６のオン状態（押下状態）、オフ状態（解放状態）を「０」、「１」の２値信号として扱い、操作ボタン２６の状態がオン状態からオフ状態に遷移するときに仮想弾丸の発射処理を実行する。すなわちアプリケーション処理部１１０は、所定の操作ボタン２６の状態値（操作データ）が「０」から「１」に遷移するときに、仮想弾丸を発射するように処理する。これを利用して、ゲーム操作データ供給部１０６は、基準値以下のセンサ出力を「０」に変換し、基準値よりも高いセンサ出力を「１」に変換して、その変換値をアプリケーション処理部１１０にゲーム操作データとして供給してもよい。アプリケーション処理部１１０は、操作ボタン２６の状態値と同様にセンサ出力の変換値を処理すると、変換値が「０」から「１」に遷移するときに、仮想弾丸を発射するように処理することができる。これにより、センサ出力が基準値以下の値から基準値を超えたときに仮想弾丸が発射されるようになり、短時間で複数発の仮想弾丸を連射することが可能となる。
【００５７】
ゲーム操作データ供給部１０６は、センサ出力が基準値を超えた回数が所定回数になったときに、仮想弾丸を発射させるゲーム操作データを生成してもよい。ゲーム操作データ供給部１０６は、センサ出力が基準値を超えた回数をカウントし、所定回数に１回の割合でゲーム操作データを生成する。これによりゲーム操作データ供給部１０６は、連射速度を調整することが可能となる。
【００５８】
ゲーム操作データ供給部１０６は、送信されてくる操作情報を監視し、下側操作ボタン３４の操作入力が含まれていなかった状態から、下側操作ボタン３４の操作入力がなされたことを判定すると、その直前のセンサ出力を基準値として設定してもよい。すなわちゲーム操作データ供給部１０６は、操作情報の内容を監視して、下側操作ボタン３４の操作により振動が開始されたことを判定すると、振動開始直前のセンサ出力値を基準値として採用する。振動開始前のセンサ出力値を基準として利用することで、その基準値を中心として上下するセンサ出力を取得できることが期待できる。
【００５９】
またゲーム操作データ供給部１０６は、下側操作ボタン３４の操作入力がなかった状態から操作入力がなされたことを検出すると、その後の所定数のセンサ出力の平均値を算出して、その平均値を基準値として採用してもよい。図１０、図１１を参照して、ゲーム操作データ供給部１０６は、振動開始から５０ｍ秒までのたとえば５回分のセンサ出力値を平均し（(502+512+515+502+514)/5）、平均値５０９を基準値として設定する。振動中のセンサ出力値をもとに基準値を求めることで、コントローラ２０の姿勢などの実際の使用環境に即した基準値を設定することが可能となる。
【００６０】
なお、設定した基準値に対して、センサ出力が所定回数連続して高い場合、または低い場合には、ゲーム操作データ供給部１０６は基準値を変更してもよい。たとえば１０回連続してセンサ出力が基準値よりも高いような場合には、設定した基準値が低すぎることが分かる。したがってゲーム操作データ供給部１０６は、センサ出力が基準値に対して連続して高くなるまたは低くなる回数をカウントし、そのカウント数が所定回数に到達したときに、基準値を変更する。ゲーム操作データ供給部１０６は、所定数のセンサ出力値を平均して基準値を再設定してもよく、また設定されている基準値に所定値を加算または減算することで、基準値を再設定してもよい。
【００６１】
なお図１０、図１１にはＸ軸の加速度成分を示したが、ゲーム操作データ供給部１０６は、別軸の加速度成分を利用してゲーム操作データを生成してもよい。またゲーム操作データ供給部１０６は複数軸の加速度成分を利用してゲーム操作データを生成してもよい。たとえばゲーム操作データ供給部１０６は、Ｘ軸とＹ軸の加速度成分から基準値を超えたタイミングを判定し、両軸において判定されたタイミングが一致した場合に、ゲーム操作データを生成してもよい。
【００６２】
ゲーム操作データ供給部１０６は、基準値からのふれ具合によって、仮想弾丸の威力を変化させてもよい。たとえば、ゲーム操作データを生成するタイミングで、（センサ出力値−基準値）の絶対値が所定値以上である場合には、仮想弾丸の威力が通常よりも高くなるゲーム操作データを生成してもよい。
【００６３】
アプリケーション処理部１１０は、ゲーム操作データをゲームキャラクタの動作に反映した画像信号、音声信号を生成し、出力部１１２から画像表示装置３および音声出力装置４のそれぞれに供給する。具体的にアプリケーション処理部１１０は、ゲーム操作データからゲーム中の仮想弾を連射させる画像信号、音声信号を生成し、画像表示装置３、音声出力装置４のそれぞれに供給する。このようにアプリケーション処理部１１０は、コントローラ２０の振動の振動数や振幅に対応して、ゲーム中の連射速度や弾丸の到達距離を調整したゲーム画像信号およびゲーム音声信号を生成し、コントローラ２０の現実の振動と、ゲーム中の連射速度とを融合した新しいゲームの世界観を実現する。これにより、連射時にはコントローラ２０が振動し、また連射を終了するとコントローラ２０の振動が停止するゲームを実現できる。
【００６４】
なお、以上はシューティングゲームにおける処理について説明したが、センサ出力は、たとえば格闘ゲームにおいて、キャラクタのパンチやキックの繰り出し数や、パンチの威力などに反映されてもよい。具体的には、センサ出力の周期が短ければ、パンチやキックの繰り出し数を多くし、センサ出力の周期が長ければ、パンチやキックの繰り出し数を少なくする。このとき同時に、センサ出力の振幅が大きければ、パンチやキックの威力を大きくし、振幅が小さければ、威力を小さくしてもよい。
【００６５】
本実施例では下側操作ボタン３４に対して、振動子８０を駆動させるスイッチとしての機能を割り当てているが、この割り当ては、ゲーム装置１０により制御されてもよい。たとえば、ゲーム中で連射が可能になったとき、ゲーム装置１０は、下側操作ボタン３４への操作入力が振動制御部７０に直接供給されるようにコントローラ２０内部の入出力パスを設定してもよい。ゲーム中で連射が実行できないときは、下側操作ボタン３４への操作入力は、他の操作ボタンへの操作入力と同様に扱われる。
【００６６】
たとえばアプリケーション処理部１１０は、アプリケーションの進行状況により、連射機能が実現可能か否かを判断し、可能である場合に、コントローラ２０における下側操作ボタン３４から振動制御部７０へのパスを繋げるように制御する。また同様に、連射機能を実行しないときには、下側操作ボタン３４から振動制御部７０へのパスを遮断する。コントローラ２０は、各操作ボタンの接続パスを規定するレジスタマップを複数種類有し、アプリケーション処理部１１０が、このレジスタマップの切替をコントローラ２０のメイン制御部５０に指示することにより、コントローラ２０におけるパス制御が実行される。
【００６７】
このようにしてゲーム装置１０は、連射可能か否かの状況を認識することで、ゲーム操作データ供給部１０６は、連射可能な期間に送信されるセンサ情報を、連射用の入力として利用することができる。一方、ゲーム操作データ供給部１０６は、連射モードにない期間に送信されるセンサ情報を破棄してもよい。
【００６８】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。たとえば、実施例では２つの振動子８０が存在する場合について示したが、振動子８０の数は１つであっても、３つ以上であってもよい。
【００６９】
コントローラ２０の振動は、下側操作ボタン３４による操作量に応じて実行されるが、下側操作ボタン３４の押し込み量が最大とはならない位置で、コントローラ２０の振動が最大となるように構成されてもよい。たとえばコントローラ２０の固有振動数と一致する振動数を、下側操作ボタン３４の押し込み位置の中間地点に設定することで、ユーザが下側操作ボタン３４を中間地点まで押し下げたときに最大の振動が得られるように構成することが可能である。
【００７０】
図１２は、ゲーム装置の構成の変形例を示す。上記した実施例においては、駆動制御信号がコントローラ２０内で生成されることとしたが、図１２に示すゲーム装置１０は、コントローラ２０から供給される操作情報から、駆動制御信号を生成する機能をもつ。図８に示すゲーム装置１０の構成と比較すると、図１２に示すゲーム装置１０は、振動制御信号を生成する振動制御信号生成部１０８を備える点で相違する。
【００７１】
アプリケーション処理部１１０は、ゲーム操作データ供給部１０６より所定の操作ボタンの操作情報を受け付けると、振動制御信号生成部１０８に、振動制御信号を生成するよう指示する。この所定の操作ボタンは、アプリケーション処理部１１０により振動子８０を駆動させるためのスイッチとして割り当てられたボタンであり、たとえばアナログ入力を可能とする下側操作ボタン３４であってよい。この変形例では、コントローラ２０において、下側操作ボタン３４への操作入力が、他の操作ボタンの操作情報とともに、無線通信モジュール７２からゲーム装置１０に送信される。下側操作ボタン３４の操作情報は、無線通信モジュール１００、通信制御部１０２、メイン制御部１０４およびゲーム操作データ供給部１０６を経由して、アプリケーション処理部１１０に供給される。
【００７２】
振動制御信号生成部１０８は、アプリケーション処理部１１０からの指示により振動制御信号を生成し、メイン制御部１０４に供給する。通信制御部１０２は、メイン制御部１０４から振動制御信号を受け取ると、無線通信モジュール１００からコントローラ２０に振動制御信号を送信させる。
【００７３】
コントローラ２０において、メイン制御部５０が振動制御信号を受け取ると、振動制御部７０に供給する。この変形例においては、振動制御部７０は、自ら振動制御信号を生成することなく、ゲーム装置１０から送られる振動制御信号を利用して、振動子８０を駆動する。実施例で説明したように、動きセンサで検出されたセンサ情報は、周期的に無線通信モジュール７２よりゲーム装置１０に送信される。振動制御信号生成部１０８が振動子８０を駆動する振動制御信号を生成する間、送信されるセンサ情報は、連射用の入力としてアプリケーション処理部１１０により処理される。
【００７４】
図１３は、動きセンサの出力をフィルタ処理するフィルタ回路を示す。フィルタ回路９２は、加速度センサ５４および角速度センサ５６と、ＡＤＣ６０の間に配置される。フィルタ回路９２は、所定のカットオフ周波数をもつＬＰＦ９６ａと、所定の通過帯域をもつＢＰＦ９６ｂを、スイッチ９４により選択的に利用可能に構成される。たとえばＬＰＦ９６ａは１５Ｈｚのカットオフ周波数をもち、ＢＰＦ９６ｂは、１５Ｈｚ以上の所定の範囲内の通過帯域を有して構成されてよい。また、スイッチ９４は、ＬＰＦ９６ａおよびＢＰＦ９６ｂを経由しないバイパス経路９６ｃを選択することも可能である。
【００７５】
ユーザがコントローラ２０を動かしたときの動きセンサの出力をゲーム操作データとして利用する場合、メイン制御部５０は、スイッチ９４によりセンサ出力をＬＰＦ９６ａに接続する。たとえば、コントローラ２０を自動車のハンドルに見立てて、コントローラ２０を動かすような場合である。このとき、ユーザによりコントローラ２０に与えられる振動数は、大体１５Ｈｚ程度が上限と考えられるため、センサ出力をＬＰＦ９６ａでフィルタ処理することで、ユーザの動作に起因するコントローラ２０の動きを適切に抽出することが可能となる。なお、振動子８０を駆動していない場合には、メイン制御部５０が、スイッチ９４によりセンサ出力をバイパス経路９６ｃに接続してもよい。
【００７６】
一方、振動子８０の駆動に起因するコントローラ２０の動きを抽出する場合、メイン制御部５０は、スイッチ９４によりセンサ出力をＢＰＦ９６ｂに接続する。振動子８０の駆動に起因してコントローラ２０が振動する場合、コントローラ２０の振動数は１５Ｈｚよりも高くなる。そこで、センサ出力をＢＰＦ９６ｂでフィルタ処理することで、ユーザの動作に起因するコントローラ２０の動き成分を除去して、振動子８０の駆動に起因するコントローラ２０の動きを適切に抽出することが可能となる。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施例にかかるゲームシステムの使用環境を示す図である。
【図２】コントローラの外観構成を示す図である。
【図３】コントローラの背面側の外観構成を示す図である。
【図４】コントローラの側面側の外観構成を示す図である。
【図５】コントローラの上側筐体を外して、下側筐体に固定される基板および振動子を露出させた状態を示す図である。
【図６】コントローラの内部構成を示す図である。
【図７】（ａ）は、操作ボタンの操作量と振動子に供給する駆動電圧の関係を示し、（ｂ）は、操作ボタンの操作量と、振動子に供給するＰＷＭ信号のデューティ比の関係を示す図である。
【図８】ゲーム装置の構成を示す図である。
【図９】振動子の駆動に起因するコントローラの動きを検出したセンサ出力を示す図である。
【図１０】振動子の振動に起因するコントローラの動きを検出したセンサ出力の具体例を示す図である。
【図１１】図１０に示すセンサ出力を時間軸上にプロットして結んだラインを示す図である。
【図１２】ゲーム装置の構成の変形例を示す図である。
【図１３】動きセンサの出力をフィルタ処理するフィルタ回路を示す図である。
【符号の説明】
【００７８】
１・・・ゲームシステム、３・・・画像表示装置、４・・・音声出力装置、１０・・・ゲーム装置、２０・・・コントローラ、３２・・・上側操作ボタン、３４・・・下側操作ボタン、５０・・・メイン制御部、５２・・・入力受付部、５４・・・加速度センサ、５６・・・角速度センサ、５８・・・センサユニット、６０・・・ＡＤＣ、６２・・・アナログデジタル変換装置、６４・・・メモリ、６６・・・読出部、６８・・・通信制御部、７０・・・振動制御部、７２・・・無線通信モジュール、８０・・・振動子、８２・・・モータ、８４・・・締結爪、８６・・・偏心部材、８８・・・基板、９０・・・処理部、１００・・・無線通信モジュール、１０２・・・通信制御部、１０４・・・メイン制御部、１０６・・・ゲーム操作データ供給部、１０８・・・振動制御信号生成部、１１０・・・アプリケーション処理部、１１２・・・出力部。
【図１】
0005100324.tif 000002
【図２】
0005100324.tif 000003
【図３】
0005100324.tif 000004
【図４】
0005100324.tif 000005
【図５】
0005100324.tif 000006
【図６】
0005100324.tif 000007
【図７】
0005100324.tif 000008
【図８】
0005100324.tif 000009
【図９】
0005100324.tif 000010
【図１０】
0005100324.tif 000011
【図１２】
0005100324.tif 000012
【図１３】
0005100324.tif 000013
【図１１】
0005100324.tif 000014