(57)【特許請求の範囲】
【請求項１】
複数のプレイヤによってゲームを行うためのゲームシステムであって、
前記複数のプレイヤがそれぞれ操作する複数の操作装置と、ゲーム装置と、前記複数の操作装置とは別体である少なくとも１つの可搬型の表示装置とを含み、
前記ゲーム装置は、
前記操作装置に対する操作に基づいて出力される操作データを前記複数の操作装置からそれぞれ取得する操作データ取得部と、
各前記操作データに基づいてゲーム処理を実行するゲーム処理部と、
前記複数のプレイヤのうちの所定の第１プレイヤのための第１ゲーム画像を前記ゲーム処理に基づいて生成する第１画像生成部と、
前記第１プレイヤ以外の他のプレイヤのための第２ゲーム画像を前記ゲーム処理に基づいて生成する第２画像生成部と、
前記第１ゲーム画像を前記可搬型の表示装置へ出力する第１画像出力部と、
前記第２ゲーム画像を前記可搬型の表示装置とは異なる所定の表示装置へ出力する第２画像出力部とを備え、
前記可搬型の表示装置は、
前記第１ゲーム画像を受信するゲーム画像受信部と、
前記第１ゲーム画像を表示する表示部とを備え、
前記ゲーム処理部は、
仮想のゲーム空間においてオブジェクトを動作させるオブジェクト制御処理を実行するオブジェクト処理部と、
前記オブジェクト制御処理が実行されたゲーム空間において、前記第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第１仮想カメラを制御する第１仮想カメラ制御部と、
前記オブジェクト制御処理が実行された前記ゲーム空間において、前記他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第２仮想カメラを制御する第２仮想カメラ制御部とを含み、
前記第１画像生成部は、前記第１仮想カメラに基づいて前記第１ゲーム画像を生成し、
前記第２画像生成部は、前記第２仮想カメラに基づいて前記第２ゲーム画像を生成する、ゲームシステム。
【請求項２】
前記複数の操作装置はそれぞれ、自機の姿勢を算出するための物理量を検出するセンサ部を備え、
前記操作データにはそれぞれ、前記センサ部から取得されるデータが含まれており、
前記ゲーム処理部は、前記各操作データにそれぞれ含まれる前記物理量に基づいて各操作装置の姿勢を算出する姿勢算出処理部を含み、当該各操作装置の姿勢に基づいてゲーム処理を実行する、請求項１に記載のゲームシステム。
【請求項３】
前記複数の操作装置はそれぞれ、自機の動きを算出するための物理量を検出するセンサ部を備え、
前記操作データにはそれぞれ、前記センサ部から取得されるデータが含まれており、
前記ゲーム処理部は、前記各操作データにそれぞれ含まれる前記物理量に基づいて各操作装置の動きを算出する姿勢算出処理部を含み、当該各操作装置の動きに基づいてゲーム処理を実行する、請求項１に記載のゲームシステム。
【請求項４】
前記ゲーム処理部は、
前記第１プレイヤが操作する操作装置の操作データに基づいて前記可搬型の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する第１指定処理部と、
前記他のプレイヤが操作する操作装置の操作データに基づいて前記所定の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する第２指定処理部とを含む、請求項１から請求項３のいずれか１項に記載のゲームシステム。
【請求項５】
前記ゲームシステムは、前記所定の表示装置の近傍に配置可能な発光装置をさらに含み、
前記可搬型の表示装置は、発光部をさらに備え、
前記複数の操作装置はそれぞれ、前記発光装置および前記発光部による光を撮像可能な撮像部をさらに備え、
前記各操作データには、前記撮像部による撮像画像に関する撮像データが含まれており、
前記ゲーム処理部は、撮像画像内における所定の撮像対象の位置に基づくゲーム処理を前記撮像データを用いて実行する、請求項１から請求項４のいずれか１項に記載のゲームシステム。
【請求項６】
前記ゲームシステムは、少なくとも３つの操作装置を含み、
前記第２画像生成部は、前記第１プレイヤとは別の第２プレイヤのためのゲーム画像と、前記第１プレイヤとは別の第３プレイヤのためのゲーム画像とを含むゲーム画像を前記第２ゲーム画像として生成する、請求項１に記載のゲームシステム。
【請求項７】
前記所定の表示装置は、横長の表示領域を有しており、
前記第２画像生成部は、前記第２プレイヤのための縦長のゲーム画像と、前記第３プレイヤのための縦長のゲーム画像とが横に並んで配置された画像を前記第２ゲーム画像として生成する、請求項６に記載のゲームシステム。
【請求項８】
前記操作データ取得部は、１個から所定個数までの操作装置から操作データを取得することが可能であり、
前記ゲーム処理部は、ゲームを行うプレイヤの人数が所定の条件を満たすか否かを判定する判定部を含み、
前記第１画像生成部は、プレイヤの人数が所定の条件を満たす場合、前記第１プレイヤのための第１ゲーム画像を生成し、
前記第２画像生成部は、プレイヤの人数が所定の条件を満たす場合、前記他のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成し、プレイヤの人数が所定の条件を満たさない場合、ゲームを行う各プレイヤのためのゲーム画像を前記第２ゲーム画像として生成する、請求項１に記載のゲームシステム。
【請求項９】
前記第１画像生成部は、前記ゲーム処理によって所定のゲーム条件が満たされる場合、前記第１プレイヤのための第１ゲーム画像を生成し、
前記第２画像生成部は、前記ゲーム処理によって所定のゲーム条件が満たされる場合、前記他のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成し、前記ゲーム処理によって所定のゲーム条件が満たされない場合、前記複数のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成する、請求項１に記載のゲームシステム。
【請求項１０】
複数のプレイヤによってゲームを行うためのゲーム装置において実行されるゲーム処理方法であって、
操作装置に対する操作に基づいて出力される操作データを、前記複数のプレイヤがそれぞれ操作する複数の操作装置からそれぞれ取得する操作データ取得ステップと、
各前記操作データに基づいてゲーム処理を実行するゲーム処理ステップと、
前記複数のプレイヤのうちの所定の第１プレイヤのための第１ゲーム画像を前記ゲーム処理に基づいて生成する第１画像生成ステップと、
前記第１プレイヤ以外の他のプレイヤのための第２ゲーム画像を前記ゲーム処理に基づいて生成する第２画像生成ステップと、
前記第１ゲーム画像を、前記複数の操作装置とは別体である可搬型の表示装置へ出力して表示させる第１画像表示ステップと、
前記第２ゲーム画像を前記可搬型の表示装置とは異なる所定の表示装置へ送信して表示させる第２画像表示ステップとを含み、
前記ゲーム処理ステップは、
仮想のゲーム空間においてオブジェクトを動作させるオブジェクト制御処理を実行するオブジェクト処理ステップと、
前記オブジェクト制御処理が実行されたゲーム空間において、前記第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第１仮想カメラを制御する第１仮想カメラ制御ステップと、
前記オブジェクト制御処理が実行された前記ゲーム空間において、前記他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第２仮想カメラを制御する第２仮想カメラ制御ステップとを含み、
前記第１画像生成ステップにおいて、前記ゲーム装置は、前記第１仮想カメラに基づいて前記第１ゲーム画像を生成し、
前記第２画像生成ステップにおいて、前記ゲーム装置は、前記第２仮想カメラに基づいて前記第２ゲーム画像を生成する、ゲーム処理方法。
【請求項１１】
前記複数の操作装置はそれぞれ、自機の姿勢を算出するための物理量を検出するセンサ部を備えており、
前記操作データにはそれぞれ、前記センサ部から取得されるデータが含まれており、
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記各操作データにそれぞれ含まれる前記物理量に基づいて各操作装置の姿勢を算出し、当該各操作装置の姿勢に基づいてゲーム処理を実行する、請求項１０に記載のゲーム処理方法。
【請求項１２】
前記複数の操作装置はそれぞれ、自機の動きを算出するための物理量を検出するセンサ部を備えており、
前記操作データにはそれぞれ、前記センサ部から取得されるデータが含まれており、
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記各操作データにそれぞれ含まれる前記物理量に基づいて各操作装置の動きを算出し、当該各操作装置の動きに基づいてゲーム処理を実行する、請求項１０または請求項１１に記載のゲーム処理方法。
【請求項１３】
前記ゲーム処理ステップは、
前記第１プレイヤが操作する操作装置の操作データに基づいて前記可搬型の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する第１指定処理ステップと、
前記他のプレイヤが操作する操作装置の操作データに基づいて前記所定の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する第２指定処理ステップとを含む、請求項１０から請求項１２のいずれか１項に記載のゲーム処理方法。
【請求項１４】
前記ゲームシステムは、前記所定の表示装置の近傍に配置可能な発光装置をさらに含み、
前記可搬型の表示装置は、発光部をさらに備え、
前記複数の操作装置はそれぞれ、前記発光装置および前記発光部による光を撮像可能な撮像部をさらに備え、
前記各操作データには、前記撮像部の撮像結果に関する撮像データが含まれており、
前記ゲーム処理ステップにおいて、前記ゲーム装置は、前記撮像データに基づいて前記ゲーム処理を実行する、請求項１０から請求項１３のいずれか１項に記載のゲーム処理方法。
【請求項１５】
前記ゲームシステムは、少なくとも３つの操作装置を含み、
前記第２画像生成ステップにおいて、前記ゲーム装置は、前記第１プレイヤとは別の第２プレイヤのためのゲーム画像と、前記第１プレイヤとは別の第３プレイヤのためのゲーム画像とを含むゲーム画像を前記第２ゲーム画像として生成する、請求項１０に記載のゲーム処理方法。
【請求項１６】
前記所定の表示装置は、横長の表示領域を有しており、
前記第２画像生成ステップにおいて、前記ゲーム装置は、前記第２プレイヤのための縦長のゲーム画像と、前記第３プレイヤのための縦長のゲーム画像とが横に並んで配置された画像を前記第２ゲーム画像として生成する、請求項１５に記載のゲーム処理方法。
【請求項１７】
前記操作データ取得ステップにおいて、前記ゲーム装置は、１個から所定個数までの操作装置から操作データを取得することが可能であり、
前記ゲーム処理ステップは、ゲームを行うプレイヤの人数が所定の条件を満たすか否かを判定する判定ステップを含み、
前記第１画像生成ステップにおいて、前記ゲーム装置は、ゲームを行うプレイヤの人数が所定の条件を満たす場合、前記第１プレイヤのための第１ゲーム画像を生成し、
前記第２画像生成ステップにおいて、前記ゲーム装置は、ゲームを行うプレイヤの人数が所定の条件を満たす場合、前記他のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成し、ゲームを行うプレイヤの人数が所定の条件を満たさない場合、ゲームを行う各プレイヤのためのゲーム画像を前記第２ゲーム画像として生成する、請求項１０に記載のゲーム処理方法。
【請求項１８】
前記第１画像生成ステップにおいて、前記ゲーム装置は、前記ゲーム処理によって所定のゲーム条件が満たされる場合、前記第１プレイヤのための第１ゲーム画像を生成し、
前記第２画像生成ステップにおいて、前記ゲーム装置は、前記ゲーム処理によって所定のゲーム条件が満たされる場合、前記他のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成し、前記ゲーム処理によって所定のゲーム条件が満たされない場合、前記複数のプレイヤのためのゲーム画像を前記第２ゲーム画像として生成する、請求項１０に記載のゲーム処理方法。
【請求項１９】
複数のプレイヤによってゲームを行うためのゲーム装置であって、
前記複数のプレイヤがそれぞれ操作する複数の操作装置と、前記複数の操作装置とは別体である少なくとも１つの可搬型の表示装置と通信可能であり、
前記操作装置に対する操作に基づいて出力される操作データを前記複数の操作装置からそれぞれ取得する操作データ取得部と、
各前記操作データに基づいてゲーム処理を実行するゲーム処理部と、
前記複数のプレイヤのうちの所定の第１プレイヤのための第１ゲーム画像を前記ゲーム処理に基づいて生成する第１画像生成部と、
前記第１プレイヤ以外の他のプレイヤのための第２ゲーム画像を前記ゲーム処理に基づいて生成する第２画像生成部と、
前記可搬型の表示装置に表示するために前記第１ゲーム画像を前記可搬型の表示装置へ出力する第１画像出力部と、
前記可搬型の表示装置とは異なる所定の表示装置に表示するために前記第２ゲーム画像を当該所定の表示装置へ出力する第２画像出力部とを備え、
前記ゲーム処理部は、
仮想のゲーム空間においてオブジェクトを動作させるオブジェクト制御処理を実行するオブジェクト処理部と、
前記オブジェクト制御処理が実行されたゲーム空間において、前記第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第１仮想カメラを制御する第１仮想カメラ制御部と、
前記オブジェクト制御処理が実行された前記ゲーム空間において、前記他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第２仮想カメラを制御する第２仮想カメラ制御部とを含み、
前記第１画像生成部は、前記第１仮想カメラに基づいて前記第１ゲーム画像を生成し、
前記第２画像生成部は、前記第２仮想カメラに基づいて前記第２ゲーム画像を生成する、ゲーム装置。
【請求項２０】
複数のプレイヤによってゲームを行うためのゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記ゲーム装置は、前記複数のプレイヤがそれぞれ操作する複数の操作装置と、前記複数の操作装置とは別体である少なくとも１つの可搬型の表示装置と通信可能であり、
前記操作装置に対する操作に基づいて出力される操作データを前記複数の操作装置からそれぞれ取得する操作データ取得手段と、
各前記操作データに基づいてゲーム処理を実行するゲーム処理手段と、
前記可搬型の表示装置に表示するための第１ゲーム画像として、前記複数のプレイヤのうちの所定の第１プレイヤのためのゲーム画像を前記ゲーム処理に基づいて生成する第１画像生成手段と、
前記可搬型の表示装置とは異なる所定の表示装置に表示するための第２ゲーム画像として、前記第１プレイヤ以外の他のプレイヤのためのゲーム画像を前記ゲーム処理に基づいて生成する第２画像生成手段として前記コンピュータを機能させ、
前記ゲーム処理部は、
仮想のゲーム空間においてオブジェクトを動作させるオブジェクト制御処理を実行するオブジェクト処理手段と、
前記オブジェクト制御処理が実行されたゲーム空間において、前記第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第１仮想カメラを制御する第１仮想カメラ制御手段と、
前記オブジェクト制御処理が実行された前記ゲーム空間において、前記他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第２仮想カメラを制御する第２仮想カメラ制御手段とを含み、
前記第１画像生成手段は、前記第１仮想カメラに基づいて前記第１ゲーム画像を生成し、
前記第２画像生成手段は、前記第２仮想カメラに基づいて前記第２ゲーム画像を生成する、ゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数人のプレイヤが同時にゲームを行うことが可能なゲームシステム等に関する。
【背景技術】
【０００２】
従来、複数人のプレイヤが同時にゲームを行うことが可能なゲームシステムがある。例えば、特許文献１に記載のゲームシステムにおいては、複数人のプレイヤがゲームを行う場合、表示装置の画面をプレイヤの人数分の領域に分割し、分割した各領域に各プレイヤのためのゲーム画像がそれぞれ表示される（図４および図１２参照）。このように、従来においては、複数人プレイのゲームにおいては、１つの表示装置の表示領域を分割してプレイヤ毎のゲーム画像をそれぞれ表示していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−０８１７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のゲームシステムでは、１つの表示装置の表示領域を分割して複数のゲーム画像を表示するので、あるプレイヤ用のゲーム画像が表示される表示装置に、他のプレイヤ用のゲーム画像も表示されることになる。したがって、各プレイヤにとっては自分用のゲーム画像がどれかわかりにくく、自分用のゲーム画像を見間違うこともある。また、自分用のゲーム画像の隣に他のゲーム画像が表示され、自分には関係のない（見る必要のない）ゲーム画像が周りに表示されることによって、窮屈に感じられる。これらの問題は、表示装置の表示領域を分割する数が増えるほど顕著になるので、複数人でゲームを行う場合であっても、表示領域は分割されないことが好ましく、また、表示領域が分割される場合であっても分割数はできるだけ少ないことが好ましい。
【０００５】
また、対戦型のゲームの場合については、１つの表示装置の表示領域を分割して複数のゲーム画像を表示すると、自分用のゲーム画像が相手側のプレイヤにも見えてしまうので、ゲームの戦略性が低くなり、ゲームの興趣性を低下させてしまうという問題もある。
【０００６】
それ故、本発明の目的は、表示装置の表示領域の分割数を抑え、見やすいゲーム画像を表示することが可能なゲームシステム等を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の（１）〜（１０）の構成を採用した。
【０００８】
（１）
本発明の一例は、複数のプレイヤによってゲームを行うためのゲームシステムである。ゲームシステムは、複数のプレイヤがそれぞれ操作する複数の操作装置と、ゲーム装置と、複数の操作装置とは別体である少なくとも１つの可搬型の表示装置とを含む。
ゲーム装置は、操作データ取得部と、ゲーム処理部と、第１画像生成部と、第２画像生成部と、第１画像出力部と、第２画像出力部とを備える。操作データ取得部は、操作装置に対する操作に基づいて出力される操作データを複数の操作装置からそれぞれ取得する。ゲーム処理部は、各操作データに基づいてゲーム処理を実行する。第１画像生成部は、複数のプレイヤのうちの所定の第１プレイヤのための第１ゲーム画像をゲーム処理に基づいて生成する。第２画像生成部は、第１プレイヤ以外の他のプレイヤのための第２ゲーム画像をゲーム処理に基づいて生成する。第１画像出力部は、第１ゲーム画像を可搬型の表示装置へ出力する。第２画像出力部は、第２ゲーム画像を可搬型の表示装置とは異なる所定の表示装置へ出力する。
可搬型の表示装置は、ゲーム画像受信部と、表示部とを備える。ゲーム画像受信部は、第１ゲーム画像を受信する。表示部は、第１ゲーム画像を表示する。
ゲーム処理部は、オブジェクト処理部と、第１仮想カメラ制御部と、第２仮想カメラ制御部とを含む。オブジェクト処理部は、仮想のゲーム空間においてオブジェクトを動作させるオブジェクト制御処理を実行する。第１仮想カメラ制御部は、オブジェクト制御処理が実行されたゲーム空間において、第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第１仮想カメラを制御する。第２仮想カメラ制御部は、オブジェクト制御処理が実行されたゲーム空間において、他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、第２仮想カメラを制御する。第１画像生成部は、第１仮想カメラに基づいて第１ゲーム画像を生成する。第２画像生成部は、第２仮想カメラに基づいて第２ゲーム画像を生成する。
【０００９】
上記「ゲームシステム」は、操作装置とゲーム装置と可搬型の操作装置とを含んでいればよく、上記「所定の表示装置」を含んでいなくともよいし、含んでいてもよい。すなわち、ゲームシステムは、当該所定の表示装置を含まない形態で提供されてもよいし、含む形態で提供されてもよい。
上記「操作装置」は、後述する実施形態におけるコントローラ５の他、任意の操作装置を含む概念である。
上記「ゲーム装置」は、ゲーム処理を実行し、ゲーム処理に基づいてゲーム画像を生成する情報処理装置であればどのようなものであってもよい。上記ゲーム装置は、ゲーム専用の情報処理装置であってもよいし、一般的なパーソナルコンピュータのような多用途の情報処理装置であってもよい。
上記「可搬型の表示装置」は、後述する実施形態においては端末装置７のように、ゲーム画像を表示する表示部を備える装置であればどのようなものであってもよい。なお、上記「可搬型」とは、プレイヤが手に持って動かしたり、任意の位置に配置を変更したりすることができる程度の大きさである意味である。
上記「他のプレイヤ」は、１人でも複数人でもよい。
上記「（第１）プレイヤのための（第１）ゲーム画像」とは、当該プレイヤがゲーム操作を行うのに適したゲーム画像であればどのようなゲーム画像であってもよい。「プレイヤのためのゲーム画像」としては、例えば、プレイヤの操作に応じて視点や視線方向が変化するゲーム画像や、プレイヤの操作対象を含むように視点位置や視線方向が設定されるゲーム画像や、プレイヤの操作対象の位置あるいはその近傍に視点位置が設定されるゲーム画像等が考えられる。
上記「他のプレイヤのための第２ゲーム画像」とは、当該他のプレイヤがゲーム操作を行うのに適したゲーム画像である。他のプレイヤが複数人である場合には、上記第２ゲーム画像は、各プレイヤのための複数のゲーム画像からなる画像であってもよいし、例えば各プレイヤの操作対象を含む１つのゲーム画像でもよい。
【００１０】
上記（１）の構成によれば、２つの表示装置にそれぞれゲーム画像が表示される。すなわち、可搬型の表示装置には第１プレイヤのためのゲーム画像が表示され、所定の表示装置には他のプレイヤのためのゲーム画像が表示される。したがって、プレイヤが２人の場合であれば、表示装置の表示領域を分割することなくゲーム画像を表示することができるので、他のプレイヤのゲーム画像を自己のゲーム画像と見間違えたり、プレイヤが窮屈に感じたりすることなく、各プレイヤに見やすいゲーム画像を提供することができる。また、プレイヤが３人以上であっても、所定の表示装置のみを用いる場合に比べて、表示領域の分割数を減らすことができるので、見間違える可能性を減らし、窮屈感を減らすことができる。さらに、一方の表示装置は可搬型であるので、必要に応じて、自分のゲーム画像が表示される画面を他のプレイヤが見えないように表示装置を配置することも可能である。これによれば、互いに相手のゲーム画像が見えないような位置関係となるように可搬型の表示装置を配置することでゲームの戦略性を向上し、ゲームの興趣性を高めることができる。
【００１１】
また、上記（１）の構成によれば、各ゲーム画像はゲーム装置側で生成されるので、可搬型の表示装置はゲーム画像を受信して表示する機能を有すれば足りる。例えば、ゲーム装置と可搬型の表示装置との両方でゲーム処理が実行される場合には、双方のゲーム処理を同期させる必要があり、ゲーム処理が複雑になってしまう。一方、上記（１）の構成によれば、ゲーム処理は一方の装置（ゲーム装置側）のみで実行されるので、ゲーム処理の同期をとる必要がなく、ゲーム処理を簡易化することができる。
【００１２】
（２）
ゲーム処理部は、第１仮想カメラ制御部と、第２仮想カメラ制御部とを含んでいてもよい。第１仮想カメラ制御部は、第１プレイヤが操作する操作装置に対する操作を表す操作データに基づいて、ゲーム空間に設定される第１仮想カメラを制御する。第２仮想カメラ制御部は、他のプレイヤが操作する操作装置に対する操作を表す操作データに基づいて、ゲーム空間に設定される第２仮想カメラを制御する。このとき、第１画像生成部は、第１仮想カメラに基づいて第１ゲーム画像を生成する。第２画像生成部は、第２仮想カメラに基づいて第２ゲーム画像を生成する。
【００１３】
上記（２）の構成によれば、第１プレイヤは第１仮想カメラを制御することによって第１ゲーム画像の視点や視線方向を操作することができ、他のプレイヤは第２仮想カメラを制御することによって第２ゲーム画像の視点や視線方向を操作することができる。
【００１４】
（３）
複数の操作装置はそれぞれ、自機の姿勢を算出するための物理量を検出するセンサ部を備えていてもよい。このとき、操作データにはそれぞれ、センサ部から取得されるデータが含まれる。ゲーム処理部は、各操作データにそれぞれ含まれる物理量に基づいて各操作装置の姿勢を算出する姿勢算出処理部を含み、当該各操作装置の姿勢に基づいてゲーム処理を実行する。
【００１５】
上記「姿勢を算出するための物理量」とは、それに基づいて操作装置の姿勢を算出（推測）することができればどのようなものであってもよい。また、上記「センサ部」は、このような「物理量」を検出することができればどのようなものであってもよい。例えば、「センサ部」は、後述する実施形態におけるジャイロや加速度センサといった慣性センサの他、磁気センサであってもよいし、カメラであってもよい。なお、センサ部が磁気センサである場合には、磁気センサによって検出される方位の情報が上記物理量に相当する。また、センサ部がカメラである場合には、撮像された画像に関する数値（例えば各画素値）、あるいは、当該画像から得られる数値（例えば、撮像された画像内における所定の撮像対象の位置座標）が上記物理量に相当する。
【００１６】
上記（３）の構成によれば、操作装置の姿勢に応じたゲーム処理が実行されるので、各プレイヤは、操作装置を傾ける操作によって直感的かつ容易なゲーム操作を行うことができる。
【００１７】
（４）
複数の操作装置はそれぞれ、自機の動きを算出するための物理量を検出するセンサ部を備えていてもよい。操作データにはそれぞれ、センサ部から取得されるデータが含まれる。ゲーム処理部は、各操作データにそれぞれ含まれる物理量に基づいて各操作装置の動きを算出する姿勢算出処理部を含み、当該各操作装置の動きに基づいてゲーム処理を実行する。
【００１８】
上記「動きを算出するための物理量」とは、それに基づいて操作装置の動きを算出（推測）することができればどのようなものであってもよい。また、上記「センサ部」は、このような「物理量」を検出することができればどのようなものであってもよい。例えば、「センサ部」は、後述する実施形態におけるジャイロや加速度センサといった慣性センサの他、磁気センサであってもよいし、カメラであってもよい。なお、センサ部が磁気センサである場合には、磁気センサによって検出される方位（あるいは方位の変化）の情報が上記物理量に相当する。また、センサ部がカメラである場合には、撮像された画像に関する数値（例えば各画素値）、あるいは、当該画像から得られる数値（例えば、撮像された画像内における所定の撮像対象の位置座標）が上記物理量に相当する。
【００１９】
上記（４）の構成によれば、操作装置の動きに応じたゲーム処理が実行されるので、各プレイヤは、操作装置を動かす操作によって直感的かつ容易なゲーム操作を行うことができる。
【００２０】
（５）
ゲーム処理部は、第１指定処理部と、第２指定処理部とを含んでいてもよい。第１指定処理部は、第１プレイヤが操作する操作装置の操作データに基づいて可搬型の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する。第２指定処理部は、他のプレイヤが操作する操作装置の操作データに基づいて所定の表示装置の表示領域における位置を指定し、指定した位置に応じた処理を実行する。
【００２１】
上記（５）の構成によれば、操作装置によって指定される表示装置の画面上の位置に応じたゲーム処理が実行されるので、プレイヤは、表示装置の画面上の位置を指定する操作によって直感的かつ容易なゲーム操作を行うことができる。なお、表示装置の表示領域（画面）における分割数が多くなると、画面上の位置を指定する操作が行いにくくなる。これに対して、（１）〜（１０）の構成では、分割数を減らすことができるので、画面上の位置を指定する操作を行いやすくすることができ、当該操作の操作性を向上することができる。
【００２２】
（６）
ゲームシステムは、所定の表示装置の近傍に配置可能な発光装置をさらに含んでいてもよい。また、可搬型の表示装置は、発光部をさらに備える。複数の操作装置はそれぞれ、発光装置および発光部による光を撮像可能な撮像部をさらに備える。各操作データには、撮像部の撮像画像に関する撮像データが含まれる。ゲーム処理部は、撮像画像内における所定の撮像対象の位置に基づくゲーム処理を撮像データを用いて実行する。
【００２３】
上記「撮像データ」は、撮像部による撮像画像の画像データ自体であってもよいし、撮像画像から得られる情報（例えば、後述する実施形態におけるマーカ座標のような、撮像画像内における所定の撮像対象の位置を示す情報）を表すデータであってもよい。
上記「撮像画像内における所定の撮像対象の位置に基づくゲーム処理」とは、例えば、上記（３）における姿勢を当該位置に基づいて算出する処理でもよいし、上記（５）における画面上の位置を当該位置に基づいて算出する処理でもよい。
【００２４】
上記（６）の構成によれば、撮像画像内における撮像対象の位置に基づくゲーム処理が実行される。したがって、操作装置の位置や姿勢や動きを用いてゲーム操作を行うことができ、直感的かつ容易なゲーム操作が可能となる。また、上記撮像データによって操作装置と撮像対象との位置関係を精度良く算出することができるので、操作性の良いゲーム操作を提供することができる。
【００２５】
（７）
ゲームシステムは、少なくとも３つの操作装置を含んでいてもよい。このとき、第２画像生成部は、第１プレイヤとは別の第２プレイヤのためのゲーム画像と、第１プレイヤとは別の第３プレイヤのためのゲーム画像とを含むゲーム画像を第２ゲーム画像として生成する。
【００２６】
上記（７）の構成によれば、プレイヤの人数が３人以上であっても各プレイヤのためのゲーム画像をそれぞれ提供することができる。
【００２７】
（８）
所定の表示装置は、横長の表示領域を有していてもよい。このとき、第２画像生成部は、第２プレイヤのための縦長のゲーム画像と、第３プレイヤのための縦長のゲーム画像とが横に並んで配置された画像を第２ゲーム画像として生成する。
【００２８】
上記（８）の構成によれば、所定の表示装置の画面に、複数のゲーム画像を横に並べて表示することで、縦長のゲーム画像を提供することができる。また、可搬型の表示装置については、縦長となるように配置することが可能であるので、可搬型の表示装置をそのように配置することで、縦長のゲーム画像を提供することができる。したがって、上記（８）の構成によれば、各ゲーム画像は全て縦長のゲーム画像となり、３人以上の各プレイヤに対して縦長のゲーム画像を提供することができる。これによれば、各ゲーム画像の比率を揃えることができるので、プレイヤ毎の有利不利を無くすことができ、公平なゲーム画像を提供することができる。
また、一般的な表示装置の表示領域は横長であるので、縦長のゲーム画像を表示する場合には、縦長のゲーム画像の横に本来不要な画像を追加して表示するため、プレイヤに違和感を与えるおそれがある。これに対して、上記（８）の構成によれば、所定の表示装置の画面に複数の縦長のゲーム画像を表示するので、当該所定の表示装置に不要な画像を追加して表示する必要がない。したがって、プレイヤが違和感を抱いたり不自然に感じたりすることがなく、見やすいゲーム画像を提供することができる。
【００２９】
（９）
操作データ取得部は、１個から所定個数までの操作装置から操作データを取得することが可能であってもよい。このとき、ゲーム処理部は、ゲームを行うプレイヤの人数が所定の条件を満たすか否かを判定する判定部を含む。第１画像生成部は、プレイヤの人数が所定の条件を満たす場合、第１プレイヤのための第１ゲーム画像を生成する。第２画像生成部は、プレイヤの人数が所定の条件を満たす場合、他のプレイヤのためのゲーム画像を第２ゲーム画像として生成し、プレイヤの人数が所定の条件を満たさない場合、ゲームを行う各プレイヤのためのゲーム画像を第２ゲーム画像として生成する。
【００３０】
上記（９）の構成によれば、プレイヤの人数が所定の条件を満たす場合には、第１プレイヤのための第１ゲーム画像が可搬型の表示装置に表示され、他のプレイヤのための第２ゲーム画像が所定の表示装置に表示される。また、プレイヤの人数が所定の条件を満たさない場合には、（第１プレイヤおよび他のプレイヤを含む）各プレイヤのための第２ゲーム画像が所定の表示装置に表示される。すなわち、上記（９）の構成によれば、２つの表示装置を用いてゲーム画像を表示するか、所定の表示装置を用いてゲーム画像を表示するかがプレイヤの人数に応じて変更される。したがって、上記（９）の構成によれば、プレイヤの人数に応じて適切な表示形態でゲーム画像を提供することができる。
【００３１】
（１０）
第１画像生成部は、ゲーム処理によって所定のゲーム条件が満たされる場合、第１プレイヤのための第１ゲーム画像を生成してもよい。このとき、第２画像生成部は、ゲーム処理によって所定のゲーム条件が満たされる場合、他のプレイヤのためのゲーム画像を第２ゲーム画像として生成し、ゲーム処理によって所定のゲーム条件が満たされない場合、複数のプレイヤのためのゲーム画像を第２ゲーム画像として生成する。
【００３２】
上記「ゲーム条件」とは、ゲームに関する条件であればどのようなものであってもよく、例えば、プレイヤオブジェクトの位置や状態に関する条件（より具体的には、プレイヤオブジェクトが所定範囲のゲームフィールドに存在すること、あるいは、プレイヤオブジェクトが所定のアイテムを取得したこと等）や、ゲームの進行状況に関する条件（より具体的には、所定のゲームステージとなったこと等）である。
【００３３】
上記（１０）の構成によれば、ゲーム条件が満たされる場合には、第１プレイヤのための第１ゲーム画像が可搬型の表示装置に表示され、他のプレイヤのための第２ゲーム画像が所定の表示装置に表示される。また、ゲーム条件が満たさない場合には、（第１プレイヤおよび他のプレイヤを含む）各プレイヤのための第２ゲーム画像が所定の表示装置に表示される。すなわち、上記（１０）の構成によれば、２つの表示装置を用いてゲーム画像を表示するか、所定の表示装置を用いてゲーム画像を表示するかがゲーム状況に応じて変更される。したがって、上記（１０）の構成によれば、ゲーム状況に応じて適切な表示形態でゲーム画像を提供することができる。これによれば、例えば、２つのプレイヤオブジェクトが一緒に行動するシーンにおいては１つの表示装置に２つのプレイヤオブジェクトを表示し、２つのプレイヤオブジェクトが離れて行動するシーンにおいては２つの表示装置に別々にプレイヤオブジェクトを表示することも可能となる。これによって、ゲームの臨場感を高めることができ、興趣性の高いゲームを提供することができる。
【００３４】
なお、本発明の別の一例は、上記（１）〜（１０）のゲームシステムにおけるゲーム装置の形態であってもよい。また、本発明の別の一例は、ゲーム装置のコンピュータを上記ゲーム装置における各部（画像出力部が含まれなくてもよい）と同等の手段として機能させるゲームプログラムの形態であってもよい。さらに、本発明の別の一例は、上記（１）〜（１０）のゲームシステムまたはゲーム装置において行われるゲーム処理方法の形態であってもよい。
【発明の効果】
【００３５】
本発明によれば、複数のプレイヤのための複数のゲーム画像を２つの表示装置に表示することによって、表示装置の表示領域の分割数を抑えることができ、見やすいゲーム画像を各プレイヤに提供することができる。
【図面の簡単な説明】
【００３６】
【図１】ゲームシステム１の外観図
【図２】ゲーム装置３の内部構成を示すブロック図
【図３】メインコントローラ８の外観構成を示す斜視図
【図４】メインコントローラ８の外観構成を示す斜視図
【図５】メインコントローラ８の内部構造を示す図
【図６】メインコントローラ８の内部構造を示す図
【図７】サブコントローラ９の外観構成を示す斜視図
【図８】コントローラ５の構成を示すブロック図
【図９】端末装置７の外観構成を示す図
【図１０】ユーザが端末装置７を把持した様子を示す図
【図１１】端末装置７の内部構成を示すブロック図
【図１２】端末装置７に表示される端末用ゲーム画像の一例を示す図
【図１３】テレビ２に表示されるテレビ用ゲーム画像の一例を示す図
【図１４】テレビ２と端末装置７とを反対に向けて配置した配置例を示す
【図１５】テレビ２の画面と端末装置７の画面とが略直角となるように配置した配置例を示す図
【図１６】テレビ２と端末装置７とを横に並べた配置例を示す図
【図１７】ゲーム処理において用いられる各種データを示す図
【図１８】ゲーム装置３において実行されるゲーム処理の流れを示すメインフローチャート
【図１９】図１８に示すゲーム制御処理（ステップＳ３）の詳細な流れを示すフローチャート
【図２０】図１９に示す姿勢算出処理（ステップＳ１２）の詳細な流れを示すフローチャート
【図２１】本実施形態の第１変形例における端末用ゲーム画像の一例を示す図
【図２２】第１変形例におけるテレビ用ゲーム画像の一例を示す図
【図２３】本実施形態の第２変形例における端末用ゲーム画像の一例を示す図
【図２４】第２変形例におけるテレビ用ゲーム画像の一例を示す図
【図２５】第２変形例において２人でゲームが行われる場合におけるテレビ用ゲーム画像の一例を示す図
【図２６】第２変形例において実行される画像生成処理の流れを示すフローチャート
【図２７】本実施形態の第３変形例におけるゲーム画像の一例を示す図
【図２８】第３変形例において実行される画像生成処理の流れを示すフローチャート
【発明を実施するための形態】
【００３７】
［１．ゲームシステムの全体構成］
以下、図面を参照して、本発明の一実施形態に係るゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。図１において、ゲームシステム１は、テレビジョン受像器等に代表される据置型のディスプレイ装置（以下、「テレビ」と記載する）２、据置型のゲーム装置３、光ディスク４、コントローラ５、マーカ装置６、および、端末装置７を含む。ゲームシステム１は、コントローラ５を用いたゲーム操作に基づいてゲーム装置３においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ２および／または端末装置７に表示するものである。
【００３８】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるための情報処理プログラム（典型的にはゲームプログラム）が記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【００３９】
ゲーム装置３には、テレビ２が接続コードを介して接続される。テレビ２は、ゲーム装置３において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ２はスピーカ２ａ（図２）を有しており、スピーカ２ａは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置３と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置３とテレビ２との通信は無線通信であってもよい。
【００４０】
テレビ２の画面の周辺（図１では画面の上側）には、マーカ装置６が設置される。詳細は後述するが、ユーザ（プレイヤ）はコントローラ５を動かすゲーム操作を行うことができ、マーカ装置６は、コントローラ５の動きや位置や姿勢等をゲーム装置３が算出するために用いられる。マーカ装置６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒ（マーカ６Ｌも同様）は、具体的には１以上の赤外ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）であり、テレビ２の前方に向かって赤外光を出力する。マーカ装置６はゲーム装置３に接続されており、ゲーム装置３はマーカ装置６が備える各赤外ＬＥＤの点灯を制御することが可能である。なお、マーカ装置６は可搬型であり、ユーザはマーカ装置６を自由な位置に設置することができる。図１ではマーカ装置６がテレビ２の上に設置された態様を表しているが、マーカ装置６を設置する位置および向きは任意である。
【００４１】
コントローラ５は、自機に対して行われた操作の内容を表す操作データをゲーム装置３に与えるものである。本実施形態では、コントローラ５は、メインコントローラ８とサブコントローラ９とを有し、サブコントローラ９がメインコントローラ８に着脱可能に装着される構成である。コントローラ５とゲーム装置３とは無線通信によって通信可能である。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。また、図１では、ゲームシステム１に含まれるコントローラ５は１つとするが、本実施形態においては、ゲームシステム１は複数のコントローラ５を含むものとする。ゲーム装置３は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ５の詳細な構成については後述する。
【００４２】
端末装置７は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置７を手に持って動かしたり、あるいは、端末装置７を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置７は、表示手段であるＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）５１、および、入力手段（後述するタッチパネル５２やジャイロセンサ６４等）を備える。端末装置７とゲーム装置３とは無線（有線であってもよい）によって通信可能である。端末装置７は、ゲーム装置３で生成された画像（例えばゲーム画像）のデータをゲーム装置３から受信し、画像をＬＣＤ５１に表示する。なお、本実施形態では表示装置としてＬＣＤを用いているが、端末装置７は、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置７は、自機に対して行われた操作の内容を表す操作データをゲーム装置３に送信する。
【００４３】
［２．ゲーム装置３の内部構成］
次に、図２を参照して、ゲーム装置３の内部構成について説明する。図２は、ゲーム装置３の内部構成を示すブロック図である。ゲーム装置３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５等を有する。
【００４４】
ＣＰＵ１０は、光ディスク４に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたゲームプログラムや、フラッシュメモリ１７から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置３の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ：Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ１１ｅまたは外部メインメモリ１２に読み出したデータを書き込む。
【００４５】
システムＬＳＩ１１には、入出力プロセッサ（Ｉ／Ｏプロセッサ）１１ａ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１１ｂ、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１１ｃ、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）１１ｄ、および内部メインメモリ１１ｅが設けられる。図示は省略するが、これらの構成要素１１ａ〜１１ｅは内部バスによって互いに接続される。
【００４６】
ＧＰＵ１１ｂは、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ１１ｄは、ＧＰＵ１１ｂがグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ１１ｂは、ＶＲＡＭ１１ｄに記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置３は、テレビ２に表示するゲーム画像と、端末装置７に表示するゲーム画像との両方を生成する。以下では、テレビ２に表示されるゲーム画像を「テレビ用ゲーム画像」と呼び、端末装置７に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【００４７】
ＤＳＰ１１ｃは、オーディオプロセッサとして機能し、内部メインメモリ１１ｅや外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、テレビ２のスピーカから出力するゲーム音声と、端末装置７のスピーカから出力するゲーム音声との両方が生成される。以下では、テレビ２から出力されるゲーム音声を「テレビ用ゲーム音声」と呼び、端末装置７から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【００４８】
上記のようにゲーム装置３において生成される画像および音声のうちで、テレビ２において出力される画像および音声のデータは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、読み出した画像データをＡＶコネクタ１６を介してテレビ２に出力するとともに、読み出した音声データを、テレビ２に内蔵されるスピーカ２ａに出力する。これによって、テレビ２に画像が表示されるとともにスピーカ２ａから音が出力される。
【００４９】
また、ゲーム装置３において生成される画像および音声のうちで、端末装置７において出力される画像および音声のデータは、入出力プロセッサ１１ａ等によって端末装置７へ送信される。入出力プロセッサ１１ａ等による端末装置７へのデータの送信については後述する。
【００５０】
入出力プロセッサ１１ａは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ１１ａは、フラッシュメモリ１７、ネットワーク通信モジュール１８、コントローラ通信モジュール１９、拡張コネクタ２０、メモリカード用コネクタ２１、コーデックＬＳＩ２７に接続される。また、ネットワーク通信モジュール１８にはアンテナ２２が接続される。コントローラ通信モジュール１９にはアンテナ２３が接続される。コーデックＬＳＩ２７は端末通信モジュール２８に接続され、端末通信モジュール２８にはアンテナ２９が接続される。
【００５１】
ゲーム装置３は、インターネット等のネットワークに接続して外部情報処理装置（例えば他のゲーム装置や、各種サーバ等）と通信を行うことが可能である。すなわち、入出力プロセッサ１１ａは、ネットワーク通信モジュール１８およびアンテナ２２を介してインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。入出力プロセッサ１１ａは、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール１８およびアンテナ２２を介してネットワークに送信する。また、入出力プロセッサ１１ａは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２およびネットワーク通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０はゲームプログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ１７には、ゲーム装置３と外部情報処理装置との間で送受信されるデータの他、ゲーム装置３を利用してプレイしたゲームのセーブデータ（ゲームの結果データまたは途中データ）が記憶されてもよい。また、フラッシュメモリ１７にはゲームプログラムが記憶されてもよい。
【００５２】
また、ゲーム装置３は、コントローラ５からの操作データを受信することが可能である。すなわち、入出力プロセッサ１１ａは、コントローラ５から送信される操作データをアンテナ２３およびコントローラ通信モジュール１９を介して受信し、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００５３】
また、ゲーム装置３は、端末装置７との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ１１ａは、端末装置７へゲーム画像（端末用ゲーム画像）を送信する場合、ＧＰＵ１１ｂが生成したゲーム画像のデータをコーデックＬＳＩ２７へ出力する。コーデックＬＳＩ２７は、入出力プロセッサ１１ａからの画像データに対して所定の圧縮処理を行う。端末通信モジュール２８は、端末装置７との間で無線通信を行う。したがって、コーデックＬＳＩ２７によって圧縮された画像データは、端末通信モジュール２８によってアンテナ２９を介して端末装置７へ送信される。なお、本実施形態では、ゲーム装置３から端末装置７へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置３から端末装置７への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックＬＳＩ２７は、例えばＨ．２６４規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール２８は、例えばＷｉ−Ｆｉの認証を受けた通信モジュールであり、例えばＩＥＥＥ８０２．１１ｎ規格で採用されるＭＩＭＯ（Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ  Ｏｕｔｐｕｔ）の技術を用いて端末装置７との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【００５４】
また、ゲーム装置３は、画像データの他、音声データを端末装置７へ送信する。すなわち、入出力プロセッサ１１ａは、ＤＳＰ１１ｃが生成した音声データを、コーデックＬＳＩ２７を介して端末通信モジュール２８へ出力する。コーデックＬＳＩ２７は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール２８は、圧縮された画像データおよび音声データを、アンテナ２９を介して端末装置７へ送信する。
【００５５】
さらに、ゲーム装置３は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置７へ送信する。制御データは、端末装置７が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部（図１０に示すマーカ部５５）の点灯を制御する指示や、カメラ（図１０に示すカメラ５６）の撮像を制御する指示等を表す。入出力プロセッサ１１ａは、ＣＰＵ１０の指示に応じて制御データを端末装置７へ送信する。なお、この制御データに関して、本実施形態ではコーデックＬＳＩ２７はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置３から端末装置７へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
【００５６】
また、ゲーム装置３は、端末装置７から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置７は、操作データ、画像データ、および音声データを送信する。端末装置７から送信される各データはアンテナ２９を介して端末通信モジュール２８によって受信される。ここで、端末装置７からの画像データおよび音声データは、ゲーム装置３から端末装置７への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール２８からコーデックＬＳＩ２７に送られ、コーデックＬＳＩ２７によって伸張処理が施されて入出力プロセッサ１１ａに出力される。一方、端末装置７からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール２８で受信された後、コーデックＬＳＩ２７を介して入出力プロセッサ１１ａに出力される。入出力プロセッサ１１ａは、端末装置７から受信したデータを、内部メインメモリ１１ｅまたは外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００５７】
また、ゲーム装置３は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ１１ａには、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインターフェースのためのコネクタである。拡張コネクタ２０に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ１１ａは、拡張コネクタ２０やメモリカード用コネクタ２１を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【００５８】
ゲーム装置３には、電源ボタン２４、リセットボタン２５、およびイジェクトボタン２６が設けられる。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、図示しないＡＣアダプタによって外部の電源からゲーム装置３の各構成要素に対して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置３の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００５９】
なお、他の実施形態においては、ゲーム装置３が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置３とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ２０を介してゲーム装置３と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックＬＳＩ２７、端末通信モジュール２８およびアンテナ２９の各構成要素を備えており、拡張コネクタ２０に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置７と通信可能な構成とすることができる。
【００６０】
［３．コントローラ５の構成］
次に、図３〜図７を参照して、コントローラ５について説明する。上述のように、コントローラ５は、メインコントローラ８とサブコントローラ９とによって構成される。図３は、メインコントローラ８の外観構成を示す斜視図である。図４は、メインコントローラ８の外観構成を示す斜視図である。図３は、メインコントローラ８の上側後方から見た斜視図であり、図４は、メインコントローラ８を下側前方から見た斜視図である。
【００６１】
図３および図４において、メインコントローラ８は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、メインコントローラ８に設けられたボタンを押下すること、および、メインコントローラ８自体を動かしてその位置や姿勢（傾き）を変えることによってゲーム操作を行うことができる。
【００６２】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字ボタン３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。本明細書では、これらのボタン３２ａ〜３２ｈが設けられるハウジング３１の上面を「ボタン面」と呼ぶことがある。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。ホームボタン３２ｆおよび電源ボタン３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、ユーザがホームボタン３２ｆまたは電源ボタン３２ｈを誤って押下することを防止することができる。
【００６３】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、メインコントローラ８に他の機器（例えば、サブコントローラ９や他のセンサユニット等）を接続するために利用される。また、ハウジング３１の後面におけるコネクタ３３の両側には、上記他の機器が容易に離脱することを防止するために係止穴３３ａが設けられている。
【００６４】
ハウジング３１上面の後方には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５（メインコントローラ８）には、他のコントローラと区別するためにコントローラ種別（番号）が付与される。各ＬＥＤ３４ａ〜３４ｄは、コントローラ５に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ５の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ５を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００６５】
また、メインコントローラ８は撮像情報演算部３５（図６）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００６６】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、メインコントローラ８に内蔵されるスピーカ４７（図５）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００６７】
次に、図５および図６を参照して、メインコントローラ８の内部構造について説明する。図５および図６は、メインコントローラ８の内部構造を示す図である。なお、図５は、メインコントローラ８の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６は、メインコントローラ８の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図６に示す斜視図は、図５に示す基板３０を裏面から見た斜視図となっている。
【００６８】
図５において、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４７等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図６参照）に接続される。本実施形態では、加速度センサ３７は、Ｘ軸方向に関してメインコントローラ８の中心からずれた位置に配置されている。これによって、メインコントローラ８をＺ軸回りに回転させたときのメインコントローラ８の動きが算出しやすくなる。また、加速度センサ３７は、長手方向（Ｚ軸方向）に関してメインコントローラ８の中心よりも前方に配置されている。また、無線モジュール４４（図６）およびアンテナ４５によって、コントローラ５（メインコントローラ８）がワイヤレスコントローラとして機能する。
【００６９】
一方、図６において、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、メインコントローラ８の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を備えている。これらの部材３８〜４１はそれぞれ基板３０の下主面に取り付けられる。
【００７０】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４６が設けられている。バイブレータ４６は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４６が作動することによってメインコントローラ８に振動が発生する。これによって、メインコントローラ８を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４６は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４６がメインコントローラ８の中心よりも端側に配置することによって、バイブレータ４６の振動によりメインコントローラ８全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５および図６に示す他、メインコントローラ８は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４７に音声信号を出力するアンプ等を備えている。
【００７１】
図７は、サブコントローラ９の外観構成を示す斜視図である。サブコントローラ９は、例えばプラスチック成型によって形成されたハウジング８０を有している。ハウジング８０は、メインコントローラ８と同様に、全体として大人や子供の片手で把持可能な大きさである。このサブコントローラ９を用いることによっても、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【００７２】
図７に示すように、ハウジング８０の上面（ｙ’軸負方向側の面）の先端側（ｚ’軸正側）には、アナログジョイスティック８１が設けられる。また、図示されないが、ハウジング８０の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向（図３に示すｙ軸方向）に並べて、ＣボタンおよびＺボタンが設けられる。アナログジョイスティック８１および各ボタン（ＣボタンおよびＺボタン）には、ゲーム装置３が実行するゲームプログラムに応じてそれぞれ適宜の機能が割り当てられる。なお、アナログジョイスティック８１および各ボタンを包括的に「操作部８２（図８参照）」と呼ぶことがある。
【００７３】
また、図７では示されないが、サブコントローラ９は、ハウジング８０の内部に加速度センサ（図８に示す加速度センサ８３）を有している。本実施形態においては、加速度センサ８３は、メインコントローラ８の加速度センサ３７と同様のものが用いられる。ただし、加速度センサ８３は、加速度センサ３７とは異なるものであってもよく、例えば所定の１軸または２軸の加速度を検出するものであってもよい。
【００７４】
また、図７に示すように、ハウジング８０の後端にはケーブルの一端が接続されている。図７では示されないが、ケーブルの他端にはコネクタ（図８に示すコネクタ８４）が接続される。このコネクタはメインコントローラ８のコネクタ３３と接続可能である。つまり、コネクタ３３とコネクタ８４とを接続することによって、メインコントローラ８とサブコントローラ９とが接続される。
【００７５】
なお、図３〜図７に示したメインコントローラ８およびサブコントローラ９の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、メインコントローラ８の撮像手段による撮像方向はＺ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【００７６】
図８は、コントローラ５の構成を示すブロック図である。図８に示すように、メインコントローラ８は、操作部３２（各操作ボタン３２ａ〜３２ｉ）、撮像情報演算部３５、通信部３６、加速度センサ３７、およびジャイロセンサ４８を備えている。また、サブコントローラ９は、操作部８２および加速度センサ８３を備えている。コントローラ５は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置３へ送信するものである。なお、以下では、コントローラ５が送信する操作データを「コントローラ操作データ」と呼び、端末装置７が送信する操作データを「端末操作データ」と呼ぶことがある。
【００７７】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉを含み、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を表す操作ボタンデータを通信部３６のマイコン４２へ出力する。
【００７８】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００７９】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置７のマーカ部５５およびマーカ装置６は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、撮像対象（マーカ部５５および／またはマーカ装置６）の画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象の位置を算出する。画像処理回路４１は、算出された位置を示す座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（傾斜角度）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。
【００８０】
なお、他の実施形態においては、コントローラ５は画像処理回路４１を備えていない構成であってもよく、撮像画像自体がコントローラ５からゲーム装置３へ送信されてもよい。このとき、ゲーム装置３は、画像処理回路４１と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【００８１】
加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ３７は、例えば静電容量式のＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍ）型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【００８２】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ５を基準に設定されるＸＹＺ座標系（コントローラ座標系）における３次元のベクトルとして表される。
【００８３】
加速度センサ３７が検出した加速度を表すデータ（加速度データ）は、通信部３６へ出力される。なお、加速度センサ３７が検出した加速度は、コントローラ５自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置３は取得された加速度データを用いてコントローラ５の向きや動きを算出することができる。本実施形態では、ゲーム装置３は、取得された加速度データに基づいてコントローラ５の姿勢や傾斜角度等を算出する。
【００８４】
なお、加速度センサ３７（後述する加速度センサ６３についても同様）から出力される加速度の信号に基づいて、ゲーム装置３のプロセッサ（例えばＣＰＵ１０）またはコントローラ５のプロセッサ（例えばマイコン４２）等のコンピュータが処理を行うことによって、コントローラ５に関するさらなる情報を推測または算出（判定）することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ３７を搭載するコントローラ５が静止状態であることを前提としてコンピュータ側の処理が実行される場合（すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合）、コントローラ５が現実に静止状態であれば、検出された加速度に基づいてコントローラ５の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ３７の検出軸が鉛直下方向を向いている状態を基準としたとき、１Ｇ（重力加速度）がかかっているか否かによって、コントローラ５が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ３７の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ５がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ３７からの出力に基づいてコントローラ５の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ５の傾斜方向を算出するようにしてもよい。このように、加速度センサ３７をプロセッサと組み合わせて用いることによって、コントローラ５の傾斜角度または姿勢を判定することができる。
【００８５】
一方、コントローラ５が動的な状態（コントローラ５が動かされている状態）であることを前提とする場合には、加速度センサ３７は重力加速度に加えてコントローラ５の動きに応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ５の動き方向を知ることができる。また、コントローラ５が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの動きに応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ５の傾きを知ることが可能である。なお、他の実施例では、加速度センサ３７は、内蔵の加速度検出手段で検出された加速度信号をマイコン４２に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ３７が静的な加速度（例えば、重力加速度）を検出するために用いられる場合、加速度信号を傾斜角（あるいは、他の好ましいパラメータ）に変換するものであってもよい。
【００８６】
ジャイロセンサ４８は、３軸（本実施形態では、ＸＹＺ軸）回りの角速度を検出する。本明細書では、コントローラ５の撮像方向（Ｚ軸正方向）を基準として、Ｘ軸回りの回転方向をピッチ方向、Ｙ軸回りの回転方向をヨー方向、Ｚ軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ４８は、３軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ４８は、３軸ジャイロセンサであってもよいし、２軸ジャイロセンサと１軸ジャイロセンサとを組み合わせて３軸周りの角速度を検出するものであってもよい。ジャイロセンサ４８で検出された角速度を表すデータは、通信部３６へ出力される。また、ジャイロセンサ４８は１軸または２軸回りの角速度を検出するものであってもよい。
【００８７】
また、サブコントローラ９の操作部８２は、上述したアナログジョイスティック８１、ＣボタンおよびＺボタンを含む。操作部８２は、アナログジョイスティック８１に対する傾倒方向および傾倒量を表すスティックデータ（サブスティックデータと呼ぶ）と、各ボタンに対する入力状態（各ボタンが押下されたか否か）を表す操作ボタンデータ（サブ操作ボタンデータと呼ぶ）とを、コネクタ８４を介してメインコントローラ８へ出力する。
【００８８】
また、サブコントローラ９の加速度センサ８３は、メインコントローラ８の加速度センサ３７と同様のセンサであり、サブコントローラ９の加速度（重力加速度を含む）を検出する、すなわち、サブコントローラ９に加わる力（重力を含む）を検出する。加速度センサ８３は、当該加速度センサ８３の検出部に加わっている加速度のうち、所定の３軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。検出された加速度を表すデータ（サブ加速度データと呼ぶ）は、コネクタ８４を介してメインコントローラ８へ出力される。
【００８９】
以上のように、サブコントローラ９は、上記サブスティックデータ、サブ操作ボタンデータ、およびサブ加速度データを含むサブコントローラデータをメインコントローラ８へ出力する。
【００９０】
メインコントローラ８の通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータをゲーム装置３へ無線送信する無線モジュール４４を制御する。
【００９１】
サブコントローラ９からのサブコントローラデータは、マイコン４２に入力され、一時的にメモリ４３に格納される。また、操作部３２、撮像情報演算部３５、加速度センサ３７、およびジャイロセンサ４８からマイコン４２へ出力されたデータ（メインコントローラデータと呼ぶ）は、一時的にメモリ４３に格納される。これらのメインコントローラおよびサブコントローラデータは、操作データ（コントローラ操作データ）としてゲーム装置３へ送信される。すなわち、マイコン４２は、ゲーム装置３のコントローラ通信モジュール１９への送信タイミングが到来すると、メモリ４３に格納されている操作データを無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側のコントローラ通信モジュール１９で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、コントローラ５から取得した操作データを用いてゲーム処理を行う。なお、通信部３６からコントローラ通信モジュール１９への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ５の通信部３６は、例えば１／２００秒に１回の割合で操作データをゲーム装置３のコントローラ通信モジュール１９へ出力する。
【００９２】
以上のように、メインコントローラ８は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。サブコントローラ９は、自機に対する操作を表す操作データとして、加速度データ、スティックデータ、および操作ボタンデータを送信可能である。また、ゲーム装置３は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ５を用いることによって、ユーザは、各操作ボタンを押下するという従来の一般的なゲーム操作に加えて、コントローラ５自体を動かすゲーム操作を行うことができる。例えば、メインコントローラ８および／またはサブコントローラ９を任意の姿勢に傾ける操作、メインコントローラ８によって画面上の任意の位置を指示する操作、および、メインコントローラ８および／またはサブコントローラ９自体を動かす操作等を行うことが可能となる。
【００９３】
また、本実施形態において、コントローラ５は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。
【００９４】
［４．端末装置７の構成］
次に、図９〜図１１を参照して、端末装置７の構成について説明する。図９は、端末装置７の外観構成を示す図である。図９における（ａ）図は端末装置７の正面図であり、（ｂ）図は上面図であり、（ｃ）図は右側面図であり、（ｄ）図は下面図である。また、図１０は、ユーザが端末装置７を把持した様子を示す図である。
【００９５】
図９に示されるように、端末装置７は、大略的には横長の長方形の板状形状であるハウジング５０を備える。ハウジング５０は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置７を持って動かしたり、端末装置７の配置位置を変更したりすることができる。
【００９６】
端末装置７は、ハウジング５０の表面にＬＣＤ５１を有する。ＬＣＤ５１は、ハウジング５０の表面の中央付近に設けられる。したがって、ユーザは、図１０に示すようにＬＣＤ５１の両側部分のハウジング５０を持つことによって、ＬＣＤ５１の画面を見ながら端末装置を持って動かすことができる。なお、図１０ではユーザがＬＣＤ５１の左右両側の部分のハウジング５０を持つことで端末装置７を横持ちで（横に長い向きにして）持つ例を示しているが、端末装置７を縦持ちで（縦に長い向きにして）持つことも可能である。
【００９７】
図９の（ａ）図に示すように、端末装置７は、操作手段として、ＬＣＤ５１の画面上にタッチパネル５２を有する。本実施形態では、タッチパネル５２は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル５２はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル５２として、ＬＣＤ５１の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル５２の解像度とＬＣＤ５１の解像度が一致している必要はない。タッチパネル５２に対する入力は通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル５２に対する入力をすることも可能である。なお、ハウジング５０には、タッチパネル５２に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、端末装置７はタッチパネル５２を備えるので、ユーザは、端末装置７を動かしながらタッチパネル５２を操作することができる。つまりユーザは、ＬＣＤ５１の画面を動かしつつ、その画面に対して直接（タッチパネル５２によって）入力を行うことができる。
【００９８】
図９に示すように、端末装置７は、操作手段として、２つのアナログスティック５３Ａおよび５３Ｂと、複数のボタン５４Ａ〜５４Ｌとを備えている。各アナログスティック５３Ａおよび５３Ｂは、方向を指示するデバイスである。各アナログスティック５３Ａおよび５３Ｂは、ユーザの指で操作されるスティック部がハウジング５０の表面に対して任意の方向（上下左右および斜め方向の任意の角度）にスライド（または傾倒）することができるように構成されている。また、左アナログスティック５３ＡはＬＣＤ５１の画面の左側に、右アナログスティック５３ＢはＬＣＤ５１の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、図１０に示すように、各アナログスティック５３Ａおよび５３Ｂは、ユーザが端末装置７の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置７を持って動かす場合においても各アナログスティック５３Ａおよび５３Ｂを容易に操作することができる。
【００９９】
各ボタン５４Ａ〜５４Ｌは、所定の入力を行うための操作手段である。以下に示すように、各ボタン５４Ａ〜５４Ｌは、ユーザが端末装置７の左右部分を把持した状態で操作可能な位置に設けられる（図１０参照）。したがって、ユーザは、端末装置７を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【０１００】
図９の（ａ）図に示すように、ハウジング５０の表面には、各操作ボタン５４Ａ〜５４Ｌのうち、十字ボタン（方向入力ボタン）５４Ａと、ボタン５４Ｂ〜５４Ｈとが設けられる。つまり、これらのボタン５４Ａ〜５４Ｈは、ユーザの親指で操作可能な位置に配置されている（図１０参照）。
【０１０１】
十字ボタン５４Ａは、ＬＣＤ５１の左側であって、左アナログスティック５３Ａの下側に設けられる。つまり、十字ボタン５４Ａはユーザの左手で操作可能な位置に配置されている。十字ボタン５４Ａは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、ボタン５４Ｂ〜５４Ｄは、ＬＣＤ５１の下側に設けられる。これら３つのボタン５４Ｂ〜５４Ｄは、左右両方の手で操作可能な位置に配置されている。また、４つのボタン５４Ｅ〜５４Ｈは、ＬＣＤ５１の右側であって、右アナログスティック５３Ｂの下側に設けられる。つまり、４つのボタン５４Ｅ〜５４Ｈはユーザの右手で操作可能な位置に配置されている。さらに、４つのボタン５４Ｅ〜５４Ｈは、（４つのボタン５４Ｅ〜５４Ｈの中心位置に対して）上下左右の位置関係となるように配置されている。したがって、端末装置７は、ユーザに上下左右の方向を指示させるためのボタンとして４つのボタン５４Ｅ〜５４Ｈを機能させることも可能である。
【０１０２】
また、図９の（ａ）図、（ｂ）図、および（ｃ）図に示すように、第１Ｌボタン５４Ｉおよび第１Ｒボタン５４Ｊは、ハウジング５０の斜め上部分（左上部分および右上部分）に設けられる。具体的には、第１Ｌボタン５４Ｉは、板状のハウジング５０における上側の側面の左端に設けられ、上側および左側の側面から露出している。また、第１Ｒボタン５４Ｊは、ハウジング５０における上側の側面の右端に設けられ、上側および右側の側面から露出している。このように、第１Ｌボタン５４Ｉは、ユーザの左手人差し指で操作可能な位置に配置され、第１Ｒボタン５４Ｊは、ユーザの右手人差し指で操作可能な位置に配置される（図１０参照）。
【０１０３】
また、図９の（ｂ）図および（ｃ）図に示すように、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌは、板状のハウジング５０の裏面（すなわちＬＣＤ５１が設けられる表面の反対側の面）に突起して設けられる足部５９Ａおよび５９Ｂに配置される。具体的には、第２Ｌボタン５４Ｋは、ハウジング５０の裏面の左側（表面側から見たときの左側）のやや上方に設けられ、第２Ｒボタン５４Ｌは、ハウジング５０の裏面の右側（表面側から見たときの右側）のやや上方に設けられる。換言すれば、第２Ｌボタン５４Ｋは、表面に設けられる左アナログスティック５３Ａの概ね反対側の位置に設けられ、第２Ｒボタン５４Ｌは、表面に設けられる右アナログスティック５３Ｂの概ね反対側の位置に設けられる。このように、第２Ｌボタン５４Ｋは、ユーザの左手中指で操作可能な位置に配置され、第２Ｒボタン５４Ｌは、ユーザの右手中指で操作可能な位置に配置される（図１０参照）。また、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌは、図９の（ｃ）図に示すように、上記足部５９Ａおよび５９Ｂの斜め上方を向く面に設けられ、斜め上方を向くボタン面を有する。ユーザが端末装置７を把持した場合には中指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌを押下しやすくなる。また、ハウジング５０の裏面に足部が設けられることにより、ユーザはハウジング５０を把持しやすくなり、かつ、足部にボタンが設けられることで、ハウジング５０を把持したまま操作しやすくなる。
【０１０４】
なお、図９に示す端末装置７に関しては、第２Ｌボタン５４Ｋおよび第２Ｒボタン５４Ｌが裏面に設けられるので、ＬＣＤ５１の画面（ハウジング５０の表面）が上を向いた状態で端末装置７を載置させる場合、画面が完全に水平にはならない場合がある。そのため、他の実施形態においては、ハウジング５０の裏面に３つ以上の足部が形成されてもよい。これによれば、ＬＣＤ５１の画面が上を向いた状態では足部が床面に接することで床面に載置できるので、画面が水平になるように端末装置７を載置することができる。また、着脱可能な足部を追加することで端末装置７を水平に載置するようにしてもよい。
【０１０５】
各ボタン５４Ａ〜５４Ｌには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン５４Ａおよびボタン５４Ｅ〜５４Ｈは方向指示操作や選択操作等に用いられてもよいし、各ボタン５４Ｂ〜５４Ｅは決定操作やキャンセル操作等に用いられてもよい。
【０１０６】
なお、図示しないが、端末装置７は、端末装置７の電源をオン／オフするための電源ボタンを有している。また、端末装置７は、ＬＣＤ５１の画面表示をオン／オフするためのボタンや、ゲーム装置３との接続設定（ペアリング）を行うためのボタンや、スピーカ（図１１に示すスピーカ６７）の音量を調節するためのボタンを有していてもよい。
【０１０７】
図９の（ａ）図に示すように、端末装置７は、マーカ５５Ａおよびマーカ５５Ｂからなるマーカ部（図１１に示すマーカ部５５）をハウジング５０の表面に備えている。マーカ部５５は、ＬＣＤ５１の上側に設けられる。各マーカ５５Ａおよびマーカ５５Ｂは、マーカ装置６の各マーカ６Ｒおよび６Ｌと同様、１以上の赤外ＬＥＤで構成される。マーカ部５５は、上述のマーカ装置６と同様、コントローラ５（メインコントローラ８）の動き等をゲーム装置３が算出するために用いられる。また、ゲーム装置３はマーカ部５５が備える各赤外ＬＥＤの点灯を制御することが可能である。
【０１０８】
端末装置７は、撮像手段であるカメラ５６を備えている。カメラ５６は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。図９に示すように、本実施形態では、カメラ５６はハウジング５０の表面に設けられる。したがって、カメラ５６は、端末装置７を持っているユーザの顔を撮像することができ、例えばＬＣＤ５１を見ながらゲームを行っている時のユーザを撮像することができる。
【０１０９】
なお、端末装置７は、音声入力手段であるマイク（図１１に示すマイク６９）を備えている。ハウジング５０の表面には、マイクロフォン用孔６０が設けられる。マイク６９はこのマイクロフォン用孔６０の奥のハウジング５０内部に設けられる。マイクは、ユーザの音声等、端末装置７の周囲の音を検出する。
【０１１０】
端末装置７は、音声出力手段であるスピーカ（図１１に示すスピーカ６７）を備えている。図９の（ｄ）図に示すように、ハウジング５０の下側側面にはスピーカ孔５７が設けられる。スピーカ６７の出力音はこのスピーカ孔５７から出力される。本実施形態では、端末装置７は２つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔５７が設けられる。
【０１１１】
また、端末装置７は、他の装置を端末装置７に接続するための拡張コネクタ５８を備えている。本実施形態においては、図９の（ｄ）図に示すように、拡張コネクタ５８は、ハウジング５０の下側側面に設けられる。なお、拡張コネクタ５８に接続される他の装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ（銃型のコントローラ等）やキーボード等の入力装置であってもよい。他の装置を接続する必要がなければ、拡張コネクタ５８は設けられていなくともよい。
【０１１２】
なお、図９に示した端末装置７に関して、各操作ボタンやハウジング５０の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【０１１３】
次に、図１１を参照して、端末装置７の内部構成について説明する。図１１は、端末装置７の内部構成を示すブロック図である。図１１に示すように、端末装置７は、図９に示した構成の他、タッチパネルコントローラ６１、磁気センサ６２、加速度センサ６３、ジャイロセンサ６４、ユーザインタフェースコントローラ（ＵＩコントローラ）６５、コーデックＬＳＩ６６、スピーカ６７、サウンドＩＣ６８、マイク６９、無線モジュール７０、アンテナ７１、赤外線通信モジュール７２、フラッシュメモリ７３、電源ＩＣ７４、および電池７５を備える。これらの電子部品は、電子回路基板上に実装されてハウジング５０内に収納される。
【０１１４】
ＵＩコントローラ６５は、各種の入出力部に対するデータの入出力を制御するための回路である。ＵＩコントローラ６５は、タッチパネルコントローラ６１、アナログスティック５３（アナログスティック５３Ａおよび５３Ｂ）、操作ボタン５４（各操作ボタン５４Ａ〜５４Ｌ）、マーカ部５５、磁気センサ６２、加速度センサ６３、およびジャイロセンサ６４に接続される。また、ＵＩコントローラ６５は、コーデックＬＳＩ６６と拡張コネクタ５８に接続される。また、ＵＩコントローラ６５には電源ＩＣ７４が接続され、ＵＩコントローラ６５を介して各部に電力が供給される。電源ＩＣ７４には内蔵の電池７５が接続され、電力が供給される。また、電源ＩＣ７４には、コネクタ等を介して外部電源から電力を取得可能な充電器７６またはケーブルを接続することが可能であり、端末装置７は、当該充電器７６またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置７は、図示しない充電機能を有するクレイドルに端末装置７を装着することで充電を行うようにしてもよい。
【０１１５】
タッチパネルコントローラ６１は、タッチパネル５２に接続され、タッチパネル５２の制御を行う回路である。タッチパネルコントローラ６１は、タッチパネル５２からの信号に基づいて所定の形式のタッチ位置データを生成してＵＩコントローラ６５へ出力する。タッチ位置データは、タッチパネル５２の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ６１は、タッチパネル５２からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。また、ＵＩコントローラ６５からタッチパネルコントローラ６１へは、タッチパネル５２に対する各種の制御指示が出力される。
【０１１６】
アナログスティック５３は、ユーザの指で操作されるスティック部がスライドした（または傾倒した）方向および量を表すスティックデータをＵＩコントローラ６５へ出力する。また、操作ボタン５４は、各操作ボタン５４Ａ〜５４Ｌに対する入力状況（押下されたか否か）を表す操作ボタンデータをＵＩコントローラ６５へ出力する。
【０１１７】
磁気センサ６２は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、ＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５から磁気センサ６２へは、磁気センサ６２に対する制御指示が出力される。磁気センサ６２に関しては、ＭＩ（磁気インピーダンス）素子、フラックスゲートセンサ、ホール素子、ＧＭＲ（巨大磁気抵抗）素子、ＴＭＲ（トンネル磁気抵抗）素子、あるいはＡＭＲ（異方性磁気抵抗）素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置７が動いた場合には方位データが変化するため、端末装置７の姿勢の変化を算出することができる。
【０１１８】
加速度センサ６３は、ハウジング５０の内部に設けられ、３軸（図９の（ａ）図に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ６３は、ハウジング５０の長辺方向をｘ軸、ハウジング５０の短辺方向をｙ軸、ハウジング５０の表面に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５から加速度センサ６３へは、加速度センサ６３に対する制御指示が出力される。加速度センサ６３は、本実施形態では例えば静電容量式のＭＥＭＳ型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ６３は１軸または２軸方向を検出する加速度センサであってもよい。
【０１１９】
ジャイロセンサ６４は、ハウジング５０の内部に設けられ、上記ｘ軸、ｙ軸およびｚ軸の３軸周りの角速度を検出する。検出された角速度を表す角速度データは、ＵＩコントローラ６５へ出力される。また、ＵＩコントローラ６５からジャイロセンサ６４へは、ジャイロセンサ６４に対する制御指示が出力される。なお、３軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ６４はジャイロセンサ４８と同様、２軸ジャイロセンサと１軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ６４は１軸または２軸方向を検出するジャイロセンサであってもよい。
【０１２０】
ＵＩコントローラ６５は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックＬＳＩ６６に出力する。なお、拡張コネクタ５８を介して端末装置７に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
【０１２１】
コーデックＬＳＩ６６は、ゲーム装置３へ送信するデータに対する圧縮処理、および、ゲーム装置３から送信されたデータに対する伸張処理を行う回路である。コーデックＬＳＩ６６には、ＬＣＤ５１、カメラ５６、サウンドＩＣ６８、無線モジュール７０、フラッシュメモリ７３、および赤外線通信モジュール７２が接続される。また、コーデックＬＳＩ６６はＣＰＵ７７と内部メモリ７８を含む。端末装置７はゲーム処理自体を行なわない構成であるが、端末装置７の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ７３に格納されたプログラムを内部メモリ７８に読み出してＣＰＵ７７が実行することで、端末装置７が起動する。また、内部メモリ７８の一部の領域はＬＣＤ５１のためのＶＲＡＭとして使用される。
【０１２２】
カメラ５６は、ゲーム装置３からの指示に従って画像を撮像し、撮像した画像データをコーデックＬＳＩ６６へ出力する。また、コーデックＬＳＩ６６からカメラ５６へは、画像の撮像指示等、カメラ５６に対する制御指示が出力される。なお、カメラ５６は動画の撮影も可能である。すなわち、カメラ５６は、繰り返し撮像を行って画像データをコーデックＬＳＩ６６へ繰り返し出力することも可能である。
【０１２３】
サウンドＩＣ６８は、スピーカ６７およびマイク６９に接続され、スピーカ６７およびマイク６９への音声データの入出力を制御する回路である。すなわち、コーデックＬＳＩ６６から音声データを受け取った場合、サウンドＩＣ６８は当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ６７へ出力し、スピーカ６７から音を出力させる。また、マイク６９は、端末装置７に伝わる音（ユーザの音声等）を検知して、当該音を示す音声信号をサウンドＩＣ６８へ出力する。サウンドＩＣ６８は、マイク６９からの音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをコーデックＬＳＩ６６へ出力する。
【０１２４】
コーデックＬＳＩ６６は、カメラ５６からの画像データ、マイク６９からの音声データ、および、ＵＩコントローラ６５からの操作データを、端末操作データとして無線モジュール７０を介してゲーム装置３へ送信する。本実施形態では、コーデックＬＳＩ６６は、画像データおよび音声データに対して、コーデックＬＳＩ２７と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール７０に出力される。無線モジュール７０にはアンテナ７１が接続されており、無線モジュール７０はアンテナ７１を介してゲーム装置３へ上記送信データを送信する。無線モジュール７０は、ゲーム装置３の端末通信モジュール２８と同様の機能を有している。すなわち、無線モジュール７０は、例えばＩＥＥＥ８０２．１１ｎの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【０１２５】
以上のように、端末装置７からゲーム装置３へ送信される送信データには、操作データ（端末操作データ）、画像データ、および音声データが含まれる。なお、拡張コネクタ５８を介して端末装置７に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール７２は、他の装置との間で例えばＩＲＤＡの規格に従った赤外線通信を行う。コーデックＬＳＩ６６は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置３へ送信してもよい。
【０１２６】
また、上述のように、ゲーム装置３から端末装置７へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ７１および無線モジュール７０を介してコーデックＬＳＩ６６に受信される。コーデックＬＳＩ６６は、受信した画像データおよび音声データを伸張する。伸張された画像データはＬＣＤ５１へ出力され、画像がＬＣＤ５１に表示される。また、伸張された音声データはサウンドＩＣ６８へ出力され、サウンドＩＣ６８はスピーカ６７から音を出力させる。
【０１２７】
また、ゲーム装置３から受信されるデータに制御データが含まれる場合、コーデックＬＳＩ６６およびＵＩコントローラ６５は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置７が備える各構成要素（本実施形態では、カメラ５６、タッチパネルコントローラ６１、マーカ部５５、各センサ６２〜６４、および赤外線通信モジュール７２）に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止（停止）させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置７からゲーム装置３へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部５５は赤外ＬＥＤであるので、制御は単に電力の供給のＯＮ／ＯＦＦでよい。
【０１２８】
以上のように、端末装置７は、タッチパネル５２、アナログスティック５３、および操作ボタン５４といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【０１２９】
また、端末装置７は、端末装置７の動き（位置や姿勢、あるいは、位置や姿勢の変化を含む）を算出するためのセンサとして、磁気センサ６２、加速度センサ６３、およびジャイロセンサ６４を備えるが、他の実施形態においては、これらのセンサのうち１つまたは２つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【０１３０】
また、端末装置７は、カメラ５６およびマイク６９を備える構成であるが、他の実施形態においては、カメラ５６およびマイク６９を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【０１３１】
また、端末装置７は、端末装置７とメインコントローラ８との位置関係（メインコントローラ８から見た端末装置７の位置および／または姿勢等）を算出するための構成としてマーカ部５５を備える構成であるが、他の実施形態ではマーカ部５５を備えていない構成としてもよい。また、他の実施形態では、端末装置７は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、メインコントローラ８がマーカ部を備え、端末装置７が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置６は赤外ＬＥＤに代えて、撮像素子を備える構成としてもよい。
【０１３２】
［５．ゲーム処理の概要］
次に、本実施形態のゲームシステム１において実行されるゲーム処理の概要について説明する。本ゲーム処理によって実行されるゲームは、複数のコントローラ５を操作装置として用いて、複数人のプレイヤが対戦する形式のゲームである。また、本実施形態では端末装置７は表示装置として用いられ、テレビ２および端末装置７にゲーム画像が表示される。本実施形態においては、ゲームシステム１が２つのコントローラ５を含み、２つのコントローラ５が用いられる場合について説明する。つまり、本実施形態においては、２つのコントローラ５を１つずつ操作する２人のプレイヤによってゲームが行われる。なお、他の実施形態においては、コントローラ５の数は３つ以上であってもよい。
【０１３３】
図１２は、端末装置７に表示される端末用ゲーム画像の一例を示す図である。図１２に示すように、端末用ゲーム画像としては、第１オブジェクト９１の後方から第２オブジェクト９３の方を見たときのゲーム空間を表す画像が端末装置７に表示される。第１オブジェクト９１は、２人のプレイヤのうちの一方のプレイヤの操作対象となるオブジェクトである。また、第２オブジェクト９３は、２人のプレイヤのうちの他方のプレイヤの操作対象となるオブジェクトである。以下では、第１オブジェクト９１を操作するプレイヤを「第１プレイヤ」と呼び、第２オブジェクト９３を操作するプレイヤを「第２プレイヤ」と呼ぶ。なお、本実施形態においては、第１プレイヤがゲーム空間の状況を把握しやすいように、端末装置７においては、第１オブジェクト９１が半透明で（図１２では点線で表す）表示される。
【０１３４】
上記のように、端末装置７には、第１プレイヤのためのゲーム画像が表示される。すなわち、本実施形態においては、第１オブジェクト９１を含むゲーム空間を表す画像が端末用ゲーム画像として表示される。なお、他の実施形態においては、端末用ゲーム画像は、第１オブジェクト９１から見たゲーム空間を表す画像であってもよいし、視点の位置および／または視線方向が第１プレイヤの操作に応じて変化する画像であってもよい。また、詳細は後述するが、端末用ゲーム画像は、ゲーム空間に設定される第１仮想カメラを用いて生成される。
【０１３５】
本ゲームにおいては、第１オブジェクト９１は、第１プレイヤが操作するコントローラ５（第１コントローラと呼ぶ）に対する所定の移動操作に応じてゲーム空間を移動する。また、第１オブジェクト９１は、ボウガン９２を持っており、第１コントローラに対する所定の射撃操作に応じて射撃動作を行う。詳細は後述するが、ボウガン９２の向きは、第１コントローラに含まれるメインコントローラ８（第１メインコントローラ）の姿勢に応じて変化するように制御される。つまり、第１プレイヤは、第１メインコントローラの姿勢を変化させる操作によって第１オブジェクト９１の射撃方向を変化させることができる。
【０１３６】
図１３は、テレビ２に表示されるテレビ用ゲーム画像の一例を示す図である。図１３に示すように、テレビ用ゲーム画像としては、第２オブジェクト９３の後方から第１オブジェクト９１の方を見たときのゲーム空間を表す画像がテレビ２に表示される。なお、本実施形態においては、第２プレイヤがゲーム空間の状況を把握しやすいように、テレビ２においては、第２オブジェクト９３が半透明で（図１３では点線で表す）表示される。
【０１３７】
上記のように、テレビ２には、第２プレイヤのためのゲーム画像が表示される。すなわち、本実施形態においては、第２オブジェクト９３を含むゲーム空間を表す画像がテレビ用ゲーム画像として表示される。なお、他の実施形態においては、テレビ用ゲーム画像は、第２オブジェクト９３から見たゲーム空間を表す画像であってもよいし、視点の位置および／または視線方向が第２プレイヤの操作に応じて変化する画像であってもよい。また、詳細は後述するが、端末用ゲーム画像は、ゲーム空間に設定される第２仮想カメラを用いて生成される。
【０１３８】
本ゲームにおいては、第２オブジェクト９３は、第１オブジェクト９１と同様の操作方法によって動作が制御される。すなわち、第２オブジェクト９３は、第２プレイヤが操作するコントローラ５（第２コントローラと呼ぶ）に対する所定の移動操作に応じてゲーム空間を移動する。また、第２オブジェクト９３は、ボウガン９４を持っており、第２コントローラに対する所定の射撃操作に応じて射撃動作を行う。また、第２プレイヤは、第２コントローラに含まれるメインコントローラ８（第２メインコントローラ）の姿勢を変化させる操作によってボウガン９４の向き（射撃方向）を変化させることができる。
【０１３９】
本実施形態においてゲームシステム１を用いて行われるゲームは、２人のプレイヤがそれぞれオブジェクトを操作し、相手のオブジェクトを打ち合う射撃ゲームである。つまり、各プレイヤは、操作対象のオブジェクトをゲーム空間内において移動させつつ、当該オブジェクトに射撃動作を行わせ、相手のオブジェクトを撃って遊ぶ。
【０１４０】
以上のように、本実施形態においては、第１プレイヤのためのゲーム画像が端末装置７に表示され、第２プレイヤのためのゲーム画像がテレビ２に表示される。したがって、各プレイヤのためのゲーム画像を２つの表示装置にそれぞれ表示するので、表示装置の表示領域を分割することなく、各プレイヤにとって見やすいゲーム画像を提供することができる。すなわち、１つの表示装置の表示領域を分割して複数のゲーム画像を表示する場合には、プレイヤは、他のプレイヤのゲーム画像を自己のゲーム画像と見間違えたり、窮屈に感じたりするという問題があるが、本実施形態によれば、このような問題を防止することができる。
【０１４１】
また、本実施形態において行われるゲームは、２人のプレイヤが対戦する形式のゲームであるので、自分のためのゲーム画像が相手のプレイヤに見えてしまうと、ゲームの戦略性が低くなり、ゲームの興趣性が低下してしまう。具体的には、本実施形態においては、プレイヤは、自分のプレイヤオブジェクトを木等の後に移動することで相手から見えないように隠れさせることができるが、自分のためのゲーム画像を相手のプレイヤに見られてしまうと、自分のプレイヤオブジェクトの位置が相手のプレイヤにわかってしまう。これに関して、本実施形態によれば、端末装置７は可搬型の表示装置であるので、端末装置７を自由な位置に配置することができる。つまり、端末装置７を適切な位置に配置することによって、相手のプレイヤのためのゲーム画像が互いに見えないようにすることができる。これによって、ゲームの戦略性を高め、興趣性の高いゲームを提供することができる。
【０１４２】
なお、本実施形態においては、上記のように、可搬型の表示装置である端末装置７を自由な位置に配置することができるので、プレイヤは、種々の配置態様でゲームを行うことができる。図１４〜図１６は、テレビ２と端末装置７との配置例を示す図である。図１４は、テレビ２と端末装置７とを反対に向けて配置した配置例を示す。図１４においては、テレビ２および端末装置７は、互いの正面方向が反対向きになるように配置される。このとき、第１プレイヤ９６は端末装置７の正面に立ち、第２プレイヤ９７はテレビ２の正面に立ってゲームを行う。図１４に示す配置によれば、各プレイヤ９６および９７は、互いに相手のプレイヤのためのゲーム画像を見ることなくゲームを行うので、ゲームの戦略性を高めることができる。また、図１４においては、各プレイヤ９６および９７が対面する向きとなるので、ゲーム空間における各オブジェクト９１および９３の位置関係と、現実の空間における各プレイヤ９６および９７の位置関係とが対応する。これによって、ゲームの臨場感をより高めることができる。
【０１４３】
また、詳細は後述するが、本実施形態においては、各コントローラ５ａおよび５ｂは、マーカ（マーカ装置６のマーカ６Ｒおよび６Ｌ、または、端末装置７が備えるマーカ部５５のマーカ５５Ａおよびマーカ５５Ｂ）を撮像した結果であるマーカ座標データを入力として用いてゲーム処理を実行する。つまり、第１プレイヤ９６が操作する第１コントローラ５ａは、第１プレイヤ９６のためのゲーム画像が表示される端末装置７のマーカ部５５に対応し、マーカ部５５の撮像結果であるマーカ座標データに基づいてゲーム処理が実行される。また、第２プレイヤ９７が操作する第２コントローラ５ｂは、第２プレイヤ９７のためのゲーム画像が表示されるテレビ２に配置されるマーカ装置６に対応し、マーカ装置６の撮像結果であるマーカ座標データに基づいてゲーム処理が実行される。そのため、各プレイヤ９６および９７は、表示装置の方へコントローラを向けてゲーム操作を行う必要がある。一方、１つのコントローラがマーカ装置６とマーカ部５５との両方のマーカを撮像してしまったり、対応しないマーカを撮像してしまったりすると、マーカが誤検出されるためにゲーム処理が正しく実行されず、ゲーム操作を正しく行うことができなくなる。したがって、マーカの撮像結果をゲーム処理に用いる場合には、１つのコントローラの撮像範囲にマーカ装置６とマーカ部５５との両方のマーカが含まれたり、対応しないマーカをコントローラが撮像したりしないように、端末装置７を配置することが好ましい。
【０１４４】
例えば図１４に示すように、テレビ２と端末装置７とを反対に向けて配置する場合には、１つのコントローラの撮像範囲に両方のマーカが含まれず、対応しないマーカをコントローラが撮像するおそれもないので、好ましい。また、図１５は、テレビ２の画面と端末装置７の画面とが略直角となるように配置した配置例を示す図である。図１５に示すように、テレビ２の画面（マーカ装置６）と端末装置７の画面とのなす角を９０°程度とすれば、１つのコントローラの撮像範囲に両方のマーカが含まれず、対応しないマーカをコントローラが撮像することもない。したがって、他の実施形態においては、プレイヤは、図１５に示すように端末装置７を配置してもよい。このように、テレビ２の画面（マーカ装置６）と端末装置７の画面とのなす角を９０°程度か、それよりも大きい角度とすれば、マーカが誤検出されることを防止することができる。
【０１４５】
図１６は、テレビ２と端末装置７とを横に並べた配置例を示す図である。図１６に示すように、テレビ２の画面（マーカ装置６）と端末装置７の画面とを略水平に配置する場合には、１つのコントローラの撮像範囲に両方のマーカが含まれるおそれがあり、また、対応しないマーカをコントローラが撮像するおそれもある。したがって、端末装置７がこのように配置される場合には、マーカ装置６とマーカ部５５とを時分割で発光させるようにしてもよい。また、図１６に示すようにテレビ２と端末装置７とを横に並べて配置する場合には、いずれか一方のマーカのみを発光させるようにしてもよい。
【０１４６】
［６．ゲーム処理の詳細］
次に、本ゲームシステムにおいて実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図１７は、ゲーム処理において用いられる各種データを示す図である。図１７において、ゲーム装置３のメインメモリ（外部メインメモリ１２または内部メインメモリ１１ｅ）に記憶される主なデータを示す図である。図１７に示すように、ゲーム装置３のメインメモリには、ゲームプログラム１００、コントローラ操作データ１０１、および処理用データ１１０が記憶される。なお、メインメモリには、図１７に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。
【０１４７】
ゲームプログラム１００は、ゲーム装置３に電源が投入された後の適宜のタイミングで光ディスク４からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム１００は、光ディスク４に代えて、フラッシュメモリ１７やゲーム装置３の外部装置から（例えばインターネットを介して）取得されてもよい。また、ゲームプログラム１００に含まれる一部（例えば、コントローラ５および／または端末装置７の姿勢を算出するためのプログラム）については、ゲーム装置３内に予め記憶されていてもよい。
【０１４８】
コントローラ操作データ１０１は、コントローラ５に対するユーザ（プレイヤ）の操作を表すデータであり、コントローラ５に対する操作に基づいてコントローラ５から出力（送信）される。コントローラ操作データ１０１は、コントローラ５から送信されてゲーム装置３において取得され、メインメモリに記憶される。コントローラ操作データ１０１は、メイン操作ボタンデータ１０２、メイン加速度データ１０３、角速度データ１０４、マーカ座標データ１０５、サブスティックデータ１０６、サブ操作ボタンデータ１０７、および、サブ加速度データ１０８を含む。なお、ゲーム装置３は、４つのコントローラと通信可能であり、１〜４つのコントローラ５から操作データを取得することが可能であるが、本実施形態においては、２つのコントローラから操作データを取得するものとする。つまり、本実施形態においては、２つのコントローラ５からそれぞれ送信されてくる２つのコントローラ操作データ１０１がメインメモリにそれぞれ記憶される。メインメモリには、２つのコントローラ５毎に最新の（最後に取得された）ものから順に所定個数のコントローラ操作データが記憶されてもよい。
【０１４９】
メイン操作ボタンデータ１０２は、メインコントローラ８に設けられる各操作ボタン３２ａ〜３２ｉに対する入力状態を表すデータである。具体的には、メイン操作ボタンデータ１０２は、各操作ボタン３２ａ〜３２ｉが押下されているか否かを表す。
【０１５０】
メイン加速度データ１０３は、メインコントローラ８の加速度センサ３７によって検出された加速度（加速度ベクトル）を表すデータである。ここでは、メイン加速度データ１０３は、図３に示すＸＹＺの３軸の方向に関する加速度を各成分とする３次元の加速度を表すものであるが、他の実施形態においては、任意の１以上の方向に関する加速度を表すものであってもよい。
【０１５１】
角速度データ１０４は、メインコントローラ８におけるジャイロセンサ４８によって検出された角速度を表すデータである。ここでは、角速度データ１０４は、図３に示すＸＹＺの３軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の１軸以上の軸回り角速度を表すものであればよい。
【０１５２】
マーカ座標データ１０５、撮像情報演算部３５の画像処理回路４１によって算出される座標、すなわち上記マーカ座標を表すデータである。マーカ座標は、撮像画像に対応する平面上の位置を表すための２次元座標系で表現され、マーカ座標データ１０５は、当該２次元座標系における座標値を表す。
【０１５３】
サブスティックデータ１０６は、サブコントローラ９のアナログジョイスティック８１に対する操作を表すデータである。具体的には、サブスティックデータ１０６は、アナログジョイスティック８１に対する傾倒方向および傾倒量を表す。
【０１５４】
サブ操作ボタンデータ１０７は、上記サブコントローラ９に設けられる各操作ボタンに対する入力状態を表すデータである。具体的には、サブ操作ボタンデータ１０７は、各操作ボタンが押下されているか否かを表す。
【０１５５】
サブ加速度データ１０８は、サブコントローラ９の加速度センサ８３によって検出された加速度（加速度ベクトル）を表すデータである。ここでは、サブ加速度データ１０８は、図７に示すｘ’ｙ’ｚ’の３軸の方向に関する加速度を各成分とする３次元の加速度を表すものであるが、他の実施形態においては、任意の１以上の方向に関する加速度を表すものであってもよい。
【０１５６】
なお、コントローラ操作データ１０１は、コントローラ５に対するプレイヤの操作を表すものであればよく、上記各データ１０２〜１０８の一部のみを含むものであってもよい。また、コントローラ５が他の入力手段（例えば、タッチパネルやアナログスティック等）を有する場合には、コントローラ操作データ１０１は、当該他の入力手段に対する操作を表すデータを含んでいてもよい。なお、本実施形態のようにコントローラ５自体の姿勢をゲーム操作として用いる場合には、コントローラ操作データ１０１は、メイン加速度データ１０３、角速度データ１０４、マーカ座標データ１０５、またはサブ加速度データ１０８のように、コントローラ５自体の姿勢に応じて値が変化するデータを含むようにする。
【０１５７】
また、本実施形態では端末装置７が操作装置として用いられないので図示しないが、メインメモリには、端末装置７に対するプレイヤの操作を表す端末操作データが端末装置７から取得されて記憶されてもよい。
【０１５８】
処理用データ１１０は、後述するゲーム処理（図１８）において用いられるデータである。処理用データ１１０は、第１姿勢データ１１１、第２姿勢データ１１２、第１オブジェクトデータ１１３、第２オブジェクトデータ１１４、第１発射方向データ１１５、第２発射方向データ１１６、第１カメラデータ１１７、および、第２カメラデータ１１８を含む。なお、図１７に示すデータの他、処理用データ１１０は、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。
【０１５９】
各姿勢データ１１１および１１２は、コントローラ５（より具体的にはメインコントローラ８）の姿勢を表すデータである。すなわち、第１姿勢データ１１１は第１コントローラ５ａの姿勢を表し、第２姿勢データ１１２は第２コントローラ５ｂの姿勢を表す。コントローラ５の姿勢は、例えば、所定の基準姿勢から現在のコントローラ５の姿勢への回転を表す回転行列によって表現されてもよいし、３次のベクトルまたは３つの角度によって表現されてもよい。また、本実施形態においては、コントローラ５の姿勢として３次元空間における姿勢が用いられるが、他の実施形態においては、２次元平面における姿勢が用いられてもよい。各姿勢データ１０１および１０２は、対応するコントローラ５からのコントローラ操作データ１０１に含まれるメイン加速度データ１０３、角速度データ１０４、およびマーカ座標データ１０５に基づいて算出される。コントローラ５の姿勢の算出方法についてはステップＳ１２で後述する。
【０１６０】
各オブジェクトデータは、各オブジェクト９１および９３に設定される各種情報（ここでは、ゲーム空間における位置および向き）を表す。すなわち、第１オブジェクトデータ１１３は、第１オブジェクト９１の位置および向きを表し、第２オブジェクトデータ１１４は、第２オブジェクト９３の位置および向きを表す。本実施形態においては、各オブジェクト９１および９３の位置は、対応するコントローラ５からのサブスティックデータ１０６に基づいて算出される。
【０１６１】
各発射方向データ１１５および１１６は、各オブジェクト９１および９３が持つボウガン９２および９４の発射方向（姿勢）を表す。すなわち、第１発射方向データ１１５は、第１オブジェクト９１が持つボウガン９２の発射方向を表し、第２発射方向データ１１６は、第２オブジェクト９３が持つボウガン９４の発射方向を表す。本実施形態においては、各ボウガン９２および９４の発射方向は、対応するコントローラ５に含まれるメインコントローラ８の姿勢（すなわち、各姿勢データ１０１および１０２）に基づいて算出される。
【０１６２】
各カメラデータ１１７および１１８は、ゲーム空間に設定される各仮想カメラの位置および姿勢を表す。すなわち、第１カメラデータ１１７は上記第１仮想カメラの位置および姿勢を表し、第２カメラデータ１１８は上記第２仮想カメラの位置および姿勢を表す。本実施形態においては、各仮想カメラの位置および姿勢は、各オブジェクト９１および９３の位置に基づいて設定される。
【０１６３】
次に、ゲーム装置３において実行されるゲーム処理の詳細を、図１８〜図２０を用いて説明する。図１８は、ゲーム装置３において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該ゲームプログラムの実行が開始される。図１８に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、ゲーム装置３においては、電源投入後にゲームプログラムがすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後ユーザによってゲームの開始が指示されたことに応じてゲームプログラムが実行される構成であってもよい。
【０１６４】
なお、図１８〜図２０に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、上記フローチャートの各ステップの処理をＣＰＵ１０が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、ＣＰＵ１０以外のプロセッサや専用回路が実行するようにしてもよい。
【０１６５】
まずステップＳ１において、ＣＰＵ１０は初期処理を実行する。初期処理は、仮想のゲーム空間を構築し、ゲーム空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。なお、本実施形態においては、各オブジェクト９１および９３が所定の位置および所定の向きに配置される。すなわち、第１オブジェクト９１の位置および向きを表すデータが第１オブジェクトデータ１１３としてメインメモリに記憶され、第２オブジェクト９３の位置および向きを表すデータが第２オブジェクトデータ１１４としてメインメモリに記憶される。また、各オブジェクト９１および９２の位置に応じた初期位置および初期姿勢で各仮想カメラ（第１および第２仮想カメラ）がそれぞれ設定される。第１仮想カメラの初期位置および初期姿勢を表すデータは、第１カメラデータ１１７としてメインメモリに記憶され、第２仮想カメラの初期位置および初期姿勢を表すデータは、第２カメラデータ１１８としてメインメモリに記憶される。ステップＳ１の次にステップＳ２の処理が実行される。以降、ステップＳ２〜Ｓ８の一連の処理からなる処理ループが所定時間（１フレーム時間。例えば１／６０秒）に１回の割合で繰り返し実行される。
【０１６６】
ステップＳ２において、ＣＰＵ１０は、２つのコントローラ５から送信されてくるコントローラ操作データをそれぞれ取得する。各コントローラ５はコントローラ操作データをゲーム装置３へ繰り返し送信するので、ゲーム装置３においては、コントローラ通信モジュール１９が各コントローラ操作データを逐次受信し、受信された各コントローラ操作データが入出力プロセッサ１１ａによってメインメモリに逐次記憶される。コントローラ５とゲーム装置３との間における送受信の間隔はゲームの処理時間よりも短い方が好ましく、例えば２００分の１秒である。ステップＳ２においては、ＣＰＵ１０は、最新のコントローラ操作データ１０１をメインメモリから読み出す。ステップＳ２の次にステップＳ３の処理が実行される。
【０１６７】
ステップＳ４において、ＣＰＵ１０はゲーム制御処理を実行する。ゲーム制御処理は、各プレイヤによるゲーム操作に従ってゲーム空間内のオブジェクトを動作させる処理等を実行し、ゲームを進行させる処理である。具体的には、本実施形態におけるゲーム制御処理においては、各オブジェクト９１および９３の動作を制御する処理、および、各仮想カメラを制御する処理等が実行される。以下、図１９を参照して、ゲーム制御処理の詳細について説明する。
【０１６８】
図１９は、図１８に示すゲーム制御処理（ステップＳ３）の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップＳ１１において、ＣＰＵ１０は、第１オブジェクト９１の移動を制御する。第１オブジェクト９１の移動は、第１プレイヤが操作する第１コントローラの操作データ（第１操作データ）に基づいて制御される。具体的には、第１オブジェクト９１は、アナログジョイスティック８１に対する方向入力に応じて、第２オブジェクト９３が正面に位置するように移動する。すなわち、アナログジョイスティック８１に対する上下方向の入力に応じて、第１オブジェクト９１は第２オブジェクト９３に対して前進または後退する。また、アナログジョイスティック８１に対する左右方向の入力に応じて、第１オブジェクト９１は第２オブジェクト９３を中心として左回りまたは右回りに回転移動する。これによって、第１オブジェクト９１の正面に第２オブジェクト９３が位置することになるので、ボウガン９２で第２オブジェクト９３を狙う操作が容易になる。なお、他の実施形態においては、第１オブジェクト９１の移動の制御方法はどのような方法であってもよく、第２オブジェクト９３の位置とは無関係に第１オブジェクト９１の移動が制御されてもよい。
【０１６９】
ステップＳ１１の具体的な処理としては、ＣＰＵ１０は、メインメモリから各オブジェクトデータ１１３および１１４を読み出し、ステップＳ２で読み出されたサブスティックデータ１０６と、第１オブジェクト９１の位置および向きと、第２オブジェクト９３の位置とに基づいて、第１オブジェクト９１の新たな位置および向きを算出する。そして、新たな位置および向きを表すデータを第１オブジェクトデータ１１３としてメインメモリに記憶する。以上のステップＳ１１の次にステップＳ１２の処理が実行される。
【０１７０】
ステップＳ１２において、ＣＰＵ１０は姿勢算出処理を実行する。ステップＳ１２における姿勢算出処理は、コントローラの操作データに含まれる、姿勢を算出するための物理量に基づいて第１コントローラ（メインコントローラ８）の姿勢を算出する処理である。なお、本実施形態においては、姿勢を算出するための物理量として、ジャイロセンサ４８が検出する角速度、加速度センサ３７が検出する加速度、および、撮像情報演算部３５が算出するマーカ座標が用いられる。以下、図２０を参照して、姿勢算出処理の詳細について説明する。
【０１７１】
図２０は、図１９に示す姿勢算出処理（ステップＳ１２）の詳細な流れを示すフローチャートである。なお、ステップＳ１２における姿勢算出処理と、後述するステップＳ１６における姿勢算出処理とは、第１コントローラの姿勢を算出するか第２コントローラの姿勢を算出するかで異なるものの、姿勢の算出方法は同じである。したがって、以下の姿勢算出処理の説明では、第１コントローラと第２コントローラとを区別せずに説明を行う。
【０１７２】
まずステップＳ２１において、ＣＰＵ１０は、角速度データ１０４に基づいてコントローラ５の姿勢を算出する。角速度に基づく姿勢を算出する方法はどのような方法であってもよいが、当該姿勢は、前回の姿勢（前回に算出された姿勢）と、今回の角速度（今回の処理ループにおけるステップＳ２で取得された角速度）とを用いて算出される。具体的には、ＣＰＵ１０は、前回の姿勢を今回の角速度で単位時間分だけ回転させることによって姿勢を算出する。なお、前回の姿勢は、メインメモリに記憶されている第１姿勢データ１１１により表され、今回の角速度は、メインメモリに記憶されている角速度データ１０４により表される。したがって、ＣＰＵ１０は、第１姿勢データ１１１および角速度データ１０４をメインメモリから読み出して、コントローラ５の姿勢を算出する。以上のようにして算出された姿勢を表すデータはメインメモリに記憶される。ステップＳ２１の次にステップＳ２２の処理が実行される。
【０１７３】
なお、上記ステップＳ２１において角速度から姿勢を算出する場合、初期姿勢を定めておくのがよい。つまり、コントローラ５の姿勢を角速度から算出する場合には、ＣＰＵ１０は、最初にコントローラ５の初期姿勢を設定しておく。コントローラ５の初期姿勢は、メイン加速度データ１０３に基づいて算出されてもよいし、コントローラ５を特定の姿勢にした状態でプレイヤに所定の操作を行わせることで、所定の操作が行われた時点における特定の姿勢を初期姿勢として設定するようにしてもよい。なお、空間における所定方向を基準とした絶対的な姿勢としてコントローラ５の姿勢を算出する場合には上記初期姿勢を算出することが良いが、例えばゲーム開始時点におけるコントローラ５の姿勢を基準とした相対的な姿勢としてコントローラ５の姿勢を算出する場合には、上記初期姿勢は算出されなくても良い。
【０１７４】
ステップＳ２２において、ＣＰＵ１０は、ステップＳ２１で算出された姿勢を、コントローラ５の加速度に基づいて補正する。ここで、コントローラ５がほぼ静止している状態では、コントローラ５に対して加えられる加速度は重力加速度に相当する。つまり、この状態では、コントローラ５に関するメイン加速度データ１０３が表す加速度ベクトルは、コントローラ５における重力方向を表す。したがって、ＣＰＵ１０は、ステップＳ２１で算出された姿勢の下方向（重力方向）を、加速度ベクトルの表す重力方向へ近づける補正を行う。すなわち、上記下方向が加速度ベクトルの表す重力方向へ所定の割合で近づくように、上記姿勢を回転させる。これによって、角速度に基づく姿勢を、加速度に基づく重力方向を考慮した姿勢となるように補正することができる。なお、上記所定の割合は、予め定められた固定値であってもよいし、検出される加速度等に応じて設定されてもよい。例えば、ＣＰＵ１０は、検出される加速度の大きさが重力加速度の大きさに近い場合には、上記姿勢の下方向を加速度ベクトルの表す重力方向へ近づける割合を大きくし、検出される加速度の大きさが重力加速度の大きさから離れている場合には、当該割合を小さくするようにしてもよい。
【０１７５】
ステップＳ２２の具体的な処理としては、ＣＰＵ１０は、ステップＳ２１で算出された姿勢を表すデータと、メイン加速度データ１０３とをメインメモリから読み出し、上記の補正を行う。そして、補正が行われた後の姿勢を表すデータをメインメモリに記憶する。上記ステップＳ２２の次にステップＳ２３の処理が実行される。
【０１７６】
ステップＳ２３において、ＣＰＵ１０は、マーカ（端末装置７が有するマーカ部５５のマーカ５５ａおよび５５ｂ、あるいは、マーカ装置６のマーカ６Ｒおよび６Ｌ）がコントローラ５の撮像手段（撮像素子４０）によって撮像されているか否かを判定する。ステップＳ２３の判定は、メインメモリに記憶されているコントローラ５に関するマーカ座標データ１０５を参照することによって行うことができる。ここでは、マーカ座標データ１０５が２つのマーカ座標を表す場合、マーカが撮像されていると判定し、マーカ座標データ１０５が１つのマーカ座標のみを表す場合、または、マーカ座標がないことを表す場合、マーカが撮像されていないと判定する。ステップＳ２３の判定結果が肯定である場合、以降のステップＳ２４およびＳ２５の処理が実行される。一方、ステップＳ２３の判定結果が否定である場合、ステップ２４およびＳ２５の処理がスキップされ、ＣＰＵ１０は姿勢算出処理を終了する。このように、撮像素子４０によってマーカが撮像されていない場合には、撮像素子４０から得られるデータを用いてコントローラ５の姿勢（マーカ座標に基づく姿勢）を算出することができないので、この場合には当該姿勢を用いた補正は行われない。
【０１７７】
ステップＳ２４において、ＣＰＵ１０は、マーカ座標に基づいてコントローラ５の姿勢を算出する。マーカ座標は、撮像画像内における２つのマーカ（マーカ６Ｌおよび６Ｒ、または、マーカ５５Ａおよび５５Ｂ）の位置を示すので、これらの位置からコントローラ５の姿勢を算出することができる。以下、マーカ座標に基づくコントローラ５の姿勢の算出方法について説明する。なお、以下におけるロール方向、ヨー方向、およびピッチ方向とは、コントローラ５の撮像方向（Ｚ軸正方向）がマーカを指し示す状態（基準状態）にあるコントローラ５のＺ軸回りの回転方向、Ｙ軸回りの回転方向、およびＸ軸回りの回転方向を指す。
【０１７８】
まず、ロール方向（Ｚ軸回りの回転方向）に関する姿勢は、撮像画像内において２つのマーカ座標を結ぶ直線の傾きから算出することができる。すなわち、ロール方向に関する姿勢を算出する際、ＣＰＵ１０はまず、２つのマーカ座標を結ぶベクトルを算出する。このベクトルは、コントローラ５のロール方向の回転に応じて向きが変化するので、ＣＰＵ１０は、ロール方向に関する姿勢をこのベクトルに基づいて算出することができる。例えば、ロール方向に関する姿勢は、所定の姿勢の時のベクトルを現在のベクトルへと回転させる回転行列として算出されてもよいし、所定の姿勢の時のベクトルと現在のベクトルとのなす角度として計算されてもよい。
【０１７９】
また、コントローラ５の位置が概ね一定であると想定できる場合には、撮像画像内におけるマーカ座標の位置から、ピッチ方向（Ｘ軸回りの回転方向）およびヨー方向（Ｙ軸回りの回転方向）に関するコントローラ５の姿勢を算出することができる。具体的には、ＣＰＵ１０はまず、２つのマーカ座標の中点の位置を算出する。つまり、本実施形態では撮像画像内におけるマーカの位置として当該中点の位置が用いられる。次に、ＣＰＵ１０は、撮像画像の中央の位置を中心として、コントローラ５のロール方向に関する回転角度だけ（コントローラ５の回転方向とは逆方向に）上記中点を回転させる補正を行う。換言すれば、中点は、撮像画像の中央の位置を中心として、上記ベクトルが水平方向を向くように回転される。
【０１８０】
上記のようにして得られた補正後の中点位置から、コントローラ５のヨー方向およびピッチ方向に関する姿勢を算出することができる。すなわち、上記基準状態において、補正後の中点位置は撮像画像の中央の位置となる。また、補正後の中点位置は、基準状態からコントローラ５の姿勢が変化した方向とは逆方向に、変化した量に応じた量だけ、撮像画像の中央の位置から移動する。したがって、基準状態におけるコントローラ５の姿勢から当該姿勢が変化した方向および量（角度）は、撮像画像の中央の位置を基準とした補正後の中点位置の変化方向および変化量に基づいて算出される。また、コントローラ５のヨー方向は撮像画像の横方向に対応し、コントローラ５のピッチ方向は撮像画像の縦方向に対応するので、ヨー方向およびピッチ方向の姿勢を個別に算出することも可能である。
【０１８１】
なお、ゲームシステム１においては、プレイヤがゲームを行う態勢（立っているか座っているか等）や、マーカの位置（マーカ装置６がテレビ２の上に配置されるか下に配置されるか等）は様々であることから、鉛直方向に関しては、コントローラ５の位置が概ね一定であるとの上記想定が成り立たないおそれがある。つまり、本実施形態においては、ピッチ方向については姿勢を正確に算出することができないおそれがあるので、ＣＰＵ１０は、ピッチ方向についてはマーカ座標に基づく姿勢を算出せず、ピッチ方向についてはステップＳ２２で補正された姿勢を用いるものとする。
【０１８２】
以上より、上記ステップＳ２４においては、ＣＰＵ１０は、マーカ座標データ１０５をメインメモリから読み出し、ロール方向に関する姿勢とヨー方向に関する姿勢とを２つのマーカ座標に基づいて算出する。また、ステップＳ２２で補正された姿勢を表すデータを読み出し、ピッチ方向に関する姿勢を抽出する。なお、各方向に関する姿勢を例えば回転行列として算出する場合、コントローラ５の姿勢は、各方向に対応する回転行列を積算することで得ることができる。算出された姿勢を表すデータはメインメモリに記憶される。上記ステップＳ２４の次にステップＳ２５の処理が実行される。
【０１８３】
なお、本実施形態においては、ＣＰＵ１０は、ロール方向およびヨー方向に関する姿勢をマーカ座標に基づいて算出し、ピッチ方向についてはマーカ座標を用いた姿勢の補正処理を行わないこととした。ただし、他の実施形態においては、ＣＰＵ１０は、ピッチ方向についてもヨー方向と同様の方法でマーカ座標に基づいて（ピッチ方向に関する）姿勢を算出するようにし、ピッチ方向についてもマーカ座標を用いた姿勢の補正処理を行うようにしてもよい。
【０１８４】
ステップＳ２５において、ＣＰＵ１０は、マーカ座標に基づく姿勢を用いて、角速度に基づく姿勢を補正する。具体的には、ＣＰＵ１０は、ステップＳ２２で補正された姿勢（角速度に基づく姿勢）を表すデータと、ステップＳ２４で算出された姿勢（マーカ座標に基づく姿勢）を表すデータとをメインメモリから読み出し、角速度に基づく姿勢をマーカ座標に基づく姿勢へ所定の割合で近づける補正を行う。この所定の割合は、例えば予め定められた固定値である。以上のようにして得られた補正後の姿勢を表すデータが、新たな第１姿勢データ１１１（または第２姿勢データ１１２）としてメインメモリに記憶される。つまり、ステップＳ２５の補正処理後における各姿勢データ１１１および１１２が、第１および第２コントローラの最終的な姿勢として後の処理に用いられる。上記ステップＳ２５の終了後、ＣＰＵ１０は姿勢算出処理を終了する。
【０１８５】
上記姿勢算出処理によれば、ＣＰＵ１０は、角速度データ１０４に基づいて算出されたコントローラ５の姿勢を、メイン加速度データ１０３およびマーカ座標データ１０５を用いて補正した。ここで、コントローラ５の姿勢を算出する方法のうち、角速度を用いる方法では、コントローラ５がどのように動いているときであっても姿勢を算出することができる。一方、角速度を用いる方法では、逐次検出される角速度を累積加算していくことによって姿勢を算出するので、誤差が累積すること等によって精度が悪くなったり、いわゆる温度ドリフトの問題でジャイロセンサ４８の精度が悪くなったりするおそれがある。また、加速度を用いる方法は、誤差が蓄積しない一方、コントローラ５が激しく動かされている状態では、（重力方向を正確に検出することができないので）姿勢を精度良く算出することができない。また、マーカ座標を用いる方法は、（特にロール方向に関して）姿勢を精度良く算出することができる一方、マーカを撮像できない状態では姿勢を算出することができない。これに対して、本実施形態によれば、上記のように特長の異なる３種類の方法を用いるので、コントローラ５の姿勢をより正確に算出することができる。なお、他の実施形態においては、上記３つの方法のうちいずれか１つまたは２つを用いて姿勢を算出するようにしてもよい。
【０１８６】
図１９の説明に戻り、ステップＳ１２の次のステップＳ１３において、ＣＰＵ１０は、第１オブジェクト９１のボウガン９２の発射方向（すなわち、ボウガン９２の姿勢）を第１コントローラの姿勢に基づいて制御する。本実施形態においては、ボウガン９２の姿勢は、現実空間における第１コントローラの姿勢と対応するように算出される。すなわち、第１コントローラが所定の基準姿勢から回転した場合、ボウガン９２は、当該基準姿勢時におけるボウガン９２の姿勢から、第１コントローラの姿勢の変化方向に応じた方向に、変化量に応じた量だけ回転される。なお、ボウガン９２の姿勢は、第１コントローラの姿勢の変化に応じて変化するように制御されればどのように制御されてもよい。ステップＳ１３において、ＣＰＵ１０は、第１姿勢データ１１１をメインメモリから読み出し、第１コントローラの姿勢に基づいてボウガン９２の姿勢を算出する。そして、算出した姿勢を表すデータを第１発射方向データ１１５としてメインメモリに記憶する。ステップＳ１３の次にステップＳ１４の処理が実行される。
【０１８７】
ステップＳ１４において、ＣＰＵ１０は、端末用ゲーム画像を生成するための第１仮想カメラを設定する。本実施形態においては、第１仮想カメラは、第１オブジェクト９１および第２オブジェクト９３の位置に基づいて設定される。具体的には、第１仮想カメラは、第１オブジェクト９１から後方のやや上方に所定距離だけ離れた位置に設定される。また、第１仮想カメラは、第１オブジェクト９１から第２オブジェクト９３への方向を向くように設定される。ただし、第１仮想カメラが上記方向を常に正確に向くとすると、第２オブジェクト９３が常に真正面に位置するために、射撃操作が簡単になりすぎる。そのため、第１オブジェクト９１の左右方向へ移動した場合には、第２オブジェクト９３から左右にややずれた位置を向くように第１仮想カメラの姿勢が制御されてもよい。ステップＳ１４において、ＣＰＵ１０は、各オブジェクトデータ１１３および１１４をメインメモリから読み出し、第１仮想カメラの位置および姿勢を算出する。そして、算出された位置および姿勢を表すデータを第１カメラデータ１１７としてメインメモリに記憶する。ステップＳ１４の次にステップＳ１５の処理が実行される。
【０１８８】
ステップＳ１５〜Ｓ１８においては、第１オブジェクト９１に関する上記ステップＳ１１〜Ｓ１４と同様の処理が、第２オブジェクト９３に関して実行される。すなわち、ステップＳ１５において、ＣＰＵ１０は、第２プレイヤが操作する第２コントローラの操作データ（第２操作データ）に基づいて第２オブジェクト９３の移動を制御する。第２オブジェクト９３の移動の制御方法は、上記ステップＳ１１における制御方法と同様である。ステップＳ１４で算出された第２オブジェクト９３の位置および向きを表すデータは、第２オブジェクトデータ１１４としてメインメモリに記憶される。ステップＳ１５の次にステップＳ１６の処理が実行される。
【０１８９】
ステップＳ１６において、ＣＰＵ１０は姿勢算出処理を実行する。すなわち、第２操作データに含まれるメイン加速度データ１０３、角速度データ１０４、およびマーカ座標データ１０５に基づいて、第２コントローラ（メインコントローラ）の姿勢が算出される（図２０参照）。算出された第２コントローラの姿勢は、第２姿勢データ１１２としてメインメモリに記憶される。ステップＳ１６の次にステップＳ１７の処理が実行される。
【０１９０】
ステップＳ１７において、ＣＰＵ１０は、第２オブジェクト９３のボウガン９４の発射方向（すなわち、ボウガン９４の姿勢）を第２コントローラの姿勢に基づいて制御する。ボウガン９４の制御方法は上記ステップＳ１３におけるボウガン９２の制御方法と同様である。ステップＳ１７で算出されたボウガン９４の姿勢を表すデータは、第２発射方向データ１１６としてメインメモリに記憶される。ステップＳ１７の次にステップＳ１８の処理が実行される。
【０１９１】
ステップＳ１８において、ＣＰＵ１０は、テレビ用ゲーム画像を生成するための第２仮想カメラを、第１オブジェクト９１および第２オブジェクト９３の位置に基づいて設定する。第２仮想カメラは、第２オブジェクト９３から後方のやや上方に所定距離だけ離れた位置に、第２オブジェクト９３から第１オブジェクト９１への方向を向くように設定される。設定された第２仮想カメラの位置および姿勢を表すデータは、第２カメラデータ１１８としてメインメモリに記憶される。ステップＳ１８の次にステップＳ１９の処理が実行される。
【０１９２】
ステップＳ１９において、ＣＰＵ１０は、その他のゲーム進行処理を行う。その他のゲーム進行処理とは、上記ステップＳ１１〜Ｓ１８の処理以外にステップＳ３のゲーム制御処理において実行される処理である。上記その他のゲーム進行処理には、例えば、ボウガンから発射された矢の挙動を制御する処理や、矢が各オブジェクト９１および９３に当たったか否かを判定する処理等が含まれる。上記の処理の他、ステップＳ１９においてはゲームの進行に必要な処理が適宜実行される。上記ステップＳ１９の後、ＣＰＵ１０はゲーム制御処理を終了する。
【０１９３】
上記ゲーム制御処理のように、本実施形態においては、ＣＰＵ１０は、第１プレイヤが操作する第１コントローラに対する操作を表す操作データに基づいて、ゲーム空間に設定される第１仮想カメラを制御する（ステップＳ１４）。また、ＣＰＵ１０は、第２プレイヤが操作する第２コントローラに対する操作を表す操作データに基づいて、ゲーム空間に設定される第２仮想カメラを制御する（ステップＳ１８）。したがって、各プレイヤは、コントローラ５に対する操作によってゲーム画像の視点および視線方向を変更することができる。
【０１９４】
また、本実施形態においては、ＣＰＵ１０は、各操作データにそれぞれ含まれる物理量に基づいて各コントローラの姿勢を算出し（ステップＳ１２およびＳ１６）、当該各操作装置の姿勢に基づいてゲーム処理を実行する（ステップＳ１３およびＳ１７）。したがって、各プレイヤは、コントローラを傾ける操作によって直感的かつ容易なゲーム操作を行うことができる。また、上記ゲーム制御処理においては、各コントローラの姿勢の変化に応じて各ボウガン９２および９４の姿勢が変化するので、ＣＰＵ１０は、各コントローラの動き（姿勢の変化）を算出し、各コントローラの動きに基づいてゲーム処理を実行しているとも言える。つまり、各プレイヤは、コントローラを動かす操作によって直感的かつ容易なゲーム操作を行うことができる。
【０１９５】
また、本実施形態においては、各操作データには、コントローラ５の撮像手段の撮像結果に関する撮像データ（マーカ座標データ）が含まれており、ＣＰＵ１０は、この撮像データに基づいてゲーム処理を実行する（ステップＳ２３）。これによって、ＣＰＵ１０は、マーカとコントローラ５との位置関係を正確に算出することができ、コントローラの姿勢や動きを精度良く算出することができる。
【０１９６】
また、他の実施形態においては、上記ゲーム制御処理において、ＣＰＵ１０は、表示装置（テレビ２または端末装置７）の画面上の位置を指定し、当該位置（指定位置と呼ぶ）に応じたゲーム処理を実行するようにしてもよい。すなわち、ＣＰＵ１０は、第１プレイヤが操作する第１コントローラの操作データに基づいて端末装置７の画面上の位置を指定し、指定した位置に応じた処理を実行してもよい。また、ＣＰＵ１０は、第２プレイヤが操作する第２コントローラの操作データに基づいてテレビ２の画面上の位置を指定し、指定した位置に応じた処理を実行してもよい。
【０１９７】
また、上記指定位置に応じたゲーム処理として、ＣＰＵ１０は、指定位置にカーソルを表示させ、カーソルが指し示す位置に向かって各オブジェクト９１および９３に射撃動作を行わせたり、カーソルが指し示す対象を選択したりするようにしてもよい。なお、上記指定位置は、端末装置７の姿勢、あるいは、マーカ座標データの情報に基づいて算出することが可能である。すなわち、これらの情報から、コントローラ５から撮像方向（Ｚ軸正方向）へ延ばした直線と表示装置の画面との交点の位置を算出（推測）することができるので、当該交点の位置を上記指示位置として用いることができる。なお、ＣＰＵ１０は、上記指示位置として、正確な上記交点の位置を算出する必要はなく、交点の位置付近の位置を算出することができればよい。また、他の実施形態においては、指示位置は、上記交点の位置に限らず、コントローラ５の姿勢または動きに応じて変化するように算出されたり、コントローラ５に対する入力（例えば十字ボタン３２ａに対する方向入力）に応じて変化するように算出されてもよい。
【０１９８】
なお、上記指定位置を用いたゲーム処理を実行することによって、プレイヤは、表示装置の画面上の位置を指定する操作によって直感的かつ容易なゲーム操作を行うことができる。ここで、表示装置の表示領域（画面）における分割数が多くなると、指定できる範囲が狭くなるので、画面上の位置を指定する操作が行いにくくなる。これに対して、本実施形態においては、表示領域の分割数を減らすことができるので、画面上の位置を指定する操作が行いやすくなる。つまり、画面上の位置を指定する操作を採用する場合には、分割数を減らすための構成が特に有効である。
【０１９９】
図１８の説明に戻り、ステップＳ３のゲーム制御処理の次にステップＳ４の処理が実行される。ステップＳ４においては、第２プレイヤのためのゲーム画像であるテレビ用ゲーム画像が上記ゲーム制御処理に基づいて生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、ステップＳ３のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをＶＲＡＭ１１ｄから読み出し、テレビ用ゲーム画像を生成する。本実施形態では、第２オブジェクト９３が表示範囲に含まれるように設定される上記第２仮想カメラを用いて、ゲーム空間を表す画像が生成される。このとき、第２オブジェクト９３は半透明にしてテレビ用ゲーム画像は生成される。生成されたテレビ用ゲーム画像はＶＲＡＭ１１ｄに記憶される。上記ステップＳ４の次にステップＳ５の処理が実行される。
【０２００】
ステップＳ５においては、第１プレイヤのためのゲーム画像である端末用ゲーム画像が上記ゲーム制御処理に基づいて生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、ステップＳ３のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをＶＲＡＭ１１ｄから読み出し、端末用ゲーム画像を生成する。本実施形態では、第１オブジェクト９１が表示範囲に含まれるように設定される上記第１仮想カメラを用いて、ゲーム空間を表す画像が生成される。このとき、第１オブジェクト９１は半透明にしてテレビ用ゲーム画像は生成される。生成されたテレビ用ゲーム画像はＶＲＡＭ１１ｄに記憶される。上記ステップＳ５の次にステップＳ６の処理が実行される。
【０２０１】
ステップＳ６において、ＣＰＵ１０は、テレビ２へゲーム画像を出力する。具体的には、ＣＰＵ１０は、ＶＲＡＭ１１ｄに記憶されたテレビ用ゲーム画像のデータをＡＶ−ＩＣ１５へ送る。これに応じて、ＡＶ−ＩＣ１５はテレビ用ゲーム画像のデータを、ＡＶコネクタ１６を介してテレビ２へ出力する。これによって、テレビ用ゲーム画像がテレビ２に表示される。また、ステップＳ６においては、ゲーム画像のデータと共にゲーム音声のデータがテレビ２へ出力され、テレビ２のスピーカ２ａからゲーム音声が出力されてもよい。ステップＳ６の次にステップＳ７の処理が実行される。
【０２０２】
ステップＳ７において、ＣＰＵ１０は、端末装置７へゲーム画像を送信する。具体的には、ＶＲＡＭ１１ｄに記憶された端末用ゲーム画像の画像データは、ＣＰＵ１０によってコーデックＬＳＩ２７に送られ、コーデックＬＳＩ２７によって所定の圧縮処理が行われる。圧縮処理が施された画像のデータは、端末通信モジュール２８によってアンテナ２９を介して端末装置７へ送信される。端末装置７は、ゲーム装置３から送信されてくる画像のデータを無線モジュール７０によって受信し、受信された画像データに対してコーデックＬＳＩ６６によって所定の伸張処理が行われる。伸張処理が行われた画像データはＬＣＤ５１に出力される。これによって、端末用ゲーム画像がＬＣＤ５１に表示される。また、ステップＳ７においては、ゲーム画像のデータと共にゲーム音声のデータが端末装置７へ送信され、端末装置７のスピーカ６７からゲーム音声が出力されてもよい。ステップＳ７の次にステップＳ８の処理が実行される。
【０２０３】
ステップＳ８において、ＣＰＵ１０は、ゲームを終了するか否かを判定する。ステップＳ８の判定は、例えば、ゲームオーバーになった（一方のオブジェクトが倒された）か否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップＳ８の判定結果が否定の場合、ステップＳ２の処理が再度実行される。一方、ステップＳ８の判定結果が肯定の場合、ＣＰＵ１０は図１８に示すゲーム処理を終了する。以降、ステップＳ２〜Ｓ８の一連の処理は、ステップＳ８でゲームを終了すると判定されるまで繰り返し実行される。
【０２０４】
以上に説明したゲーム処理によれば、２人のプレイヤが行うゲームにおいて、端末装置７には第１プレイヤのためのゲーム画像が表示されるとともに、テレビ２には第２プレイヤのためのゲーム画像が表示される。これによれば、表示装置の表示領域を分割することなく、各プレイヤにとって見やすいゲーム画像を提供することができる。
【０２０５】
［７．変形例］
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
【０２０６】
（ゲーム内容に関する第１変形例）
上記実施形態においては、２人のプレイヤがオブジェクトをそれぞれ操作して相手のオブジェクトを撃ち合うゲームを例として説明したが、ゲームの内容はどのようなものであってもよい。例えば、他の実施形態においては、ゲームシステム１は、図２１および図２２に示すようなゲームを実行してもよい。図２１および図２２は、本実施形態の第１変形例におけるゲーム画像の一例を示す図である。すなわち、図２１は、第１変形例における端末用ゲーム画像の一例を示し、図２２は、第１変形例におけるテレビ用ゲーム画像の一例を示す。
【０２０７】
図２１に示すように、端末装置７には、第１プレイヤが操作するボウガン１２１と、ボウガン１２１の前方の道路上に配置された壁１２２とを含むゲーム空間の画像が表示される。このように、第１変形例においても上記実施形態と同様、第１プレイヤのためのゲーム画像が端末装置７に表示される。なお、第１変形例では、第１プレイヤの操作対象である第１オブジェクトからの主観視点のゲーム画像が端末装置７に表示され、第１オブジェクト自体は端末装置７に表示されない。
【０２０８】
また、壁１２２にはロープ１２３が張られており、第１プレイヤは、ボウガン１２１から矢や手裏剣等を発射して壁１２２に張られたロープ１２３を切る。壁１２２に張られたロープ１２３が全て切れると、壁１２２が倒れてオブジェクトは前に進むことができる。本ゲームは、第１オブジェクトの道路上に配置された所定個数の壁１２２を倒して、ゴールする速さを競うゲームである。なお、第１変形例において、ボウガン１２１の姿勢（発射方向）の制御は、上記実施形態と同様、コントローラ５の姿勢に応じて行われてもよい。
【０２０９】
なお、第１オブジェクトが通る道路の隣には、第２プレイヤが操作する第２オブジェクトが通る道路が設置される。したがって、各オブジェクトの位置関係によっては、端末装置７に第２オブジェクト１２４が表示されることもあり（図２１参照）、第１プレイヤは、第２オブジェクト１２４の進み具合を知ることができる。
【０２１０】
一方、図２２に示すように、テレビ２には、第２プレイヤが操作するボウガン１２５と、ボウガン１２５の前方の道路上に配置された壁１２２とを含むゲーム空間の画像が表示される。このように、第１変形例においても上記実施形態と同様、第２プレイヤのためのゲーム画像がテレビ２に表示される。なお、第１変形例では、第２プレイヤの操作対象である第２オブジェクト１２４からの主観視点のゲーム画像がテレビ２に表示され、第２オブジェクト自体はテレビ２に表示されない。また、第１プレイヤと同様、第２プレイヤはボウガン１２５を操作して矢や手裏剣等を発射することで、壁１２２に張られたロープ１２３を切ってゲームを行う。
【０２１１】
以上に説明した第１変形例においても上記実施形態と同様、端末装置７には第１プレイヤのためのゲーム画像が表示されるとともに、テレビ２には第２プレイヤのためのゲーム画像が表示される。これによれば、表示装置の表示領域を分割することなく、各プレイヤにとって見やすいゲーム画像を提供することができる。
【０２１２】
（プレイヤの人数に関する第２変形例）
上記実施形態においては、２人のプレイヤが同時にプレイするゲームを例として説明したが、ゲームシステム１は、２人以上のプレイヤが同時にプレイするゲームを実行することも可能である。以下、図２３〜図２６を参照して、２人以上のプレイヤがゲームを行う場合の第２変形例について説明する。なお、第２変形例のゲームは、２人から４人のいずれかの人数でゲームを行うことが可能であるとする。
【０２１３】
図２３および図２４は、ゲームを４人でプレイする場合において各表示装置に表示されるゲーム画像の一例を示す図である。図２３は、第２変形例における端末用ゲーム画像の一例を示し、図２４は、第２変形例におけるテレビ用ゲーム画像の一例を示す。図２３および図２４に示すように、第２変形例では、４人のプレイヤが第１〜第４オブジェクト１３１〜１３４をそれぞれ操作し、（図において斜線で示される）壁や障害物を避けながら各オブジェクト１３１〜１３４を移動させるゲームを例として説明する。
【０２１４】
図２３に示すように、端末装置７には、４人のプレイヤのうちの所定の第１プレイヤのためのゲーム画像が表示される。つまり、端末用ゲーム画像は、第１プレイヤが操作する第１オブジェクト１３１を含むゲーム空間の画像であり、第１プレイヤの操作に応じて表示範囲が変化（スクロール）する。また、本ゲームでは、各オブジェクト１３１〜１３４はゲーム画像における下方向へ移動し、各オブジェクト１３１〜１３４の移動に応じてゲーム画像は下方向へスクロールする。したがって、画面上では壁や障害物が上にスクロールしているように見える。そのため、第２変形例では、各プレイヤのためのゲーム画像としては、上下方向に長い方が好ましいので、図２３および図２４に示すように縦長のゲーム画像が表示される。したがって、第２変形例では、端末装置７は画面が縦長となる向きに配置される。端末装置７は可搬型であるので、上記実施形態のように横向きに配置して使用することも、第２変形例のように縦向きに配置して使用することも可能である。
【０２１５】
また、図２４に示すように、テレビ２には４人のプレイヤのうちの、上記第１プレイヤ以外の第２〜第４プレイヤのためのゲーム画像が表示される。すなわち、テレビ２の表示領域は横方向に並ぶように３つに分割され、３つの各領域に、第２プレイヤのためのゲーム画像、第３プレイヤのためのゲーム画像、および、第４プレイヤのためのゲーム画像がそれぞれ表示される。ここでは、左側の領域には第２オブジェクト１３２を含むゲーム空間の画像が表示され、中央の領域には第３オブジェクト１３３を含むゲーム空間の画像が表示され、右側の領域には第４オブジェクト１３４を含むゲーム空間の画像が表示される。第２変形例では、第２〜第４プレイヤのための３つのゲーム画像が横に並ぶように表示されるので、各ゲーム画像は端末装置７のゲーム画像と同様に縦長とすることができ、ゲーム内容に適した形状のゲーム画像を提供することができる。
【０２１６】
また、３人でゲームを行う場合も、４人の場合と同様に、所定の第１プレイヤのためのゲーム画像が端末装置７に表示され、残りの複数人（２人）のプレイヤのためのゲーム画像がテレビ２に表示される。なお、３人でゲームを行う場合には、テレビ２の表示領域は、横方向に並ぶように２つに分割される。表示領域のうちの左側の領域には、第２プレイヤのためのゲーム画像が表示され、表示領域のうちの右側の領域には、第３プレイヤのためのゲーム画像が表示される。縦横の比率は変化するものの、３人の場合も４人の場合と同様、各プレイヤのためのゲーム画像は縦長となる。
【０２１７】
上記のように、第２変形例では、３人以上のプレイヤのための各ゲーム画像を、端末装置７とテレビ２との２つの表示装置に表示する。すなわち、１つのゲーム画像を端末装置７に表示するとともに、テレビ２の表示領域を分割した各領域に残りのゲーム画像を表示する。これによれば、テレビ２のみに各ゲーム画像を表示する場合に比べて、テレビ２の表示領域の分割数を少なくすることができる。このように、分割数を少なくすることによって、他のプレイヤのゲーム画像を自己のゲーム画像と見間違える可能性を減らすことができ、１つの画面にたくさんのゲーム画像が並んで表示されることによる窮屈感を低減することができる。すなわち、第２変形例によれば、３人以上でゲームを行う場合であっても、見やすいゲーム画像を各プレイヤに提供することができる。
【０２１８】
また、第２変形例においては、２人でゲームを行う場合には、端末装置７は用いられず、テレビ２に２人のプレイヤのための２つのゲーム画像がそれぞれ表示される。図２５は、第２変形例において２人でゲームが行われる場合におけるテレビ用ゲーム画像の一例を示す。図２５に示すように、２人でゲームを行う場合には、テレビ２の表示領域を横に並ぶように２分割して２つのゲーム画像が表示される。すなわち、テレビ２の表示領域のうちの左側の領域には、第１プレイヤによって操作される第１オブジェクト１３１を含むゲーム空間を表す画像が表示され、表示領域のうちの右側の領域には、第２プレイヤによって操作される第２オブジェクト１３２を含むゲーム空間を表す画像が表示される。
【０２１９】
ここで、第２変形例において２人でゲームを行う場合に、仮に第１プレイヤのためのゲーム画像を端末装置７に表示するとともに、第２プレイヤのためのゲーム画像のみをテレビ２に表示する場合を想定する。この場合、テレビ２には、横長のゲーム画像を表示するか、あるいは、縦長のゲーム画像を表示するとともに残りの表示領域にゲーム空間以外の他の画像を表示する（または何も表示しない）ことになる。しかし、第２変形例では、各プレイヤのためのゲーム画像は縦長であることが好ましいので、横長のゲーム画像を表示する方法では、ゲーム画像が見にくくなったり、他のプレイヤとの間で有利不利が生じたりするおそれがある。また、上記残りの表示領域に他の画像を表示する方法では、テレビ２の横長の表示領域に縦長のゲーム画像が表示され、残りの表示領域にはゲーム進行上は意味の小さい画像が表示されるので、プレイヤが違和感を抱いたり不自然に感じたりするおそれがある。
【０２２０】
そこで、第２変形例においては、２人でゲームを行う場合には、端末装置７を用いずにテレビ２に２つのゲーム画像を表示するようにする。これによれば、各プレイヤに縦長のゲーム画像を提供することができ、見やすく公平なゲーム画像を提供することができる。また、画面に無駄な余白が生じないので画面を有効に活用することができるとともに、ゲーム空間以外の画像を表示することによってプレイヤが違和感を抱いたり不自然に感じたりすることを防止することができる。
【０２２１】
以下、上記実施形態と異なる点を中心に、第２変形例におけるゲーム処理の詳細について説明する。第２変形例においても上記実施形態と同様、図１８に示すステップＳ１〜Ｓ８の処理が基本的には実行されるが、ステップＳ３〜Ｓ５の処理が上記実施形態とは異なる。
【０２２２】
まず、ステップＳ３のゲーム制御処理においては、各コントローラの操作データに基づいて各オブジェクト（４人でゲームが行われる場合には各オブジェクト１３１〜１３４）を制御する処理等が実行される。なお、各オブジェクトに対する操作方法は操作データに基づいて行われればどのような方法であってもよい。
【０２２３】
また、第２変形例においては、図１８に示すステップＳ４およびＳ５の処理に代えて、図２６に示す画像生成処理が実行される。図２６は、第２変形例において実行される画像生成処理の流れを示すフローチャートである。以下、図２６を参照して、画像生成処理の詳細について説明する。
【０２２４】
画像生成処理においてはまずステップＳ４１において、ＣＰＵ１０は、ゲームを行うプレイヤは２人であるか否かを判定する。この判定は、ステップＳ２で取得される操作データの数が２つであるか否か、あるいは、現在通信を行っているコントローラ５の数が２つであるか否か等によって行うことができる。また、ＣＰＵ１０は、ゲームの開始時（例えばステップＳ１の処理）において、プレイヤにプレイ人数を入力させ、入力された人数が２人であるか否かを判定するようにしてもよい。ステップＳ４１の判定結果が肯定である場合、ステップＳ４２の処理が実行される。一方、ステップＳ４１の判定結果が否定である場合、ステップＳ４４の処理が実行される。
【０２２５】
ステップＳ４２においては、各プレイヤのための２つのゲーム画像が生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、プレイヤの操作対象であるオブジェクトを含むゲーム空間を表す画像をオブジェクト毎に生成する。ゲーム画像の具体的な生成方法は、どのような方法であってもよく、例えば上記実施形態と同様の方法であってもよい。また、生成されたゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ４２の次にステップＳ４３の処理が実行される。
【０２２６】
ステップＳ４３においては、テレビ用ゲーム画像が生成される。ここで生成されるテレビ用ゲーム画像は、ステップＳ４２で生成した２つのゲーム画像を含むゲーム画像である。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、上記２つのゲーム画像が横に並べられたゲーム画像を生成し、ＶＲＡＭ１１ｄに記憶する。ステップＳ４３の後、ＣＰＵ１０は画像生成処理を終了する。
【０２２７】
一方、ステップＳ４４においては、第１プレイヤ以外の他のプレイヤのためのゲーム画像がそれぞれ生成される。なお、各ゲーム画像の具体的な生成方法は、縦横の比率が異なる以外は上記ステップＳ４２と同様である。生成された各ゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ４４の次にステップＳ４５の処理が実行される。
【０２２８】
ステップＳ４５においては、テレビ用ゲーム画像が生成される。ここで生成されるテレビ用ゲーム画像は、ステップＳ４４で生成した複数のゲーム画像を含むゲーム画像である。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、上記複数のゲーム画像が横に並べられたゲーム画像を生成し、ＶＲＡＭ１１ｄに記憶する。なお、第２変形例においては、３つまたは４つの縦長のゲーム画像が横に並べられたゲーム画像が生成される。ステップＳ４５の次にステップＳ４６の処理が実行される。
【０２２９】
ステップＳ４６においては、端末用ゲーム画像が生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、端末用ゲーム画像として第１プレイヤのためのゲーム画像を生成する。なお、ゲーム画像の具体的な生成方法は、縦横の比率が異なる以外は上記ステップＳ４２と同様である。生成された端末用ゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ４６の後、ＣＰＵ１０は画像生成処理を終了する。
【０２３０】
上記画像生成処理の後、上記実施形態と同様のステップＳ６〜Ｓ８の処理が実行される。すなわち、ステップＳ６において、ステップＳ４３またはＳ４５で生成されたテレビ用ゲーム画像がテレビ２へ出力されて表示される。つまり、プレイヤの人数が２人である場合には、各プレイヤのための２つのゲーム画像が並べられたゲーム画像がテレビ２に表示され（図２５参照）、プレイヤの人数が３人以上である場合、第１プレイヤ以外の各プレイヤのためのゲーム画像が並べられたゲーム画像がテレビ２に表示される（図２４参照）。
【０２３１】
また、ステップＳ７において、ステップＳ４６で生成された端末用ゲーム画像が端末装置７へ出力（送信）されて表示される。なお、上記ステップＳ４１の判定結果が否定となる場合には、端末用ゲーム画像は表示されない。つまり、プレイヤの人数が２人である場合には、端末装置７にはゲーム画像が表示されず、プレイヤの人数が３人以上である場合、第１プレイヤのためのゲーム画像が端末装置７に表示される（図２３参照）。
【０２３２】
以上のように、第２変形例によれば、プレイヤの人数が３人以上である場合、第１プレイヤのためのゲーム画像が端末装置７に表示され、（第１プレイヤとは別の）第２プレイヤのためのゲーム画像と、第３プレイヤのためのゲーム画像とを含むゲーム画像がテレビ２に表示される。したがって、第２変形例によれば、プレイヤの人数が３人以上である場合でも、プレイヤ毎のゲーム画像を見やすく提供することができる。
【０２３３】
また、第２変形例によれば、ＣＰＵ１０は、ゲームを行うプレイヤの人数が所定の条件を満たすか否かを判定する（ステップＳ４１）。そして、プレイヤの人数が所定の条件を満たす場合、ＣＰＵ１０は、端末用ゲーム画像として、第１プレイヤのためのゲーム画像を生成する（ステップＳ４６）。また、テレビ用ゲーム画像としては、ＣＰＵ１０は、プレイヤの人数が所定の条件を満たす場合、第１プレイヤ以外の他のプレイヤのためのゲーム画像を生成し（ステップＳ４５）、プレイヤの人数が所定の条件を満たさない場合、ゲームを行う各プレイヤのためのゲーム画像を生成する（ステップＳ４３）。このように、第２変形例によれば、端末装置７を用いてゲーム画像を表示するか否かは、プレイヤの人数に応じて決められる。これによれば、プレイヤの人数に応じた適切な表示形態でゲーム画像を提供することができる。
【０２３４】
また、第２変形例によれば、横長の表示領域を有するテレビ２には、第２プレイヤのための縦長のゲーム画像と、第３プレイヤのための縦長のゲーム画像とが横に並んで配置されたゲーム画像（さらに第４プレイヤのための縦長のゲーム画像が含まれてもよい）が表示される。また、端末装置７は可搬型であり、画面が縦長となる向きに配置することもできるので、第２変形例によれば、３つ以上の縦長のゲーム画像を提供することができる。これによって、各ゲーム画像の縦横の比率を揃えることができ、プレイヤ毎の有利不利が少なく、見やすいゲーム画像を提供することができる。
【０２３５】
なお、上記の第２変形例によれば、「プレイヤの人数が３人以上であること」を上記所定の条件として用いたが、条件はこれに限られない。例えば、他の実施形態において横長のゲーム画像を表示する場合には、「プレイヤの人数が４人であること」を上記所定の条件として用いてもよい。すなわち、プレイヤの人数が２人である場合には、ゲーム装置３は、第１プレイヤのためのゲーム画像を端末装置７に表示し、第２プレイヤのためのゲーム画像をテレビ２に表示する。プレイヤの人数が３人である場合には、ゲーム装置３は、第１プレイヤのためのゲーム画像を端末装置７に表示し、第２プレイヤのためのゲーム画像と第３プレイヤのためのゲーム画像とをテレビ２に表示する。このとき、各ゲーム画像が横長になるよう、２つのゲーム画像を上下に並べて配置するようにしてもよい。一方、プレイヤの人数が４人である場合には、ゲーム装置３は、第１〜第４のプレイヤのための４つのゲーム画像を含むゲーム画像をテレビ２に表示し、端末装置７にはゲーム画像を表示しない。このとき、４つのゲーム画像は、テレビ２の表示領域を４等分した領域（上下に２等分し左右に２等分した領域）に表示される。以上のようにすることによって、プレイヤが２〜４人のいずれの場合であっても、横長のゲーム画像をプレイヤに提供することができる。
【０２３６】
（端末装置７をゲーム状況に応じて使い分ける第３変形例）
なお、上記第２変形例においては、ゲーム装置３は、端末装置７を用いてゲーム画像を表示するか否かをプレイヤの人数に応じて変更した。ここで、他の変形例においては、ゲーム装置３は、端末装置７を用いてゲーム画像を表示するか否かを、ゲーム状況に応じて変更するようにしてもよい。以下、図２７および図２８を参照して、端末装置７をゲーム状況に応じて使い分ける第３変形例について説明する。
【０２３７】
図２７は、第３変形例におけるゲーム画像の一例を示す図である。なお、ここでは、プレイヤの人数が２人であり、第１プレイヤは第１オブジェクト１４１を操作し、第２プレイヤは第２オブジェクト１４２を操作するものとする。また、各オブジェクト１４１は同じゲーム空間（単一のゲーム空間）に配置されるものとする。
【０２３８】
図２７に示す表の上側の欄には、各オブジェクト１４１および１４２が一緒に行動するシーンでのゲーム画像を示す。このシーンでは、各オブジェクト１４１および１４２が同じゲームフィールド上に配置されるものとする。このようなシーンにおいては、例えば各オブジェクト１４１および１４２が協力してゲームを進める場合もあり、各プレイヤは自分が操作しない他のオブジェクトの状況を知ることが好ましい場合もあると考えられる。したがって、この場合、図２７に示すように、各オブジェクト１４１および１４２を含むゲーム空間を表す１つのゲーム画像がテレビ２に表示される。つまり、上記の場合には、各プレイヤのための（１つの）ゲーム画像がテレビ２に表示される。
【０２３９】
一方、図２７に示す表の下側の欄には、各オブジェクト１４１および１４２が別々に行動するシーンでのゲーム画像を示す。このシーンでは、各オブジェクト１４１が別々の洞窟に入り、別々に行動するものとする。このようなシーンにおいては、自分が操作しないオブジェクトの状況を知る必要性が低く、また、各オブジェクト１４１および１４２が別々の場所に存在することを各プレイヤにわかりやすく認識させることで、ゲームの臨場感を高めることもできる。したがって、この場合、図２７に示すように、第１オブジェクト１４１を含むゲーム空間を表すゲーム画像が端末装置７に表示され、第２オブジェクト１４２を含むゲーム空間を表すゲーム画像がテレビ２に表示される。つまり、第１プレイヤのためのゲーム画像が端末装置７に表示され、第２プレイヤのためのゲーム画像がテレビ２に表示される。
【０２４０】
上記のように、第３変形例では、ゲーム状況に応じて、端末装置７を用いてゲーム画像を表示するか否かを変更する。これによって、ゲーム状況に応じた適切なゲーム画像をプレイヤに提供することができる。
【０２４１】
以下、上記実施形態と異なる点を中心に、第３変形例におけるゲーム処理の詳細について説明する。第３変形例においても上記実施形態と同様、図１８に示すステップＳ１〜Ｓ８の処理が基本的には実行されるが、ステップＳ３〜Ｓ５の処理が上記実施形態とは異なる。
【０２４２】
まず、ステップＳ３のゲーム制御処理においては、各コントローラの操作データに基づいて各オブジェクト１４１および１４２の動作を制御する処理等が実行される。なお、各オブジェクト１４１および１４２に対する操作方法は操作データに基づいて行われればどのような方法であってもよい。
【０２４３】
また、第３変形例においては、図１８に示すステップＳ４およびＳ５の処理に代えて、図２８に示す画像生成処理が実行される。図２８は、第３変形例において実行される画像生成処理の流れを示すフローチャートである。以下、図２８を参照して、画像生成処理の詳細について説明する。
【０２４４】
画像生成処理においてはまずステップＳ５１において、ＣＰＵ１０は、各オブジェクト１４１および１４２が一緒に行動するシーンであるか、別々に行動するシーンであるかを判定する。この判定は、ステップＳ３のゲーム制御処理の結果に基づいて行われる。例えば、第３変形例においては、各オブジェクト１４１および１４２が所定の洞窟内に入ったか否かによってステップＳ５１の判定が行われる。ステップＳ５１の判定結果が肯定である場合、ステップＳ５２の処理が実行される。一方、ステップＳ５１の判定結果が否定である場合、ステップＳ５３の処理が実行される。
【０２４５】
ステップＳ５２においては、テレビ用ゲーム画像として、各プレイヤのためのゲーム画像が生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、各プレイヤの操作対象である各オブジェクト１４１および１４２を含むゲーム空間を表す画像を生成する。なお、第３変形例では、ステップＳ５２で生成されるゲーム画像は、各オブジェクト１４１および１４２を含むゲーム空間を表す１つのゲーム画像であるが、他の実施形態においては、第１オブジェクト１４１を含むゲーム空間を表すゲーム画像と、第２オブジェクト１４２を含むゲーム空間を表すゲーム画像とからなるゲーム画像であってもよい。つまり、２人の各プレイヤのためのゲーム画像として生成されるゲーム画像は、１つのゲーム画像であってもよいし、第１プレイヤのためのゲーム画像と第２プレイヤのためのゲーム画像とを含むゲーム画像であってもよい。また、ゲーム画像の具体的な生成方法は、どのような方法であってもよく、例えば上記実施形態と同様の方法であってもよい。また、生成されたゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ５２の後、ＣＰＵ１０は画像生成処理を終了する。
【０２４６】
一方、ステップＳ５３においては、テレビ用ゲーム画像として、第２プレイヤのためのゲーム画像が生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、第２プレイヤの操作対象である第２オブジェクト１４２を含むゲーム空間を表す画像を生成する。ゲーム画像の具体的な生成方法は、どのような方法であってもよく、例えば上記実施形態と同様の方法であってもよい。また、生成されたゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ５３の次にステップＳ５４の処理が実行される。
【０２４７】
ステップＳ５４においては、端末用ゲーム画像として、第１プレイヤのためのゲーム画像が生成される。すなわち、ＣＰＵ１０およびＧＰＵ１１ｂは、第１プレイヤの操作対象である第１オブジェクト１４１を含むゲーム空間を表す画像を生成する。ゲーム画像の具体的な生成方法は、どのような方法であってもよく、例えば上記実施形態と同様の方法であってもよい。また、生成されたゲーム画像はＶＲＡＭ１１ｄに記憶される。ステップＳ５４の後、ＣＰＵ１０は画像生成処理を終了する。
【０２４８】
上記画像生成処理の後、上記実施形態と同様のステップＳ６〜Ｓ８の処理が実行される。すなわち、ステップＳ６において、ステップＳ５２またはＳ５３で生成されたテレビ用ゲーム画像がテレビ２へ出力されて表示される。続くステップＳ７において、ステップＳ５４で生成された端末用ゲーム画像が端末装置７へ出力（送信）されて表示される。なお、上記ステップＳ５１の判定結果が肯定となる場合には、端末用ゲーム画像は表示されない。
【０２４９】
以上のように、第３変形例によれば、ステップＳ３のゲーム制御処理によって所定のゲーム条件が満たされるか否か（各オブジェクト１４１および１４２が別々に行動するシーンであるか否か）が判定される（ステップＳ５１）。そして、ゲーム制御処理によって所定のゲーム条件が満たされる場合、ＣＰＵ１０は、第１プレイヤのための端末用ゲーム画像を生成する（ステップＳ５５）。また、ＣＰＵ１０は、ゲーム制御処理によって所定のゲーム条件が満たされる場合、第２プレイヤのためのテレビ用ゲーム画像を生成し（Ｓ５４）、ゲーム処理によって所定のゲーム条件が満たされない場合、各プレイヤのためのテレビ用ゲーム画像を生成する（Ｓ５２）。このように、第３変形例によれば、端末装置７を用いてゲーム画像を表示するか否かは、ゲーム状況に応じて決められる。これによれば、ゲーム状況に応じた適切な表示形態でゲーム画像を提供することができる。
【０２５０】
（ゲームシステムの構成に関する変形例）
上記実施形態においては、ゲームシステム１は、操作装置として機能する複数のコントローラ５と、ゲーム処理を実行するゲーム装置３と、表示装置として機能する端末装置７とを含む構成であった。ここで、他の実施形態においては、ゲームシステム１に含まれる端末装置７は複数であってもよい。端末装置が複数である場合、各端末装置には、プレイヤのためのゲーム画像がそれぞれ１つずつ表示される。したがって、例えばゲームシステム１に端末装置が２つ含まれる場合には、テレビ２と２つの端末装置との合計３つの表示装置がゲームシステム１に含まれるので、３人のプレイヤのための３つのゲーム画像をそれぞれの表示装置に表示することができる。また、４人のプレイヤが２対２で対戦するゲームの場合には、一方のチームの２人のプレイヤのゲーム画像を各端末装置に１つずつ表示するとともに、他方のチームの２人のプレイヤの２つのゲーム画像をテレビ２に表示することも可能である。これによれば、２対２の対戦ゲームであっても、味方のゲーム画像を相手側に見せずにゲームを行うことができる。
【０２５１】
（ゲーム処理を実行する情報処理装置に関する変形例）
上記実施形態においては、ゲームシステム１において実行される一連のゲーム処理をゲーム装置３が実行したが、ゲーム処理の一部は他の装置によって実行されてもよい。例えば、他の実施形態においては、ゲーム処理の一部（例えば、端末用ゲーム画像の生成処理）を端末装置７が実行するようにしてもよい。また、他の実施形態では、互いに通信可能な複数の情報処理装置を有するゲームシステムにおいて、当該複数の情報処理装置がゲーム処理を分担して実行するようにしてもよい。なお、複数の情報処理装置においてゲーム処理が実行される場合には、各情報処理装置で実行されるゲーム処理を同期させる必要があり、ゲーム処理が複雑になってしまう。これに対して、本実施形態のように、ゲーム処理が１つのゲーム装置３によって実行され、端末装置７がゲーム画像を受信して表示する処理を行う場合には、複数の情報処理装置間でゲーム処理の同期をとる必要がなく、ゲーム処理を簡易化することができる。
【産業上の利用可能性】
【０２５２】
本発明は、表示装置の表示領域の分割数を抑え、見やすいゲーム画像を表示すること等を目的として、例えばゲームシステムやゲーム装置やゲームプログラム等に利用することが可能である。
【符号の説明】
【０２５３】
１  ゲームシステム
２  テレビ
３  ゲーム装置
４  光ディスク
５  コントローラ
６  マーカ装置
７  端末装置
８  メインコントローラ
９  サブコントローラ
１０  ＣＰＵ
１１ｅ  内部メインメモリ
１２  外部メインメモリ
３５  撮像情報演算部
３７  加速度センサ
４８  ジャイロセンサ
５１  ＬＣＤ
５５  マーカ部
７０  無線モジュール
１００  ゲームプログラム
１０３  メイン加速度データ
１０４  角速度データ
１０５  マーカ座標データ
【図１】
0005756299.tif 000002
【図２】
0005756299.tif 000003
【図３】
0005756299.tif 000004
【図４】
0005756299.tif 000005
【図５】
0005756299.tif 000006
【図６】
0005756299.tif 000007
【図７】
0005756299.tif 000008
【図８】
0005756299.tif 000009
【図９】
0005756299.tif 000010
【図１０】
0005756299.tif 000011
【図１１】
0005756299.tif 000012
【図１２】
0005756299.tif 000013
【図１３】
0005756299.tif 000014
【図１４】
0005756299.tif 000015
【図１５】
0005756299.tif 000016
【図１６】
0005756299.tif 000017
【図１７】
0005756299.tif 000018
【図１８】
0005756299.tif 000019
【図１９】
0005756299.tif 000020
【図２０】
0005756299.tif 000021
【図２１】
0005756299.tif 000022
【図２２】
0005756299.tif 000023
【図２３】
0005756299.tif 000024
【図２４】
0005756299.tif 000025
【図２５】
0005756299.tif 000026
【図２６】
0005756299.tif 000027
【図２７】
0005756299.tif 000028
【図２８】
0005756299.tif 000029