(57)【要約】【課題】１つの画面において異なる制御対象を制御することが可能な情報処理プログラムを提供する。【解決手段】ディスプレイには、プレイヤキャラクタの背後に設定された仮想カメラからゲーム空間を見たゲーム画像に、マップ画像が重畳表示される。ユーザがコントローラの姿勢を変化させると、仮想カメラの向きが変化するとともに、マップ画像上のカーソルの位置が変化する。ユーザが所定のボタンを押下すると画面の中心に向かって弾丸が発射され、ユーザが他のボタンを押下すると、プレイヤキャラクタはカーソルが示す位置に移動する。【選択図】図１６
2018064753.tif 000002
【特許請求の範囲】
【請求項１】
操作部に対する操作に基づいて情報処理を行い、表示部に画像を表示させる情報処理装置のコンピュータで実行される情報処理プログラムであって、前記コンピュータに、
前記操作部から操作データを取得する操作データ取得ステップと、
前記操作データに基づいて、仮想空間内の第１の制御対象を制御する第１制御ステップと、
前記第１の制御対象に対する制御に基づいた第１画像を生成する第１画像生成ステップと、
前記操作データに基づいて、第１の指示があったと判定されたとき、第２の制御対象に対する制御を有効にする第２制御有効化ステップと、
前記第２の制御対象への制御が有効なとき、前記第１制御ステップにおける前記操作データに基づく前記第１の制御対象の制御とともに、当該操作データに基づいてさらに前記第２の制御対象を制御する第２制御ステップと、
前記第２の制御対象への制御が有効なとき、前記第２の制御対象を含む第２画像を生成し、前記第１画像に前記第２画像を重畳した第３画像を生成する第３画像生成ステップと、
前記第１画像または前記第３画像を前記表示部に表示させる表示ステップと、を実行させる、情報処理プログラム。
【請求項２】
前記コンピュータに、
前記第１制御ステップにおいて、前記操作データに含まれる第１のデータおよび第２のデータに基づいて前記第１の制御対象を制御させ、
前記第２制御ステップにおいて、前記第１のデータおよび前記操作データに含まれる第３のデータに基づいて前記第２の制御対象を制御させる、請求項１に記載の情報処理プログラム。
【請求項３】
前記コンピュータに、
前記第１のデータに基づいて、前記第１制御ステップにおいて前記第１の制御対象の状態を更新させるとともに、前記第２制御ステップにおいて前記第２の制御対象の状態を更新させ、
前記第１制御ステップにおいて、前記第２のデータに基づいて第２の指示があったと判定されたとき、前記第１の制御対象の状態に基づいた所定の情報処理を行わせ、
前記第２制御ステップにおいて、前記第３のデータに基づいて第３の指示があったと判定されたとき、前記第２の制御対象の状態に基づいた所定の情報処理を行わせる、請求項２に記載の情報処理プログラム。
【請求項４】
前記操作部は、慣性センサ及び方向入力部のうちの少なくともいずれかと、複数のキーとを含み、
前記第１のデータは、前記慣性センサから出力されるデータ及び前記方向入力部に対する操作に応じたデータのうちの少なくともいずれかのデータであり、
前記第２のデータおよび前記第３のデータは、前記複数のキーのうち、それぞれ異なるキーに対する操作に応じたデータである、請求項２または３に記載の情報処理プログラム。
【請求項５】
前記第１の制御対象は、仮想空間内の第１のオブジェクトまたは仮想カメラであり、
前記コンピュータに、前記第１制御ステップにおいて、前記操作データに基づいて前記第１のオブジェクトまたは前記仮想カメラを動かす制御を行わせる、請求項１から４のいずれかに記載の情報処理プログラム。
【請求項６】
前記第１の制御対象は、照準を定めるためのものである、請求項１から５のいずれかに記載の情報処理プログラム。
【請求項７】
前記第１の制御対象は、前記仮想空間内の仮想カメラであり、
前記第１画像生成ステップで生成される第１画像は前記仮想カメラを用いて生成される仮想空間の画像である、請求項１から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記仮想空間には所定のキャラクタが配置され、
前記操作データに含まれる第４のデータに基づいて、前記所定のキャラクタを前記仮想空間内で移動させる第１移動ステップを、前記コンピュータにさらに実行させる、請求項７に記載の情報処理プログラム。
【請求項９】
前記第２画像生成ステップで生成される第２画像は、前記仮想空間のマップ画像であり、
前記情報処理は、所定のゲームを行うための処理である、請求項８に記載の情報処理プログラム。
【請求項１０】
前記第２の制御対象は、前記マップ画像上に表示されるカーソルであり、
前記操作データに含まれる第３のデータに基づいて第３の指示があったと判定されたとき、前記カーソルによって示される仮想空間の位置に前記所定のキャラクタを移動させる第２移動ステップを、前記コンピュータにさらに実行させる、請求項９に記載の情報処理プログラム。
【請求項１１】
前記ゲームは複数のユーザによって操作される複数の情報処理装置によって行われるゲームであり、
前記コンピュータに、前記表示部に前記第３画像が表示されている場合、他の情報処理装置へ通知を行う通知ステップをさらに実行させ、
他の情報処理装置から前記通知を受けた場合に、前記第１画像生成ステップにおいて、当該情報処理装置が表示部に前記第３画像を表示させていることを認識可能な前記第１画像を生成させる、請求項９または１０に記載の情報処理プログラム。
【請求項１２】
前記コンピュータに、
前記第１画像生成ステップにおいて、前記第２の制御対象への制御が無効なときは、第１の態様の前記第１画像を生成させ、前記第２の制御対象への制御が有効なときは、前記第１の態様よりもユーザが視認し難い第２の態様の前記第１画像を生成させ、
前記画像表示制御ステップにおいて、前記第２の制御対象への制御が無効なときは、前記第１の態様の第１画像を前記表示部に表示させ、前記第２の制御対象への制御が有効なときは、前記第２の態様の第１画像に前記第２画像を重畳した第３画像を前記表示部に表示させる、請求項１から１０のいずれかに記載の情報処理プログラム。
【請求項１３】
操作部に対する操作に基づいて情報処理を行い、表示部に画像を表示させる情報処理装置であって、
前記操作部から操作データを取得する操作データ取得手段と、
前記操作データに基づいて、仮想空間内の第１の制御対象を制御する第１制御手段と、
前記第１の制御対象に対する制御に基づいた第１画像を生成する第１画像生成手段と、
前記操作データに基づいて、第１の指示があったと判定されたとき、第２の制御対象に対する制御を有効にする第２制御有効化手段と、
前記第２の制御対象への制御が有効なとき、前記第１制御手段による前記操作データに基づく前記第１の制御対象の制御とともに、当該操作データに基づいてさらに前記第２の制御対象を制御する第２制御手段と、
前記第２の制御対象への制御が有効なとき、前記第２の制御対象を含む第２画像を生成し、前記第１画像に前記第２画像を重畳した第３画像を生成する第３画像生成手段と、
前記第１画像または前記第３画像を前記表示部に表示させる表示制御手段と、を備える、情報処理装置。
【請求項１４】
操作部に対する操作に基づいて情報処理を行い、表示部に画像を表示させる情報処理システムであって、
前記操作部から操作データを取得する操作データ取得手段と、
前記操作データに基づいて、仮想空間内の第１の制御対象を制御する第１制御手段と、
前記第１の制御対象に対する制御に基づいた第１画像を生成する第１画像生成手段と、
前記操作データに基づいて、第１の指示があったと判定されたとき、第２の制御対象に対する制御を有効にする第２制御有効化手段と、
前記第２の制御対象への制御が有効なとき、前記第１制御手段による前記操作データに基づく前記第１の制御対象の制御とともに、当該操作データに基づいてさらに前記第２の制御対象を制御する第２制御手段と、
前記第２の制御対象への制御が有効なとき、前記第２の制御対象を含む第２画像を生成し、前記第１画像に前記第２画像を重畳した第３画像を生成する第３画像生成手段と、
前記第１画像または前記第３画像を前記表示部に表示させる表示制御手段と、を備える、情報処理システム。
【請求項１５】
前記第１制御手段は、前記操作データに含まれる第１のデータおよび第２のデータに基づいて前記第１の制御対象を制御し、
前記第２制御手段は、前記第１のデータおよび前記操作データに含まれる第３のデータに基づいて前記第２の制御対象を制御する、請求項１４に記載の情報処理システム。
【請求項１６】
前記第１制御手段は、前記第１のデータに基づいて、前記第１の制御対象の状態を更新し、
前記第２制御手段は、前記第１のデータに基づいて、前記第２の制御対象の状態を更新し、
前記第１制御手段は、前記第２のデータに基づいて第２の指示があったと判定されたとき、前記第１の制御対象の状態に基づいた所定の情報処理を行い、
前記第２制御手段は、前記第３のデータに基づいて第３の指示があったと判定されたとき、前記第２の制御対象の状態に基づいた所定の情報処理を行う、請求項１５に記載の情報処理システム。
【請求項１７】
前記操作部は、慣性センサ及び方向入力部のうちの少なくともいずれかと、複数のキーとを含み、
前記第１のデータは、前記慣性センサから出力されるデータ及び前記方向入力部に対する操作に応じたデータのうちの少なくともいずれかのデータであり、
前記第２のデータおよび前記第３のデータは、前記複数のキーのうち、それぞれ異なるキーに対する操作に応じたデータである、請求項１５または１６に記載の情報処理システム。
【請求項１８】
前記情報処理システムは、前記情報処理を行う情報処理装置を含み、
前記操作部は、前記情報処理装置に着脱可能なコントローラである、請求項１４から１７のいずれかに記載の情報処理システム。
【請求項１９】
操作部に対する操作に基づいて情報処理を行い、表示部に画像を表示させる情報処理方法であって、
前記操作部から操作データを取得する操作データ取得ステップと、
前記操作データに基づいて、仮想空間内の第１の制御対象を制御する第１制御ステップと、
前記第１の制御対象に対する制御に基づいた第１画像を生成する第１画像生成ステップと、
前記操作データに基づいて、第１の指示があったと判定されたとき、第２の制御対象に対する制御を有効にする第２制御有効化ステップと、
前記第２の制御対象への制御が有効なとき、前記第１制御ステップにおける前記操作データに基づく前記第１の制御対象の制御とともに、当該操作データに基づいてさらに前記第２の制御対象を制御する第２制御ステップと、
前記第２の制御対象への制御が有効なとき、前記第２の制御対象を含む第２画像を生成し、前記第１画像に前記第２画像を重畳した第３画像を生成する第３画像生成ステップと、
前記第１画像または前記第３画像を前記表示部に表示させる表示ステップと、を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法に関する。
【背景技術】
【０００２】
従来、２つの画面にそれぞれ異なる画像を表示させながらゲームを行う装置がある（例えば、特許文献１参照）。例えば、一方の画面には仮想空間を斜めから見た画像が表示され、他方の画面には仮想空間を上方から見た画像が表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１８７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、１つの画面において異なる制御対象を同時に制御するには、そのまま適用するのは困難であった。
【０００５】
それ故、本発明の目的は、１つの画面において異なる制御対象を制御することが可能な情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【０００７】
本発明の一例に係る情報処理プログラムは、操作部に対する操作に基づいて情報処理を行い、表示部に画像を表示させる情報処理装置のコンピュータで実行される情報処理プログラムである。情報処理プログラムは、前記コンピュータに、前記操作部から操作データを取得する操作データ取得ステップと、前記操作データに基づいて、仮想空間内の第１の制御対象を制御する第１制御ステップと、前記第１の制御対象に対する制御に基づいた第１画像を生成する第１画像生成ステップと、前記操作データに基づいて、第１の指示があったと判定されたとき、第２の制御対象に対する制御を有効にする第２制御有効化ステップと、前記第２の制御対象への制御が有効なとき、前記第１制御ステップにおける前記操作データに基づく前記第１の制御対象の制御とともに、当該操作データに基づいてさらに前記第２の制御対象を制御する第２制御ステップと、前記第２の制御対象への制御が有効なとき、前記第２の制御対象を含む第２画像を生成し、前記第１画像に前記第２画像を重畳した第３画像を生成する第３画像生成ステップと、前記第１画像または前記第３画像を前記表示部に表示させる表示ステップと、を実行させる。
【０００８】
上記によれば、第２の制御対象への制御が有効なとき、操作部からの操作データに基づいて第１の制御対象が制御されるとともに、第２の制御対象も制御される。第１の制御対象に基づく第１画像に、第２の制御対象を含む第２画像が重畳された第３画像が生成される。これにより、第１画像に第２画像が重畳された第３画像を１つの画面上に表示して、第１の制御対象および第２の制御対象を同時に制御することができる。
【０００９】
また、情報処理プログラムは、前記コンピュータに、前記第１制御ステップにおいて、前記操作データに含まれる第１のデータおよび第２のデータに基づいて前記第１の制御対象を制御させ、前記第２制御ステップにおいて、前記第１のデータおよび前記操作データに含まれる第３のデータに基づいて前記第２の制御対象を制御させてもよい。
【００１０】
上記によれば、操作データに含まれる第１のデータに基づいて、第１の制御対象を制御するとともに、第２の制御対象をも制御することができる。また、第１の制御対象については、操作データに含まれる第２のデータに基づいて制御し、第２の操作対象については、操作データに含まれる第２のデータに基づいて制御することができる。これにより、操作データの一部のデータに基づいて、２つの制御対象の両方を制御する一方で、他のデータに基づいて、２つの制御対象のそれぞれを制御することができる。
【００１１】
また、情報処理プログラムは、前記コンピュータに、前記第１のデータに基づいて、前記第１制御ステップにおいて前記第１の制御対象の状態を更新させるとともに、前記第２制御ステップにおいて前記第２の制御対象の状態を更新させてもよい。また、情報処理プログラムは、前記コンピュータに、前記第１制御ステップにおいて、前記第２のデータに基づいて第２の指示があったと判定されたとき、前記第１の制御対象の状態に基づいた所定の情報処理を行わせてもよい。また、情報処理プログラムは、前記コンピュータに、前記第２制御ステップにおいて、前記第３のデータに基づいて第３の指示があったと判定されたとき、前記第２の制御対象の状態に基づいた所定の情報処理を行わせてもよい。
【００１２】
上記によれば、例えば、第１のデータに基づいて第１の制御対象および第２の制御対象を制御しつつ、第２の指示があった場合には第１の制御対象の状態に基づいて所定の情報処理を行い、別の第３の指示があった場合には第２の制御対象に基づいて、別の情報処理を行うことができる。
【００１３】
また、前記操作部は、慣性センサ及び方向入力部のうちの少なくともいずれかと、複数のキーとを含んでもよい。また、前記第１のデータは、前記慣性センサから出力されるデータ及び前記方向入力部に対する操作に応じたデータのうちの少なくともいずれかのデータであってもよい。また、前記第２のデータおよび前記第３のデータは、前記複数のキーのうち、それぞれ異なるキーに対する操作に応じたデータであってもよい。
【００１４】
上記によれば、慣性センサ及び方向入力部からの第１のデータに基づいて第１の制御対象および第２の制御対象を同時に制御し、複数のキーのうちの異なるキーに対する操作に応じて、第１の制御対象および第２の制御対象をそれぞれ別々に制御することができる。
【００１５】
また、前記第１の制御対象は、仮想空間内の第１のオブジェクトまたは仮想カメラであってもよい。また、情報処理プログラムは、前記コンピュータに、前記第１制御ステップにおいて、前記操作データに基づいて前記第１のオブジェクトまたは前記仮想カメラを動かす制御を行わせてもよい。
【００１６】
上記によれば、操作データに基づいて仮想空間内の第１のオブジェクトまたは仮想カメラを制御することができる。
【００１７】
また、前記第１の制御対象は、照準を定めるためのものであってもよい。
【００１８】
上記によれば、操作データに基づいて照準を制御することができる。
【００１９】
また、前記第１の制御対象は、前記仮想空間内の仮想カメラであり、前記第１画像生成ステップで生成される第１画像は前記仮想カメラを用いて生成される仮想空間の画像であってもよい。
【００２０】
上記によれば、操作データに基づいて仮想カメラを制御し、当該仮想カメラによって撮像される画像を第１画像として表示することができる。
【００２１】
また、前記仮想空間には所定のキャラクタが配置されてもよい。また、情報処理プログラムは、前記操作データに含まれる第４のデータに基づいて、前記所定のキャラクタを前記仮想空間内で移動させる第１移動ステップを、前記コンピュータにさらに実行させてもよい。
【００２２】
上記によれば、仮想空間の所定のキャラクタを第４データに基づいて移動させることができる。
【００２３】
また、前記第２画像生成ステップで生成される第２画像は、前記仮想空間のマップ画像であり、前記情報処理は、所定のゲームを行うための処理であってもよい。
【００２４】
上記によれば、仮想空間のマップ画像を表示することができる。具体的には、操作データに基づいて仮想カメラを制御し、当該仮想カメラで仮想空間を撮像した第１画像にマップ画像を重畳表示することができる。
【００２５】
また、前記第２の制御対象は、前記マップ画像上に表示されるカーソルであってもよい。情報処理プログラムは、前記操作データに含まれる第３のデータに基づいて第３の指示があったと判定されたとき、前記カーソルによって示される仮想空間の位置に前記所定のキャラクタを移動させる第２移動ステップを、前記コンピュータにさらに実行させてもよい。
【００２６】
上記によれば、マップ画像上のカーソルを制御して、所定のキャラクタをカーソルの位置に移動させることができる。
【００２７】
また、前記ゲームは複数のユーザによって操作される複数の情報処理装置によって行われるゲームであってもよい。情報処理プログラムは、前記コンピュータに、前記表示部に前記第３画像が表示されている場合、他の情報処理装置へ通知を行う通知ステップをさらに実行させ、他の情報処理装置から前記通知を受けた場合に、前記第１画像生成ステップにおいて、当該情報処理装置が表示部に前記第３画像を表示させていることを認識可能な前記第１画像を生成させてもよい。
【００２８】
上記によれば、複数のユーザによって行われるゲームにおいて、第１画像上に第２画像を重畳した第３画像を表示しているユーザを、他のユーザが認識可能とすることができる。これにより、第２画像を表示しているユーザを他のユーザが認識することができ、第２画像を表示しているユーザが、ゲームにおいて過度に有利にならないようにすることができ、ゲームのバランスをとることができる。
【００２９】
また、情報処理プログラムは、前記コンピュータに、前記第１画像生成ステップにおいて、前記第２の制御対象への制御が無効なときは、第１の態様の前記第１画像を生成させ、前記第２の制御対象への制御が有効なときは、前記第１の態様よりもユーザが視認し難い第２の態様の前記第１画像を生成させてもよい。また、情報処理プログラムは、前記コンピュータに、前記画像表示制御ステップにおいて、前記第２の制御対象への制御が無効なときは、前記第１の態様の第１画像を前記表示部に表示させ、前記第２の制御対象への制御が有効なときは、前記第２の態様の第１画像に前記第２画像を重畳した第３画像を前記表示部に表示させてもよい。
【００３０】
上記によれば、第２の制御対象への制御が有効なとき、すなわち、第２画像が表示されているときは、第２画像が表示されていないときと比べて、第１画像の視認性が悪くなる。これにより、第２画像を表示しているユーザが、ゲームにおいて過度に有利にならないようにすることができ、ゲームのバランスをとることができる。
【００３１】
また、前記操作部は、前記情報処理装置に着脱可能なコントローラであってもよい。
【００３２】
上記によれば、着脱可能な操作部を用いて上述した処理を行うことができる。
【００３３】
また、本発明の別の一例は、上記情報処理プログラムを実行する情報処理装置であってもよい。また、別の一例は、上記処理を実行する情報処理システムであってもよい。情報処理システムは、１又は複数の装置によって構成されてもよい。また、別の一例は、上記情報処理装置や情報処理システムにおいて行われる情報処理方法であってもよい。
【発明の効果】
【００３４】
本発明によれば、１つの画面上に第１画像および第２画像を表示して、第１の制御対象および第２の制御対象を同時に制御することができる。
【図面の簡単な説明】
【００３５】
【図１】本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図
【図２】本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図
【図３】本体装置２の一例を示す六面図
【図４】左コントローラ３の一例を示す六面図
【図５】右コントローラ４の一例を示す六面図
【図６】本体装置２の内部構成の一例を示すブロック図
【図７】本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図
【図８】左コントローラ３および右コントローラ４を装着可能な付属機器の一例を示す図
【図９】付属機器に対して左コントローラ３および右コントローラ４が装着された状態の一例を示す図
【図１０】左コントローラ３および右コントローラ４を本体装置２に装着した状態でゲームを行う様子の一例を示す図
【図１１】左コントローラ３および右コントローラ４を本体装置２から外した状態でゲームを行う様子の一例を示す図
【図１２】ユーザＡの本体装置のディスプレイに表示される画像の一例を示す図
【図１３】図１２に示す状態から左コントローラ３及び右コントローラ４を図に示すｙ軸回りに所定の角度だけ回転させた後のゲーム画像の一例を示す図
【図１４】ユーザＡがＸボタンを押下したときに表示されるマップ画像の一例を示す図
【図１５】ゲーム画像上にマップ画像Ｍが重畳表示されている間にユーザがプレイヤキャラクタＰＡを移動させる操作を行った場合のディスプレイに表示される画像の一例を示す図
【図１６】ゲーム画像上にマップ画像Ｍが重畳表示されている間にユーザがコントローラの姿勢を変化させる操作を行った場合のディスプレイに表示される画像の一例を示す図
【図１７】ユーザＢがマップ画像Ｍを表示させている場合におけるユーザＢの本体装置２のディスプレイ１２ｂに表示される画像の一例を示す図
【図１８】図１７に示す画像がユーザＢの本体装置２のディスプレイ１２ｂに表示されているときに、ユーザＡの本体装置２のディスプレイ１２ａに表示される画像の一例を示す図
【図１９】プレイヤキャラクタＰＡの背後に設定された仮想カメラから見た画像であって当該仮想カメラとプレイヤキャラクタＰＢとの間に壁オブジェクトが存在する場合のゲーム画像の一例を示す図
【図２０】左コントローラ３から出力される操作データの一例を示す図
【図２１】右コントローラ４から出力される操作データの一例を示す図
【図２２】本体装置２のＤＲＡＭ８５に記憶されるゲームデータの一例を示す図
【図２３】本体装置２によって行われる処理の一例を示すフローチャート
【発明を実施するための形態】
【００３６】
以下、本実施形態の一例に係る情報処理システムについて説明する。本実施形態における情報処理システム１の一例は、本体装置（情報処理装置；本実施例ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。また、情報処理システム１は、本体装置２に画像を表示する態様での利用と、テレビ等の他の表示装置（例えば、据置型モニタ）に画像を表示させる態様での利用が可能である。前者の態様において、情報処理システム１は、携帯型装置（例えば、携帯ゲーム機）として利用することができる。また、後者の態様において、情報処理システム１は、据置型装置（例えば、据置型ゲーム機）として利用することができる。なお、本実施形態の情報処理システム１は、本体装置２に装着されない無線コントローラをも含むことができる（図１２参照）。
【００３７】
（本体装置、左コントローラ、右コントローラの説明）
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、情報処理システム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３８】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。左コントローラ３は、本体装置２の左側面（図１に示すｘ軸正方向側の側面）に装着することができ、本体装置２の左側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。また、右コントローラ４は、本体装置２の右側面（図１に示すｘ軸負方向側の側面）に装着することができ、本体装置２の右側面に沿って図１に示すｙ軸方向にスライドさせることによって本体装置２に着脱可能となっている。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３９】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。本実施例において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００４０】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００４１】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。本実施例においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００４２】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。本実施例においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００４３】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００４４】
図３に示すように、本体装置２は、ハウジング１１の左側面において左レール部材１５を備える。左レール部材１５は、左コントローラ３を本体装置２に着脱可能に装着するための部材である。左レール部材１５は、ハウジング１１の左側面において、上下方向に沿って延びるように設けられる。左レール部材１５は、左コントローラ３のスライダ（すなわち、図４に示すスライダ４０）と係合可能な形状を有しており、左レール部材１５とスライダ４０とによってスライド機構が形成される。このスライド機構によって、左コントローラ３を本体装置２に対してスライド可能かつ着脱可能に装着することができる。また、ハウジング１１の右側面には、左側面に設けられる構成と同様の構成として、右レール部材１９が備えられる。
【００４５】
また、本体装置２は、左側端子１７を備える。左側端子１７は、本体装置２が左コントローラ３と有線通信を行うための端子である。左側端子１７は、左コントローラ３が本体装置２に装着された場合に、左コントローラ３の端子（図４に示す端子４２）と接触する位置に設けられる。また、本体装置２は右側端子２１を備える。右側端子２１は、本体装置２が右コントローラ４と有線通信を行うための端子である。右側端子２１は、右コントローラ４が本体装置２に装着された場合に、右コントローラ４の端子（図５に示す端子６４）と接触する位置に設けられる。
【００４６】
図３に示すように、本体装置２は、第１スロット２３を備える。第１スロット２３は、ハウジング１１の上側面に設けられる。第１スロット２３は、第１の種類の記憶媒体を装着可能な形状を有する。第１の種類の記憶媒体は、例えば、情報処理システム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。第１の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。図３に示すように、電源ボタン２８は、ハウジング１１の上側面に設けられる。電源ボタン２８は、本体装置２の電源のオン／オフを切り替えるためのボタンである。
【００４７】
本体装置２は、音声入出力端子（具体的には、イヤホンジャック）２５を備える。すなわち、本体装置２は、音声入出力端子２５にマイクやイヤホンを装着することができる。図３に示すように、音声入出力端子２５は、ハウジング１１の上側面に設けられる。
【００４８】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。図３に示すように、下側端子２７は、ハウジング１１の下側面に設けられる。本体装置２がクレードルに装着された場合、下側端子２７は、クレードルの端子に接続される。本実施例において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。クレードルは、左コントローラ３および右コントローラ４を本体装置２から取り外した状態で本体装置２のみを載置することが可能である。また、さらに他の例として、クレードルは、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置を載置することも可能である。そして、クレードルは、本体装置２とは別体の外部表示装置の一例である据置型モニタ（例えば、据置型テレビ）と通信可能である（有線通信であってもよいし、無線通信であってもよい）。上記一体型装置または本体装置２単体をクレードルに載置した場合、情報処理システム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、本実施例においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４９】
以上に説明した、ハウジング１１に設けられる各構成要素（具体的には、ボタン、スロット、端子等）の形状、数、および設置位置は、任意である。例えば、他の実施例においては、電源ボタン２８およびスロット２３のうちのいくつかは、ハウジング１１の他の側面あるいは背面に設けられてもよい。また、他の実施例においては、本体装置２は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００５０】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。本実施例において、ハウジング３１は、略板状である。また、ハウジング３１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施例においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。なお、ハウジング３１の形状は任意であり、他の実施例においては、ハウジング３１は略板状でなくてもよい。また、ハウジング３１は、矩形形状でなくてもよく、例えば半円状の形状等であってもよい。また、ハウジング３１は、縦長の形状でなくてもよい。
【００５１】
ハウジング３１の上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じである。また、ハウジング３１の厚さ（すなわち、前後方向の長さ、換言すれば、図１に示すｚ軸方向の長さ）は、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、左コントローラ３が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と左コントローラ３とを一体の装置のような感覚で把持することができる。
【００５２】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２が、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。アナログスティック３２は、ハウジング３１の主面に平行な全方向（すなわち、上下左右および斜め方向を含む、３６０°の方向）に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施例においては、スティック部材を（ハウジング３１に垂直な方向に）押下する入力が可能である。すなわち、アナログスティック３２は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行うことが可能な入力部である。
【００５３】
左コントローラ３は、４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および、左方向ボタン３６）を備える。図４に示すように、これら４つの操作ボタン３３〜３６は、ハウジング３１の主面においてアナログスティック３２の下側に設けられる。これらの操作ボタン３３〜３６は、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。また、左コントローラ３は録画ボタン３７を備える。また、左コントローラ３は−（マイナス）ボタン４７を備える。
【００５４】
左コントローラ３の主面に設けられる各操作部（具体的には、アナログスティック３２および上記各ボタン３３〜３７、４７）は、左コントローラ３が本体装置２に装着される場合、一体型装置を把持するユーザの例えば左手の親指によって操作される。また、左コントローラ３が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、左コントローラ３を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック３２はユーザの左手の親指で操作され、各操作ボタン３３〜３６はユーザの右手の親指で操作される。
【００５５】
左コントローラ３は、第１Ｌボタン３８を備える。また、左コントローラ３は、ＺＬボタン３９を備える。これらの操作ボタン３８および３９は、上記操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第１Ｌボタン３８は、ハウジング３１の側面のうちの左上部分に設けられる。また、ＺＬボタン３９は、ハウジング３１の側面から裏面にかけての左上部分（厳密には、ハウジング３１を表側から見たときの左上部分）に設けられる。つまり、ＺＬボタン３９は、第１Ｌボタン３８の後側（図１に示すｚ軸正方向側）に設けられる。左コントローラ３が本体装置２に装着される場合、第１Ｌボタン３８およびＺＬボタン３９は、一体型装置における左上部分に配置されることになる。
【００５６】
左コントローラ３は、上述のスライダ４０を備えている。図４に示すように、スライダ４０は、ハウジング３１の右側面において、上下方向に延びるように設けられる。スライダ４０は、本体装置２の左レール部材１５（より具体的には、左レール部材１５の溝）と係合可能な形状を有している。
【００５７】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。端子４２は、左コントローラ３が本体装置２に装着された場合に、本体装置２の左側端子１７（図３）と接触する位置に設けられる。
【００５８】
また、左コントローラ３は、第２Ｌボタン４３および第２Ｒボタン４４を備える。これらのボタン４３および４４は、他の操作ボタン３３〜３６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。図４に示すように、第２Ｌボタン４３および第２Ｒボタン４４は、スライダ４０の装着面に設けられる。
【００５９】
左コントローラ３は、通知用ＬＥＤ４５を備える。通知用ＬＥＤ４５は、ユーザに対して所定の情報を通知するための通知部である。通知用ＬＥＤ４５によって通知される情報は任意である。
【００６０】
左コントローラ３は、ペアリングボタン４６を備える。本実施例において、ペアリングボタン４６は、左コントローラ３と本体装置２との無線通信に関する設定（ペアリングとも言う）処理を指示するため、および、左コントローラ３のリセット処理を指示するために用いられる。
【００６１】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。本実施例において、ハウジング５１は、略板状である。また、ハウジング５１の主面（換言すれば、表側の面、すなわち、図１に示すｚ軸負方向側の面）は、大略的には矩形形状である。また、本実施例においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００６２】
右コントローラ４のハウジング５１は、左コントローラ３のハウジング３１と同様、その上下方向の長さは、本体装置２のハウジング１１の上下方向の長さとほぼ同じであり、その厚さは、本体装置２のハウジング１１の厚さとほぼ同じである。したがって、右コントローラ４が本体装置２に装着された場合（図１参照）には、ユーザは、本体装置２と右コントローラ４とを一体の装置のような感覚で把持することができる。
【００６３】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。本実施例においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、および、Ｙボタン５６）を備える。また、右コントローラ４は、＋（プラス）ボタン５７を備える。また、右コントローラ４は、ホームボタン５８を備える。
【００６４】
右コントローラ４の主面に設けられる各操作部（具体的には、アナログスティック５２および上記各ボタン５３〜５８）は、右コントローラ４が本体装置２に装着される場合、一体型装置を把持するユーザの例えば右手の親指によって操作される。また、右コントローラ４が本体装置２から外された状態において両手で横向きに把持されて使用される場合、上記各操作部は、右コントローラ４を把持するユーザの例えば左右の手の親指で操作される。具体的には、この場合、アナログスティック５２はユーザの左手の親指で操作され、各操作ボタン５３〜５６はユーザの右手の親指で操作される。
【００６５】
右コントローラ４は、第１Ｒボタン６０を備える。また、右コントローラ４は、ＺＲボタン６１を備える。図５に示すように、第１Ｒボタン６０は、ハウジング５１の側面のうちの右上部分に設けられる。また、ＺＲボタン６１は、ハウジング５１の側面から裏面にかけての右上部分（厳密には、ハウジング５１を表側から見たときの右上部分）に設けられる。つまり、ＺＲボタン６１は、第１Ｒボタン６０の後側（図１に示すｚ軸正方向側）に設けられる。
【００６６】
右コントローラ４は、左コントローラ３と同様のスライダ機構を備えている。すなわち、右コントローラ４は、上述のスライダ６２を備えている。
【００６７】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。端子６４は、右コントローラ４が本体装置２に装着された場合に、本体装置２の右側端子２１（図３）と接触する位置に設けられる。
【００６８】
また、右コントローラ４は、左コントローラ３と同様、第２Ｌボタン６５および第２Ｒボタン６６を備える。これらのボタン６５および６６は、他の操作ボタン５３〜５６と同様、本体装置２で実行される各種プログラムに応じた指示を行うために用いられる。
【００６９】
右コントローラ４は、通知用ＬＥＤ６７を備える。通知用ＬＥＤ６７は、左コントローラ３の通知用ＬＥＤ４５と同様、ユーザに対して所定の情報を通知するための通知部である。
【００７０】
右コントローラ４は、ペアリングボタン６９を備える。ペアリングボタン６９は、左コントローラ３のペアリングボタン４６と同様、右コントローラ４と本体装置２との無線通信に関する設定（ペアリングとも言う）処理を指示するため、および、右コントローラ４のリセット処理を指示するために用いられる。
【００７１】
なお、上記左コントローラ３および右コントローラ４において、ハウジング３１または５１に設けられる各構成要素（具体的には、スライダ、スティック、およびボタン等）の形状、数、および、設置位置は任意である。例えば、他の実施例においては、左コントローラ３および右コントローラ４は、アナログスティックとは別の種類の方向入力部を備えていてもよい。また、スライダ４０または６２は、本体装置２に設けられるレール部材１５または１９の位置に応じた位置に配置されてよく、例えば、ハウジング３１または５１の主面または裏面に配置されてもよい。また、他の実施例においては、左コントローラ３および右コントローラ４は、上記各構成要素のうちいくつかを備えていない構成であってもよい。
【００７２】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９８を備える。これらの構成要素８１〜９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００７３】
本体装置２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１を備える。ＣＰＵ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、厳密にはＣＰＵ機能、ＧＰＵ機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）である。ＣＰＵ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、各スロット２３および２４に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００７４】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、ＣＰＵ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００７５】
本体装置２は、第１スロットインターフェース（以下、「Ｉ／Ｆ」と略記する。）９１を備える。第１スロットＩ／Ｆ９１は、ＣＰＵ８１に接続される。第１スロットＩ／Ｆ９１は、第１スロット２３に接続され、第１スロット２３に装着された第１の種類の記憶媒体（例えば、ＳＤカード）に対するデータの読み出しおよび書き込みを、ＣＰＵ８１の指示に応じて行う。
【００７６】
ＣＰＵ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００７７】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、ＣＰＵ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。本実施例においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００７８】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、ＣＰＵ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、本実施例においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００７９】
ＣＰＵ８１は、上述の左側端子１７、右側端子２１、および、下側端子２７に接続される。ＣＰＵ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信する。また、ＣＰＵ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信する。また、ＣＰＵ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、本実施例においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、画像データや音声データ）を据置型モニタ等に出力することができる。
【００８０】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、ユーザは、複数の左コントローラ３および複数の右コントローラ４を用いて本体装置２に対する入力を行うことができる。
【００８１】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とＣＰＵ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、ＣＰＵ８１へ出力する。
【００８２】
また、ディスプレイ１２は、ＣＰＵ８１に接続される。ＣＰＵ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００８３】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、ＣＰＵ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００８４】
また、本体装置２は、加速度センサ８９を備える。本実施形態においては、加速度センサ８９は、所定の３軸（例えば、図１に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ８９は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。
【００８５】
また、本体装置２は、角速度センサ９０を備える。本実施形態においては、角速度センサ９０は、所定の３軸（例えば、図１に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ９０は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。
【００８６】
上記の加速度センサ８９および角速度センサ９０は、ＣＰＵ８１に接続され、加速度センサ８９および角速度センサ９０の検出結果は、ＣＰＵ８１へ出力される。ＣＰＵ８１は、上記の加速度センサ８９および角速度センサ９０の検出結果に基づいて、本体装置２の動きおよび／または姿勢に関する情報を算出することが可能である。なお、本実施形態においては、本体装置２の動き、姿勢、および／または位置を算出するための慣性センサとして、加速度センサおよび角速度センサを用いているが、他の実施形態では他の種類のセンサが用いられてもよい。
【００８７】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびＣＰＵ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、ＣＰＵ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。また、電力制御部９７は、電源ボタン２８に接続される。電力制御部９７は、電源ボタン２８に対する入力に基づいて、上記各部への電力供給を制御する。すなわち、電力制御部９７は、電源ボタン２８に対して電源をオフする操作が行われた場合、上記各部の全部または一部への電力供給を停止し、電源ボタン２８に対して電源をオンする操作が行われた場合、電力制御部９７は、上記各部の全部または一部への電力供給を開始する。また、電力制御部９７は、電源ボタン２８に対する入力を示す情報（具体的には、電源ボタン２８が押下されているか否かを示す情報）をＣＰＵ８１へ出力する。
【００８８】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００８９】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００９０】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。本実施例においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００９１】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００９２】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、４６、４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００９３】
左コントローラ３は、慣性センサを備える。具体的には、加速度センサ１０４を備える。また、角速度センサ１０５を備える。本実施例においては、加速度センサ１０４は、所定の３軸（例えば、図４に示すｘｙｚ軸）方向に沿った加速度の大きさを検出する。なお、加速度センサ１０４は、１軸方向あるいは２軸方向の加速度を検出するものであってもよい。本実施例においては、角速度センサ１０５は、所定の３軸（例えば、図４に示すｘｙｚ軸）回りの角速度を検出する。なお、角速度センサ１０５は、１軸回りあるいは２軸回りの角速度を検出するものであってもよい。加速度センサ１０４および角速度センサ１０５は、それぞれ通信制御部１０１に接続される。そして、加速度センサ１０４および角速度センサ１０５の検出結果は、適宜のタイミングで繰り返し通信制御部１０１へ出力される。
【００９４】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、または、センサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００９５】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判別することができる。また、本体装置２は、左コントローラ３の動きおよび／または姿勢に関する情報を、操作データ（具体的には、加速度センサ１０４および角速度センサ１０５の検出結果）に基づいて算出することができる。
【００９６】
また、通知用ＬＥＤ４５は、通信制御部１０１に接続される。本実施形態においては、通知用ＬＥＤ４５は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って通知用ＬＥＤ４５の点灯を制御する制御信号を通知用ＬＥＤ４５へ出力する。
【００９７】
左コントローラ３は、振動によってユーザに通知を行うための振動子１０７を備える。本実施例においては、振動子１０７は、本体装置２からの指令によって制御される。すなわち、通信制御部１０１は、本体装置２からの上記指令を受け取ると、当該指令に従って振動子１０７を駆動させる。ここで、左コントローラ３は、増幅器１０６を備える。通信制御部１０１は、上記指令を受け取ると、指令に応じた制御信号を増幅器１０６へ出力する。増幅器１０６は、通信制御部１０１からの制御信号を増幅して、振動子１０７を駆動させるための駆動信号を生成して振動子１０７へ与える。これによって振動子１０７が動作する。
【００９８】
左コントローラ３は、電力供給部１０８を備える。本実施例において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。電力制御回路は、バッテリから上記各部への電力供給を制御する。また、バッテリは、端子４２に接続される。本実施例においては、左コントローラ３が本体装置２に装着される場合、所定の条件下で、バッテリは、端子４２を介して本体装置２からの給電によって充電される。
【００９９】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【０１００】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２、慣性センサ（加速度センサ１１４および角速度センサ１１５）を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【０１０１】
右コントローラ４の通知用ＬＥＤ６７は、左コントローラ３の通知用ＬＥＤ４５と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令を受け取ると、当該指令に従って通知用ＬＥＤ６７の点灯を制御する制御信号を通知用ＬＥＤ６７へ出力する。
【０１０２】
また、右コントローラ４は、振動子１１７および増幅器１１６を備える。振動子１１７および増幅器１１６は、左コントローラ３の振動子１０７および増幅器１０６と同様に動作する。すなわち、通信制御部１１１は、本体装置２からの指令に従って、増幅器１１６を用いて振動子１１７を動作させる。
【０１０３】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。すなわち、電力供給部１１８は、バッテリから給電を受ける各部への電力供給を制御する。また、右コントローラ４が本体装置２に装着される場合、所定の条件下で、バッテリは、端子６４を介して本体装置２からの給電によって充電される。
【０１０４】
なお、本体装置２から外されたコントローラ３および４は付属機器に装着されてもよい。図８は、左コントローラ３および右コントローラ４を装着可能な付属機器の一例を示す図である。図９は、付属機器に対して左コントローラ３および右コントローラ４が装着された状態の一例を示す図である。
【０１０５】
図８に示されるように、付属機器は、支持部３５２と、ユーザが左手で把持するための左グリップ部３５３と、ユーザが右手で把持するための右グリップ部３５４とを有する。また、図８に示されるように、支持部３５２の左側面には、左コントローラ３の右側面に設けられたスライド部とスライド可能に係合する左レール部材３５６が設けられる。同様に、支持部３５２の右側面には、右コントローラ４の左側面に設けられたスライド部とスライド可能に係合する右レール部材３５６が設けられる。左レール部材３５６によって左コントローラ３が図８のｙ軸負方向にスライドされ、支持部３５２の左側に固定される（図９参照）。また、右レール部材３５６によって右コントローラ４が図８のｙ軸負方向にスライドされ、支持部３５２の右側に固定される（図９参照）。このように、コントローラ３および４を付属機器に装着して使用することで、両手持ちのコントローラのような感覚で操作をすることが可能になる。
【０１０６】
（各コントローラを用いたゲーム制御）
本実施形態では、ユーザは、情報処理システム１を用いて所定のゲームを行う。例えば、ユーザは、本体装置２のディスプレイ１２に表示されたプレイヤキャラクタＰをゲーム空間内で移動させ、所定の敵キャラクタと対戦するゲームを行う。なお、本実施形態では、ユーザは、１人でゲームを行うこともできるし、複数人でゲームを行うこともできる。ユーザが１人でゲームを行う場合、ユーザは、自身のプレイヤキャラクタＰをゲーム空間内で移動させ、本体装置２によって制御される敵キャラクタ（ノンプレイヤキャラクタ）と対戦する。複数人でゲームを行う場合、複数の本体装置２が互いに通信（例えば無線通信、ＬＡＮを介した通信、又は、インターネットを介した通信）を行い、各ユーザが自身のプレイヤキャラクタを操作して対戦する。
【０１０７】
本実施形態では、ユーザは、本体装置２に装着した左コントローラ３および右コントローラ４を用いてゲーム操作（例えば、プレイヤキャラクタＰの移動や敵キャラクタとの対戦のための操作等）を行うことができる。また、ユーザは、本体装置２から外した左コントローラ３および右コントローラ４を用いてゲーム操作を行うことができる。
【０１０８】
図１０は、左コントローラ３および右コントローラ４を本体装置２に装着した状態（「装着状態」と呼ぶ）でゲームを行う様子の一例を示す図である。図１０に示すように、各コントローラ３および４を本体装置２に装着する場合には、情報処理システム１を携帯機器（例えば、携帯型ゲーム機）として利用することができる。
【０１０９】
装着状態においては、本体装置２と各コントローラ３および４との通信は、有線通信（すなわち、互いに接続される各装置の端子を介した通信）によって行われる。すなわち、本体装置２は、自機に装着された各コントローラ３および４から操作データを受信して、受信された操作データに基づいてゲーム処理を行う。
【０１１０】
なお、他の実施形態においては、装着状態において、本体装置２とコントローラとの間で無線通信が行われてもよい。すなわち、左コントローラ３および右コントローラ４が本体装置２に装着された状態において、本体装置２と左コントローラ３とが端子１７，４２を介さずに無線により通信し、本体装置２と右コントローラ４とが端子２１，６４を介さずに無線により通信してもよい。
【０１１１】
本実施形態では、図１０に示すように本体装置２に装着した状態の左コントローラ３および右コントローラ４の組を「携帯機コントローラ１００」と呼ぶことにする。すなわち、本体装置２と一体となった左コントローラ３および右コントローラ４を「携帯機コントローラ１００」と呼ぶ。本実施形態では、ユーザは、本体装置２に装着された左コントローラ３および右コントローラ４を１つの携帯機コントローラ１００として用い、ゲーム操作を行うことができる。
【０１１２】
図１１は、左コントローラ３および右コントローラ４を本体装置２から外した状態（「離脱状態」と呼ぶ）でゲームを行う様子の一例を示す図である。
【０１１３】
離脱状態においては、本体装置２と左コントローラ３および右コントローラ４との通信は、無線通信によって行われる。すなわち、本体装置２は、自機との無線接続が確立した（ペアリングが行われた）左コントローラ３および右コントローラ４から操作データを受信して、受信された操作データに基づいてゲーム処理を行う。
【０１１４】
なお、図１１においては、左コントローラ３および右コントローラ４が上述した付属装置に装着された状態で使用される様子が示されているが、左コントローラ３および右コントローラ４は、それぞれ付属装置に装着されずに使用されてもよい。すなわち、左コントローラ３がユーザの左手に把持され、右コントローラ４がユーザの右手に把持されて使用されてもよい。
【０１１５】
以下では、離脱状態にてゲームを行う場合について説明するが、装着状態でも同様のゲームが行われる。また、以下では、左コントローラ３および右コントローラ４を、「コントローラ」と総称する。
【０１１６】
（本実施形態のゲームの説明）
次に、本実施形態のゲームについて具体的に説明する。以下では、４人のプレイヤがそれぞれ自身の本体装置２及びコントローラを用いてゲームを行う場合について説明する。例えば、ユーザＡはプレイヤキャラクタＰＡを操作し、ユーザＢはプレイヤキャラクタＰＢを操作し、ユーザＣはプレイヤキャラクタＰＣを操作し、ユーザＤはプレイヤキャラクタＰＤを操作するものとする。４台の本体装置２がそれぞれ通信を行うことでゲームが進行する。なお、プレイ人数は一例であり、何人でプレイするゲームであってもよい。
【０１１７】
図１２は、ユーザＡの本体装置のディスプレイに表示される画像の一例を示す図である。図１２に示されるように、ディスプレイ１２には、ユーザＡに対応するプレイヤキャラクタＰＡと、ユーザＢに対応するプレイヤキャラクタＰＢと、照準画像Ｘとが表示される。本実施形態のゲームは、各ユーザが自身のプレイヤキャラクタを操作して、他のプレイヤキャラクタを例えば射撃するゲームである。照準画像Ｘは、プレイヤキャラクタＰＡが射撃をする際の照準を示す画像である。ユーザＡが射撃の指示をすると、照準画像Ｘが示すゲーム空間の位置に向かって射撃が行われる。例えば、弾丸を発射する銃を使った射撃の場合は、照準画像Ｘが示すゲーム空間の位置に向かって弾丸が移動する。液体を発射する銃の場合は、照準画像Ｘが示すゲーム空間の位置に向かって液体が移動する。
【０１１８】
照準画像Ｘが示す照準の位置は、例えば画面のほぼ中心に設定される。例えば、ゲーム空間におけるプレイヤキャラクタＰＡの背後に設定された仮想カメラの位置から当該仮想カメラの視線方向に向かって直線を伸ばし、当該直線がゲーム空間内の所定の奥行値の面上や、所定のオブジェクトと交差する位置に、照準が配置される。したがって、仮想カメラの注視点とほぼ一致する位置に照準が設定される。なお、照準画像Ｘは必ずしも画面に表示されなくてもよい。照準画像Ｘが表示されなくても、仮想カメラの注視点に照準が設定されることで、ユーザは、画面の中心に敵キャラクタがくるように仮想カメラの向きを操作することで、敵キャラクタに攻撃を加えることができる。また、照準は必ずしも注視点と一致する必要は無く、注視点から所定量だけずれた位置に配置されるようにしてもよい。
【０１１９】
ここで、仮想カメラの向きは、コントローラの姿勢に基づいて制御される。具体的には、右コントローラ４（左コントローラ３でもよいし、左コントローラ３および右コントローラ４の両方でもよい）の加速度センサ、および、角速度センサからのデータに基づいて、右コントローラ４の姿勢が算出され、算出された姿勢に基づいて、仮想カメラの向きが制御される。例えば、本体装置２は、コントローラの基準姿勢を設定し、当該基準姿勢からのコントローラの姿勢の変化を検出する。そして、本体装置２は、コントローラの姿勢の変化に応じて、仮想カメラの向きを変化させる。例えば、コントローラの基準姿勢は、現実空間において絶対的に定まる姿勢（例えば、図９におけるｙ軸負方向が重力方向と平行となるような姿勢）であってもよいし、相対的に定まる姿勢（例えば、ゲーム開始時における姿勢やユーザが所定の操作を行ったときのコントローラの姿勢）であってもよい。したがって、仮想カメラの向きをコントローラの姿勢に基づいて制御することができる。また、照準の制御をコントローラの姿勢に基づいて行うことができる。
【０１２０】
図１３は、図１２に示す状態から左コントローラ３及び右コントローラ４を図に示すｙ軸回りに所定の角度だけ回転させた後のゲーム画像の一例を示す図である。
【０１２１】
図１３に示されるように、例えば、現実空間においてユーザＡがコントローラのｙ軸負方向が重力方向と平行になるように把持した状態（基準姿勢）から、コントローラをｙ軸回りに回転させた場合（ユーザＡが左方向を向いた場合）、その回転角に応じて、ゲーム空間に設定された仮想カメラも左方向を向く。また、例えば、ユーザＡが、現実空間においてコントローラを図１３のｘ軸回りに回転させた場合（例えば、コントローラの背面を現実空間の斜め上に向けた場合）、ゲーム空間の仮想カメラもゲーム空間の上方向を向く。すなわち、仮想カメラは、現実空間におけるコントローラの姿勢の変化に連動するように、ゲーム空間において動く。
【０１２２】
図１２に示される状態では、プレイヤキャラクタＰＢは、画面の中央よりも左側に位置しているが、ユーザＡが左コントローラ３及び右コントローラ４を左方向に向けると、仮想カメラの向きも左方向を向き、図１３に示されるように、画面の中央にプレイヤキャラクタＰＢが見えるようになる。このとき、ユーザＡが、例えば右コントローラ４のＺＲボタン６１を押下すると、プレイヤキャラクタＰＡが射撃を行い、画面の中央に表示された照準画像Ｘに向かって弾丸や液体等の発射されたオブジェクトが移動する様子が表示される。そして、発射されたオブジェクトがプレイヤキャラクタＰＢに当たると、プレイヤキャラクタＰＢの体力が減り、プレイヤキャラクタＰＢの体力がゼロになると、プレイヤキャラクタＰＢは倒れる。
【０１２３】
また、右コントローラ４のアナログスティック５２等の方向入力を用いて、仮想カメラの向きを変化させるようにしてもよい。この場合、例えば、右コントローラ４のアナログスティック５２を右方向に傾倒させると、仮想カメラも右方向を向き、アナログスティック５２を左方向に傾倒させると、仮想カメラも左方向を向く。アナログスティック５２による仮想カメラの操作は、コントローラの姿勢の変化による操作と共に行うことができるようにしてもよいし、いずれかの操作のみ有効であってもよい。
【０１２４】
上記から明らかなように、仮想カメラの向きと連動して照準も動くため、コントローラの姿勢の変化に基づいて（加速度センサ及び角速度センサから出力されるデータに基づいて）、照準も制御される。同様に、右コントローラ４のアナログスティック５２に対する操作に基づいて、照準も制御される。
【０１２５】
以下では、図１２や図１３に示すように、ゲーム空間のプレイヤキャラクタの背後に設定された仮想カメラに基づいて生成され、ディスプレイに表示される画像を「ゲーム画像」と言うことにする。
【０１２６】
各ユーザは、自身に対応するプレイヤキャラクタをゲーム空間内で移動させて、敵キャラクタ（対戦相手のプレイヤキャラクタ）やそれ以外のオブジェクトに対して射撃を行う。そして、制限時間内に勝利条件を満たしたプレイヤが勝利となる。例えば、全ての敵キャラクタが倒れて自身のプレイヤキャラクタのみが生き残った場合、そのプレイヤが勝利となる。または、時間内に所定のスコアを競って勝敗を決定するゲームであってもよい。各ユーザが有する本体装置２のディスプレイには、図１２に示されるように、自身のプレイヤキャラクタの背後からゲーム空間を見たゲーム画像が表示され、基本的には、ゲーム空間の一部しか見ることができない。また、ゲーム空間には、壁やビル、木などの様々な視線を遮る他のオブジェクトが配置されるため、各ユーザは、ゲーム画像を見ただけでは、これら他のオブジェクトの背後に敵キャラクタや味方キャラクタが存在するかどうか分からない。
【０１２７】
そこで、本実施形態のゲームでは、プレイヤが所定のボタン（例えば、右コントローラ４のＸボタン５５）を押下すると、ゲーム空間の広範囲を示すマップ画像がディスプレイ１２に表示される。
【０１２８】
図１４は、ユーザＡがＸボタンを押下したときに表示されるマップ画像の一例を示す図である。図１４に示されるように、通常のゲーム画像が表示されているときにプレイヤがＸボタン５５を押下すると、ディスプレイ１２の中央には、マップ画像Ｍがゲーム画像に部分的に重畳されて表示される。
【０１２９】
図１４の下図に示されるように、マップ画像Ｍは、ゲーム空間を俯瞰した画像であり、ゲーム空間の一部又は全体を上方から見た画像である。マップ画像Ｍには、各プレイヤキャラクタの位置を示す画像が表示される。例えば、プレイヤキャラクタＰＡの位置を示す白丸の画像と、プレイヤキャラクタＰＢ〜ＰＤの位置を示す三角形の画像とが、マップ上に表示される。これにより、ユーザＡは、各プレイヤキャラクタの位置を容易に把握することができる。プレイヤキャラクタＰＢ〜ＰＤは、ゲームによって全員敵キャラクタであったり、一部が味方キャラクタであったりする。ここで、マップ上への表示は、味方キャラクタだけを表示し、敵キャラクタは隠すようにしてもよい。また、全員を表示するようにしてもよい。さらに、味方キャラクタと、所定の条件を満たした敵キャラクタとが表示されるようにしてもよい。所定の条件は、例えば、敵キャラクタがダメージを受けている最中である、敵キャラクタが所定の範囲内にいる、敵キャラクタを操作するプレイヤの方でマップ画像Ｍを表示している最中である、等の様々な条件であってよい。
【０１３０】
また、マップ画像Ｍには、カーソルＴが表示される。このカーソルＴがマップ上の所定の位置を示しているときにユーザＡが所定のボタン（例えば、Ａボタン５３）を押すと、プレイヤキャラクタＰＡはカーソルＴが示すゲーム空間の位置に瞬間的にまたは高速で移動する。例えば、ユーザＡが、マップ画像Ｍが表示されている間に、カーソルＴをプレイヤキャラクタＰＢの位置に移動させてＡボタン５３を押すと、プレイヤキャラクタＰＡは、プレイヤキャラクタＰＢの位置に瞬間的にまたは高速で移動する。なお、プレイヤキャラクタは、カーソルＴが示す任意の位置に移動可能であってもよいし、カーソルＴが示す位置が予め定められたゲーム空間における位置のときのみ移動可能であってもよい。また、当該プレイヤキャラクタが味方キャラクタの場合に限りその位置に移動可能であってもよい。また、別の例では、カーソルＴによる操作は、移動のためでなく、選択した他のプレイヤキャラクタに対して遠隔から所定のアクションを実行する操作であってもよい。
【０１３１】
図１４の下図に示されるマップ画像Ｍがゲーム画像に重畳表示されている間も、ユーザＡは、例えば右コントローラ４のＺＲボタン６１を押下することにより、射撃を行うことができる。また、マップ画像Ｍがゲーム画像に重畳表示されている間も、ユーザＡは、例えば左コントローラ３のアナログスティック３２を用いて、プレイヤキャラクタＰＡをゲーム空間内で移動させることができる。すなわち、マップ画像Ｍがゲーム画像に重畳表示されている間も、通常のゲーム画像が表示されているときと同様に（マップ画像Ｍがゲーム画像に重畳表示されていないときと同様に）、ユーザは、ゲーム操作を行うことができる。
【０１３２】
各ユーザは、自身の右コントローラ４のＸボタン５５を押下すると、自身の本体装置２のディスプレイ１２にマップ画像Ｍを表示させることができる。このようにマップ画像Ｍは、他のプレイヤキャラクタの位置等、全体の状況を把握することができるものであり、かつマップ画像Ｍの表示中もゲーム装置は通常どおり行うことができるため、マップ画像Ｍを見ている間に操作ができずに敵キャラクタから攻撃を受けるような場合が減り、スムーズに操作をすることができる。一方で、マップ画像Ｍを表示しているユーザは、マップ画像Ｍを表示していないユーザに比べて有利となる。そうすると、各ユーザが常にマップ画像Ｍを表示させたままゲームをプレイすることも考えられるが、本実施形態は、ゲーム画像のみの表示とマップ画像Ｍの表示を切り替えてプレイするゲームの例であり、本来と異なるプレイスタイルになってしまう可能性がある。
【０１３３】
したがって、本実施形態では、各ユーザが常にマップ画像Ｍを見ながらゲームをプレイすることをある程度抑制するために、マップ画像Ｍは、ゲーム画像（プレイヤキャラクタの背後から見た画像）の中心付近に重畳して表示される。ゲーム画像の中心にマップ画像Ｍが重畳して表示されるため、図１４の下図に示されるように、プレイヤキャラクタＰＡ（一部又は全部）および照準画像Ｘは、マップ画像Ｍによって隠れる。また、マップ画像Ｍが表示されている間、ゲーム画像は、ユーザが視認し難い画像となる。例えば、マップ画像Ｍが表示されている間は、通常のゲーム画像をぼかしたゲーム画像がディスプレイ１２に表示される。なお、図１４の下図では、マップ画像Ｍの後ろに表示されたゲーム画像が点線で示されているが、これは、ゲーム画像をぼかした画像であることを意味する。すなわち、マップ画像Ｍを表示している間は、操作は可能であるが、その状態のままゲームを継続するには不便であるような表示にしている。別の実施形態において、常にマップ表示をしていてもよいゲームの場合には、マップ画像Ｍを画面端等の邪魔になりにくい場所に表示させるようにし、かつゲーム画像も通常どおりであってもよい。
【０１３４】
図１５は、ゲーム画像上にマップ画像Ｍが重畳表示されている間にユーザがプレイヤキャラクタＰＡを移動させる操作を行った場合のディスプレイに表示される画像の一例を示す図である。図１５の上図はプレイヤキャラクタＰＡの移動前の画像を示し、図１５の下図はプレイヤキャラクタＰＡの移動後の画像を示す。
【０１３５】
図１５の上図に示される画像がディスプレイに表示されているときに、ユーザが例えば左コントローラ３のアナログスティック３２を用いてプレイヤキャラクタＰＡを移動させる操作を行うと、プレイヤキャラクタＰＡはゲーム空間内を移動する。例えば、ユーザＡがアナログスティック３２を上方向に傾倒させた場合、図１５の下図に示されるように、プレイヤキャラクタＰＡは、ゲーム空間内を画面の奥方向に移動する。プレイヤキャラクタＰＡの移動に応じて、プレイヤキャラクタＰＡの位置を示す白丸の画像もマップ画像Ｍ上を上方向に移動する。また、プレイヤキャラクタＰＡが移動することに応じてプレイヤキャラクタＰＡの背後に設定された仮想カメラも移動するため、ゲーム画像全体も変化する。例えば、図１５の下図では、プレイヤキャラクタＰＡがゲーム空間内の広場まで移動した後の様子が示されており、マップ画像ＭにおけるプレイヤキャラクタＰＡの位置を示す白丸の画像も広場に位置している。また、ゲーム画像として、広場に存在するプレイヤキャラクタＰＡの背後から見た画像が表示されている。
【０１３６】
図１６は、ゲーム画像上にマップ画像Ｍが重畳表示されている間にユーザがコントローラの姿勢を変化させる操作を行った場合のディスプレイに表示される画像の一例を示す図である。図１６の上図はユーザがコントローラの姿勢を変化させる前の画像を示し、図１６の下図はユーザがコントローラの姿勢を変化させた後の画像を示す。
【０１３７】
図１６の上図に示される画像がディスプレイに表示されているときに、ユーザが例えばコントローラの姿勢を変化させる操作を行うと、図１３を参照して説明したように、仮想カメラの向きも変化し、向きが変化した仮想カメラから見た画像がゲーム画像としてディスプレイに表示される。また、仮想カメラの向きの変化に連動して、照準も移動する。具体的には、本体装置２は、例えば右コントローラ４の加速度センサおよび角速度センサが検出した加速度および角速度に基づいて、コントローラの姿勢の変化を検出し、その姿勢の変化に応じて、仮想カメラの向きを変化させる。例えば、ユーザがコントローラを基準姿勢からコントローラの背面が左側を向く姿勢に変化させた場合、仮想カメラも左側を向き、図１６の下図に示されるように、左側を向いた仮想カメラから見たゲーム画像がディスプレイに表示される。
【０１３８】
また、図１６の下図に示されるように、コントローラの姿勢の変化に応じて、マップ画像Ｍ上に表示されたカーソルＴもマップ画像Ｍ上を移動する。図１６の下図において破線の丸印で示されるカーソルＴ’は移動前のカーソルを示し、黒丸で示されたカーソルＴは移動後のカーソルを示す。例えば、ユーザがコントローラを基準姿勢からコントローラの背面が左側を向く姿勢に変化させた場合、マップ画像Ｍ上のカーソルＴも左方向に移動する。
【０１３９】
すなわち、ゲーム画像上にマップ画像Ｍが重畳表示されている場合、マップ画像Ｍ上のカーソルＴに対する操作が有効となり、コントローラ（例えば、右コントローラ４）の加速度センサおよび角速度センサからのデータに基づいて、ゲーム空間における仮想カメラの向き（及び照準）が制御されると同時に、同じデータに基づいて、マップ画像Ｍ上に表示されたカーソルＴの位置も制御される。なお、ゲーム画像上にマップ画像Ｍが重畳表示されていない場合には、コントローラ（例えば、右コントローラ４）の加速度センサおよび角速度センサからのデータに基づいて、ゲーム空間における仮想カメラの向きが制御されるが、カーソルＴは表示されないため、カーソルＴは制御されない。
【０１４０】
そして、図１６の下図に示される状態において、ユーザが、例えば右コントローラ４のＺＲボタン６１を押下すると、マップ画像Ｍによって隠れた照準の位置（仮想カメラの注視点）に向かって射撃が行われる（照準に向かって例えば弾丸が発射される）。また、図１６の下図に示される状態において、ユーザが、例えば右コントローラ４のＡボタン５３を押下すると、プレイヤキャラクタＰＡがカーソルＴの位置に移動する。なお、図１６の下図に示される状態でＡボタン５３が押されると、プレイヤキャラクタＰＡがカーソルＴの位置に移動するとともに、マップ画像Ｍが非表示となり、通常のゲーム画像に戻る。また、カーソルＴが、マップ画像Ｍ上の所定位置（例えば、他のプレイヤキャラクタの位置やその他の予め定められた位置）に存在しないときにＡボタン５３が押されても、プレイヤキャラクタＰＡはカーソルＴが示すゲーム空間内の位置に移動しない。
【０１４１】
次に、あるユーザが自身のディスプレイにマップ画像Ｍを表示させているときに、他のユーザのディスプレイに表示される画像について説明する。
【０１４２】
図１７は、ユーザＢがマップ画像Ｍを表示させている場合におけるユーザＢの本体装置２のディスプレイ１２ｂに表示される画像の一例を示す図である。図１８は、図１７に示す画像がユーザＢの本体装置２のディスプレイ１２ｂに表示されているときに、ユーザＡの本体装置２のディスプレイ１２ａに表示される画像の一例を示す図である。
【０１４３】
図１７に示されるように、ユーザＢが例えばコントローラのＸボタン５５を押下すると、図１４の下図と同様に、マップ画像Ｍが表示される。具体的には、ユーザＢに対応するプレイヤキャラクタＰＢの背後に設定された仮想カメラからゲーム空間を見たゲーム画像の上に、マップ画像Ｍが重畳表示される。このマップ画像Ｍには、プレイヤキャラクタＰＡ、ＰＣ、ＰＤの位置を示す三角形の画像が表示されるとともに、プレイヤキャラクタＰＢの位置を示す白丸の画像が表示される。
【０１４４】
図１７に示す画像がユーザＢの本体装置２のディスプレイ１２ｂに表示されている場合、ユーザＡの本体装置２のディスプレイ１２ａには図１８に示される画像が表示される。具体的には、図１８に示されるように、マップ画像Ｍを見ているユーザＢに対応するプレイヤキャラクタＰＢの周囲には、エフェクト画像が表示される。このエフェクト画像は、ユーザＢがマップ画像Ｍを見ている（すなわち、ユーザＢの本体装置２のディスプレイ１２ｂにマップ画像Ｍが表示されている）ことを示す画像である。ユーザＢがマップ画像Ｍを見ていない場合（すなわち、ユーザＢの本体装置２のディスプレイ１２ｂにマップ画像Ｍが表示されていない場合）、このエフェクト画像は表示されない。
【０１４５】
プレイヤキャラクタＰＢの周囲にエフェクト画像が表示されることによって、ユーザＡは、ユーザＢがマップ画像Ｍを見ながらゲームを行っていることを知ることができる。他のユーザＣ，Ｄについても同様である。すなわち、ユーザＣに対応するプレイヤキャラクタＰＣの背後に設定された仮想カメラの撮像範囲に、プレイヤキャラクタＰＢが存在する場合、ユーザＣの本体装置２のディスプレイ１２ｃには、プレイヤキャラクタＰＢおよびエフェクト画像が表示される。また、ユーザＤに対応するプレイヤキャラクタＰＤの背後に設定された仮想カメラの撮像範囲に、プレイヤキャラクタＰＢが存在する場合、ユーザＤの本体装置２のディスプレイ１２ｄには、プレイヤキャラクタＰＢおよびエフェクト画像が表示される。
【０１４６】
ここで、例えば、プレイヤキャラクタＰＡの背後に設定された仮想カメラの撮像範囲にプレイヤキャラクタＰＢが存在するが、仮想カメラとプレイヤキャラクタＰＢとの間に例えば壁オブジェクトが存在する場合、プレイヤキャラクタＰＢはこの壁オブジェクトによって隠れる。
【０１４７】
図１９は、プレイヤキャラクタＰＡの背後に設定された仮想カメラから見た画像であって当該仮想カメラとプレイヤキャラクタＰＢとの間に壁オブジェクトが存在する場合のゲーム画像の一例を示す図である。
【０１４８】
図１９に示されるように、プレイヤキャラクタＰＡの背後に設定された仮想カメラが撮像可能なゲーム空間の範囲（すなわち、手前に視線を遮る他のオブジェクトが存在するか否かにかかわらず、仮想カメラの画角に含まれるゲーム空間の範囲）にはプレイヤキャラクタＰＢが存在するが、その手前に壁オブジェクトが存在するため、その仮想カメラからはプレイヤキャラクタＰＢは見えない。しかしながら、プレイヤキャラクタＰＢの周囲にエフェクト画像が表示されている場合（すなわち、ユーザＢがマップ画像を表示させている場合）、このエフェクト画像は、壁オブジェクトを通して仮想カメラから見える。すなわち、プレイヤキャラクタＰＢおよびエフェクト画像のうち、エフェクト画像については、壁オブジェクトを透過して仮想カメラによって撮像される。このため、ユーザＡのディスプレイ１２ａでは、図１９に示されるように、エフェクト画像のみが表示される。このエフェクト画像によって、ユーザＡは、プレイヤキャラクタＰＢが壁オブジェクトの向こう側に隠れていることを認識することができる。
【０１４９】
一方で、ユーザＢが自身の画面においてマップ画像Ｍを表示させていない場合、プレイヤキャラクタＰＢの周囲にエフェクト画像は表示されず、ユーザＡは、プレイヤキャラクタＰＢが壁オブジェクトの後ろに隠れていることを認識することはできない。
【０１５０】
このように、本実施形態では、マップ画像Ｍを見ているユーザ（マップ画像Ｍを自身の画面に表示させているユーザ）のプレイヤキャラクタにはエフェクト画像が表示され、ユーザがマップ画像を見ていることを他のユーザが知ることができる。したがって、マップ画像Ｍを表示し続けてプレイをすることで一方的に有利になることを抑制することができる。
【０１５１】
以上のように、本実施形態では、ユーザは、通常のゲーム画像においてコントローラを用いてプレイヤキャラクタを操作し、コントローラの姿勢を変化させることで仮想カメラおよび照準の位置を制御することができ、コントローラの例えばＺＲボタン６１を押下することで照準の位置に向かって射撃をすることができる。また、ユーザがコントローラの例えばＸボタン５５を押下すると、マップ画像Ｍがゲーム画像に重畳表示され、ユーザはカーソルＴを操作することが可能になる。ユーザは、マップ画像が表示されているときに、コントローラの姿勢を変化させることで仮想カメラおよび照準の位置を制御することができるとともに、カーソルＴの位置を制御することができる。そして、ユーザは、マップ画像が表示されているときに、コントローラのＺＲボタン６１を押下すると、照準の位置に向かって射撃を行い、コントローラのＡボタン５３を押下すると、プレイヤキャラクタをカーソルＴの位置まで移動させることができる。したがって、マップ画像が表示されているときには、共通の操作で２つの制御対象を制御することができる一方で、動作決定のための操作が別々であるため、いずれかだけを操作したい場合にも問題無く操作することができる。
【０１５２】
（コントローラから出力される操作データ）
次に、各コントローラから出力される操作データについて説明する。図２０は、左コントローラ３から出力される操作データの一例を示す図である。図２１は、右コントローラ４から出力される操作データの一例を示す図である。
【０１５３】
図２０に示されるように、左コントローラ３から出力される操作データＤ３００には、加速度データＤ３０１と、角速度データＤ３０２と、左スティックデータＤ３０３と、各ボタンデータＤ３０４とが含まれる。図２０に示される操作データＤ３００は、所定の時間間隔（例えば、１／２００秒間隔）で左コントローラ３から本体装置２に出力される。
【０１５４】
加速度データＤ３０１は、加速度センサ１０４によって検出された加速度の値を示すデータである。角速度データＤ３０２は、角速度センサ１０５によって検出された角速度の値を示すデータである。
【０１５５】
左スティックデータＤ３０３は、アナログスティック３２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック３２は、スティック部材に対する押下入力も行うことができる入力部である。左スティックデータＤ３０３には、アナログスティック３２に対して押下入力が行われたか否かを示すデータも含まれる。
【０１５６】
各ボタンデータＤ３０４には、左コントローラ３の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮ又はＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータ３０４には、操作ボタン３３〜３６が押下されたか否かを示すデータ、録画ボタン３７が押下されたか否かを示すデータ、第１Ｌボタン３８が押下されたか否かを示すデータ、ＺＬボタン３９が押下されたか否かを示すデータ、及び、−ボタン４７が押下されたか否かを示すデータが含まれる。
【０１５７】
また、図２１に示されるように、右コントローラ４から出力される操作データＤ４００には、加速度データＤ４０１と、角速度データＤ４０２と、右スティックデータＤ４０３と、各ボタンデータＤ４０４とが含まれる。図２１に示される操作データＤ４００は、所定の時間間隔（例えば、１／２００秒間隔）で右コントローラ４から本体装置２に出力される。
【０１５８】
加速度データＤ４０１は、加速度センサ１１４によって検出された加速度の値を示すデータである。角速度データＤ４０２は、角速度センサ１１５によって検出された角速度の値を示すデータである。
【０１５９】
右スティックデータＤ４０３は、アナログスティック５２に対する操作に応じたデータであり、スティック部材の傾倒方向に応じた方向を示すデータと、スティック部材の傾倒量を示すデータとを含む。また、上述のように、アナログスティック５２は、スティック部材に対する押下入力も行うことができる入力部である。右スティックデータＤ４０３には、アナログスティック５２に対して押下入力が行われたか否かを示すデータも含まれる。
【０１６０】
各ボタンデータＤ４０４には、右コントローラ４の各ボタンに対する操作が行われたか否かを示すデータ（ＯＮ又はＯＦＦを示すデータ）が含まれる。例えば、各ボタンデータＤ４０４には、操作ボタン５３〜５６が押下されたか否かを示すデータ、ホームボタン５８が押下されたか否かを示すデータ、第１Ｒボタン６０が押下されたか否かを示すデータ、ＺＲボタン６１が押下されたか否かを示すデータ、及び、＋ボタン５７が押下されたか否かを示すデータが含まれる。
【０１６１】
本体装置２は、図２０および図２１に示される操作データを受信してゲーム処理を行う。本体装置２には、コントローラから受信した操作データの他に、ゲーム処理を行うための様々なデータが記憶される。
【０１６２】
（本体装置に記憶されるデータ）
図２２は、本体装置２のＤＲＡＭ８５に記憶されるゲームデータの一例を示す図である。図２２に示されるように、本体装置２には、ゲームデータＤ２００として、キャラクタデータＤ２０１と、仮想カメラデータＤ２０２と、照準データＤ２０３と、カーソル位置データＳ２０４とが含まれる。なお、本体装置２には図２２に示されるデータの他にもゲーム処理に必要な様々なデータ（ゲーム空間内の他のオブジェクトに関するデータ、画像データ、音声データ等）が記憶される。
【０１６３】
キャラクタデータＤ２０１は、各プレイヤキャラクタの位置や姿勢、体力等を示すデータである。例えば、４人のユーザによってゲームが行われる場合には、各ユーザに対応するプレイヤキャラクタに関するデータがキャラクタデータＤ２０１として記憶される。また、キャラクタデータＤ２０１には、各ユーザがマップ画像Ｍを表示しているか否かを示すデータ（後述するマップ表示フラグ）が含まれる。例えば、ユーザＡがマップ画像を表示させている場合には、ユーザＡがマップ画像Ｍを表示していることを示すデータが記憶される。また、ユーザＢがマップ画像を表示させている場合には、ユーザＢがマップ画像Ｍを表示していることを示すデータが記憶される。
【０１６４】
仮想カメラデータＤ２０２は、ゲーム空間に設定される各仮想カメラの位置や姿勢（向き）、注視点を示すデータである。４人のユーザによってゲームが行われる場合には、４つの仮想カメラがゲーム空間に設定され、プレイヤキャラクタのそれぞれの背後に仮想カメラが設定される。仮想カメラデータＤ２０２には、各プレイヤキャラクタの背後に設定された仮想カメラの情報が記憶される。
【０１６５】
照準データＤ２０３は、各プレイヤキャラクタに対応して設定される照準の位置を示すデータである。具体的には、各照準の位置は、各仮想カメラの注視点と連動する。
【０１６６】
カーソル位置データＤ２０４は、マップ画像Ｍが表示されているときにマップ画像Ｍ上に表示されるカーソルＴの位置を示すデータである。
【０１６７】
（本体装置における処理の詳細）
次に、本体装置２において行われる処理の詳細について説明する。図２３は、本体装置２によって行われる処理の一例を示すフローチャートである。図２３に示される処理は、本体装置２のＣＰＵ８１が所定の情報処理プログラム（例えば、ゲームプログラム）を実行することにより行われる。なお、ＣＰＵ８１は、ステップＳ１〜ステップＳ１６の処理を、所定の時間間隔（例えば、１／６０秒間隔）で繰り返し行う。また、以下では、主にプレイヤキャラクタＰＡを操作するユーザＡの本体装置２において行われる処理について説明する。
【０１６８】
図２３に示されるように、ＣＰＵ８１は、まず、コントローラから操作データを取得する（ステップＳ１）。ここでは、ＣＰＵ８１は、左コントローラ３から出力された図２０に示される操作データを取得するとともに、右コントローラ４から出力された図２１に示される操作データを取得する。
【０１６９】
次に、ＣＰＵ８１は、ステップＳ１で取得した左スティックデータに基づいて、プレイヤキャラクタＰＡをゲーム空間内で移動させる（ステップＳ２）。具体的には、ＣＰＵ８１は、左スティックデータＤ３０３に基づいて、プレイヤキャラクタＰＡをアナログスティック３２の傾倒方向に対応するゲーム空間の方向に、アナログスティック３２の傾倒量に応じた距離だけ移動させる。また、ＣＰＵ８１は、プレイヤキャラクタＰＡをゲーム空間内で移動させた場合、プレイヤキャラクタＰＡの背後に設定された仮想カメラも同様に移動させる。移動後のプレイヤキャラクタＰＡの位置は、キャラクタデータＤ２０１におけるプレイヤキャラクタＰＡの位置としてＤＲＡＭ８５に記憶される。また、移動後の仮想カメラの位置は、仮想カメラデータＤ２０２としてＤＲＡＭ８５に記憶される。なお、ここで行われた処理の結果は、後述するステップＳ１６のデータ連携処理において、他の本体装置２にも送信される。
【０１７０】
次に、ＣＰＵ８１は、角速度データおよび加速度データに基づいて、仮想カメラの向きを制御する（ステップＳ３）。具体的には、ＣＰＵ８１は、右コントローラ４からの加速度データＤ４０１および角速度データＤ４０２に基づいて、右コントローラ４の姿勢を算出し、算出した右コントローラ４の姿勢が基準姿勢からどの程度変化しているかを算出する。そして、右コントローラ４の姿勢の変化に応じて、プレイヤキャラクタＰＡの背後に設定された仮想カメラの向きを変化させる。
【０１７１】
なお、ＣＰＵ８１は、ステップＳ３において、右スティックデータＤ４０３にも基づいて、仮想カメラの向きを制御する。
【０１７２】
ステップＳ３に続いて、ＣＰＵ８１は、各ボタンデータに基づいて、例えば弾丸を発射させる（ステップＳ４）。具体的には、ＣＰＵ８１は、ステップＳ１で取得したボタンデータＤ３０４およびＤ４０４に基づいて、例えば、ＺＲボタン６１が押下されたか否かを判定する。ＺＲボタン６１が押下されたと判定した場合、ＣＰＵ８１は、プレイヤキャラクタＰＡの位置から仮想カメラの注視点に向かって弾丸を発射させる。なお、ここで行われた処理の結果は、後述するステップＳ１６のデータ連携処理において、他の本体装置２にも送信される。
【０１７３】
ステップＳ４に続いて、ＣＰＵ８１は、ステップＳ１で取得した各ボタンデータＤ３０４、Ｄ４０４に基づいて、Ｘボタンが操作されたか否かを判定する（ステップＳ５）。
【０１７４】
Ｘボタンが操作されたと判定しなかった場合（ステップＳ５：ＮＯ）、ＣＰＵ８１は、マップ画像Ｍを表示中か否かを判定する（ステップＳ６）。本体装置２のＤＲＡＭ８５にはマップ画像Ｍを表示中か否かを示すマップ表示フラグが記憶されている。ＣＰＵ８１は、当該マップ表示フラグを参照して、ディスプレイ１２にマップ画像Ｍを表示中か否かを判定する。
【０１７５】
マップ画像Ｍを表示中と判定しなかった場合（ステップＳ６：ＮＯ）、ＣＰＵ８１は、ゲーム画像を生成する（ステップＳ７）。具体的には、ＣＰＵ８１は、プレイヤキャラクタＰＡの背後に設定された仮想カメラを用いてゲーム空間を撮像することにより、ゲーム画像を生成する。ここで、他のユーザのディスプレイ１２においてマップ画像Ｍが表示されている場合には（他の本体装置２においてマップ表示フラグがＯＮに設定されている場合には）、当該他のユーザに対応するプレイヤキャラクタの周囲にエフェクト画像が表示される。例えば、ユーザＢの本体装置２のディスプレイ１２にマップ画像Ｍが表示されている場合には、プレイヤキャラクタＰＢの周囲にエフェクト画像が表示される。
【０１７６】
ステップＳ７に続いて、ＣＰＵ８１は、ステップＳ７で生成したゲーム画像をディスプレイ１２に出力する（ステップＳ８）。
【０１７７】
一方、Ｘボタンが操作されたと判定した場合（ステップＳ５：ＹＥＳ）、ＣＰＵ８１は、マップ表示フラグをＯＮに設定する（ステップＳ９）。なお、マップ画像を表示中にＸボタンが操作された場合、ＣＰＵ８１は、マップ表示フラグをＯＦＦにして、ステップＳ７に処理を進める。なお、ここで設定されたマップ表示フラグは、後述するステップＳ１６のデータ連携処理において、他の本体装置２にも送信される。すなわち、本体装置２は、自機においてマップ画像を表示していることを、他の同じゲームを行っている本体装置に通知する。これにより、本体装置２は、他の本体装置２に対して、マップ画像Ｍを表示中か否かを知らせることができる。
【０１７８】
ステップＳ９の処理を行った場合、又は、マップ画像を表示中と判定した場合（ステップＳ６：ＹＥＳ）、ＣＰＵ８１は、ステップＳ１で取得した加速度データＤ４０１および角速度データＤ４０２に基づいて、カーソルＴの位置を制御する（ステップＳ１０）。具体的には、ＣＰＵ８１は、加速度データＤ４０１および角速度データＤ４０２に基づいて、コントローラの姿勢を算出し、算出したコントローラの姿勢が基準姿勢からどの程度変化しているかを算出する。そして、算出した姿勢の変化に応じて、ＣＰＵ８１は、マップ画像Ｍ上のカーソルＴの位置を制御する。
【０１７９】
次に、ＣＰＵ８１は、各ボタンデータＤ４０４に基づいて、マップ画像Ｍ上のカーソルＴの位置にプレイヤキャラクタＰＡを移動させる（ステップＳ１１）。具体的には、ＣＰＵ８１は、ステップＳ１で取得した各ボタンデータＤ４０４に基づいて、Ａボタン５２が押下されたか否かを判定する。Ａボタン５２が押下されたと判定した場合、ＣＰＵ８１は、カーソルＴの位置がマップ画像Ｍにおける所定の位置か否かを判定する。具体的には、カーソルＴの位置に他のプレイヤキャラクタが存在するか否かを判定する。判定結果が肯定の場合、ＣＰＵ８１は、カーソルＴの位置にプレイヤキャラクタＰＡを移動させる。ＣＰＵ８１は、次にステップＳ１２の処理を実行する。
【０１８０】
ステップＳ１２において、ＣＰＵ８１は、プレイヤキャラクタＰＡに対してエフェクトの設定を行う（ステップＳ１２）。これにより、他のユーザの画面においてプレイヤキャラクタＰＡの周囲にエフェクト画像が表示される。
【０１８１】
ステップＳ１２に続いて、ＣＰＵ８１は、仮想カメラでゲーム空間を撮像したゲーム画像を生成する（ステップＳ１３）。ここで、ＣＰＵ８１は、ゲーム画像をぼかす処理を行う。具体的には、ＣＰＵ８１は、プレイヤキャラクタＰＡの背後に設定された仮想カメラを用いてゲーム空間を撮像し、当該撮像した画像にぼかし処理を行うことにより、ゲーム画像を生成する。
【０１８２】
次に、ＣＰＵ８１は、マップ画像を生成する（ステップＳ１４）。具体的には、ＣＰＵ８１は、ゲーム空間を上から見たマップ上に各プレイヤキャラクタの位置を示す画像を重畳したマップ画像Ｍを生成する。
【０１８３】
ステップＳ１４に続いて、ＣＰＵ８１は、ステップＳ１３で生成したゲーム画像上にステップＳ１４で生成したマップ画像を重畳し、重畳した画像をディスプレイ１２に出力する（ステップＳ１５）。具体的には、ＣＰＵ８１は、ステップＳ１３で生成したゲーム画像の中心にテップＳ１４で生成したマップ画像を重畳して重畳画像を生成する。そして、ＣＰＵ８１は、生成した重畳画像をディスプレイ１２に出力する。
【０１８４】
ステップＳ８の処理を行った場合、又は、ステップＳ１５の処理を行った場合、ＣＰＵ８１は、他の本体装置２との間でデータ連携処理を行う（ステップＳ１６）。ここでは、ＣＰＵ８１は、上述した各ステップの処理の結果を、他の本体装置２（対戦ゲームを行っている他の本体装置）に送信するとともに、他の本体装置２から同様のデータを受信する。例えば、ＣＰＵ８１は、ステップＳ９において設定したマップ表示フラグの値を、他の本体装置２に送信する。また、ＣＰＵ８１は、他の本体装置において設定されたマップ表示フラグの値を、当該他の本体装置から受信する。すなわち、本体装置２は、自機においてマップ画像を表示していることを他の本体装置に通知するとともに、他の本体装置から同様の通知を受ける。また、ＣＰＵ８１は、キャラクタの位置や姿勢を示す情報、射撃を行ったか否かの情報を他の本体装置に送信するとともに、他の本体装置からこれらの情報を受信する。これにより、各ユーザによって操作されるプレイヤキャラクタの位置や動作、各ユーザの本体装置２においてマップ画像Ｍが表示されているか否かの情報が、各本体装置間で交換される。
【０１８５】
ステップＳ１６の処理を行った場合、ＣＰＵ８１は、再びステップＳ１の処理を実行する。
【０１８６】
なお、上記処理は単なる例示であり、例えば各ステップの順番を入れ替えたり、他のステップが加えられたり、上記ステップの一部が省略されたりしてもよい。
【０１８７】
以上のように、本実施形態では、コントローラのＸボタンが押された場合、ゲーム画像（第１画像）に重畳してマップ画像（第２画像）が表示される。ゲーム画像に重畳してマップ画像が表示されているとき、コントローラに設けられた加速度センサおよび角速度センサ（慣性センサ）からのデータに基づいて仮想カメラおよび照準（第１制御対象）が制御されると同時に、マップ画像上のカーソル（第２制御対象）が制御される。そして、コントローラの所定のボタン（例えばＺＲボタン）が押下されると、プレイヤキャラクタから照準に向かって弾丸が発射され、コントローラの別のボタン（例えばＡボタン）が押下されると、プレイヤキャラクタがカーソルの位置に移動する。
【０１８８】
これにより、１つの画面において、異なる２つの制御対象を同時に制御することができる。すなわち、１つの画面においてゲーム画像とマップ画像とが表示され、コントローラの姿勢を変化させることで仮想カメラおよび照準を制御することができ、制御された仮想カメラに基づくゲーム画像を表示することができる。同時に、コントローラの姿勢の変化によって、マップ画像におけるカーソルを制御することができる。また、１つの画面において２つの制御対象を制御しつつ、異なるボタンに対する操作によって各制御対象に基づく処理を行うことができる。具体的には、コントローラの姿勢を変化させることによって、照準とカーソルとを同時に制御し、例えばＺＲボタンを押下することで照準に向かって弾丸を発射させ、例えばＡボタンを押下することでカーソルの位置にプレイヤキャラクタを移動させることができる。
【０１８９】
また、本実施形態では、仮想カメラから見たゲーム画像を単純に表示するだけではなく、ユーザの指示に応じてマップ画像も表示することができるため、ユーザはゲーム空間の全体の状況を把握することができ、ゲームにおける利便性が向上する。また、本実施形態では、ゲーム画像にマップ画像を重畳するため、ユーザは、１つの画面においてゲーム空間の全体の状況を把握するとともに、ゲーム画像においてゲーム操作を行うことができる。
【０１９０】
また、本実施形態では、マップ画像を表示することによって、ユーザは、他のユーザの位置を把握することができるため、他のユーザに比べて有利となる。しかしながら、本実施形態では、ゲーム画像にマップ画像が重畳表示されるため、マップ画像によってゲーム画像の一部が隠れる。また、マップ画像を表示させるとゲーム画像がぼけた画像となる。このため、マップ画像を表示しているユーザは、他のユーザの位置を把握することができても、照準の位置を正確に知ることができず、マップ画像が表示された領域に他のユーザのプレイヤキャラクタが存在する場合は、そのキャラクタを見ることができない。すなわち、マップ画像の表示によって生じた有利な状況を打ち消すように、ゲーム画像の視認性が低下する。これにより、本実施形態では、ユーザが常にマップ画像を表示したままゲームを行うことを防止することができ、ユーザに通常はマップ画像を表示せずに通常のゲーム画像にてゲームを行わせ、必要に応じてマップ画像を表示させることができる。
【０１９１】
（変形例）
以上、本実施形態について説明したが、他の実施形態では、以下のように構成されてもよい。
【０１９２】
例えば、本実施形態では、コントローラに備えられた慣性センサ（加速度センサおよび角速度センサ）からのデータに基づいてコントローラの姿勢を算出し、算出した姿勢に基づいて仮想カメラの向きおよび照準の位置を制御した。他の実施形態では、コントローラの姿勢に限らず、コントローラの所定のボタンやアナログスティックに対する操作に応じて、仮想カメラの向きおよび照準の位置を制御してもよい。この場合において、ゲーム画像上にマップ画像が表示されている場合には、コントローラの所定のボタンやアナログスティックに対する操作に応じて、仮想カメラの向き等が制御されるとともに、マップ画像におけるカーソルが制御されてもよい。すなわち、ゲーム画像上にマップ画像が表示されている場合、コントローラからの操作データ（慣性センサから出力されるデータ、ボタンが押下されたことに応じたデータ、アナログスティックに対する操作に応じたデータ等）に基づいて、仮想カメラ等が制御されるとともに、カーソルが制御されてもよい。また、タッチパネル（本体装置２のディスプレイ１２上に設けられたタッチパネル、又は、コントローラ上に設けられたタッチパネル）に対するタッチ操作に基づいて、仮想カメラ等が制御されるとともに、マップ画像上のカーソルが制御されてもよい。このように操作部の一部としてのタッチパネルに対する操作に基づいてゲーム処理が行われてもよい。
【０１９３】
また、コントローラからの操作データに基づいて制御される制御対象は、上記仮想カメラやカーソル等に限られない。すなわち、ゲーム画像上にマップ画像が表示されている場合において、操作データに基づいて、第１の制御対象が制御されるとともに、第２の制御対象が制御されてもよい。第１の制御対象としては、上記仮想カメラや照準に限らず、その他のオブジェクト（例えば、プレイヤキャラクタやゲーム空間内を移動する弾丸や液体のオブジェクト、敵キャラクタ、その他ゲーム空間における所定のオブジェクト等）であってもよい。また、第２の制御対象としては、マップ画像上に表示されるカーソルに限らず、マップ画像における他のオブジェクト（例えば、プレイヤキャラクタや敵キャラクタ、ゲーム空間における所定のオブジェクト等）であってもよい。そして、操作データに基づいて制御された第１の制御対象の状態を更新し、操作データに基づいて所定の指示（例えば、ＺＲボタンの押下）が行われたと判定された場合に、第１の制御対象の状態に基づいた所定の処理を行い、操作データに基づいて制御された第２の制御対象の状態を更新し、操作データに基づいて異なる指示（例えば、Ａボタンの押下）が行われたと判定された場合に、第２の制御対象の状態に基づいた所定の処理を行ってもよい。
【０１９４】
また、上記実施形態では、ユーザが自身のプレイヤキャラクタを操作してユーザ同士で対戦するゲームが行われたが、他の実施形態では、任意のゲームが行われてもよい。また、ゲーム処理に限らず、他の任意の情報処理が行われてもよい。
【０１９５】
また、上記実施形態では、本体装置２が備えるディスプレイ１２において画像（ゲーム画像、ゲーム画像にマップ画像を重畳した画像）が表示される場合について説明した。他の実施形態では、本体装置２と接続された他の表示装置（例えば、テレビ）に画像が表示されてもよい。この場合、表示装置には、マップ画像が表示されない場合には、プレイヤキャラクタの背後に設定された仮想カメラから見たゲーム画像のみが表示され、マップ画像が表示される場合には、ゲーム画像上にマップ画像が表示される。
【０１９６】
また、上記情報処理プログラム（ゲームプログラム）は、他の任意の情報処理装置において実行されてもよい。また、情報処理プログラムは、複数の装置によって構成される情報処理システムにおいて実行されてもよい。また、上記情報処理プログラムを実行するためのハードウェアの構成は、上述したものに限られない。例えば、複数の画面を備える装置において上述した処理が行われてもよい。この場合、複数の画面のうちの何れか１つに、第１画像（ゲーム画像）と第２画像（マップ画像）とが表示され、第１画像上に第２画像が重畳表示されてもよい。
【０１９７】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【０１９８】
１  情報処理装置
２  本体装置
３  左コントローラ
４  右コントローラ
１１  ハウジング
１２  ディスプレイ
８１  ＣＰＵ
８３  コントローラ通信部
８９  加速度センサ
９０  角速度センサ
１００  携帯機コントローラ
１０４、１１４  加速度センサ
１０５、１１５  角速度センサ
【図１】
2018064753.tif 000003
【図２】
2018064753.tif 000004
【図３】
2018064753.tif 000005
【図４】
2018064753.tif 000006
【図５】
2018064753.tif 000007
【図６】
2018064753.tif 000008
【図７】
2018064753.tif 000009
【図８】
2018064753.tif 000010
【図９】
2018064753.tif 000011
【図１０】
2018064753.tif 000012
【図１１】
2018064753.tif 000013
【図１２】
2018064753.tif 000014
【図１３】
2018064753.tif 000015
【図１４】
2018064753.tif 000016
【図１５】
2018064753.tif 000017
【図１６】
2018064753.tif 000018
【図１７】
2018064753.tif 000019
【図１８】
2018064753.tif 000020
【図１９】
2018064753.tif 000021
【図２０】
2018064753.tif 000022
【図２１】
2018064753.tif 000023
【図２２】
2018064753.tif 000024
【図２３】
2018064753.tif 000025