JP3839355B2 - ゲーム装置およびゲームプログラム - Google Patents
ゲーム装置およびゲームプログラム Download PDFInfo
- Publication number
- JP3839355B2 JP3839355B2 JP2002161148A JP2002161148A JP3839355B2 JP 3839355 B2 JP3839355 B2 JP 3839355B2 JP 2002161148 A JP2002161148 A JP 2002161148A JP 2002161148 A JP2002161148 A JP 2002161148A JP 3839355 B2 JP3839355 B2 JP 3839355B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- data
- player character
- reduced map
- player
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
【産業上の利用分野】
この発明はゲーム装置およびゲームプログラムに関し、特にたとえばゲーム空間内におけるプレイヤキャラクタの位置を示すための縮小マップをゲーム画面上に表示するゲーム装置、およびそれのためのゲームプログラムに関する。
【0002】
【従来の技術】
2次元/3次元のゲーム空間内をキャラクタが動きまわるようなアクションゲームやシューティングゲームなどがある。このようなゲームでは、自己のキャラクタ(プレイヤキャラクタ:ゲームプレイヤの操作に応答して移動し、動作するキャラクタ)を中心とする比較的狭い範囲のゲーム空間が通常のゲーム画面としてテレビまたはモニタに表示されている。
【0003】
このような狭いゲーム空間を表示する場合には、ゲームプレイヤは、比較的簡単に、プレイヤキャラクタや敵キャラクタあるいは他のオブジェクトの位置関係を把握できるが、そのゲーム画面には表示されない他のキャラクタやオブジェクトとプレイヤキャラクタとの位置関係の把握は容易ではない。なぜなら、他のキャラクタやオブジェクトが表示されていないからである。
【0004】
そこで、いくつかのゲーム装置では、ゲーム空間におけるプレイヤキャラクタの位置や敵キャラクタの位置をゲームプレイヤに容易に把握させるために、ゲーム空間の広い範囲(通常の1つのゲーム画面では表示できない範囲)におけるそれぞれのキャラクタ(オブジェクト)の位置を示すための縮小マップ(またはレーダ画面)を、通常のゲーム画面に重ねて表示することが行われている。したがって、ゲームプレイヤは、その縮小マップまたはレーダ画面を見ることによって、広いゲーム空間内でのプレイヤキャラクタや敵キャラクタあるいは他のオブジェクトの位置関係を比較的簡単に把握できる。
【0005】
【発明が解決しようとする課題】
しかしながら、縮小マップまたはレーダ画面を表示する場合、特にプレイヤキャラクタが比較的速い速度で移動するとき、すなわち背景が速い速度で移動して行くときには、ゲームプレイヤが画面上に表示される多くの情報を読み取ることは非常に困難で、縮小マップの表示がむしろ邪魔になってしまうという問題がある。
【0006】
また、縮小マップが自己のプレイヤキャラクタの移動方向に表示されているときは、そのプレイヤキャラクタの移動方向がその縮小マップに隠蔽されてしまうので、ゲームプレイヤがプレイヤキャラクタの移動先の様子を把握しにくいという別の問題もある。
【0007】
それゆえに、この発明の主たる目的は、新規なビデオゲーム装置およびゲームプログラムを提供することである。
【0008】
この発明の他の目的は、縮小マップまたはレーダ画面もしくはその類似物をゲーム画面中に表示しても、ゲームプレイヤの操作性を損なうことのない、ビデオゲーム装置およびゲームプログラムを提供することである。
【0009】
【課題を解決するための手段】
第1の発明は、ゲーム空間内のプレイヤキャラクタをコントローラに対するプレイヤの操作に応じて所定の移動速度で移動させ、ゲーム空間内のプレイヤキャラクタの位置を示すための縮小マップをゲーム画面上に表示するゲーム装置であって、コントローラから、プレイヤの操作に応じた操作データを取得する操作データ取得手段、操作データからゲーム空間におけるプレイヤキャラクタの移動速度データを決定する移動速度決定手段、および移動速度データの値が大きいほど、縮小マップに大きい透明度データを設定し、当該透明度データに基づく透明度で縮小マップをゲーム画面上に描画する縮小マップ描画手段を備える、ゲーム装置である。
【0010】
第2の発明は、ゲーム空間内のプレイヤキャラクタをコントローラに対するプレイヤの操作に応じて所定の移動速度で移動させ、ゲーム空間内のプレイヤキャラクタの位置を示すための縮小マップをゲーム画面上に表示するゲーム装置において、ゲームプロセサに、コントローラから、プレイヤの操作に応じた操作データを取得する操作データ取得ステップ、操作データからゲーム空間におけるプレイヤキャラクタの移動速度データを決定する移動速度決定ステップ、および移動速度データの値が大きいほど、縮小マップに大きい透明度データを設定し、当該透明度データに基づく透明度で縮小マップをゲーム画面上に描画する縮小マップ描画ステップを実行させるゲームプログラムである。
【0012】
【作用】
実施例でいえばゲーム機がゲーム装置に相当し、このゲーム機(12)は、ゲームプロセサとして機能するCPU(36)および描画手段の一部を構成するGPU(42)を含む。CPUで実行されるべきゲームプログラムは、オブジェクトデータやテクスチャデータとともに、たとえば光ディスク(18)からメインメモリ(40)にローディングされる。したがって、CPUはゲームプログラムに従ってゲームを実行し、CPUおよびGPUは、各オブジェクトデータおよびテクスチャデータに従って、モニタ(34)上にプレイヤキャラクタ、敵キャラクタ、地形オブジェクト、アイテム等を含むゲーム画像すなわちゲーム画面(34A)を表示する。
【0013】
ゲームプレイヤがコントローラ(22)のたとえばアナログジョイスティックを操作することによって、CPUはプレイヤキャラクタを、そのアナログジョイスティックが示す方向に移動させる。CPUは、このとき、そのアナログジョイスティックの操作量または変位量に応じて、プレイヤキャラクタの移動速度を決定する(ステップS39,S43,S47,S49:図6)。そして、CPUおよびGPUは、メインメモリから読み出した縮小マップテクスチャデータ(必要に応じて、矢印テクスチャデータ)を用いて、ゲーム画面上に縮小マップ(86)を表示するが、このとき、縮小マップの透明度が上記移動距離に応じて設定される。具体的には、プレイヤキャラクタの移動速度が大きいほど縮小マップの透明度を大きくする(ステップS129:図12)。したがって、プレイヤキャラクタが速く移動するときでも、縮小マップがゲームプレイヤの視界を邪魔することがない。
【0014】
なお、CPUがプレイヤキャラクタの移動方向を決定する(ステップS33:図6)場合には、縮小マップはその移動方向とは異なるゲーム画面上の位置に描画される。そのため、プレイヤキャラクタの移動方向における様子が縮小マップによって隠されることはない。
【0015】
同じように、プレイヤキャラクタの移動方向を決定する場合には、縮小マップ内に、メインメモリから読み出した矢印テクスチャに従って、方向指示記号(たとえば矢印88:図13)を併せて表示するようにしてもよい。
【0016】
【発明の効果】
この発明によれば、プレイヤキャラクタの移動速度に応じた透明度で縮小マップ(またはケーレーダ画面)を表示するので、縮小マップまたはレーダ画面もしくはその類似物をゲーム画面中に表示しても、ゲームプレイヤの操作性を損なうことがない。
【0017】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0018】
【実施例】
図1に示す実施例のビデオゲームシステム10はビデオゲーム機(以下、単に「ゲーム機」という。)12を含む。このゲーム機12には電源が与えられるが、この電源は、実施例では、一般的なACアダプタ(図示せず)であってよい。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ゲーム機12を駆動するのに適した低いDC電圧信号に変換する。他の実施例では、電源として、バッテリが用いられてもよい。
【0019】
ゲーム機12は、略立方体のハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラムを記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をゲーム機12に接続するためのものであり、この実施例では最大4つのコントローラをゲーム機12に接続することができる。
【0020】
コントローラ22には、その上面,下面,あるいは側面などに、操作手段(コントロール)26が設けられる。操作手段26は,たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤキャラクタ(プレイヤがコントローラ22によって操作可能な動画キャラクタ)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤキャラクタの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。
【0021】
なお、実施例ではコントローラ22がケーブル24によってゲーム機12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ゲーム機12に接続されてもよい。また、コントローラ22の操作手段の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【0022】
ゲーム機12のハウジング14の前面のコネクタ20の下方には、少なくとも1つの(実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラムや表示用データ(図3参照)をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)をセーブしておくために利用される。
【0023】
ゲーム機12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してゲーム機12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ゲーム機12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に与える。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカからゲーム音楽や効果音などのステレオゲーム音声が出力され得る。
【0024】
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム機12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をゲーム機12のディスクドライブ16にローディングする。応じて、ゲーム機12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム機12に入力を与えるためにコントローラ22を操作する。たとえば、操作手段26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作手段26の他のものを動かすことによって、動画キャラクタ(プレイヤキャラクタ)を異なる方向に移動させ、または3次元(3D)のゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
【0025】
図2は図1実施例のビデオゲームシステム10の構成を示すブロック図である。ビデオゲーム機12には、このゲーム機の全体的な制御を担当する中央処理ユニット(以下、「CPU」という。)36が設けられる。CPU36はゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が結合される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して結合されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が結合される。
【0026】
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command:作画命令)を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種キャラクタやオブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャ(Texture:模様画像)を張り付ける(レンダリングする)。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが作成され、その画像データ(テクスチャデータ)がフレームバッファ48内に描画(記憶)される。なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
【0027】
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。なお、フレームバッファ48の容量は、表示したい画面の画素(ピクセルまたはドット)数に応じた大きさである。たとえば、ディスプレイないしモニタ34の画素数に応じた画素数(記憶位置またはアドレス)を有する。
【0028】
また、Zバッファ50は、フレームバッファ48に対応する画素(記憶位置またはアドレス)数×1画素当たりの奥行データのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行データ(Z値)を記憶するものである。
【0029】
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよい。
【0030】
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、サブメモリ54に結合される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリ54の書込みおよび/または読出しを制御する。
【0031】
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に結合される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作手段26の操作信号またはデータをメモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。外部メモリI/F60は、ゲーム機12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してフレームバッファ48から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ66に与える。なお、ステレオ音声の場合には、スピーカ66は、少なくとも、左右1つずつ設けられる。そして、ディスクI/Fは、そのディスクドライブ16をメモリコントローラ38に結合し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。
【0032】
図3にはメインメモリ40のメモリマップが示される。メインメモリ40は、ゲームプログラム記憶領域68、縮小マップテクスチャデータ記憶領域70、矢印テクスチャデータ記憶領域72、オブジェクトデータ記憶領域74およびテクスチャデータ記憶領域76を含む。ゲームプログラム記憶領域68には、光ディスク18から読み出したゲームプログラムが、1度に全部または部分的かつ順次的に、記憶される。
【0033】
縮小マップテクスチャデータ記憶領域70には、縮小マップ(ゲーム空間の広い範囲におけるプレイヤキャラクタ、敵キャラクタ、オブジェクト等の位置を示す付属画像)を表示するためのテクスチャを表すデータを記憶する。
【0034】
また、矢印テクスチャデータ記憶領域72に記憶される矢印記号は、後に説明するように、上記縮小マップ内に表示され、その縮小マップ内においてプレイヤキャラクタの進行方向を指し示すために利用される。ただし、そのような方向指示記号としては、実施例の矢印以外に、適宜の記号を使用することができる。
【0035】
オブジェクトデータ記憶領域74には、たとえば、プレイヤキャラクタオブジェクト74aや敵キャラクタオブジェクト74bのようなゲームキャラクタ、あるいは壁オブジェクト(建物オブジェクト,地面オブジェクトなどのような地形オブジェクト)74c、さらにはアイテムなどのアイテムオブジェクトがロードされる。なお、各オブジェクト74a−74cは、ポリゴンによって形成されている。そして、メインメモリ40には、上記各キャラクタおよびオブジェクト等のデータを光ディスク18から必要に応じてロードするようにしてもよい。
【0036】
テクスチャデータ記憶領域76には、上述のプレイヤキャラクタ,敵キャラクタ,壁オブジェクトなどのテクスチャデータ76a,76b,76cなどが記憶される。
【0037】
ゲームをプレイするとき、上述のように光ディスク18をゲーム機12にセットし、電源を投入すると、光ディスクからデータが読み出され、図3に示すようにメインメモリ40に必要なデータが記憶される。
【0038】
そして、図4の最初のステップS1では、CPU36は、地形オブジェクト(地面オブジェクト,建物オブジェクト,壁オブジェクト等)およびアイテムのデータをメインメモリ40のオブジェクトデータ記憶領域74から読み出し、その地形オブジェクトおよびアイテムを、図5に示すような、ゲーム空間である3次元ワールド座標系の初期座標に配置する。ついで、ステップS3において、オブジェクトデータ記憶領域74からプレイヤキャラクタ,敵キャラクタおよび仮想カメラのデータを読み出し、同じワールド座標系の初期座標に配置する。
【0039】
ステップS5では、CPU36は、コントローラ22の操作手段26(図1)が操作されたかどうか、すなわち、コントローラI/F56およびメモリコントローラ38を介してコントローラ22から入力がったかどうか、判断する。
【0040】
コントローラ入力がある場合、CPU36は、ステップS7においてそのコントローラ入力に応じてプレイヤキャラクタの位置をワールド座標系において変更する。プレイヤないしユーザは、図5に示すプレイヤキャラクタ78の位置を変更する場合には、コントローラ22の操作手段26(図1)のうち、たとえばアナログジョイスティック(または3Dジョイスティック)を操作する。したがって、CPU36は、このステップS7では、たとえばジョイスティックの傾斜方向および傾斜量のデータをコントローラI/F56から受け、そのデータに基づいて、プレイヤキャラクタ78の位置を更新する。
【0041】
次のステップS9では、CPU36は、ステップS7で更新されたプレイヤキャラクタの位置に応じて、ワールド座標系での仮想カメラの位置を更新する。つまり、このステップS9は、仮想カメラのいわゆる「廻り込み処理」を実行するステップである。ユーザによるコントローラの操作によって、図5に示すようにプレイヤキャラクタ78が「78」で示す位置から「78A」で示す位置に移動された場合を想定する。この場合、元の位置で仮想カメラ80から移動後のプレイヤキャラクタ78Aを見ることになり、プレイヤキャラクタ78Aは建物オブジェクト82の陰に隠れてしまい、そのままであれば、ゲーム画面上に表示されなくなる。このような場合、ステップS9で、プレイヤキャラクタ78Aが見える位置まで、つまりプレイヤキャラクタ78Aをゲーム画面上に表示できるように、仮想カメラ80を「80」で示す位置からたとえば「80A」で示す位置まで、移動させる。つまり、プレイヤキャラクタの位置に応じて仮想カメラの位置を変更する。
【0042】
その後、コントローラ入力がない場合と同様に、ステップS11において、CPU36は、敵キャラクタ84(図5)の位置をワールド座標系内で更新する。敵キャラクタ84の位置は、コントローラ22を操作してもしなくても更新する必要があるので、このステップS11をこの時点で実行する。
【0043】
そして、ステップS13において、CPU36は、上で述べた地形オブジェクト,建物オブジェクト,アイテム,プレイヤキャラクタ,敵キャラクタなどの位置を、仮想カメラ80(80A)を基準とする3次元のカメラ座標系に変換する。
【0044】
その後、CPU36は、ステップS15において、3次元のカメラ座標系を2次元の投陰平面座標系に変換するとともに、テクスチャの指定やクリッピング(clipping:不可視世界の切り取り)等も併せて実行する。
【0045】
そして、ステップS17において、ゲーム画像生成処理を実行する。このステップS17については、後に詳しく説明する。
【0046】
ステップS17で後述のようにゲーム画像を生成した後に、ステップS19において、ゲーム画面をモニタ34(図1)に表示する。つまり、CPU36がビデオI/F58に指令を与え、応じて、ビデオI/F56がフレームバッファ48(図2)にアクセスする。したがって、フレームバッファ48からモニタ34に表示すべき画像データが読み出され、ゲーム画像が表示され得る。
【0047】
その後、ステップS21でゲームが終了したかどうか判断する。ゲームが終了されていれば、そのままこの図4ルーチンを終了するが、ゲームが続行される場合には、先のステップS5に戻って、コントローラ22からの入力を待つ。
【0048】
図6を参照して、図4におけるステップS7が詳細に示される。この図6はゲームプレイヤのコントローラ操作に応答してプレイヤキャラクタの位置を変更または更新するルーチンを詳細に示す。
【0049】
ステップS31では、CPU36は、コントローラI/F56およびメモリコントローラ38を介して、コントローラ22から手段された操作信号(操作データ)を取得する。この操作データ(操作情報または操作信号)の一例が図7に示される。先に述べたように、コントローラ22は方向指示手段として2つのアナログジョイスティック(メインおよびサブ)および1つの十字キーを備えているが、この実施例では、プレイヤキャラクタの移動方向および移動距離、つまり移動位置を決定するためには、メインアナログジョイスティックのデータを利用する。ただし、サブアナログジョイスティックおよび/または十字キーに応じてプレイヤキャラクタを移動させるようにしてもよいことは、もちろんである。そして、メインアナログジョイスティックの操作データは図7に示すように、2つの軸X軸およびY軸の変位量データとして与えられる。
【0050】
CPU36は、続くステップS33において、このような操作情報すなわちメインアナログジョイスティックの各軸変位量データから、仮想3次元ゲーム空間におけるプレイヤキャラクタの移動方向を決定する。具体的には、メインアナログジョイスティックのX軸変位量が「2」でY軸変位量が「3」のとき、現在のプレイヤキャラクタの位置を基準(原点)として、X,Y=2、3の方向を移動方向として決定する。別の例として、メインアナログジョイスティックのX軸変位量が「−2」でY軸変位量が「3」のとき、現在のプレイヤキャラクタの位置を基準として、X,Y=−2、3の方向を移動方向として決定する。つまり、むこの場合には、プレイヤキャラクタは方向転換を行うことになる。
【0051】
その後、ステップS35において、CPU36は、操作データの変位量データからプレイヤキャラクタの移動量を求め、その移動量を閾値A,B,C,Dのそれぞれと比較する。ここで、「移動量」は、上記各軸変位量から求められるものである。たとえば、上述の例で、X軸変位量が「2」でY軸変位量が「3」のとき、現在のプレイヤキャラクタの位置を基準(原点)として、ルート(√)13が移動量となる。別の例として、X軸変位量が「−2」でY軸変位量が「3」のときにも、同様に、プレイヤキャラクタの移動量は「ルート(√)13」となる。このようにして移動量データを求めた後、その移動量と閾値A−Dのそれぞれとを比較する。
【0052】
そして、ステップS37で、移動量が閾値A以下かどうか判断し、このステップS37で“YES”が判断されると、続くステップS39において、CPU36は、そのときのプレイヤキャラクタの移動距離をαに設定し、その移動距離αを、たとえばメインメモリ40の図示しないレジスタ領域に記憶させておく。なお、移動距離とは、ゲーム画面の次回の更新までの移動量を意味し、ゲーム画面がたとえば1フレームで更新されるなら、1フレームの移動量がαであることを意味する。
【0053】
ステップS37で“NO”のとき、ステップS41で、CPU36は、移動量が閾値Aより大きくかつ閾値B以下であるかどうか判断する。“YES”が判断されると、次のステップS43で、CPU36は、移動距離としてβを設定し、記憶する。
【0054】
ステップS41で“NO”のとき、ステップS45で、CPU36は、移動量が閾値Bより大きくかつ閾値C以下であるかどうか判断する。“YES”が判断されると、次のステップS47で、CPU36は、移動距離としてγを設定し、記憶する。
【0055】
ステップS45でも“NO”のとき、ステップS49で、CPU36は、移動距離としてεを設定し、記憶する。
【0056】
ステップS39,S43,S47またはS49の後、つまりプレイヤキャラクタのそのときの移動距離を設定した後、CPU36は、次のステップS51において、プレイヤキャラクタの向きおよび現在の位置と、上の各ステップで決定した移動距離およびステップS33で決定した移動方向とに基づいて、プレイヤキャラクタの新たな座標位置を計算する。そして、次のステップS53において、CPU36は、プレイヤキャラクタの位置をその新たな座標位置で更新する。
【0057】
このようにして、コントローラ22の操作に応答して、CPU36がこの図6のプログラムに従って、プレイヤキャラクタの座標位置を更新する。その後、先に説明した図4のステップS9にリターンする。
【0058】
図8を参照すると、図4のステップS17に示すゲーム画像生成処理ルーチンが示される。この図8の最初のステップS61では、CPU36(図2)は、まず、地形オブジェクトの描画処理を実行し、続くステップS63,S65およびS67において、プレイヤキャラクタの描画処理,敵キャラクタ(およびアイテム)および縮小マップの描画処理を順次実行する。
【0059】
ステップS61の地形オブジェクト描画処理ルーチンが図9に詳細に示される。図9の最初のステップS71では,CPU36は、メインメモリ40(図2,図3)のテクスチャデータ記憶領域76から、壁オブジェクトや地面オブジェクトのような地形オブジェクトに対応するテクスチャデータ76cを読み出す。
【0060】
そして、次のステップS73において、CPU36は、ステップS15(図4)で変換した2次元投影平面座標系に投影された地形オブジェクト(壁オブジェクト,地面オブジェクトなど)に相当する位置のフレームバッファ48(図2)の各ピクセルに、地形オブジェクトのテクスチャを描画する。すなわち、フレームバッファの各ピクセルに相当する記憶位置に、地形オブジェクトの色情報を書き込む。
【0061】
次のステップS75で、CPU36は、そのときのピクセルに対応するZバッファ50(図2)の記憶位置に、地形オブジェクトの奥行き情報(Z値)を書き込む。
【0062】
ステップS77で全てのピクセルの終了を検出するまで、上述のステップS73およびS75が繰り返し実行され、モニタ34の表示画面の全部のピクセルの描画処理が終了したなら、図8のステップS63へリターンし、プレイヤキャラクタ表示処理ルーチンS63に進む。
【0063】
ステップS63(図8)のプレイヤキャラクタの描画処理ルーチンが図10に詳細に示される。図10の最初のステップS81では,CPU36は、メインメモリ40(図2,図3)のテクスチャデータ記憶領域76から、プレイヤキャラクタに対応するテクスチャデータ76aを読み出す。
【0064】
そして、次のステップS83において、CPU36は、ステップS15(図4)で変換した2次元投影平面座標系に投影されたプレイヤキャラクタに相当する位置のZバッファ50(図2)の各ピクセルの、Z値を参照する。そして、次のステップS85において、CPU36は、書込みの対象となっているピクセルのZ値が書込みしようとしているプレイヤキャラクタの奥行き情報(Z値)より大きいかどうか判断する。つまり、プレイヤキャラクタを描画すべきかどうか判断する。したがって、このステップS85で“NO”が判断されると、そのままステップS61に進む。
【0065】
ステップS85において“YES”が判断されると、次のステップS87においてそのピクセルのZ値(Zバッファ)を更新するとともに、ステップS89において、そのピクセルにプレイヤキャラクタのテクスチャ(色情報)を描画する。そして、次のステップS91全てのピクセルの終了を検出するまで、上述のステップS83−S89が繰り返し実行され、モニタ34の表示画面の全部のピクセルの描画処理が終了したなら、図8のステップS65へリターンし、敵キャラクタ(およびアイテム)の描画処理ルーチンを実行する。
【0066】
ステップS65(図8)の敵キャラクタ(および/またはアイテム)の描画処理ルーチンが図11に詳細に示される。図11の最初のステップS101では,CPU36は、メインメモリ40(図2,図3)のテクスチャデータ記憶領域762から、敵キャラクタ(アイテム)に対応するテクスチャデータ76bを読み出す。
【0067】
そして、次のステップS103において、CPU36は、2次元投影平面座標系に投影された敵キャラクタ(アイテム)に相当する位置のZバッファ50(図2)の各ピクセルの、Z値を参照する。そして、次のステップS105において、CPU36は、書込みの対象となっているピクセルのZ値が、書込みしようとしている敵キャラクタ(アイテム)の奥行き情報(Z値)より大きいかどうか判断する。つまり、敵キャラクタやアイテムを描画すべきかどうか判断する。したがって、このステップS105で“NO”が判断されると、そのままステップS111に進む。
【0068】
ステップS105において“YES”が判断されると、次のステップS107においてそのピクセルのZ値(Zバッファ)を更新するとともに、ステップS109において、そのピクセルに敵キャラクタ(アイテム)のテクスチャ(色情報)を描画する。そして、次のステップS81全てのピクセルの終了を検出するまで、上述のステップS103−S109が繰り返し実行され、モニタ34の表示画面の全部のピクセルの描画処理が終了したなら、図8のステップS67へリターンし、縮小マップ描画処理を実行する。
【0069】
ステップS67(図8)の縮小マップの描画処理ルーチンが図12に詳細に示される。図12の最初のステップS121では,CPU36は、メインメモリ40(図2,図3)の縮小マップテクスチャデータ記憶領域70から、縮小マップを表示するためのテクスチャデータを読み出す。続いて、CPU36は、ステップS123において、先のステップS53(図6)で決定したプレイヤキャラクタの配置座標位置を読み込む。それとともに、ステップS125において、CPU36は、先のステップS51(図6)で用いたプレイヤキャラクタの向きを示す情報を読み込む。
【0070】
そして、ステップS127において、CPU36は矢印テクスチャデータ記憶領域72(図3)から矢印テクスチャデータを読み出すとともに、先に入手したプレイヤキャラクタの向きに応じて、その矢印の向きを決定し、その向きになるように、矢印テクスチャを縮小マップテクスチャ上に貼り付ける。したがって、たとえば図13(A)に示すように、縮小マップ86内に、そのときのプレイヤキャラクタの向きに応じた方向を指示する矢印88が合成される。
【0071】
続くステップS129において、CPU36は、先の図6のステップS39,S43,S47またはS49で設定したプレイヤキャラクタの移動速度をメモリから読み出し、その移動距離(移動量)に応じて、縮小マップ画像(矢印88を含む)86の透明度を決定する。
【0072】
実施例では、移動距離が最も小さいαのとき、図13(A)に示すように、縮小マップ86の透明度はたとえば「0%」に設定する。移動距離がαになるような場合は、たとえばプレイヤキャラクタが停止しているか、もしくは殆ど移動しない場合であり、このような場合には、縮小マップ86を完全に表示しても、つまりその縮小マップ86でその部分のゲーム画像が遮蔽もしくは隠蔽されても、ゲームプレイヤによる操作には殆ど影響を与えない。
【0073】
移動距離が2番目に小さいβのときには、図13(B)に示すように、縮小マップ86の透明度はたとえば「20%」に設定する。同様に、移動距離が3番目に小さいγのときには、図13(C)に示すように、縮小マップ86の透明度はたとえば「50%」に設定する。移動距離が最も大きいεのときには、図13(D)に示すように、縮小マップ86の透明度はたとえば「80%」に設定する。つまり、この実施例では、プレイヤキャラクタの移動距離が大きければ大きいほど、縮小マップ86の透明度を大きく設定することによって、高速で移動するプレイヤキャラクタをゲームプレイヤが操作するときに、できるだけ支障を与えないようにする。
【0074】
さらに、次のステップS131では、ステップS125で取り込んだプレイヤキャラクタの向きを参照して、縮小マップ86の描画位置を決定する。つまり、縮小マップ86の表示は、上述のようにマップの透明度を変化させるものの、ゲームプレイヤの視界に影響を与えるものであるので、プレイヤキャラクタが移動しようとしている方向(向き)には縮小マップを表示しないようにして、そのような視界に与える影響をできるだけ少なくしようとするものである。
【0075】
図14に示すように、ゲーム画面34A中にプレイヤキャラクタ74や地形オブジェクトなどを含むゲーム画像が表示され、そのゲーム画面34A上に縮小マップ86が表示されるが、図14(A)に示す場合にはプレイヤキャラクタ74はゲーム画面34A上においてたとえば左上方向に向いているので、この場合には縮小マップ86の表示(描画)位置はゲーム画面34Aのたとえば右下として決定する。図14(B)に示す場合にはプレイヤキャラクタ74はゲーム画面34A上においてたとえば右下方向に向いているので、この場合には縮小マップ86の表示位置はゲーム画面34Aのたとえば左上として決定する。
【0076】
このようにして、ステップS131において、ゲームプレイヤの操作に影響をできるだけ与えないようにする目的で、縮小マップ86の描画位置を決定する。
【0077】
そして、ステップS133において、CPU36およびGPU72は、ステップS131で設定した縮小マップの描画位置におけるゲーム画像の各ピクセルの色情報と、縮小マップ86の各ピクセルの色情報とを、ステップS129で決定した透明度に従った割合で混合し、その色情報をフレームバッファ48(図2)の対応の各ピクセルに書き込む。したがって、縮小マップが所定透明度で所定位置に表示される。
【0078】
そして、次のステップS135で全てのピクセルの終了を検出するまで、上述のステップS133が繰り返し実行され、モニタ34の表示画面の全部のピクセルの描画処理が終了したなら、図4のステップS19へリターンする。
【図面の簡単な説明】
【図1】図1はこの発明の一実施例のゲームシステムを示す図解図である。
【図2】図2は図1一実施例のゲーム機を詳細に示すブロック図である。
【図3】図3は図2におけるメインメモリのメモリマップの一例を示す図解図である。
【図4】図1実施例の動作を示すフロー図である。
【図5】図5はワールド座標系およびカメラ座標系を示す図解図である。
【図6】図6はプレイヤキャラクタの位置決定処理ょ示すフロー図である。
【図7】図7はコントローラから入力されるデータ(操作信号)の一例を示す図解図である。
【図8】図8は図4におけるゲーム画像生成処理の動作を示すフロー図である。
【図9】図9は図8における地形オブジェクト等の描画処理の動作を示すフロー図である。
【図10】図10は図8におけるプレキヤキャラクタ描画処理の動作を示すフロー図である。
【図11】図11は図8における敵キャラクタ(およびアイテム)の描画処理の動作を示すフロー図である。
【図12】図12は図8における縮小マップの描画処理の動作を示すフロー図である。
【図13】図13は実施例において縮小マップがプレイヤキャラクタの移動速度に応じて透明度を変化することを示す図解図である。
【図14】図14は実施例において縮小マップがプレイヤキャラクタの移動方向に応じて表示位置を変化することを示す図解図である。
【符号の説明】
10 …ゲームシステム
12 …ゲーム機
22 …コントローラ
34 …モニタ
34A …ゲーム画面
36 …CPU
40 …メインメモリ
42 …GPU
86 …縮小マップ
88 …矢印
Claims (8)
- ゲーム空間内のプレイヤキャラクタをコントローラに対するプレイヤの操作に応じて所定の移動速度で移動させ、前記ゲーム空間内の前記プレイヤキャラクタの位置を示すための縮小マップをゲーム画面上に表示するゲーム装置であって、
前記コントローラから、プレイヤの操作に応じた操作データを取得する操作データ取得手段、
前記操作データから前記ゲーム空間における前記プレイヤキャラクタの移動速度データを決定する移動速度決定手段、および
前記移動速度データの値が大きいほど、前記縮小マップに大きい透明度データを設定し、当該透明度データに基づく透明度で前記縮小マップを前記ゲーム画面上に描画する縮小マップ描画手段を備える、ゲーム装置。 - 前記縮小マップ描画手段は、前記プレイヤキャラクタが停止している状態では前記透明度データを0%に設定する、請求項1に記載のゲーム装置。
- 前記操作データから前記プレイヤキャラクタの移動方向データを決定する移動方向決定手段をさらに備え、
前記縮小マップ描画手段は、前記移動方向データの示す方向とは異なる前記ゲーム画面上の位置に前記縮小マップを描画する、請求項1または2に記載のゲーム装置。 - 前記プレイヤキャラクタの移動方向データを決定する移動方向決定手段をさらに備え、
前記縮小マップ描画手段は、前記移動方向データに応じた方向指示記号を前記縮小マップ内に表示する矢印表示手段を含む、請求項1または2に記載のゲーム装置。 - ゲーム空間内のプレイヤキャラクタをコントローラに対するプレイヤの操作に応じて所定の移動速度で移動させ、前記ゲーム空間内の前記プレイヤキャラクタの位置を示すための縮小マップをゲーム画面上に表示するゲーム装置において、
ゲームプロセサに、
前記コントローラから、プレイヤの操作に応じた操作データを取得する操作データ取得ステップ、
前記操作データから前記ゲーム空間における前記プレイヤキャラクタの移動速度データを決定する移動速度決定ステップ、および
前記移動速度データの値が大きいほど、前記縮小マップに大きい透明度データを設定し、当該透明度データに基づく透明度で前記縮小マップを前記ゲーム画面上に描画する縮小マップ描画ステップを実行させるゲームプログラム。 - 前記縮小マップ描画ステップでは、前記プレイヤキャラクタが停止している状態では前記透明度データを0%に設定する、請求項5に記載のゲームプログラム。
- 前記ゲームプロセサに、プレイヤキャラクタの移動方向データを決定する移動方向決定ステップをさらに実行させ、そして
前記縮小マップ描画ステップでは、前記移動方向データの示す方向とは異なる前記ゲーム画面上の位置に前記縮小マップを描画する、請求項5または6に記載のゲームプログラム。 - 前記ゲームプロセサに、プレイヤキャラクタの移動方向データを決定する移動方向決定ステップをさらに実行させ、そして
前記縮小マップ描画ステップは、前記移動方向データに応じた方向指示記号を前記縮小マップ内に表示する方向指示記号表示ステップを含む、請求項5または6に記載のゲームプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002161148A JP3839355B2 (ja) | 2002-06-03 | 2002-06-03 | ゲーム装置およびゲームプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002161148A JP3839355B2 (ja) | 2002-06-03 | 2002-06-03 | ゲーム装置およびゲームプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004000368A JP2004000368A (ja) | 2004-01-08 |
JP3839355B2 true JP3839355B2 (ja) | 2006-11-01 |
Family
ID=30430291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002161148A Expired - Lifetime JP3839355B2 (ja) | 2002-06-03 | 2002-06-03 | ゲーム装置およびゲームプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3839355B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007068581A (ja) | 2005-09-02 | 2007-03-22 | Nintendo Co Ltd | ゲーム装置およびゲームプログラム |
JP5237325B2 (ja) | 2010-04-28 | 2013-07-17 | 株式会社スクウェア・エニックス | ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム |
JP6356558B2 (ja) * | 2014-09-25 | 2018-07-11 | 株式会社スクウェア・エニックス | ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム |
JP7017549B2 (ja) * | 2019-10-28 | 2022-02-08 | 株式会社スクウェア・エニックス | ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム |
-
2002
- 2002-06-03 JP JP2002161148A patent/JP3839355B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004000368A (ja) | 2004-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3637031B2 (ja) | ゲーム装置およびゲームプログラム | |
US8012018B2 (en) | Game apparatus and storage medium storing game program | |
US7753785B2 (en) | Game apparatus, storing medium that stores control program of virtual camera, and control method of virtual camera | |
JP4242318B2 (ja) | 3次元画像生成装置および3次元画像生成プログラム | |
US8647197B2 (en) | Storage medium storing game program and game apparatus | |
EP0990458A2 (en) | Video game machine, method for switching viewpoint on gamescreen of video game, and computer-readable recording medium containing game-screen-viewpoint switching program | |
US6878065B2 (en) | Video game system, character action control method, and readable storage medium storing character action control program | |
US20140002456A1 (en) | Image processing apparatus and storing medium that stores image processing program | |
US6326967B1 (en) | Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program | |
JP3602835B2 (ja) | ビデオゲーム装置およびその制御方法ならびにゲームプログラム | |
EP0948978B1 (en) | Image creating apparatus, image creating method, and computer-readable recording medium containing image creating program | |
JP3001538B1 (ja) | ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体 | |
JP3839355B2 (ja) | ゲーム装置およびゲームプログラム | |
JP2004242706A (ja) | ゲームプログラムおよびゲーム装置 | |
JP4054708B2 (ja) | ゲーム装置およびゲームプログラム | |
JP4219766B2 (ja) | 画像生成プログラムおよび画像生成装置 | |
JP2005050070A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2005152081A (ja) | キャラクタ移動制御プログラムおよびゲーム装置 | |
JP2005211332A (ja) | ゲームプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060605 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3839355 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090811 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090811 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130811 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130811 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |