ゲームプログラムおよびゲーム装置
【構成】ゲーム装置12はCPU36を含み、仮想ゲーム空間内を移動する仮想カメラから見た場面をモニタ34に表示する。モニタ34に表示すべき画像の縦横比率が取得され、縦横比率に基づいて仮想カメラの視野が設定され、さらに、縦横比率に基づいて仮想カメラの移動速度が設定される。たとえば、画像の縦に対する横の比率が大きいほど、横方向の視野が広くされるので、仮想カメラの横方向の移動速度が小さくされる。
【効果】仮想カメラの移動速度を画面比率に応じて適切に設定でき、画像を見易くすることができる。
【効果】仮想カメラの移動速度を画面比率に応じて適切に設定でき、画像を見易くすることができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラムおよびゲーム装置に関し、特にたとえば仮想カメラの移動速度を制御する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来、ゲームの進行に応じて仮想空間内の視点の移動を制御する技術が知られている。特許文献1に記載された技術では、オブジェクトと仮想視点との距離に応じて仮想視点の移動速度が制御される。具体的には、モニタに表示される仮想上の炎(オブジェクト)を消火するゲームにおいて、ターゲットとなる炎の近くでは仮想視点の移動速度が遅くなるように制御される。また、仮想視点は所定のパス(経路)に沿って移動され、その移動速度はターゲットの有無に拘わらずパスの形状に応じて変化され、たとえば、直線状のパスでは移動速度の最大値が大きく、曲線上又はその付近では移動速度の最大値が小さくされる。
【0003】
また、特許文献2に記載された技術では、遊戯者の操作するキャラクタの状況に応じて視点の位置が制御される。具体的には、視点は自動車(キャラクタ)の後方でかつ多少上方に設定され、ワールド座標系で設定された指定位置に沿って移動される。指定位置はキャラクタに最も近い位置が0ポイントであり、最も離れた位置が500ポイントである。視点条件を満足するか否かによって視点の指定位置が設定されており、視点条件が満足されたときに、視点の現在位置が指定位置と異なる場合には、1フレーム当りのポイント数で設定された移動速度で視点は移動される。例えば、クラッシュの場合には、指定位置0ポイントへ速度4ポイント/フレームで視点は自動車に最接近され、障害物接近の場合には指定位置35ポイントへ速度10ポイント/フレームで視点は素早く自動車に接近され、スピンの場合には、指定位置300ポイントへ速度3ポイント/フレームで視点は自動車から遠方位置に離される。
【0004】
さらに、特許文献3に記載された技術では、プレイヤの操作するバイクの後方斜め上方を基準位置としてこのバイクに追従させるように視点が設定され、バイクの速度成分を制御関数として視点の位置が移動される。具体的には、バイクの前方(Z軸方向)への速度が増すと、視点がバイクから離れる方向に移動される。また、バイクが上下方向(Y軸方向)への速度成分を持つ場合には、視点はそのY軸方向への速度成分のベクトル方向とは逆方向に移動される。さらに、バイクが横方向(X軸方向)へ所定の速度で移動する場合には、バイクの横方向への速度成分とは逆方向に視点が移動される。
【特許文献1】特開2000−322591号公報
【特許文献2】特開平11−207029号公報
【特許文献3】特開平11−146978号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述のような各特許文献に開示されたゲーム装置では、オブジェクトの状態やゲーム場面に応じて視点の移動速度が制御される。しかしながら、ディスプレイに表示される画面の縦横の比率に応じて視点の移動速度が制御されるものではなかった。一般に、画面の縦横比率として、4:3(ノーマル)や16:9(ワイド)等があるが、16:9の画面は4:3の画面に比べて縦に対する横の比率が大きいため、画面の幅方向の情報量が多くなる。そのため、16:9の画面では、4:3の場合と同じ速度で視点を移動(特に横方向に回り込むような移動)させると、画面の端の部分の画像がより速く動いてしまい、見難くなるという問題があった。
【0006】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0007】
この発明の他の目的は、画面比率に応じて視点の移動速度を設定することのできる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0008】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0009】
第1の発明は、仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置のコンピュータにおいて実行されるゲームプログラムである。ゲームプログラムは、画像比率取得ステップ、移動速度設定ステップ、移動制御ステップ、および画像生成ステップをコンピュータに実行させる。画像比率取得ステップは、表示手段に表示すべき画像の縦横比率を取得する。移動速度設定ステップは、縦横比率に基づいて仮想カメラの移動速度を設定する。移動制御ステップは、移動速度に基づいて仮想カメラの移動を制御する。画像生成ステップは、移動制御ステップによって制御された仮想カメラの視野の範囲を示す画像を生成する。
【0010】
第1の発明では、ゲームプログラムは、ゲーム装置(12)のコンピュータ(36、42)において実行され、それによって、仮想空間内を移動する仮想カメラから見た場面が表示手段(34)に表示される。画像比率取得ステップ(S31)では、表示すべき画像の縦横比率が取得される。この取得された縦横比率に応じて仮想カメラのパラメータのうちの移動速度が設定される。つまり、移動速度設定ステップ(S13)では、縦横比率に基づいて仮想カメラの移動速度が設定される。移動制御ステップ(S19)では、設定された移動速度に基づいて仮想カメラの移動が制御され、したがって、画面比率に応じた速度で仮想カメラが移動される。そして、画像生成ステップ(S21)では、移動された仮想カメラの視野の範囲を示す画像が生成される。
【0011】
第1の発明によれば、表示すべき画像の画面比率に応じて仮想カメラの移動速度を変化させることができ、仮想カメラの移動速度を画面比率に応じて最適な速さに設定することができる。
【0012】
第2の発明は、移動速度設定ステップは、仮想カメラの前記移動速度として、回り込み速度を縦横比率に基づいて設定し、移動制御ステップは、仮想カメラの回り込みを回り込み速度に基づいて制御する、第1の発明に従属するゲームプログラムである。
【0013】
第2の発明では、仮想カメラが回り込む際の移動速度を画面比率に応じて変化させることができるので、仮想カメラが回り込むときに生成される画像を見易くすることができる。
【0014】
第3の発明は、縦横比率に基づいて異なる横方向の視野を設定する視野設定ステップをさらにコンピュータに実行させ、移動速度設定ステップは、仮想カメラの横方向の移動速度を縦横比率に基づいて設定する、第1または第2の発明に従属するゲームプログラムである。
【0015】
第3の発明では、視野設定ステップ(S33−S37)で縦横比率に基づいて異なる横方向視野を設定することができ、表示すべき画像の横方向の視野に応じて仮想カメラの横方向の移動速度を変化させることができるので、画像の横方向の情報量の違いに応じて仮想カメラの横方向の移動速度を適切に設定でき、したがって、仮想カメラが横方向に移動するときに表示される画像を見易くすることができる。たとえば、画面の比率としてノーマルかワイドかを選択するような場合には、画面の横方向の視野を異ならせることができるので、仮想カメラの横方向の移動速度を変えることによって画像の動きを見易くすることができる。
【0016】
第4の発明は、移動速度設定ステップは、画像の縦に対する横の比率が大きいほどその値が小さくなるように横方向の移動速度を設定する、第3の発明に従属するゲームプログラムである。
【0017】
第4の発明では、表示すべき画像の横方向の視野が広いほど仮想カメラの横方向の移動を遅くすることができる。たとえば、仮想カメラを回り込ませるときに横方向の視野が広いほど端の部分の画像が早く動いて見難くなるので、ワイド画面では横方向の回り込み速度をより小さくすることによって、画像の動きを見易くすることができる。
【0018】
第5の発明は、移動速度設定ステップは、画像比率取得ステップによって縦横比率の取得された画像および基準画像の縦の比率を同じにした場合の、画像および基準画像の横の比率を算出する横比率算出ステップを含み、横比率算出ステップによって算出された2つの横の比率に基づいて横方向の移動速度を算出する、第4の発明に従属するゲームプログラムである。
【0019】
第5の発明では、移動速度設定ステップは、基準画像と設定された画像の横の比率に基づいて仮想カメラの移動速度を算出する(S55、S57)ので、画面比率に適したカメラ移動速度を簡単な処理で算出することができる。
【0020】
第6の発明は、移動速度設定ステップは、縦横比率に基づいて設定される横方向の移動速度を仮想カメラの縦方向の角度に基づいて補正する補正ステップをさらに含む、第3ないし第5の発明のいずれかに従属するゲームプログラムである。
【0021】
第6の発明では、仮想カメラの縦方向の角度(X軸角度)が可変である場合には、補正ステップ(S59)によって、仮想カメラのX軸角度に応じて横方向の移動速度をより適切な値に補正することができる。たとえば、仮想カメラが注視点を俯瞰したり、見上げたりもしくは水平方向から見たりするような場面に応じて適切な横方向の移動速度を設定することができる。
【0022】
第7の発明は、縦横比率に基づいて仮想カメラの視野を規定する画角を設定する視野設定ステップをさらにコンピュータに実行させる、第1ないし第6の発明のいずれかに従属するゲームプログラムである。
【0023】
第7の発明では、仮想カメラの視野を縦横比率に応じた画角によって規定することができ、したがって、画角に応じて適切な移動速度を設定することができる。画角を大きくすればするほど視野が広くなるので、仮想カメラを移動させたときに視野の変化が大きくなる。特に仮想カメラが回り込むときの視野の端部の画像の動きが見難くなる。たとえば、画角が大きいときは仮想カメラの移動速度を小さく設定することによって、可視範囲(撮影範囲)の変化を見易くすることができる。
【0024】
第8の発明は、仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置である。ゲーム装置は、画像比率取得手段、移動速度設定手段、移動制御手段、および画像生成手段を備える。画像比率取得手段は、表示手段に表示すべき画像の縦横比率を取得する。移動速度設定手段は、縦横比率に基づいて仮想カメラの移動速度を設定する。移動制御手段は、移動速度に基づいて仮想カメラの移動を制御する。画像生成手段は、移動制御手段によって制御された仮想カメラの視野の範囲を示す画像を生成する。
【0025】
第8の発明は、上述の第1の発明のゲームプログラムと同様の効果を奏する。
【発明の効果】
【0026】
この発明によれば、仮想カメラの移動速度を画面比率に応じて適切に設定することができる。したがって、仮想カメラの回り込みなどの移動の際に表示される画像を見易くすることができる。
【0027】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0028】
図1を参照して、この発明の一実施例であるゲームシステム10は、ビデオゲーム装置12を含む。ビデオゲーム装置12は、ハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
【0029】
コントローラ22には、その上面,下面,或いは側面などに、操作部(操作スイッチ)26が設けられる。操作部26は、たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤオブジェクト(プレイヤがコントローラ22によって操作可能な動画オブジェクト)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動等を制御するために用いられる。十字スイッチは、アナログジョイスティックに代えてプレイヤオブジェクトの移動方向等を指示するために用いられる。ボタンスイッチは、プレイヤオブジェクトの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤオブジェクトの移動速度の調節等に用いられたりする。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動等の制御に用いられる。
【0030】
なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作部26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【0031】
ビデオゲーム装置12のハウジング14の前面であり、コネクタ20の下方には、1つまたは複数の(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。
【0032】
ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)のビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声が出力される。
【0033】
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずビデオゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をビデオゲーム装置12のディスクドライブ16にローディングする。応じて、ビデオゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部26の他のものを動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(仮想カメラ位置)を変化させることができる。
【0034】
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセッサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセッサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が接続される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して接続されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit) 42が接続される。
【0035】
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3Dのゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種オブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャを貼り付けるなどの画像生成処理を施す。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データがフレームバッファ48内に記憶される。2Dゲームを実行する際には、ゲーム処理によって生成された2次元画像をテクスチャとして、ゲーム空間内の所定位置の矩形領域に貼り付け、当該領域を所定の仮想カメラから見た画像をフレームバッファ48に記憶することによって、3D処理によって2Dゲーム画像を表示することが可能である。
【0036】
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
【0037】
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。具体的には、フレームバッファ48は、1画素(ピクセル)毎に、画像の色情報(画素値)を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのAデータである。なお、Aデータは、いわゆるアルファデータやマスクデータとして利用されるデータであり、本実施例ではアルファチャンネルすなわち透明から不透明までの透明度を表すために当該ピクセルに重ねる色とのブレンド率を示すデータとして利用される。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dのゲーム画像が表示される。
【0038】
また、Zバッファ50は、フレームバッファ48に対応する画素数×1画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶するものである。
【0039】
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよく、また、これらはGPU42の内部に設けられてもよい。
【0040】
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、オーディオ用のRAM(以下、「ARAM」という。)54に接続される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
【0041】
DSP52は、サウンドプロセッサとして働き、メインメモリ40に記憶されたサウンドデータ(図示せず)を用いたり、ARAM54に書き込まれている音波形データ(図示せず)を用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
【0042】
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に接続される。コントローラI/F56は、ビデオゲーム装置12に接続されるコントローラ22のためのインタフェースであり、コントローラ22の操作部26の操作信号または操作データを、メモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。
【0043】
外部メモリI/F60は、ビデオゲーム装置12の前面に挿入される外部メモリカード30をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。
【0044】
そして、ディスクI/F64は、ディスクドライブ16をメモリコントローラ38に接続し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムやデータが、CPU36の制御の下で、メインメモリ40に書き込まれる。
【0045】
このゲームシステム10では、仮想ゲーム空間内を移動する仮想カメラから見た場面(シーン)がモニタ34に表示される。ビデオゲーム装置12では、モニタ34に表示すべきゲーム画像(ゲーム画面)の縦横比率を示す画面比率が取得されて、当該画面比率に応じて仮想ゲーム空間を撮影するための仮想カメラの移動速度が変化される。
【0046】
この実施例のようにゲームシステム10が家庭用ゲーム装置として実現される場合、ビデオゲーム装置12に接続されるモニタ34は各家庭で異なり、モニタ34の画面の縦横の比率はたとえば4:3であったり16:9であったりする。ゲームシステム10がパーソナルコンピュータ、携帯電話機または携帯情報端末等の形態で実現される場合もまた同様に、各機器の表示装置に応じて画面の縦横の比率は異なるものとなる。このゲームシステム10では、画面に表示されるゲーム画像の縦横の比率の違いを考慮して、仮想カメラの視野が設定され、つまり、仮想ゲーム空間の表示範囲(仮想カメラによる可視範囲ないし撮影範囲)が設定される。しかし、単に表示範囲を表示すべきゲーム画像の比率に合わせて設定しただけでは、仮想カメラの移動を伴う場面では、ゲーム画像が見難くなってしまうおそれがある。たとえば、ゲーム制作者が縦横比率4:3のゲーム画像を前提にして仮想カメラの移動速度を決めた場合において、当該移動速度で仮想カメラが横方向に回り込みながら縦横比率16:9のゲーム画像が生成されると、当該ゲーム画像の端部の動きが4:3の場合と比べて速くなり見難くなってしまう。そこで、ゲーム画像に画面比率の違いによる見難さを生じさせないために、この実施例では、画面比率に応じて仮想カメラの移動速度が設定される。
【0047】
図3にはメインメモリ40のメモリマップの一例が示される。メモリマップはプログラム記憶領域70およびデータ記憶領域72を含む。ゲームプログラムおよびデータの一部は、光ディスク18から一度に全部または必要に応じて部分的にかつ順次的に読み出され、メインメモリ40に記憶される。なお、図3にはメモリマップの一部のみが示されており、メインメモリ40には処理に必要な他のプログラムおよびデータも記憶される。
【0048】
記憶領域74にはこの実施例の仮想ゲームのメインルーチンを処理するためのゲームメイン処理プログラムが記憶される。
【0049】
記憶領域76には画面比率取得プログラムが記憶される。このプログラムによって、モニタ34に表示すべきゲーム画像の縦横比率を示す画面比率が取得される。この実施例では、メニュー画面で画面比率を設定するためのメニューが準備されており、プレイヤはコントローラ22を用いて画面比率を入力することができる。たとえば、仮想ゲーム空間のシーンを示す画像がモニタ34に全画面表示される場合には、メニュー画面ではノーマル画面(縦横比率4:3)とワイド画面(縦横比率16:9)とが選択可能に表示されており、プレイヤは、ビデオゲーム装置12に接続されるモニタ34の画面がノーマル画面かワイド画面かに応じて画面比率を選択する。あるいは、メニュー画面では画面比率を示す数値を直接入力可能にしてもよい。なお、仮想ゲーム空間のシーンを示す画像がモニタ34の画面中の一部に表示される場合には、当該画像の縦横比率がメニュー画面で設定可能にされる。
【0050】
この画面比率のメニュー設定は、この実施例では、光ディスク18に記憶されたプログラムではなく、メインメモリ40に含まれるROMあるいは不揮発性メモリ(フラッシュメモリ等)に予め記憶されたメニュープログラムに従って実行される。メニュー画面で設定された画面比率はメインメモリ40の不揮発性メモリの所定領域に記憶される。画面比率取得プログラムは、設定された画面比率を当該所定領域からデータ記憶領域72の画面比率記憶領域90に読み出す。他の実施例では、光ディスク18にメニュープログラムを記憶しておいて、当該光ディスク18から読み出したメニュープログラムに従って、プレイヤによる入力に基づいて画面比率が設定されるようにしてもよい。
【0051】
記憶領域78には画角設定プログラムが記憶される。この実施例では、上述のように、画面比率の違いを考慮し、仮想カメラの視野すなわち仮想ゲーム空間の撮影範囲が画面比率に応じて変化されるように決めている。この画角設定プログラムによって、画面比率に基づいて仮想カメラの画角(視野角)が設定される。設定された画角は、メインメモリ40のカメラパラメータ記憶領域92に記憶される。ワイド画面またはノーマル画面等のように、設定可能な画面比率が予め決められている場合には、たとえば、画面比率に対応付けた画角を示すテーブルが予め記憶され、当該テーブルを参照して画角が設定される。あるいは、画面比率が入力される場合には、基準となる画面比率(たとえば4:3)とそれに対応する画角を予め記憶しておいて、当該基準となる画面比率とその画角に基づいて、入力された画面比率に対応する画角が算出されてよい。
【0052】
たとえば、ノーマル画面とワイド画面の視野の違いが図4に示される。図4(A)は生成されるゲーム画像の一例を示し、図4(B)は仮想カメラの横方向の視野を規定する画角を示す。なお、図4(B)には仮想カメラ座標系(直交座標系)が示されており、Z軸は仮想カメラの視線方向、X軸は仮想カメラの横方向、Y軸は仮想カメラの縦方向を示す。画角αおよびβは、仮想カメラ座標系のXZ平面内の角度である。
【0053】
図4(A)に示すように、ワイド画面(16:9のゲーム画像)とノーマル画面(4:3のゲーム画像)の縦方向の長さを同じにした場合、ワイド画面の横方向幅は、ノーマル画面のそれよりも広くなる。したがって、図4(B)に示すように、ワイド画面の横方向の視野(可視範囲ないし撮影範囲)は、ノーマル画面の横方向の視野よりも大きくすることができる。具体的には、ワイド画面の横方向の視野を規定する仮想カメラの横方向の画角βは、ノーマル画面の横方向の視野を規定する仮想カメラの横方向の画角αよりも大きくされる。なお、仮想カメラの縦方向の画角は同じにされる。画角が大きいほど視野が広くなるので、表示される情報量は画角が大きいほど多くなり、図4(A)に示すように、ワイド画面の両端部には、ノーマル画面の場合には見えていなかったオブジェクトや背景などが表示される。仮想カメラを移動させるときには、画角が大きいほど表示範囲の変化が大きくなる。特に仮想カメラを横方向に回り込ませるときには、画角が大きいほど、ゲーム画像の横方向端部において表示される情報の変化が速くなる。
【0054】
図3に戻って、記憶領域80には回り込み速度設定プログラムが記憶される。この実施例では、このプログラムによって、仮想カメラの移動速度としての回り込み速度が画面比率に応じて設定される。設定された回り込み速度は、メインメモリ40のカメラパラメータ記憶領域92に記憶される。
【0055】
上述のように、画面比率に応じて表示される情報量が異なり、仮想カメラが回り込む際には、視野が広いほど画面の端部の情報の変化が速くなる。そのため、この実施例では、仮想カメラの移動のうち特に回り込みの場合の速度が画面比率に応じて設定される。ここで、仮想カメラの回り込みは、視点が或る点の周りを回転するような移動を意味する。図5には、仮想カメラの回り込みの一例として、注視点周りの回転が示される。図5の仮想カメラは注視点を中心として180度回転する。また、この仮想カメラは注視点を中心としてX軸方向へ移動するので、図5では横方向への回り込みと表現している。
【0056】
この実施例では、図4に示したように、ノーマル画面とワイド画面を想定しており、仮想カメラの横方向(X軸方向)への回り込みの場合のゲーム画像が、画面比率の違いの最も大きい影響を受けるので、図5には仮想カメラの横方向の回り込みを示している。また、図5のような仮想カメラの移動は、たとえばプレイヤキャラクタの追尾カメラがプレイヤキャラクタの向きの反転に従って回り込む場合に相当する。
【0057】
なお、図5では180度回転を示しているが、回り込みの角度は任意である。また、回り込みの中心は注視点とは別の点であってもよい。また、回り込みの中心点は固定されてもよいし移動されてもよい。
【0058】
この実施例では、回り込み速度設定プログラムは、仮想カメラの回り込み速度のX軸成分を画面比率に応じて変化させる。具体的には、ゲーム画像の縦に対する横の比率が大きいほど速度が小さくなるように、回り込み速度が設定される。ゲーム画像の幅が大きいほど、表示される情報量が多くなるので、仮想カメラが回り込むときには、ゲーム画像の端の部分が早く動くこととなり、その画像の動きが見難くなる。したがって、ゲーム画像の幅が大きいほど回り込み速度を小さくすることによって、端の部分の動きを見易くすることができる。
【0059】
なお、回り込み速度は画面比率に基づいて算出されてもよいし、あるいは、画面比率ごとに予め決められて記憶されていた速度値が回り込み速度として設定されてもよい。また、この実施例では、回り込み速度は、仮想カメラのX軸周りの回転角度に基づいて補正される。回り込み速度の算出および設定の詳細は後述される。
【0060】
図3に戻って、記憶領域82には仮想カメラ制御プログラムが記憶される。このプログラムによって、仮想カメラの移動が制御される。この実施例では、回り込みタイミングになったと判定されるときには、仮想カメラの回り込みが実行され、仮想カメラは設定された回り込み速度に基づいて移動される。回り込みタイミングは、コントローラ22からの入力データに基づいてプレイヤキャラクタの向きを変える操作があったことやゲーム状況に応じてプレイヤキャラクタの向きを変える必要があること、あるいは、コントローラ22からの入力データに基づいて仮想カメラを回り込ませる操作があったこと等のような所定の条件が満足されたときである。
【0061】
記憶領域84には画像生成プログラムが記憶される。このプログラムによって、画角によって規定される仮想カメラの視野の内部(範囲)を示すゲーム画像が生成される。記憶領域86には生成されたゲーム画像をモニタ34に表示するための表示プログラムが記憶される。
【0062】
データ記憶領域72の記憶領域88には、ゲーム画像の生成に使用される画像データが記憶される。画像データは、仮想ゲーム空間に配置される各種オブジェクト(プレイヤキャラクタ、ノンプレイヤキャラクタ、地形オブジェクト、建物オブジェクト、アイテムオブジェクトなど)の画像データを含む。
【0063】
記憶領域90には、画面比率取得プログラムによって取得された画面比率が記憶される。画角設定や回り込み速度設定はこの画面比率に基づいて行われる。
【0064】
記憶領域92にはカメラパラメータが記憶される。カメラパラメータは、画角、注視点、視点、X軸角度、回り込み速度などの情報を含む。画像生成プログラムは、カメラパラメータに基づいてゲーム画像を生成する。
【0065】
画角は、画角設定プログラムによって画面比率に応じて設定された画角である。注視点はワールド座標系における注視点の位置を示す座標であり、視点はワールド座標系における仮想カメラの位置を示す座標である。たとえば、仮想カメラがプレイヤキャラクタの追尾カメラである場合には、注視点はプレイヤキャラクタの位置に設定され、視点はたとえばプレイヤキャラクタから所定距離後方の位置に設定され、注視点および視点はプレイヤキャラクタの移動に従って移動する。また、図5に示したように、仮想カメラが回り込む場合には、視点は所定の点(注視点など)を中心として横方向に回り込み速度で移動する。
【0066】
X軸角度は、カメラ座標系のX軸を中心(基準)とした仮想カメラの回転角度(仮想カメラの縦方向の傾き角度)を示す。この実施例では、後述するように、X軸角度に基づいて回り込み速度が補正される。
【0067】
回り込み速度は、回り込み速度設定プログラムによって設定された回り込み速度である。この実施例では仮想カメラはX軸方向へ回り込むので、回り込み速度のX軸成分が記憶される。なお、他の実施例で、Y軸方向への回り込みやX軸およびY軸両方向成分を含む回り込みが行われる場合には、回り込み速度のY軸成分も記憶される。
【0068】
図6には、ビデオゲーム装置12のCPU36によって実行されるメニュー設定処理の動作の一例が示される。このメニュー設定処理によって、上述のようなメニュー画面における画面比率の設定が行われる。上述のように、この実施例では、画面比率の設定は、ビデオゲーム装置12のROMまたは不揮発性メモリに予め記憶されたメニュープログラムに従って実行される。
【0069】
メニュー設定処理を開始すると、ステップS1で、CPU36は、GPU42を用いてメニュー画面をモニタ34に表示する。メニュー画面では、たとえば、画面比率4:3と16:9が選択肢として表示されており、プレイヤはコントローラ22の十字スイッチを操作してカーソルを所望の選択肢上に移動して所定のボタンスイッチを押すことによって、画面比率を選択することができる。
【0070】
ステップS3では、CPU36は、コントローラ22からの入力データと選択肢の位置情報等に基づいて、画面比率4:3が選択されたか否かを判断する。ステップS3で“YES”の場合、CPU36は、ステップS5で画面比率として4:3を示す情報を、メインメモリ40のうちの不揮発性メモリの画面比率を記憶するための所定領域に記憶する。一方、ステップS3で“NO”の場合、つまり、画面比率16:9が選択された場合、CPU36は、ステップS7で画面比率として16:9を示す情報を上記所定領域に記憶する。ステップS5またはS7を終了すると、メニュー設定処理が終了される。
【0071】
図7には、ビデオゲーム装置12のCPU36のゲーム動作の一例が示される。まず、ステップS11で、CPU36は画角設定処理を実行する。画角設定処理の動作は図8に詳細に示される。
【0072】
図8のステップS31で、CPU36は画面比率を取得する。具体的には、上述の図6のメニュー設定処理で設定された画面比率をメインメモリ40の所定領域から読み出して画面比率記憶領域90に記憶する。
【0073】
次に、ステップS33で、CPU36は、取得した画面比率が4:3であるか否かを判断する。ステップS33で“YES”の場合、CPU36は、ステップS35で画面比率4:3のための値αをカメラパラメータ記憶領域92に記憶することによって、仮想カメラの画角を設定する。一方、ステップS33で“NO”の場合、CPU36は、ステップS37で画面比率16:9のための値βをカメラパラメータ記憶領域92に記憶することによって、仮想カメラの画角を設定する。図4に示したように、画角αおよびβはそれぞれノーマル画面およびワイド画面の横方向の視野を規定する。画角の値αおよびβは画面比率に基づいて予め定められてプログラムに記憶される。あるいは、設定された画面比率に対応する画角の値は、基準となる画面比率(たとえば4:3)に対応付けた基準となる画角(たとえばα)に基づいて算出されてもよい。
【0074】
続いて、ステップS39で、CPU36は、GPU42を用いて、画角に基づいて特定される撮影範囲の仮想ゲーム空間を示す画像を生成する。そして、ステップS41で、CPU36は生成した画像をモニタ34に表示する。このようにして、画面比率に対応する視野の内部を示すゲーム画像が表示され、プレイヤはこのゲーム画像を見てゲームをプレイする。画角設定処理を終了すると、処理は図7のステップS13に戻る。
【0075】
図7のステップS13では、CPU36は回り込み速度設定処理を実行して、画面比率に応じた回り込み速度を設定する。回り込み速度設定処理の動作は図9に詳細に示される。
【0076】
図9のステップS51で、CPU36は記憶領域90に記憶された画面比率が4:3であるか否かを判断する。ステップS51で“YES”の場合、つまり、ノーマル画面の場合には、CPU36は、ステップS53で、回り込み速度に1(基準値)を設定する。具体的には、カメラパラメータ記憶領域92の回り込み速度(X軸成分)に基準値が記憶される。
【0077】
このように、この実施例では、画面比率4:3のノーマル画面が基準となる画面として採用され、ゲーム制作者が定めた基準画面に最適な回り込み速度が基準値として採用される。そして、基準となる画面比率と異なる画面比率に対応する回り込み速度(この実施例ではワイド画面の回り込み速度)は、基準値を基に算出される。
【0078】
ただし、この実施例では、基準値は、仮想カメラのX軸角度が0度であるとき、つまり、仮想カメラの向き(Z軸)がワールド座標系における水平方向に平行であるときの基準画像を基にして決められている。なお、仮想カメラのX軸角度が所定の角度のときを基準値として決めてもよい。
【0079】
一方、ステップS51で“NO”の場合、つまり、ワイド画面の場合には、基準となるノーマル画面よりも横方向の視野が広いので、回り込み速度は基準画面よりも遅くされる。具体的には、CPU36は、ステップS55で、設定された画面比率と基準となる画面比率の縦の比率を同じにした場合の、設定された画面比率の横の比率と基準となる画面比率の横の比率とを算出する。具体的には、この実施例では、設定された画面比率16:9と基準となる画面比率4:3の縦の比率を同じ値9に設定する。このとき、設定された画面比率の横の比率はそのまま16であり、基準となる画面比率の横の比率は12となる。
【0080】
そして、ステップS57で、CPU36は2つの横の比率に基づいて回り込み速度を算出する。具体的には、この実施例では、基準となる画面比率の横の比率12と設定された画面比率の横の比率16との比率を、基準となる画面比率における回り込み速度(基準値1)と設定された画面比率における回り込み速度との比率に変換する。つまり、12と16の比率を算出し、この算出値0.75(12/16)を、設定された画面比率における回り込み速度として採用する。このように、表示すべき画像と基準画像の横の比率に基づいて簡単な処理で、画面比率に適切な回り込み速度を算出することができる。
【0081】
続いて、ステップS59で、CPU36は、仮想カメラのX軸角度に基づいて補正を実行する。X軸角度は、たとえばプレイヤキャラクタの位置、注視点位置または視点位置のようなゲーム状況に応じて変化される。X軸角度によって仮想カメラが回り込む際の画像の見難さが変化する。したがって、この補正を実行することによって、たとえば仮想カメラが注視点を俯瞰したり、見上げたりもしくは水平な位置から見たりするような種々の状況に応じて、より適切な回り込み速度を設定できる。
【0082】
図10には仮想カメラのX軸角度が示される。図10(A)は視点と注視点とが水平である場合、つまり、X軸角度が0度の場合を示す。図10(B)は視点が注視点を俯瞰する場合を示し、X軸角度は0度より大きく90度より小さい。図10(B)の場合には、たとえば、仮想カメラはX軸角度を維持して回り込みを行い、つまり、注視点からの鉛直線と視点からの水平線との交点を中心として水平面内で回転をする。
【0083】
基準となるノーマル画面の回り込み速度の基準値1は、図10(A)に示したX軸角度が0度の場合の値であり、上述のステップS57で算出された回り込み速度0.75も、X軸角度が0度の場合の値である。回り込みによる画像の見難さの度合いは、図10(A)のようにX軸角度が0度であるときに最も高く、X軸角度の大きさが大きくなるに従って低くなる。したがって、X軸角度に応じて回り込み速度を補正する。X軸角度が0度のとき、ゲーム画像は最も見難くなるので、回り込み速度は最も小さくされる。X軸角度の大きさが90度に近づくにつれてゲーム画像は見易くなるので、回り込み速度は大きくされる。
【0084】
図11に、仮想カメラのX軸角度とワイド画面のための回り込み速度との関係の一例が示される。X軸角度が0度のときゲーム画像は最も見難く、X軸角度が大きくなるにつれてゲーム画像は見易くなるので、回り込み速度は、X軸角度が0度のときに最も小さくされ、X軸角度の大きさが大きくなるにつれて大きくされる。具体的には、ワイド画面の回り込み速度(ノーマル画面の回り込み速度を1とした場合)は、X軸角度が0度のとき0.75であり、X軸角度の大きさが90度に近づくにつれて大きくなって1に近づく。たとえば、回り込み速度は、図11において実線で示すようにX軸角度に対して直線的な関係で変化する。また、他の実施例では、ワイド画面の回り込み速度は、図11において破線で示すようにX軸角度に対して曲線的な関係で変化されてもよい。なお、ノーマル画面のための回り込み速度とX軸角度の関係は図示しないが、図11に示すワイド画面と同様な所定の関係である。
【0085】
図9のステップS59では、予め記憶しておいた所定の関係式に従って、回り込み速度の補正値をX軸角度から算出することができる。なお、X軸角度に対応付けられた回り込み速度を示すテーブルを予め記憶しておいて、このテーブルを参照して補正値を読み出すようにしてもよい。
【0086】
そして、ステップS61では、CPU36は補正値を回り込み速度に設定する。具体的には、補正値をカメラパラメータ記憶領域92の回り込み速度(X軸成分)に記憶する。
【0087】
なお、他の実施例でX軸角度が所定値(0度以外)に固定される場合には、予め算出して記憶しておいた補正値を回り込み速度に設定するようにしてよい。
【0088】
また、他の実施例では、X軸角度の見難さへの影響度が大きくない場合には、X軸角度による補正を行わなくてもよい。
【0089】
また、他の実施例では、基準となる画面の回り込み速度と同様に、基準ではない画面の回り込み速度についても、ゲーム制作者が体感的な適正値を取得し、当該適正値を予め記憶しておいて回り込み速度に設定するようにしてもよい。
【0090】
図9の回り込み速度設定処理を終了すると、処理は図7のステップS15に戻る。ステップS15では、CPU36はプレイヤの操作に基づくゲーム処理を実行する。たとえば、CPU36はコントローラ22からの入力データを取得して、当該入力データに基づいてプレイヤキャラクタの移動や行動の制御を実行したり、仮想カメラの制御を実行したりする。なお、このステップS15のゲーム処理および後述のステップS17〜S25は1フレームごとに実行される。
【0091】
そして、ステップS17で、CPU36は仮想カメラの回り込みタイミングであるか否かを判断する。たとえば、コントローラ22の入力データに基づいてプレイヤキャラクタの向きを反転させる操作が行われたか否かを判断したり、ゲームの進行状況が仮想カメラの回り込みを必要とする所定の条件を満足したか否かを判断したり、あるいは、入力データに基づいて仮想カメラの回り込みを指示する操作が行われたか否かを判断したりする。
【0092】
ステップS17で“NO”の場合、処理はステップS25へ進む。なお、この図7では省略しているが、仮想カメラの回り込みタイミングではないと判定される場合には、ステップS15のゲーム処理の結果に応じたゲーム画像を表示すべく、ステップS25の処理の前に、図8のステップS39と同様の画像生成処理およびステップS41と同様の表示処理が実行される。
【0093】
一方、ステップS17で“YES”の場合には、CPU36は、ステップS19で回り込み速度に基づいて回り込み処理を実行する。具体的には、CPU36は、仮想カメラが回り込み速度で回り込むべき位置を算出し、当該位置を新たな視点の位置としてカメラパラメータ記憶領域92に記憶する。
【0094】
続いて、ステップS21で、CPU36は、GPU42を用いて回り込み処理に基づく画像生成処理を実行する。具体的には、カメラパラメータ記憶領域92に記憶された画角、注視点および視点に基づいて、画面比率に対応する視野内の仮想ゲーム空間を示すゲーム画像が生成される。そして、ステップS23で、CPU36は、GPUを用いて表示更新処理を実行する。これによって、生成されたゲーム画像がモニタ34に表示される。
【0095】
上述のステップS21およびS23の処理が所定時間連続して実行されることによって、仮想カメラの回り込みに応じた画像の動き(変化)が表現される。
【0096】
ステップS25では、CPU36はゲーム終了であるか否かを判断する。たとえばゲーム終了のための条件が満足されたか否かを判断する。ステップS25で“NO”の場合、処理はステップS15へ戻り、ゲームが続けられる。一方、ステップS25で“YES”であれば、ゲームが終了される。
【0097】
この実施例によれば、表示すべきゲーム画像の画面比率が取得され、当該画面比率に応じて仮想カメラの回り込み速度を変化させるようにしたので、画面比率に適切な仮想カメラの回り込み速度を設定することができる。したがって、仮想カメラが回り込む際に生成されるゲーム画像を見易くすることができる。
【0098】
なお、上述の実施例では、図4に示したように、画面比率に応じて画面横方向の視野が異なるように仮想カメラの横方向の画角を設定していた。もし仮想カメラが横方向に回り込む際の移動速度を画面比率を考慮せずに設定すれば、ゲーム画像の横方向端部に見難さが生じてしまう。そのため、仮想カメラの横方向の回り込み速度(X軸成分)を画面比率に応じて変化させるようにしていた。しかし、他の実施例で、画面比率に応じて画面縦方向の視野が異なるように仮想カメラの縦方向(Y軸方向)の画角を設定する場合には、縦方向の回り込みによって、ゲーム画像の縦方向端部に見難さが生じるおそれがあるので、仮想カメラの縦方向の回り込み速度(Y軸成分)を画面比率に応じて変化させる。また、縦方向の回り込み速度は、設定された画面比率と基準となる画面比率の間で横の比率を同じにした場合の、設定された画面比率の縦の比率と基準となる画面比率の縦の比率とに基づいて算出され得る。
【0099】
また、上述の各実施例では、仮想カメラが回り込む際の移動速度を画面比率に応じて変化させるようにした。しかし、他の実施例では、仮想カメラが回り込み以外の移動をする場合であっても仮想カメラの移動速度を画面比率に応じて変化させるようにしてよい。画面比率に応じて仮想カメラの視野が異なれば、仮想カメラの移動による可視範囲(撮影範囲)の変化が異なるので、移動速度を画面比率に応じて設定することによって、可視範囲の変化や画像の動きを見易くすることができる。たとえば、仮想カメラが移動される際にその移動の種類(回り込み、所定方向への平行移動など)を判定して、当該種類に応じて適切な移動速度を設定してよい。
【0100】
また、上述の各実施例では、画面比率が4:3と16:9の場合について説明したが、他の様々な画面比率の場合にも適用可能であることは言うまでもない。
【図面の簡単な説明】
【0101】
【図1】この発明の実施例のゲームシステムの外観を示す図解図である。
【図2】図1に示すゲームシステムの電気的な構成を示すブロック図である。
【図3】図2に示すメインメモリのメモリマップを示す図解図である。
【図4】ノーマル画面とワイド画面の可視範囲の違いを示す図解図であり、図4(A)は生成される画像を示し、図4(B)は仮想カメラの横方向の画角によって規定される横方向の視野を示す。
【図5】仮想カメラの回り込みを示す図解図である。
【図6】メニュー設定処理の動作の一例を示すフロー図である。
【図7】ゲーム動作の一例を示すフロー図である。
【図8】図7の画角設定処理の動作の一例を示すフロー図である。
【図9】図7の回り込み速度設定処理の動作の一例を示すフロー図である。
【図10】仮想カメラのX軸角度を示す図解図であり、図10(A)は視点と注視点とが水平である場合を示し、図10(B)は視点が注視点を俯瞰する場合を示す。
【図11】仮想カメラのX軸角度とワイド画面の回り込み速度の関係の一例を示す図解図である。
【符号の説明】
【0102】
10 …ゲームシステム
12 …ビデオゲーム装置
18 …光ディスク
34 …モニタ
36 …CPU
40 …メインメモリ
42 …GPU
【技術分野】
【0001】
この発明はゲームプログラムおよびゲーム装置に関し、特にたとえば仮想カメラの移動速度を制御する、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来、ゲームの進行に応じて仮想空間内の視点の移動を制御する技術が知られている。特許文献1に記載された技術では、オブジェクトと仮想視点との距離に応じて仮想視点の移動速度が制御される。具体的には、モニタに表示される仮想上の炎(オブジェクト)を消火するゲームにおいて、ターゲットとなる炎の近くでは仮想視点の移動速度が遅くなるように制御される。また、仮想視点は所定のパス(経路)に沿って移動され、その移動速度はターゲットの有無に拘わらずパスの形状に応じて変化され、たとえば、直線状のパスでは移動速度の最大値が大きく、曲線上又はその付近では移動速度の最大値が小さくされる。
【0003】
また、特許文献2に記載された技術では、遊戯者の操作するキャラクタの状況に応じて視点の位置が制御される。具体的には、視点は自動車(キャラクタ)の後方でかつ多少上方に設定され、ワールド座標系で設定された指定位置に沿って移動される。指定位置はキャラクタに最も近い位置が0ポイントであり、最も離れた位置が500ポイントである。視点条件を満足するか否かによって視点の指定位置が設定されており、視点条件が満足されたときに、視点の現在位置が指定位置と異なる場合には、1フレーム当りのポイント数で設定された移動速度で視点は移動される。例えば、クラッシュの場合には、指定位置0ポイントへ速度4ポイント/フレームで視点は自動車に最接近され、障害物接近の場合には指定位置35ポイントへ速度10ポイント/フレームで視点は素早く自動車に接近され、スピンの場合には、指定位置300ポイントへ速度3ポイント/フレームで視点は自動車から遠方位置に離される。
【0004】
さらに、特許文献3に記載された技術では、プレイヤの操作するバイクの後方斜め上方を基準位置としてこのバイクに追従させるように視点が設定され、バイクの速度成分を制御関数として視点の位置が移動される。具体的には、バイクの前方(Z軸方向)への速度が増すと、視点がバイクから離れる方向に移動される。また、バイクが上下方向(Y軸方向)への速度成分を持つ場合には、視点はそのY軸方向への速度成分のベクトル方向とは逆方向に移動される。さらに、バイクが横方向(X軸方向)へ所定の速度で移動する場合には、バイクの横方向への速度成分とは逆方向に視点が移動される。
【特許文献1】特開2000−322591号公報
【特許文献2】特開平11−207029号公報
【特許文献3】特開平11−146978号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上述のような各特許文献に開示されたゲーム装置では、オブジェクトの状態やゲーム場面に応じて視点の移動速度が制御される。しかしながら、ディスプレイに表示される画面の縦横の比率に応じて視点の移動速度が制御されるものではなかった。一般に、画面の縦横比率として、4:3(ノーマル)や16:9(ワイド)等があるが、16:9の画面は4:3の画面に比べて縦に対する横の比率が大きいため、画面の幅方向の情報量が多くなる。そのため、16:9の画面では、4:3の場合と同じ速度で視点を移動(特に横方向に回り込むような移動)させると、画面の端の部分の画像がより速く動いてしまい、見難くなるという問題があった。
【0006】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラムおよびゲーム装置を提供することである。
【0007】
この発明の他の目的は、画面比率に応じて視点の移動速度を設定することのできる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0008】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0009】
第1の発明は、仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置のコンピュータにおいて実行されるゲームプログラムである。ゲームプログラムは、画像比率取得ステップ、移動速度設定ステップ、移動制御ステップ、および画像生成ステップをコンピュータに実行させる。画像比率取得ステップは、表示手段に表示すべき画像の縦横比率を取得する。移動速度設定ステップは、縦横比率に基づいて仮想カメラの移動速度を設定する。移動制御ステップは、移動速度に基づいて仮想カメラの移動を制御する。画像生成ステップは、移動制御ステップによって制御された仮想カメラの視野の範囲を示す画像を生成する。
【0010】
第1の発明では、ゲームプログラムは、ゲーム装置(12)のコンピュータ(36、42)において実行され、それによって、仮想空間内を移動する仮想カメラから見た場面が表示手段(34)に表示される。画像比率取得ステップ(S31)では、表示すべき画像の縦横比率が取得される。この取得された縦横比率に応じて仮想カメラのパラメータのうちの移動速度が設定される。つまり、移動速度設定ステップ(S13)では、縦横比率に基づいて仮想カメラの移動速度が設定される。移動制御ステップ(S19)では、設定された移動速度に基づいて仮想カメラの移動が制御され、したがって、画面比率に応じた速度で仮想カメラが移動される。そして、画像生成ステップ(S21)では、移動された仮想カメラの視野の範囲を示す画像が生成される。
【0011】
第1の発明によれば、表示すべき画像の画面比率に応じて仮想カメラの移動速度を変化させることができ、仮想カメラの移動速度を画面比率に応じて最適な速さに設定することができる。
【0012】
第2の発明は、移動速度設定ステップは、仮想カメラの前記移動速度として、回り込み速度を縦横比率に基づいて設定し、移動制御ステップは、仮想カメラの回り込みを回り込み速度に基づいて制御する、第1の発明に従属するゲームプログラムである。
【0013】
第2の発明では、仮想カメラが回り込む際の移動速度を画面比率に応じて変化させることができるので、仮想カメラが回り込むときに生成される画像を見易くすることができる。
【0014】
第3の発明は、縦横比率に基づいて異なる横方向の視野を設定する視野設定ステップをさらにコンピュータに実行させ、移動速度設定ステップは、仮想カメラの横方向の移動速度を縦横比率に基づいて設定する、第1または第2の発明に従属するゲームプログラムである。
【0015】
第3の発明では、視野設定ステップ(S33−S37)で縦横比率に基づいて異なる横方向視野を設定することができ、表示すべき画像の横方向の視野に応じて仮想カメラの横方向の移動速度を変化させることができるので、画像の横方向の情報量の違いに応じて仮想カメラの横方向の移動速度を適切に設定でき、したがって、仮想カメラが横方向に移動するときに表示される画像を見易くすることができる。たとえば、画面の比率としてノーマルかワイドかを選択するような場合には、画面の横方向の視野を異ならせることができるので、仮想カメラの横方向の移動速度を変えることによって画像の動きを見易くすることができる。
【0016】
第4の発明は、移動速度設定ステップは、画像の縦に対する横の比率が大きいほどその値が小さくなるように横方向の移動速度を設定する、第3の発明に従属するゲームプログラムである。
【0017】
第4の発明では、表示すべき画像の横方向の視野が広いほど仮想カメラの横方向の移動を遅くすることができる。たとえば、仮想カメラを回り込ませるときに横方向の視野が広いほど端の部分の画像が早く動いて見難くなるので、ワイド画面では横方向の回り込み速度をより小さくすることによって、画像の動きを見易くすることができる。
【0018】
第5の発明は、移動速度設定ステップは、画像比率取得ステップによって縦横比率の取得された画像および基準画像の縦の比率を同じにした場合の、画像および基準画像の横の比率を算出する横比率算出ステップを含み、横比率算出ステップによって算出された2つの横の比率に基づいて横方向の移動速度を算出する、第4の発明に従属するゲームプログラムである。
【0019】
第5の発明では、移動速度設定ステップは、基準画像と設定された画像の横の比率に基づいて仮想カメラの移動速度を算出する(S55、S57)ので、画面比率に適したカメラ移動速度を簡単な処理で算出することができる。
【0020】
第6の発明は、移動速度設定ステップは、縦横比率に基づいて設定される横方向の移動速度を仮想カメラの縦方向の角度に基づいて補正する補正ステップをさらに含む、第3ないし第5の発明のいずれかに従属するゲームプログラムである。
【0021】
第6の発明では、仮想カメラの縦方向の角度(X軸角度)が可変である場合には、補正ステップ(S59)によって、仮想カメラのX軸角度に応じて横方向の移動速度をより適切な値に補正することができる。たとえば、仮想カメラが注視点を俯瞰したり、見上げたりもしくは水平方向から見たりするような場面に応じて適切な横方向の移動速度を設定することができる。
【0022】
第7の発明は、縦横比率に基づいて仮想カメラの視野を規定する画角を設定する視野設定ステップをさらにコンピュータに実行させる、第1ないし第6の発明のいずれかに従属するゲームプログラムである。
【0023】
第7の発明では、仮想カメラの視野を縦横比率に応じた画角によって規定することができ、したがって、画角に応じて適切な移動速度を設定することができる。画角を大きくすればするほど視野が広くなるので、仮想カメラを移動させたときに視野の変化が大きくなる。特に仮想カメラが回り込むときの視野の端部の画像の動きが見難くなる。たとえば、画角が大きいときは仮想カメラの移動速度を小さく設定することによって、可視範囲(撮影範囲)の変化を見易くすることができる。
【0024】
第8の発明は、仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置である。ゲーム装置は、画像比率取得手段、移動速度設定手段、移動制御手段、および画像生成手段を備える。画像比率取得手段は、表示手段に表示すべき画像の縦横比率を取得する。移動速度設定手段は、縦横比率に基づいて仮想カメラの移動速度を設定する。移動制御手段は、移動速度に基づいて仮想カメラの移動を制御する。画像生成手段は、移動制御手段によって制御された仮想カメラの視野の範囲を示す画像を生成する。
【0025】
第8の発明は、上述の第1の発明のゲームプログラムと同様の効果を奏する。
【発明の効果】
【0026】
この発明によれば、仮想カメラの移動速度を画面比率に応じて適切に設定することができる。したがって、仮想カメラの回り込みなどの移動の際に表示される画像を見易くすることができる。
【0027】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0028】
図1を参照して、この発明の一実施例であるゲームシステム10は、ビデオゲーム装置12を含む。ビデオゲーム装置12は、ハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
【0029】
コントローラ22には、その上面,下面,或いは側面などに、操作部(操作スイッチ)26が設けられる。操作部26は、たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤオブジェクト(プレイヤがコントローラ22によって操作可能な動画オブジェクト)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動等を制御するために用いられる。十字スイッチは、アナログジョイスティックに代えてプレイヤオブジェクトの移動方向等を指示するために用いられる。ボタンスイッチは、プレイヤオブジェクトの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤオブジェクトの移動速度の調節等に用いられたりする。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動等の制御に用いられる。
【0030】
なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作部26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【0031】
ビデオゲーム装置12のハウジング14の前面であり、コネクタ20の下方には、1つまたは複数の(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(ゲームの結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。
【0032】
ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)のビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声が出力される。
【0033】
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずビデオゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をビデオゲーム装置12のディスクドライブ16にローディングする。応じて、ビデオゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはビデオゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作部26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作部26の他のものを動かすことによって、動画オブジェクト(プレイヤオブジェクト)を異なる方向に移動させ、または3Dのゲーム世界におけるユーザの視点(仮想カメラ位置)を変化させることができる。
【0034】
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセッサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセッサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が接続される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して接続されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit) 42が接続される。
【0035】
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3Dのゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種オブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャを貼り付けるなどの画像生成処理を施す。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データがフレームバッファ48内に記憶される。2Dゲームを実行する際には、ゲーム処理によって生成された2次元画像をテクスチャとして、ゲーム空間内の所定位置の矩形領域に貼り付け、当該領域を所定の仮想カメラから見た画像をフレームバッファ48に記憶することによって、3D処理によって2Dゲーム画像を表示することが可能である。
【0036】
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
【0037】
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。具体的には、フレームバッファ48は、1画素(ピクセル)毎に、画像の色情報(画素値)を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのAデータである。なお、Aデータは、いわゆるアルファデータやマスクデータとして利用されるデータであり、本実施例ではアルファチャンネルすなわち透明から不透明までの透明度を表すために当該ピクセルに重ねる色とのブレンド率を示すデータとして利用される。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dのゲーム画像が表示される。
【0038】
また、Zバッファ50は、フレームバッファ48に対応する画素数×1画素当たりの奥行きデータのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶するものである。
【0039】
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよく、また、これらはGPU42の内部に設けられてもよい。
【0040】
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、オーディオ用のRAM(以下、「ARAM」という。)54に接続される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
【0041】
DSP52は、サウンドプロセッサとして働き、メインメモリ40に記憶されたサウンドデータ(図示せず)を用いたり、ARAM54に書き込まれている音波形データ(図示せず)を用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
【0042】
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に接続される。コントローラI/F56は、ビデオゲーム装置12に接続されるコントローラ22のためのインタフェースであり、コントローラ22の操作部26の操作信号または操作データを、メモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。
【0043】
外部メモリI/F60は、ビデオゲーム装置12の前面に挿入される外部メモリカード30をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。
【0044】
そして、ディスクI/F64は、ディスクドライブ16をメモリコントローラ38に接続し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムやデータが、CPU36の制御の下で、メインメモリ40に書き込まれる。
【0045】
このゲームシステム10では、仮想ゲーム空間内を移動する仮想カメラから見た場面(シーン)がモニタ34に表示される。ビデオゲーム装置12では、モニタ34に表示すべきゲーム画像(ゲーム画面)の縦横比率を示す画面比率が取得されて、当該画面比率に応じて仮想ゲーム空間を撮影するための仮想カメラの移動速度が変化される。
【0046】
この実施例のようにゲームシステム10が家庭用ゲーム装置として実現される場合、ビデオゲーム装置12に接続されるモニタ34は各家庭で異なり、モニタ34の画面の縦横の比率はたとえば4:3であったり16:9であったりする。ゲームシステム10がパーソナルコンピュータ、携帯電話機または携帯情報端末等の形態で実現される場合もまた同様に、各機器の表示装置に応じて画面の縦横の比率は異なるものとなる。このゲームシステム10では、画面に表示されるゲーム画像の縦横の比率の違いを考慮して、仮想カメラの視野が設定され、つまり、仮想ゲーム空間の表示範囲(仮想カメラによる可視範囲ないし撮影範囲)が設定される。しかし、単に表示範囲を表示すべきゲーム画像の比率に合わせて設定しただけでは、仮想カメラの移動を伴う場面では、ゲーム画像が見難くなってしまうおそれがある。たとえば、ゲーム制作者が縦横比率4:3のゲーム画像を前提にして仮想カメラの移動速度を決めた場合において、当該移動速度で仮想カメラが横方向に回り込みながら縦横比率16:9のゲーム画像が生成されると、当該ゲーム画像の端部の動きが4:3の場合と比べて速くなり見難くなってしまう。そこで、ゲーム画像に画面比率の違いによる見難さを生じさせないために、この実施例では、画面比率に応じて仮想カメラの移動速度が設定される。
【0047】
図3にはメインメモリ40のメモリマップの一例が示される。メモリマップはプログラム記憶領域70およびデータ記憶領域72を含む。ゲームプログラムおよびデータの一部は、光ディスク18から一度に全部または必要に応じて部分的にかつ順次的に読み出され、メインメモリ40に記憶される。なお、図3にはメモリマップの一部のみが示されており、メインメモリ40には処理に必要な他のプログラムおよびデータも記憶される。
【0048】
記憶領域74にはこの実施例の仮想ゲームのメインルーチンを処理するためのゲームメイン処理プログラムが記憶される。
【0049】
記憶領域76には画面比率取得プログラムが記憶される。このプログラムによって、モニタ34に表示すべきゲーム画像の縦横比率を示す画面比率が取得される。この実施例では、メニュー画面で画面比率を設定するためのメニューが準備されており、プレイヤはコントローラ22を用いて画面比率を入力することができる。たとえば、仮想ゲーム空間のシーンを示す画像がモニタ34に全画面表示される場合には、メニュー画面ではノーマル画面(縦横比率4:3)とワイド画面(縦横比率16:9)とが選択可能に表示されており、プレイヤは、ビデオゲーム装置12に接続されるモニタ34の画面がノーマル画面かワイド画面かに応じて画面比率を選択する。あるいは、メニュー画面では画面比率を示す数値を直接入力可能にしてもよい。なお、仮想ゲーム空間のシーンを示す画像がモニタ34の画面中の一部に表示される場合には、当該画像の縦横比率がメニュー画面で設定可能にされる。
【0050】
この画面比率のメニュー設定は、この実施例では、光ディスク18に記憶されたプログラムではなく、メインメモリ40に含まれるROMあるいは不揮発性メモリ(フラッシュメモリ等)に予め記憶されたメニュープログラムに従って実行される。メニュー画面で設定された画面比率はメインメモリ40の不揮発性メモリの所定領域に記憶される。画面比率取得プログラムは、設定された画面比率を当該所定領域からデータ記憶領域72の画面比率記憶領域90に読み出す。他の実施例では、光ディスク18にメニュープログラムを記憶しておいて、当該光ディスク18から読み出したメニュープログラムに従って、プレイヤによる入力に基づいて画面比率が設定されるようにしてもよい。
【0051】
記憶領域78には画角設定プログラムが記憶される。この実施例では、上述のように、画面比率の違いを考慮し、仮想カメラの視野すなわち仮想ゲーム空間の撮影範囲が画面比率に応じて変化されるように決めている。この画角設定プログラムによって、画面比率に基づいて仮想カメラの画角(視野角)が設定される。設定された画角は、メインメモリ40のカメラパラメータ記憶領域92に記憶される。ワイド画面またはノーマル画面等のように、設定可能な画面比率が予め決められている場合には、たとえば、画面比率に対応付けた画角を示すテーブルが予め記憶され、当該テーブルを参照して画角が設定される。あるいは、画面比率が入力される場合には、基準となる画面比率(たとえば4:3)とそれに対応する画角を予め記憶しておいて、当該基準となる画面比率とその画角に基づいて、入力された画面比率に対応する画角が算出されてよい。
【0052】
たとえば、ノーマル画面とワイド画面の視野の違いが図4に示される。図4(A)は生成されるゲーム画像の一例を示し、図4(B)は仮想カメラの横方向の視野を規定する画角を示す。なお、図4(B)には仮想カメラ座標系(直交座標系)が示されており、Z軸は仮想カメラの視線方向、X軸は仮想カメラの横方向、Y軸は仮想カメラの縦方向を示す。画角αおよびβは、仮想カメラ座標系のXZ平面内の角度である。
【0053】
図4(A)に示すように、ワイド画面(16:9のゲーム画像)とノーマル画面(4:3のゲーム画像)の縦方向の長さを同じにした場合、ワイド画面の横方向幅は、ノーマル画面のそれよりも広くなる。したがって、図4(B)に示すように、ワイド画面の横方向の視野(可視範囲ないし撮影範囲)は、ノーマル画面の横方向の視野よりも大きくすることができる。具体的には、ワイド画面の横方向の視野を規定する仮想カメラの横方向の画角βは、ノーマル画面の横方向の視野を規定する仮想カメラの横方向の画角αよりも大きくされる。なお、仮想カメラの縦方向の画角は同じにされる。画角が大きいほど視野が広くなるので、表示される情報量は画角が大きいほど多くなり、図4(A)に示すように、ワイド画面の両端部には、ノーマル画面の場合には見えていなかったオブジェクトや背景などが表示される。仮想カメラを移動させるときには、画角が大きいほど表示範囲の変化が大きくなる。特に仮想カメラを横方向に回り込ませるときには、画角が大きいほど、ゲーム画像の横方向端部において表示される情報の変化が速くなる。
【0054】
図3に戻って、記憶領域80には回り込み速度設定プログラムが記憶される。この実施例では、このプログラムによって、仮想カメラの移動速度としての回り込み速度が画面比率に応じて設定される。設定された回り込み速度は、メインメモリ40のカメラパラメータ記憶領域92に記憶される。
【0055】
上述のように、画面比率に応じて表示される情報量が異なり、仮想カメラが回り込む際には、視野が広いほど画面の端部の情報の変化が速くなる。そのため、この実施例では、仮想カメラの移動のうち特に回り込みの場合の速度が画面比率に応じて設定される。ここで、仮想カメラの回り込みは、視点が或る点の周りを回転するような移動を意味する。図5には、仮想カメラの回り込みの一例として、注視点周りの回転が示される。図5の仮想カメラは注視点を中心として180度回転する。また、この仮想カメラは注視点を中心としてX軸方向へ移動するので、図5では横方向への回り込みと表現している。
【0056】
この実施例では、図4に示したように、ノーマル画面とワイド画面を想定しており、仮想カメラの横方向(X軸方向)への回り込みの場合のゲーム画像が、画面比率の違いの最も大きい影響を受けるので、図5には仮想カメラの横方向の回り込みを示している。また、図5のような仮想カメラの移動は、たとえばプレイヤキャラクタの追尾カメラがプレイヤキャラクタの向きの反転に従って回り込む場合に相当する。
【0057】
なお、図5では180度回転を示しているが、回り込みの角度は任意である。また、回り込みの中心は注視点とは別の点であってもよい。また、回り込みの中心点は固定されてもよいし移動されてもよい。
【0058】
この実施例では、回り込み速度設定プログラムは、仮想カメラの回り込み速度のX軸成分を画面比率に応じて変化させる。具体的には、ゲーム画像の縦に対する横の比率が大きいほど速度が小さくなるように、回り込み速度が設定される。ゲーム画像の幅が大きいほど、表示される情報量が多くなるので、仮想カメラが回り込むときには、ゲーム画像の端の部分が早く動くこととなり、その画像の動きが見難くなる。したがって、ゲーム画像の幅が大きいほど回り込み速度を小さくすることによって、端の部分の動きを見易くすることができる。
【0059】
なお、回り込み速度は画面比率に基づいて算出されてもよいし、あるいは、画面比率ごとに予め決められて記憶されていた速度値が回り込み速度として設定されてもよい。また、この実施例では、回り込み速度は、仮想カメラのX軸周りの回転角度に基づいて補正される。回り込み速度の算出および設定の詳細は後述される。
【0060】
図3に戻って、記憶領域82には仮想カメラ制御プログラムが記憶される。このプログラムによって、仮想カメラの移動が制御される。この実施例では、回り込みタイミングになったと判定されるときには、仮想カメラの回り込みが実行され、仮想カメラは設定された回り込み速度に基づいて移動される。回り込みタイミングは、コントローラ22からの入力データに基づいてプレイヤキャラクタの向きを変える操作があったことやゲーム状況に応じてプレイヤキャラクタの向きを変える必要があること、あるいは、コントローラ22からの入力データに基づいて仮想カメラを回り込ませる操作があったこと等のような所定の条件が満足されたときである。
【0061】
記憶領域84には画像生成プログラムが記憶される。このプログラムによって、画角によって規定される仮想カメラの視野の内部(範囲)を示すゲーム画像が生成される。記憶領域86には生成されたゲーム画像をモニタ34に表示するための表示プログラムが記憶される。
【0062】
データ記憶領域72の記憶領域88には、ゲーム画像の生成に使用される画像データが記憶される。画像データは、仮想ゲーム空間に配置される各種オブジェクト(プレイヤキャラクタ、ノンプレイヤキャラクタ、地形オブジェクト、建物オブジェクト、アイテムオブジェクトなど)の画像データを含む。
【0063】
記憶領域90には、画面比率取得プログラムによって取得された画面比率が記憶される。画角設定や回り込み速度設定はこの画面比率に基づいて行われる。
【0064】
記憶領域92にはカメラパラメータが記憶される。カメラパラメータは、画角、注視点、視点、X軸角度、回り込み速度などの情報を含む。画像生成プログラムは、カメラパラメータに基づいてゲーム画像を生成する。
【0065】
画角は、画角設定プログラムによって画面比率に応じて設定された画角である。注視点はワールド座標系における注視点の位置を示す座標であり、視点はワールド座標系における仮想カメラの位置を示す座標である。たとえば、仮想カメラがプレイヤキャラクタの追尾カメラである場合には、注視点はプレイヤキャラクタの位置に設定され、視点はたとえばプレイヤキャラクタから所定距離後方の位置に設定され、注視点および視点はプレイヤキャラクタの移動に従って移動する。また、図5に示したように、仮想カメラが回り込む場合には、視点は所定の点(注視点など)を中心として横方向に回り込み速度で移動する。
【0066】
X軸角度は、カメラ座標系のX軸を中心(基準)とした仮想カメラの回転角度(仮想カメラの縦方向の傾き角度)を示す。この実施例では、後述するように、X軸角度に基づいて回り込み速度が補正される。
【0067】
回り込み速度は、回り込み速度設定プログラムによって設定された回り込み速度である。この実施例では仮想カメラはX軸方向へ回り込むので、回り込み速度のX軸成分が記憶される。なお、他の実施例で、Y軸方向への回り込みやX軸およびY軸両方向成分を含む回り込みが行われる場合には、回り込み速度のY軸成分も記憶される。
【0068】
図6には、ビデオゲーム装置12のCPU36によって実行されるメニュー設定処理の動作の一例が示される。このメニュー設定処理によって、上述のようなメニュー画面における画面比率の設定が行われる。上述のように、この実施例では、画面比率の設定は、ビデオゲーム装置12のROMまたは不揮発性メモリに予め記憶されたメニュープログラムに従って実行される。
【0069】
メニュー設定処理を開始すると、ステップS1で、CPU36は、GPU42を用いてメニュー画面をモニタ34に表示する。メニュー画面では、たとえば、画面比率4:3と16:9が選択肢として表示されており、プレイヤはコントローラ22の十字スイッチを操作してカーソルを所望の選択肢上に移動して所定のボタンスイッチを押すことによって、画面比率を選択することができる。
【0070】
ステップS3では、CPU36は、コントローラ22からの入力データと選択肢の位置情報等に基づいて、画面比率4:3が選択されたか否かを判断する。ステップS3で“YES”の場合、CPU36は、ステップS5で画面比率として4:3を示す情報を、メインメモリ40のうちの不揮発性メモリの画面比率を記憶するための所定領域に記憶する。一方、ステップS3で“NO”の場合、つまり、画面比率16:9が選択された場合、CPU36は、ステップS7で画面比率として16:9を示す情報を上記所定領域に記憶する。ステップS5またはS7を終了すると、メニュー設定処理が終了される。
【0071】
図7には、ビデオゲーム装置12のCPU36のゲーム動作の一例が示される。まず、ステップS11で、CPU36は画角設定処理を実行する。画角設定処理の動作は図8に詳細に示される。
【0072】
図8のステップS31で、CPU36は画面比率を取得する。具体的には、上述の図6のメニュー設定処理で設定された画面比率をメインメモリ40の所定領域から読み出して画面比率記憶領域90に記憶する。
【0073】
次に、ステップS33で、CPU36は、取得した画面比率が4:3であるか否かを判断する。ステップS33で“YES”の場合、CPU36は、ステップS35で画面比率4:3のための値αをカメラパラメータ記憶領域92に記憶することによって、仮想カメラの画角を設定する。一方、ステップS33で“NO”の場合、CPU36は、ステップS37で画面比率16:9のための値βをカメラパラメータ記憶領域92に記憶することによって、仮想カメラの画角を設定する。図4に示したように、画角αおよびβはそれぞれノーマル画面およびワイド画面の横方向の視野を規定する。画角の値αおよびβは画面比率に基づいて予め定められてプログラムに記憶される。あるいは、設定された画面比率に対応する画角の値は、基準となる画面比率(たとえば4:3)に対応付けた基準となる画角(たとえばα)に基づいて算出されてもよい。
【0074】
続いて、ステップS39で、CPU36は、GPU42を用いて、画角に基づいて特定される撮影範囲の仮想ゲーム空間を示す画像を生成する。そして、ステップS41で、CPU36は生成した画像をモニタ34に表示する。このようにして、画面比率に対応する視野の内部を示すゲーム画像が表示され、プレイヤはこのゲーム画像を見てゲームをプレイする。画角設定処理を終了すると、処理は図7のステップS13に戻る。
【0075】
図7のステップS13では、CPU36は回り込み速度設定処理を実行して、画面比率に応じた回り込み速度を設定する。回り込み速度設定処理の動作は図9に詳細に示される。
【0076】
図9のステップS51で、CPU36は記憶領域90に記憶された画面比率が4:3であるか否かを判断する。ステップS51で“YES”の場合、つまり、ノーマル画面の場合には、CPU36は、ステップS53で、回り込み速度に1(基準値)を設定する。具体的には、カメラパラメータ記憶領域92の回り込み速度(X軸成分)に基準値が記憶される。
【0077】
このように、この実施例では、画面比率4:3のノーマル画面が基準となる画面として採用され、ゲーム制作者が定めた基準画面に最適な回り込み速度が基準値として採用される。そして、基準となる画面比率と異なる画面比率に対応する回り込み速度(この実施例ではワイド画面の回り込み速度)は、基準値を基に算出される。
【0078】
ただし、この実施例では、基準値は、仮想カメラのX軸角度が0度であるとき、つまり、仮想カメラの向き(Z軸)がワールド座標系における水平方向に平行であるときの基準画像を基にして決められている。なお、仮想カメラのX軸角度が所定の角度のときを基準値として決めてもよい。
【0079】
一方、ステップS51で“NO”の場合、つまり、ワイド画面の場合には、基準となるノーマル画面よりも横方向の視野が広いので、回り込み速度は基準画面よりも遅くされる。具体的には、CPU36は、ステップS55で、設定された画面比率と基準となる画面比率の縦の比率を同じにした場合の、設定された画面比率の横の比率と基準となる画面比率の横の比率とを算出する。具体的には、この実施例では、設定された画面比率16:9と基準となる画面比率4:3の縦の比率を同じ値9に設定する。このとき、設定された画面比率の横の比率はそのまま16であり、基準となる画面比率の横の比率は12となる。
【0080】
そして、ステップS57で、CPU36は2つの横の比率に基づいて回り込み速度を算出する。具体的には、この実施例では、基準となる画面比率の横の比率12と設定された画面比率の横の比率16との比率を、基準となる画面比率における回り込み速度(基準値1)と設定された画面比率における回り込み速度との比率に変換する。つまり、12と16の比率を算出し、この算出値0.75(12/16)を、設定された画面比率における回り込み速度として採用する。このように、表示すべき画像と基準画像の横の比率に基づいて簡単な処理で、画面比率に適切な回り込み速度を算出することができる。
【0081】
続いて、ステップS59で、CPU36は、仮想カメラのX軸角度に基づいて補正を実行する。X軸角度は、たとえばプレイヤキャラクタの位置、注視点位置または視点位置のようなゲーム状況に応じて変化される。X軸角度によって仮想カメラが回り込む際の画像の見難さが変化する。したがって、この補正を実行することによって、たとえば仮想カメラが注視点を俯瞰したり、見上げたりもしくは水平な位置から見たりするような種々の状況に応じて、より適切な回り込み速度を設定できる。
【0082】
図10には仮想カメラのX軸角度が示される。図10(A)は視点と注視点とが水平である場合、つまり、X軸角度が0度の場合を示す。図10(B)は視点が注視点を俯瞰する場合を示し、X軸角度は0度より大きく90度より小さい。図10(B)の場合には、たとえば、仮想カメラはX軸角度を維持して回り込みを行い、つまり、注視点からの鉛直線と視点からの水平線との交点を中心として水平面内で回転をする。
【0083】
基準となるノーマル画面の回り込み速度の基準値1は、図10(A)に示したX軸角度が0度の場合の値であり、上述のステップS57で算出された回り込み速度0.75も、X軸角度が0度の場合の値である。回り込みによる画像の見難さの度合いは、図10(A)のようにX軸角度が0度であるときに最も高く、X軸角度の大きさが大きくなるに従って低くなる。したがって、X軸角度に応じて回り込み速度を補正する。X軸角度が0度のとき、ゲーム画像は最も見難くなるので、回り込み速度は最も小さくされる。X軸角度の大きさが90度に近づくにつれてゲーム画像は見易くなるので、回り込み速度は大きくされる。
【0084】
図11に、仮想カメラのX軸角度とワイド画面のための回り込み速度との関係の一例が示される。X軸角度が0度のときゲーム画像は最も見難く、X軸角度が大きくなるにつれてゲーム画像は見易くなるので、回り込み速度は、X軸角度が0度のときに最も小さくされ、X軸角度の大きさが大きくなるにつれて大きくされる。具体的には、ワイド画面の回り込み速度(ノーマル画面の回り込み速度を1とした場合)は、X軸角度が0度のとき0.75であり、X軸角度の大きさが90度に近づくにつれて大きくなって1に近づく。たとえば、回り込み速度は、図11において実線で示すようにX軸角度に対して直線的な関係で変化する。また、他の実施例では、ワイド画面の回り込み速度は、図11において破線で示すようにX軸角度に対して曲線的な関係で変化されてもよい。なお、ノーマル画面のための回り込み速度とX軸角度の関係は図示しないが、図11に示すワイド画面と同様な所定の関係である。
【0085】
図9のステップS59では、予め記憶しておいた所定の関係式に従って、回り込み速度の補正値をX軸角度から算出することができる。なお、X軸角度に対応付けられた回り込み速度を示すテーブルを予め記憶しておいて、このテーブルを参照して補正値を読み出すようにしてもよい。
【0086】
そして、ステップS61では、CPU36は補正値を回り込み速度に設定する。具体的には、補正値をカメラパラメータ記憶領域92の回り込み速度(X軸成分)に記憶する。
【0087】
なお、他の実施例でX軸角度が所定値(0度以外)に固定される場合には、予め算出して記憶しておいた補正値を回り込み速度に設定するようにしてよい。
【0088】
また、他の実施例では、X軸角度の見難さへの影響度が大きくない場合には、X軸角度による補正を行わなくてもよい。
【0089】
また、他の実施例では、基準となる画面の回り込み速度と同様に、基準ではない画面の回り込み速度についても、ゲーム制作者が体感的な適正値を取得し、当該適正値を予め記憶しておいて回り込み速度に設定するようにしてもよい。
【0090】
図9の回り込み速度設定処理を終了すると、処理は図7のステップS15に戻る。ステップS15では、CPU36はプレイヤの操作に基づくゲーム処理を実行する。たとえば、CPU36はコントローラ22からの入力データを取得して、当該入力データに基づいてプレイヤキャラクタの移動や行動の制御を実行したり、仮想カメラの制御を実行したりする。なお、このステップS15のゲーム処理および後述のステップS17〜S25は1フレームごとに実行される。
【0091】
そして、ステップS17で、CPU36は仮想カメラの回り込みタイミングであるか否かを判断する。たとえば、コントローラ22の入力データに基づいてプレイヤキャラクタの向きを反転させる操作が行われたか否かを判断したり、ゲームの進行状況が仮想カメラの回り込みを必要とする所定の条件を満足したか否かを判断したり、あるいは、入力データに基づいて仮想カメラの回り込みを指示する操作が行われたか否かを判断したりする。
【0092】
ステップS17で“NO”の場合、処理はステップS25へ進む。なお、この図7では省略しているが、仮想カメラの回り込みタイミングではないと判定される場合には、ステップS15のゲーム処理の結果に応じたゲーム画像を表示すべく、ステップS25の処理の前に、図8のステップS39と同様の画像生成処理およびステップS41と同様の表示処理が実行される。
【0093】
一方、ステップS17で“YES”の場合には、CPU36は、ステップS19で回り込み速度に基づいて回り込み処理を実行する。具体的には、CPU36は、仮想カメラが回り込み速度で回り込むべき位置を算出し、当該位置を新たな視点の位置としてカメラパラメータ記憶領域92に記憶する。
【0094】
続いて、ステップS21で、CPU36は、GPU42を用いて回り込み処理に基づく画像生成処理を実行する。具体的には、カメラパラメータ記憶領域92に記憶された画角、注視点および視点に基づいて、画面比率に対応する視野内の仮想ゲーム空間を示すゲーム画像が生成される。そして、ステップS23で、CPU36は、GPUを用いて表示更新処理を実行する。これによって、生成されたゲーム画像がモニタ34に表示される。
【0095】
上述のステップS21およびS23の処理が所定時間連続して実行されることによって、仮想カメラの回り込みに応じた画像の動き(変化)が表現される。
【0096】
ステップS25では、CPU36はゲーム終了であるか否かを判断する。たとえばゲーム終了のための条件が満足されたか否かを判断する。ステップS25で“NO”の場合、処理はステップS15へ戻り、ゲームが続けられる。一方、ステップS25で“YES”であれば、ゲームが終了される。
【0097】
この実施例によれば、表示すべきゲーム画像の画面比率が取得され、当該画面比率に応じて仮想カメラの回り込み速度を変化させるようにしたので、画面比率に適切な仮想カメラの回り込み速度を設定することができる。したがって、仮想カメラが回り込む際に生成されるゲーム画像を見易くすることができる。
【0098】
なお、上述の実施例では、図4に示したように、画面比率に応じて画面横方向の視野が異なるように仮想カメラの横方向の画角を設定していた。もし仮想カメラが横方向に回り込む際の移動速度を画面比率を考慮せずに設定すれば、ゲーム画像の横方向端部に見難さが生じてしまう。そのため、仮想カメラの横方向の回り込み速度(X軸成分)を画面比率に応じて変化させるようにしていた。しかし、他の実施例で、画面比率に応じて画面縦方向の視野が異なるように仮想カメラの縦方向(Y軸方向)の画角を設定する場合には、縦方向の回り込みによって、ゲーム画像の縦方向端部に見難さが生じるおそれがあるので、仮想カメラの縦方向の回り込み速度(Y軸成分)を画面比率に応じて変化させる。また、縦方向の回り込み速度は、設定された画面比率と基準となる画面比率の間で横の比率を同じにした場合の、設定された画面比率の縦の比率と基準となる画面比率の縦の比率とに基づいて算出され得る。
【0099】
また、上述の各実施例では、仮想カメラが回り込む際の移動速度を画面比率に応じて変化させるようにした。しかし、他の実施例では、仮想カメラが回り込み以外の移動をする場合であっても仮想カメラの移動速度を画面比率に応じて変化させるようにしてよい。画面比率に応じて仮想カメラの視野が異なれば、仮想カメラの移動による可視範囲(撮影範囲)の変化が異なるので、移動速度を画面比率に応じて設定することによって、可視範囲の変化や画像の動きを見易くすることができる。たとえば、仮想カメラが移動される際にその移動の種類(回り込み、所定方向への平行移動など)を判定して、当該種類に応じて適切な移動速度を設定してよい。
【0100】
また、上述の各実施例では、画面比率が4:3と16:9の場合について説明したが、他の様々な画面比率の場合にも適用可能であることは言うまでもない。
【図面の簡単な説明】
【0101】
【図1】この発明の実施例のゲームシステムの外観を示す図解図である。
【図2】図1に示すゲームシステムの電気的な構成を示すブロック図である。
【図3】図2に示すメインメモリのメモリマップを示す図解図である。
【図4】ノーマル画面とワイド画面の可視範囲の違いを示す図解図であり、図4(A)は生成される画像を示し、図4(B)は仮想カメラの横方向の画角によって規定される横方向の視野を示す。
【図5】仮想カメラの回り込みを示す図解図である。
【図6】メニュー設定処理の動作の一例を示すフロー図である。
【図7】ゲーム動作の一例を示すフロー図である。
【図8】図7の画角設定処理の動作の一例を示すフロー図である。
【図9】図7の回り込み速度設定処理の動作の一例を示すフロー図である。
【図10】仮想カメラのX軸角度を示す図解図であり、図10(A)は視点と注視点とが水平である場合を示し、図10(B)は視点が注視点を俯瞰する場合を示す。
【図11】仮想カメラのX軸角度とワイド画面の回り込み速度の関係の一例を示す図解図である。
【符号の説明】
【0102】
10 …ゲームシステム
12 …ビデオゲーム装置
18 …光ディスク
34 …モニタ
36 …CPU
40 …メインメモリ
42 …GPU
【特許請求の範囲】
【請求項1】
仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記表示手段に表示すべき画像の縦横比率を取得する画像比率取得ステップ、
前記縦横比率に基づいて前記仮想カメラの移動速度を設定する移動速度設定ステップ、
前記移動速度に基づいて前記仮想カメラの移動を制御する移動制御ステップ、および
前記移動制御ステップによって制御された前記仮想カメラの視野の範囲を示す画像を生成する画像生成ステップを前記コンピュータに実行させる、ゲームプログラム。
【請求項2】
前記移動速度設定ステップは、前記仮想カメラの前記移動速度として、回り込み速度を前記縦横比率に基づいて設定し、
前記移動制御ステップは、前記仮想カメラの回り込みを前記回り込み速度に基づいて制御する、請求項1記載のゲームプログラム。
【請求項3】
前記縦横比率に基づいて異なる横方向の前記視野を設定する視野設定ステップをさらに前記コンピュータに実行させ、
前記移動速度設定ステップは、前記仮想カメラの横方向の移動速度を前記縦横比率に基づいて設定する、請求項1または2記載のゲームプログラム。
【請求項4】
前記移動速度設定ステップは、前記画像の縦に対する横の比率が大きいほどその値が小さくなるように前記横方向の移動速度を設定する、請求項3記載のゲームプログラム。
【請求項5】
前記移動速度設定ステップは、前記画像比率取得ステップによって前記縦横比率の取得された前記画像および基準画像の縦の比率を同じにした場合の、前記画像および前記基準画像の横の比率を算出する横比率算出ステップを含み、前記横比率算出ステップによって算出された2つの前記横の比率に基づいて前記横方向の移動速度を算出する、請求項4記載のゲームプログラム。
【請求項6】
前記移動速度設定ステップは、前記縦横比率に基づいて設定される前記横方向の移動速度を前記仮想カメラの縦方向の角度に基づいて補正する補正ステップをさらに含む、請求項3ないし5のいずれかに記載のゲームプログラム。
【請求項7】
前記縦横比率に基づいて前記仮想カメラの前記視野を規定する画角を設定する視野設定ステップをさらに前記コンピュータに実行させる、請求項1ないし6のいずれかに記載のゲームプログラム。
【請求項8】
仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置であって、
前記表示手段に表示すべき画像の縦横比率を取得する画像比率取得手段、
前記縦横比率に基づいて前記仮想カメラの移動速度を設定する移動速度設定手段、
前記移動速度に基づいて前記仮想カメラの移動を制御する移動制御手段、および
前記移動制御手段によって制御された前記仮想カメラの視野の範囲を示す画像を生成する画像生成手段を備える、ゲーム装置。
【請求項1】
仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記表示手段に表示すべき画像の縦横比率を取得する画像比率取得ステップ、
前記縦横比率に基づいて前記仮想カメラの移動速度を設定する移動速度設定ステップ、
前記移動速度に基づいて前記仮想カメラの移動を制御する移動制御ステップ、および
前記移動制御ステップによって制御された前記仮想カメラの視野の範囲を示す画像を生成する画像生成ステップを前記コンピュータに実行させる、ゲームプログラム。
【請求項2】
前記移動速度設定ステップは、前記仮想カメラの前記移動速度として、回り込み速度を前記縦横比率に基づいて設定し、
前記移動制御ステップは、前記仮想カメラの回り込みを前記回り込み速度に基づいて制御する、請求項1記載のゲームプログラム。
【請求項3】
前記縦横比率に基づいて異なる横方向の前記視野を設定する視野設定ステップをさらに前記コンピュータに実行させ、
前記移動速度設定ステップは、前記仮想カメラの横方向の移動速度を前記縦横比率に基づいて設定する、請求項1または2記載のゲームプログラム。
【請求項4】
前記移動速度設定ステップは、前記画像の縦に対する横の比率が大きいほどその値が小さくなるように前記横方向の移動速度を設定する、請求項3記載のゲームプログラム。
【請求項5】
前記移動速度設定ステップは、前記画像比率取得ステップによって前記縦横比率の取得された前記画像および基準画像の縦の比率を同じにした場合の、前記画像および前記基準画像の横の比率を算出する横比率算出ステップを含み、前記横比率算出ステップによって算出された2つの前記横の比率に基づいて前記横方向の移動速度を算出する、請求項4記載のゲームプログラム。
【請求項6】
前記移動速度設定ステップは、前記縦横比率に基づいて設定される前記横方向の移動速度を前記仮想カメラの縦方向の角度に基づいて補正する補正ステップをさらに含む、請求項3ないし5のいずれかに記載のゲームプログラム。
【請求項7】
前記縦横比率に基づいて前記仮想カメラの前記視野を規定する画角を設定する視野設定ステップをさらに前記コンピュータに実行させる、請求項1ないし6のいずれかに記載のゲームプログラム。
【請求項8】
仮想空間内を移動する仮想カメラから見た場面を表示手段に表示するゲーム装置であって、
前記表示手段に表示すべき画像の縦横比率を取得する画像比率取得手段、
前記縦横比率に基づいて前記仮想カメラの移動速度を設定する移動速度設定手段、
前記移動速度に基づいて前記仮想カメラの移動を制御する移動制御手段、および
前記移動制御手段によって制御された前記仮想カメラの視野の範囲を示す画像を生成する画像生成手段を備える、ゲーム装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−119344(P2008−119344A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−308592(P2006−308592)
【出願日】平成18年11月15日(2006.11.15)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願日】平成18年11月15日(2006.11.15)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]