JP3048346B2 - 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 - Google Patents
物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体Info
- Publication number
- JP3048346B2 JP3048346B2 JP10156907A JP15690798A JP3048346B2 JP 3048346 B2 JP3048346 B2 JP 3048346B2 JP 10156907 A JP10156907 A JP 10156907A JP 15690798 A JP15690798 A JP 15690798A JP 3048346 B2 JP3048346 B2 JP 3048346B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- game
- player
- screen
- data
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 177
- 238000012545 processing Methods 0.000 claims description 117
- 230000007423 decrease Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 155
- 239000000872 buffer Substances 0.000 description 49
- 230000015654 memory Effects 0.000 description 35
- 239000013598 vector Substances 0.000 description 31
- 230000008859 change Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 27
- 230000005484 gravity Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 26
- 230000001133 acceleration Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 13
- 238000012546 transfer Methods 0.000 description 11
- 239000003086 colorant Substances 0.000 description 10
- 230000004888 barrier function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 239000002775 capsule Substances 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- MJEMIOXXNCZZFK-UHFFFAOYSA-N ethylone Chemical compound CCNC(C)C(=O)C1=CC=C2OCOC2=C1 MJEMIOXXNCZZFK-UHFFFAOYSA-N 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000004397 blinking Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 206010021403 Illusion Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Description
の記録された、光ディスク、磁気ディスク、半導体メモ
リを用いたカセット式記録媒体等を用いるゲームシステ
ムに適用して好適な、物体の動き表現方法、オブジェク
ト表示方法、ゲームシステム及びゲームプログラムが記
録されたコンピュータ読取可能な記録媒体に関する。
る。家庭用の専用機とテレビジョンモニタとからなるシ
ステム、業務用の専用機、パーソナルコンピュータ若し
くはワークステーションとディスプレイと音声出力機と
からなるシステム等である。これらのシステムは、何れ
も、プレーヤが操作するためのコントローラと、ゲーム
プログラムデータの記録された記録媒体と、ゲームプロ
グラムデータに基いて音声や画像の生成のための制御を
行うCPUと、画像を生成するためのプロセッサと、音
声を生成するためのプロセッサと、画像を表示するため
のCRTと、音声を出力するためのスピーカとで構成さ
れる。上記記録媒体としては、CD−ROM、半導体メ
モリ、半導体メモリを内蔵したカセット等が多い。ゲー
ムシステムの構成は以上の通りである。
として、シューティングゲームが良く知られている。シ
ューティングゲームは、ゲーム空間上で、コントローラ
を通じてプレーヤが操作するキャラクタ(以下、プレー
ヤキャラクタと称する)から弾丸やレーザー光線等を発
射させ、発射した弾丸やレーザー光線をCPUが操作す
るキャラクタ(以下、敵キャラクタと称する)に当てて
当該敵キャラクタを消すことによって得点を得るといっ
たものである。このようなシューティングゲームでは、
プレーヤキャラクタを画面において垂直方向に進める、
いわゆる縦スクロール方式、並びにプレーヤキャラクタ
を画面において水平方向に進める、いわゆる横スクロー
ル方式が提案されている。シューティングゲームは、通
常、ステージと称されるイベントが複数用意され、プレ
ーヤは、各ステージにおいて、敵のキャラクタから発射
された弾丸やレーザー光線等に1度も当たらずに、当該
ステージで出現する敵キャラクタを全て消去しなければ
ならない。敵キャラクタからの被弾は、通常n回まで許
され、n+1回目に被弾したときにゲームオーバーとな
る。
シューティングゲームは、プレーヤキャラクタを操作し
て敵キャラクタを消去するといった簡単なゲームであ
る。よって、多くのゲームソフト製造メーカーから多種
多様のシューティングゲームが提案されているものの、
その内容はどこも同じようなものが多く、よりゲーム意
欲のわくようなシューティングゲームの提案が要望され
ている。
もので、ユーザによりゲーム意欲をわかせることのでき
る物体の動き表現方法、オブジェクト表示方法、ゲーム
システム及びゲームプログラムが記録されたコンピュー
タ読取可能な記録媒体を提供することを目的とする。
ントローラを介して行う操作に応じて画面上のキャラク
タが一定方向に移動されると共に、スクロール処理によ
り背景情報が順次変更されるゲームシステムで用いられ
る物体の動き表現方法であって、上記スクロール方向と
平行関係となる位置にスクロール方向に延在する物体が
表示されると共に、当該物体の形状を定期或いは不定期
に変更されることを特徴とする。
ル方向が画面上において横方向であり、上記物体の表示
位置は、当該画面上の上若しくは下、或いは上下であ
る。
ル方向が画面上において縦方向であり、上記物体の表示
位置は、当該画面上の左若しくは右、或いは左右であ
る。
オブジェクトをゲーム画面上に表示するオブジェクト表
示方法に適用され、そして、上述の目的は、オブジェク
トの外形に沿って配置された点群を、その連結状態を規
定した状態で設定しておき、点群を構成する個々の点の
ゲーム画面内での表示位置を任意位置にすることにより
達成される。
位置を時間と共に変化させるようにしてもよい。あるい
は、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に、他のオブジェクトの個々の点
の表示位置を特定のオブジェクトに向けて移動させるよ
うにしてもよい。この場合、特定のオブジェクトを複数
設定するとともにこれら特定のオブジェクトの各々に代
表点を設定し、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
るオブジェクトをゲーム画面上に表示するオブジェクト
表示手段を備えたゲームシステムに適用され、そして、
上述の目的は、オブジェクトの外形に沿って配置された
点群が、その連結状態を規定した状態で記憶された点群
記憶手段を設け、オブジェクト表示手段が、点群を構成
する個々の点のゲーム画面内での表示位置を任意位置に
することにより達成される。
画面内での個々の点の表示位置を時間と共に変化させる
ようにしてもよい。あるいは、オブジェクト表示手段
が、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に他のオブジェクトの個々の点の
表示位置を特定のオブジェクトに向けて移動させるよう
にしてもよい。この場合、特定のオブジェクトを複数設
定し、これら特定のオブジェクトの各々に設定された代
表点が記憶された代表点記憶手段を設け、オブジェクト
表示手段が、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
ム画面内において移動するキャラクタを表示するキャラ
クタ表示手段と、キャラクタとオブジェクトの当接又は
重複を検出する当たり判定手段とを設け、当たり判定手
段が、キャラクタとオブジェクトの点群との当接又は重
複により当たり判定を行い、キャラクタ表示手段が、当
たり判定手段の判定結果に基づいてキャラクタの表示を
変化させるようにしてもよい。ことを特徴とするゲーム
システム。
るオブジェクトをゲーム画面上に表示するゲームプログ
ラムが記録されたコンピュータ読取可能な記録媒体に適
用され、そして、上述の目的は、このゲームプログラム
が、コンピュータに読み取られて実行された際に、コン
ピュータに、オブジェクトの外形に沿って配置された点
群を、その連結状態を規定した状態で設定し、点群を構
成する個々の点のゲーム画面内での表示位置を任意位置
にする動作を行わせることにより達成される。
位置を時間と共に変化させるようにしてもよい。あるい
は、オブジェクトのうち特定のオブジェクトが他のオブ
ジェクトに近接した際に他のオブジェクトの個々の点の
表示位置を特定のオブジェクトに向けて移動させるよう
にしてもよい。この場合、特定のオブジェクトを複数設
定するとともにこれら特定のオブジェクトの各々に代表
点を設定し、他のオブジェクトの個々の点の表示位置
を、この点から代表点のそれぞれに向かう仮想的なベク
トルを設定し、これらベクトルの合成ベクトルに基づい
て移動させるようにしてもよい。
して本発明の実施の形態について詳細に説明する。本発
明の実施の形態の説明は、次に示す項目説明を各項目の
先頭に記載し、各項目について次に示す順序で説明す
る。 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)
の構成例を示す構成図である。
平8−212377号公報に記載されているように、C
D−ROM等の光学ディスクからゲームプログラムデー
タを読み出して実行することにより、使用者(以下、プ
レーヤと称する)からの指示に応じたゲーム等の表示が
行えるようになっており、具体的には図1に示されるよ
うな構成を有している。
−ROM84から読み出された3次元画像データを記憶
するメインメモリ5と、各ポリゴン毎に指定される特性
データとして色情報テーブル、テクスチャパターン情
報、半透明率指定データ等を記憶するフレームバッファ
63と、CD−ROM84からディスクドライブ81に
よって読み出された3次元画像データに対して透視変換
処理を施して2次元画像情報に変換する座標変換手段と
してのジオメトリエンジン(GTE)61と、当該2次
元画像情報とポリゴンの特性を指定する情報とを合成し
てポリゴン毎にパケット化された描画命令を生成する描
画命令生成手段としてのCPU51と、当該生成された
描画命令により指定された特性データに基づき2次元画
像情報をフレームバッファ63に描画するグラフィック
スプロセッシングユニット(GPU62)と、上記フレ
ームバッファ63から2次元画像データをテレビジョン
同期信号に同期して読み出し、ディスプレイ装置等の表
示手段に供給するビデオ出力手段65とを有してなるも
のである。
処理装置(CPU51)及びその周辺装置(周辺デバイ
スコントローラ52)からなる制御系50と、フレーム
バッファ63上に描画を行うグラフィックスプロセッシ
ングユニット(GPU62)等からなるグラフィックシ
ステム60と、楽音、効果音等を発生するサウンドプロ
セッシングユニット(SPU71)等からなるサウンド
システム70と、補助記憶装置である光学ディスク(C
D−ROM84)のディスクドライブ81の制御や再生
情報のでコード等の指示を行う光学ディスク制御部80
と、使用者からの指示を入力するコントローラ92から
の指示入力及びゲームの設定等を記憶する補助メモリ
(メモリカード93)からの入出力を制御する通信制御
部90と、上記制御系50から通信制御部90までが接
続されているメインバスB等を備えている。
み制御、タイムコントロール、メモリコントロールダイ
レクトメモリアクセス(DMA)転送の制御等を行う周
辺デバイスコントローラ52と、例えば2メガバイトの
RAMからなる主記憶装置(メインメモリ)53と、こ
のメインメモリ53や上記グラフィックシステム60、
サウンドシステム70等の管理を行ういわゆるオペレー
ティングシステム等のプログラムが格納された例えば5
12キロバイトのROM54とを備えている。
C(Reduced Instruction Set
Computer)CPUであり、ROM54に記憶
されているオペレーティングシステムを実行することに
より装置全体の制御を行う。当該CPU51は命令キャ
ッシュとスクラッチパッドメモリを搭載し、実メモリの
管理も行う。
ROM84から読み込まれたデータを一時的に記憶する
メインメモリ53と、当該メインメモリ53に記憶され
たデータに対して座標変換等の処理を行う座標計算用コ
プロセッサからなるジオメトリトランスファエンジン
(GTE)61と、CPU51からの描画指示(描画命
令)に基づいて描画を行うグラフィックスプロセッシン
グユニット(GPU)62と、該GPU62により描画
された画像を記憶する例えば1メガバイトのフレームバ
ッファ63と、いわゆる離散コサイン変換等の直行変換
がなされ圧縮されて符号化された画像データを復号化す
る画像デコーダ(以下MDECと呼ぶ)64とを備えて
いる。
実行する並列演算機構を備え、CPU51のコプロセッ
サとして、CPU51からの演算要求に応じて透視変換
等の座標変換、法線ベクトルと光源ベクトルとの内積演
算による光源計算、例えば固定小数点形式の行列やベク
トルの演算を高速に行うことができるようになってい
る。
角形状のポリゴンに同じ色で描画するフラットシェーデ
ィングを行う演算の場合では、1秒間に最大150万程
度のポリゴンの座標演算を行うことができるようになっ
ており、これによってこの画像処理システムでは、CP
U51の負荷を低減すると共に、高速な座標演算を行う
ことができるようになっている。尚、ポリゴンとは、デ
ィスプレイ上に表示される3次元の物体を構成するため
の図形の最小単位であり、三角形や四角形等の多角形か
らなるものである。
描画命令に従って動作し、フレームバッファ63に対し
てポリゴン等の描画を行う。このGPU62は、1秒間
に最大36万程度のポリゴンの描画を行うことができる
ようになっている。また、このGPU62は、CPU5
1とは独立した2次元のアドレス空間を持ち、そこにフ
レームバッファ63がマッピングされるようになってい
る。
ルポートRAMからなり、GPU62からの描画或いは
メインメモリ53からの転送と、表示のための読み出し
とを同時に行うことができるようになっている。このフ
レームバッファ63は、例えば1メガバイトの容量を有
し、それぞれ16ビットの横1024で縦512の画素
のマトリックスとして扱われる。このフレームバッファ
63のうちの任意の表示領域を例えばディスプレイ装置
等のビデオ出力手段65に出力することができるように
なっている。また、このフレームバッファ63には、ビ
デオ出力として出力される表示領域の他に、GPU62
がポリゴン等の描画を行う際に参照するカラールックア
ップテーブル(CLUT)が記憶される第2の領域であ
るCLUT領域と、描画時に座標変換されてGPU62
によって描画されるポリゴン等の中に挿入(マッピン
グ)される素材(テクスチャ)が記憶される第1の記憶
領域であるテクスチャ領域が設けられている。これらの
CLUT領域とテクスチャ領域は表示領域の変更等に従
って動的に変更されるようになっている。即ち、このフ
レームバッファ63は、表示中の領域に対して描画アク
セスを実行することができ、また、メインメモリ53と
の間で高速DMA転送を行うことも可能となっている。
ェーディングの他にポリゴンの頂点の色から保管してポ
リゴン内の色を決めるグーローシェーディングと、上記
テクスチャ領域に記憶されているテクスチャをポリゴン
に張り付けるテクスチャマッピングを行うことができる
ようになっている。
スチャマッピングを行う場合には、上記GTE61は、
1秒間に最大50万程度のポリゴンの座標計算を行うこ
とができる。MDEC64は、上記CPU51からの制
御により、CD−ROM84から読み出されてメインメ
モリ53に記憶されている静止画或いは動画の画像デー
タを復号化して再びメインメモリ53に記憶する。具体
的には、MDEC64は逆離散コサイン変換(IDC
T)演算を高速に実行でき、CD−ROM84から読み
出されたカラー静止画圧縮標準(いわゆるJPEG)や
蓄積メディア系動画符号化標準(いわゆるMPEG、但
し本例においてはフレーム内圧縮のみ)の圧縮データの
伸張を行うことができるようになっている。
U62を介してフレームバッファ63に記憶することに
より、上述のGPU62によって描画される画像の背景
として使用することができるようにもなっている。
からの指示に基づいて、楽音、効果音等を発生するサウ
ンド再生処理プロセッサ(SPU)71と、CD−RO
M84から読み出された音声、楽音等のデータや音源デ
ータ等が記憶される例えば512キロバイトのサウンド
バッファ72と、SPU71によって発生される楽音、
効果音等を出力するサウンド出力手段としてのスピーカ
73とを備えている。
タを4ビットの差分信号として適応差分符号化(ADP
CM)された音声データを再生するADPCM復号機能
と、サウンドバッファ72に記憶されている音源データ
を再生することにより、効果音等を発生する再生機能
と、サウンドバッファ72に記憶されている音声データ
等を変調させて再生する変調機能等を備えている。即
ち、当該SPU71は、ルーピングや時間を係数とした
動作パラメータの自動変換等の機能を持ち、24ボイス
の能力を有するADPCE音源を内蔵し、CPU51か
らの操作により動作する。また、SPU71は、サウン
ドバッファ72がマッピングされた独自のアドレス空間
を管理し、CPU51からサウンドバッファ72にAD
PCMデータを転送し、キーオン/キーオフやモデュレ
ーション情報を直接渡すことによりデータを再生する。
のサウンドシステム70は、CPU51からの指示によ
ってサウンドバッファ72に記録された音声データなど
に基づいて楽音、効果音などを発生するいわゆるサンプ
リング音源として使用することができるようになってい
る。
OM84に記録されたプログラム、データ等を再生する
ディスクドライブ81と、例えばエラー訂正(ECC)
符号が付加されて記録されているプログラム、データな
どを復号するデコーダ82と、ディスクドライブ81か
らの再生データを一時的に記憶する例えば32キロバイ
トのバッファ83とを備えている。即ち、当該光学ディ
スク制御部80は、上記ディスクドライブ81やデコー
ダ82等のディスクの読み出しを行うために必要な部品
類から構成されている。ここでは、ディスクフォーマッ
トとして例えばCD−DA、CD−ROM、XA等のデ
ータをサポートできるようになっている。尚、デコーダ
82はサウンドシステム70の一部をも構成している。
ディスクに記録されている音声データとしては、上述の
ADPCMデータ(CD−ROM XAのADPCMデ
ータ等)の他に音声信号をアナログ/デジタル変換した
いわゆるPCMデータがある。ADPCMデータとし
て、例えば16ビットのデジタルデータの差分を4ビッ
トで表して記録されている音声データは、デコーダ82
で誤り訂正と復号化がなされた後、上述のSPU71に
供給され、SPU71でデジタル/アナログ変換等の処
理が施された後、スピーカ73を駆動するために使用さ
れる。また、PCMデータとして、例えば16ビットの
デジタルデータとして記録されている音声データは、デ
コーダ82で復号化された後、スピーカ73を駆動する
ために使用される。尚、当該デコーダ82のオーディオ
出力は、一旦SPU71に入り、このSPU出力とミッ
クスされ、リバーブユニットを経由して最終のオーディ
オ出力となる。
介してCPU51との通信の制御を行う通信制御デバイ
ス91と、プレーヤからの指示を入力するコントローラ
92と、ゲームの設定などを記憶するメモリカード93
とを備えている。
プリケーションに伝達するインターフェースであり、プ
レーヤからの指示を入力するために、以下に説明するよ
うな各種キーを有し、通信制御デバイス91からの指示
に従って、この指示キーの状態を、同期式通信により、
通信制御デバイス91に毎秒60回程度送信する。そし
て、通信制御デバイス91は、コントローラ92の指示
キーの状態をCPU51に送信する。尚、コントローラ
92は、本体に2個のコネクタを有し、その他にマルチ
タップを使用して多数のコントローラを接続することも
可能となっている。これにより、プレーヤからの指示が
CPU51に入力され、CPU51は、実行しているゲ
ームプログラム等に基づいてプレーヤからの指示に従っ
た処理を行う。
いて説明する。コントローラ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に
指示するためのものである。
の設定やゲームの終了時或いは途中の結果等を記憶する
必要があるときに、該記憶するデータを通信制御デバイ
ス91に送信し、通信制御デバイス91は当該CPU5
1からのデータをメモリカード93に記憶する。このメ
モリカード93は、メインバスBから分離されているた
め、電源を入れた状態で着脱することが可能となってい
る。これにより、ゲームの設定等を複数のメモリカード
93に記憶することができるようになっている。
された16ビットパラレル入出力(I/O)ポート10
1と、非同期式のシリアル入出力(I/O)ポート10
2とを備えている。そして、パラレルI/Oポート10
1を介して周辺機器との接続を行うことができるように
なっており、また、シリアルI/Oポート102を介し
て他のビデオゲーム装置等との通信を行うことができる
ようになっている。
U62、MDEC64及びデコーダ82等の間では、プ
ログラムの読み出し、画像の表示或いは描画等を行う際
に、大量の画像データを高速に転送する必要がある。こ
のため、この画像処理システムでは、上述のようにCP
U51を介さずに周辺デバイスコントローラ52からの
制御により上記メインメモリ53、GPU62、MDE
C64及びデコーダ82等の間で直接データの転送を行
ういわゆるDMA転送を行うことができるようになって
いる。これにより、データ転送によるCPU51の負荷
を低減させることができ、高速なデータの転送を行うこ
とができるようになっている。
れると、CPU51が、ROM54に記憶されているオ
ペレーティングシステムを実行する。このオペレーティ
ングシステムの実行により、CPU51は、動作確認等
の装置全体の初期化を行った後、光学ディスク制御部8
0を制御して、光学ディスクに記録されているゲーム等
のプログラムを実行する。このゲーム等のプログラムの
実行により、CPU51は、プレーヤからの入力に応じ
て上記グラフィックシステム60、サウンドシステム7
0等を制御して、画像の表示、効果音、楽音の発生を制
御するようになっている。
スプレイ上への表示について説明する。上記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ピクセル(インターレース時)にな
る。
ードとして、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ピクセルになる。
が搭載されている。先ず、1×1ドット〜256×25
6ドットのポリゴン又はスプライトに対して、4ビット
CLUT(4ビットモード、16色/ポリゴン、スプラ
イト)や8ビットCLUT(8ビットモード、256色
/ポリゴン、スプライト)、16ビットCLUT(16
ビットモード、32768色/ポリゴン、スプライト)
等の描画が可能なポリゴン又はスプライト描画機能と、
ポリゴンやスプライトの各頂点の画面上の座標を指定し
て描画を行うと共に、ポリゴンやスプライト内部を同一
色で塗りつぶすフラットシェーディング、各頂点に異な
る色を指定して内部をグラデーションするグーローシェ
ーディング、ポリゴンやスプライト表面に2次元のイメ
ージデータであるテクスチャパターン(特にスプライト
に対するものをスプライトパターンと呼ぶ)を容易して
張り付けるテクスチャマッピング等を行うポリゴン描画
機能と、グラデーションが可能な直線描画機能と、CP
U51からフレームバッファ63への転送等のイメージ
転送機能と、その他の機能として、各ピクセルの平均を
とって半透明化する機能、即ち、各ピクセルのピクセル
データを所定比率αで混合することからαブレンディン
グ機能と呼ばれる機能、色の境界にノイズを乗せてぼか
すディザ機能、描画エリアを越えた部分を表示しない描
画クリッピング機能、描画エリアに応じて描画原点を動
かすオフセット指定機能等がある。
ビットを単位としており、X、Y夫々に−1024〜+
1023の値をとる。また、本例でのフレームバッファ
63のサイズは1024×512となっているので、は
み出した部分は折り返すようになっている。描画座標の
原点は、座標値のオフセット値を任意に設定する機能に
より、フレームバッファ63内で自由に変更することが
できる。また、描画は、描画クリッピング機能により、
フレームバッファ63内の任意の矩形領域に対してのみ
行われる。更に、CPU62は、最大256×256ド
ットのテクスチャをサポートしており、縦、横夫々の値
を自由に設定することができる。
イメージデータ(テクスチャパターン又はスプライトパ
ターン)は、フレームバッファ63の非表示エリアに配
置される。テクスチャパターン又はスプライトパターン
は、256×256ピクセルを1ページとして、フレー
ムバッファ63上にメモリの許す限り何枚でも置くこと
ができ、この256×256の領域をテクスチャページ
と呼んでいる。1枚のテクスチャページの場所は、描画
コマンドのテクスチャページの位置(アドレス)指定の
ためのパラメータに、ページ番号を指定することで決定
される。
ンには、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の左端の座標を指定することで決定する。
て、フレームダブルバッファリングという手法を用いる
ようにしている。このフレームダブルバッファリングと
は、フレームバッファ63上に2つの矩形領域を用意
し、一方のエリアに描画をしている間はもう片側を表示
し、描画が終了したら2つのエリアをお互い交換するも
のである。これにより、書き換えの様子が表示されるの
を回避するこができる。尚、バッファの切り換え操作
は、垂直帰線期間内に行う。また、GPU62では、描
画の対象となる矩形領域と座標系の原点を自由に設定で
きるので、この2つを移動させることにより、複数のバ
ッファを実現することも可能である。
り、本例においては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):CL
UTの先頭アドレス TSB(TEXTURE SOURCE BASE):
テクスチャページ先頭アドレス及びテクスチャタイプ等
の付加情報
ード1h)は、オプションを含むコマンドコードの後
に、頂点情報をコマンドを引数として与える。オプショ
ンによい、引数、フォーマットが異なる。
有無
値(R、G、B)で三角形を描画(フラットシェーディ
ング)する。また、例えばCNTが0のときコマンド以
降に続く3頂点で三角形を1つ描画し、1のときコマン
ド以降に続く4頂点で連結三角形を描画、即ち、四角形
を描画する。TMEが0のときテクスチャマッピングオ
フとなり、1のときテクスチャマッピングがオンとな
る。ABEが0のとき半透明処理がオフとなり、1のと
き半透明処理がオンとなる。TGEはTMEのときのみ
有効で、0のときテクスチャパターンと輝度値とを掛け
合わせて表示し、1のときテクスチャパターンのみを描
画する。
h)は、オプションをも含むコマンドコードの後に、単
点情報をコマンド引数として与える。オプションにより
引数の数やフォーマットが異なる。例えばIIPが0の
ときはピクセルを描画指定された輝度値で描画し、1の
ときは2頂点の輝度値を線分の長軸方向の変位で線形補
間して描画する。CNTが0のときはコマンド以降に続
く2端点で直線を1つ描画し、1のとき連結直線を描画
する。ABEが0のとき半透明処理がオフとなり、1の
とき半透明処理がオンとなる。連結直線を描画するとき
は、最後にコマンドの終了を示す終端コードが必要とな
る。
=3h)では、コマンドコード(オプションも含む)の
後に、輝度情報、矩形領域の左下端点、テクスチャソー
ス空間の左上端点、矩形領域の幅と高さをコマンド引数
として与える。オプションにより引数の数、フォーマッ
トが異なる。また、スプライト描画コマンドは2ピクセ
ル同時に処理をするため、頂点nに対応するテクスチャ
ソース空間上の点の2次元座標Unは偶数に指定しなけ
ればならいない。
尚、TMEが0のときはテクスチャマッピングがオフ
し、1のときはテクスチャマッピングがオンする。AB
Eが0のときは半透明処理がオフし、1のときは半透明
処理がオンする。TGE(TMEのときのみ有効)が0
のときはテクスチャパターン(この場合はスプライトパ
ターン)に一定の輝度値を掛け合わせて描画し、1のと
きはテクスチャパターンのみを描画する。SIZが00
のときにはH、2フィールドで指定し、01のときは1
×1、10のときは8×8、11のときは16×16の
サイズ指定となる。
(図2) 図2は、図1に示したCPU51の有する機能を示す説
明図である。CPU51は、図1に示したCD−ROM
84から読み出され、メインメモリ53に記憶されたプ
ログラムデータを読むことにより、図2に示す機能を持
つ。この図2に示されているように、CPU51の機能
は、ボタン操作検出手段1a、演算手段1b、フラグ管
理手段1c、判断手段1d、描画命令発行手段1e、変
数設定手段1f、結果情報設定手段1g、キャラクタ管
理手段1h、反転処理手段1i、背景スクロール処理手
段1j、ゲージエディット管理手段1k、アイコン表示
制御手段1m、メモリ管理手段1n、アニメーション処
理手段1o、当たり判定手段1p、拡大縮小処理手段1
q、回転処理手段1r、ダミーデータ生成手段1s、ベ
クトル取得手段1t、ひずみ修正手段1u、データ登録
手段1v、アドレス取得手段1w、補間手段1xとで構
成される。これらの手段は、夫々制御動作の主体とな
る。
のフローチャートである。本形態においては、2次元若
しくは3次元の横スクロール方式のシューティングゲー
ムを前提として説明する。
テムの命令により、ディスクドライブ81が、CD−R
OM84から画像、音声及びプログラムデータを読み出
す。読み出されたデータの内、プログラムデータは、メ
インメモリ53に記憶される。これにより、CPU51
は、図2に示した機能を有する。尚、このとき、画像、
即ち、テクスチャデータは、GPU62のフレームバッ
ファ63に記憶され、夫々テクスチャ番号が割り当てら
れるものとする。また、音声データは、SPU71のサ
ウンドバッファ72に記憶され、夫々音声番号データが
割り当てられるものとする。通常、すべての画像及び音
声データが、ステップS1においてバッファ63及び7
2に保持されることはないが、説明の便宜上、すべての
画像及び音声データが、ステップS1においてロードさ
れるものとする。
が描画命令を発行すると共に、背景スクロール処理手段
により後に詳述する背景スクロール処理が施される。こ
れによって、例えば、「エディット」及び「スタート」
を示すタイトルが出力されると共に、デモ処理が実行さ
れる。例えば、タイトルが表示された状態で、その背景
において自動的にゲームの様子が再現されるといったも
のである。
aが、コントローラ92のカーソルキーで「スタート」
が選択され、続いて第3ボタン92e若しくはスタート
ボタン92aが押された否かを判断し、「YES」であ
ればステップS4に移行し、「NO」であればステップ
S7に移行する。
メインメモリ5に保持しているフラグや変数を夫々リセ
ットする。
が行われる。このゲームメイン処理は、プレーヤの操作
に応じた計算、表示及び音声処理等であり、本実施の形
態において、特にポイントになる処理については、後に
フローチャートを参照しながら詳述する。
バーか否かを判断し、「YES」であればステップS6
に移行し、「NO」であれば再びステップS100に移
行する。
た場合には、ステップS7に移行し、ステップS7にお
いては、ボタン操作検出手段1aが、カーソルキーによ
って「エディット」が選択され、続いて第3ボタン92
eが押されたか否かを判断し、「YES」であればステ
ップS200に移行し、「NO」であれば再びステップ
S3に移行する。
の説明図である。ここでのポイントは、キャラクタ表示
用の変形パラメータを参照して、当たり範囲をリアルタ
イムに変更することにより、キャラクタを変形(反転、
拡大、縮小、回転)表示したときに、キャラクタの見た
目に近い当たり判定を行うことができるということであ
る。
を示す説明図、図4Bは該図4Aで示される画像の次に
続く画像を示す説明図である。これらの図には、画面の
表示領域の大半を占める回転体RCが夫々示されてお
り、図4A、図4Bの順に見ると、この回転体RCが右
回りに回転していることが分かる。この例では、プレー
ヤは、プレーヤキャラクタSCが回転体RCの合計4本
の足部Leに当たらないように、コントローラ92を介
してプレーヤキャラクタSCを操作しなければならな
い。もし、プレーヤキャラクタSCが回転体RCや足部
Leに接触すると、プレーヤキャラクタは許容ゲーム継
続値(以下ライフ値と称することとする)が減り、パワ
ーがなくなったところでこのステージをやり直さなけれ
ばならなくなる。また、パワーがゼロになるといった状
態がN回を超えると、ゲームオーバーとなる。
4本の足部Leに夫々四角形で示されている領域Ar
が、画面上には表示されないということである。これら
の領域Arは、夫々、プレーヤキャラクタSCとの接触
を検出するために仮想的に設定されたものである。これ
らの領域Arは、回転体RCの回転角度に応じて回転さ
れるようになっている。これは、図4Aと図4Bとを比
較すると分かるであろう。このように同じ大きさ、形状
の当たり判定用の領域Arを、回転する足部Leに仮想
的に当てはめておくことで、本来の足部Leの画像情報
そのもので当たり判定をする場合に比べて当たり判定の
処理過程やその速度を向上させることができる。そして
更に、領域Arを回転させるようにしているので、プレ
ーヤキャラクタSCが足部Leに当たるときに視覚的に
自然にすることができる。即ち、領域Arを使用して
も、プレーヤキャラクタSCと足部Leとが当たったよ
うに表現することができる。
は、上記キャラクタのみならず、プレーヤキャラクタ、
プレーヤキャラクタから出射される弾、ミサイル、レー
ザ、敵キャラクタ、敵キャラクタから出射される弾、ミ
サイル、レーザ等を意味し、これら全てのキャラクタに
ついて、キャラクタの大きさに応じた領域Arの大きさ
並びに個数、配置等が予め決められる。つまり、いくつ
かの長方形等の図形を並べて組み合わせ、キャラクタに
近い形の当たり判定領域を設定することで、キャラクタ
そのものの形状に近い状態で当たり判定を行えるように
する。例えば、キャラクタが三角形の場合には、長方形
をいくつか階段状に並べる等。このようにするのは、例
えば当たり判定のために、1つのキャラクタについて1
つの長方形を使用した場合、キャラクタそのものの形状
と、当たりを示す表示状態が異なることがあるからであ
る。例えば、キャラクタの形状が三角形なのにもかかわ
らず、当たりを示す表示状態が四角形のキャラクタに当
たったように表示してしまう等が例として上げられよ
う。
ゲーム中においては、各キャラクタの動きに応じて、各
キャラクタに夫々設定されている領域Arが動かされる
(回転等)。これによって、よりキャラクタの形状に近
い当たり判定を行うことができるので、プレーヤに対し
ごく自然な当たり表示を提供することができる。以下、
フローチャートを参照して、この当たり判定についてよ
り詳しく説明する。
〜図9) 図5は当たり判定処理の内の、キャラクタ処理ルーチン
による制御動作を説明するためのフローチャート、図6
〜図9は、当たり判定ルーチンによる制御動作を説明す
るためのフローチャートである。フローチャートを用い
て説明するにあたり、各パラメータについて説明する。
上記領域Arは、予め設定すべきキャラクタ(上述の例
では回転体RC)の形に合わせて作成される。領域Ar
を設定するキャラクタの中心点から領域Arの当たりの
中心点へのオフセットXofs、Yofs、当たり領域
Arの縦横の大きさHsize、Vsizeが後述のH
num個分だけ用意される。
成は次の通りである。 *Xposi、Yposi(キャラクタの中心点の座
標) *Hzoom、Vzoom(キャラクタの拡大率) *HVflip(反転パラメータ) *Rot(回転パラメータ) *HITset(当たり情報)
情報であり、そのキャラクタの種類を当たった相手に伝
えるための情報である。ここで、キャラクタとは、プレ
ーヤキャラクタ、プレーヤキャラクタから発射される
弾、プレーヤキャラクタから発射されるミサイル、プレ
ーヤキャラクタから発射されるレーザ、プレーヤキャラ
クタを敵の弾等から守るためのバリア、敵キャラクタ、
敵キャラクタから発射される弾、敵キャラクタから発射
されるミサイル、敵キャラクタから発射されるレーザを
意味し、夫々に異なった固有の値の当たり情報HITs
etが割り当てられる。
ラクタが、敵キャラクタから出射されたレーザと当たっ
た場合、当たった相手(この例ではレーザ)の当たり情
報HITsetがセットされる。その当たり情報の値に
応じて受けるダメージ、即ち、ライフ値から減算すべき
値が算出され、その算出された値がセットされる。この
セットされる値がHITansである。
数) 1つのキャラクタに当たり判定のための並べた長方形の
領域Arの数である。それぞれの領域Arには、キャラ
クタの中心座標を原点としたときの座標(Xofs、Y
ofs)、並びにその大きさ情報(Hsize、Vsi
ze)が割り当てられる。
士等で当たりをとらないようにするために用いられる。
このJkindは、各キャラクタについて夫々割り当て
られており、割り当てられているキャラクタの種類、当
たりを調べるべき相手の種類が設定されている。プレー
ヤキャラクタに割り当てられるJkindは、プレーヤ
キャラクタであることを示す情報と、当たりを調べる相
手として、敵キャラクタ、敵キャラクタから出射される
弾、ミサイル、レーザ等を示す情報とからなる。当たり
が発生したときは、一方のキャラクタ(例えばプレーヤ
キャラクタ等)のJkindの内容の内、当たりを判定
すべきキャラクタの情報中に、他方のキャラクタ(例え
ば敵キャラクタ等)を示す情報が含まれているときのみ
に当たり判定が行われる。
示す場合においては、上記パラメータを示すアルファベ
ットの先頭若しくは最後尾にs若しくはdを付加する。
ここで、sは当たりをとろうとするキャラクタを、dは
相手キャラクタを示す。
チンによる制御動作について説明する。ステップS10
1では、キャラクタ管理手段1hが、処理するキャラク
タを選択する。
選択したキャラクタに対応するメインメモリ5上におい
て当たり結果HITansが設定されているか否かを判
断し、「YES」であればステップS103に移行し、
「NO」であればステップS106に移行する。
キャラクタのライフ値から所定値を減じる。ステップS
104では、判断手段1dが、残りライフ値が0か否か
を判断し、「YES」であればステップS105に移行
し、「NO」であればステップS106に移行する。ス
テップS105では、描画命令発行手段1eが、爆発を
示す画像を表示するためのコマンドを、描画処理プロセ
ッサ10に対して発行する。
1eが、選択されているキャラクタを描画することを示
すコマンドを、描画処理プロセッサ10に対して発行す
る。ここで、描画位置は、前よりも進んだ位置となり、
これは画面上におけるキャラクタの移動となる。
キャラクタが変化したか否かを判断し、「YES」であ
ればステップS108に移行し、「NO」であればステ
ップS109に移行する。
が、当たりデータを設定する。ここで当たりデータは、
上述したJkind、HITset、Hnum、(Xo
fs、Yofs)、(Hsize、Vsize)を示
す。
処理していないキャラクタが有るか否かを判断し、「Y
ES」であれば再びステップS101に移行し、「N
O」であればこのルーチンを抜ける。
ルーチンによる制御動作について説明する。以下、「キ
ャラクタ」は、処理毎に異なるキャラクタ、即ち、プレ
ーヤキャラクタSC、プレーヤキャラクタSCから出射
された弾、ミサイル、レーザ、敵キャラクタDC、敵キ
ャラクタDCから出射された弾、ミサイル、レーザ等を
示すものとする。
段1hが、当たりをとるキャラクタSを選択する。ステ
ップS112では、キャラクタ管理手段1hが、相手キ
ャラクタを選択する。ステップS113では、キャラク
タ管理手段1hからのJkindの内容判別結果、即
ち、当たりをとるキャラクタSが当たりをとる相手とし
てキャラクタDを示す情報が含まれているか否かを示す
情報に基いて、判断手段1dが、当たりをとるキャラク
タSと相手キャラクタDとで当たりをとるか否かを判断
し、「YES」であればステップS114に移行し、
「NO」であればステップS146に移行する。
段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に
移行する。
段1gが、上記拡大率パラメータdHzoom、dVz
oomに基いて拡大・縮小計算処理を行う。この計算は
例えば次のような式となる。
上記当たりデータ中に反転表示パラメータdHVfli
pがセットされているか否かを判断し、「YES」であ
ればステップS121に移行し、「NO」であればステ
ップS125に移行する。
反転表示パラメータdHVflipの示す値が、横方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS122に移行し、「NO」であればステップ
S123に移行する。
が、dXofsに−dXofsを代入する。マイナス値
の代入によって、キャラクタの反転に追従した領域Ar
の横方向への反転が行われる。
反転表示パラメータdHVflipの示す値が、縦方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS124に移行し、「NO」であればステップ
S125に移行する。
が、dYofsに−dYofsを代入する。マイナス値
の代入によって、キャラクタの反転に追従した領域Ar
の縦方向への反転が行われる。
上記当たりデータ中に回転パラメータdRotがセット
されているか否かを判断し、「YES」であればステッ
プS126に移行し、「NO」であればステップS12
7に移行する。
が、回転計算を行う。この計算は、例えば次のようなも
のである。キャラクタの中心位置を原点としたときの、
領域Arの位置が求められる。
n(dRot)×dYofs’ dYofs=sin(dRot)×dXofs’+co
s(dRot)×dYofs’
段1hが、キャラクタSの領域Arの数dHnumを読
み込む。
キャラクタSの領域Arの数sHnumが0か否かを判
断し、「YES」であればステップS146に移行し、
「NO」であればステップS129に移行する。
が、siに0を代入する。ステップS130では、キャ
ラクタ管理手段1hが、キャラクタSのsi個目の領域
Arに割り当てられている当たりデータを読み込む。ス
テップS131では、判断手段1dが、上記当たりデー
タ中に拡大率パラメータsHzoom、sVzoomが
セットされているか否かを判断し、「YES」であれば
ステップS132に移行し、「NO」であればステップ
S133に移行する。
段1gが、上記拡大率パラメータssHzoom、sV
zoomに基いて拡大・縮小計算処理を行う。この計算
は例えば次のような式となる。
上記当たりデータ中に反転表示パラメータsHVfli
pがセットされているか否かを判断し、「YES」であ
ればステップS134に移行し、「NO」であればステ
ップS138に移行する。
反転表示パラメータsHVflipの示す値が、横方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS135に移行し、「NO」であればステップ
S136に移行する。
が、sXofsに−sXofsを代入する。マイナス値
の代入によって、キャラクタの反転に追従した領域Ar
の横方向への反転が行われる。
反転表示パラメータsHVflipの示す値が、縦方向
への反転を示す値か否かを判断し、「YES」であれば
ステップS137に移行し、「NO」であればステップ
S138に移行する。
が、sYofsに−sYofsを代入する。マイナス値
の代入によって、キャラクタの反転に追従した領域Ar
の縦方向への反転が行われる。
上記当たりデータ中に回転パラメータsRotがセット
されているか否かを判断し、「YES」であればステッ
プS139に移行し、「NO」であればステップS14
0に移行する。
が、回転計算を行う。この計算は、例えば次のようなも
のである。キャラクタの中心位置を原点としたときの、
領域Arの位置が求められる。
n(sRot)×sYofs’ sYofs=sin(sRot)×sXofs’+co
s(sRot)×sYofs’
が、キャラクタSと相手キャラクタDとの変形後の領域
Ar毎の当たりデータに基いて各領域Ar毎の当たり判
定を行う。
pが、キャラクタSと相手キャラクタDの各領域Arが
重なっているか否かを判断し、「YES」であればステ
ップS148に移行し、「NO」であればステップS1
42に移行する。この判定は、例えば次のようにして行
われる。
si+sXofs)|<(dHsize+sHsiz
e) 且つ、
si+sYofs)|<(dVsize+sVsiz
e) が成り立つか否か。成り立てば互いの領域Arが重なっ
ているものとされる。
キャラクタS用の変数siに1を加算する。ステップS
143では、判断手段1dが、変数siの値が、キャラ
クタSの領域Arの数sHnumの値よりも小さいか否
かを判断し、「YES」であれば再びステップS130
に移行し、「NO」であればステップS144に移行す
る。
キャラクタD用の変数diに1を加算する。ステップS
145では、判断手段1dが、変数diの値が、キャラ
クタDの領域Arの数dHnumの値よりも小さいか否
かを判断し、「YES」であれば再びステップS117
に移行し、「NO」であればステップS146に移行す
る。
選択したキャラクタSとは異なる、当たりをとるべきキ
ャラクタがまだあるか否かを判断し、「YES」であれ
ば再びステップS112に移行し、「NO」であればス
テップS147に移行する。
選択していないキャラクタがまだ存在するか否かを判断
し、「YES」であれば再びステップS111に移行
し、「NO」であればこの当たり判定処理ルーチンを抜
ける。
ES」と判断した場合、即ち、キャラクタSの領域Ar
と、相手キャラクタDの領域Arとが重なっているもの
と判断した場合には、ステップS148に移行する。そ
してステップS148では、キャラクタ管理手段1h
が、夫々の当たり情報HITsetを、当たり結果HI
Tansにセットする。このセット処理は、例えば次の
ように、キャラクタDの当たり情報dHITsetを、
キャラクタSの当たり結果sHITsetに代入するこ
と、並びに、キャラクタSの当たり情報sHITset
を、キャラクタDの当たり結果dHITsetに代入す
ることによって行われる。
シューティングゲームやアクションゲームのように、プ
レーヤの操作するプレーヤキャラクタからレーザを出射
させ、該レーザを敵プレーヤ若しくはCPUが操作する
キャラクタに当てて、該敵のキャラクタを消去するよう
なゲームにおいて、いくつかの長方形等の図形を並べて
組み合わせ、キャラクタに近い形の当たり判定領域を設
定することで、キャラクタそのものの形状に近い状態で
当たり判定を行うようにし、しかも、ゲーム中において
は、各キャラクタの動きに応じて、各キャラクタに夫々
設定されている領域Arを動かすようにしたので、これ
によって、よりキャラクタの形状に近い当たり判定を行
うことができるので、プレーヤに対しごく自然な当たり
表示を提供することができるという効果がある。
めの説明図である。図10A及び図10Bに示されてい
るように、プレーヤがコントローラ92の所定のボタン
を押している間、プレーヤキャラクタSCからオブジェ
クトとしてのレーザobjが出射され、このレーザob
jが、屈折体Wa1及びWa2に入射し、屈折体Wa1
及びWa2内部で屈折した後に、屈折体Wa1及びWa
2から出射される視覚的状態が画像の描画によって行わ
れる。
固定されているが、図10Bに示される屈折体Wa2
は、画面において下方に落下している。また、図10A
及び図10Bに夫々示されているように、各屈折体Wa
1及びWa2から夫々出射された各レーザobjが敵キ
ャラクタDCに当たると、その間、敵キャラクタDCの
ライフは減少する。
てより詳細に説明する。図11Aに示されるように、本
形態においては、直線状或いは屈折されたレーザ画像
は、複数のレーザobjで構成され、各レーザobjの
長さは32ドットまで設定可能である。図11Aにおい
ては、矢印で示されるように、右方向にレーザobjが
繋げられている。
Y)と、前半の長さL0、後半の長さL1、現在の進行
方向角度D0、屈折前の進行方向角度D1、移動速度V
のパラメータを持つ。尚、L0+L1は最大で32ドッ
ト以下に設定される。本形態においてD0、D1の取り
得る値は0〜nまでで、0が水平方向(本形態において
は右方向である)を表し、“1”増加する毎にその角度
が時計回りに360/nずつ増加される。
中の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に状態が変化される。
は、夫々、多数のドットから構成され、各ドットには夫
々地形当たりコードJが割り当てられている。この地形
当たりコードJは、画面上に表示される全ての領域に設
定されており、何もない空間若しくは屈折体の別を示す
値、レーザobjが何もない空間から屈折体に入射した
場合の屈折角度からなる。ここで、屈折角度d1は、原
則として、屈折体に対して垂直、且つ、屈折体の内側に
向かう角度である。
参照して説明する。上述したように、直進中のレーザo
bjは、屈折体に入射、若しくは屈折体から出射する
際、その屈折体の構成ドットに夫々予め設定されている
地形当たりコード中の屈折角度値に応じて、その進行方
向が変化され、屈折中のレーザobjとなる。そして、
この変化後の進行方向は、入射、出射前のレーザobj
の進行方向には依存せず、屈折体を構成するドットに夫
々設定されている地形当たりコードJによってのみ決定
される。
々(X0、Y0)、(X1、Y1)とし、進行方向をD
0とする。このとき、例えば屈折体を構成するドットの
内、レーザobjが通る部分のドットに割り当てられて
いる地形当たりコードJの屈折角度が“0”の場合に
は、図11Dに示されるように、レーザobjは直進
し、屈折体をそのまま透過する。一方、例えば屈折体を
構成するドットの内、レーザobjが通る部分のドット
に割り当てられている地形当たりコードJの屈折角度が
上記屈折角度値、即ち、屈折体に対して垂直で屈折体の
内側に向かう値の場合には、図11Eに示されるよう
に、屈折した後に直進する。以下、図12〜図14のフ
ローチャートを参照して屈折処理について説明する。
〜図14) 図12〜図14は、屈折処理ルーチンによる制御動作を
説明するためのフローチャートである。
が、直進中のレーザobjの両端点の座標(X0、Y
0)、(X1、Y1)、進行方向角度D0を、変数(x
0、y0)、(x1、y1)、d0に夫々コピーする。
0)、(x1、y1)に夫々割り当てられている地形当
たりコードをテーブルから読み出し、読み出した値を夫
々変数vj0、vj1に格納する。
変数vj0、vj1の各値が、共に屈折体内部若しくは
何もない空間の何れかを示す値か否かを判断し、「YE
S」であればステップS153に移行し、「NO」であ
ればステップS154に移行する。ここで、屈折体内部
とは、レーザobj全体が屈折体の中にあるという意
味、何もない空間とは、レーザobj全体が屈折体の外
にあるという意味である。
1eが、レーザobjの位置を順次水平方向に平行移動
するよう、描画処理プロセッサ10に対し、描画処理コ
マンドを発行する。
変数vj1が屈折体の位置を示す値か否か、即ち、レー
ザobjの後端が屈折体内部で先端が外か否かを判断
し、「YES」であればステップS155に移行し、
「NO」であればステップS165に移行する。
座標(x0、y0)、(x1、y1)の中心点の座標
(x2、y2)を求める。この演算は、例えば次のよう
なものである。
x2からx1を減算した値の絶対値が“1”より小さ
く、且つ、y2からy1を減算した値の絶対値が“1”
より小さいか否かを判断し、「YES」であればステッ
プS157に移行し、「NO」であればステップS17
2に移行する。ここでは、中心点及び先端点間の距離が
“1”未満か否かを判断している。
が、Xにx1を、Yにy1を、Jにvj1を夫々代入す
る。ここで(X、Y)は、屈折体とレーザobjとの交
差する交差点座標である。
屈折体とレーザobjとの交差点座標(X、Y)におけ
る地形当たりコードJから、その座標に設定する屈折角
度d1を算出する。ステップS159では、判断手段1
dが、屈折中フラグが立っているか否かにより、出射時
か否かを判断し、「YES」であればステップS160
に移行し、「NO」であればステップS164に移行す
る。
が、屈折角度d1の値を通常の向きに対して逆向きであ
ることを示す値(180度反転に対応する値)にする。
ステップS161では、変数設定手段1fが、座標(X
1、Y1)及び座標(X、Y)間の長さをL1に、座標
(X、Y)及び座標(X0、Y0)間の長さをL0に夫
々代入する。ステップS162では、変数設定手段1f
が、レーザobjの屈折前の進行方向D1にD0を、現
進行方向D0にd1を代入する。ステップS163で
は、フラグ管理手段1cが、屈折中フラグをたてる。
した場合には、ステップS164に移行し、ステップS
164では、変数設定手段1fが、屈折角度d1の値を
通常の向きであることを示す値にする。そして、このル
ーチンを抜ける。
した場合にはステップS165に移行し、ステップS1
65では、演算手段1bが、座標(x0、y0)、(x
1、y1)の中心座標点(x2、y2)を求める。
る。
x2からx0を減算した値の絶対値が“1”より小さ
く、且つ、y2からy0を減算した値の絶対値が“1”
より小さいか否かを判断し、「YES」であればステッ
プS167に移行し、「NO」であればステップS16
8に移行する。ここでは、中心点及び先端点間の距離が
“1”未満か否かを判断している。
が、Xにx0を、Yにy0を、Jにvj0を夫々代入す
る。ここで(X、Y)は、屈折体とレーザobjとの交
差する交差点座標である。
が、座標(x2、y2)における地形当たりコードJを
取得し、これをvj2に代入する。
vj2の値が、屈折体の位置、即ち、レーザobjの先
端から中心点までが屈折体の中か否かを判断し、「YE
S」であればステップS170に移行し、「NO」であ
ればステップS171に移行する。
が、x0にx2を、y0にy2を、vj0にvj2を夫
々代入する。ここでは、座標(x2、y2)が、レーザ
objの新たな先端部分を示す位置とされる。
が、x1にx2を、y1にy2を、vj1に0を夫々代
入する。ここでは、座標(x2、y2)が、レーザob
jの新たな後端部分を示す位置とされる。
した場合にはステップS172に移行し、このステップ
S172では、変数設定手段1fが、座標(x2、y
2)における地形当たりコードJを取得し、これをvj
2に代入する。
vj2の値が、屈折体の位置、即ち、レーザobjの後
端から中心点までが屈折体の中か否かを判断し、「YE
S」であればステップS174に移行し、「NO」であ
ればステップS175に移行する。
が、x1にx2を、y1にy2を、vj1にvj2を夫
々代入する。ここでは、座標(x2、y2)が、レーザ
objの新たな後端部分を示す位置とされる。
が、x0にx2を、y0にy2を、vj0に0を夫々代
入する。ここでは、座標(x2、y2)が、レーザob
jの新たな先端部分を示す位置とされる。
は、シューティングゲームやアクションゲームのよう
に、プレーヤの操作するプレーヤキャラクタからレーザ
を出射させ、該レーザを敵プレーヤ若しくはCPUが操
作するキャラクタに当てて、該敵のキャラクタを消去す
るようなゲームにおいて、当該レーザを特定の条件、例
えば、屈折体に入射した場合に、屈折する状態を描画に
より表現するようにしたので、より視覚的な変化を提供
することができ、以て、プレーヤにより変化のあるゲー
ムを提供することができるという効果がある。
である。例えばシューティングゲームでは、地形データ
及びそれに付随する当たりデータは固定データである。
しかしながら、本形態においては、ゲーム進行中に地形
データをリアルタイムに変形、加工できるようにし、う
ねりの表現、プレーヤや敵キャラクタからの外力による
変形効果の表現を可能にすることで、よりゲーム性を高
めようとするものである。地形については、基本単位毎
に自由に硬さ、うねり周期、幅などを設定し、角度デー
タを取得するようにする。また、プロセッサの能力に応
じて、上記パラメータの設定レベルやそれに応じた表示
速度等もより高くすることが可能である。
ように、進行方向(本形態では右方向)に背景がスクロ
ールすると共に、プレーヤの操作に応じてプレーヤキャ
ラクタSCも進行方向に進められる状態において、図1
5Aから図15Bへの変化のように、例えばNフレーム
単位で画面の上下位置に、順次異なる形状の壁画像Gr
1及びGr2を表示するようにする。この処理は、プレ
ーヤに対し、画面上の上下の壁部Gr1及びGr2がう
ねっているような視覚的錯覚を引き起こす。プレーヤキ
ャラクタSCが上下の壁部Gr1及びGr2に接触する
とライフが減少するので、プレーヤは、コントローラ9
2のカーソルキー等を操作して、プレーヤキャラクタS
Cが壁部Gr1及びGr2に接触しないようにしなけれ
ばならない。
なるデータは、双方向リストで繋がれている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がどこにあるのかを示すデータを含まない場合
を言う。
t、nextで表現する。リストの終端には0が登録さ
れている。また、描画の基準となる最小ブロックの高さ
をH、幅をWとする。以下、図16〜図21を参照し
て、地形変化処理について説明する。
〜図21) 図16〜図21は、地形変化ルーチンによる制御動作を
説明するためのフローチャートである。
テップS40、ステップS60及びステップS80から
なる。
チンによる処理が行われる。ここで、全点とは、例えば
図15A及びBに示した壁部Gr1及びGr2を構成す
る全ての点を意味する。ステップS40では、全点移動
及び当たり登録ルーチンによる処理が行われる。ステッ
プS60では、点列からうねりを含めた描画命令を登録
するルーチンによる処理が行われる。ステップS80で
は、自由変形地形からの当たり取得ルーチンによる処理
が行われる。以下、これらのルーチンについて詳細に説
明する。
ローチャート、図18は、該フローチャートに含まれる
各点移動量設定ルーチンを示すフローチャートである。
以下、順次説明する。
段1sが、最初の点のrootのダミーデータを生成す
る。
5により、予め決められた回数だけステップS23、ス
テップS24、ステップS10及びステップS25の処
理が繰り返し行われる(ループ1)。例えば、上記一連
の処理が行われる都度、変数iに1が加算され、その値
が最大値MAXから1を減じた値になるまで上記一連の
処理が繰り返される。なお、ここにいう「最大値MA
X」とは、その時点において画面上に表示される上述の
点列の数を言う。
数iの値がMAXから1を減じた値になったか否かを判
断し、「YES」であればステップS24に移行し、
「NO」であればステップS10に移行する。
段1sが、最後の点のnextのダミーデータを生成す
る。ステップS10では、各点移動量設定ルーチンによ
る処理が行われる。
ルーチンによる処理について説明する。ステップS11
では、ベクトル取得手段1tが、点pから点rootへ
のベクトルv1及び距離d1、点pから点nextへの
ベクトルv2及び距離d2を夫々計算する。
記ベクトルv1とv2とでおりなす角度のコサイン(C
OS)を取った値が、折れ曲がり角度の制限値を超えて
いるか否かを判断し、「YES」であればステップS1
3に移行し、「NO」であればステップS12に移行す
る。
が、上記COS値が、上記制限値内に収まるように移動
量を設定する。
tが、点pの現在位置から原点位置、すなわちうねりが
ない状態における点pの位置へのベクトルv3を取得す
る。尚、このベクトルv3の値を時間で変動させること
によって視覚的にうねりを表現することができる。
力が加わっているか否かを判断し、「YES」であれば
ステップS16に移行し、「NO」であればステップS
17に移行する。ここで、外力は、上述と同様、点で示
され、距離が力の大きさとされる。また、外力とは、地
形自身ではなく、それ以外のものから加わる力のことを
意味し、例えば、特定のキャラクタが地形を引っ張って
変形させるような場合における変形をさせる力等であ
る。従って、距離が力の大きさを示すというのは、例え
ば上記引っ張る力が大きいということである。つまり、
引っ張る力の大きさを距離で表しているのである。
tが、外力のベクトルv4、v5、・・・・を取得す
る。
クトルv1〜vnを合成し、硬さ等のパラメータを加え
て移動量を設定する。
ような概念に基いて行われている。例えば1つの点にゴ
ムひもがいくつも繋がって引っ張られているとき、ある
瞬間にゴムひもがどの方向に動くかは、繋がっている全
てのゴムひもの引っ張る力と方向を足し合わせた方向に
なる。この方向を求める処理が、ベクトルv1〜vnの
合成である。
たり登録ルーチンによる処理について説明する。
景全体の移動量の累積値が地形を構成する最小単位の横
幅Wより大きいか否かを判断し、「YES」であればス
テップS42に移行し、「NO」であればステップS4
3に移行する。
が、リストの先頭に登録されているデータを削除し、地
形内の絶対座標から硬さ等のデータを取得し初期化した
上で、リストの終端に登録する。
が、当たりデータのテーブルを“0”でクリアする。
り、予め決められた回数だけステップS44、S45、
S46、S47の処理が繰り返し行われる(ループ
1)。例えば、上記一連の処理が行われる都度、変数i
に1が加算され、その値が最大値MAXから1を減じた
値になるまで上記一連の処理が繰り返される。
eが、設定された移動量に基いた描画命令を、描画処理
プロセッサ10に対して発行する。これにより、描画処
理プロセッサ10は、バッファ11上の新たな位置に地
形の画像データを書き込む。これによって、テレビジョ
ンモニタ12の表示面上において、新たな位置に地形の
画像が表示される。ここで、視覚的に動く方向は、ステ
ップS17で求められたベクトルv1〜vnの合成ベク
トルの方向である。
が、当たりデータを持っている場合、同時に当たりデー
タのテーブルのX座標/(テーブル幅/ブロック分割
数)で示される位置に、単方向リストとしての当たりデ
ータの登録を行う。尚、点rootと点pがブロックを
跨ぐ場合には両方に登録される。
ックとは壁部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ブロックの両方に登録される。
を含めた描画命令を登録するルーチンによる処理につい
て説明する。
が、計算点列を、他のルーチンと共有している点列とす
る。
り、予め決められた回数だけステップS62〜S70の
処理が繰り返し行われる(ループ2)。例えば、上記一
連の処理が行われる都度、変数iに1が加算され、その
値が最大値MAXから1を減じた値になるまで上記一連
の処理が繰り返される。また、ステップS64及びステ
ップS69により、予め決められた回数だけステップS
65〜S68の処理が繰り返し行われる(ループ1)。
例えば、上記一連の処理が行われる都度、変数iに1が
加算され、その値が最大値MAXから1を減じた値にな
るまで上記一連の処理が繰り返される。
段1sが、最初の点用にダミーのroot1及びroo
t2を生成する。
tが、点rootから点nextへ向かうベクトルを9
0度回転したベクトルv1を得る。このベクトルv1の
起点は変数iで規定される点p1である。
が、必要に応じてひずみを修正する。ここで、ひずみ修
正とは、ベクトルv1をそのまま使用して地形の描画を
行った場合、ひずみすぎて地形が交差したように描画さ
れる場合があるので、ねじれない程度にベクトルv1の
値を修正する等して地形が交差したように描画されない
ようにすることを言う。
が、点p1にベクトルv1を加えた点を点p2とする。
が、root1、p1、root2及びp2で作られる
四角形を描画するための描画命令を登録する。
が、計算点列を、p2等により新しく生成された点列に
する。
の当たり取得ルーチンによる処理について説明する。
wが、当たりを調べるべき、x、y座標データを受け取
る。
wが、全点移動及び当たり登録ルーチン内で登録された
当たりテーブルからx座標に基いて当たりのある可能性
のある点群のリストの先頭アドレスdadrを取得す
る。
ての点群のリストについて処理を終了したか否かを判断
し、「YES」であればステップS84に移行し、「N
O」であればステップS85に移行する。
が、当たりがないことを示すデータを当たりの有無を示
す変数に設定する。
が、変数pに取得した*dadrを代入する。ここで、
*dadrは、点のデータがどこにあるのかを示す情報
dadrが示している点のデータである。
の値がpのx座標値以上、且つ、nextのx座標値未
満か否かを判断し、「YES」であればステップS87
に移行し、「NO」であれば再びステップS83に移行
する。
のY座標値とpの当たりY補正値とを加算し、その加算
結果をpyとする。ここで、Y補正値は、地形画像の凹
凸(でこぼこ)を設定するための値である。
extのY座標とnextの当たりY補正値とを加算
し、その加算結果をnextyとする。
y、nextyの間を線形補間し、xにおけるY座標y
hitを得る。
とyhitの値を比較する。ステップS91では、判断
手段1dが、上記yとyhitの比較結果に基いて、当
たりが有るか否かを判断し、「YES」であればステッ
プS92に移行しう、「NO」であればステップS93
に移行する。
が、当たり有りの判定と、種類、必要に応じて線形補間
したときに求まる傾き等を、当たりルーチンを呼び出し
たものに返す。ここで、線形補間は、点と点が直線で繋
がっているものとして、その間の座標を計算で求めるこ
とを言う。
ロール方式のシューティングゲームやアクションゲーム
等において、上下の地形の形状等を例えばフレーム毎に
変えることにより、表示面上において当該地形の動きを
表現するようにしたので、より変化に富んだゲームを提
供することができる。
図である。例えば横方向へのスクロール方式が採用され
ているシューティングゲームでは、通常、プレーヤによ
るコントローラ92の操作に応じて、プレーヤキャラク
タSCが画面右方向に移動すると共にシューティングを
行うようになっている。本形態においては、このような
ゲームにおいて、スクロール方向と逆の方向に引き込ま
れるようにするためにいわば重力を当該方向に設定す
る。このような設定をすることにより、図22A及びB
に示されるように、プレーヤは自分の操作するプレーヤ
キャラクタSCが後方に吸い込まれないように、また、
前方から後方に向かって吸い込まれていく他の物体、例
えば崩れた壁部Grpや敵キャラクタDCに衝突しない
ようにするために、プレーヤはコントローラ92に対し
適切な操作を行わなければならない。よって、単純に右
方向にプレーヤキャラクタSCを進めながらシューティ
ングを行うための操作をする場合と比べて、より変化の
あるゲーム展開を提供することができる。
のステージの内、1若しくは複数のステージについて重
力表現がなされる、即ち、ブラックホールの存在が設定
されるようにされている。このブラックホールは、仮想
的に、水平座標においては左方向の画面外、垂直座標に
おいては画面の中央に設定され、重力加速度GRAVI
TYxがキャラクタの速度値から減算される。座標は、
左及び上方向にがマイナス、右及び下方向がプラスとさ
れるので、上記ブラックホールの設定の場合において
は、画面上で左から右に移動するキャラクタは重力加速
度GRAVITYxが減算されるので、右方向に移動す
る速度が遅くなったように描画され、画面上で右から左
に移動するキャラクタは重力加速度GRAVITYxが
加算されるので、左方向に移動する速度が早くなったよ
うに描画される。
の仮想位置が画面中心とされるので、上下を等しく分割
する直線から外部に向かって離れていくキャラクタは、
重力加速度GRAVITYxが当該キャラクタの速度値
から減算されるので、その移動速度が遅くなったように
描画され、外部から上記直線に向かって移動するキャラ
クタは、重力加速度GRAVITYxが当該キャラクタ
の速度値に加算されるので、その移動速度が早くなった
ように描画される。以下、図23〜図26を参照して、
水平方向への重力表現処理について説明する。
制御(図23〜図26) 図23〜図26は、水平方向への重力表現ルーチンによ
る制御動作を説明するためのフローチャートである。
理手段1jが、例えばフレーム毎に背景画像の種類や表
示位置を順次指定することにより、背景スクロール処理
が施される。描画命令発行手段1eは、上記背景画像の
種類や表示位置情報等に基いて描画処理プロセッサ10
に対し、描画命令を発行する。描画処理プロセッサ10
は、描画命令に基いた背景画像をバッファ11上に展開
する。これにより、テレビジョンモニタ12の表示面上
では、スクロールが行われる。ステップS301では、
変数設定手段1fが、ブラックホール重力計算処理の1
つの処理として、現在の重力加速度値をシステム変数G
RAVITYxにセットする。ステップS320では、
プレーヤキャラクタ移動処理ルーチンによる処理が行わ
れる。ステップS340では、敵キャラクタ移動処理ル
ーチンによる処理が行われる。ステップS302では、
その他の処理が行われる。ステップS303では、次の
割り込み処理ルーチンによる処理が行われる。次に、プ
レーヤキャラクタ移動処理ルーチンによる処理について
説明する。ステップS321では、プレーヤキャラクタ
SCの移動処理が行われる。ステップS322では、オ
プションの移動処理が行われる。ステップS323で
は、バリアの移動処理が行われる。ステップS324で
は、ショットの移動処理が行われる。ステップS325
では、ミサイルの移動ルーチンによる処理が行われる。
トは、何れもゲーム空間上において、プレーヤキャラク
タSCに付随するものであり、バリアはプレーヤキャラ
クタSCを被弾から守るためのもの、ショットはプレー
ヤキャラクタSCが弾を発射するためのものである。そ
して、ステップS321〜S322における「移動」と
は、プレーヤがコントローラ92を介してプレーヤキャ
ラクタSCを画面上で移動させたときに、描画命令発行
手段1eが、プレーヤキャラクタの画像を上記移動量に
応じて順次移動することを示す描画命令を、描画処理プ
ロセッサ10に対して例えばフレーム毎に順次発行する
と共に、その移動量に応じてオプションの画像、バリア
の画像、ショットの画像の各位置を順次変更することを
示す描画命令を、描画処理プロセッサ10に対して例え
ばフレーム毎に順次発行することによって、描画処理プ
ロセッサ10が上記描画命令に応じた画像をバッファ1
1上に展開することにより、テレビジョンモニタ12の
表示面上にフレーム毎に上記各画像が順次異なる位置に
表示され、これが上記各画像の移動としてプレーヤの眼
に映ることを意味する。
〜S324までの処理で、プレーヤキャラクタSCは重
力の影響を受けないように設定されている。また、ミサ
イルは発射された後にはそのミサイルに対して予め設定
されている速度情報に応じた速度で、単独に移動される
ことは言うまでもない。
ルーチンによる処理について説明する。ステップS32
6では、判断手段1dが、フラグの値から、現在のステ
ージがブラックホールの存在するステージか否かを判断
し、「YES」であればステップS327に移行し、
「NO」であればステップS332に移行する。
ミサイルの水平方向速度dhからGシステム変数GRA
VITYxの値を減算する。ここで、重力とキャラクタ
(しばしば剥離した壁部も含む)との関係について説明
する。画面上の座標系は、左及び上方向がマイナス、右
及び下方向がプラスである。重力加速度GRAVITY
xは、0以上の値をとる変数である。従って、この重力
加速度GRAVITYの値を、各キャラクタの水平方向
速度値から減算すれば、右に進んでいたキャラクタは減
速した見えるように、左に進んでいたキャラクタは加速
して見えるように描画される。
既に説明したように、ブラックホールの設定位置は、水
平座標では左方向の画面外、垂直座標では画面の中央と
いった設定である。従って、垂直位置が画面中心から離
れているものは縦方向の重力加速度(画面を上下に等分
割する直線上に向かう力)の影響を受ける。この加速度
はキャラクタの垂直座標が画面中央から離れるにしたが
って強くなる。
ミサイルの垂直座標Vposiが、画面中心の垂直座標
値より大きいか否かを判断し、「YES」であればステ
ップS329に移行し、「NO」であればステップS3
32に移行する。
上方向の加速度を、垂直方向速度dvに加算する。
ミサイルの位置にdh及びdvを加算する。ステップS
331では、判断手段1dが、ミサイル画面外判定、及
び敵との当たり判定を行う。ここで、「画面外判定」
(以下説明する敵キャラクタ画面外判定も同様である)
について説明する。プレーヤのミサイルや敵の位置情報
が表示領域外を示す位置になると、画面上においては、
これらの画像が消えたように見える。しかしながら、バ
ッファ11上では上記キャラクタの情報が残ったままな
ので、そのままにしておくと、バッファ11の記憶領域
の空きがなくなってしまう。そこで、これを回避するた
めの判定を行い、よけいな消費容量を減らすようにする
のである。
下方向の加速度を、垂直方向速度dvに加算する。
動処理ルーチンによる処理について説明する。ステップ
S341では、判断手段1dが、敵キャラクタDCがブ
ラックホールの影響を受けるか否かを夫々のキャラクタ
に割り当てられている変数の値によって判断し、「YE
S」であればステップS342に移行し、「NO」であ
ればステップS345に移行する。ここで上記変数は、
重力の影響を受けるか否かを表し、影響を受けることを
示す値の場合のみ、重力の計算がおこなわれる。
敵の水平方向速度dhからシステム変数GRAVITY
xを減算する。ステップS343では、判断手段1d
が、敵キャラクタDCの垂直方向の座標Vposiの値
が画面中心の垂直方向の座標の値よりも大きいか否かを
判断し、「YES」であればステップS344に移行
し、「NO」であればステップS347に移行する。
上方向の加速度を、垂直方向速度dvに加算する。ステ
ップS345では、演算手段1bが、敵キャラクタDC
の位置にdh、dvを加算する。ステップS346で
は、判断手段1dが、敵画面外判定、及びプレーヤキャ
ラクタSCからのショット、ミサイル、バリアとの当た
り判定を行う。
下方向の加速度を、垂直方向速度dvに加算する。
スクロールのシューティングゲームやアクションゲーム
等において、プレーヤキャラクタSCの進行方向と逆の
方向に重力が存在するように設定しているので、プレー
ヤは、敵キャラクタDCを消去するための操作以外に、
上記重力によってプレーヤキャラクタSCに向かってく
る物体を避けたり、プレーヤキャラクタSCが後方若し
くは画面中心に引き込まれないように進行方向若しくは
画面中心から外側により進めたりするために操作をしな
ければならなくなるので、より変化に富んだゲームを提
供することができる。
る。本形態においては、プレーヤによるコントローラ9
2の操作に応じて、プレーヤの操作するプレーヤキャラ
クタSCからレーザやミサイル等を出射し、これらを敵
キャラクタに当てて敵キャラクタのライフ値を減少さ
せ、最終的に敵キャラクタを消去するシューティングゲ
ームを想定している。そして、更に、特定の敵キャラク
タを消去することによってゲーム空間上に新たに出現す
るカプセルアイテムを取得したときには、取得している
カプセルアイテムの個数に対応して夫々予め割り当てら
れているバリア、ショットオプション等のパワーアップ
アイテムを、コントローラ92の特定のボタンの押圧に
よりプレーヤキャラクタSCに対し付加することができ
るようになっている。例えば、カプセルアイテムの取得
数が3ならバリアといったように、取得数に応じて付加
されるパワーアップアイテムが異なる。
に、図29において下方に示されるような選択画面(以
下パワーアップゲージと称する)が用いられる。このパ
ワーアップゲージは、この例で示されるように、6個に
区切られており、各領域には例えば、1、2、3、4、
5、6のように、夫々対応する取得カプセルアイテム数
が割り当てられている。プレーヤがゲーム中に、カプセ
ルアイテムを取得すると、そのときの取得数に対応する
位置の領域が強調表示される。そのときにプレーヤが特
定のボタンを押すと、そのときの取得数に応じて強調表
示されている領域に割り当てられているパワーアップア
イテムがプレーヤキャラクタに付加される。
ァベットの「S」、「M」、「D」、「L」、「O」、
「B」が夫々表示されると共に、その右側に「SPEE
DUP」の文字が表示されている。「S」は2重枠とな
っており、これは、現在「S」を選択可能、即ち、
「S」を選択可能な数のカプセルアイテムをプレーヤが
取得していることを示している。そして、この「S」の
内容が「SPEED UP」(プレーヤキャラクタの移
動速度が高速となる)である。プレーヤがここで特定の
ボタンを押すと、このパワーアップアイテムをプレーヤ
キャラクタに付加することができる。
テムの個数と、それに対応づけられている様々なパワー
アップアイテムとの対応関係をゲーム開始前に予め変更
しておき、ゲーム中に表示される上記パワーアップゲー
ジに反映することができる。
と称することとする。尚、ゲージエディットを行うこと
のできる画面は、ゲームスタート前のプレーヤキャラク
タSCの選択時のものと、オプション画面から入ること
のできるデフォルトゲージエディット画面の2つが用意
されており、これら2つの画面は、夫々エディットを終
了するときの操作が若干異なる。
り次のように行われる。ゲージエディットが選択される
と、図27Aに示されるような画像が表示される。この
図27Aに示されるように、ゲージエディット画面は、
第1のプレーヤ用のゲージエディット選択領域(図中
「1P」で示される枠内)と、第2のプレーヤ用のゲー
ジエディット選択領域(図中「2P」で示される枠内)
とで構成される。各領域内には、夫々プレーヤキャラク
タSCに付加されるパワーアップアイテムがの画像が、
プレーヤキャラクタSCの画像と共に表示される。この
例では、夫々6種類ずつのパワーアップアイテムが選択
可能となっている。パワーアップアイテムの選択は、コ
ントローラ92のカーソルキーの左右キーL及びRで左
右方向に移動可能なカーソルを移動させることによって
行われる。カーソル(以下アイコンカーソルと称するこ
ととする)は、第1及び第2のプレーヤ用のゲージエデ
ィット領域内にの「1P」、「2P」で示される小さな
枠である。各パワーアップアイテムの画像は、各ゲージ
エディット選択領域の下部に夫々示されている「S」、
「M」、「D」、「L」、「O」、「B」に夫々対応し
ている。この例では、第1及び第2のプレーヤの各アイ
コンカーソルは、夫々最も左のパワーアップアイテムを
選択しているので、これらのパワーアップアイテムに対
応して、夫々下方のアルファベット「S」が強調表示さ
れる。以下、選択操作について説明する。 (1)上記表示状態において、例えば第1プレーヤが、
コントローラ92を介して最も左のパワーアップアイテ
ムのアイコンをアイコンカーソルを選択し、続いて、決
定を示すボタンを押圧すると、当該パワーアップアイテ
ムのアイコンは、所定の速度、但し、プレーヤがその移
動軌跡を認識可能な速度で、一旦上方に移動され、続い
て、図27Bに示されるように、最初の位置よりも右下
に移動される。
該アイコンは、他のアイコン(この例では、左から2番
目のアイコン)に重なり、且つ、半透明状態で表示され
る。以上の一連の処理により、プレーヤがアイコンを選
択、決定すると、当該アイコンが一旦持ち上げられ、続
いて、右下方に移動されるといった表現が画像表示によ
って行われる。そして、プレーヤは、この動きによって
自分の選択しているアイコンを確実に認識することがで
きる。右下方に半透明で表示されるようにしているの
は、現在、このアイコンが選択され、他の場所のアイコ
ンと交換可能であることを示すためである。以下、この
状態を「ホールド」と称することとする。 (2)次に、図28Aに示されるように、例えば第1プ
レーヤが、コントローラ92のカーソルキーを用いて入
れ換えたいアイコン(この例では左から3番目のパワー
アップアイテムのアイコン)の位置に、現在選択してい
るアイコン(図27Aにおいて最も左にあったアイコ
ン)を移動させ、特定のボタンの押圧により決定する
と、図28Bに示されるように、図27Aにおいて第1
プレーヤ用の領域中で最も左に表示されていたアイコン
と、左から3番目のアイコンが交換される。 (3)上記操作をプレーヤが繰り返した後に、プレーヤ
がコントローラ92の特定のボタンを押圧すると、その
ときの設定が決定され、ゲーム中に反映される。図29
Aはゲージエディットによる設定が行われる前を示すゲ
ーム中の画面表示例、図29Bはゲージエディットによ
る設定が行われた後を示すゲーム中の画面表示例であ
る。図29Aに示される画面表示例においては、「S」
は、パワーアップゲージ中の最も左の位置に表示されて
いる。これが、図28に示すように、ゲージエディット
で「S」と「D」の位置が入れ換えられると、図29B
に示されるように、「S」は、パワーアップゲージ中の
左から3番目の位置に表示され、その代わりに「D」
が、パワーアップゲージ中の最も左の位置に表示され
る。
ち、半透明で右下方に表示されている状態で、プレーヤ
がキャンセルに割り当てられているボタンを押圧する
と、当該ゲージエディット画面の1つ前の画面が表示さ
れる。即ち、ゲージエディットを抜けることができる。
使用されるパラメータは次の通りである。 STEP・・・・・・・・・システムフロー制御変数 GEx(n)・・・・・・・・アイコンカーソル位置
(例えば0以上5以下) GEy(n)・・・・・・・・アイコンカーソル表示フ
ラグ(0は表示、1は非表示) GAUGE(n)・・・・・・現在のパワーアップゲー
ジの配列を示す32ビット値の配列変数 GAUGEbuf(n)・・・GAUGE(n)の内容
を一時的にコピーする、32ビット値の配列変数
buf(n)は、各2個ずつ(プレーヤ2人分)のゲー
ジの配列を保持する。その内容は次の通りである。
まで6個用意され、夫々3ビット(0〜7)の値が入力
される。各GAUGE0からGAUGE5に夫々入力さ
れる値は、アイテム数1〜6個に対応したパワーアップ
アイテムの種類を表す。各値とその値が示すパワーアッ
プアイテムの種類は例えば次の通りである。 000・・・スピードアップ 001・・・ミサイル 010・・・ダブル
にしか弾を発射することができない状態を、斜め上(右
上)や後方(左)にも発射することができるようにする
ためのパワーアップである。 011・・・レーザ 100・・・オプション
タの動きを走査し、プレーヤと同じ種類の攻撃をプレー
ヤキャラクタの攻撃動作と同時に行うことのできる球状
のもので、図27において左から4番目に示されてい
る、キャラクタに最大4つまで付加される球体である。
この例では、4つの球体が示されているので、この4つ
の球体から夫々弾が発射される。 101・・・バリア
(図30〜図38) ゲージエディットルーチンによる制御動作を説明するた
めのフローチャートである。ステップS201では、判
断手段1dが、システムフロー制御変数STEP2の値
がゲージエディット画面であることを示す値か否かを判
断し、「YES」であればステップS202に移行し、
「NO」であればゲージエディットルーチンを抜ける。
が、iに0を代入する。ステップS203では、判断手
段1dが、iの値が2か否かを判断し、「YES」であ
ればステップS207に移行し、「NO」であればステ
ップS204に移行する。ステップS204では、判断
手段1dが、(i+1)番目のプレーヤが不参加か否か
を判断し、「YES」であればステップS213に移行
し、「NO」であればステップS205に移行する。
(i+1)番目のプレーヤがゲージエディットに参加中
か否かを判断し、「YES」であればステップS217
に移行し、「NO」であればステップS206に移行す
る。ステップS206では、演算手段1bが、iに1を
加算する。ステップS207では、判断手段1dが、プ
レーヤキャラクタSCの選択中のゲージエディットか否
かを判断し、「YES」であればステップS208に移
行し、「NO」であればステップS260に移行する。
1つ前の他の選択モードの画面に戻るためのフラグが立
っているか否かを判断し、「YES」であればステップ
S209に移行し、「NO」であればステップS260
に移行する。ステップS209では、変数設定手段1f
が、システムフロー制御変数STEP2に、1つ前の他
の選択モードを示す値を代入する。
理ルーチンによる処理が行われる。ステップS280で
は、アイコンカーソル処理ルーチンによる処理が行われ
る。ステップS210では、判断手段1dが、プレーヤ
キャラクタの選択中のゲージエディットか否かを判断
し、[YES」であればステップS211に移行し、
「NO」であればステップS213に移行する。
全ての参加中のプレーヤのゲージエディット終了フラグ
が立っているか否かを判断し、「YES」であればステ
ップS212に移行し、「NO」であればこのゲージエ
ディットルーチンを抜ける。ステップS212では、フ
ラグ管理手段1cが、ゲージエディット終了フラグを立
てる。
何れかのプレーヤのゲージエディット終了フラグが立っ
ているか否かを判断し、「YES」であればステップS
214に移行し、「NO」であればこのゲージエディッ
ト処理ルーチンを抜ける。
cが、デフォルトのゲージエディット終了フラグを立て
る。ステップS215では、ボタン操作検出手段1aか
らのボタン操作検出結果に基いて、判断手段1dが、
(i+1)番目のプレーヤによってコントローラ92の
スタートボタン92aが押圧されたか否かを判断し、
「YES」であればステップS217に移行し、「N
O」であればステップS216に移行する。
cが、当該プレーヤについて待機中状態のフラグを立て
る。
何れかのプレーヤに割り当てられているゲージエディッ
ト終了フラグが立っているか否かを判断し、「YES」
であればステップS218に移行し、「NO」であれば
このゲージエディット処理ルーチンを抜ける。
(i+1)番目のプレーヤのOKアイコンカーソルのs
tep値が1か否かを判断し、「YES」であれば再び
ステップS206に移行し、「NO」であればステップ
S220に移行する。ここで、OKアイコンカーソルと
は、アイコンカーソルとは別のカーソルで、カーソルキ
ーの上下キーUが押圧されたときに表示されるカーソル
であり、このOKカーソルが表示されているときに決定
ボタン92eが押圧されると、ゲージエディットが終了
される。一方、ゲージエディットを行うための通常のア
イコンカーソルは、上記下キーDが押圧されたときに表
示される。つまり、上下キーU及びDが交互に押圧され
ると、OKアイコンカーソルとアイコンカーソルとが交
互に表示される。
ソルを操作しているプレーヤが、ゲージエディットに不
参加のときにはその値が0、参加中のときにはその値が
1、終了した直後にはその値が2、もう1人のプレーヤ
のゲージエディット終了を待っている場合にはその値が
3になる。
段1aからのボタン操作検出結果に基いて、判断手段1
dが、(i+1)番目のプレーヤがスタートボタン92
aを押圧したか否かを判断し、「YES」であれば再び
ステップS216に移行し、NOであればステップS2
21に移行する。
プレーヤキャラクタ選択中のゲージエディットか否かを
判断し、「YES」であればステップS222に移行
し、「NO」であればステップS226に移行する。
(i+1)番目のアイコンカーソルが、パワーアップア
イテムのアイコンをホールドしているか否かを判断し、
「YES」であればステップS206に移行し、「N
O」であればステップS223に移行する。
段1aからのカーソルキーの上下キーU及びDが押圧さ
れたことを示す操作結果情報に基いて、ゲージエディッ
ト管理手段1kが、アイコンカーソルの表示、非表示を
示す情報を変更する。これにより、描画命令発行手段1
eは、アイコンカーソルの表示、非表示を示す描画命令
を、描画処理プロセッサ10に対して発行する。描画処
理プロセッサ10は、上記描画命令に基いてバッファ1
1の内容を書き換える。よって、テレビジョンモニタ1
2の表示面上において、アイコンカーソルが表示若しく
は非表示状態となる。
アイコンカーソルの表示、非表示を示す情報に基いて、
アイコンカーソルが表示されているか否かを判断し、
「YES」であればステップS225に移行し、「N
O」であればステップ再びステップS206に移行す
る。
段1aからのカーソルキーの左右キーL及びRが押圧さ
れたことを示す操作結果情報に基いて、ゲージエディッ
ト管理手段1kが、アイコンカーソルのカーソル位置G
Ex(i)の値を変更する。これにより、描画命令発行
手段1eは、アイコンカーソルのカーソル位置GEx
(i)に基いた描画命令を、描画処理プロセッサ10に
対して発行する。描画処理プロセッサ10は、上記描画
命令に基いてバッファ11の内容を書き換える。よっ
て、テレビジョンモニタ12の表示面上において、アイ
コンカーソルが対応する位置に表示される。
O」と判断した場合には、ステップS226に移行す
る。そしてステップS226では、変数設定手段1f
が、GEy(i)に1を代入する。
(i+1)番目のプレーヤのアイコンカーソルがアイコ
ンをホールド中か否かを判断し、「YES」であればス
テップS228に移行し、「NO」であれば再びステッ
プS206に移行する。
が、gx0に、(i+1)番目のプレーヤのアイコンカ
ーソルがホールドしているアイコンの元の位置の値を代
入する。ステップS229では、変数設定手段1fが、
gxに、(i+1)番目のアイコンカーソルの現在位置
GEx(i)を代入する。ステップS230では、メモ
リ管理手段1nが、現在の(i+1)番目のプレーヤの
パワーアップゲージの並び方を示すデータGAUGE
(i)を、GAUGEbuf(i)にコピーする。
管理手段1kがGAUGEbuf(i)に対し所定の処
理を施し、その結果をg0に代入する。ここで、所定の
処理とは、例えば、上記gx0の3倍だけGAUGEb
uf(i)の値を右にシフトし、これに07H(16
進)との論理積をとるといった処理である。
が、ゲージエディット管理手段1kにより所定の処理が
施されたGAUGEbuf(i)をg1に代入する。こ
こで、所定の処理とは、例えば、上記gxの3倍だけG
AUGEbuf(i)の値を右にシフトし、これと07
H(16進)との論理積をとるといった処理である。
管理手段1kが、GAUGEbuf(i)上の、gxの
値が示す位置にあるパワーアップアイテムの種類を示す
値を一旦初期化する。この初期化は、gxの3倍だけ7
を左にシフトし、これを反転し、更にこれとGAUGE
buf(i)との論理積をとることによって行われる。
管理手段1kが、GAUGEbuf(i)上の、gx0
の値が示す位置にあるパワーアップアイテムの種類を示
す値を一旦初期化する。この初期化は、gx0の3倍だ
け7を左にシフトし、これを反転し、更にこれとGAU
GEbuf(i)との論理積をとることによって行われ
る。
nが、g0をGAUGEbuf(i)のgxの位置に書
き込む。この処理は、例えば、g0をgxの3倍だけ左
にシフトした値をGAUGEbuf(i)と論理和をと
ることにより行われる。
nが、g1をGAUGEBUF(I)のgx0の位置に
書き込む。この処理は、例えば、g1をgx0の3倍だ
け左にシフトした値をGAUGEbuf(i)と論理和
をとることにより行われる。
ボタン操作検出手段1aからの検出結果情報に基いて、
(i+1)番目のプレーヤ用のstep値が1のときに
第3ボタン92eがプレーヤによって押圧されたか否か
を判断し、「YES」であればステップS238に移行
し、「NO」であれば再びステップS206に移行す
る。ステップS238では、フラグ管理手段1cが、1
つ前の画面に戻るフラグを立てる。
ジアイコン処理について説明する。ステップS261で
は、判断手段1dが、OKアイコンか否かを判断し、
「YES」であればステップS265に移行し、「N
O」であればステップS262に移行する。
当該アイコンを操作しているプレーヤが不参加、若しく
は待機中か否かを判断し、「YES」であればステップ
S266に移行し、「NO」であればステップS263
に移行する。
アイコンがホールド中か否かを判断し、「YES」であ
ればステップS264に移行し、「NO」であればステ
ップS267に移行する。
1eが、アイコン表示制御手段1mからの情報に基い
て、通常の表示位置から右下にdh、dvドットずれた
位置、且つ、他のアイコンの上にアイコンを表示するこ
とを示す描画命令を、描画処理プロセッサ10に対し発
行する。
1eが、アイコン表示制御手段1mからの情報に基い
て、OKアイコン表示処理を行うようことを示す描画命
令を、描画処理プロセッサ10に対し発行する。ここ
で、OKアイコン表示処理とは、プレーヤの操作状態に
応じてOKアイコンの表示、点滅、非表示を行うことを
言う。オプション画面から入るデフォルトゲージエディ
ット画面では、操作の終了にOKアイコンを使用しない
ので、非表示、キャラクタ選択時のゲージエディット画
面でプレーヤがゲージエディットを終えたときにはOK
カーソルの点滅に同期して点滅、それ以外の状況では通
常通りに表示される。
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンのキャラクタを半透明の影とすることを示
す描画命令を、描画処理プロセッサ10に対し発行す
る。
1eが、アイコン表示制御手段1mからの情報に基い
て、ゲージ内の通常表示位置、且つ、他のアイコンと同
じ優先度でアイコンを表示することを示す描画命令を、
描画処理プロセッサ10に対し発行する。
プレーヤがゲージエディットに参加中か否かを判断し、
「YES」であればステップS269に移行し、「N
O」であればステップS273に移行する。
アイコンが現在ホールドされているか否かを判断し、
「YES」であればステップS270に移行し、「N
O」であればステップS273に移行する。
dh、dvが夫々8未満か否かを判断し、「YES」で
あればステップS271に移行し、「NO」であればこ
のゲージアイコン処理ルーチンを抜ける。dh、dvが
順次、0〜順次8未満までの値になることによって、プ
レーヤによって選択されたアイコンが画面上において、
視覚的に浮くように徐々に右下に移動していくように描
画される。ステップS271では、演算手段1bが、d
h及びdvに夫々1を加算する。ステップS272で
は、アニメーション処理手段1oが、描画命令発行手段
1eに対し、例えばフレーム毎に異なる画像を指定する
等により、描画命令発行手段1eに対しアニメーション
表示を行うための描画命令を、描画処理プロセッサ10
に対し発行する。
管理手段1kが、dh、dvを初期化する。
コンカーソル処理ルーチンによる処置について説明す
る。
アイコンカーソルを操作しているプレーヤが、不参加若
しくは待機中か否かを判断し、「YES」であればこの
アイコンカーソル処理ルーチンを抜け、「NO」であれ
ばステップS282に移行する。
アイコンがホールド中か否かを判断し、「YES」であ
ればステップS288に移行し、「NO」であればステ
ップS283に移行する。
y座標GEy(i)が0か否かを判断することにより、
カーソルが非表示か否かを判断し、「YES」であれば
ステップS284に移行し、「NO」であればこのアイ
コンカーソル処理ルーチンを抜ける。
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンカーソルの座標GEx(i)に対応したア
イコン上にアイコンカーソルを表示することを示す描画
命令を、描画処理プロセッサ10に対し発行する。
ボタン操作検出手段1aからの操作結果情報に基いて、
第1、第2及び第3ボタン92c、92d及び92dの
何れかがプレーヤによって押圧されたか否かを判断し、
「YES」であればステップS286に移行し、「N
O」であればこのアイコンカーソル処理ルーチンを抜け
る。
1eが、アイコン表示制御手段1mからの情報に基い
て、現在、アイコンカーソルの下にあるアイコンの状態
をホールド時の表示状態にすることを示す描画命令を、
描画処理プロセッサに対し発行する。
が、現在の位置GEx(i)をカーソル固有の変数に保
持し、カーソル状態を示す変数をホールド中であること
を示す値にする。
dh、dvが夫々8未満か否かを判断し、「YES」で
あればステップS289に移行し、「NO」であればス
テップS290に移行する。
1eが、アイコン表示制御手段1mからの情報に基い
て、カーソルの座標GEx(i)に対応した各アイコン
の表示位置から右下にdh、dvドットずれた位置カー
ソルキャラクタを表示することを示す描画命令を、描画
処理プロセッサ10に対し発行する。
ボタン操作検出手段1aからの操作結果情報に基いて、
第1、第2及び第4ボタン92c、92d及び92eの
何れかがプレーヤによって押圧されたか否かを判断し、
「YES」であればステップS297に移行し、「N
O」であればステップS292に移行する。
ボタン操作検出手段1aからの操作結果情報に基いて、
第3ボタン92dがプレーヤによって押圧されたか否か
を判断し、「YES」であればステップS293に移行
し、「NO」であればこのアイコンカーソル処理ルーチ
ンを抜ける。
管理手段1kが、dh、dvを初期化する。ステップS
294では、変数設定手段1fが、カーソルの座標GE
x(i)の値をホールド前の値に戻す。ステップS29
5では、変数設定手段1fが、GAUGEbuf(i)
の値をホールド前の値に戻す。
1eが、アイコン表示制御手段1mからの情報に基い
て、カーソルカーソルの座標GEx(i)に対応した各
アイコンの表示位置から右下にdh、dvドットずれた
位置カーソルキャラクタを表示することを示す描画命令
を、描画処理プロセッサ10に対し発行する。
管理1kが、dh、dvを初期化する。ステップS29
8では、変数設定手段1fが、ゲージ及び順序データG
AUGE(i)に、変更順序データGAUGEbuf
(i)を代入する。
1eが、アイコン表示制御手段1mからの情報に基い
て、アイコンの表示状態を非ホールド状態にすることを
示描画命令を、描画処理プロセッサ10に対し発行す
る。
ロール方式のシューティングゲームやアクションゲーム
等において、プレーヤキャラクタに付随させるオプショ
ン等の順序が予め所望の配列に変更され、ゲーム中に上
記オプションを選択する際の配列に反映される。そし
て、配列の変更の際、即ち、プレーヤによってアイコン
が選択、決定されたときに、表示面上において、先ず、
当該アイコンが所定の速度で上方に移動され、続いて、
右下方に移動され、更に、半透明にされると共に、プレ
ーヤの操作に応じて、当該アイコンが、他のアイコンの
上に重ねて表示される。そして、更にプレーヤによって
決定ボタンが押されると、その位置に表示されているア
イコンと、この位置に移動したアイコンとが交換され
る。このようにしてプレーヤの操作に応じて予めアイコ
ンの配列が決められ、この配列がゲーム中のアイコン選
択用のパワーアップゲージに反映される。従って、プレ
ーヤは、自分の好みの配列でゲームを行うことができる
といった効果がある。
がシューティングゲームに適用された場合について説明
したが、例えばキャラクタを画面内で移動させて敵と戦
っていくアクションゲーム等、他の様々なゲームにおい
て適用可能である。
ントローラを介して行う操作に応じて画面上のキャラク
タが一定方向に移動されると共に、スクロール処理によ
り背景情報が順次変更されるゲームシステムで用いられ
る物体の動き表現方法であって、上記スクロール方向と
平行関係となる位置にスクロール方向に延在する物体が
表示されると共に、当該物体の形状を定期或いは不定期
に変更されるので、プレーヤに対し、より視覚的な変化
を与えることができるという効果がある。
画面上において横方向とされ、上記物体の表示位置は、
当該画面上の上若しくは下、或いは上下とされたので、
プレーヤに対しより臨場感のあるゲームを提供すること
ができるという効果がある。
画面上において縦方向とされ、上記物体の表示位置は、
当該画面上の左若しくは右、或いは左右とされたので、
プレーヤに対しより臨場感のあるゲームを提供すること
ができるという効果がある。
構成図である。
ク図である。
のフローチャートである。
の説明図である。 (図4A)当たり判定用の領域が物体の回転に伴って回
転する様子が画面表示例で示された説明図である。 (図4B)当たり判定用の領域が物体の回転に伴って回
転する様子が画面表示例で示された説明図である。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
の説明図である。 (図10A)固定されている屈折体によりレーザが屈折
されている様子を画面表示例で示す説明図である。 (図10B)落下中の屈折体によりオブジェクトが屈折
されている様子を画面表示例で示す説明図である。
る。 (図11A)最大nドットの長さを有するオブジェクト
を単位オブジェクトの接続により構成することを説明す
るための説明図である。 (図11B)直進中のオブジェクトの表現方法を説明す
るための説明図である。 (図11C)屈折中のオブジェクトの表現方法を説明す
るための説明図である。 (図11D)進行方向角度をD0としたときのオブジェ
クトの表現方法を説明するための説明図である。 (図11E)進行方向角度をD1としたときのオブジェ
クトの表現方法を説明するための説明図である。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
である。 (図15A)上下の地形部がうねる表現を画面表示例で
示す説明図である。 (図15B)上下の地形部がうねる表現を画面表示例で
示す説明図である。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
ためのフローチャートである。
図である。 (図22A)水平方向に壁や他の物体が吸い込まれる様
子を画面表示例で示す説明図である。 (図22B)水平方向に壁や他の物体が吸い込まれる様
子を画面表示例で示す説明図である。
作を説明するためのフローチャートである。
作を説明するためのフローチャートである。
作を説明するためのフローチャートである。
作を説明するためのフローチャートである。
明図である。 (図27A)アイコンがアイコンカーソルによって選択
され、決定されるときの当該アイコンの動きをゲージエ
ディット画面表示例で示す説明図である。 (図27B)アイコンがアイコンカーソルによって選択
され、決定されるときの当該アイコンの動きをゲージエ
ディット画面表示例で示す説明図である。
明図である。 (図28A)アイコンカーソルで選択、決定することに
よってアイコンが交換される様子を画面表示例で示す説
明図である。 (図28B)アイコンカーソルで選択、決定することに
よってアイコンが交換される様子を画面表示例で示す説
明図である。
の、ゲーム画面上における反映を画面表示例で示す説明
図である。 (図29A)ゲージエディット前のゲーム画面の表示例
を示す説明図である。 (図29B)ゲージエディット後のゲーム画面の表示例
を示す説明図である。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
説明するためのフローチャートである。
Claims (14)
- 【請求項1】 プレーヤがコントローラを介して行う操
作に応じて画面上のキャラクタが一定方向に移動される
と共に、スクロール処理により背景情報が順次変更され
るゲームシステムで用いられる物体の動き表現方法であ
って、 上記スクロール方向と平行関係となる位置にスクロール
方向に延在し壁を表す物体が表示されると共に、当該物
体の形状を定期或いは不定期にうねるように変更される
ことを特徴とする物体の動き表現方法。 - 【請求項2】 上記物体の形状は、外力の有無よって変
更されることを特徴とする請求項1記載の物体の動き表
現方法。 - 【請求項3】 上記物体の形状は、上記プレーヤや敵キ
ャラクタからの外力によって変形されることを特徴とす
る請求項1記載の物体の物体の動き表現方法。 - 【請求項4】 上記物体の形状は、基本単位毎に硬さ、
うねり周期、幅などが設定されることを特徴とする請求
項1記載の物体の動き表現方法。 - 【請求項5】 上記キャラクタが上記物体に接触すると
許容ゲーム継続値が減少することを特徴とする請求項1
記載の物体の動き表現方法。 - 【請求項6】 上記スクロール方向が画面上において横
方向であり、上記物体の表示位置は、当該画面上の上若
しくは下、或いは上下である請求項1記載の物体の動き
表現方法。 - 【請求項7】 上記スクロール方向が画面上において縦
方向であり、上記物体の表示位置は、当該画面上の左若
しくは右、或いは左右である請求項1記載の物体の動き
表現方法。 - 【請求項8】 プレーヤがコントローラを介して行う操
作に応じて画面上のキャラクタが一定方向に移動される
と共に、スクロール処理により背景情報が順次変更され
るゲームプログラムが記録されたコンピュータ読取可能
な記録媒体であって、 上記スクロール方向と平行関係となる位置にスクロール
方向に延在し壁を表す物体が表示されると共に、当該物
体の形状が定期或いは不定期にうねるように変更される
ことを特徴とするゲームプログラムが記録されたコンピ
ュータ読取可能 な記録媒体。 - 【請求項9】 上記物体の形状は、上記プレーヤや敵キ
ャラクタからの外力によって変形されることを特徴とす
る請求項8記載のゲームプログラムが記録されたコンピ
ュータ読取可能な記録媒体。 - 【請求項10】 上記物体の形状は、基本単位毎に硬
さ、うねり周期、幅などが設定されることを特徴とする
請求項8記載のゲームプログラムが記録されたコンピュ
ータ読取可能な記録媒体。 - 【請求項11】 上記物体の形状は、外力の有無よって
変更されることを特徴とする請求項8記載のゲームプロ
グラムが記録されたコンピュータ読取可能な記録媒体。 - 【請求項12】 上記キャラクタが上記物体に接触する
と許容ゲーム継続値が減少することを特徴とする請求項
8記載のゲームプログラムが記録されたコンピュータ読
取可能な記録媒体。 - 【請求項13】 上記スクロール方向が画面上において
横方向であり、上記物体の表示位置は、当該画面上の上
若しくは下、或いは上下である請求項8記載のゲームプ
ログラムが記録されたコンピュータ読取可能な記録媒
体。 - 【請求項14】 上記スクロール方向が画面上において
縦方向であり、上記物体の表示位置は、当該画面上の左
若しくは右、或いは左右である請求項8記載のゲームプ
ログラムが記録されたコンピュータ読取可能な記録媒
体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10156907A JP3048346B2 (ja) | 1997-06-04 | 1998-05-22 | 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16067397 | 1997-06-04 | ||
JP9-160673 | 1997-06-04 | ||
JP10156907A JP3048346B2 (ja) | 1997-06-04 | 1998-05-22 | 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11294652A Division JP2000102675A (ja) | 1999-10-18 | 1999-10-18 | オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1153572A JPH1153572A (ja) | 1999-02-26 |
JP3048346B2 true JP3048346B2 (ja) | 2000-06-05 |
Family
ID=26484533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10156907A Expired - Fee Related JP3048346B2 (ja) | 1997-06-04 | 1998-05-22 | 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3048346B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3695217B2 (ja) * | 1999-04-30 | 2005-09-14 | オムロン株式会社 | 画像処理装置及び画像入力装置 |
JP4735802B2 (ja) * | 2003-10-23 | 2011-07-27 | 新世代株式会社 | ゲーム装置、ゲームプログラム、及び、ゲーム装置の制御方法 |
US7322889B2 (en) * | 2003-10-23 | 2008-01-29 | Ssd Company Limited | Game for moving an object on a screen in response to movement of an operation article |
JP5183878B2 (ja) | 2006-03-06 | 2013-04-17 | 任天堂株式会社 | ゲームプログラム、ゲームシステム |
-
1998
- 1998-05-22 JP JP10156907A patent/JP3048346B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
マイコンBASICMagazine 1990 12月号 1990年12月1日 電波新聞社発行 |
Also Published As
Publication number | Publication date |
---|---|
JPH1153572A (ja) | 1999-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6256047B1 (en) | Method of judging hits and computer-readable storage medium storing game data | |
JP4177381B2 (ja) | 画像生成方法、画像生成装置、および画像生成プログラム | |
US6544123B1 (en) | Game apparatus, command input method for video game and computer-readable recording medium recording programs for realizing the same | |
JP3637031B2 (ja) | ゲーム装置およびゲームプログラム | |
US20050237323A1 (en) | Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method | |
US20040110561A1 (en) | Game apparatus storing game sound control program and game sound control thereof | |
JP2010022646A (ja) | プログラム、情報記憶媒体および画像生成システム | |
US6878065B2 (en) | Video game system, character action control method, and readable storage medium storing character action control program | |
US20070082742A1 (en) | Storage medium having game program stored thereon and game apparatus | |
EP1126416B1 (en) | Randomly animating a flame in an image | |
JP2006268676A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP3369159B2 (ja) | 画像描画方法、画像描画装置、記録媒体及びプログラム | |
EP1085472A2 (en) | Method of creating image frames, storage medium and apparatus for executing program | |
JP3048346B2 (ja) | 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 | |
JP2000102675A (ja) | オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体 | |
JPH1147448A (ja) | 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 | |
JP2009129167A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2000113226A (ja) | ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体 | |
US6972766B2 (en) | Recording medium storing dynamic picture image generation program, dynamic picture image generation program, dynamic picture image generation method, and device for the same | |
JP4447000B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP3583995B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
JP2986451B2 (ja) | 被選択アイコン表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 | |
JP2965549B2 (ja) | 屈折状態表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 | |
JP4012948B2 (ja) | ゲーム装置、コンピュータ読み取り可能な記録媒体、およびゲーム画像の光表現方法 | |
JP3348152B2 (ja) | ゲームシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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: 20090324 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090324 Year of fee payment: 9 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090324 Year of fee payment: 9 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090324 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100324 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110324 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110324 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120324 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130324 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140324 Year of fee payment: 14 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |