ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラム
【課題】操作する装置の操作姿勢を考慮してゲーム処理を変更することが可能なゲームシステムを提供する。
【解決手段】ゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部と、操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む。
【解決手段】ゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部と、操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラムに関する。
【背景技術】
【0002】
従来の携帯型のゲーム装置の中には、慣性センサの一種である角速度センサが設けられているものがある(例えば、特許文献1参照)。上記特許文献1に記載された携帯型のゲーム装置では、当該ゲーム装置をユーザが動かしたときの回転角度を、角速度センサを用いて検知する。そして、検知した回転角度に応じて移動させた仮想空間内の仮想カメラを用いて、仮想空間内の仮想オブジェクトなどを撮像した画像を生成する。これにより、上記特許文献1では、携帯型のゲーム装置を動かすことによって仮想カメラの位置を動かして、異なる視点から見た仮想オブジェクトを表示できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−108256号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、携帯型のゲーム装置の場合、ゲーム装置を操作する操作姿勢は種々あり、例えば、机などの平面にゲーム装置を載置して操作する場合や、例えばゲーム装置を手で垂直に近い角度にして操作する場合もある。
【0005】
従来のゲーム装置では、装置の動きを利用したゲーム処理は実行していたが、操作する装置の操作姿勢を考慮してゲーム処理を変更することはしていなかった。
【0006】
本発明の目的は、上記のような問題を解決するためになされたものであって、操作する装置の操作姿勢を考慮してゲーム処理を変更することが可能なゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラムを提供することである。
【課題を解決するための手段】
【0007】
この発明の第1の局面に従うゲームシステムは、操作装置と、操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部と、操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む。
【0008】
第1の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部を設けて、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0009】
好ましい第2の局面によれば、操作部は、少なくも方向の入力を受け付ける方向入力部を有し、ゲーム処理部は、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0010】
特に、第3の局面によれば、ゲーム処理部は、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0011】
第2および第3の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0012】
特に、第4の局面によれば、ゲーム処理部は、仮想空間での移動制御を実行する第2のオブジェクトを設け、ゲーム処理部は、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、第2の視点モードにおいて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行する。
【0013】
特に、第5の局面によれば、ゲーム処理部は、仮想空間での移動制御を実行する第2のオブジェクトを設け、ゲーム処理部は、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、第2の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行する。
【0014】
第4および第5の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0015】
好ましい第6の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0016】
第6の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0017】
好ましい第7の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0018】
第7の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0019】
好ましい第8の局面によれば、センサ部は、慣性センサに相当する。
特に、第9の局面によれば、慣性センサは、加速度センサおよび角速度センサを含む。
【0020】
第8および第9の局面によれば、センサ部は、加速度センサおよび角速度センサで構成されるため操作装置の操作姿勢および操作態様(動き)をともに検出して、それぞれを独立にゲーム処理に反映させることが可能であり、ゲームの興趣性が増す。
【0021】
この発明の第10の局面に従うゲームシステムは、操作装置と、操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の第1の姿勢データが第1の範囲にある場合に、操作部で受け付けた操作入力に従うゲーム処理を実行し、センサ部で取得した操作装置の第1の姿勢データが第2の範囲にある場合に、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。
【0022】
第10の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0023】
この発明の第11の局面に従う携帯型ゲーム装置は、上記に記載の操作装置と情報処理部とを含む。
【0024】
好ましい第12の局面によれば、情報処理部は、操作装置と別個に設けられた本体装置に設けられ、操作装置は、本体装置との間でデータの授受を実行するための通信部をさらに含み、操作装置の通信部は、本体装置に対して操作部で受け付けた操作入力およびセンサ部で取得した姿勢データを送信し、本体装置の情報処理部で実行されたゲーム処理に従うゲーム画像データを受信し、操作装置の表示部は、受信したゲーム画像データに応じたゲーム画像を表示する。
【0025】
第11および第12の局面によれば、携帯型ゲーム装置あるいは、操作装置は本体装置と別個に設けられるため操作性が良い。
【0026】
この発明の第13の局面に従う情報処理部の制御方法は、情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における姿勢データを取得するステップと、取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップと、受け付けた操作入力に従ってゲーム処理を実行するステップとを備える。
【0027】
第13の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップにより、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0028】
好ましい第14の局面によれば、ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、ゲーム処理を実行するステップは、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0029】
特に、第15の局面によれば、ゲーム処理を実行するステップは、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0030】
第14および第15の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0031】
特に、第16の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2のオブジェクトについて、第2の視点モードにおいて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0032】
特に、第17の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0033】
第16および第17の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0034】
好ましい第18の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0035】
第18の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0036】
好ましい第19の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0037】
第19の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0038】
この発明の第20の局面に従う情報処理部の制御方法は、情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、取得した操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える。
【0039】
第20の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0040】
この発明の第21の局面に従う情報処理部の制御プログラムは、情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、制御プログラムは、コンピュータに、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における姿勢データを取得するステップと、取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップと、受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、処理を実行させる。
【0041】
第21の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップにより、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0042】
好ましい第22の局面によれば、ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、ゲーム処理を実行するステップは、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0043】
特に、第23の局面によれば、ゲーム処理を実行するステップは、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0044】
第22および第23の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0045】
特に、第24の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0046】
特に、第25の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0047】
第24および第25の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0048】
好ましい第26の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0049】
第26の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0050】
好ましい第27の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0051】
第27の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0052】
この発明の第28の局面に従う情報処理部の制御プログラムは、情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における基準方向に対する所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、取得した操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える。
【0053】
第28の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0054】
上述の記載においては、本発明の理解を助けるために後述の実施形態との対応関係を示すための参照符号および補足説明等を付したが、これらは本発明を何ら限定するものではない。
【発明の効果】
【0055】
操作する装置の操作姿勢を考慮してゲーム処理を変更することが可能である。
【図面の簡単な説明】
【0056】
【図1】ゲーム装置10の外観を示す平面図である。
【図2】ゲーム装置10の内部構成を示すブロック図である。
【図3】本発明の実施の形態に従うゲーム空間(仮想空間)である3次元ワールド座標系およびカメラ座標系を説明する図である。
【図4】本発明の実施形態に従う仮想空間内に配置される仮想カメラの一例を示す図である。
【図5】本発明の実施の形態に従うユーザのゲーム装置10の操作姿勢を説明する図である。
【図6】本発明の実施の形態に従う第1のユーザ視点モードと第2のユーザ視点モードとにおける仮想カメラの配置について説明する図である。
【図7】本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)の設定方式について説明する図である。
【図8】本発明の実施の形態に従うユーザのゲーム装置10の操作態様の一例を説明する図である。
【図9】本発明の実施の形態に従うゲーム装置10を回転させた場合におけるプレイヤオブジェクトOBJ1および仮想カメラの向きを説明する図である。
【図10】本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)についてその方向を変化させることが可能な範囲について説明する図である。
【図11】本発明の実施の形態に従うプレイヤオブジェクトの向き(視線方向)を移動させる場合の操作量と回転角度との関係を説明する図である。
【図12】本発明の実施の形態に従うボールオブジェクトの移動制御について説明する図である。
【図13】本発明の実施の形態に従うゲーム処理の具体例を説明する図である。
【図14】本発明の実施の形態に従うメインメモリ32に記憶されるデータを説明する図である。
【図15】本発明の実施の形態に従うゲーム処理を実行するメインフローを説明する図である。
【図16】本発明の実施の形態に従う視点設定処理を説明するフロー図である。
【図17】本発明の実施の形態に従う入力受付処理を説明するフロー図である。
【図18】本発明の実施の形態に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【図19】本発明の実施の形態に従うプレイヤオブジェクトOBJ1の視線方向の設定処理について説明するフロー図である。
【図20】本発明の実施の形態に従うボールオブジェクトの移動処理について説明するフロー図である。
【図21】本発明の実施の形態の変形例に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【図22】本発明の実施の形態に従うゲームシステムの構成を説明する図である。
【発明を実施するための形態】
【0057】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0058】
[ゲーム装置の外観構成]
以下、本発明の実施形態の一例(第1の実施形態)に係るゲーム装置について説明する。図1は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、折り畳み可能に構成されている。図1においては、開いた状態(開状態)におけるゲーム装置10の正面図を示している。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0059】
まず、図1を参照して、ゲーム装置10の外観構成について説明する。図1に示されるように、ゲーム装置10は、下側ハウジング11及び上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
【0060】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14I、スライドパッド15、LED16A〜16B、挿入口17、及び、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0061】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12の画素数は、例えば、320dot×240dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0062】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常、タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0063】
各操作ボタン14A〜14Iは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14G、HOMEボタン14H、及びスタートボタン14Iが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14A〜14E、セレクトボタン14G、HOMEボタン14K、及びスタートボタン14Iには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。また、本例においては、一例として、ボタン14Bは、後述するゲーム処理において、ボールオブジェクトをラケットで打つ(ショットする)ためのショット入力ボタンとして用いるものとする。
【0064】
スライドパッド15は、方向を指示するデバイスである。スライドパッド15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。スライドパッド15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、スライドパッド15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはスライドパッド15のキートップがスライドした方向に移動される。なお、スライドパッド15として、上下左右及び斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。本例においては、一例として、スライドパッド15は、後述するゲーム処理において、プレイヤオブジェクトを移動等するための方向指示入力手段として用いるものとする。また、ボールオブジェクトの移動方向を修正するための指示入力手段としても用いられるものとする。
【0065】
なお、スライドパッド15の代わりに十字ボタン14Aを用いるようにすることも可能である。
【0066】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図2参照)が設けられ、当該マイクがゲーム装置10の外部の音を検知する。
【0067】
また、図示はしていないが、下側ハウジング11の上側面には、Lボタン14J及びRボタン14Kが設けられている。Lボタン14J及びRボタン14Kは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、図示はしていないが、下側ハウジング11の左側面には、音量ボタン14Lが設けられる。音量ボタン14Lは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0068】
また、図1に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Bが設けられる。このカバー部11Bの内側には、ゲーム装置10とデータ保存用外部メモリ46とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ46は、コネクタに着脱自在に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
【0069】
また、図1に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ45を挿入するための挿入口11Cが設けられ、その挿入口11Cの内部には、外部メモリ45と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ45がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。
【0070】
また、図1に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16Aが設けられる。さらに、図示はしていないが、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図示せず)。
【0071】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0072】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23a及び外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、及び、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0073】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22の画素数は、例えば、800dot×240dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0074】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施形態では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施形態では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目及び右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(以下、立体視画像と称する)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体視画像を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な立体視画像を表示する立体視表示(立体表示モード)と、画像を平面的に表示する(平面視画像を表示する)平面視表示(平面表示モード)とを切り替えることが可能な表示装置である。この表示の切り替えは、CPU311の処理、又は後述する3D調整スイッチ25によって行われる。
【0075】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23a及び23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部(左)23a及び外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0076】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0077】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。3D調整スイッチ25は、上側LCD22に表示された立体視画像の立体感を調整するために用いられる。ただし、後述で明らかとなるように、本実施形態では一例として、3D調整スイッチ25に関わらずに、下側ハウジング11の傾斜角に従って上側LCD22に表示される画像を立体視画像と平面視画像との間で切り替える。具体的には、ゲーム装置10を垂直に近い角度にした場合、すなわち、水平面に対して下側ハウジング11が傾斜する傾斜角が増大して閾値を超えた場合に平面視画像とする。
【0078】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
【0079】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ44からの音声がこのスピーカ孔21Eから出力される。
【0080】
[ゲーム装置10の内部構成]
次に、図2を参照して、ゲーム装置10の内部の電気的構成について説明する。図2は、ゲーム装置10の内部構成を示すブロック図である。図2に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、及び電源回路41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0081】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。情報処理部31のCPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0082】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェイスである。
【0083】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0084】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0085】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0086】
無線通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36及びローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0087】
また、情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。
【0088】
また、情報処理部31には、慣性センサの一種である加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検知する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検知する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検知する加速度センサであってもよい。情報処理部31は、加速度センサ39が検知した加速度を示す姿勢データ(加速度データ)を受信して、ゲーム装置10の姿勢を検知することができる。
【0089】
たとえば、静的な状態である場合、すなわち、加速度センサ39によって検出される加速度が重力加速度のみであるとして処理する場合、検出された加速度データに基づいてゲーム装置10の姿勢(本例においては、主に下側ハウジング11の内側面(主面)に対して垂直なz軸)が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向である状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることができる。
【0090】
また、多軸の加速度センサの場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。なお、加速度センサ39が動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。
【0091】
情報処理部31には、慣性センサの一種である角速度センサ(ジャイロセンサ)40が接続される。角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検知し、検知した角速度を示す姿勢データ(角速度データ)を情報処理部31へ出力する。角速度センサ40は、例えば下側ハウジング11の内部に設けられる。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置10の動きを算出する。
【0092】
本例においては、ゲーム装置10を操作する姿勢を検知するに当たり、一例として加速度センサ39を用いる。具体的には、加速度データに基づいてゲーム装置10のz軸方向(下側ハウジング11の内側面(主面)に対して垂直な方向)が重力方向に対してどれだけ傾いているか、その傾斜角を算出し、その傾斜角に基づいて姿勢を検知するものとする。
【0093】
また、ゲーム装置10の動きを検知するに当たり、一例として角速度センサ40を用いる。具体的には、角速度データに基づいてゲーム装置10の重力方向の周りに生じる角速度を算出し、その角速度に基づいて、基準に対してどれだけ回転したかその回転角(動き)を検知するものとする。
【0094】
電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0095】
また、情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43、及びスピーカ44が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。また、I/F回路42には上述したタッチパネル13も接続される。I/F回路42は、マイク43及びスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。
【0096】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。また、スライドパッド15は、情報処理部31に接続される。
【0097】
操作ボタン14あるいはスライドパッド15から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)あるいはスライドした方向指示を示す操作データが出力される。情報処理部31は、操作ボタン14あるいはスライドパッド15からの操作データを取得することによって、上記各操作ボタン14A〜14Lあるいはスライドパッド15に対する入力に従った処理を実行する。
【0098】
なお、CPU311は、操作ボタン14あるいはスライドパッド15からの操作データの取得を所定時間に1回の割合で行う。また、所定時間において、操作ボタン14およびスライドパッド15からの両方の入力を受け付けることも可能である。
【0099】
下側LCD12及び上側LCD22は情報処理部31に接続される。下側LCD12及び上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体視画像(立体視可能な画像)を表示させる。
【0100】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に記憶された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。
【0101】
外側撮像部23及び内側撮像部24は、情報処理部31に接続される。外側撮像部23及び内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0102】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0103】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0104】
[情報処理の概要]
次に、情報処理の概要について説明する。情報処理の一例としてゲーム処理がゲーム装置10によって行われるものとする。本例においては、ゲーム処理の一例としてテニスゲームを実行する場合について説明する。本実施形態のゲーム処理は、ゲーム装置10において所定のゲームプログラムが実行されることによって行われる。
【0105】
図3は、本発明の実施の形態に従うゲーム空間(仮想空間)である3次元ワールド座標系およびカメラ座標系を説明する図である。
【0106】
図3を参照して、ここでは、3次元ワールド座標系において、テニスコートオブジェクトOBJ0、ネットオブジェクトOBJ3、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2、ボールオブジェクトOBJ4が初期座標に配置された場合が示されている。なお、プレイヤオブジェクトOBJ1および相手オブジェクトOBJ2は、それぞれテニスラケットを有している場合が示されている。
【0107】
そして、テニスゲームの所定のルールに基づいて、仮想空間内のテニスコートにおいてユーザがスライドパッド15を用いて操作可能なプレイヤオブジェクトOBJ1を操作して、相手オブジェクトOBJ2とテニスゲームを実行することが可能な場合が示されている。具体的には、いわゆるサーブとストロークを必要に応じて繰り返すことにより所定のゲーム処理が進行する。
【0108】
ここでは、2つの仮想カメラ100の位置が示されている。1つの仮想カメラ100の位置は、プレイヤオブジェクトOBJ1の位置である座標Vから所定距離r0離れた位置に配置され、プレイヤオブジェクトOBJ1等を撮影する。ここでは、プレイヤオブジェクトOBJ1の位置に対して仮想カメラ100が座標Pに配置されている場合(第1のユーザ視点モード)が示されている。
【0109】
別の仮想カメラ100の位置は、座標Pよりも上方(ワールド座標系のZ軸に対して正方向)に設けられ、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2を含めテニスコートオブジェクトOBJ0全体を俯瞰して見ることができる位置に配置されている。ここでは、仮想カメラ100が座標Qに配置されている場合(俯瞰視点モード)が示されている。なお、本例においては、俯瞰視点モードの場合、仮想カメラ100は定点で固定されているものとするが、固定せずに全体を俯瞰して見ることができる他の位置に移動させるようにしても良い。
【0110】
本例においては、後述するが、ゲーム装置10の姿勢に応じて仮想カメラ100の位置を切り替える。また、仮想カメラの個数も切り替える。この点で、加速度センサ39を用いてゲーム装置10のz軸方向が重力方向に対して傾斜している角度(傾斜角)を算出し、重力方向に対して傾斜している傾斜角が所定角未満である場合には、例えば仮想カメラ100の座標位置を座標Qとする俯瞰視点モードに設定する。なお、ここでは、座標Qにおいて仮想カメラ100は1つだけ設けられている場合が示されているが、立体視画像を可能とするために2つの仮想カメラが設けられるものとする(図示せず)。
【0111】
一方、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角が第1の所定角以上である場合には、例えば仮想カメラ100の座標位置を座標Pとする第1のユーザ視点モードに設定する。また、後述するが、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角が第2の所定角以上である場合には、第2のユーザ視点モードに設定する。
【0112】
俯瞰視点モードの場合には、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2を含めテニスコートオブジェクトOBJ0全体を俯瞰して見ることができる位置に仮想カメラが配置されるため全体の状態を把握することが可能な視点でゲーム操作が可能となる。なお、俯瞰視点モードの場合には2つの仮想カメラが配置されるため上側LCD22に立体視画像が表示される。
【0113】
ユーザ視点モードの場合には、プレイヤオブジェクトOBJ1の後方に仮想カメラが配置されるため、プレイヤオブジェクトOBJ1の視点でゲーム操作が可能となる。ユーザ視点モードの場合には1つの仮想カメラが配置されるため上側LCD22に平面視画像が表示される。そのようにすることで、回転角による入力を行っても画面が見やすくなるが、他の実施形態においては、ゲームの目的や操作方法次第で、ユーザ視点モードにおいても立体視画像を表示するようにしてもよい。
【0114】
第1のユーザ視点モードと、第2のユーザ視点モードとでは、プレイヤオブジェクトOBJ1を基準とする仮想カメラの仰俯角が異なるように仮想カメラが配置される。
【0115】
また、ユーザ視点モードの場合には、プレイヤオブジェクトOBJ1の配置に応じた位置に仮想カメラ100が配置される。本例においては、XY平面上におけるプレイヤオブジェクトOBJ1の向き(視線方向)と仮想カメラの撮影方向とは同じ方向となるように配置されるものとする。なお、この視線方向がボールオブジェクトOBJ4をショットした場合におけるボールオブジェクトの基準の進行方向を制御するための方向パラメータに用いられる。
【0116】
次に、上側LCD22に表示される立体視画像について説明する。
本実施形態では、上述したように上側LCD22には立体視画像を表示することが可能である。本実施形態における立体視画像は、上述したように俯瞰視点モードの場合に仮想空間内に配置され、撮像方向が設定される仮想カメラを2つ用いて生成されるものとする。
【0117】
仮想空間内に配置される2つの仮想カメラは、それぞれ上述した左目用画像、及び右目用画像を生成するために用いられる。仮想空間内に配置される2つの仮想カメラの一方が左目用画像を生成するための左仮想カメラとして配置され、他方が右目用画像を生成するための右仮想カメラとして配置される。
【0118】
図4は、本発明の実施形態に従う仮想空間内に配置される仮想カメラの一例を示す図である。
【0119】
本実施形態では、図4に一例として示すように、左仮想カメラHk、及び右仮想カメラMkのそれぞれが、仮想空間の原点QからX軸の正方向及び負方向に向かって間隔Kk(以下、仮想カメラ間隔Kkと称する)の位置に移動させられ、配置される。従って、左仮想カメラHk、及び右仮想カメラMkの間隔は、仮想カメラ間隔Kkの2倍の間隔となる。また、左仮想カメラHk、及び右仮想カメラMkの撮像方向は互いに平行である。このように、互いの間隔が2Kkで撮像方向が互いに平行な位置関係の左仮想カメラHk、及び右仮想カメラMkが、仮想空間の原点Q0を中心として配置される。そして、左仮想カメラHkで仮想空間を撮像した画像として左目用画像が生成され、右仮想カメラMkで仮想空間を撮像した画像として右目用画像が生成される。左仮想カメラHk、及び右仮想カメラMkの間隔は2Kkであるので、左目用画像、及び右目用画像は、当該間隔に対応する視差を有する画像として生成される。従って、左目用画像、及び右目用画像は互いに視差を有する立体視画像として、上側LCD22に表示される。仮想カメラ間隔Kkは3D調整スイッチ25により調整することが可能である。
【0120】
図5は、本発明の実施の形態に従うユーザのゲーム装置10の操作姿勢を説明する図である。
【0121】
図5を参照して、本例においては、重力方向を基準方向とした場合のゲーム装置10のz軸方向との間の角度(傾斜角θ)が示されている。なお、重力方向を基準として時計回りの角度を正、反時計回りの角度を負とするものとする。そして、傾斜角の取りうる範囲は、−180°〜180°である。なお、上述したように当該傾斜角は、本例においては加速度センサ39により検出される。
【0122】
ゲーム装置10を把持している手を重力方向を垂線とする水平面と平行にした場合(水平面と平行にゲーム装置10(主に下側ハウジング11)を位置させた場合)には、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角は0°である。
【0123】
また、ゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合には、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角(正の値)は増加する。
【0124】
本発明の実施の形態には、傾斜角θが第1の所定角(S°)未満である場合(−180°≦θ<S°の範囲内)には、俯瞰視点モードに設定する。すなわち、傾斜角θが第1の所定角未満である場合とは、下側ハウジング11の下側LCD12の向きが水平面に対して平行に近い場合である。傾斜角θが第1の所定角(S°)以上である場合(S≦θ<T°の範囲内)には、第1のユーザ視点モードに設定する。また、傾斜角θが第2の所定角(T°)以上である場合には、第2のユーザ視点モードに設定する。傾斜角θが第2の所定角以上である場合(T°≦θ<180°の範囲内)とは、下側ハウジング11の下側LCD12の向きが水平面に対して鉛直に近い場合である。
【0125】
なお、本例においては、第1の所定角(S°)を閾値として俯瞰視点モードから第1のユーザ視点モードに切り替わる場合について説明したが、第1のユーザ視点モードである場合に、俯瞰視点モードへ切り替わる際には、切り替えの閾値を同じ閾値としないようにすることも可能である。例えば、第1の所定角(S°)よりも小さい所定角(R°)を閾値として当該角度付近での連続した切り替わりが生じないようにしてユーザの操作性に影響を与えることを回避することができる。すなわち、現在の視点モードに対応して切り替わる閾値を変更するようにすることが可能である。例えば、第1のユーザ視点モードとなった場合には、傾斜角θがR°≦θ<T°の範囲内にある場合には第1のユーザ視点モードを維持し、傾斜角θがθ<Rとなった場合に俯瞰視点モードに切り替えるようにするようにしても良い。なお、俯瞰視点モードと第1のユーザ視点モードとの場合の閾値の調整について説明したが、第1のユーザ視点モードと第2のユーザ視点モードとの場合についても同様に適用可能である。
【0126】
図6は、本発明の実施の形態に従う第1のユーザ視点モードと第2のユーザ視点モードとにおける仮想カメラの配置について説明する図である。
【0127】
図6を参照して、ワールド座標系であるプレイヤオブジェクトOBJ1の座標V0に対して距離r0離れた位置に仮想カメラ100が配置されている場合が示されている。なお、後述するが仮想カメラ100の配置は、プレイヤオブジェクトのOBJ1の座標位置および視線方向に基づいて決定されるものであり、当該座標および視線方向が定まっている場合について説明する。
【0128】
仮想カメラ100は、第1のユーザ視点モードの場合に座標P0に配置される。また、仮想カメラ100は、第2のユーザ視点モードの場合に座標P1に配置される。
【0129】
プレイヤオブジェクトOBJ1の座標V0を基準とした場合、座標P1は水平方向(XY平面上)に距離r0離れた位置であり、座標P0は、距離r0離れた位置であり、かつ、座標V0を基準とした場合、水平方向(XY平面上)から仰角w°上の位置に対応付けられるものとする。
【0130】
そして、第1のユーザ視点モードの場合、仮想カメラ100の撮影方向は、仮想カメラ100の座標P0からプレイヤオブジェクトの座標V0に向かう方向となる。
【0131】
また、第2のユーザ視点モードの場合、仮想カメラ100の撮影方向は、仮想カメラ100の座標P1からプレイヤオブジェクトの座標V0に向かう方向となる。
【0132】
なお、第1および第2のユーザ視点モードにおいて、XY平面上における当該撮影方向はプレイヤオブジェクトOBJ1の向き(視線方向)と同じ方向となるように設定される。
【0133】
第1のユーザ視点モードにおいては、水平方向に対して仰角w°の角度を付けた位置から仮想カメラ100により撮影するが、第2のユーザ視点モードにおいては仰角0°の位置に仮想カメラ100を位置して撮影するため、プレイヤオブジェクトOBJ1の目線近傍の高さでの撮影となり、プレイヤ視点でのゲーム操作が可能となりより臨場感が増すことになる。
【0134】
なお、当該仰角の値は一例であり、当該値に限定されない。
(プレイヤオブジェクトOBJ1の視線方向の設定)
次に、プレイヤオブジェクトOBJ1の視線方向の設定方式について説明する。
【0135】
図7は、本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)の設定方式について説明する図である。
【0136】
図7(A)を参照して、ここでは、サーブ時における視線方向を設定するために用いるテニスコートオブジェクトOBJ0内に設けられた基準線rf0,rf1が示されている。なお、当該基準線rf0,rf1は、視線方向を設定するために用いるものであり、当該基準線は表示されないものである。また、当該基準線は、テニスゲームの進行状況に応じて切り替えられる。具体的には、サーブ時においてテニスコートオブジェクトOBJ0の右側のコート領域にプレイヤオブジェクトOBJ1が位置する場合には、基準線rf0が有効として用いられる。
【0137】
一方、サーブ時においてテニスコートオブジェクトOBJ0の左側のコート領域にプレイヤオブジェクトOBJ1が位置する場合には、基準線rf1が有効として用いられる。なお、サーブ時において、プレイヤオブジェクトOBJ1の初期位置は予め設定されている。また、ストローク中においては図7(B)に示されるように基準線は、テニスコートオブジェクトOBJ0内に設けられた基準線rf2に切り替えられる。
【0138】
次に、図7(C)には、サーブ時における、プレイヤオブジェクトOBJ1の向き(視線方向)の設定方式が示されている。具体的には、基準線rf0を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定する。そして、基準線rf0が収まるように円弧状に基準視界を設定する。そして、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定する。これにより、当該プレイヤオブジェクトOBJ1の向き(視線方向)に従ってスライドパッド15を介する方向指示入力に応じたプレイヤオブジェクトOBJ1の移動制御が実行される。また、仮想カメラ100は、プレイヤオブジェクトOBJ1の座標および向き(視線方向)に従ってその位置が設定される。本例においては、プレイヤオブジェクトOBJ1の座標V0と向き(視線方向)に従って仮想カメラ100を配置する座標P0が設定される場合が示されている。
【0139】
図7(D)は、ストローク時における、プレイヤオブジェクトOBJ1の向き(視線方向)の設定方式が示されている。具体的には、基準線rf2を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定する。そして、基準線rf2が収まるように円弧状に基準視界を設定する。そして、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定する。これにより、当該プレイヤオブジェクトOBJ1の向き(視線方向)に従ってスライドパッド15を介する方向指示入力に応じたプレイヤオブジェクトOBJ1の移動制御が実行される。また、仮想カメラ100は、プレイヤオブジェクトOBJ1の座標および向き(視線方向)に従ってその位置が設定される。本例においては、プレイヤオブジェクトOBJ1の座標V1と向き(視線方向)に従って仮想カメラ100を配置する座標P2が設定される場合が示されている。
【0140】
なお、プレイヤオブジェクトOBJ1の視線方向は、プレイヤオブジェクトOBJ1がボールオブジェクトOBJ4をショットした場合の基準の進行方向を制御するための方向パラメータに用いられる。一例として、プレイヤオブジェクトOBJ1がボールオブジェクトOBJ4をショットした場合に、スライドパッド15を介する方向指示入力が無い場合には、プレイヤオブジェクトOBJ1の視線方向が方向パラメータとしてボールオブジェクトOBJ4の移動制御が実行される。つまり、プレイヤオブジェクトOBJ1の視線方向にボールオブジェクトOBJ4が移動することになる。
【0141】
図8は、本発明の実施の形態に従うユーザのゲーム装置10の操作態様の一例を説明する図である。
【0142】
本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその回りにゲーム装置10を回転させる操作態様を実行する場合について説明する。
【0143】
図8(A)を参照して、当該場合は、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合であって、第1のユーザ視点モードあるいは第2のユーザ視点モードに設定されているものとする。なお、本例においては、紙面に垂直な方向を重力方向としている。
【0144】
図8(B)を参照して、ここでは、当該ゲーム装置10について、重力方向を基準軸とした場合にその周りに回転させた場合が示されている。具体的には、図8(A)の状態から左側に回転角Sk分回転させた場合が示されている。なお、上述したように当該回転角は、本例においては角速度センサ40により検出される。
【0145】
図9は、本発明の実施の形態に従うゲーム装置10を回転させた場合におけるプレイヤオブジェクトOBJ1および仮想カメラの向きを説明する図である。
【0146】
図9を参照して、本例においては、第1あるいは第2のユーザ視点モードにおいて、検出された回転角に従ってプレイヤオブジェクトOBJ1の向き(視線方向)が制御される。
【0147】
具体的には、一例として、左側に回転角Sk分回転させた場合には、例えば、それに応じてプレイヤオブジェクトOBJ1を左側に回転角Sk分回転させるようにする。プレイヤオブジェクトの向きの変化に従って、仮想カメラ100も同様に回転する。
【0148】
図10は、本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)についてその方向を変化させることが可能な範囲について説明する図である。
【0149】
図10(A)を参照して、サーブ時において、基準線を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定し、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定した場合が示されている。そして、本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその周りにゲーム装置10を回転させた場合に、それに伴ってプレイヤオブジェクトOBJ1の向き(視線方向)が移動する範囲が示されている。サーブ時においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることが可能な範囲は初期の視線方向を規準として所定角度に予め定められているものとする。
【0150】
図10(B)を参照して、ここでは、ストローク中において、基準線を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定し、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定した場合が示されている。そして、本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその周りに回転させた場合に、それに伴ってプレイヤオブジェクトOBJ1の向き(視線方向)が移動する範囲が示されている。ストローク中においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることが可能な範囲は初期の視線方向を規準として所定角度に予め定められているものとする。
【0151】
図11は、本発明の実施の形態に従うプレイヤオブジェクトの向き(視線方向)を移動させる場合の操作量と回転角度との関係を説明する図である。
【0152】
図11を参照して、本例においては、基準視界と基準視界以外の領域において操作量が異なる場合が示されている。
【0153】
具体的には、基準視界内においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させる場合には、ゲーム装置10を重力方向の回りに回転させた場合に検出された回転角と中心線からプレイヤオブジェクトOBJ1の向き(視線方向)が変化する回転角とは同じ値であるものとする。
【0154】
一方、基準視界外の領域でプレイヤオブジェクトOBJ1の向き(視線方向)を変更させる場合には、基準視界から離れるほどその操作量は大きくなる場合が示されている。
【0155】
具体的には、プレイヤオブジェクトOBJ1の向き(視線方向)が基準視界から離れる方向に移動させる場合には、ゲーム装置10を重力方向の周りに回転させる回転量を多くするように所定の重み付けがなされている。当該処理により基準視界内ではゲーム装置10の回転角と連動させてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることによりゲーム処理における操作性を向上するとともに、基準視界外ではゲーム装置10を回転させる操作量に重み付けを付けることにより、基準視界外に視線方向が安易に向くことを抑制してゲーム処理の操作性を向上している。なお、プレイヤオブジェクトOBJ1の向き(視線方向)が基準視界外の領域である場合には、プレイヤオブジェクトOBJ1の向き(視線方向)を徐々に基準視界内に収めるようにプレイヤオブジェクトOBJ1の移動制御(向きの変更制御)を実行するようにしても良い。
【0156】
図12は、本発明の実施の形態に従うボールオブジェクトの移動制御について説明する図である。
【0157】
図12を参照して、ここでは、プレイヤオブジェクトの向き(視線方向)が示されている。スライドパッド15を介する方向指示入力等が無くボールオブジェクトOBJ4をショットした場合(ボタン14Bを選択)には、視線方向がボールオブジェクトOBJ4をショットした場合におけるボールオブジェクトの基準の進行方向を制御するための方向パラメータに用いられる。そして、ボールオブジェクトOBJ4は、方向パラメータを含む移動パラメータに従って、所定のボールオブジェクトの移動制御アルゴリズムによりプレイヤオブジェクトの向き(視線方向)に従う位置に移動するように制御される。
【0158】
なお、移動パラメータには、ボールオブジェクトの移動制御に関する初期の打ち出し角度等の他の各種パラメータを含めることが可能であり、当該移動制御アルゴリズムに従うシミュレーションを先行させて目標位置に移動するように各種パラメータを調整(補正)するようにしても良い。
【0159】
一方で、スライドパッド15を介する方向指示入力等とともに、ボールオブジェクトOBJ4をショットした場合(ボタン14Bを選択)には、移動パラメータ(方向パラメータ)が修正されてボールオブジェクトの基準の進行方向からずれた方向に移動するように制御される。本例においては、例えば、スライドパッド15を介する方向指示入力として右入力があった場合に、ボールオブジェクトOBJ4は、移動パラメータ(方向パラメータ)が修正されてボールオブジェクトの基準の進行方向から右方向に移動するように制御される。なお、プレイヤオブジェクトの向き(視線方向)の変化に従ってボールオブジェクトの進行方向が基準の進行方向から変化するようにしても良い。
【0160】
ここで、本発明の実施の形態においては、ボールオブジェクトOBJ4の移動制御について、ユーザ視点モードにおいては、スライドパッド15を介する方向指示入力とともに、ゲーム装置10の重力方向を基準軸とした場合のその回りの回転角の入力も受け付けるものとする。
【0161】
すなわち、ユーザ視点モードにおいては、スライドパッド15を介する方向指示入力が無い場合であっても、例えば、重力方向を基準軸とした場合に右方向にゲーム装置10を回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)の修正量を反映させて、ボールオブジェクトの基準の進行方向から右方向に移動するように制御する。
【0162】
当該処理により、ゲーム装置10の操作態様を所定の入力として受け付けてゲーム処理に反映させることによりゲームの興趣性が増す。
【0163】
図13は、本発明の実施の形態に従うゲーム処理の具体例を説明する図である。
図13を参照して、当該ゲーム画像は、ゲーム装置10の上側LCD22に表示されているものとする。
【0164】
図13(A)を参照して、ここでは、ユーザがゲーム装置10を把持している手を重力方向を垂線とする水平面と平行にした場合の操作姿勢に従う俯瞰視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、俯瞰視点モードの場合には、上述したように、仮想空間内に固定的に配置される2つの仮想カメラに従う立体視画像が表示されているものとする。
【0165】
図13(B)を参照して、ここでは、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合の操作姿勢に従う第1のユーザ視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、第1のユーザ視点モードの場合には、上述したように仮想空間内に配置される1つの仮想カメラに従う平面視画像が表示されているものとする。
【0166】
本例においては、サーブ時においてプレイヤオブジェクトOBJ1が初期位置に配置され、当該位置に基づいて、プレイヤオブジェクトOBJ1の向き(視線方向)が設定されて、初期の視線方向として相手オブジェクトOBJ2の方向を向いている場合が示されている。
【0167】
図13(C)を参照して、ここでは、第1のユーザ視点モードにおいて、ゲーム装置10を重力方向の回りに回転させた場合の操作態様におけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。本例においては、左側にゲーム装置10を回転させて、それに伴いプレイヤオブジェクトOBJ1の視線方向が相手オブジェクトOBJ2の左側に移動している場合が示されている。
【0168】
図13(D)を参照して、ここでは、第1のユーザ視点モードにおいて、ゲーム装置10を重力方向の回りに回転させた別の操作態様におけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。本例においては、右側にゲーム装置10を回転させて、それに伴いプレイヤオブジェクトOBJ1の視線方向が相手オブジェクトOBJ2の右側に移動している場合が示されている。
【0169】
図13(E)を参照して、ここでは、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を水平面に対して鉛直に近い角度に傾けた場合の操作姿勢に従う第2のユーザ視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、第2のユーザ視点モードの場合には、上述したように仮想空間内に配置される1つの仮想カメラに従う平面視画像が表示されているものとする。本例においては、サーブ時においてプレイヤオブジェクトOBJ1が初期位置に配置され、当該位置に基づいて、プレイヤオブジェクトOBJ1の向き(視線方向)が設定されて、初期の視線方向として相手オブジェクトOBJ2の方向を向いている場合が示されている。すなわち、プレイヤオブジェクトOBJ1の向きは図13(B)と同じであるが、仮想カメラ100の位置が異なる。具体的には、第1のユーザ視点モードにおいては、水平方向に対して仰角w°の角度を付けた位置から仮想カメラ100により撮影するが、第2のユーザ視点モードにおいては仰角0°の位置に仮想カメラ100を位置して撮影するため、プレイヤオブジェクトOBJ1の目線近傍の高さでの撮影となっている場合が示されている。
【0170】
本発明の実施の形態に従うゲーム処理では、操作するゲーム装置10の操作姿勢に従って仮想カメラ100の位置を変更する。具体的には、ゲーム装置10の重力方向を基準方向とした場合のゲーム装置10のz軸方向との間の角度(傾斜角θ)が第1の範囲内である場合には、俯瞰視点モードに従う仮想カメラ位置に設定し、第2の範囲内である場合には、ユーザ視点モードに従う仮想カメラ位置に切り替える。すなわち、操作姿勢に応じて視点モードを切り替えることが可能でありゲーム処理を変更してゲームの興趣性を増大させることができる。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0171】
また、本発明の実施の形態に従うゲーム装置では、操作するゲーム装置10の操作態様をゲーム処理に反映する。具体的には、ゲーム装置10の重力方向を基準軸とする回転角に応じてプレイヤオブジェクトの視線方向(すなわち仮想カメラの撮影方向)を移動させる。当該処理によりゲーム装置の動きに連動して視線方向(仮想カメラの撮影方向)が変化するためゲームの操作性が向上するととともに興趣性が増す。
【0172】
また、ゲーム装置10の重力方向を基準軸とする回転角を方向指示入力として受け付けてボールオブジェクトの移動制御に反映させる。当該処理により、ゲーム装置10の操作態様を所定の入力として受け付けて、ゲーム装置の動きに連動したゲーム処理が実行されるため興趣性が増す。
【0173】
[メインメモリに記憶されるデータ]
次に、ゲーム装置10のCPU311の具体的な動作について説明する前に、当該CPU311がゲームプログラムを実行することに応じて、メインメモリ32に記憶されるデータについて説明する。
【0174】
図14は、本発明の実施の形態に従うメインメモリ32に記憶されるデータを説明する図である。
【0175】
図14を参照して、メインメモリ32には、操作データ501、加速度データ502、角速度データ503、オブジェクトデータ504、仮想カメラデータ505、及び各種プログラム601が記憶される。
【0176】
操作データ501は、上述したように、所定時間に1回の割合(例えば、上記処理単位時間毎に1回)でCPU311が操作ボタン14およびスライドパッド15から取得して記憶されるデータである。
【0177】
加速度データ502は、上記処理単位時間毎に加速度センサ39から取得されるxyz軸方向に沿った加速度を示すデータである。加速度データ502は、上記処理単位時間毎に加速度センサ39から取得され、メインメモリ32に記憶される。本例においては、xyz軸方向に沿った加速度を示すデータに基づいてゲーム装置10が重力方向に対して傾いている傾斜角(姿勢)を検知する。
【0178】
角速度データ503は、上記処理単位時間毎に角速度センサ40から取得されるxyz軸のそれぞれの軸周りの回転角速度を示すデータである。角速度データ503は、上記処理単位時間毎に角速度センサ40から取得され、メインメモリ32に記憶される。なお、本実施形態に係る角速度センサ40は、xyz軸の各軸を中心として、時計回りを正とし、反時計回りを負としてそれぞれの角速度を検知するものとする。そして、本例においては、xyz軸の各軸周りの回転角速度を示すデータに基づいて重力方向の周りに生じる角速度を算出し、その角速度に基づいて、基準に対してどの程度回転したかその回転角(動き)を検知する。
【0179】
オブジェクトデータ504は、テニスコートオブジェクトOBJ0、ネットオブジェクトOBJ3、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2、ボールオブジェクトOBJ4に関するデータである。具体的には、当該オブジェクトそれぞれの形状、位置、及び向き等を示すデータである。当該オブジェクトデータは、初期値において予め設定されているデータとされる。そして、オブジェクトの移動制御に従ってデータの値が処理単位時間毎に更新される。
【0180】
仮想カメラデータ505は、俯瞰視点モードあるいはユーザ視点モードに応じた仮想カメラの個数および配置を示すデータであり、その位置および撮影方向に関するデータが含まれる。上述したように、例えば、ユーザ視点モードにおいては、オブジェクトの移動制御に従って仮想カメラの位置および撮影方向に関するデータの値が処理単位時間毎に更新される。
【0181】
各種プログラム601は、CPU311によって実行される種々のプログラムである。例えば、上述で説明したゲームプログラム等が各種プログラム601としてメインメモリ32に記憶される。また、ゲーム装置の操作態様に応じたボールオブジェクトあるいはプレイヤオブジェクトや相手オブジェクト等の移動制御アルゴリズムやプレイヤオブジェクトの視線方向および仮想カメラの配置設定に関する制御アルゴリズムなどもメインメモリ32に記憶されるゲームプログラムに含まれる。
【0182】
[ゲーム処理]
次に、本実施形態のゲーム装置10のCPU311の具体的な動作について説明する。まず、ゲーム装置10に電源が投入されると、CPU311によってブートプログラム(図示せず)が実行され、これによりデータ保存用内部メモリ35に記憶されているゲームプログラムが読み込まれてメインメモリ32に記憶される。そして、メインメモリ32に記憶されたゲームプログラムがCPU311で実行されることによって、以下のフロー図に示す処理が行われる。
【0183】
図15は、本発明の実施の形態に従うゲーム処理を実行するメインフローを説明する図である。
【0184】
図15を参照して、ゲーム処理を開始すると、CPU311は、まず、初めに初期設定処理をする(ステップS2)。具体的には、メインメモリ32に初期値として設定されているデータに基づいてリセット処理や、各種データに基づいて各オブジェクトを図3に示すようなゲーム空間(仮想空間)である3次元ワールド座標系の初期座標に配置する。例えば、プレイヤオブジェクトOBJ1をワールド座標系の初期座標Vに配置する。また、仮想カメラ100をワールド座標系の初期座標Pに配置する。
【0185】
次に、CPU311は、ゲーム装置10の姿勢に応じた視点設定処理を実行する(ステップS4)。視点設定処理の詳細については後述する。
【0186】
次に、CPU311は、入力受付処理を実行する(ステップS6)。具体的には、操作ボタン14あるいはスライドパッド15からの入力受付処理および角速度センサ40からの入力受付処理を実行する。当該入力受付処理の詳細についても後述する。
【0187】
次に、CPU311は、プレイヤオブジェクト移動処理を実行する(ステップS8)。入力受付処理で受け付けたデータに基づいて、所定の移動制御アルゴリズムに基づいてプレイヤオブジェクト移動処理を実行する。当該オブジェクト移動処理の詳細についても後述する。
【0188】
次に、CPU311は、ボールオブジェクト移動処理を実行する(ステップS9)。入力受付処理で受け付けたデータに基づいて、所定の移動制御アルゴリズムに基づいてボールオブジェクト移動処理を実行する。当該オブジェクト移動処理の詳細についても後述する。
【0189】
次に、CPU311は、ゲーム判定処理を実行する(ステップS10)。例えば、テニスコートオブジェクトOBJ0に対するボールオブジェクトOBJ4の位置に基づいてテニスルールに基づくゲーム勝敗判定等を実行する。
【0190】
次に、CPU311は、仮想カメラの位置を更新する(ステップS11)。具体的には、視点モードの切り替えあるいは、オブジェクト移動処理に従う更新されたプレイヤオブジェクトの移動に従って仮想カメラの位置を更新する。
【0191】
次に、CPU311は、プレイヤオブジェクト等の位置を配置された仮想カメラの位置を基準とする3次元のカメラ座標系に変換する(ステップS12)。
【0192】
そして、CPU311は、変換された3次元のカメラ座標系を2次元の投影平面座標系に変換する(ステップS13)。なお、その際、テクスチャの指定やクリッピング(clipping:不可視世界の切り取り)等も併せて実行する。これにより、仮想カメラでプレイヤオブジェクト等を撮影した2次元の画像データを取得することが可能となる。
【0193】
そして、CPU311は、ゲーム画像となる画像データの生成処理を実行する(ステップS14)。
【0194】
そして、CPU311は、当該画像データを上側LCD22に出力してゲーム画像を表示する(ステップS15)。なお、ユーザ視点モードの場合には平面視画像を表示する。また、俯瞰視点モードの場合には立体視画像を表示する。
【0195】
次に、ゲームが終了したかどうかを判断する(ステップS16)。ゲームが終了でないと判断した場合(ステップS16においてNO)には、再び、ステップS4に戻る。なお、上記の処理は、処理単位時間毎に繰り返されるものである。
【0196】
一方、ゲームが終了した場合(ステップS16においてYES)には、処理を終了する(エンド)。
【0197】
次に視点設定処理について説明する。
図16は、本発明の実施の形態に従う視点設定処理を説明するフロー図である。
【0198】
図16を参照して、まず、加速度データを取得する(ステップS20)。
具体的には、CPU311は、加速度センサ39からxyz軸方向に沿った加速度データを取得する。
【0199】
次に、CPU311は、重力方向に対してゲーム装置10のz軸方向が傾斜した傾斜角を算出する(ステップS22)。
【0200】
次に、CPU311は、傾斜角が第1の範囲内であるかどうかを判断する(ステップS24)。例えば、図5で説明したように傾斜角θが第1の所定角(S°)未満であるか否かを判断する(−180°≦θ<S°の範囲内)。
【0201】
CPU311は、傾斜角が第1の範囲内であると判断した場合(ステップS24においてYES)には、俯瞰視点モードに設定する(ステップS26)。そして、処理を終了する(リターン)。
【0202】
一方、CPU311は、ステップS24において、傾斜角が第1の範囲内でないと判断した場合(ステップS24においてNO)には、傾斜角が第2の範囲内であるかどうかを判断する(ステップS28)。例えば、図5で説明したように傾斜角θが第1の所定角(S°)以上、第2の所定角未満であるか否かを判断する(S≦θ<T°の範囲内)。
【0203】
CPU311は、傾斜角が第2の範囲内であると判断した場合(ステップS28においてYES)には、第1のユーザ視点モードに設定する(ステップS30)。そして、処理を終了する(リターン)。
【0204】
一方、CPU311は、ステップS28において、傾斜角が第2の範囲内でないと判断した場合(ステップS28においてNO)には、傾斜角が第3の範囲内であるかどうかを判断する(ステップS32)。例えば、図5で説明したように傾斜角θが第2の所定角(S°)以上であるか否かを判断する(T°≦θ<180°の範囲内)。
【0205】
CPU311は、傾斜角が第3の範囲内であると判断した場合(ステップS32においてYES)には、第2のユーザ視点モードに設定する(ステップS34)。そして、処理を終了する(リターン)。
【0206】
なお、傾斜角がいずれの範囲内にも含まれない場合(ステップS32においてNO)には、傾斜角は無効として処理する(リターン)。
【0207】
当該処理により、ゲーム装置10の操作姿勢に従って仮想カメラの視点モードが設定される。
【0208】
次に入力受付処理について説明する。
図17は、本発明の実施の形態に従う入力受付処理を説明するフロー図である。
【0209】
図17を参照して、まず、CPU311は、俯瞰視点モードであるかどうかを判断する(ステップS60)。具体的には、CPU311は、視点設定処理に基づいていずれの視点モードに設定されたかを判断する。
【0210】
次に、CPU311は、ステップS60において、俯瞰視点モードであると判断した場合(ステップS60においてYES)には、スライドパッド入力およびショット入力の受付処理を実行する(ステップS62)。そして、処理を終了する(リターン)。なお、本例においては、ショット入力は、操作ボタン14のボタン14Bに対する選択を指すものとする。
【0211】
一方、CPU311は、ステップS60において、俯瞰視点モードでないと判断した場合(ステップS60においてNO)、すなわちユーザ視点モードの場合には、角速度データを取得する(ステップS64)。
【0212】
そして、CPU311は、角速度データに基づいて本体左右の回転角を算出する(ステップS66)。具体的には、重力方向を基準軸とした場合にその回りの回転角を算出する。回転角の正負の符号によりその回転方向を判断することが可能である。
【0213】
そして、CPU311は、スライドパッド入力、ショット入力および回転角の入力の受付処理を実行する。そして、処理を終了する(リターン)。
【0214】
すなわち、俯瞰視点モードの場合には、スライドパッド入力およびショット入力のみが有効とされ、ユーザ視点モードの場合には、スライドパッド入力およびショット入力ならびにゲーム装置10に対する左右の回転角も入力として有効とされる。
【0215】
図18は、本発明の実施の形態に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【0216】
図18を参照して、まず、CPU311は、俯瞰視点モードであるかどうかを判断する(ステップS70)。具体的には、CPU311は、視点設定処理に基づいていずれの視点モードに設定されたかを判断する。
【0217】
次に、CPU311は、ステップS70において、俯瞰視点モードであると判断した場合(ステップS70においてYES)には、入力受付処理に従う入力が有ったかどうかを判断する(ステップS72)。
【0218】
CPU311は、ステップS72において、入力が有ったと判断した場合(ステップS72においてYES)には、ショット入力が有ったかどうかを判断する(ステップS74)。具体的には、ボールオブジェクトOBJ4をショットするためのボタン14Bの入力指示があったかどうかを判断する。当該処理はメインメモリ32の操作データ501に基づいて判断することが可能である。
【0219】
ステップS74において、ショット入力が有ったと判断した場合(ステップS74においてYES)には、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があるか否かを判断する(ステップS76)。具体的には、プレイヤオブジェクトOBJ1の位置に基づいて所定の範囲内でボールオブジェクトOBJ4をショットすることが可能なエリアが予め定められているものとする。当該範囲内にボールオブジェクトOBJ4が存在するか否かの判定処理がなされる。
【0220】
CPU311は、ステップS76において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS76においてYES)には、ショット入力およびスライドパッド入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS78)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。なお、方向パラメータに限られず、他の移動パラメータ、たとえば、ボールの打ち出し角、スピン等のボールオブジェクトの移動制御に用いられるパラメータを修正するようにしても良い。
【0221】
そして、処理を修正する(リターン)。
一方、CPU311において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4がないと判断した場合(ステップS76においてNO)には、処理を終了する(リターン)。この場合には、ショットすることが可能でないために、例えば、ボールオブジェクトOBJ4の軌道は変化せず、ラケットを有するプレイヤオブジェクトOBJ1は空振りしたようなアニメーションとすることが可能である。
【0222】
すなわち、ショット入力が有った場合には、スライドパッド入力は、ボールオブジェクトOBJ4の移動制御に用いられ、プレイヤオブジェクトOBJ1の移動制御には用いられない。なお、ショット入力時にも、反映度合いを下げた上で、スライドパッド入力をプレイヤオブジェクトOBJ1の移動制御に反映させてもよい。
【0223】
一方、CPU311は、ステップS74において、ショット入力が無かったと判断した場合(ステップS74においてNO)には、スライドパッドの入力に基づいてプレイヤオブジェクトOBJ1の所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS79)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトOBJ1が移動する。なお、プレイヤオブジェクトの向き(視線方向)の設定については後述の制御が実行される。
【0224】
そして、処理を終了する(リターン)。
CPU311は、ステップS70において、俯瞰視点モードでないと判断した場合(ステップS70においてNO)、すなわちユーザ視点モードである場合には、入力受付処理に従う入力が有ったかどうかを判断する(ステップS80)。
【0225】
CPU311は、ステップS80において、入力が有ったと判断した場合(ステップS80においてYES)には、ショット入力が有ったかどうかを判断する(ステップS82)。具体的には、ボールオブジェクトOBJ4をショットするためのボタン14Bの入力指示があったかどうかを判断する。当該処理はメインメモリ32の操作データ501に基づいて判断することが可能である。
【0226】
ステップS82において、ショット入力が有ったと判断した場合(ステップS82においてYES)には、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があるか否かを判断する(ステップS84)。具体的には、プレイヤオブジェクトOBJ1の位置に基づいて所定の範囲内でボールオブジェクトOBJ4をショットすることが可能なエリアが予め定められているものとする。当該範囲内にボールオブジェクトOBJ4が存在するか否かの判定処理がなされる。
【0227】
CPU311は、ステップS84において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS84においてYES)には、ショット入力、スライドパッド入力および回転角の入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS86)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。また、回転角の入力に基づいても移動パラメータ(方向パラメータ)が修正される。例えば、ゲーム装置10を右方向に回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)を修正する。なお、方向パラメータに限られず、他の移動パラメータ、たとえば、ボールの打ち出し角、スピン等のボールオブジェクトの移動制御に用いられるパラメータを修正するようにしても良い。
【0228】
なお、本例においては、ショット入力が有った場合には、スライドパッド入力および回転角の入力は、ボールオブジェクトの移動パラメータの修正に反映される場合について説明したが、プレイヤオブジェクトOBJ1の移動パラメータ(方向パラメータ)もともに修正されてプレイヤオブジェクトの向き(視線方向)が変化するようにする移動制御を実行するようにしても良い。その場合には、プレイヤオブジェクトの向き(視線方向)の変化に合わせてボールオブジェクトの進行方向が変化するようにすれば良い。
【0229】
そして、処理を修正する(リターン)。
一方、CPU311において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4がないと判断した場合(ステップS84においてNO)には、処理を終了する(リターン)。この場合には、ショットすることが可能でないために、例えば、ボールオブジェクトOBJ4の軌道は変化せず、ラケットを有するプレイヤオブジェクトOBJ1は空振りしたようなアニメーションとすることが可能である。
【0230】
すなわち、ショット入力が有った場合には、スライドパッド入力は、ボールオブジェクトOBJ4の移動制御に用いられ、プレイヤオブジェクトOBJ1の移動制御には用いられない。なお、ショット入力時にも、反映度合いを下げた上で、スライドパッド入力をプレイヤオブジェクトOBJ1の移動制御に反映させてもよい。
【0231】
一方、CPU311は、ステップS82において、ショット入力が無かったと判断した場合(ステップS82においてNO)には、スライドパッドの入力および回転角の入力に基づいてプレイヤオブジェクトの所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS88)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトが移動する。さらに、回転角の入力に基づいてプレイヤオブジェクトOBJ1の向き(視線方向)がさらに制御される。なお、本実施例においては、上述のとおり、ステップS70において俯瞰視点モードでない場合に回転角入力を操作に反映するようにしているが、他の実施形態において、ゲームの内容によっては、逆に俯瞰視点モードのときにのみ回転角入力を操作に反映するように切り替える、という操作方法であってもよい。
【0232】
なお、プレイヤオブジェクトの向き(視線方向)の設定については後述の制御が実行される。
【0233】
図19は、本発明の実施の形態に従うプレイヤオブジェクトOBJ1の視線方向の設定処理について説明するフロー図である。
【0234】
図19を参照して、まず、CPU311は、基準線を設定する(ステップS40)。具体的には、図7(A)および(B)で説明したように、ゲームの進行状況として、サーブ時であるか、ストローク中であるか否かおよびプレイヤオブジェクトの位置に基づいて、基準線rf0,rf1,基準線rf2のいずれかが選択される。
【0235】
次に、CPU311は、基準線が収まるようにオブジェクト位置に基づいて基準視界を設定する(ステップS42)。
【0236】
次に、CPU311は、基準視界の中心を視線方向に設定する(ステップS44)。
具体的には、図7(C)および(D)で説明したように、基準視界の中心方向がオブジェクトの向き(視線方向)に設定される。
【0237】
そして、処理を終了する(リターン)。
当該視線方向が基準となり、ボールオブジェクトの移動処理および仮想カメラの配置が決定される。
【0238】
図20は、本発明の実施の形態に従うボールオブジェクトの移動処理について説明するフロー図である。
【0239】
図20を参照して、CPU311は、移動パラメータの修正が有ったかどうかを判断する(ステップS90)。具体的には、入力受付処理に従ってスライドパッド入力等に基づいてボールオブジェクトの移動パラメータ(方向パラメータ)が修正されたかどうかが判断される。
【0240】
次に、CPU311は、ステップS90において、移動パラメータの修正が有ったと判断した場合(ステップS90においてYES)には、修正された移動パラメータに基づいて所定の移動制御アルゴリズムに従うボールオブジェクトの移動制御を実行する(ステップS92)。例えば、ボールオブジェクトOBJ4がプレイヤオブジェクトOBJ1のラケットによりショットされる場合には、ボールオブジェクトOBJ4がプレイヤオブジェクトOBJ1の視線方向に移動するように制御される。この場合、ショット入力の場合には、プレイヤオブジェクトOBJ1の視線方向に移動するようにボールオブジェクトは移動制御されるが、右方向に対するスライドパッド入力あるいは回転角の入力が有った場合には、当該視線方向から右側方向に移動するようにボールオブジェクトは移動制御される。
【0241】
一方、CPU311は、ステップS90において、移動パラメータの修正が無かったと判断した場合(ステップS90においてNO)には、前回の移動パラメータに基づいてボールオブジェクトの移動制御が実行される(ステップS94)。修正が無い場合には、前回設定された移動パラメータに従ってボールオブジェクトの進行方向が維持される移動制御が実行される。
【0242】
そして、処理を終了する(リターン)。
(変形例)
上記においては、ボールオブジェクトの移動処理として、ショット入力が有った場合、回転角の入力がともに有った場合に、回転角の入力がボールオブジェクトの移動制御のために反映される場合について説明したが、特に、当該入力のタイミングは同時でなくても良い。例えば、ショット入力が有った後の所定期間において、回転角の入力を受け付ける期間を設けて、当該期間中に当該回転角の入力が有った場合に回転角の入力をボールオブジェクトの移動制御に反映させるようにしても良い。
【0243】
図21は、本発明の実施の形態の変形例に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【0244】
図21を参照して、図18のフロー図と比較して、ステップS86をステップS86#に変更した点と、ステップS100〜ステップS104をさらに設けた点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。
【0245】
具体的には、CPU311は、ステップS84において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS84においてYES)には、ショット入力およびスライドパッド入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS86#)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。
【0246】
そして、処理を終了する(リターン)。
また、CPU311は、ステップS82において、ショット入力が無かったと判断した場合(ステップS82においてNO)に、次に、ショット入力から所定期間内であるかどうかを判断する(ステップS100)。例えば、所定期間内として、処理単位時間を1回としてショット入力の後、所定回以内かどうかを判断するようにしても良い。
【0247】
CPU311は、ショット入力から所定期間内であると判断した場合(ステップS100においてYES)には、回転角の入力が有ったかどうかを判断する(ステップS102)。
【0248】
CPU311は、回転角の入力が有ったと判断した場合(ステップS102においてYES)には、回転角の入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS104)。具体的には、回転角の入力に基づいて移動パラメータ(方向パラメータ)を修正する。例えば、ゲーム装置10を右方向に回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)を修正する。なお、方向パラメータに限られず、ボールオブジェクトの移動制御に用いられる他のパラメータを修正するようにしても良い。
【0249】
なお、本例においては、ショット入力が有った場合には、回転角の入力は、ボールオブジェクトの移動パラメータの修正に反映される場合について説明したが、プレイヤオブジェクトOBJ1の移動パラメータ(方向パラメータ)もともに修正されてプレイヤオブジェクトの向き(視線方向)が変化するようにする移動制御を実行するようにしても良い。その場合には、プレイヤオブジェクトの向き(視線方向)の変化に合わせてボールオブジェクトの進行方向が変化するようにすれば良い。
【0250】
そして、処理を修正する(リターン)。
一方、CPU311は、ショット入力から所定期間内でないと判断した場合(ステップS100においてNO)あるいは、ステップS102において、回転角の入力が無いと判断した場合(ステップS102においてNO)には、スライドパッドの入力および回転角の入力に基づいてプレイヤオブジェクトの所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS88)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトが移動する。さらに、回転角の入力に基づいてプレイヤオブジェクトOBJ1の向き(視線方向)がさらに制御される。
【0251】
当該処理により、例えば、ショット入力が有った後の所定期間内において、回転角の入力が有った場合には、当該回転角の入力に従う移動パラメータが修正されて、当該回転角の入力をボールオブジェクトの移動制御に反映させることが可能となる。
【0252】
また、上述した説明では、本発明を携帯型のゲーム装置10に適用した場合について説明したが、本発明は携帯型ゲーム装置に限定されない。例えば、据置型ゲーム装置、携帯電話機、簡易型携帯電話機(PHS)、PDA等の携帯情報端末にも本発明の適用は可能である。また、据置型ゲーム機やパーソナルコンピュータにも本発明の適用は可能である。以下、具体例について説明する。
【0253】
図22は、本発明の実施の形態に従うゲームシステムの構成を説明する図である。
図22(A)を参照して、ここでは、情報処理部200と、操作装置210とで構成されたゲームシステムが示されている。情報処理部31の機能を例えば、操作装置210とは別に設けられた本体装置(図示しない)内の情報処理部200で実行するようにしても良い。その場合、本体装置とは別に設けられた操作装置210において、下側LCD12あるいは上側LCD22を含む表示部212、加速度センサ39および角速度センサ40を含むセンサ部214、操作ボタン14およびスライドパッド15を含む操作部216、無線通信モジュール36等を含む通信部218を設けるようにしてもよい。そして、通信部218を用いて本体装置の情報処理部200との間でデータの授受を実行することにより上記で説明したのと同様のゲーム処理を実行することが可能である。 具体的には、センサ部214および操作部216でのデータについて通信部218を用いて送信し、情報処理部200で所定のゲーム処理を実行した後、情報処理部200で生成された画像データを通信部218により受信して表示部212にゲーム画像を表示するようにすれば良い。
【0254】
図22(B)を参照して、ここでは、情報処理部200と、表示部212と、操作装置210#とで構成されたゲームシステムが示されている。図22(A)と比較して、表示部212が操作装置内に設けられていない点が異なる。すなわち、例えば、表示部を外部装置(モニタ等)として設けて、当該外部装置にゲーム画像を表示させるようにすることも可能である。具体的には、センサ部214および操作部216でのデータについて通信部218を用いて送信し、情報処理部200で所定のゲーム処理を実行した後、情報処理部200で生成された画像データを外部装置である表示部212に出力して、ゲーム画像を表示するようにすれば良い。
【0255】
<その他の形態>
上述の実施の形態においては、本発明に係る情報処理装置の代表例として、ゲーム装置10について例示したが、これに限定されることはない。すなわち、本発明に係るプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
【0256】
また、本例においては、ゲーム処理として、テニスゲームを実行する場合について説明したがテニスゲームに限られず、他のゲームにも適用可能である。例えば、ゴルフゲームにおいてもゲーム装置の操作姿勢に応じて視点モードを切り替えてゲーム処理を実行するようにしても良い。たとえば、ゲーム装置の姿勢に応じてコースのトップビューとショットビューを切り替えるようにしても良い。ショットビューにおいて、ボールを打ち出す方向をゲーム装置の姿勢に応じて制御し、トップビューではスライドパッドやタッチパネルに対する操作によってショット方向を操作するようにしてもよい。その際、トップビューにおいては操作のためのアイコン等が表示されるようにし、ショットビューにおいては臨場感を向上させるためのアイコン等の機能的な表示が少なくなるようにし、操作方法に合わせて機能表示を変化させてもよい。また、ゴルフゲームにおいてもボールをショットした後に、ゲーム装置の操作態様、例えば右方向に回転等する動きをゲーム処理に反映させて当該ボールの移動制御に用いられるパラメータを変更するようにしても良い。
【0257】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0258】
10 ゲーム装置、11 下側ハウジング、11B カバー部、11C,17 挿入口、13 タッチパネル、14 操作ボタン、14A 十字ボタン、14G セレクトボタン、14I スタートボタン、15 スライドパッド、18 マイクロフォン用孔、19 無線スイッチ、21 上側ハウジング、21E スピーカ孔、23 外側撮像部、24 内側撮像部、25 調整スイッチ、25a スライダ、26 インジケータ、27 タッチペン、31,200 情報処理部、32 メインメモリ、35 データ保存用内部メモリ、36 無線通信モジュール、37 ローカル通信モジュール、39 加速度センサ、40 角速度センサ、41 電源回路、42 I/F回路、43 マイク、44 スピーカ、45 外部メモリ、46 データ保存用外部メモリ、100 仮想カメラ、210 操作装置、212 表示部、214 センサ部、216 操作部、218 通信部、311 CPU、313 VRAM。
【技術分野】
【0001】
この発明は、ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラムに関する。
【背景技術】
【0002】
従来の携帯型のゲーム装置の中には、慣性センサの一種である角速度センサが設けられているものがある(例えば、特許文献1参照)。上記特許文献1に記載された携帯型のゲーム装置では、当該ゲーム装置をユーザが動かしたときの回転角度を、角速度センサを用いて検知する。そして、検知した回転角度に応じて移動させた仮想空間内の仮想カメラを用いて、仮想空間内の仮想オブジェクトなどを撮像した画像を生成する。これにより、上記特許文献1では、携帯型のゲーム装置を動かすことによって仮想カメラの位置を動かして、異なる視点から見た仮想オブジェクトを表示できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−108256号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、携帯型のゲーム装置の場合、ゲーム装置を操作する操作姿勢は種々あり、例えば、机などの平面にゲーム装置を載置して操作する場合や、例えばゲーム装置を手で垂直に近い角度にして操作する場合もある。
【0005】
従来のゲーム装置では、装置の動きを利用したゲーム処理は実行していたが、操作する装置の操作姿勢を考慮してゲーム処理を変更することはしていなかった。
【0006】
本発明の目的は、上記のような問題を解決するためになされたものであって、操作する装置の操作姿勢を考慮してゲーム処理を変更することが可能なゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラムを提供することである。
【課題を解決するための手段】
【0007】
この発明の第1の局面に従うゲームシステムは、操作装置と、操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部と、操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む。
【0008】
第1の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定する視点モード切替部を設けて、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0009】
好ましい第2の局面によれば、操作部は、少なくも方向の入力を受け付ける方向入力部を有し、ゲーム処理部は、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0010】
特に、第3の局面によれば、ゲーム処理部は、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0011】
第2および第3の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0012】
特に、第4の局面によれば、ゲーム処理部は、仮想空間での移動制御を実行する第2のオブジェクトを設け、ゲーム処理部は、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、第2の視点モードにおいて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行する。
【0013】
特に、第5の局面によれば、ゲーム処理部は、仮想空間での移動制御を実行する第2のオブジェクトを設け、ゲーム処理部は、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、第2の視点モードにおいて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行し、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行する。
【0014】
第4および第5の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0015】
好ましい第6の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0016】
第6の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0017】
好ましい第7の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0018】
第7の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0019】
好ましい第8の局面によれば、センサ部は、慣性センサに相当する。
特に、第9の局面によれば、慣性センサは、加速度センサおよび角速度センサを含む。
【0020】
第8および第9の局面によれば、センサ部は、加速度センサおよび角速度センサで構成されるため操作装置の操作姿勢および操作態様(動き)をともに検出して、それぞれを独立にゲーム処理に反映させることが可能であり、ゲームの興趣性が増す。
【0021】
この発明の第10の局面に従うゲームシステムは、操作装置と、操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、操作装置は、情報を表示する表示部と、ユーザの操作入力を受け付ける操作部と、操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するセンサ部とを含む。情報処理部は、センサ部で取得した操作装置の第1の姿勢データが第1の範囲にある場合に、操作部で受け付けた操作入力に従うゲーム処理を実行し、センサ部で取得した操作装置の第1の姿勢データが第2の範囲にある場合に、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。
【0022】
第10の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0023】
この発明の第11の局面に従う携帯型ゲーム装置は、上記に記載の操作装置と情報処理部とを含む。
【0024】
好ましい第12の局面によれば、情報処理部は、操作装置と別個に設けられた本体装置に設けられ、操作装置は、本体装置との間でデータの授受を実行するための通信部をさらに含み、操作装置の通信部は、本体装置に対して操作部で受け付けた操作入力およびセンサ部で取得した姿勢データを送信し、本体装置の情報処理部で実行されたゲーム処理に従うゲーム画像データを受信し、操作装置の表示部は、受信したゲーム画像データに応じたゲーム画像を表示する。
【0025】
第11および第12の局面によれば、携帯型ゲーム装置あるいは、操作装置は本体装置と別個に設けられるため操作性が良い。
【0026】
この発明の第13の局面に従う情報処理部の制御方法は、情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における姿勢データを取得するステップと、取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップと、受け付けた操作入力に従ってゲーム処理を実行するステップとを備える。
【0027】
第13の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップにより、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0028】
好ましい第14の局面によれば、ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、ゲーム処理を実行するステップは、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0029】
特に、第15の局面によれば、ゲーム処理を実行するステップは、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0030】
第14および第15の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0031】
特に、第16の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第2のオブジェクトについて、第1の視点モードにおいて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2のオブジェクトについて、第2の視点モードにおいて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0032】
特に、第17の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0033】
第16および第17の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0034】
好ましい第18の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0035】
第18の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0036】
好ましい第19の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0037】
第19の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0038】
この発明の第20の局面に従う情報処理部の制御方法は、情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、取得した操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える。
【0039】
第20の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0040】
この発明の第21の局面に従う情報処理部の制御プログラムは、情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、制御プログラムは、コンピュータに、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における姿勢データを取得するステップと、取得した操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップと、受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、処理を実行させる。
【0041】
第21の局面によれば、操作装置の存在する空間における基準方向に対する所定の方向軸の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第1の視点モード、操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を表示部に表示するための第2の視点モードを設定するステップにより、操作姿勢に応じた視点モードに従うゲーム処理に変更して実行することが可能であるためゲームの興趣性を増すことが可能である。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0042】
好ましい第22の局面によれば、ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、ゲーム処理を実行するステップは、仮想空間に設けられた第1のオブジェクトを方向入力部において受け付けた方向の入力に従って移動させる。
【0043】
特に、第23の局面によれば、ゲーム処理を実行するステップは、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御する。
【0044】
第22および第23の局面によれば、第2の視点モードにおいて、操作装置の姿勢データに従って第2の仮想カメラの位置および撮像方向を制御することにより、操作姿勢に従って視点がさらに変化することによりゲームの興趣性がさらに増す。
【0045】
特に、第24の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングにおける操作部で受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0046】
特に、第25の局面によれば、ゲーム処理を実行するステップは、仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、第1の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、第2の視点モードにおいて、第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、所定のタイミングと異なるタイミングにおける操作装置の姿勢データに従う移動制御を実行するステップとを含む。
【0047】
第24および第25の局面によれば、第2の視点モードにおいて、第2のオブジェクトについて、操作装置の姿勢データに従う移動制御を実行することにより、操作装置の操作態様(動き)に連動したゲーム処理を実行することが可能であり、ゲームの興趣性がさらに増す。
【0048】
好ましい第26の局面によれば、仮想空間において、第1の仮想カメラの位置は、第1のオブジェクトおよび第2の仮想カメラの位置よりも高い位置に設定される。
【0049】
第26の局面によれば、第1の仮想カメラの位置を第2の仮想カメラの位置よりも高い位置に設定することにより俯瞰した画像を取得して表示することが可能であるため異なる視点によりゲームの興趣性が増す。
【0050】
好ましい第27の局面によれば、操作装置の姿勢データが第1の範囲にある場合とは、表示部の表示面の向きが水平に近い場合であり、第2の範囲にある場合とは、表示部の表示面の向きが鉛直に近い場合である。
【0051】
第27の局面によれば、表示部の表示面の向きが水平に近い場合と、表示部の表示面の向きが鉛直に近い場合とで視点モードを切り替えることが可能であるため、好みの視点モードに容易に設定することが可能であり操作性が良い。
【0052】
この発明の第28の局面に従う情報処理部の制御プログラムは、情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、ユーザの操作入力を受け付けるステップと、操作装置の存在する空間における基準方向に対する所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、取得した操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える。
【0053】
第28の局面によれば、操作装置の第1の姿勢データが第1の範囲にある場合には、操作部で受け付けた操作入力に従うゲーム処理を実行し、操作装置の第1の姿勢データが第2の範囲にある場合には、操作部で受け付けた操作入力およびセンサ部で取得した操作装置の第2の姿勢データに従うゲーム処理を実行する。すなわち、操作装置の操作姿勢に従ってゲーム処理を実行する際に受け付ける入力が異なるため、ゲームの興趣性が増す。
【0054】
上述の記載においては、本発明の理解を助けるために後述の実施形態との対応関係を示すための参照符号および補足説明等を付したが、これらは本発明を何ら限定するものではない。
【発明の効果】
【0055】
操作する装置の操作姿勢を考慮してゲーム処理を変更することが可能である。
【図面の簡単な説明】
【0056】
【図1】ゲーム装置10の外観を示す平面図である。
【図2】ゲーム装置10の内部構成を示すブロック図である。
【図3】本発明の実施の形態に従うゲーム空間(仮想空間)である3次元ワールド座標系およびカメラ座標系を説明する図である。
【図4】本発明の実施形態に従う仮想空間内に配置される仮想カメラの一例を示す図である。
【図5】本発明の実施の形態に従うユーザのゲーム装置10の操作姿勢を説明する図である。
【図6】本発明の実施の形態に従う第1のユーザ視点モードと第2のユーザ視点モードとにおける仮想カメラの配置について説明する図である。
【図7】本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)の設定方式について説明する図である。
【図8】本発明の実施の形態に従うユーザのゲーム装置10の操作態様の一例を説明する図である。
【図9】本発明の実施の形態に従うゲーム装置10を回転させた場合におけるプレイヤオブジェクトOBJ1および仮想カメラの向きを説明する図である。
【図10】本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)についてその方向を変化させることが可能な範囲について説明する図である。
【図11】本発明の実施の形態に従うプレイヤオブジェクトの向き(視線方向)を移動させる場合の操作量と回転角度との関係を説明する図である。
【図12】本発明の実施の形態に従うボールオブジェクトの移動制御について説明する図である。
【図13】本発明の実施の形態に従うゲーム処理の具体例を説明する図である。
【図14】本発明の実施の形態に従うメインメモリ32に記憶されるデータを説明する図である。
【図15】本発明の実施の形態に従うゲーム処理を実行するメインフローを説明する図である。
【図16】本発明の実施の形態に従う視点設定処理を説明するフロー図である。
【図17】本発明の実施の形態に従う入力受付処理を説明するフロー図である。
【図18】本発明の実施の形態に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【図19】本発明の実施の形態に従うプレイヤオブジェクトOBJ1の視線方向の設定処理について説明するフロー図である。
【図20】本発明の実施の形態に従うボールオブジェクトの移動処理について説明するフロー図である。
【図21】本発明の実施の形態の変形例に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【図22】本発明の実施の形態に従うゲームシステムの構成を説明する図である。
【発明を実施するための形態】
【0057】
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0058】
[ゲーム装置の外観構成]
以下、本発明の実施形態の一例(第1の実施形態)に係るゲーム装置について説明する。図1は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、折り畳み可能に構成されている。図1においては、開いた状態(開状態)におけるゲーム装置10の正面図を示している。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0059】
まず、図1を参照して、ゲーム装置10の外観構成について説明する。図1に示されるように、ゲーム装置10は、下側ハウジング11及び上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
【0060】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14I、スライドパッド15、LED16A〜16B、挿入口17、及び、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0061】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12の画素数は、例えば、320dot×240dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0062】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常、タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0063】
各操作ボタン14A〜14Iは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14G、HOMEボタン14H、及びスタートボタン14Iが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14A〜14E、セレクトボタン14G、HOMEボタン14K、及びスタートボタン14Iには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。また、本例においては、一例として、ボタン14Bは、後述するゲーム処理において、ボールオブジェクトをラケットで打つ(ショットする)ためのショット入力ボタンとして用いるものとする。
【0064】
スライドパッド15は、方向を指示するデバイスである。スライドパッド15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。スライドパッド15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、スライドパッド15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはスライドパッド15のキートップがスライドした方向に移動される。なお、スライドパッド15として、上下左右及び斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。本例においては、一例として、スライドパッド15は、後述するゲーム処理において、プレイヤオブジェクトを移動等するための方向指示入力手段として用いるものとする。また、ボールオブジェクトの移動方向を修正するための指示入力手段としても用いられるものとする。
【0065】
なお、スライドパッド15の代わりに十字ボタン14Aを用いるようにすることも可能である。
【0066】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(図2参照)が設けられ、当該マイクがゲーム装置10の外部の音を検知する。
【0067】
また、図示はしていないが、下側ハウジング11の上側面には、Lボタン14J及びRボタン14Kが設けられている。Lボタン14J及びRボタン14Kは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、図示はしていないが、下側ハウジング11の左側面には、音量ボタン14Lが設けられる。音量ボタン14Lは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0068】
また、図1に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Bが設けられる。このカバー部11Bの内側には、ゲーム装置10とデータ保存用外部メモリ46とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ46は、コネクタに着脱自在に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
【0069】
また、図1に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ45を挿入するための挿入口11Cが設けられ、その挿入口11Cの内部には、外部メモリ45と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ45がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。
【0070】
また、図1に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16Aが設けられる。さらに、図示はしていないが、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図示せず)。
【0071】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0072】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23a及び外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、及び、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0073】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22の画素数は、例えば、800dot×240dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0074】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施形態では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施形態では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目及び右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(以下、立体視画像と称する)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体視画像を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な立体視画像を表示する立体視表示(立体表示モード)と、画像を平面的に表示する(平面視画像を表示する)平面視表示(平面表示モード)とを切り替えることが可能な表示装置である。この表示の切り替えは、CPU311の処理、又は後述する3D調整スイッチ25によって行われる。
【0075】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23a及び23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部(左)23a及び外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0076】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0077】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。3D調整スイッチ25は、上側LCD22に表示された立体視画像の立体感を調整するために用いられる。ただし、後述で明らかとなるように、本実施形態では一例として、3D調整スイッチ25に関わらずに、下側ハウジング11の傾斜角に従って上側LCD22に表示される画像を立体視画像と平面視画像との間で切り替える。具体的には、ゲーム装置10を垂直に近い角度にした場合、すなわち、水平面に対して下側ハウジング11が傾斜する傾斜角が増大して閾値を超えた場合に平面視画像とする。
【0078】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
【0079】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ44からの音声がこのスピーカ孔21Eから出力される。
【0080】
[ゲーム装置10の内部構成]
次に、図2を参照して、ゲーム装置10の内部の電気的構成について説明する。図2は、ゲーム装置10の内部構成を示すブロック図である。図2に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、及び電源回路41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0081】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。情報処理部31のCPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0082】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェイスである。
【0083】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0084】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0085】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0086】
無線通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36及びローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0087】
また、情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。
【0088】
また、情報処理部31には、慣性センサの一種である加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検知する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検知する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検知する加速度センサであってもよい。情報処理部31は、加速度センサ39が検知した加速度を示す姿勢データ(加速度データ)を受信して、ゲーム装置10の姿勢を検知することができる。
【0089】
たとえば、静的な状態である場合、すなわち、加速度センサ39によって検出される加速度が重力加速度のみであるとして処理する場合、検出された加速度データに基づいてゲーム装置10の姿勢(本例においては、主に下側ハウジング11の内側面(主面)に対して垂直なz軸)が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサの検出軸が鉛直下方向である状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかを知ることができる。
【0090】
また、多軸の加速度センサの場合には、さらに各軸の加速度データに対して処理を施すことによって、重力方向に対してどの程度傾いているかをより詳細に知ることができる。なお、加速度センサ39が動的な状態であることを前提とする場合であっても、加速度センサの動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることができる。
【0091】
情報処理部31には、慣性センサの一種である角速度センサ(ジャイロセンサ)40が接続される。角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検知し、検知した角速度を示す姿勢データ(角速度データ)を情報処理部31へ出力する。角速度センサ40は、例えば下側ハウジング11の内部に設けられる。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置10の動きを算出する。
【0092】
本例においては、ゲーム装置10を操作する姿勢を検知するに当たり、一例として加速度センサ39を用いる。具体的には、加速度データに基づいてゲーム装置10のz軸方向(下側ハウジング11の内側面(主面)に対して垂直な方向)が重力方向に対してどれだけ傾いているか、その傾斜角を算出し、その傾斜角に基づいて姿勢を検知するものとする。
【0093】
また、ゲーム装置10の動きを検知するに当たり、一例として角速度センサ40を用いる。具体的には、角速度データに基づいてゲーム装置10の重力方向の周りに生じる角速度を算出し、その角速度に基づいて、基準に対してどれだけ回転したかその回転角(動き)を検知するものとする。
【0094】
電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0095】
また、情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43、及びスピーカ44が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。また、I/F回路42には上述したタッチパネル13も接続される。I/F回路42は、マイク43及びスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。
【0096】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。また、スライドパッド15は、情報処理部31に接続される。
【0097】
操作ボタン14あるいはスライドパッド15から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)あるいはスライドした方向指示を示す操作データが出力される。情報処理部31は、操作ボタン14あるいはスライドパッド15からの操作データを取得することによって、上記各操作ボタン14A〜14Lあるいはスライドパッド15に対する入力に従った処理を実行する。
【0098】
なお、CPU311は、操作ボタン14あるいはスライドパッド15からの操作データの取得を所定時間に1回の割合で行う。また、所定時間において、操作ボタン14およびスライドパッド15からの両方の入力を受け付けることも可能である。
【0099】
下側LCD12及び上側LCD22は情報処理部31に接続される。下側LCD12及び上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体視画像(立体視可能な画像)を表示させる。
【0100】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に記憶された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。
【0101】
外側撮像部23及び内側撮像部24は、情報処理部31に接続される。外側撮像部23及び内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0102】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0103】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0104】
[情報処理の概要]
次に、情報処理の概要について説明する。情報処理の一例としてゲーム処理がゲーム装置10によって行われるものとする。本例においては、ゲーム処理の一例としてテニスゲームを実行する場合について説明する。本実施形態のゲーム処理は、ゲーム装置10において所定のゲームプログラムが実行されることによって行われる。
【0105】
図3は、本発明の実施の形態に従うゲーム空間(仮想空間)である3次元ワールド座標系およびカメラ座標系を説明する図である。
【0106】
図3を参照して、ここでは、3次元ワールド座標系において、テニスコートオブジェクトOBJ0、ネットオブジェクトOBJ3、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2、ボールオブジェクトOBJ4が初期座標に配置された場合が示されている。なお、プレイヤオブジェクトOBJ1および相手オブジェクトOBJ2は、それぞれテニスラケットを有している場合が示されている。
【0107】
そして、テニスゲームの所定のルールに基づいて、仮想空間内のテニスコートにおいてユーザがスライドパッド15を用いて操作可能なプレイヤオブジェクトOBJ1を操作して、相手オブジェクトOBJ2とテニスゲームを実行することが可能な場合が示されている。具体的には、いわゆるサーブとストロークを必要に応じて繰り返すことにより所定のゲーム処理が進行する。
【0108】
ここでは、2つの仮想カメラ100の位置が示されている。1つの仮想カメラ100の位置は、プレイヤオブジェクトOBJ1の位置である座標Vから所定距離r0離れた位置に配置され、プレイヤオブジェクトOBJ1等を撮影する。ここでは、プレイヤオブジェクトOBJ1の位置に対して仮想カメラ100が座標Pに配置されている場合(第1のユーザ視点モード)が示されている。
【0109】
別の仮想カメラ100の位置は、座標Pよりも上方(ワールド座標系のZ軸に対して正方向)に設けられ、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2を含めテニスコートオブジェクトOBJ0全体を俯瞰して見ることができる位置に配置されている。ここでは、仮想カメラ100が座標Qに配置されている場合(俯瞰視点モード)が示されている。なお、本例においては、俯瞰視点モードの場合、仮想カメラ100は定点で固定されているものとするが、固定せずに全体を俯瞰して見ることができる他の位置に移動させるようにしても良い。
【0110】
本例においては、後述するが、ゲーム装置10の姿勢に応じて仮想カメラ100の位置を切り替える。また、仮想カメラの個数も切り替える。この点で、加速度センサ39を用いてゲーム装置10のz軸方向が重力方向に対して傾斜している角度(傾斜角)を算出し、重力方向に対して傾斜している傾斜角が所定角未満である場合には、例えば仮想カメラ100の座標位置を座標Qとする俯瞰視点モードに設定する。なお、ここでは、座標Qにおいて仮想カメラ100は1つだけ設けられている場合が示されているが、立体視画像を可能とするために2つの仮想カメラが設けられるものとする(図示せず)。
【0111】
一方、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角が第1の所定角以上である場合には、例えば仮想カメラ100の座標位置を座標Pとする第1のユーザ視点モードに設定する。また、後述するが、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角が第2の所定角以上である場合には、第2のユーザ視点モードに設定する。
【0112】
俯瞰視点モードの場合には、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2を含めテニスコートオブジェクトOBJ0全体を俯瞰して見ることができる位置に仮想カメラが配置されるため全体の状態を把握することが可能な視点でゲーム操作が可能となる。なお、俯瞰視点モードの場合には2つの仮想カメラが配置されるため上側LCD22に立体視画像が表示される。
【0113】
ユーザ視点モードの場合には、プレイヤオブジェクトOBJ1の後方に仮想カメラが配置されるため、プレイヤオブジェクトOBJ1の視点でゲーム操作が可能となる。ユーザ視点モードの場合には1つの仮想カメラが配置されるため上側LCD22に平面視画像が表示される。そのようにすることで、回転角による入力を行っても画面が見やすくなるが、他の実施形態においては、ゲームの目的や操作方法次第で、ユーザ視点モードにおいても立体視画像を表示するようにしてもよい。
【0114】
第1のユーザ視点モードと、第2のユーザ視点モードとでは、プレイヤオブジェクトOBJ1を基準とする仮想カメラの仰俯角が異なるように仮想カメラが配置される。
【0115】
また、ユーザ視点モードの場合には、プレイヤオブジェクトOBJ1の配置に応じた位置に仮想カメラ100が配置される。本例においては、XY平面上におけるプレイヤオブジェクトOBJ1の向き(視線方向)と仮想カメラの撮影方向とは同じ方向となるように配置されるものとする。なお、この視線方向がボールオブジェクトOBJ4をショットした場合におけるボールオブジェクトの基準の進行方向を制御するための方向パラメータに用いられる。
【0116】
次に、上側LCD22に表示される立体視画像について説明する。
本実施形態では、上述したように上側LCD22には立体視画像を表示することが可能である。本実施形態における立体視画像は、上述したように俯瞰視点モードの場合に仮想空間内に配置され、撮像方向が設定される仮想カメラを2つ用いて生成されるものとする。
【0117】
仮想空間内に配置される2つの仮想カメラは、それぞれ上述した左目用画像、及び右目用画像を生成するために用いられる。仮想空間内に配置される2つの仮想カメラの一方が左目用画像を生成するための左仮想カメラとして配置され、他方が右目用画像を生成するための右仮想カメラとして配置される。
【0118】
図4は、本発明の実施形態に従う仮想空間内に配置される仮想カメラの一例を示す図である。
【0119】
本実施形態では、図4に一例として示すように、左仮想カメラHk、及び右仮想カメラMkのそれぞれが、仮想空間の原点QからX軸の正方向及び負方向に向かって間隔Kk(以下、仮想カメラ間隔Kkと称する)の位置に移動させられ、配置される。従って、左仮想カメラHk、及び右仮想カメラMkの間隔は、仮想カメラ間隔Kkの2倍の間隔となる。また、左仮想カメラHk、及び右仮想カメラMkの撮像方向は互いに平行である。このように、互いの間隔が2Kkで撮像方向が互いに平行な位置関係の左仮想カメラHk、及び右仮想カメラMkが、仮想空間の原点Q0を中心として配置される。そして、左仮想カメラHkで仮想空間を撮像した画像として左目用画像が生成され、右仮想カメラMkで仮想空間を撮像した画像として右目用画像が生成される。左仮想カメラHk、及び右仮想カメラMkの間隔は2Kkであるので、左目用画像、及び右目用画像は、当該間隔に対応する視差を有する画像として生成される。従って、左目用画像、及び右目用画像は互いに視差を有する立体視画像として、上側LCD22に表示される。仮想カメラ間隔Kkは3D調整スイッチ25により調整することが可能である。
【0120】
図5は、本発明の実施の形態に従うユーザのゲーム装置10の操作姿勢を説明する図である。
【0121】
図5を参照して、本例においては、重力方向を基準方向とした場合のゲーム装置10のz軸方向との間の角度(傾斜角θ)が示されている。なお、重力方向を基準として時計回りの角度を正、反時計回りの角度を負とするものとする。そして、傾斜角の取りうる範囲は、−180°〜180°である。なお、上述したように当該傾斜角は、本例においては加速度センサ39により検出される。
【0122】
ゲーム装置10を把持している手を重力方向を垂線とする水平面と平行にした場合(水平面と平行にゲーム装置10(主に下側ハウジング11)を位置させた場合)には、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角は0°である。
【0123】
また、ゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合には、ゲーム装置10のz軸方向が重力方向に対して傾斜している傾斜角(正の値)は増加する。
【0124】
本発明の実施の形態には、傾斜角θが第1の所定角(S°)未満である場合(−180°≦θ<S°の範囲内)には、俯瞰視点モードに設定する。すなわち、傾斜角θが第1の所定角未満である場合とは、下側ハウジング11の下側LCD12の向きが水平面に対して平行に近い場合である。傾斜角θが第1の所定角(S°)以上である場合(S≦θ<T°の範囲内)には、第1のユーザ視点モードに設定する。また、傾斜角θが第2の所定角(T°)以上である場合には、第2のユーザ視点モードに設定する。傾斜角θが第2の所定角以上である場合(T°≦θ<180°の範囲内)とは、下側ハウジング11の下側LCD12の向きが水平面に対して鉛直に近い場合である。
【0125】
なお、本例においては、第1の所定角(S°)を閾値として俯瞰視点モードから第1のユーザ視点モードに切り替わる場合について説明したが、第1のユーザ視点モードである場合に、俯瞰視点モードへ切り替わる際には、切り替えの閾値を同じ閾値としないようにすることも可能である。例えば、第1の所定角(S°)よりも小さい所定角(R°)を閾値として当該角度付近での連続した切り替わりが生じないようにしてユーザの操作性に影響を与えることを回避することができる。すなわち、現在の視点モードに対応して切り替わる閾値を変更するようにすることが可能である。例えば、第1のユーザ視点モードとなった場合には、傾斜角θがR°≦θ<T°の範囲内にある場合には第1のユーザ視点モードを維持し、傾斜角θがθ<Rとなった場合に俯瞰視点モードに切り替えるようにするようにしても良い。なお、俯瞰視点モードと第1のユーザ視点モードとの場合の閾値の調整について説明したが、第1のユーザ視点モードと第2のユーザ視点モードとの場合についても同様に適用可能である。
【0126】
図6は、本発明の実施の形態に従う第1のユーザ視点モードと第2のユーザ視点モードとにおける仮想カメラの配置について説明する図である。
【0127】
図6を参照して、ワールド座標系であるプレイヤオブジェクトOBJ1の座標V0に対して距離r0離れた位置に仮想カメラ100が配置されている場合が示されている。なお、後述するが仮想カメラ100の配置は、プレイヤオブジェクトのOBJ1の座標位置および視線方向に基づいて決定されるものであり、当該座標および視線方向が定まっている場合について説明する。
【0128】
仮想カメラ100は、第1のユーザ視点モードの場合に座標P0に配置される。また、仮想カメラ100は、第2のユーザ視点モードの場合に座標P1に配置される。
【0129】
プレイヤオブジェクトOBJ1の座標V0を基準とした場合、座標P1は水平方向(XY平面上)に距離r0離れた位置であり、座標P0は、距離r0離れた位置であり、かつ、座標V0を基準とした場合、水平方向(XY平面上)から仰角w°上の位置に対応付けられるものとする。
【0130】
そして、第1のユーザ視点モードの場合、仮想カメラ100の撮影方向は、仮想カメラ100の座標P0からプレイヤオブジェクトの座標V0に向かう方向となる。
【0131】
また、第2のユーザ視点モードの場合、仮想カメラ100の撮影方向は、仮想カメラ100の座標P1からプレイヤオブジェクトの座標V0に向かう方向となる。
【0132】
なお、第1および第2のユーザ視点モードにおいて、XY平面上における当該撮影方向はプレイヤオブジェクトOBJ1の向き(視線方向)と同じ方向となるように設定される。
【0133】
第1のユーザ視点モードにおいては、水平方向に対して仰角w°の角度を付けた位置から仮想カメラ100により撮影するが、第2のユーザ視点モードにおいては仰角0°の位置に仮想カメラ100を位置して撮影するため、プレイヤオブジェクトOBJ1の目線近傍の高さでの撮影となり、プレイヤ視点でのゲーム操作が可能となりより臨場感が増すことになる。
【0134】
なお、当該仰角の値は一例であり、当該値に限定されない。
(プレイヤオブジェクトOBJ1の視線方向の設定)
次に、プレイヤオブジェクトOBJ1の視線方向の設定方式について説明する。
【0135】
図7は、本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)の設定方式について説明する図である。
【0136】
図7(A)を参照して、ここでは、サーブ時における視線方向を設定するために用いるテニスコートオブジェクトOBJ0内に設けられた基準線rf0,rf1が示されている。なお、当該基準線rf0,rf1は、視線方向を設定するために用いるものであり、当該基準線は表示されないものである。また、当該基準線は、テニスゲームの進行状況に応じて切り替えられる。具体的には、サーブ時においてテニスコートオブジェクトOBJ0の右側のコート領域にプレイヤオブジェクトOBJ1が位置する場合には、基準線rf0が有効として用いられる。
【0137】
一方、サーブ時においてテニスコートオブジェクトOBJ0の左側のコート領域にプレイヤオブジェクトOBJ1が位置する場合には、基準線rf1が有効として用いられる。なお、サーブ時において、プレイヤオブジェクトOBJ1の初期位置は予め設定されている。また、ストローク中においては図7(B)に示されるように基準線は、テニスコートオブジェクトOBJ0内に設けられた基準線rf2に切り替えられる。
【0138】
次に、図7(C)には、サーブ時における、プレイヤオブジェクトOBJ1の向き(視線方向)の設定方式が示されている。具体的には、基準線rf0を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定する。そして、基準線rf0が収まるように円弧状に基準視界を設定する。そして、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定する。これにより、当該プレイヤオブジェクトOBJ1の向き(視線方向)に従ってスライドパッド15を介する方向指示入力に応じたプレイヤオブジェクトOBJ1の移動制御が実行される。また、仮想カメラ100は、プレイヤオブジェクトOBJ1の座標および向き(視線方向)に従ってその位置が設定される。本例においては、プレイヤオブジェクトOBJ1の座標V0と向き(視線方向)に従って仮想カメラ100を配置する座標P0が設定される場合が示されている。
【0139】
図7(D)は、ストローク時における、プレイヤオブジェクトOBJ1の向き(視線方向)の設定方式が示されている。具体的には、基準線rf2を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定する。そして、基準線rf2が収まるように円弧状に基準視界を設定する。そして、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定する。これにより、当該プレイヤオブジェクトOBJ1の向き(視線方向)に従ってスライドパッド15を介する方向指示入力に応じたプレイヤオブジェクトOBJ1の移動制御が実行される。また、仮想カメラ100は、プレイヤオブジェクトOBJ1の座標および向き(視線方向)に従ってその位置が設定される。本例においては、プレイヤオブジェクトOBJ1の座標V1と向き(視線方向)に従って仮想カメラ100を配置する座標P2が設定される場合が示されている。
【0140】
なお、プレイヤオブジェクトOBJ1の視線方向は、プレイヤオブジェクトOBJ1がボールオブジェクトOBJ4をショットした場合の基準の進行方向を制御するための方向パラメータに用いられる。一例として、プレイヤオブジェクトOBJ1がボールオブジェクトOBJ4をショットした場合に、スライドパッド15を介する方向指示入力が無い場合には、プレイヤオブジェクトOBJ1の視線方向が方向パラメータとしてボールオブジェクトOBJ4の移動制御が実行される。つまり、プレイヤオブジェクトOBJ1の視線方向にボールオブジェクトOBJ4が移動することになる。
【0141】
図8は、本発明の実施の形態に従うユーザのゲーム装置10の操作態様の一例を説明する図である。
【0142】
本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその回りにゲーム装置10を回転させる操作態様を実行する場合について説明する。
【0143】
図8(A)を参照して、当該場合は、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合であって、第1のユーザ視点モードあるいは第2のユーザ視点モードに設定されているものとする。なお、本例においては、紙面に垂直な方向を重力方向としている。
【0144】
図8(B)を参照して、ここでは、当該ゲーム装置10について、重力方向を基準軸とした場合にその周りに回転させた場合が示されている。具体的には、図8(A)の状態から左側に回転角Sk分回転させた場合が示されている。なお、上述したように当該回転角は、本例においては角速度センサ40により検出される。
【0145】
図9は、本発明の実施の形態に従うゲーム装置10を回転させた場合におけるプレイヤオブジェクトOBJ1および仮想カメラの向きを説明する図である。
【0146】
図9を参照して、本例においては、第1あるいは第2のユーザ視点モードにおいて、検出された回転角に従ってプレイヤオブジェクトOBJ1の向き(視線方向)が制御される。
【0147】
具体的には、一例として、左側に回転角Sk分回転させた場合には、例えば、それに応じてプレイヤオブジェクトOBJ1を左側に回転角Sk分回転させるようにする。プレイヤオブジェクトの向きの変化に従って、仮想カメラ100も同様に回転する。
【0148】
図10は、本発明の実施の形態に従うサーブ時およびストローク中のプレイヤオブジェクトの向き(視線方向)についてその方向を変化させることが可能な範囲について説明する図である。
【0149】
図10(A)を参照して、サーブ時において、基準線を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定し、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定した場合が示されている。そして、本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその周りにゲーム装置10を回転させた場合に、それに伴ってプレイヤオブジェクトOBJ1の向き(視線方向)が移動する範囲が示されている。サーブ時においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることが可能な範囲は初期の視線方向を規準として所定角度に予め定められているものとする。
【0150】
図10(B)を参照して、ここでは、ストローク中において、基準線を用いてプレイヤオブジェクトOBJ1の位置から基準視界を設定し、基準視界の角度の中心方向をプレイヤオブジェクトOBJ1の向き(視線方向)に設定した場合が示されている。そして、本例においては、ゲーム装置10について、重力方向を基準軸とした場合にその周りに回転させた場合に、それに伴ってプレイヤオブジェクトOBJ1の向き(視線方向)が移動する範囲が示されている。ストローク中においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることが可能な範囲は初期の視線方向を規準として所定角度に予め定められているものとする。
【0151】
図11は、本発明の実施の形態に従うプレイヤオブジェクトの向き(視線方向)を移動させる場合の操作量と回転角度との関係を説明する図である。
【0152】
図11を参照して、本例においては、基準視界と基準視界以外の領域において操作量が異なる場合が示されている。
【0153】
具体的には、基準視界内においてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させる場合には、ゲーム装置10を重力方向の回りに回転させた場合に検出された回転角と中心線からプレイヤオブジェクトOBJ1の向き(視線方向)が変化する回転角とは同じ値であるものとする。
【0154】
一方、基準視界外の領域でプレイヤオブジェクトOBJ1の向き(視線方向)を変更させる場合には、基準視界から離れるほどその操作量は大きくなる場合が示されている。
【0155】
具体的には、プレイヤオブジェクトOBJ1の向き(視線方向)が基準視界から離れる方向に移動させる場合には、ゲーム装置10を重力方向の周りに回転させる回転量を多くするように所定の重み付けがなされている。当該処理により基準視界内ではゲーム装置10の回転角と連動させてプレイヤオブジェクトOBJ1の向き(視線方向)を変更させることによりゲーム処理における操作性を向上するとともに、基準視界外ではゲーム装置10を回転させる操作量に重み付けを付けることにより、基準視界外に視線方向が安易に向くことを抑制してゲーム処理の操作性を向上している。なお、プレイヤオブジェクトOBJ1の向き(視線方向)が基準視界外の領域である場合には、プレイヤオブジェクトOBJ1の向き(視線方向)を徐々に基準視界内に収めるようにプレイヤオブジェクトOBJ1の移動制御(向きの変更制御)を実行するようにしても良い。
【0156】
図12は、本発明の実施の形態に従うボールオブジェクトの移動制御について説明する図である。
【0157】
図12を参照して、ここでは、プレイヤオブジェクトの向き(視線方向)が示されている。スライドパッド15を介する方向指示入力等が無くボールオブジェクトOBJ4をショットした場合(ボタン14Bを選択)には、視線方向がボールオブジェクトOBJ4をショットした場合におけるボールオブジェクトの基準の進行方向を制御するための方向パラメータに用いられる。そして、ボールオブジェクトOBJ4は、方向パラメータを含む移動パラメータに従って、所定のボールオブジェクトの移動制御アルゴリズムによりプレイヤオブジェクトの向き(視線方向)に従う位置に移動するように制御される。
【0158】
なお、移動パラメータには、ボールオブジェクトの移動制御に関する初期の打ち出し角度等の他の各種パラメータを含めることが可能であり、当該移動制御アルゴリズムに従うシミュレーションを先行させて目標位置に移動するように各種パラメータを調整(補正)するようにしても良い。
【0159】
一方で、スライドパッド15を介する方向指示入力等とともに、ボールオブジェクトOBJ4をショットした場合(ボタン14Bを選択)には、移動パラメータ(方向パラメータ)が修正されてボールオブジェクトの基準の進行方向からずれた方向に移動するように制御される。本例においては、例えば、スライドパッド15を介する方向指示入力として右入力があった場合に、ボールオブジェクトOBJ4は、移動パラメータ(方向パラメータ)が修正されてボールオブジェクトの基準の進行方向から右方向に移動するように制御される。なお、プレイヤオブジェクトの向き(視線方向)の変化に従ってボールオブジェクトの進行方向が基準の進行方向から変化するようにしても良い。
【0160】
ここで、本発明の実施の形態においては、ボールオブジェクトOBJ4の移動制御について、ユーザ視点モードにおいては、スライドパッド15を介する方向指示入力とともに、ゲーム装置10の重力方向を基準軸とした場合のその回りの回転角の入力も受け付けるものとする。
【0161】
すなわち、ユーザ視点モードにおいては、スライドパッド15を介する方向指示入力が無い場合であっても、例えば、重力方向を基準軸とした場合に右方向にゲーム装置10を回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)の修正量を反映させて、ボールオブジェクトの基準の進行方向から右方向に移動するように制御する。
【0162】
当該処理により、ゲーム装置10の操作態様を所定の入力として受け付けてゲーム処理に反映させることによりゲームの興趣性が増す。
【0163】
図13は、本発明の実施の形態に従うゲーム処理の具体例を説明する図である。
図13を参照して、当該ゲーム画像は、ゲーム装置10の上側LCD22に表示されているものとする。
【0164】
図13(A)を参照して、ここでは、ユーザがゲーム装置10を把持している手を重力方向を垂線とする水平面と平行にした場合の操作姿勢に従う俯瞰視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、俯瞰視点モードの場合には、上述したように、仮想空間内に固定的に配置される2つの仮想カメラに従う立体視画像が表示されているものとする。
【0165】
図13(B)を参照して、ここでは、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を傾けた場合の操作姿勢に従う第1のユーザ視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、第1のユーザ視点モードの場合には、上述したように仮想空間内に配置される1つの仮想カメラに従う平面視画像が表示されているものとする。
【0166】
本例においては、サーブ時においてプレイヤオブジェクトOBJ1が初期位置に配置され、当該位置に基づいて、プレイヤオブジェクトOBJ1の向き(視線方向)が設定されて、初期の視線方向として相手オブジェクトOBJ2の方向を向いている場合が示されている。
【0167】
図13(C)を参照して、ここでは、第1のユーザ視点モードにおいて、ゲーム装置10を重力方向の回りに回転させた場合の操作態様におけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。本例においては、左側にゲーム装置10を回転させて、それに伴いプレイヤオブジェクトOBJ1の視線方向が相手オブジェクトOBJ2の左側に移動している場合が示されている。
【0168】
図13(D)を参照して、ここでは、第1のユーザ視点モードにおいて、ゲーム装置10を重力方向の回りに回転させた別の操作態様におけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。本例においては、右側にゲーム装置10を回転させて、それに伴いプレイヤオブジェクトOBJ1の視線方向が相手オブジェクトOBJ2の右側に移動している場合が示されている。
【0169】
図13(E)を参照して、ここでは、ユーザがゲーム装置10を把持している手を持ち上げてゲーム装置10を水平面に対して鉛直に近い角度に傾けた場合の操作姿勢に従う第2のユーザ視点モードにおけるゲーム画像が示されている。ここではオブジェクトOBJ0〜OBJ4が表示されており、サーブ時のゲーム画像が表示されている。なお、第2のユーザ視点モードの場合には、上述したように仮想空間内に配置される1つの仮想カメラに従う平面視画像が表示されているものとする。本例においては、サーブ時においてプレイヤオブジェクトOBJ1が初期位置に配置され、当該位置に基づいて、プレイヤオブジェクトOBJ1の向き(視線方向)が設定されて、初期の視線方向として相手オブジェクトOBJ2の方向を向いている場合が示されている。すなわち、プレイヤオブジェクトOBJ1の向きは図13(B)と同じであるが、仮想カメラ100の位置が異なる。具体的には、第1のユーザ視点モードにおいては、水平方向に対して仰角w°の角度を付けた位置から仮想カメラ100により撮影するが、第2のユーザ視点モードにおいては仰角0°の位置に仮想カメラ100を位置して撮影するため、プレイヤオブジェクトOBJ1の目線近傍の高さでの撮影となっている場合が示されている。
【0170】
本発明の実施の形態に従うゲーム処理では、操作するゲーム装置10の操作姿勢に従って仮想カメラ100の位置を変更する。具体的には、ゲーム装置10の重力方向を基準方向とした場合のゲーム装置10のz軸方向との間の角度(傾斜角θ)が第1の範囲内である場合には、俯瞰視点モードに従う仮想カメラ位置に設定し、第2の範囲内である場合には、ユーザ視点モードに従う仮想カメラ位置に切り替える。すなわち、操作姿勢に応じて視点モードを切り替えることが可能でありゲーム処理を変更してゲームの興趣性を増大させることができる。また、操作姿勢に応じて視点モードを切り替えることが可能であるため視点モードを切り替えるためのボタン等の操作は不要であり、好みの視点モードに容易に設定することが可能であり操作性も良い。
【0171】
また、本発明の実施の形態に従うゲーム装置では、操作するゲーム装置10の操作態様をゲーム処理に反映する。具体的には、ゲーム装置10の重力方向を基準軸とする回転角に応じてプレイヤオブジェクトの視線方向(すなわち仮想カメラの撮影方向)を移動させる。当該処理によりゲーム装置の動きに連動して視線方向(仮想カメラの撮影方向)が変化するためゲームの操作性が向上するととともに興趣性が増す。
【0172】
また、ゲーム装置10の重力方向を基準軸とする回転角を方向指示入力として受け付けてボールオブジェクトの移動制御に反映させる。当該処理により、ゲーム装置10の操作態様を所定の入力として受け付けて、ゲーム装置の動きに連動したゲーム処理が実行されるため興趣性が増す。
【0173】
[メインメモリに記憶されるデータ]
次に、ゲーム装置10のCPU311の具体的な動作について説明する前に、当該CPU311がゲームプログラムを実行することに応じて、メインメモリ32に記憶されるデータについて説明する。
【0174】
図14は、本発明の実施の形態に従うメインメモリ32に記憶されるデータを説明する図である。
【0175】
図14を参照して、メインメモリ32には、操作データ501、加速度データ502、角速度データ503、オブジェクトデータ504、仮想カメラデータ505、及び各種プログラム601が記憶される。
【0176】
操作データ501は、上述したように、所定時間に1回の割合(例えば、上記処理単位時間毎に1回)でCPU311が操作ボタン14およびスライドパッド15から取得して記憶されるデータである。
【0177】
加速度データ502は、上記処理単位時間毎に加速度センサ39から取得されるxyz軸方向に沿った加速度を示すデータである。加速度データ502は、上記処理単位時間毎に加速度センサ39から取得され、メインメモリ32に記憶される。本例においては、xyz軸方向に沿った加速度を示すデータに基づいてゲーム装置10が重力方向に対して傾いている傾斜角(姿勢)を検知する。
【0178】
角速度データ503は、上記処理単位時間毎に角速度センサ40から取得されるxyz軸のそれぞれの軸周りの回転角速度を示すデータである。角速度データ503は、上記処理単位時間毎に角速度センサ40から取得され、メインメモリ32に記憶される。なお、本実施形態に係る角速度センサ40は、xyz軸の各軸を中心として、時計回りを正とし、反時計回りを負としてそれぞれの角速度を検知するものとする。そして、本例においては、xyz軸の各軸周りの回転角速度を示すデータに基づいて重力方向の周りに生じる角速度を算出し、その角速度に基づいて、基準に対してどの程度回転したかその回転角(動き)を検知する。
【0179】
オブジェクトデータ504は、テニスコートオブジェクトOBJ0、ネットオブジェクトOBJ3、プレイヤオブジェクトOBJ1、相手オブジェクトOBJ2、ボールオブジェクトOBJ4に関するデータである。具体的には、当該オブジェクトそれぞれの形状、位置、及び向き等を示すデータである。当該オブジェクトデータは、初期値において予め設定されているデータとされる。そして、オブジェクトの移動制御に従ってデータの値が処理単位時間毎に更新される。
【0180】
仮想カメラデータ505は、俯瞰視点モードあるいはユーザ視点モードに応じた仮想カメラの個数および配置を示すデータであり、その位置および撮影方向に関するデータが含まれる。上述したように、例えば、ユーザ視点モードにおいては、オブジェクトの移動制御に従って仮想カメラの位置および撮影方向に関するデータの値が処理単位時間毎に更新される。
【0181】
各種プログラム601は、CPU311によって実行される種々のプログラムである。例えば、上述で説明したゲームプログラム等が各種プログラム601としてメインメモリ32に記憶される。また、ゲーム装置の操作態様に応じたボールオブジェクトあるいはプレイヤオブジェクトや相手オブジェクト等の移動制御アルゴリズムやプレイヤオブジェクトの視線方向および仮想カメラの配置設定に関する制御アルゴリズムなどもメインメモリ32に記憶されるゲームプログラムに含まれる。
【0182】
[ゲーム処理]
次に、本実施形態のゲーム装置10のCPU311の具体的な動作について説明する。まず、ゲーム装置10に電源が投入されると、CPU311によってブートプログラム(図示せず)が実行され、これによりデータ保存用内部メモリ35に記憶されているゲームプログラムが読み込まれてメインメモリ32に記憶される。そして、メインメモリ32に記憶されたゲームプログラムがCPU311で実行されることによって、以下のフロー図に示す処理が行われる。
【0183】
図15は、本発明の実施の形態に従うゲーム処理を実行するメインフローを説明する図である。
【0184】
図15を参照して、ゲーム処理を開始すると、CPU311は、まず、初めに初期設定処理をする(ステップS2)。具体的には、メインメモリ32に初期値として設定されているデータに基づいてリセット処理や、各種データに基づいて各オブジェクトを図3に示すようなゲーム空間(仮想空間)である3次元ワールド座標系の初期座標に配置する。例えば、プレイヤオブジェクトOBJ1をワールド座標系の初期座標Vに配置する。また、仮想カメラ100をワールド座標系の初期座標Pに配置する。
【0185】
次に、CPU311は、ゲーム装置10の姿勢に応じた視点設定処理を実行する(ステップS4)。視点設定処理の詳細については後述する。
【0186】
次に、CPU311は、入力受付処理を実行する(ステップS6)。具体的には、操作ボタン14あるいはスライドパッド15からの入力受付処理および角速度センサ40からの入力受付処理を実行する。当該入力受付処理の詳細についても後述する。
【0187】
次に、CPU311は、プレイヤオブジェクト移動処理を実行する(ステップS8)。入力受付処理で受け付けたデータに基づいて、所定の移動制御アルゴリズムに基づいてプレイヤオブジェクト移動処理を実行する。当該オブジェクト移動処理の詳細についても後述する。
【0188】
次に、CPU311は、ボールオブジェクト移動処理を実行する(ステップS9)。入力受付処理で受け付けたデータに基づいて、所定の移動制御アルゴリズムに基づいてボールオブジェクト移動処理を実行する。当該オブジェクト移動処理の詳細についても後述する。
【0189】
次に、CPU311は、ゲーム判定処理を実行する(ステップS10)。例えば、テニスコートオブジェクトOBJ0に対するボールオブジェクトOBJ4の位置に基づいてテニスルールに基づくゲーム勝敗判定等を実行する。
【0190】
次に、CPU311は、仮想カメラの位置を更新する(ステップS11)。具体的には、視点モードの切り替えあるいは、オブジェクト移動処理に従う更新されたプレイヤオブジェクトの移動に従って仮想カメラの位置を更新する。
【0191】
次に、CPU311は、プレイヤオブジェクト等の位置を配置された仮想カメラの位置を基準とする3次元のカメラ座標系に変換する(ステップS12)。
【0192】
そして、CPU311は、変換された3次元のカメラ座標系を2次元の投影平面座標系に変換する(ステップS13)。なお、その際、テクスチャの指定やクリッピング(clipping:不可視世界の切り取り)等も併せて実行する。これにより、仮想カメラでプレイヤオブジェクト等を撮影した2次元の画像データを取得することが可能となる。
【0193】
そして、CPU311は、ゲーム画像となる画像データの生成処理を実行する(ステップS14)。
【0194】
そして、CPU311は、当該画像データを上側LCD22に出力してゲーム画像を表示する(ステップS15)。なお、ユーザ視点モードの場合には平面視画像を表示する。また、俯瞰視点モードの場合には立体視画像を表示する。
【0195】
次に、ゲームが終了したかどうかを判断する(ステップS16)。ゲームが終了でないと判断した場合(ステップS16においてNO)には、再び、ステップS4に戻る。なお、上記の処理は、処理単位時間毎に繰り返されるものである。
【0196】
一方、ゲームが終了した場合(ステップS16においてYES)には、処理を終了する(エンド)。
【0197】
次に視点設定処理について説明する。
図16は、本発明の実施の形態に従う視点設定処理を説明するフロー図である。
【0198】
図16を参照して、まず、加速度データを取得する(ステップS20)。
具体的には、CPU311は、加速度センサ39からxyz軸方向に沿った加速度データを取得する。
【0199】
次に、CPU311は、重力方向に対してゲーム装置10のz軸方向が傾斜した傾斜角を算出する(ステップS22)。
【0200】
次に、CPU311は、傾斜角が第1の範囲内であるかどうかを判断する(ステップS24)。例えば、図5で説明したように傾斜角θが第1の所定角(S°)未満であるか否かを判断する(−180°≦θ<S°の範囲内)。
【0201】
CPU311は、傾斜角が第1の範囲内であると判断した場合(ステップS24においてYES)には、俯瞰視点モードに設定する(ステップS26)。そして、処理を終了する(リターン)。
【0202】
一方、CPU311は、ステップS24において、傾斜角が第1の範囲内でないと判断した場合(ステップS24においてNO)には、傾斜角が第2の範囲内であるかどうかを判断する(ステップS28)。例えば、図5で説明したように傾斜角θが第1の所定角(S°)以上、第2の所定角未満であるか否かを判断する(S≦θ<T°の範囲内)。
【0203】
CPU311は、傾斜角が第2の範囲内であると判断した場合(ステップS28においてYES)には、第1のユーザ視点モードに設定する(ステップS30)。そして、処理を終了する(リターン)。
【0204】
一方、CPU311は、ステップS28において、傾斜角が第2の範囲内でないと判断した場合(ステップS28においてNO)には、傾斜角が第3の範囲内であるかどうかを判断する(ステップS32)。例えば、図5で説明したように傾斜角θが第2の所定角(S°)以上であるか否かを判断する(T°≦θ<180°の範囲内)。
【0205】
CPU311は、傾斜角が第3の範囲内であると判断した場合(ステップS32においてYES)には、第2のユーザ視点モードに設定する(ステップS34)。そして、処理を終了する(リターン)。
【0206】
なお、傾斜角がいずれの範囲内にも含まれない場合(ステップS32においてNO)には、傾斜角は無効として処理する(リターン)。
【0207】
当該処理により、ゲーム装置10の操作姿勢に従って仮想カメラの視点モードが設定される。
【0208】
次に入力受付処理について説明する。
図17は、本発明の実施の形態に従う入力受付処理を説明するフロー図である。
【0209】
図17を参照して、まず、CPU311は、俯瞰視点モードであるかどうかを判断する(ステップS60)。具体的には、CPU311は、視点設定処理に基づいていずれの視点モードに設定されたかを判断する。
【0210】
次に、CPU311は、ステップS60において、俯瞰視点モードであると判断した場合(ステップS60においてYES)には、スライドパッド入力およびショット入力の受付処理を実行する(ステップS62)。そして、処理を終了する(リターン)。なお、本例においては、ショット入力は、操作ボタン14のボタン14Bに対する選択を指すものとする。
【0211】
一方、CPU311は、ステップS60において、俯瞰視点モードでないと判断した場合(ステップS60においてNO)、すなわちユーザ視点モードの場合には、角速度データを取得する(ステップS64)。
【0212】
そして、CPU311は、角速度データに基づいて本体左右の回転角を算出する(ステップS66)。具体的には、重力方向を基準軸とした場合にその回りの回転角を算出する。回転角の正負の符号によりその回転方向を判断することが可能である。
【0213】
そして、CPU311は、スライドパッド入力、ショット入力および回転角の入力の受付処理を実行する。そして、処理を終了する(リターン)。
【0214】
すなわち、俯瞰視点モードの場合には、スライドパッド入力およびショット入力のみが有効とされ、ユーザ視点モードの場合には、スライドパッド入力およびショット入力ならびにゲーム装置10に対する左右の回転角も入力として有効とされる。
【0215】
図18は、本発明の実施の形態に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【0216】
図18を参照して、まず、CPU311は、俯瞰視点モードであるかどうかを判断する(ステップS70)。具体的には、CPU311は、視点設定処理に基づいていずれの視点モードに設定されたかを判断する。
【0217】
次に、CPU311は、ステップS70において、俯瞰視点モードであると判断した場合(ステップS70においてYES)には、入力受付処理に従う入力が有ったかどうかを判断する(ステップS72)。
【0218】
CPU311は、ステップS72において、入力が有ったと判断した場合(ステップS72においてYES)には、ショット入力が有ったかどうかを判断する(ステップS74)。具体的には、ボールオブジェクトOBJ4をショットするためのボタン14Bの入力指示があったかどうかを判断する。当該処理はメインメモリ32の操作データ501に基づいて判断することが可能である。
【0219】
ステップS74において、ショット入力が有ったと判断した場合(ステップS74においてYES)には、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があるか否かを判断する(ステップS76)。具体的には、プレイヤオブジェクトOBJ1の位置に基づいて所定の範囲内でボールオブジェクトOBJ4をショットすることが可能なエリアが予め定められているものとする。当該範囲内にボールオブジェクトOBJ4が存在するか否かの判定処理がなされる。
【0220】
CPU311は、ステップS76において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS76においてYES)には、ショット入力およびスライドパッド入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS78)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。なお、方向パラメータに限られず、他の移動パラメータ、たとえば、ボールの打ち出し角、スピン等のボールオブジェクトの移動制御に用いられるパラメータを修正するようにしても良い。
【0221】
そして、処理を修正する(リターン)。
一方、CPU311において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4がないと判断した場合(ステップS76においてNO)には、処理を終了する(リターン)。この場合には、ショットすることが可能でないために、例えば、ボールオブジェクトOBJ4の軌道は変化せず、ラケットを有するプレイヤオブジェクトOBJ1は空振りしたようなアニメーションとすることが可能である。
【0222】
すなわち、ショット入力が有った場合には、スライドパッド入力は、ボールオブジェクトOBJ4の移動制御に用いられ、プレイヤオブジェクトOBJ1の移動制御には用いられない。なお、ショット入力時にも、反映度合いを下げた上で、スライドパッド入力をプレイヤオブジェクトOBJ1の移動制御に反映させてもよい。
【0223】
一方、CPU311は、ステップS74において、ショット入力が無かったと判断した場合(ステップS74においてNO)には、スライドパッドの入力に基づいてプレイヤオブジェクトOBJ1の所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS79)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトOBJ1が移動する。なお、プレイヤオブジェクトの向き(視線方向)の設定については後述の制御が実行される。
【0224】
そして、処理を終了する(リターン)。
CPU311は、ステップS70において、俯瞰視点モードでないと判断した場合(ステップS70においてNO)、すなわちユーザ視点モードである場合には、入力受付処理に従う入力が有ったかどうかを判断する(ステップS80)。
【0225】
CPU311は、ステップS80において、入力が有ったと判断した場合(ステップS80においてYES)には、ショット入力が有ったかどうかを判断する(ステップS82)。具体的には、ボールオブジェクトOBJ4をショットするためのボタン14Bの入力指示があったかどうかを判断する。当該処理はメインメモリ32の操作データ501に基づいて判断することが可能である。
【0226】
ステップS82において、ショット入力が有ったと判断した場合(ステップS82においてYES)には、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があるか否かを判断する(ステップS84)。具体的には、プレイヤオブジェクトOBJ1の位置に基づいて所定の範囲内でボールオブジェクトOBJ4をショットすることが可能なエリアが予め定められているものとする。当該範囲内にボールオブジェクトOBJ4が存在するか否かの判定処理がなされる。
【0227】
CPU311は、ステップS84において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS84においてYES)には、ショット入力、スライドパッド入力および回転角の入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS86)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。また、回転角の入力に基づいても移動パラメータ(方向パラメータ)が修正される。例えば、ゲーム装置10を右方向に回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)を修正する。なお、方向パラメータに限られず、他の移動パラメータ、たとえば、ボールの打ち出し角、スピン等のボールオブジェクトの移動制御に用いられるパラメータを修正するようにしても良い。
【0228】
なお、本例においては、ショット入力が有った場合には、スライドパッド入力および回転角の入力は、ボールオブジェクトの移動パラメータの修正に反映される場合について説明したが、プレイヤオブジェクトOBJ1の移動パラメータ(方向パラメータ)もともに修正されてプレイヤオブジェクトの向き(視線方向)が変化するようにする移動制御を実行するようにしても良い。その場合には、プレイヤオブジェクトの向き(視線方向)の変化に合わせてボールオブジェクトの進行方向が変化するようにすれば良い。
【0229】
そして、処理を修正する(リターン)。
一方、CPU311において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4がないと判断した場合(ステップS84においてNO)には、処理を終了する(リターン)。この場合には、ショットすることが可能でないために、例えば、ボールオブジェクトOBJ4の軌道は変化せず、ラケットを有するプレイヤオブジェクトOBJ1は空振りしたようなアニメーションとすることが可能である。
【0230】
すなわち、ショット入力が有った場合には、スライドパッド入力は、ボールオブジェクトOBJ4の移動制御に用いられ、プレイヤオブジェクトOBJ1の移動制御には用いられない。なお、ショット入力時にも、反映度合いを下げた上で、スライドパッド入力をプレイヤオブジェクトOBJ1の移動制御に反映させてもよい。
【0231】
一方、CPU311は、ステップS82において、ショット入力が無かったと判断した場合(ステップS82においてNO)には、スライドパッドの入力および回転角の入力に基づいてプレイヤオブジェクトの所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS88)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトが移動する。さらに、回転角の入力に基づいてプレイヤオブジェクトOBJ1の向き(視線方向)がさらに制御される。なお、本実施例においては、上述のとおり、ステップS70において俯瞰視点モードでない場合に回転角入力を操作に反映するようにしているが、他の実施形態において、ゲームの内容によっては、逆に俯瞰視点モードのときにのみ回転角入力を操作に反映するように切り替える、という操作方法であってもよい。
【0232】
なお、プレイヤオブジェクトの向き(視線方向)の設定については後述の制御が実行される。
【0233】
図19は、本発明の実施の形態に従うプレイヤオブジェクトOBJ1の視線方向の設定処理について説明するフロー図である。
【0234】
図19を参照して、まず、CPU311は、基準線を設定する(ステップS40)。具体的には、図7(A)および(B)で説明したように、ゲームの進行状況として、サーブ時であるか、ストローク中であるか否かおよびプレイヤオブジェクトの位置に基づいて、基準線rf0,rf1,基準線rf2のいずれかが選択される。
【0235】
次に、CPU311は、基準線が収まるようにオブジェクト位置に基づいて基準視界を設定する(ステップS42)。
【0236】
次に、CPU311は、基準視界の中心を視線方向に設定する(ステップS44)。
具体的には、図7(C)および(D)で説明したように、基準視界の中心方向がオブジェクトの向き(視線方向)に設定される。
【0237】
そして、処理を終了する(リターン)。
当該視線方向が基準となり、ボールオブジェクトの移動処理および仮想カメラの配置が決定される。
【0238】
図20は、本発明の実施の形態に従うボールオブジェクトの移動処理について説明するフロー図である。
【0239】
図20を参照して、CPU311は、移動パラメータの修正が有ったかどうかを判断する(ステップS90)。具体的には、入力受付処理に従ってスライドパッド入力等に基づいてボールオブジェクトの移動パラメータ(方向パラメータ)が修正されたかどうかが判断される。
【0240】
次に、CPU311は、ステップS90において、移動パラメータの修正が有ったと判断した場合(ステップS90においてYES)には、修正された移動パラメータに基づいて所定の移動制御アルゴリズムに従うボールオブジェクトの移動制御を実行する(ステップS92)。例えば、ボールオブジェクトOBJ4がプレイヤオブジェクトOBJ1のラケットによりショットされる場合には、ボールオブジェクトOBJ4がプレイヤオブジェクトOBJ1の視線方向に移動するように制御される。この場合、ショット入力の場合には、プレイヤオブジェクトOBJ1の視線方向に移動するようにボールオブジェクトは移動制御されるが、右方向に対するスライドパッド入力あるいは回転角の入力が有った場合には、当該視線方向から右側方向に移動するようにボールオブジェクトは移動制御される。
【0241】
一方、CPU311は、ステップS90において、移動パラメータの修正が無かったと判断した場合(ステップS90においてNO)には、前回の移動パラメータに基づいてボールオブジェクトの移動制御が実行される(ステップS94)。修正が無い場合には、前回設定された移動パラメータに従ってボールオブジェクトの進行方向が維持される移動制御が実行される。
【0242】
そして、処理を終了する(リターン)。
(変形例)
上記においては、ボールオブジェクトの移動処理として、ショット入力が有った場合、回転角の入力がともに有った場合に、回転角の入力がボールオブジェクトの移動制御のために反映される場合について説明したが、特に、当該入力のタイミングは同時でなくても良い。例えば、ショット入力が有った後の所定期間において、回転角の入力を受け付ける期間を設けて、当該期間中に当該回転角の入力が有った場合に回転角の入力をボールオブジェクトの移動制御に反映させるようにしても良い。
【0243】
図21は、本発明の実施の形態の変形例に従うプレイヤオブジェクト移動処理について説明するフロー図である。
【0244】
図21を参照して、図18のフロー図と比較して、ステップS86をステップS86#に変更した点と、ステップS100〜ステップS104をさらに設けた点が異なる。その他の点については同様であるのでその詳細な説明については繰り返さない。
【0245】
具体的には、CPU311は、ステップS84において、プレイヤオブジェクトOBJ1がショットすることが可能なエリア内にボールオブジェクトOBJ4があると判断した場合(ステップS84においてYES)には、ショット入力およびスライドパッド入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS86#)。具体的には、ショット入力に従ってボールオブジェクトの進行方向をプレイヤオブジェクトOBJ1の視線方向に制御するための移動パラメータ(方向パラメータ)が修正される。また、スライドパッド入力が有った場合に、当該方向入力の指示に従って、さらに移動パラメータ(方向パラメータ)が修正される。
【0246】
そして、処理を終了する(リターン)。
また、CPU311は、ステップS82において、ショット入力が無かったと判断した場合(ステップS82においてNO)に、次に、ショット入力から所定期間内であるかどうかを判断する(ステップS100)。例えば、所定期間内として、処理単位時間を1回としてショット入力の後、所定回以内かどうかを判断するようにしても良い。
【0247】
CPU311は、ショット入力から所定期間内であると判断した場合(ステップS100においてYES)には、回転角の入力が有ったかどうかを判断する(ステップS102)。
【0248】
CPU311は、回転角の入力が有ったと判断した場合(ステップS102においてYES)には、回転角の入力に基づいてボールオブジェクトの移動パラメータを修正する(ステップS104)。具体的には、回転角の入力に基づいて移動パラメータ(方向パラメータ)を修正する。例えば、ゲーム装置10を右方向に回転させた場合(回転角は正)には、方向指示入力として右入力が有ったと判断されて、その回転角に応じて移動パラメータ(方向パラメータ)を修正する。なお、方向パラメータに限られず、ボールオブジェクトの移動制御に用いられる他のパラメータを修正するようにしても良い。
【0249】
なお、本例においては、ショット入力が有った場合には、回転角の入力は、ボールオブジェクトの移動パラメータの修正に反映される場合について説明したが、プレイヤオブジェクトOBJ1の移動パラメータ(方向パラメータ)もともに修正されてプレイヤオブジェクトの向き(視線方向)が変化するようにする移動制御を実行するようにしても良い。その場合には、プレイヤオブジェクトの向き(視線方向)の変化に合わせてボールオブジェクトの進行方向が変化するようにすれば良い。
【0250】
そして、処理を修正する(リターン)。
一方、CPU311は、ショット入力から所定期間内でないと判断した場合(ステップS100においてNO)あるいは、ステップS102において、回転角の入力が無いと判断した場合(ステップS102においてNO)には、スライドパッドの入力および回転角の入力に基づいてプレイヤオブジェクトの所定の移動制御アルゴリズムに従う移動制御を実行する(ステップS88)。具体的には、スライドパッドの方向入力の指示に従って移動方向および移動量が決定されてプレイヤオブジェクトが移動する。さらに、回転角の入力に基づいてプレイヤオブジェクトOBJ1の向き(視線方向)がさらに制御される。
【0251】
当該処理により、例えば、ショット入力が有った後の所定期間内において、回転角の入力が有った場合には、当該回転角の入力に従う移動パラメータが修正されて、当該回転角の入力をボールオブジェクトの移動制御に反映させることが可能となる。
【0252】
また、上述した説明では、本発明を携帯型のゲーム装置10に適用した場合について説明したが、本発明は携帯型ゲーム装置に限定されない。例えば、据置型ゲーム装置、携帯電話機、簡易型携帯電話機(PHS)、PDA等の携帯情報端末にも本発明の適用は可能である。また、据置型ゲーム機やパーソナルコンピュータにも本発明の適用は可能である。以下、具体例について説明する。
【0253】
図22は、本発明の実施の形態に従うゲームシステムの構成を説明する図である。
図22(A)を参照して、ここでは、情報処理部200と、操作装置210とで構成されたゲームシステムが示されている。情報処理部31の機能を例えば、操作装置210とは別に設けられた本体装置(図示しない)内の情報処理部200で実行するようにしても良い。その場合、本体装置とは別に設けられた操作装置210において、下側LCD12あるいは上側LCD22を含む表示部212、加速度センサ39および角速度センサ40を含むセンサ部214、操作ボタン14およびスライドパッド15を含む操作部216、無線通信モジュール36等を含む通信部218を設けるようにしてもよい。そして、通信部218を用いて本体装置の情報処理部200との間でデータの授受を実行することにより上記で説明したのと同様のゲーム処理を実行することが可能である。 具体的には、センサ部214および操作部216でのデータについて通信部218を用いて送信し、情報処理部200で所定のゲーム処理を実行した後、情報処理部200で生成された画像データを通信部218により受信して表示部212にゲーム画像を表示するようにすれば良い。
【0254】
図22(B)を参照して、ここでは、情報処理部200と、表示部212と、操作装置210#とで構成されたゲームシステムが示されている。図22(A)と比較して、表示部212が操作装置内に設けられていない点が異なる。すなわち、例えば、表示部を外部装置(モニタ等)として設けて、当該外部装置にゲーム画像を表示させるようにすることも可能である。具体的には、センサ部214および操作部216でのデータについて通信部218を用いて送信し、情報処理部200で所定のゲーム処理を実行した後、情報処理部200で生成された画像データを外部装置である表示部212に出力して、ゲーム画像を表示するようにすれば良い。
【0255】
<その他の形態>
上述の実施の形態においては、本発明に係る情報処理装置の代表例として、ゲーム装置10について例示したが、これに限定されることはない。すなわち、本発明に係るプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本発明に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
【0256】
また、本例においては、ゲーム処理として、テニスゲームを実行する場合について説明したがテニスゲームに限られず、他のゲームにも適用可能である。例えば、ゴルフゲームにおいてもゲーム装置の操作姿勢に応じて視点モードを切り替えてゲーム処理を実行するようにしても良い。たとえば、ゲーム装置の姿勢に応じてコースのトップビューとショットビューを切り替えるようにしても良い。ショットビューにおいて、ボールを打ち出す方向をゲーム装置の姿勢に応じて制御し、トップビューではスライドパッドやタッチパネルに対する操作によってショット方向を操作するようにしてもよい。その際、トップビューにおいては操作のためのアイコン等が表示されるようにし、ショットビューにおいては臨場感を向上させるためのアイコン等の機能的な表示が少なくなるようにし、操作方法に合わせて機能表示を変化させてもよい。また、ゴルフゲームにおいてもボールをショットした後に、ゲーム装置の操作態様、例えば右方向に回転等する動きをゲーム処理に反映させて当該ボールの移動制御に用いられるパラメータを変更するようにしても良い。
【0257】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0258】
10 ゲーム装置、11 下側ハウジング、11B カバー部、11C,17 挿入口、13 タッチパネル、14 操作ボタン、14A 十字ボタン、14G セレクトボタン、14I スタートボタン、15 スライドパッド、18 マイクロフォン用孔、19 無線スイッチ、21 上側ハウジング、21E スピーカ孔、23 外側撮像部、24 内側撮像部、25 調整スイッチ、25a スライダ、26 インジケータ、27 タッチペン、31,200 情報処理部、32 メインメモリ、35 データ保存用内部メモリ、36 無線通信モジュール、37 ローカル通信モジュール、39 加速度センサ、40 角速度センサ、41 電源回路、42 I/F回路、43 マイク、44 スピーカ、45 外部メモリ、46 データ保存用外部メモリ、100 仮想カメラ、210 操作装置、212 表示部、214 センサ部、216 操作部、218 通信部、311 CPU、313 VRAM。
【特許請求の範囲】
【請求項1】
操作装置と、前記操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、
前記操作装置は、
情報を表示する表示部と、
ユーザの操作入力を受け付ける操作部と、
前記操作装置の存在する空間における姿勢データを取得するセンサ部とを含み、
前記情報処理部は、
前記センサ部で取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定する視点モード切替部と、
前記操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む、ゲームシステム。
【請求項2】
前記操作部は、少なくも方向の入力を受け付ける方向入力部を有し、
前記ゲーム処理部は、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項1に記載のゲームシステム。
【請求項3】
前記ゲーム処理部は、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項2に記載のゲームシステム。
【請求項4】
前記ゲーム処理部は、前記仮想空間での移動制御を実行する第2のオブジェクトを設け、
前記ゲーム処理部は、前記第2のオブジェクトについて、
前記第1の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、
前記第2の視点モードにおいて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行する、請求項2または3に記載のゲームシステム。
【請求項5】
前記ゲーム処理部は、前記仮想空間での移動制御を実行する第2のオブジェクトを設け、
前記ゲーム処理部は、前記第2のオブジェクトについて、
前記第1の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、
前記第2の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行する、請求項2または3に記載のゲームシステム。
【請求項6】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項1〜5のいずれかに記載のゲームシステム。
【請求項7】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項1〜6のいずれかに記載のゲームシステム。
【請求項8】
前記センサ部は、慣性センサに相当する、請求項1〜6のいずれかに記載のゲームシステム。
【請求項9】
前記慣性センサは、加速度センサおよび角速度センサを含む、請求項7記載のゲームシステム。
【請求項10】
操作装置と、前記操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、
前記操作装置は、
情報を表示する表示部と、
ユーザの操作入力を受け付ける操作部と、
前記操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するセンサ部とを含み、
前記情報処理部は、前記センサ部で取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、前記操作部で受け付けた操作入力に従うゲーム処理を実行し、前記センサ部で取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、前記操作部で受け付けた操作入力および前記センサ部で取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行する、ゲームシステム。
【請求項11】
請求項1〜10のいずれかに記載の前記操作装置と前記情報処理部とを含む、携帯型ゲーム装置。
【請求項12】
前記情報処理部は、前記操作装置と別個に設けられた本体装置に設けられ、
前記操作装置は、前記本体装置との間でデータの授受を実行するための通信部をさらに含み、
前記操作装置の通信部は、前記本体装置に対して前記操作部で受け付けた操作入力および前記センサ部で取得した姿勢データを送信し、前記本体装置の前記情報処理部で実行されたゲーム処理に従うゲーム画像データを受信し、
前記操作装置の前記表示部は、受信したゲーム画像データに応じたゲーム画像を表示する、請求項1〜10のいずれかに記載のゲームシステム。
【請求項13】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における姿勢データを取得するステップと、
取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定するステップと、
受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、情報処理部の制御方法。
【請求項14】
前記ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、
前記ゲーム処理を実行するステップは、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項13に記載の情報処理部の制御方法。
【請求項15】
前記ゲーム処理を実行するステップは、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項14に記載の情報処理部の制御方法。
【請求項16】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第2のオブジェクトについて、前記第1の視点モードにおいて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2のオブジェクトについて、前記第2の視点モードにおいて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項14または15に記載の情報処理部の制御方法。
【請求項17】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項14または15に記載の情報処理部の制御方法。
【請求項18】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項13〜17のいずれかに記載の情報処理部の制御方法。
【請求項19】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項13〜18のいずれかに記載の情報処理部の制御方法。
【請求項20】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、
取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える、情報処理部の制御方法。
【請求項21】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、
前記制御プログラムは、前記コンピュータに、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における姿勢データを取得するステップと、
取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定するステップと、
受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、処理を実行させる、情報処理部の制御プログラム。
【請求項22】
前記ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、
前記ゲーム処理を実行するステップは、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項21に記載の情報処理部の制御プログラム。
【請求項23】
前記ゲーム処理を実行するステップは、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項22に記載の情報処理部の制御プログラム。
【請求項24】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項22または23に記載の情報処理部の制御プログラム。
【請求項25】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項22または23に記載の情報処理部の制御プログラム。
【請求項26】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項21〜25のいずれかに記載の情報処理部の制御プログラム。
【請求項27】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項21〜26のいずれかに記載の情報処理部の制御プログラム。
【請求項28】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における基準方向に対する所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、
取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える、情報処理部の制御プログラム。
【請求項1】
操作装置と、前記操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、
前記操作装置は、
情報を表示する表示部と、
ユーザの操作入力を受け付ける操作部と、
前記操作装置の存在する空間における姿勢データを取得するセンサ部とを含み、
前記情報処理部は、
前記センサ部で取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定する視点モード切替部と、
前記操作部で受け付けた操作入力に従ってゲーム処理を実行するゲーム処理部とを含む、ゲームシステム。
【請求項2】
前記操作部は、少なくも方向の入力を受け付ける方向入力部を有し、
前記ゲーム処理部は、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項1に記載のゲームシステム。
【請求項3】
前記ゲーム処理部は、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項2に記載のゲームシステム。
【請求項4】
前記ゲーム処理部は、前記仮想空間での移動制御を実行する第2のオブジェクトを設け、
前記ゲーム処理部は、前記第2のオブジェクトについて、
前記第1の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、
前記第2の視点モードにおいて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行する、請求項2または3に記載のゲームシステム。
【請求項5】
前記ゲーム処理部は、前記仮想空間での移動制御を実行する第2のオブジェクトを設け、
前記ゲーム処理部は、前記第2のオブジェクトについて、
前記第1の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、
前記第2の視点モードにおいて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行し、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行する、請求項2または3に記載のゲームシステム。
【請求項6】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項1〜5のいずれかに記載のゲームシステム。
【請求項7】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項1〜6のいずれかに記載のゲームシステム。
【請求項8】
前記センサ部は、慣性センサに相当する、請求項1〜6のいずれかに記載のゲームシステム。
【請求項9】
前記慣性センサは、加速度センサおよび角速度センサを含む、請求項7記載のゲームシステム。
【請求項10】
操作装置と、前記操作装置との間でデータの授受を実行する情報処理部とを備えるゲームシステムであって、
前記操作装置は、
情報を表示する表示部と、
ユーザの操作入力を受け付ける操作部と、
前記操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するセンサ部とを含み、
前記情報処理部は、前記センサ部で取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、前記操作部で受け付けた操作入力に従うゲーム処理を実行し、前記センサ部で取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、前記操作部で受け付けた操作入力および前記センサ部で取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行する、ゲームシステム。
【請求項11】
請求項1〜10のいずれかに記載の前記操作装置と前記情報処理部とを含む、携帯型ゲーム装置。
【請求項12】
前記情報処理部は、前記操作装置と別個に設けられた本体装置に設けられ、
前記操作装置は、前記本体装置との間でデータの授受を実行するための通信部をさらに含み、
前記操作装置の通信部は、前記本体装置に対して前記操作部で受け付けた操作入力および前記センサ部で取得した姿勢データを送信し、前記本体装置の前記情報処理部で実行されたゲーム処理に従うゲーム画像データを受信し、
前記操作装置の前記表示部は、受信したゲーム画像データに応じたゲーム画像を表示する、請求項1〜10のいずれかに記載のゲームシステム。
【請求項13】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における姿勢データを取得するステップと、
取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定するステップと、
受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、情報処理部の制御方法。
【請求項14】
前記ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、
前記ゲーム処理を実行するステップは、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項13に記載の情報処理部の制御方法。
【請求項15】
前記ゲーム処理を実行するステップは、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項14に記載の情報処理部の制御方法。
【請求項16】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第2のオブジェクトについて、前記第1の視点モードにおいて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2のオブジェクトについて、前記第2の視点モードにおいて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項14または15に記載の情報処理部の制御方法。
【請求項17】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項14または15に記載の情報処理部の制御方法。
【請求項18】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項13〜17のいずれかに記載の情報処理部の制御方法。
【請求項19】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項13〜18のいずれかに記載の情報処理部の制御方法。
【請求項20】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部の制御方法であって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における基準方向に対する第1の所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、
取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える、情報処理部の制御方法。
【請求項21】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、
前記制御プログラムは、前記コンピュータに、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における姿勢データを取得するステップと、
取得した前記操作装置の姿勢データが第1の範囲にある場合に、ゲーム上の仮想空間に対して第1の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第1の視点モード、前記操作装置の姿勢データが第2の範囲にある場合に、第2の仮想カメラの位置および撮像方向に基づいて撮像された表示画像を前記表示部に表示するための第2の視点モードを設定するステップと、
受け付けた操作入力に従ってゲーム処理を実行するステップとを備える、処理を実行させる、情報処理部の制御プログラム。
【請求項22】
前記ユーザの操作入力を受け付けるステップは、少なくも方向の入力を受け付けるステップを含み、
前記ゲーム処理を実行するステップは、前記仮想空間に設けられた第1のオブジェクトを前記方向入力部において受け付けた方向の入力に従って移動させる、請求項21に記載の情報処理部の制御プログラム。
【請求項23】
前記ゲーム処理を実行するステップは、前記第2の視点モードにおいて、前記操作装置の姿勢データに従って前記第2の仮想カメラの位置および撮像方向を制御する、請求項22に記載の情報処理部の制御プログラム。
【請求項24】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングにおける前記操作部で受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項22または23に記載の情報処理部の制御プログラム。
【請求項25】
前記ゲーム処理を実行するステップは、
前記仮想空間での移動制御を実行する第2のオブジェクトを設けるステップと、
前記第1の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、
前記第2の視点モードにおいて、前記第2のオブジェクトについて、所定のタイミングで受け付けた操作入力に従う移動制御を実行するステップと、前記所定のタイミングと異なるタイミングにおける前記操作装置の姿勢データに従う移動制御を実行するステップとを含む、請求項22または23に記載の情報処理部の制御プログラム。
【請求項26】
前記仮想空間において、前記第1の仮想カメラの位置は、前記第1のオブジェクトおよび前記第2の仮想カメラの位置よりも高い位置に設定される、請求項21〜25のいずれかに記載の情報処理部の制御プログラム。
【請求項27】
前記操作装置の姿勢データが前記第1の範囲にある場合とは、前記表示部の表示面の向きが水平に近い場合であり、前記第2の範囲にある場合とは、前記表示部の表示面の向きが鉛直に近い場合である、請求項21〜26のいずれかに記載の情報処理部の制御プログラム。
【請求項28】
情報を表示する表示部を有する操作装置と協働して動作する情報処理部のコンピュータに実行させる制御プログラムであって、
ユーザの操作入力を受け付けるステップと、
前記操作装置の存在する空間における基準方向に対する所定の方向軸の第1の姿勢データおよび第2の所定の方向軸周りの第2の姿勢データを取得するステップと、
取得した前記操作装置の第1の姿勢データが第1の範囲にある場合に、受け付けた操作入力に従うゲーム処理を実行し、取得した前記操作装置の第1の姿勢データが第2の範囲にある場合に、受け付けた操作入力および取得した前記操作装置の第2の姿勢データに従うゲーム処理を実行するステップとを備える、情報処理部の制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2013−56095(P2013−56095A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−197032(P2011−197032)
【出願日】平成23年9月9日(2011.9.9)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(503090533)株式会社キャメロット (6)
【Fターム(参考)】
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願日】平成23年9月9日(2011.9.9)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(503090533)株式会社キャメロット (6)
【Fターム(参考)】
[ Back to top ]