(57)【要約】【課題】コントローラ毎の精度の高い補正パラメータ設定処理を実行する。【解決手段】本体装置とゲームコントローラとを含むゲームシステムであって、ゲームコントローラは、アナログスティックと、アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値およびゲームコントローラのモデルに対応する第１モデル調整値を含む補正パラメータ情報を記憶する記憶部と、記憶部に格納された補正パラメータ情報を本体装置に送信する送信部とを有する。本体装置は、送信部により送信された補正パラメータ情報に含まれる第１製造工程補正パラメータ値および第１ユーザ補正パラメータ値のいずれかを選択する選択部と、選択した補正パラメータ値、第１モデル調整値およびアナログスティックの入力データとに基づいて、ゲーム処理を実行するゲーム処理部とを有する。【選択図】図１３
2018110736.tif 000002
【特許請求の範囲】
【請求項１】
本体装置とゲームコントローラとを含むゲームシステムであって、
前記ゲームコントローラは、
アナログスティックと、
前記アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、前記アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第１モデル調整値を含む補正パラメータ情報を記憶する記憶部と、
前記記憶部に格納された補正パラメータ情報を前記本体装置に送信する送信部とを有し、
本体装置は、
前記送信部により送信された前記補正パラメータ情報に含まれる前記第１製造工程補正パラメータ値および前記第１ユーザ補正パラメータ値のいずれかを選択する選択部と、
選択した補正パラメータ値、前記第１モデル調整値および前記アナログスティックの入力データとに基づいて、ゲーム処理を実行するゲーム処理部とを有する、ゲームシステム。
【請求項２】
前記選択部は、前記補正パラメータ情報に前記第１ユーザ補正パラメータ値が含まれている場合には、前記第１ユーザ補正パラメータ値を優先的に選択する、請求項１記載のゲームシステム。
【請求項３】
前記選択部は、
前記補正パラメータ情報に前記第１ユーザ補正パラメータ値が含まれていることを示す識別情報が有るか否かを判断し、
前記識別情報が有ると判断した場合には、前記補正パラメータ情報に含まれる前記第１ユーザ補正パラメータ値を選択する、請求項２記載のゲームシステム。
【請求項４】
前記ゲームコントローラは、
加速度センサをさらに有し、
前記記憶部は、前記加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値および前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第２ユーザ補正パラメータ値を前記補正パラメータ情報の一部としてさらに記憶し、
前記選択部は、前記送信部により送信された前記補正パラメータ情報に含まれる前記第２製造工程補正パラメータ値および前記第２ユーザ補正パラメータ値のいずれかを選択し、
前記ゲーム処理部は、選択した補正パラメータ値および前記加速度センサの入力データとにも基づいて、前記ゲーム処理を実行する、請求項１〜請求項３のいずれか１項に記載のゲームシステム。
【請求項５】
前記ゲームコントローラは、
角速度センサをさらに有し、
前記記憶部は、前記角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値および前記ゲームコントローラに対するユーザの操作に応じて決定される第３ユーザ補正パラメータ値を前記補正パラメータ情報の一部としてさらに記憶し、
前記選択部は、前記送信部により送信された前記補正パラメータ情報に含まれる前記第３製造工程補正パラメータ値および前記第３ユーザ補正パラメータ値のいずれかを選択し、
前記ゲーム処理部は、選択した補正パラメータ値および前記角速度センタの入力データにも基づいて、前記ゲーム処理を実行する、請求項１〜請求項４のいずれか１項に記載のゲームシステム。
【請求項６】
前記第１モデル調整値は、中央不感帯領域および外側不感帯領域を設定する情報である、請求項１記載のゲームシステム。
【請求項７】
前記本体装置は、前記第１ユーザ補正パラメータ値を前記コントローラの前記記憶部に書き込む書込部をさらに備える、請求項１記載のゲームシステム。
【請求項８】
アナログスティックと、
加速度センサと、
記憶部と、
本体装置と通信可能に設けられた通信制御部とを備え、
前記記憶部は、
前記アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、前記アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第１モデル調整値と、
前記加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値、前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第２ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第２モデル調整値とを含む補正パラメータ情報が記憶可能に設けられ、
前記通信制御部は、
前記本体装置と接続された場合に前記記憶部に格納された前記補正パラメータ情報を前記本体装置に送信し、
前記本体装置から前記記憶部に格納するための前記第１ユーザ補正パラメータ値および前記第２ユーザ補正パラメータ値の少なくともいずれかを受信し、
前記本体装置でゲーム処理が実行される場合に、前記アナログスティックおよび前記加速度センサの少なくともいずれかの操作データを前記本体装置に送信する、ゲームコントローラ。
【請求項９】
前記第１モデル調整値は、中央不感帯領域を設定する情報を含む、請求項８記載のゲームコントローラ。
【請求項１０】
前記第１モデル調整値は、外側不感帯領域を設定する情報を含む、請求項８記載のゲームコントローラ。
【請求項１１】
複数のアナログスティックが設けられ、
前記記憶部は、
前記複数のアナログスティックにそれぞれ関連し、製造工程において決定される複数の第１製造工程補正パラメータ値、前記複数のアナログスティックにそれぞれ対するユーザの操作に応じて決定される複数の第１ユーザ補正パラメータ値および前記複数のアナログスティックにそれぞれ対する前記ゲームコントローラのモデルに対する複数の第１モデル調整値が記憶される、請求項８〜請求項１０のいずれか１項に記載のゲームコントローラ。
【請求項１２】
角速度センサをさらに備え、
前記記憶部は、
前記角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値および前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第３ユーザ補正パラメータ値を前記補正パラメータ情報の一部として記憶可能に設けられ、
前記通信制御部は、
前記本体装置から前記記憶部に格納するための前記第１ユーザ補正パラメータ値、前記第２ユーザ補正パラメータ値および前記第３ユーザ補正パラメータ値の少なくともいずれかを受信し、
前記本体装置でゲーム処理が実行される場合に、前記アナログスティック、前記加速度センサおよび前記角速度センサの少なくともいずれかの操作データを前記本体装置に送信する、請求項８〜請求項１１のいずれか１項に記載のゲームコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ゲームシステムおよびゲームコントローラの処理に関する。
【背景技術】
【０００２】
従来より、装置部品の物理特性の変化や個体差等による基準値からのずれを解消するために、一般的にキャリブレーション処理が実行される。
【０００３】
この点で、特開２０１０−１３７００９号公報には、ゲーム装置本体に設けられたタッチパネルのキャリブレーション処理を行う方式が開示されている。一方で、このようなゲーム装置には、キャリブレーション処理に基づく値がゲーム装置本体に記憶されているだけであり、個別のコントローラに対応したキャリブレーション処理を実行する点で改善の余地があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１３７００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、上記の課題を解決するためのものであって、コントローラ毎の精度の高いキャリブレーション処理を実行することが可能なゲームシステムおよびゲームコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
ある局面に従う本体装置とゲームコントローラとを含むゲームシステムであって、ゲームコントローラは、アナログスティックと、アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値およびゲームコントローラのモデルに対応する第１モデル調整値を含む補正パラメータ情報を記憶する記憶部と、記憶部に格納された補正パラメータ情報を本体装置に送信する送信部とを有する。本体装置は、送信部により送信された補正パラメータ情報に含まれる第１製造工程補正パラメータ値および第１ユーザ補正パラメータ値のいずれかを選択する選択部と、選択した補正パラメータ値、第１モデル調整値およびアナログスティックの入力データとに基づいて、ゲーム処理を実行するゲーム処理部とを有する。
【０００７】
ゲームコントローラの記憶部にアナログスティックの補正パラメータ情報が格納される。ゲームコントローラから本体装置にアナログスティックの補正パラメータ情報が送信されて、ゲーム処理で実行される。したがって、本体装置は、ゲームコントローラの記憶部に格納された個別のアナログスティックの補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【０００８】
好ましくは、選択部は、補正パラメータ情報に第１ユーザ補正パラメータ値が含まれている場合には、第１ユーザ補正パラメータ値を優先的に選択してもよい。
【０００９】
第１ユーザ補正パラメータ値を優先的に選択することによりユーザの意図に応じた精度の高いキャリブレーション処理を実行することが可能である。
【００１０】
好ましくは、選択部は、補正パラメータ情報に第１ユーザ補正パラメータ値が含まれていることを示す識別情報が有るか否かを判断し、識別情報が有ると判断した場合には、補正パラメータ情報に含まれる第１ユーザ補正パラメータ値を選択してもよい。
【００１１】
識別情報の有無に基づいて第１ユーザ補正パラメータ値を選択することが可能であるため選択部における処理を簡易にし、高速な処理を実現することが可能である。
【００１２】
好ましくは、ゲームコントローラは、加速度センサをさらに有してもよい。記憶部は、加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値、ゲームコントローラに対するユーザの操作に応じて決定される第２ユーザ補正パラメータ値を補正パラメータ情報の一部としてさらに記憶する。選択部は、送信部により送信された補正パラメータ情報に含まれる第２製造工程補正パラメータ値および第２ユーザ補正パラメータ値のいずれかを選択してもよい。ゲーム処理部は、選択した補正パラメータ値および加速度センサの入力データとにも基づいて、ゲーム処理を実行してもよい。
【００１３】
したがって、本体装置は、ゲームコントローラの記憶部に格納された個別の加速度センサの補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【００１４】
好ましくは、ゲームコントローラは、角速度センサをさらに有してもよい。記憶部は、角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値およびゲームコントローラに対するユーザの操作に応じて決定される第３ユーザ補正パラメータ値を補正パラメータ情報の一部としてさらに記憶する。選択部は、送信部により送信された補正パラメータ情報に含まれる第３製造工程補正パラメータ値および第３ユーザ補正パラメータ値のいずれかを選択してもよい。ゲーム処理部は、選択した補正パラメータ値および角速度センタの入力データにも基づいて、ゲーム処理を実行してもよい。
【００１５】
したがって、本体装置は、ゲームコントローラの記憶部に格納された個別の角速度センサの補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【００１６】
好ましくは、第１モデル調整値は、中央不感帯領域および外側不感帯領域を設定する情報であってもよい。
【００１７】
ゲームコントローラのモデルに対応した中央不感帯領域および外側不感帯領域を設定することが可能である。
【００１８】
好ましくは、本体装置は、アナログスティックの第１ユーザ補正パラメータ値をコントローラの記憶部に書き込む書込部をさらに備えてもよい。
【００１９】
コントローラの記憶部に第１ユーザ補正パラメータ値を書き込むため本体装置側で当該情報を保持する必要がなく、本体装置のメモリを効率的に利用することが可能である。
【００２０】
ある局面に従うゲームコントローラであって、アナログスティックと、加速度センサと、記憶部と、本体装置と通信可能に設けられた通信制御部とを備える。記憶部は、アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値およびゲームコントローラのモデルに対応する第１モデル調整値と、加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値、ゲームコントローラに対するユーザの操作に応じて決定される第２ユーザ補正パラメータ値およびゲームコントローラのモデルに対応する第２モデル調整値とを含む補正パラメータ情報が記憶可能に設けられる。通信制御部は、本体装置と接続された場合に記憶部に格納された補正パラメータ情報を本体装置に送信し、本体装置から記憶部に格納するための第１ユーザ補正パラメータ値あるいは第２ユーザ補正パラメータ値を受信し、本体装置でゲーム処理が実行される場合に、アナログスティックおよび加速度センサの操作データを本体装置に送信するようにしてもよい。
【００２１】
ゲームコントローラの記憶部に補正パラメータ情報が格納される。ゲームコントローラから本体装置に補正パラメータ情報が送信されて、ゲーム処理で実行される。したがって、本体装置は、ゲームコントローラの記憶部に格納された個別の補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【００２２】
好ましくは、第１モデル調整値は、中央不感帯領域を設定する情報を含んでもよい。
ゲームコントローラのモデルに対応した中央不感帯領域を設定することが可能である。
【００２３】
好ましくは、第１モデル調整値は、外側不感帯領域を設定する情報を含んでもよい。
ゲームコントローラのモデルに対応した外側不感帯領域を設定することが可能である。
【００２４】
好ましくは、複数のアナログスティックが設けられてもよい。記憶部は、複数のアナログスティックにそれぞれ関連し、製造工程において決定される複数の第１製造工程補正パラメータ値、複数のアナログスティックにそれぞれ対するユーザの操作に応じて決定される複数の第１ユーザ補正パラメータ値および複数のアナログスティックにそれぞれ対するゲームコントローラのモデルに対する複数の第１モデル調整値が記憶されてもよい。
【００２５】
複数のアナログスティックが設けられる場合であっても個別のアナログスティックの補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【００２６】
好ましくは、ゲームコントローラは、角速度センサをさらに有してもよい。記憶部は、角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値およびゲームコントローラに対するユーザの操作に応じて決定される第３ユーザ補正パラメータ値を補正パラメータ情報の一部として記憶可能に設けられる。通信制御部は、本体装置から記憶部に格納するための第１ユーザ補正パラメータ値、第２ユーザ補正パラメータ値および第３ユーザ補正パラメータ値の少なくともいずれかを受信し、本体装置でゲーム処理が実行される場合に、アナログスティック、加速度センサおよび角速度センサの少なくともいずれかの操作データを本体装置に送信する。
【００２７】
角速度センサをさらに有するゲームコントローラの記憶部に補正パラメータ情報が格納される。ゲームコントローラから本体装置に補正パラメータ情報が送信されて、ゲーム処理で実行される。したがって、本体装置は、ゲームコントローラの記憶部に格納された個別の補正パラメータ情報に従って精度の高いキャリブレーション処理を実行することが可能である。
【発明の効果】
【００２８】
本開示のゲームシステムおよびゲームコントローラは、コントローラ毎の精度の高いキャリブレーション処理を実行することが可能である。
【図面の簡単な説明】
【００２９】
【図１】本実施形態に従うゲーム装置１の外観を示す模式図である。
【図２】本実施形態に従うゲーム装置１の別態様の外観を示す模式図である。
【図３】本実施形態に従う本体装置２を示す六面図である。
【図４】本実施形態に従う左コントローラ３を示す六面図である。
【図５】本実施形態に従う右コントローラ４を示す六面図である。
【図６】本実施形態に従うゲーム装置１をクレードルとともに使用する場合の外観を示す模式図である。
【図７】本実施形態に従う本体装置２の内部構成を示すブロック図である。
【図８】本実施形態に従う左コントローラ３および右コントローラ４の内部構成を示すブロック図である。
【図９】左コントローラ３および右コントローラ４を本体装置２に装着した状態におけるゲーム装置１の使用態様の一例を示す図である。
【図１０】左コントローラ３および右コントローラ４を本体装置２から外した状態におけるゲーム装置１の使用態様の一例を示す図である。
【図１１】実施形態に基づく付属コントローラ４０１の外観を示す図である。
【図１２】実施形態に基づくコントローラのメモリに格納される補正パラメータ情報について説明する図である。
【図１３】実施形態に基づく本体装置２の機能ブロック構成について説明する図である。
【図１４】実施形態に基づく補正パラメータ設定画面５００を説明する図である。
【図１５】実施形態に基づくアナログスティックの補正パラメータ設定処理を説明するフロー図である。
【図１６】実施形態に基づくディスプレイ１２に表示される操作案内画面を説明する図である。
【図１７】実施形態に基づく操作案内画面に従ってユーザがアナログスティックを操作した場合の補正パラメータ値の算出について説明する図である。
【図１８】実施形態に基づく加速度センサの補正パラメータ設定処理を説明するフロー図である。
【図１９】実施形態に基づくディスプレイ１２に表示される静止状態案内画面６１０を説明する図である。
【図２０】実施形態に基づくゲーム装置１によって実行されるゲーム処理を説明するフロー図である。
【図２１】実施形態に基づくアナログスティックの指令テーブルを説明する概念図である。
【発明を実施するための形態】
【００３０】
この実施形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３１】
［Ａ．情報処理システム］
本実施形態に従う情報処理システムに係る装置構成について説明する。本実施形態に従う情報処理システムは、少なくとも以下に説明する情報処理装置によって構成される。
【００３２】
例えば、情報処理装置は、携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型（可搬型とも言う）の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。本例においては、一例として情報処理装置の一例としてゲーム装置について説明する。また、本例においては、操作装置の一例としてゲーム装置に対して設けられたゲームコントローラについて説明するが、特にゲームコントローラに限られず、情報処理装置に対して操作データを送信することが可能な入力デバイスであればどのような操作装置であっても良い。
【００３３】
（ａ１：ゲーム装置の全体構成）
図１は、本実施形態に従うゲーム装置１の外観を示す模式図である。
【００３４】
図１に示すように、ゲーム装置１は、本体装置２と、左コントローラ３と、右コントローラ４とを含む。本体装置２は、表示部の一例としてのディスプレイ１２を有しており、ゲーム装置１でのゲーム処理を含む各種処理を実行する。
【００３５】
図２は、本実施形態に従うゲーム装置１の別態様の外観を示す模式図である。
図２に示すように、左コントローラ３および右コントローラ４は、本体装置２から分離可能に構成されてもよい。このとき、左コントローラ３および右コントローラ４を一体的に構成してもよいし、左コントローラ３および右コントローラ４をそれぞれ分離した装置として構成してもよい。このように、操作部に相当する左コントローラ３および右コントローラ４は、本体装置２とは分離して構成されてもよい。
【００３６】
左コントローラ３は、本体装置２の左側（図１に示すｘ軸正方向側）に装着することができる。右コントローラ４は、本体装置２の右側（図１に示すｘ軸負方向側）に装着することができる。なお、以下の説明において、左コントローラ３および右コントローラ４を「コントローラ」と総称することがある。以下、本体装置２、左コントローラ３および右コントローラ４のより具体的な構成例について説明する。
【００３７】
（ａ２：本体装置の構造）
図３は、本実施形態に従う本体装置２を示す六面図である。
【００３８】
図３を参照して、本体装置２は、略板状のハウジング１１を有している。
ハウジング１１の主面（すなわち、表側の面、あるいは、ディスプレイ１２が設けられる面）は、大略的には矩形形状になっている。ハウジング１１の形状および大きさは任意に設計できる。
【００３９】
（１）ハウジング１１の主面上に設けられる部材
図１〜３に示すように、本体装置２のハウジング１１の主面には、ディスプレイ１２が設けられる。ディスプレイ１２は、本体装置２が取得または生成した画像（静止画であってもよいし、動画像であってもよい）を表示する。ゲーム処理が実行される場合、ディスプレイ１２は、仮想空間および仮想空間内のオブジェクトを表示する。典型的には、ディスプレイ１２は、液晶表示装置（ＬＣＤ）で構成されるが、任意の種類の表示装置を採用できる。
【００４０】
ディスプレイ１２の画面上にはタッチパネル１３が設けられる。典型的には、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のデバイスが採用される。但し、タッチパネル１３としては、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のデバイスといった、任意の種類のデバイスを採用できる。
【００４１】
本体装置２のハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成されており、ハウジング１１の内部に配置されるスピーカ（図７に示すスピーカ８８）から発生された音がスピーカ孔１１ａおよび１１ｂから出力される。
【００４２】
本体装置２には２つのスピーカが設けられており、左スピーカおよび右スピーカのそれぞれの位置に対応付けてスピーカ孔１１ａおよび１１ｂが形成されている。すなわち、スピーカ孔１１ａは、左スピーカに対応付けてディスプレイ１２の左側に形成され、スピーカ孔１１ｂは、右スピーカに対応付けてディスプレイ１２の右側に形成される。
【００４３】
（２）ハウジング１１の左側面に設けられる部材
ハウジング１１の左側面には、左コントローラ３を本体装置２に着脱可能に装着するための部材である左レール部材１５が設けられる。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びる。左レール部材１５は、左コントローラ３のスライダ（図４に示すスライダ４０）と係合可能な形状を有している。左レール部材１５とスライダ４０とによってスライド機構が形成される。このようなスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４４】
ハウジング１１の左側面には、左側端子１７が設けられる。左側端子１７は、本体装置２と左コントローラ３との間で有線通信を行なうための端子である。左側端子１７は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３の端子（図４に示す端子４２）と接触する位置に設けられる。左側端子１７は、左コントローラ３が本体装置２に装着された状態で、本体装置２の左側端子と左コントローラ３の端子とが接する任意の位置に配置すればよい。一例として、図３に示すように、左側端子１７は左レール部材１５の下側端部付近に設けられる。
【００４５】
（３）ハウジング１１の右側面に設けられる部材
図３に示すように、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、ハウジング１１の右側面には、右コントローラ４を本体装置２に着脱可能に装着するための部材である右レール部材１９が設けられる。右レール部材１９は、ハウジング１１の右側面において、上下方向に沿って延びる。右レール部材１９は、右コントローラ４のスライダ（図５に示すスライダ６２）と係合可能な形状を有している。右レール部材１９とスライダ６２とによってスライド機構が形成される。このようなスライド機構によって、右コントローラ４を本体装置２に対してスライド可能かつ着脱可能に装着することができる。
【００４６】
右レール部材１９は、左レール部材１５と同様の形状を有している。すなわち、右レール部材１９は、左レール部材１５と同様の断面形状となる溝を有する形状である。但し、右レール部材１９は、左レール部材１５と全く同じ形状である必要はない。例えば、別の実施形態として、左レール部材１５の溝と右レール部材１９の溝との間で大きさおよび／または形状を異ならせることで、右コントローラ４のスライダ６２が左レール部材１５に係合できないように、および／または、左コントローラ３のスライダ４０が右レール部材１９に係合できないように構成してもよい。
【００４７】
ハウジング１１の右側面には、右側端子２１が設けられる。右側端子２１は、本体装置２が右コントローラ４との間で有線通信を行なうための端子である。右側端子２１は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４の端子（図５に示す端子６４）と接触する位置に設けられる。右側端子２１は、右コントローラ４が本体装置２に装着された状態で、本体装置２の右側端子と右コントローラ４の端子とが接する任意の位置に配置すればよい。一例として、図３に示すように、右側端子２１は右レール部材１９の下側端部付近に設けられる。
【００４８】
（４）ハウジング１１の上側面に設けられる部材
図３に示すように、ハウジング１１の上側面には、第１の種類の記憶媒体を装着するための第１スロット２３が設けられる。典型的な構成として、第１スロット２３の開口部には開閉可能な蓋部が設けられており、蓋部を開けた状態において、第１スロット２３に第１の種類の記憶媒体を挿入することができる。第１の種類の記憶媒体は、例えば、ゲーム装置１およびそれと同種のゲーム装置に専用設計された記憶媒体（例えば、専用メモリカード）である。第１の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を格納するために用いられる。
【００４９】
ハウジング１１の上側面には、本体装置２の電源のオン／オフを切り替えるための電源ボタン２８が設けられる。
【００５０】
ハウジング１１の上側面には、音声入出力端子２５（具体的には、イヤホンジャック）が設けられる。音声入出力端子２５には、マイクやイヤホンを装着することができる。
【００５１】
（５）ハウジング１１の下側面に設けられる部材
図３に示すように、ハウジング１１の下側面には、本体装置２が後述するクレードル５との間で有線通信を行なうための下側端子２７が設けられる。下側端子２７は、本体装置２がクレードル５に装着された場合に、クレードル５の端子と接触する位置に設けられる。典型的には、下側端子２７として、ＵＳＢ（Universal Serial Bus）コネクタ（より具体的には、メス側コネクタ）を採用できる。
【００５２】
上述したハウジング１１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、電源ボタン２８、第１スロット２３のうちのいくつかについては、ハウジング１１の他の側面または背面に設けてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
【００５３】
（ａ３：左コントローラの構造）
図４は、本実施形態に従う左コントローラ３を示す六面図である。
【００５４】
図４を参照して、左コントローラ３は、略板状のハウジング３１を有している。ハウジング３１の主面（すなわち、おもて側の面、あるいは、図１に示すｚ軸負方向側の面）は、大略的には矩形形状になっている。ハウジング３１は、縦長の形状、すなわち上下方向（すなわち、図１に示すｙ軸方向）に長い形状を有している。
【００５５】
左コントローラ３は、本体装置２から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用することも可能であるし、その主面が横長となる向きで使用することも可能である。
【００５６】
ハウジング３１の形状および大きさは任意に設計できる。別の実施形態として、ハウジング３１を略板状以外の形状に構成してもよい。ハウジング３１についても、矩形形状でなくてもよく、例えば、半円状等の形状を採用してもよい。さらに、ハウジング３１は、縦長の形状でなくてもよい。
【００５７】
ハウジング３１の上下方向の長さは、本体装置２に係るハウジング１１の上下方向の長さと略同じであることが好ましい。ハウジング３１の厚さ（すなわち、前後方向の長さ、あるいは、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング１１の厚さと略同じであることが好ましい。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ３とを一体の装置のような感覚で把持することができる。
【００５８】
ハウジング３１の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング３１の上側面と左側面との接続部分、および、ハウジング３１の下側面と左側面との接続部分は、その上側面と右側面との接続部分、および、その下側面と右側面との接続部分に比べて、丸くなっている（すなわち、面取りにおけるＲが大きい）。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ゲーム装置１の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００５９】
左コントローラ３には、アナログスティック３２が設けられる。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向指示部の一例である。アナログスティック３２は、ハウジング３１の主面に平行な全方向（すなわち、上下左右および斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力が可能なアナログ入力デバイスである。アナログスティック３２はさらに、スティック部材を傾倒するときに、傾倒方向に応じた方向の入力に加えて、傾倒した角度に応じた大きさの入力が可能なように構成してもよい。また、方向指示部は、スライドスティック等であってもよい。スライドスティックは、ハウジング３１の主面に平行な全方向にスライド可能なスティック部材を有する入力部であり、ユーザは、スティック部材をスライドすることによってスライド方向に応じた入力が可能である。スライドスティックはさらに、スライド量に応じた大きさの入力が可能なようにも構成できる。また、方向指示部は、ボタンの押下操作によって方向を指示する入力部として構成してもよい。例えば、方向指示部は、十字キーまたは上下左右に対応した４つのボタンによって方向を指示する入力部として構成してもよい。また、本実施形態においては、スティック部材を（ハウジング３１に垂直な方向に）押下する入力が可能である。すなわち、本実施形態におけるアナログスティック３２は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行なうことが可能な入力部である。
【００６０】
左コントローラ３には、４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）が設けられる。図４に示すように、これら４つの操作ボタン３３〜３６は、ハウジング３１の主面においてアナログスティック３２の下側に設けられる。本実施形態においては、左コントローラ３の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。これらの操作ボタン３３〜３６は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行なうために用いられる。なお、本実施形態においては、操作ボタン３３〜３６は方向入力を行なうために用いられてもよいことから、説明の便宜上、操作ボタン３３〜３６を、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６とも称する。但し、操作ボタン３３〜３６は、方向入力以外の指示を行なうために用いられてもよい。
【００６１】
左コントローラ３の主面に設けられる操作部（具体的には、アナログスティック３２および操作ボタン３３〜３６）は、左コントローラ３が本体装置２に装着される場合、ゲーム装置１を把持するユーザの例えば左手の親指によって操作される（図９参照）。また、左コントローラ３が本体装置２から外された状態で使用される場合、操作部は、左コントローラ３を把持するユーザの例えば左の手の親指で操作される（図１０参照）。
【００６２】
左コントローラ３には、第１Ｌボタン３８およびＺＬボタン３９が設けられる。これらの操作ボタン３８および３９は、上述の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行なうために用いられる。図４に示すように、第１Ｌボタン３８は、ハウジング３１の側面のうち左上部分に設けられる。ＺＬボタン３９は、ハウジング３１の側面から裏面にかけての左上部分（厳密には、ハウジング３１を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタン３９は、第１Ｌボタン３８の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング３１の左上部分が丸みを帯びた形状であるので、第１Ｌボタン３８およびＺＬボタン３９は、ハウジング３１の当該左上部分の丸みに応じた丸みを帯びた形状を有する。
【００６３】
左コントローラ３が本体装置２に装着される場合、第１Ｌボタン３８およびＺＬボタン３９は、ゲーム装置１における左上部分に配置されることになる（図１参照）。したがって、ゲーム装置１を把持するユーザは、左手の人差し指や中指で第１Ｌボタン３８およびＺＬボタン３９を操作することができる。
【００６４】
左コントローラ３は、上述したスライダ４０を有している。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に沿って延びる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。具体的には、スライダ４０の断面（具体的には、上下方向に対して垂直な断面）は、凸型の形状を有する。より具体的には、スライダ４０の断面は、左レール部材１５の断面形状に応じたＴ字形状を有している。したがって、左レール部材１５に係合したスライダ４０は、スライド方向（すなわち、左レール部材１５が延びる方向）に垂直な向きに関しては固定されて外れないようになっている。
【００６５】
また、左コントローラ３は、第２Ｌボタン４３および第２Ｒボタン４４を備える。これらのボタン４３および４４は、他の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第２Ｌボタン４３および第２Ｒボタン４４は、スライダ４０の装着面に設けられる。第２Ｌボタン４３は、スライダ４０の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも上側に設けられる。第２Ｒボタン４４は、スライダ４０の装着面において、上下方向に関する中央よりも下側に設けられる。第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３が本体装置２に装着されている状態では押下することができない位置に配置されている。つまり、第２Ｌボタン４３および第２Ｒボタン４４は、左コントローラ３を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン４３および第２Ｒボタン４４は、例えば、本体装置２から外された左コントローラ３を把持するユーザの左右の手の人差し指または中指で操作される。
【００６６】
左コントローラ３は、通知用ＬＥＤ４５を備える。通知用ＬＥＤ４５は、ユーザに対して所定の情報を通知するための通知部である。通知用ＬＥＤ４５によって通知される情報は任意である。本実施形態においては、通知用ＬＥＤ４５は、本体装置２が複数のコントローラと通信を行う場合には、各コントローラを識別する情報をユーザに示す。具体的には、左コントローラ３は、通知用ＬＥＤ４５として、本体装置２が同時に通信可能な左コントローラの数（ここでは、４つ）のＬＥＤを備える。そして、４つのＬＥＤのうち、そのコントローラに付された番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４５によって上記番号をユーザに通知することが可能となる。
【００６７】
他の実施形態においては、通知用ＬＥＤ４５は、左コントローラ３と本体装置２との通信に関する状態をユーザに通知しても良い。たとえば、本体装置２との通信が確立している場合に通知用ＬＥ４５が点灯しても良い。また、本実施形態においては、通知用ＬＥＤ４５として機能するＬＥＤ（換言すれば発光部）の数を４つとしているが、当該ＬＥＤの個数は任意である。
【００６８】
本実施形態においては、通知用ＬＥＤ４５は、図に示すように、スライダ４０の装着面に設けられる。したがって、通知用ＬＥＤ４５は、左コントローラ３が本体装置２に装着されている状態では、見えない位置に配置されている。つまり、通知用ＬＥＤ４５は、左コントローラ３を本体装置２から外した場合において用いられる。
【００６９】
なお、本実施形態において、スライダ４０の装着面に設けられるボタン（具体的には、第２Ｌボタン４３、第２Ｒボタン４４）は、当該装着面に対して突出しないように設けられる。すなわち、上記ボタンの上面（換言すれば押下面）は、スライダ４０の装着面と同じ面に配置されるか、あるいは、装着面よりも凹んだ位置に配置される。これによれば、スライダ４０が本体装置２の左レール部材１５に装着された状態において、スライダ４０を左レール部材１５に対してスムーズにスライドさせることができる。
【００７０】
（ａ４：右コントローラの構造）
図５は、本実施形態に従う右コントローラ４を示す六面図である。
【００７１】
図５を参照して、右コントローラ４は、略板状のハウジング５１を有している。ハウジング５１の主面（すなわち、おもて側の面、あるいは、図１に示すｚ軸負方向側の面）は、大略的には矩形形状になっている。ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状を有している。
【００７２】
右コントローラ４は、本体装置２から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用されることも可能であるし、その主面が横長となる向きで使用することも可能である。
【００７３】
右コントローラ４のハウジング５１は、左コントローラ３のハウジング３１と同様、その上下方向の長さは、本体装置２に係るハウジング１１の上下方向の長さと略同じであることが好ましく、その厚さは、本体装置２のハウジング１１の厚さと略同じであることが好ましい。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ４とを一体の装置のような感覚で把持することができる。
【００７４】
ハウジング５１の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング５１の上側面と右側面との接続部分、および、ハウジング５１の下側面と右側面との接続部分は、その上側面と左側面との接続部分、および、その下側面と左側面との接続部分に比べて、丸くなっている（すなわち、面取りにおけるＲが大きい）。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ゲーム装置１の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
【００７５】
右コントローラ４には、左コントローラ３と同様、方向指示部としてアナログスティック５２が設けられる。アナログスティック５２は、左コントローラ３のアナログスティック３２と実質的に同じ構成である。また、右コントローラ４には、左コントローラ３と同様、４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）が設けられる。これら４つの操作ボタン５３〜５６は、左コントローラ３の４つの操作ボタン３３〜３６と実質的に同じ機構である。図５に示すように、これらアナログスティック５２および操作ボタン５３〜５６は、ハウジング５１の主面に設けられる。本実施形態においては、右コントローラ４の主面に設けられる操作ボタンを４つとするが、操作ボタンの数は任意である。
【００７６】
右コントローラ４における２種類の操作部（アナログスティック５２および操作ボタン）の位置関係は、左コントローラ３におけるこれら２種類の操作部の位置関係とは反対になっている。すなわち、右コントローラ４においては、アナログスティック５２は操作ボタン５３〜５６の上方に配置されるのに対して、左コントローラ３においては、アナログスティック３２は操作ボタン３３〜３６の下方に配置される。このような配置によって、２つのコントローラを本体装置２から外して使用する場合に、両コントローラを互いに似たような操作感覚で使用することができる。
【００７７】
右コントローラ４の主面に設けられる操作部（具体的には、アナログスティック５２および操作ボタン５３〜５６）は、右コントローラ４が本体装置２に装着される場合、ゲーム装置１を把持するユーザの例えば右手の親指によって操作される（図９参照）。また、右コントローラ４が本体装置２から外された状態で使用される場合、操作部は、右コントローラ４を把持するユーザの例えば右の手の親指で操作される。
【００７８】
右コントローラ４には、第１Ｒボタン６０およびＺＲボタン６１が設けられる。図５に示すように、第１Ｒボタン６０は、ハウジング５１の側面のうちの右上部分に設けられる。ＺＲボタン６１は、ハウジング５１の側面から裏面にかけての右上部分（厳密には、ハウジング５１を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタン６１は、第１Ｒボタン６０の後側（図１に示すｚ軸正方向側）に設けられる。本実施形態においては、ハウジング５１の右上部分が丸みを帯びた形状であるので、第１Ｒボタン６０およびＺＲボタン６１は、ハウジング５１の当該右上部分の丸みに応じた丸みを帯びた形状を有する。
【００７９】
右コントローラ４が本体装置２に装着される場合、第１Ｒボタン６０およびＺＲボタン６１は、ゲーム装置１における右上部分に配置されることになる（図１参照）。したがって、ゲーム装置１を把持するユーザは、右手の人差し指や中指で第１Ｒボタン６０およびＺＲボタン６１を操作することができる。
【００８０】
本実施形態においては、第１Ｌボタン３８の形状と第１Ｒボタン６０の形状とは左右対称にはならず、ＺＬボタン３９の形状とＺＲボタン６１の形状とは左右対称の形状にはなっていない。但し、別の実施形態として、第１Ｌボタン３８の形状と第１Ｒボタン６０の形状とを左右対称にしてもよく、ＺＬボタン３９の形状とＺＲボタン６１の形状とを左右対称にしてもよい。
【００８１】
右コントローラ４は、右コントローラ４が本体装置２と有線通信を行なうための端子６４を有している。端子６４は、右コントローラ４が本体装置２に装着された場合に、本体装置２の右側端子２１（図３）と接触する位置に設けられる。右コントローラ４が本体装置２に装着された状態で、本体装置２と右コントローラ４とが接触する任意の位置に端子６４を配置すればよい。一例として、図５に示すように、端子６４はスライダ６２の装着面における下側の端部付近に設けられる。
【００８２】
左コントローラ３のハウジング３１および／または右コントローラ４のハウジング５１に設けられる各構成要素（具体的には、スライダ、スティック、ボタン、およびＬＥＤ等）の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、コントローラは、アナログスティックとは別の種類の方向指示部が設けられていてもよい。また、スライダ４０または６２は、本体装置２に設けられる左レール部材１５および右レール部材１９の位置に応じた位置に配置されてよく、例えば、ハウジング３１または５１の主面または裏面に配置されてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
【００８３】
また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。これらのボタン６５および６６は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図５に示すように、第２Ｌボタン６５および第２Ｒボタン６６は、スライダ６２の装着面に設けられる。第２Ｌボタン６５は、スライダ６２の装着面において、上下方向（図１に示すｙ軸方向）に関する中央よりも上側に設けられる。第２Ｒボタン６６は、スライダ６２の装着面において、上下方向に関する中央よりも下側に設けられる。第２Ｌボタン６５および第２Ｒボタン６６は、右コントローラ４が本体装置２に装着されている状態では押下することができない位置に配置されている。つまり、第２Ｌボタン６５および第２Ｒボタン６６は、右コントローラ４を本体装置２から外した場合において用いられるボタンである。第２Ｌボタン６５および第２Ｒボタン６６は、例えば、本体装置２から外された右コントローラ４を把持するユーザの左右の手の人差し指または中指で操作される。
【００８４】
右コントローラ４は、通知用ＬＥＤ６７を備える。通知用ＬＥＤ６７は、左コントローラ３の通知用ＬＥＤ４５と同様、ユーザに対して所定の情報を通知するための通知部である。また、右コントローラ４は、通知用ＬＥＤ６７として、左コントローラ３と同様に、４つのＬＥＤを備える。４つのＬＥＤのうち、そのコントローラに付された番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４５によって上記番号をユーザに通知することが可能となる。
【００８５】
本実施形態においては、通知用ＬＥＤ６７は、図に示すように、通知用ＬＥＤ４５と同様にスライダ６２の装着面に設けられる。したがって、通知用ＬＥＤ６７は、右コントローラ４が本体装置２に装着されている状態では、見えない位置に配置されている。つまり、通知用ＬＥＤ６７は、右コントローラ４を本体装置２から外した場合において用いられる。
【００８６】
なお、本実施形態において、右コントローラ４においても、左コントローラ３と同様に、スライダ６２の装着面に設けられるボタン（具体的には、第２Ｌボタン６５、第２Ｒボタン６６）は、当該装着面に対して突出しないように設けられる。すなわち、上記ボタンの上面（換言すれば押下面）は、スライダ６２の装着面と同じ面に配置されるか、あるいは、装着面よりも凹んだ位置に配置される。これによれば、スライダ６２が本体装置２の右レール部材１９に装着された状態において、スライダ６２を右レール部材１９に対してスムーズにスライドさせることができる。
【００８７】
（ａ５：クレードルの利用）
図６は、本実施形態に従うゲーム装置１をクレードルとともに使用する場合の外観を示す模式図である。図６に示すゲームシステムは、ゲーム装置１およびクレードル５を含む。
【００８８】
クレードル５は、ゲーム装置１を載置可能に構成されるとともに、ゲーム装置１のディスプレイ１２とは別体の外部表示装置の一例であるテレビ６と通信可能に構成される。ゲーム装置１をクレードル５に載置した場合、ゲーム装置１が取得または生成した画像をテレビ６に表示することができる。クレードル５とテレビ６との間の通信は、有線通信であってもよいし、無線通信であってもよい。
【００８９】
クレードル５は、載置されたゲーム装置１を充電する機能と、通信ハブ装置（例えば、ＵＳＢハブ）の機能を有するようにしてもよい。
【００９０】
［Ｂ．各装置の内部構成］
次に、まず、本実施形態に従う情報処理システムに係る各装置の内部構成について説明する。
【００９１】
（ｂ１：本体装置の内部構成）
図７は、本実施形態に従う本体装置２の内部構成を示すブロック図である。
【００９２】
本体装置２は、図７に示す構成要素を有している。図７に示す構成要素は、例えば、電子部品として電子回路基板上に実装されてハウジング１１内に収納される。
【００９３】
本体装置２は、ゲーム処理を含めて各種処理を実行する情報処理部（あるいは、プロセッサ）に相当するＣＰＵ（Central Processing Unit）８１を有している。ＣＰＵ８１は、アクセス可能な記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、または、第１スロット２３に装着される外部記憶媒体等）に格納されるプログラムを読み出して実行する。
【００９４】
本体装置２は、内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Dynamic Random Access Memory）８５を有している。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を格納する不揮発性記メモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶する揮発性メモリである。
【００９５】
本体装置２は、第１スロットインターフェイス（Ｉ／Ｆ）９１を有している。第１スロットインターフェイスは、第１スロット２３に接続され、ＣＰＵ８１の指示に応じて、第１スロット２３に装着された第１の種類の記憶媒体（例えば、ＳＤカード）に対するデータの読み出しおよび書込みを行なう。
【００９６】
本体装置２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行なうためのネットワーク通信部８２を有している。例えば、ネットワーク通信部８２は、Ｗｉ−Ｆｉの認証を受けた通信モジュールが用いられ、無線ＬＡＮを介して外部装置と通信を行なう。別の実施形態として、本体装置２は、無線ＬＡＮに接続して通信を行なう機能に加えて（または、それに代えて）、モバイル通信網（すなわち、携帯電話通信網）に接続して通信を行なう機能を有していてもよい。
【００９７】
本体装置２は、左コントローラ３および／または右コントローラ４と無線通信を行なうためのコントローラ通信部８３を有している。本体装置２と各コントローラとの通信方式は任意であるが、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信方式を採用できる。
【００９８】
ＣＰＵ８１は、左側端子１７、右側端子２１、および下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行なう場合、左側端子１７を介して左コントローラ３と間でデータを送受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行なう場合、右側端子２１を介して右コントローラ４と間でデータを送受信する。ＣＰＵ８１が左コントローラ３や右コントローラ４に送信するデータは、例えば、左コントローラ３や右コントローラ４の振動発生部を制御するためのデータである。ＣＰＵ８１が左コントローラ３や右コントローラ４から受信するデータは、例えば、ユーザが左コントローラ３や右コントローラ４の操作部を操作することに応じて出力される操作データである。ＣＰＵ８１は、クレードル５と通信を行なう場合、下側端子２７を介してクレードル５へデータを送信する。
【００９９】
本実施形態においては、本体装置２は、左コントローラ３および右コントローラ４との間で、有線通信および無線通信の両方を行なうことができる。
【０１００】
本体装置２は、タッチパネル１３の制御を行なうためのタッチパネルコントローラ８６を有している。タッチパネルコントローラ８６は、タッチパネル１３からの信号に応じて、タッチ入力が行なわれた位置を示すデータを生成してＣＰＵ８１へ出力する。
【０１０１】
ディスプレイ１２は、ＣＰＵ８１が各種処理の実行することで生成された画像、および／または、外部から取得した画像を表示する。
【０１０２】
本体装置２は、コーデック回路８７およびスピーカ８８（具体的には、左スピーカおよび右スピーカ）を有している。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する。より具体的には、コーデック回路８７は、ＣＰＵ８１から音声データを受け取った場合、その音声データをＤ／Ａ変換して得られる音声信号をスピーカ８８または音声入出力端子２５へ出力する。これによって、スピーカ８８、あるいは、音声入出力端子２５に接続された音声出力部（例えばイヤホン）から音が出力される。コーデック回路８７は、音声入出力端子２５から音声信号を受け取った場合、音声信号をＡ／Ｄ変換して、所定の形式の音声データをＣＰＵ８１へ出力する。
【０１０３】
本体装置２は、電力制御部９７およびバッテリ９８を有している。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から各構成要素への電力供給を制御する。電力制御部９７は、電源ボタン２８に対する入力に応じて電力供給を制御する。すなわち、電力制御部９７は、電源ボタン２８に対して電源をオフする操作が行なわれた場合、電力供給の全部または一部を停止し、電源ボタン２８に対して電源をオンする操作が行なわれた場合、電力供給の全部を開始する。
【０１０４】
外部の充電装置（例えば、クレードル５）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、バッテリ９８はその供給される電力により充電される。
【０１０５】
（ｂ２：コントローラの内部構成）
図８は、本実施形態に従う左コントローラ３および右コントローラ４の内部構成を示すブロック図である。
【０１０６】
図８には、左コントローラ３および右コントローラ４に関連する本体装置２の構成要素についても描いている。
【０１０７】
左コントローラ３は、本体装置２との間で通信を行なうための通信制御部１０１を有している。通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行なうことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に装着されているか否かに応じて有線通信を行うか、無線通信を行うかを選択して、選択した通信方法によって通信を行う。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行なう。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行なう。通信制御部は、本体装置との間で通信を行なうことができればよく、例えば、有線通信もしくは無線通信のどちらかのみを行なうように構成されてもよい。なお、左コントローラ３が本体装置２から外されている場合、一例として無線通信を行う場合について説明するが例えばケーブルを介して有線通信を行うようにしても良い。
【０１０８】
左コントローラ３は、例えば、フラッシュメモリ等のメモリ１０２を有している。上記通信制御部１０１は、例えば、マイクロプロセッサで構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【０１０９】
左コントローラ３は、操作ボタン群１０３（具体的には、操作ボタン３３〜３６，３８，３９）およびアナログスティック３２を有している。操作ボタン群１０３およびアナログスティック３２に対して行なわれた操作に関する情報は、所定周期で通信制御部１０１へ繰り返し出力される。
【０１１０】
左コントローラ３は、加速度センサ１０４および角速度センサ１０５を有している。加速度センサ１０４は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。角速度センサ１０５は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５の検出結果は、所定周期で通信制御部１０１へ繰り返し出力される。
【０１１１】
通信制御部１０１は、操作ボタン群１０３、アナログスティック３２、加速度センサ１０４、および、角速度センサ１０５の各々から入力に関する情報（例えば、ユーザ操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または、取得した情報に所定の加工を行った情報）を含むデータを本体装置２へ送信する。本体装置２へのデータ送信は、所定周期で繰り返し行なわれる。入力に関する情報が本体装置２へ送信される周期は、入力デバイス間で同じであってもよいし、そうでなくてもよい。
【０１１２】
本体装置２は、送信されるデータに基づいて、左コントローラ３に対して行なわれた入力を知ることができる。より具体的には、本体装置２は、操作ボタン群１０３およびアナログスティック３２に対する操作を判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を算出することができる。
【０１１３】
左コントローラ３は、バッテリと電力制御回路とを含む電力供給部１０９を有している。電力供給部１０９は、左コントローラ３に各構成要素への電力供給を制御する。バッテリは、左コントローラ３が本体装置２に装着されている場合において、端子４２を介して本体装置２からの給電によって充電される。
【０１１４】
電力供給部１０９は、バッテリの電力がなくなった場合には電池警告情報を本体装置２に通知する。
【０１１５】
右コントローラ４は、基本的には、上述した左コントローラ３と同様の構成を有している。すなわち、右コントローラ４は、通信制御部１１１と、操作ボタン群１１３（具体的には、操作ボタン５３〜５６，６０，６１）と、アナログスティック５２と、加速度センサ１１４と角速度センサ１１５および電力供給部１１９とを有している。電力供給部１１９は、バッテリの電力がなくなった場合には電池警告情報を本体装置２に通知する。
【０１１６】
右コントローラ４のその他の構成要素については、左コントローラ３に関して説明した対応する構成要素と同様の構成および機能を有しているので、詳細な説明は繰り返さない。
【０１１７】
このように、本実施形態に従うゲーム装置１は、ユーザの左手（一方の手）で把持さる左コントローラ３（ユーザの左手で把持される部分）と、当該ユーザの右手（他方の手）で把持される右コントローラ４（ユーザの右手で把持される部分）とを含む。
【０１１８】
本明細書において、「操作部」は、ユーザ操作を受付ける機能または構成を意味し、本体装置２、左コントローラ３、および右コントローラ４等に配置される、ボタン、アナログスティック、各種センサなどの、ユーザの操作を検知できるものであればどのようなものも含み得る。操作部は、本体装置２、左コントローラ３、および右コントローラ４等に分けて配置されたボタン、アナログスティック、各種センサなどの組み合わせによってユーザの操作を検知できるように構成してもよい。
【０１１９】
［Ｃ．ゲームシステムの使用態様］
上述したように、本実施形態に従うゲーム装置１は、左コントローラ３および右コントローラ４が着脱可能に構成される。また、ゲーム装置１は、クレードル５に装着することによって、画像および音声をテレビ６に出力できる。したがって、以下に説明するような種々の使用態様でゲーム装置１を使用できる。以下では、ゲーム装置１の主たる使用態様について例示する。
【０１２０】
（ｃ１：コントローラを本体装置に装着して使用する態様）
図９は、左コントローラ３および右コントローラ４を本体装置２に装着した状態（以下、「装着状態」とも称す。）におけるゲーム装置１の使用態様の一例を示す図である。
【０１２１】
図９に示すように、装着状態においては、ゲーム装置１を携帯機器として使用できる。
装着状態においては、基本的には、本体装置２と左コントローラ３および右コントローラ４との間の通信は、有線通信によって行なわれる。別の実施形態として、装着状態においても、本体装置２と左コントローラ３および右コントローラ４との間の通信を無線通信によって行なうようにしてもよい。
【０１２２】
装着状態においては、左コントローラ３の４つの操作ボタン３３〜３６は、方向入力（すなわち、方向指示）を行なうために用いられてもよい。このとき、ユーザは、アナログスティック３２を用いて方向入力を行なうことも可能であるし、操作ボタン３３〜３６を用いて方向入力を行なうことも可能である。ユーザは、好みに合った操作手段を用いて方向入力を行なうことができるので、操作性を向上することができる。但し、操作ボタン３３〜３６がどのような指示に用いられるかについては、本体装置２において実行されるプログラムによって任意に決められてよい。
【０１２３】
本実施形態においては、左コントローラ３と右コントローラ４との間で、アナログスティックと４つの操作ボタン（すなわち、Ａ、Ｂ、Ｘ、Ｙボタン）との配置が逆になっている。装着状態においては、左コントローラ３においてはアナログスティック３２が４つの操作ボタン３３〜３６よりも上側に配置されるのに対して、右コントローラ４においては４つの操作ボタン５３〜５６がアナログスティック５２よりも上側に配置される。したがって、図９に示すように、ユーザが両手を同じ高さにして（すなわち、上下方向に関して同じ位置にして）ゲーム装置１を把持した場合、一方の手についてはアナログスティックが操作しやすい位置となり、他方の手については４つの操作ボタンが操作しやすい位置となる。このように、本実施形態に従うゲーム装置１は、アナログスティックおよび４つの操作ボタンを操作しやすい構成を提供する。
【０１２４】
（ｃ２：一組のコントローラを本体装置から外して使用する態様）
図１０は、左コントローラ３および右コントローラ４を本体装置２から外した状態（以下、「離脱状態」とも称す。）におけるゲーム装置１の使用態様の一例を示す図である。
【０１２５】
図１０に示すように、離脱状態においては、ユーザは、左コントローラ３および右コントローラ４をそれぞれ左手および右手にそれぞれ持って操作することができる。
【０１２６】
この場合、左コントローラ３のアナログスティック３２と、４つの操作ボタン３３〜３６とは、把持する左手内で縦方向に配置された状態で操作される。
【０１２７】
同様に、右コントローラ４のアナログスティック５２と、４つの操作ボタン５３〜５６とは、把持する右手内で縦方向に配置された状態で操作される。
【０１２８】
すなわち、ユーザが把持したときにその主面が縦長となる向きで使用される（縦持ち操作とも称する）。
【０１２９】
離脱状態においては、基本的には、本体装置２と左コントローラ３および右コントローラ４との間の通信は、無線通信によって行なわれる。本体装置２は、無線通信を確立した（典型的には、ペアリングを行なった）コントローラからデータを受信して、受信したデータに基づいてゲーム処理を実行する。
【０１３０】
本実施形態においては、無線通信の場合、本体装置２は、通信相手となる左コントローラ３および右コントローラ４を区別する。すなわち、本体装置２は、コントローラから受信されたデータが左コントローラ３からのものであるか、右コントローラ４からのものであるかを識別する。
【０１３１】
図１０には、一組のコントローラ（左コントローラおよび右コントローラ）を１人のユーザが使用する態様を例示するが、二人のユーザがコントローラを１個ずつ使用するという態様も可能である。この場合、一組のコントローラ（左コントローラおよび右コントロラ）で２人のユーザが同時にゲームに参加できる。
【０１３２】
図１０には、左コントローラ３および右コントローラ４の両方を本体装置２から外した状態を例示するが、これに限らず、左コントローラ３および右コントローラ４のいずれか一方を本体装置２から外し、他方を本体装置２に装着した状態で、ゲーム装置１を使用することも可能である。
【０１３３】
［Ｄ：付属コントローラ］
次に、付属コントローラ４０１について説明する。
【０１３４】
上記の左コントローラ３および右コントローラ４とは別に、ゲーム装置１の本体装置２と通信可能な付属コントローラ４０１を設けることも可能である。
【０１３５】
図１１は、実施形態に基づく付属コントローラ４０１の外観を示す図である。
図１１に示されるように、付属コントローラ４０１は、左右にグリップ部４００Ｌ、１４００Ｒ（以下、総称してグリップ部４００と呼ぶこともある）を備えるハウジング４０２と、ハウジング４０２の表面上に設けられた開口部から突出する２本のアナログスティック、および複数個の操作ボタン（後述）を含む操作部とから主に構成される。
【０１３６】
ハウジング４０２は、正面から見た場合にその左右方向を長手方向とした緩やかな略台形状となっており、その上辺側が少し凹んでおり、下辺側については上辺側よりも大きく凹んだような形状、換言すれば、上記グリップ部４００Ｌ、４００Ｒがそれぞれ底面側（コントローラを把持したときにおいて、プレイヤから見て手前側）に延びるような形状を有していてもよい。また、正面側はアナログスティックのある位置以外は概ね平面状に構成されていてもよい。
【０１３７】
アナログスティックのある位置は少し盛り上がっており、グリップ部４００Ｌ、４００Ｒは、正面から背面部に向けて緩やかなカーブを描くような形状に構成されていてもよい。なお、本実施例のハウジング４０２は、例えばプラスチック成型によって形成されていてもよい。
【０１３８】
ハウジング４０２の正面左端の上面側付近に、第１アナログスティック４１１（以下、左スティック）が設けられ、ハウジング４０２正面の右端下面側付近に第２アナログスティック４１２（以下、右スティック）が設けられる。より具体的には、グリップ部４００Ｌを把持する左手の親指で操作可能な位置（より好適には、グリップ部４００Ｌを把持する左手の親指が自然と位置するところ）に左スティック４１１が配され、グリップ部４００Ｒを把持する右手の親指で操作可能な位置に右スティック４１２が配される。左スティック４１１および右スティック４１２は、３６０度の任意の方向に傾けることが可能なスティックであり、任意の方向を指示するために用いられる。
【０１３９】
また、左スティック４１１および右スティック４１２は、それぞれ背面方向に押し込むことができ、プッシュボタンとしての役割も有する。左スティック４１１および右スティック４１２は、当該コントローラが接続される本体装置２が実行するプログラムに応じて機能する。
【０１４０】
このように、左スティック４１１と右スティック４１２の間隔が広くなっているため、両方を内側に倒すような操作であっても親指と親指の間隔が狭くならず、操作がしやすいものとなっている。
【０１４１】
ハウジング４０２の正面略中央位置よりも左側の位置であって、左スティック４１１よりも内側となる位置であり、かつ、グリップ部４００Ｌを把持した左手の親指で操作可能な位置に十字キー（方向キーと呼ばれることもある）４２１が設けられる。より具体的には、左スティック４１１の右下となる位置に十字キー４２１が設けられる。この十字キー４２１は、十字型の４方向プッシュスイッチであり、４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー４２１のいずれかの操作部分を押下することによって前後左右いずれかの方向が選択される。なお、十字キー４２１は、当該コントローラが接続される本体装置２が実行するプログラムに応じて機能する。
【０１４２】
また、十字キー４２１の形状は、図示するような形状に限らず、４方向を入力可能な形状であればどのようなものでもよい。たとえば、丸型の台座に十字状の溝が盛り上がっているような形状のもの等であってもよいし、４つのキーが分離しているようなものであってもよい。
【０１４３】
また、ハウジング４０２の正面略中央より右側の位置であって、右スティック４１２よりも上側となる領域であり、かつ、グリップ部４００Ｒを把持した右手の親指で操作可能な領域に、操作ボタン４２２Ａ〜４２２Ｄ（以下、第１の操作ボタン群と呼ぶこともある）が上下左右の位置に十字状に配置される。より具体的には、右スティック４１２の左下に位置する領域に、操作ボタン４２２Ａ〜４２２Ｄが上下左右の位置に十字状に配置される。操作ボタン４２２Ａ〜４２２Ｄは、例えば、操作ボタン４２２Ａ〜４２２Ｄは決定操作やキャンセル操作等に用いられる。
【０１４４】
上記のように、十字キー４２１を左スティック４１１の右下の位置に配置することにより、左手の親指の付け根を支点とした親指の動きで十字キー４２１の位置に親指の腹が移動可能である。換言すれば、グリップ部４００Ｌを把持する姿勢を特に変化させることなく、親指をその付け根を支点に右方向に動かすだけで十字キー４２１の位置に親指の腹部分を移動させることができ、また、左方向に親指を動かすことで左スティック４１１の位置に親指を戻すことも可能である。つまり、左スティック４１１と十字キー４２１間の行き来がしやすくなり、操作性を向上させることができる。換言すれば、十字キー４２１を操作する際に、親指の先端（十字キーの位置）と親指の付け根の間にスティックが位置することでスティックが邪魔となり操作性が低下するようなことがない。
【０１４５】
同様に、右スティック４１２を第１の操作ボタン群（操作ボタン４２２Ａ〜４２２Ｄ）の左下の位置に配置することにより、右手親指の付け根を支点とした親指の動きだけで、右スティック４１２と第１の操作ボタン群との間で親指を移動させることが可能である。これにより、右スティック４１２と第１の操作ボタン群間の行き来がしやすくなり、操作性を向上させることができる。
【０１４６】
ハウジング４０２の上面左端部の正面側にはＬボタン４２５Ｌが、その下（背面側）にはＺＬボタンが設けられ、ハウジング４０２の上面右端部の正面側にはＲボタン４２５Ｒが、その下（背面側）にはＺＲボタンが配置される。Ｌボタン４２５Ｌは、グリップ部４００Ｌを把持する左手の人差し指が届く位置に配され、ＺＬボタンは、左手中指や薬指が届く位置に配置される。また、Ｒボタン４２５Ｒはグリップ部４００Ｒを把持する右手の人差し指が届く位置に配され、ＺＲボタンは右手中指や薬指が届く位置に配置される。Ｌボタン４２５Ｌ、Ｒボタン４２５Ｒ、ＺＬボタンおよびＺＲボタンは、上記情報処理装置が実行するプログラムに応じた機能が適宜割り当てられる。
【０１４７】
上記で説明した左コントローラ３および右コントローラ４に設けられた操作ボタンと同様の操作ボタンが付属コントローラ４０１にも設けられる。
【０１４８】
また、ハウジング４０２正面の底面側に、複数のインジケータが設けられる。具体的には、通知用ＬＥＤ４３１が設けられる。通知用ＬＥＤ４３１は、左コントローラの通知用ＬＥＤと同様、ユーザに対して所定の情報を通知するための通知部である。また、通知用ＬＥＤ４３１は、４つのＬＥＤを備える。４つのＬＥＤのうち、そのコントローラに割り当てられたプレイヤ番号に応じたＬＥＤが点灯する。これによれば、通知用ＬＥＤ４３１によって上記プレイヤ番号をユーザに通知することが可能となる。
【０１４９】
また、付属コントローラ４０１の内部構成については、図８で説明した左コントローラ３あるいは右コントローラ４の内部構成と基本的に同様であるのでその詳細な説明については繰り返さない。
【０１５０】
付属コントローラ４０１のメモリ内には、付属コントローラ４０１に対して固有に付される値（例えば、ＩＤ）である識別情報が格納されている。本体装置２は、当該識別情報により左コントローラ３あるいは右コントローラ４ではなく、付属コントローラであることを判定することが可能である。
【０１５１】
［Ｅ：補正パラメータ］
図１２は、実施形態に基づくコントローラのメモリに格納される補正パラメータ情報について説明する図である。
【０１５２】
一例として、コントローラ３のメモリ１０２に格納される補正パラメータ情報について説明する。なお、コントローラ４のメモリ１１２についても同様である。
【０１５３】
メモリ１０２に格納される補正パラメータ情報は、当該コントローラから入力されるアナログスティック、加速度センサおよび角速度センサの操作データの補正処理（キャリブレーション処理）のために用いられる。
【０１５４】
図１２に示されるように補正パラメータ情報は、加速度センサの操作データの補正処理（キャリブレーション処理）に用いられる加速度センサ補正パラメータ値３０１と、角速度センサの操作データの補正処理（キャリブレーション処理）に用いられる角速度センサ補正パラメータ値３３１と、アナログスティックの操作データの補正処理（キャリブレーション処理）に用いられるアナログスティック補正パラメータ値３１０と、コントローラのモデル（型）毎の調整パラメータ（調整値）に関するモデル情報３２０とを含む。
【０１５５】
加速度センサ補正パラメータ値３０１は、製造工程時に従う基準値データ３０２、補正パラメータ設定処理に従う書込フラグデータ３０４および基準値データ３０６を含む。
【０１５６】
角速度センサ補正パラメータ値３３１は、製造工程時に従う基準値データ３３２、補正パラメータ設定処理に従う書込フラグデータ３３４および基準値データ３３６を含む。
【０１５７】
アナログスティック補正パラメータ値３１０は、製造工程時に従う最大ストローク値３１１、原点３１２、最小ストローク値３１３および補正パラメータ設定処理に従う書込フラグデータ３１４、最大ストローク値３１５、原点３１６、最小ストローク値３１７を含む。
【０１５８】
モデル情報３２０は、加速度センサオフセット値３２１、アナログスティックの中央不感帯幅３２２、外側不感帯係数３２３、ストローク保証範囲３２４、原点範囲３２５を含む。なお、本例においては、一例としてモデル情報には角速度センサに関連するデータは含まれていないが、含まれるようにしてもよい。
【０１５９】
補正パラメータ設定処理が実行された場合には、書込フラグデータ３０４，３１４，３３４に書込フラグ（識別情報）が格納される。書込フラグデータ３０４，３１４，３３４に格納された書込フラグ（識別情報）に基づいて補正パラメータ設定処理の実行に基づくデータの格納の有無を判断することが可能である。
【０１６０】
本例においては、メモリ１０２には、製造工程時に従うデータ（製造工程補正パラメータ）は予め格納されているものとする。
【０１６１】
なお、当該製造工程時に従うデータとは、コントローラ３の製造工程の際に決定され、メモリ１０２に格納されるデータであり、当該データを格納したメモリ１０２をコントローラ３に載置してもよいし、コントローラ３にメモリ１０２を載置した後に当該データを格納するようにしてもよい。
【０１６２】
一方、補正パラメータ設定処理に従うデータ（ユーザ補正パラメータデータ）については選択的なものであり、ユーザが後述する補正パラメータ設定画面において補正パラメータ設定処理を選択した場合に格納される。
【０１６３】
また、補正パラメータ設定処理に従うデータがメモリ１０２に格納された場合には当該データが製造工程時に従うデータよりも優先的に用いられる。
【０１６４】
したがって、初期状態においては、製造工程時に従うデータが操作データの補正処理（キャリブレーション処理）のために用いられる。一方、補正パラメータ設定処理を実行した場合には、当該補正パラメータ設定処理により取得したデータが操作データの補正処理（キャリブレーション処理）のために用いられる。
【０１６５】
なお、当該補正パラメータ情報は、コントローラ３が本体装置２と接続された場合にメモリ１０２から読み出されて本体装置２に送信される。本体装置２のＣＰＵ８１は、受信した補正パラメータ情報をＤＲＡＭ８５等に格納し、補正パラメータ設定処理およびゲーム実行処理等で利用する。
【０１６６】
図１３は、実施形態に基づく本体装置２の機能ブロック構成について説明する図である。
【０１６７】
図１３を参照して、本体装置２のＣＰＵ８１がプログラムを実行することで、ゲーム実行処理部２００と、選択部２０２と、補正パラメータ設定部２０４と、書込部２０６とが実現される。
【０１６８】
ゲーム実行処理部２００は、ゲーム処理等を制御する。ゲーム実行処理部２００は、コントローラから入力されるユーザ操作の操作データの内容に応じてディスプレイ１２等の表示内容を順次更新する。
【０１６９】
ゲーム実行処理部２００は、処理部２０１と、選択部２０２と、取得部２０３とを含む。
【０１７０】
処理部２０１は、ゲーム処理全体を制御し、種々の処理を実行する。
取得部２０３は、コントローラに格納されている補正パラメータ情報を取得する。
【０１７１】
選択部２０２は、取得した補正パラメータ情報のうち操作データの補正処理（キャリブレーション処理）に用いる補正パラメータ値を選択して処理部２０１に出力する。具体的には、選択部２０２は、補正パラメータ情報のうち補正パラメータ設定処理に従うデータが含まれている場合には、当該補正パラメータ設定処理に従うデータを選択する。当該データが含まれていない場合には、製造工程時に予め登録されていたデータを選択する。
【０１７２】
一例として、選択部２０２は、補正パラメータ情報の加速度センサ補正パラメータ値３０１のうち書込フラグデータ３０４に書込フラグが有るか否かを判断し、書込フラグがあると判断した場合には、補正パラメータ設定処理に従う基準値データ３０６を選択して、処理部２０１に出力する。一方、書込フラグがないと判断した場合には、製造工程時に従う基準値データ３０２を処理部２０１に出力する。
【０１７３】
選択部２０２は、補正パラメータ情報の角速度センサ補正パラメータ値３３１のうち書込フラグデータ３３４に書込フラグが有るか否かを判断し、書込フラグがあると判断した場合には、補正パラメータ設定処理に従う基準値データ３３６を選択して、処理部２０１に出力する。一方、書込フラグがないと判断した場合には、製造工程時に従う基準値データ３３２を処理部２０１に出力する。
【０１７４】
同様に、選択部２０２は、補正パラメータ情報のアナログスティック補正パラメータ値３１０のうち書込フラグデータ３１４に書込フラグが有るか否かを判断し、書込フラグがあると判断した場合には、補正パラメータ設定処理に従う最大ストローク値３１５、原点３１６、最小ストローク値３１７を処理部２０１に出力する。一方、書込フラグが無いと判断した場合には、製造工程時に従う最大ストローク値３１１、原点３１２、最小ストローク値３１３を処理部２０１に出力する。
【０１７５】
また、選択部２０２は、補正パラメータ情報のモデル情報３２０を処理部２０１に出力する。
【０１７６】
補正パラメータ設定部２０４は、ユーザ操作に従って補正パラメータ設定処理を実行する。
【０１７７】
書込部２０６は、コントローラ３に対して、補正パラメータ設定部２０４における補正パラメータ設定処理のデータをコントローラ３のメモリ１０２に格納するように書込命令とともにコントローラ３に対して出力する。コントローラ３は、書込部２０６からの書込命令を受信して、メモリ１０２に当該データを格納する。
【０１７８】
図１４は、実施形態に基づく補正パラメータ設定画面５００を説明する図である。
図１４には、補正パラメータ設定画面５００が表示されている。
【０１７９】
当該補正パラメータ設定画面は、ホームメニューから補正パラメータ設定処理を指示した場合に表示される画面の一例である。ホームメニューは、各種設定（補正パラメータ設定処理等）とともにゲームアプリを起動することが可能に設けられている。たとえば、ゲームアプリを起動するためのアイコンが設けられており、当該アイコンを選択することによりゲームアプリが起動する。また、補正パラメータ設定処理を実行すためのアイコンも設けられており、当該アイコンを選択することにより補正パラメータ設定処理のアプリケーションが起動し、補正パラメータ設定画面が表示される。
【０１８０】
補正パラメータ設定画面５００は、アナログスティックの補正パラメータ設定処理を実行するためのアナログスティックボタン５０２と、加速度センサの補正パラメータ設定処理を実行するための加速度センサボタン５０４と、角速度センサの補正パラメータ設定処理を実行するための角速度センサボタン５０６とを含む。
【０１８１】
補正パラメータ設定部２０４は、コントローラからの指示に従いアナログスティックボタン５０２の選択を受け付けた場合には、アナログスティックの補正パラメータ設定処理を実行する。補正パラメータ設定部２０４は、コントローラからの指示に従い加速度センサボタン５０４の選択を受け付けた場合には、加速度センサの補正パラメータ設定処理を実行する。補正パラメータ設定部２０４は、コントローラからの指示に従い角速度センサボタン５０６の選択を受け付けた場合には、角速度センサの補正パラメータ設定処理を実行する。
【０１８２】
図１５は、実施形態に基づくアナログスティックの補正パラメータ設定処理を説明するフロー図である。
【０１８３】
図１５に示されるように、補正パラメータ設定部２０４は、アナログスティックボタン５０２の選択が有ったかどうかを判断する（ステップＳ２）。具体的には、補正パラメータ設定画面５００において、コントローラ３からの操作データによりアナログスティックボタン５０２の選択指示が有ったかどうかを判断する。
【０１８４】
ステップＳ２において、補正パラメータ設定部２０４は、アナログスティックボタン５０２の選択が有ったと判断した場合（ステップＳ２においてＹＥＳ）には、第１操作案内画面６０２をディスプレイ１２に表示する（ステップＳ４）。
【０１８５】
次に、補正パラメータ設定部２０４は、第１操作案内画面６０２に従って第１操作入力が有ったかどうかを判断する（ステップＳ６）。具体的には、コントローラ３からの操作データに基づいて第１操作案内画面６０２で指定した第１操作入力を実行したか否かを判断する。
【０１８６】
ステップＳ６において、補正パラメータ設定部２０４は、第１操作入力が有ったと判断した場合（ステップＳ６においてＹＥＳ）には、操作データを測定する（ステップＳ８）。
【０１８７】
一方、ステップＳ６において、補正パラメータ設定部２０４は、第１操作入力が無いと判断した場合（ステップＳ６においてＮＯ）には、ステップＳ４に戻る。
【０１８８】
次に、補正パラメータ設定部２０４は、測定値は許容値であるか否かを判断する（ステップＳ１０）。
【０１８９】
ステップＳ１０において、補正パラメータ設定部２０４は、測定値は許容値であると判断した場合（ステップＳ１０においてＹＥＳ）には、原点を算出する（ステップＳ１２）。
【０１９０】
一方、ステップＳ１０において、補正パラメータ設定部２０４は、測定値が許容値で無いと判断した場合（ステップＳ１０においてＮＯ）には、ステップＳ４に戻り、再度、第１操作案内画面をディスプレイ１２に表示する。この場合、メッセージを表示するようにしてユーザに対して再度の第１操作を促すようにしてもよい。
【０１９１】
図１６は、実施形態に基づくディスプレイ１２に表示される操作案内画面を説明する図である。
【０１９２】
図１６（Ａ）には、第１操作案内画面６０２が示されている。当該第１操作案内画面６０２においては、第１操作として上下左右の４方向に矢印が示され、「アナログスティックを矢印の方向に指で動かして離して下さい」とのメッセージが表示されている。
【０１９３】
ユーザは、当該メッセージに従いコントローラ３のアナログスティック３２を矢印で示される４方向に動かして離すように促される。
【０１９４】
図１７は、実施形態に基づく操作案内画面に従ってユーザがアナログスティックを操作した場合の補正パラメータ値の算出について説明する図である。
【０１９５】
図１７（Ａ）には、アナログスティック３２の原点座標を算出する方式が示されている。
【０１９６】
図１７（Ａ）に示されるように本例においては、Ｘ軸およびＹ軸の２次元座標が示されている。ここで、ユーザが上下左右の４方向にアナログスティック３２を指で動かして離した場合に、アナログスティック３２の中心軸が戻った場合の２次元座標における測定された測定値（位置座標）Ｐ１〜Ｐ４が示されている。
【０１９７】
当該２次元座標における領域Ｒ０は、補正パラメータ情報のモデル情報３２０に含まれるアナログスティックの原点範囲３２５により設定される領域である。
【０１９８】
本例においては、補正パラメータ設定部２０４は、測定値が原点範囲３２５により指定された領域Ｒ０内に含まれるか否かを判断する。補正パラメータ設定部２０４は、測定値が原点範囲３２５により指定された領域Ｒ０内に含まれると判断した場合には、測定値は許容値であると判断する。一方、補正パラメータ設定部２０４は、測定値が原点範囲３２５により指定された領域Ｒ０内にないと判断した場合には、測定値は許容値ではないと判断する。
【０１９９】
補正パラメータ設定部２０４は、一例として測定値Ｐ１，Ｐ３の線分と、測定値Ｐ２，Ｐ４の線分との交点を原点座標Ｏに設定する。なお、原点座標Ｏの設定方式はこれに限られない。
【０２００】
なお、原点座標Ｏからの幅Ｓがモデル情報３２０の中央不感帯幅３２２に相当する。当該中央不感帯幅３２２の値を用いることにより原点座標Ｏを中心とした中央不感帯領域Ｒ４が設定される。
【０２０１】
再び図１５を参照して、次に、補正パラメータ設定部２０４は、第２操作案内画面６０４をディスプレイ１２に表示する（ステップＳ１４）。
【０２０２】
次に、補正パラメータ設定部２０４は、第２操作案内画面６０４に従って第２操作入力が有ったかどうかを判断する（ステップＳ１６）。具体的には、コントローラ３からの操作データに基づいて第２操作案内画面６０４で指定した第２操作入力を実行したか否かを判断する。
【０２０３】
ステップＳ１６において、補正パラメータ設定部２０４は、第２操作入力が有ったと判断した場合（ステップＳ１６においてＹＥＳ）には、操作データを測定する（ステップＳ１８）。
【０２０４】
一方、ステップＳ１６において、補正パラメータ設定部２０４は、第２操作入力が無いと判断した場合（ステップＳ１６においてＮＯ）には、ステップＳ１４に戻る。
【０２０５】
次に、補正パラメータ設定部２０４は、測定値は許容値であるか否かを判断する（ステップＳ２０）。
【０２０６】
ステップＳ２０において、補正パラメータ設定部２０４は、測定値は許容値であると判断した場合（ステップＳ２０においてＹＥＳ）には、最大および最小ストローク値を算出する（ステップＳ２２）。
【０２０７】
一方、ステップＳ２０において、補正パラメータ設定部２０４は、測定値が許容値で無いと判断した場合（ステップＳ２０においてＮＯ）には、ステップＳ１４に戻り、再度、第２操作案内画面をディスプレイ１２に表示する。この場合、メッセージを表示するようにしてユーザに対して再度の第２操作を促すようにしてもよい。
【０２０８】
図１６（Ｂ）には、第２操作案内画面６０４が示されている。当該第２操作案内画面６０４においては、第２操作としてアナログスティック３２を矢印の方向に回転させるように示されている。また、「アナログスティックを外側に指で動かして回転させて下さい」とのメッセージが表示されている。
【０２０９】
ユーザは、当該メッセージに従いコントローラ３のアナログスティック３２を矢印で示されるように外側に動かして回転させるように促される。
【０２１０】
図１７（Ｂ）には、アナログスティック３２の最大および最小ストローク値を算出する方式が示されている。
【０２１１】
図１７（Ｂ）に示されるように本例においては、Ｘ軸およびＹ軸の２次元座標が示されている。ここで、ユーザがアナログスティック３２を外側に指で回転させた場合に測定された２次元座標における測定値（位置座標）Ｑ１〜Ｑ４が示されている。本例においては、アナログスティック３２を外側に指で回転させた場合に複数の測定値を取得する。
【０２１２】
本例においては、取得した複数の測定値のうち少なくとも４点を抽出する。具体的には、測定値Ｑ２，Ｑ４は、Ｘ軸におけるストローク最大値および最小値を有する測定値である。測定値Ｑ１，Ｑ３は、Ｙ軸におけるストローク最大値および最小値を有する測定値である。
【０２１３】
当該測定値に基づいてＸ軸およびＹ軸におけるストローク最大値および最小値を算出する。
【０２１４】
ストローク最大値および最小値の測定値に基づいて２次元座標におけるストローク最大領域Ｒ２が設定される。
【０２１５】
２次元座標における領域Ｒ１は、補正パラメータ情報のモデル情報３２０に含まれるアナログスティックのストローク保証範囲３２４により設定される領域である。
【０２１６】
本例においては、補正パラメータ設定部２０４は、複数の測定値のうち抽出された測定値がストローク保証範囲３２４により指定された領域Ｒ１内より外側にあるか否かを判断する。補正パラメータ設定部２０４は、測定値がストローク保証範囲３２４により指定された領域Ｒ１内に含まれないと判断した場合には、測定値は許容値であると判断する。一方、補正パラメータ設定部２０４は、測定値がストローク保証範囲３２４により指定された領域Ｒ１内にあると判断した場合には、測定値は許容値ではないと判断する。
【０２１７】
補正パラメータ設定部２０４は、ストローク最大領域Ｒ２に対して外側不感帯係数αを乗算した領域を領域Ｒ３に設定する。本例においては、ストローク最大領域Ｒ２と領域Ｒ３との間で囲まれる領域を外側不感帯領域に設定する。
【０２１８】
補正パラメータ設定部２０４は、一例として外側不感帯領域の設定として、ストローク最大領域と、ストローク最大領域から外側不感帯係数を乗算した領域との間に囲まれる領域との間に設定する方式を説明したが、設定方式はこれに限られない。
【０２１９】
再び図１５を参照して、補正パラメータ設定部２０４は、算出された原点座標および最大および最小ストローク値をコントローラに書き込むために書込部２０６に出力する（ステップＳ２４）。そして、処理を終了する（エンド）。
【０２２０】
書込部２０６は、補正パラメータ設定部２０４から出力された原点座標および最大および最小ストローク値をコントローラ３に送信する。
【０２２１】
コントローラ３の通信制御部１０１は、書込部２０６からの書込命令および原点座標および最大および最小ストローク値を受信する。
【０２２２】
通信制御部１０１は、書込命令に従ってメモリ１０２に格納されている補正パラメータ情報を更新する。具体的には、アナログスティック補正パラメータ値３１０の書込フラグデータ３１４に書込フラグ（識別情報）を格納する。
【０２２３】
また、通信制御部１０１は、原点３１６、最大ストローク値３１４、最小ストローク値３１７として、本体装置２において算出された原点座標および最大および最小ストローク値を格納する。
【０２２４】
図１８は、実施形態に基づく加速度センサの補正パラメータ設定処理を説明するフロー図である。
【０２２５】
図１８に示されるように、補正パラメータ設定部２０４は、加速度センサボタン５０４の選択が有ったかどうかを判断する（ステップＳ３０）。具体的には、補正パラメータ設定画面５００において、コントローラ３からの操作データにより加速度センサボタン５０４の選択指示が有ったかどうかを判断する。
【０２２６】
ステップＳ３０において、補正パラメータ設定部２０４は、加速度センサボタン５０４の選択が有ったと判断した場合（ステップＳ３０においてＹＥＳ）には、静止状態案内画面６１０をディスプレイ１２に表示する（ステップＳ３２）。
【０２２７】
次に、補正パラメータ設定部２０４は、静止判定する（ステップＳ３３）。具体的には、加速度センサ１０４のセンサ値が安定しているか否かを判断する。加速度センサ１０４のセンサ値が安定していると判断した場合には静止判定がＯＫであると判断する。
【０２２８】
次に、補正パラメータ設定部２０４は、静止判定がＯＫであると判断した場合（ステップＳ３３においてＹＥＳ）には、加速度センサのデータを測定する（ステップＳ３６）。
【０２２９】
一方、ステップＳ３３において、補正パラメータ設定部２０４は、静止判定がＯＫでないと判断した場合（ステップＳ３３においてＮＯ）には、ステップＳ３２に戻る。
【０２３０】
図１９は、実施形態に基づくディスプレイ１２に表示される静止状態案内画面６１０を説明する図である。
【０２３１】
図１９には、静止状態案内画面６１０が示されており、各種のコントローラとともに、「水平のテーブルに置いて下さい」とのメッセージが表示されている。
【０２３２】
ユーザは、当該メッセージに従いコントローラ３を水平のテーブルに置くように促される。
【０２３３】
当該状態で加速度センサのデータが測定される。
再び図１８を参照して、補正パラメータ設定部２０４は、データ調整処理を実行する（ステップＳ３７）。
【０２３４】
加速度センサ１０４は、コントローラの筺体の傾き等により水平のテーブルに置いた場合であっても加速度センサ１０４自体が水平で無い可能性が有る。本例においては、仮想的なコントローラの水平状態における加速度センサ１０４の値を０（基準値）に設定するために、モデル情報３２０に含まれる加速度センサオフセット値３２１を利用する。加速度センサオフセット値３２１は、筺体の傾き等を考慮して基準値を取得するための調整データである。
【０２３５】
本例においては、データ調整処理により、加速度センサの測定されたデータと、加速度センサオフセット値３２１とに基づいて加速度センサ１０４の基準値を算出する。
【０２３６】
次に、補正パラメータ設定部２０４は、算出された加速度センサの基準値をコントローラに書き込むために書込部２０６に出力する（ステップＳ３８）。そして、処理を終了する（エンド）。
【０２３７】
書込部２０６は、補正パラメータ設定部２０４から出力された基準値をコントローラ３に送信する。
【０２３８】
コントローラ３の通信制御部１０１は、書込部２０６からの書込命令および基準値を受信する。
【０２３９】
通信制御部１０１は、書込命令に従ってメモリ１０２に格納されている補正パラメータ情報を更新する。具体的には、加速度センサ補正パラメータ値３０１の書込フラグデータ３０４に書込フラグ（識別情報）を格納する。
【０２４０】
また、通信制御部１０１は、基準値データ３０６として、本体装置２から送信された基準値を格納する。
【０２４１】
初期状態においては、ゲーム処理において、製造工程時に従う基準値データ３０２を基準として、基準値からの操作入力としてのコントローラ３の傾き（加速度センサ１０４の傾き）を算出して、傾きに応じた指令量に基づいてゲーム処理を実行する。
【０２４２】
補正パラメータ設定処理が実行された場合には、ゲーム処理において、補正パラメータ設定処理に従う基準値データ３０６を基準として、基準値からの操作入力としてのコントローラ３の傾き（加速度センサ１０４の傾き）を算出して、傾きに応じた指令量に基づいてゲーム処理を実行する。
【０２４３】
角速度センサの補正パラメータ設定処理については、加速度センサ１０４の補正パラメータ設定処理と基本的には同様であるのでその詳細な説明については繰り返さない。
【０２４４】
具体的には、補正パラメータ設定画面５００において、コントローラ３からの操作データにより角速度センサボタン５０６の選択指示が有ったかどうかが判断され、角速度センサボタン５０６の選択指示が有った場合に、角速度センサの補正パラメータ設定処理が実行される。加速度センサの場合と同様に、静止状態での角速度センサのデータが測定される。そして、書込部２０６は、書込命令および測定された角速度センサのセンサ値をコントローラ３に送信する。コントローラ３の通信制御部１０１は、書込命令に従ってメモリ１０２に格納されている補正パラメータ情報を更新する。具体的には、角速度センサ補正パラメータ値３３１の書込フラグデータ３３４に書込フラグ（識別情報）を格納する。また、通信制御部１０１は、基準値データ３３６として、角速度センサのセンサ値を格納する。
【０２４５】
当該データを用いて、当該角速度センサ１０５の仮想的なコントローラの静止状態における角速度センサ１０５の値を０（基準値）に設定することが可能となる。
【０２４６】
なお、角速度センサ１０５についてはモデル情報は用いられない。
初期状態においては、ゲーム処理において、製造工程時に従う基準値データ３３２を基準として、基準値からの操作入力としてのコントローラ３の動き（角速度センサ１０５の値）を算出して、動き操作に応じた指令量に基づいてゲーム処理を実行する。
【０２４７】
補正パラメータ設定処理が実行された場合には、ゲーム処理において、補正パラメータ設定処理に従う基準値データ３３６を基準として、基準値からの操作入力としてのコントローラ３の動き（角速度センサ１０５の値）を算出して、動き操作に応じた指令量に基づいてゲーム処理を実行する。
【０２４８】
［Ｇ：ゲーム処理］
図２０は、実施形態に基づくゲーム装置１によって実行されるゲーム処理を説明するフロー図である。
【０２４９】
図２０に示される各ステップは、典型的には、本体装置２のＣＰＵ８１がプログラムを実行することで実現される。
【０２５０】
図２０を参照して、ＣＰＵ８１は、ゲーム処理の実行が指示されるか否かを判断する（ステップＳ４０）。ゲーム実行処理部２００は、ゲーム処理の開始が指示されたか否かを判断する。
【０２５１】
ＣＰＵ８１は、ゲーム処理の実行が指示されたと判断した場合（ステップＳ４０においてＹＥＳ）には、補正パラメータ情報を取得する（ステップＳ４１）。具体的には、取得部２０３は、コントローラ３のメモリ１０２に格納されている補正パラメータ情報を取得する。
【０２５２】
次に、ＣＰＵ８１は、ユーザ補正パラメータデータが有るか否かを判断する（ステップＳ４２）。具体的には、選択部２０２は、取得部２０３で取得したユーザ補正パラメータ情報にユーザ補正パラメータデータが含まれているか否かを判断する。
【０２５３】
ステップＳ４２において、ＣＰＵ８１は、ユーザ補正パラメータデータが有ると判断した場合（ステップＳ４２においてＹＥＳ）には、ユーザ補正パラメータデータに基づいて指令テーブルを算出する（ステップＳ４４）。処理部２０１は、選択部２０２で選択されたユーザ補正パラメータデータに基づいて指令テーブルを算出する。当該指令テーブルの算出により、ユーザ設定による操作データの補正処理（キャリブレーション処理）を実行することが可能である。
【０２５４】
一方、ステップＳ４２において、ＣＰＵ８１は、ユーザ補正パラメータデータが無いと判断した場合（ステップＳ４２においてＮＯ）には、製造工程補正パラメータデータに基づいて指令テーブルを算出する（ステップＳ４６）。処理部２０１は、選択部２０２で選択された製造工程補正パラメータデータに基づいて指令テーブルを算出する。当該指令テーブルの算出により、製造工程設定による操作データの補正処理（キャリブレーション処理）を実行することが可能である。
【０２５５】
図２１は、実施形態に基づくアナログスティックの指令テーブルを説明する概念図である。
【０２５６】
図２１に示されるように、本例においては、２つの指令テーブルＬ１，Ｌ２が設けられている場合が示されている。指令テーブルＬ１は、製造工程補正パラメータデータに基づく指令テーブルである。指令テーブルＬ２は、ユーザ補正パラメータデータに基づく指令テーブルである。
【０２５７】
本例においては、原点ＯからＸ軸方向にＸａ分の長さは中央不感帯幅として設定される。
【０２５８】
また、指令テーブルＬ１においては、Ｘ軸方向にＸｂ分の長さより遠い領域は外側不感帯領域として設定される。また、指令テーブルＬ２においては、Ｘ軸方向にＸｃ分の長さより遠い領域は外側不感帯領域として設定される。
【０２５９】
本例においては、製造工程時に従う最大ストローク値３１１、原点３１２、最小ストローク値３１３に基づいて、図１７（Ｂ）で説明したようにストローク最大領域Ｒ２が設定される。そして、モデル情報３２０の外側不感帯係数αに基づいて領域Ｒ３が設定される。
【０２６０】
ストローク最大領域Ｒ２と領域Ｒ３との間で囲まれる領域が外側不感帯領域に設定される。当該設定に従いＸ軸方向の外側不感帯限界位置Ｘｂが設定される。外側不感帯限界位置Ｘｂ、指令量Ｍａｘと、中央不感帯限界位置Ｘａ、指令量０との間で線形に指令量が遷移するように指令テーブルＬ１が設定される。
【０２６１】
同様に、補正パラメータ設定処理に従う最大ストローク値３１５、原点３１６、最小ストローク値３１７に基づいて、図１７（Ｂ）で説明したようにストローク最大領域Ｒ２が設定される。そして、モデル情報３２０の外側不感帯係数αに基づいて領域Ｒ３が設定される。
【０２６２】
ストローク最大領域Ｒ２と領域Ｒ３との間で囲まれる領域が外側不感帯領域に設定される。当該設定に従いＸ軸方向の外側不感帯限界位置Ｘｃが設定される。外側不感帯限界位置Ｘｃ、指令量Ｍａｘと、中央不感帯限界位置Ｘａ、指令量０との間で線形に指令量が遷移するように指令テーブルＬ２が設定される。
【０２６３】
次に、ＣＰＵ８１は、操作入力が有るか否かを判断する（ステップＳ４８）。処理部２０１は、コントローラからの操作入力が有るか否かを判断する。
【０２６４】
ステップＳ４８において、ＣＰＵ８１は、操作入力が有ると判断した場合（ステップＳ４８においてＹＥＳ）には、算出された指令テーブルに基づいて指令量を算出する（ステップＳ５０）。処理部２０１は、操作入力が有ると判断した場合には、算出された指令テーブルＬ１，Ｌ２のいずれか一方の指令テーブルに基づいて指令量を算出する。
【０２６５】
次に、ＣＰＵ８１は、算出された指令量に基づいてゲーム処理を実行する（ステップＳ５２）。具体的には、処理部２０１は、算出された指令量に応じたゲーム画像を生成する。そして、生成されたゲーム画像に従ってディスプレイ１２に更新出力する。
【０２６６】
次に、ＣＰＵ８１は、ゲーム処理の終了が指示されたかどうかを判断する（ステップＳ５４）。処理部２０１は、終了指示が入力されたか否かを判断する。
【０２６７】
ステップＳ５４において、ＣＰＵ８１は、ゲーム処理の終了が指示されたと判断した場合（ステップＳ５４においてＹＥＳ）には、処理を終了する（エンド）。
【０２６８】
一方、ステップＳ５４において、ＣＰＵ８１は、ゲーム処理の終了が指示されていないと判断した場合（ステップＳ５４においてＮＯ）には、ステップＳ４８に戻り、上記処理を繰り返す。
【０２６９】
なお、上記のフローにおいては、アナログスティックの指令テーブルに基づくゲーム処理について説明した。
【０２７０】
加速度センサについても基本的には同様である。上記で説明したように、書込フラグデータ３０４が無い場合には、製造工程時に従う基準値データ３０２が選択される。書込フラグデータ３０４が有る場合には、補正パラメータ設定処理に従う基準値データ３０６が選択される。ゲーム処理においては、選択された基準値からの操作入力としてのコントローラ３の傾き（加速度センサ１０４の傾き）を算出して、傾きに応じた指令量に基づいてゲーム処理を実行する。
【０２７１】
角速度センサについても基本的には同様である。上記で説明したように、書込フラグデータ３３４が無い場合には、製造工程時に従う基準値データ３３２が選択される。書込フラグデータ３３４が有る場合には、補正パラメータ設定処理に従う基準値データ３３６が選択される。ゲーム処理においては、選択された基準値からの操作入力としてのコントローラ３の動きを算出して、動きに応じた指令量に基づいてゲーム処理を実行する。
【０２７２】
コントローラ３に関して、アナログスティック３２、加速度センサ１０４および角速度センサ１０５の少なくとも２つ以上を組み合わせて用いた操作入力についても同様に適用可能である。
【０２７３】
また、上記においては、主にコントローラ３について説明したが、コントローラ４についても同様に適用可能である。
【０２７４】
また、付属コントローラ４０１についても同様に適用可能である。
付属コントローラ４０１の場合には、アナログスティック４１１および４１２の複数のアナログスティックが設けられている。当該場合には、付属コントローラ４０１のメモリには、補正パラメータ情報として、複数のアナログスティックにそれぞれ対応して複数の製造工程補正パラメータ値、複数のユーザ補正パラメータ値が格納される。また、モデル情報においても、複数のアナログスティックのそれぞれ対応するモデル毎の補正パラメータが格納される。
【０２７５】
本実施形態に基づく方式により、コントローラ３のメモリ１０２にコントローラ３固有の補正パラメータ情報が格納される。そして、コントローラ３から本体装置２に補正パラメータ情報が送信されて、ゲーム処理で実行される。したがって、本体装置２は、コントローラ３のメモリ１０２に格納された個別の補正パラメータ情報に従ってゲーム処理内において精度の高いキャリブレーション処理を実行することが可能である。
【０２７６】
また、補正パラメータ情報には、コントローラのモデル（型）毎のモデル情報が含まれる。したがって、コントローラのモデルが更新された場合であっても、当該モデル情報が更新されるのみであり、本体装置２においてコントローラのモデルを管理する必要がない。
【０２７７】
すなわち、コントローラが更新されることに応じて、当該コントローラと通信するための本体装置２のソフトウェアプログラムを更新（アップデート）する等の煩雑な作業処理をする必要がないため利便性が向上する。
【０２７８】
なお、上記においては、補正パラメータ設定画面５００において、加速度センサ１０４および角速度センサ１０５のそれぞれについて補正パラメータ設定処理を実行するボタンを設けて、それぞれの補正パラメータ設定処理を実行する場合について説明したが、ユーザの操作は同じであるため１回の設定処理でそれぞれの補正パラメータ設定処理を同時に実行することも可能である。当該方式により簡易に補正パラメータ設定処理を実行することが可能である。
【０２７９】
また、本実施形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションプログラムの一部の機能として組み込まれてもよい。
【０２８０】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２８１】
１  ゲーム装置、２  本体装置、３  左コントローラ、４  右コントローラ、５  クレードル、６  テレビ、１１，３１，５１，４０２  ハウジング、１１ａ，１１ｂ  スピーカ孔、１２  ディスプレイ、１３  タッチパネル、１５  左レール部材、１７  左側端子、１９  右レール部材、２１  右側端子、２３  第１スロット、２５  音声入出力端子、２７  下側端子、２８  電源ボタン、３２，５２  アナログスティック、３３〜３８  操作ボタン、４０，６２  スライダ、４２，６４  端子、８１  ＣＰＵ、８２  ネットワーク通信部、８３  コントローラ通信部、８４  フラッシュメモリ、８５  ＲＡＭ、８６  タッチパネルコントローラ、８７  コーデック回路、８８  スピーカ、９７  電力制御部、９８  バッテリ、１０１，１１１  通信制御部、１０２，１１２  メモリ、１０３，１１３  操作ボタン群、１０４，１１４  加速度センサ、１０５，１１５  角速度センサ、１０９，１１９  電力供給部、２００  ゲーム実行処理部、２０１  処理部、２０２  選択部、２０３  取得部、２０４  補正パラメータ設定部、２０６  書込部、４０１  付属コントローラ。
【図１】
2018110736.tif 000003
【図２】
2018110736.tif 000004
【図３】
2018110736.tif 000005
【図４】
2018110736.tif 000006
【図５】
2018110736.tif 000007
【図６】
2018110736.tif 000008
【図７】
2018110736.tif 000009
【図８】
2018110736.tif 000010
【図９】
2018110736.tif 000011
【図１０】
2018110736.tif 000012
【図１１】
2018110736.tif 000013
【図１２】
2018110736.tif 000014
【図１３】
2018110736.tif 000015
【図１４】
2018110736.tif 000016
【図１５】
2018110736.tif 000017
【図１６】
2018110736.tif 000018
【図１７】
2018110736.tif 000019
【図１８】
2018110736.tif 000020
【図１９】
2018110736.tif 000021
【図２０】
2018110736.tif 000022
【図２１】
2018110736.tif 000023
【手続補正書】
【提出日】平成29年4月19日(2017.4.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
本体装置とゲームコントローラとを含むゲームシステムであって、
前記ゲームコントローラは、
アナログスティックと、
前記アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、前記アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第１モデル調整値を含む補正パラメータ情報を記憶する記憶部と、
前記記憶部に格納された補正パラメータ情報を前記本体装置に送信する送信部とを有し、
本体装置は、
前記送信部により送信された前記補正パラメータ情報に含まれる前記第１製造工程補正パラメータ値および前記第１ユーザ補正パラメータ値のいずれかを選択する選択部と、
選択した補正パラメータ値、前記第１モデル調整値および前記アナログスティックの入力データとに基づいて、ゲーム処理を実行するゲーム処理部とを有する、ゲームシステム。
【請求項２】
前記選択部は、前記補正パラメータ情報に前記第１ユーザ補正パラメータ値が含まれている場合には、前記第１ユーザ補正パラメータ値を優先的に選択する、請求項１記載のゲームシステム。
【請求項３】
前記選択部は、
前記補正パラメータ情報に前記第１ユーザ補正パラメータ値が含まれていることを示す識別情報が有るか否かを判断し、
前記識別情報が有ると判断した場合には、前記補正パラメータ情報に含まれる前記第１ユーザ補正パラメータ値を選択する、請求項２記載のゲームシステム。
【請求項４】
前記ゲームコントローラは、
加速度センサをさらに有し、
前記記憶部は、前記加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値および前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第２ユーザ補正パラメータ値を前記補正パラメータ情報の一部としてさらに記憶し、
前記選択部は、前記送信部により送信された前記補正パラメータ情報に含まれる前記第２製造工程補正パラメータ値および前記第２ユーザ補正パラメータ値のいずれかを選択し、
前記ゲーム処理部は、選択した補正パラメータ値および前記加速度センサの入力データとにも基づいて、前記ゲーム処理を実行する、請求項１〜請求項３のいずれか１項に記載のゲームシステム。
【請求項５】
前記ゲームコントローラは、
角速度センサをさらに有し、
前記記憶部は、前記角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値および前記ゲームコントローラに対するユーザの操作に応じて決定される第３ユーザ補正パラメータ値を前記補正パラメータ情報の一部としてさらに記憶し、
前記選択部は、前記送信部により送信された前記補正パラメータ情報に含まれる前記第３製造工程補正パラメータ値および前記第３ユーザ補正パラメータ値のいずれかを選択し、
前記ゲーム処理部は、選択した補正パラメータ値および前記角速度センサの入力データにも基づいて、前記ゲーム処理を実行する、請求項１〜請求項４のいずれか１項に記載のゲームシステム。
【請求項６】
前記第１モデル調整値は、中央不感帯領域および外側不感帯領域を設定する情報である、請求項１記載のゲームシステム。
【請求項７】
前記本体装置は、前記第１ユーザ補正パラメータ値を前記コントローラの前記記憶部に書き込む書込部をさらに備える、請求項１記載のゲームシステム。
【請求項８】
アナログスティックと、
加速度センサと、
記憶部と、
本体装置と通信可能に設けられた通信制御部とを備え、
前記記憶部は、
前記アナログスティックに関連し、製造工程において決定される第１製造工程補正パラメータ値、前記アナログスティックに対するユーザの操作に応じて決定される第１ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第１モデル調整値と、
前記加速度センサに関連し、製造工程において決定される第２製造工程補正パラメータ値、前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第２ユーザ補正パラメータ値および前記ゲームコントローラのモデルに対応する第２モデル調整値とを含む補正パラメータ情報が記憶可能に設けられ、
前記通信制御部は、
前記本体装置と接続された場合に前記記憶部に格納された前記補正パラメータ情報を前記本体装置に送信し、
前記本体装置から前記記憶部に格納するための前記第１ユーザ補正パラメータ値および前記第２ユーザ補正パラメータ値の少なくともいずれかを受信し、
前記本体装置でゲーム処理が実行される場合に、前記アナログスティックおよび前記加速度センサの少なくともいずれかの操作データを前記本体装置に送信する、ゲームコントローラ。
【請求項９】
前記第１モデル調整値は、中央不感帯領域を設定する情報を含む、請求項８記載のゲームコントローラ。
【請求項１０】
前記第１モデル調整値は、外側不感帯領域を設定する情報を含む、請求項８記載のゲームコントローラ。
【請求項１１】
複数のアナログスティックが設けられ、
前記記憶部は、
前記複数のアナログスティックにそれぞれ関連し、製造工程において決定される複数の第１製造工程補正パラメータ値、前記複数のアナログスティックにそれぞれ対するユーザの操作に応じて決定される複数の第１ユーザ補正パラメータ値および前記複数のアナログスティックにそれぞれ対する前記ゲームコントローラのモデルに対する複数の第１モデル調整値が記憶される、請求項８〜請求項１０のいずれか１項に記載のゲームコントローラ。
【請求項１２】
角速度センサをさらに備え、
前記記憶部は、
前記角速度センサに関連し、製造工程において決定される第３製造工程補正パラメータ値および前記ゲームコントローラに対する前記ユーザの操作に応じて決定される第３ユーザ補正パラメータ値を前記補正パラメータ情報の一部として記憶可能に設けられ、
前記通信制御部は、
前記本体装置から前記記憶部に格納するための前記第１ユーザ補正パラメータ値、前記第２ユーザ補正パラメータ値および前記第３ユーザ補正パラメータ値の少なくともいずれかを受信し、
前記本体装置でゲーム処理が実行される場合に、前記アナログスティック、前記加速度センサおよび前記角速度センサの少なくともいずれかの操作データを前記本体装置に送信する、請求項８〜請求項１１のいずれか１項に記載のゲームコントローラ。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2018110736.tif 000024
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2018110736.tif 000025
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2018110736.tif 000026
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2018110736.tif 000027