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