(57)【特許請求の範囲】
【請求項１】
３次元座標データに基づいて疑似３次元表示された、起伏を有するフィールド内におけるカーソルの表示方法であって、
上記フィールドの３次元座標上における選択位置の高さデータを、上記フィールドの各位置の高さデータを記憶するフィールド高さ記憶手段から読み出して記憶する選択位置高さ記憶ステップと、
上記選択位置の高さデータを元にして、上記フィールドの高さ方向に複数の３次元座標値を設定し、該複数の３次元座標値の示す位置に複数のカーソル画像を疑似３次元表示させる描画ステップとを含む、疑似３次元表示されたフィールド内におけるカーソルの表示方法。
【請求項２】
１つのカーソル画像に対して種類の異なるカーソル画像が複数用意されると共に、上記複数のカーソル画像から１つのカーソル画像を選択するためのカーソル画像番号データを得るカーソル画像番号取得ステップとを更に含む請求項１記載の疑似３次元表示されたフィールド内におけるカーソルの表示方法。
【請求項３】
上記複数のカーソル画像の内の一部若しくは全部のカーソル画像が半透明で表示される請求項１記載の疑似３次元表示されたフィールド内におけるカーソルの表示方法。
【請求項４】
上記選択位置の高さデータに、所定期間毎、且つ、循環して可変される値が加算される加算ステップを設けた請求項１記載の疑似３次元表示されたフィールド内におけるカーソルの表示方法。
【請求項５】
上記フィールドに対する視点位置の変更に対応して上記複数のカーソル画像の形状が変更される請求項１記載の疑似３次元表示されたフィールド内におけるカーソルの表示方法。
【請求項６】
操作手段と、フィールド画像及びカーソル画像を疑似３次元表示するための表示手段と、ゲームプログラムデータの記録された記録媒体とを備え、
上記ゲームプログラムデータは、
上記フィールドの３次元座標上における選択位置の高さデータを、上記フィールドの各位置の高さデータを記憶するフィールド高さ記憶手段から読み出して記憶する選択位置高さ記憶ステップと、
上記選択位置の高さデータを元にして、上記フィールドの高さ方向に複数の３次元座標値を設定し、該複数の３次元座標値の示す位置に複数のカーソル画像を疑似３次元表示させる描画ステップとを含むゲームシステム。
【請求項７】
１つのカーソル画像に対して種類の異なるカーソル画像が複数用意されると共に、当該複数のカーソル画像から１つのカーソル画像を選択するためのカーソル画像番号データを得るカーソル画像番号取得ステップとを更に含む請求項６記載のゲームシステム。
【請求項８】
上記複数のカーソル画像の内の一部若しくは全部のカーソル画像が半透明で表示される請求項６記載のゲームシステム。
【請求項９】
上記選択位置の高さデータに、所定期間毎、且つ、循環して可変される値が加算される加算ステップを設けた請求項６記載のゲームシステム。
【請求項１０】
上記フィールドに対する視点位置の変更に対応して上記複数のカーソル画像の形状が変更される請求項６記載のゲームシステム。
【請求項１１】
疑似３次元表示されたフィールド内でカーソルにより指定を行うようにしたゲームプログラムデータの記録された記録媒体であって、
上記ゲームプログラムデータは、
上記フィールドの３次元座標上における選択位置の高さデータを、上記フィールドの各位置の高さデータを記憶するフィールド高さ記憶手段から読み出して記憶する選択位置高さ記憶ステップと、
上記選択位置の高さデータを元にして、上記フィールドの高さ方向に複数の３次元座標値を設定し、該複数の３次元座標値の示す位置に複数のカーソル画像を疑似３次元表示させる描画ステップとを含む記録媒体。
【請求項１２】
１つのカーソル画像に対して種類の異なるカーソル画像が複数用意されると共に、当該複数のカーソル画像から１つのカーソル画像を選択するためのカーソル画像番号データを得るカーソル画像番号取得ステップとを更に含む請求項１１記載の記録媒体。
【請求項１３】
上記複数のカーソル画像の内の一部若しくは全部のカーソル画像が半透明で表示される請求項１１記載の記録媒体。
【請求項１４】
上記選択位置の高さデータに、所定期間毎、且つ、循環して可変される値が加算される加算ステップを設けた請求項１１記載の記録媒体。
【請求項１５】
上記フィールドに対する視点位置の変更に対応して上記複数のカーソル画像の形状が変更される請求項１１記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームデータの記録された、光ディスク、磁気ディスク、半導体メモリを用いたカセット式記録媒体等を用いるゲームシステムに適用して好適な疑似３次元表示されたフィールド内におけるカーソルの表示方法、ゲームシステム及び記録媒体に関する。
【０００２】
【従来の技術】
ゲームシステムは数多く提案されている。家庭用の専用機とテレビジョンモニタとからなるシステム、業務用の専用機、パーソナルコンピュータ若しくはワークステーションとディスプレイと音声出力機とからなるシステム等である。これらのシステムは、何れも、プレーヤが操作するためのコントローラと、ゲームプログラムデータと画像や音声などのデータからなるゲームデータの記録された記録媒体と、ゲームプログラムデータに基いて音声や画像の生成のための制御を行うＣＰＵと、画像を処理するためのプロセッサと、音声を処理するためのプロセッサと、画像を表示するためのＣＲＴと、音声を出力するためのスピーカとで構成される。上記記録媒体としては、ＣＤ−ＲＯＭ、半導体メモリ、半導体メモリを内蔵したカセット等が多い。ゲームシステムの構成は以上の通りである。
【０００３】
一方、ゲームの種類は増加の一途をたどり、また、ゲームの内容は、日増しに複雑、且つ、多様化してきている。最近では、フィールド上の自分側のキャラクタの位置をコントローラで動かして、コンピュータ側の制御するキャラクタと対峙させ、戦わせることにより、テレビジョンモニタの表示面上に形成されるゲーム空間上で、擬似的に合戦を行うものまで提案されている。
【０００４】
【発明が解決しようとする課題】
上述した擬似的に合戦を行うようなゲームでは、ゲームプレーヤが、行動をさせようとするキャラクタを選択するといった作業を行わなければならない。この「選択」には、通常、コントローラの十字キーと、この十字キーによってフィールド内を移動するカーソルが用いられる。
【０００５】
一方、このようなゲームのユーザからは、フィールドを疑似３次元表示にしてほしいといった要望がある。
しかしながら、フィールドを疑似３次元表示すると、上記カーソルの位置が分からなくなるという問題がある。例えば、カーソルの位置が、起伏の向こう側にあった場合には、当該起伏によって、カーソルは見えなくなってしまう。
本発明はこのような点を考慮してなされたもので、疑似３次元表示されたフィールド内のカーソルの位置が明確に判別できるようにすることを目的とする。
【０００６】
【課題を解決するための手段】
主要な発明の１つは、疑似３次元表示されたフィールド内におけるカーソルの表示方法であって、３次元空間上における上記フィールド上において、当該フィールドの高さ方向に複数のカーソル画像が疑似３次元表示されるものである。
【０００７】
また、上記発明において、１つのカーソル画像に対して種類の異なる複数のカーソル画像が用意されると共に、当該複数のカーソル画像が、循環的に表示されるものである。
【０００８】
また、上記発明において、上記複数のカーソル画像の内の一部若しくは全部のカーソル画像の表示位置が所定期間毎に変更されるものである。
【０００９】
また、上記発明において、上記フィールドに対する視点位置の変更に対応して上記複数のカーソル画像の形状が変更されるものである。
【００１０】
また、上記発明において、上記複数のカーソル画像の内の一部若しくは全部のカーソル画像が半透明で表示されるものである。
【００１１】
【発明の実施の形態】
以下に、図１〜図１３を順次参照して本発明の実施の形態について詳細に説明する。
【００１２】
本発明の実施の形態の説明は、次に示す項目説明を各項目の先頭に記載し、各項目について次に示す順序で説明する。
【００１３】
Ａ．ゲームシステムの構成（図１）
Ｂ．図１に示したＣＰＵ１の有する機能（図２）
Ｃ．ゲームシステムで用いられるテーブル（図３）
Ｄ．画面表示例（図４〜図７）
Ｅ．メインルーチンによる制御動作（図８〜図１０）
Ｆ．フィールド画像表示ルーチンＳ２００による制御動作（図１１）
Ｇ．カーソル画像表示ルーチンＳ４００による制御動作（図１２及び図１３）
【００１４】
Ａ．ゲームシステムの構成（図１）
【００１５】
図１は、本発明の一実施の形態としてのゲームシステムの構成例を示す構成図である。
〔ゲームの内容〕
本形態においては、戦闘フィールド内に敵味方のキャラクタが多数表示される。ゲームプレーヤは、味方のキャラクタの位置を、コントローラ２２の十字キーの操作によって移動することができる。そして、ゲームプレーヤは、当該キャラクタに対し、当該キャラクタに対峙している敵のキャラクタを攻撃させるコマンドを発行することができる。各キャラクタには、各キャラクタの個性に対応したエネルギー値が与えられており、これが“０”になったキャラクタは、フィールド内から消去される。１つの戦闘フィールドをクリアするためには、敵の大将を倒さなければならない。また、味方の大将が敵に倒された場合には、ゲームオーバーとなる。
【００１６】
〔接続及び構成〕
この図１に示されるゲームシステムは、ゲーム機本体と、画像や音声、並びにプログラムデータからなるゲームデータの記録された記録媒体３０とからなる。ゲーム機本体は、ＣＰＵ１に、グラフィックスデータ生成プロセッサ３、並びにアドレス、データ及びコントロールバスからなるバス２が接続され、このバス２に、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画処理プロセッサ１０及びバッファ１１、音声処理プロセッサ１３及びバッファ１４、デコーダ１７及びバッファ１８、インターフェース回路２０及びメモリ２１とが夫々接続され、更に、描画処理プロセッサ１０にテレビジョンモニタ１２が接続され、音声処理プロセッサ１３に増幅回路１５を介してスピーカ１６が接続され、デコーダ１７に記録媒体ドライバ１９が接続され、インターフェース回路２０にコントローラ２２が接続されて構成される。
【００１７】
ここで、上記ゲームシステムは、用途に応じてその形態が異なる。即ち、上記ゲームシステムが、家庭用として構成されている場合においては、テレビジョンモニタ１２及びスピーカ１６は、ゲーム機本体とは別体となる。また、上記ゲームシステムが、業務用として構成されている場合においては、図１に示されている構成要素はすべて一体型となっている１つの筺体に収納される。また、上記ゲームシステムが、パーソナルコンピュータやワークステーションを核として構成されている場合においては、上記テレビジョンモニタ１２は、上記コンピュータ用のディスプレイに対応し、上記描画処理プロセッサ１０、音声処理プロセッサ１３、伸張回路７は、夫々上記記録媒体３０に記録されているゲームプログラムデータの一部若しくはコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応し、上記インターフェース回路４、上記パラレルポート８、上記シリアルポート９及びインターフェース回路２０は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、上記バッファ１１、１４及び１８は、夫々メインメモリ５若しくは図示しない拡張メモリの各エリアに対応する。本形態では、上記ゲームシステムが、家庭用として構成されている場合を例にとり説明する。
【００１８】
次に、図１に示した各構成要素についてより詳細に説明する。グラフィックスデータ生成プロセッサ３は、ＣＰＵ１のいわばコプロセッサとしての役割を果たす。即ち、このグラフィックスデータ生成プロセッサ３は、座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を、並列処理により行う。このグラフィックスデータ生成プロセッサ３の主な処理は、座標変換処理及び光源計算処理である。座標変換処理は、ＣＰＵ１から供給される画像データの２次元若しくは３次元面内における各頂点の絶対座標データを、移動量データ及び回転量データに基いて、処理対象画像の表示エリア上におけるアドレスを求め、当該アドレスデータを、再びＣＰＵ１に返す処理である。この座標変換処理については後に詳述する。
【００１９】
また、光源計算処理は、光線のベクトルデータと、ポリゴンの面の向きを表す法線データと、面の色を示すデータとに応じて、画像の輝度を計算する処理である。
【００２０】
上記インターフェース回路４は、周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用である。上記ＲＯＭ６にゲームシステムのオペレーティングシステムとしてのプログラムデータが、記憶されている。パーソナルコンピュータで言えば、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）に相当する。
【００２１】
上記伸張回路７においては、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）やＪＰＥＧ（Ｊｏｉｎｔ  Ｐｉｃｔｕｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｇｒｏｕｐ）に準拠したイントラ符号化により圧縮された圧縮画像に対し、伸張処理が施される。伸張処理は、デコード処理（ＶＬＣ：Ｖａｒｉａｖｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅによりエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等である。
【００２２】
描画処理プロセッサ１０は、ＣＰＵ１が発行する描画命令に基いて、バッファ１１に対する描画処理を行う。バッファ１１は、表示エリアと非表示エリアとからなる。表示エリアは、テレビジョンモニタ１２の表示面上に表示されるデータの展開エリアである。非表示エリアは、テクスチャデータやカラーパレットデータ等の記憶エリアである。ここで、テクスチャデータは、２次元の画像データである。カラーパレットデータは、テクスチャデータ等の色を指定するためのデータである。これらのデータは、ＣＰＵ１により、記録媒体３０から１回、若しくはゲームの進行状況に応じて複数回に分けて読み出され、予めバッファ１１の非表示エリアに記憶される。
【００２３】
描画命令としては、例えばラインを描画するための描画命令、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは、多角形の２次元画像であり、本形態においては、三角形若しくは四角形が用いられる。
【００２４】
ラインを描画するための描画命令は、ラインの描画開始及び終了アドレス、色及びライン描画を意味するデータからなる。このライン描画命令は、ＣＰＵ１により、直接、描画処理プロセッサ１０に対して発行される。
【００２５】
ポリゴンを用いて立体的な画像を描画するための描画命令は、バッファ１１の表示エリア上におけるポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャデータのバッファ１１上における記憶位置を示すテクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１１上における記憶位置を示すカラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データとからなる。これらのデータの内、ポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの、ポリゴン絶対座標データと、ポリゴンの動きを示すデータと、視点位置の動きを示すデータとに基いて演算を行うことによって得られる。ここで、ポリゴン頂点アドレスデータがどのようにして求められるのかについて説明する。
【００２６】
テレビジョンモニタ１２の表示面上における物体の動きは、物体のそのものの動きと、この物体に対する視点位置の動きとで決まる。例えば、物体のみが動き、視点位置が固定されているものとすれば、テレビジョンモニタ１２の表示面上における物体の動きは、物体そのものの動きである。逆に、物体に動きがなく、視点位置のみが動かされたものとすれば、テレビジョンモニタ１２の表示面上における動きは、視点位置そのものの動きである。尚、「視点位置」を、「カメラ位置」と読み替えると、より理解し易いであろう。つまり、テレビジョンモニタ１２の表示面上においては、あたかも、カメラを動かしながら物体を撮像したような表示が行われる。説明を簡単にするために、物体若しくは視点位置のどちらか一方が動く場合について説明したが、通常は、物体及び視点位置の両方が動いているように処理され、その結果が表示される。
【００２７】
ここで、上記物体の「動き」は、「回転量」及び「移動量」からなる。視点位置に対する物体の回転量は、物体の回転角と、視点位置の回転角とで生成される。ここで、回転量、回転角は、２次元座標系が用いられる処理では２×２、３次元座標系が用いられる処理では３×３の行列で表される。また、視点位置に対する物体の移動量は、物体の位置（座標値）と、視点位置の位置（座標値）と、視点位置の回転角とで生成される。ここで、回転角は、上述と同様に、２次元座標系が用いられる処理では２×２、３次元座標系が用いられる処理では３×３の行列で表される。尚、コントローラ２２の操作に基づく物体の回転角、視点位置の回転角は、夫々テーブルとして保持されている。ＣＰＵ１は、コントローラ２２の操作に基いて、上記テーブルから、対応する物体や視点位置の回転角を読み出し、読み出した回転角を、視点位置に対する物体の回転量や、移動量を求めるために用いるのである。
【００２８】
以上の説明から分かるように、表示エリア上のポリゴン頂点アドレスデータは、次のようにして求められる。即ち、コントローラ２２の操作に応じて、物体の回転角及び位置、並びに視点位置の回転角及び位置が、ＣＰＵ１によって求められる。次に、ＣＰＵ１により、物体の回転角と視点位置の回転角とに基いて、視点位置に対する物体の回転量が求められる。そして、ＣＰＵ１により、物体の位置と視点位置の位置及び回転角とに基いて、視点位置に対する物体の移動量が求められる。これら物体の回転量及び移動量データは、既に説明したように、３次元座標系が用いられて処理される場合においては、３×３の行列で表される。
【００２９】
上記物体の回転量及び移動量データは、ポリゴンの絶対座標データと共に、グラフィックスデータ生成プロセッサ３に与えられる。グラフィックデータ生成プロセッサ３は、上記物体の回転量及び移動量データに基いて、ポリゴンの絶対座標データを、ポリゴン頂点アドレスデータに変換する。以上が、ポリゴン頂点アドレスデータが得られるまでの処理である。
【００３０】
上記ポリゴン頂点アドレスデータは、バッファ１１の表示エリア上のアドレスを示す。描画処理プロセッサ１０は、バッファ１１の表示エリア上に、３若しくは４個のポリゴン頂点アドレスデータで示されるところの、三角形若しくは四角形の範囲を設定し、当該範囲に、対応するテクスチャデータを書き込む。この処理は、一般に、「テクスチャの貼り付け」等と称されている。これによって、テレビジョンモニタ１２の表示面上には、多数のポリゴンにテクスチャデータの貼り付けられた物体が表示される。
【００３１】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、カラーパレットアドレスデータ並びにテクスチャの輝度を示す輝度データとからなる。これらのデータの内、頂点アドレスデータは、グラフィックスデータ生成プロセッサ３が、ＣＰＵ１からの平面上における頂点座標データを、ＣＰＵ１からの移動量データに基いて、座標変換して得られる座標データである。以下、描画処理については、「描画命令を発行する」等のように簡略化して記載する。
【００３２】
音声処理プロセッサ１３は、記録媒体３０から読み出されたＡＤＰＣＭデータを、バッファ１４に記憶し、このバッファ１４に記憶されたＡＤＰＣＭデータを音源とする。そして、音声処理プロセッサ１３は、ＡＤＰＣＭデータを、例えば４４．１ＫＨｚの周波数のクロックで読み出す。そして、音声処理プロセッサ１３は、バッファ１４から読み出したＡＤＰＣＭデータに対し、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定、リバーブの付加等の処理を施す。記録媒体３０から読み出される音声データが、ＰＣＭデータの場合においては、このＰＣＭデータは、ＣＰＵ１により、ＡＤＰＣＭデータに変換される。また、ＰＣＭデータに対するプログラムデータによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理され、更に、ＡＤＰＣＭフォーマットのデータにエンコードされた音声データは、音声処理プロセッサ１３に供給されて上述した各種処理が施された後に、音声としてスピーカ１６から出力される。
【００３３】
記録媒体ドライバ１９は、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読みとり機等である。記録媒体３０は、例えばハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等である。記録媒体ドライバ１９は、記録媒体３０から画像、音声、ゲームプログラムデータを読み出し、読み出したデータを、デコーダ１７に供給する。デコーダ１７は、記録媒体ドライバ１９からの再生データに対し、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータを、メインメモリ５若しくは音声処理プロセッサ１３に供給する。
【００３４】
メモリ２１は、例えば、ホルダ及びカード型のメモリからなる。カード型のメモリは、例えば終了時点の状態を保持する等のように、ゲームの各種パラメータを保持するためのものである。
【００３５】
コントローラ２２は、左キーＬ、右キーＲ、上キーＵ及び下キーＤからなる十字キーと、第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２、スタートボタン２２ａ、セレクトボタン２２ｂ、第１ボタン２２ｃ、第２ボタン２２ｄ、第３ボタン２２ｅ、第４ボタン２２ｆとからなる。十字キーは、ゲームプレーヤが、ＣＰＵ１に対し、上下左右を示すコマンドを与えるものである。スタートボタン２２ａは、ゲームプレーヤが、記録媒体３０からロードされるゲームプログラムデータの開始を、ＣＰＵ１に指示するためのものである。セレクトボタン２２ｂは、ゲームプレーヤが、記録媒体３０からメインメモリ５にロードされるゲームプログラムデータに関する各種選択を、ＣＰＵ１に指示するためのものである。尚、第１左ボタン２２Ｌ１、第２左ボタンＬ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２、第１〜第４ボタン２２ｃ、２２ｄ、２２ｅ、２２ｆの機能は、記録媒体３０からロードされるゲームプログラムデータによって異なる。
【００３６】
〔動作〕
電源スイッチ（図示せず）がオンにされ、ゲームシステムに電源が投入される。このとき、記録媒体３０が、記録媒体ドライバ１９に装填されていると、ＣＰＵ１が、ＲＯＭ６に記憶されているオペレーティングシステムに基いて、記録媒体ドライバ１９に対し、記録媒体３０からのゲームデータの読み出しを指示する。これにより、記録媒体ドライバ１９は、記録媒体３０から画像、音声及びゲームプログラムデータを読み出す。読み出された画像、音声及びゲームプログラムデータは、デコーダ１７に供給され、ここで、エラー訂正処理が施される。デコーダ１７においてエラー訂正処理の施された画像データは、バス２を介して伸張回路７に供給され、ここで、上述した伸張処理が施された後に、描画処理プロセッサ１０に供給され、この描画処理プロセッサ１０により、バッファ１１の非表示エリアに書き込まれる。
【００３７】
デコーダ１７においてエラー訂正処理の施された音声データは、メインメモリ５若しくは音声処理プロセッサ１３に供給され、メインメモリ５若しくはバッファ１４に書き込まれる。また、デコーダ１７においてエラー訂正処理の施されたゲームプログラムデータは、メインメモリ５に供給され、このメインメモリ５に書き込まれる。以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラムデータ、並びにゲームプレーヤが、コントローラ２２を介して指示する内容に基いて、ゲームを進行する。即ち、ＣＰＵ１は、コントローラ２２を介してゲームプレーヤから指示される指示内容に基いて、適宜、画像処理の制御、音声処理の制御、内部処理の制御を行う。画像処理の制御とは、上述した回転量及び移動量データや絶対座標データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ１１の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等である。音声処理の制御とは、音声処理プロセッサ１３に対する音声出力コマンドの発行、レベル、リバーブ等の指定である。内部処理の制御とは、例えばコントローラ２２の操作に応じた演算等である。
【００３８】
Ｂ．図１に示したＣＰＵ１の有する機能（図２）
【００３９】
図２は、図１に示したＣＰＵ１の有する機能を示す説明図である。ＣＰＵ１は、図１に示した記録媒体３０から読み出され、メインメモリ５に記憶されたプログラムデータを読むことにより、図２に示す機能を持つ。この図２に示されているＣＰＵ１の機能は、ボタン操作検出手段１ａ、演算手段１ｂ、判断手段１ｃ、変数設定手段１ｄ、描画命令発行手段１ｅ、操作情報・視点位置変換手段１ｆ、フィールド情報管理手段１ｇ、キャラクタ情報管理手段１ｈ、カーソル情報管理手段１ｉとで構成される。これらの手段は、夫々項目Ｅ〜項目Ｇにおいて説明する制御の主体となる。
【００４０】
Ｃ．ゲームシステムで用いられるテーブル（図３）
【００４１】
図３は、図１に示したゲームシステムで用いられるテーブルの一例を示す説明図であり、図３Ａは、フィールドのデータからなるテーブル、図３Ｂは、フィールド内のキャラクタの位置と状態を示すデータからなるテーブル、図３Ｃは、視点位置に応じたフィールドを構成するポリゴンの頂点のアドレスデータ、回転量データ及び移動量データからなるテーブルである。
【００４２】
図３Ａは、フィールドの各位置の高さが登録されたテーブルであり、このテーブルデータは、記録媒体３０から読み出されて、メインメモリ５に記憶される。
【００４３】
図３Ｂは、上記フィールドにおける敵若しくは味方のキャラクタの位置、敵味方を示すフラグ、行動可不可フラグ、設定エネルギー及び現在エネルギーからなるテーブルである。このテーブルデータは、記録媒体３０から読み出されて、メインメモリ５に記憶される。メインメモリに記憶されたテーブルデータは、各キャラクタの状態、ゲームの進行状況に応じて随時その内容が書き換えられる。図３Ｃは、上記フィールドをポリゴン表示するために用いられるテーブルである。
【００４４】
ここで、キャラクタフラグは、アドレス（ｘ、ｙ）が示す位置にキャラクタが存在するか否かを示すフラグであり、キャラクタが存在する場合には、その値がハイレベル“１”にされ、キャラクタが存在しない場合には、その値がローレベル“０”にされる。設定エネルギーは、キャラクタの種類によって異なる。戦闘は、ランダムに発生する減算値を、設定エネルギーから減算することによって行われる。現在エネルギーは、現在の残りエネルギーであり、“０”になると、当該キャラクタは倒されたものとされ、消去される。その際、当該キャラクタのキャラクタフラグの値は、ローレベル“０”とされる。行動フラグは、アドレス（ｘ、ｙ）が示す位置のキャラクタが行動を終了しているか否かを示すフラグであり、行動が終了した場合には、その値がハイレベル“１”にされ、行動が終了していない場合には、その値がローレベル“０”にされる。ここで、「行動」とは、例えば攻撃等を示す。
【００４５】
本形態においては、上記フィールドが、ポリゴン表示されると共に、当該フィールドが、コントローラ２２の第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２の操作に基いて動かされる。即ち、第１左ボタン２２Ｌ１が押されると、上記フィールドが、順次、左方向に回転される。第２左ボタン２２Ｌ２が押されると、上記フィールドが、順次、右方向に回転される。第１右ボタン２２Ｒ１が押されると、上記フィールドの手前側が上方に持ち上げられ、向こう側が下方に下げられる。第２右ボタン２２Ｒ２が押されると、上記フィールドの向こう側が上方に持ち上げられ、手前側が下方に下げられる。そして、本形態においては、以上説明した動きに伴って、カーソル画像の形状も変更される。
【００４６】
コントローラ２２の第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２の何れかが押されると、押されたボタンの種類と押圧回数が、視点位置に変換される。図３Ｃに示されるテーブルは、上記視点位置データをインデックスとして、メインメモリ５上のポリゴンの頂点の絶対座標データのアドレスデータ、回転量データ及び移動量データを得るためのものである。上記アドレスデータによってメインメモリ５から読み出されたポリゴンの頂点の絶対座標データ（ｘ、ｙ、ｚ）、回転量データ及び移動量データは、夫々グラフィックスデータ生成プロセッサ３に供給され、描画命令を生成するための情報として用いられる。
【００４７】
Ｄ．画面表示例（図４〜図７）
【００４８】
図４〜図７は、本形態における画面表示例を示す説明図である。本形態においては、フィールドが疑似３次元表示される。フィールドが疑似３次元表示されると、カーソルの位置が起伏の向こう側だった場合にカーソルが当該起伏によって隠れ、カーソルの位置が分からなくなってしまう。そこで、本形態においては、フィールドの高さ方向に、複数のカーソルを疑似３次元表示するようにする。つまり、カーソルを高さ方向に多数表示して煙突状にすることにより、カーソルの位置が起伏の向こう側となっても、カーソルの所在が分かるようにする。
図４は、フィールド上に疑似３次元表示されたカーソル画像の一例を示す説明図である。この図４に示されるように、カーソル画像は、最もフィールドＦに近い位置に表示される基本の白色の菱形のカーソル画像Ｃａ１と、当該カーソル画像Ｃａ１の上に多数表示される半透明のカーソル画像とからなる。画面上で最も高い位置にある下から数えてｎ番目のカーソル画像には、符号Ｃａｎを付している。作図の都合上、表現することはできないが、各カーソル画像は、フレーム毎に、異なる模様のカーソル画像が表示される。従って、視覚的にカーソル内が回転しているように表示される。また、基本となるカーソル画像以外のカーソル画像のアドレスが、フレーム毎に可変される。よって、視覚的には、あたかも、煙がたち上るように表示される。勿論、全てのカーソル画像を半透明にしたり、全てのカーソル画像の表示位置を変更するようにしても良い。
図４に示されるカーソルは、十字キーを操作することにより、フィールドＦ内で移動することができる。図５は、カーソル画像Ｃａ１により、キャラクタＣＡを選択している状態を示している。また、カーソル画像Ｃａ１〜Ｃａｎが煙突状の形状を呈しているので、図６に示されるように、カーソル画像Ｃａ１の位置が起伏Ｍの向こう側となっても、その上部である、Ｃａｎ以下４つのカーソル画像が見えるので、ゲームプレーヤは、カーソル画像Ｃａ１の位置を認識することができる。更に、本形態においては、第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２の操作により、フィールドＦに対する視点位置が変更される。言い換えれば、上記ボタンの操作により、フィールドが３次元的に変形される。そして、図７に示されるように、カーソル画像Ｃａ１〜Ｃａｎも、上記ボタンの操作に連動して変形される。
【００４９】
Ｅ．メインルーチンによる制御動作（図８〜図１０）
【００５０】
図８〜図１０は、ゲームのメインルーチンによる制御動作を説明するためのフローチャートである。
【００５１】
尚、ステップＳ１のみ、図１に示したＲＯＭ６に記憶されているオペレーティングシステムによる制御動作である。他のステップは、記録媒体３０から読み出されたゲームプログラムデータによる制御動作である。また、ゲームプログラムデータによる制御の主体は、既に説明したように、図２に示したＣＰＵ１の機能としての各手段である。
【００５２】
ステップＳ１では、オペレーティングシステムの命令により、記録媒体ドライバ１９が、記録媒体３０から画像、音声及びゲームプログラムデータを読み出す。読み出されたデータの内、プログラムデータは、メインメモリ５に記憶される。これにより、ＣＰＵ１は、図２に示した機能を有する。尚、このとき、画像、即ち、テクスチャデータは、描画処理プロセッサ１０のバッファ１１の非表示エリアに記憶され、夫々テクスチャ番号が割り当てられるものとする。また、音声データは、音声処理プロセッサ１３のバッファ１４に記憶され、夫々音声番号データが割り当てられるものとする。通常、すべての画像及び音声データが、ステップＳ１においてバッファ１１及び１４に保持されることはないが、説明の便宜上、すべての画像及び音声データが、ステップＳ１においてロードされるものとする。
ステップＳ２では、ボタン操作検出手段１ａが、コントローラ２２のスタートボタン２２ａが押された否かを判断し、「ＹＥＳ」であればステップＳ３に移行する。
【００５３】
ステップＳ３では、描画命令発行手段１ｅが、セレクト画像の描画を示す描画命令を、図１に示した描画処理プロセッサ１０に対して発行する。描画処理プロセッサ１０は、上記描画命令に基いて、セレクト画像の画像データを、バッファ１１の表示面上に展開する。これにより、テレビジョンモニタ１２の表示面上には、セレクト画像が表示される。
ステップＳ４では、ボタン操作手段１ａが、コントローラ２２のスタートボタン２２ａが押されたか否かを判断し「ＹＥＳ」であればステップＳ５に移行する。
【００５４】
ステップＳ５では、ＣＰＵ１が、セレクトされたゲームにセットする。ここで、「セレクトされる」とは、ゲームプレーヤが、ステップＳ３で表示されたセレクト画像を参照して、十字キーを用いてゲームを選択し、この後に、スタートボタン２２ａを押すことを意味する。また、ここで「ゲーム」とは、ゲームそのものの他、例えば新たにゲームを行うか、または、メモリカードにセーブしている前回のゲームを行うか等も含む。要するに、ゲームが実際に開始される前の選択事項である。説明の便宜上、このステップＳ５において、新たにゲームを行うことが選択されたものとする。
ステップＳ６では、描画命令発行手段１ｅが、セレクトされたゲームの初期画像の描画を示す描画命令を、描画処理プロセッサ１０に対して発行する。これにより、描画処理プロセッサ１０は、バッファ１１の表示エリア上に初期画像の画像データを書き込む。これにより、テレビジョンモニタ１２の表示面上には、初期画像が表示される。
【００５５】
ステップＳ７では、変数設定手段１ｄが、メインメモリ５に保持しているフラグや変数を夫々リセットする。
【００５６】
ステップＳ８では、判断手段１ｃが、前回のパラメータが選択されたか否かを判断し、「ＹＥＳ」であればステップＳ１００に移行し、「ＮＯ」であればステップＳ９に移行する。ここで、前回のパラメータとは、メモリカードに記憶されているパラメータであり、前回の状態からゲームを開始するためのデータである。例えば、フィールドを特定するためのデータ（番号データ等）、図３Ｂに示したテーブルデータ等である。
ステップＳ９では、ＣＰＵ１が、メモリ２１から、前回のパラメータデータを、読み出す。読み出された前回のパラメータデータは、メモリ２１から読み出された後に、インターフェース回路２０及びバス２を介して、メインメモリ５に記憶される。これによって、ゲームシステムは、前回のパラメータデータでセットされる。つまり、ゲームプレーヤは、前回の続きからゲームを開始することができる。
【００５７】
ステップＳ１００では、前置き部分の処理ルーチンによる処理が行われる。ここで、前置き部分とは、実際にゲームが開始されるまでの、あらすじの画像の表示である。ここでは、ゲームプレーヤは、コントローラ２２の第１ボタン２２ｃを押すことによって、話を先に進めることができる。そして、このルーチンＳ１００を抜けると、実際にゲームが開始される。
ステップＳ１０では、ＣＰＵ１が、メモリ２１から、初期値としてのパラメータデータを、読み出す。読み出された初期値としてのパラメータデータは、メモリ２１から読み出された後に、インターフェース回路２０及びバス２を介して、メインメモリ５に記憶される。これによって、ゲームシステムは、初期値としてのパラメータでセットされる。つまり、ゲームプレーヤは、最初からゲームを開始することができる。
【００５８】
ステップＳ２００では、フィールド画像表示ルーチンによる処理が行われる。このフィールド画像表示ルーチンＳ２００については、後に詳述する。
ステップＳ３００では、キャラクタ画像表示ルーチンによる処理が行われこの本形態においては、キャラクタ画像表示ルーチンＳ３００では、２次元によるキャラクタの表示処理が行われる。つまり、予めキャラクタ毎に用意された数種類の画像パターンが、フレーム毎にかわるがわる表示される。これによって、ゲームプレーヤに対し、キャラクタが動いているように見せることができる。
ステップＳ４００では、カーソル画像表示ルーチンによる処理が行われる。このカーソル画像表示ルーチンについては、詳述する。
【００５９】
ステップＳ１１では、ボタン操作検出手段１ａが、十字キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ１２に移行し、「ＮＯ」であればステップＳ１５に移行する。
ステップＳ１２では、カーソル情報管理手段１ｉが、メインメモリ５のカーソルアドレス保持エリアに保持しているカーソルアドレスデータ（ｘ、ｚ）を、変更する。
【００６０】
ステップＳ１３では、カーソル情報管理手段１ｉが、カーソルアドレスデータ（ｘ、ｚ）を、メインメモリ５のカーソルアドレス記憶エリアに記憶する。
ステップＳ１４では、カーソル情報管理手段１ｉが、メインメモリ５のカーソルアドレス記憶エリアに記憶しているカーソルアドレスデータ（ｘ、ｚ）の値が示す高さデータｙを、メインメモリ５の高さデータ保持エリアに保持する。
【００６１】
ステップＳ１５では、ボタン操作検出手段１ａが、左右キーが押されたか否かを判断し、「ＹＥＳ」であればステップＳ１６に移行し、「ＮＯ」であればステップＳ１８に移行する。ここで、左右キーは、第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２を指す。既に説明したように、本形態においては、上記ボタンの操作により、フィールド及びカーソルに対する視点位置が変更される。言い換えれば、上記ボタンの操作により、フィールド及びカーソルの形状が可変する。
ステップＳ１６では、操作情報・視点位置変換手段１ｆが、コントローラ２２からの操作情報を、視点位置データに変換する。
【００６２】
ステップＳ１７では、操作情報・視点位置変換手段１ｆが、視点位置データを、メインメモリ５に記憶する。ここで記憶された視点位置データが、図４Ｃに示したテーブルからメインメモリ５上におけるポリゴン絶対座標データのアドレス、回転量及び移動量データを読み出すためのインデックスとして用いられる。
ステップＳ１８では、ボタン操作検出手段１ａが、第１ボタンが押されたか否かを判断し、「ＹＥＳ」であればステップＳ１９に移行し、「ＮＯ」であればステップＳ３２に移行する。
【００６３】
ステップＳ１９では、キャラクタ情報管理手段１ｈが、メインメモリ５のカーソルアドレス記憶エリアに記憶されているカーソルアドレスデータ（ｘ、ｚ）が示す位置のキャラクタフラグを読み出す。続いて、判断手段１ｃが、キャラクタフラグが“１”か否かを判断し、「ＹＥＳ」であればステップＳ２０に移行し、「ＮＯ」であればステップＳ２７に移行する。
ステップＳ２０では、キャラクタ管理手段１ｈが、メインメモリ５のカーソルアドレス記憶エリアに記憶されているカーソルアドレスデータ（ｘ、ｙ）が示す位置の行動フラグを読み出す。続いて、判断手段１ｃが、行動フラグが“０”か否かを判断し、「ＹＥＳ」であればステップＳ２１に移行し、「ＮＯ」であればステップＳ２７に移行する。
【００６４】
ステップＳ２１では、描画命令発行手段１ｅが、キャラクタ用コマンド選択画像の出力を示す描画命令を、描画処理プロセッサ１０に対し発行する。
ステップＳ２２では、ボタン操作検出手段１ａが、コントローラ２２の操作状態を検出する。続いて、判断手段１ｃが、コマンドが入力されたか否かを判断し、「ＹＥＳ」であればステップＳ２３に移行し、「ＮＯ」であればステップＳ３２に移行する。
【００６５】
ステップＳ２３では、判断手段１ｃが、コマンドの内容が、「移動」か否かを判断し、「ＹＥＳ」であればステップＳ２４に移行し、「ＮＯ」であればステップＳ２５に移行する。
ステップＳ２４では、描画命令発行手段１ｅが、移動範囲報知用の画像の出力を示す描画命令を、描画処理プロセッサ１０に対し発行する。
【００６６】
ステップＳ２５では、判断手段１ｃが、コマンドの内容が、「攻撃」か否かを判断し、「ＹＥＳ」であればステップＳ２６に移行し、「ＮＯ」であればステップＳ２７に移行する。
ステップＳ２６では、変数設定手段１ｄが、攻撃モードのパラメータをセットする。ここで、攻撃モードのパラメータとは、攻撃を行うキャラクタの攻撃力等である。
【００６７】
ステップＳ２７では、変数設定手段１ｄが、他のパラメータをセットする。ここで、他のパラメータとは、保持、移動、防御等のように、攻撃以外の行動における各種パラメータである。
ステップＳ２８では、ボタン操作検出手段１ａが、コントローラ２２の操作状態を検出する。続いて、判断手段１ｃが、コマンドが入力されたか否かを判断し、「ＹＥＳ」であればステップＳ２９に移行し、「ＮＯ」であればステップＳ３２に移行する。
【００６８】
ステップＳ２９では、判断手段１ｃが、コマンドの内容が、「終了」か否かを判断し、「ＹＥＳ」であればステップＳ３０に移行し、「ＮＯ」であればステップＳ３１に移行する。
ステップＳ３０では、ＣＰＵ１が、メインメモリ５に記憶されているパラメータデータを、メモリ２１に記憶する。そして終了する。
【００６９】
ステップＳ３１では、変数設定手段１ｄが、他のパラメータをセットする。ここで、他のパラメータとは、終了以外のパラメータである。
ステップＳ３２では、判断手段１ｃが、ゲームオーバーか否かを判断し、「ＹＥＳ」であればステップＳ３３に移行し、「ＮＯ」であれば再びステップＳ２００に移行する。
【００７０】
尚、本形態においては、ステップＳ２００〜ステップＳ３２までの１回の処理時間は、１フレームとされる。１フレームの時間は、例えばＮＴＳＣ方式では、１／３０秒とされ、ＰＡＬ方式では、１／２５秒とされる。
【００７１】
Ｆ．フィールド画像表示ルーチンＳ２００による制御動作（図１１）
【００７２】
図１１は、フィールド画像表示ルーチンＳ２００による制御動作を説明するためのフローチャートである。
【００７３】
ステップＳ２０１では、フィールド情報管理手段１ｇが、視点位置データの値に応じた、メインメモリ５上のポリゴンの頂点の絶対座標データが記憶されているアドレスデータ、回転量データ及び移動量データを、図３Ｃに示したテーブルから得る。
ステップＳ２０２では、フィールド情報管理手段１ｇが、メインメモリ５から読み出したポリゴンの頂点の絶対座標、移動量、回転量、光線のベクトル、ポリゴンの法線のデータを、グラフィックスデータ生成プロセッサ３に夫々供給する。グラフィックスデータ生成プロセッサ３は、上記各データに基いて、変換後ポリゴンアドレスデータ（ｘ、ｚ）を及び輝度データを夫々求め、これらのデータを、フィールド情報管理手段１ｇに夫々供給する。
【００７４】
ステップＳ２０３では、フィールド情報管理手段１ｇが、グラフィックスデータ生成プロセッサ３からの、変換後ポリゴンアドレスデータ（ｘ、ｚ）及び輝度データを、夫々メインメモリ５に書き込む。
ステップＳ２０４では、判断手段１ｃが、ポリゴンの頂点の絶対座標データを全て変換後ポリゴンアドレスデータに変換したか否かを判断し、「ＹＥＳ」であればステップＳ２０５に移行し、「ＮＯ」であれば再びステップＳ２０２に移行する。
【００７５】
ステップＳ２０５では、描画命令発行手段１ｅが、変換後アドレスデータ（ｘ、ｚ）及び輝度データをメインメモリ５から読み出し、当該変換後アドレスデータ（ｘ、ｚ）及び輝度データを、テクスチャアドレスデータやカラーパレットアドレスデータと共に、描画命令として、描画処理プロセッサ１０に供給する。これにより、描画処理プロセッサ１０は、上記変換後アドレスデータ（ｘ、ｙ）に基いて、フィールドのテクスチャデータを、バッファ１１の表示エリア上に書き込む。従って、テレビジョンモニタ１２の表示面上には、多数のポリゴンからなるフィールドの画像が表示される。
ステップＳ２０６では、判断手段１ｃが、全てのデータを転送したか否かを判断し、「ＹＥＳ」であればこのポリゴン画像表示ルーチンＳ２００を抜け、「ＮＯ」であれば再びステップＳ２０５に移行する。
【００７６】
Ｇ．カーソル画像表示ルーチンＳ４００による制御動作（図１２及び図１３）
【００７７】
ステップＳ４００は、カーソル画像表示ルーチンＳ４００による制御動作を説明するためのフローチャートである。
【００７８】
ステップＳ４０１では、カーソル情報管理手段１ｉが、メインメモリ５のカーソルアドレス記憶エリアに記憶されているカーソルアドレス（ｘ、ｙ）を読み出し、当該カーソルアドレス（ｘ、ｙ）の示す位置の高さデータｙを、テーブルから読み出す。続いて、変数設定手段１ｄが、高さ変数Ｙに、高さデータｙを代入する。
【００７９】
ステップＳ４０２では、カーソル情報管理手段１ｉが、アドレス（ｘ、ｚ、Ｙ）を、メインメモリ５のアドレスセット用エリアに記憶する。
ステップＳ４０３では、演算手段１ｂが、変数ａ１に、基準値ｒｅｆを、加算する。ここで、この変数ａ１は、半透明の多数のカーソルの表示位置を、フレーム毎にずらすための変数であり、フレーム毎に、その値が順次大きくなり、最大値ａ１ｍａｘより大きくなると、最小値ａ１ｄｅｆにされる。
【００８０】
ステップＳ４０４では、判断手段１ｃが、変数ａ１が、変数ａ１の最大値ａ１ｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４０５に移行し、「ＮＯ」であればステップＳ４０６に移行する。
ステップＳ４０５では、変数設定手段１ｄが、変数ａ１に最小値ａ１ｄｅｆを代入する。
【００８１】
ステップＳ４０６では、演算手段１ｂが、高さ変数Ｙに、変数ａ１を、加算する。
ステップＳ４０７では、演算手段１ｂが、高さ変数Ｙに、変数ａ２を、加算する。ここで、変数ａ２は、同じアドレス（ｘ、ｚ）上に、多数のカーソルを表示するためのものである。
【００８２】
ステップＳ４０８では、カーソル情報管理手段１ｉが、アドレス（ｘ、ｚ、Ｙ）を、メインメモリ５のアドレスセット用エリアに記憶する。このアドレスは、上記高さ変数Ｙが取り得る値の数だけ設定される。高さ変数Ｙが取り得る値は、最小値から、高さ変数の最大値Ｙｍａｘまで、変数ａ２の値きざみである。
ステップＳ４０９では、演算手段１ｂが、画像番号データＰに、“１”を、加算する。ここで、画像番号データＰは、カーソル画像を選択するためのものである。本形態においては、ゲームプレーヤに対し、カーソルの中が左から右若しくは右から左に動いているように見せるために、模様の異なるカーソルの画像が、複数用意される。画像番号データＰの値は、最大値Ｐｍａｘを越えると、“０”にされ、再びフレーム毎に歩進される。従って、フレーム毎に、異なる画像番号データＰが得られ、この画像番号データＰによって、カーソルの画像が選択される。そして、この結果、ゲームプレーヤには、カーソルの内部が、左から右若しくは右から左に動いているように見えるのである。
【００８３】
ステップＳ４１０では、判断手段１ｃが、画像番号データＰの値が、画像番号データＰの最大値Ｐｍａｘより大きいか否かを判断し、「ＹＥＳ」であればステップＳ４１１に移行し、「ＮＯ」であればステップＳ４１２に移行する。
ステップＳ４１１では、変数設定手段１ｄが、画像番号データＰに、“０”を代入する。
【００８４】
ステップＳ４１２では、判断手段１ｃが、高さ変数Ｙの値が、高さ変数Ｙの最大値Ｙｍａｘよりも大きいか否かを判断し、「ＹＥＳ」であればステップＳ４１３に移行し、「ＮＯ」であれば再びステップＳ４０７に移行する。
ステップＳ４１３では、カーソル情報管理手段１ｉが、視点位置データの値に応じた、メインメモリ５上のポリゴンの頂点の絶対座標データの記憶アドレスデータ、回転量データ及び移動量データを、図３Ｃに示したテーブルから得る。
ステップＳ４１４では、カーソル情報管理手段１ｉが、メインメモリ５から読み出したポリゴンの頂点の絶対座標、移動量、回転量、光線のベクトル、ポリゴンの法線のデータを、グラフィックスデータ生成プロセッサ３に夫々供給する。グラフィックスデータ生成プロセッサ３は、上記各データに基いて、変換後ポリゴンアドレスデータ（ｘ、ｚ）を及び輝度データを夫々求め、これらのデータを、カーソル情報管理手段１ｉに夫々供給する。
【００８５】
ステップＳ４１５では、カーソル情報管理手段１ｉが、グラフィックスデータ生成プロセッサ３からの、変換後ポリゴンアドレスデータ（ｘ、ｚ）及び輝度データを、夫々メインメモリ５に書き込む。
ステップＳ４１６では、判断手段１ｃが、ポリゴンの頂点の絶対座標データを全て変換後ポリゴンアドレスデータに変換したか否かを判断し、「ＹＥＳ」であればステップＳ４１７に移行し、「ＮＯ」であれば再びステップＳ４１４に移行する。
【００８６】
ステップＳ４１７では、描画命令発行手段１ｅが、変換後アドレスデータ（ｘ、ｚ）及び輝度データをメインメモリ５から読み出し、当該変換後アドレスデータ（ｘ、ｚ）及び輝度データを、テクスチャアドレスデータやカラーパレットアドレスデータと共に、描画命令として、描画処理プロセッサ１０に供給する。これにより、描画処理プロセッサ１０は、上記変換後アドレスデータ（ｘ、ｙ）に基いて、フィールドのテクスチャデータを、バッファ１１の表示エリア上に書き込む。従って、テレビジョンモニタ１２の表示面上には、ポリゴンからなるカーソルの画像が表示される。
ステップＳ４１８では、判断手段１ｃが、全てのデータを転送したか否かを判断し、「ＹＥＳ」であればこのカーソル画像表示ルーチンＳ４００を抜け、「ＮＯ」であれば再びステップＳ４１７に移行する。
【００８７】
〔実施の形態における効果〕
以上説明したように、本形態においては、ポリゴンを用いてフィールドを描画すると共に、当該フィールド内に表示する、キャラクタを選択するためのカーソルの形状を、フィールドの下から上に向かって煙突状にした。従って、カーソルの位置が、起伏の向こう側に位置しても、カーソルの所在を確実に知ることができる。
更に、カーソルをポリゴンを用いて描画したので、フィールドとマッチングがとれ、よって、ゲームプレーヤに対し、より快適なゲーム空間を提供することができる。
更に、表示位置において最も低い位置にある基本カーソル以外のカーソルを、全て半透明にしたので、これらのカーソルと重なるフィールドが隠れず、よって、より快適なゲーム環境を、ゲームプレーヤに提供することができる。
更に、各カーソルを、フレーム毎に異なるカーソル画像を用いて表示するようにしたので、視覚的にカーソルの内部が回転しているように見せることができ、カーソルの視認性を高めると共に、フィールドの画像との区別をつけることができ、よって、ゲームプレーヤに対し、より快適なゲーム環境を提供することができる。
更に、第１左ボタン２２Ｌ１、第２左ボタン２２Ｌ２、第１右ボタン２２Ｒ１、第２右ボタン２２Ｒ２の操作に応じて、フィールド画像及びカーソル画像に対する視点位置を変更するようにしたので、フィールド内におけるカーソルの移動作業をし易くすることができる。
【００８８】
〔変形例１〕
上記実施の形態においては、カーソルの形状を正方形とした場合について説明したが、カーソルの形状は、円でも、三角形でも、５角形でも良い。また、カーソルの色を白色とした場合について説明したが、カーソルの色は、赤でも黄色でも良い。
〔変形例２〕
また、カーソルの位置に応じて視点位置を変更しても良い。即ち、ある高さを基準としておき、カーソルの位置のフィールドの高さが、当該基準値よりも高いときには、視点位置をその分だけ増加させ、低いときには、視点位置をその分だけ減少させるようにする。これを実現するには、図９に示したフローチャートのステップＳ１４において保持した高さデータと、基準高さデータとの差分を求めるステップを、ステップＳ１４の次に設け、ステップＳ１６において、上記差分値が正の場合には、視点位置データの高さデータから当該差分値を減算し、上記差分値が負の場合には、視点位置データの高さデータに当該差分値を加算するようにすれば良い。
以上のようにすれば、カーソルを移動させる都度、フィールドに対する高さ方向の視点位置が変わるので、ゲームプレーヤに対し、よりゲームに参加しているという臨場感を与えることができる。
【００８９】
【発明の効果】
上述せる本発明によれば、３次元空間上における上記フィールド上において、当該フィールドの高さ方向に複数のカーソル画像が疑似３次元表示されるので、フィールドの起伏の向こう側にカーソルが位置してもカーソルの位置を確認することができるという効果がある。
【００９０】
また、上記発明において、１つのカーソル画像に対して種類の異なる複数のカーソル画像が用意されると共に、当該複数のカーソル画像が、循環的に表示されるので、カーソルの内部が動いているように見え、これによって、フィールドとカーソルの区別をより把握し易くすることができるという効果がある。
【００９１】
また、上記発明において、複数のカーソル画像の内の一部若しくは全部のカーソル画像の表示位置が所定期間毎に変更されるので、カーソルが順次現れるように見え、これによって、よりカーソルの視認性を高めることができるという効果がある。
【００９２】
また、上記発明において、上記フィールドに対する視点位置の変更に対応して形状が変更されるので、フィールド上におけるカーソルの形状について視覚的な違和感をなくして疑似３次元表示されたフィールド上における移動をし易くすることができるという効果がある。
【００９３】
また、上記発明において、複数のカーソル画像の内の一部若しくは全部のカーソル画像が半透明で表示されるので、フィールドを隠すことがなく、且つ、カーソルの視認性を向上させることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すゲームシステムの構成図である。
【図２】図１に示したＣＰＵ１が有する機能を示す機能ブロック図である。
【図３】図１に示したゲームシステムで用いられるテーブルを示す説明図である。
〔図３Ａ〕フィールドのアドレス及び高さデータからなるテーブルを示す説明図である。
〔図３Ｂ〕フィールド内のキャラクタの情報を示す説明図である。
〔図３Ｃ〕視点位置に対応するポリゴンの頂点アドレス、回転量及び移動量データからなるテーブルを示す説明図である。
【図４】画面表示例を示す説明図である。
【図５】画面表示例を示す説明図である。
【図６】画面表示例を示す説明図である。
【図７】画面表示例を示す説明図である。
【図８】ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図９】ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図１０】ゲームプログラムのメインルーチンによる制御動作を説明するためのフローチャートである。
【図１１】図８に示したフィールド画像表示ルーチンＳ２００による制御動作を説明するためのフローチャートである。
【図１２】図８に示したカーソル画像表示ルーチンＳ４００による制御動作を説明するためのフローチャートである。
【図１３】図８に示したカーソル画像表示ルーチンＳ４００による制御動作を説明するためのフローチャートである。
【符号の説明】
１  ＣＰＵ
１ａ  ボタン操作検出手段
１ｂ  演算手段
１ｃ  判断手段
１ｄ  変数設定手段
１ｅ  描画命令発効手段
１ｆ  操作情報・視点位置変換手段
１ｇ  フィールド情報管理手段
１ｈ  キャラクタ情報管理手段
１ｉ  カーソル情報管理手段
２  バス
３  グラフィックスデータ生成プロセッサ
４、２０  インターフェース回路
５  メインメモリ
６  ＲＯＭ
７  伸張回路
８  パラレルポート
９  シリアルポート
１０  描画処理プロセッサ
１１、１４、１８  バッファ
１３  音声処理プロセッサ
１５  増幅回路
１６  スピーカ
１７  デコーダ
１９  記録媒体ドライバ
２１  メモリ
２２  コントローラ
【図１】
0003539839.tif 000002
【図２】
0003539839.tif 000003
【図３】
0003539839.tif 000004
【図４】
0003539839.tif 000005
【図５】
0003539839.tif 000006
【図６】
0003539839.tif 000007
【図７】
0003539839.tif 000008
【図８】
0003539839.tif 000009
【図９】
0003539839.tif 000010
【図１０】
0003539839.tif 000011
【図１１】
0003539839.tif 000012
【図１２】
0003539839.tif 000013
【図１３】
0003539839.tif 000014