JP2000102675A - オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体 - Google Patents

オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体

Info

Publication number
JP2000102675A
JP2000102675A JP11294652A JP29465299A JP2000102675A JP 2000102675 A JP2000102675 A JP 2000102675A JP 11294652 A JP11294652 A JP 11294652A JP 29465299 A JP29465299 A JP 29465299A JP 2000102675 A JP2000102675 A JP 2000102675A
Authority
JP
Japan
Prior art keywords
character
game
display
point
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.)
Pending
Application number
JP11294652A
Other languages
English (en)
Inventor
Katsuya Kawarasaki
勝也 河原崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Group Corp
Original Assignee
Konami Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konami Corp filed Critical Konami Corp
Priority to JP11294652A priority Critical patent/JP2000102675A/ja
Publication of JP2000102675A publication Critical patent/JP2000102675A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 使用者に視覚的な変化を与えることを課題と
する。横スクロール方式のシューティングゲームにおい
て、上下の地形のうねり表現を描画により行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムデータ
の記録された、光ディスク、磁気ディスク、半導体メモ
リを用いたカセット式記録媒体等を用いるゲームシステ
ムに適用して好適な、物体の動き表現方法、オブジェク
ト表示方法、ゲームシステム及びゲームプログラムが記
録されたコンピュータ読取可能な記録媒体に関する。
【0002】
【従来の技術】ゲームシステムは数多く提案されてい
る。家庭用の専用機とテレビジョンモニタとからなるシ
ステム、業務用の専用機、パーソナルコンピュータ若し
くはワークステーションとディスプレイと音声出力機と
からなるシステム等である。これらのシステムは、何れ
も、プレーヤが操作するためのコントローラと、ゲーム
プログラムデータの記録された記録媒体と、ゲームプロ
グラムデータに基いて音声や画像の生成のための制御を
行うCPUと、画像を生成するためのプロセッサと、音
声を生成するためのプロセッサと、画像を表示するため
のCRTと、音声を出力するためのスピーカとで構成さ
れる。上記記録媒体としては、CD−ROM、半導体メ
モリ、半導体メモリを内蔵したカセット等が多い。ゲー
ムシステムの構成は以上の通りである。
【0003】このようなゲームシステムを用いたゲーム
として、シューティングゲームが良く知られている。シ
ューティングゲームは、ゲーム空間上で、コントローラ
を通じてプレーヤが操作するキャラクタ(以下、プレー
ヤキャラクタと称する)から弾丸やレーザー光線等を発
射させ、発射した弾丸やレーザー光線をCPUが操作す
るキャラクタ(以下、敵キャラクタと称する)に当てて
当該敵キャラクタを消すことによって得点を得るといっ
たものである。このようなシューティングゲームでは、
プレーヤキャラクタを画面において垂直方向に進める、
いわゆる縦スクロール方式、並びにプレーヤキャラクタ
を画面において水平方向に進める、いわゆる横スクロー
ル方式が提案されている。シューティングゲームは、通
常、ステージと称されるイベントが複数用意され、プレ
ーヤは、各ステージにおいて、敵のキャラクタから発射
された弾丸やレーザー光線等に1度も当たらずに、当該
ステージで出現する敵キャラクタを全て消去しなければ
ならない。敵キャラクタからの被弾は、通常n回まで許
され、n+1回目に被弾したときにゲームオーバーとな
る。
【0004】
【発明が解決しようとする課題】以上説明したように、
シューティングゲームは、プレーヤキャラクタを操作し
て敵キャラクタを消去するといった簡単なゲームであ
る。よって、多くのゲームソフト製造メーカーから多種
多様のシューティングゲームが提案されているものの、
その内容はどこも同じようなものが多く、よりゲーム意
欲のわくようなシューティングゲームの提案が要望され
ている。
【0005】本発明はこのような点を考慮してなされた
もので、ユーザによりゲーム意欲をわかせることのでき
る物体の動き表現方法、オブジェクト表示方法、ゲーム
システム及びゲームプログラムが記録されたコンピュー
タ読取可能な記録媒体を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、プレーヤがコ
ントローラを介して行う操作に応じて画面上のキャラク
タが一定方向に移動されると共に、スクロール処理によ
り背景情報が順次変更されるゲームシステムで用いられ
る物体の動き表現方法であって、上記スクロール方向と
平行関係となる位置にスクロール方向に延在する物体が
表示されると共に、当該物体の形状を定期或いは不定期
に変更されることを特徴とする。
【0007】また本発明は上述において、上記スクロー
ル方向が画面上において横方向であり、上記物体の表示
位置は、当該画面上の上若しくは下、或いは上下であ
る。
【0008】また本発明は上述において、上記スクロー
ル方向が画面上において縦方向であり、上記物体の表示
位置は、当該画面上の左若しくは右、或いは左右であ
る。
【0009】また、本発明は、設定された外形を有する
オブジェクトをゲーム画面上に表示するオブジェクト表
示方法に適用され、そして、上述の目的は、オブジェク
トの外形に沿って配置された点群を、その連結状態を規
定した状態で設定しておき、点群を構成する個々の点の
ゲーム画面内での表示位置を任意位置にすることにより
達成される。
【0010】ここで、ゲーム画面内での個々の点の表示
位置を時間と共に変化させるようにしてもよい。あるい
は、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に、他のオブジェクトの個々の点
の表示位置を特定のオブジェクトに向けて移動させるよ
うにしてもよい。この場合、特定のオブジェクトを複数
設定するとともにこれら特定のオブジェクトの各々に代
表点を設定し、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
【0011】さらに、本発明は、設定された外形を有す
るオブジェクトをゲーム画面上に表示するオブジェクト
表示手段を備えたゲームシステムに適用され、そして、
上述の目的は、オブジェクトの外形に沿って配置された
点群が、その連結状態を規定した状態で記憶された点群
記憶手段を設け、オブジェクト表示手段が、点群を構成
する個々の点のゲーム画面内での表示位置を任意位置に
することにより達成される。
【0012】ここで、オブジェクト表示手段が、ゲーム
画面内での個々の点の表示位置を時間と共に変化させる
ようにしてもよい。あるいは、オブジェクト表示手段
が、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に他のオブジェクトの個々の点の
表示位置を特定のオブジェクトに向けて移動させるよう
にしてもよい。この場合、特定のオブジェクトを複数設
定し、これら特定のオブジェクトの各々に設定された代
表点が記憶された代表点記憶手段を設け、オブジェクト
表示手段が、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
【0013】加えて、プレイヤーの入力指示によりゲー
ム画面内において移動するキャラクタを表示するキャラ
クタ表示手段と、キャラクタとオブジェクトの当接又は
重複を検出する当たり判定手段とを設け、当たり判定手
段が、キャラクタとオブジェクトの点群との当接又は重
複により当たり判定を行い、キャラクタ表示手段が、当
たり判定手段の判定結果に基づいてキャラクタの表示を
変化させるようにしてもよい。ことを特徴とするゲーム
システム。
【0014】そして、本発明は、設定された外形を有す
るオブジェクトをゲーム画面上に表示するゲームプログ
ラムが記録されたコンピュータ読取可能な記録媒体に適
用され、そして、上述の目的は、このゲームプログラム
が、コンピュータに読み取られて実行された際に、コン
ピュータに、オブジェクトの外形に沿って配置された点
群を、その連結状態を規定した状態で設定し、点群を構
成する個々の点のゲーム画面内での表示位置を任意位置
にする動作を行わせることにより達成される。
【0015】ここで、ゲーム画面内での個々の点の表示
位置を時間と共に変化させるようにしてもよい。あるい
は、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に他のオブジェクトの個々の点の
表示位置を特定のオブジェクトに向けて移動させるよう
にしてもよい。この場合、特定のオブジェクトを複数設
定するとともにこれら特定のオブジェクトの各々に代表
点を設定し、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
【0016】
【発明の実施の形態】以下に、図1〜図38を順次参照
して本発明の実施の形態について詳細に説明する。本発
明の実施の形態の説明は、次に示す項目説明を各項目の
先頭に記載し、各項目について次に示す順序で説明す
る。 A.ゲームシステムの構成(図1) B.図1に示したCPU1の有する機能(図2) C.メインルーチンによる制御(図3)*当たり判定処
理 D.当たり判定の概念説明(図4) E.当たり判定ルーチンによる制御(図5〜図9)*屈
折処理 F.屈折処理の概念説明(図10及び図11) G.屈折処理ルーチンによる制御(図12〜図14)*
地形変化 H.地形変化の概念説明(図15) I.地形変化ルーチンによる制御(図16〜図21)*
水平方向への重力表現 J.水平方向への重力表現の概念説明(図22) K.水平方向への重力表現ルーチンによる制御(図23
〜図26)*ゲージエディット L.ゲージエディットの概念説明(図27〜図29) M.ゲージエディットルーチンによる制御(図30〜図
38)
【0017】A.ゲームシステムの構成(図1)図1
は、本発明の一実施の形態としてのゲームシステムの構
成例を示す構成図である。
【0018】本構成例のゲームシステムは、例えば特開
平8−212377号公報に記載されているように、C
D−ROM等の光学ディスクからゲームプログラムデー
タを読み出して実行することにより、使用者(以下、プ
レーヤと称する)からの指示に応じたゲーム等の表示が
行えるようになっており、具体的には図1に示されるよ
うな構成を有している。 また、本構成例のゲームシス
テムは、CD−ROM84から読み出された3次元画像
データを記憶するメインメモリ5と、各ポリゴン毎に指
定される特性データとして色情報テーブル、テクスチャ
パターン情報、半透明率指定データ等を記憶するフレー
ムバッファ63と、CD−ROM84からディスクドラ
イブ81によって読み出された3次元画像データに対し
て透視変換処理を施して2次元画像情報に変換する座標
変換手段としてのジオメトリエンジン(GTE)61
と、当該2次元画像情報とポリゴンの特性を指定する情
報とを合成してポリゴン毎にパケット化された描画命令
を生成する描画命令生成手段としてのCPU51と、当
該生成された描画命令により指定された特性データに基
づき2次元画像情報をフレームバッファ63に描画する
グラフィックスプロセッシングユニット(GPU62)
と、上記フレームバッファ63から2次元画像データを
テレビジョン同期信号に同期して読み出し、ディスプレ
イ装置等の表示手段に供給するビデオ出力手段65とを
有してなるものである。
【0019】即ち、この画像処理システムは、中央演算
処理装置(CPU51)及びその周辺装置(周辺デバイ
スコントローラ52)からなる制御系50と、フレーム
バッファ63上に描画を行うグラフィックスプロセッシ
ングユニット(GPU62)等からなるグラフィックシ
ステム60と、楽音、効果音等を発生するサウンドプロ
セッシングユニット(SPU71)等からなるサウンド
システム70と、補助記憶装置である光学ディスク(C
D−ROM84)のディスクドライブ81の制御や再生
情報のでコード等の指示を行う光学ディスク制御部80
と、使用者からの指示を入力するコントローラ92から
の指示入力及びゲームの設定等を記憶する補助メモリ
(メモリカード93)からの入出力を制御する通信制御
部90と、上記制御系50から通信制御部90までが接
続されているメインバスB等を備えている。
【0020】上記制御系50は、CPU51と、割り込
み制御、タイムコントロール、メモリコントロールダイ
レクトメモリアクセス(DMA)転送の制御等を行う周
辺デバイスコントローラ52と、例えば2メガバイトの
RAMからなる主記憶装置(メインメモリ)53と、こ
のメインメモリ53や上記グラフィックシステム60、
サウンドシステム70等の管理を行ういわゆるオペレー
ティングシステム等のプログラムが格納された例えば5
12キロバイトのROM54とを備えている。
【0021】CPU51は、例えば32ビットのRIS
C(Reduced Instruction Set
Computer)CPUであり、ROM54に記憶さ
れているオペレーティングシステムを実行することによ
り装置全体の制御を行う。当該CPU51は命令キャッ
シュとスクラッチパッドメモリを搭載し、実メモリの管
理も行う。
【0022】上記グラフィックシステム60は、CD−
ROM84から読み込まれたデータを一時的に記憶する
メインメモリ53と、当該メインメモリ53に記憶され
たデータに対して座標変換等の処理を行う座標計算用コ
プロセッサからなるジオメトリトランスファエンジン
(GTE)61と、CPU51からの描画指示(描画命
令)に基づいて描画を行うグラフィックスプロセッシン
グユニット(GPU)62と、該GPU62により描画
された画像を記憶する例えば1メガバイトのフレームバ
ッファ63と、いわゆる離散コサイン変換等の直行変換
がなされ圧縮されて符号化された画像データを復号化す
る画像デコーダ(以下MDECと呼ぶ)64とを備えて
いる。
【0023】GTE61は、例えば複数の演算を並列に
実行する並列演算機構を備え、CPU51のコプロセッ
サとして、CPU51からの演算要求に応じて透視変換
等の座標変換、法線ベクトルと光源ベクトルとの内積演
算による光源計算、例えば固定小数点形式の行列やベク
トルの演算を高速に行うことができるようになってい
る。
【0024】具体的には、このGTE61は、1つの三
角形状のポリゴンに同じ色で描画するフラットシェーデ
ィングを行う演算の場合では、1秒間に最大150万程
度のポリゴンの座標演算を行うことができるようになっ
ており、これによってこの画像処理システムでは、CP
U51の負荷を低減すると共に、高速な座標演算を行う
ことができるようになっている。尚、ポリゴンとは、デ
ィスプレイ上に表示される3次元の物体を構成するため
の図形の最小単位であり、三角形や四角形等の多角形か
らなるものである。
【0025】GPU62は、CPU51からのポリゴン
描画命令に従って動作し、フレームバッファ63に対し
てポリゴン等の描画を行う。このGPU62は、1秒間
に最大36万程度のポリゴンの描画を行うことができる
ようになっている。また、このGPU62は、CPU5
1とは独立した2次元のアドレス空間を持ち、そこにフ
レームバッファ63がマッピングされるようになってい
る。
【0026】フレームバッファ63は、いわゆるデュア
ルポートRAMからなり、GPU62からの描画或いは
メインメモリ53からの転送と、表示のための読み出し
とを同時に行うことができるようになっている。このフ
レームバッファ63は、例えば1メガバイトの容量を有
し、それぞれ16ビットの横1024で縦512の画素
のマトリックスとして扱われる。このフレームバッファ
63のうちの任意の表示領域を例えばディスプレイ装置
等のビデオ出力手段65に出力することができるように
なっている。また、このフレームバッファ63には、ビ
デオ出力として出力される表示領域の他に、GPU62
がポリゴン等の描画を行う際に参照するカラールックア
ップテーブル(CLUT)が記憶される第2の領域であ
るCLUT領域と、描画時に座標変換されてGPU62
によって描画されるポリゴン等の中に挿入(マッピン
グ)される素材(テクスチャ)が記憶される第1の記憶
領域であるテクスチャ領域が設けられている。これらの
CLUT領域とテクスチャ領域は表示領域の変更等に従
って動的に変更されるようになっている。即ち、このフ
レームバッファ63は、表示中の領域に対して描画アク
セスを実行することができ、また、メインメモリ53と
の間で高速DMA転送を行うことも可能となっている。
【0027】尚、上記GPU62は、上述のフラットシ
ェーディングの他にポリゴンの頂点の色から保管してポ
リゴン内の色を決めるグーローシェーディングと、上記
テクスチャ領域に記憶されているテクスチャをポリゴン
に張り付けるテクスチャマッピングを行うことができる
ようになっている。
【0028】これらのグーローシェーディング又はテク
スチャマッピングを行う場合には、上記GTE61は、
1秒間に最大50万程度のポリゴンの座標計算を行うこ
とができる。MDEC64は、上記CPU51からの制
御により、CD−ROM84から読み出されてメインメ
モリ53に記憶されている静止画或いは動画の画像デー
タを復号化して再びメインメモリ53に記憶する。具体
的には、MDEC64は逆離散コサイン変換(IDC
T)演算を高速に実行でき、CD−ROM84から読み
出されたカラー静止画圧縮標準(いわゆるJPEG)や
蓄積メディア系動画符号化標準(いわゆるMPEG、但
し本例においてはフレーム内圧縮のみ)の圧縮データの
伸張を行うことができるようになっている。
【0029】また、この再生された画像データは、GP
U62を介してフレームバッファ63に記憶することに
より、上述のGPU62によって描画される画像の背景
として使用することができるようにもなっている。
【0030】上記サウンドシステム70は、CPU51
からの指示に基づいて、楽音、効果音等を発生するサウ
ンド再生処理プロセッサ(SPU)71と、CD−RO
M84から読み出された音声、楽音等のデータや音源デ
ータ等が記憶される例えば512キロバイトのサウンド
バッファ72と、SPU71によって発生される楽音、
効果音等を出力するサウンド出力手段としてのスピーカ
73とを備えている。
【0031】上記SPU71は、16ビットの音声デー
タを4ビットの差分信号として適応差分符号化(ADP
CM)された音声データを再生するADPCM復号機能
と、サウンドバッファ72に記憶されている音源データ
を再生することにより、効果音等を発生する再生機能
と、サウンドバッファ72に記憶されている音声データ
等を変調させて再生する変調機能等を備えている。即
ち、当該SPU71は、ルーピングや時間を係数とした
動作パラメータの自動変換等の機能を持ち、24ボイス
の能力を有するADPCE音源を内蔵し、CPU51か
らの操作により動作する。また、SPU71は、サウン
ドバッファ72がマッピングされた独自のアドレス空間
を管理し、CPU51からサウンドバッファ72にAD
PCMデータを転送し、キーオン/キーオフやモデュレ
ーション情報を直接渡すことによりデータを再生する。
【0032】このような機能を備えることによって、こ
のサウンドシステム70は、CPU51からの指示によ
ってサウンドバッファ72に記録された音声データなど
に基づいて楽音、効果音などを発生するいわゆるサンプ
リング音源として使用することができるようになってい
る。
【0033】上記光学ディスク制御部80は、CD−R
OM84に記録されたプログラム、データ等を再生する
ディスクドライブ81と、例えばエラー訂正(ECC)
符号が付加されて記録されているプログラム、データな
どを復号するデコーダ82と、ディスクドライブ81か
らの再生データを一時的に記憶する例えば32キロバイ
トのバッファ83とを備えている。即ち、当該光学ディ
スク制御部80は、上記ディスクドライブ81やデコー
ダ82等のディスクの読み出しを行うために必要な部品
類から構成されている。ここでは、ディスクフォーマッ
トとして例えばCD−DA、CD−ROM、XA等のデ
ータをサポートできるようになっている。尚、デコーダ
82はサウンドシステム70の一部をも構成している。
【0034】ここで、コントローラ92の指示キーにつ
いて説明する。コントローラ92は、左キーL、右キー
R、上キーU及び下キーDからなる十字キーと、第1左
ボタン92L1、第2左ボタン92L2、第1右ボタン
92R1、第2右ボタン92R2、スタートボタン92
a、セレクトボタン92b、第1ボタン92c、第2ボ
タン92d、第3ボタン92e、第4ボタン92fとか
らなる。十字キーは、プレーヤが、CPU51に対し、
上下左右のコマンドを与えるためのものである。スター
トボタン92aは、プレーヤが、CD−ROM84から
読み出されてロードされるゲームプログラムデータ等に
よる動作の開始をCPU51に指示するためのものであ
る。セレクトボタン92bは、プレーヤが、CD−RO
Mディスクからメインメモリ53にロードされるゲーム
プログラムデータ等に関する各種選択を、CPU51に
指示するためのものである。
【0035】また、CPU51は、実行しているゲーム
の設定やゲームの終了時或いは途中の結果等を記憶する
必要があるときに、該記憶するデータを通信制御デバイ
ス91に送信し、通信制御デバイス91は当該CPU5
1からのデータをメモリカード93に記憶する。このメ
モリカード93は、メインバスBから分離されているた
め、電源を入れた状態で着脱することが可能となってい
る。これにより、ゲームの設定等を複数のメモリカード
93に記憶することができるようになっている。
【0036】また、本システムは、メインバスBに接続
された16ビットパラレル入出力(I/O)ポート10
1と、非同期式のシリアル入出力(I/O)ポート10
2とを備えている。そして、パラレルI/Oポート10
1を介して周辺機器との接続を行うことができるように
なっており、また、シリアルI/Oポート102を介し
て他のビデオゲーム装置等との通信を行うことができる
ようになっている。
【0037】ところで、上記メインメモリ53は、GP
U62、MDEC64及びデコーダ82等の間では、プ
ログラムの読み出し、画像の表示或いは描画等を行う際
に、大量の画像データを高速に転送する必要がある。こ
のため、この画像処理システムでは、上述のようにCP
U51を介さずに周辺デバイスコントローラ52からの
制御により上記メインメモリ53、GPU62、MDE
C64及びデコーダ82等の間で直接データの転送を行
ういわゆるDMA転送を行うことができるようになって
いる。これにより、データ転送によるCPU51の負荷
を低減させることができ、高速なデータの転送を行うこ
とができるようになっている。
【0038】このビデオゲーム装置では、電源が投入さ
れると、CPU51が、ROM54に記憶されているオ
ペレーティングシステムを実行する。このオペレーティ
ングシステムの実行により、CPU51は、動作確認等
の装置全体の初期化を行った後、光学ディスク制御部8
0を制御して、光学ディスクに記録されているゲーム等
のプログラムを実行する。このゲーム等のプログラムの
実行により、CPU51は、プレーヤからの入力に応じ
て上記グラフィックシステム60、サウンドシステム7
0等を制御して、画像の表示、効果音、楽音の発生を制
御するようになっている。
【0039】次に、本例画像処理システムにおけるディ
スプレイ上への表示について説明する。上記GPU62
は、フレームバッファ63内の任意の矩形領域の内容
を、そのまま上記ビデオ出力手段65の例えばCRT等
のディスプレイ上に表示する。この領域を以下表示エリ
アと称する。上記矩形領域は、設定モードに応じたサイ
ズを選択できるようになっており、例えばモード0では
256(H)×240(V)(ノンインターレース)、
モード9では384(H)×480(V)(インターレ
ース)である。つまり、水平方向、垂直方向夫々独立に
表示開始位置、表示終了位置を指定することができる。
また、各座標に指定可能な値と画面モードの関係は、例
えば水平方向座標の指定範囲は、モード0及び4で、0
から276(水平方向表示開始位置座標)、4から28
0(水平方向表示終了位置座標)、モード8及び9で0
から396(水平方向表示開始位置座標)、4から40
0(垂直方向表示終了位置座標)となる。そして垂直方
向座標の指定範囲は、モード0から3及び8で、0から
240(垂直方向表示開始位置座標)、モード4から7
及び9で、4から484(垂直方向表示終了位置座標)
となる。ここで、上記水平開始及び終了位置座標は4の
倍数になるように設定する必要がある。よって、最小画
面サイズは、横4ピクセル、縦2ピクセル(ノンインタ
ーレース時)又は4ピクセル(インターレース時)にな
る。
【0040】また、GPU62は、表示色数に関するモ
ードとして、16ビットダイレクトモード(32768
色)と、24ビットダイレクトモード(フルカラー)の
2つをサポートしている。上記16ビットダイレクトモ
ード(以下16ビットモードと呼ぶ)は32768色表
示モードである。この16ビットモードでは、24ビッ
トダイレクトモード(以下24ビットモードと称する)
に比べ表示色数に限りがあるが、描画時のGPU62内
部での色計算は24ビットで行われ、また、階調を擬似
的に高くできるいわゆるディザ機能も搭載しているの
で、疑似フルカラー(24ビットカラー)表示が可能と
なっている。また、上記24ビットモードは、2677
7216色(フルカラー)表示のモードである。但し、
フレームバッファ63内に転送されたイメージデータの
表示(ビットマップの表示)のみが可能で、GPU62
の描画機能を実行することはできない。ここで、1ピク
セルのビット長は24ビットとなるが、フレームバッフ
ァ63上での座標や表示位置の値は16ビットを基準と
して指定する必要がある。即ち、640×480の24
ビット画像データは、フレームバッファ63中では96
0×480として扱われる。また、前記水平方向表示終
了位置座標は、8の倍数になるように設定する必要があ
り、従って、この24ビットモードでの最小画面サイズ
は横8×縦2ピクセルになる。
【0041】また、GPU62には次のような描画機能
が搭載されている。先ず、1×1ドット〜256×25
6ドットのポリゴン又はスプライトに対して、4ビット
CLUT(4ビットモード、16色/ポリゴン、スプラ
イト)や8ビットCLUT(8ビットモード、256色
/ポリゴン、スプライト)、16ビットCLUT(16
ビットモード、32768色/ポリゴン、スプライト)
等の描画が可能なポリゴン又はスプライト描画機能と、
ポリゴンやスプライトの各頂点の画面上の座標を指定し
て描画を行うと共に、ポリゴンやスプライト内部を同一
色で塗りつぶすフラットシェーディング、各頂点に異な
る色を指定して内部をグラデーションするグーローシェ
ーディング、ポリゴンやスプライト表面に2次元のイメ
ージデータであるテクスチャパターン(特にスプライト
に対するものをスプライトパターンと呼ぶ)を容易して
張り付けるテクスチャマッピング等を行うポリゴン描画
機能と、グラデーションが可能な直線描画機能と、CP
U51からフレームバッファ63への転送等のイメージ
転送機能と、その他の機能として、各ピクセルの平均を
とって半透明化する機能、即ち、各ピクセルのピクセル
データを所定比率αで混合することからαブレンディン
グ機能と呼ばれる機能、色の境界にノイズを乗せてぼか
すディザ機能、描画エリアを越えた部分を表示しない描
画クリッピング機能、描画エリアに応じて描画原点を動
かすオフセット指定機能等がある。
【0042】また、描画を行う座標系は符号付きの11
ビットを単位としており、X、Y夫々に−1024〜+
1023の値をとる。また、本例でのフレームバッファ
63のサイズは1024×512となっているので、は
み出した部分は折り返すようになっている。描画座標の
原点は、座標値のオフセット値を任意に設定する機能に
より、フレームバッファ63内で自由に変更することが
できる。また、描画は、描画クリッピング機能により、
フレームバッファ63内の任意の矩形領域に対してのみ
行われる。更に、CPU62は、最大256×256ド
ットのテクスチャをサポートしており、縦、横夫々の値
を自由に設定することができる。
【0043】上記ポリゴン又はスプライトに張り付ける
イメージデータ(テクスチャパターン又はスプライトパ
ターン)は、フレームバッファ63の非表示エリアに配
置される。テクスチャパターン又はスプライトパターン
は、256×256ピクセルを1ページとして、フレー
ムバッファ63上にメモリの許す限り何枚でも置くこと
ができ、この256×256の領域をテクスチャページ
と呼んでいる。1枚のテクスチャページの場所は、描画
コマンドのテクスチャページの位置(アドレス)指定の
ためのパラメータに、ページ番号を指定することで決定
される。
【0044】テクスチャパターン又はスプライトパター
ンには、4ビットCLUT(4ビットモード)、8ビッ
トCLUT(8ビットモード)、16ビットCLUT
(16ビットモード)の3種類の色モードがある。4ビ
ットCLUT及び8ビットCLUTの色モードでは、C
LUTを使用する。このCLUTとは、最終的に表示さ
れる色を表す3原色のR、G、B値が16〜256個フ
レームバッファ63に並んだものである。各R、G、B
値は、フレームバッファ63上において左から順に番号
が付されており、テクスチャパターン又はスプライトパ
ターンはこの番号により各ピクセルの色を表す。また、
CLUTはポリゴン又はスプライト単位で選択でき、全
てのポリゴン又はスプライトに対して独立したCLUT
を持つことも可能である。フレームバッファ63内での
CLUTの格納位置は、描画コマンド内のCLUTの位
置(アドレス)指定のためのパラメータに、使用するC
LUTの左端の座標を指定することで決定する。
【0045】また、GPU62は、動画表示の方式とし
て、フレームダブルバッファリングという手法を用いる
ようにしている。このフレームダブルバッファリングと
は、フレームバッファ63上に2つの矩形領域を用意
し、一方のエリアに描画をしている間はもう片側を表示
し、描画が終了したら2つのエリアをお互い交換するも
のである。これにより、書き換えの様子が表示されるの
を回避するこができる。尚、バッファの切り換え操作
は、垂直帰線期間内に行う。また、GPU62では、描
画の対象となる矩形領域と座標系の原点を自由に設定で
きるので、この2つを移動させることにより、複数のバ
ッファを実現することも可能である。
【0046】尚、描画命令はパケット形式となってお
り、本例においてはCPU51が直接指定する形式と、
専用のハードウエアが直接指定する形式がある。特に、
専用のハードウエアが直接指定する形式では、CPU5
1が用いる命令形式に、命令のワード数と次の命令への
ポインタを付加したタグを設けたパケット構成が用いら
れる。これによって、フレームバッファ63上で連続し
た領域におかれていない複数の命令列をつなげて一度に
実行できるようになる。この場合び描画命令の転送は専
用のハードウエアが行い、CPU51は一切関与しな
い。描画命令に含まれ得るパラメータは次の通りであ
る。 CDDE:コマンドコード呼びオプション R、G、B:全ての頂点で共有する輝度値 Rn、Bn、Gn:頂点nの輝度値 Xn、Yn:頂点nの描画空間上の2次元座標 Un、Vn:頂点nに対応するテクスチャソース空間上
の点の2次元座標 CBA(CULT BASE ADDRESS):CLU
Tの先頭アドレス TSB(TEXTURE SOURCE BASE):テ
クスチャページ先頭アドレス及びテクスチャタイプ等の
付加情報
【0047】例えば、三角形描画コマンド(コマンドコ
ード1h)は、オプションを含むコマンドコードの後
に、頂点情報をコマンドを引数として与える。オプショ
ンによい、引数、フォーマットが異なる。
【0048】パラメータとしては、IIP:輝度値の種
類SIZ:矩形領域のサイズCNT:使用頂点TME:
テクスチャマッピングの有無ABE:半透明処理の有無
TGE:テクスチャパターンと輝度値との掛け合わせの
有無
【0049】例えばIIPが0のときは、1種類の輝度
値(R、G、B)で三角形を描画(フラットシェーディ
ング)する。また、例えばCNTが0のときコマンド以
降に続く3頂点で三角形を1つ描画し、1のときコマン
ド以降に続く4頂点で連結三角形を描画、即ち、四角形
を描画する。TMEが0のときテクスチャマッピングオ
フとなり、1のときテクスチャマッピングがオンとな
る。ABEが0のとき半透明処理がオフとなり、1のと
き半透明処理がオンとなる。TGEはTMEのときのみ
有効で、0のといテクスチャパターンと輝度値とを掛け
合わせて表示し、1のときテクスチャパターンのみを描
画する。
【0050】直線描画コマンド(コマンドコード=2
h)は、オプションをも含むコマンドコードの後に、単
点情報をコマンド引数として与える。オプションにより
引数の数やフォーマットが異なる。例えばIIPが0の
ときはピクセルを描画指定された輝度値で描画し、1の
ときは2頂点の輝度値を線分の長軸方向の変位で線形補
間して描画する。CNTが0のときはコマンド以降に続
く2端点で直線を1つ描画し、1のとき連結直線を描画
する。ABEが0のとき半透明処理がオフとなり、1の
とき半透明処理がオンとなる。連結直線を描画するとき
は、最後にコマンドの終了を示す終端コードが必要とな
る。
【0051】スプライト描画コマンド(コマンドコード
=3h)では、コマンドコード(オプションも含む)の
後に、輝度情報、矩形領域の左下端点、テクスチャソー
ス空間の左上端点、矩形領域の幅と高さをコマンド引数
として与える。オプションにより引数の数、フォーマッ
トが異なる。また、スプライト描画コマンドは2ピクセ
ル同時に処理をするため、頂点nに対応するテクスチャ
ソース空間上の点の2次元座標Unは偶数に指定しなけ
ればならいない。
【0052】つまり、下位1ビットは意味を持たない。
尚、TMEが0のときはテクスチャマッピングがオフ
し、1のときはテクスチャマッピングがオンする。AB
Eが0のときは半透明処理がオフし、1のときは半透明
処理がオンする。TGE(TMEのときのみ有効)が0
のときはテクスチャパターン(この場合はスプライトパ
ターン)に一定の輝度値を掛け合わせて描画し、1のと
きはテクスチャパターンのみを描画する。SIZが00
のときにはH、2フィールドで指定し、01のときは1
×1、10のときは8×8、11のときは16×16の
サイズ指定となる。
【0053】B.図1に示したCPU51の有する機能
(図2)図2は、図1に示したCPU51の有する機能
を示す説明図である。CPU51は、図1に示したCD
−ROM84から読み出され、メインメモリ53に記憶
されたプログラムデータを読むことにより、図2に示す
機能を持つ。この図2に示されているように、CPU5
1の機能は、ボタン操作検出手段1a、演算手段1b、
フラグ管理手段1c、判断手段1d、描画命令発行手段
1e、変数設定手段1f、結果情報設定手段1g、キャ
ラクタ管理手段1h、反転処理手段1i、背景スクロー
ル処理手段1j、ゲージエディット管理手段1k、アイ
コン表示制御手段1m、メモリ管理手段1n、アニメー
ション処理手段1o、当たり判定手段1p、拡大縮小処
理手段1q、回転処理手段1r、ダミーデータ生成手段
1s、ベクトル取得手段1t、ひずみ修正手段1u、デ
ータ登録手段1v、アドレス取得手段1w、補間手段1
xとで構成される。これらの手段は、夫々制御動作の主
体となる。
【0054】C.メインルーチンによる制御(図3)図
3は、メインルーチンによる制御動作を説明するための
フローチャートである。本形態においては、2次元若し
くは3次元の横スクロール方式のシューティングゲーム
を前提として説明する。 ステップS1では、オペレー
ティングシステムの命令により、ディスクドライブ81
が、CD−ROM84から画像、音声及びプログラムデ
ータを読み出す。読み出されたデータの内、プログラム
データは、メインメモリ53に記憶される。これによ
り、CPU51は、図2に示した機能を有する。尚、こ
のとき、画像、即ち、テクスチャデータは、GPU62
のフレームバッファ63に記憶され、夫々テクスチャ番
号が割り当てられるものとする。また、音声データは、
SPU71のサウンドバッファ72に記憶され、夫々音
声番号データが割り当てられるものとする。通常、すべ
ての画像及び音声データが、ステップS1においてバッ
ファ63及び72に保持されることはないが、説明の便
宜上、すべての画像及び音声データが、ステップS1に
おいてロードされるものとする。
【0055】ステップS2では、描画命令発行手段1e
が描画命令を発行すると共に、背景スクロール処理手段
により後に詳述する背景スクロール処理が施される。こ
れによって、例えば、「エディット」及び「スタート」
を示すタイトルが出力されると共に、デモ処理が実行さ
れる。例えば、タイトルが表示された状態で、その背景
において自動的にゲームの様子が再現されるといったも
のである。 ステップS3では、ボタン操作検出手段1
aが、コントローラ92のカーソルキーで「スタート」
が選択され、続いて第3ボタン92e若しくはスタート
ボタン92aが押された否かを判断し、「YES」であ
ればステップS4に移行し、「NO」であればステップ
S7に移行する。
【0056】ステップS4では、変数設定手段1hが、
メインメモリ5に保持しているフラグや変数を夫々リセ
ットする。ステップS100では、ゲームメイン処理が
行われる。このゲームメイン処理は、プレーヤの操作に
応じた計算、表示及び音声処理等であり、本実施の形態
において、特にポイントになる処理については、後にフ
ローチャートを参照しながら詳述する。ステップS5で
は、判断手段がゲームオーバーか否かを判断し、「YE
S」であればステップS6に移行し、「NO」であれば
再びステップS100に移行する。
【0057】ステップS3において「NO」と判断され
た場合には、ステップS7に移行し、ステップS7にお
いては、ボタン操作検出手段1aが、カーソルキーによ
って「エディット」が選択され、続いて第3ボタン92
eが押されたか否かを判断し、「YES」であればステ
ップS200に移行し、「NO」であれば再びステップ
S3に移行する。
【0058】[当たり判定処理]D.当たり判定の概念
説明(図4) 図4は、当たり判定の概念を画面表示例で説明するため
の説明図である。ここでのポイントは、キャラクタ表示
用の変形パラメータを参照して、当たり範囲をリアルタ
イムに変更することにより、キャラクタを変形(反転、
拡大、縮小、回転)表示したときに、キャラクタの見た
目に近い当たり判定を行うことができるということであ
る。
【0059】図4Aは時間軸上のある時点における画像
を示す説明図、図4Bは該図4Aで示される画像の次に
続く画像を示す説明図である。これらの図には、画面の
表示領域の大半を占める回転体RCが夫々示されてお
り、図4A、図4Bの順に見ると、この回転体RCが右
回りに回転していることが分かる。この例では、プレー
ヤは、プレーヤキャラクタSCが回転体RCの合計4本
の足部Leに当たらないように、コントローラ92を介
してプレーヤキャラクタSCを操作しなければならな
い。もし、プレーヤキャラクタSCが回転体RCや足部
Leに接触すると、プレーヤキャラクタは許容ゲーム継
続値(以下ライフ値と称することとする)が減り、パワ
ーがなくなったところでこのステージをやり直さなけれ
ばならなくなる。また、パワーがゼロになるといった状
態がN回を超えると、ゲームオーバーとなる。
【0060】ここで、注意すべきことは、回転体RCの
4本の足部Leに夫々四角形で示されている領域Ar
が、画面上には表示されないということである。これら
の領域Arは、夫々、プレーヤキャラクタSCとの接触
を検出するために仮想的に設定されたものである。これ
らの領域Arは、回転体RCの回転角度に応じて回転さ
れるようになっている。これは、図4Aと図4Bとを比
較すると分かるであろう。このように同じ大きさ、形状
の当たり判定用の領域Arを、回転する足部Leに仮想
的に当てはめておくことで、本来の足部Leの画像情報
そのもので当たり判定をする場合に比べて当たり判定の
処理過程やその速度を向上させることができる。そして
更に、領域Arを回転させるようにしているので、プレ
ーヤキャラクタSCが足部Leに当たるときに視覚的に
自然にすることができる。即ち、領域Arを使用して
も、プレーヤキャラクタSCと足部Leとが当たったよ
うに表現することができる。
【0061】そして、本形態においては、キャラクタと
は、上記キャラクタのみならず、プレーヤキャラクタ、
プレーヤキャラクタから出射される弾、ミサイル、レー
ザ、敵キャラクタ、敵キャラクタから出射される弾、ミ
サイル、レーザ等を意味し、これら全てのキャラクタに
ついて、キャラクタの大きさに応じた領域Arの大きさ
並びに個数、配置等が予め決められる。つまり、いくつ
かの長方形等の図形を並べて組み合わせ、キャラクタに
近い形の当たり判定領域を設定することで、キャラクタ
そのものの形状に近い状態で当たり判定を行えるように
する。例えば、キャラクタが三角形の場合には、長方形
をいくつか階段状に並べる等。このようにするのは、例
えば当たり判定のために、1つのキャラクタについて1
つの長方形を使用した場合、キャラクタそのものの形状
と、当たりを示す表示状態が異なることがあるからであ
る。例えば、キャラクタの形状が三角形なのにもかかわ
らず、当たりを示す表示状態が四角形のキャラクタに当
たったように表示してしまう等が例として上げられよ
う。
【0062】更に本実施形態においては、上述したよう
に、ゲーム中においては、各キャラクタの動きに応じ
て、各キャラクタに夫々設定されている領域Arが動か
される(回転等)。これによって、よりキャラクタの形
状に近い当たり判定を行うことができるので、プレーヤ
に対しごく自然な当たり表示を提供することができる。
以下、フローチャートを参照して、この当たり判定につ
いてより詳しく説明する。
【0063】E.当たり判定ルーチンによる制御(図5
〜図9)図5は当たり判定処理の内の、キャラクタ処理
ルーチンによる制御動作を説明するためのフローチャー
ト、図6〜図9は、当たり判定ルーチンによる制御動作
を説明するためのフローチャートである。フローチャー
トを用いて説明するにあたり、各パラメータについて説
明する。上記領域Arは、予め設定すべきキャラクタ
(上述の例では回転体RC)の形に合わせて作成され
る。領域Arを設定するキャラクタの中心点から領域A
rの当たりの中心点へのオフセットXofs、Yof
s、当たり領域Arの縦横の大きさHsize、Vsi
zeが後述のHnum個分だけ用意される。
【0064】キャラクタ表示、当たり判定用データの構
成は次の通りである。 *Xposi、Yposi(キャラクタの中心点の座
標) *Hzoom、Vzoom(キャラクタの拡大率) *HVflip(反転パラメータ) *Rot(回転パラメータ) *HITset(当たり情報) 各キャラクタについて夫々割り当てられる情報であり、
そのキャラクタの種類を当たった相手に伝えるための情
報である。ここで、キャラクタとは、プレーヤキャラク
タ、プレーヤキャラクタから発射される弾、プレーヤキ
ャラクタから発射されるミサイル、プレーヤキャラクタ
から発射されるレーザ、プレーヤキャラクタを敵の弾等
から守るためのバリア、敵キャラクタ、敵キャラクタか
ら発射される弾、敵キャラクタから発射されるミサイ
ル、敵キャラクタから発射されるレーザを意味し、夫々
に異なった固有の値の当たり情報HITsetが割り当
てられる。
【0065】*HITans(当たり結果)他のキャラ
クタと当たった場合、例えば、プレーヤキャラクタが、
敵キャラクタから出射されたレーザと当たった場合、当
たった相手(この例ではレーザ)の当たり情報HITs
etがセットされる。その当たり情報の値に応じて受け
るダメージ、即ち、ライフ値から減算すべき値が算出さ
れ、その算出された値がセットされる。このセットされ
る値がHITansである。 *Hnum(キャラクタ
毎の領域Arの数)1つのキャラクタに当たり判定のた
めの並べた長方形の領域Arの数である。それぞれの領
域Arには、キャラクタの中心座標を原点としたときの
座標(Xofs、Yofs)、並びにその大きさ情報
(Hsize、Vsize)が割り当てられる。
【0066】*Jkind(当たり種類)当たり判定を
する際、味方同士、例えば敵キャラクタ同士等で当たり
をとらないようにするために用いられる。このJkin
dは、各キャラクタについて夫々割り当てられており、
割り当てられているキャラクタの種類、当たりを調べる
べき相手の種類が設定されている。プレーヤキャラクタ
に割り当てられるJkindは、プレーヤキャラクタで
あることを示す情報と、当たりを調べる相手として、敵
キャラクタ、敵キャラクタから出射される弾、ミサイ
ル、レーザ等を示す情報とからなる。当たりが発生した
ときは、一方のキャラクタ(例えばプレーヤキャラクタ
等)のJkindの内容の内、当たりを判定すべきキャ
ラクタの情報中に、他方のキャラクタ(例えば敵キャラ
クタ等)を示す情報が含まれているときのみに当たり判
定が行われる。 尚、各キャラクタ毎の上記各パラメー
タを示す場合においては、上記パラメータを示すアルフ
ァベットの先頭若しくは最後尾にs若しくはdを付加す
る。ここで、sは当たりをとろうとするキャラクタを、
dは相手キャラクタを示す。
【0067】先ず、図5を参照してキャラクタ処理ルー
チンによる制御動作について説明する。ステップS10
1では、キャラクタ管理手段1hが、処理するキャラク
タを選択する。 ステップS102では、判断手段1d
が、選択したキャラクタに対応するメインメモリ5上に
おいて当たり結果HITansが設定されているか否か
を判断し、「YES」であればステップS103に移行
し、「NO」であればステップS106に移行する。
【0068】ステップS103では、演算手段1bが、
キャラクタのライフ値から所定値を減じる。ステップS
104では、判断手段1dが、残りライフ値が0か否か
を判断し、「YES」であればステップS105に移行
し、「NO」であればステップS106に移行する。ス
テップS105では、描画命令発行手段1eが、爆発を
示す画像を表示するためのコマンドを、描画処理プロセ
ッサ10に対して発行する。 ステップS106では、
描画命令発行手段1eが、選択されているキャラクタを
描画することを示すコマンドを、描画処理プロセッサ1
0に対して発行する。ここで、描画位置は、前よりも進
んだ位置となり、これは画面上におけるキャラクタの移
動となる。
【0069】ステップS107では、判断手段1dが、
キャラクタが変化したか否かを判断し、「YES」であ
ればステップS108に移行し、「NO」であればステ
ップS109に移行する。 ステップS108では、変
数設定手段1fが、当たりデータを設定する。ここで当
たりデータは、上述したJkind、HITset、H
num、(Xofs、Yofs)、(Hsize、Vs
ize)を示す。 ステップS109では、判断手段1
dが、処理していないキャラクタが有るか否かを判断
し、「YES」であれば再びステップS101に移行
し、「NO」であればこのルーチンを抜ける。
【0070】次に、図6〜図9を参照して、当たり判定
ルーチンによる制御動作について説明する。以下、「キ
ャラクタ」は、処理毎に異なるキャラクタ、即ち、プレ
ーヤキャラクタSC、プレーヤキャラクタSCから出射
された弾、ミサイル、レーザ、敵キャラクタDC、敵キ
ャラクタDCから出射された弾、ミサイル、レーザ等を
示すものとする。
【0071】ステップS111では、キャラクタ管理手
段1hが、当たりをとるキャラクタSを選択する。ステ
ップS112では、キャラクタ管理手段1hが、相手キ
ャラクタを選択する。ステップS113では、キャラク
タ管理手段1hからのJkindの内容判別結果、即
ち、当たりをとるキャラクタSが当たりをとる相手とし
てキャラクタDを示す情報が含まれているか否かを示す
情報に基いて、判断手段1dが、当たりをとるキャラク
タSと相手キャラクタDとで当たりをとるか否かを判断
し、「YES」であればステップS114に移行し、
「NO」であればステップS146に移行する。
【0072】ステップS114では、キャラクタ管理手
段1hが、相手キャラクタDの領域Arの数dHnum
を読み込む。ステップS115では、判断手段1dが、
相手キャラクタDの領域Arの数dHnumが0か否か
を判断し、「YES」であればステップS146に移行
し、「NO」であればステップS116に移行する。ス
テップS116では、変数設定手段1fが、diに0を
代入する。ステップS117では、キャラクタ管理手段
1hが、相手キャラクタdのdi個目の領域Arに割り
当てられている当たりデータを読み込む。ステップS1
18では、判断手段1dが、上記当たりデータ中に拡大
率パラメータdHzoom、dVzoomがセットされ
ているか否かを判断し、「YES」であればステップS
119に移行し、「NO」であればステップS120に
移行する。
【0073】ステップS119では、拡大・縮小処理手
段1gが、上記拡大率パラメータdHzoom、dVz
oomに基いて拡大・縮小計算処理を行う。この計算は
例えば次のような式となる。
【0074】[数1] dXofs=dXofs×dHzoom dYofs=dYofs×dVzoom dHsize=dHsize×dHzoom dVsize=dVsize×dVzoom
【0075】ステップS120では、判断手段1dが、
上記当たりデータ中に反転表示パラメータdHVfli
pがセットされているか否かを判断し、「YES」であ
ればステップS121に移行し、「NO」であればステ
ップS125に移行する。ステップS121では、判断
手段1dが、反転表示パラメータdHVflipの示す
値が、横方向への反転を示す値か否かを判断し、「YE
S」であればステップS122に移行し、「NO」であ
ればステップS123に移行する。 ステップS122
では、反転処理手段1iが、dXofsに−dXofs
を代入する。マイナス値の代入によって、キャラクタの
反転に追従した領域Arの横方向への反転が行われる。
【0076】ステップS123では、判断手段1dが、
反転表示パラメータdHVflipの示す値が、縦方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS124に移行し、「NO」であればステップ
S125に移行する。 ステップS124では、反転処
理手段1iが、dYofsに−dYofsを代入する。
マイナス値の代入によって、キャラクタの反転に追従し
た領域Arの縦方向への反転が行われる。 ステップS
125では、判断手段1dが、上記当たりデータ中に回
転パラメータdRotがセットされているか否かを判断
し、「YES」であればステップS126に移行し、
「NO」であればステップS127に移行する。 ステ
ップS126では、回転処理手段1rが、回転計算を行
う。この計算は、例えば次のようなものである。キャラ
クタの中心位置を原点としたときの、領域Arの位置が
求められる。
【0077】[数2] dXofs’=dXofs dYofs’=dYofs dXofs=cos(dRot)×dXofs’−si
n(dRot)×dYofs’ dYofs=sin(dRot)×dXofs’+co
s(dRot)×dYofs’
【0078】ステップS127では、キャラクタ管理手
段1hが、キャラクタSの領域Arの数dHnumを読
み込む。 ステップS128では、判断手段1dが、キ
ャラクタSの領域Arの数sHnumが0か否かを判断
し、「YES」であればステップS146に移行し、
「NO」であればステップS129に移行する。 ステ
ップS129では、変数設定手段1fが、siに0を代
入する。ステップS130では、キャラクタ管理手段1
hが、キャラクタSのsi個目の領域Arに割り当てら
れている当たりデータを読み込む。ステップS131で
は、判断手段1dが、上記当たりデータ中に拡大率パラ
メータsHzoom、sVzoomがセットされている
か否かを判断し、「YES」であればステップS132
に移行し、「NO」であればステップS133に移行す
る。
【0079】ステップS132では、拡大・縮小処理手
段1gが、上記拡大率パラメータssHzoom、sV
zoomに基いて拡大・縮小計算処理を行う。この計算
は例えば次のような式となる。
【0080】[数3] sXofs=sXofs×sHzoom sYofs=sYofs×sVzoom sHsize=sHsize×sHzoom sVsize=sVsize×sVzoom
【0081】ステップS133では、判断手段1dが、
上記当たりデータ中に反転表示パラメータsHVfli
pがセットされているか否かを判断し、「YES」であ
ればステップS134に移行し、「NO」であればステ
ップS138に移行する。ステップS134では、判断
手段1dが、反転表示パラメータsHVflipの示す
値が、横方向への反転を示す値か否かを判断し、「YE
S」であればステップS135に移行し、「NO」であ
ればステップS136に移行する。 ステップS135
では、反転処理手段1iが、sXofsに−sXofs
を代入する。マイナス値の代入によって、キャラクタの
反転に追従した領域Arの横方向への反転が行われる。
【0082】ステップS136では、判断手段1dが、
反転表示パラメータsHVflipの示す値が、縦方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS137に移行し、「NO」であればステップ
S138に移行する。 ステップS137では、反転処
理手段1iが、sYofsに−sYofsを代入する。
マイナス値の代入によって、キャラクタの反転に追従し
た領域Arの縦方向への反転が行われる。
【0083】ステップS138では、判断手段1dが、
上記当たりデータ中に回転パラメータsRotがセット
されているか否かを判断し、「YES」であればステッ
プS139に移行し、「NO」であればステップS14
0に移行する。ステップS139では、回転処理手段1
rが、回転計算を行う。この計算は、例えば次のような
ものである。キャラクタの中心位置を原点としたとき
の、領域Arの位置が求められる。
【0084】[数4] sXofs’=sXofs sYofs’=sYofs sXofs=cos(sRot)×sXofs’−si
n(sRot)×sYofs’ sYofs=sin(sRot)×sXofs’+co
s(sRot)×sYofs’
【0085】ステップ140では、当たり判定手段1p
が、キャラクタSと相手キャラクタDとの変形後の領域
Ar毎の当たりデータに基いて各領域Ar毎の当たり判
定を行う。 ステップS141では、当たり判定手段1
pが、キャラクタSと相手キャラクタDの各領域Arが
重なっているか否かを判断し、「YES」であればステ
ップS148に移行し、「NO」であればステップS1
42に移行する。この判定は、例えば次のようにして行
われる。
【0086】[数5] |(dXposi+dXofs)−(sXposi+s
Xofs)|<(dHsize+sHsize) 且つ、 [数6] |(dYposi+dYofs)−(sYposi+s
Yofs)|<(dVsize+sVsize) が成り立つか否か。成り立てば互いの領域Arが重なっ
ているものとされる。
【0087】ステップS142では、演算手段1bが、
キャラクタS用の変数siに1を加算する。ステップS
143では、判断手段1dが、変数siの値が、キャラ
クタSの領域Arの数sHnumの値よりも小さいか否
かを判断し、「YES」であれば再びステップS130
に移行し、「NO」であればステップS144に移行す
る。 ステップS144では、演算手段1bが、キャラ
クタD用の変数diに1を加算する。ステップS145
では、判断手段1dが、変数diの値が、キャラクタD
の領域Arの数dHnumの値よりも小さいか否かを判
断し、「YES」であれば再びステップS117に移行
し、「NO」であればステップS146に移行する。
【0088】ステップS146では、判断手段1dが、
選択したキャラクタSとは異なる、当たりをとるべきキ
ャラクタがまだあるか否かを判断し、「YES」であれ
ば再びステップS112に移行し、「NO」であればス
テップS147に移行する。ステップS147では、判
断手段1dが、選択していないキャラクタがまだ存在す
るか否かを判断し、「YES」であれば再びステップS
111に移行し、「NO」であればこの当たり判定処理
ルーチンを抜ける。
【0089】ところで、ステップS141において「Y
ES」と判断した場合、即ち、キャラクタSの領域Ar
と、相手キャラクタDの領域Arとが重なっているもの
と判断した場合には、ステップS148に移行する。そ
してステップS148では、キャラクタ管理手段1h
が、夫々の当たり情報HITsetを、当たり結果HI
Tansにセットする。このセット処理は、例えば次の
ように、キャラクタDの当たり情報dHITsetを、
キャラクタSの当たり結果sHITsetに代入するこ
と、並びに、キャラクタSの当たり情報sHITset
を、キャラクタDの当たり結果dHITsetに代入す
ることによって行われる。
【0090】[数7] sHITans=dHITsetdHITans=sH
ITset
【0091】以上説明したように、本形態においては、
シューティングゲームやアクションゲームのように、プ
レーヤの操作するプレーヤキャラクタからレーザを出射
させ、該レーザを敵プレーヤ若しくはCPUが操作する
キャラクタに当てて、該敵のキャラクタを消去するよう
なゲームにおいて、いくつかの長方形等の図形を並べて
組み合わせ、キャラクタに近い形の当たり判定領域を設
定することで、キャラクタそのものの形状に近い状態で
当たり判定を行うようにし、しかも、ゲーム中において
は、各キャラクタの動きに応じて、各キャラクタに夫々
設定されている領域Arを動かすようにしたので、これ
によって、よりキャラクタの形状に近い当たり判定を行
うことができるので、プレーヤに対しごく自然な当たり
表示を提供することができるという効果がある。
【0092】[屈折処理]F.屈折処理の概念説明(図
10及び図11)図10及び図11は、夫々屈折処理の
概念を説明するための説明図である。図10A及び図1
0Bに示されているように、プレーヤがコントローラ9
2の所定のボタンを押している間、プレーヤキャラクタ
SCからオブジェクトとしてのレーザobjが出射さ
れ、このレーザobjが、屈折体Wa1及びWa2に入
射し、屈折体Wa1及びWa2内部で屈折した後に、屈
折体Wa1及びWa2から出射される視覚的状態が画像
の描画によって行われる。
【0093】尚、図10Aに示される屈折体Wa1は、
固定されているが、図10Bに示される屈折体Wa2
は、画面において下方に落下している。また、図10A
及び図10Bに夫々示されているように、各屈折体Wa
1及びWa2から夫々出射された各レーザobjが敵キ
ャラクタDCに当たると、その間、敵キャラクタDCの
ライフは減少する。
【0094】次に、図11を参照して、屈折処理につい
てより詳細に説明する。図11Aに示されるように、本
形態においては、直線状或いは屈折されたレーザ画像
は、複数のレーザobjで構成され、各レーザobjの
長さは32ドットまで設定可能である。図11Aにおい
ては、矢印で示されるように、右方向にレーザobjが
繋げられている。 各レーザobjは、その中心点座標
(X、Y)と、前半の長さL0、後半の長さL1、現在
の進行方向角度D0、屈折前の進行方向角度D1、移動
速度Vのパラメータを持つ。尚、L0+L1は最大で3
2ドット以下に設定される。本形態においてD0、D1
の取り得る値は0〜nまでで、0が水平方向(本形態に
おいては右方向である)を表し、“1”増加する毎にそ
の角度が時計回りに360/nずつ増加される。
【0095】また、上記レーザobjは、直進中、屈折
中の2種類の状態を有し、これらの状態は、夫々、画面
上において、次のように描画される。図11Bに示され
るように、直進中のレーザobjは、長さL0+L1、
角度D0のキャラクタとして描画される。尚、中心点
(X、Y)は、これの見かけ上の中心点に一致する。一
方、図11Cに示されるように、屈折中のレーザobj
は、長さL0、角度D0のキャラクタと、長さL1、角
度D1のキャラクタが、オブジェクトobjの中心点
(X、Y)で連結されたものとして描画される。この場
合、画面の書き換えが行われる都度、長さL0に移動速
度Vが加算され、長さL1から移動速度Vが減算され
る。そして、長さL1が“0”以下になった時点、即
ち、屈折が終了した時点で、レーザobjは、長さL0
の直進中のレーザobjに状態が変化される。
【0096】次に、屈折体について説明する。屈折体
は、夫々、多数のドットから構成され、各ドットには夫
々地形当たりコードJが割り当てられている。この地形
当たりコードJは、画面上に表示される全ての領域に設
定されており、何もない空間若しくは屈折体の別を示す
値、レーザobjが何もない空間から屈折体に入射した
場合の屈折角度からなる。ここで、屈折角度d1は、原
則として、屈折体に対して垂直、且つ、屈折体の内側に
向かう角度である。 次に、屈折処理について図11D
及びEを参照して説明する。上述したように、直進中の
レーザobjは、屈折体に入射、若しくは屈折体から出
射する際、その屈折体の構成ドットに夫々予め設定され
ている地形当たりコード中の屈折角度値に応じて、その
進行方向が変化され、屈折中のレーザobjとなる。そ
して、この変化後の進行方向は、入射、出射前のレーザ
objの進行方向には依存せず、屈折体を構成するドッ
トに夫々設定されている地形当たりコードJによっての
み決定される。
【0097】直進中のレーザobjの両端点の座標を夫
々(X0、Y0)、(X1、Y1)とし、進行方向をD
0とする。このとき、例えば屈折体を構成するドットの
内、レーザobjが通る部分のドットに割り当てられて
いる地形当たりコードJの屈折角度が“0”の場合に
は、図11Dに示されるように、レーザobjは直進
し、屈折体をそのまま透過する。一方、例えば屈折体を
構成するドットの内、レーザobjが通る部分のドット
に割り当てられている地形当たりコードJの屈折角度が
上記屈折角度値、即ち、屈折体に対して垂直で屈折体の
内側に向かう値の場合には、図11Eに示されるよう
に、屈折した後に直進する。以下、図12〜図14のフ
ローチャートを参照して屈折処理について説明する。
【0098】G.屈折処理ルーチンによる制御(図12
〜図14)図12〜図14は、屈折処理ルーチンによる
制御動作を説明するためのフローチャートである。 ス
テップS150では、変数設定手段1fが、直進中のレ
ーザobjの両端点の座標(X0、Y0)、(X1、Y
1)、進行方向角度D0を、変数(x0、y0)、(x
1、y1)、d0に夫々コピーする。 ステップS15
1では、各座標(x0、y0)、(x1、y1)に夫々
割り当てられている地形当たりコードをテーブルから読
み出し、読み出した値を夫々変数vj0、vj1に格納
する。
【0099】ステップS152では、判断手段1dが、
変数vj0、vj1の各値が、共に屈折体内部若しくは
何もない空間の何れかを示す値か否かを判断し、「YE
S」であればステップS153に移行し、「NO」であ
ればステップS154に移行する。ここで、屈折体内部
とは、レーザobj全体が屈折体の中にあるという意
味、何もない空間とは、レーザobj全体が屈折体の外
にあるという意味である。 ステップS153では、描
画命令設定手段1eが、レーザobjの位置を順次水平
方向に平行移動するよう、描画処理プロセッサ10に対
し、描画処理コマンドを発行する。
【0100】ステップS154では、判断手段1dが、
変数vj1が屈折体の位置を示す値か否か、即ち、レー
ザobjの後端が屈折体内部で先端が外か否かを判断
し、「YES」であればステップS155に移行し、
「NO」であればステップS165に移行する。 ステ
ップS155では、演算手段1bが、座標(x0、y
0)、(x1、y1)の中心点の座標(x2、y2)を
求める。この演算は、例えば次のようなものである。
【0101】[数8] x2=(x0+x1)/2y2=(y0+y1)/2
【0102】ステップS156では、判断手段1dが、
x2からx1を減算した値の絶対値が“1”より小さ
く、且つ、y2からy1を減算した値の絶対値が“1”
より小さいか否かを判断し、「YES」であればステッ
プS157に移行し、「NO」であればステップS17
2に移行する。ここでは、中心点及び先端点間の距離が
“1”未満か否かを判断している。 ステップS157
では、変数設定手段1fが、Xにx1を、Yにy1を、
Jにvj1を夫々代入する。ここで(X、Y)は、屈折
体とレーザobjとの交差する交差点座標である。
【0103】ステップS158では、演算手段1bが、
屈折体とレーザobjとの交差点座標(X、Y)におけ
る地形当たりコードJから、その座標に設定する屈折角
度d1を算出する。ステップS159では、判断手段1
dが、屈折中フラグが立っているか否かにより、出射時
か否かを判断し、「YES」であればステップS160
に移行し、「NO」であればステップS164に移行す
る。 ステップS160では、変数設定手段1fが、屈
折角度d1の値を通常の向きに対して逆向きであること
を示す値(180度反転に対応する値)にする。ステッ
プS161では、変数設定手段1fが、座標(X1、Y
1)及び座標(X、Y)間の長さをL1に、座標(X、
Y)及び座標(X0、Y0)間の長さをL0に夫々代入
する。ステップS162では、変数設定手段1fが、レ
ーザobjの屈折前の進行方向D1にD0を、現進行方
向D0にd1を代入する。ステップS163では、フラ
グ管理手段1cが、屈折中フラグをたてる。
【0104】ステップS159において「NO」と判断
した場合には、ステップS164に移行し、ステップS
164では、変数設定手段1fが、屈折角度d1の値を
通常の向きであることを示す値にする。そして、このル
ーチンを抜ける。 ステップS156において「NO」
と判断した場合にはステップS165に移行し、ステッ
プS165では、演算手段1bが、座標(x0、y
0)、(x1、y1)の中心座標点(x2、y2)を求
める。
【0105】この演算は、例えば次のようなものであ
る。 [数9] x2=(x0+x1)/2y2=(y0+y1)/2
【0106】ステップS166では、判断手段1dが、
x2からx0を減算した値の絶対値が“1”より小さ
く、且つ、y2からy0を減算した値の絶対値が“1”
より小さいか否かを判断し、「YES」であればステッ
プS167に移行し、「NO」であればステップS16
8に移行する。ここでは、中心点及び先端点間の距離が
“1”未満か否かを判断している。 ステップS167
では、変数設定手段1fが、Xにx0を、Yにy0を、
Jにvj0を夫々代入する。ここで(X、Y)は、屈折
体とレーザobjとの交差する交差点座標である。
【0107】ステップS168では、変数設定手段1f
が、座標(x2、y2)における地形当たりコードJを
取得し、これをvj2に代入する。 ステップS169
では、判断手段1dが、vj2の値が、屈折体の位置、
即ち、レーザobjの先端から中心点までが屈折体の中
か否かを判断し、「YES」であればステップS170
に移行し、「NO」であればステップS171に移行す
る。 ステップS170では、変数設定手段1fが、x
0にx2を、y0にy2を、vj0にvj2を夫々代入
する。ここでは、座標(x2、y2)が、レーザobj
の新たな先端部分を示す位置とされる。
【0108】ステップS171では、変数設定手段1f
が、x1にx2を、y1にy2を、vj1に0を夫々代
入する。ここでは、座標(x2、y2)が、レーザob
jの新たな後端部分を示す位置とされる。 ステップS
156において「NO」と判断した場合にはステップS
172に移行し、このステップS172では、変数設定
手段1fが、座標(x2、y2)における地形当たりコ
ードJを取得し、これをvj2に代入する。 ステップ
S173では、判断手段1dが、vj2の値が、屈折体
の位置、即ち、レーザobjの後端から中心点までが屈
折体の中か否かを判断し、「YES」であればステップ
S174に移行し、「NO」であればステップS175
に移行する。
【0109】ステップS174では、変数設定手段1f
が、x1にx2を、y1にy2を、vj1にvj2を夫
々代入する。ここでは、座標(x2、y2)が、レーザ
objの新たな後端部分を示す位置とされる。 ステッ
プS175では、変数設定手段1fが、x0にx2を、
y0にy2を、vj0に0を夫々代入する。ここでは、
座標(x2、y2)が、レーザobjの新たな先端部分
を示す位置とされる。
【0110】〔効果〕以上のように、本形態において
は、シューティングゲームやアクションゲームのよう
に、プレーヤの操作するプレーヤキャラクタからレーザ
を出射させ、該レーザを敵プレーヤ若しくはCPUが操
作するキャラクタに当てて、該敵のキャラクタを消去す
るようなゲームにおいて、当該レーザを特定の条件、例
えば、屈折体に入射した場合に、屈折する状態を描画に
より表現するようにしたので、より視覚的な変化を提供
することができ、以て、プレーヤにより変化のあるゲー
ムを提供することができるという効果がある。
【0111】[地形変化]H.地形変化の概念説明(図
15)図15は、地形変化表現の概念を説明するための
説明図である。例えばシューティングゲームでは、地形
データ及びそれに付随する当たりデータは固定データで
ある。しかしながら、本形態においては、ゲーム進行中
に地形データをリアルタイムに変形、加工できるように
し、うねりの表現、プレーヤや敵キャラクタからの外力
による変形効果の表現を可能にすることで、よりゲーム
性を高めようとするものである。地形については、基本
単位毎に自由に硬さ、うねり周期、幅などを設定し、角
度データを取得するようにする。また、プロセッサの能
力に応じて、上記パラメータの設定レベルやそれに応じ
た表示速度等もより高くすることが可能である。
【0112】図15A及び図15Bに夫々示されている
ように、進行方向(本形態では右方向)に背景がスクロ
ールすると共に、プレーヤの操作に応じてプレーヤキャ
ラクタSCも進行方向に進められる状態において、図1
5Aから図15Bへの変化のように、例えばNフレーム
単位で画面の上下位置に、順次異なる形状の壁画像Gr
1及びGr2を表示するようにする。この処理は、プレ
ーヤに対し、画面上の上下の壁部Gr1及びGr2がう
ねっているような視覚的錯覚を引き起こす。プレーヤキ
ャラクタSCが上下の壁部Gr1及びGr2に接触する
とライフが減少するので、プレーヤは、コントローラ9
2のカーソルキー等を操作して、プレーヤキャラクタS
Cが壁部Gr1及びGr2に接触しないようにしなけれ
ばならない。
【0113】以下の説明においては、計算、表示の元と
なるデータは、双方向リストで繋がれているN個の点か
らなる点群である。点群は、上述の壁部Gr1、Gr2
の境界面に沿って配置されている。ここで、双方向リス
トとは、例えばデータがAからDまで存在するときに、
データAが、AそのもののデータとBがどこにあるのか
を示すデータとからなり、データBが、Bそのもののデ
ータとCがどこにあるのかを示すデータとAがどこにあ
るのかを示すデータとからなり、データCが、Cそのも
ののデータとBがどこにあるのかを示すデータとDがど
こにあるのかを示すデータとからなり、データDが、D
そのもののデータとCがどこにあるのかを示すデータと
終端を示す「0」データとからなるように、各データが
数珠繋ぎの形態にされているものを言う。また、単方向
リストとは、上述の場合において、データBにデータA
がどこにあるのかを示すデータがなく、データCにデー
タBがどこにあるのかを示すデータがなく、データDに
データCがどこにあるのかを示すデータを含まない場合
を言う。
【0114】各点pとリストで繋がれている点をroo
t、nextで表現する。リストの終端には0が登録さ
れている。また、描画の基準となる最小ブロックの高さ
をH、幅をWとする。以下、図16〜図21を参照し
て、地形変化処理について説明する。
【0115】I.地形変化ルーチンによる制御(図16
〜図21)図16〜図21は、地形変化ルーチンによる
制御動作を説明するためのフローチャートである。 地
形変化ルーチンは、ステップS20、ステップS40、
ステップS60及びステップS80からなる。 ステッ
プS20では、全点移動量設定ルーチンによる処理が行
われる。ここで、全点とは、例えば図15A及びBに示
した壁部Gr1及びGr2を構成する全ての点を意味す
る。ステップS40では、全点移動及び当たり登録ルー
チンによる処理が行われる。ステップS60では、点列
からうねりを含めた描画命令を登録するルーチンによる
処理が行われる。ステップS80では、自由変形地形か
らの当たり取得ルーチンによる処理が行われる。以下、
これらのルーチンについて詳細に説明する。
【0116】図17は全点移動量設定ルーチンを示すフ
ローチャート、図18は、該フローチャートに含まれる
各点移動量設定ルーチンを示すフローチャートである。
以下、順次説明する。
【0117】ステップS21では、ダミーデータ生成手
段1sが、最初の点のrootのダミーデータを生成す
る。 続いて、ステップS22及びステップS25によ
り、予め決められた回数だけステップS23、ステップ
S24、ステップS10及びステップS25の処理が繰
り返し行われる(ループ1)。例えば、上記一連の処理
が行われる都度、変数iに1が加算され、その値が最大
値MAXから1を減じた値になるまで上記一連の処理が
繰り返される。なお、ここにいう「最大値MAX」と
は、その時点において画面上に表示される上述の点列の
数を言う。
【0118】ステップS23では、判断手段1dが、変
数iの値がMAXから1を減じた値になったか否かを判
断し、「YES」であればステップS24に移行し、
「NO」であればステップS10に移行する。ステップ
S24では、ダミーデータ生成手段1sが、最後の点の
nextのダミーデータを生成する。ステップS10で
は、各点移動量設定ルーチンによる処理が行われる。
【0119】次に、図18を参照して、各点移動量設定
ルーチンによる処理について説明する。ステップS11
では、ベクトル取得手段1tが、点pから点rootへ
のベクトルv1及び距離d1、点pから点nextへの
ベクトルv2及び距離d2を夫々計算する。 ステップ
S12では、判断手段1dが、上記ベクトルv1とv2
とでおりなす角度のコサイン(COS)を取った値が、
折れ曲がり角度の制限値を超えているか否かを判断し、
「YES」であればステップS13に移行し、「NO」
であればステップS12に移行する。
【0120】ステップS13では、変数設定手段1f
が、上記COS値が、上記制限値内に収まるように移動
量を設定する。 ステップS14では、ベクトル取得手
段1tが、点pの現在位置から原点位置、すなわちうね
りがない状態における点pの位置へのベクトルv3を取
得する。尚、このベクトルv3の値を時間で変動させる
ことによって視覚的にうねりを表現することができる。
【0121】ステップS15では、判断手段1dが、外
力が加わっているか否かを判断し、「YES」であれば
ステップS16に移行し、「NO」であればステップS
17に移行する。ここで、外力は、上述と同様、点で示
され、距離が力の大きさとされる。また、外力とは、地
形自身ではなく、それ以外のものから加わる力のことを
意味し、例えば、特定のキャラクタが地形を引っ張って
変形させるような場合における変形をさせる力等であ
る。従って、距離が力の大きさを示すというのは、例え
ば上記引っ張る力が大きいということである。つまり、
引っ張る力の大きさを距離で表しているのである。
【0122】ステップS16では、ベクトル取得手段1
tが、外力のベクトルv4、v5、・・・・を取得す
る。 ステップS17では、演算手段1bが、ベクトル
v1〜vnを合成し、硬さ等のパラメータを加えて移動
量を設定する。 ここで、ベクトルv1〜vnの合成は
次のような概念に基いて行われている。例えば1つの点
にゴムひもがいくつも繋がって引っ張られているとき、
ある瞬間にゴムひもがどの方向に動くかは、繋がってい
る全てのゴムひもの引っ張る力と方向を足し合わせた方
向になる。この方向を求める処理が、ベクトルv1〜v
nの合成である。
【0123】次に、図19を参照して、全点移動及び当
たり登録ルーチンによる処理について説明する。 ステ
ップS41では、判断手段1dが、背景全体の移動量の
累積値が地形を構成する最小単位の横幅Wより大きいか
否かを判断し、「YES」であればステップS42に移
行し、「NO」であればステップS43に移行する。ス
テップS42では、データ登録手段1vが、リストの先
頭に登録されているデータを削除し、地形内の絶対座標
から硬さ等のデータを取得し初期化した上で、リストの
終端に登録する。
【0124】ステップS43では、データ登録手段1v
が、当たりデータのテーブルを“0”でクリアする。
ステップS44及びステップS47により、予め決めら
れた回数だけステップS44、S45、S46、S47
の処理が繰り返し行われる(ループ1)。例えば、上記
一連の処理が行われる都度、変数iに1が加算され、そ
の値が最大値MAXから1を減じた値になるまで上記一
連の処理が繰り返される。 ステップS45では、描画
命令発行手段1eが、設定された移動量に基いた描画命
令を、描画処理プロセッサ10に対して発行する。これ
により、描画処理プロセッサ10は、バッファ11上の
新たな位置に地形の画像データを書き込む。これによっ
て、テレビジョンモニタ12の表示面上において、新た
な位置に地形の画像が表示される。ここで、視覚的に動
く方向は、ステップS17で求められたベクトルv1〜
vnの合成ベクトルの方向である。
【0125】ステップS46では、データ登録手段1v
が、当たりデータを持っている場合、同時に当たりデー
タのテーブルのX座標/(テーブル幅/ブロック分割
数)で示される位置に、単方向リストとしての当たりデ
ータの登録を行う。尚、点rootと点pがブロックを
跨ぐ場合には両方に登録される。
【0126】ここで、ブロックに関して説明する。ブロ
ックとは壁部Gr1、Gr2などとプレイヤーキャラク
ターSCとの当たり判定のために設けられており、画面
を左右方向に等分割するようにして設けられている。例
えば、距離0〜5未満をAブロック、距離6〜10未満
をBブロックとし、AブロックとBブロックが並べられ
た状態で、これらAブロック及びBブロック上に距離3
の領域Cを設定する場合を想定する。領域Cの左端の位
置が、Aブロックの左端から距離1の位置に設定された
場合には、領域Cの右端の位置は、Aブロックの左端か
ら距離4の位置となる。この場合、領域Cの両端は、何
れもAブロック内であるから、Aブロックに登録され
る。一方、領域Cの左端の位置が、Aブロックの左端か
ら距離3の位置に設定された場合には、領域Cの右端の
位置は、Aブロックの左端から距離6の位置、即ち、B
ブロックの左端から距離1の位置となる。つまり、この
場合、領域Cは、AブロックとBブロックを跨ぐことに
なる。上記「跨ぐ」はこの意味である。この場合は、領
域Cは、A及びBブロックの両方に登録される。
【0127】次に、図20を参照して、点列からうねり
を含めた描画命令を登録するルーチンによる処理につい
て説明する。 ステップS61では、変数設定手段1f
が、計算点列を、他のルーチンと共有している点列とす
る。ステップS62及びステップS71により、予め決
められた回数だけステップS62〜S70の処理が繰り
返し行われる(ループ2)。例えば、上記一連の処理が
行われる都度、変数iに1が加算され、その値が最大値
MAXから1を減じた値になるまで上記一連の処理が繰
り返される。また、ステップS64及びステップS69
により、予め決められた回数だけステップS65〜S6
8の処理が繰り返し行われる(ループ1)。例えば、上
記一連の処理が行われる都度、変数iに1が加算され、
その値が最大値MAXから1を減じた値になるまで上記
一連の処理が繰り返される。
【0128】ステップS63では、ダミーデータ生成手
段1sが、最初の点用にダミーのroot1及びroo
t2を生成する。 ステップS65では、ベクトル取得
手段1tが、点rootから点nextへ向かうベクト
ルを90度回転したベクトルv1を得る。このベクトル
v1の起点は変数iで規定される点p1である。
【0129】ステップS66では、ひずみ修正手段1u
が、必要に応じてひずみを修正する。ここで、ひずみ修
正とは、ベクトルv1をそのまま使用して地形の描画を
行った場合、ひずみすぎて地形が交差したように描画さ
れる場合があるので、ねじれない程度にベクトルv1の
値を修正する等して地形が交差したように描画されない
ようにすることを言う。ステップS67では、変数設定
手段1fが、点p1にベクトルv1を加えた点を点p2
とする。
【0130】ステップS68では、データ登録手段1v
が、root1、p1、root2及びp2で作られる
四角形を描画するための描画命令を登録する。ステップ
S70では、変数設定手段1fが、計算点列を、p2等
により新しく生成された点列にする。
【0131】次に、図21を参照して自由変形地形から
の当たり取得ルーチンによる処理について説明する。ス
テップS81では、アドレス取得手段1wが、当たりを
調べるべき、x、y座標データを受け取る。ステップS
82では、アドレス取得手段1wが、全点移動及び当た
り登録ルーチン内で登録された当たりテーブルからx座
標に基いて当たりのある可能性のある点群のリストの先
頭アドレスdadrを取得する。
【0132】ステップS83では、判断手段1dが、全
ての点群のリストについて処理を終了したか否かを判断
し、「YES」であればステップS84に移行し、「N
O」であればステップS85に移行する。ステップS8
4では、変数設定手段1fが、当たりがないことを示す
データを当たりの有無を示す変数に設定する。 ステッ
プS85では、変数設定手段1fが、変数pに取得した
*dadrを代入する。ここで、*dadrは、点のデ
ータがどこにあるのかを示す情報dadrが示している
点のデータである。
【0133】ステップS86では、判断手段1dが、x
の値がpのx座標値以上、且つ、nextのx座標値未
満か否かを判断し、「YES」であればステップS87
に移行し、「NO」であれば再びステップS83に移行
する。ステップS87では、演算手段1bが、pのY座
標値とpの当たりY補正値とを加算し、その加算結果を
pyとする。ここで、Y補正値は、地形画像の凹凸(で
こぼこ)を設定するための値である。
【0134】ステップS88では、演算手段1bが、n
extのY座標とnextの当たりY補正値とを加算
し、その加算結果をnextyとする。 ステップS8
9では、補間手段1xが、py、nextyの間を線形
補間し、xにおけるY座標yhitを得る。 ステップ
S90では、演算手段1bが、yとyhitの値を比較
する。ステップS91では、判断手段1dが、上記yと
yhitの比較結果に基いて、当たりが有るか否かを判
断し、「YES」であればステップS92に移行しう、
「NO」であればステップS93に移行する。
【0135】ステップS92では、変数設定手段1f
が、当たり有りの判定と、種類、必要に応じて線形補間
したときに求まる傾き等を、当たりルーチンを呼び出し
たものに返す。ここで、線形補間は、点と点が直線で繋
がっているものとして、その間の座標を計算で求めるこ
とを言う。 以上のように、本形態においては、横スク
ロール方式のシューティングゲームやアクションゲーム
等において、上下の地形の形状等を例えばフレーム毎に
変えることにより、表示面上において当該地形の動きを
表現するようにしたので、より変化に富んだゲームを提
供することができる。
【0136】[水平方向への重力表現]J.水平方向へ
の重力表現の概念説明(図22)図22は、水平方向へ
の重力表現を説明するための説明図である。例えば横方
向へのスクロール方式が採用されているシューティング
ゲームでは、通常、プレーヤによるコントローラ92の
操作に応じて、プレーヤキャラクタSCが画面右方向に
移動すると共にシューティングを行うようになってい
る。本形態においては、このようなゲームにおいて、ス
クロール方向と逆の方向に引き込まれるようにするため
にいわば重力を当該方向に設定する。このような設定を
することにより、図22A及びBに示されるように、プ
レーヤは自分の操作するプレーヤキャラクタSCが後方
に吸い込まれないように、また、前方から後方に向かっ
て吸い込まれていく他の物体、例えば崩れた壁部Grp
や敵キャラクタDCに衝突しないようにするために、プ
レーヤはコントローラ92に対し適切な操作を行わなけ
ればならない。よって、単純に右方向にプレーヤキャラ
クタSCを進めながらシューティングを行うための操作
をする場合と比べて、より変化のあるゲーム展開を提供
することができる。
【0137】尚、本実施形態においては、クリアすべき
複数のステージの内、1若しくは複数のステージについ
て重力表現がなされる、即ち、ブラックホールの存在が
設定されるようにされている。このブラックホールは、
仮想的に、水平座標においては左方向の画面外、垂直座
標においては画面の中央に設定され、重力加速度GRA
VITYxがキャラクタの速度値から減算される。座標
は、左及び上方向にがマイナス、右及び下方向がプラス
とされるので、上記ブラックホールの設定の場合におい
ては、画面上で左から右に移動するキャラクタは重力加
速度GRAVITYxが減算されるので、右方向に移動
する速度が遅くなったように描画され、画面上で右から
左に移動するキャラクタは重力加速度GRAVITYx
が加算されるので、左方向に移動する速度が早くなった
ように描画される。
【0138】尚、垂直方向においては、ブラックホール
の仮想位置が画面中心とされるので、上下を等しく分割
する直線から外部に向かって離れていくキャラクタは、
重力加速度GRAVITYxが当該キャラクタの速度値
から減算されるので、その移動速度が遅くなったように
描画され、外部から上記直線に向かって移動するキャラ
クタは、重力加速度GRAVITYxが当該キャラクタ
の速度値に加算されるので、その移動速度が早くなった
ように描画される。以下、図23〜図26を参照して、
水平方向への重力表現処理について説明する。
【0139】K.水平方向への重力表現ルーチンによる
制御(図23〜図26)図23〜図26は、水平方向へ
の重力表現ルーチンによる制御動作を説明するためのフ
ローチャートである。
【0140】ステップS300では、背景スクロール処
理手段1jが、例えばフレーム毎に背景画像の種類や表
示位置を順次指定することにより、背景スクロール処理
が施される。描画命令発行手段1eは、上記背景画像の
種類や表示位置情報等に基いて描画処理プロセッサ10
に対し、描画命令を発行する。描画処理プロセッサ10
は、描画命令に基いた背景画像をバッファ11上に展開
する。これにより、テレビジョンモニタ12の表示面上
では、スクロールが行われる。ステップS301では、
変数設定手段1fが、ブラックホール重力計算処理の1
つの処理として、現在の重力加速度値をシステム変数G
RAVITYxにセットする。ステップS320では、
プレーヤキャラクタ移動処理ルーチンによる処理が行わ
れる。ステップS340では、敵キャラクタ移動処理ル
ーチンによる処理が行われる。ステップS302では、
その他の処理が行われる。
【0141】ステップS303では、次の割り込み処理
ルーチンによる処理が行われる。次に、プレーヤキャラ
クタ移動処理ルーチンによる処理について説明する。ス
テップS321では、プレーヤキャラクタSCの移動処
理が行われる。ステップS322では、オプションの移
動処理が行われる。ステップS323では、バリアの移
動処理が行われる。ステップS324では、ショットの
移動処理が行われる。ステップS325では、ミサイル
の移動ルーチンによる処理が行われる。
【0142】ここで、上記オプション、バリア、ショッ
トは、何れもゲーム空間上において、プレーヤキャラク
タSCに付随するものであり、バリアはプレーヤキャラ
クタSCを被弾から守るためのもの、ショットはプレー
ヤキャラクタSCが弾を発射するためのものである。そ
して、ステップS321〜S322における「移動」と
は、プレーヤがコントローラ92を介してプレーヤキャ
ラクタSCを画面上で移動させたときに、描画命令発行
手段1eが、プレーヤキャラクタの画像を上記移動量に
応じて順次移動することを示す描画命令を、描画処理プ
ロセッサ10に対して例えばフレーム毎に順次発行する
と共に、その移動量に応じてオプションの画像、バリア
の画像、ショットの画像の各位置を順次変更することを
示す描画命令を、描画処理プロセッサ10に対して例え
ばフレーム毎に順次発行することによって、描画処理プ
ロセッサ10が上記描画命令に応じた画像をバッファ1
1上に展開することにより、テレビジョンモニタ12の
表示面上にフレーム毎に上記各画像が順次異なる位置に
表示され、これが上記各画像の移動としてプレーヤの眼
に映ることを意味する。
【0143】尚、本形態においては、ステップS321
〜S324までの処理で、プレーヤキャラクタSCは重
力の影響を受けないように設定されている。また、ミサ
イルは発射された後にはそのミサイルに対して予め設定
されている速度情報に応じた速度で、単独に移動される
ことは言うまでもない。
【0144】次に、図25を参照して、ミサイルの移動
ルーチンによる処理について説明する。ステップS32
6では、判断手段1dが、フラグの値から、現在のステ
ージがブラックホールの存在するステージか否かを判断
し、「YES」であればステップS327に移行し、
「NO」であればステップS332に移行する。 ステ
ップS327では、演算手段1bが、ミサイルの水平方
向速度dhからGシステム変数GRAVITYxの値を
減算する。ここで、重力とキャラクタ(しばしば剥離し
た壁部も含む)との関係について説明する。画面上の座
標系は、左及び上方向がマイナス、右及び下方向がプラ
スである。重力加速度GRAVITYxは、0以上の値
をとる変数である。従って、この重力加速度GRAVI
TYの値を、各キャラクタの水平方向速度値から減算す
れば、右に進んでいたキャラクタは減速した見えるよう
に、左に進んでいたキャラクタは加速して見えるように
描画される。
【0145】尚、垂直方向の加速度値に関して言うと、
既に説明したように、ブラックホールの設定位置は、水
平座標では左方向の画面外、垂直座標では画面の中央と
いった設定である。従って、垂直位置が画面中心から離
れているものは縦方向の重力加速度(画面を上下に等分
割する直線上に向かう力)の影響を受ける。この加速度
はキャラクタの垂直座標が画面中央から離れるにしたが
って強くなる。
【0146】ステップS328では、判断手段1dが、
ミサイルの垂直座標Vposiが、画面中心の垂直座標
値より大きいか否かを判断し、「YES」であればステ
ップS329に移行し、「NO」であればステップS3
32に移行する。 ステップS329では、演算手段1
bが、上方向の加速度を、垂直方向速度dvに加算す
る。
【0147】ステップS330では、演算手段1bが、
ミサイルの位置にdh及びdvを加算する。ステップS
331では、判断手段1dが、ミサイル画面外判定、及
び敵との当たり判定を行う。ここで、「画面外判定」
(以下説明する敵キャラクタ画面外判定も同様である)
について説明する。プレーヤのミサイルや敵の位置情報
が表示領域外を示す位置になると、画面上においては、
これらの画像が消えたように見える。しかしながら、バ
ッファ11上では上記キャラクタの情報が残ったままな
ので、そのままにしておくと、バッファ11の記憶領域
の空きがなくなってしまう。そこで、これを回避するた
めの判定を行い、よけいな消費容量を減らすようにする
のである。 ステップS332では、演算手段1dが、
下方向の加速度を、垂直方向速度dvに加算する。
【0148】次に、図26を参照して、敵キャラクタ移
動処理ルーチンによる処理について説明する。ステップ
S341では、判断手段1dが、敵キャラクタDCがブ
ラックホールの影響を受けるか否かを夫々のキャラクタ
に割り当てられている変数の値によって判断し、「YE
S」であればステップS342に移行し、「NO」であ
ればステップS345に移行する。ここで上記変数は、
重力の影響を受けるか否かを表し、影響を受けることを
示す値の場合のみ、重力の計算がおこなわれる。
【0149】ステップS342では、演算手段1bが、
敵の水平方向速度dhからシステム変数GRAVITY
xを減算する。ステップS343では、判断手段1d
が、敵キャラクタDCの垂直方向の座標Vposiの値
が画面中心の垂直方向の座標の値よりも大きいか否かを
判断し、「YES」であればステップS344に移行
し、「NO」であればステップS347に移行する。
ステップS344では、演算手段1bが、上方向の加速
度を、垂直方向速度dvに加算する。ステップS345
では、演算手段1bが、敵キャラクタDCの位置にd
h、dvを加算する。ステップS346では、判断手段
1dが、敵画面外判定、及びプレーヤキャラクタSCか
らのショット、ミサイル、バリアとの当たり判定を行
う。
【0150】ステップS347では、演算手段1dが、
下方向の加速度を、垂直方向速度dvに加算する。 以
上のように、本形態においては、横方向スクロールのシ
ューティングゲームやアクションゲーム等において、プ
レーヤキャラクタSCの進行方向と逆の方向に重力が存
在するように設定しているので、プレーヤは、敵キャラ
クタDCを消去するための操作以外に、上記重力によっ
てプレーヤキャラクタSCに向かってくる物体を避けた
り、プレーヤキャラクタSCが後方若しくは画面中心に
引き込まれないように進行方向若しくは画面中心から外
側により進めたりするために操作をしなければならなく
なるので、より変化に富んだゲームを提供することがで
きる。
【0151】[ゲージエディット]L.ゲージエディッ
トの概念説明(図27〜図29)ゲージエディットの概
念を説明するための説明図である。本形態においては、
プレーヤによるコントローラ92の操作に応じて、プレ
ーヤの操作するプレーヤキャラクタSCからレーザやミ
サイル等を出射し、これらを敵キャラクタに当てて敵キ
ャラクタのライフ値を減少させ、最終的に敵キャラクタ
を消去するシューティングゲームを想定している。そし
て、更に、特定の敵キャラクタを消去することによって
ゲーム空間上に新たに出現するカプセルアイテムを取得
したときには、取得しているカプセルアイテムの個数に
対応して夫々予め割り当てられているバリア、ショット
オプション等のパワーアップアイテムを、コントローラ
92の特定のボタンの押圧によりプレーヤキャラクタS
Cに対し付加することができるようになっている。例え
ば、カプセルアイテムの取得数が3ならバリアといった
ように、取得数に応じて付加されるパワーアップアイテ
ムが異なる。
【0152】上記パワーアップアイテムを付加するため
に、図29において下方に示されるような選択画面(以
下パワーアップゲージと称する)が用いられる。このパ
ワーアップゲージは、この例で示されるように、6個に
区切られており、各領域には例えば、1、2、3、4、
5、6のように、夫々対応する取得カプセルアイテム数
が割り当てられている。プレーヤがゲーム中に、カプセ
ルアイテムを取得すると、そのときの取得数に対応する
位置の領域が強調表示される。そのときにプレーヤが特
定のボタンを押すと、そのときの取得数に応じて強調表
示されている領域に割り当てられているパワーアップア
イテムがプレーヤキャラクタに付加される。
【0153】パワーアップゲージの各領域には、アルフ
ァベットの「S」、「M」、「D」、「L」、「O」、
「B」が夫々表示されると共に、その右側に「SPEE
DUP」の文字が表示されている。「S」は2重枠とな
っており、これは、現在「S」を選択可能、即ち、
「S」を選択可能な数のカプセルアイテムをプレーヤが
取得していることを示している。そして、この「S」の
内容が「SPEED UP」(プレーヤキャラクタの移
動速度が高速となる)である。プレーヤがここで特定の
ボタンを押すと、このパワーアップアイテムをプレーヤ
キャラクタに付加することができる。
【0154】本形態においては、取得したカプセルアイ
テムの個数と、それに対応づけられている様々なパワー
アップアイテムとの対応関係をゲーム開始前に予め変更
しておき、ゲーム中に表示される上記パワーアップゲー
ジに反映することができる。以下、この変更のことをゲ
ージエディットと称することとする。尚、ゲージエディ
ットを行うことのできる画面は、ゲームスタート前のプ
レーヤキャラクタSCの選択時のものと、オプション画
面から入ることのできるデフォルトゲージエディット画
面の2つが用意されており、これら2つの画面は、夫々
エディットを終了するときの操作が若干異なる。
【0155】ゲージエディットは、プレーヤの操作によ
り次のように行われる。ゲージエディットが選択される
と、図27Aに示されるような画像が表示される。この
図27Aに示されるように、ゲージエディット画面は、
第1のプレーヤ用のゲージエディット選択領域(図中
「1P」で示される枠内)と、第2のプレーヤ用のゲー
ジエディット選択領域(図中「2P」で示される枠内)
とで構成される。各領域内には、夫々プレーヤキャラク
タSCに付加されるパワーアップアイテムがの画像が、
プレーヤキャラクタSCの画像と共に表示される。この
例では、夫々6種類ずつのパワーアップアイテムが選択
可能となっている。パワーアップアイテムの選択は、コ
ントローラ92のカーソルキーの左右キーL及びRで左
右方向に移動可能なカーソルを移動させることによって
行われる。
【0156】カーソル(以下アイコンカーソルと称する
こととする)は、第1及び第2のプレーヤ用のゲージエ
ディット領域内にの「1P」、「2P」で示される小さ
な枠である。各パワーアップアイテムの画像は、各ゲー
ジエディット選択領域の下部に夫々示されている
「S」、「M」、「D」、「L」、「O」、「B」に夫
々対応している。この例では、第1及び第2のプレーヤ
の各アイコンカーソルは、夫々最も左のパワーアップア
イテムを選択しているので、これらのパワーアップアイ
テムに対応して、夫々下方のアルファベット「S」が強
調表示される。以下、選択操作について説明する。
(1)上記表示状態において、例えば第1プレーヤが、
コントローラ92を介して最も左のパワーアップアイテ
ムのアイコンをアイコンカーソルを選択し、続いて、決
定を示すボタンを押圧すると、当該パワーアップアイテ
ムのアイコンは、所定の速度、但し、プレーヤがその移
動軌跡を認識可能な速度で、一旦上方に移動され、続い
て、図27Bに示されるように、最初の位置よりも右下
に移動される。
【0157】尚、作図の都合上、表されていないが、当
該アイコンは、他のアイコン(この例では、左から2番
目のアイコン)に重なり、且つ、半透明状態で表示され
る。以上の一連の処理により、プレーヤがアイコンを選
択、決定すると、当該アイコンが一旦持ち上げられ、続
いて、右下方に移動されるといった表現が画像表示によ
って行われる。そして、プレーヤは、この動きによって
自分の選択しているアイコンを確実に認識することがで
きる。右下方に半透明で表示されるようにしているの
は、現在、このアイコンが選択され、他の場所のアイコ
ンと交換可能であることを示すためである。以下、この
状態を「ホールド」と称することとする。
【0158】(2)次に、図28Aに示されるように、
例えば第1プレーヤが、コントローラ92のカーソルキ
ーを用いて入れ換えたいアイコン(この例では左から3
番目のパワーアップアイテムのアイコン)の位置に、現
在選択しているアイコン(図27Aにおいて最も左にあ
ったアイコン)を移動させ、特定のボタンの押圧により
決定すると、図28Bに示されるように、図27Aにお
いて第1プレーヤ用の領域中で最も左に表示されていた
アイコンと、左から3番目のアイコンが交換される。
(3)上記操作をプレーヤが繰り返した後に、プレーヤ
がコントローラ92の特定のボタンを押圧すると、その
ときの設定が決定され、ゲーム中に反映される。図29
Aはゲージエディットによる設定が行われる前を示すゲ
ーム中の画面表示例、図29Bはゲージエディットによ
る設定が行われた後を示すゲーム中の画面表示例であ
る。図29Aに示される画面表示例においては、「S」
は、パワーアップゲージ中の最も左の位置に表示されて
いる。これが、図28に示すように、ゲージエディット
で「S」と「D」の位置が入れ換えられると、図29B
に示されるように、「S」は、パワーアップゲージ中の
左から3番目の位置に表示され、その代わりに「D」
が、パワーアップゲージ中の最も左の位置に表示され
る。
【0159】尚、アイコンが選択されていない状態、即
ち、半透明で右下方に表示されている状態で、プレーヤ
がキャンセルに割り当てられているボタンを押圧する
と、当該ゲージエディット画面の1つ前の画面が表示さ
れる。即ち、ゲージエディットを抜けることができる。
続いて、ゲージエディットの処理において使用される
パラメータは次の通りである。 STEP・・・・システムフロー制御変数 GEx(n)・・・・・・・・アイコンカーソル位置
(例えば0以上5以下) GEy(n)・・・・・・・・アイコンカーソル表示フ
ラグ(0は表示、1は非表示) GAUGE(n)・・・・・・現在のパワーアップゲー
ジの配列を示す32ビット値の配列変数 GAUGEbuf(n)・・・GAUGE(n)の内容
を一時的にコピーする、32ビット値の配列変数
【0160】ここで、GAUGE(n)及びGAUGE
buf(n)は、各2個ずつ(プレーヤ2人分)のゲー
ジの配列を保持する。その内容は次の通りである。 G
AUGEはGAUGE0〜GAUGE5まで6個用意さ
れ、夫々3ビット(0〜7)の値が入力される。各GA
UGE0からGAUGE5に夫々入力される値は、アイ
テム数1〜6個に対応したパワーアップアイテムの種類
を表す。各値とその値が示すパワーアップアイテムの種
類は例えば次の通りである。 000・・・スピードアップ 001・・・ミサイル 010・・・ダブル
【0161】ここで、ダブルは、通常は正面(右方向)
にしか弾を発射することができない状態を、斜め上(右
上)や後方(左)にも発射することができるようにする
ためのパワーアップである。 011・・・レーザ 100・・・オプション ここで、オプションは、プレーヤキャラクタの動きを走
査し、プレーヤと同じ種類の攻撃をプレーヤキャラクタ
の攻撃動作と同時に行うことのできる球状のもので、図
27において左から4番目に示されている、キャラクタ
に最大4つまで付加される球体である。この例では、4
つの球体が示されているので、この4つの球体から夫々
弾が発射される。 101・・・バリア
【0162】M.ゲージエディットルーチンによる制御
(図30〜図38)ゲージエディットルーチンによる制
御動作を説明するためのフローチャートである。ステッ
プS201では、判断手段1dが、システムフロー制御
変数STEP2の値がゲージエディット画面であること
を示す値か否かを判断し、「YES」であればステップ
S202に移行し、「NO」であればゲージエディット
ルーチンを抜ける。
【0163】ステップS202では、変数設定手段1f
が、iに0を代入する。ステップS203では、判断手
段1dが、iの値が2か否かを判断し、「YES」であ
ればステップS207に移行し、「NO」であればステ
ップS204に移行する。ステップS204では、判断
手段1dが、(i+1)番目のプレーヤが不参加か否か
を判断し、「YES」であればステップS213に移行
し、「NO」であればステップS205に移行する。
【0164】ステップS205では、判断手段1dが、
(i+1)番目のプレーヤがゲージエディットに参加中
か否かを判断し、「YES」であればステップS217
に移行し、「NO」であればステップS206に移行す
る。ステップS206では、演算手段1bが、iに1を
加算する。ステップS207では、判断手段1dが、プ
レーヤキャラクタSCの選択中のゲージエディットか否
かを判断し、「YES」であればステップS208に移
行し、「NO」であればステップS260に移行する。
【0165】ステップS208では、判断手段1dが、
1つ前の他の選択モードの画面に戻るためのフラグが立
っているか否かを判断し、「YES」であればステップ
S209に移行し、「NO」であればステップS260
に移行する。ステップS209では、変数設定手段1f
が、システムフロー制御変数STEP2に、1つ前の他
の選択モードを示す値を代入する。 ステップS260
では、ゲージアイコン処理ルーチンによる処理が行われ
る。ステップS280では、アイコンカーソル処理ルー
チンによる処理が行われる。ステップS210では、判
断手段1dが、プレーヤキャラクタの選択中のゲージエ
ディットか否かを判断し、[YES」であればステップ
S211に移行し、「NO」であればステップS213
に移行する。
【0166】ステップS211では、判断手段1dが、
全ての参加中のプレーヤのゲージエディット終了フラグ
が立っているか否かを判断し、「YES」であればステ
ップS212に移行し、「NO」であればこのゲージエ
ディットルーチンを抜ける。ステップS212では、フ
ラグ管理手段1cが、ゲージエディット終了フラグを立
てる。 ステップS213では、判断手段1dが、何れ
かのプレーヤのゲージエディット終了フラグが立ってい
るか否かを判断し、「YES」であればステップS21
4に移行し、「NO」であればこのゲージエディット処
理ルーチンを抜ける。
【0167】ステップS214では、フラグ管理手段1
cが、デフォルトのゲージエディット終了フラグを立て
る。ステップS215では、ボタン操作検出手段1aか
らのボタン操作検出結果に基いて、判断手段1dが、
(i+1)番目のプレーヤによってコントローラ92の
スタートボタン92aが押圧されたか否かを判断し、
「YES」であればステップS217に移行し、「N
O」であればステップS216に移行する。
【0168】ステップS216では、フラグ管理手段1
cが、当該プレーヤについて待機中状態のフラグを立て
る。 ステップS217では、判断手段1dが、何れか
のプレーヤに割り当てられているゲージエディット終了
フラグが立っているか否かを判断し、「YES」であれ
ばステップS218に移行し、「NO」であればこのゲ
ージエディット処理ルーチンを抜ける。
【0169】ステップS219では、判断手段1dが、
(i+1)番目のプレーヤのOKアイコンカーソルのs
tep値が1か否かを判断し、「YES」であれば再び
ステップS206に移行し、「NO」であればステップ
S220に移行する。ここで、OKアイコンカーソルと
は、アイコンカーソルとは別のカーソルで、カーソルキ
ーの上下キーUが押圧されたときに表示されるカーソル
であり、このOKカーソルが表示されているときに決定
ボタン92eが押圧されると、ゲージエディットが終了
される。一方、ゲージエディットを行うための通常のア
イコンカーソルは、上記下キーDが押圧されたときに表
示される。つまり、上下キーU及びDが交互に押圧され
ると、OKアイコンカーソルとアイコンカーソルとが交
互に表示される。
【0170】また、step値とは、OKアイコンカー
ソルを操作しているプレーヤが、ゲージエディットに不
参加のときにはその値が0、参加中のときにはその値が
1、終了した直後にはその値が2、もう1人のプレーヤ
のゲージエディット終了を待っている場合にはその値が
3になる。ステップS220では、ボタン操作検出手段
1aからのボタン操作検出結果に基いて、判断手段1d
が、(i+1)番目のプレーヤがスタートボタン92a
を押圧したか否かを判断し、「YES」であれば再びス
テップS216に移行し、NOであればステップS22
1に移行する。
【0171】ステップS221では、判断手段1dが、
プレーヤキャラクタ選択中のゲージエディットか否かを
判断し、「YES」であればステップS222に移行
し、「NO」であればステップS226に移行する。
ステップS222では、判断手段1dが、(i+1)番
目のアイコンカーソルが、パワーアップアイテムのアイ
コンをホールドしているか否かを判断し、「YES」で
あればステップS206に移行し、「NO」であればス
テップS223に移行する。
【0172】ステップS223では、ボタン操作検出手
段1aからのカーソルキーの上下キーU及びDが押圧さ
れたことを示す操作結果情報に基いて、ゲージエディッ
ト管理手段1kが、アイコンカーソルの表示、非表示を
示す情報を変更する。これにより、描画命令発行手段1
eは、アイコンカーソルの表示、非表示を示す描画命令
を、描画処理プロセッサ10に対して発行する。描画処
理プロセッサ10は、上記描画命令に基いてバッファ1
1の内容を書き換える。よって、テレビジョンモニタ1
2の表示面上において、アイコンカーソルが表示若しく
は非表示状態となる。ステップS224では、判断手段
1dが、アイコンカーソルの表示、非表示を示す情報に
基いて、アイコンカーソルが表示されているか否かを判
断し、「YES」であればステップS225に移行し、
「NO」であればステップ再びステップS206に移行
する。
【0173】ステップS225では、ボタン操作検出手
段1aからのカーソルキーの左右キーL及びRが押圧さ
れたことを示す操作結果情報に基いて、ゲージエディッ
ト管理手段1kが、アイコンカーソルのカーソル位置G
Ex(i)の値を変更する。これにより、描画命令発行
手段1eは、アイコンカーソルのカーソル位置GEx
(i)に基いた描画命令を、描画処理プロセッサ10に
対して発行する。描画処理プロセッサ10は、上記描画
命令に基いてバッファ11の内容を書き換える。よっ
て、テレビジョンモニタ12の表示面上において、アイ
コンカーソルが対応する位置に表示される。
【0174】ステップS221で判断手段1dが「N
O」と判断した場合には、ステップS226に移行す
る。そしてステップS226では、変数設定手段1f
が、GEy(i)に1を代入する。 ステップS227
では、判断手段1dが、(i+1)番目のプレーヤのア
イコンカーソルがアイコンをホールド中か否かを判断
し、「YES」であればステップS228に移行し、
「NO」であれば再びステップS206に移行する。
ステップS228では、変数設定手段1fが、gx0
に、(i+1)番目のプレーヤのアイコンカーソルがホ
ールドしているアイコンの元の位置の値を代入する。ス
テップS229では、変数設定手段1fが、gxに、
(i+1)番目のアイコンカーソルの現在位置GEx
(i)を代入する。ステップS230では、メモリ管理
手段1nが、現在の(i+1)番目のプレーヤのパワー
アップゲージの並び方を示すデータGAUGE(i)
を、GAUGEbuf(i)にコピーする。
【0175】ステップS231では、ゲージエディット
管理手段1kがGAUGEbuf(i)に対し所定の処
理を施し、その結果をg0に代入する。ここで、所定の
処理とは、例えば、上記gx0の3倍だけGAUGEb
uf(i)の値を右にシフトし、これに07H(16
進)との論理積をとるといった処理である。 ステップ
S232では、変数設定手段1fが、ゲージエディット
管理手段1kにより所定の処理が施されたGAUGEb
uf(i)をg1に代入する。ここで、所定の処理と
は、例えば、上記gxの3倍だけGAUGEbuf
(i)の値を右にシフトし、これと07H(16進)と
の論理積をとるといった処理である。
【0176】ステップS233では、ゲージエディット
管理手段1kが、GAUGEbuf(i)上の、gxの
値が示す位置にあるパワーアップアイテムの種類を示す
値を一旦初期化する。この初期化は、gxの3倍だけ7
を左にシフトし、これを反転し、更にこれとGAUGE
buf(i)との論理積をとることによって行われる。
ステップS234では、ゲージエディット管理手段1
kが、GAUGEbuf(i)上の、gx0の値が示す
位置にあるパワーアップアイテムの種類を示す値を一旦
初期化する。この初期化は、gx0の3倍だけ7を左に
シフトし、これを反転し、更にこれとGAUGEbuf
(i)との論理積をとることによって行われる。
【0177】ステップS235では、メモリ管理手段1
nが、g0をGAUGEbuf(i)のgxの位置に書
き込む。この処理は、例えば、g0をgxの3倍だけ左
にシフトした値をGAUGEbuf(i)と論理和をと
ることにより行われる。 ステップS236では、メモ
リ管理手段1nが、g1をGAUGEBUF(I)のg
x0の位置に書き込む。この処理は、例えば、g1をg
x0の3倍だけ左にシフトした値をGAUGEbuf
(i)と論理和をとることにより行われる。 ステップ
S237では、判断手段1dが、ボタン操作検出手段1
aからの検出結果情報に基いて、(i+1)番目のプレ
ーヤ用のstep値が1のときに第3ボタン92eがプ
レーヤによって押圧されたか否かを判断し、「YES」
であればステップS238に移行し、「NO」であれば
再びステップS206に移行する。ステップS238で
は、フラグ管理手段1cが、1つ前の画面に戻るフラグ
を立てる。
【0178】次に、図35及び図36を参照して、ゲー
ジアイコン処理について説明する。ステップS261で
は、判断手段1dが、OKアイコンか否かを判断し、
「YES」であればステップS265に移行し、「N
O」であればステップS262に移行する。 ステップ
S262では、判断手段1dが、当該アイコンを操作し
ているプレーヤが不参加、若しくは待機中か否かを判断
し、「YES」であればステップS266に移行し、
「NO」であればステップS263に移行する。 ステ
ップS263では、判断手段1dが、アイコンがホール
ド中か否かを判断し、「YES」であればステップS2
64に移行し、「NO」であればステップS267に移
行する。
【0179】ステップS264では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、通常の表示位置から右下にdh、dvドットずれた
位置、且つ、他のアイコンの上にアイコンを表示するこ
とを示す描画命令を、描画処理プロセッサ10に対し発
行する。
【0180】ステップS265では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、OKアイコン表示処理を行うようことを示す描画命
令を、描画処理プロセッサ10に対し発行する。ここ
で、OKアイコン表示処理とは、プレーヤの操作状態に
応じてOKアイコンの表示、点滅、非表示を行うことを
言う。オプション画面から入るデフォルトゲージエディ
ット画面では、操作の終了にOKアイコンを使用しない
ので、非表示、キャラクタ選択時のゲージエディット画
面でプレーヤがゲージエディットを終えたときにはOK
カーソルの点滅に同期して点滅、それ以外の状況では通
常通りに表示される。
【0181】ステップS266では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンのキャラクタを半透明の影とすることを示
す描画命令を、描画処理プロセッサ10に対し発行す
る。 ステップS267では、描画命令発行手段1e
が、アイコン表示制御手段1mからの情報に基いて、ゲ
ージ内の通常表示位置、且つ、他のアイコンと同じ優先
度でアイコンを表示することを示す描画命令を、描画処
理プロセッサ10に対し発行する。
【0182】ステップS268では、判断手段1dが、
プレーヤがゲージエディットに参加中か否かを判断し、
「YES」であればステップS269に移行し、「N
O」であればステップS273に移行する。 ステップ
S269では、判断手段1dが、アイコンが現在ホール
ドされているか否かを判断し、「YES」であればステ
ップS270に移行し、「NO」であればステップS2
73に移行する。
【0183】ステップS270では、判断手段1dが、
dh、dvが夫々8未満か否かを判断し、「YES」で
あればステップS271に移行し、「NO」であればこ
のゲージアイコン処理ルーチンを抜ける。dh、dvが
順次、0〜順次8未満までの値になることによって、プ
レーヤによって選択されたアイコンが画面上において、
視覚的に浮くように徐々に右下に移動していくように描
画される。ステップS271では、演算手段1bが、d
h及びdvに夫々1を加算する。ステップS272で
は、アニメーション処理手段1oが、描画命令発行手段
1eに対し、例えばフレーム毎に異なる画像を指定する
等により、描画命令発行手段1eに対しアニメーション
表示を行うための描画命令を、描画処理プロセッサ10
に対し発行する。 ステップS273では、ゲージエデ
ィット管理手段1kが、dh、dvを初期化する。
【0184】次に、図37及び図38を参照して、アイ
コンカーソル処理ルーチンによる処置について説明す
る。 ステップS281では、判断手段1dが、アイコ
ンカーソルを操作しているプレーヤが、不参加若しくは
待機中か否かを判断し、「YES」であればこのアイコ
ンカーソル処理ルーチンを抜け、「NO」であればステ
ップS282に移行する。
【0185】ステップS282では、判断手段1dが、
アイコンがホールド中か否かを判断し、「YES」であ
ればステップS288に移行し、「NO」であればステ
ップS283に移行する。 ステップS283では、判
断手段1dが、y座標GEy(i)が0か否かを判断す
ることにより、カーソルが非表示か否かを判断し、「Y
ES」であればステップS284に移行し、「NO」で
あればこのアイコンカーソル処理ルーチンを抜ける。
【0186】ステップS284では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンカーソルの座標GEx(i)に対応したア
イコン上にアイコンカーソルを表示することを示す描画
命令を、描画処理プロセッサ10に対し発行する。 ス
テップS285では、判断手段1dが、ボタン操作検出
手段1aからの操作結果情報に基いて、第1、第2及び
第3ボタン92c、92d及び92dの何れかがプレー
ヤによって押圧されたか否かを判断し、「YES」であ
ればステップS286に移行し、「NO」であればこの
アイコンカーソル処理ルーチンを抜ける。
【0187】ステップS286では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、現在、アイコンカーソルの下にあるアイコンの状態
をホールド時の表示状態にすることを示す描画命令を、
描画処理プロセッサに対し発行する。 ステップS28
7では、変数設定手段1fが、現在の位置GEx(i)
をカーソル固有の変数に保持し、カーソル状態を示す変
数をホールド中であることを示す値にする。
【0188】ステップS288では、判断手段1dが、
dh、dvが夫々8未満か否かを判断し、「YES」で
あればステップS289に移行し、「NO」であればス
テップS290に移行する。 ステップS290では、
描画命令発行手段1eが、アイコン表示制御手段1mか
らの情報に基いて、カーソルの座標GEx(i)に対応
した各アイコンの表示位置から右下にdh、dvドット
ずれた位置カーソルキャラクタを表示することを示す描
画命令を、描画処理プロセッサ10に対し発行する。
ステップS291では、判断手段1dが、ボタン操作検
出手段1aからの操作結果情報に基いて、第1、第2及
び第4ボタン92c、92d及び92eの何れかがプレ
ーヤによって押圧されたか否かを判断し、「YES」で
あればステップS297に移行し、「NO」であればス
テップS292に移行する。
【0189】ステップS292では、判断手段1dが、
ボタン操作検出手段1aからの操作結果情報に基いて、
第3ボタン92dがプレーヤによって押圧されたか否か
を判断し、「YES」であればステップS293に移行
し、「NO」であればこのアイコンカーソル処理ルーチ
ンを抜ける。 ステップS293では、ゲージエディッ
ト管理手段1kが、dh、dvを初期化する。ステップ
S294では、変数設定手段1fが、カーソルの座標G
Ex(i)の値をホールド前の値に戻す。ステップS2
95では、変数設定手段1fが、GAUGEbuf
(i)の値をホールド前の値に戻す。
【0190】ステップS296では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、カーソルカーソルの座標GEx(i)に対応した各
アイコンの表示位置から右下にdh、dvドットずれた
位置カーソルキャラクタを表示することを示す描画命令
を、描画処理プロセッサ10に対し発行する。 ステッ
プS297では、ゲージエディット管理1kが、dh、
dvを初期化する。ステップS298では、変数設定手
段1fが、ゲージ及び順序データGAUGE(i)に、
変更順序データGAUGEbuf(i)を代入する。
【0191】ステップS299では、描画命令発行手段
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンの表示状態を非ホールド状態にすることを
示描画命令を、描画処理プロセッサ10に対し発行す
る。 以上のように、本形態においては、横スクロール
方式のシューティングゲームやアクションゲーム等にお
いて、プレーヤキャラクタに付随させるオプション等の
順序が予め所望の配列に変更され、ゲーム中に上記オプ
ションを選択する際の配列に反映される。そして、配列
の変更の際、即ち、プレーヤによってアイコンが選択、
決定されたときに、表示面上において、先ず、当該アイ
コンが所定の速度で上方に移動され、続いて、右下方に
移動され、更に、半透明にされると共に、プレーヤの操
作に応じて、当該アイコンが、他のアイコンの上に重ね
て表示される。そして、更にプレーヤによって決定ボタ
ンが押されると、その位置に表示されているアイコン
と、この位置に移動したアイコンとが交換される。この
ようにしてプレーヤの操作に応じて予めアイコンの配列
が決められ、この配列がゲーム中のアイコン選択用のパ
ワーアップゲージに反映される。従って、プレーヤは、
自分の好みの配列でゲームを行うことができるといった
効果がある。
【0192】〔他の形態〕上記形態においては、本発明
がシューティングゲームに適用された場合について説明
したが、例えばキャラクタを画面内で移動させて敵と戦
っていくアクションゲーム等、他の様々なゲームにおい
て適用可能である。
【0193】
【発明の効果】上述せる本発明によれば、プレーヤがコ
ントローラを介して行う操作に応じて画面上のキャラク
タが一定方向に移動されると共に、スクロール処理によ
り背景情報が順次変更されるゲームシステムで用いられ
る物体の動き表現方法であって、上記スクロール方向と
平行関係となる位置にスクロール方向に延在する物体が
表示されると共に、当該物体の形状を定期或いは不定期
に変更されるので、プレーヤに対し、より視覚的な変化
を与えることができるという効果がある。
【0194】また上述において、上記スクロール方向が
画面上において横方向とされ、上記物体の表示位置は、
当該画面上の上若しくは下、或いは上下とされたので、
プレーヤに対しより臨場感のあるゲームを提供すること
ができるという効果がある。
【0195】また上述において、上記スクロール方向が
画面上において縦方向とされ、上記物体の表示位置は、
当該画面上の左若しくは右、或いは左右とされたので、
プレーヤに対しより臨場感のあるゲームを提供すること
ができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すゲームシステムの
構成図である。
【図2】図1に示したCPUが有する機能を示すブロッ
ク図である。
【図3】メインルーチンによる制御動作を説明するため
のフローチャートである。
【図4】当たり判定の概念を画面表示例で説明するため
の説明図である。(図4A)当たり判定用の領域が物体
の回転に伴って回転する様子が画面表示例で示された説
明図である。(図4B)当たり判定用の領域が物体の回
転に伴って回転する様子が画面表示例で示された説明図
である。
【図5】当たり判定ルーチンによる制御動作を説明する
ためのフローチャートである。
【図6】当たり判定ルーチンによる制御動作を説明する
ためのフローチャートである。
【図7】当たり判定ルーチンによる制御動作を説明する
ためのフローチャートである。
【図8】当たり判定ルーチンによる制御動作を説明する
ためのフローチャートである。
【図9】当たり判定ルーチンによる制御動作を説明する
ためのフローチャートである。
【図10】屈折処理の概念を画面表示例で説明するため
の説明図である。(図10A)固定されている屈折体に
よりレーザが屈折されている様子を画面表示例で示す説
明図である。(図10B)落下中の屈折体によりオブジ
ェクトが屈折されている様子を画面表示例で示す説明図
である。
【図11】屈折処理の概念を説明するための説明図であ
る。(図11A)最大nドットの長さを有するオブジェ
クトを単位オブジェクトの接続により構成することを説
明するための説明図である。(図11B)直進中のオブ
ジェクトの表現方法を説明するための説明図である。
(図11C)屈折中のオブジェクトの表現方法を説明す
るための説明図である。(図11D)進行方向角度をD
0としたときのオブジェクトの表現方法を説明するため
の説明図である。(図11E)進行方向角度をD1とし
たときのオブジェクトの表現方法を説明するための説明
図である。
【図12】屈折処理ルーチンによる制御動作を説明する
ためのフローチャートである。
【図13】屈折処理ルーチンによる制御動作を説明する
ためのフローチャートである。
【図14】屈折処理ルーチンによる制御動作を説明する
ためのフローチャートである。
【図15】地形変化表現の概念を説明するための説明図
である。(図15A)上下の地形部がうねる表現を画面
表示例で示す説明図である。(図15B)上下の地形部
がうねる表現を画面表示例で示す説明図である。
【図16】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図17】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図18】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図19】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図20】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図21】地形変化ルーチンによる制御動作を説明する
ためのフローチャートである。
【図22】水平方向への重力表現を説明するための説明
図である。(図22A)水平方向に壁や他の物体が吸い
込まれる様子を画面表示例で示す説明図である。(図2
2B)水平方向に壁や他の物体が吸い込まれる様子を画
面表示例で示す説明図である。
【図23】水平方向への重力表現ルーチンによる制御動
作を説明するためのフローチャートである。
【図24】水平方向への重力表現ルーチンによる制御動
作を説明するためのフローチャートである。
【図25】水平方向への重力表現ルーチンによる制御動
作を説明するためのフローチャートである。
【図26】水平方向への重力表現ルーチンによる制御動
作を説明するためのフローチャートである。
【図27】ゲージエディットの概念を説明するための説
明図である。(図27A)アイコンがアイコンカーソル
によって選択され、決定されるときの当該アイコンの動
きをゲージエディット画面表示例で示す説明図である。
(図27B)アイコンがアイコンカーソルによって選択
され、決定されるときの当該アイコンの動きをゲージエ
ディット画面表示例で示す説明図である。
【図28】ゲージエディットの概念を説明するための説
明図である。(図28A)アイコンカーソルで選択、決
定することによってアイコンが交換される様子を画面表
示例で示す説明図である。(図28B)アイコンカーソ
ルで選択、決定することによってアイコンが交換される
様子を画面表示例で示す説明図である。
【図29】ゲージエディット画面上のエディット結果
の、ゲーム画面上における反映を画面表示例で示す説明
図である。(図29A)ゲージエディット前のゲーム画
面の表示例を示す説明図である。(図29B)ゲージエ
ディット後のゲーム画面の表示例を示す説明図である。
【図30】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図31】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図32】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図33】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図34】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図35】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図36】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図37】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【図38】ゲージエディットルーチンによる制御動作を
説明するためのフローチャートである。
【符号の説明】
B バス 1a ボタン操作検出手段 1b 演算手段 1c フラグ管理手段 1d 判断手段 1e 描画命令発行手段 1f 変数設定手段 1g 結果情報設定手段 1h キャラクタ管理手段 1i 反転処理手段 1j 背景スクロール処理手段 1k ゲージエディット管理手段 1m アイコン表示制御手段 1n メモリ管理手段 1o アニメーション処理手段 1p 当たり判定手段 1q 拡大縮小処理手段 1r 回転処理手段 1s ダミーデータ生成手段 1t ベクトル取得手段 1u ひずみ修正手段 1v データ登録手段 1w アドレス取得手段 1x 補間手段 51 CPU 53 メインメモリ 54 ROM 61 GTE 62 GPU 63 フレームバッファ 64 MDEC 65 ビデオ出力手段 71 SPU 72 サウンドバッファ 73 スピーカ 81 ディスクドライブ 82 CD−ROMデコーダ 83 CD−ROMバッファ 84 CD−ROM 92 コントローラ 101 パラレルI/O 102 シリアルI/O

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 設定された外形を有するオブジェクトを
    ゲーム画面上に表示する方法において、前記オブジェク
    トの外形に沿って配置された点群を、その連結状態を規
    定した状態で設定しておき、前記点群を構成する個々の
    点の前記ゲーム画面内での表示位置を任意位置にするこ
    とを特徴とするオブジェクト表示方法。
  2. 【請求項2】 請求項1に記載のオブジェクト表示方法
    において、前記ゲーム画面内での個々の前記点の表示位
    置を時間と共に変化させることを特徴とするオブジェク
    ト表示方法。
  3. 【請求項3】 請求項1又は2に記載のオブジェクト表
    示方法において、前記オブジェクトのうち特定のオブジ
    ェクトが他のオブジェクトに近接した際に前記他のオブ
    ジェクトの個々の点の表示位置を前記特定のオブジェク
    トに向けて移動させることを特徴とするオブジェクト表
    示方法。
  4. 【請求項4】 請求項3に記載のオブジェクト表示方法
    において、前記特定のオブジェクトを複数設定するとと
    もにこれら特定のオブジェクトの各々に代表点を設定
    し、前記他のオブジェクトの個々の点の表示位置を、こ
    の点から前記代表点のそれぞれに向かう仮想的なベクト
    ルを設定し、これらベクトルの合成ベクトルに基づいて
    移動させることを特徴とするオブジェクト表示方法。
  5. 【請求項5】 設定された外形を有するオブジェクトを
    ゲーム画面上に表示するオブジェクト表示手段を備えた
    ゲームシステムにおいて、前記オブジェクトの外形に沿
    って配置された点群が、その連結状態を規定した状態で
    記憶された点群記憶手段を備え、前記オブジェクト表示
    手段は、前記点群を構成する個々の点の前記ゲーム画面
    内での表示位置を任意位置にすることを特徴とするゲー
    ムシステム。
  6. 【請求項6】 請求項5に記載のゲームシステムにおい
    て、前記オブジェクト表示手段は、前記ゲーム画面内で
    の個々の前記点の表示位置を時間と共に変化させること
    を特徴とするゲームシステム。
  7. 【請求項7】 請求項5又は6に記載のゲームシステム
    において、前記オブジェクト表示手段は、前記オブジェ
    クトのうち特定のオブジェクトが他のオブジェクトに近
    接した際に前記他のオブジェクトの個々の点の表示位置
    を前記特定のオブジェクトに向けて移動させることを特
    徴とするゲームシステム。
  8. 【請求項8】 請求項7に記載のゲームシステムにおい
    て、前記特定のオブジェクトが複数設定され、これら特
    定のオブジェクトの各々に設定された代表点が記憶され
    た代表点記憶手段を備え、前記オブジェクト表示手段
    は、前記他のオブジェクトの個々の点の表示位置を、こ
    の点から前記代表点のそれぞれに向かう仮想的なベクト
    ルを設定し、これらベクトルの合成ベクトルに基づいて
    移動させることを特徴とするゲームシステム。
  9. 【請求項9】 請求項5〜8のいずれかに記載のゲーム
    システムにおいて、プレイヤーの入力指示により前記ゲ
    ーム画面内において移動するキャラクタを表示するキャ
    ラクタ表示手段と、前記キャラクタと前記オブジェクト
    の当接又は重複を検出する当たり判定手段とを備え、前
    記当たり判定手段は、前記キャラクタと前記オブジェク
    トの前記点群との当接又は重複により当たり判定を行
    い、前記キャラクタ表示手段は、前記当たり判定手段の
    判定結果に基づいてキャラクタの表示を変化させること
    を特徴とするゲームシステム。
  10. 【請求項10】 設定された外形を有するオブジェクト
    をゲーム画面上に表示するゲームプログラムが記録され
    たコンピュータ読取可能な記録媒体において、前記ゲー
    ムプログラムは、コンピュータに読み取られて実行され
    た際に、前記コンピュータに、前記オブジェクトの外形
    に沿って配置された点群を、その連結状態を規定した状
    態で設定し、前記点群を構成する個々の点の前記ゲーム
    画面内での表示位置を任意位置にする動作を行わせるこ
    とを特徴とするゲームプログラムが記録されたコンピュ
    ータ読取可能な記録媒体。
  11. 【請求項11】 請求項10に記載のコンピュータ読取
    可能な記録媒体において、前記ゲーム画面内での個々の
    前記点の表示位置を時間と共に変化させることを特徴と
    するゲームプログラムが記録されたコンピュータ読取可
    能な記録媒体。
  12. 【請求項12】 請求項10又は11に記載のコンピュ
    ータ読取可能な記録媒体において、前記オブジェクトの
    うち特定のオブジェクトが他のオブジェクトに近接した
    際に前記他のオブジェクトの個々の点の表示位置を前記
    特定のオブジェクトに向けて移動させることを特徴とす
    るゲームプログラムが記録されたコンピュータ読取可能
    な記録媒体。
  13. 【請求項13】 請求項12に記載のコンピュータ読取
    可能な記録媒体において、前記特定のオブジェクトを複
    数設定するとともにこれら特定のオブジェクトの各々に
    代表点を設定し、前記他のオブジェクトの個々の点の表
    示位置を、この点から前記代表点のそれぞれに向かう仮
    想的なベクトルを設定し、これらベクトルの合成ベクト
    ルに基づいて移動させることを特徴とするゲームプログ
    ラムが記録されたコンピュータ読取可能な記録媒体。
JP11294652A 1999-10-18 1999-10-18 オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体 Pending JP2000102675A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11294652A JP2000102675A (ja) 1999-10-18 1999-10-18 オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11294652A JP2000102675A (ja) 1999-10-18 1999-10-18 オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10156907A Division JP3048346B2 (ja) 1997-06-04 1998-05-22 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2000102675A true JP2000102675A (ja) 2000-04-11

Family

ID=17810550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11294652A Pending JP2000102675A (ja) 1999-10-18 1999-10-18 オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2000102675A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016221023A (ja) * 2015-06-01 2016-12-28 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP6263659B1 (ja) * 2017-04-28 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP6263660B1 (ja) * 2017-05-18 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP6263661B1 (ja) * 2017-05-18 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP2018187346A (ja) * 2017-04-28 2018-11-29 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
CN109286842A (zh) * 2018-08-23 2019-01-29 深圳点猫科技有限公司 一种基于图形化编程界面循环播放背景的方法、电子设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016221023A (ja) * 2015-06-01 2016-12-28 任天堂株式会社 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
JP6263659B1 (ja) * 2017-04-28 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP2018186961A (ja) * 2017-04-28 2018-11-29 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP2018187346A (ja) * 2017-04-28 2018-11-29 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP6263660B1 (ja) * 2017-05-18 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP6263661B1 (ja) * 2017-05-18 2018-01-17 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP2018187314A (ja) * 2017-05-18 2018-11-29 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
JP2018187315A (ja) * 2017-05-18 2018-11-29 株式会社コロプラ ゲームプログラム、方法、および、情報処理装置
CN109286842A (zh) * 2018-08-23 2019-01-29 深圳点猫科技有限公司 一种基于图形化编程界面循环播放背景的方法、电子设备

Similar Documents

Publication Publication Date Title
US6256047B1 (en) Method of judging hits and computer-readable storage medium storing game data
JP4177381B2 (ja) 画像生成方法、画像生成装置、および画像生成プログラム
JP3637031B2 (ja) ゲーム装置およびゲームプログラム
US20050237323A1 (en) Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method
US8147305B2 (en) Attacking a virtual enemy by corresponding input to output sound
JP3145064B2 (ja) ビデオゲーム機及びビデオゲームプログラムを記録した媒体
US8072458B2 (en) Storage medium having game program stored thereon and game apparatus
JP2010022646A (ja) プログラム、情報記憶媒体および画像生成システム
EP1126416B1 (en) Randomly animating a flame in an image
JP2006268676A (ja) プログラム、情報記憶媒体、及び画像生成システム
EP1085472A2 (en) Method of creating image frames, storage medium and apparatus for executing program
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2000102675A (ja) オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体
JP3048346B2 (ja) 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JPH1147448A (ja) 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP3348152B2 (ja) ゲームシステム
JP3297410B2 (ja) 画像生成システム及び情報記憶媒体
JP2986451B2 (ja) 被選択アイコン表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP2007087425A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2965549B2 (ja) 屈折状態表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP4544555B2 (ja) ゲームシステム及び情報記憶媒体
JP2003085585A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4012948B2 (ja) ゲーム装置、コンピュータ読み取り可能な記録媒体、およびゲーム画像の光表現方法
JP2003051030A (ja) 動画像生成プログラム、動画像生成方法及び装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20060427

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060928