(57)【要約】      （修正有）【課題】ゲームの処理に応じて異なる振動のフィードバックを行うゲームシステムを提供する。【解決手段】ゲームシステム１は、操作部３０１，４０１と、操作部３０１，４０１への操作に基づいてゲーム処理を行うゲーム処理部２０３と、ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成し、ゲーム処理に基づいて第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する波形情報生成部２０２と、第１の振動波形情報と第２の振動波形情報に基づいて、第１の振動波形と第２の振動波形の合成波形に応じた振動をする振動部３０２，４０２とを備える。【選択図】図１１
2018110654.tif 000002
【特許請求の範囲】
【請求項１】
操作部と、
前記操作部への操作に基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成部と、
前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成部と、
前記第１の振動波形情報と前記第２の振動波形情報に基づいて、前記第１の振動波形と前記第２の振動波形の合成波形に応じた振動をする振動部と、
を備えたゲームシステム。
【請求項２】
前記第１波形情報生成部は、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成し、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させる、請求項１に記載のゲームシステム。
【請求項３】
前記ゲーム処理部は、前記操作部への操作に応じた移動速度で、仮想空間内の所定のオブジェクトを移動させ、
前記第１波形情報生成部は、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成する、請求項２に記載のゲームシステム。
【請求項４】
前記第１波形情報生成部は、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成する、請求項１から３のいずれかに記載のゲームシステム。
【請求項５】
前記第１波形情報生成部は、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成する、請求項１から４のいずれかに記載のゲームシステム。
【請求項６】
操作装置と情報処理装置とを備え、
前記操作装置は、
前記操作部と、
前記振動部と、
前記操作部への操作を示す操作データを前記情報処理装置に送信し、前記情報処理装置から前記第１の振動波形情報および第２の振動波形情報を受信する第１の通信部を備え、
前記情報処理装置は、
前記ゲーム処理部と、
前記第１波形情報生成部と、
前記第２波形情報生成部と、
前記操作データを受信し、かつ前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する第２の通信部を備え、
前記第１の振動波形情報は前記第１の振動波形の周波数と振幅の値を含み、前記第２の振動波形情報は前記第２の振動波形の周波数と振幅の値を含む、請求項１から５のいずれかに記載のゲームシステム。
【請求項７】
前記操作装置を２つ備え、
前記第２の通信部は、２つの前記操作装置の各々の前記第１の通信部との間で送受信を行う、請求項６に記載のゲームシステム。
【請求項８】
情報処理装置に、
操作装置から操作データを受信する受信ステップと、
前記操作データに基づいてゲーム処理を行うゲーム処理ステップと、
前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成ステップと、
前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成ステップと、
前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する送信ステップと、
を実行させるゲームプログラム。
【請求項９】
前記第１波形情報生成ステップは、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成ステップは、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成し、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させる、請求項８に記載のゲームプログラム。
【請求項１０】
前記ゲーム処理ステップは、前記操作データに応じた移動速度で、仮想空間内の所定のオブジェクトを移動させ、
前記第１波形情報生成ステップは、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成ステップは、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成する、請求項９に記載のゲームプログラム。
【請求項１１】
前記第１波形情報生成ステップは、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成ステップは、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成する、請求項８から１０のいずれかに記載のゲームプログラム。
【請求項１２】
前記第１波形情報生成ステップは、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成ステップは、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成する、請求項８から１１のいずれかに記載のゲームプログラム。
【請求項１３】
操作装置から操作データを受信する受信部と、
銭操作データに基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成部と、
前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成部と、
前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する送信部と、
を備えたゲーム装置。
【請求項１４】
前記第１波形情報生成部は、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成し、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させる、請求項１３に記載のゲーム装置。
【請求項１５】
前記ゲーム処理部は、前記操作部への操作に応じた移動速度で、仮想空間内の所定のオブジェクトを移動させ、
前記第１波形情報生成部は、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成する、請求項１４に記載のゲーム装置。
【請求項１６】
前記第１波形情報生成部は、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成する、請求項１３から１５のいずれかに記載のゲーム装置。
【請求項１７】
前記第１波形情報生成部は、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成し、かつ／または、前記第２波形情報生成部は、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成する、請求項１３から１６のいずれかに記載のゲーム装置。
【請求項１８】
操作装置においてプレイヤの操作を受け付ける操作受付ステップと、
前記操作に基づいてゲーム処理を行うゲーム処理ステップと、
前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成ステップと、
前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成ステップと、
前記第１の振動波形情報と前記第２の振動波形情報に基づいて、前記第１の振動波形と前記第２の振動波形の合成波形に応じて前記操作装置を振動させる振動ステップと、
を含むゲーム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、触覚によるフィードバック機能を有するゲームシステムおよびゲームプログラム等に関する。
【背景技術】
【０００２】
従来から、触覚によるフィードバック機能を有するゲームシステムが知られていた。特許文献１は、モニタに接続されたゲーム装置と、ゲーム装置に操作指示を与えるコントローラからなるゲームシステムを開示している。コントローラには、バイブレータが内蔵されており、バイブレータを駆動することによってコントローラを振動させる。この構成により、特許文献１では、モニタ上でオブジェクトを視認できない状態において、触覚刺激によって非表示のオブジェクトをユーザに推測させるゲームを実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されたゲームシステムは、バイブレータをＯＮ／ＯＦＦすることによってコントローラの振動を制御するものである。本発明は、うなりを利用した振動感覚をプレイヤに与えることができるゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様のゲームシステムは、操作部と、前記操作部への操作に基づいてゲーム処理を行うゲーム処理部と、前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成部と、前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成部と、前記第１の振動波形情報と前記第２の振動波形情報に基づいて、前記第１の振動波形と前記第２の振動波形の合成波形に応じた振動をする振動部とを備えている。
【０００６】
この構成により、振動部は、第１の振動波形と、第１の振動波形とは周波数が異なる第２の振動波形との合成波形に応じた振動をするので、この周波数の差によるうなりを生じさせることができる。
【０００７】
前記第１波形情報生成部は、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成してよく、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させてよい。
【０００８】
この構成により、第１の振動波形と第２の振動波形との周波数の差が変化するので、うなりの周波数を変化させることができる。
【０００９】
前記ゲーム処理部は、前記操作部への操作に応じた移動速度で、仮想空間内の所定のオブジェクトを移動させてよく、前記第１波形情報生成部は、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成してよい。
【００１０】
この構成により、仮想空間内の所定のオブジェクトの移動速度に応じてうなりの周波数を変化させることができる。
【００１１】
前記第１波形情報生成部は、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成してよい。
【００１２】
この構成により、第１の振動波形および第２の振動波形に基づく振動を持続することによってプレイヤに与える不快感を減少させることができ、かつ、ゲーム処理に基づいて第１の振動波形および第２の振動波形とは異なる第３の振動波形を合成した場合に、当該第３の振動波形による振動感覚をプレイヤが感じ易くできる。
【００１３】
前記第１波形情報生成部は、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成してよい。
【００１４】
この構成により、振動部による十分な振動が実現され、うなりを感じ易くできる。
【００１５】
上記のゲームシステムは、操作装置と情報処理装置とを備えていてよく、前記操作装置は、前記操作部と、前記振動部と、前記操作部への操作を示す操作データを前記情報処理装置に送信し、前記情報処理装置から前記第１の振動波形情報および第２の振動波形情報を受信する第１の通信部を備えていてよく、前記情報処理装置は、前記ゲーム処理部と、前記第１波形情報生成部と、前記第２波形情報生成部と、前記操作データを受信し、かつ前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する第２の通信部を備えていてよく、前記第１の振動波形情報は前記第１の振動波形の周波数と振幅の値を含み、前記第２の振動波形情報は前記第２の振動波形の周波数と振幅の値を含む。
【００１６】
この構成により、操作装置を簡易な構成にできるとともに、情報処理装置から操作装置に送信される振動波形情報が周波数と振幅の値で表されるので、送信されるデータ量を小さくすることができる。
【００１７】
前記操作装置を２つ備えていてよく、前記第２の通信部は、２つの前記操作装置の各々の前記第１の通信部との間で送受信を行ってよい。
【００１８】
この構成により、左右それぞれの手で操作装置をもってゲームをプレイすることができ、左右それぞれの手で振動感覚を感じることができる。
【００１９】
本発明の一態様のゲームプログラムは、情報処理装置に、操作装置から操作データを受信する受信ステップと、前記操作データに基づいてゲーム処理を行うゲーム処理ステップと、前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成ステップと、前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成ステップと、前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する送信ステップとを実行させる。
【００２０】
この構成により、互いに周波数の異なる第１の振動波形と第２の振動波形とをそれぞれ表す振動波形情報を操作装置に送信するので、操作装置では、第１の振動波形と第２の振動波形とを合成した合成波形によって振動部を振動させることにより、うなりを生じさせることができる。
【００２１】
前記第１波形情報生成ステップは、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成ステップは、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成してよく、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させてよい。
【００２２】
この構成により、第１の振動波形と第２の振動波形との周波数の差が変化するので、うなりの周波数を変化させることができる。
【００２３】
前記ゲーム処理ステップは、前記操作データに応じた移動速度で、仮想空間内の所定のオブジェクトを移動させてよく、前記第１波形情報生成ステップは、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成ステップは、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成してよい。
【００２４】
この構成により、仮想空間内の所定のオブジェクトの移動速度に応じてうなりの周波数を変化させることができる。
【００２５】
前記第１波形情報生成ステップは、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成ステップは、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成してよい。
【００２６】
この構成により、第１の振動波形および第２の振動波形に基づく振動を持続することによってプレイヤに与える不快感を減少させることができ、かつ、ゲーム処理に基づいて第１の振動波形および第２の振動波形とは異なる第３の振動波形を合成した場合に、当該第３の振動波形による振動感覚をプレイヤが感じ易くできる。
【００２７】
前記第１波形情報生成ステップは、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成ステップは、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成してよい。
【００２８】
この構成により、振動部による十分な振動が実現され、うなりを感じ易くできる。
【００２９】
本発明の一態様のゲーム装置は、操作装置から操作データを受信する受信部と、前記操作データに基づいてゲーム処理を行うゲーム処理部と、前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成部と、前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成部と、前記第１の振動波形情報および第２の振動波形情報を前記操作装置に送信する送信部とを備える。
【００３０】
この構成により、互いに周波数の異なる第１の振動波形と第２の振動波形とをそれぞれ表す２つの振動波形情報を操作装置に送信するので、操作装置では、第１の振動波形と第２の振動波形とを合成した合成波形によって振動部を振動させることにより、うなりを生じさせることができる。
【００３１】
前記第１波形情報生成部は、第１の振動波形の周波数が変化するように前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、第２の振動波形の周波数が変化するように前記第２の振動波形情報を生成してよく、これによって、前記第１の振動波形の周波数と前記第２の振動波形の周波数との差を変化させてよい。
【００３２】
この構成により、第１の振動波形と第２の振動波形との周波数の差が変化するので、うなりの周波数を変化させることができる。
【００３３】
前記ゲーム処理部は、前記操作部への操作に応じた移動速度で、仮想空間内の所定のオブジェクトを移動させてよく、前記第１波形情報生成部は、前記移動速度に応じて前記第１の振動波形の周波数が変化する前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、前記移動速度に応じて前記第２の振動波形の周波数が変化する前記第２振動波形情報を生成してよい。
【００３４】
この構成により、仮想空間内の所定のオブジェクトの移動速度に応じてうなりの周波数を変化させることができる。
【００３５】
前記第１波形情報生成部は、時間経過に応じて前記第１の振動波形の振動波形の振幅を減少させるように前記第１振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、時間経過に応じて前記第２の振動波形の振動波形の振幅を減少させるように前記第２振動波形情報を生成してよい。
【００３６】
この構成により、第１の振動波形および第２の振動波形に基づく振動を持続することによってプレイヤに与える不快感を減少させることができ、かつ、ゲーム処理に基づいて第１の振動波形および第２の振動波形とは異なる第３の振動波形を合成した場合に、当該第３の振動波形による振動感覚をプレイヤが感じ易くできる。
【００３７】
前記第１波形情報生成部は、前記第１の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第１の振動波形情報を生成してよく、かつ／または、前記第２波形情報生成部は、前記第２の振動波形の周波数が前記振動部の共振周波数の半値幅内となる前記第２の振動波形情報を生成してよい。
【００３８】
この構成により、振動部による十分な振動が実現され、うなりを感じ易くできる。
【００３９】
本発明の一態様のゲーム方法は、操作装置においてプレイヤの操作を受け付ける操作受付ステップと、前記操作に基づいてゲーム処理を行うゲーム処理ステップと、前記ゲーム処理に基づいて所定の周波数の第１の振動波形を表す第１の振動波形情報を生成する第１波形情報生成ステップと、前記ゲーム処理に基づいて前記第１の振動波形とは周波数の異なる第２の振動波形を表す第２の振動波形情報を生成する第２波形情報生成ステップと、前記第１の振動波形情報と前記第２の振動波形情報に基づいて、前記第１の振動波形と前記第２の振動波形の合成波形に応じて前記操作装置を振動させる振動ステップとを含む。
【００４０】
この構成により、振動ステップは、第１の振動波形と、第１の振動波形とは周波数が異なる第２の振動波形との合成波形に応じて操作装置を振動させるので、この周波数の差によるうなりを生じさせることができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態の本体装置に左コントローラおよび右コントローラを装着した状態を示す図
【図２】本発明の実施の形態の本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の一例を示す図
【図３】本発明の実施の形態の本体装置の一例を示す六面図
【図４】本発明の実施の形態の左コントローラの一例を示す六面図
【図５】本発明の実施の形態の右コントローラの一例を示す六面図
【図６】本発明の実施の形態の本体装置の内部構成の一例を示すブロック図
【図７】本発明の実施の形態の本体装置と左コントローラおよび右コントローラとの内部構成の一例を示すブロック図
【図８】本発明の実施の形態の左コントローラおよび右コントローラを本体装置に外した状態でゲームを行う様子の一例を示す図
【図９】本発明の実施の形態の左コントローラから出力される操作データの一例を示す図
【図１０】本発明の実施の形態の右コントローラから出力される操作データの一例を示す図
【図１１】本発明の実施の形態のゲームシステム１の構成を示すブロック図
【図１２】本発明の実施の形態の本体装置とコントローラの動作のフロー図
【図１３Ａ】本発明の実施の形態のゲームの画面の一例を示す図
【図１３Ｂ】本発明の実施の形態のゲームの画面の一例を示す図
【図１４Ａ】本発明の実施の形態のゲーム処理によるバイクオブジェクトの仮想空間内での移動速度の時間変化の例を示すグラフ
【図１４Ｂ】本発明の実施の形態の第１および第２の振動波形の振幅の時間変化の例を示すグラフ
【図１４Ｃ】本発明の実施の形態の第１および第２の振動波形の周波数の時間変化の例を示すグラフ
【図１５Ａ】本発明の実施の形態のゲーム処理によるバイクオブジェクトの仮想空間内での移動速度の時間変化の例を示すグラフ
【図１５Ｂ】本発明の実施の形態の第１および第２の振動波形の振幅の時間変化の例を示すグラフ
【図１５Ｃ】本発明の実施の形態の第１および第２の振動波形の周波数の時間変化の例を示すグラフ
【図１６Ａ】本発明の実施の形態のゲーム処理によるバイクオブジェクトの仮想空間内での移動速度の時間変化の例を示すグラフ
【図１６Ｂ】本発明の実施の形態の第１および第２の振動波形の振幅の時間変化の例を示すグラフ
【図１６Ｃ】本発明の実施の形態の第１および第２の振動波形の周波数の時間変化の例を示すグラフ
【発明を実施するための形態】
【００４２】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム１の一例は、本体装置（情報処理装置；本実施形態ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。以下では、まず本実施形態のゲームシステムのハードウェア構成について説明し、その後に本実施形態のゲームシステムの制御について説明する。
【００４３】
（本体装置、左コントローラ、右コントローラの説明）
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００４４】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００４５】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施形態において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００４６】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００４７】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施形態においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００４８】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施形態においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４９】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００５０】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００５１】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、記憶媒体を装着可能な形状を有する。記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００５２】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。本実施形態において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００５３】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施形態においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５４】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２が、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック３２を押下する入力が可能である。
【００５５】
左コントローラ３は、各種操作ボタンを備える。まず、左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）を備える。さらに、録画ボタン３７、−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面の、本体装置２に装着される際に装着される側の面に第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００５６】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００５７】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施形態においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００５８】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施形態においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）を備える。さらに、＋（プラス）ボタン５７、ホームボタン５８を備える。また、右コントローラ４は、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００５９】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００６０】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９８を備える。これらの構成要素８１〜９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００６１】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１を備える。ＣＰＵ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、厳密にはＣＰＵ機能、ＧＰＵ機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）である。ＣＰＵ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００６２】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、ＣＰＵ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００６３】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。スロットＩ／Ｆ９１は、ＣＰＵ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。
【００６４】
ＣＰＵ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００６５】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、ＣＰＵ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施形態においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００６６】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、ＣＰＵ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施形態においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００６７】
ＣＰＵ８１は、上述の左側端子１７、右側端子２１、および、下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、ＣＰＵ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００６８】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ３および複数の右コントローラ４を用いて本体装置２に対する入力を行うことができる。
【００６９】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とＣＰＵ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ８１へ出力する。
【００７０】
また、ディスプレイ１２は、ＣＰＵ８１に接続される。ＣＰＵ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００７１】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、ＣＰＵ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００７２】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００７３】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００７４】
上記の加速度センサ８９および角速度センサ９０は、ＣＰＵ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、ＣＰＵ８１へ出力される。ＣＰＵ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００７５】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびＣＰＵ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００７６】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００７７】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００７８】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施形態においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００７９】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００８０】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、４６、４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００８１】
左コントローラ３は、慣性センサを備える。具体的には、加速度センサ１０４を備える。また、角速度センサ１０５を備える。本実施形態においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００８２】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００８３】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００８４】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施形態においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００８５】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅、周波数で振動をさせることができる。本実施形態において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、波形そのものを示す情報を送信するようにしてもよいが、振幅と周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅と周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅と周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅と周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅と周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅と周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００８６】
左コントローラ３は、電力供給部１０８を備える。本実施形態において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００８７】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００８８】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００８９】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７およびコーデック部１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。
【００９０】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００９１】
（各コントローラを用いたゲーム制御）
本実施形態では、ユーザは、ゲームシステム１を用いて所定のゲームを行う。例えば、ユーザは、本体装置２のディスプレイ１２に表示されたプレイヤキャラクタをゲーム空間内で移動させ、所定の敵キャラクタと対戦するゲームを行う。なお、本実施形態では、ユーザは、１人でゲームを行うこともできるし、複数人でゲームを行うこともできる。ユーザが１人でゲームを行う場合、ユーザは、自身のプレイヤキャラクタオブジェクトＰをゲーム空間内で移動させ、本体装置２によって制御される敵キャラクタ（ノンプレイヤキャラクタ）と対戦する。複数人でゲームを行う場合、複数の本体装置２が互いに通信（例えば無線通信、ＬＡＮを介した通信、または、インターネットを介した通信）を行い、各ユーザが自身のプレイヤキャラクタを操作して対戦する。
【００９２】
本実施形態においては、ユーザは、左コントローラ３および右コントローラ４を本体装置２から外した状態でゲームシステム１を利用することが可能である。図８は、１人のユーザが左コントローラ３を左手に把持して、右コントローラ４を右手に把持してゲームシステム１を利用する様子の一例を示す図である。この場合、図８に示すように、左コントローラ３と右コントローラ４との位置関係が固定されておらず、両コントローラ３，４を自由に動かすことができる。なお、ユーザは、本体装置２に装着した左コントローラ３および右コントローラ４を用いてゲーム操作を行うことも可能であるが、本明細書では説明を割愛する。
【００９３】
（各コントローラから出力される操作データ）
次に、各コントローラから出力される操作データについて説明する。これらのコントローラから出力される操作データは、本体装置２によって取得され、例えばＤＲＡＭ８５等のメモリに格納される。図９は、左コントローラ３から出力される操作データの一例を示す図である。図１０は、右コントローラ４から出力される操作データの一例を示す図である。
【００９４】
図９に示されるように、左コントローラ３から出力される操作データＤ３００には、加速度データＤ３０１と、角速度データＤ３０２と、左スティックデータＤ３０３と、各ボタンデータＤ３０４とが含まれる。図９に示される操作データＤ３００は、所定の時間間隔（例えば、１／２００秒間隔）で左コントローラ３から本体装置２に出力される。なお、左コントローラ３が携帯機コントローラ１００として構成される場合も、無線コントローラ３００として構成される場合も、図９に示される操作データＤ３００が本体装置２に出力される。
【００９５】
加速度データＤ３０１は、加速度センサ１０４によって検出された加速度の値を示すデータである。角速度データＤ３０２は、角速度センサ１０５によって検出された角速度の値を示すデータである。
【００９６】
左スティックデータＤ３０３は、アナログスティック３２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック３２は、スティック部材に対する押下入力も行うことができる入力部である。左スティックデータＤ３０３には、アナログスティック３２に対して押下入力が行われたか否かを示すデータも含まれる。
【００９７】
各ボタンデータＤ３０４には、左コントローラ３の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮまたはＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータ３０４には、操作ボタン３３〜３６が押下されたか否かを示すデータ、録画ボタン３７が押下されたか否かを示すデータ、第１Ｌボタン３８が押下されたか否かを示すデータ、ＺＬボタン３９が押下されたか否かを示すデータ、および、−ボタン４７が押下されたか否かを示すデータが含まれる。
【００９８】
また、図１０に示されるように、右コントローラ４から出力される操作データＤ４００には、加速度データＤ４０１と、角速度データＤ４０２と、右スティックデータＤ４０３と、各ボタンデータＤ４０４とが含まれる。図１０に示される操作データＤ４００は、所定の時間間隔（例えば、１／２００秒間隔）で右コントローラ４から本体装置２に出力される。なお、右コントローラ４が、携帯機コントローラ１００として構成される場合も、無線コントローラ３００として構成される場合も、図１０に示される操作データＤ４００が本体装置２に出力される。
【００９９】
加速度データＤ４０１は、加速度センサ１１４によって検出された加速度の値を示すデータである。角速度データＤ４０２は、角速度センサ１１５によって検出された角速度の値を示すデータである。
【０１００】
右スティックデータＤ４０３は、アナログスティック５２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック５２は、スティック部材に対する押下入力も行うことができる入力部である。右スティックデータＤ４０３には、アナログスティック５２に対して押下入力が行われたか否かを示すデータも含まれる。
【０１０１】
各ボタンデータＤ４０４には、右コントローラ４の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮまたはＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータＤ４０４には、操作ボタン５３〜５６が押下されたか否かを示すデータ、ホームボタン５８が押下されたか否かを示すデータ、第１Ｒボタン６０が押下されたか否かを示すデータ、ＺＲボタン６１が押下されたか否かを示すデータ、および、＋ボタン５７が押下されたか否かを示すデータが含まれる。
【０１０２】
（ゲーム処理および振動制御）
図１１は、本実施形態のゲームシステム１の構成を示すブロック図である。なお、図１１では、本実施の形態のゲーム処理の説明に必要な要素のみを示している。ゲームシステム１は、操作装置としての左コントローラ３と、もう一つの操作装置としての右コントローラ４と、ゲーム装置としての本体装置２とを備える。
【０１０３】
左コントローラ３は、操作部３０１と、振動部３０２と、通信部３０３とを備え、右コントローラ４は、操作部４０１と、振動部４０２と、通信部４０３とを備える。操作部３０１は、上記のアナログスティック３２および各ボタン３３〜３９に相当し、操作部４０１は、上記のアナログスティック５２および各ボタン５３〜６１に相当する。プレイヤは、操作部３０１を操作することで左コントローラ３に操作入力を行い、操作部４０１を操作することで右コントローラ４に操作入力を行う。
【０１０４】
受信部兼送信部としての通信部３０３は、本体装置２と通信を行うものであり、通信制御部１０１に相当し、受信部兼送信部としての通信部４０３は、本体装置２と通信を行うものであり、通信制御部１１１に相当する。
【０１０５】
操作部３０１，４０１は、それぞれプレイヤからの操作を受けて、これを操作データとして通信部３０３，４０３に出力する。通信部３０３，４０３は、操作データを本体装置２に送信する。本体装置２の通信部２０１は、左コントローラ３および右コントローラ４の各々から送信された操作データを受信する。
【０１０６】
振動部３０２は、コーデック部１０６および振動子１０７に相当し、振動部４０２はコーデック部１１６および振動子１１７に相当する。上述のように、振動子１０７，１１７は、リニア振動モータによって構成され、波形信号によって駆動することができる。
【０１０７】
すなわち、従来の振動機構は偏心おもりを回転させることによって振動を発生させていたため、この振動を制御するパラメータは回転数のみであり、複雑な振動をさせることができなかった。本実施の形態の振動部３０２，４０２は、リニア振動モータで構成され波形信号によって駆動されるので、振幅および周波数という２つのパラメータで振動を制御することができ、より複雑な振動をさせることが可能である。
【０１０８】
また、本実施の形態の振動部３０２，４０２は、コーデック部１０６，１１６にて２つの波形信号を合成して合成波形とし、この合成波形によって振動子１０７，１１７を振動させるので、より複雑な（任意の）振動波形で振動をすることが可能である。なお、振動部３０２，４０２の共振周波数は１７５Ｈｚ程度および３００Ｈｚ程度にあるが、本実施の形態では１７５Ｈｚの共振周波数の周辺（半値幅内）の周波数で振動部３０２，４０２を振動させることで、強い振動を発生させる。
【０１０９】
本体装置２は、通信部２０１と、波形情報生成部２０２と、ゲーム処理部２０３とを備える。通信部２０１は、左コントローラ３および右コントローラ４と通信を行うものであり、コントローラ通信部８３に相当する。波形情報生成部２０２およびゲーム処理部２０３は、ＣＰＵ８１がフラッシュメモリ８４に記憶されたゲームプログラムを実行することにより実現される。
【０１１０】
波形情報生成部２０２は、ゲーム処理部２０３でのゲーム処理に応じて振動部３０２，４０２を振動させるための振動波形情報を生成する。波形情報生成部２０２は、振動部３０２を振動させるための左振動波形情報と、振動部３０２を振動させるための右振動波形情報をそれぞれ生成する。左右の振動波形情報は、それぞれ２つの振動波形（第１の振動波形および第２の振動波形）の情報を含む。以下、第１の振動波形を表す振動波形情報を第１の振動波形情報といい、第２の振動波形を表す振動波形情報を第２の振動波形情報という。
【０１１１】
上述のように、振動部３０２および振動部４０２は、第１の振動波形と第２の振動波形とを合成して、合成波形に従って振動する。第１および第２の振動波形情報は、それぞれ周波数と振幅の値を含む。すなわち、本実施の形態のゲームシステム１では、周波数および／または振幅が異なる２つの振動波形の情報を左右それぞれのコントローラに与えることができる。
【０１１２】
本実施の形態のゲームシステム１では、本体装置２で決定された振動波形を周波数と振幅の値で表すデジタル情報としての振動波形情報として左右のコントローラ３，４に送信し、左右のコントローラ３，４において当該デジタル情報としての振動波形情報からアナログの振動波形を生成して振動部３０２，４０２を振動させる。よって、送受信されるデータの量を小さくでき、高フレームレートでの振動制御が可能となる。
【０１１３】
ゲーム処理部２０３は、左コントローラ３および右コントローラ４から受信した操作データに基づいて、ゲームプログラムに従ってゲーム処理を行う。
【０１１４】
図１２は、本体装置２とコントローラの動作のフロー図である。コントローラの操作部３０１，４０１は、プレイヤの操作を受け付けて、その操作内容を示す操作データを生成する（ステップＳ１０１）。コントローラの通信部３０３，４０３は、生成された送信データを本体装置２に送信する（ステップＳ１０２）。
【０１１５】
本体装置２の通信部２０１は、送信されてきた操作データを受信する（ステップＳ２０１）。ゲーム処理部２０３は、操作データに基づいて、ゲームプログラムに従ってゲーム処理を行う（ステップＳ２０２）。波形情報生成部２０２は、ゲーム処理を受けて、ゲーム処理に基づいて第１の振動波形情報を生成し（ステップＳ２０３）、第２の振動波形情報を生成する（ステップＳ２０４）。
【０１１６】
通信部２０１は、生成された第１の振動波形情報および第２の振動波形情報をコントローラに送信する（ステップＳ２０５）。このとき、波形情報生成部２０２が左コントローラ３と右コントローラ４とでそれぞれ異なる振動波形情報を生成した場合には、左コントローラ３に対して、左コントローラ３について生成された第１の振動波形情報と第２の振動波形情報を送信し、右コントローラ４に対して、右コントローラ４について生成された第１の振動波形情報と第２の振動波形情報を送信する。なお、本実施の形態では、左コントローラ３と右コントローラ４について、同じ振動波形情報を生成する。
【０１１７】
コントローラの通信部３０３，４０３は、本体装置２から送信されてきた第１の振動波形情報および第２の振動波形情報を受信する（ステップＳ１０３）。振動部３０３，４０３は、受信した第１の振動波形情報が示す第１の振動波形と、受信した第２の振動波形情報が示す第２の振動波形とを合成して、合成波形を生成し（ステップＳ１０４）、この合成波形によって振動子１０７，１１７を振動させる（ステップＳ１０５）。
【０１１８】
なお、本体装置２は、１／６０秒（約１７ｍｓ）間隔で処理を行い、５ｍｓごとの振動波形情報を生成し、５ｍｓ間隔で振動波形情報をコントローラに送信する。すなわち、本体装置２は、振動波形を定義する最小の単位である５ｍｓをスロットとして、１／６０秒間隔で行われる１回の処理で、３ないし４スロットの振動波形情報を生成する。本体装置２は、１回の振動波形情報の生成処理（ステップＳ２０３，Ｓ２０４）で、複数のスロットについてそれぞれ異なる振動波形情報を生成してもよいし、複数のスロットの振動波形情報をすべて同じとしてもよい。本実施の形態では、本体装置２は、１回の処理で生成する複数のスロットについて、すべて同じ振動波形情報を生成する。
【０１１９】
以下においては、図１３Ａおよび図１３Ｂに示すように、バイクに乗ったプレイヤキャラクタが仮想空間内でバイクを運転して移動するゲームを例として説明する。ゲーム処理部２０３は、左コントローラ３のアナログスティック３２への傾倒操作に従って、プレイヤキャラクタオブジェクトＰの乗ったバイクオブジェクトＢの進行方向を決定し、右コントローラ４のＡボタン５３の押下操作に従って、プレイヤキャラクタオブジェクトＰの乗ったバイクオブジェクトＢを前進させる。このとき、左右のコントローラ３，４の振動部３０２，４０２は、バイクオブジェクトＢのエンジンによる振動を模して振動する。すなわち、波形情報生成部２０２は、プレイヤの操作に基づくゲーム処理に従って振動波形情報を生成し、振動部３０２，４０２は、この振動波形情報に従って振動する。換言すれば、振動部３０２，４０２は、プレイヤの（ゲーム処理のための）操作に応じて振動する。
【０１２０】
図１４Ａは、ゲーム処理によるバイクオブジェクトＢの仮想空間内での移動速度の時間変化の例を示すグラフである。図１４Ｂおよび図１４Ｃは、それぞれゲーム処理によってバイクオブジェクトＢが仮想空間で図１４Ａに示す移動をする際の第１および第２の振動波形の振幅および周波数の時間変化の例を示すグラフである。図１４Ａの例では、時刻ｔ０に静止していたバイクオブジェクトＢがプレイヤの操作に応じて時刻ｔ１１で走行し始める。すなわち、時刻ｔ１１で、バイクオブジェクトＢについて走行するというイベントが発生している。
【０１２１】
この例では、プレイヤは、バイクオブジェクトＢの速度調整はできず、バイクオブジェクトＢの走行というイベントの状態としては、「静止（アイドリング）」か「（一定速度ｖ１での）走行」のいずれかである。プレイヤはＡボタン５３を押し続けることで、「走行」の状態を維持できる。
【０１２２】
プレイヤがＡボタン５３を押下して走行を指示する前には、バイクオブジェクトＢは「静止」状態にあってアイドリングをしている。このアイドリングを模した振動として、バイクオブジェクトＢが静止状態にあるとき（時刻ｔ０からｔ１１の間）には、波形情報生成部２０２は、第１の振動波形を表す第１の振動波形情報と、第１の振動波形と振幅が同じで周波数が異なる第２の振動波形を表す第２の振動波形情報とを生成する。
【０１２３】
具体的には、アイドリング時の第１および第２の振動波形の振幅はいずれもａ１１であり、第１の振動波形ｗ１の周波数はｆ１１であり、第２の振動波形ｗ２の周波数はｆ１２とされる。本実施の形態では、ｆ１１＝１６０Ｈｚであり、ｆ１２＝１６８Ｈｚである。この周波数の差（ｆ１２−ｆ１１＝８Ｈｚ）によって第１の振動波形と第２の振動波形とが干渉し合い、振動部３０２，４０２ではこの周波数の差分の周波数（８Ｈｚ）の振動のうなりが生じる。この８Ｈｚのうなりは、バイクオブジェクトＢのアイドリング時のエンジンの振動に対応づけられる。
【０１２４】
時刻ｔ１１においてバイクオブジェクトＢが「走行」状態になると、第１の振動波形および第２の振動波形の振幅が増大してａ１２（ａ１２＞ａ１１）となり、振動部３０２，４０２は大きな振幅で振動する。周波数については、第２の振動波形ｗ２の周波数がｆ１３にまで増大し、第１の振動波形ｗ１の周波数と第２の振動波形の周波数との差分が増大する。この例では、ｆ１３＝１８０Ｈｚとする。これによって、うなりの周波数も８Ｈｚから２０Ｈｚに増大し、バイクオブジェクトＢのエンジンの振動の周波数がアイドリング時より上がったような演出をすることができる。
【０１２５】
プレイヤが時刻ｔ１１以降もＡボタン５３の押下を継続することで、バイクオブジェクトＢの一定速度での走行状態が持続する。このとき、エンジンの振動を模したうなりの周波数（第１の振動波形ｗ１と第２の振動波形ｗ２との周波数の差）は一定とするが、振幅についてはバイクオブジェクトＢのイベントの状態（移動速度）が一定であるにもかかわらず、振幅を時間経過に伴って減少させる。
【０１２６】
具体的には、波形情報生成部２０２は、第１および第２の振動波形が時間の経過に伴って減衰するように、下式（１）によって振幅ａ（ｔ）を算出する。
ａ（ｔ）＝ａ１２｛１−ｋ１（ｔ−ｔ１１）｝  ・・・（１）
ここで、ｋ１は減衰の速さを表す減衰係数である。
【０１２７】
波形情報生成部２０２は、時間の経過に伴って振幅を減少させて時刻ｔ１２に振幅がａ１３まで減少すると、その後は走行状態が持続している限り振幅ａ１３を維持する。なお、図１４Ｂの例では、振幅ａ１３はアイドリング時の振幅ａ１１より小さく設定されている（ａ１１＞ａ１３）。
【０１２８】
このように、走行の状態が持続する場合に、振動波形の振幅を時間の経過に伴って減少させて、一定値に維持することで、プレイヤはバイクオブジェクトＢが走行状態にあることをコントローラ３，４の振動感覚によって知ることができるとともに、そのような走行状態にある際の他のイベントの発生に伴う振動を発生させた場合に、そのような他のイベント由来の振動が感じ易くなる。
【０１２９】
図１４Ｂの例では、時刻ｔ１３に、バイクオブジェクトＢの付近で爆発というイベントが生じており、コントローラ３，４の振動の演出としては、この爆発によって突発的な振動が与えられる。この爆発という単発のイベントの発生に伴う振動は、所定時間経過後に終了する。図１４Ｂの例では、時刻ｔ１３に爆発イベントによって振幅が増大し、仮想空間内における爆発イベントのエフェクト（映像、音声）が終了する時刻ｔ１４には、この爆発イベント由来の振動も終了する。
【０１３０】
図１５Ａは、ゲーム処理によるバイクオブジェクトＢの仮想空間内での移動速度の時間変化の他の例を示すグラフである。図１５Ｂおよび図１５Ｃは、それぞれゲーム処理によってバイクオブジェクトＢが仮想空間で図１５Ａに示す移動をする際の第１および第２の振動波形の振幅および周波数の時間変化の例を示すグラフである。図１５Ａの例では、時刻ｔ０に静止していたバイクオブジェクトＢがプレイヤの操作に応じて時刻ｔ２１で走行し始める。すなわち、時刻ｔ２１で、バイクオブジェクトＢについて走行するというイベントが発生している。
【０１３１】
図１５Ａの例では、プレイヤがＡボタン５３を押し続けることで、走行というイベントの状態、すなわち移動速度が時刻ｔ２１から時刻ｔ２２にかけて一定の加速度で増加する。時刻ｔ２２に移動速度が上限値である速度ｖ２１に達すると、Ａボタン５３が押下されている間は、速度ｖ２１が維持される。
【０１３２】
図１５Ｂに示すように、波形情報生成部２０２は、バイクオブジェクトＢが加速している間は一定の振幅ａ２２を維持する振動波形を表す振動波形情報を生成する。時刻ｔ２２にバイクオブジェクトＢの速度が上限値ｖ２で一定になると、そこから振幅が時間の経過とともに減少する振動波形を表す振動波形情報を生成する。波形情報生成部２０２は、時間の経過に伴って振幅を減少させて時刻ｔ２３に振幅がａ２３まで減少すると、走行状態が持続している限り振幅ａ２３を維持する。
【０１３３】
図１５Ｃに示すように、波形情報生成部２０２は、時刻ｔ２１に「走行」イベントが発生し、その状態、すなわち移動速度が上昇する時刻ｔ２２までの間は、バイクオブジェクトＢの速度の増加に合わせて、第２の振動波形の周波数を時間の経過に伴ってｆ２２から上昇させることで、第１の振動波形の周波数ｆ２１との差（ｆ２２−ｆ２１）を下式（２）によって増大する。
ｆ（ｔ）＝ｆ２２｛１＋ｋ２（ｔ−ｔ２１）｝  ・・・（２）
ここで、ｋ２は、第２の振動波形の周波数ないし第１の振動波形と第２の振動波形の周波数差の増加速度を表す係数である。これによって、うなりの周波数が増大する。このうなりの周波数の増大は、バイクオブジェクトＢの加速に対応している。
【０１３４】
時刻ｔ２２にバイクオブジェクトＢの速度が上限値ｖ２１に達し、その後上限速度ｖ２を維持すると、第２の振動波形の周波数はｆ２３に達し、その後は、波形情報生成部２０２は、周波数が一定値ｆ２３である第２の振動波形の振動波形情報を生成する。
【０１３５】
図１６Ａは、ゲーム処理によるバイクオブジェクトＢの仮想空間内での移動速度の時間変化のさらに他の例を示すグラフｔである。図１６Ｂおよび図１６Ｃは、それぞれゲーム処理によってバイクオブジェクトＢが仮想空間で図１６Ａに示す移動をする際の第１および第２の振動波形の振幅および周波数の時間変化の例を示すグラフである。
【０１３６】
図１６Ａの例では、バイクオブジェクトＢの「走行」のイベントには、低速ｖ３１と高速ｖ３２の２つの状態が定義されており、時刻ｔ３１から時刻ｔ３２まで、および時刻ｔ３３以降に「走行」というイベントが生じており、時刻ｔ３１〜ｔ３２は、「走行」イベントの状態は「低速」（速度ｖ３１）であり、時刻ｔ３３以降は、「走行」イベントの状態は「高速」である。プレイヤは、右コントローラ３のＡボタン５３を押下することで、低速状態の走行イベントを生じさせ、左コントローラ４のＢボタン５４を押下することで、高速状態の走行イベントを生じさせることができる。
【０１３７】
図１６Ｂに示すように、波形情報生成部２０２は、時刻ｔ３１にバイクオブジェクトＢが低速走行状態（速度ｖ１）になると、振幅をアイドリング時のａ３１からａ３２まで増大させ、その後、低速走行状態が持続すると、徐々に振幅を小さくして、振幅がａ３４まで下がると、その振幅ａ３４を維持するように振動波形情報を生成する。そして、時刻ｔ３２に停止すると、振動波形の振幅をアイドリングの振幅ａ３１に戻し、時刻ｔ３３にバイクオブジェクトＢが高速走行状態（速度ｖ２）になると、振幅をアイドリング時のａ３１からａ３２よりさらに大きいａ３３まで増大させ、その後、高速走行状態が持続すると、徐々に振幅を小さくし、振幅がａ３４まで下がると、その振幅ａ３４を維持するように振動波形情報を生成する。
【０１３８】
図１６Ｃに示すように、波形情報生成部２０２は、バイクオブジェクトＢが停止しており、アイドリング状態にある時刻ｔ０からｔ３１、時刻ｔ３２からｔ３３までの間は、第２の振動波形の周波数をｆ３２とする。時刻ｔ３１から時刻ｔ３２までの間、バイクオブジェクトＢが低速走行状態（速度ｖ１）にあるときは、波形情報生成部２０２は、第２の振動波形の周波数をｆ３３として第１の振動波形の周波数ｆ３１との差分を増大させるように振動波形情報を生成する。時刻ｔ３３以降、バイクオブジェクトＢが高速走行状態（速度ｖ２）にあるときは、波形情報生成部２０２は、第２の振動波形の周波数をｆ３４として第１の振動波形の周波数ｆ３１との差分が低速走行状態のときより大きくなるように振動波形情報を生成する。
【０１３９】
なお、図１４ないし図１６の例では、いずれもうなりの周波数を変化させるために、高周波である第２の振動波形の周波数のみを変化させて、低周波である第１の振動波形の周波数は固定としたが、低周波である第１の振動波形の周波数を変化させて、高周波である第２の振動波形の周波数を固定してもよく、あるいは、第１の振動波形の周波数および第２の振動波形の周波数を何れも変化させてもよい。すなわち、うなりの周波数を増加させるために、低周波である第１の振動波形を固定するとともに、高周波である第２の振動波形の周波数をより高周波に変化させたが、これとは逆に、高周波である第２の振動波形の周波数を固定するとともに、低周波である第１の振動波形の周波数をより低周波に変化させてもよく、あるいは、低周波である第１の振動波形をより低周波に変化させるとともに、高周波である第２の振動波形をより高周波に変化させてもよい。
【０１４０】
以上のように、本実施の形態のゲームシステム１は、ゲーム処理に応じてコントローラが振動するので、プレイヤに対してゲーム処理に応じた振動感覚を与えることができる。また、本実施の形態のコントローラの振動部３０３，４０３はリニア振動モータによって構成され、波形信号によって駆動することができるので、振動波形を調整することでプレイヤに多彩な振動感覚を与えることができる。さらに、本実施の形態のコントローラの振動部３０３，４０３は、２種類の振動波形を合成した合成波形によって振動するので、プレイヤにより多彩な振動感覚を与えることができる。
【０１４１】
また、バイクオブジェクトＢの一定速度での走行のように、イベントが一定状態で持続する場合に、当該イベントに対応づけられた振動を一定に維持するのではなく、その振幅を時間の経過とともに減少させるので、持続するイベントに伴って比較的大きな振動が持続することによる不快感を低減できるとともに、他のイベントが発生したときに、そのイベントに対応した振動を与えることで、プレイヤに当該他のイベントの発生を振動によって感知させることができる。
【０１４２】
さらに、本実施の形態では、２種類の振動波形の周波数を互いに異ならせることで、それらの周波数の差分に応じた振動のうなりを生じさせることができ、また、イベントの状態の変化（例えば、走行イベントにおける移動速度の変化）に応じてその周波数の差分を変化させることで、うなりの周波数を変化させるので、プレイヤに、イベントの状態の変化を振動によって感知させることができる。
【０１４３】
なお、上記の実施の形態では、左コントローラ３を振動させるための振動波形情報と右コントローラ４を振動させるための振動波形情報とを同じとしたが、それぞれ異なるものとしてよい。例えば、図１３Ｂに示すように、プレイヤがアナログスティック３２を右に傾倒して、ゲーム処理部２０３がプレイヤキャラクタオブジェクトＰの乗ったバイクオブジェクトＢを右方向に走行させる場合には、波形情報生成部２０２は、右コントローラ４の振幅が左コントローラ３の振幅より大きくなるように、左コントローラ３に送信する振動波形情報と右コントローラ４に送信する振動波形情報とをそれぞれ生成してよい。このとき、波形情報生成部２０２は、右コントローラ４の振幅が、アナログスティック３２の傾倒度合い、すなわち、ゲーム処理におけるバイクオブジェクトＢの進行方向の右方向への傾き具合に応じて大きくなるように、右コントローラ４用の振動波形情報を生成してよい。
【０１４４】
また、上記の実施の形態では、プレイヤがコントローラ３，４を用いて操作する対象は、バイクオブジェクトＢに乗ったプレイヤキャラクタオブジェクトＰないしプレイヤキャラクタオブジェクトＰが乗ったバイクオブジェクトＢであったが、プレイヤキャラクタオブジェクトＰが乗る乗り物はバイクオブジェクトＢに限らず、カート、飛行機等の他の乗り物であってもよい。また、プレイヤの操作対象はプレイヤキャラクタオブジェクトＰ自体であってもよく、プレイヤキャラクタに関係のないものであってもよい。
【０１４５】
上記のように、本実施の形態では、ゲーム処理においてあるイベントの状態が一定に維持されるにもかかわらず、当該イベントに関連付けられた振動が時間の経過とともに減少していく。このような振動制御を適用できるイベントは、上記の例の「走行」に限られない。例えば、プレイヤキャラクタが所定の領域にいるというイベントもその状態が持続し得るものであり、プレイヤキャラクタが所定の領域にいることに関連付けられた振動についても、プレイヤキャラクタが当該領域に入ったときに大きな振幅の振動波形とするとともに、その領域に居続ける場合には、振動波形の振幅を徐々に小さくしてよい。
【０１４６】
また、２つの振動波形の周波数差によるうなりについても、仮想空間におけるバイクオブジェクトＢの走行ないし移動速度と関連付ける以外にも種々の応用が可能である。すなわち、プレイヤに数Ｈｚないし数十Ｈｚ程度の振動感覚を与えたい場合に、振動部をその周波数で振動させ、かつ、コントローラ３，４の共振周波数をその周波数程度にすることは、コントローラ３，４の設計上困難である。しかしながら、上記の実施の形態によれば、上述のように、２つの振動波形の周波数差によるうなりによって、数Ｈｚないし数十Ｈｚ程度の振動感覚をプレイヤに与えることができる。よって、プレイヤに数Ｈｚないし数十Ｈｚ程度の振動感覚を与えたい任意の場合に対して応用が可能である。
【０１４７】
また、上記の実施の形態では、音声については言及しなかったが、ゲーム処理には音声の生成の処理も含まれる。音声は、ゲーム処理におけるイベントの状態に基づいて生成してよく、コントローラ３，４の振動とシンクロさせてもよい。すなわち、振動の振幅が大きい場合に、それに応じて音声も大きくしてよく、振動ないしうなりの周波数が高い場合に、それに応じて音程を高くしてもよく、あるいは音の繰り返し周期を短くしてもよい。さらに、音の繰り返しの周波数をうなりの周波数と同じにしてもよい。
【符号の説明】
【０１４８】
１  情報処理装置（ゲームシステム）
２  本体装置（ゲーム装置）
３  左コントローラ（操作装置）
４  右コントローラ（操作装置）
１１  ハウジング
１２  ディスプレイ
１７  左側端子
２１  右側端子
４２，６４  端子
８１  ＣＰＵ
８３  コントローラ通信部
８９  加速度センサ
９０  角速度センサ
１００  携帯機コントローラ
１０４、１１４  加速度センサ
１０５、１１５  角速度センサ
１０６、１１６  コーデック部
１０７、１１７  振動子
２０１  通信部
２０２  波形情報生成部
２０３  ゲーム処理部
３０１、４０１  操作部
３０２、４０２  振動部
３０３、４０３  通信部
Ｐ  プレイヤキャラクタオブジェクト
Ｂ  バイクオブジェクト
【図１】
2018110654.tif 000003
【図２】
2018110654.tif 000004
【図３】
2018110654.tif 000005
【図４】
2018110654.tif 000006
【図５】
2018110654.tif 000007
【図６】
2018110654.tif 000008
【図７】
2018110654.tif 000009
【図８】
2018110654.tif 000010
【図９】
2018110654.tif 000011
【図１０】
2018110654.tif 000012
【図１１】
2018110654.tif 000013
【図１２】
2018110654.tif 000014
【図１３Ａ】
2018110654.tif 000015
【図１３Ｂ】
2018110654.tif 000016
【図１４Ａ】
2018110654.tif 000017
【図１４Ｂ】
2018110654.tif 000018
【図１４Ｃ】
2018110654.tif 000019
【図１５Ａ】
2018110654.tif 000020
【図１５Ｂ】
2018110654.tif 000021
【図１５Ｃ】
2018110654.tif 000022
【図１６Ａ】
2018110654.tif 000023
【図１６Ｂ】
2018110654.tif 000024
【図１６Ｃ】
2018110654.tif 000025