ゲームシステム、ゲーム処理方法、ゲーム装置、携帯ゲーム機およびゲームプログラム
【課題】操作装置に設けられた複数の方向入力部を用いて複数のオブジェクトをそれぞれ移動させる場合に、どの方向入力部がどのオブジェクトに対応しているのかを分かりやすくすること。
【解決手段】オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる。
【解決手段】オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム、ゲーム処理方法、ゲーム装置、携帯ゲーム機およびゲームプログラムに関し、特に、操作装置に設けられた複数の方向入力部を用いて複数のオブジェクトをそれぞれ移動させるためのゲームシステム、ゲーム処理方法、ゲーム装置、携帯ゲーム機およびゲームプログラムに関する。
【背景技術】
【0002】
従来、方向入力部を備えた複数の操作装置(コントローラ、携帯ゲーム機等)を用いて、仮想空間内の複数のプレイヤキャラクタをそれぞれ移動させるゲームが存在する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−293254号公報、図3
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記のようなゲームにおいて、複数の方向入力部を備えた操作装置を用いれば、当該操作装置に設けられた複数の方向入力部を用いて複数のプレイヤキャラクタをそれぞれ移動させることも可能である。これにより、例えば、そのような操作装置を用いて、1人のプレイヤが複数のプレイヤキャラクタを同時に移動させることも可能である。
【0005】
しかしながら、複数の方向入力部を用いて複数のプレイヤキャラクタをそれぞれ移動させる場合、ゲームをプレイしているうちに複数のプレイヤキャラクタの位置が多様に変化するので、どの方向入力部がどのプレイヤキャラクタに対応しているのかが、一見しただけでは分かりづらいという問題がある。特に、上記のように、複数の方向入力部を備えた操作装置を用いて1人のプレイヤが複数のプレイヤキャラクタを同時に移動させる場合にはなおさらである。
【0006】
それゆえに本発明は、複数の方向入力部を用いて複数のオブジェクトをそれぞれ移動させる場合に、どの方向入力部がどのオブジェクトに対応しているのかを分かりやすくすることを目的とする。
【課題を解決するための手段】
【0007】
上記目的は、例えば以下のような構成により達成される。
【0008】
第1の構成例は、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部とを備えたゲームシステムである。オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0009】
なお、「第1操作装置」は、少なくとも2つの方向入力部を有する任意の装置(例えば、可搬型表示装置、コントローラ、携帯ゲーム機等)であってもよい。「方向入力部」は、例えば、アナログスティックや十字ボタンであってもよい。「予め定められた側」は、例えば、右側や、左側や、上側や、下側であってもよい。「第1仮想カメラを回転させる」とは、第1仮想カメラの向き(姿勢)を変化させることであり、典型的には、ゲームフィールドに対して垂直な軸(例えば、図6におけるz軸に平行な任意の軸)を中心として第1仮想カメラを回転させることである。
【0010】
なお、第1操作装置は第1表示部を備え、第1ゲーム画像は第1表示部に表示され、複数の方向入力部には、第1表示部の左側に設けられる第1方向入力部と、第1表示部の右側に設けられる第2方向入力部が含まれてもよい。そして、オブジェクト制御部は、第1方向入力部を通じて入力される方向に応じて複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、第2方向入力部を通じて入力される方向に応じて複数の第1オブジェクトのうちの右オブジェクトを移動させ、回転制御部は、第1ゲーム画像において右オブジェクトが左オブジェクトの表示位置に対して右側に表示されるように、第1仮想カメラを回転させてもよい。
【0011】
また、回転制御部は、右オブジェクトと左オブジェクトの距離に応じて第1仮想カメラの回転速度を調整してもよい。
【0012】
また、ゲームシステムは、右オブジェクトと左オブジェクトが同時に移動しているか否かを判定する同時操作判定部をさらに備えてもよい。そして、回転制御部は、右オブジェクトと左オブジェクトが同時に移動しているときには第1仮想カメラを回転させ、右オブジェクトと左オブジェクトのいずれか一方のみが移動しているときには第1仮想カメラを回転させないようにしてもよい。
【0013】
また、仮想カメラ制御部は、複数の第1オブジェクトが全て表示されるように仮想カメラの位置または画角を制御してもよい。
【0014】
また、第1操作装置は、オブジェクト制御部、仮想カメラ制御部およびゲーム画像生成部を備えたゲーム装置から第1ゲーム画像を受信する受信部をさらに備えてもよい。
【0015】
また、オブジェクト制御部は、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、ゲーム画像生成部は、1以上の第2仮想カメラに基づいて複数の第2オブジェクトを含む第2ゲーム画像を生成し、ゲーム装置は、第2ゲーム画像を表示装置へ出力する画像出力部をさらに備えてもよい。
【0016】
また、第1操作装置は、オブジェクト制御部、仮想カメラ制御部およびゲーム画像生成部を備えた携帯ゲーム機であってもよい。
【0017】
第2の構成例は、コンピュータによって実行されるゲーム処理方法であって、オブジェクト制御ステップと、仮想カメラ制御ステップと、ゲーム画像生成ステップとを備えるゲーム処理方法である。オブジェクト制御ステップでは、コンピュータが、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御ステップでは、コンピュータが、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成ステップでは、コンピュータが、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御ステップは、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御ステップを含む。
【0018】
第3の構成例は、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部とを備えたゲーム装置である。オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0019】
第4の構成例は、複数の方向入力部と、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部と、第1表示部とを備えたゲーム装置である。オブジェクト制御部は、複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。第1表示部は、第1ゲーム画像を表示する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0020】
第5の構成例は、コンピュータを、オブジェクト制御手段、仮想カメラ制御手段、およびゲーム画像生成手段として機能させるゲームプログラムである。オブジェクト制御手段は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御手段は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成手段は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御手段は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御手段を含む。
【発明の効果】
【0021】
本発明によれば、どの方向入力部がどのオブジェクトに対応しているのかが分かりやすくなる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態に係るゲームシステム1の一例を示す外観図
【図2】図1のゲーム装置本体5の一例を示す機能ブロック図
【図3】図1の端末装置6の外観構成の一例を示す図
【図4】ユーザが端末装置6を把持した様子の一例を示す図
【図5】図3の端末装置6の内部構成の一例を示すブロック図
【図6】或る時点における仮想空間を示す図
【図7】端末用ゲーム画像の一例を示す図
【図8】モニタ用ゲーム画像の一例を示す図
【図9】他の時点における仮想空間を示す図
【図10】端末用ゲーム画像の一例を示す図
【図11】さらに他の時点における仮想空間を示す図
【図12】端末用ゲーム画像の一例を示す図
【図13】端末用ゲーム画像の比較例を示す図
【図14】外部メインメモリ12に記憶される各種データの一例を示す図
【図15】ゲーム処理の流れを示すフローチャート
【図16】仮想カメラVC1制御処理の詳細を示すフローチャート
【図17】仮想カメラの位置および姿勢の定義方法の一例を示す図
【図18】目標方位角θtargetの決定方法を示す図
【図19】キャラクタ距離Dと変数f(D)の対応関係の一例を示す図
【図20】変形例に係るゲームシステムを示す外観図
【図21】他の変形例に係るゲームシステムを示す外観図
【発明を実施するための形態】
【0023】
図1を参照して、本発明の一実施形態に係るゲームシステムについて説明する。
【0024】
図1において、ゲームシステム1は、家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、スピーカ2aを備える。また、ゲーム装置3は、光ディスク4と、ゲーム装置本体5と、端末装置6と、コントローラ7a〜7d(以下、特にこれらのコントローラ7a〜7dを区別して説明する必要が無い場合には、単にコントローラ7と記す)とを含む。
【0025】
光ディスク4には、ゲーム装置本体5において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。
【0026】
モニタ2は、ゲーム装置本体5から出力されるゲーム画像を表示する。モニタ2はスピーカ2aを有しており、スピーカ2aは、ゲーム装置本体5から出力されるゲーム音声を出力する。
【0027】
ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等に基づいてゲーム処理等を実行する。
【0028】
コントローラ7には、複数の操作部(操作ボタン)が設けられている。そして、コントローラ7は、操作部に対する入力状態(各操作ボタンが押下されたか否か)を示す操作データ(コントローラ操作データ)を例えばBluetooth(登録商標)の技術を用いてゲーム装置本体5に送信する。
【0029】
また、コントローラ7には、モニタ2の表示画面近傍(図1では画面の上側)に設けられた2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rを有するマーカ8を撮像するための撮像部と、当該撮像部によって撮像された画像内におけるマーカの位置を算出する撮像情報演算部が設けられている。撮像情報演算部によって算出されたマーカの位置は、マーカ座標データとしてゲーム装置本体5に送信される。ゲーム装置本体5では、当該マーカ座標データに基づいて、コントローラ7の動きや位置や姿勢等を算出することができる。
【0030】
さらに、コントローラ7には、加速度センサおよびジャイロセンサが設けられている。加速度センサによって検出された加速度を示す加速度データと、ジャイロセンサによって検出された角速度を示す角速度データは、ゲーム装置本体5に送信される。ゲーム装置本体5では、当該加速度データおよび/または角速度データに基づいて、コントローラ7の向きや動きを算出することができる。
【0031】
端末装置6は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置6を手に持って動かしたり、あるいは、端末装置6を自由な位置に配置したりして使用することが可能な可搬型の装置である。詳細な構成は後述するが、端末装置6は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)61、および入力手段(後述するタッチパネル62やジャイロセンサ604等)を備える。端末装置6とゲーム装置本体5とは無線(有線であってもよい)によって通信可能である。端末装置6は、ゲーム装置本体5で生成された画像(例えばゲーム画像)のデータをゲーム装置本体5から受信し、当該データが示す画像をLCD61に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置6は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置6は、ゲーム装置本体5へ、自機に対して行われた操作の内容を表す操作データを送信する。
【0032】
次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成の一例を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
【0033】
システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。揮発性の外部メインメモリ12は、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。
【0034】
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。
【0035】
GPU32は、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。なお、本実施形態においては、ゲーム装置本体5は、モニタ2に表示するゲーム画像と、端末装置6に表示するゲーム画像との両方を生成することがある。以下では、モニタ2に表示されるゲーム画像を「モニタ用ゲーム画像」と呼び、端末装置6に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【0036】
DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、モニタ2のスピーカ2aから出力するゲーム音声と、端末装置6のスピーカから出力するゲーム音声との両方が生成されることがある。以下では、モニタ2から出力されるゲーム音声を「モニタ用ゲーム音声」と呼び、端末装置6から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【0037】
上記のようにゲーム装置本体5において生成される画像および音声のうち、モニタ2に出力される画像データおよび音声のデータは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、モニタ2に画像が表示されるとともにスピーカ2aから音が出力される。
【0038】
また、ゲーム装置本体5において生成される画像および音声のうち、端末装置6に出力される画像データおよび音声のデータは、入出力プロセッサ31等によって端末装置6へ送信される。入出力プロセッサ31等による端末装置6へのデータの送信については後述する。
【0039】
入出力プロセッサ31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。コーデックLSI27は端末通信モジュール28に接続される。
【0040】
ゲーム装置本体5は、インターネット等のネットワークに接続して外部情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ31は、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。フラッシュメモリ17には、ゲーム装置本体5と外部情報処理装置との間で送受信されるデータの他、ゲーム装置本体5を利用してプレイしたゲームのセーブデータ(処理の結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17には、ゲームプログラム等のプログラムが記憶されてもよい。
【0041】
また、ゲーム装置本体5は、コントローラ7からの操作データを受信することが可能である。すなわち、入出力プロセッサ31は、アンテナ23およびコントローラ通信モジュール19を介して、コントローラ7から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0042】
また、ゲーム装置本体5は、端末装置6との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ31は、GPU32が生成したゲーム画像(端末用ゲーム画像)のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ31からの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置6との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置6へ送信される。なお、本実施形態では、ゲーム装置本体5から端末装置6へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置本体5から端末装置6への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置6との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【0043】
また、ゲーム装置本体5は、画像データの他、音声データを端末装置6へ送信する。すなわち、入出力プロセッサ31は、DSP33が生成した音声データ(端末用ゲーム音声)を、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置6へ送信する。
【0044】
さらに、ゲーム装置本体5は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置6へ送信する。制御データは、端末装置6が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(図5に示すマーカ部65)の点灯を制御する指示や、カメラ(図5に示すカメラ66)の撮像を制御する指示等を表す。入出力プロセッサ31は、CPU10の指示に応じて制御データを端末装置6へ送信する。
【0045】
また、ゲーム装置本体5は、端末装置6から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置6は、操作データ、画像データ、および音声データを送信する。端末装置6から送信される各データは、アンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置6からの画像データおよび音声データは、ゲーム装置本体5から端末装置6への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ31に出力される。操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ31に出力される。入出力プロセッサ31は、端末装置6から受信したデータを、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0046】
また、ゲーム装置本体5は、拡張コネクタ20やメモリカード用コネクタ21を介して、他の機器や外部記憶媒体に接続することが可能である。
【0047】
ゲーム装置本体5(例えば、前部主面)には、電源ボタン24、リセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。
【0048】
なお、他の実施形態においては、ゲーム装置本体5が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置本体5とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば拡張コネクタ20を介してゲーム装置本体5と接続されるようにしてもよい。具体的には、拡張機器は、例えばコーデックLSI27、端末通信モジュール28、およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置本体に対して上記拡張機器を接続することによって、当該ゲーム装置本体を端末装置6と通信可能な構成とすることができる。
【0049】
次に、図3〜図5を参照して、端末装置6の構成について説明する。なお、図3は、端末装置6の外観構成の一例を示す図である。図3の(a)部は端末装置6の正面図であり、(b)部は上面図であり、(c)部は右側面図であり、(d)部は下面図である。図4は、ユーザが端末装置6を把持した様子の一例を示す図である。
【0050】
図3に示されるように、端末装置6は、大略的には横長の長方形の板状形状であるハウジング60を備える。ハウジング60は、ユーザが把持することができる程度の大きさである。
【0051】
端末装置6は、ハウジング60の表面にLCD61を有する。LCD61は、ハウジング60の表面の中央付近に設けられる。したがって、ユーザは、図4に示すようにLCD61の両側部分のハウジング60を持つことによって、LCD61の画面を見ながら端末装置6を持って動かすことができる。
【0052】
図3の(a)部に示すように、端末装置6は、操作手段として、LCD61の画面上にタッチパネル62を有する。本実施形態では、タッチパネル62は、抵抗膜方式のタッチパネルである。ただし、タッチパネル62は、抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル62は、シングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル62として、LCD61の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル62の解像度とLCD61の解像度とが一致している必要はない。このように、端末装置6がタッチパネル62を備えているため、ユーザは、端末装置6を動かしながらタッチパネル62を操作することができる。つまり、ユーザは、LCD61の画面を動かしつつ、その画面に対して直接(タッチパネル62によって)入力を行うことができる。
【0053】
図3に示すように、端末装置6は、操作手段として、2つのアナログスティック63Aおよび63Bと、複数の操作ボタン64A〜64Lとを備えている。各アナログスティック63Aおよび63Bは、方向を指示するデバイスである。各アナログスティック63Aおよび63Bは、ユーザの指で操作されるスティック部がハウジング60の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドまたは傾倒することができるように構成されている。
【0054】
各操作ボタン64A〜64Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン64Aは、方向指示操作や選択操作等に用いられてもよいし、各操作ボタン64E〜64Hは、決定操作やキャンセル操作等に用いられてもよい。
【0055】
図3の(a)部に示すように、端末装置6は、マーカ65Aおよびマーカ65Bからなるマーカ部(図5に示すマーカ部65)をハウジング60の表面に備えている。マーカ65Aおよびマーカ65Bは、それぞれ1以上の赤外LEDで構成される。マーカ部65は、上述したマーカ8と同様、マーカ部65に対するコントローラ7の動き等をゲーム装置本体5が算出するために用いられる。また、ゲーム装置本体5は、マーカ部65が備える各赤外LEDの点灯を制御することが可能である。
【0056】
端末装置6は、カメラ66を備えている。カメラ66は、ハウジング60の表面に設けられる。したがって、カメラ66は、端末装置6を持っているユーザの顔を撮像することができ、一例としてLCD61を見ながらゲームを行っている状態におけるユーザを撮像することができる。
【0057】
なお、端末装置6は、音声入力手段であるマイク(図5に示すマイク609)を備えている。マイク609は、マイクロフォン用孔60bの内側となるハウジング60内部に設けられる。マイク609は、ユーザの音声等、端末装置6の周囲の音を検出する。
【0058】
端末装置6は、スピーカ(図5に示すスピーカ607)を備えている。スピーカ607の出力音は、ハウジング60の下側側面に設けられたスピーカ孔60aから出力される。
【0059】
また、端末装置6は、他の装置を端末装置6に接続するための拡張コネクタ67を備えている。
【0060】
なお、図3に示した端末装置6に関して、各操作ボタンやハウジング60の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【0061】
次に、図5を参照して、端末装置6の内部構成について説明する。図5は、端末装置6の内部構成の一例を示すブロック図である。図5に示すように、端末装置6は、図3に示した構成の他、タッチパネルコントローラ601、磁気センサ602、加速度センサ603、ジャイロセンサ604、ユーザインタフェースコントローラ(UIコントローラ)605、コーデックLSI606、スピーカ607、サウンドIC608、マイク609、無線モジュール610、アンテナ611、赤外線通信モジュール612、フラッシュメモリ613、電源IC614、電池615、およびバイブレータ619を備える。これらの電子部品は、電子回路基板上に実装されてハウジング60内に収納される。
【0062】
UIコントローラ605は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ605は、タッチパネルコントローラ601、アナログスティック63(アナログスティック63Aおよび63B)、操作ボタン64(各操作ボタン64A〜64L)、マーカ部65、磁気センサ602、加速度センサ603、ジャイロセンサ604、およびバイブレータ619に接続される。また、UIコントローラ605は、コーデックLSI606と拡張コネクタ67とに接続される。また、UIコントローラ605には電源IC614が接続され、UIコントローラ605を介して各部に電力が供給される。電源IC614には内蔵の電池615が接続され、電力が供給される。また、電源IC614には、コネクタ等を介して外部電源から電力を取得可能な充電器616またはケーブルを接続することが可能であり、端末装置6は、充電器616またはケーブルを用いて外部電源からの電力供給と充電とを行うことができる。
【0063】
タッチパネルコントローラ601は、タッチパネル62に接続され、タッチパネル62の制御を行う回路である。タッチパネルコントローラ601は、タッチパネル62からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ605へ出力する。タッチ位置データは、タッチパネル62の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ601は、タッチパネル62からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ605からタッチパネルコントローラ601へは、各種の制御指示が出力される。
【0064】
アナログスティック63は、スティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ605へ出力する。また、操作ボタン64は、各操作ボタン64A〜64Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ605へ出力する。
【0065】
磁気センサ602は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ605へ出力される。また、UIコントローラ605から磁気センサ602へは、磁気センサ602に対する制御指示が出力される。磁気センサ602に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。
【0066】
加速度センサ603は、ハウジング60の内部に設けられ、3軸(図3の(a)部に示すxyz軸)方向に沿った直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ605へ出力される。また、UIコントローラ605から加速度センサ603へは、加速度センサ603に対する制御指示が出力される。
【0067】
ジャイロセンサ604は、ハウジング60の内部に設けられ、上記x軸、y軸、およびz軸の3軸周りの角速度をそれぞれ検出する。検出された角速度を表す角速度データは、UIコントローラ605へ出力される。また、UIコントローラ605からジャイロセンサ604へは、ジャイロセンサ604に対する制御指示が出力される。
【0068】
バイブレータ619は、例えば振動モータやソレノイドであり、UIコントローラ605からバイブレータ619へ出力される制御指示に応じて、バイブレータ619が作動することによって端末装置6に振動が発生する。
【0069】
UIコントローラ605は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データ(以下、端末操作データと称す)をコーデックLSI606に出力する。
【0070】
コーデックLSI606は、ゲーム装置本体5へ送信するデータに対する圧縮処理、およびゲーム装置本体5から送信されたデータに対する伸張処理を行う回路である。コーデックLSI606には、LCD61、カメラ66、サウンドIC608、無線モジュール610、フラッシュメモリ613、および赤外線通信モジュール612が接続される。また、コーデックLSI606は、CPU617と内部メモリ618とを含む。例えば、端末装置6は、ゲーム処理自体を行わない構成であるが、端末装置6の管理や通信のための最小限のプログラムを実行する必要がある。一例として、電源投入時にフラッシュメモリ613に格納されたプログラムを内部メモリ618に読み出してCPU617が実行することで、端末装置6が起動する。また、内部メモリ618の一部の領域は、LCD61のためのVRAMとして使用される。
【0071】
カメラ66は、ゲーム装置本体5からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI606へ出力する。また、コーデックLSI606からカメラ66へは、画像の撮像指示等、カメラ66に対する制御指示が出力される。なお、カメラ66は、動画の撮影も可能である。すなわち、カメラ66は、繰り返し撮像を行って画像データをコーデックLSI606へ繰り返し出力することも可能である。
【0072】
サウンドIC608は、スピーカ607およびマイク609への音声データの入出力を制御する回路である。
【0073】
コーデックLSI606は、カメラ66からの画像データ、マイク609からの音声データ、およびUIコントローラ605からの端末操作データを、無線モジュール610を介してゲーム装置本体5へ送信する。本実施形態では、コーデックLSI606は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。圧縮された画像データおよび音声データと、端末操作データとは、送信データとして無線モジュール610に出力される。無線モジュール610にはアンテナ611が接続されており、無線モジュール610はアンテナ611を介してゲーム装置本体5へ上記送信データを送信する。無線モジュール610は、ゲーム装置本体5の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール610は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。
【0074】
以上のように、端末装置6からゲーム装置本体5へ送信される送信データには、端末操作データ、画像データ、および音声データが含まれる。なお、拡張コネクタ67を介して端末装置6に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール612は、他の装置との間で例えばIRDAの規格に従った赤外線通信を行う。コーデックLSI606は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置本体5へ送信してもよい。
【0075】
また、上述のように、ゲーム装置本体5から端末装置6へは、圧縮された画像データおよび音声データが送信される。これらのデータは、アンテナ611および無線モジュール610を介してコーデックLSI606で受信される。コーデックLSI606は、受信した画像データおよび音声データを伸張する。伸張された画像データは、LCD61へ出力され、当該画像データに応じた画像がLCD61に表示される。また、伸張された音声データは、サウンドIC608へ出力され、当該音声データに応じた音がスピーカ607から出力される。
【0076】
また、ゲーム装置本体5から受信されるデータに制御データが含まれる場合、コーデックLSI606およびUIコントローラ605は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置6が備える各構成要素(本実施形態では、カメラ66、タッチパネルコントローラ601、マーカ部65、各センサ602〜604、バイブレータ619、および赤外線通信モジュール612)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置6からゲーム装置本体5へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。
【0077】
次に、図6〜図12を参照して、本実施形態のゲームシステム1において実行されるゲーム処理の概要を説明する。
【0078】
ゲームシステム1では、コントローラ7a〜7dおよび端末装置6を用いて、複数のプレイヤが一緒にゲームをプレイすることができる(図8参照)。ここでは、プレイヤA、プレイヤB、プレイヤC、プレイヤD、プレイヤUの5人のプレイヤが一緒にゲームをプレイする場合について説明する。
【0079】
図6は、ゲームで用いられる仮想空間の様子を示している。仮想空間のゲームフィールド上には、6体のプレイヤキャラクタPCa〜PCd,PCl,PCrと、複数の障害物が配置されている。また、ゲームフィールド上には、図示しない果物も配置されている。
【0080】
プレイヤキャラクタPCa〜PCdは、それぞれ、コントローラ7a〜7dに対応付けられている。ここでは、プレイヤAは、コントローラ7aに設けられた十字ボタンを操作してプレイヤキャラクタPCaを移動させ、プレイヤBは、コントローラ7bに設けられた十字ボタンを操作してプレイヤキャラクタPCbを移動させ、プレイヤCは、コントローラ7cに設けられた十字ボタンを操作してプレイヤキャラクタPCcを移動させ、プレイヤDは、コントローラ7dに設けられた十字ボタンを操作してプレイヤキャラクタPCdを移動させるものとする。
【0081】
プレイヤキャラクタPClは、端末装置6のアナログスティック63Aに対応付けられており、プレイヤキャラクタPCrは、端末装置6のアナログスティック63Bに対応付けられている。ここでは、プレイヤUは、端末装置6に設けられた2つの方向入力部(アナログスティック63A,63B)を操作して2体のプレイヤキャラクタPCl,PCrを移動させるものとする。
【0082】
プレイヤA〜Dの目的は、プレイヤキャラクタPCa〜PCdを移動させて、ゲームフィールド上に配置されている果物(図示されない)を規定数集めることである。プレイヤUの目的は、プレイヤキャラクタPCl,PCrを移動させて、他のプレイヤキャラクタPCa〜PCdを3回以上捕まえることである。すなわち、プレイヤA〜Dが果物を規定数集めればプレイヤA〜Dの勝利となり、プレイヤA〜Dが果物を規定数集めるよりも先にプレイヤUがプレイヤキャラクタPCa〜PCdを3回以上捕まえればプレイヤUの勝利となる。
【0083】
なお、プレイヤキャラクタPCa〜PCdとプレイヤキャラクタPCl,PCrは、移動速度がほぼ同じに設定されている。よって、プレイヤキャラクタPCl,PCrの一方だけでプレイヤキャラクタPCa〜PCdを追いかけたとしても、プレイヤキャラクタPCa〜PCdを捕まえることは困難であり、多くの時間を要してしまう。しかしながら、2体のプレイヤキャラクタPCl,PCrでプレイヤキャラクタPCa〜PCdを挟み撃ちするように2体のプレイヤキャラクタPCl,PCrを同時に移動させることによって、プレイヤキャラクタPCa〜PCdを効率良く捕まえることが可能となる。
【0084】
図7は、プレイヤキャラクタPCa〜PCd,PCl,PCrが図6に示す位置にいるときに端末装置6のLCD61に表示されるゲーム画像(端末用ゲーム画像)を示している。端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される(逆に言うと、プレイヤキャラクタPCrは、プレイヤキャラクタPClの表示位置に対して右側に表示される)。プレイヤUは、端末用ゲーム画像を見ながらアナログスティック63A,63Bを操作して、プレイヤキャラクタPCl,PCrを移動させる。
【0085】
前述のように、プレイヤキャラクタPClはアナログスティック63Aに対応付けられており、プレイヤキャラクタPCrはアナログスティック63Bに対応付けられている。よって、上記のように、端末用ゲーム画像において、プレイヤキャラクタPClが、プレイヤキャラクタPCrの表示位置に対して左側に表示される結果、プレイヤUは、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0086】
図8は、プレイヤキャラクタPCa〜PCd,PCl,PCrが図6に示す位置にいるときにモニタ2に表示されるゲーム画像(モニタ用ゲーム画像)を示している。本実施形態では、モニタ用ゲーム画像はプレイヤA〜D用の4つのサブ画像で構成される。画面の左上領域にはプレイヤA用のサブ画像が、画面の右上領域にはプレイヤB用のサブ画像が、画面の左下領域にはプレイヤC用のサブ画像が、画面の右下領域にはプレイヤD用のサブ画像が、それぞれ表示される。それぞれのサブ画像のほぼ中心には、対応するプレイヤキャラクタPCa〜PCdがそれぞれ表示される。
【0087】
図6の時点からゲームが進行して、プレイヤキャラクタPCa〜PCd,PCl,PCrが図9に示す位置に移動すると、端末装置6のLCD61には、図10に示すような端末用ゲーム画像が表示される。図10においても、端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される。このような表示は、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって実現される。仮想カメラの制御方法については後ほど詳細に説明する。
【0088】
図9の時点からゲームがさらに進行して、プレイヤキャラクタPCa〜PCd,PCl,PCrが図11に示す位置に移動すると、端末装置6のLCD61には、図12に示すような端末用ゲーム画像が表示される。図12においても、端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される。
【0089】
このように、本実施形態では、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって、プレイヤキャラクタPCl,PCrの位置によらず、端末用ゲーム画像において、プレイヤキャラクタPClが、プレイヤキャラクタPCrの表示位置に対して左側に表示される。すなわち、プレイヤキャラクタPCl,PCrが任意の場所へ移動しても、LCD61の左側に設けられたアナログスティック63Aに対応するプレイヤキャラクタPClが、画面左端により近い位置に表示され、LCD61の右側に設けられたアナログスティック63Bに対応するプレイヤキャラクタPCrが、画面右端により近い位置に表示される。よって、プレイヤUは、プレイヤキャラクタPCl,PCrが任意の場所へ移動しても、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0090】
なお、図13は、本実施形態の効果を説明するための比較例として、図11の状況に対応する、仮想カメラを回転させない場合の端末用ゲーム画像を示している。図13の端末用ゲーム画像では、LCD61の左側に設けられたアナログスティック63Aに対応するプレイヤキャラクタPClが、画面右端により近い位置に表示され、LCD61の右側に設けられたアナログスティック63Bに対応するプレイヤキャラクタPCrが、画面左端により近い位置に表示されている。よって、プレイヤUは、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を直感的に把握することができないため、これらのプレイヤキャラクタPCl,PCrを所望の場所へ移動させることが困難になる。これに対して、本実施形態によれば、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって、操作性を向上させることができる。
【0091】
次に、図14〜図19を参照して、上記ゲームを実現するためのゲームシステム1の動作について詳細に説明する。
【0092】
図14は、上記ゲームを実行するときにゲーム装置本体5の外部メインメモリ12に記憶される各種データの一例を示している。
【0093】
ゲームプログラムD1は、ゲーム装置本体5のCPU10に、上記ゲームを実現するためのゲーム処理を実行させるためのプログラムである。ゲームプログラムD1は、例えば、光ディスク4から外部メインメモリ12にロードされる。
【0094】
ゲームフィールドデータD2は、ゲームフィールド、およびゲームフィールド上に配置される障害物の形状や模様を示すデータである。
【0095】
プレイヤキャラクタデータD3は、プレイキャラクタPCa〜PCd,PCl,PCrに関するデータであって、各プレイヤキャラクタの形状、模様、位置、姿勢等を示すデータである。
【0096】
仮想カメラデータD4は、ゲーム画像を生成するために用いられる仮想カメラ(端末用ゲーム画像を生成するための仮想カメラVC1、および、モニタ用ゲーム画像を構成する4つのサブ画像を生成するための仮想カメラVC2a〜VC2d)に関するデータであって、各仮想カメラの位置、姿勢、画角等を示すデータである。なお、仮想カメラの位置および姿勢は、例えば、後述するように、注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dによって表されてもよい(図17)。
【0097】
操作データD5は、端末装置6およびコントローラ7a〜7dのそれぞれから周期的に送信される操作データである。
【0098】
次に、図15および図16のフローチャートを参照して、ゲームプログラムD1に基づいてゲーム装置本体5のCPU10によって実行されるゲーム処理の流れを説明する。
【0099】
ゲームプログラムD1の実行が開始されると、まず図15のステップS10において、CPU10は、初期設定を行う。当該初期設定では、プレイヤキャラクタPCa〜PCd,PCl,PCrを仮想空間の初期位置に配置する処理などが行われる。
【0100】
ステップS11において、CPU10は、端末装置6およびコントローラ7a〜7dから操作データD5を取得する。
【0101】
ステップS12において、CPU10は、操作データD5に基づいて、仮想空間におけるプレイヤキャラクタPCa〜PCd,PCl,PCrの位置を更新する(すなわち、プレイヤキャラクタデータD3を更新する)。具体的には、CPU10は、端末装置6のアナログスティック63Aを通じて入力された方向に応じた方向へプレイヤキャラクタPClを移動させる。例えば、アナログスティック63Aのスティック部が右方向へスライドまたは傾倒された場合には、ゲームフィールド上を画面右方向へ向かって移動するようにプレイヤキャラクタPClを移動させる。同様に、CPU10は、端末装置6のアナログスティック63Bを通じて入力された方向に応じた方向へプレイヤキャラクタPCrを移動させる。さらに、CPU10は、コントローラ7aの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCaを移動させ、コントローラ7bの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCbを移動させ、コントローラ7cの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCcを移動させ、コントローラ7dの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCdを移動させる。
【0102】
ステップS13において、CPU10は、仮想カメラVC1制御処理を行う。仮想カメラVC1制御処理は、端末用ゲーム画像を生成するための仮想カメラVC1の位置および姿勢を決定する(すなわち、仮想カメラデータD4を更新する)ための処理である。以下、図16のフローチャートを参照して、仮想カメラVC1制御処理の詳細を説明する。なお、本実施形態では、図17に示すように、注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dを計算することによって、仮想カメラVC1の位置および姿勢が決定される。
【0103】
図16のステップS20において、CPU10は、注視点Pの座標値を計算する。注視点Pは、好ましくは、プレイヤキャラクタPClの位置とプレイヤキャラクタPCrの位置の中間地点に設定される。
【0104】
ステップS21において、CPU10は、カメラ距離dを計算する。カメラ距離dは、仮想カメラから注視点Pまでの距離である。カメラ距離dは、好ましくは、プレイヤキャラクタPCl,PCrが互いに離れてもプレイヤキャラクタPCl,PCrの両方が画面に表示されるように、プレイヤキャラクタPCl,PCr間の距離(後述するキャラクタ距離D)が大きくなるほど大きい値に設定される。なお、プレイヤキャラクタPCl,PCrが互いに離れてもプレイヤキャラクタPCl,PCrの両方が画面に表示されるようにするための他の手法として、プレイヤキャラクタPCl,PCr間の距離が大きくなるほど、仮想カメラの画角を広くしてもよい。
【0105】
ステップS22において、CPU10は、仰俯角φを計算する。仰俯角φは、仮想カメラの視線方向(仮想カメラと注視点とを結ぶ直線)とXY平面(すなわち、仮想世界における水平面、またはゲームフィールド)とのなす角度である。仰俯角φは、例えば0°よりも大きく且つ90°よりも小さい値に設定され、好ましくは、プレイヤキャラクタPCl,PCr間の距離(キャラクタ距離D)が大きくなるほど大きい値に設定される。
【0106】
ステップS23において、CPU10は、プレイヤキャラクタPCl,PCrを同時に操作中か否かを判断する。具体的には、CPU10は、操作データD5に含まれる端末装置6の操作データを参照して、アナログスティック63A,63Bの両方から方向が入力されている場合には、プレイヤキャラクタPCl,PCrを同時に操作中であると判断し、そうでない場合(例えば、アナログスティック63A,63Bの一方からしか方向が入力されていない場合)には、プレイヤキャラクタPCl,PCrを同時に操作中ではないと判断する。そして、プレイヤキャラクタPCl,PCrを同時に操作中であると判断された場合には処理はステップS24へと進み、そうでない場合には処理は図15のステップS14へと進む。
【0107】
ステップS24において、CPU10は、目標方位角θtargetを計算する。なお、本実施形態では、仮想カメラVC1の方位角θの急激な変化を避けるために、仮想カメラVC1の方位角θを、目標方位角θtargetへと段階的に近づける手法を採用している。方位角θは、仮想カメラの視線方向(仮想カメラと注視点とを結ぶ直線)をXY平面に投影することによってできた直線と、YZ平面(すなわち、仮想世界における鉛直面)とのなす角度である。目標方位角θtargetは、プレイヤキャラクタPCl,PCrの位置に応じて計算される。具体的には、CPU10は、例えば図18に示すように、プレイヤキャラクタPCl,PCr間を結ぶ直線と、YZ平面とのなす角度をθcとすると、θtargetは、θc−90°となる。
【0108】
ステップS25において、CPU10は、下記の数式(1)のように、方位角θpre(直前フレームにおける仮想カメラVC1の方位角θ)と目標方位角θtargetと変数f(D)に応じて、仮想カメラVC1の方位角θを計算する。
θ=θpre+(θtarget−θpre)×f(D)・・・(1)
【0109】
変数f(D)は、プレイヤキャラクタPCl,PCr間の距離(図18に示すキャラクタ距離D)に応じて変化する変数であって、例えば図19に示すように、キャラクタ距離Dが0であるときにはV1(例えば0.01)となり、キャラクタ距離Dが0からDthに近づくにつれて0.01から0.05に近づき、キャラクタ距離DがDth(例えば100)以上であるときにはV2(例えば0.05)となる。
【0110】
上記数式(1)から明らかなように、f(D)は、方位角θが方位角θpreから目標方位角θtargetへと近づく比率を示している。例えば、f(D)が0.05であるときには、方位角preと目標方位角θtargetの差分の5%だけ、方位角θが方位角θpreから目標方位角θtargetへと近づく。同様に、f(D)が0.01であるときには、方位角preと目標方位角θtargetの差分の1%だけ、方位角θが方位角θpreから目標方位角θtargetへと近づく。
【0111】
図19に示すように、キャラクタ距離Dが小さいほど、f(D)は小さい値となるため、方位角θが方位角θpreから目標方位角θtargetへと近づく比率は小さくなる。これは、キャラクタ距離Dが小さい場合には、プレイヤキャラクタPCl,PCrの移動に伴ってプレイヤキャラクタPCl,PCrを結ぶ直線の方向が急激に変化し、その結果、目標方位角θtargetが急激に変化することがあるからである。目標方位角θtargetが急激に変化した場合に、仮に方位角θが方位角θpreから目標方位角θtargetへと近づく比率を大きくしていると、方位角θも急激に変化し、ユーザUから見てゲームフィールドが急激に回転するため、操作しづらくなってしまう。そこで、本実施形態では、キャラクタ距離Dが小さいほどf(D)を小さい値とすることで、このような問題を回避している。
【0112】
仮想カメラVC1制御処理が終了すると、処理は図15のステップS14へ進む。
【0113】
ステップS14において、CPU10は、仮想カメラVC1を用いて端末用ゲーム画像を生成する。例えば、ステップS13において決定された注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dに基づいて、仮想カメラVC1に対応するビュー行列が生成され、当該ビュー行列を用いて仮想空間が描画される。端末用ゲーム画像の生成処理の一部または全部が、CPU10からの指示に応じてGPU32によって行われてもよい。生成された端末用ゲーム画像は、ゲーム装置本体5から端末装置6へと送信されて、LCD61に表示される。
【0114】
ステップS15において、CPU10は、モニタ用ゲーム画像を生成するための4つの仮想カメラVC2a〜VC2dの位置を決定する(すなわち、仮想カメラデータD4を更新する)。具体的には、プレイヤキャラクタPCaの位置に応じて、仮想カメラVC2aの視界のほぼ中央にプレイヤキャラクタPCaが位置するように、仮想カメラVC2aの位置を決定する。同様に、プレイヤキャラクタPCbの位置に応じて、仮想カメラVC2bの視界のほぼ中央にプレイヤキャラクタPCaが位置するように、仮想カメラVC2bの位置を決定する。同様に、プレイヤキャラクタPCcの位置に応じて仮想カメラVC2cの位置を決定し、プレイヤキャラクタPCdの位置に応じて仮想カメラVC2dの位置を決定する。なお、本実施形態では、仮想カメラVC2a〜VC2dの姿勢は固定(すなわち、仮想カメラVC2a〜VC2dの視線方向は一定方向)とする。
【0115】
ステップS16において、CPU10は、4つの仮想カメラVC2a〜VC2dを用いてモニタ用ゲーム画像を生成する。具体的には、仮想カメラVC2aを用いてプレイヤA用のサブ画像が生成され、仮想カメラVC2bを用いてプレイヤB用のサブ画像が生成され、仮想カメラVC2cを用いてプレイヤC用のサブ画像が生成され、仮想カメラVC2dを用いてプレイヤD用のサブ画像が生成される。そして、これらの4つのサブ画像が合成されて、モニタ用ゲーム画像が生成される。モニタ用ゲーム画像の生成処理の一部または全部が、CPU10からの指示に応じてGPU32によって行われてもよい。生成されたモニタ用ゲーム画像は、ゲーム装置本体5からモニタ2へと送信されて、モニタ2に表示される。
【0116】
ステップS17において、CPU10は、ゲームが終了したかどうかを判断する。そして、ゲームが終了していない場合には処理はステップS10に戻り、ゲームが終了した場合にはゲームプログラムD1の実行を終了する。
【0117】
以上のように、本実施形態によれば、端末用ゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラVC1が回転する(すなわち、仮想カメラVC1が注視点Pを通る鉛直線周りに回転する)。よって、端末用ゲーム画像において、プレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤUは、プレイヤキャラクタPClがアナログスティック63Aに対応し、プレイヤキャラクタPCrがアナログスティック63Bに対応していることを、直感的に容易に把握することができる。
【0118】
上記のような効果は、本実施形態のように、プレイヤキャラクタPCl,PCrがゲームフィールド上を任意の方向へ個別に(すなわち、互いに独立して)移動可能であり、プレイヤキャラクタPCl,PCrをゲームフィールドの上空から見下ろしたゲーム画像が表示されるようなゲームにおいて、特に顕著となる。なぜなら、このようなゲームでは、ゲームをプレイしている途中で、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係が分かりにくくなりがちだからである。
【0119】
また、本実施形態によれば、端末用ゲーム画像において、プレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤキャラクタPCl,PCrの位置に関わらず、プレイヤUは、アナログスティック63Aを右方向にスライドまたは傾倒し、アナログスティック63Bを左方向にスライドまたは傾倒することによって、プレイヤキャラクタPCl,PCrを近づけることができる。よって、2体のプレイヤキャラクタPCl,PCrを互いに近づける操作が容易となるため、プレイヤUは、2体のプレイヤキャラクタPCl,PCrでプレイヤキャラクタPCa〜PCdを挟み撃ちしてプレイヤキャラクタPCa〜PCdを効率良く捕まえることが可能となる。
【0120】
また、本実施形態によれば、プレイヤキャラクタPCl,PCrを同時に操作中である場合には、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラVC1が回転するが、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1は回転しない。これは、プレイヤキャラクタPCl,PCrの一方のみを操作している間は、その途中でアナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係が分からなくなる可能性は低いからである。
【0121】
また、プレイヤキャラクタPCl,PCrの一方のみを操作しているときに仮想カメラVC1が回転すると、端末用ゲーム画像において、操作中のプレイヤキャラクタの移動に応じてゲームフィールドが回転するため、当該プレイヤキャラクタを所望地点へ直線的に移動させることが困難になる可能性があるが、本実施形態のように、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1を回転しないようにすることで、このような問題を回避することができる。
【0122】
なお、上記実施形態は、あくまでも一実施形態に過ぎず、種々の変形例が考えられる。
【0123】
例えば、図1のようなゲームシステム1の代わりに、図20のような携帯ゲーム機91を用いてもよい。携帯ゲーム機91には、LCD91Sと、アナログスティック91A,91Bが設けられている。プレイヤは、アナログスティック91Aを用いてプレイヤキャラクタPClを移動させ、アナログスティック91Bを用いてプレイヤキャラクタPCrを移動させることができる。そして、LCD91Sに表示されるゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラが回転する。
【0124】
また例えば、図1のようなゲームシステム1の代わりに、図21のようなゲームシステムを用いてもよい。ゲーム装置本体に接続されたコントローラ92には、十字ボタン92Aとアナログスティック92Bが設けられている。プレイヤは、十字ボタン92Aを用いてプレイヤキャラクタPClを移動させ、アナログスティック92Bを用いてプレイヤキャラクタPCrを移動させることができる。そして、モニタに表示されるゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラが回転する。この場合でも、プレイヤの右手で操作されるアナログスティック92Bに対応するプレイヤキャラクタPCrが、プレイヤの左手で操作される十字ボタン92Aに対応するプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤは、十字ボタン92Aおよびアナログスティック92Bと、プレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0125】
また、上記実施形態では、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1を回転させないようにしているが、他の実施形態では、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合にも、仮想カメラVC1を回転させるようにしてもよい。
【0126】
また、上記実施形態では、仮想カメラVC1の方位角θを、目標方位角θtargetへと段階的に近づける手法を採用しているが、他の実施形態では、仮想カメラVC1の方位角θを、目標方位角θtargetに常に一致させるようにしてもよい。
【0127】
また、上記実施形態では、端末装置6を一人のプレイヤ(プレイヤU)が操作しているが、他の実施形態では、端末装置6を複数のプレイヤが操作するようにしてもよい。具体的には、或るプレイヤがアナログスティック63Aを操作してプレイヤキャラクタPClを移動させ、それと同時に別のプレイヤがアナログスティック63Bを操作してプレイヤキャラクタPCrを移動させるようにしてもよい。
【0128】
また、上記実施形態では、プレイヤUが、2つの方向入力部を用いて2体のプレイヤオブジェクトPCl,PCrを移動させているが、他の実施形態では、3つ以上の方向入力部を用いて3体のプレイヤオブジェクトを移動させるようにしてもよい。この場合には、3体以上のプレイヤオブジェクトの位置に応じて仮想カメラVC1を回転させればよい。
【0129】
また、上記実施形態では、LCD61の左側に設けられたアナログスティック63Aを用いてプレイヤキャラクタPClを移動させ、LCD61の右側に設けられたアナログスティック63Bを用いてプレイヤキャラクタPCrを移動させているが、他の実施形態では、表示部の上側に設けられた方向入力部を用いて或るプレイヤキャラクタ(以下、上側プレイヤキャラクタと称す)を移動させ、表示部の下側に設けられた方向入力部を用いて別のプレイヤキャラクタ(以下、下側プレイヤキャラクタと称す)を移動させるようにしてもよい。この場合には、表示部に表示されるゲーム画像において上側プレイヤキャラクタが下側プレイヤキャラクタの表示位置に対して上側に表示されるように、上側プレイヤキャラクタおよび下側プレイヤキャラクタの位置に応じて仮想カメラVC1を回転させればよい。
【0130】
また、上記実施形態では、図15および図16に示した複数の処理を1つのコンピュータ(CPU10)が実行しているが、他の実施形態では、これらの複数の処理を複数のコンピュータが分担して実行してもよい。さらに他の実施形態では、これらの複数の処理の一部を専用回路によって実現してもよい。
【0131】
また、上記実施形態では、図15および図16に示した複数の処理を1台の情報処理装置(ゲーム装置本体5)において実行しているが、他の実施形態では、これらの複数の処理を複数の情報処理装置(例えば、ゲーム装置本体5とサーバ装置、またはゲーム装置本体5と端末装置6)が分担して実行してもよい。
【0132】
また、上記実施形態では、光ディスク4からゲーム装置本体5へゲームプログラムD1が供給されているが、他の実施形態では、任意のコンピュータ読み取り可能な記憶媒体(例えば、CD−ROM、半導体メモリ等)からゲーム装置本体5へゲームプログラムD1が供給されてもよい。さらに他の実施形態では、ゲーム装置本体5内部の不揮発性メモリ(ROM/RTC13、フラッシュメモリ17)にゲームプログラムD1が予め格納されていてもよい。さらに他の実施形態では、他の情報処理装置(ゲーム装置やサーバ装置)からゲーム装置本体5へゲームプログラムD1が供給されてもよい。
【符号の説明】
【0133】
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
6…端末装置
60…ハウジング
61…LCD
62…タッチパネル
63…アナログスティック
64…操作ボタン
65…マーカ部
66…カメラ
67…拡張コネクタ
68…足部
7a〜7d…コントローラ
8(8L,8R)…マーカ
91…携帯ゲーム機
91A…アナログスティック
91B…アナログスティック
91S…LCD
92…コントローラ
92A…十字ボタン
92B…アナログスティック
PCa〜PCd,PCl,PCr…プレイヤキャラクタ
【技術分野】
【0001】
本発明は、ゲームシステム、ゲーム処理方法、ゲーム装置、携帯ゲーム機およびゲームプログラムに関し、特に、操作装置に設けられた複数の方向入力部を用いて複数のオブジェクトをそれぞれ移動させるためのゲームシステム、ゲーム処理方法、ゲーム装置、携帯ゲーム機およびゲームプログラムに関する。
【背景技術】
【0002】
従来、方向入力部を備えた複数の操作装置(コントローラ、携帯ゲーム機等)を用いて、仮想空間内の複数のプレイヤキャラクタをそれぞれ移動させるゲームが存在する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−293254号公報、図3
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記のようなゲームにおいて、複数の方向入力部を備えた操作装置を用いれば、当該操作装置に設けられた複数の方向入力部を用いて複数のプレイヤキャラクタをそれぞれ移動させることも可能である。これにより、例えば、そのような操作装置を用いて、1人のプレイヤが複数のプレイヤキャラクタを同時に移動させることも可能である。
【0005】
しかしながら、複数の方向入力部を用いて複数のプレイヤキャラクタをそれぞれ移動させる場合、ゲームをプレイしているうちに複数のプレイヤキャラクタの位置が多様に変化するので、どの方向入力部がどのプレイヤキャラクタに対応しているのかが、一見しただけでは分かりづらいという問題がある。特に、上記のように、複数の方向入力部を備えた操作装置を用いて1人のプレイヤが複数のプレイヤキャラクタを同時に移動させる場合にはなおさらである。
【0006】
それゆえに本発明は、複数の方向入力部を用いて複数のオブジェクトをそれぞれ移動させる場合に、どの方向入力部がどのオブジェクトに対応しているのかを分かりやすくすることを目的とする。
【課題を解決するための手段】
【0007】
上記目的は、例えば以下のような構成により達成される。
【0008】
第1の構成例は、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部とを備えたゲームシステムである。オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0009】
なお、「第1操作装置」は、少なくとも2つの方向入力部を有する任意の装置(例えば、可搬型表示装置、コントローラ、携帯ゲーム機等)であってもよい。「方向入力部」は、例えば、アナログスティックや十字ボタンであってもよい。「予め定められた側」は、例えば、右側や、左側や、上側や、下側であってもよい。「第1仮想カメラを回転させる」とは、第1仮想カメラの向き(姿勢)を変化させることであり、典型的には、ゲームフィールドに対して垂直な軸(例えば、図6におけるz軸に平行な任意の軸)を中心として第1仮想カメラを回転させることである。
【0010】
なお、第1操作装置は第1表示部を備え、第1ゲーム画像は第1表示部に表示され、複数の方向入力部には、第1表示部の左側に設けられる第1方向入力部と、第1表示部の右側に設けられる第2方向入力部が含まれてもよい。そして、オブジェクト制御部は、第1方向入力部を通じて入力される方向に応じて複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、第2方向入力部を通じて入力される方向に応じて複数の第1オブジェクトのうちの右オブジェクトを移動させ、回転制御部は、第1ゲーム画像において右オブジェクトが左オブジェクトの表示位置に対して右側に表示されるように、第1仮想カメラを回転させてもよい。
【0011】
また、回転制御部は、右オブジェクトと左オブジェクトの距離に応じて第1仮想カメラの回転速度を調整してもよい。
【0012】
また、ゲームシステムは、右オブジェクトと左オブジェクトが同時に移動しているか否かを判定する同時操作判定部をさらに備えてもよい。そして、回転制御部は、右オブジェクトと左オブジェクトが同時に移動しているときには第1仮想カメラを回転させ、右オブジェクトと左オブジェクトのいずれか一方のみが移動しているときには第1仮想カメラを回転させないようにしてもよい。
【0013】
また、仮想カメラ制御部は、複数の第1オブジェクトが全て表示されるように仮想カメラの位置または画角を制御してもよい。
【0014】
また、第1操作装置は、オブジェクト制御部、仮想カメラ制御部およびゲーム画像生成部を備えたゲーム装置から第1ゲーム画像を受信する受信部をさらに備えてもよい。
【0015】
また、オブジェクト制御部は、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、ゲーム画像生成部は、1以上の第2仮想カメラに基づいて複数の第2オブジェクトを含む第2ゲーム画像を生成し、ゲーム装置は、第2ゲーム画像を表示装置へ出力する画像出力部をさらに備えてもよい。
【0016】
また、第1操作装置は、オブジェクト制御部、仮想カメラ制御部およびゲーム画像生成部を備えた携帯ゲーム機であってもよい。
【0017】
第2の構成例は、コンピュータによって実行されるゲーム処理方法であって、オブジェクト制御ステップと、仮想カメラ制御ステップと、ゲーム画像生成ステップとを備えるゲーム処理方法である。オブジェクト制御ステップでは、コンピュータが、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御ステップでは、コンピュータが、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成ステップでは、コンピュータが、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御ステップは、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御ステップを含む。
【0018】
第3の構成例は、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部とを備えたゲーム装置である。オブジェクト制御部は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0019】
第4の構成例は、複数の方向入力部と、オブジェクト制御部と、仮想カメラ制御部と、ゲーム画像生成部と、第1表示部とを備えたゲーム装置である。オブジェクト制御部は、複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御部は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成部は、第1仮想カメラに基づいて第1ゲーム画像を生成する。第1表示部は、第1ゲーム画像を表示する。仮想カメラ制御部は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御部を含む。
【0020】
第5の構成例は、コンピュータを、オブジェクト制御手段、仮想カメラ制御手段、およびゲーム画像生成手段として機能させるゲームプログラムである。オブジェクト制御手段は、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させる。仮想カメラ制御手段は、仮想空間における複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する。ゲーム画像生成手段は、第1仮想カメラに基づいて第1ゲーム画像を生成する。仮想カメラ制御手段は、第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における複数の第1オブジェクトの位置に応じて第1仮想カメラを回転させる回転制御手段を含む。
【発明の効果】
【0021】
本発明によれば、どの方向入力部がどのオブジェクトに対応しているのかが分かりやすくなる。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態に係るゲームシステム1の一例を示す外観図
【図2】図1のゲーム装置本体5の一例を示す機能ブロック図
【図3】図1の端末装置6の外観構成の一例を示す図
【図4】ユーザが端末装置6を把持した様子の一例を示す図
【図5】図3の端末装置6の内部構成の一例を示すブロック図
【図6】或る時点における仮想空間を示す図
【図7】端末用ゲーム画像の一例を示す図
【図8】モニタ用ゲーム画像の一例を示す図
【図9】他の時点における仮想空間を示す図
【図10】端末用ゲーム画像の一例を示す図
【図11】さらに他の時点における仮想空間を示す図
【図12】端末用ゲーム画像の一例を示す図
【図13】端末用ゲーム画像の比較例を示す図
【図14】外部メインメモリ12に記憶される各種データの一例を示す図
【図15】ゲーム処理の流れを示すフローチャート
【図16】仮想カメラVC1制御処理の詳細を示すフローチャート
【図17】仮想カメラの位置および姿勢の定義方法の一例を示す図
【図18】目標方位角θtargetの決定方法を示す図
【図19】キャラクタ距離Dと変数f(D)の対応関係の一例を示す図
【図20】変形例に係るゲームシステムを示す外観図
【図21】他の変形例に係るゲームシステムを示す外観図
【発明を実施するための形態】
【0023】
図1を参照して、本発明の一実施形態に係るゲームシステムについて説明する。
【0024】
図1において、ゲームシステム1は、家庭用テレビジョン受像機(以下、モニタと記載する)2と、モニタ2に接続コードを介して接続する据置型のゲーム装置3とから構成される。モニタ2は、スピーカ2aを備える。また、ゲーム装置3は、光ディスク4と、ゲーム装置本体5と、端末装置6と、コントローラ7a〜7d(以下、特にこれらのコントローラ7a〜7dを区別して説明する必要が無い場合には、単にコントローラ7と記す)とを含む。
【0025】
光ディスク4には、ゲーム装置本体5において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。
【0026】
モニタ2は、ゲーム装置本体5から出力されるゲーム画像を表示する。モニタ2はスピーカ2aを有しており、スピーカ2aは、ゲーム装置本体5から出力されるゲーム音声を出力する。
【0027】
ゲーム装置本体5は、光ディスク4に記憶されたゲームプログラム等に基づいてゲーム処理等を実行する。
【0028】
コントローラ7には、複数の操作部(操作ボタン)が設けられている。そして、コントローラ7は、操作部に対する入力状態(各操作ボタンが押下されたか否か)を示す操作データ(コントローラ操作データ)を例えばBluetooth(登録商標)の技術を用いてゲーム装置本体5に送信する。
【0029】
また、コントローラ7には、モニタ2の表示画面近傍(図1では画面の上側)に設けられた2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rを有するマーカ8を撮像するための撮像部と、当該撮像部によって撮像された画像内におけるマーカの位置を算出する撮像情報演算部が設けられている。撮像情報演算部によって算出されたマーカの位置は、マーカ座標データとしてゲーム装置本体5に送信される。ゲーム装置本体5では、当該マーカ座標データに基づいて、コントローラ7の動きや位置や姿勢等を算出することができる。
【0030】
さらに、コントローラ7には、加速度センサおよびジャイロセンサが設けられている。加速度センサによって検出された加速度を示す加速度データと、ジャイロセンサによって検出された角速度を示す角速度データは、ゲーム装置本体5に送信される。ゲーム装置本体5では、当該加速度データおよび/または角速度データに基づいて、コントローラ7の向きや動きを算出することができる。
【0031】
端末装置6は、ユーザが把持可能な程度の大きさであり、ユーザは端末装置6を手に持って動かしたり、あるいは、端末装置6を自由な位置に配置したりして使用することが可能な可搬型の装置である。詳細な構成は後述するが、端末装置6は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)61、および入力手段(後述するタッチパネル62やジャイロセンサ604等)を備える。端末装置6とゲーム装置本体5とは無線(有線であってもよい)によって通信可能である。端末装置6は、ゲーム装置本体5で生成された画像(例えばゲーム画像)のデータをゲーム装置本体5から受信し、当該データが示す画像をLCD61に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置6は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置6は、ゲーム装置本体5へ、自機に対して行われた操作の内容を表す操作データを送信する。
【0032】
次に、図2を参照して、ゲーム装置本体5の内部構成について説明する。図2は、ゲーム装置本体5の構成の一例を示すブロック図である。ゲーム装置本体5は、CPU(Central Processing Unit)10、システムLSI(Large Scale Integration)11、外部メインメモリ12、ROM/RTC(Read Only Memory/Real Time Clock)13、ディスクドライブ14、およびAV−IC(Audio Video−Integrated Circuit)15等を有する。
【0033】
システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15が接続される。揮発性の外部メインメモリ12は、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置本体5の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ35または外部メインメモリ12に読み出したデータを書き込む。
【0034】
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)31、GPU(Graphics Processor Unit)32、DSP(Digital Signal Processor)33、VRAM(Video RAM)34、および内部メインメモリ35が設けられる。
【0035】
GPU32は、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。なお、本実施形態においては、ゲーム装置本体5は、モニタ2に表示するゲーム画像と、端末装置6に表示するゲーム画像との両方を生成することがある。以下では、モニタ2に表示されるゲーム画像を「モニタ用ゲーム画像」と呼び、端末装置6に表示されるゲーム画像を「端末用ゲーム画像」と呼ぶことがある。
【0036】
DSP33は、オーディオプロセッサとして機能し、内部メインメモリ35や外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、ゲーム音声についてもゲーム画像と同様、モニタ2のスピーカ2aから出力するゲーム音声と、端末装置6のスピーカから出力するゲーム音声との両方が生成されることがある。以下では、モニタ2から出力されるゲーム音声を「モニタ用ゲーム音声」と呼び、端末装置6から出力されるゲーム音声を「端末用ゲーム音声」と呼ぶことがある。
【0037】
上記のようにゲーム装置本体5において生成される画像および音声のうち、モニタ2に出力される画像データおよび音声のデータは、AV−IC15によって読み出される。AV−IC15は、AVコネクタ16を介して、読み出した画像データをモニタ2に出力するとともに、読み出した音声データをモニタ2に内蔵されるスピーカ2aに出力する。これによって、モニタ2に画像が表示されるとともにスピーカ2aから音が出力される。
【0038】
また、ゲーム装置本体5において生成される画像および音声のうち、端末装置6に出力される画像データおよび音声のデータは、入出力プロセッサ31等によって端末装置6へ送信される。入出力プロセッサ31等による端末装置6へのデータの送信については後述する。
【0039】
入出力プロセッサ31は、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ31は、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。コーデックLSI27は端末通信モジュール28に接続される。
【0040】
ゲーム装置本体5は、インターネット等のネットワークに接続して外部情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ31は、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに接続し、ネットワークに接続される外部情報処理装置と通信することができる。フラッシュメモリ17には、ゲーム装置本体5と外部情報処理装置との間で送受信されるデータの他、ゲーム装置本体5を利用してプレイしたゲームのセーブデータ(処理の結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17には、ゲームプログラム等のプログラムが記憶されてもよい。
【0041】
また、ゲーム装置本体5は、コントローラ7からの操作データを受信することが可能である。すなわち、入出力プロセッサ31は、アンテナ23およびコントローラ通信モジュール19を介して、コントローラ7から送信される操作データ等を受信し、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0042】
また、ゲーム装置本体5は、端末装置6との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ31は、GPU32が生成したゲーム画像(端末用ゲーム画像)のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ31からの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置6との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置6へ送信される。なお、本実施形態では、ゲーム装置本体5から端末装置6へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置本体5から端末装置6への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置6との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【0043】
また、ゲーム装置本体5は、画像データの他、音声データを端末装置6へ送信する。すなわち、入出力プロセッサ31は、DSP33が生成した音声データ(端末用ゲーム音声)を、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置6へ送信する。
【0044】
さらに、ゲーム装置本体5は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置6へ送信する。制御データは、端末装置6が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(図5に示すマーカ部65)の点灯を制御する指示や、カメラ(図5に示すカメラ66)の撮像を制御する指示等を表す。入出力プロセッサ31は、CPU10の指示に応じて制御データを端末装置6へ送信する。
【0045】
また、ゲーム装置本体5は、端末装置6から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置6は、操作データ、画像データ、および音声データを送信する。端末装置6から送信される各データは、アンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置6からの画像データおよび音声データは、ゲーム装置本体5から端末装置6への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ31に出力される。操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ31に出力される。入出力プロセッサ31は、端末装置6から受信したデータを、内部メインメモリ35または外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0046】
また、ゲーム装置本体5は、拡張コネクタ20やメモリカード用コネクタ21を介して、他の機器や外部記憶媒体に接続することが可能である。
【0047】
ゲーム装置本体5(例えば、前部主面)には、電源ボタン24、リセットボタン25、光ディスク4を脱着する投入口、およびゲーム装置本体5の投入口から光ディスク4を取り出すイジェクトボタン26等が設けられている。
【0048】
なお、他の実施形態においては、ゲーム装置本体5が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置本体5とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば拡張コネクタ20を介してゲーム装置本体5と接続されるようにしてもよい。具体的には、拡張機器は、例えばコーデックLSI27、端末通信モジュール28、およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置本体に対して上記拡張機器を接続することによって、当該ゲーム装置本体を端末装置6と通信可能な構成とすることができる。
【0049】
次に、図3〜図5を参照して、端末装置6の構成について説明する。なお、図3は、端末装置6の外観構成の一例を示す図である。図3の(a)部は端末装置6の正面図であり、(b)部は上面図であり、(c)部は右側面図であり、(d)部は下面図である。図4は、ユーザが端末装置6を把持した様子の一例を示す図である。
【0050】
図3に示されるように、端末装置6は、大略的には横長の長方形の板状形状であるハウジング60を備える。ハウジング60は、ユーザが把持することができる程度の大きさである。
【0051】
端末装置6は、ハウジング60の表面にLCD61を有する。LCD61は、ハウジング60の表面の中央付近に設けられる。したがって、ユーザは、図4に示すようにLCD61の両側部分のハウジング60を持つことによって、LCD61の画面を見ながら端末装置6を持って動かすことができる。
【0052】
図3の(a)部に示すように、端末装置6は、操作手段として、LCD61の画面上にタッチパネル62を有する。本実施形態では、タッチパネル62は、抵抗膜方式のタッチパネルである。ただし、タッチパネル62は、抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル62は、シングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル62として、LCD61の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル62の解像度とLCD61の解像度とが一致している必要はない。このように、端末装置6がタッチパネル62を備えているため、ユーザは、端末装置6を動かしながらタッチパネル62を操作することができる。つまり、ユーザは、LCD61の画面を動かしつつ、その画面に対して直接(タッチパネル62によって)入力を行うことができる。
【0053】
図3に示すように、端末装置6は、操作手段として、2つのアナログスティック63Aおよび63Bと、複数の操作ボタン64A〜64Lとを備えている。各アナログスティック63Aおよび63Bは、方向を指示するデバイスである。各アナログスティック63Aおよび63Bは、ユーザの指で操作されるスティック部がハウジング60の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドまたは傾倒することができるように構成されている。
【0054】
各操作ボタン64A〜64Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン64Aは、方向指示操作や選択操作等に用いられてもよいし、各操作ボタン64E〜64Hは、決定操作やキャンセル操作等に用いられてもよい。
【0055】
図3の(a)部に示すように、端末装置6は、マーカ65Aおよびマーカ65Bからなるマーカ部(図5に示すマーカ部65)をハウジング60の表面に備えている。マーカ65Aおよびマーカ65Bは、それぞれ1以上の赤外LEDで構成される。マーカ部65は、上述したマーカ8と同様、マーカ部65に対するコントローラ7の動き等をゲーム装置本体5が算出するために用いられる。また、ゲーム装置本体5は、マーカ部65が備える各赤外LEDの点灯を制御することが可能である。
【0056】
端末装置6は、カメラ66を備えている。カメラ66は、ハウジング60の表面に設けられる。したがって、カメラ66は、端末装置6を持っているユーザの顔を撮像することができ、一例としてLCD61を見ながらゲームを行っている状態におけるユーザを撮像することができる。
【0057】
なお、端末装置6は、音声入力手段であるマイク(図5に示すマイク609)を備えている。マイク609は、マイクロフォン用孔60bの内側となるハウジング60内部に設けられる。マイク609は、ユーザの音声等、端末装置6の周囲の音を検出する。
【0058】
端末装置6は、スピーカ(図5に示すスピーカ607)を備えている。スピーカ607の出力音は、ハウジング60の下側側面に設けられたスピーカ孔60aから出力される。
【0059】
また、端末装置6は、他の装置を端末装置6に接続するための拡張コネクタ67を備えている。
【0060】
なお、図3に示した端末装置6に関して、各操作ボタンやハウジング60の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【0061】
次に、図5を参照して、端末装置6の内部構成について説明する。図5は、端末装置6の内部構成の一例を示すブロック図である。図5に示すように、端末装置6は、図3に示した構成の他、タッチパネルコントローラ601、磁気センサ602、加速度センサ603、ジャイロセンサ604、ユーザインタフェースコントローラ(UIコントローラ)605、コーデックLSI606、スピーカ607、サウンドIC608、マイク609、無線モジュール610、アンテナ611、赤外線通信モジュール612、フラッシュメモリ613、電源IC614、電池615、およびバイブレータ619を備える。これらの電子部品は、電子回路基板上に実装されてハウジング60内に収納される。
【0062】
UIコントローラ605は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ605は、タッチパネルコントローラ601、アナログスティック63(アナログスティック63Aおよび63B)、操作ボタン64(各操作ボタン64A〜64L)、マーカ部65、磁気センサ602、加速度センサ603、ジャイロセンサ604、およびバイブレータ619に接続される。また、UIコントローラ605は、コーデックLSI606と拡張コネクタ67とに接続される。また、UIコントローラ605には電源IC614が接続され、UIコントローラ605を介して各部に電力が供給される。電源IC614には内蔵の電池615が接続され、電力が供給される。また、電源IC614には、コネクタ等を介して外部電源から電力を取得可能な充電器616またはケーブルを接続することが可能であり、端末装置6は、充電器616またはケーブルを用いて外部電源からの電力供給と充電とを行うことができる。
【0063】
タッチパネルコントローラ601は、タッチパネル62に接続され、タッチパネル62の制御を行う回路である。タッチパネルコントローラ601は、タッチパネル62からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ605へ出力する。タッチ位置データは、タッチパネル62の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ601は、タッチパネル62からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ605からタッチパネルコントローラ601へは、各種の制御指示が出力される。
【0064】
アナログスティック63は、スティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ605へ出力する。また、操作ボタン64は、各操作ボタン64A〜64Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ605へ出力する。
【0065】
磁気センサ602は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ605へ出力される。また、UIコントローラ605から磁気センサ602へは、磁気センサ602に対する制御指示が出力される。磁気センサ602に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。
【0066】
加速度センサ603は、ハウジング60の内部に設けられ、3軸(図3の(a)部に示すxyz軸)方向に沿った直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ605へ出力される。また、UIコントローラ605から加速度センサ603へは、加速度センサ603に対する制御指示が出力される。
【0067】
ジャイロセンサ604は、ハウジング60の内部に設けられ、上記x軸、y軸、およびz軸の3軸周りの角速度をそれぞれ検出する。検出された角速度を表す角速度データは、UIコントローラ605へ出力される。また、UIコントローラ605からジャイロセンサ604へは、ジャイロセンサ604に対する制御指示が出力される。
【0068】
バイブレータ619は、例えば振動モータやソレノイドであり、UIコントローラ605からバイブレータ619へ出力される制御指示に応じて、バイブレータ619が作動することによって端末装置6に振動が発生する。
【0069】
UIコントローラ605は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データ(以下、端末操作データと称す)をコーデックLSI606に出力する。
【0070】
コーデックLSI606は、ゲーム装置本体5へ送信するデータに対する圧縮処理、およびゲーム装置本体5から送信されたデータに対する伸張処理を行う回路である。コーデックLSI606には、LCD61、カメラ66、サウンドIC608、無線モジュール610、フラッシュメモリ613、および赤外線通信モジュール612が接続される。また、コーデックLSI606は、CPU617と内部メモリ618とを含む。例えば、端末装置6は、ゲーム処理自体を行わない構成であるが、端末装置6の管理や通信のための最小限のプログラムを実行する必要がある。一例として、電源投入時にフラッシュメモリ613に格納されたプログラムを内部メモリ618に読み出してCPU617が実行することで、端末装置6が起動する。また、内部メモリ618の一部の領域は、LCD61のためのVRAMとして使用される。
【0071】
カメラ66は、ゲーム装置本体5からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI606へ出力する。また、コーデックLSI606からカメラ66へは、画像の撮像指示等、カメラ66に対する制御指示が出力される。なお、カメラ66は、動画の撮影も可能である。すなわち、カメラ66は、繰り返し撮像を行って画像データをコーデックLSI606へ繰り返し出力することも可能である。
【0072】
サウンドIC608は、スピーカ607およびマイク609への音声データの入出力を制御する回路である。
【0073】
コーデックLSI606は、カメラ66からの画像データ、マイク609からの音声データ、およびUIコントローラ605からの端末操作データを、無線モジュール610を介してゲーム装置本体5へ送信する。本実施形態では、コーデックLSI606は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。圧縮された画像データおよび音声データと、端末操作データとは、送信データとして無線モジュール610に出力される。無線モジュール610にはアンテナ611が接続されており、無線モジュール610はアンテナ611を介してゲーム装置本体5へ上記送信データを送信する。無線モジュール610は、ゲーム装置本体5の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール610は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。
【0074】
以上のように、端末装置6からゲーム装置本体5へ送信される送信データには、端末操作データ、画像データ、および音声データが含まれる。なお、拡張コネクタ67を介して端末装置6に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール612は、他の装置との間で例えばIRDAの規格に従った赤外線通信を行う。コーデックLSI606は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置本体5へ送信してもよい。
【0075】
また、上述のように、ゲーム装置本体5から端末装置6へは、圧縮された画像データおよび音声データが送信される。これらのデータは、アンテナ611および無線モジュール610を介してコーデックLSI606で受信される。コーデックLSI606は、受信した画像データおよび音声データを伸張する。伸張された画像データは、LCD61へ出力され、当該画像データに応じた画像がLCD61に表示される。また、伸張された音声データは、サウンドIC608へ出力され、当該音声データに応じた音がスピーカ607から出力される。
【0076】
また、ゲーム装置本体5から受信されるデータに制御データが含まれる場合、コーデックLSI606およびUIコントローラ605は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置6が備える各構成要素(本実施形態では、カメラ66、タッチパネルコントローラ601、マーカ部65、各センサ602〜604、バイブレータ619、および赤外線通信モジュール612)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置6からゲーム装置本体5へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。
【0077】
次に、図6〜図12を参照して、本実施形態のゲームシステム1において実行されるゲーム処理の概要を説明する。
【0078】
ゲームシステム1では、コントローラ7a〜7dおよび端末装置6を用いて、複数のプレイヤが一緒にゲームをプレイすることができる(図8参照)。ここでは、プレイヤA、プレイヤB、プレイヤC、プレイヤD、プレイヤUの5人のプレイヤが一緒にゲームをプレイする場合について説明する。
【0079】
図6は、ゲームで用いられる仮想空間の様子を示している。仮想空間のゲームフィールド上には、6体のプレイヤキャラクタPCa〜PCd,PCl,PCrと、複数の障害物が配置されている。また、ゲームフィールド上には、図示しない果物も配置されている。
【0080】
プレイヤキャラクタPCa〜PCdは、それぞれ、コントローラ7a〜7dに対応付けられている。ここでは、プレイヤAは、コントローラ7aに設けられた十字ボタンを操作してプレイヤキャラクタPCaを移動させ、プレイヤBは、コントローラ7bに設けられた十字ボタンを操作してプレイヤキャラクタPCbを移動させ、プレイヤCは、コントローラ7cに設けられた十字ボタンを操作してプレイヤキャラクタPCcを移動させ、プレイヤDは、コントローラ7dに設けられた十字ボタンを操作してプレイヤキャラクタPCdを移動させるものとする。
【0081】
プレイヤキャラクタPClは、端末装置6のアナログスティック63Aに対応付けられており、プレイヤキャラクタPCrは、端末装置6のアナログスティック63Bに対応付けられている。ここでは、プレイヤUは、端末装置6に設けられた2つの方向入力部(アナログスティック63A,63B)を操作して2体のプレイヤキャラクタPCl,PCrを移動させるものとする。
【0082】
プレイヤA〜Dの目的は、プレイヤキャラクタPCa〜PCdを移動させて、ゲームフィールド上に配置されている果物(図示されない)を規定数集めることである。プレイヤUの目的は、プレイヤキャラクタPCl,PCrを移動させて、他のプレイヤキャラクタPCa〜PCdを3回以上捕まえることである。すなわち、プレイヤA〜Dが果物を規定数集めればプレイヤA〜Dの勝利となり、プレイヤA〜Dが果物を規定数集めるよりも先にプレイヤUがプレイヤキャラクタPCa〜PCdを3回以上捕まえればプレイヤUの勝利となる。
【0083】
なお、プレイヤキャラクタPCa〜PCdとプレイヤキャラクタPCl,PCrは、移動速度がほぼ同じに設定されている。よって、プレイヤキャラクタPCl,PCrの一方だけでプレイヤキャラクタPCa〜PCdを追いかけたとしても、プレイヤキャラクタPCa〜PCdを捕まえることは困難であり、多くの時間を要してしまう。しかしながら、2体のプレイヤキャラクタPCl,PCrでプレイヤキャラクタPCa〜PCdを挟み撃ちするように2体のプレイヤキャラクタPCl,PCrを同時に移動させることによって、プレイヤキャラクタPCa〜PCdを効率良く捕まえることが可能となる。
【0084】
図7は、プレイヤキャラクタPCa〜PCd,PCl,PCrが図6に示す位置にいるときに端末装置6のLCD61に表示されるゲーム画像(端末用ゲーム画像)を示している。端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される(逆に言うと、プレイヤキャラクタPCrは、プレイヤキャラクタPClの表示位置に対して右側に表示される)。プレイヤUは、端末用ゲーム画像を見ながらアナログスティック63A,63Bを操作して、プレイヤキャラクタPCl,PCrを移動させる。
【0085】
前述のように、プレイヤキャラクタPClはアナログスティック63Aに対応付けられており、プレイヤキャラクタPCrはアナログスティック63Bに対応付けられている。よって、上記のように、端末用ゲーム画像において、プレイヤキャラクタPClが、プレイヤキャラクタPCrの表示位置に対して左側に表示される結果、プレイヤUは、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0086】
図8は、プレイヤキャラクタPCa〜PCd,PCl,PCrが図6に示す位置にいるときにモニタ2に表示されるゲーム画像(モニタ用ゲーム画像)を示している。本実施形態では、モニタ用ゲーム画像はプレイヤA〜D用の4つのサブ画像で構成される。画面の左上領域にはプレイヤA用のサブ画像が、画面の右上領域にはプレイヤB用のサブ画像が、画面の左下領域にはプレイヤC用のサブ画像が、画面の右下領域にはプレイヤD用のサブ画像が、それぞれ表示される。それぞれのサブ画像のほぼ中心には、対応するプレイヤキャラクタPCa〜PCdがそれぞれ表示される。
【0087】
図6の時点からゲームが進行して、プレイヤキャラクタPCa〜PCd,PCl,PCrが図9に示す位置に移動すると、端末装置6のLCD61には、図10に示すような端末用ゲーム画像が表示される。図10においても、端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される。このような表示は、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって実現される。仮想カメラの制御方法については後ほど詳細に説明する。
【0088】
図9の時点からゲームがさらに進行して、プレイヤキャラクタPCa〜PCd,PCl,PCrが図11に示す位置に移動すると、端末装置6のLCD61には、図12に示すような端末用ゲーム画像が表示される。図12においても、端末用ゲーム画像には、プレイヤキャラクタPCl,PCrの中間地点が画面のほぼ中心となるように、プレイヤキャラクタPCl,PCrが表示される。そして、端末用ゲーム画像において、プレイヤキャラクタPClは、プレイヤキャラクタPCrの表示位置に対して左側に表示される。
【0089】
このように、本実施形態では、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって、プレイヤキャラクタPCl,PCrの位置によらず、端末用ゲーム画像において、プレイヤキャラクタPClが、プレイヤキャラクタPCrの表示位置に対して左側に表示される。すなわち、プレイヤキャラクタPCl,PCrが任意の場所へ移動しても、LCD61の左側に設けられたアナログスティック63Aに対応するプレイヤキャラクタPClが、画面左端により近い位置に表示され、LCD61の右側に設けられたアナログスティック63Bに対応するプレイヤキャラクタPCrが、画面右端により近い位置に表示される。よって、プレイヤUは、プレイヤキャラクタPCl,PCrが任意の場所へ移動しても、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0090】
なお、図13は、本実施形態の効果を説明するための比較例として、図11の状況に対応する、仮想カメラを回転させない場合の端末用ゲーム画像を示している。図13の端末用ゲーム画像では、LCD61の左側に設けられたアナログスティック63Aに対応するプレイヤキャラクタPClが、画面右端により近い位置に表示され、LCD61の右側に設けられたアナログスティック63Bに対応するプレイヤキャラクタPCrが、画面左端により近い位置に表示されている。よって、プレイヤUは、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係を直感的に把握することができないため、これらのプレイヤキャラクタPCl,PCrを所望の場所へ移動させることが困難になる。これに対して、本実施形態によれば、プレイヤキャラクタPCl,PCrの移動に応じて仮想カメラを回転させることによって、操作性を向上させることができる。
【0091】
次に、図14〜図19を参照して、上記ゲームを実現するためのゲームシステム1の動作について詳細に説明する。
【0092】
図14は、上記ゲームを実行するときにゲーム装置本体5の外部メインメモリ12に記憶される各種データの一例を示している。
【0093】
ゲームプログラムD1は、ゲーム装置本体5のCPU10に、上記ゲームを実現するためのゲーム処理を実行させるためのプログラムである。ゲームプログラムD1は、例えば、光ディスク4から外部メインメモリ12にロードされる。
【0094】
ゲームフィールドデータD2は、ゲームフィールド、およびゲームフィールド上に配置される障害物の形状や模様を示すデータである。
【0095】
プレイヤキャラクタデータD3は、プレイキャラクタPCa〜PCd,PCl,PCrに関するデータであって、各プレイヤキャラクタの形状、模様、位置、姿勢等を示すデータである。
【0096】
仮想カメラデータD4は、ゲーム画像を生成するために用いられる仮想カメラ(端末用ゲーム画像を生成するための仮想カメラVC1、および、モニタ用ゲーム画像を構成する4つのサブ画像を生成するための仮想カメラVC2a〜VC2d)に関するデータであって、各仮想カメラの位置、姿勢、画角等を示すデータである。なお、仮想カメラの位置および姿勢は、例えば、後述するように、注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dによって表されてもよい(図17)。
【0097】
操作データD5は、端末装置6およびコントローラ7a〜7dのそれぞれから周期的に送信される操作データである。
【0098】
次に、図15および図16のフローチャートを参照して、ゲームプログラムD1に基づいてゲーム装置本体5のCPU10によって実行されるゲーム処理の流れを説明する。
【0099】
ゲームプログラムD1の実行が開始されると、まず図15のステップS10において、CPU10は、初期設定を行う。当該初期設定では、プレイヤキャラクタPCa〜PCd,PCl,PCrを仮想空間の初期位置に配置する処理などが行われる。
【0100】
ステップS11において、CPU10は、端末装置6およびコントローラ7a〜7dから操作データD5を取得する。
【0101】
ステップS12において、CPU10は、操作データD5に基づいて、仮想空間におけるプレイヤキャラクタPCa〜PCd,PCl,PCrの位置を更新する(すなわち、プレイヤキャラクタデータD3を更新する)。具体的には、CPU10は、端末装置6のアナログスティック63Aを通じて入力された方向に応じた方向へプレイヤキャラクタPClを移動させる。例えば、アナログスティック63Aのスティック部が右方向へスライドまたは傾倒された場合には、ゲームフィールド上を画面右方向へ向かって移動するようにプレイヤキャラクタPClを移動させる。同様に、CPU10は、端末装置6のアナログスティック63Bを通じて入力された方向に応じた方向へプレイヤキャラクタPCrを移動させる。さらに、CPU10は、コントローラ7aの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCaを移動させ、コントローラ7bの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCbを移動させ、コントローラ7cの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCcを移動させ、コントローラ7dの十字ボタンを通じて入力された方向に応じた方向へプレイヤキャラクタPCdを移動させる。
【0102】
ステップS13において、CPU10は、仮想カメラVC1制御処理を行う。仮想カメラVC1制御処理は、端末用ゲーム画像を生成するための仮想カメラVC1の位置および姿勢を決定する(すなわち、仮想カメラデータD4を更新する)ための処理である。以下、図16のフローチャートを参照して、仮想カメラVC1制御処理の詳細を説明する。なお、本実施形態では、図17に示すように、注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dを計算することによって、仮想カメラVC1の位置および姿勢が決定される。
【0103】
図16のステップS20において、CPU10は、注視点Pの座標値を計算する。注視点Pは、好ましくは、プレイヤキャラクタPClの位置とプレイヤキャラクタPCrの位置の中間地点に設定される。
【0104】
ステップS21において、CPU10は、カメラ距離dを計算する。カメラ距離dは、仮想カメラから注視点Pまでの距離である。カメラ距離dは、好ましくは、プレイヤキャラクタPCl,PCrが互いに離れてもプレイヤキャラクタPCl,PCrの両方が画面に表示されるように、プレイヤキャラクタPCl,PCr間の距離(後述するキャラクタ距離D)が大きくなるほど大きい値に設定される。なお、プレイヤキャラクタPCl,PCrが互いに離れてもプレイヤキャラクタPCl,PCrの両方が画面に表示されるようにするための他の手法として、プレイヤキャラクタPCl,PCr間の距離が大きくなるほど、仮想カメラの画角を広くしてもよい。
【0105】
ステップS22において、CPU10は、仰俯角φを計算する。仰俯角φは、仮想カメラの視線方向(仮想カメラと注視点とを結ぶ直線)とXY平面(すなわち、仮想世界における水平面、またはゲームフィールド)とのなす角度である。仰俯角φは、例えば0°よりも大きく且つ90°よりも小さい値に設定され、好ましくは、プレイヤキャラクタPCl,PCr間の距離(キャラクタ距離D)が大きくなるほど大きい値に設定される。
【0106】
ステップS23において、CPU10は、プレイヤキャラクタPCl,PCrを同時に操作中か否かを判断する。具体的には、CPU10は、操作データD5に含まれる端末装置6の操作データを参照して、アナログスティック63A,63Bの両方から方向が入力されている場合には、プレイヤキャラクタPCl,PCrを同時に操作中であると判断し、そうでない場合(例えば、アナログスティック63A,63Bの一方からしか方向が入力されていない場合)には、プレイヤキャラクタPCl,PCrを同時に操作中ではないと判断する。そして、プレイヤキャラクタPCl,PCrを同時に操作中であると判断された場合には処理はステップS24へと進み、そうでない場合には処理は図15のステップS14へと進む。
【0107】
ステップS24において、CPU10は、目標方位角θtargetを計算する。なお、本実施形態では、仮想カメラVC1の方位角θの急激な変化を避けるために、仮想カメラVC1の方位角θを、目標方位角θtargetへと段階的に近づける手法を採用している。方位角θは、仮想カメラの視線方向(仮想カメラと注視点とを結ぶ直線)をXY平面に投影することによってできた直線と、YZ平面(すなわち、仮想世界における鉛直面)とのなす角度である。目標方位角θtargetは、プレイヤキャラクタPCl,PCrの位置に応じて計算される。具体的には、CPU10は、例えば図18に示すように、プレイヤキャラクタPCl,PCr間を結ぶ直線と、YZ平面とのなす角度をθcとすると、θtargetは、θc−90°となる。
【0108】
ステップS25において、CPU10は、下記の数式(1)のように、方位角θpre(直前フレームにおける仮想カメラVC1の方位角θ)と目標方位角θtargetと変数f(D)に応じて、仮想カメラVC1の方位角θを計算する。
θ=θpre+(θtarget−θpre)×f(D)・・・(1)
【0109】
変数f(D)は、プレイヤキャラクタPCl,PCr間の距離(図18に示すキャラクタ距離D)に応じて変化する変数であって、例えば図19に示すように、キャラクタ距離Dが0であるときにはV1(例えば0.01)となり、キャラクタ距離Dが0からDthに近づくにつれて0.01から0.05に近づき、キャラクタ距離DがDth(例えば100)以上であるときにはV2(例えば0.05)となる。
【0110】
上記数式(1)から明らかなように、f(D)は、方位角θが方位角θpreから目標方位角θtargetへと近づく比率を示している。例えば、f(D)が0.05であるときには、方位角preと目標方位角θtargetの差分の5%だけ、方位角θが方位角θpreから目標方位角θtargetへと近づく。同様に、f(D)が0.01であるときには、方位角preと目標方位角θtargetの差分の1%だけ、方位角θが方位角θpreから目標方位角θtargetへと近づく。
【0111】
図19に示すように、キャラクタ距離Dが小さいほど、f(D)は小さい値となるため、方位角θが方位角θpreから目標方位角θtargetへと近づく比率は小さくなる。これは、キャラクタ距離Dが小さい場合には、プレイヤキャラクタPCl,PCrの移動に伴ってプレイヤキャラクタPCl,PCrを結ぶ直線の方向が急激に変化し、その結果、目標方位角θtargetが急激に変化することがあるからである。目標方位角θtargetが急激に変化した場合に、仮に方位角θが方位角θpreから目標方位角θtargetへと近づく比率を大きくしていると、方位角θも急激に変化し、ユーザUから見てゲームフィールドが急激に回転するため、操作しづらくなってしまう。そこで、本実施形態では、キャラクタ距離Dが小さいほどf(D)を小さい値とすることで、このような問題を回避している。
【0112】
仮想カメラVC1制御処理が終了すると、処理は図15のステップS14へ進む。
【0113】
ステップS14において、CPU10は、仮想カメラVC1を用いて端末用ゲーム画像を生成する。例えば、ステップS13において決定された注視点Pの座標値、方位角θ、仰俯角φおよびカメラ距離dに基づいて、仮想カメラVC1に対応するビュー行列が生成され、当該ビュー行列を用いて仮想空間が描画される。端末用ゲーム画像の生成処理の一部または全部が、CPU10からの指示に応じてGPU32によって行われてもよい。生成された端末用ゲーム画像は、ゲーム装置本体5から端末装置6へと送信されて、LCD61に表示される。
【0114】
ステップS15において、CPU10は、モニタ用ゲーム画像を生成するための4つの仮想カメラVC2a〜VC2dの位置を決定する(すなわち、仮想カメラデータD4を更新する)。具体的には、プレイヤキャラクタPCaの位置に応じて、仮想カメラVC2aの視界のほぼ中央にプレイヤキャラクタPCaが位置するように、仮想カメラVC2aの位置を決定する。同様に、プレイヤキャラクタPCbの位置に応じて、仮想カメラVC2bの視界のほぼ中央にプレイヤキャラクタPCaが位置するように、仮想カメラVC2bの位置を決定する。同様に、プレイヤキャラクタPCcの位置に応じて仮想カメラVC2cの位置を決定し、プレイヤキャラクタPCdの位置に応じて仮想カメラVC2dの位置を決定する。なお、本実施形態では、仮想カメラVC2a〜VC2dの姿勢は固定(すなわち、仮想カメラVC2a〜VC2dの視線方向は一定方向)とする。
【0115】
ステップS16において、CPU10は、4つの仮想カメラVC2a〜VC2dを用いてモニタ用ゲーム画像を生成する。具体的には、仮想カメラVC2aを用いてプレイヤA用のサブ画像が生成され、仮想カメラVC2bを用いてプレイヤB用のサブ画像が生成され、仮想カメラVC2cを用いてプレイヤC用のサブ画像が生成され、仮想カメラVC2dを用いてプレイヤD用のサブ画像が生成される。そして、これらの4つのサブ画像が合成されて、モニタ用ゲーム画像が生成される。モニタ用ゲーム画像の生成処理の一部または全部が、CPU10からの指示に応じてGPU32によって行われてもよい。生成されたモニタ用ゲーム画像は、ゲーム装置本体5からモニタ2へと送信されて、モニタ2に表示される。
【0116】
ステップS17において、CPU10は、ゲームが終了したかどうかを判断する。そして、ゲームが終了していない場合には処理はステップS10に戻り、ゲームが終了した場合にはゲームプログラムD1の実行を終了する。
【0117】
以上のように、本実施形態によれば、端末用ゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラVC1が回転する(すなわち、仮想カメラVC1が注視点Pを通る鉛直線周りに回転する)。よって、端末用ゲーム画像において、プレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤUは、プレイヤキャラクタPClがアナログスティック63Aに対応し、プレイヤキャラクタPCrがアナログスティック63Bに対応していることを、直感的に容易に把握することができる。
【0118】
上記のような効果は、本実施形態のように、プレイヤキャラクタPCl,PCrがゲームフィールド上を任意の方向へ個別に(すなわち、互いに独立して)移動可能であり、プレイヤキャラクタPCl,PCrをゲームフィールドの上空から見下ろしたゲーム画像が表示されるようなゲームにおいて、特に顕著となる。なぜなら、このようなゲームでは、ゲームをプレイしている途中で、アナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係が分かりにくくなりがちだからである。
【0119】
また、本実施形態によれば、端末用ゲーム画像において、プレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤキャラクタPCl,PCrの位置に関わらず、プレイヤUは、アナログスティック63Aを右方向にスライドまたは傾倒し、アナログスティック63Bを左方向にスライドまたは傾倒することによって、プレイヤキャラクタPCl,PCrを近づけることができる。よって、2体のプレイヤキャラクタPCl,PCrを互いに近づける操作が容易となるため、プレイヤUは、2体のプレイヤキャラクタPCl,PCrでプレイヤキャラクタPCa〜PCdを挟み撃ちしてプレイヤキャラクタPCa〜PCdを効率良く捕まえることが可能となる。
【0120】
また、本実施形態によれば、プレイヤキャラクタPCl,PCrを同時に操作中である場合には、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラVC1が回転するが、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1は回転しない。これは、プレイヤキャラクタPCl,PCrの一方のみを操作している間は、その途中でアナログスティック63A,63BとプレイヤキャラクタPCl,PCrとの対応関係が分からなくなる可能性は低いからである。
【0121】
また、プレイヤキャラクタPCl,PCrの一方のみを操作しているときに仮想カメラVC1が回転すると、端末用ゲーム画像において、操作中のプレイヤキャラクタの移動に応じてゲームフィールドが回転するため、当該プレイヤキャラクタを所望地点へ直線的に移動させることが困難になる可能性があるが、本実施形態のように、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1を回転しないようにすることで、このような問題を回避することができる。
【0122】
なお、上記実施形態は、あくまでも一実施形態に過ぎず、種々の変形例が考えられる。
【0123】
例えば、図1のようなゲームシステム1の代わりに、図20のような携帯ゲーム機91を用いてもよい。携帯ゲーム機91には、LCD91Sと、アナログスティック91A,91Bが設けられている。プレイヤは、アナログスティック91Aを用いてプレイヤキャラクタPClを移動させ、アナログスティック91Bを用いてプレイヤキャラクタPCrを移動させることができる。そして、LCD91Sに表示されるゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラが回転する。
【0124】
また例えば、図1のようなゲームシステム1の代わりに、図21のようなゲームシステムを用いてもよい。ゲーム装置本体に接続されたコントローラ92には、十字ボタン92Aとアナログスティック92Bが設けられている。プレイヤは、十字ボタン92Aを用いてプレイヤキャラクタPClを移動させ、アナログスティック92Bを用いてプレイヤキャラクタPCrを移動させることができる。そして、モニタに表示されるゲーム画像においてプレイヤキャラクタPCrがプレイヤキャラクタPClの表示位置に対して右側に表示されるように、プレイヤキャラクタPCl,PCrの位置に応じて仮想カメラが回転する。この場合でも、プレイヤの右手で操作されるアナログスティック92Bに対応するプレイヤキャラクタPCrが、プレイヤの左手で操作される十字ボタン92Aに対応するプレイヤキャラクタPClの表示位置に対して右側に表示されるので、プレイヤは、十字ボタン92Aおよびアナログスティック92Bと、プレイヤキャラクタPCl,PCrとの対応関係を、直感的に容易に把握することができる。
【0125】
また、上記実施形態では、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合には、仮想カメラVC1を回転させないようにしているが、他の実施形態では、プレイヤキャラクタPCl,PCrの一方のみが操作中である場合にも、仮想カメラVC1を回転させるようにしてもよい。
【0126】
また、上記実施形態では、仮想カメラVC1の方位角θを、目標方位角θtargetへと段階的に近づける手法を採用しているが、他の実施形態では、仮想カメラVC1の方位角θを、目標方位角θtargetに常に一致させるようにしてもよい。
【0127】
また、上記実施形態では、端末装置6を一人のプレイヤ(プレイヤU)が操作しているが、他の実施形態では、端末装置6を複数のプレイヤが操作するようにしてもよい。具体的には、或るプレイヤがアナログスティック63Aを操作してプレイヤキャラクタPClを移動させ、それと同時に別のプレイヤがアナログスティック63Bを操作してプレイヤキャラクタPCrを移動させるようにしてもよい。
【0128】
また、上記実施形態では、プレイヤUが、2つの方向入力部を用いて2体のプレイヤオブジェクトPCl,PCrを移動させているが、他の実施形態では、3つ以上の方向入力部を用いて3体のプレイヤオブジェクトを移動させるようにしてもよい。この場合には、3体以上のプレイヤオブジェクトの位置に応じて仮想カメラVC1を回転させればよい。
【0129】
また、上記実施形態では、LCD61の左側に設けられたアナログスティック63Aを用いてプレイヤキャラクタPClを移動させ、LCD61の右側に設けられたアナログスティック63Bを用いてプレイヤキャラクタPCrを移動させているが、他の実施形態では、表示部の上側に設けられた方向入力部を用いて或るプレイヤキャラクタ(以下、上側プレイヤキャラクタと称す)を移動させ、表示部の下側に設けられた方向入力部を用いて別のプレイヤキャラクタ(以下、下側プレイヤキャラクタと称す)を移動させるようにしてもよい。この場合には、表示部に表示されるゲーム画像において上側プレイヤキャラクタが下側プレイヤキャラクタの表示位置に対して上側に表示されるように、上側プレイヤキャラクタおよび下側プレイヤキャラクタの位置に応じて仮想カメラVC1を回転させればよい。
【0130】
また、上記実施形態では、図15および図16に示した複数の処理を1つのコンピュータ(CPU10)が実行しているが、他の実施形態では、これらの複数の処理を複数のコンピュータが分担して実行してもよい。さらに他の実施形態では、これらの複数の処理の一部を専用回路によって実現してもよい。
【0131】
また、上記実施形態では、図15および図16に示した複数の処理を1台の情報処理装置(ゲーム装置本体5)において実行しているが、他の実施形態では、これらの複数の処理を複数の情報処理装置(例えば、ゲーム装置本体5とサーバ装置、またはゲーム装置本体5と端末装置6)が分担して実行してもよい。
【0132】
また、上記実施形態では、光ディスク4からゲーム装置本体5へゲームプログラムD1が供給されているが、他の実施形態では、任意のコンピュータ読み取り可能な記憶媒体(例えば、CD−ROM、半導体メモリ等)からゲーム装置本体5へゲームプログラムD1が供給されてもよい。さらに他の実施形態では、ゲーム装置本体5内部の不揮発性メモリ(ROM/RTC13、フラッシュメモリ17)にゲームプログラムD1が予め格納されていてもよい。さらに他の実施形態では、他の情報処理装置(ゲーム装置やサーバ装置)からゲーム装置本体5へゲームプログラムD1が供給されてもよい。
【符号の説明】
【0133】
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
4…光ディスク
5…ゲーム装置本体
6…端末装置
60…ハウジング
61…LCD
62…タッチパネル
63…アナログスティック
64…操作ボタン
65…マーカ部
66…カメラ
67…拡張コネクタ
68…足部
7a〜7d…コントローラ
8(8L,8R)…マーカ
91…携帯ゲーム機
91A…アナログスティック
91B…アナログスティック
91S…LCD
92…コントローラ
92A…十字ボタン
92B…アナログスティック
PCa〜PCd,PCl,PCr…プレイヤキャラクタ
【特許請求の範囲】
【請求項1】
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、ゲームシステム。
【請求項2】
前記第1操作装置は第1表示部を備え、
前記第1ゲーム画像は前記第1表示部に表示され、
前記複数の方向入力部には、前記第1表示部の左側に設けられる第1方向入力部と、前記第1表示部の右側に設けられる第2方向入力部が含まれ、
前記オブジェクト制御部は、前記第1方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、前記第2方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの右オブジェクトを移動させ、
前記回転制御部は、前記第1ゲーム画像において前記右オブジェクトが前記左オブジェクトの表示位置に対して右側に表示されるように、前記第1仮想カメラを回転させる、請求項1記載のゲームシステム。
【請求項3】
前記回転制御部は、前記右オブジェクトと前記左オブジェクトの距離に応じて前記第1仮想カメラの回転速度を調整する、請求項2記載のゲームシステム。
【請求項4】
前記右オブジェクトと前記左オブジェクトが同時に移動しているか否かを判定する同時操作判定部をさらに備え、
前記回転制御部は、前記右オブジェクトと前記左オブジェクトが同時に移動しているときには前記第1仮想カメラを回転させ、前記右オブジェクトと前記左オブジェクトのいずれか一方のみが移動しているときには前記第1仮想カメラを回転させない、請求項2記載のゲームシステム。
【請求項5】
前記仮想カメラ制御部は、前記複数の第1オブジェクトが全て表示されるように前記仮想カメラの位置または画角を制御する、請求項1または2記載のゲームシステム。
【請求項6】
前記第1操作装置は、前記オブジェクト制御部、前記仮想カメラ制御部および前記ゲーム画像生成部を備えたゲーム装置から前記第1ゲーム画像を受信する受信部をさらに備える、請求項2記載のゲームシステム。
【請求項7】
前記オブジェクト制御部は、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、
前記ゲーム画像生成部は、1以上の第2仮想カメラに基づいて前記複数の第2オブジェクトを含む第2ゲーム画像を生成し、
前記ゲーム装置は、前記第2ゲーム画像を表示装置へ出力する画像出力部をさらに備える、請求項6記載のゲームシステム。
【請求項8】
前記第1操作装置は、前記オブジェクト制御部、前記仮想カメラ制御部および前記ゲーム画像生成部を備えた携帯ゲーム機である、請求項2記載のゲームシステム。
【請求項9】
コンピュータによって実行されるゲーム処理方法であって、
前記コンピュータが、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御ステップと、
前記コンピュータが、仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御ステップと、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成ステップとを備え、
前記仮想カメラ制御ステップは、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御ステップを含む、ゲーム処理方法。
【請求項10】
前記第1操作装置は第1表示部を備え、
前記第1ゲーム画像は前記第1表示部に表示され、
前記複数の方向入力部には、前記第1表示部の左側に設けられる第1方向入力部と、前記第1表示部の右側に設けられる第2方向入力部が含まれ、
前記オブジェクト制御ステップでは、前記第1方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、前記第2方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの右オブジェクトを移動させ、
前記回転制御ステップでは、前記第1ゲーム画像において前記右オブジェクトが前記左オブジェクトの表示位置に対して右側に表示されるように、前記第1仮想カメラを回転させる、請求項9記載のゲーム処理方法。
【請求項11】
前記回転制御ステップでは、前記右オブジェクトと前記左オブジェクトの距離に応じて前記第1仮想カメラの回転速度を調整する、請求項10記載のゲーム処理方法。
【請求項12】
前記コンピュータが、前記右オブジェクトと前記左オブジェクトが同時に移動しているか否かを判定する同時操作判定ステップをさらに備え、
前記回転制御ステップでは、前記右オブジェクトと前記左オブジェクトが同時に移動しているときには前記第1仮想カメラを回転させ、前記右オブジェクトと前記左オブジェクトのいずれか一方のみが移動しているときには前記第1仮想カメラを回転させない、請求項10記載のゲーム処理方法。
【請求項13】
前記仮想カメラ制御ステップでは、前記複数の第1オブジェクトが全て表示されるように前記仮想カメラの位置または画角を制御する、請求項9または10記載のゲーム処理方法。
【請求項14】
前記第1操作装置は、前記コンピュータを備えたゲーム装置から前記第1ゲーム画像を受信する受信部をさらに備える、請求項10記載のゲーム処理方法。
【請求項15】
前記オブジェクト制御ステップでは、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、
前記ゲーム画像生成ステップでは、1以上の第2仮想カメラに基づいて前記複数の第2オブジェクトを含む第2ゲーム画像を生成し、
前記ゲーム装置は、前記第2ゲーム画像を表示装置へ出力する画像出力部をさらに備える、請求項14記載のゲーム処理方法。
【請求項16】
前記第1操作装置は、前記コンピュータを備えた携帯ゲーム機である、請求項10記載のゲーム処理方法。
【請求項17】
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、ゲーム装置。
【請求項18】
複数の方向入力部と、
前記複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部と、
前記第1ゲーム画像を表示するための第1表示部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、携帯ゲーム機。
【請求項19】
コンピュータを、
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御手段、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御手段、および
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成手段として機能させ、
前記仮想カメラ制御手段は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御手段を含む、ゲームプログラム。
【請求項1】
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、ゲームシステム。
【請求項2】
前記第1操作装置は第1表示部を備え、
前記第1ゲーム画像は前記第1表示部に表示され、
前記複数の方向入力部には、前記第1表示部の左側に設けられる第1方向入力部と、前記第1表示部の右側に設けられる第2方向入力部が含まれ、
前記オブジェクト制御部は、前記第1方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、前記第2方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの右オブジェクトを移動させ、
前記回転制御部は、前記第1ゲーム画像において前記右オブジェクトが前記左オブジェクトの表示位置に対して右側に表示されるように、前記第1仮想カメラを回転させる、請求項1記載のゲームシステム。
【請求項3】
前記回転制御部は、前記右オブジェクトと前記左オブジェクトの距離に応じて前記第1仮想カメラの回転速度を調整する、請求項2記載のゲームシステム。
【請求項4】
前記右オブジェクトと前記左オブジェクトが同時に移動しているか否かを判定する同時操作判定部をさらに備え、
前記回転制御部は、前記右オブジェクトと前記左オブジェクトが同時に移動しているときには前記第1仮想カメラを回転させ、前記右オブジェクトと前記左オブジェクトのいずれか一方のみが移動しているときには前記第1仮想カメラを回転させない、請求項2記載のゲームシステム。
【請求項5】
前記仮想カメラ制御部は、前記複数の第1オブジェクトが全て表示されるように前記仮想カメラの位置または画角を制御する、請求項1または2記載のゲームシステム。
【請求項6】
前記第1操作装置は、前記オブジェクト制御部、前記仮想カメラ制御部および前記ゲーム画像生成部を備えたゲーム装置から前記第1ゲーム画像を受信する受信部をさらに備える、請求項2記載のゲームシステム。
【請求項7】
前記オブジェクト制御部は、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、
前記ゲーム画像生成部は、1以上の第2仮想カメラに基づいて前記複数の第2オブジェクトを含む第2ゲーム画像を生成し、
前記ゲーム装置は、前記第2ゲーム画像を表示装置へ出力する画像出力部をさらに備える、請求項6記載のゲームシステム。
【請求項8】
前記第1操作装置は、前記オブジェクト制御部、前記仮想カメラ制御部および前記ゲーム画像生成部を備えた携帯ゲーム機である、請求項2記載のゲームシステム。
【請求項9】
コンピュータによって実行されるゲーム処理方法であって、
前記コンピュータが、第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御ステップと、
前記コンピュータが、仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御ステップと、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成ステップとを備え、
前記仮想カメラ制御ステップは、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御ステップを含む、ゲーム処理方法。
【請求項10】
前記第1操作装置は第1表示部を備え、
前記第1ゲーム画像は前記第1表示部に表示され、
前記複数の方向入力部には、前記第1表示部の左側に設けられる第1方向入力部と、前記第1表示部の右側に設けられる第2方向入力部が含まれ、
前記オブジェクト制御ステップでは、前記第1方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの左オブジェクトを移動させるとともに、前記第2方向入力部を通じて入力される方向に応じて前記複数の第1オブジェクトのうちの右オブジェクトを移動させ、
前記回転制御ステップでは、前記第1ゲーム画像において前記右オブジェクトが前記左オブジェクトの表示位置に対して右側に表示されるように、前記第1仮想カメラを回転させる、請求項9記載のゲーム処理方法。
【請求項11】
前記回転制御ステップでは、前記右オブジェクトと前記左オブジェクトの距離に応じて前記第1仮想カメラの回転速度を調整する、請求項10記載のゲーム処理方法。
【請求項12】
前記コンピュータが、前記右オブジェクトと前記左オブジェクトが同時に移動しているか否かを判定する同時操作判定ステップをさらに備え、
前記回転制御ステップでは、前記右オブジェクトと前記左オブジェクトが同時に移動しているときには前記第1仮想カメラを回転させ、前記右オブジェクトと前記左オブジェクトのいずれか一方のみが移動しているときには前記第1仮想カメラを回転させない、請求項10記載のゲーム処理方法。
【請求項13】
前記仮想カメラ制御ステップでは、前記複数の第1オブジェクトが全て表示されるように前記仮想カメラの位置または画角を制御する、請求項9または10記載のゲーム処理方法。
【請求項14】
前記第1操作装置は、前記コンピュータを備えたゲーム装置から前記第1ゲーム画像を受信する受信部をさらに備える、請求項10記載のゲーム処理方法。
【請求項15】
前記オブジェクト制御ステップでは、複数の第2操作装置にそれぞれ対応付けられた仮想空間内の複数の第2オブジェクトを、対応する第2操作装置からの入力に応じて制御し、
前記ゲーム画像生成ステップでは、1以上の第2仮想カメラに基づいて前記複数の第2オブジェクトを含む第2ゲーム画像を生成し、
前記ゲーム装置は、前記第2ゲーム画像を表示装置へ出力する画像出力部をさらに備える、請求項14記載のゲーム処理方法。
【請求項16】
前記第1操作装置は、前記コンピュータを備えた携帯ゲーム機である、請求項10記載のゲーム処理方法。
【請求項17】
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、ゲーム装置。
【請求項18】
複数の方向入力部と、
前記複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御部と、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御部と、
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成部と、
前記第1ゲーム画像を表示するための第1表示部とを備え、
前記仮想カメラ制御部は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御部を含む、携帯ゲーム機。
【請求項19】
コンピュータを、
第1操作装置に設けられた複数の方向入力部にそれぞれ対応付けられた仮想空間内の複数の第1オブジェクトを、対応する方向入力部を通じて入力される方向に応じて個別に移動させるオブジェクト制御手段、
仮想空間における前記複数の第1オブジェクトの位置に応じて仮想空間内の第1仮想カメラを制御する仮想カメラ制御手段、および
前記第1仮想カメラに基づいて第1ゲーム画像を生成するゲーム画像生成手段として機能させ、
前記仮想カメラ制御手段は、前記第1ゲーム画像において或る第1オブジェクトが他の第1オブジェクトの表示位置に対して予め定められた側に表示されるように、仮想空間における前記複数の第1オブジェクトの位置に応じて前記第1仮想カメラを回転させる回転制御手段を含む、ゲームプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2013−85663(P2013−85663A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−228306(P2011−228306)
【出願日】平成23年10月17日(2011.10.17)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願日】平成23年10月17日(2011.10.17)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]