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