(57)【要約】    【課題】  より多様な操作を行うことができる。    【構成】  ゲームシステム１は、本体装置２を含み、この本体装置には左コントローラ３および右コントローラ４が着脱可能に設けられる。ユーザは、右コントローラが装着された付加操作装置（６、７）を操作して、個別ゲームをプレイし、また、異なる複数種類の個別ゲームに対応するアイコン（２１０、２１１、２１２、２１３）が表示されたメニュー画像においてプレイする個別ゲームを選択する。メニュー画像には、個別ゲームで操作するゲーム用乗物オブジェクト（２０１、２０２）に関連するメニュー用乗物オブジェクト（２０１ａ、２０２ａ）が指示画像として表示される。ユーザは、ゲーム用オブジェクトの操作方法と同じ操作方法で操作してメニュー乗物オブジェクトを移動させて、アイコンを選択する。【選択図】  図１
2019209023.tif 000002
【特許請求の範囲】
【請求項１】
操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲームシステムであって、
前記ゲーム処理に関する選択操作を行うための選択画像を表示させる表示手段と、
前記ゲームコントローラの前記操作部に対する操作に基づいて、前記選択画像を第１の方法によって選択することを可能にする第１選択手段と、
前記ゲームコントローラが前記アクセサリに対して装着状態にあることを検出する装着検出手段と、
前記装着検出手段によって前記ゲームコントローラが前記装着状態にあることが検出された場合に、前記アクセサリに対する操作に基づいて、前記選択画像を前記第１の方法とは異なる第２の方法によって選択することを可能にする第２選択手段とを備える、ゲームシステム。
【請求項２】
前記ゲームコントローラは、前記アクセサリに対する操作を検出する操作検出部をさらに有し、
前記第２選択手段は、前記操作検出部による検出結果に基づいて、前記選択画像を前記第２の方法によって選択することを可能にする、請求項１記載のゲームシステム。
【請求項３】
前記ゲームコントローラは、前記操作検出部として、撮像部をさらに有し、
前記アクセサリは、
操作部と、
前記操作部に対する操作に応じて動く可動部と、
前記可動部に設けられ、当該アクセサリに装着された前記ゲームコントローラの前記撮像部によって撮像可能な被検出部をさらに有し、
前記ゲームシステムは、
前記撮像部によって撮像された画像に含まれる前記被検出部の位置、形状および向きの少なくともいずれか一つに基づいて、前記アクセサリに対する操作の内容を判断する操作内容判断部をさらに備える、請求項２記載のゲームシステム。
【請求項４】
前記ゲームコントローラは、前記操作検出部として、撮像部をさらに有し、
前記アクセサリは、
前記ゲームコントローラを挿入して装着するための挿入部と、
当該アクセサリの内部に設けられ、前記ゲームコントローラの前記撮像部によって撮像可能な被検出部をさらに有し、
前記装着検出手段は、前記挿入部に挿入して装着された前記ゲームコントローラの前記撮像部によって撮像された前記被検出部を含む画像に基づいて、前記ゲームコントローラが前記アクセサリに対して装着状態にあるかどうかを検出する、請求項２記載のゲームシステム。
【請求項５】
前記ゲーム処理手段は、前記操作検出部の検出結果に基づいて、前記所定のゲーム処理を行う、請求項２記載のゲームシステム。
【請求項６】
前記表示手段は、第１オブジェクトを表示させ、
前記第２選択手段は、前記第２の方法として、前記アクセサリに対する操作に基づいて前記第１オブジェクトを操作することによって、前記選択画像を選択することを可能にする、請求項１から５までのいずれかに記載のゲームシステム。
【請求項７】
前記表示手段は、前記ゲーム処理手段によって前記ゲーム処理が行われる場合に、第２オブジェクトを表示させ、
前記ゲーム処理手段は、前記アクセサリに対する方向指示操作に基づく方向へ前記第２オブジェクトを移動させ、
前記第２選択手段は、前記アクセサリに対する前記方向指示操作に基づいて、前記第１オブジェクトを前記方向へ移動させる、請求項６記載のゲームシステム。
【請求項８】
前記第２選択手段による選択中に前記選択画像を選択することによって、前記ゲーム処理を開始する、ゲーム処理開始手段をさらに備える、請求項１から７までのいずれかに記載のゲームシステム。
【請求項９】
前記表示手段は、少なくとも前記第２選択手段によって選択することが可能になった場合に、前記アクセサリに対する操作に基づいて操作可能な所定のオブジェクトをさらに表示する、請求項１から８までのいずれかに記載のゲームシステム。
【請求項１０】
前記表示手段は、前記装着検出手段によって前記ゲームコントローラが前記アクセサリに対して装着状態にあることが検出された場合に、前記アクセサリに対する操作に基づいて操作可能な第１オブジェクトを表示し、前記ゲーム処理を行う場合に、前記第１オブジェクトに外観が関連する第２オブジェクトを表示する、請求項１から９までのいずれかに記載のゲームシステム。
【請求項１１】
操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置であって、
前記ゲーム処理に関する選択操作を行うための選択画像を表示させる表示手段と、
前記ゲームコントローラの前記操作部に対する操作に基づいて、前記選択画像を第１の方法によって選択することを可能にする第１選択手段と、
前記ゲームコントローラが前記アクセサリに対して装着状態にあることを検出する装着検出手段と、
前記装着検出手段によって前記ゲームコントローラが前記装着状態にあることが検出された場合に、前記アクセサリに対する操作に基づいて、前記選択画像を前記第１の方法とは異なる第２の方法によって選択することを可能にする第２選択手段とを備える、ゲーム装置。
【請求項１２】
操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置のコンピュータによって実行されるゲームプログラムであって、
前記コンピュータに、
前記ゲーム処理に関する選択操作を行うための選択画像を表示させる表示ステップと、
前記ゲームコントローラの前記操作部に対する操作に基づいて、前記選択画像を第１の方法によって選択することを可能にする第１選択ステップと、
前記ゲームコントローラが前記アクセサリに対して装着状態にあることを検出する装着検出ステップと、
前記装着検出ステップにおいて前記ゲームコントローラが前記装着状態にあることを検出した場合に、前記アクセサリに対する操作に基づいて、前記選択画像を前記第１の方法とは異なる第２の方法によって選択することを可能にする第２選択ステップを実行させる、ゲームプログラム。
【請求項１３】
操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置のゲーム制御方法であって、
（ａ）前記ゲーム処理に関する選択操作を行うための選択画像を表示させるステップと、
（ｂ）前記ゲームコントローラの前記操作部に対する操作に基づいて、前記選択画像を第１の方法によって選択することを可能にするステップと、
（ｃ）前記ゲームコントローラが前記アクセサリに対して装着状態にあることを検出するステップと、
（ｄ）前記ステップ（ｃ）において前記ゲームコントローラが前記装着状態にあることを検出した場合に、前記アクセサリに対する操作に基づいて、前記選択画像を前記第１の方法とは異なる第２の方法によって選択することを可能にするステップを含む、ゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法に関し、特にたとえば、コントローラが装着されたアクセサリの操作に基づいて所定のゲーム処理を行う、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１によれば、操作装置は細長い形状のハウジングを有し、このハウジングに加速度センサおよび／またはジャイロセンサが収納される。加速度センサおよび／またはジャイロセンサによる加速度データおよび／または角速度データは、操作データ送信部によって操作データに含めて送信される。また、ハウジングの下端部に、球面または略球面を有する弾性部材が設けられる。ユーザは、弾性部材付きのハウジングを把持して、弾性部材の球面または略球面を机面等と接触させ、その接点ないし接触面を支点としてハウジングを傾けることで、操作装置をジョイスティックのように操作することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２７８０４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１では、操作装置のハウジングに弾性部材を取り付けることにより、ハウジングを傾け易くすることができるが、操作装置が備える機能を用いた他の操作を実現するものではなかった。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法を提供することである。
【０００６】
また、この発明の他の目的は、より多様な操作を実現できる、ゲームシステム、ゲーム装置、ゲームプログラムおよびゲーム制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲームシステムであって、表示手段と、第１選択手段と、装着検出手段と、第２選択手段とを備える。表示手段は、ゲーム処理に関する選択操作を行うための選択画像を表示される。第１選択手段は、ゲームコントローラの操作部に対する操作に基づいて、選択画像を第１の方法によって選択することを可能にする。装着検出手段は、ゲームコントローラがアクセサリに対して装着状態にあることを検出する。第２選択手段は、装着検出手段によってゲームコントローラが装着状態にあることが検出された場合に、アクセサリに対する操作に基づいて、選択画像を第１の方法とは異なる第２の方法によって選択することを可能にする。
【０００８】
第１の発明によれば、コントローラがアクセサリに装着された場合には、コントローラの操作部を操作する場合と異なる方法で選択画像を選択するので、コントローラを用いてより多様な操作を実現することができる。
【０００９】
第２の発明は、第１の発明に従属し、ゲームコントローラは、アクセサリに対する操作を検出する操作検出部をさらに有している。第２選択手段は、操作検出部による検出結果に基づいて、選択画像を第２の方法によって選択することを可能にする。
【００１０】
第３の発明は、第２の発明に従属し、ゲームコントローラは、操作検出部として、撮像部をさらに有している。アクセサリは、操作部と、操作部に対する操作に応じて動く可動部と、可動部に設けられ、当該アクセサリに装着されたゲームコントローラの撮像部によって撮像可能な被検出部をさらに有している。ゲームシステムは、撮像部によって撮像された画像に含まれる被検出部の位置、形状および向きの少なくともいずれか一つに基づいて、アクセサリに対する操作の内容を判断する操作内容判断部をさらに備える。
【００１１】
第４の発明は、第２の発明に従属し、ゲームコントローラは、操作検出部として、撮像部をさらに有している。アクセサリは、ゲームコントローラを挿入して装着するための挿入部と、当該アクセサリの内部に設けられ、ゲームコントローラの撮像部によって撮像可能な被検出部をさらに有している。装着検出手段は、挿入部に挿入して装着されたゲームコントローラの撮像部によって撮像された被検出部を含む画像に基づいて、ゲームコントローラがアクセサリに対して装着状態にあるかどうかを検出する。
【００１２】
第５の発明は、第２の発明に従属し、ゲーム処理手段は、操作検出部の検出結果に基づいて、所定のゲーム処理を行う。
【００１３】
第５の発明によれば、アクセサリを用いて、ゲーム処理に関する選択操作を行うとともに、ゲーム処理を実行するためのゲーム操作を行うことができる。
【００１４】
第６の発明は、第１から第５の発明までのいずれかに従属し、表示手段は、第１オブジェクトを表示させる。第２選択手段は、第２の方法として、アクセサリに対する操作に基づいて第１オブジェクトを操作することによって、選択画像を選択することを可能にする。
【００１５】
第６の発明によれば、ゲームコントローラが装着されたアクセサリに対する操作で第１オブジェクトを操作することによって選択画像を選択することが可能である。
【００１６】
第７の発明は、第６の発明に従属し、表示手段は、ゲーム処理手段によってゲーム処理が行われる場合に、第２オブジェクトを表示させる。ゲーム処理手段は、アクセサリに対する方向指示操作に基づく方向へ第２オブジェクトを移動させる。第２選択手段は、アクセサリに対するその方向指示操作（または、同じ方向指示操作）に基づいて、第１オブジェクトをその方向（または、同じ方向）へ移動させる。
【００１７】
第７の発明によれば、アクセサリを用いて、第１オブジェクトと第２オブジェクトを同じ操作で制御することができる。したがって、操作対象が第２オブジェクトから第１オブジェクトに変わっても、第２オブジェクトを操作するのと同様の操作感で第１オブジェクトを操作して選択を行うことができる。
【００１８】
第８の発明は、第１から第７までのいずれかに従属し、第２選択手段による選択中に選択画像を選択することによって、ゲーム処理を開始する、ゲーム処理開始手段をさらに備える。
【００１９】
第８の発明によれば、選択画像を選択することによってゲーム処理を開始するので、アクセサリに対する操作を継続して行うことができ、ゲームコントローラに持ち替えるなどの手間を省くことができる。
【００２０】
第９の発明は、第１から第８の発明までのいずれかに従属し、表示手段は、少なくとも第２選択手段によって選択することが可能になった場合に、アクセサリに対する操作に基づいて操作可能な所定のオブジェクトをさらに表示する。
【００２１】
第９の発明によれば、所定のオブジェクトを表示するので、第２選択手段によって選択することが可能になったことを一見して知ることができる。
【００２２】
第１０の発明は、第１から第９の発明までのいずれかに従属し、表示手段は、装着検出手段によってゲームコントローラがアクセサリに対して装着状態にあることが検出された場合に、アクセサリに対する操作に基づいて操作可能な第１オブジェクトを表示し、ゲーム処理を行う場合に、第１オブジェクトに外観が関連する第２オブジェクトを表示する。
【００２３】
第１０の発明によれば、第２オブジェクトは第１オブジェクトに外観が関連するので、第１オブジェクトをゲーム処理における操作と同じ感覚で操作すれば良いことを直感的に知ることができる。
【００２４】
第１１の発明は、操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置であって、表示手段と、第１選択手段と、装着検出手段と、第２選択手段とを備える。表示手段は、ゲーム処理に関する選択操作を行うための選択画像を表示させる。第１選択手段は、ゲームコントローラの操作部に対する操作に基づいて、選択画像を第１の方法によって選択することを可能にする。装着検出手段は、ゲームコントローラがアクセサリに対して装着状態にあることを検出する。第２選択手段は、装着検出手段によってゲームコントローラが装着状態にあることが検出された場合に、アクセサリに対する操作に基づいて、選択画像を第１の方法とは異なる第２の方法によって選択することを可能にする。
【００２５】
第１２の発明は、操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置のコンピュータによって実行されるゲームプログラムであって、コンピュータに、ゲーム処理に関する選択操作を行うための選択画像を表示させる表示ステップと、ゲームコントローラの操作部に対する操作に基づいて、選択画像を第１の方法によって選択することを可能にする第１選択ステップと、ゲームコントローラがアクセサリに対して装着状態にあることを検出する装着検出ステップと、装着検出ステップにおいてゲームコントローラが装着状態にあることを検出した場合に、アクセサリに対する操作に基づいて、選択画像を第１の方法とは異なる第２の方法によって選択することを可能にする第２選択ステップを実行させる、ゲームプログラムである。
【００２６】
第１３の発明は、操作部を有するゲームコントローラと、当該ゲームコントローラが装着可能なアクセサリと、当該ゲームコントローラが装着された当該アクセサリに対する操作に基づいて所定のゲーム処理を行うゲーム処理手段とを含むゲーム装置のゲーム制御方法であって、（ａ）ゲーム処理に関する選択操作を行うための選択画像を表示させるステップと、（ｂ）ゲームコントローラの操作部に対する操作に基づいて、選択画像を第１の方法によって選択することを可能にするステップと、（ｃ）ゲームコントローラがアクセサリに対して装着状態にあることを検出するステップと、（ｄ）ステップ（ｃ）においてゲームコントローラが装着状態にあることを検出した場合に、アクセサリに対する操作に基づいて、選択画像を第１の方法とは異なる第２の方法によって選択することを可能にするステップを含む、ゲーム制御方法である。
【００２７】
第１１−第１３の発明においても、第１の発明と同様に、より多様な操作を実現できる。
【発明の効果】
【００２８】
この発明によれば、より多様な操作を実現できる。
【００２９】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３０】
【図１】図１はこの実施例の本体装置に左コントローラおよび右コントローラを装着した状態の限定しない一例を示す図である。
【図２】図２は本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の限定しない一例を示す図である。
【図３】図３は図１および図２に示した本体装置の限定しない一例を示す六面図である。
【図４】図４は図１および図２に示した左コントローラの限定しない一例を示す六面図である。
【図５】図５は図１および図２に示した右コントローラの限定しない一例を示す六面図である。
【図６】図６は図１および図２に示した本体装置の内部構成の限定しない一例を示すブロック図である。
【図７】図７は図１および図２に示した本体装置と左コントローラおよび右コントローラとの内部構成の限定しない一例を示すブロック図である。
【図８】図８はコントローラと付加操作装置との組み合わせと、操作対象となるオブジェクトとの関係の限定しない一例を示す図である。
【図９】図９は第１付加操作装置および右コントローラの限定しない一例を示す図である
【図１０】図１０は図９に示す第１付加操作装置の限定しない一例を前側から見た図である。
【図１１】図１１は第１付加操作装置の筐体の内部構成の限定しない一例を示す図である。
【図１２】図１２は第１付加操作装置のハンドルが基準状態となる場合において赤外撮像部によって撮像された撮像画像の限定しない一例を示す図である。
【図１３】図１３は第１付加操作装置のハンドルが基準状態から回転した状態となる場合において赤外撮像部によって撮像された撮像画像の限定しない一例を示す図である。
【図１４】図１４は左レバーに対する下げ操作が行われた状態における第１付加操作装置の筐体の内部構造の限定しない一例を示す図である。
【図１５】図１５は第１付加操作装置の左レバーに対する下げ操作が行われた状態において赤外撮像部によって撮像された撮像画像の限定しない一例を示す図である。
【図１６】図１６は右コントローラが第１付加操作装置に装着される場合に表示されるゲーム画像の限定しない一例を示す図である。
【図１７】図１７は第２付加操作装置および右コントローラの限定しない一例を示す図である。
【図１８】図１８は図１７に示す第２付加操作装置の限定しない一例を上側から見た図である。
【図１９】図１９は第２付加操作装置の把持部のボタンが押下された状態における把持部の内部の限定しない一例を示す図である。
【図２０】図２０は右コントローラが第２付加操作装置に装着される場合に表示されるゲーム画像の限定しない一例を示す図である。
【図２１】図２１は右コントローラが第１付加操作装置に装着される場合に表示されるメニュー画像の限定しない一例を示す図である。
【図２２】図２２は右コントローラが第２付加操作装置に装着される場合に表示されるメニュー画像の限定しない一例を示す図である。
【図２３】図２３は右コントローラが付加操作装置に装着されていない場合に表示されるメニュー画像の限定しない一例を示す図である。
【図２４】図２４は図６に示す本体装置のＤＲＡＭのメモリマップの限定しない一例を示す図である。
【図２５】図２５は図６に示す本体装置のプロセッサのゲーム全体処理の限定しない一例の一部を示すフロー図である。
【図２６】図２６は図６に示す本体装置のプロセッサのゲーム全体処理の限定しない一例の他の一部であって、図２５に後続するフロー図である。
【図２７】図２７は図６に示す本体装置のプロセッサのゲーム全体処理の限定しない一例のその他の一部であって、図２６に後続するフロー図である。
【図２８】図２８は図６に示す本体装置のプロセッサの個別ゲーム処理の限定しない一例の一部を示すフロー図である。
【図２９】図２９は図６に示す本体装置のプロセッサの個別ゲーム処理の限定しない一例の他の一部であって、図２８に後続するフロー図である。
【図３０】図３０は図６に示す本体装置のプロセッサの個別ゲーム処理の限定しない一例のその他の一部であって、図２９に後続するフロー図である。
【発明を実施するための形態】
【００３１】
以下、この実施例の限定しない一例に係るゲームシステムについて説明する。この実施例におけるゲームシステム１の一例は、本体装置（情報処理装置；この実施例ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステム１は、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステム１は、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。
【００３２】
なお、詳細は後述するが、ゲームシステム１は、各コントローラ３または４を装着可能なアタッチメント（後述する付加操作装置（６、７））を含む。以下では、まず、本体装置２ならびに各コントローラ３および４のハードウェア構成について説明し、その後に、アタッチメントの構成と、当該アタッチメントを用いる場合におけるゲームシステム１の処理とについて説明する。
【００３３】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３４】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３５】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。この実施例において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００３６】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３７】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。この実施例においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３８】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。この実施例においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３９】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００４０】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００４１】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００４２】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。この実施例において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、この実施例においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４３】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。この実施例においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４４】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック３２を押下する入力が可能である。
【００４５】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上に第１Ｌボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面のうち、本体装置２に装着される際に装着される側の面に、第２Ｌボタン４３および第２Ｒボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４６】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００４７】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。この実施例においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４８】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。この実施例においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上に第１Ｒボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。
【００４９】
また、ハウジング５１の下側面には、窓部６８が設けられる。詳細は後述するが、右コントローラ４は、ハウジング５１の内部に配置される赤外撮像部１２３および赤外発光部１２４を備えている。赤外撮像部１２３は、「操作検出部」の一例であり、右コントローラ４の下方向（図５に示すｙ軸負方向）を撮像方向として、窓部６８を介して右コントローラ４の周囲を撮像する。赤外発光部１２４は、右コントローラ４の下方向（図５に示すｙ軸負方向）を中心とする所定範囲を照射範囲として、赤外撮像部１２３が撮像する撮像対象に窓部６８を介して赤外光を照射する。窓部６８は、赤外撮像部１２３のカメラのレンズや赤外発光部１２４の発光体等を保護するためのものであり、当該カメラが検知する波長の光や当該発光体が照射する光を透過する材質（例えば、透明な材質）で構成される。なお、窓部６８は、ハウジング５１に形成された孔であってもよい。なお、この実施例においては、カメラが検知する光（この実施例においては、赤外光）以外の波長の光の透過を抑制するフィルタ部材を赤外撮像部１２３自身が有する。ただし、他の実施例においては、窓部６８がフィルタの機能を有していてもよい。
【００５０】
また、詳細は後述するが、右コントローラ４は、ＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）の規格に基づく近距離無線通信を行う。ＮＦＣ通信部１２２は、近距離無線通信に用いられるアンテナ１２２ａと、アンテナ１２２ａから送出すべき信号（電波）を生成する回路（例えばＮＦＣチップ）とを有する。なお、ＮＦＣ通信部１２２は、ＮＦＣの規格に基づく近距離無線通信を行う代わりに、任意の近接通信（非接触通信とも言う）で近距離無線通信を行うようにしてもよい。ここで、ＮＦＣの規格は、近接通信（非接触通信）に用いることができるものであり、「任意の近接通信で近距離無線通信を行うようにしてもよい」とは、ＮＦＣの規格による近接通信を除いた他の近接通信で近距離無線通信を行ってもよいことを意図している。
【００５１】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００５２】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００５３】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００５４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００５５】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００５６】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００５７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。この実施例においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００５８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、この実施例においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００５９】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、この実施例においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００６０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００６１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００６２】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００６３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００６４】
また、本体装置２は、加速度センサ８９を備える。この実施例においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００６５】
また、本体装置２は、角速度センサ９０を備える。この実施例においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００６６】
加速度センサ８９および角速度センサ９０は、プロセッサ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、プロセッサ８１へ出力される。プロセッサ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。
【００６７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００６８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００６９】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００７０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。この実施例においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００７１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００７２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００７３】
左コントローラ３は、慣性センサを備える。具体的には、左コントローラ３は、加速度センサ１０４を備える。また、左コントローラ３は、角速度センサ１０５を備える。この実施例においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。この実施例においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００７４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００７５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判断することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００７６】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。この実施例においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、コーデック部１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号をコーデック部１０６へ出力する。コーデック部１０６は、通信制御部１０１からの制御信号から振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００７７】
振動子１０７は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅および周波数で振動をさせることができる。この実施例において、本体装置２から左コントローラ３に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施例においては、本体装置２から波形そのものを示す情報を送信するようにしてもよいが、振幅および周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅および周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部１０６は、通信制御部１０１から取得される振幅および周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子１０７を駆動させる。したがって、本体装置２は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子１０７を振動させる振幅および周波数を制御することができる。なお、本体装置２から左コントローラ３に送信される振幅および周波数は、１つに限らず、２つ以上送信するようにしてもよい。その場合、コーデック部１０６は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子１０７を制御する電圧の波形を生成することができる。
【００７８】
左コントローラ３は、電力供給部１０８を備える。この実施例において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００７９】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００８０】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００８１】
また、右コントローラ４は、振動子１１７およびコーデック部１１６を備える。振動子１１７およびコーデック部１１６は、左コントローラ３の振動子１０７およびコーデック部１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、コーデック部１１６を用いて振動子１１７を動作させる。
【００８２】
右コントローラ４は、ＮＦＣの規格に基づく近距離無線通信を行うＮＦＣ通信部１２２を備える。ＮＦＣ通信部１２２は、いわゆるＮＦＣリーダ・ライタの機能を有する。ここで、この明細書において近距離無線通信とは、一方の装置（ここでは、右コントローラ４）からの電波によって（例えば電磁誘導によって）他方の装置（ここでは、アンテナ１２２ａと近接する装置）に起電力を発生させる通信方式が含まれる。他方の装置は、発生した起電力によって動作することが可能であり、電源を有していてもよいし有していなくてもよい。ＮＦＣ通信部１２２は、右コントローラ４（アンテナ１２２ａ）と通信対象とが接近した場合（典型的には、両者の距離が十数センチメートル以下となった場合）に当該通信対象との間で通信可能となる。通信対象は、ＮＦＣ通信部１２２との間で近距離無線通信が可能な任意の装置であり、例えばＮＦＣタグやＮＦＣタグの機能を有する記憶媒体である。ただし、通信対象は、ＮＦＣのカードエミュレーション機能を有する他の装置であってもよい。
【００８３】
また、右コントローラ４は、赤外撮像部１２３を備える。赤外撮像部１２３は、右コントローラ４の周囲を撮像する赤外線カメラを有する。一例として、本体装置２および／または右コントローラ４は、撮像された情報（例えば、撮像された撮像画像における少なくとも一部の領域全体を分割した複数のブロックの輝度に関連する情報等）を算出し、当該情報に基づいて、右コントローラ４の周囲変化を判断する。また、赤外撮像部１２３は、環境光によって撮像を行ってもよいが、この実施例においては、赤外線を照射する赤外発光部１２４を有する。赤外発光部１２４は、例えば、赤外線カメラが画像を撮像するタイミングと同期して、赤外線を照射する。そして、赤外発光部１２４によって照射された赤外線が撮像対象によって反射され、当該反射された赤外線が赤外線カメラによって受光されることで、赤外線の画像が取得される。これによって、赤外撮像部１２３は、より鮮明な赤外線画像を得ることができる。なお、赤外撮像部１２３と赤外発光部１２４とは、それぞれ別のデバイスとして右コントローラ４内に設けられてもよいし、同じパッケージ内に設けられた単一のデバイスとして右コントローラ４内に設けられてもよい。また、この実施例においては、赤外線カメラを有する赤外撮像部１２３が用いられるが、他の実施例においては、撮像手段として、赤外線カメラに代えて可視光カメラ（可視光イメージセンサを用いたカメラ）が用いられてもよい。
【００８４】
右コントローラ４は、処理部１２１を備える。処理部１２１は、通信制御部１１１に接続される。また、処理部１２１は、ＮＦＣ通信部１２２、赤外撮像部１２３、および赤外発光部１２４に接続される。処理部１２１は、本体装置２からの指令に応じて、ＮＦＣ通信部１２２に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じてＮＦＣ通信部１２２の動作を制御する。また、処理部１２１は、ＮＦＣ通信部１２２の起動を制御したり、通信対象（例えば、ＮＦＣタグ）に対するＮＦＣ通信部１２２の動作（具体的には、読み出しおよび書き込み等）を制御したりする。また、処理部１２１は、通信制御部１１１を介して通信対象に送信されるべき情報を本体装置２から受信してＮＦＣ通信部１２２へ渡したり、通信対象から受信された情報をＮＦＣ通信部１２２から取得して通信制御部１１１を介して本体装置２へ送信したりする。
【００８５】
また、処理部１２１は、ＣＰＵやメモリ等を含み、右コントローラ４に備えられた図示しない記憶装置（例えば、不揮発性メモリ等）に記憶された所定のプログラム（例えば、画像処理や各種演算を行うためのアプリケーションプログラム）に基づいて、本体装置２からの指令に応じて赤外撮像部１２３に対する管理処理を実行する。例えば、処理部１２１は、赤外撮像部１２３に撮像動作を行わせたり、撮像結果に基づく情報（撮像画像の情報、あるいは、当該情報から算出される情報等）を取得および／または算出して通信制御部１１１を介して本体装置２へ送信したりする。また、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４に対する管理処理を実行する。例えば、処理部１２１は、本体装置２からの指令に応じて赤外発光部１２４の発光を制御する。なお、処理部１２１が処理を行う際に用いるメモリは、処理部１２１内に設けられてもいいし、メモリ１１２であってもよい。
【００８６】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００８７】
この実施例においては、ゲームシステム１は、上述の本体装置２ならびに各コントローラ３および４とともに用いられる周辺機器として、複数種類（ここでは、２種類）の付加操作装置を含む。付加操作装置は、コントローラを当該付加操作装置に装着して使用するための周辺機器である。コントローラ（ここでは、右コントローラ４）は、付加操作装置に対して着脱可能に装着される。詳細は後述するが、この実施例においては、ユーザまたはプレイヤ（以下、単に「ユーザ」という）は、コントローラを付加操作装置に装着し、コントローラが装着された付加操作装置を用いてゲーム操作を行う。このように、この実施例においては、コントローラをメイン装置とし、付加操作装置をサブ装置として、メイン装置を装着したサブ装置を用いたゲーム操作が行われる。ただし、コントローラ４が付加操作装置に装着される場合には、後述するように、コントローラ４は挿入部（挿入孔６０３、挿入孔７０３）に挿入されるため（図９、図１０、図１７参照）、コントローラ４に設けられたスティック５２および各ボタン１１３のような操作部は操作出来ない、または、操作し難い。したがって、この実施例では、ゲーム操作には、コントローラ４の操作部を用いないようにしてある。
【００８８】
この実施例のゲームシステム１は、２種類の付加操作装置を含む。具体的には、図８に示すように、第１付加操作装置６および第２付加操作装置７が用いられる。なお、他の実施例においては、ゲームシステム１に含まれる付加操作装置の数は、１つまたは３つ以上の任意の数であってよい。
【００８９】
この実施例においては、ユーザは、１つのゲームアプリケーションの実行中において、複数種類（ここでは、２種類）の付加操作装置を用いてゲームをプレイする。なお、ゲームアプリケーションによって実行されるゲーム（以下、「個別ゲーム」と呼ぶことがある）の内容は任意であるが、この実施例においては、ユーザが操作するプレイヤキャラクタが各種の乗物オブジェクトを運転してゲーム空間を移動することが可能なゲームである。ユーザは、上記ゲームアプリケーションの実行中において（より具体的には、個別ゲームのプレイ中において）、コントローラが装着される付加操作装置を変更することができる。また、ゲームシステム１は、コントローラが装着される付加操作装置の種類に応じて異なるゲーム処理を実行する。詳細は後述するが、この実施例においては、プレイヤキャラクタが運転する乗物オブジェクトは、コントローラが装着される付加操作装置の種類に応じて変化する。つまり、この実施例においては、ユーザが操作する対象となる乗物オブジェクトが、コントローラが装着される付加操作装置の種類に応じて変化する。
【００９０】
図８は、コントローラと付加操作装置との組み合わせと、操作対象となるオブジェクトとの関係を示す図である。図８に示すように、この実施例においては、右コントローラ４を、第１付加操作装置６または第２付加操作装置７に装着することができる。
【００９１】
この実施例においては、付加操作装置に装着するコントローラとして右コントローラ４が用いられる。この理由は、この実施例においては、右コントローラ４が備える赤外撮像部１２３による撮像結果に基づいて、右コントローラ４が付加操作装置に対して装着状態にあることを検出したり、右コントローラ４が装着された付加操作装置の種類を判別したり、オブジェクトを操作したりするからである。なお、付加操作装置の種類の判別方法の詳細およびオブジェクトの操作方法については後述する。
【００９２】
右コントローラ４が付加操作装置に対して装着された状態（以下、「装着状態」と呼ぶ）にあり、図８に示すように、右コントローラ４が装着された付加操作装置の種類が第１付加操作装置６である場合（以下、「第１装着状態」と呼ぶ）においては、プレイヤキャラクタが運転する自動車オブジェクト２０１が個別ゲームのゲーム空間に出現する。右コントローラ４が第１装着状態にある場合、ユーザは、右コントローラ４が装着された第１付加操作装置６を用いて個別ゲームの自動車オブジェクト２０１を操作する。すなわち、ゲームシステム１は、右コントローラ４が第１付加操作装置６に装着されたと判断すると、プレイヤキャラクタと自動車オブジェクト２０１とを個別ゲームのゲーム空間に配置する。そして、ゲームシステム１は、右コントローラ４が装着された第１付加操作装置６に対する操作に基づいて自動車オブジェクト２０１の動作を制御する。
【００９３】
また、右コントローラ４が付加装着装置に対して装着状態にあり、図８に示すように、右コントローラ４が装着された付加操作装置の種類が第２付加操作装置７である場合（以下、「第２装着状態」と呼ぶ）においては、プレイヤキャラクタが運転する飛行機オブジェクト２０２が個別ゲームのゲーム空間に出現する。右コントローラ４が第２装着状態となる場合、ユーザは、右コントローラ４が装着された第２付加操作装置７を用いて飛行機オブジェクト２０２を操作する。すなわち、ゲームシステム１は、右コントローラ４が第２付加操作装置７に装着されたと判断すると、プレイヤキャラクタと飛行機オブジェクト２０２とを個別ゲームのゲーム空間に配置する。そして、ゲームシステム１は、右コントローラ４が装着された第２付加操作装置７に対する操作に基づいて飛行機オブジェクト２０２の動作を制御する。
【００９４】
図示は省略するが、個別ゲームにおいて、右コントローラ４がいずれの付加操作装置にも装着されていない状態（以下、「非装着状態」と呼ぶ）では、乗物オブジェクトは停止され、プレイヤキャラクタに対する操作、すなわち、右コントローラ４を用いた操作をユーザが行うことができないようにしてある。例えば、自動車オブジェクト２０１が停止された場合には、ゲーム用自動車オブジェクト２０１は、アクセルが踏まれていない状態となり、ゲーム空間内において停止された位置に留まる。一方、飛行機オブジェクト２０２が停止された場合には、飛行機オブジェクト２０２は、ゲーム空間内において降下し、地面に着陸する。
【００９５】
この実施例においては、ゲームシステム１は、右コントローラ４の装着状態が変化しても、個別ゲームを進行させるための処理を中断することなく実行する。つまり、ゲームシステム１は、右コントローラ４の装着状態に変化があっても、個別ゲームをシームレスに進行させる。例えば、ユーザが第１付加操作装置６に装着されている右コントローラ４を第２付加操作装置７に付け替えようとする場合、右コントローラ４の装着状態は、第１装着状態から非装着状態となり、その後、第２装着状態へと移行する。この場合において、ゲームシステム１は、個別ゲームの進行を中断することなく、例えば、非装着状態となったことに応じて処理を一時停止することなく、個別ゲームを進行させるための処理を継続して実行する。すなわち、右コントローラ４の装着状態が第１装着状態から非装着状態を介して第２装着状態へと移行する期間において、ゲームシステム１は、ユーザによる操作を継続的に受け付け、当該操作に応じたゲーム処理を継続的に実行する。このように、この実施例においては、ユーザが右コントローラ４の装着状態を変化させる期間においても個別ゲームを進行させることによって、右コントローラ４を付加操作装置に装着する操作をゲーム操作の一部であるようにユーザに認識させることができる。これによって、右コントローラ４が装着される付加操作装置をゲームプレイ中に切り替えながらゲーム操作を行うという新規なゲーム体験をユーザに提供することができる。
【００９６】
なお、他の実施例においては、ゲームシステム１は、右コントローラ４が非装着状態となったことに応じて、個別ゲームを進行させるための処理を一時停止してもよい。この場合、ゲームシステム１は、右コントローラ４がいずれかの付加操作装置に装着されたことに応じて、個別ゲームを進行させるための処理を再開してもよい。
【００９７】
以上のように、この実施例においては、ユーザは、右コントローラ４の装着状態を個別ゲームのゲーム中において切り替えることによって、操作対象となるオブジェクトを切り替えることができる。したがって、この実施例によれば、コントローラを装着する付加操作装置を、ゲーム中における状況に応じて取り替えながら個別ゲームをプレイするという、新規なゲーム体験をユーザに提供することができ、興趣性の高いゲームアプリケーションを提供することができる。
【００９８】
次に、第１付加操作装置６および第２付加操作装置７の各構成と、右コントローラ４が第１付加操作装置６および第２付加操作装置７の各々に装着される場合に実行される処理とについて説明を行う。
【００９９】
図９−図１６を参照して、第１付加操作装置６と、右コントローラ４が第１付加操作装置６に装着された場合における個別ゲームのゲーム処理について説明する。図９は、第１付加操作装置６および右コントローラ４の限定しない一例を示す図である。図１０は、図９に示す第１付加操作装置６を前側（すなわち、図９に示すＺ軸負方向側）から見た図である。
【０１００】
図９に示すように、第１付加操作装置６は、筐体６０１と、ハンドル６０２と、左レバー６０４と、右レバー６０５とを備える。第１付加操作装置６は、ハンドル６０２と各レバー６０４および６０５を操作可能な操作装置である。第１付加操作装置６は、自動車のハンドルを模した操作装置であり、ハンドル６０２と各レバー６０４および６０５を用いて自動車オブジェクト２０１を操作するための操作装置である。
【０１０１】
ここで、第１付加操作装置６の材質は任意であるが、この実施例においては、第１付加操作装置６の各部品（ただし、後述するマーカを除く）の材質は段ボールである。また、第１付加操作装置６は、組み立て前の状態でユーザに提供され、ユーザが第１付加操作装置６を組み立てるようにしてもよい。また、第１付加操作装置６の組み立てをユーザに行わせることによって、ゲームに用いる操作装置を組み立てる楽しみをユーザに提供することができる。これらのことは、後述する第２付加操作装置７についても同じである。
【０１０２】
図９に示すハンドル６０２は、筐体６０１の前面（すなわち、Ｚ軸負方向側の面）に接続されている。ハンドル６０２は、筐体６０１に対して回転可能に接続される。具体的には、ハンドル６０２は、環状の形状を有する環状部と、当該環状部の中心を通って当該環状部の一端から他端まで延びる軸部とを有する。ハンドル６０２は、環状部の中心付近を回転軸にして、筐体６０１に対して回転可能である。以上の構成より、ユーザは、ハンドル６０２を回転させる操作（以下、「回転操作」と呼ぶ）をすることができる（図１０）。
【０１０３】
また、この実施例においては、上記軸部において、ハンドル６０２の回転軸の位置に、挿入孔６０３が設けられる。挿入孔６０３は、回転軸に沿って（換言すれば、ハンドルの回転面に垂直な方向に沿って）延びるように設けられる。すなわち、挿入孔６０３は、ハンドル６０２の回転面に垂直な方向に平行に延びる。この挿入孔６０３は、右コントローラ４を装着するために設けられる。図９に示すように、挿入孔６０３に右コントローラ４が挿入されることによって、右コントローラ４が第１付加操作装置６に装着される。
【０１０４】
この実施例においては、後述するように、筐体６０１の内部に設けられるマーカ（６１２、６１３、６１４）を赤外撮像部１２３で撮像し、撮像画像からマーカを検出して、付加操作装置の種類を判別したり、ユーザ操作の内容を判断したりする。したがって、ユーザは、右コントローラ４を、赤外撮像部１２３の窓部６８が設けられる側から挿入孔６０３に挿入することによって、右コントローラ４を第１付加操作装置６に装着する。
【０１０５】
図示しないが、軸部における挿入孔６０３の奥には、挿入孔６０３に挿入された右コントローラ４が当接する底面が設けられる。したがって、挿入孔６０３に挿入された右コントローラ４は、ある深さまで挿入された場合に、上記底面に当接することによって停止する。
【０１０６】
なお、図示しないが、挿入孔６０３の奥に設けられる上記底面においては、第１付加操作装置６に装着された右コントローラ４の窓部６８に対向する位置に、孔が設けられる。したがって、第１付加操作装置６に装着された右コントローラ４の赤外撮像部１２３は、上記底面の孔を介して、筐体６０１の内部を撮像することが可能である。
【０１０７】
図９に示す各レバー６０４および６０５は、筐体６０１の側面から突出するように設けられる。具体的には、左レバー６０４は、筐体６０１の左上側（すなわち、図９に示すＸ軸負方向側であってＹ軸正方向側）の側面に設けられる。右レバー６０５は、筐体６０１の右上側（すなわち、図９に示すＸ軸正方向側であってＹ軸正方向側）の側面に設けられる。左レバー６０４および右レバー６０５は、それぞれ、筐体６０１に対して上下方向に動作可能に接続されている。
【０１０８】
図１１は、筐体６０１の内部構成の限定しない一例を示す図である。この図１１は、筐体６０１の前側の面（すなわち、ハンドル６０２が接続される面）を取り外して筐体６０１の内部を見た図である。図９および図１１に示すように、筐体６０１における左上側の側面には、左レバー用孔６０６が設けられる。筐体６０１における右上側の側面には、右レバー用孔６０７が設けられる。左レバー６０４および右レバー６０５は、それぞれ、棒状に形成される。図１１に示すように、左レバー６０４の一端は、筐体６０１の内部において筐体６０１に対して回転可能に接続されており、左レバー６０４の他端は、左レバー用孔６０６を介して、筐体６０１の外部に突出するように設けられる。また、図１１に示すように、右レバー６０５の一端は、筐体６０１の内部において筐体６０１に対して回転可能に接続されており、右レバー６０５の他端は、右レバー用孔６０７を介して、筐体６０１の外部に突出するように設けられる。なお、左レバー６０４および右レバー６０５の各々の回転軸の向きは、ハンドル６０２の回転軸の向きと実質的に同じである。つまり、ハンドル６０２、左レバー６０４および右レバー６０５の各々の回転軸の向きは平行である。
【０１０９】
左レバー用孔６０６は、左レバー６０４が回転することができるような大きさに設けられる。したがって、上記のように、筐体６０１の外部に突出した左レバー６０４の端部が上下方向に移動できる。また、右レバー用孔６０７は、右レバー６０５が回転することができるような大きさに設けられる。したがって、上記のように、筐体６０１の外部に突出した右レバー６０５の端部が上下方向に移動できる。また、左レバー６０４および右レバー６０５は、それぞれ、図示しない付勢部材によって、筐体６０１の外部に突出した端部が上向きに移動する方向に付勢されている。したがって、ユーザによって操作されていない状態においては、図９および図１１に示すように、左レバー６０４は左レバー用孔６０６の上側の縁に当接して停止した状態となり、右レバー６０５は右レバー用孔６０７の各々の上側の縁に当接して停止した状態となる。以上に説明した構成によって、ユーザは、左レバー６０４および右レバー６０５を下げる操作（以下、「下げ操作」と呼ぶ）をすることができる（図１０）。
【０１１０】
上記のように、この実施例においては、第１付加操作装置６および第２付加操作装置７の内部には、右コントローラ４の赤外撮像部１２３が撮像可能なマーカが設けられる。この実施例においては、ゲームシステム１は、付加操作装置に装着された右コントローラ４の赤外撮像部１２３によってマーカを撮像し、撮像画像からマーカを検出する。そして、ゲームシステム１は、マーカの検出結果に基づいて付加操作装置の種別を判断したり、付加操作装置に対して行われた操作の内容を判断したりする。右コントローラ４が第１付加操作装置６に装着されている場合には、回転操作または下げ操作が判断される。以下、マーカを用いた判断処理について説明する。
【０１１１】
図１１に示すように、筐体６０１の内部には、第１付加操作装置６に装着された右コントローラ４の赤外撮像部１２３が撮像可能な位置に、すなわち、赤外撮像部１２３の撮像範囲内に、被撮像面６１１が設けられる。被撮像面６１１には、第１基本マーカ６１２が設けられる。なお、この明細書においては、右コントローラ４が装着された付加操作装置の種類を判別するために用いられるマーカを「基本マーカ」と呼ぶ。第１基本マーカ６１２は、第１付加操作装置６に設けられる基本マーカであり、右コントローラ４が第１付加操作装置６に装着されたことを判断するために用いられる。つまり、第１基本マーカ６１２は、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類が第１付加操作装置６であることを判別するために用いられる。
【０１１２】
ここで、マーカは、赤外撮像部１２３が付加操作装置の筐体の内部の壁面における他の部分（すなわち、マーカ以外の部分）と区別することが可能な材質（および／または色）で構成される。マーカは、筐体の内側面に描かれた図形、絵柄、または、図形と絵柄との組み合わせであってもよいし、筐体の内側面に取り付けられた部品であってもよい。また、マーカは、例えば再帰性反射の特性を有する材質で構成されてもよい。また、再帰性反射材の代わりに、マーカとして赤外発光部１２４を筐体内に設ける構成をとってもよい。
【０１１３】
この実施例においては、第１基本マーカ６１２は、４つの正方形の部分からなる形状を有する（図１１）。また、この実施例においては、４つの正方形は、縦および横に２個ずつ並んで配置される。詳細は後述するが、第１付加操作装置６および第２付加操作装置７に設けられる基本マーカは、互いに異なる形状を有する。図１１に示す例においては、第１基本マーカ６１２は、当該第１基本マーカ６１２を形成する４つの正方形の部分のうち１つの正方形が他の３つの正方形よりも大きい形状である。したがって、ゲームシステム１は、右コントローラ４の赤外撮像部１２３による撮像画像において第１基本マーカ６１２を検出した場合には、右コントローラ４が第１付加操作装置６に装着されたと判断することができる。なお、この明細書においては、「マーカの形状」とは、マーカの大きさを含む概念である。つまり、互いに大きさが異なる２つのマーカは、互い異なる形状を有すると言える。
【０１１４】
この実施例では、右コントローラ４がユーザによって付加操作装置に装着され、さらに、下げ操作（第２付加操作装置７の場合には、押下操作）のような切替操作がユーザによって行われると、ゲームシステム１（具体的には、プロセッサ８１）は、この切替操作を検出してことに応じて、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、この付加操作装置の種類を判別するようにしてある。このことは、右コントローラ４がユーザによって後述する第２付加操作装置７に装着された場合も同様である。つまり、この実施例では、右コントローラ４がユーザによって付加操作装置に装着されることは、プロセッサ８１が、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、この付加操作装置の種類を判別することのきっかけではない。ユーザが右コントローラ４を付加操作装置に装着した後に、さらに、切替操作を行うことにより、第１付加操作装置６または第２付加操作装置７を使用する意思を示したことが、プロセッサ８１が、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、この付加操作装置の種類を判別することのきっかけである。また、右コントローラ４が装着された付加操作装置の種類が判別されたことに応じて、ユーザが使用する付加操作装置およびこれに対応する乗物オブジェクトが決定される。
【０１１５】
ただし、他の実施例では、右コントローラ４がユーザによって付加装着装置に装着されたことをきっかけとして、プロセッサ８１が、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、この付加操作装置の種類を判別するようにしてもよい。
【０１１６】
つまり、右コントローラ４が付加操作装置に対して装着状態にあることは、右コントローラ４が付加操作装置に装着され、さらに、何らかの操作が検出されたときに、検出されてもよいし、右コントローラ４が付加操作装置に装着されただけで、検出されてもよい。
【０１１７】
また、この実施例においては、第１基本マーカ６１２は、ハンドル６０２に対する回転操作を判断するために用いられる。以下、図１２および図１３を参照して、回転操作を判断する方法について説明する。
【０１１８】
図１２は、第１付加操作装置６のハンドル６０２が基準状態（具体的には、軸部が水平になる状態）となる場合において赤外撮像部１２３によって撮像された撮像画像の一例を示す図である。図１３は、第１付加操作装置６のハンドル６０２が基準状態から回転した状態となる場合において赤外撮像部１２３によって撮像された撮像画像の一例を示す図である。図１２および図１３に示す第１基本マーカ画像６２２は、撮像画像において第１基本マーカ６１２を示す画像である。
【０１１９】
回転操作によってハンドル６０２が回転すると、ハンドル６０２に装着された右コントローラ４も回転する。そのため、ハンドル６０２の回転角度に応じて、撮像画像に含まれる第１基本マーカ画像６２２の向きが変化する。したがって、ゲームシステム１は、撮像画像における第１基本マーカ画像６２２の向きに基づいてハンドル６０２の回転角度を算出することができ、回転角度に基づいて回転操作を判断することができる。具体的には、ゲームシステム１は、回転操作が行われたか否かを判断するとともに、回転操作の回転量を算出する。例えば、図１２および図１３に示す例においては、図１３に示す第１基本マーカ画像６２２は、図１２に示す第１基本マーカ画像６２２を基準として左に９０°回転した向きで配置されている。したがって、ゲームシステム１は、図１３に示す撮像画像が右コントローラ４から取得される場合、ハンドル６０２は、基準状態から右に９０°回転した状態であると判断することができる。
【０１２０】
以上のように、右コントローラ４が装着された付加操作装置の種類を判別するために用いられる基本マーカは、付加操作装置に対する操作の内容を判断するためにも用いられてもよい。
【０１２１】
図１１に示すように、左レバー６０４のうちで筐体６０１の内部となる位置であって、第１付加操作装置６に装着された右コントローラ４の赤外撮像部１２３が撮像可能な位置に、左レバーマーカ６１３が設けられる。左レバーマーカ６１３は、左レバー６０４に対する操作を判断するために用いられる。以下、図１１、図１２、図１４、および図１５を参照して、下げ操作を判断する方法について説明する。
【０１２２】
図１４は、左レバー６０４に対する下げ操作が行われた状態における第１付加操作装置６の一例を示す図である。また、図１５は、左レバー６０４に対する下げ操作が行われた状態において赤外撮像部１２３によって撮像された撮像画像の一例を示す図である。なお、上述した図１１は、左レバー６０４に対する下げ操作が行われていない状態における第１付加操作装置６の一例を示す図であり、図１２は、当該状態において赤外撮像部１２３によって撮像された撮像画像の一例を示す。また、図１２および図１５に示す左レバーマーカ画像６２３は、撮像画像において左レバーマーカ６１３を示す画像である。
【０１２３】
下げ操作によって左レバー６０４が下方に動かされると、第１付加操作装置６に装着された右コントローラ４の赤外撮像部１２３から見た左レバーマーカ６１３の位置および向きは、左レバー６０４に対する下げ操作が行われていない状態における左レバーマーカ６１３の位置および向きから変化する。そのため、撮像画像における左レバーマーカ画像６２３の位置および向きは、左レバー６０４に対する下げ操作が行われていない状態（図１２）と下げ操作が行われた状態（図１５）とで変化する。具体的には、左レバー６０４に対する下げ操作が行われている状態における左レバーマーカ画像６２３の位置は、左レバー６０４に対する下げ操作が行われていない状態における左レバーマーカ画像６２３の位置よりも左下の方へ移動している。したがって、ゲームシステム１は、図１５に示す撮像画像が右コントローラ４から取得される場合、左レバー６０４に対する下げ操作が行われている状態であると判断することができる。
【０１２４】
ただし、この実施例においては、第１付加操作装置６に装着された右コントローラ４は、ハンドル６０２の回転に応じて回転する。そのため、ゲームシステム１は、撮像画像における左レバーマーカ画像６２３の位置および向きとして、第１基本マーカ画像６２２を基準とした位置および向きを算出し、算出された位置および向きに基づいて左レバー６０４に対する下げ操作を判断する。このことは、右レバー６０５に対する下げ操作を判断する場合についても同様である。
【０１２５】
また、図１１に示すように、右レバー６０５のうちで筐体６０１の内部となる位置に、右レバーマーカ６１４が設けられる。右レバーマーカ６１４は、右レバー６０５に対する操作を判断するために用いられる。右レバー６０５に対する下げ操作の判断は、左レバー６０４に対する下げ操作の判断と同様に行うことができる。すなわち、ゲームシステム１は、撮像画像における右レバーマーカ画像６２４の位置および向きを算出し、算出された位置および向きに基づいて右レバー６０５に対する下げ操作を判断する。
【０１２６】
図１６は、右コントローラ４が第１付加操作装置６に装着されている場合に表示されるゲーム画像の限定しない一例を示す図である。個別ゲームにおいて、右コントローラ４が第１付加操作装置６に装着されている場合には、ゲームシステム１は、図１６に示すように、プレイヤキャラクタ２００が自動車オブジェクト（以下、「ゲーム用自動車オブジェクト」という）２０１に搭乗した様子を表すゲーム画像を表示装置に表示する。なお、この実施例において、ゲーム画像が表示される表示装置は、上述のディスプレイ１２でもよいし、据置型モニタでもよい。このことは、後述するメニュー画像についても同様である。
【０１２７】
また、右コントローラ４が第１付加操作装置６に装着されている場合には、ゲームシステム１は、第１付加操作装置６に対する各操作の内容（具体的には、回転操作および下げ操作）を判断し、ユーザによって行われたこれらの操作に応じてゲーム用自動車オブジェクト２０１の動作を制御する。なお、ゲーム用自動車オブジェクト２０１の動作をユーザの操作に応じて制御する方法は任意である。この実施例においては、ゲームシステム１は、ハンドル６０２に対する回転操作に応じてゲーム用自動車オブジェクト２０１の進行方向を制御する。右コントローラ４が第１付加操作装置６に装着されている場合には、回転操作が「方向指示操作」に相当する。つまり、ハンドル６０２に対する回転操作が左向きであれば、ゲーム用自動車オブジェクト２０１の進行方向は左向きに変更される。また、ハンドル６０２に対する回転操作が右向きであれば、ゲーム用自動車オブジェクト２０１の進行方向は右向きに変更される。このため、例えば、ゲーム空間における進路が選択されたり、ゲーム空間に配置された複数のアイテムオブジェクトから、プレイヤキャラクタ２００によって取得されるアイテムオブジェクトが選択されたりする。アイテムオブジェクトに限定される必要はなく、プレイヤキャラクタ２００またはゲーム用自動車オブジェクト２０１によって選択されたことによって何らかの機能または効果を発揮するオブジェクトがゲーム空間に配置されてもよい。
【０１２８】
また、ゲームシステム１は、左レバー６０４に対する下げ操作に応じてゲーム用自動車オブジェクト２０１のギアを変更し、右レバー６０５に対する下げ操作に応じてゲーム用自動車オブジェクト２０１から弾を発射する。このため、例えば、ゲーム空間においてゲーム用自動車オブジェクト２０１の移動速度が増大または低減され、また、ゲーム用自動車オブジェクト２０１は、ゲーム空間において、進行を邪魔する敵オブジェクトを攻撃したり、進路を塞ぐ岩オブジェクトまたは壁オブジェクトなどを破壊したりする。この実施例では、低速、中速、高速の３つの異なる移動速度を設定することができ、個別ゲームの開始時には、移動速度は中速に設定され、左レバー６０４の下げ操作に応じて、ゲーム用自動車オブジェクト２０１のギアが変更されると、移動速度は大きくなるように変更される。ただし、移動速度が高速の場合には、定則に変更される。このことは、後述するメニュー用自動車オブジェクト２０１ａの移動速度の変更についても同じである。
【０１２９】
以上のようにして、ユーザは、右コントローラ４が第１付加操作装置６に装着されていることが判断されたことに応じて、ゲーム用自動車オブジェクト２０１を個別ゲームのゲーム空間に出現させるとともに、ゲーム用自動車オブジェクト２０１を操作する個別ゲームをプレイすることができる。
【０１３０】
図１７−図２２を参照して、第２付加操作装置７と、右コントローラ４が第２付加操作装置７に装着された場合における個別ゲームのゲーム処理について説明する。図１７は、第２付加操作装置７および右コントローラ４の限定しない一例を示す図である。また、図１８は、図１７に示す第２付加操作装置７を上側（すなわち、図１７に示すＹ軸正方向側）から見た図である。
【０１３１】
図１７に示すように、第２付加操作装置７は、台座部７０１と、把持部７０２と、ボタン７０４とを備える。第２付加操作装置７は、把持部７０２と、ボタン７０４とを操作可能な操作装置である。第２付加操作装置７は、飛行機の操縦桿を模した操作装置であり、操縦桿のような把持部７０２を用いて飛行機オブジェクト（以下、「ゲーム用飛行機オブジェクト」という）２０２を操作するための操作装置である。
【０１３２】
図１７に示す第２付加操作装置７において、把持部７０２は、台座部７０１に接続されている。把持部７０２は、台座部７０１に対して傾倒可能である。図１７においては、把持部７０２の傾倒方向を表す前後左右の４方向の矢印を示しているが、把持部７０２は、把持部７０２の長手方向が鉛直となる基準状態から、任意の方向に傾倒することが可能である。
【０１３３】
図１７に示すように、把持部７０２は、上面に挿入孔７０３を有する。挿入孔７０３は、把持部７０２の長手方向に沿って延びるように設けられる。挿入孔７０３は、右コントローラ４を装着するために設けられる。また、把持部７０２の上側部分は、筒状に形成され、筒状部分の内部に右コントローラ４を挿入可能である。すなわち、図１７に示すように、挿入孔７０３に右コントローラ４が挿入されることによって、右コントローラ４が第２付加操作装置７に装着される。上記のように、第２付加操作装置７の内部にもマーカが設けられるため、この実施例においては、ユーザは、右コントローラ４を、赤外撮像部１２３の窓部６８が設けられる側から挿入孔７０３に挿入することによって、右コントローラ４を第２付加操作装置７に装着する。また、図１７に示すように、筒状部分の側面には溝が設けられる。右コントローラ４が把持部７０２に挿入される際には、上記溝に沿ってアナログスティック５２が挿入され、溝の端部にアナログスティック５２が当接することによって、右コントローラ４の把持部７０２に対する挿入が停止される。
【０１３４】
図１８に示すように、把持部７０２の挿入孔７０３は、把持部７０２における内部の空洞に繋がっている。したがって、挿入孔７０３に挿入されて把持部７０２に装着された右コントローラ４の赤外撮像部１２３は、把持部７０２の内部を撮像可能である。
【０１３５】
図１７に示すように、ボタン７０４は、把持部７０２に設けられ、具体的には、把持部７０２の筒上部分の側面に設けられる。ボタン７０４は、上から押下可能に設けられる。なお、図１８に示すように、把持部７０２の上記筒状部分の側面のうちのボタン７０４が設けられる側面には孔７０５が設けられる。ボタン７０４の一部は、上記孔７０５から突出して設けられる（図１８）。そのため、ボタン７０４の上記一部は、第２付加操作装置７に装着された右コントローラ４の赤外撮像部１２３によって撮像可能となっている。
【０１３６】
以上の構成より、ユーザは、把持部７０２を傾倒する操作（以下、「傾倒操作」と呼ぶ）と、ボタン７０４を押下する操作（以下、「押下操作」と呼ぶ）とを行うことが可能である（図１７）。
【０１３７】
第２付加操作装置７においても第１付加操作装置６と同様、付加操作装置の内部には、赤外撮像部１２３が撮像可能なマーカが設けられる。ゲームシステム１は、第２付加操作装置７に装着された右コントローラ４の赤外撮像部１２３による撮像画像からマーカを検出する。そして、ゲームシステム１は、マーカの検出結果に基づいて、右コントローラ４が第２付加操作装置７に装着されたことを判断したり、第２付加操作装置７に対して行われた操作の内容（具体的には、押下操作）を判断したりする。
【０１３８】
図１８に示すように、把持部７０２の内部の底面には、第２付加操作装置７に装着された右コントローラ４の赤外撮像部１２３が撮像可能な位置に、第２基本マーカ７１１が設けられる。第２基本マーカ７１１の形状は任意であるが、第２基本マーカ７１１は、上述の第１基本マーカ６１２とは異なる形状を有する。図１８に示す例においては、第２基本マーカ７１１は、当該第２基本マーカ７１１を形成する４つの正方形の部分のうち１つの正方形が他の３つの正方形よりも小さい形状である。
【０１３９】
第２付加操作装置７についても第１付加操作装置６と同様、ゲームシステム１は、基本マーカを用いて、右コントローラ４が装着された付加操作装置の種類を判別する。第２基本マーカ７１１は、第２付加操作装置７に設けられる基本マーカであり、右コントローラ４が第２付加操作装置７に装着されたことを判断するために用いられる。つまり、第２基本マーカ７１１は、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類が第２付加操作装置７であることを判別するために用いられる。ただし、ゲームシステム１は、右コントローラ４から取得した撮像画像において第２基本マーカ７１１を検出する。
【０１４０】
図１８に示すように、ボタン７０４における、第２付加操作装置７に装着された右コントローラ４の赤外撮像部１２３が撮像可能な位置に、ボタンマーカ７１２が設けられる。具体的には、ボタンマーカ７１２は、ボタン７０４のうちで、把持部７０２の上記孔７０５から突出する部分に設けられる。ボタンマーカ７１２は、ボタン７０４に対する押下操作を判断するために用いられる。
【０１４１】
図１９は、把持部７０２のボタン７０４が押下された状態における把持部７０２の内部の一例を示す図である。なお、図１８は、把持部７０２のボタンが押下されていない状態における把持部７０２の内部の一例を示す図である。第１付加操作装置６に装着された右コントローラ４の赤外撮像部１２３から見たボタンマーカ７１２の位置は、把持部７０２のボタン７０４が押下されていない状態（図１８）と把持部７０２のボタン７０４が押下された状態（図１９）とで異なる。具体的には、ボタン７０４が押下された状態におけるボタンマーカ７１２の位置は、ボタン７０４が押下されていない状態におけるボタンマーカ７１２の位置よりも右方向（換言すれば、第２基本マーカ７１１に近づく方向）へ移動する。したがって、ゲームシステム１は、第２付加操作装置７に装着された右コントローラ４の赤外撮像部１２３によって撮像された撮像画像におけるボタンマーカ７１２を示す画像の位置に基づいて、ボタン７０４に対する操作が行われたことを判断することができる。
【０１４２】
また、把持部７０２に対する傾倒操作は、右コントローラ４の加速度センサ１１４の検出結果に基づいて検出される。すなわち、ゲームシステム１は、右コントローラ４が備える加速度センサ１１４によって検出される加速度に基づいて、右コントローラ４の姿勢を算出する。そして、ゲームシステム１は、算出された姿勢に基づいて、右コントローラ４および把持部７０２が上述の基準状態に対して傾倒した方向および傾倒した量を算出する。これによって、ゲームシステム１は、把持部７０２に対する傾倒操作を判断することができる。
【０１４３】
なお、この実施例では、ゲームシステム１は、把持部７０２に対する傾倒操作を、右コントローラ４の加速度センサ１１４の検出結果に基づいて判断するようにしてあるが、加速度センサ１１４の検出結果に代えて、または、加速度センサ１１４の検出結果とともに、右コントローラ４の角速度センサ１１５の検出結果に基づいて判断するようにしてもよい。
【０１４４】
上記のように、ゲームシステム１は、付加操作装置に対する操作を、マーカを用いて検出してもよいし、当該付加操作装置に装着された右コントローラ４からの操作データを用いて検出してもよい。また、ゲームシステム１は、付加操作装置に対する操作を、マーカと操作データとの両方を用いて検出してもよい。
【０１４５】
図２０は、右コントローラ４が第２付加操作装置７に装着される場合に表示されるゲーム画像の一例を示す図である。個別ゲームにおいて、右コントローラ４がユーザによって第２付加操作装置７に装着され、されに、切替操作が行われたことに応じて、ゲームシステム１は、右コントローラ４の赤外撮像部１２３から取得された撮像画像に基づいて、右コントローラ４が第２付加操作装置７に装着されたことを判断する。このとき、ゲームシステム１は、図２０に示すように、プレイヤキャラクタ２００がゲーム用飛行機オブジェクト２０２に搭乗した様子を表すゲーム画像を表示装置に表示する。
【０１４６】
また、右コントローラ４が第２付加操作装置７に装着されたことを判断した場合、ゲームシステム１は、第２付加操作装置７に対する各操作（具体的には、傾倒操作および押下操作）の内容を判断し、ユーザによって行われたこれらの操作に応じてゲーム用飛行機オブジェクト２０２の動作を制御する。なお、ゲーム用飛行機オブジェクト２０２の動作をユーザの操作に応じて制御する方法は任意である。
【０１４７】
例えば、この実施例においては、ゲームシステム１は、把持部７０２に対する傾倒操作に応じてゲーム用飛行機オブジェクト２０２の進行方向を制御する。右コントローラ４が第２付加操作装置７に装着されている場合には、傾倒操作が「方向指示操作」に相当する。一例として、把持部７０２に対する傾倒操作が左向きであれば、ゲーム用飛行機オブジェクト２０２の進行方向は左向きに旋回するように変更される。また、把持部７０２に対する傾倒操作が右向きであれば、ゲーム用飛行機オブジェクト２０２の進行方向は右向き旋回するように変更される。このため、例えば、ゲーム空間における移動方向が選択されたり、ゲーム空間に配置された複数のアイテムオブジェクトから、プレイヤキャラクタ２００によって取得されるアイテムオブジェクトが選択されたりする。アイテムオブジェクトに限定される必要はなく、プレイヤキャラクタ２００またはゲーム用飛行機オブジェクト２０２によって選択されたことによって何らかの機能または効果を発揮するオブジェクトがゲーム空間に配置されてもよい。また、ゲームシステム１は、ボタン７０４に対する押下操作に応じて、ゲーム用飛行機オブジェクト２０２から弾を発射する。このため、例えば、ゲーム用飛行機オブジェクト２０２は、ゲーム空間に存在する敵オブジェクトを攻撃する。
【０１４８】
以上のようにして、ユーザは、右コントローラ４を第２付加操作装置７に装着することによって、ゲーム用飛行機オブジェクト２０２を個別ゲームのゲーム空間に出現させるとともに、ゲーム用飛行機オブジェクト２０２を操作する個別ゲームをプレイすることができる。
【０１４９】
上記のゲームアプリケーションでは、異なる複数種類の個別ゲームが用意されており、ユーザはメニュー画像で事前にプレイする個別ゲームを選択することができる。この実施例では、メニュー画像は、右コントローラ４の付加操作装置への装着状態に応じて変化される。
【０１５０】
図２１は右コントローラ４が第１付加操作装置６に装着された第１装着状態において表示装置に表示されるメニュー画像の限定しない一例である。また、図２２は右コントローラ４が第２付加操作装置７に装着された第２装着状態において表示装置に表示されるメニュー画像の限定しない一例である。さらに、図２３は右コントローラ４が非装着状態において表示装置に表示されるメニュー画像の限定しない一例である。
【０１５１】
図２１に示すように、第１装着状態におけるメニュー画像では、指示画像として機能する自動車オブジェクト（以下、「メニュー用自動車オブジェクト」という）２０１ａが表示される。また、第１装着状態におけるメニュー画像では、個別ゲームの選択および実行（または開始）を指示するための複数の（この実施例では、４つの）アイコン２１０、２１１、２１２、２１３が表示される。メニュー用自動車オブジェクト２０１ａは、ゲーム用自動車オブジェクト２０１を簡略化するとともに上方から見た２次元の画像である。つまり、メニュー用自動車オブジェクト２０１ａは、ゲーム用自動車オブジェクト２０１と見た目が関連する（または近似する）。このメニュー用自動車オブジェクト２０１ａは、個別ゲームのゲーム処理においてゲーム用自動車オブジェクト２０１を操作する場合と同様に操作することができる。つまり、第１装着状態におけるメニュー画像では、ゲームシステム１は、ハンドル６０２に対する回転操作に応じてメニュー用自動車オブジェクト２０１ａの進行方向を制御する。したがって、ハンドル６０２に対する回転操作が左向きであれば、メニュー用自動車オブジェクト２０１ａの進行方向は左向きに変更される。また、ハンドル６０２に対する回転操作が右向きであれば、メニュー用自動車オブジェクト２０１ａの進行方向は右向きに変更される。このため、例えば、ゲーム空間における進路が選択され、メニュー用自動車オブジェクト２０１ａがアイコン２１０、２１１、２１２または２１３の上を移動するように操作することができる。メニュー用自動車オブジェクト２０１ａがアイコン２１０、２１１、２１２または２１３の上を移動するとき、当該アイコン２１０、２１１、２１２または２１３が選択された状態となる。
【０１５２】
また、ゲームシステム１は、左レバー６０４に対する下げ操作に応じてメニュー用自動車オブジェクト２０１ａのギアを変更し、右レバー６０５に対する下げ操作に応じてメニュー用自動車オブジェクト２０１ａから弾を発射する。このため、例えば、ゲーム空間においてメニュー用自動車オブジェクト２０１ａの移動速度が増大または低減される。ただし、メニュー画像では、アイコン２１０−２１３以外のオブジェクトは表示されないため、発射された弾が飛んでいく様子が表示される。また、上述したように、メニュー用自動車オブジェクト２０１ａの移動速度の変更方向は、ゲーム用自動車オブジェクト２０１の場合と同じである。
【０１５３】
このように、メニュー用自動車オブジェクト２０１ａは、ゲーム用自動車オブジェクト２０１と見た目が関連する（または近似する）ため、ユーザは、メニュー用自動車オブジェクト２０１ａを、ゲーム用自動車オブジェクト２０１と同じ操作を行えば良いことを直感的に知ることができる。このことは、後述するメニュー用飛行機オブジェクト２０２ａとゲーム用飛行機オブジェクト２０２の操作についても同じことが言える。
【０１５４】
ただし、アイコン２１０、２１１、２１２または２１３が選択された状態では、ゲームシステム１は、左レバー６０４または右レバー６０５に対する下げ操作に応じて、選択されたアイコン２１０、２１１、２１２または２１３がオン（またはクリック）され、オンされたアイコン２１０、２１１、２１２または２１３に対応する個別ゲーム（第１ゲーム、第２ゲーム、第３ゲームまたは第４ゲーム）を実行する。つまり、選択された個別ゲームのゲーム処理が開始される。
【０１５５】
また、図２２に示すように、第２装着状態におけるメニュー画像では、指示画像として機能する飛行機オブジェクト（以下、「メニュー用飛行機オブジェクト」という）２０２ａが表示される。また、第２装着状態におけるメニュー画像では、図２１に示した第１装着状態におけるメニュー画像と同様に、アイコン２１０、２１１、２１２、２１３が表示される。この実施例では、第１装着状態におけるメニュー画像で選択されるアイコン（または、個別ゲーム）は、第２装着状態におけるメニュー画像で選択されるアイコン（または、個別ゲーム）と同じであるが、４つの個別ゲームの全部または一部が異なっていてもよい。このことは、後述する非装着状態におけるメニュー画像についても同じである。
【０１５６】
メニュー用飛行機オブジェクト２０２ａは、ゲーム用飛行機オブジェクト２０２を簡略化するとともに上方から見た２次元の画像である。つまり、メニュー用飛行機オブジェクト２０２ａは、ゲーム用飛行機オブジェクト２０２と見た目が関連する（または近似する）。このメニュー用飛行機オブジェクト２０２ａは、個別ゲームのゲーム処理においてゲーム用飛行機オブジェクト２０２を操作する場合と同様に操作することができる。つまり、第２装着状態におけるメニュー画像では、ゲームシステム１は、把持部７０２に対する傾倒操作に応じてメニュー用飛行機オブジェクト２０２ａの進行方向を制御する。したがって、把持部７０２に対する傾倒操作が左向きであれば、メニュー用飛行機オブジェクト２０２ａの進行方向は左向きに旋回するように変更される。また、把持部７０２に対する傾倒操作が右向きであれば、メニュー用飛行機オブジェクト２０２ａの進行方向は右向き旋回するように変更される。このため、例えば、ゲーム空間における移動方向が選択され、メニュー用飛行機オブジェクト２０２ａがアイコン２１０、２１１、２１２または２１３の上を移動するように操作することができる。また、ゲームシステム１は、ボタン７０４に対する押下操作に応じて、メニュー用飛行機オブジェクト２０２ａから弾を発射する。上述したように、メニュー画像では、アイコン２１０−２１３以外のオブジェクトは表示されないため、発射された弾が飛んでいく様子が表示される。
【０１５７】
ただし、アイコン２１０、２１１、２１２または２１３が選択された状態では、ゲームシステム１は、ボタン７０４に対する押下操作に応じて、選択されたアイコン２１０、２１１、２１２または２１３がオン（またはクリック）され、オンされたアイコン２１０、２１１、２１２または２１３に対応する個別ゲーム（第１ゲーム、第２ゲーム、第３ゲームまたは第４ゲーム）を実行する。つまり、選択された個別ゲームのゲーム処理が開始される。
【０１５８】
このように、第１装着状態または第２装着状態では、メニュー画像において、メニュー用自動車オブジェクト２０１ａまたはメニュー用飛行機オブジェクト２０２ａに対して、個別ゲームにおけるゲーム用自動車オブジェクト２０１またはゲーム用飛行機オブジェクト２０２に対して行う操作と同じ操作を行うことができる。したがって、個別ゲームをプレイする前に、操作を知得および／または習得することができる。
【０１５９】
また、第１装着状態または第２装着状態においても、メニュー画像において、アイコン２１０、２１１、２１２または２１３を選択し、選択されたアイコン２１０、２１１、２１２または２１３に対応する個別ゲーム（第１ゲーム、第２ゲーム、第３ゲームまたは第４ゲーム）を実行することができる。つまり、右コントローラ４が装着された付加操作装置を操作することにより、個別ゲームの選択および実行を行うことができる。このため、或る個別ゲームをプレイした後に、他の個別ゲームを選択および実行する場合に、操作対象がゲーム用乗物オブジェクト（ゲーム用自動車オブジェクト２０１またはゲーム用飛行機オブジェクト２０２）からメニュー用乗物オブジェクト（メニュー用自動車オブジェクト２０１ａまたはメニュー用飛行機オブジェクト２０２ａ）に変わっても、ゲーム用乗物オブジェクトと同様の操作感でメニュー用乗物オブジェクトを操作して、他の個別ゲームを選択することができる。また、右コントローラ４を付加操作装置から取り出したり、別のコントローラ（たとえば、左コントローラ３）に持ち替えたりする必要がなく、個別ゲームのプレイと、メニュー（または、個別ゲーム）の選択および実行をシームレスに行うことができる。
【０１６０】
ただし、図２３に示すように、非装着状態におけるメニュー画像では、指示画像２２０が表示される。また、非装着状態におけるメニュー画像では、図２１および図２２に示したメニュー画像と同様に、アイコン２１０、２１１、２１２、２１３が表示される。
【０１６１】
指示画像２２０は、マウスポインタのような２次元の画像である。ゲームシステム１は、右コントローラ４のアナログスティック５２の操作に応じて、指示画像２２０は上下左右または斜め方向に移動される。ただし、指示画像２２０は、アイコン２１０、２１１、２１２、２１３間を移動する。したがって、指示画像２２０は、いずれかのアイコン２１０、２１１、２１２または２１３上に重なるように移動される。図２３に示す例では、指示画像２２０によってアイコン２１０が選択された状態のメニュー画像が示される。また、ゲームシステム１は、Ａボタン５３の操作に応じて、選択されたアイコン２１０、２１１、２１２または２１３がオン（またはクリック）され、オンされたアイコン２１０、２１１、２１２または２１３に対応する個別ゲーム（第１ゲーム、第２ゲーム、第３ゲームまたは第４ゲーム）を実行する。この場合には、個別ゲームが開始された後に、右コントローラ４が付加操作装置に装着され、当該個別ゲームがプレイされる。
【０１６２】
ただし、非装着状態におけるメニュー画像が表示されている場合に、ユーザが右コントローラ４を付加操作装置に装着し、下げ操作または押下操作を行うと、右コントローラ４が装着された付加操作装置の種類が判別され、判別された種類に応じて第１装着状態または第２装着状態のメニュー画像が表示される。このとき、指示画像２２０に代えて、メニュー用自動車オブジェクト２０１ａまたはメニュー用飛行機オブジェクト２０２ａが表示されるため、付加操作装置によって操作可能になったことを一見して知ることができる。また、第１装着状態または第２装着状態におけるメニュー画像が表示されている場合に、ユーザが右コントローラ４を付加操作装着から取り外すと、非装着状態におけるメニュー画像が表示される。
【０１６３】
なお、この実施例では、第１装着状態、第２装着状態および非装着状態のそれぞれにおいて異なる指示画像を表示するようにしてあるが、いずれの場合にも同じ指示画像を表示するようにしてもよい。ただし、かかる場合にも、第１装着状態および第２装着状態においては、指示画像はゲーム用オブジェクトと同様に移動される
また、この実施例では、図示等は省略するが、メニュー画像には、ホーム画面に戻るためのアイコンも表示される。このアイコンが選択され、さらに、オン（またはクリック）されると、ホーム画像が表示装置に表示される。このホーム画像においてゲームアプリケーションを終了することを選択することができる。
【０１６４】
図２４は図６に示したＤＲＡＭ８５のメモリマップ８５０の限定しない一例を示す図である。図２４に示すように、ＤＲＡＭ８５は、プログラム記憶領域８５２およびデータ記憶領域８５４を含む。プログラム記憶領域８５２には、ゲームアプリケーションのプログラム（つまり、ゲームプログラム）が記憶される。図２４に示すように、ゲームプログラムは、メイン処理プログラム８５２ａ、画像生成プログラム８５２ｂ、画像表示プログラム８５２ｃ、操作検出プログラム８５２ｄ、装着確認プログラム８５２ｅ、種類判別プログラム８５２ｆ、ゲーム用オブジェクト制御プログラム８５２ｇおよびメニュー用オブジェクト制御プログラム８５２ｈなどを含む。
【０１６５】
詳細な説明は省略するが、各プログラム８５２ａ−８５２ｈは、本体装置２に電源が投入された後の適宜のタイミングで、フラッシュメモリ８４および／またはスロット２３に装着された記憶媒体からその一部または全部が読み込まれてＤＲＡＭ８５に記憶される。ただし、各プログラム８５２ａ−８５２ｈの一部または全部は、本体装置２と通信可能な他のコンピュータから取得するようにしてもよい。
【０１６６】
メイン処理プログラム８５２ａは、ゲーム全体処理を実行するためのプログラムである。画像生成プログラム８５２ｂは、後述する画像生成データ８５４ｂを用いて、メニュー画像およびゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。画像表示プログラム８５２ｃは、画像生成プログラム８５２ｂに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像がディスプレイ１２などの表示装置に表示される。
【０１６７】
操作検出プログラム８５２ｄは、コントローラから操作データ８５４ａを受信するためのプログラムである。装着確認プログラム８５２ｅは、右コントローラ４が付加操作装置に装着されているかどうかを確認するためのプログラムである。種類判別プログラム８５２ｆは、下げ操作または押下操作が行われたことを判断したことに応じて、右コントローラ４が装着されている付加操作装置の種類を判別するためのプログラムである。この実施例では、下げ操作または押下操作が行われたことを判断したことに応じて、右コントローラ４が装着されている付加操作装置の種類を判別するようにしてあるが、これらに代えて、または、これらとともに、回転操作または傾倒操作が行われたことを判断したことに応じて、右コントローラ４が装着されている付加操作装置の種類を判別するようにしもよい。
【０１６８】
ゲーム用オブジェクト制御プログラム８５２ｇは、ユーザの操作に従ってゲーム用オブジェクトの動作を制御するためのプログラムである。ただし、ゲーム用オブジェクトは、ゲーム用自動車オブジェクト２０１またはゲーム用飛行機オブジェクト２０２を意味する。メニュー用オブジェクト制御プログラム８５２ｈは、ユーザの操作に従ってメニュー用オブジェクトの動作を制御するためのプログラムである。また、メニュー用オブジェクトは、メニュー用自動車オブジェクト２０１ａまたはメニュー用飛行機オブジェクト２０２ａを意味する。ただし、メニュー用オブジェクト制御プログラム８５２ｈは、ユーザの操作に従って指示画像２２０の移動を制御するためのプログラムでもある。
【０１６９】
なお、プログラム記憶領域８５２には、ＢＧＭ等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ８４などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【０１７０】
また、データ記憶領域８５４には、操作データ８５４ａ、画像生成データ８５４ｂ、装着対象データ８５４ｃおよび現在位置データ８５４ｄなどが記憶される。また、データ記憶領域８５４には、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆなどが設けられる。
【０１７１】
操作データ８５４ａは、コントローラから受信される操作データである。この実施例においては、操作データ８５４ａは、赤外撮像部１２３による撮像画像のデータを含む。なお、他の実施例においては、操作データ８５４ａは、撮像画像に対して何らかの加工が行われた情報、および／または、撮像画像から得られる情報（例えば、マーカの位置および向きを示す情報）を含んでいてもよい。また、本体装置２が複数のコントローラから操作データを受信する場合には、本体装置２は、コントローラ毎に操作データ８５４ａを記憶する。
【０１７２】
画像生成データ８５４ｂは、ポリゴンデータおよびテクスチャデータなど、画像データを生成するために必要なデータである。装着対象データ８５４ｃは、右コントローラ４が装着されている付加操作装置の種類を示す識別情報についてのデータである。ただし、右コントローラ４が付加操作装置に装着されていない場合には、装着対象データ８５４ｃは記憶されない。または、装着対象データ８５４ｃとしてｎｕｌｌデータが記憶される。現在位置データ８５４ｄは、ゲーム空間における、ゲーム用オブジェクト、メニュー用オブジェクトまたは指示画像２２０の現在位置についての位置データである。
【０１７３】
装着フラグ８５４ｅは、右コントローラ４が付加操作装置に装着されているかどうかを判断するためのフラグであり、右コントローラ４が装着状態であることが判断された場合にオンされ、右コントローラ４が非装着状態であることが判断された場合にオフされる。種類判別フラグ８５４ｆは、右コントローラ４が装着された付加操作装置の種類（または装着対象）が判別されたかどうかを判断するためのフラグであり、付加操作装置の種類が判別された場合にオンされ、付加挿操作装置の種類が判別されていない場合にオフされる。
【０１７４】
なお、この実施例では、付加操作装置の種類は、右コントローラ４が付加操作装置に装着されていることを前提に判別される。このため、右コントローラ４が付加操作装置に対して装着状態にある場合には、種類判別フラグ８５４ｆは装着フラグ８５４ｅととともにオンであり、右コントローラ４が付加操作装置に装着されていない非装着状態である場合には、種類判別フラグ８５４ｆは装着フラグ８５４ｅととともにオフである。
【０１７５】
図示は省略するが、データ記憶領域８５４には、他のデータが記憶されたり、他のフラグおよびカウンタ（タイマ）が設けられたりする。
【０１７６】
図２５−図２７は、本体装置２のプロセッサ８１（またはコンピュータ）のゲームプログラムの処理（ゲーム全体処理）の限定しない一例を示すフロー図である。ただし、図２５−図２７（後述する図２８−図３０の個別ゲーム処理についても同様）に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図２５−図３０に示すフロー図の各ステップの処理をプロセッサ８１が実行するものとして説明するが、プロセッサ８１以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【０１７７】
本体装置２の電源が投入されると、ゲーム全体処理の実行に先だって、プロセッサ８１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってＤＲＡＭ８５等の各ユニットが初期化される。本体装置２は、ユーザによって、この実施例のゲームプログラムの実行が指示されると、ゲーム全体処理を開始する。
【０１７８】
図２５に示すように、プロセッサ８１は、ゲーム全体処理を開始すると、ステップＳ１で、メニュー画像を表示装置に表示する。図示は省略するが、ゲーム全体処理が開始された当初においては、プロセッサ８１は、ステップＳ１の処理が開始される前に、右コントローラ４が付加操作装置に装着されているかどうかを判断するとともに、右コントローラ４が付加操作装置に装着されている場合には、さらに、装着されている付加操作装置の種類を判別する。したがって、ゲーム全体処理が開始された当初において、ステップＳ１では、プロセッサ８１は、この事前の処理の結果に応じたメニュー画像を表示装置に表示する。つまり、図２１に示したような第１装着状態におけるメニュー画像、図２２に示したような第２装着状態におけるメニュー画像、または、図２３に示したような非装着状態におけるメニュー画像が表示装置に表示される。また、プロセッサ８１は、上記の事前の処理の結果に応じて装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオンまたはオフする。この実施例では、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆがオンであれば、判別された付加操作装置の種類に応じて、第１装着状態におけるメニュー画像または第２装着状態におけるメニュー画像が表示装置に表示される。また、装着フラグ８５４ｅがオフであれば、非装着状態におけるメニュー画像が表示装置に表示される。
【０１７９】
次のステップＳ３では、操作データを検出する。続いて、ステップＳ５では、Ａボタン５３が操作されたかどうかを判断する。ステップＳ５で“ＹＥＳ”であれば、つまり、Ａボタン５３が操作されれば、ステップＳ７で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオフし、ステップＳ９で、後述する個別ゲーム処理（図２８−図３０）を実行して、ステップＳ１に戻る。ただし、ステップＳ９では、指示画像２２０によって指示または選択されたアイコン２１０、２１１、２１２または２１３に対応する個別ゲームが実行される。つまり、選択された個別ゲームのゲーム処理が開始される。また、図示は省略するが、ホーム画像に戻るアイコンが選択およびオンされた場合には、ホーム画像に戻り、ホーム画像でゲームアプリケーションを終了することが指示された場合には、ゲーム全体処理を終了する。一方、ホーム画像でメニュー画像に戻ることが指示された場合には、ステップＳ１に戻る。これらのことは、後述するステップＳ４７またはステップＳ５９で“ＹＥＳ”となった場合にも同様である。
【０１８０】
一方、ステップＳ５で“ＮＯ”であれば、つまり、Ａボタン５３が操作されていなければ、ステップＳ１１で、アナログスティック５２が操作されたかどうかを判断する。ステップＳ１１で“ＹＥＳ”であれば、つまり、アナログスティック５２が操作されれば、ステップＳ１３で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオフし、ステップＳ１５で、アナログスティック５２の操作に従って指示画像２２０の位置を移動させて、ステップＳ１に戻る。
【０１８１】
一方、ステップＳ１１で“ＮＯ”であれば、つまり、アナログスティック５２が操作されていなければ、ステップＳ１７で、マーカ画像を検出したかどうかを判断する。ステップＳ１７で“ＮＯ”であれば、つまり、マーカ画像を検出していなければ、右コントローラ４は付加操作装置に装着されていない非装着状態であると判断し、ステップＳ１９で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオフして、ステップＳ２９に進む。
【０１８２】
なお、詳細な説明は省略するが、ステップＳ５およびステップＳ１１の処理をステップＳ１７以降の処理よりも前に実行するのは、右コントローラ４に対するユーザの操作を優先するためである。
【０１８３】
また、詳細な説明は省略するが、メニュー画像がディスプレイ１２に表示されている場合には、タッチパネル１３の操作によってアイコン２１０、２１１、２１２または２１３を選択することが可能である。かかる場合には、ユーザがアイコン２１０、２１１、２１２または２１３をタッチすると、タッチされたアイコン２１０、２１１、２１２または２１３が選択され、さらに、対応する個別ゲームのゲーム処理が開始される。この場合、タッチパネル１３の操作が最優先される。具体的には、ステップＳ３で、タッチパネルコントローラ８６からのデータも検出し、ステップＳ３とＳ５の間において、タッチパネル１３の操作によってアイコン２１０、２１１、２１２または２１３が選択（またはタッチ）されたかどうかを判断し、“ＹＥＳ”であれば、ステップＳ７に進み、“ＮＯ”であれば、ステップＳ５に進むようにすればよい。
【０１８４】
また、ステップＳ１７で“ＹＥＳ”であれば、つまり、マーカ画像を検出すれば、ステップＳ２３で、マーカ画像が移動したかどうかを判断する。つまり、プロセッサ８１は、付加操作装置に対する操作を検出したかどうかを判断する。
【０１８５】
ステップＳ２３で“ＮＯ”であれば、つまり、マーカ画像が移動していなければ、付加操作装置に対する操作が行われていないと判断し、ステップＳ２５で、種類判別フラグ８５４ｆがオンであるかどうかを判断する。ステップＳ２５で“ＹＥＳ”であれば、つまり、種類判別フラグ８５４ｆがオンであれば、右コントローラ４が付加操作装置に対して装着状態にあり、さらに、付加装着装置の種類が判別されていると判断し、ステップＳ２７で、装着状態に応じたメニュー用オブジェクトを直進させて、ステップＳ１に戻る。ステップＳ２７では、プロセッサ８１は、第１装着状態では、メニュー用自動車オブジェクト２０１ａを、現在位置から、現在の移動速度に応じた距離だけ直進した位置に移動させ、第２装着状態では、メニュー用飛行機オブジェクト２０２ａを、現在位置から、移動速度に応じた距離だけ直進した位置に移動させる。このとき、現在位置データ８５４ｄが更新される。
【０１８６】
一方、ステップＳ２５で“ＮＯ”であれば、つまり、種類判別フラグ８５４ｆがオフであれば、右コントローラ４が付加操作装置に装着されていない非装着状態であり、付加装着装置の種類が判別されていないと判断して、ステップＳ２９に進む。
【０１８７】
ステップＳ２９では、メニュー画像におけるその他のゲーム処理を実行して、ステップＳ１に戻る。このステップＳ２９では、プロセッサ８１は、メニュー用自動車オブジェクト２０１ａの移動速度を変化させたり、メニュー用自動車オブジェクト２０１ａから発射された弾を移動させたり、メニュー用飛行機オブジェクト２０２ａから発射された弾を移動させたりするゲーム処理を実行する。ただし、アナログスティック５２およびＡボタン５３が操作されていないため、非装着状態におけるメニュー画像が表示されている場合には、ステップＳ２９では、指示画像２２０の位置、すなわち、現在位置データ８５４ｄは更新されない。
【０１８８】
また、ステップＳ２３で“ＹＥＳ”であれば、つまり、マーカ画像が移動すれば、付加操作装置に対する操作が行われたと判断し、図２６に示すように、ステップＳ３１で、種類判別フラグ８５４ｆがオンであるかどうかを判断する。ステップＳ３１で“ＮＯ”であれば、ステップＳ３３で、付加操作装置に対する操作が、下げ操作または押下操作であるかどうかを判断する。ここでは、プロセッサ８１は、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類を判別する処理の実行を指示する操作が行われたかどうかを判断する。なお、プロセッサ８１（または、ゲームシステム１）が回転操作、下げ操作、傾倒操作または押下操作を判断する方法は上記のとおりである。
【０１８９】
ステップＳ３３で“ＮＯ”であれば、つまり、回転操作または傾倒操作であれば、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類を判別する処理の実行を指示する操作が行われていないと判断して、図２５に示したステップＳ１に戻る。一方、ステップＳ３３で“ＹＥＳ”であれば、つまり、下げ操作または押下操作であれば、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類を判別する処理の実行を指示する操作が行われたと判断する。したがって、続くステップＳ３５で、右コントローラ４が付加操作装置に対して装着状態にあることを検出し、ステップＳ３７で、右コントローラ４が装着された付加操作装置の種類を判別する。そして、ステップＳ３９で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオンして、ステップＳ１に戻る。
【０１９０】
ただし、プロセッサ８１は、マーカ画像を検出し（ステップＳ１７で“ＹＥＳ”）、さらに、マーカ画像が移動したことを検出し（ステップＳ２３で“ＹＥＳ”）、この移動が切替操作によるものである場合に（ステップＳ３３で“ＹＥＳ”）、ステップＳ３５において、右コントローラ４が付加操作に対して装着状態であることを検出する。つまり、ステップＳ３５の処理は、ステップＳ１７、Ｓ２５およびＳ３３の処理に基づいて、右コントローラ４が付加操作装置に対して装着状態にあるかどうかを検出する処理であると言える。
【０１９１】
また、プロセッサ８１は、ステップＳ３７で、右コントローラ４が装着された付加操作装置の種類を判別すると、判別した種類（この実施例では、付加操作装置の識別情報）を示すデータを装着対象データ８５４ｃとしてデータ記憶領域８５４に記憶または更新する。
【０１９２】
なお、上述したように、この実施例では、ユーザが右コントローラ４を付加操作装置に装着し、さらに、下げ操作または押下操作のような切替操作を行ったことに応じて、プロセッサ８１は、右コントローラ４が付加操作装置に対して装着状態にあることを検出するようにしてある。ただし、切替操作が行われる前に既にマーカ画像が検出されているため（ステップＳ１７で“ＹＥＳ”）、他の実施例では、ユーザが右コントローラ４を付加操作装置に装着すると、切替操作が行われたかどうかにかかわらず、プロセッサ８１は、右コントローラ４が付加操作装置に対して装着状態にあることを検出するようにしてもよい。
【０１９３】
また、ステップＳ３１で“ＹＥＳ”であれば、付加操作装置に対する操作が、メニュー用オブジェクトを制御する操作であると判断し、ステップＳ４１で、第１装着状態かどうかを判断する。ここでは、プロセッサ８１は、装着対象データ８５４ｃを参照して、右コントローラ４が装着されている付加装着装置が、第１付加操作装置６であるかどうかを判断する。
【０１９４】
ステップＳ４１で“ＮＯ”であれば、つまり、第１装着状態でなければ、右コントローラ４が第２付加操作装置７に装着されていると判断し、図２７に示すステップＳ５５に進む。一方、ステップＳ４１で“ＹＥＳ”であれば、つまり、第１装着状態であれば、ステップＳ４３で、回転操作かどうかを判断する。ステップＳ４３で“ＹＥＳ”であれば、つまり、回転操作であれば、ステップＳ４５で、メニュー用自動車オブジェクト２０１ａを回転操作に従って方向転換させて、ステップＳ１に戻る。一方、ステップＳ４３で“ＮＯ”であれば、つまり、下げ操作であれば、ステップＳ４７で、メニュー用自動車オブジェクト２０１ａがアイコン２１０、２１１、２１２または２１３上であるかどうかを判断する。
【０１９５】
ステップＳ４７で“ＹＥＳ”であれば、つまり、メニュー用自動車オブジェクト２０１ａがアイコン２１０、２１１、２１２または２１３上であれば、対応する個別ゲームをプレイすることが指示されたと判断して、図２５に示したステップＳ９に進む。一方、ステップＳ４７で“ＮＯ”であれば、つまり、メニュー用自動車オブジェクト２０１ａがアイコン２１０、２１１、２１２または２１３上でなければ、ステップＳ４９で、左レバー６０４の押下げ操作かどうかを判断する。
【０１９６】
ステップＳ４９で“ＹＥＳ”であれば、つまり、左レバー６０４の押下げ操作であれば、ステップＳ５１で、メニュー用自動車オブジェクト２０１ａのギアを変更して、ステップＳ１に戻る。一方、ステップＳ４９で“ＮＯ”であれば、つまり、右レバー６０５の下げ操作であれば、ステップＳ５３で、メニュー用自動車オブジェクト２０１ａから弾を発射して、ステップＳ１に戻る。
【０１９７】
上述したように、ステップＳ４１で“ＮＯ”であれば、図２７に示すステップＳ５５で、傾倒操作かどうかを判断する。ステップＳ５５で“ＹＥＳ”であれば、つまり、傾倒操作であれば、ステップＳ５７で、メニュー用飛行機オブジェクト２０２ａを傾倒操作に従って方向転換して、ステップＳ１に戻る。一方、ステップＳ５５で“ＮＯ”であれば、つまり、押下操作であれば、ステップＳ５９で、メニュー用飛行機オブジェクト２０２ａがアイコン２１０、２１１、２１２または２１３上であるかどうかを判断する。
【０１９８】
ステップＳ５９で“ＹＥＳ”であれば、つまり、メニュー用飛行機オブジェクト２０２ａがアイコン２１０、２１１、２１２または２１３上であれば、対応する個別ゲームをプレイすることが指示されたと判断して、図２５に示したステップＳ９に進む。一方、ステップＳ５９で“ＮＯ”であれば、つまり、メニュー用飛行機オブジェクト２０２ａがアイコン２１０、２１１、２１２または２１３上でなければ、ステップＳ６１で、メニュー用飛行機オブジェクト２０２ａから弾を発射して、ステップＳ１に戻る。
【０１９９】
図２８−図３０は、図２５に示したステップＳ９の個別ゲーム処理を示すフロー図である。以下、図２８−図３０を参照しながら個別ゲーム処理について説明するが、図２５−図２７のゲーム全体処理で説明した処理と同じ処理については簡単に説明することにする。また、個別ゲームのゲーム処理の詳細な内容についての説明は省略するが、ゲーム用オブジェクトの制御以外のゲーム処理（後述する「その他のゲーム処理」）については、第１ゲーム−第４ゲームのそれぞれにおいて異なる処理が実行される。
【０２００】
図２８に示すように、プロセッサ８１は個別ゲーム処理を開始すると、ステップＳ７１で、初期処理を実行する。この初期処理では、たとえば、プロセッサ８１は、ゲーム画像を生成および表示するための仮想のゲーム空間を構築し、このゲーム空間に登場するプレイヤキャラクタ２００、乗物オブジェクト（２０１または２０２）等の各キャラクタないし各オブジェクトを初期位置に配置するとともに、このゲーム空間に配置（または存在）する地形オブジェクト等の背景オブジェクトを所定の位置に配置する。さらに、プロセッサ８１は、個別ゲームのゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。また、初期処理では、初期のゲーム画像を表示装置に表示する。
【０２０１】
次のステップＳ７３では、操作データを検出する。続いて、ステップＳ７５では、マーカ画像を検出したかどうかを判断する。ステップＳ７５で“ＮＯ”であれば、右コントローラ４は付加操作装置に装着されていない非装着状態であると判断し、ステップＳ７７で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオフして、ステップＳ８７に進む。
【０２０２】
なお、個別ゲームは、右コントローラ４を装着した第１付加操作装置６または右コントローラ４を装着した第２付加操作装置７を用いてプレイするため、ステップＳ７３で検出した操作データが右コントローラ４に対するユーザの操作である場合には、当該操作データを無視するようにしてある。
【０２０３】
また、ステップＳ７５で“ＹＥＳ”であれば、ステップＳ８１で、マーカ画像が移動したかどうかを判断する。ステップＳ８１で“ＮＯ”であれば、付加操作装置に対する操作が行われていないと判断し、ステップＳ８３で、種類判別フラグ８５４ｆがオンであるかどうかを判断する。ステップＳ８３で“ＮＯ”であれば、ステップＳ８７に進む。一方、ステップＳ８３で“ＹＥＳ”であれば、ステップＳ８５で、装着状態に応じたゲーム用オブジェクトを直進させて、図３０に示すステップＳ１１７に進む。ステップＳ８５では、プロセッサ８１は、第１装着状態では、ゲーム用自動車オブジェクト２０１を、現在位置から、現在の移動速度に応じた距離だけ直進した位置に移動させ、第２装着状態では、ゲーム用飛行機オブジェクト２０２を、現在位置から、移動速度に応じた距離だけ直進した位置に移動させる。このとき、現在位置データ８５４ｄが更新される。
【０２０４】
ステップＳ８７では、個別ゲームにおけるその他のゲーム処理を実行して、ステップＳ１１７に進む。このステップＳ８７では、プロセッサ８１は、ゲーム用自動車オブジェクト２０１の移動速度を変化させたり、ゲーム用自動車オブジェクト２０１から発射された弾を移動させたり、ゲーム用飛行機オブジェクト２０２から発射された弾を移動させたりするゲーム処理を実行する。また、ステップＳ８７では、プロセッサ８１は、敵オブジェクトを移動させたり、ゲーム用乗物オブジェクトから発射された弾が敵オブジェクトなどに当たったかどうかを判断したり、ゲームクリアまたはゲームオーバを判定したりゲーム処理を実行する。
【０２０５】
また、ステップＳ８１で“ＹＥＳ”であれば、付加操作装置に対する操作が行われたと判断し、図２９に示すように、ステップＳ８９で、種類判別フラグ８５４ｆがオンであるかどうかを判断する。ステップＳ８９で“ＮＯ”であれば、ステップＳ９１で、下げ操作または押下操作であるかどうかを判断する。
【０２０６】
ステップＳ９１で“ＮＯ”であれば、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類を判別する処理の実行を指示する操作が行われていないと判断して、ステップＳ１１７に進む。一方、ステップＳ９１で“ＹＥＳ”であれば、右コントローラ４が付加操作装置に対して装着状態にあることを検出するとともに、右コントローラ４が装着された付加操作装置の種類を判別する処理の実行が指示されたと判断する。したがって、続くステップＳ９３で、右コントローラ４が付加操作装置に対して装着状態にあることを検出し、ステップＳ９５で、右コントローラ４が装着された付加操作装置の種類を判別する。そして、ステップＳ９７で、装着フラグ８５４ｅおよび種類判別フラグ８５４ｆをオンして、ステップＳ１１７に進む。
【０２０７】
また、ステップＳ８９で“ＹＥＳ”であれば、付加操作装置に対する操作が、ゲーム用オブジェクトを制御する操作であると判断し、ステップＳ９９で、第１装着状態かどうかを判断する。ステップＳ９９で“ＮＯ”であれば、図３０に示すステップＳ１１１に進む。一方、ステップＳ９９で“ＹＥＳ”であれば、ステップＳ１０１で、回転操作かどうかを判断する。ステップＳ１０１で“ＹＥＳ”であれば、ステップＳ１０３で、ゲーム用自動車オブジェクト２０１を回転操作に従って方向転換させて、ステップＳ１１７に進む。
【０２０８】
一方、ステップＳ１０１で“ＮＯ”であれば、ステップＳ１０５で、左レバー６０４の押下げ操作かどうかを判断する。ステップＳ１０５で“ＹＥＳ”であれば、ステップＳ１０７で、ゲーム用自動車オブジェクト２０１のギアを変更して、ステップＳ１１７に進む。一方、ステップＳ１０５で“ＮＯ”であれば、ステップＳ１０９で、ゲーム用自動車オブジェクト２０１から弾を発射して、ステップＳ１１７に進む。
【０２０９】
上述したように、ステップＳ９９で“ＮＯ”であれば、図３０に示すステップＳ１１１で、傾倒操作かどうかを判断する。ステップＳ１１１で“ＮＯ”であれば、ステップＳ１１３で、ゲーム用飛行機オブジェクト２０２から弾を発射して、ステップＳ１１１７に進む。一方、ステップＳ１１１で“ＹＥＳ”であれば、ステップＳ１１５で、ゲーム用飛行機オブジェクト２０２を傾倒操作に従って方向転換して、ステップＳ１１７に進む。
【０２１０】
ステップＳ１１７では、ゲーム画像を生成および表示する。プロセッサ８１は、ステップＳ７５−Ｓ１１５までのゲーム処理に基づいて、仮想カメラから見たゲーム空間についてのゲーム画像を生成し、表示装置に表示する。次のステップＳ１１９では、ゲーム音声を生成および出力する。プロセッサ８１は、ステップＳ７５−Ｓ１１５までのゲーム処理に基づいてゲーム音声を生成し、スピーカ８８または据置型モニタの一例であるテレビのスピーカから出力する。
【０２１１】
そして、ステップＳ１２１で、ゲーム終了かどうかを判断する。ここでは、プロセッサ８１は、ユーザからゲーム終了を指示されたかどうか、または、ゲームクリアまたはゲームオーバになったかどうかを判断する。ステップＳ１２１で“ＮＯ”であれば、つまり、ゲーム終了でなければ、ステップＳ７３に戻る。一方、ステップＳ１２１で“ＹＥＳ”であれば、つまり、ゲーム終了であれば、個別ゲーム処理を終了する。
【０２１２】
この実施例によれば、メニュー画像では、コントローラの操作部を用いて指示画像を操作し、コントローラが付加操作装置に装着された場合には、付加操作装置を操作することによりメニュー用オブジェクトを操作するので、コントローラを用いて、より多様な操作を実現することができる。
【０２１３】
また、この実施例によれば、メニュー選択処理においても、個別ゲーム処理で操作する乗物オブジェクトと同様の乗物オブジェクトを指示画像として表示して同じ操作で制御するので、操作対象がゲーム用乗物オブジェクトからメニュー用乗物オブジェクトに変わっても、ゲーム用乗物オブジェクトと同様の操作感でメニュー用乗物オブジェクトを操作して、他の個別ゲームを選択することができる。また、操作装置を変更する必要が無く、個別ゲームのプレイとメニューの選択および実行をシームレスに行うことができる。さらに、個別ゲームをプレイする前に、乗物オブジェクトの操作を知得および／または習得することができる。
【０２１４】
なお、この実施例では、右コントローラが付加操作装置に装着されたことのみならず、下げ操作または押下操作が行われたことを判断したことに応じて、右コントローラが装着されている付加操作装置の種類を判断するようにしたが、これに限定される必要はない。他の実施例では、右コントローラが付加操作装置に装着されたことに応じて、右コントローラが装着されている付加操作装置の種類を判断するようにしてもよい。
【０２１５】
また、この実施例では、個別ゲーム処理においては、コントローラに設けられた操作部による操作を受け付けないようにしたがコントローラに設けられた操作部による操作を受け付けるようにしてもよい。かかる場合には、メニュー画像における指示画像の移動を制御するように、ゲーム用オブジェクトの移動が制御される。つまり、アナログスティックの操作に従ってゲーム用オブジェクトが方向転換される。
【０２１６】
さらに、この実施例では、自動車オブジェクトまたは飛行機オブジェクトのように、方向転換の操作が無い場合に直進する乗物オブジェクトについて説明したが、たとえば、円軌道に沿って時計回りまたは反時計周りに周回してもよいし、直線上を反復移動してもよい。この場合、周回する方向または直線上を移動する方向を変更し、アイコンのようなオブジェクトが選択される。
【０２１７】
さらにまた、この実施例では、自動車オブジェクトまたは飛行機オブジェクトは、右コントローラが付加操作装置に装着されている場合には、操作しなくても直進するようにしたが、ユーザの操作によって直進させるようにしてもよい。たとえば、左コントローラの所定のボタンないしスイッチが操作されたり、左コントローラの姿勢が変化されたりすることのよって、自動車オブジェクトまたは飛行機オブジェクトは直進される。
【０２１８】
また、この実施例で示したゲームシステムの構成は一例であり、これに限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、この実施例においては、１つのコンピュータ（具体的には、プロセッサ８１）であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる（複数の）コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置２のプロセッサ８１と、コントローラが備える通信制御部（マイクロプロセッサ）１０１、１１１とによって構成されてもよい。
【０２１９】
さらに、この実施例では、本体装置に着脱可能なコントローラが装着された付加操作装置を操作するようにしたが、赤外撮像部、加速度センサおよび角速度センサを備える電子機器であり、本体装置と通信可能に構成すれば、コントローラに代えて装着することもできる。かかる場合には、個別ゲーム処理を含むゲーム全体処理を電子機器側のプロセッサで実行し、処理結果を本体装置に送信するようにしてもよい。
【０２２０】
さらにまた、上述の実施例で示した具体的な数値、画像、付加操作装置の構成は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【０２２１】
１  …ゲームシステム
２  …本体装置
３  …左コントローラ
４  …右コントローラ
６  …第１付加操作装置
７  …第２付加操作装置
８１  プロセッサ
１１４  …加速度センサ
１１５  …角速度センサ
１２３  …赤外撮像部
６０２  …ハンドル
６０４  …左レバー
６０５  …右レバー
６１２  …第１基本マーカ
６１３  …左レバーマーカ
６１４  …右レバーマーカ
７０２  …把持部
７０４  …ボタン
７１１  …第２基本マーカ
７１２  …ボタンマーカ
【図１】
2019209023.tif 000003
【図２】
2019209023.tif 000004
【図３】
2019209023.tif 000005
【図４】
2019209023.tif 000006
【図５】
2019209023.tif 000007
【図６】
2019209023.tif 000008
【図７】
2019209023.tif 000009
【図８】
2019209023.tif 000010
【図９】
2019209023.tif 000011
【図１０】
2019209023.tif 000012
【図１１】
2019209023.tif 000013
【図１２】
2019209023.tif 000014
【図１３】
2019209023.tif 000015
【図１４】
2019209023.tif 000016
【図１５】
2019209023.tif 000017
【図１６】
2019209023.tif 000018
【図１７】
2019209023.tif 000019
【図１８】
2019209023.tif 000020
【図１９】
2019209023.tif 000021
【図２０】
2019209023.tif 000022
【図２１】
2019209023.tif 000023
【図２２】
2019209023.tif 000024
【図２３】
2019209023.tif 000025
【図２４】
2019209023.tif 000026
【図２５】
2019209023.tif 000027
【図２６】
2019209023.tif 000028
【図２７】
2019209023.tif 000029
【図２８】
2019209023.tif 000030
【図２９】
2019209023.tif 000031
【図３０】
2019209023.tif 000032