(57)【特許請求の範囲】
【請求項１】
可搬型表示装置本体の姿勢および／または動きに応じた本体状態データと当該可搬型表示装置に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データとを少なくとも出力する当該可搬型表示装置に、画像を表示することが可能な情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
前記本体状態データに基づいて仮想世界の画像を生成するための第１仮想カメラの位置が移動する方向を制御し、前記タッチ位置データに基づいて当該第１仮想カメラの位置を制御する第１仮想カメラ制御手段と、
前記第１仮想カメラから見た仮想世界を示す第１画像を前記可搬型表示装置に表示する表示制御手段として機能させる、情報処理プログラム。
【請求項２】
前記本体状態データに基づいて、前記可搬型表示装置の姿勢および／または動きを算出する姿勢動き算出手段として、さらに前記コンピュータを機能させ、
前記第１仮想カメラ制御手段は、前記姿勢動き算出手段が算出した可搬型表示装置の姿勢および／または動きと前記タッチ位置データが示すタッチ位置とに基づいて、前記第１仮想カメラの姿勢および／または位置を制御する、請求項１に記載の情報処理プログラム。
【請求項３】
前記第１仮想カメラ制御手段は、前記可搬型表示装置の姿勢および／または動きに基づいて、前記第１仮想カメラを仮想世界に対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、前記タッチ位置データが示すタッチ位置に基づいて、前記第１仮想カメラを仮想世界に対して相対的に移動させて当該第１仮想カメラの位置を制御する、請求項２に記載の情報処理プログラム。
【請求項４】
前記第１仮想カメラ制御手段は、前記可搬型表示装置の姿勢および／または動きに基づいて、前記第１仮想カメラを仮想世界に配置されたオブジェクトに対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、前記タッチ位置データが示すタッチ位置に基づいて、前記第１仮想カメラを前記オブジェクトに対して相対的に移動させて当該第１仮想カメラの位置を制御する、請求項３に記載の情報処理プログラム。
【請求項５】
前記姿勢動き算出手段が算出した可搬型表示装置の姿勢および／または動きと前記タッチ位置データが示すタッチ位置とに基づいて、仮想世界に配置されたプレイヤオブジェクトの動作を制御するプレイヤオブジェクト制御手段として、さらに前記コンピュータを機能させ、
前記第１仮想カメラ制御手段は、前記プレイヤオブジェクトを少なくとも含む仮想世界の画像を生成する位置に前記第１仮想カメラを配置する、請求項３に記載の情報処理プログラム。
【請求項６】
前記第１仮想カメラ制御手段は、仮想世界において前記プレイヤオブジェクトの直上から俯瞰する位置に前記第１仮想カメラを配置する、請求項５に記載の情報処理プログラム。
【請求項７】
前記プレイヤオブジェクト制御手段は、前記可搬型表示装置の姿勢および／または動きに基づいて、前記第１仮想カメラと同じ回転方向および回転角度で仮想世界の鉛直方向周りに仮想世界に対して前記プレイヤオブジェクトを相対的に回転させて当該プレイヤオブジェクトの姿勢を制御し、
前記第１仮想カメラ制御手段は、前記タッチ位置データが示すタッチ位置に基づいて、前記第１仮想カメラと同じ移動方向および移動距離で仮想世界に対して前記プレイヤオブ
ジェクトを相対的に移動させて当該プレイヤオブジェクトの位置を制御する、請求項５または６に記載の情報処理プログラム。
【請求項８】
前記タッチ位置データに基づいて、前記タッチパネルへ入力されたタッチ位置の変位を算出するタッチ位置変位算出手段として、さらに前記コンピュータを機能させ、
前記第１仮想カメラ制御手段は、前記タッチ位置の変位に基づいて、前記第１仮想カメラを仮想世界に対して相対的に移動させる、請求項３乃至７のいずれか１つに記載の情報処理プログラム。
【請求項９】
前記第１仮想カメラ制御手段は、前記タッチ位置の変位方向に基づいて前記第１仮想カメラを移動させる移動方向を算出し、当該移動方向へ当該第１仮想カメラを仮想世界に対して相対的に移動させる、請求項８に記載の情報処理プログラム。
【請求項１０】
前記第１仮想カメラ制御手段は、前記タッチ位置の変位方向の逆方向を前記移動方向として算出する、請求項９に記載の情報処理プログラム。
【請求項１１】
前記第１仮想カメラ制御手段は、前記タッチ位置の変位と重なって表示される仮想世界における前記変位方向に対応する方向の逆方向を前記移動方向として算出する、請求項１０に記載の情報処理プログラム。
【請求項１２】
前記第１仮想カメラ制御手段は、前記タッチ位置の変位量に基づいて前記第１仮想カメラを移動させる移動距離を算出し、当該移動距離だけ当該第１仮想カメラを仮想世界に対して相対的に移動させる、請求項８乃至１１のいずれか１つに記載の情報処理プログラム。
【請求項１３】
前記第１仮想カメラ制御手段は、前記タッチ位置の変位と重なって表示される仮想世界における前記変位量に対応する距離を前記移動距離として算出する、請求項１２に記載の情報処理プログラム。
【請求項１４】
前記姿勢動き算出手段は、前記可搬型表示装置の表示画面に垂直な当該表示画面の奥行方向周りに当該可搬型表示装置が回転する姿勢および／または動きを少なくとも算出し、
前記第１仮想カメラ制御手段は、前記奥行方向周りに前記可搬型表示装置が回転する姿勢および／または動きに応じて、前記第１仮想カメラの姿勢を制御する、請求項２乃至１３のいずれか１つに記載の情報処理プログラム。
【請求項１５】
前記第１仮想カメラ制御手段は、前記奥行方向周りに前記可搬型表示装置が回転する回転方向に応じて、前記第１仮想カメラの視線方向周りに当該回転方向へ仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御する、請求項１４に記載の情報処理プログラム。
【請求項１６】
前記第１仮想カメラ制御手段は、前記可搬型表示装置本体の向きが前記奥行方向周りに変わる角度に応じて前記第１仮想カメラを仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御する、請求項１４または１５に記載の情報処理プログラム。
【請求項１７】
前記第１仮想カメラ制御手段は、前記可搬型表示装置本体の向きが変わる角度と同じ角度だけ前記第１仮想カメラを仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御する、請求項１６に記載の情報処理プログラム。
【請求項１８】
前記第１仮想カメラ制御手段は、前記可搬型表示装置が前記奥行方向周りに回転する回転方向および回転角度に応じて、前記第１仮想カメラの視線方向周りに当該回転角度だけ
当該回転方向へ仮想世界に対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、前記タッチ位置データが前記タッチパネルをドラッグする操作を示している場合、当該タッチ位置データが示すタッチ位置と重なって前記表示画面に表示される仮想世界における当該タッチ位置の移動方向および移動距離に応じて、前記視線方向に垂直な平面に沿って前記第１仮想カメラを当該移動距離だけ当該移動方向の逆方向へ仮想世界に対して相対的に移動させて当該第１仮想カメラの位置を制御する、請求項１４乃至１７のいずれか１つに記載の情報処理プログラム。
【請求項１９】
荷重検出装置に加えられた荷重に基づくデータを取得する荷重取得手段として、さらに前記コンピュータを機能させ、
前記プレイヤオブジェクト制御手段は、前記荷重取得手段が取得したデータに基づいて、仮想世界に対して前記プレイヤオブジェクトを相対的に移動させて当該プレイヤオブジェクトの位置を制御する、請求項５乃至７のいずれか１つに記載の情報処理プログラム。
【請求項２０】
前記可搬型表示装置は、ジャイロセンサおよび加速度センサの少なくとも一方を含み、
前記姿勢動き算出手段は、前記ジャイロセンサおよび前記加速度センサの少なくとも一方から出力されるデータに基づいて、前記可搬型表示装置の姿勢および／または動きを算出する、請求項２乃至１９のいずれか１つに記載の情報処理プログラム。
【請求項２１】
前記表示制御手段は、前記第１画像を示す画像データを前記可搬型表示装置へ出力し、
前記可搬型表示装置は、前記情報処理装置から出力された画像データを取得する画像データ取得手段を備え、
前記可搬型表示装置の表示画面は、前記画像データ取得手段が取得した画像データが示す前記第１画像を表示する、請求項１乃至２０のいずれか１つに記載の情報処理プログラム。
【請求項２２】
前記第１画像を示す画像データを圧縮して圧縮画像データを生成する圧縮画像生成手段として、さらに前記コンピュータを機能させ、
前記表示制御手段は、前記圧縮画像生成手段が生成した圧縮画像データを前記可搬型表示装置へ出力し、
前記画像データ取得手段は、前記情報処理装置から出力された圧縮画像データを取得し、
前記可搬型表示装置は、前記圧縮画像データを伸張して前記第１画像を示す画像データを得る表示画像伸張手段を、さらに備え、
前記可搬型表示装置の表示画面は、前記画像データ取得手段が取得して前記表示画像伸張手段が伸張した画像データが示す前記第１画像を表示する、請求項２１に記載の情報処理プログラム。
【請求項２３】
前記表示制御手段は、前記第１画像とは別に、第２仮想カメラから見た前記仮想世界を示す第２画像を、前記情報処理装置に接続された別の表示装置にさらに表示する、請求項１乃至２０のいずれか１つに記載の情報処理プログラム。
【請求項２４】
前記第１画像を示す画像データを圧縮して圧縮画像データを生成する圧縮画像生成手段として、さらに前記コンピュータを機能させ、
前記表示制御手段は、前記圧縮画像生成手段が生成した圧縮画像データを前記可搬型表示装置へ出力し、当該圧縮画像データとは別に、前記第２画像を示す画像データを圧縮することなく前記別の表示装置へ出力し、
前記可搬型表示装置は、
前記情報処理装置から出力された圧縮画像データを取得する画像データ取得手段と、
前記圧縮画像データを伸張して前記第１画像を示す画像データを得る表示画像伸張手段とを備え、
前記可搬型表示装置の表示画面は、前記画像データ取得手段が取得して前記表示画像伸張手段が伸張した画像データが示す前記第１画像を表示する、請求項２３に記載の情報処理プログラム。
【請求項２５】
前記第１仮想カメラとは異なる位置に前記第２仮想カメラを設定して、当該第２仮想カメラの姿勢および／または位置を制御する第２仮想カメラ制御手段として、さらに前記コンピュータを機能させる、請求項２３または２４に記載の情報処理プログラム。
【請求項２６】
前記第２仮想カメラ制御手段は、前記第１仮想カメラの視線方向と平行となるように前記第２仮想カメラの視線方向を設定して、前記第１仮想カメラの後方に前記第２仮想カメラを設定し、
前記表示制御手段は、前記第１画像で示される仮想世界の範囲より広い範囲を、前記第２画像として前記別の表示装置に表示する、請求項２５に記載の情報処理プログラム。
【請求項２７】
前記第１仮想カメラ制御手段は、仮想世界の鉛直方向に前記第１仮想カメラの視線方向を設定し、
前記第２仮想カメラ制御手段は、仮想世界の鉛直方向に前記第２仮想カメラの視線方向を設定する、請求項２５または２６に記載の情報処理プログラム。
【請求項２８】
前記第１仮想カメラ制御手段は、前記本体状態データに基づいて前記第１仮想カメラの位置が所定の速度で移動する方向を制御し、前記タッチ位置データに基づいて当該速度とは無関係に当該第１仮想カメラの位置を制御する、請求項１に記載の情報処理プログラム。
【請求項２９】
可搬型表示装置本体の姿勢および／または動きに応じた本体状態データと当該可搬型表示装置に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データとを少なくとも出力する当該可搬型表示装置に、画像を表示することが可能な情報処理装置であって、
前記本体状態データに基づいて仮想世界の画像を生成するための第１仮想カメラの位置が移動する方向を制御し、前記タッチ位置データに基づいて当該第１仮想カメラの位置を制御する第１仮想カメラ制御手段と、
前記第１仮想カメラから見た仮想世界を示す第１画像を前記可搬型表示装置に表示する表示制御手段とを備える、情報処理装置。
【請求項３０】
複数の装置が通信可能に構成され、可搬型表示装置本体の姿勢および／または動きに応じた本体状態データと当該可搬型表示装置に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データとを少なくとも出力する当該可搬型表示装置に、画像を表示することが可能な情報処理システムであって、
前記本体状態データに基づいて仮想世界の画像を生成するための第１仮想カメラの位置が移動する方向を制御し、前記タッチ位置データに基づいて当該第１仮想カメラの位置を制御する第１仮想カメラ制御手段と、
前記第１仮想カメラから見た仮想世界を示す第１画像を前記可搬型表示装置に表示する表示制御手段とを備える、情報処理システム。
【請求項３１】
可搬型表示装置本体の姿勢および／または動きに応じた本体状態データと当該可搬型表示装置に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データとを少なくとも出力する当該可搬型表示装置に、画像を表示することが可能な少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行される情報処理方法であって、
前記本体状態データに基づいて仮想世界の画像を生成するための第１仮想カメラの位置が移動する方向を制御し、前記タッチ位置データに基づいて当該第１仮想カメラの位置を制御する第１仮想カメラ制御ステップと、
前記第１仮想カメラから見た仮想世界を示す第１画像を前記可搬型表示装置に表示する表示制御ステップとを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関し、特に例えば、仮想世界の表示を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法に関する。
【背景技術】
【０００２】
従来、ユーザが移動携帯端末（携帯型ゲーム装置）を把持して操作し、実空間における当該移動携帯端末の姿勢や位置に応じてイベントが実行されるゲームがある（例えば、特許文献１参照）。上記特許文献１に記載された移動携帯端末は、実空間における当該移動携帯端末の位置や姿勢を検出するセンサを備えており、当該端末のユーザは、移動携帯端末自体を動かしたり移動携帯端末自体の姿勢を変えたりしながらゲームを進める。例えば、上記移動携帯端末は、実空間における移動携帯端末の姿勢に応じて、移動携帯端末の表示画面に表示された画像をスクロールさせる。そして、移動携帯端末の表示画面中央にスコープが表示され、当該スコープ内に仮想オブジェクト（例えば、虫オブジェクト）が入った状態で移動携帯端末の所定ボタンが押下されると、当該スコープ内に仮想オブジェクトが捕獲されたとみなされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９８１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示された移動携帯端末は、表示画面に表示される仮想世界の画像の視点を変えようとした場合、当該移動携帯端末自体の姿勢によって画像をスクロールしなければならない。したがって、仮想世界の視点を移動させるためには移動携帯端末自体を移動させる必要があるため、ユーザにとって操作しづらくなることがある。例えば、仮想世界の視点を大きく移動させるためには移動携帯端末自体も大きく移動させる必要があるため、ユーザが大きな動作が要求されることに加えて、移動携帯端末自体を動かせる実空間が限定される場合はユーザ所望の位置まで視点を動かせないことも考えられる。
【０００５】
それ故に、本発明の目的は、装置本体の動きや姿勢によって当該装置に表示される画像の視点が変わる場合に、当該視点を変える操作をさらに容易にすることが可能となる情報処理プログラム、情報処理システム、および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の情報処理プログラムの一構成例は、可搬型表示装置本体の姿勢および／または動きに応じた本体状態データと当該可搬型表示装置に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データとを少なくとも出力する当該可搬型表示装置に、画像を表示することが可能な情報処理装置のコンピュータで実行される。情報処理プログラムは、第１仮想カメラ制御手段、および表示制御手段として、コンピュータを機能させる。第１仮想カメラ制御手段は、本体状態データおよびタッチ位置データに基づいて、仮想世界の画像を生成するための第１仮想カメラの姿勢および／または位置を制御する。表示制御手段は、第１仮想カメラから見た仮想世界を示す第１画像を可搬型表示装置に表示する。
【０００８】
なお、上記情報処理装置は、ゲーム処理を実行して当該ゲーム処理に基づいた画像を生成する装置であってもいいし、一般的なパーソナルコンピュータのような多用途の装置であってもよい。上記可搬型表示装置は、ユーザによって持ち運び可能なサイズであればよく、典型的にはユーザが両手で把持した姿勢で当該可搬型表示装置に表示される画像を視認できるような表示装置であってもよい。また、上記可搬型表示装置は、後述する実施形態における端末装置のように、可搬型表示装置本体の姿勢および／または動きに応じたデータを少なくとも出力する手段、当該可搬型表示装置の表示画面の表面に設けられたタッチパネルへのタッチ位置に応じたタッチ位置データを出力する手段、および第１画像を表示する表示画面以外の他の構成を備えていてもよいし、備えていなくてもよい。
【０００９】
上記によれば、可搬型表示装置本体の動きや姿勢によって当該装置に表示される画像の視点が変わる場合に、当該視点をタッチ操作でも変えることができるため、ユーザが視点を変える操作をさらに容易にすることができる。例えば、仮想世界において視点を大きく移動させたい場合であっても、タッチ操作によって当該視点移動が可能となるため、可搬型表示装置本体を大きく動かして視点を動かすような操作が不要となる。
【００１０】
また、上記情報処理プログラムは、姿勢動き算出手段として、さらにコンピュータを機能させてもよい。姿勢動き算出手段は、本体状態データに基づいて、可搬型表示装置の姿勢および／または動きを算出する。この場合、上記第１仮想カメラ制御手段は、姿勢動き算出手段が算出した可搬型表示装置の姿勢および／または動きとタッチ位置データが示すタッチ位置とに基づいて、第１仮想カメラの姿勢および／または位置を制御してもよい。
【００１１】
上記によれば、可搬型表示装置から出力される本体状態データを用いて可搬型表示装置の姿勢および／または動きを算出し、当該可搬型表示装置の姿勢および／または動きに基づいて、第１仮想カメラの姿勢および／または位置を制御することが可能となる。
【００１２】
また、上記第１仮想カメラ制御手段は、可搬型表示装置の姿勢および／または動きに基づいて、第１仮想カメラを仮想世界に対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、タッチ位置データが示すタッチ位置に基づいて、第１仮想カメラを仮想世界に対して相対的に移動させて当該第１仮想カメラの位置を制御してもよい。
【００１３】
上記によれば、可搬型表示装置本体の姿勢および／または動きによる操作によって第１仮想カメラを仮想世界で相対的に回転させ、可搬型表示装置の表示画面に設けられたタッチパネルへのタッチ操作によって第１仮想カメラを仮想世界で相対的に移動させるような多様なユーザ操作が可能となる。
【００１４】
また、上記第１仮想カメラ制御手段は、可搬型表示装置の姿勢および／または動きに基づいて、第１仮想カメラを仮想世界に配置されたオブジェクトに対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、タッチ位置データが示すタッチ位置に基づいて、第１仮想カメラをオブジェクトに対して相対的に移動させて当該第１仮想カメラの位置を制御してもよい。
【００１５】
上記によれば、可搬型表示装置本体の動きや姿勢によって当該装置に表示されるオブジェクトに対する視点が変わる場合に、当該視点をタッチ操作でも変えることができるため、ユーザがオブジェクトを見る視点を変える操作をさらに容易にすることができる。例えば、オブジェクトが表示画面に表示される範囲を大きく移動させたい場合であっても、タッチ操作によって表示範囲を移動させることが可能となるため、可搬型表示装置本体を大きく動かして表示範囲を移動させるような操作が不要となる。
【００１６】
また、上記情報処理プログラムは、プレイヤオブジェクト制御手段として、さらにコンピュータを機能させてもよい。プレイヤオブジェクト制御手段は、姿勢動き算出手段が算出した可搬型表示装置の姿勢および／または動きとタッチ位置データが示すタッチ位置とに基づいて、仮想世界に配置されたプレイヤオブジェクトの動作を制御する。この場合、上記第１仮想カメラ制御手段は、プレイヤオブジェクトを少なくとも含む仮想世界の画像を生成する位置に第１仮想カメラを配置してもよい。
【００１７】
上記によれば、第１仮想カメラの姿勢および／または位置を変える操作と同時に、プレイヤオブジェクトの動作を制御する操作も可能となる。
【００１８】
また、上記第１仮想カメラ制御手段は、仮想世界においてプレイヤオブジェクトの直上から俯瞰する位置に第１仮想カメラを配置してもよい。
【００１９】
上記によれば、仮想世界に配置されたプレイヤオブジェクトを俯瞰した画像を可搬型表示装置に表示することができる。
【００２０】
また、上記プレイヤオブジェクト制御手段は、可搬型表示装置の姿勢および／または動きに基づいて、第１仮想カメラと同じ回転方向および回転角度で仮想世界の鉛直方向周りに仮想世界に対してプレイヤオブジェクトを相対的に回転させて当該プレイヤオブジェクトの姿勢を制御してもよい。上記第１仮想カメラ制御手段は、タッチ位置データが示すタッチ位置に基づいて、第１仮想カメラと同じ移動方向および移動距離で仮想世界に対してプレイヤオブジェクトを相対的に移動させて当該プレイヤオブジェクトの位置を制御してもよい。
【００２１】
上記によれば、第１仮想カメラの姿勢および／または位置の変化と同じようにプレイヤオブジェクトの姿勢および／または位置が変化するため、可搬型表示装置の表示画面に対して常に同じ状態でプレイヤオブジェクトが表示されるような画像を生成することができる。また、プレイヤオブジェクトが表示画面に対して常に同じ状態で表示されるため、可搬型表示装置本体の姿勢および／または動きやタッチ位置によってプレイヤオブジェクトを動作制御する操作が直感的で容易になる。
【００２２】
また、上記情報処理プログラムは、タッチ位置変位算出手段として、さらにコンピュータを機能させてもよい。タッチ位置変位算出手段は、タッチ位置データに基づいて、タッチパネルへ入力されたタッチ位置の変位を算出する。この場合、上記第１仮想カメラ制御手段は、タッチ位置の変位に基づいて、第１仮想カメラを仮想世界に対して相対的に移動させてもよい。
【００２３】
上記によれば、例えばタッチパネルに対するドラッグ操作のように、タッチパネルに対するタッチ位置を変化させるような操作によって第１仮想カメラを仮想世界で相対的に移動させることができる。
【００２４】
また、上記第１仮想カメラ制御手段は、タッチ位置の変位方向に基づいて第１仮想カメラを移動させる移動方向を算出し、当該移動方向へ当該第１仮想カメラを仮想世界に対して相対的に移動させてもよい。
【００２５】
上記によれば、タッチパネルに対するタッチ位置を変化させる方向に基づいて第１仮想カメラの移動方向が設定されるため、ユーザ所望の方向に第１仮想カメラを相対的に移動させることができる。
【００２６】
また、上記第１仮想カメラ制御手段は、タッチ位置の変位方向の逆方向を移動方向として算出してもよい。
【００２７】
また、上記第１仮想カメラ制御手段は、タッチ位置の変位と重なって表示される仮想世界における変位方向に対応する方向の逆方向を移動方向として算出してもよい。
【００２８】
上記によれば、タッチパネルに対するタッチ位置を変化させる方向の逆方向に第１仮想カメラが移動し、表示画面に表示されている仮想世界がタッチパネルへのタッチ位置の移動方向に追従するようにスクロールされるため、直感的に視点を移動させる操作を行うことが可能となる。
【００２９】
また、上記第１仮想カメラ制御手段は、タッチ位置の変位量に基づいて第１仮想カメラを移動させる移動距離を算出し、当該移動距離だけ当該第１仮想カメラを仮想世界に対して相対的に移動させてもよい。
【００３０】
上記によれば、タッチパネルに対するタッチ位置を変化させる量に基づいて第１仮想カメラの移動距離が設定されるため、ユーザ所望の距離だけ第１仮想カメラを相対的に移動させることができる。
【００３１】
また、上記第１仮想カメラ制御手段は、タッチ位置の変位と重なって表示される仮想世界における変位量に対応する距離を移動距離として算出してもよい。
【００３２】
上記によれば、タッチパネルに対するタッチ位置を変化させる量と同じ距離だけ第１仮想カメラを相対的に移動させることができるため、直感的に視点を移動させる操作を行うことが可能となる。
【００３３】
また、上記姿勢動き算出手段は、可搬型表示装置の表示画面に垂直な当該表示画面の奥行方向周りに当該可搬型表示装置が回転する姿勢および／または動きを少なくとも算出してもよい。上記第１仮想カメラ制御手段は、奥行方向周りに可搬型表示装置が回転する姿勢および／または動きに応じて、第１仮想カメラの姿勢を制御してもよい。
【００３４】
上記によれば、可搬型表示装置の表示画面の奥行方向周りに回転（ロール）するように当該可搬型表示装置を動かすことによって、第１仮想カメラの姿勢を変化させることができる。
【００３５】
また、上記第１仮想カメラ制御手段は、奥行方向周りに可搬型表示装置が回転する回転方向に応じて、第１仮想カメラの視線方向周りに当該回転方向へ仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御してもよい。
【００３６】
上記によれば、可搬型表示装置の表示画面の奥行方向周りに回転（ロール）するように当該可搬型表示装置を動かした場合、当該表示画面の回転方向と同じ方向に視線方向周りに第１仮想カメラが相対的に回転することになるため、可搬型表示装置の表示画面を介して仮想世界を覗いているような画像を表示することができる。
【００３７】
また、上記第１仮想カメラ制御手段は、可搬型表示装置本体の向きが奥行方向周りに変わる角度に応じて第１仮想カメラを仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御してもよい。
【００３８】
上記によれば、ユーザは可搬型表示装置の方向を変化させることによって、第１仮想カメラの姿勢を制御することができる。
【００３９】
また、上記第１仮想カメラ制御手段は、可搬型表示装置本体の向きが変わる角度と同じ角度だけ第１仮想カメラを仮想世界に対して相対的に回転させて、当該第１仮想カメラの姿勢を制御してもよい。
【００４０】
上記によれば、可搬型表示装置の姿勢および／または位置を変化させる角度と同じ角度だけ第１仮想カメラを相対的に回転させることができる。
【００４１】
また、上記第１仮想カメラ制御手段は、可搬型表示装置が奥行方向周りに回転する回転方向および回転角度に応じて、第１仮想カメラの視線方向周りに当該回転角度だけ当該回転方向へ仮想世界に対して相対的に回転させて当該第１仮想カメラの姿勢を制御し、タッチ位置データがタッチパネルをドラッグする操作を示している場合、当該タッチ位置データが示すタッチ位置と重なって表示画面に表示される仮想世界における当該タッチ位置の移動方向および移動距離に応じて、視線方向に垂直な平面に沿って第１仮想カメラを当該移動距離だけ当該移動方向の逆方向へ仮想世界に対して相対的に移動させて当該第１仮想カメラの位置を制御してもよい。
【００４２】
上記によれば、可搬型表示装置の表示画面の奥行方向周りに回転（ロール）するように当該可搬型表示装置を動かした場合、当該表示画面の回転方向と同じ方向に同じ角度だけ視線方向周りに第１仮想カメラが相対的に回転することになるため、可搬型表示装置の表示画面が回転しても当該表示画面に表示される仮想世界が実空間において常に同じ方向に向くように表示することができる。また、可搬型表示装置のタッチパネルに対してドラッグ操作した場合、当該ドラッグ操作に追従するように表示画面に表示された仮想世界を移動させて表示することができる。
【００４３】
また、上記情報処理プログラムは、荷重取得手段として、さらにコンピュータを機能させてもよい。荷重取得手段は、荷重検出装置に加えられた荷重に基づくデータを取得する。この場合、上記プレイヤオブジェクト制御手段は、荷重取得手段が取得したデータに基づいて、仮想世界に対してプレイヤオブジェクトを相対的に移動させて当該プレイヤオブジェクトの位置を制御してもよい。
【００４４】
なお、上記荷重検出装置は、一例としてユーザの身体の少なくとも一部を乗せて当該荷重検出装置に加わる荷重を検出したり、荷重に応じてオン／オフされたりする装置であり、ユーザが上面に両足裏を接面させて乗って操作するものや、ユーザが上面に片足だけを乗せて操作するものや、ユーザが他の身体の部位（例えば、手）を乗せて操作するもの等が考えられる。
【００４５】
上記によれば、荷重検出装置を用いたユーザ操作によって、プレイヤオブジェクトを移動させることも可能となる。したがって、ユーザが当該第１画像を可搬型表示装置で見ながら当該可搬型表示装置を動かしたり、タッチパネルを操作したりすることによって視点を調整しながら、荷重検出装置を用いてプレイヤオブジェクトを移動させる操作が可能となるため、ユーザは、今までにない操作環境での操作が可能となる。
【００４６】
また、上記可搬型表示装置は、ジャイロセンサおよび加速度センサの少なくとも一方を含んでもよい。上記姿勢動き算出手段は、ジャイロセンサおよび加速度センサの少なくとも一方から出力されるデータに基づいて、可搬型表示装置の姿勢および／または動きを算出してもよい。
【００４７】
上記によれば、ジャイロセンサから出力される可搬型表示装置に生じている角速度を示すデータおよび／または加速度センサから出力される可搬型表示装置に生じている加速度を示すデータを用いることによって、当該可搬型表示装置の姿勢や動きを精確に算出することができる。
【００４８】
また、上記表示制御手段は、第１画像を示す画像データを可搬型表示装置へ出力してもよい。上記可搬型表示装置は、情報処理装置から出力された画像データを取得する画像データ取得手段を備えてもよい。可搬型表示装置の表示画面は、画像データ取得手段が取得した画像データが示す第１画像を表示してもよい。
【００４９】
上記によれば、可搬型表示装置がゲーム処理等の情報処理を実行しない、いわゆるシンクライアント端末として機能することができる。
【００５０】
また、上記情報処理プログラムは、圧縮画像生成手段として、さらにコンピュータを機能させてもよい。圧縮画像生成手段は、第１画像を示す画像データを圧縮して圧縮画像データを生成する。この場合、上記表示制御手段は、圧縮画像生成手段が生成した圧縮画像データを可搬型表示装置へ出力してもよい。上記画像データ取得手段は、情報処理装置から出力された圧縮画像データを取得してもよい。上記可搬型表示装置は、圧縮画像データを伸張して第１画像を示す画像データを得る表示画像伸張手段を、さらに備えてもよい。上記可搬型表示装置の表示画面は、画像データ取得手段が取得して表示画像伸長手段が伸長した画像データが示す第１画像を表示してもよい。
【００５１】
上記によれば、第１画像は、圧縮されて情報処理装置から可搬型表示装置へ出力されるので、第１画像を高速に出力することができ、第１画像が生成されてから第１画像が可搬型表示装置に表示されるまでの遅延を少なくすることができる。
【００５２】
また、上記表示制御手段は、第１画像とは別に、第２仮想カメラから見た仮想世界を示す第２画像を、情報処理装置に接続された別の表示装置にさらに表示してもよい。
【００５３】
なお、上記別の表示装置は、後述する実施形態におけるモニタ２のように情報処理装置に接続された表示装置であり、上記可搬型表示装置と別体であればよく、情報処理装置によって生成された第２画像を表示することが可能なものであればどのようなものであってもよい。例えば、上記別の表示装置は、情報処理装置と一体に（１つの筐体内に）構成されるものであってもよい。
【００５４】
上記によれば、可搬型表示装置を動かす操作およびタッチ操作に基づいた処理を行う場合に、当該処理結果が可搬型表示装置だけでなく情報処理装置に接続された別の表示装置にも表示することができる。したがって、ユーザは、例えば２つの装置に表示される画像を操作状況や好みに応じて使い分けることが可能となり、ユーザ操作に好適な画像を見ることも可能となる。また、情報処理装置に接続された別の表示装置に表示する画像を、例えばユーザとは異なる他の人が見るための画像として用いることもでき、複数の人が処理結果を見る場合にも好適な視聴環境となり得る。
【００５５】
また、上記情報処理プログラムは、圧縮画像生成手段として、さらにコンピュータを機能させてもよい。圧縮画像生成手段は、第１画像を示す画像データを圧縮して圧縮画像データを生成する。この場合、上記表示制御手段は、圧縮画像生成手段が生成した圧縮画像データを可搬型表示装置へ出力し、当該圧縮画像データとは別に、第２画像を示す画像データを圧縮することなく別の表示装置へ出力してもよい。上記可搬型表示装置は、情報処理装置から出力された圧縮画像データを取得する画像データ取得手段と、圧縮画像データを伸張して第１画像を示す画像データを得る表示画像伸張手段とを備えてもよい。上記可搬型表示装置の表示画面は、画像データ取得手段が取得して表示画像伸長手段が伸長した画像データが示す第１画像を表示してもよい。
【００５６】
上記によれば、第１画像は、圧縮されて情報処理装置から可搬型表示装置へ出力されるので、第１画像を高速に出力することができ、第１画像が生成されてから第１画像が可搬型表示装置に表示されるまでの遅延を少なくすることができる。
【００５７】
また、上記情報処理プログラムは、第２仮想カメラ制御手段として、さらにコンピュータを機能させてもよい。第２仮想カメラ制御手段は、第１仮想カメラとは異なる位置に第２仮想カメラを設定して、当該第２仮想カメラの姿勢および／または位置を制御する。
【００５８】
上記によれば、可搬型表示装置だけでなく別の表示装置にも同じ仮想世界が表示され、それぞれ視点の異なる仮想世界の画像が表示される。したがって、ユーザは、操作する際に、２つの装置に表示される画像を操作状況や好みに応じて使い分けることが可能となる。
【００５９】
また、上記第２仮想カメラ制御手段は、第１仮想カメラの視線方向と平行となるように第２仮想カメラの視線方向を設定して、第１仮想カメラの後方に第２仮想カメラを設定してもよい。上記表示制御手段は、第１画像で示される仮想世界の範囲より広い範囲を、第２画像として別の表示装置に表示してもよい。
【００６０】
上記によれば、可搬型表示装置に表示される仮想世界の画像より広い表示範囲の仮想世界の画像がゲーム装置に接続された別の表示装置に表示されるため、例えば仮想世界の様子をユーザに提示する際にユーザ操作において好適となる画像を、それぞれの表示装置に表示することが可能となる。
【００６１】
また、上記第１仮想カメラ制御手段は、仮想世界の鉛直方向に第１仮想カメラの視線方向を設定してもよい。上記第２仮想カメラ制御手段は、仮想世界の鉛直方向に第２仮想カメラの視線方向を設定してもよい。
【００６２】
上記によれば、可搬型表示装置だけでなく別の表示装置にも同じ仮想世界が表示され、当該可搬型表示装置および別の表示装置には当該仮想世界を鳥瞰した画像が表示されるため、例えば仮想世界の様子をユーザに提示する際にユーザ操作において好適となる画像を、それぞれの表示装置に表示することが可能となる。
【００６３】
また、本発明は、上記各手段を備える情報処理装置および情報処理システムや上記各手段で行われる動作を含む情報処理方法の形態で実施されてもよい。
【発明の効果】
【００６４】
本発明によれば、可搬型表示装置本体の動きや姿勢によって当該装置に表示される画像の視点が変わる場合に、当該視点を変える操作をさらに容易にすることができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係るゲームシステム１の一例を示す外観図
【図２】図１のゲーム装置本体５の一例を示す機能ブロック図
【図３】図１の端末装置６の外観構成の一例を示す図
【図４】ユーザが端末装置６を把持した様子の一例を示す図
【図５】図３の端末装置６の内部構成の一例を示すブロック図
【図６】図１のボード型コントローラ９の外観の一例を示す斜視図
【図７】図６に示したボード型コントローラ９のＡ−Ａ断面図の一例を示すとともに、荷重センサ９４が配置された隅の部分が拡大表示された一例を示す図
【図８】図６のボード型コントローラ９の電気的な構成の一例を示すブロック図
【図９】端末装置６およびボード型コントローラ９を用いて操作するユーザの様子の一例を示す図
【図１０Ａ】モニタ２に表示される画像の一例を示す図
【図１０Ｂ】端末装置６のＬＣＤ６１に表示される画像の一例を示す図
【図１１Ａ】端末装置６の姿勢による操作が基準操作指示方向を示している場合にモニタ２に表示される画像の一例を示す図
【図１１Ｂ】端末装置６の姿勢による操作が基準操作指示方向を示している状態において端末装置６のＬＣＤ６１に表示される画像の一例を示す図
【図１２Ａ】図１１Ｂに示した状態から端末装置６を卓上で反時計方向にロール回転させた場合にモニタ２に表示される画像の一例を示す図
【図１２Ｂ】図１１Ｂに示した状態から端末装置６を卓上で反時計方向にロール回転させた場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図
【図１３Ａ】図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合にモニタ２に表示される画像の一例を示す図
【図１３Ｂ】図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図
【図１４】端末装置６の姿勢から得られる操作指示方向の変化に対応する一例としてプレイヤオブジェクトおよび仮想カメラの回転動作を説明するための図
【図１５】端末装置６の姿勢から得られる操作指示方向の変化に対応する他の例として地形オブジェクトの回転動作を説明するための図
【図１６Ａ】図１１Ｂに示した状態から端末装置６のタッチパネル６２がタッチ操作された場合にモニタ２に表示される画像の一例を示す図
【図１６Ｂ】図１１Ｂに示した状態から端末装置６のタッチパネル６２がタッチ操作された場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図
【図１７】端末装置６のタッチパネル６２へのタッチ操作に対応する一例としてプレイヤオブジェクトおよび仮想カメラの移動動作を説明するための図
【図１８】端末装置６のタッチパネル６２へのタッチ操作に対応する他の例として地形オブジェクトの移動動作を説明するための図
【図１９】図１のゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図
【図２０】図１のゲーム装置本体５において実行されるゲーム処理の一例を示すフローチャート
【図２１】図２０におけるステップ４４のゲーム制御処理の一例を示すサブルーチン
【図２２】図２１におけるステップ８３のオブジェクト設定処理の一例を示すサブルーチン
【図２３】図２２におけるステップ１１８の移動処理の一例を示すサブルーチン
【発明を実施するための形態】
【００６６】
図１を参照して、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置および当該情報処理装置を含む情報処理システムについて説明する。以下、説明を具体的にするために、当該情報処理装置の一例として据置型のゲーム装置本体５を用い、ゲーム装置本体５を含むゲームシステムを用いて説明する。なお、図１は、据置型のゲーム装置３を含むゲームシステム１の一例を示す外観図である。図２は、ゲーム装置本体５の一例を示すブロック図である。以下、当該ゲームシステム１について説明する。
【００６７】
図１において、ゲームシステム１は、表示手段の一例である家庭用テレビジョン受像機（以下、モニタと記載する）２と、モニタ２に接続コードを介して接続する据置型のゲーム装置３とから構成される。モニタ２は、ゲーム装置３から出力された音声信号を音声出力するためのスピーカ２ａを備える。また、ゲーム装置３は、本願発明の情報処理プログラムの一例となるプログラム（例えば、ゲームプログラム）を記録した光ディスク４と、光ディスク４のプログラムを実行してゲーム画面をモニタ２に表示出力させるためのコンピュータを搭載したゲーム装置本体５と、端末装置６と、表示画面に表示されたオブジェクト等を操作するために必要な操作情報をゲーム装置本体５に与えるためのコントローラ７と、ボード型コントローラ９とを含む。ゲームシステム１は、端末装置６、コントローラ７、およびボード型コントローラ９の少なくとも１つを用いたゲーム操作に基づいて、ゲーム装置本体５においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をモニタ２および／または端末装置６に表示するものである。なお、ゲーム装置本体５と端末装置６、コントローラ７、およびボード型コントローラ９とは、無線によって無線通信可能に接続される。例えば、上記無線通信は、Ｂｌｕｅｔｏｏｔｈ（登録商標）規格やＩＥＥＥ８０２．１１ｎ規格に従って実行されるが、赤外線など他の規格に従って実行されてもよい。
【００６８】
ゲーム装置本体５には、当該ゲーム装置本体５に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置本体５において実行されるための情報処理プログラム（典型的にはゲームプログラム）が記憶されている。ゲーム装置本体５の前面には、光ディスク４の挿入口が設けられている。ゲーム装置本体５は、挿入口に挿入された光ディスク４に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【００６９】
ゲーム装置本体５には、モニタ２が接続コードを介して接続される。モニタ２は、ゲーム装置本体５において実行されるゲーム処理によって得られるゲーム画像を表示する。モニタ２はスピーカ２ａを有しており、スピーカ２ａは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置本体５と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置本体５とモニタ２との通信は無線通信であってもよい。
【００７０】
ゲーム装置本体５には、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能するフラッシュメモリ１７（図２参照）が搭載される。ゲーム装置本体５は、光ディスク４に記憶されたゲームプログラム等を実行することによって、その結果をゲーム画像としてモニタ２および／または端末装置６に表示する。ゲームプログラム等は、光ディスク４に限らず、フラッシュメモリ１７に予め記録されたものを実行するようにしてもよい。また、ゲーム装置本体５は、フラッシュメモリ１７に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２および／または端末装置６に表示することもできる。そして、ゲーム装置３のユーザは、モニタ２および／または端末装置６に表示されたゲーム画像を見ながら、端末装置６、コントローラ７、およびボード型コントローラ９の少なくとも１つを操作することによって、ゲーム進行を楽しむことができる。
【００７１】
コントローラ７およびボード型コントローラ９は、コントローラ通信モジュール１９を内蔵するゲーム装置本体５へ、例えばＢｌｕｅｔｏｏｔｈの技術を用いて操作情報等の送信データをそれぞれ無線送信する。コントローラ７は、主にモニタ２の表示画面に表示された選択肢の選択等をするための操作手段である。コントローラ７は、片手で把持可能な程度の大きさのハウジングと、当該ハウジングの表面に露出して設けられた複数個の操作ボタン（十字キー等を含む）とが設けられている。また、後述により明らかとなるが、コントローラ７は、コントローラ７から見た画像を撮像する撮像情報演算部を備えている。そして、撮像情報演算部の撮像対象の一例として、モニタ２の表示画面近傍（図１では画面の上側）に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。詳細は後述するが、ユーザ（プレイヤ）は、コントローラ７を動かすゲーム操作を行うことができ、マーカ８は、コントローラ７の動きや位置や姿勢等をゲーム装置本体５が算出するために用いられる。マーカ８は、その両端に２つのマーカ８Ｌおよび８Ｒを備えている。マーカ８Ｒ（マーカ８Ｌも同様）は、具体的には１以上の赤外ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）であり、モニタ２の前方に向かって赤外光を出力する。マーカ８はゲーム装置本体５に接続されており、ゲーム装置本体５はマーカ８が備える各赤外ＬＥＤの点灯を制御することが可能である。なお、マーカ８は可搬型であり、ユーザはマーカ８を自由な位置に設置することができる。図１ではマーカ８がモニタ２の上に設置された態様を表しているが、マーカ８を設置する位置および向きは任意である。また、コントローラ７は、ゲーム装置本体５のコントローラ通信モジュール１９から無線送信された送信データを通信部で受信して、当該送信データに応じた音や振動を発生させることもできる。
【００７２】
なお、他の実施形態においてはコントローラ７および／またはボード型コントローラ９とゲーム装置本体５とは有線で接続されてもよい。また、本実施形態では、ゲームシステム１に含まれるコントローラ７およびボード型コントローラ９はそれぞれ１つとするが、ゲーム装置本体５は複数のコントローラ７および複数のボード型コントローラ９と通信可能であり、所定台数のコントローラ７およびボード型コントローラ９をそれぞれ同時に使用することによって複数人でゲームをプレイすることが可能である。
【００７３】
コントローラ７は、例えばプラスチック成型によって形成されたハウジングを有しており、当該ハウジングに複数の操作部（操作ボタン）が設けられている。そして、コントローラ７は、操作部に対する入力状態（各操作ボタンが押下されたか否か）を示す操作データをゲーム装置本体５に送信する。
【００７４】
また、コントローラ７は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別することによってその領域の重心位置やサイズなどを算出する撮像情報演算部を有している。例えば、撮像情報演算部は、コントローラ７のハウジングに固設された撮像手段を有し、端末装置６のマーカ部６５および／またはマーカ８等の赤外光を出力するマーカを撮像対象としている。そして、撮像情報演算部は、撮像手段が撮像した撮像画像内における撮像対象の位置を算出し、算出された位置を示すマーカ座標データをゲーム装置本体５に送信する。このマーカ座標データは、コントローラ７自体の向き（傾斜角度）や位置に対応して変化するので、ゲーム装置本体５はこのマーカ座標データを用いてコントローラ７の向きや位置を算出することができる。
【００７５】
さらに、コントローラ７は、加速度センサおよび／またはジャイロセンサを内蔵している。加速度センサは、コントローラ７に生じる加速度（重力加速度を含む）を検出し、検出した加速度を示す加速度データをゲーム装置本体５に送信する。加速度センサが検出した加速度は、コントローラ７自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置本体５は取得された加速度データを用いてコントローラ７の向きや動きを算出することができる。ジャイロセンサは、コントローラ７に設定された３軸回りの角速度をそれぞれ検出し、検出した角速度を示す角速度データをゲーム装置本体５に送信する。ジャイロセンサが検出した角速度は、コントローラ７自体の向き（傾斜角度）や動きに対応して変化するので、ゲーム装置本体５は取得された角速度データを用いてコントローラ７の向きや動きを算出することができる。このように、ユーザは、コントローラ７に設けられた操作部を押下すること、およびコントローラ７自体を動かしてその位置や姿勢（傾き）を変えることによってゲーム操作を行うことができる。
【００７６】
コントローラ７には、スピーカおよびバイブレータが設けられている。コントローラ７は、ゲーム装置本体５から送信されたサウンドデータを処理し、当該サウンドデータに応じた音声をスピーカから出力させる。また、コントローラ７は、ゲーム装置本体５から送信された振動データを処理し、当該振動データに応じてバイブレータを作動させて振動を発生させる。なお、後述する本発明の実施形態においては、コントローラ７を用いることなくゲームをプレイすることが可能である。ボード型コントローラ９の詳細な構成については後述する。
【００７７】
端末装置６は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置６を手に持って動かしたり、あるいは、端末装置６を自由な位置に配置したりして使用することが可能な可搬型の装置である。詳細な構成は後述するが、端末装置６は、表示手段であるＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）６１、および入力手段（後述するタッチパネル６２やジャイロセンサ６０４等）を備える。端末装置６とゲーム装置本体５（端末通信モジュール２８（図２参照））とは無線（有線であってもよい）によって通信可能である。端末装置６は、ゲーム装置本体５で生成された画像（例えばゲーム画像）のデータをゲーム装置本体５から受信し、当該データが示す画像をＬＣＤ６１に表示する。なお、本実施形態では表示装置としてＬＣＤを用いているが、端末装置６は、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置６は、端末通信モジュール２８を内蔵するゲーム装置本体５へ、自機に対して行われた操作の内容を表す操作データを送信する。
【００７８】
次に、図２を参照して、ゲーム装置本体５の内部構成について説明する。図２は、ゲーム装置本体５の構成の一例を示すブロック図である。ゲーム装置本体５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）１１、外部メインメモリ１２、ＲＯＭ／ＲＴＣ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ／Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１３、ディスクドライブ１４、およびＡＶ−ＩＣ（Ａｕｄｉｏ  Ｖｉｄｅｏ−Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１５等を有する。
【００７９】
ＣＰＵ１０は、光ディスク４に記憶されたプログラムを実行することによって処理を実行するものであり、ゲームプロセッサとして機能する。ＣＰＵ１０は、システムＬＳＩ１１に接続される。システムＬＳＩ１１には、ＣＰＵ１０の他、外部メインメモリ１２、ＲＯＭ／ＲＴＣ１３、ディスクドライブ１４、およびＡＶ−ＩＣ１５が接続される。システムＬＳＩ１１は、それに接続される各構成要素間のデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムＬＳＩ１１の内部構成については、後述する。揮発性の外部メインメモリ１２は、光ディスク４から読み出されたプログラムや、フラッシュメモリ１７から読み出されたプログラムを記憶したり、各種データを記憶したりするものであり、ＣＰＵ１０のワーク領域やバッファ領域として用いられる。ＲＯＭ／ＲＴＣ１３は、ゲーム装置本体５の起動用のプログラムが組み込まれるＲＯＭ（いわゆるブートＲＯＭ）と、時間をカウントするクロック回路（ＲＴＣ）とを有する。ディスクドライブ１４は、光ディスク４からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ３５または外部メインメモリ１２に読み出したデータを書き込む。
【００８０】
システムＬＳＩ１１には、入出力プロセッサ（Ｉ／Ｏプロセッサ）３１、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）３２、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３３、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３４、および内部メインメモリ３５が設けられる。図示は省略するが、これらの構成要素３１〜３５は、内部バスによって互いに接続される。
【００８１】
ＧＰＵ３２は、描画手段の一部を形成し、ＣＰＵ１０からのグラフィクスコマンド（作画命令）に従って画像を生成する。ＶＲＡＭ３４は、ＧＰＵ３２がグラフィクスコマンドを実行するために必要なデータ（ポリゴンデータやテクスチャデータ等のデータ）を記憶する。画像が生成される際には、ＧＰＵ３２は、ＶＲＡＭ３４に記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置本体５は、モニタ２に表示するゲーム画像と、端末装置６に表示するゲーム画像との両方を生成することがある。以下では、モニタ２に表示されるゲーム画像を「モニタ用ゲーム画像」と呼び、端末装置６に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【００８２】
ＤＳＰ３３は、オーディオプロセッサとして機能し、内部メインメモリ３５や外部メインメモリ１２に記憶されるサウンドデータや音波形（音色）データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、モニタ２のスピーカ２ａから出力するゲーム音声と、端末装置６のスピーカから出力するゲーム音声との両方が生成されることがある。以下では、モニタ２から出力されるゲーム音声を「モニタ用ゲーム音声」と呼び、端末装置６から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【００８３】
上記のようにゲーム装置本体５において生成される画像および音声のうち、モニタ２に出力される画像データおよび音声データは、ＡＶ−ＩＣ１５によって読み出される。ＡＶ−ＩＣ１５は、ＡＶコネクタ１６を介して、読み出した画像データをモニタ２に出力するとともに、読み出した音声データをモニタ２に内蔵されるスピーカ２ａに出力する。これによって、モニタ２に画像が表示されるとともにスピーカ２ａから音が出力される。
【００８４】
また、ゲーム装置本体５において生成される画像および音声のうち、端末装置６に出力される画像データおよび音声データは、入出力プロセッサ３１等によって端末装置６へ送信される。入出力プロセッサ３１等による端末装置６へのデータの送信については後述する。
【００８５】
入出力プロセッサ３１は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ３１は、フラッシュメモリ１７、ネットワーク通信モジュール１８、コントローラ通信モジュール１９、拡張コネクタ２０、メモリカード用コネクタ２１、コーデックＬＳＩ２７に接続される。また、ネットワーク通信モジュール１８にはアンテナ２２が接続される。コントローラ通信モジュール１９にはアンテナ２３が接続される。コーデックＬＳＩ２７は端末通信モジュール２８に接続され、端末通信モジュール２８にはアンテナ２９が接続される。
【００８６】
ゲーム装置本体５は、インターネット等のネットワークに接続して外部情報処理装置（例えば他のゲーム装置や、各種サーバ等）と通信を行うことが可能である。すなわち、入出力プロセッサ３１は、ネットワーク通信モジュール１８およびアンテナ２２を介してネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。入出力プロセッサ３１は、定期的にフラッシュメモリ１７にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データがある場合には、ネットワーク通信モジュール１８およびアンテナ２２を介して当該データをネットワークに送信する。また、入出力プロセッサ３１は、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ２２、およびネットワーク通信モジュール１８を介して受信し、受信したデータをフラッシュメモリ１７に記憶する。ＣＰＵ１０は、プログラムを実行することにより、フラッシュメモリ１７に記憶されたデータを読み出してプログラムで利用する。フラッシュメモリ１７には、ゲーム装置本体５と外部情報処理装置との間で送受信されるデータの他、ゲーム装置本体５を利用してプレイしたゲームのセーブデータ（処理の結果データまたは途中データ）が記憶されてもよい。また、フラッシュメモリ１７には、ゲームプログラム等のプログラムが記憶されてもよい。
【００８７】
また、ゲーム装置本体５は、コントローラ７および／またはボード型コントローラ９からの操作データを受信することが可能である。すなわち、入出力プロセッサ３１は、アンテナ２３およびコントローラ通信モジュール１９を介して、コントローラ７および／またはボード型コントローラ９から送信される操作データ等を受信し、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。なお、内部メインメモリ３５には、外部メインメモリ１２と同様に、光ディスク４から読み出されたプログラムや、フラッシュメモリ１７から読み出されたプログラムを記憶したり、各種データを記憶したりしてもよく、ＣＰＵ１０のワーク領域やバッファ領域として用いられてもかまわない。
【００８８】
また、ゲーム装置本体５は、端末装置６との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ３１は、端末装置６へゲーム画像（端末用ゲーム画像）を送信する場合、ＧＰＵ３２が生成したゲーム画像のデータをコーデックＬＳＩ２７へ出力する。コーデックＬＳＩ２７は、入出力プロセッサ３１からの画像データに対して所定の圧縮処理を行う。端末通信モジュール２８は、端末装置６との間で無線通信を行う。したがって、コーデックＬＳＩ２７によって圧縮された画像データは、端末通信モジュール２８によってアンテナ２９を介して端末装置６へ送信される。なお、本実施形態では、ゲーム装置本体５から端末装置６へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置本体５から端末装置６への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックＬＳＩ２７は、例えばＨ．２６４規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール２８は、例えばＷｉ−Ｆｉの認証を受けた通信モジュールであり、例えばＩＥＥＥ８０２．１１ｎ規格で採用されるＭＩＭＯ（Ｍｕｌｔｉｐｌｅ  Ｉｎｐｕｔ  Ｍｕｌｔｉｐｌｅ  Ｏｕｔｐｕｔ）の技術を用いて端末装置６との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【００８９】
また、ゲーム装置本体５は、画像データの他、音声データを端末装置６へ送信する。すなわち、入出力プロセッサ３１は、ＤＳＰ３３が生成した音声データを、コーデックＬＳＩ２７を介して端末通信モジュール２８へ出力する。コーデックＬＳＩ２７は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール２８は、圧縮された画像データおよび音声データを、アンテナ２９を介して端末装置６へ送信する。
【００９０】
さらに、ゲーム装置本体５は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置６へ送信する。制御データは、端末装置６が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部（図５に示すマーカ部６５）の点灯を制御する指示や、カメラ（図５に示すカメラ６６）の撮像を制御する指示等を表す。入出力プロセッサ３１は、ＣＰＵ１０の指示に応じて制御データを端末装置６へ送信する。なお、この制御データに関して、本実施形態ではコーデックＬＳＩ２７はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置本体５から端末装置６へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくてもよい。
【００９１】
また、ゲーム装置本体５は、端末装置６から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置６は、操作データ、画像データ、および音声データを送信する。端末装置６から送信される各データは、アンテナ２９を介して端末通信モジュール２８によって受信される。ここで、端末装置６からの画像データおよび音声データは、ゲーム装置本体５から端末装置６への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール２８からコーデックＬＳＩ２７に送られ、コーデックＬＳＩ２７によって伸張処理が施されて入出力プロセッサ３１に出力される。一方、端末装置６からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくてもよい。したがって、操作データは、端末通信モジュール２８で受信された後、コーデックＬＳＩ２７を介して入出力プロセッサ３１に出力される。入出力プロセッサ３１は、端末装置６から受信したデータを、内部メインメモリ３５または外部メインメモリ１２のバッファ領域に記憶（一時記憶）する。
【００９２】
また、ゲーム装置本体５は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ３１には、拡張コネクタ２０およびメモリカード用コネクタ２１が接続される。拡張コネクタ２０は、ＵＳＢやＳＣＳＩのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、他のコントローラのような周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール１８に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ２１は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ３１は、拡張コネクタ２０やメモリカード用コネクタ２１を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【００９３】
ゲーム装置本体５（例えば、前部主面）には、電源ボタン２４、リセットボタン２５、光ディスク４を脱着する投入口、およびゲーム装置本体５の投入口から光ディスク４を取り出すイジェクトボタン２６等が設けられている。電源ボタン２４およびリセットボタン２５は、システムＬＳＩ１１に接続される。電源ボタン２４がオンされると、ゲーム装置本体５の各構成要素に対して電力が供給される。リセットボタン２５が押されると、システムＬＳＩ１１は、ゲーム装置本体５の起動プログラムを再起動する。イジェクトボタン２６は、ディスクドライブ１４に接続される。イジェクトボタン２６が押されると、ディスクドライブ１４から光ディスク４が排出される。
【００９４】
なお、他の実施形態においては、ゲーム装置本体５が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置本体５とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば拡張コネクタ２０を介してゲーム装置本体５と接続されるようにしてもよい。具体的には、拡張機器は、例えばコーデックＬＳＩ２７、端末通信モジュール２８、およびアンテナ２９の各構成要素を備えており、拡張コネクタ２０に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置本体に対して上記拡張機器を接続することによって、当該ゲーム装置本体を端末装置６と通信可能な構成とすることができる。
【００９５】
次に、図３〜図５を参照して、端末装置６の構成について説明する。なお、図３は、端末装置６の外観構成の一例を示す図である。図３の（ａ）部は端末装置６の正面図であり、（ｂ）部は上面図であり、（ｃ）部は右側面図であり、（ｄ）部は下面図である。図４は、ユーザが端末装置６を把持した様子の一例を示す図である。
【００９６】
図３に示されるように、端末装置６は、大略的には横長の長方形の板状形状であるハウジング６０を備える。ハウジング６０は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置６を持って動かしたり、端末装置６の配置位置を変更したりすることができる。
【００９７】
端末装置６は、ハウジング６０の表面にＬＣＤ６１を有する。ＬＣＤ６１は、ハウジング６０の表面の中央付近に設けられる。したがって、ユーザは、図４に示すようにＬＣＤ６１の両側部分のハウジング６０を持つことによって、ＬＣＤ６１の画面を見ながら端末装置６を持って動かすことができる。なお、図４では、ユーザがＬＣＤ６１の左右両側の部分のハウジング６０を持つことで端末装置６を横持ちで持つ（すなわち、長辺方向を横にして端末装置６を持つ）例を示しているが、端末装置６を縦持ちで持つ（すなわち、長辺方向を縦にして端末装置６を持つ）ことも可能である。
【００９８】
図３の（ａ）部に示すように、端末装置６は、操作手段として、ＬＣＤ６１の画面上にタッチパネル６２を有する。本実施形態では、タッチパネル６２は、抵抗膜方式のタッチパネルである。ただし、タッチパネル６２は、抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル６２は、シングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル６２として、ＬＣＤ６１の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル６２の解像度とＬＣＤ６１の解像度とが一致している必要はない。タッチパネル６２に対する入力は、通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル６２に対する入力をすることも可能である。なお、ハウジング６０には、タッチパネル６２に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、端末装置６がタッチパネル６２を備えているため、ユーザは、端末装置６を動かしながらタッチパネル６２を操作することができる。つまり、ユーザは、ＬＣＤ６１の画面を動かしつつ、その画面に対して直接（タッチパネル６２によって）入力を行うことができる。
【００９９】
図３に示すように、端末装置６は、操作手段として、２つのアナログスティック６３Ａおよび６３Ｂと、複数の操作ボタン６４Ａ〜６４Ｌとを備えている。各アナログスティック６３Ａおよび６３Ｂは、方向を指示するデバイスである。各アナログスティック６３Ａおよび６３Ｂは、ユーザの指で操作されるスティック部がハウジング６０の表面に対して任意の方向（上下左右および斜め方向の任意の角度）にスライドまたは傾倒することができるように構成されている。また、左アナログスティック６３Ａは、ＬＣＤ６１の画面の左側に、右アナログスティック６３Ｂは、ＬＣＤ６１の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティック６３Ａまたは６３Ｂを用いて方向を指示する入力を行うことができる。また、図４に示すように、各アナログスティック６３Ａおよび６３Ｂは、ユーザが端末装置６の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置６を持って動かす場合においても各アナログスティック６３Ａおよび６３Ｂを容易に操作することができる。
【０１００】
各操作ボタン６４Ａ〜６４Ｌは、所定の入力を行うための操作手段である。以下に示すように、各操作ボタン６４Ａ〜６４Ｌは、ユーザが端末装置６の左右部分を把持した状態で操作可能な位置に設けられる（図４参照）。したがって、ユーザは、端末装置６を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【０１０１】
図３の（ａ）部に示すように、ハウジング６０の表面には、各操作ボタン６４Ａ〜６４Ｌのうち、十字ボタン（方向入力ボタン）６４Ａと、操作ボタン６４Ｂ〜６４Ｈとが設けられる。これらの操作ボタン６４Ａ〜６４Ｇは、ユーザの親指で操作可能な位置に配置されている（図４参照）。
【０１０２】
十字ボタン６４Ａは、ＬＣＤ６１の左側であって、左アナログスティック６３Ａの下側に設けられる。つまり、十字ボタン６４Ａは、ユーザの左手で操作可能な位置に配置されている。十字ボタン６４Ａは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、操作ボタン６４Ｂ〜６４Ｄは、ＬＣＤ６１の下側に設けられる。これら３つの操作ボタン６４Ｂ〜６４Ｄは、左右両方の手で操作可能な位置に配置されている。また、４つの操作ボタン６４Ｅ〜６４Ｈは、ＬＣＤ６１の右側であって、右アナログスティック６３Ｂの下側に設けられる。つまり、４つの操作ボタン６４Ｅ〜６４Ｈは、ユーザの右手で操作可能な位置に配置されている。さらに、４つの操作ボタン６４Ｅ〜６４Ｈは、（４つの操作ボタン６４Ｅ〜６４Ｈの中心位置に対して）上下左右の位置関係となるように配置されている。したがって、端末装置６は、ユーザに上下左右の方向を指示させるためのボタンとして４つの操作ボタン６４Ｅ〜６４Ｈを機能させることも可能である。
【０１０３】
また、図３の（ａ）部、（ｂ）部、および（ｃ）部に示すように、第１Ｌボタン６４Ｉおよび第１Ｒボタン６４Ｊは、ハウジング６０の斜め上部分（左上部分および右上部分）に設けられる。具体的には、第１Ｌボタン６４Ｉは、板状のハウジング６０における上側の側面の左端に設けられ、上側および左側の側面から突設されている。また、第１Ｒボタン６４Ｊは、ハウジング６０における上側の側面の右端に設けられ、上側および右側の側面から突設されている。このように、第１Ｌボタン６４Ｉは、ユーザの左手人差し指で操作可能な位置に配置され、第１Ｒボタン６４Ｊは、ユーザの右手人差し指で操作可能な位置に配置される（図４参照）。
【０１０４】
また、図３の（ｂ）部および（ｃ）部に示すように、第２Ｌボタン６４Ｋおよび第２Ｒボタン６４Ｌは、板状のハウジング６０の裏面（すなわちＬＣＤ６１が設けられる表面の反対側の面）に突出して設けられた足部６８Ａおよび６８Ｂにそれぞれ突設される。具体的には、第２Ｌボタン６４Ｋは、ハウジング６０の裏面の左側（表面側から見たときの左側）のやや上方に設けられ、第２Ｒボタン６４Ｌは、ハウジング６０の裏面の右側（表面側から見たときの右側）のやや上方に設けられる。換言すれば、第２Ｌボタン６４Ｋは、表面に設けられる左アナログスティック６３Ａの概ね反対側の位置に設けられ、第２Ｒボタン６４Ｌは、表面に設けられる右アナログスティック６３Ｂの概ね反対側の位置に設けられる。第２Ｌボタン６４Ｋは、ユーザの左手中指で操作可能な位置に配置され、第２Ｒボタン６４Ｌは、ユーザの右手中指で操作可能な位置に配置される（図４参照）。また、第２Ｌボタン６４Ｋおよび第２Ｒボタン６４Ｌは、図３の（ｃ）部に示すように、上記足部６８Ａおよび６８Ｂの斜め上方を向く面に設けられ、斜め上方を向くボタン面を有する。ユーザが端末装置６を把持した場合には、中指が上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第２Ｌボタン６４Ｋおよび第２Ｒボタン６４Ｌを押下しやすくなる。また、ハウジング６０の裏面に足部６８Ａおよび６８Ｂが設けられることにより、ユーザはハウジング６０を把持しやすくなり、かつ、足部６８Ａおよび６８Ｂに操作ボタンが設けられることで、ハウジング６０を把持したまま操作しやすくなる。
【０１０５】
なお、図３に示す端末装置６に関しては、第２Ｌボタン６４Ｋおよび第２Ｒボタン６４Ｌが裏面に設けられるので、ＬＣＤ６１の画面（ハウジング６０の表面）が上を向いた状態で端末装置６を載置させる場合、画面が完全に水平にはならない場合がある。そのため、他の実施形態においては、ハウジング６０の裏面に３つ以上の足部が形成されてもよい。これによれば、ＬＣＤ６１の画面が上を向いた状態では３つ以上の足部が床面と接するように端末装置６を載置できるので、画面が水平になるように端末装置６を載置することができる。また、着脱可能な足部を装着することで端末装置６を水平に載置可能にしてもよい。
【０１０６】
各操作ボタン６４Ａ〜６４Ｌには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン６４Ａおよび操作ボタン６４Ｅ〜６４Ｈは、方向指示操作や選択操作等に用いられてもよいし、各操作ボタン６４Ｂ〜６４Ｅは、決定操作やキャンセル操作等に用いられてもよい。
【０１０７】
なお、図示しないが、端末装置６は、端末装置６の電源をオン／オフするための電源ボタンを有している。また、端末装置６は、ＬＣＤ６１の画面表示をオン／オフするための操作ボタンや、ゲーム装置本体５との接続設定（ペアリング）を行うための操作ボタンや、スピーカ（図５に示すスピーカ６０７）の音量を調節するための操作ボタンを有していてもよい。
【０１０８】
図３の（ａ）部に示すように、端末装置６は、マーカ６５Ａおよびマーカ６５Ｂからなるマーカ部（図５に示すマーカ部６５）をハウジング６０の表面に備えている。一例として、マーカ部６５は、ＬＣＤ６１の上側に設けられる。マーカ６５Ａおよびマーカ６５Ｂは、マーカ８のマーカ８Ｌおよび８Ｒと同様、それぞれ１以上の赤外ＬＥＤで構成される。マーカ部６５は、上述したマーカ８と同様、マーカ部６５に対するコントローラ７の動き等をゲーム装置本体５が算出するために用いられる。また、ゲーム装置本体５は、マーカ部６５が備える各赤外ＬＥＤの点灯を制御することが可能である。
【０１０９】
端末装置６は、撮像手段であるカメラ６６を備えている。カメラ６６は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。例えば、カメラ６６は、ハウジング６０の表面に設けられる。したがって、カメラ６６は、端末装置６を持っているユーザの顔を撮像することができ、一例としてＬＣＤ６１を見ながらゲームを行っている状態におけるユーザを撮像することができる。
【０１１０】
なお、端末装置６は、音声入力手段であるマイク（図５に示すマイク６０９）を備えている。ハウジング６０の表面には、マイクロフォン用孔６０ｂが設けられる。マイク６０９は、マイクロフォン用孔６０ｂの内側となるハウジング６０内部に設けられる。マイク６０９は、ユーザの音声等、端末装置６の周囲の音を検出する。
【０１１１】
端末装置６は、音声出力手段であるスピーカ（図５に示すスピーカ６０７）を備えている。図３の（ｄ）部に示すように、ハウジング６０の下側側面にはスピーカ孔６０ａが設けられる。スピーカ６０７の出力音は、スピーカ孔６０ａから出力される。本実施形態では、端末装置６は、２つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔６０ａが設けられる。
【０１１２】
また、端末装置６は、他の装置を端末装置６に接続するための拡張コネクタ６７を備えている。本実施形態においては、図３の（ｄ）部に示すように、拡張コネクタ６７は、ハウジング６０の下側側面に設けられる。なお、拡張コネクタ６７に接続される他の装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ（銃型のコントローラ等）やキーボード等の入力装置であってもよい。他の装置を接続する必要がなければ、拡張コネクタ６７は設けられていなくともよい。
【０１１３】
なお、図３に示した端末装置６に関して、各操作ボタンやハウジング６０の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【０１１４】
次に、図５を参照して、端末装置６の内部構成について説明する。図５は、端末装置６の内部構成の一例を示すブロック図である。図５に示すように、端末装置６は、図３に示した構成の他、タッチパネルコントローラ６０１、磁気センサ６０２、加速度センサ６０３、ジャイロセンサ６０４、ユーザインタフェースコントローラ（ＵＩコントローラ）６０５、コーデックＬＳＩ６０６、スピーカ６０７、サウンドＩＣ６０８、マイク６０９、無線モジュール６１０、アンテナ６１１、赤外線通信モジュール６１２、フラッシュメモリ６１３、電源ＩＣ６１４、電池６１５、およびバイブレータ６１９を備える。これらの電子部品は、電子回路基板上に実装されてハウジング６０内に収納される。
【０１１５】
ＵＩコントローラ６０５は、各種の入出力部に対するデータの入出力を制御するための回路である。ＵＩコントローラ６０５は、タッチパネルコントローラ６０１、アナログスティック６３（アナログスティック６３Ａおよび６３Ｂ）、操作ボタン６４（各操作ボタン６４Ａ〜６４Ｌ）、マーカ部６５、磁気センサ６０２、加速度センサ６０３、ジャイロセンサ６０４、およびバイブレータ６１９に接続される。また、ＵＩコントローラ６０５は、コーデックＬＳＩ６０６と拡張コネクタ６７とに接続される。また、ＵＩコントローラ６０５には電源ＩＣ６１４が接続され、ＵＩコントローラ６０５を介して各部に電力が供給される。電源ＩＣ６１４には内蔵の電池６１５が接続され、電力が供給される。また、電源ＩＣ６１４には、コネクタ等を介して外部電源から電力を取得可能な充電器６１６またはケーブルを接続することが可能であり、端末装置６は、充電器６１６またはケーブルを用いて外部電源からの電力供給と充電とを行うことができる。なお、端末装置６は、図示しない充電機能を有するクレイドルに端末装置６を装着することで充電を行うようにしてもよい。
【０１１６】
タッチパネルコントローラ６０１は、タッチパネル６２に接続され、タッチパネル６２の制御を行う回路である。タッチパネルコントローラ６０１は、タッチパネル６２からの信号に基づいて所定の形式のタッチ位置データを生成してＵＩコントローラ６０５へ出力する。タッチ位置データは、タッチパネル６２の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ６０１は、タッチパネル６２からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。また、ＵＩコントローラ６０５からタッチパネルコントローラ６０１へは、タッチパネル６２に対する各種の制御指示が出力される。
【０１１７】
アナログスティック６３は、ユーザの指で操作されるスティック部がスライドした（または傾倒した）方向および量を表すスティックデータをＵＩコントローラ６０５へ出力する。また、操作ボタン６４は、各操作ボタン６４Ａ〜６４Ｌに対する入力状況（押下されたか否か）を表す操作ボタンデータをＵＩコントローラ６０５へ出力する。
【０１１８】
磁気センサ６０２は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、ＵＩコントローラ６０５へ出力される。また、ＵＩコントローラ６０５から磁気センサ６０２へは、磁気センサ６０２に対する制御指示が出力される。磁気センサ６０２に関しては、ＭＩ（磁気インピーダンス）素子、フラックスゲートセンサ、ホール素子、ＧＭＲ（巨大磁気抵抗）素子、ＴＭＲ（トンネル磁気抵抗）素子、あるいはＡＭＲ（異方性磁気抵抗）素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置６が動いた場合には方位データが変化するため、端末装置６の姿勢の変化を算出することができる。
【０１１９】
加速度センサ６０３は、ハウジング６０の内部に設けられ、３軸（図３の（ａ）部に示すｘｙｚ軸）方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ６０３は、ハウジング６０の長辺方向をｘ軸（マーカ部６５がＬＣＤ６１の上側に配置された状態でＬＣＤ６１の表示画面に向かって当該長辺方向に沿った右方向をｘ軸正方向とする）、ハウジング６０の短辺方向をｙ軸（マーカ部６５がＬＣＤ６１の上側に配置された状態でＬＣＤ６１の表示画面に向かって当該短辺方向に沿った上方向をｙ軸正方向とする）、ハウジング６０の表面に対して垂直な方向をｚ軸（ＬＣＤ６１の表示画面奥行方向をｚ軸正方向とする）として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはＵＩコントローラ６０５へ出力される。また、ＵＩコントローラ６０５から加速度センサ６０３へは、加速度センサ６０３に対する制御指示が出力される。加速度センサ６０３は、本実施形態では例えば静電容量式のＭＥＭＳ型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ６０３は１軸または２軸方向を検出する加速度センサであってもよい。
【０１２０】
ジャイロセンサ６０４は、ハウジング６０の内部に設けられ、上記ｘ軸、ｙ軸、およびｚ軸の３軸周りの角速度をそれぞれ検出する。検出された角速度を表す角速度データは、ＵＩコントローラ６０５へ出力される。また、ＵＩコントローラ６０５からジャイロセンサ６０４へは、ジャイロセンサ６０４に対する制御指示が出力される。なお、３軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ６０４は、２軸ジャイロセンサと１軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ６０４は１軸または２軸方向を検出するジャイロセンサであってもよい。
【０１２１】
バイブレータ６１９は、例えば振動モータやソレノイドであり、ＵＩコントローラ６０５と接続される。ＵＩコントローラ６０５からバイブレータ６１９へ出力される制御指示に応じて、バイブレータ６１９が作動することによって端末装置６に振動が発生する。これによって、端末装置６を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。
【０１２２】
ＵＩコントローラ６０５は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックＬＳＩ６０６に出力する。なお、拡張コネクタ６７を介して端末装置６に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
【０１２３】
コーデックＬＳＩ６０６は、ゲーム装置本体５へ送信するデータに対する圧縮処理、およびゲーム装置本体５から送信されたデータに対する伸張処理を行う回路である。コーデックＬＳＩ６０６には、ＬＣＤ６１、カメラ６６、サウンドＩＣ６０８、無線モジュール６１０、フラッシュメモリ６１３、および赤外線通信モジュール６１２が接続される。また、コーデックＬＳＩ６０６は、ＣＰＵ６１７と内部メモリ６１８とを含む。例えば、端末装置６は、ゲーム処理自体を行わない構成であるが、端末装置６の管理や通信のための最小限のプログラムを実行する必要がある。一例として、電源投入時にフラッシュメモリ６１３に格納されたプログラムを内部メモリ６１８に読み出してＣＰＵ６１７が実行することで、端末装置６が起動する。また、内部メモリ６１８の一部の領域は、ＬＣＤ６１のためのＶＲＡＭとして使用される。
【０１２４】
カメラ６６は、ゲーム装置本体５からの指示に従って画像を撮像し、撮像した画像データをコーデックＬＳＩ６０６へ出力する。また、コーデックＬＳＩ６０６からカメラ６６へは、画像の撮像指示等、カメラ６６に対する制御指示が出力される。なお、カメラ６６は、動画の撮影も可能である。すなわち、カメラ６６は、繰り返し撮像を行って画像データをコーデックＬＳＩ６０６へ繰り返し出力することも可能である。
【０１２５】
サウンドＩＣ６０８は、スピーカ６０７およびマイク６０９に接続され、スピーカ６０７およびマイク６０９への音声データの入出力を制御する回路である。すなわち、コーデックＬＳＩ６０６から音声データを受け取った場合、サウンドＩＣ６０８は、当該音声データに対してＤ／Ａ変換を行って得られる音声信号をスピーカ６０７へ出力し、スピーカ６０７から音を出力させる。また、マイク６０９は、端末装置６に伝わる音（ユーザの音声等）を検知して、当該音を示す音声信号をサウンドＩＣ６０８へ出力する。サウンドＩＣ６０８は、マイク６０９からの音声信号に対してＡ／Ｄ変換を行い、所定の形式の音声データをコーデックＬＳＩ６０６へ出力する。
【０１２６】
コーデックＬＳＩ６０６は、カメラ６６からの画像データ、マイク６０９からの音声データ、およびＵＩコントローラ６０５からの操作データを、端末操作データとして無線モジュール６１０を介してゲーム装置本体５へ送信する。本実施形態では、コーデックＬＳＩ６０６は、画像データおよび音声データに対して、コーデックＬＳＩ２７と同様の圧縮処理を行う。圧縮された画像データおよび音声データと上記端末操作データとは、送信データとして無線モジュール６１０に出力される。無線モジュール６１０にはアンテナ６１１が接続されており、無線モジュール６１０はアンテナ６１１を介してゲーム装置本体５へ上記送信データを送信する。無線モジュール６１０は、ゲーム装置本体５の端末通信モジュール２８と同様の機能を有している。すなわち、無線モジュール６１０は、例えばＩＥＥＥ８０２．１１ｎの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。無線モジュール６１０から送信されるデータは、必要に応じて暗号化されていてもよいし、されていなくてもよい。
【０１２７】
以上のように、端末装置６からゲーム装置本体５へ送信される送信データには、操作データ（端末操作データ）、画像データ、および音声データが含まれる。なお、拡張コネクタ６７を介して端末装置６に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール６１２は、他の装置との間で例えばＩＲＤＡの規格に従った赤外線通信を行う。コーデックＬＳＩ６０６は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置本体５へ送信してもよい。
【０１２８】
また、上述のように、ゲーム装置本体５から端末装置６へは、圧縮された画像データおよび音声データが送信される。これらのデータは、アンテナ６１１および無線モジュール６１０を介してコーデックＬＳＩ６０６で受信される。コーデックＬＳＩ６０６は、受信した画像データおよび音声データを伸張する。伸張された画像データは、ＬＣＤ６１へ出力され、当該画像データに応じた画像がＬＣＤ６１に表示される。また、伸張された音声データは、サウンドＩＣ６０８へ出力され、当該音声データに応じた音がスピーカ６０７から出力される。
【０１２９】
また、ゲーム装置本体５から受信されるデータに制御データが含まれる場合、コーデックＬＳＩ６０６およびＵＩコントローラ６０５は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置６が備える各構成要素（本実施形態では、カメラ６６、タッチパネルコントローラ６０１、マーカ部６５、各センサ６０２〜６０４、バイブレータ６１９、および赤外線通信モジュール６１２）に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止（停止）させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置６からゲーム装置本体５へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部６５は、赤外ＬＥＤであるので、制御は単に電力の供給のＯＮ／ＯＦＦでよい。
【０１３０】
以上のように、端末装置６は、タッチパネル６２、アナログスティック６３、および操作ボタン６４といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【０１３１】
また、端末装置６は、端末装置６の動き（位置や姿勢、あるいは、位置や姿勢の変化を含む）を算出するためのセンサとして、磁気センサ６０２、加速度センサ６０３、およびジャイロセンサ６０４を備えるが、他の実施形態においては、これらのセンサのうち１つまたは２つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【０１３２】
また、端末装置６は、カメラ６６およびマイク６０９を備える構成であるが、他の実施形態においては、カメラ６６およびマイク６０９を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【０１３３】
また、端末装置６は、端末装置６とコントローラ７との位置関係（コントローラ７から見た端末装置６の位置および／または姿勢等）を算出するための構成としてマーカ部６５を備える構成であるが、他の実施形態ではマーカ部６５を備えていない構成としてもよい。また、他の実施形態では、端末装置６は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、コントローラ７がマーカ部を備え、端末装置６が撮像素子を備える構成としてもよい。さらにこの場合、マーカ８は赤外ＬＥＤに代えて、撮像素子を備える構成としてもよい。
【０１３４】
次に、図６〜図８を参照して、ボード型コントローラ９の構成について説明する。なお、図６は、図１に示したボード型コントローラ９の外観の一例を示す斜視図である。図６に示されるように、ボード型コントローラ９は、ユーザがその上に乗る（ユーザの足を乗せる）台９ａ、台９ａに掛かる荷重を検出するための少なくとも４つの荷重センサ９４ａ〜９４ｄを備える。各荷重センサ９４ａ〜９４ｄは、それぞれ台９ａに内包されており（図７参照）、図６においてはそれらの配置位置がそれぞれ破線で示されている。なお、以下の説明において、４つの荷重センサ９４ａ〜９４ｄを総称して説明する場合、荷重センサ９４と記載することがある。
【０１３５】
台９ａは、略直方体に形成されており、上面視で略長方形状である。例えば、台９ａは、長方形状の短辺が３０ｃｍ程度に設定され、長辺が５０ｃｍ程度に設定される。台９ａの上面は、平坦に形成され、ユーザが両足裏をそれぞれ置いて乗るための一対の面が設定されている。具体的には、台９ａの上面には、ユーザが左足を乗せるための面（図６における左奥側に２重線で囲まれた領域）および左足を乗せるための面（図６における右手前側に２重線で囲まれた領域）がそれぞれ設定されている。そして、台９ａの４隅の側面は、例えば部分的に円柱状に張り出すように形成されている。
【０１３６】
台９ａにおいて、４つの荷重センサ９４ａ〜９４ｄは、所定の間隔を置いて配置される。当該実施例では、４つの荷重センサ９４ａ〜９４ｄは、台９ａの周縁部に、具体的には４隅にそれぞれ配置される。荷重センサ９４ａ〜９４ｄの間隔は、台９ａに対するユーザの荷重のかけ方によるゲーム操作の意図をより精度良く検出できるように適宜な値に設定される。
【０１３７】
図７は、図６に示したボード型コントローラ９のＡ−Ａ断面図の一例を示すとともに、荷重センサ９４が配置された隅の部分が拡大表示された一例を示している。図７において、台９ａは、ユーザが乗るための支持板９０と脚９２とを含む。荷重センサ９４ａ〜９４ｄは、脚９２が配置される箇所にそれぞれ設けられる。この実施例では、４つの脚９２が４隅に設けられているので、４つの荷重センサ９４ａ〜９４ｄがそれぞれ４隅に配置されることになる。脚９２は、例えばプラスチック成型によって略有底円筒状に形成されており、荷重センサ９４は、脚９２内の底面に設けられた球面部品９２ａ上に配置される。支持板９０は、荷重センサ９４を介して脚９２に支持される。
【０１３８】
支持板９０は、上面と側面上部とを形成する上層板９０ａ、下面と側面下部とを形成する下層板９０ｂ、および上層板９０ａと下層板９０ｂとの間に設けられる中層板９０ｃを含む。上層板９０ａと下層板９０ｂとは、例えばプラスチック成型により形成されており、接着等により一体化される。中層板９０ｃは、例えば１枚の金属板のプレス成型により形成されている。中層板９０ｃは、４つの荷重センサ９４ａ〜９４ｄの上に固定される。上層板９０ａは、その下面に格子状のリブ（図示しない）を有しており、当該リブを介して中層板９０ｃに支持されている。したがって、台９ａにユーザが乗ったときには、その荷重は、支持板９０および荷重センサ９４ａ〜９４ｄを介して、４つの脚９２に伝達する。図７に矢印で示したように、入力された荷重によって生じた床からの反作用は、脚９２から、球面部品９２ａ、荷重センサ９４ａ〜９４ｄ、および中層板９０ｃを介して、上層板９０ａに伝達する。
【０１３９】
荷重センサ９４は、例えば歪ゲージ（歪センサ）式ロードセルであり、入力された荷重を電気信号に変換する荷重変換器である。荷重センサ９４では、荷重入力に応じて、起歪体９５が変形して歪が生じる。この歪が、起歪体９５に貼り付けられた歪センサ９６によって電気抵抗の変化に変換され、さらに電圧変化に変換される。したがって、荷重センサ９４は、入力荷重を示す電圧信号を出力端子から出力することができる。
【０１４０】
なお、荷重センサ９４は、音叉振動式、弦振動式、静電容量式、圧電式、磁歪式、またはジャイロ式のような他の方式の荷重センサであってもよい。
【０１４１】
図６に戻って、ボード型コントローラ９には、さらに、電源ボタン９ｃが設けられる。ボード型コントローラ９が起動していない状態で電源ボタン９ｃが操作（例えば、電源ボタン９ｃの押下）されると、ボード型コントローラ９の各回路コンポーネント（図８参照）に電力が供給される。ただし、ボード型コントローラ９は、ゲーム装置本体５からの指示に従って電源オンされて各回路コンポーネントに電力供給が開始される場合もある。なお、ボード型コントローラ９は、ユーザが乗っていない状態が一定時間（例えば、３０秒）以上継続すると、自動的に電源がオフされてもよい。また、ボード型コントローラ９が起動している状態で、電源ボタン９ｃが再度操作された場合、電源がオフされて各回路コンポーネントへの電力供給が停止されてもよい。
【０１４２】
図８は、ボード型コントローラ９の電気的な構成の一例を示すブロック図である。なお、図８では、信号およびデータの流れは実線矢印で示され、電力の供給が破線矢印で示されている。
【０１４３】
図８において、ボード型コントローラ９は、その動作を制御するためのマイクロコンピュータ（マイコン）１００を含む。マイコン１００は、図示しないＣＰＵ、ＲＯＭ、およびＲＡＭ等を含み、ＣＰＵがＲＯＭに記憶されたプログラムに従ってボード型コントローラ９の動作を制御する。
【０１４４】
マイコン１００には、電源ボタン９ｃ、ＡＤコンバータ１０２、ＤＣ−ＤＣコンバータ１０４、および無線モジュール１０６が接続される。さらに、無線モジュール１０６には、アンテナ１０６ａが接続される。４つの荷重センサ９４ａ〜９４ｄは、それぞれ増幅器１０８を介してＡＤコンバータ１０２に接続される。
【０１４５】
また、ボード型コントローラ９には、各回路コンポーネントへの電力供給のために電池１１０が収容されている。他の実施例では、電池１１０に代えてＡＣアダプタをボード型コントローラ９に接続し、商用電力を各回路コンポーネントに供給するようにしてもよい。この場合、ＤＣ−ＤＣコンバータ１０４に代えて、交流を直流に変換し、直流電圧を降圧および整流する電源回路をボード型コントローラ９内に設ける必要がある。この実施例では、マイコン１００および無線モジュール１０６への電力供給は、電池１１０から直接的に行われる。つまり、マイコン１００内部の一部のコンポーネント（ＣＰＵ）と無線モジュール１０６とには、常に電池１１０からの電力が供給されており、電源ボタン９ｃがオンされたか否か、ゲーム装置本体５から電源オンを指示するコマンドが送信されたか否かを検出する。一方、荷重センサ９４ａ〜９４ｄ、ＡＤコンバータ１０２、および増幅器１０８には、ＤＣ−ＤＣコンバータ１０４を介して電池１１０からの電力が供給される。ＤＣ−ＤＣコンバータ１０４は、電池１１０からの直流電流の電圧値を異なる電圧値に変換して、荷重センサ９４ａ〜９４ｄ、ＡＤコンバータ１０２、および増幅器１０８に与える。
【０１４６】
これら荷重センサ９４ａ〜９４ｄ、ＡＤコンバータ１０２、および増幅器１０８への電力供給は、マイコン１００によるＤＣ−ＤＣコンバータ１０４の制御によって、必要に応じて行われるようにしてもよい。つまり、マイコン１００は、荷重センサ９４ａ〜９４ｄを動作させて荷重を検出する必要があると判断される場合に、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄ、ＡＤコンバータ１０２、および増幅器１０８に電力を供給するようにしてよい。
【０１４７】
電力が供給されると、荷重センサ９４ａ〜９４ｄは、入力された荷重を示す信号をそれぞれ出力する。これらの信号は、各増幅器１０８で増幅され、ＡＤコンバータ１０２でアナログ信号からデジタルデータに変換されて、マイコン１００に入力される。荷重センサ９４ａ〜９４ｄの検出値には荷重センサ９４ａ〜９４ｄの識別情報が付与されて、いずれの荷重センサ９４ａ〜９４ｄの検出値であるかが識別可能にされる。このようにして、マイコン１００は、同一時刻における４つの荷重センサ９４ａ〜９４ｄそれぞれの荷重検出値を示すデータを取得することができる。
【０１４８】
一方、マイコン１００は、荷重センサ９４ａ〜９４ｄを動作させる必要がないと判断される場合、つまり、荷重検出タイミングでない場合、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄ、ＡＤコンバータ１０２、および増幅器１０８への電力の供給を停止する。このように、ボード型コントローラ９は、必要な場合にだけ、荷重センサ９４ａ〜９４ｄを動作させて荷重や距離の検出を行うことができるので、荷重検出のための電力消費を抑制することができる。
【０１４９】
荷重検出が必要な場合とは、典型的には、ゲーム装置本体５（図１）が荷重データを取得したいときである。例えば、ゲーム装置本体５が荷重情報を必要とするとき、ゲーム装置本体５は、ボード型コントローラ９に対して情報取得命令を送信する。マイコン１００は、ゲーム装置本体５から情報取得命令を受信したときに、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄ等に電力を供給し、荷重を検出する。一方、マイコン１００は、ゲーム装置本体５から情報取得命令を受信していないときには、ＤＣ−ＤＣコンバータ１０４を制御して、荷重センサ９４ａ〜９４ｄ等への電力供給を停止する。
【０１５０】
なお、マイコン１００は、一定時間ごとに荷重検出タイミングが到来すると判断して、ＤＣ−ＤＣコンバータ１０４を制御するようにしてもよい。このような周期的な荷重検出を行う場合、周期情報は、例えば、ゲーム開始時点においてゲーム装置本体５からボード型コントローラ９のマイコン１００に与えられて記憶されてもよいし、予めマイコン１００にプリインストールされてもよい。
【０１５１】
荷重センサ９４ａ〜９４ｄからの検出値を示すデータは、ボード型コントローラ９のボード操作データ（入力データ）として、マイコン１００から無線モジュール１０６およびアンテナ１０６ａを介してゲーム装置本体５に送信される。例えば、ゲーム装置本体５からの命令を受けて荷重検出を行った場合、マイコン１００は、ＡＤコンバータ１０２から荷重センサ９４ａ〜９４ｄの検出値データを受信したことに応じて、当該検出値データをゲーム装置本体５に送信する。なお、マイコン１００は、一定時間ごとに上記検出値データをゲーム装置本体５に送信するようにしてもよい。荷重の検出周期よりも送信周期が長い場合には、送信タイミングまでに検出された複数の検出タイミングの荷重値を含むデータを送信すればよい。
【０１５２】
なお、無線モジュール１０６は、ゲーム装置本体５のコントローラ通信モジュール１９と同じ無線規格（Ｂｌｕｅｔｏｏｔｈ、無線ＬＡＮなど）で通信可能にされる。したがって、ゲーム装置本体５のＣＰＵ１０は、コントローラ通信モジュール１９等を介して情報取得命令をボード型コントローラ９に送信することができる。このように、ボード型コントローラ９は、無線モジュール１０６およびアンテナ１０６ａを介して、ゲーム装置本体５からの命令を受信することができる。また、ボード型コントローラ９は、荷重センサ９４ａ〜９４ｄの荷重検出値（または荷重算出値）を含むボード操作データをゲーム装置本体５に送信することができる。
【０１５３】
例えば、４つの荷重センサ９４ａ〜９４ｄで検出される４つの荷重値の単なる合計値を用いて実行されるようなゲームの場合には、ユーザはボード型コントローラ９の４つの荷重センサ９４ａ〜９４ｄに対して任意の位置をとることができる。つまり、ユーザは、台９ａの上の任意の位置に任意の向きで乗ってゲームをプレイすることができる。しかしながら、ゲームの種類によっては、４つの荷重センサ９４で検出される荷重値がユーザから見ていずれの方向の荷重値であるかを識別して処理を行う必要がある。つまり、ボード型コントローラ９の４つの荷重センサ９４とユーザとの位置関係が把握されている必要がある。この場合、例えば、４つの荷重センサ９４とユーザとの位置関係を予め規定しておき、当該所定の位置関係が得られるようにユーザが台９ａ上に乗ることが前提とされてもよい。典型的には、台９ａの中央に乗ったユーザの前後左右にそれぞれ荷重センサ９４ａ〜９４ｄが２つずつ存在するような位置関係、つまり、ユーザがボード型コントローラ９の台９ａの中央に乗った位置関係が規定される。この場合、この実施例では、ボード型コントローラ９の台９ａが平面視で矩形状に形成されるとともにその矩形の１辺（長辺）に電源ボタン９ｃが設けられているので、この電源ボタン９ｃを目印として利用して、ユーザには電源ボタン９ｃの設けられた長辺が所定の方向（前、後、左または右）に存在するようにして台９ａに乗ってもらうことを予め決めておく。このようにすれば、荷重センサ９４ａ〜９４ｄで検出される荷重値は、ユーザから見て所定の方向（右前、左前、右後および左後）の荷重値となる。したがって、ボード型コントローラ９およびゲーム装置本体５は、荷重検出値データに含まれる荷重センサ９４の識別情報と、予め設定（記憶）された荷重センサ９４のユーザに対する位置または方向を示す配置データとに基づいて、各荷重検出値がユーザから見ていずれの方向に対応するかを把握することができる。これにより、例えば前後左右の操作方向や上げている足の区別のようなユーザによるゲーム操作の意図を把握することが可能になる。
【０１５４】
次に、ゲーム装置本体５が行う具体的な処理を説明する前に、図面を用いてゲーム装置本体５で行うゲーム処理の概要について説明する。なお、図９は、端末装置６およびボード型コントローラ９を用いて操作するユーザの様子の一例を示す図である。図１０Ａは、モニタ２に表示される画像の一例を示す図である。図１０Ｂは、端末装置６のＬＣＤ６１に表示される画像の一例を示す図である。図１１Ａは、端末装置６の姿勢による操作が基準操作指示方向を示している場合にモニタ２に表示される画像の一例を示す図である。図１１Ｂは、端末装置６の姿勢による操作が基準操作指示方向を示している状態において端末装置６のＬＣＤ６１に表示される画像の一例を示す図である。図１２Ａは、図１１Ｂに示した状態から端末装置６を卓上で反時計方向にロール回転させた場合にモニタ２に表示される画像の一例を示す図である。図１２Ｂは、図１１Ｂに示した状態から端末装置６を卓上で反時計方向にロール回転させた場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図である。図１３Ａは、図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合にモニタ２に表示される画像の一例を示す図である。図１３Ｂは、図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図である。図１４は、端末装置６の姿勢から得られる操作指示方向の変化に対応する一例としてプレイヤオブジェクトおよび仮想カメラの回転動作を説明するための図である。図１５は、端末装置６の姿勢から得られる操作指示方向の変化に対応する他の例として地形オブジェクトの回転動作を説明するための図である。図１６Ａは、図１１Ｂに示した状態から端末装置６のタッチパネル６２がタッチ操作された場合にモニタ２に表示される画像の一例を示す図である。図１６Ｂは、図１１Ｂに示した状態から端末装置６のタッチパネル６２がタッチ操作された場合に端末装置６のＬＣＤ６１に表示される画像の一例を示す図である。図１７は、端末装置６のタッチパネル６２へのタッチ操作に対応する一例としてプレイヤオブジェクトおよび仮想カメラの移動動作を説明するための図である。図１８は、端末装置６のタッチパネル６２へのタッチ操作に対応する他の例として地形オブジェクトの移動動作を説明するための図である。
【０１５５】
図９に示すように、ユーザは、端末装置６およびボード型コントローラ９を用いて操作し、端末装置６の姿勢や方向を変化させる操作と、端末装置６のタッチパネル６２をタッチする操作と、ボード型コントローラ９に加える荷重を変化させる操作とを行う。具体的には、ユーザは、卓上に端末装置６を載置した状態で端末装置６の本体を持ち、両足をボード型コントローラ９上にそれぞれ乗せる。そして、ユーザは、モニタ２に表示された画像や端末装置６のＬＣＤ６１に表示された画像を見ながら、ボード型コントローラ９上で動作（例えば、ユーザが座った姿勢で足踏みするようにボード型コントローラ９上の両足を動作させることによって、ボード型コントローラ９上にかける荷重に変化を繰り返し与える操作）する。また、ユーザは、端末装置６自体を卓上で動かす操作をしたり、端末装置６のタッチパネル６２をタッチ操作したりすることによってプレイする。そして、端末装置６のＬＣＤ６１およびモニタ２には、卓上における端末装置６の方向（姿勢）と、端末装置６のタッチパネル６２へのタッチ操作とに応じて、仮想世界のプレイヤオブジェクトが動作（例えば、姿勢や方向が変化する動作や移動する動作）し、プレイヤオブジェクトの方向や位置に応じて仮想世界に設定される仮想カメラの姿勢や位置を変化させたゲーム画像が表現される。また、ボード型コントローラ９上におけるユーザ動作に応じて、仮想世界においてプレイヤオブジェクトが動作（例えば、移動）する。なお、後述では、ユーザが足踏みするようにボード型コントローラ９を操作することによってプレイヤオブジェクトおよび仮想カメラが移動し、端末装置６を卓上で動かす操作をすることによって仮想世界におけるプレイヤオブジェクトおよび仮想カメラの方向が変化し、端末装置６のタッチパネル６２へのタッチ操作によっても仮想世界におけるプレイヤオブジェクトおよび仮想カメラが移動するゲーム例を用いて説明する。
【０１５６】
図１０Ａに示すように、モニタ２には、仮想世界内に設定された地形オブジェクト全体の様子として、当該地形オブジェクトの直上遠方位置から俯瞰した仮想世界の画像が表示される。図１０Ａに示した一例では、地形オブジェクト上を移動するプレイヤオブジェクトＰｏの現在地と、当該現在地を中心として端末装置６のＬＣＤ６１に表示されている端末装置表示範囲とが、上記地形オブジェクト上に描かれている。そして、地形オブジェクトの北方向（図示Ｎ方向）が仮想世界基準方向（例えば、モニタ２に表示される仮想世界の上方向）に向いた状態で、地形オブジェクト全体がモニタ２に表示される。このように、地形オブジェクト全体を俯瞰した仮想世界内の様子をモニタ２に表示することによって、ユーザが地形オブジェクトの全体状況や当該地形オブジェクトとプレイヤオブジェクトＰｏの現在地（端末装置表示範囲）との位置関係が把握しやすくなるとともに、ユーザが当該ゲームをプレイしている様子を見ている他の人が、地形オブジェクト上をプレイヤオブジェクトＰｏが移動していく様子を見て楽しむこともできる。
【０１５７】
また、図１０Ｂに示すように、端末装置６のＬＣＤ６１には、仮想世界内においてプレイヤオブジェクトＰｏが地形オブジェクト上を移動していく様子として、プレイヤオブジェクトＰｏの直上近傍位置から俯瞰した仮想世界の画像が表示される。なお、ＬＣＤ６１に表示される仮想世界の視点は、相対的に地形オブジェクト（プレイヤオブジェクトＰｏ）に近く、当該視点からプレイヤオブジェクトＰｏまでの距離が、モニタ２に表示する仮想世界の視点から地形オブジェクト（プレイヤオブジェクトＰｏ）までの距離より相対的に短く設定される。図１０Ｂに示した一例では、地形オブジェクトと当該地形オブジェクト上を移動するプレイヤオブジェクトＰｏとが表示されている。そして、ＬＣＤ６１には、上記端末装置表示範囲内の地形オブジェクトが表示され、ＬＣＤ６１の実質的に中央となる地形オブジェクト上の位置にプレイヤオブジェクトＰｏが表示されている。そして、端末装置６の姿勢による操作が後述する基準操作指示方向を示している場合、地形オブジェクトの上記北方向がＬＣＤ６１の上方向（ｙ軸正方向）となるように地形オブジェクトの一部が表示され、プレイヤオブジェクトＰｏの正面方向（図示Ｆ方向）がＬＣＤ６１の上方向となる姿勢でＬＣＤ６１の中央位置にプレイヤオブジェクトＰｏが表示される。このように、プレイヤオブジェクトＰｏの直上近傍位置から地形オブジェクトおよびプレイヤオブジェクトＰｏをＬＣＤ６１に表示することによって、端末装置６を卓上で操ってＬＣＤ６１に表示を見ているユーザがプレイヤオブジェクトＰｏを真上から見ているようなゲームプレイが可能となり、仮想世界の臨場感を与えることができる。
【０１５８】
なお、図１０Ａに示した例では、地形オブジェクトの直上遠方位置から俯瞰した仮想世界内の様子がモニタ２に表示されているが、他の視点の仮想世界をモニタ２に表示してもかまわない。端末装置６だけでなくモニタ２にも同じ仮想世界を表示し、それぞれ視点の異なる仮想世界の画像を表示することによって、ユーザが操作する際に２つの表示装置に表示される画像を操作状況や好みに応じて使い分けることが可能となる。端末装置６に表示する仮想世界の範囲に対して、モニタ２に表示する仮想世界の範囲を広くなれば、モニタ２に表示する仮想世界の視点は地形オブジェクトの直上位置でなく、斜め上方位置等でもかまわない。
【０１５９】
一例として、ボード型コントローラ９上でユーザが足踏みするような動作をした場合、プレイヤオブジェクトＰｏの正面方向（図示Ｆ方向）へ当該足踏み動作に応じた速度でプレイヤオブジェクトＰｏが地形オブジェクト上を移動する。例えば、ユーザがボード型コントローラ９上で足踏みする周期が短いほどプレイヤオブジェクトＰｏの移動速度が速くなる。このように、ユーザは、ボード型コントローラ９上の動作によって、プレイヤオブジェクトＰｏを移動させたり移動速度を変化させたりすることができる。
【０１６０】
例えば、上述したように、ボード型コントローラ９からはボード型コントローラ９上のユーザ動作に応じた荷重検出値が出力される。そして、上記荷重検出値を用いれば、ボード型コントローラ９に加わっている合計荷重の算出が可能である。そして、上記合計荷重そのものや合計荷重の変化を用いれば、ユーザがボード型コントローラ９上でどのような動作をしているのか推定することが可能となる。このようなボード型コントローラ９上で推定されるユーザ動作に応じて、プレイヤオブジェクトＰｏの移動／停止や移動速度が設定される。
【０１６１】
また、卓上における端末装置６の方向（姿勢）に応じて、仮想世界におけるプレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの間の相対的な方向が変化する。例えば、ユーザが端末装置６の背面と卓上とを接面した状態で、ＬＣＤ６１の奥行方向（端末装置奥行方向）周りに端末装置６を回転（ロール）させることに応じて、仮想世界におけるレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの間の相対的な方向が左右に変化する。
【０１６２】
図１１Ａに示すように、地形オブジェクトの北方向（図示Ｎ方向）が仮想世界基準方向（例えば、モニタ２に表示される仮想世界の上方向）に向いた状態で、地形オブジェクト全体がモニタ２に表示されている。また、図１１Ｂに示すように、端末装置６の姿勢による操作が基準操作指示方向を示している場合、地形オブジェクトの上記北方向がＬＣＤ６１の上方向（ｙ軸正方向）となるように地形オブジェクトの一部が表示され、プレイヤオブジェクトＰｏの正面方向（図示Ｆ方向）がＬＣＤ６１の上方向となる姿勢でＬＣＤ６１の中央位置にプレイヤオブジェクトＰｏが表示される。ここで、端末装置６の姿勢による操作が基準操作指示方向を示している状態とは、初期設定された際に端末装置６が卓上に配置されていた方向と同じ方向を向いた端末装置６の状態を示しており、典型的には端末装置６の上方向（ｙ軸正方向）をユーザの前方向に向けて（すなわち、ｙ軸負方向をユーザに向かう方向にして）卓上に載置した状態を示している。つまり、端末装置６の姿勢による操作が基準操作指示方向を示している場合、地形オブジェクトの上記北方向およびプレイヤオブジェクトＰｏの正面方向（図示Ｆ方向）がそれぞれＬＣＤ６１の上方向となるように、プレイヤオブジェクトＰｏおよび地形オブジェクトが表示される。
【０１６３】
そして、上記基準操作指示方向を示している端末装置６をＬＣＤ６１の奥行方向（ｚ軸方向）を中心に反時計回りに卓上で回転させた場合（すなわち、図１１Ｂに示すＡ方向に卓上でロールした場合）、図１２Ａおよび図１２Ｂに示すような画像がモニタ２およびＬＣＤ６１にそれぞれ表示される。図１２Ｂに示すように、上記基準操作指示方向を示している状態から端末装置６を反時計方向にロール回転させた場合、当該ロール回転に応じてＬＣＤ６１に表示する仮想世界を生成する仮想カメラの姿勢を変化させる。例えば、上記仮想カメラは、端末装置６がロール回転した回転角度（例えば、ｚ軸周りにｙ軸が回転移動した角度）だけ、ロール回転した回転方向（例えば、ｚ軸周りにｙ軸が回転移動した方向）へ、当該仮想カメラの視線方向周りに回転するように姿勢制御される。また、上記基準操作指示方向を示している状態から端末装置６を反時計方向にロール回転させた場合、端末装置６がロール回転した回転角度だけ、ロール回転した回転方向へ、仮想世界の鉛直方向周りにプレイヤオブジェクトＰｏが回転して、正面方向Ｆが変化する。
【０１６４】
一例として、図１４に示すように、端末装置６がＡ方向にロール角度Ｃだけロール回転（すなわち、ｚ軸周りにｙ軸がＡ方向に角度Ｃだけ回転移動）した場合、プレイヤオブジェクトＰｏは、仮想世界の鉛直方向を中心として角度ＣだけＡ方向へ仮想世界内で回転して姿勢制御され、プレイヤオブジェクトＰｏの正面方向も同様に回転する。また、プレイヤオブジェクトＰｏの直上から俯瞰する位置に配置されている仮想カメラも、当該仮想カメラの視線方向（図示Ｚ軸方向であり、仮想世界鉛直方向と同じ方向）を中心として上記角度ＣだけＡ方向へ仮想世界内で回転する。これによって、図１１Ｂおよび図１２Ｂを比較すれば明らかなように、プレイヤオブジェクトＰｏが地形オブジェクトに対して角度ＣだけＡ方向へ回転しているが、仮想カメラも同様の回転をしているため、結果的にＬＣＤ６１に対しては同じ状態でプレイヤオブジェクトＰｏが表示される。一方、端末装置６は、Ａ方向へロール角度Ｃだけ回転しているが、仮想カメラも同様の回転をしているためにＬＣＤ６１に表示される地形オブジェクトがＡ方向の逆方向に同じ角度Ｃだけ回転して表示され、結果的に実空間に対しては同じ方向に地形オブジェクトが表示される。このような端末装置６の姿勢に対する表示制御によって、図１１Ｂおよび図１２Ｂを比較すれば明らかなように、プレイヤオブジェクトＰｏは、端末装置６がロール回転した場合であっても仮想カメラに対して相対的に同じ位置に配置されているが、ＬＣＤ６１（端末装置６）が回転角度Ｃだけ反時計方向へ回転しているため、結果的に実空間においては端末装置６と同じ方向に回転して、地形オブジェクトや実空間に対してＡ方向に回転しているように見える。一方、地形オブジェクトは、仮想カメラに対して相対的に回転角度Ｃだけ時計方向へ回転することになるが、ＬＣＤ６１（端末装置６）が回転角度Ｃだけ反時計方向へ回転しているため、結果的に実空間においては同じ方向に表示されているように見える。
【０１６５】
上述した仮想世界画像の生成方式は、一例として、地形オブジェクトを仮想世界で固定して、ＬＣＤ６１に表示する仮想世界の画像を生成する仮想カメラおよびプレイヤオブジェクトＰｏを仮想世界において回転させることによって行っている。しかしながら、上述した仮想世界画像は、仮想世界におけるプレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの間の相対的な方向を変化させれば、他の方法でも生成することができる。
【０１６６】
例えば、図１１Ｂに示した地形オブジェクトおよびプレイヤオブジェクトＰｏが配置された仮想世界の画像を、端末装置６のロール回転に応じて図１２Ｂに示されるような画像に変化させる場合、図１５に示すように、地形オブジェクトを端末装置６のロール回転に応じて仮想カメラの視線方向（仮想世界鉛直方向）を中心に回転させてもかまわない。この場合、端末装置６が反時計方向に回転角度Ｃだけ回転した場合であっても、仮想カメラおよびプレイヤオブジェクトＰｏは、仮想世界において固定して配置する。その一方で、端末装置６が反時計方向に回転角度Ｃだけ回転した場合、仮想カメラの注視点（プレイヤオブジェクトＰｏの位置）を中心として回転角度Ｃだけ時計方向へ地形オブジェクトを回転させる。このような仮想世界画像の生成方式であっても、同様の画像をＬＣＤ６１に表示することができる。このように、仮想世界におけるプレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの少なくとも一方を端末装置６のロール回転に応じて相対的に回転させれば、図１１Ｂおよび図１２Ｂに示した仮想世界画像を生成することができるが、以下においては、地形オブジェクトを仮想世界で固定して、仮想カメラおよびプレイヤオブジェクトＰｏを仮想世界において回転させる方法を用いて説明する。
【０１６７】
一方、図１１Ａおよび図１２Ａを比較すれば明らかなように、端末装置６が反時計方向に回転角度Ｃだけ回転した場合であっても、モニタ２に表示されている地形オブジェクト全体の画像は変化しない。しかしながら、上述したように、端末装置６のＬＣＤ６１に表示する地形オブジェクトの範囲の方向が変化するため、当該範囲の方向変化に応じて、端末装置表示範囲が回転して表示される。例えば、端末装置６が反時計方向に回転角度Ｃだけロール回転した場合、モニタ２に表示されている端末装置表示範囲も当該範囲中心周りに回転角度Ｃだけ反時計方向に回転して表示される。
【０１６８】
さらにＡ方向に端末装置６をロール回転して、図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合、図１３Ａおよび図１３Ｂに示すような画像がモニタ２およびＬＣＤ６１にそれぞれ表示される。図１３Ｂに示すように、図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合、端末装置６がさらにロール回転した回転角度だけ、仮想カメラの視線方向周りに仮想カメラを回転させる。また、端末装置６がさらにロール回転した回転角度だけ、当該ロール回転方向へ正面方向（図示Ｆ方向）を回転させた姿勢でプレイヤオブジェクトＰｏが地形オブジェクト上に配置される。これによって、正面方向がＬＣＤ６１の上方向（ｙ軸正方向）となるようにプレイヤオブジェクトＰｏがＬＣＤ６１に表示され、地形オブジェクトの北方向がＬＣＤ６１の左から右への方向（ｘ軸正方向）となるように地形オブジェクトがＬＣＤ６１に表示される。
【０１６９】
これによって、図１１Ｂおよび図１３Ｂを比較すれば明らかなように、プレイヤオブジェクトＰｏが地形オブジェクトに対して回転角度９０°だけＡ方向へ地形オブジェクトに対して方向を変えるが、仮想カメラも同様の回転をしているため、結果的にＬＣＤ６１に対しては同じ状態でプレイヤオブジェクトＰｏが表示される。そして、プレイヤオブジェクトＰｏは、ＬＣＤ６１（端末装置６）が回転角度９０°だけ反時計方向へロール回転しているため、結果的に実空間においては端末装置６と同じ方向に回転して、地形オブジェクトや実空間に対してＡ方向に９０°回転しているように見える。また、端末装置６は、Ａ方向へロール角度９０°だけ回転しているが、仮想カメラも同様の回転をしているためにＬＣＤ６１に表示される地形オブジェクトがＡ方向の逆方向に同じ角度９０°だけ回転して表示され、結果的に実空間に対しては同じ方向に地形オブジェクトが表示される。これによって、図１１Ｂおよび図１３Ｂを比較すれば明らかなように、プレイヤオブジェクトＰｏは、回転角度９０°だけＡ方向へ地形オブジェクトに対して方向を変えることになるが、仮想カメラも同様の回転をしているため、結果的にＬＣＤ６１に対しては同じ状態で表示され、地形オブジェクトがＡ方向の逆方向に９０°回転したように表示される。
【０１７０】
一方、図１３Ａに示すように、図１１Ｂに示した状態から端末装置６を卓上で反時計方向に９０°ロール回転させた場合、モニタ２に表示されている端末装置表示範囲も当該範囲中心周りに回転角度９０°だけ反時計方向に回転して表示される。
【０１７１】
このように、ユーザが端末装置６をロール回転させることによって、プレイヤオブジェクトＰｏおよび仮想カメラを地形オブジェクトに対して相対的に回転させてＬＣＤ６１に表示することができる。そして、端末装置６のロール角度およびロール方向と、プレイヤオブジェクトＰｏおよび仮想カメラを地形オブジェクトに対して相対的に回転させる回転角度および回転方向を同じにすることによって、ユーザは端末装置６がプレイヤオブジェクトＰｏとなったかのようなリアリティある方向操作が可能となる。また、ユーザは、端末装置６のＬＣＤ６１を覗き窓として、あたかも仮想世界内を俯瞰して覗いているような感覚を味わうことができる。
【０１７２】
例えば、端末装置６からは端末装置６の姿勢変化に応じた加速度データや角速度データが出力される。そして、上記加速度データが示す加速度を用いれば、端末装置６に作用している重力加速度の方向が算出できるため、実空間における鉛直方向を基準として端末装置６がどのような姿勢になっているのか、すなわち鉛直方向を基準とした端末装置６のｘｙｚ軸方向を推定することができる。また、上記角速度データが示す角速度および／または上記加速度データが示す加速度を用いれば、端末装置６に作用している角速度や動的な加速度がわかるため、これらの角速度および／または動的な加速度を用いて、実空間における端末装置６の初期姿勢からの姿勢変化、（すなわち、ｘｙｚ各軸周りのｘｙｚ軸の方向変化）を推定することができる。このように推定される端末装置６の姿勢変化（ｘｙｚ軸方向変化）に応じて、プレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの相対的な方向、姿勢、位置等が設定される。
【０１７３】
また、端末装置６のタッチパネル６２をタッチ操作することによって、プレイヤオブジェクトＰｏおよび仮想カメラを地形オブジェクトに対して相対的に移動することができる。例えば、ユーザがＬＣＤ６１の表面を覆うタッチパネル６２を左方向（図１１Ｂに示す図示Ｂ方向）へドラッグするようにタッチ操作した場合、図１６Ａおよび図１６Ｂに示すような画像がモニタ２およびＬＣＤ６１にそれぞれ表示される。図１１Ｂに示すように、ユーザがタッチパネル６２を左方向へドラッグするようにタッチ操作した場合、ドラッグ操作された長さに応じた距離だけ、ドラッグ操作された方向（図示Ｂ方向）へ、プレイヤオブジェクトＰｏおよび仮想カメラに対して地形オブジェクトが相対的に移動（すなわち、地形オブジェクトに対してプレイヤオブジェクトＰｏおよび仮想カメラが、ドラッグ操作された逆方向へ相対的に移動）した仮想世界の画像がＬＣＤ６１に表示される。また、図１６Ａに示すように、ユーザがタッチパネル６２を左方向へドラッグするようにタッチ操作した場合、ＬＣＤ６１に表示される地形オブジェクトの範囲の移動に応じて（すなわち、ドラッグ操作された長さに応じた距離だけ、ドラッグ操作された逆方向へ）、端末装置表示範囲が移動した地形オブジェクト全体の画像がモニタ２に表示される。
【０１７４】
一例として、図１７に示すように、ユーザがタッチパネル６２を左方向（図示Ｂ方向）へドラッグするようにタッチ操作した場合、プレイヤオブジェクトＰｏおよび仮想カメラは、仮想世界内を当該ドラッグ操作されたＢ方向の逆方向（仮想カメラの右方向（Ｘ軸正方向）となる図示Ｄ方向）へそれぞれ同じ距離だけ移動する。ここで、ドラッグ操作中のタッチ位置の軌跡と重なって表示される仮想世界（地形オブジェクト）上の軌跡を基準として、当該軌跡の逆方向にプレイヤオブジェクトＰｏおよび仮想カメラの移動方向が設定され、当該軌跡と同じ長さにプレイヤオブジェクトＰｏおよび仮想カメラの移動距離が設定される。これによって、タッチパネル６２がドラッグ操作された場合、ＬＣＤ６１に表示された地形オブジェクトが、タッチパネル６２に対するドラッグ操作中のタッチ位置の移動に追従する、すなわち当該タッチ位置と重なって表示されている地形オブジェクトの位置が当該ドラッグ操作中のタッチ位置と常に重なって表示されるように設定される。そして、ユーザがタッチパネル６２をドラッグ操作した場合であっても、プレイヤオブジェクトＰｏは、ＬＣＤ６１において方向、姿勢、位置の何れも変化しない。これによって、図１１Ｂおよび図１６Ｂを比較すれば明らかなように、ユーザがタッチパネル６２を左方向へドラッグするようにタッチ操作した場合、地形オブジェクトは、ドラッグ操作に応じた方向へドラッグ操作に応じた距離だけ移動してＬＣＤ６１に表示され、結果的に実空間においてもタッチ位置の移動に追従して移動しているように見える。一方、プレイヤオブジェクトＰｏは、タッチパネル６２がタッチ操作された場合、ドラッグ操作に応じた方向の逆方向へドラッグ操作に応じた距離だけ地形オブジェクトに対しては相対的に移動するが、ＬＣＤ６１に対して固定配置される。
【０１７５】
上述した仮想世界画像の生成方式は、一例として、地形オブジェクトを仮想世界で固定して、ＬＣＤ６１に表示する仮想世界の画像を生成する仮想カメラおよびプレイヤオブジェクトＰｏを仮想世界において移動させることによって行っている。しかしながら、上述した仮想世界画像は、仮想世界におけるプレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの間の相対的な位置を変化させれば、他の方法でも生成することができる。
【０１７６】
例えば、図１１Ｂに示した地形オブジェクトおよびプレイヤオブジェクトＰｏが配置された仮想世界の画像を、タッチパネル６２へのタッチ操作に応じて図１６Ｂに示されるような画像に変化させる場合、図１８に示すように、地形オブジェクトをタッチ操作に応じて移動させてもかまわない。この場合、タッチパネル６２を用いてドラッグ操作された場合であっても、プレイヤオブジェクトＰｏおよび仮想カメラは、仮想世界において固定して配置する。その一方で、タッチパネル６２を用いてドラッグ操作された場合、当該ドラッグ操作に応じた方向（タッチパネル６２の左方向（ｘ軸負方向）となる図示Ｂ方向へのドラッグ操作の場合、仮想カメラの左方向（Ｘ軸負方向）となる図示Ｂ方向）へ当該ドラッグ操作に応じた距離だけ地形オブジェクトを仮想世界で移動させる。このような仮想世界画像の生成方式であっても、同様の画像をＬＣＤ６１に表示することができる。このように、仮想世界におけるプレイヤオブジェクトＰｏおよび仮想カメラと地形オブジェクトとの少なくとも一方をタッチパネル６２へのタッチ操作に応じて相対的に移動させれば、図１１Ｂおよび図１６Ｂに示した仮想世界画像を生成することができるが、以下においては、地形オブジェクトを仮想世界で固定して、仮想カメラおよびプレイヤオブジェクトＰｏを仮想世界において移動させる方法を用いて説明する。
【０１７７】
このように、ユーザが端末装置６のタッチパネル６２をタッチ操作することによって、地形オブジェクトに対してプレイヤオブジェクトＰｏおよび仮想カメラを相対的に移動させてＬＣＤ６１に表示することができる。そして、タッチパネル６２へのタッチ位置の移動方向および移動距離に地形オブジェクトの表示位置の移動が追従するように、プレイヤオブジェクトＰｏおよび仮想カメラの相対的な移動方向および移動距離を設定することによって、あたかもユーザが地形オブジェクトをタッチ操作でスライド移動させているようなリアリティあるゲームを実現することができる。
【０１７８】
ユーザがボード型コントローラ９を用いた操作によってプレイヤオブジェクトＰｏを移動させる場合と、タッチパネル６２へのタッチ操作によってプレイヤオブジェクトＰｏを移動させる場合とによって、地形オブジェクトに対するプレイヤオブジェクトＰｏの移動態様を変化させることが考えられる。例えば、ボード型コントローラ９を用いた操作によってプレイヤオブジェクトＰｏが移動する場合は、地形オブジェクトによって表現されている移動可能経路や移動可能領域に準じて移動することができ、当該地形オブジェクト上に対するアクション（例えば、地形オブジェクト上のアイテムを取得するアクションや、地形オブジェクト上の他のオブジェクトとの間のアクション）が可能となる。その一方で、タッチパネル６２へのタッチ操作によってプレイヤオブジェクトＰｏが移動する場合は、地形オブジェクトによって表現されている移動可能経路や移動可能領域とは無関係に移動（例えば、地形オブジェクト上の空中を移動するように扱われる）することができ、当該地形オブジェクト上に対するアクションができない。これによって、ユーザは、プレイヤオブジェクトＰｏの移動目的に応じて、ボード型コントローラ９を用いた操作とタッチ操作とを使い分ける必要が生じ、各移動態様のメリットを生かした操作が可能となる。
【０１７９】
また、モニタ２には、地形オブジェクト全体の中心が画面中央に配置された画像が表示される一例を用いたが、地形オブジェクト全体の中心が画面の中央からずれた状態でモニタ２に表示されてもかまわない。例えば、地形オブジェクト上に配置されているプレイヤオブジェクトＰｏの現在地を第２仮想カメラの注視点として、当該現在地が常にモニタ２の画面中央に配置されるように地形布オブジェクトを配置してもかまわない。これによって、プレイヤオブジェクトＰｏ移動する場合であっても、現在地が常にモニタ２の中央に配置され、プレイヤオブジェクトＰｏ移動によって現在地の表示位置が大きく移動することがないため、ユーザに対して現在地をわかりやすくする効果が期待できる。
【０１８０】
次に、ゲームシステム１において行われる処理の詳細を説明する。まず、図１９を参照して、当該処理において用いられる主なデータについて説明する。なお、図１９は、ゲーム装置本体５のメインメモリに記憶される主なデータおよびプログラムの一例を示す図である。
【０１８１】
図１９に示すように、メインメモリのデータ記憶領域には、ボード操作データＤａ、端末操作データＤｂ、荷重値データＤｃ、端末装置方向姿勢データＤｄ、操作方向データＤｅ、プレイヤオブジェクトデータＤｆ、地形オブジェクトデータＤｇ、端末装置表示範囲データＤｈ、前回タッチ位置データＤｉ、足踏フラグデータＤｊ、移動速度データＤｋ、仮想カメラデータＤｍ、および画像データＤｎ等が記憶される。なお、メインメモリには、図１９に示す情報に含まれるデータの他、モニタ２やＬＣＤ６１に表示される各種オブジェクトの画像データや処理に使用される音声データ等、処理に必要なデータが適宜記憶される。また、メインメモリのプログラム記憶領域には、上記情報処理プログラムを構成する各種プログラム群Ｐａが記憶される。
【０１８２】
ボード操作データＤａは、ボード型コントローラ９から送信データとして送信されてくる一連の操作情報（ボード操作データ）が格納され、最新のボード操作データに更新される。例えば、ボード操作データＤａは、荷重データＤａ１等を含んでいる。荷重データＤａ１は、ボード型コントローラ９の荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重検出値を示すデータである。
【０１８３】
端末操作データＤｂは、端末装置６から送信データとして送信されてくる一連の操作情報（端末操作データ）が格納され、最新の端末操作データに更新される。例えば、端末操作データＤｂは、加速度データＤｂ１、角速度データＤｂ２、およびタッチ位置データＤｂ３等を含んでいる。加速度データＤｂ１は、加速度センサ６０３によって検出された加速度（加速度ベクトル）を表すデータである。例えば、加速度データＤｂ１は、図３に示すｘｙｚの３軸の方向に関する加速度を各成分とする３次元の加速度を表すものであるが、他の例においては、任意の１以上の方向に関する加速度を表すものであってもよい。角速度データＤｂ２は、ジャイロセンサ６０４によって検出された角速度を表すデータである。例えば、角速度データＤｂ２は、図３に示すｘｙｚの３軸回りのそれぞれの角速度を表すものであるが、他の例においては、任意の１軸以上の軸回り角速度を表すものであってもよい。タッチ位置データＤｂ３は、タッチパネル６２の入力面において入力が行われた位置の座標を表すデータである。
【０１８４】
なお、ゲーム装置本体５は、コントローラ７、ボード型コントローラ９、および端末装置６からそれぞれ所定周期毎（例えば、１／２００秒毎）に送信される操作情報に含まれるデータ（例えば、荷重検出値、加速度、および角速度を示すデータ）を逐次受信している。例えば、受信されたデータは、入出力プロセッサ３１によってメインメモリに逐次記憶される。後述する処理フローでは、ＣＰＵ１０が最新のボード操作データおよび端末操作データを１フレーム毎（例えば、１／６０秒毎）にメインメモリから読み出して、ボード操作データＤａおよび端末操作データＤｂをそれぞれ更新する例を用いる。
【０１８５】
また、コントローラ７、ボード型コントローラ９、および端末装置６からそれぞれ所定周期毎に送信される操作情報は、コントローラ通信モジュール１９や端末通信モジュール２８等に備える図示しないバッファに一旦蓄えられてもよい。この場合、上記バッファに蓄えられたデータが、１フレーム毎に読み出されて、メインメモリのボード操作データＤａ（例えば、荷重データＤａ１）や端末操作データＤｂ（例えば、加速度データＤｂ１、角速度データＤｂ２、およびタッチ位置データＤｂ３）が更新されて用いられる。このとき、操作情報を受信する周期と処理周期とが異なるために、上記バッファには複数の時点に受信した操作情報が記述されていることになるが、複数の時点に受信した操作情報のうち最新の操作情報のみを用いて当該処理が実行される。
【０１８６】
荷重値データＤｃは、ボード型コントローラ９が検出する荷重値を示すデータの集合である。例えば、荷重値データＤｃは、荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重の合計値（合計荷重値）を示すデータの集合である。具体的には、荷重値データＤｃは、時系列的に算出された所定期間内の上記合計荷重値を示すデータの配列であり、配列の各要素に上記合計荷重値を示すデータが時系列に格納される。
【０１８７】
端末装置方向姿勢データＤｄは、実空間における端末装置６の現時点の方向および姿勢を示すデータである。例えば、端末装置方向姿勢データＤｄは、端末操作データＤｂに含まれる加速度データＤｂ１および角速度データＤｂ２に基づいて算出される。
【０１８８】
操作方向データＤｅは、基準操作指示方向データＤｅ１および操作指示方向データＤｅ２等を含んでいる。基準操作指示方向データＤｅ１は、初期設定の際に設定され、操作指示方向の基準となる方向を示すデータである。操作指示方向データＤｅ２は、現時点でユーザから指示されている操作指示方向を示すデータである。なお、基準操作指示方向および操作指示方向の算出方法については、後述する。
【０１８９】
プレイヤオブジェクトデータＤｆは、仮想世界におけるプレイヤオブジェクトＰｏに関するデータである。例えば、プレイヤオブジェクトデータＤｆは、仮想世界におけるプレイヤオブジェクトＰｏの位置、姿勢、方向等を示すデータである。
【０１９０】
地形オブジェクトデータＤｇは、仮想世界における地形オブジェクトに関するデータである。例えば、地形オブジェクトデータＤｇは、仮想世界における地形オブジェクトの位置、姿勢、方向等を示すデータである。
【０１９１】
端末装置表示範囲データＤｈは、地形オブジェクト上に描画される端末装置表示範囲を示すデータである。例えば、端末装置表示範囲データＤｈは、地形オブジェクトに対する端末装置表示範囲の描画位置、線種等を示すデータである。
【０１９２】
前回タッチ位置データＤｉは、前回の処理においてタッチパネル６２がタッチされたタッチ位置を示すデータである。
【０１９３】
足踏フラグデータＤｊは、ボード型コントローラ９上に閾値以上の荷重が加わった際にオンに設定され、ボード型コントローラ９上に加わる荷重が閾値未満となった際にオフに設定される足踏フラグを示すデータである。
【０１９４】
移動速度データＤｋは、ボード型コントローラ９への操作に応じて、プレイヤオブジェクトＰｏが仮想世界を移動する速度であり、地形オブジェクトに対してプレイヤオブジェクトＰｏが移動する速度を示すデータである。
【０１９５】
仮想カメラデータＤｍは、仮想世界に設定される仮想カメラに関するデータである。例えば、仮想カメラデータＤｍは、端末装置６のＬＣＤ６１に表示するゲーム画像を生成するための第１仮想カメラに関するデータと、モニタ２に表示するゲーム画像を生成するための第２仮想カメラに関するデータとを含む。
【０１９６】
画像データＤｎは、プレイヤオブジェクトＰｏ画像データＤｎ１および地形オブジェクト画像データＤｎ２等を含んでいる。プレイヤオブジェクトＰｏ画像データＤｎ１は、仮想世界にプレイヤオブジェクトＰｏを配置してゲーム画像を生成するためのデータである。地形オブジェクト画像データＤｎ２は、仮想世界に地形オブジェクトを配置してゲーム画像を生成するためのデータである。
【０１９７】
次に、図２０〜図２３を参照して、ゲーム装置本体５において行われるゲーム処理の詳細を説明する。なお、図２０は、ゲーム装置本体５において実行されるゲーム処理の一例を示すフローチャートである。図２１は、図２０におけるステップ４４のゲーム制御処理の一例を示すサブルーチンである。図２２は、図２１におけるステップ８３のオブジェクト設定処理の一例を示すサブルーチンである。図２３は、図２２におけるステップ１１８の移動処理の一例を示すサブルーチンである。ここで、図２０〜図２３に示すフローチャートにおいては、ゲーム処理のうち、端末装置６およびボード型コントローラ９を用いたユーザの操作に応じて、プレイヤオブジェクトＰｏおよび仮想カメラが地形オブジェクトに対して相対的に動作して表示される処理について主に説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図２０〜図２３では、ＣＰＵ１０が実行する各ステップを「Ｓ」と略称する。
【０１９８】
ゲーム装置本体５の電源が投入されると、ゲーム装置本体５のＣＰＵ１０は、ＲＯＭ／ＲＴＣ１３に記憶されている起動用のプログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラムがメインメモリに読み込まれ、ＣＰＵ１０によって当該プログラムの実行が開始される。図２０〜図２３に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１９９】
図２０において、ＣＰＵ１０は、初期処理を実行し（ステップ４０）、次のステップに処理を進める。例えば、上記ステップ４０における初期処理において、ＣＰＵ１０は、仮想世界を構築し、仮想世界におけるプレイヤオブジェクトＰｏおよび地形オブジェクトや仮想カメラ（第１仮想カメラおよび第２仮想カメラ）を所定の位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする。なお、第１仮想カメラは、プレイヤオブジェクトＰｏの直上位置から俯瞰する位置に、プレイヤオブジェクトＰｏの正面方向が当該第１仮想カメラの上方向（Ｙ軸正方向）となるように初期配置される。
【０２００】
次に、ＣＰＵ１０は、端末装置６から送信されてくるデータに基づいて、基準操作指示方向を算出し（ステップ４１）、次のステップに処理を進める。以下、ＣＰＵ１０が基準操作指示方向を算出する一例について説明する。
【０２０１】
端末装置６は、上述したようなデータをゲーム装置本体５へ繰り返し送信している。ゲーム装置本体５においては、端末通信モジュール２８が上記データを逐次受信し、入出力プロセッサ３１が端末操作データとカメラ画像データとマイク音データとをメインメモリに逐次記憶する。上記ステップ４１においては、ＣＰＵ１０は、メインメモリから最新の端末操作データを読み出して加速度データＤｂ１、角速度データＤｂ２、およびタッチ位置データＤｂ３を更新する。
【０２０２】
次に、ＣＰＵ１０は、実空間における端末装置６の方向および姿勢を算出する。例えば、ＣＰＵ１０は、加速度データＤｂ１が示す加速度および角速度データＤｂ２が示す角速度に基づいて、端末装置６の現時点の方向および姿勢を示すデータ（例えば、端末装置６のｘｙｚ軸それぞれの方向を示すデータ）を算出し、算出された端末装置６の方向および姿勢を示すデータを用いて端末装置方向姿勢データＤｄを更新する。例えば、ＣＰＵ１０は、角速度データＤｂ２が示す角速度を用いて、端末装置６の単位時間当たりにおける実空間での回転量（方向変化量）を算出することができる。また、実空間において端末装置６がほぼ静止している状態（静的な状態）では、端末装置６に対して加えられる加速度が重力加速度となるため、加速度データＤｂ１が示す加速度によって端末装置６に加えられる重力方向（すなわち、実空間における鉛直方向を基準とした端末装置６の姿勢）を算出することができる。したがって、ＣＰＵ１０は、加速度データＤｂ１が示す加速度および角速度データＤｂ２が示す角速度に基づいて端末装置６の方向や姿勢を示すデータを算出することができる。
【０２０３】
なお、本実施形態においては、端末装置６で検出される加速度および角速度を示すデータに基づいて端末装置６の方向や姿勢を算出するが、他の実施形態においては、何れか１つのデータや３つ以上のデータを用いて端末装置６の方向や姿勢を算出してもよい。例えば、端末装置６に設けられた磁気センサ６０２は、端末装置６に加わる磁気を検出しており、端末装置６に加わる地磁気の方向から端末装置６を基準とした所定の方位（すなわち、所定の方位を基準とした端末装置６の姿勢）を算出することができる。なお、端末装置６が配置されている実空間に、地磁気以外の磁界が発生している場合であっても、端末装置６の回転量を算出することができる。したがって、ＣＰＵ１０は、端末装置６で検出される加速度、角速度、および磁気を示すデータの少なくとも１つを用いれば、端末装置６の方向や姿勢を算出することができる。
【０２０４】
また、端末装置６の方向や姿勢の具体的な算出方法はどのような方法であってもよいが、例えば、角速度データＤｂ２が示す角速度に基づいて算出される端末装置６の方向や姿勢を、加速度データＤｂ１が示す加速度および磁気センサ６０２が検出した磁気の方向を用いて補正する方法が考えられる。
【０２０５】
具体的には、ＣＰＵ１０は、まず、角速度データＤｂ２が示す角速度に基づいて端末装置６の姿勢を算出する。端末装置６の姿勢を角速度から算出する方法はどのような方法であってもよいが、一例として、前回の姿勢（前回に算出されたｘｙｚ軸の方向）と今回の角速度（今回の処理ループにおけるステップ４２で取得された角速度）とを用いて算出される。ＣＰＵ１０は、前回のｘｙｚ軸方向を今回の角速度で各軸周りに単位時間分だけ回転させることによって新たなｘｙｚ軸方向を算出する。なお、前回のｘｙｚ軸方向は、端末装置方向姿勢データＤｄにより表され、今回の角速度は、角速度データＤｂ２により表される。したがって、ＣＰＵ１０は、端末装置方向姿勢データＤｄおよび角速度データＤｂ２を読み出して、端末装置６の姿勢（新たなｘｙｚ軸方向）を算出する。なお、上述したように上記ステップ４１において、端末装置６の初期姿勢が定められている。したがって、端末装置６の姿勢を角速度から算出する場合には、ＣＰＵ１０は、最初に算出された端末装置６の初期姿勢を基準として現時点における端末装置６の姿勢を算出することができる。
【０２０６】
次に、ＣＰＵ１０は、角速度に基づいて算出した端末装置６の姿勢（ｘｙｚ軸方向）を、加速度データＤｂ１が示す加速度を用いて補正する。具体的には、ＣＰＵ１０は、加速度データＤｂ１が示す加速度に基づいて端末装置６の姿勢（ｘｙｚ軸方向）を算出する。ここで、端末装置６がほぼ静止している状態では、端末装置６に対して加えられている加速度は重力加速度となる。したがって、この状態においては、加速度データＤｂ１が示す加速度の方向を用いて重力加速度の方向（重力方向）を算出することができるので、重力方向に対する端末装置６の向き（重力方向を基準としたｘｙｚ軸方向）を算出することができる。
【０２０７】
加速度に基づく端末装置６の姿勢が算出されると、ＣＰＵ１０は、加速度に基づく姿勢を用いて、角速度に基づく姿勢を補正する。具体的には、ＣＰＵ１０は、角速度に基づいて算出された端末装置６の姿勢（ｘｙｚ軸方向）を、加速度に基づいて算出された端末装置６の姿勢（ｘｙｚ軸方向）へ所定の割合で近づける補正を行う。上記所定の割合は、予め定められた固定値であってもよいし、加速度データＤｂ１が示す加速度等に応じて設定されてもよい。また、加速度に基づいて算出された端末装置６の姿勢に関しては、重力方向を軸とする回転方向については姿勢を算出することができないので、ＣＰＵ１０は、当該回転方向に関して補正を行わないようにしてもよい。なお、角速度に基づいて算出された端末装置６の姿勢を、磁気センサ６０２が検出した磁気の方向に基づいて補正する場合には、ＣＰＵ１０は、角速度に基づいて算出された端末装置６の姿勢を、磁気の方向に基づいて算出された端末装置６の姿勢へと所定の割合で近づけるようにすればよい。以上によれば、ＣＰＵ１０は、端末装置６の姿勢を正確に算出することができる。
【０２０８】
そして、実空間における端末装置６の方向および姿勢に基づいて、操作指示方向の基準となる基準操作指示方向を算出する。なお、以下の説明においては、一例として、実空間において端末装置６の上面が向いている方向（図３に示すｙ軸正方向であり、端末装置上方向）から操作指示方向を設定する。操作指示方向の算出処理では、端末装置６の姿勢および方向に各種補正が行われることによって操作指示方向が算出される。そして、上記ステップ４１で算出された操作指示方向を用いて基準操作指示方向を設定し、当該基準操作指示方向を用いて基準操作指示方向Ｄｅ１が更新される。
【０２０９】
操作指示方向を算出する際、端末装置６のｘ軸周りおよびｙ軸周りの傾きが補正される。例えば、端末装置方向姿勢データＤｄが示すｘｙｚ軸それぞれの方向を用いて、ｘ軸方向およびｙ軸方向を強制的に水平方向に補正（例えば、ｘ軸方向およびｙ軸方向の鉛直方向成分をそれぞれ０にして、実空間の水平面に鉛直方向へｘ軸方向およびｙ軸方向をそれぞれ投影した方向に補正）する。次に、水平方向に補正されたｘ軸方向とｙ軸方向との外積によって新たにｚ軸方向を算出する。そして、新たに算出されたｚ軸方向と水平方向に補正されたｘ軸成分との外積によって新たにｙ軸方向を算出し、新たに算出されたｙ軸正方向（操作指示方向）を用いて基準操作指示方向Ｄｅ１を更新する。
【０２１０】
なお、上記基準操作指示方向は、加速度データＤｂ１が示す加速度に基づいて補正されて算出されてもよいし、磁気センサ６０２が検出した磁気の方向に基づいて補正されて算出されてもよいし、端末装置６を特定の姿勢にした状態（例えば、卓上に載置して静止させた状態）でユーザに所定の操作を行わせることで、所定の操作が行われた時点におけるｘ軸方向およびｙ軸方向が水平方向に向いていると仮定して算出されてもよい。上記基準操作指示方向を設定するタイミング、すなわち上記ステップ４１を実行するタイミングは、ゲーム開始時点に自動的に行われてもいいし、端末装置６を用いてユーザが所定の操作（例えば、所定の操作ボタン６４を押下する操作）を行ったことに応じて行われてもかまわない。
【０２１１】
上記ステップ４１の次にステップ４２の処理が実行される。以降、ステップ４２〜ステップ５１の一連の処理からなる処理ループが所定時間（１フレーム時間）に１回の割合で繰り返し実行される。
【０２１２】
ステップ４２において、ＣＰＵ１０は、ボード型コントローラ９から送信されてくるボード操作データを取得し、次のステップに処理を進める。ここで、ボード型コントローラ９は、ボード操作データをゲーム装置本体５へ繰り返し送信している。したがって、ゲーム装置本体５においては、コントローラ通信モジュール１９が上記ボード操作データを逐次受信し、受信されたボード操作データが入出力プロセッサ３１によってメインメモリに逐次記憶される。ボード型コントローラ９のボード操作データ送信の間隔は、ゲームの処理時間（１フレーム時間）よりも短い方が好ましく、例えば２００分の１秒である。上記ステップ４２においては、ＣＰＵ１０は、メインメモリから最新のボード操作データを読み出して荷重データＤａ１を更新する。なお、上記ボード操作データには、荷重センサ９４ａ〜９４ｄの識別情報を示すデータおよび荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重検出値を示すデータが含まれており、当該識別情報によって区別されたデータをそれぞれ用いて、荷重データＤａ１が更新される。
【０２１３】
次に、ＣＰＵ１０は、端末装置６から送信されてくる各種のデータを取得し（ステップ４３）、次のステップに処理を進める。ここで、端末装置６は、上記データをゲーム装置本体５へ繰り返し送信している。したがって、ゲーム装置本体５においては、端末通信モジュール２８が上記データを逐次受信し、カメラ画像データおよびマイク音データについてはコーデックＬＳＩ２７によって伸張処理が逐次施される。そして、入出力プロセッサ３１は、端末操作データとカメラ画像データとマイク音データとをメインメモリに逐次記憶する。上記ステップ４３においては、ＣＰＵ１０は、メインメモリから最新の端末操作データを読み出して加速度データＤｂ１、角速度データＤｂ２、およびタッチ位置データＤｂ３を更新する。
【０２１４】
次に、ＣＰＵ１０は、ゲーム制御処理を行って（ステップ４４）、次のステップに処理を進める。上記ゲーム制御処理は、ユーザによるゲーム操作に従って仮想世界内のプレイヤオブジェクトＰｏおよび地形オブジェクトや仮想カメラを動作させる処理等を実行し、ゲームを進行させる処理である。当該ゲーム例では、ユーザは、端末装置６およびボード型コントローラ９を用いて種々のゲームを行うことが可能である。以下、図２１を参照して、上記ステップ４４におけるゲーム制御処理について説明する。
【０２１５】
図２１において、ＣＰＵ１０は、合計荷重値を算出して（ステップ８１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、荷重データＤａ１が示す荷重センサ９４ａ〜９４ｄがそれぞれ検出した荷重を合計して合計荷重値を算出し、当該合計荷重値を示すデータを用いて荷重値データＤｃにおける合計荷重値を示す時系列データ配列のうち最新のデータを更新する。具体的には、荷重データＤａ１は、荷重センサ９４ａ〜９４ｄがそれぞれ検出した最新の荷重検出値を示しているため、当該荷重検出値を用いることによって、上記合計荷重値が算出される。このようにして算出される合計荷重値は、ボード型コントローラ９上のユーザ動作に応じて変化する。一例として、ユーザがボード型コントローラ９上に荷重を加える動作をした場合、合計荷重値が加えられた荷重に応じて上昇する。
【０２１６】
次に、ＣＰＵ１０は、端末装置６の方向および姿勢を算出し（ステップ８２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、加速度データＤｂ１が示す加速度および角速度データＤｂ２が示す角速度に基づいて、端末装置６の現時点の方向および姿勢を示すデータ（例えば、端末装置６のｘｙｚ軸それぞれの方向を示すデータ）を算出し、算出された端末装置６の方向および姿勢を示すデータを用いて端末装置方向姿勢データＤｄを更新する。なお、端末装置６の現時点の方向および姿勢を示すデータの算出方法については、上記ステップ４１で説明した方法と同様であるため、詳細な説明を省略する。
【０２１７】
次に、ＣＰＵ１０は、オブジェクト設定処理を行い（ステップ８３）、次のステップに処理を進める。以下、図２２を参照して、上記ステップ８３におけるオブジェクト設定処理について説明する。
【０２１８】
図２２において、ＣＰＵ１０は、操作指示方向を算出し（ステップ１１１）、次のステップに処理を進める。例えば、ＣＰＵ１０は、端末装置方向姿勢データＤｄが示すｘｙｚ軸それぞれの方向を用いて、ｘ軸方向およびｙ軸方向を強制的に水平方向に補正し、水平方向に補正されたｘ軸方向とｙ軸方向との外積によって新たにｚ軸方向を算出する。そして、ＣＰＵ１０は、新たに算出されたｚ軸方向と水平方向に補正されたｘ軸成分との外積によって新たにｙ軸方向を算出し、新たに算出されたｙ軸正方向（操作指示方向）を用いて操作指示方向Ｄｅ２を更新する。
【０２１９】
次に、ＣＰＵ１０は、上記ステップ１１１で算出された操作指示方向に応じて、仮想世界におけるプレイヤオブジェクトＰｏおよび第１仮想カメラの方向（姿勢）を設定し（ステップ１１２）、次のステップに処理を進める。例えば、ＣＰＵ１０は、基準操作指示方向データＤｅ１が示す基準操作指示方向および操作指示方向データＤｅ２が示す操作指示方向を用いて、当該基準操作指示方向に対する当該操作指示方向の変化角度および変化方向を算出する。そして、ＣＰＵ１０は、仮想世界基準方向（例えば、モニタ２に表示される仮想世界の上方向であり、本実施例では地形オブジェクトの方向が仮想世界に対して固定されるため地形オブジェクトの北方向）に対して、上記変化角度だけ上記変化方向に回転させた仮想世界における方向を用いてプレイヤオブジェクトＰｏの正面方向（例えば、図１４に示すＦ方向）を設定し、プレイヤオブジェクトデータＤｆを更新する。また、ＣＰＵ１０は、仮想世界基準方向に対して、上記変化角度だけ上記変化方向に回転させた仮想世界における方向を用いて第１仮想カメラの上方向（例えば、図１４に示すＹ軸正方向）を設定し、仮想カメラデータＤｍを更新する。例えば、図１４に示されるように、基準操作指示方向に対する当該操作指示方向の変化角度が回転角度Ｃであり変化方向がｚ軸正方向に見て反時計回りである場合、プレイヤオブジェクトＰｏの正面方向（図示Ｆ方向）は、仮想世界基準方向から回転角度Ｃだけ仮想世界鉛直方向に見て反時計方向へ回転させた方向に設定される。また、第１仮想カメラの上方向（例えば、図示Ｙ軸正方向）も、プレイヤオブジェクトＰｏの正面方向と同様に、仮想世界基準方向から回転角度Ｃだけ視線方向に見て反時計方向へ回転させた方向に設定される。
【０２２０】
次に、ＣＰＵ１０は、タッチパネル６２に対するタッチ操作が行われているか否かを判断する（ステップ１１３）。例えば、ＣＰＵ１０は、タッチ位置データＤｂ３を参照して、ユーザがタッチパネル６２に対するタッチ操作を行っているか否かを判断する。そして、ＣＰＵ１０は、タッチパネル６２に対するタッチ操作が行われている場合、次のステップ１１４に処理を進める。一方、ＣＰＵ１０は、タッチパネル６２に対するタッチ操作が行われていない場合、次のステップ１１７に処理を進める。
【０２２１】
ステップ１１４において、ＣＰＵ１０は、移動速度を０に設定して、次のステップに処理を進める。例えば、ＣＰＵ１０は、０に設定された移動速度を用いて、移動速度データＤｋを更新する。
【０２２２】
次に、ＣＰＵ１０は、前回のタッチ位置から現時点のタッチ位置までの移動距離および移動方向に基づいて、当該移動距離だけ当該移動方向の逆方向へプレイヤオブジェクトＰｏおよび第１仮想カメラの位置を仮想世界において移動させ（ステップ１１５）、次のステップに処理を進める。例えば、ＣＰＵ１０は、タッチ位置データＤｂ３が示す現時点のタッチ位置と前回タッチ位置データＤｉが示す前回タッチ位置とを用いて、現時点のタッチ位置と重なる仮想世界の位置から前回タッチ位置と重なる仮想世界の位置までの距離および方向を算出する。そして、ＣＰＵ１０は、算出された仮想世界の距離（移動距離）だけ算出された仮想世界の方向（移動方向）へプレイヤオブジェクトＰｏおよび第１仮想カメラの位置を移動させ、当該位置を用いてプレイヤオブジェクトデータＤｆおよび仮想カメラデータＤｍを更新する。これによって、図１７に示すように、プレイヤオブジェクトＰｏの位置は、タッチパネル６２に対するドラッグ操作方向（図示Ｂ方向）と重なる仮想世界の方向の逆方向（図示Ｄ方向）へ当該ドラッグ操作された長さに応じた距離だけ、地形オブジェクトに対して相対的に移動する。また、第１仮想カメラの位置もプレイヤオブジェクトＰｏと同じ移動方向へ同じ移動距離だけ地形オブジェクトに対して相対的に移動するため、結果的にＬＣＤ６１に表示されたプレイヤオブジェクトＰｏの表示位置は移動せず、ＬＣＤ６１に表示された地形オブジェクトがタッチパネル６２に対するドラッグ操作中のタッチ位置の移動に追従するように移動して表示されることになる。
【０２２３】
次に、ＣＰＵ１０は、現時点のタッチ位置を用いて前回タッチ位置を更新し（ステップ１１６）、次のステップ１１９に処理を進める。例えば、ＣＰＵ１０は、タッチ位置データＤｂ３が示す現時点のタッチ位置を用いて前回タッチ位置データを新たに設定し、当該新たに設定された前回タッチ位置データを用いて前回タッチ位置データＤｉを更新する。
【０２２４】
一方、ステップ１１７において、ＣＰＵ１０は、前回タッチ位置を初期化し、次のステップに処理を進める。例えば、ＣＰＵ１０は、前回タッチ位置をＮｕｌｌに初期化し、初期化された前回タッチ位置を用いて前回タッチ位置データＤｉを更新する。
【０２２５】
次に、ＣＰＵ１０は、移動処理を行い（ステップ１１８）、次のステップ１１９に処理を進める。以下、図２３を参照して、上記ステップ１１８で行う移動処理について説明する。
【０２２６】
図２３において、ＣＰＵ１０は、足踏フラグデータＤｊが示す足踏フラグがオンに設定されているか否かを判断する（ステップ１２１）。そして、ＣＰＵ１０は、足踏フラグがオフに設定されている場合、次のステップ１２２に処理を進める。一方、ＣＰＵ１０は、足踏フラグがオンに設定されている場合、次のステップ１２５に処理を進める。
【０２２７】
ステップ１２２において、ＣＰＵ１０は、荷重値データＤｃが示す合計荷重値が所定の閾値以上であるか否かを判断する。そして、ＣＰＵ１０は、合計荷重値が所定の閾値以上である場合、次のステップ１２３に処理を進める。一方、ＣＰＵ１０は、合計荷重値が所定の閾値未満である場合、次のステップ１２７に処理を進める。ここで、上記ステップ１２２で用いられる閾値は、ユーザがボード型コントローラ９上で足踏みしたことを検出するための値であり、予め設定された値でもいいし、ユーザ操作によって設定された値でもよい。
【０２２８】
ステップ１２３において、ＣＰＵ１０は、移動速度を設定し、次のステップに処理を進める。例えば、ＣＰＵ１０は、移動速度Ｖを
Ｖ＝（１／Ｆ）＊Ｖｓ
で算出し、算出された移動速度Ｖを用いて、移動速度データＤｋを更新する。ここで、Ｆは、足踏フラグがオンされてから現時点までのフレーム数（ゲームの処理周期を繰り返した回数であり、ゲームの処理時間＝１フレーム時間とする）を示しており、ユーザがボード型コントローラ９上で前回足踏みしたことが検出されてから現時点（すなわち、今回足踏みを検出された時点）までのフレーム数を示している。また、Ｖｓは、予め定められた移動速度の最大値である。
【０２２９】
次に、ＣＰＵ１０は、足踏フラグをオンに設定して足踏フラグデータＤｊを更新し（ステップ１２４）、次のステップ１２７に処理を進める。
【０２３０】
一方、上記ステップ１２１において足踏フラグがオンに設定されていると判断された場合、ＣＰＵ１０は、荷重値データＤｃが示す合計荷重値が所定の閾値未満であるか否かを判断する（ステップ１２５）。そして、ＣＰＵ１０は、合計荷重値が所定の閾値未満である場合、次のステップ１２６に処理を進める。一方、ＣＰＵ１０は、合計荷重値が所定の閾値以上である場合、次のステップ１２７に処理を進める。ここで、上記ステップ１２５で用いられる閾値は、ユーザがボード型コントローラ９上で足踏みを１回することによって一旦上昇した荷重が下降したことを検出することによって、当該１回の足踏みをカウントするための値であり、予め設定された値でもいいし、ユーザ操作によって設定された値でもよい。
【０２３１】
ステップ１２６において、ＣＰＵ１０は、足踏フラグをオフに設定して足踏フラグデータＤｊを更新し、次のステップ１２７に処理を進める。
【０２３２】
ステップ１２７において、ＣＰＵ１０は、移動速度を減衰させ、次のステップに処理を進める。例えば、ＣＰＵ１０は、移動速度データＤｋが示す移動速度に１未満の所定の正の値を乗算したり、当該移動速度が０となるまで所定の値を減算したりすることによって、当該移動速度を減衰させる。そして、ＣＰＵ１０は、減衰後の移動速度を用いて、移動速度データＤｋを更新する。
【０２３３】
次に、ＣＰＵ１０は、プレイヤオブジェクトＰｏの正面方向へ移動速度に応じてプレイヤオブジェクトＰｏおよび第１仮想カメラの位置を仮想世界において移動させ（ステップ１２８）、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、プレイヤオブジェクトデータＤｆが示すプレイヤオブジェクトＰｏの正面方向と移動速度データＤｋが示す移動速度とを用いて、仮想世界においてプレイヤオブジェクトＰｏの正面方向へ当該移動速度の距離だけプレイヤオブジェクトＰｏの位置を移動させ、当該位置を用いてプレイヤオブジェクトデータＤｆを更新する。また、ＣＰＵ１０は、プレイヤオブジェクトＰｏと同じ正面方向へ同じ移動距離だけ第１仮想カメラの位置を移動させ、当該位置を用いて仮想カメラデータＤｍを更新する。
【０２３４】
図２２に戻り、ステップ１１９において、ＣＰＵ１０は、地形オブジェクトに対する第１仮想カメラの位置および方向（または、プレイヤオブジェクトＰｏの位置および方向）に基づいて、端末装置表示範囲を設定して端末装置表示範囲データＤｈを更新し、当該サブルーチンによる処理を終了する。例えば、ＣＰＵ１０は、仮想カメラデータＤｍが示す第１仮想カメラの位置（または、プレイヤオブジェクトデータＤｆが示すプレイヤオブジェクトＰｏの位置および方向）と、地形オブジェクトデータＤｇが示す地形オブジェクトの位置とに基づいて、端末装置表示範囲の位置を設定する。具体的には、第１仮想カメラの注視点（プレイヤオブジェクトＰｏの位置）が端末装置表示範囲の中心位置となるように、地形オブジェクトに対する端末装置表示範囲の位置を設定する。そして、ＣＰＵ１０は、ＬＣＤ６１に表示されている仮想世界の範囲の形状や方向と実質的に一致するように、第１仮想カメラのロール方向（プレイヤオブジェクトＰｏの正面方向）を用いて端末装置表示範囲の形状および方向を設定する。
【０２３５】
図２１に戻り、上記ステップ８３のオブジェクト設定処理の後、ＣＰＵ１０は、第２仮想カメラに関するパラメータを設定して仮想カメラデータＤｍを更新し（ステップ８４）、当該サブルーチンによる処理を終了する。例えば、モニタ用ゲーム画像は、仮想世界内に仮想カメラを配置して、仮想カメラから見たゲーム空間を計算することによって得られる３次元のＣＧ画像等によってそれぞれ生成される。一例として、モニタ用ゲーム画像を生成するための第２仮想カメラは、上述した第１仮想カメラが設定されている同じ仮想世界に設定され、当該仮想世界に配置されている地形オブジェクトの直上遠方位置に固定配置される。そして、第２仮想カメラの姿勢は、仮想世界の鉛直方向が当該第２仮想カメラの視線方向となり、仮想世界基準方向（本実施例では地形オブジェクトの方向が仮想世界に対して固定されるため地形オブジェクトの北方向）が当該第２仮想カメラの上方向となるように設定される。このように、端末用ゲーム画像およびモニタ用ゲーム画像がそれぞれ異なる視点から見た仮想世界のゲーム画像となるため、それらが表示されるＬＣＤ６１およびモニタ２にもそれぞれ異なる視点から見た仮想世界のゲーム画像が表示されることになる。
【０２３６】
図２０に戻り、上記ステップ４４におけるゲーム制御処理の後、ＣＰＵ１０およびＧＰＵ３２は、モニタ２に表示するためのモニタ用ゲーム画像を生成し（ステップ４５）、次のステップに処理を進める。例えば、ＣＰＵ１０およびＧＰＵ３２は、上記ステップ４４のゲーム制御処理の結果を表す各データをメインメモリから読み出し、モニタ用ゲーム画像を生成するために必要なデータをＶＲＡＭ３４から読み出してゲーム画像を生成し、生成されたモニタ用ゲーム画像をＶＲＡＭ３４に記憶する。上記モニタ用ゲーム画像は、上記ステップ４４のゲーム制御処理の結果を表すものであればよく、どのような方法で生成されてもよい。例えば、モニタ用ゲーム画像は、仮想カメラデータＤｍが示す第２仮想カメラに関するパラメータに基づいて仮想世界に第２仮想カメラを配置し、プレイヤオブジェクトデータＤｆ、地形オブジェクトデータＤｇ、および端末装置表示範囲データＤｈに基づいて、プレイヤオブジェクトＰｏと端末装置表示範囲が描画された地形オブジェクトとを仮想世界に配置して、当該第２仮想カメラから見た仮想世界を計算することによって得られる３次元のＣＧ画像によって生成される。具体的には、ＣＰＵ１０は、端末装置表示範囲データＤｈに基づいて、端末装置表示範囲を地形オブジェクト（端末装置表示範囲は、地形オブジェクトの枠外に描画されることもあり得る）に描画する。そして、ＣＰＵ１０は、プレイヤオブジェクトデータＤｆおよび地形オブジェクトデータＤｇが示す位置および方向に基づいて、プレイヤオブジェクトＰｏおよび地形オブジェクトをそれぞれ仮想世界に配置する。
【０２３７】
次に、ＣＰＵ１０およびＧＰＵ３２は、端末装置６に表示するための端末用ゲーム画像を生成し（ステップ４６）、次のステップに処理を進める。例えば、ＣＰＵ１０およびＧＰＵ３２は、上記ステップ４４のゲーム制御処理の結果を表す各データをメインメモリから読み出し、端末用ゲーム画像を生成するために必要なデータをＶＲＡＭ３４から読み出してゲーム画像を生成し、生成されたモニタ用ゲーム画像をＶＲＡＭ３４に記憶する。端末用ゲーム画像についても、上記モニタ用ゲーム画像と同様に上記ステップ４４のゲーム制御処理の結果を表すものであればよく、どのような方法で生成されてもよい。また、端末用ゲーム画像は、上記モニタ用ゲーム画像と同様の方法で生成されてもよいし、異なる方法で生成されてもよい。例えば、端末用ゲーム画像は、仮想カメラデータＤｍが示す第１仮想カメラに関するパラメータに基づいて仮想世界に第１仮想カメラを配置し、上記ステップ４５と同様にプレイヤオブジェクトＰｏおよび地形オブジェクトをそれぞれ仮想世界に配置して、当該第１仮想カメラから見た仮想世界を計算することによって得られる３次元のＣＧ画像によって仮想世界画像が生成される。
【０２３８】
次に、ＣＰＵ１０は、モニタ２のスピーカ２ａに出力するためのモニタ用ゲーム音声を生成し（ステップ４７）、次のステップに処理を進める。例えば、ＣＰＵ１０は、上記ステップ４４のゲーム制御処理の結果に応じてスピーカ２ａから出力するためのモニタ用ゲーム音声をＤＳＰ３３に生成させる。一例として、ＣＰＵ１０は、上記ステップ４４のゲーム制御処理の結果に応じて設定された仮想世界において、第２仮想カメラの位置を基準として聞こえると想定される各オブジェクトの動作音および効果音等に、モニタ２から出力させたいＢＧＭ等を加えたモニタ用ゲーム音声を、ＤＳＰ３３に生成させる。
【０２３９】
次に、ＣＰＵ１０は、端末装置６のスピーカ６０７に出力するための端末用ゲーム音声を生成し（ステップ４８）、次のステップに処理を進める。例えば、ＣＰＵ１０は、上記ステップ４４のゲーム制御処理の結果に応じてスピーカ６０７から出力するための端末用ゲーム音声をＤＳＰ３３に生成させる。一例として、ＣＰＵ１０は、上記ステップ４４のゲーム制御処理の結果に応じて設定された仮想世界において、第１仮想カメラの位置を基準として聞こえると想定される各オブジェクトの動作音および効果音等に、端末装置６から出力させたいＢＧＭ等を加えた端末用ゲーム音声を、ＤＳＰ３３に生成させる。なお、上記端末用ゲーム音声は、上記モニタ用ゲーム音声と同じであってもよいし、異なっていてもよい。また、上記端末用ゲーム音声は、上記モニタ用ゲーム音声に対して、一部の音声が異なる（例えば効果音は異なるが、ＢＧＭが同じ）ものでもよい。なお、モニタ用ゲーム音声と端末用ゲーム音声とが同一である場合、ステップ４８において端末用ゲーム音声の生成処理が実行されなくてもよい。
【０２４０】
次に、ＣＰＵ１０は、モニタ２へモニタ用ゲーム画像およびモニタ用ゲーム音声を出力し（ステップ４９）、次のステップに処理を進める。例えば、ＣＰＵ１０は、ＶＲＡＭ３４に記憶されたモニタ用ゲーム画像のデータと、ＤＳＰ３３によって生成されたモニタ用ゲーム音声のデータとを、ＡＶ−ＩＣ１５へ送る。これに応じて、ＡＶ−ＩＣ１５は、モニタ用ゲーム画像およびモニタ用ゲーム音声を示すデータを、ＡＶコネクタ１６を介してモニタ２へ出力する。これによって、モニタ用ゲーム画像がモニタ２に表示されるとともに、モニタ用ゲーム音声がスピーカ２ａから出力される。
【０２４１】
次に、ＣＰＵ１０は、端末装置６へ端末用ゲーム画像および端末用ゲーム音声を送信し（ステップ５０）、次のステップに処理を進める。例えば、ＣＰＵ１０は、ＶＲＡＭ３４に記憶された端末用ゲーム画像のデータおよびＤＳＰ３３によって生成された端末用ゲーム音声のデータは、ＣＰＵ１０によってコーデックＬＳＩ２７に送られ、コーデックＬＳＩ２７によって所定の圧縮処理が行われる。さらに、圧縮処理が施された端末用ゲーム画像のデータおよび端末用ゲーム音声のデータは、コーデックＬＳＩ２７によって端末通信モジュール２８に送られ、アンテナ２９を介して端末通信モジュール２８によって端末装置６へ送信される。ゲーム装置本体５から送信された端末用ゲーム画像のデータおよび端末用ゲーム音声のデータは、端末装置６の無線モジュール６１０によって受信され、コーデックＬＳＩ６０６によって所定の伸張処理が行われる。そして、伸張処理が行われた端末用ゲーム画像のデータは、ＬＣＤ６１に出力され、伸張処理が行われた端末用ゲーム音声のデータ音声データは、サウンドＩＣ６０８に出力される。これによって、端末用ゲーム画像がＬＣＤ６１に表示されるとともに、端末用ゲーム音声がスピーカ６０７から出力される。
【０２４２】
次に、ＣＰＵ１０は、ゲームを終了するか否かを判定する（ステップ５１）。ゲームを終了する条件としては、例えば、ゲームオーバーやゲームクリアとなる条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。ＣＰＵ１０は、ゲームを終了しない場合に上記ステップ４２に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップ４２〜ステップ５１の一連の処理は、ステップ５１でゲームを終了すると判定されるまで繰り返し実行される。
【０２４３】
上述した処理によれば、端末装置６の姿勢や動きによる操作および端末装置６のタッチパネル６２へのタッチ操作によって、仮想世界の仮想カメラ（第１仮想カメラ）を制御することが可能となっている。例えば、端末装置６の姿勢や動きによる操作によって仮想カメラを仮想世界においてロール回転させる制御が可能であるとともに、タッチパネル６２へのドラッグ操作によって仮想カメラを仮想世界において移動させるような制御も可能となっている。このように、上述した処理によれば、端末装置６の動きや姿勢によって端末装置６に表示される画像の視点（第１仮想カメラの位置や姿勢）が変わる場合に、当該視点をタッチ操作でも変えることができるため、ユーザが視点を変える操作をさらに容易にすることができる。
【０２４４】
また、上述した処理によれば、端末装置６の姿勢や動きによる操作、端末装置６のタッチパネル６２へのタッチ操作、およびボード型コントローラ９に加える荷重による操作によって、仮想世界のプレイヤオブジェクトＰｏの動作を制御することが可能となっている。例えば、端末装置６の姿勢や動きによる操作によってプレイヤオブジェクトＰｏを仮想世界において方向を変える制御が可能であるとともに、タッチパネル６２へのドラッグ操作やボード型コントローラ９に加える荷重による操作によってプレイヤオブジェクトＰｏを仮想世界において移動させるような制御も可能となっている。このように、上述した処理によれば、仮想世界に複数のオブジェクトが登場する場合に、当該オブジェクトに対するユーザ操作を多様にすることが可能となる。
【０２４５】
なお、上述した説明では、仮想世界にプレイヤオブジェクトＰｏと地形オブジェクトとが登場するゲーム例を用いたが、これらのオブジェクトが配置されていない仮想世界を端末装置６のＬＣＤ６１に表示するような場合であっても本発明を適用することができる。例えば、ＬＣＤ６１に表示する仮想世界画像を生成するための仮想カメラを、仮想世界内に配置する。そして、端末装置６の姿勢や動きに応じて上記仮想カメラの仮想世界における姿勢や位置を変化させるとともに、タッチパネル６２へのタッチ操作に応じて当該仮想カメラの仮想世界における姿勢や位置を変化させる。一例として、端末装置６がロール回転した場合、仮想世界に対して上記仮想カメラを当該ロール回転に応じて視線方向周りに相対的に回転させる。また、タッチパネル６２に対してドラッグ操作が行われた場合、当該ドラッグ操作に応じた距離だけ当該ドラッグ操作に応じた方向または逆方向へ仮想世界に対して上記仮想カメラを相対的に移動させる。このように仮想カメラが単に仮想世界に配置されている場合であっても、端末装置６への操作に応じてユーザが所望する視点で当該仮想世界をＬＣＤ６１に表示することができるため、ユーザが当該視点を変える操作を容易にすることができる。
【０２４６】
また、上述したゲーム例では、端末装置６のＬＣＤ６１に表示されるゲーム画像と、モニタ２に表示されるゲーム画像とは、何れも同じ仮想世界の様子を示す画像であるが、当該仮想世界を見る視点や範囲が異なる画像である。したがって、ユーザは、２つの表示画面に表示された異なる視界や表示範囲となった仮想世界を見ることが可能となり、ゲーム状況等に応じて適宜好適なゲーム画像を見ることが可能となる。また、上述したゲーム例では、ユーザが端末装置６を卓上で動かして操作を行い、実空間における端末装置６の姿勢や位置に応じてプレイヤオブジェクトＰｏの方向を地形オブジェクトに対して相対的に変化させるとともに、ＬＣＤ６１に表示される画像も当該変化に応じて変化させることもできる。したがって、端末装置６を動かしながらＬＣＤ６１に表示される画像を見るユーザに、仮想世界の臨場感を与えることができる。その一方で、ＬＣＤ６１に表示される画像だけを見ていると仮想世界全体に対する位置やプレイヤオブジェクトＰｏの周囲の状況の把握が難しくなることも考えられるが、モニタ２に相対的に広い範囲の仮想世界を表示することによって、このような問題を解消することができる。
【０２４７】
また、上述した実施形態では、仮想カメラから見たゲーム空間を計算することによって得られる３次元のＣＧ画像等がＬＣＤ６１やモニタ２に表示されているが、他の画像処理によって生成された仮想世界の画像をＬＣＤ６１やモニタ２に表示してもかまわない。例えば、プレイヤオブジェクトＰｏや地形オブジェクトが２次元画像で表現された２次元の仮想世界画像を、ＬＣＤ６１やモニタ２に表示してもかまわない。
【０２４８】
また、上述した説明では、地形オブジェクト上をプレイヤオブジェクトＰｏが移動するゲーム例を用いたが、本発明は当該ゲームに限定されないことは言うまでもない。例えば、のこぎりで板材を切るようなゲームに、本発明を適用することが考えられる。当該ゲームでは、上記地形オブジェクトを板材としプレイヤオブジェクトＰｏをのこぎりとして同様の表示制御を行い、ボード型コントローラ９に加える荷重による操作によって当該のこぎりで板材が切断されていく様子がＬＣＤ６１およびモニタ２に表示される。このようなゲームであっても、上述した本発明の効果を同様に得ることができる。
【０２４９】
また、ゲームシステム１は、端末装置６およびボード型コントローラ９を操作手段として、上記で説明したように種々のゲームを行うことが可能である。端末装置６は、可搬形のディスプレイや第２のディスプレイとしても使用することができる一方で、本体の動きによる操作、タッチ操作、ボタン操作等による入力を行うコントローラとしても使用することができ、ゲームシステム１によれば、幅広いゲームを実施することが可能となる。つまり、端末装置６は、表示装置として機能するとともに、操作装置としても機能するものであるため、モニタ２およびコントローラ７を使用せずに端末装置６を表示手段として使用し、端末装置６およびボード型コントローラ９を操作手段として使用するようなゲームシステムのような形態もあり得る。さらに、端末装置６は、表示装置として機能するとともに、操作装置としても機能するものであるため、モニタ２、コントローラ７、およびボード型コントローラ９を使用せずに端末装置６を表示手段として使用し、端末装置６を操作手段として使用するようなゲームシステムのような形態もあり得る。
【０２５０】
また、上記実施形態においては、端末装置６は、ゲーム処理を実行しない、いわゆるシンクライアント端末として機能するものであった。しかしながら、端末装置６は、上記実施形態においてゲーム装置本体５によって実行される一連のゲーム処理のうち、少なくとも一部の処理が端末装置６によって実行されてもよい。一例として、一部の処理（例えば、端末用ゲーム画像の生成処理）を端末装置６が実行するようにしてもよい。他の例として、ゲーム装置本体５によって実行される一連のゲーム処理全てを端末装置６が実行するようにしてもよい。この場合、端末装置６は、表示装置として機能するとともに、ゲーム処理を実行する処理装置としても機能するものであるため、モニタ２、ゲーム装置本体５、およびコントローラ７を使用せずに端末装置６を表示手段として使用し、ボード型コントローラ９を操作手段として使用し、端末装置６を処理手段として使用するようなゲームシステムのような形態もあり得る。当該ゲームシステムでは、端末装置６およびボード型コントローラ９のみが無線または有線によって接続され、ボード型コントローラ９からボード操作データを端末装置６へ出力することによって、種々のゲームを行うことができる。また、ボード型コントローラ９も使用しない場合、端末装置６を表示手段、操作手段、および処理手段として使用するような形態もあり得ることは言うまでもない。
【０２５１】
また、上記実施形態においては、端末装置６の姿勢および／または動き（位置や姿勢そのもの、あるいは、位置や姿勢の変化を含む）を算出するために用いられる姿勢データ（例えば、磁気センサ６０２、加速度センサ６０３、およびジャイロセンサ６０４から出力される少なくとも１つのデータ）を端末装置６からゲーム装置本体５へ出力され、ゲーム装置本体５における情報処理によって端末装置６の姿勢および／または動きが算出されている。しかしながら、ゲーム装置本体５において算出されている端末装置６の姿勢および／または動きを、端末装置６において算出してもかまわない。この場合、端末装置６で算出された端末装置６の姿勢および／または動きを示すデータ（すなわち、上記姿勢データを用いて算出された、端末装置６の位置や姿勢そのもの、あるいは、位置や姿勢の変化を示すデータ）が、端末装置６からゲーム装置本体５へ出力され、ゲーム装置本体５における情報処理において当該データが利用されることになる。
【０２５２】
また、上述した説明では、端末装置６とゲーム装置本体５との間およびボード型コントローラ９とゲーム装置本体５との間がそれぞれ無線通信によって接続された態様を用いたが、他の態様によって装置間の無線通信が行われてもかまわない。第１の例として、端末装置６が他の無線通信の中継装置として機能する。この場合、ボード型コントローラ９のボード操作データが端末装置６へ無線送信され、受信したボード操作データと共に端末装置６の端末操作データを、端末装置６がゲーム装置本体５へ無線送信する。この場合、端末装置６とゲーム装置本体５とが無線通信によって直接的に接続されるが、ボード型コントローラ９は、端末装置６を介してゲーム装置本体５と無線通信によって接続されることになる。第２の例として、ボード型コントローラ９が他の無線通信の中継装置として機能する。この場合、端末装置６の端末操作データがボード型コントローラ９へ無線送信され、受信した端末操作データと共にボード型コントローラ９のボード操作データを、ボード型コントローラ９がゲーム装置本体５へ無線送信する。この場合、ボード型コントローラ９とゲーム装置本体５とが無線通信によって直接的に接続されるが、端末装置６は、ボード型コントローラ９を介してゲーム装置本体５と無線通信によって接続されることになる。なお、他の装置が中継してゲーム装置本体５に操作データを送信する場合、ケーブルを介して当該操作データを生成する装置と当該操作データを中継する他の装置との間を電気的に接続してもかまわない。
【０２５３】
また、端末装置６および／またはボード型コントローラ９と、ゲーム装置本体５とがケーブルを介して電気的に接続されてもかまわない。この場合、端末装置６および／またはボード型コントローラ９に接続されたケーブルをゲーム装置本体５の接続端子に接続する。第１の例として、端末装置６とゲーム装置本体５とが第１のケーブルを介して電気的に接続され、ボード型コントローラ９とゲーム装置本体５とが第２のケーブルを介して電気的に接続される。第２の例として、端末装置６とゲーム装置本体５との間がケーブルを介して電気的に接続される。この場合、ボード型コントローラ９のボード操作データは、端末装置６へ無線送信された後に上記ケーブルを介してゲーム装置本体５に送信されてもいいし、ボード型コントローラ９から直接ゲーム装置本体５に無線送信されてもよい。第３の例として、ボード型コントローラ９とゲーム装置本体５との間がケーブルを介して電気的に接続される。この場合、端末装置６の端末操作データは、ボード型コントローラ９へ無線送信された後に上記ケーブルを介してゲーム装置本体５に送信されてもいいし、端末装置６から直接ゲーム装置本体５に無線送信されてもよい。
【０２５４】
また、上記実施形態においては、ゲームシステム１が端末装置６およびボード型コントローラ９をそれぞれ１つ有する構成であったが、ゲームシステム１は、複数組の端末装置６およびボード型コントローラ９を有する構成であってもよい。すなわち、ゲーム装置本体５は、複数組の端末装置６およびボード型コントローラ９とそれぞれ無線通信可能であり、ゲーム画像のデータとゲーム音声のデータと制御データとを各端末装置６へ送信し、端末操作データとカメラ画像データとマイク音データとボード操作データとを各端末装置６およびボード型コントローラ９から受信するものであってもよい。なお、ゲーム装置本体５は、複数の端末装置６およびボード型コントローラ９のそれぞれと無線通信を行うが、このとき、ゲーム装置本体５は、各端末装置６およびボード型コントローラ９との無線通信を時分割で行ってもよいし、周波数帯域を分割して行ってもよい。
【０２５５】
上記のように複数組の端末装置６およびボード型コントローラ９を有する場合には、ゲームシステム１を用いてより多くの種類のゲームを行うことができる。例えば、ゲームシステム１が２組の端末装置６およびボード型コントローラ９を有する場合には、２人のユーザが同時にゲームを行うことができる。また、ゲームシステム１が２組の端末装置６およびボード型コントローラ９を有する場合には、ゲームシステム１は３つの表示装置を有することになるので、３人のユーザのそれぞれのためのゲーム画像を生成し、各表示装置に表示させることができる。
【０２５６】
また、上述した説明では、ボード型コントローラ９に複数の荷重センサ９４を設けているが、上記処理においてはボード型コントローラ９に加わっている荷重の重心位置の情報が不要であるので、ボード型コントローラ９に少なくとも１つの荷重センサ９４をボード型コントローラ９に設けてもかまわない。
【０２５７】
また、上記実施例では、据置型のゲーム装置３を用いて説明したが、携帯型のゲーム装置や一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。何れの装置であっても、当該装置と端末装置６およびボード型コントローラ９とを無線または有線で接続することによって、本発明を実現することができる。
【０２５８】
また、上述した説明ではゲーム処理をゲーム装置本体５で行う例を用いたが、上記ゲーム処理における処理ステップの少なくとも一部をゲームシステム１の外部に設けられた他の装置で行ってもかまわない。例えば、ゲーム装置本体５が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記ゲーム処理における処理ステップは、ゲーム装置本体５および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、オブジェクトおよび仮想世界等を設定する処理が行われ、ゲーム装置本体５からオブジェクトの動作や姿勢に関するデータが他の装置へ送信されて、上記ゲーム処理が行われることが考えられる。そして、他の装置で生成された仮想世界を示す画像データがゲーム装置本体５へ送信され、当該仮想世界がモニタ２やＬＣＤ６１に表示される。このように、上記ゲーム処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム処理と同様の処理が可能となる。なお、上記情報処理における処理ステップの少なくとも一部をボード型コントローラ９（マイコン１００）で行ってもよい。また、上述したゲーム処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置本体５のＣＰＵ１０が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置本体５が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０２５９】
また、上述したゲーム装置本体５の形状や、端末装置６、コントローラ７、およびボード型コントローラ９の形状および各種操作ボタンやセンサの形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、表示態様、判定に用いられる値等は、単なる一例に過ぎず他の順序、表示態様、値であっても、本発明を実現できることは言うまでもない。
【０２６０】
また、上記情報処理プログラムは、光ディスク４等の外部記憶媒体を通じてゲーム装置本体５に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置本体５に供給されてもよい。また、情報処理プログラムは、ゲーム装置本体５内部の不揮発性記憶装置に予め記録されていてもよい。なお、情報処理プログラムを記憶する情報記憶媒体としては、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープなどでもよい。また、上記情報処理プログラムを記憶する情報記憶媒体としては、不揮発性半導体メモリや揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０２６１】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０２６２】
本発明に係る情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法は、装置本体の動きや姿勢によって当該装置に表示される画像の視点が変わる場合に、当該視点を変える操作をさらに容易にすることができ、ユーザ操作に基づいて視点を制御する処理等を行う情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法として有用である。
【符号の説明】
【０２６３】
１…ゲームシステム
２…モニタ
３…ゲーム装置
４…光ディスク
５…ゲーム装置本体
１０、６１７…ＣＰＵ
１１…システムＬＳＩ
１２…外部メインメモリ
１３…ＲＯＭ／ＲＴＣ
１４…ディスクドライブ
１５…ＡＶ−ＩＣ
１６…ＡＶコネクタ
１７…フラッシュメモリ
１８…ネットワーク通信モジュール
１９…コントローラ通信モジュール
２０…拡張コネクタ
２１…メモリカード用コネクタ
２２、２３、２９、６１１、７５４…アンテナ
２４…電源ボタン
２５…リセットボタン
２６…イジェクトボタン
２７…コーデックＬＳＩ
２８…端末通信モジュール
３１…入出力プロセッサ
３２…ＧＰＵ
３３…ＤＳＰ
３４…ＶＲＡＭ
３５…内部メインメモリ
６…端末装置
６０、７１…ハウジング
６１…ＬＣＤ
６２…タッチパネル
６３…アナログスティック
６４…操作ボタン
６５…マーカ部
６６…カメラ
６７…拡張コネクタ
６８…足部
６０１…タッチパネルコントローラ
６０２…磁気センサ
６０３、７０１…加速度センサ
６０４、７０３…ジャイロセンサ
６０５…ＵＩコントローラ
６０６…コーデックＬＳＩ
６０７、７０６…スピーカ
６０８…サウンドＩＣ
６０９…マイク
６１２…赤外線通信モジュール
６１３…フラッシュメモリ
６１４…電源ＩＣ
６１６…充電器
６１８…内部メモリ
６１９、７０４…バイブレータ
７…コントローラ
７２…操作部
７３…コネクタ
７４…撮像情報演算部
７００…基板
７０２…ＬＥＤ
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５２…メモリ
８…マーカ
９…ボード型コントローラ
９０…支持板
９２…脚
９４…荷重センサ
９５…起歪体
９６…歪センサ
１０２…ＡＤコンバータ
１０４…ＤＣ−ＤＣコンバータ
１０６、６１０、７５３…無線モジュール
１０８…増幅器
１００、７５１…マイコン
１１０、６１５…電池
【図１】
0005806510.tif 000002
【図２】
0005806510.tif 000003
【図３】
0005806510.tif 000004
【図４】
0005806510.tif 000005
【図５】
0005806510.tif 000006
【図６】
0005806510.tif 000007
【図７】
0005806510.tif 000008
【図８】
0005806510.tif 000009
【図９】
0005806510.tif 000010
【図１０Ａ】
0005806510.tif 000011
【図１０Ｂ】
0005806510.tif 000012
【図１１Ａ】
0005806510.tif 000013
【図１１Ｂ】
0005806510.tif 000014
【図１２Ａ】
0005806510.tif 000015
【図１２Ｂ】
0005806510.tif 000016
【図１３Ａ】
0005806510.tif 000017
【図１３Ｂ】
0005806510.tif 000018
【図１４】
0005806510.tif 000019
【図１５】
0005806510.tif 000020
【図１６Ａ】
0005806510.tif 000021
【図１６Ｂ】
0005806510.tif 000022
【図１７】
0005806510.tif 000023
【図１８】
0005806510.tif 000024
【図１９】
0005806510.tif 000025
【図２０】
0005806510.tif 000026
【図２１】
0005806510.tif 000027
【図２２】
0005806510.tif 000028
【図２３】
0005806510.tif 000029