JPH1147448A - 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 - Google Patents

当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体

Info

Publication number
JPH1147448A
JPH1147448A JP10156905A JP15690598A JPH1147448A JP H1147448 A JPH1147448 A JP H1147448A JP 10156905 A JP10156905 A JP 10156905A JP 15690598 A JP15690598 A JP 15690598A JP H1147448 A JPH1147448 A JP H1147448A
Authority
JP
Japan
Prior art keywords
objects
area
character
game
outer shape
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
JP10156905A
Other languages
English (en)
Inventor
Takayuki Kobayashi
孝幸 小林
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 JP10156905A priority Critical patent/JPH1147448A/ja
Publication of JPH1147448A publication Critical patent/JPH1147448A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 ユーザによりゲーム意欲をわかせることので
きることを課題とする。 【解決手段】 シューティングゲームにおいて、キャラ
クタ表示用の変形パラメータを参照して、当たり範囲を
リアルタイムに変更することにより、キャラクタを変形
表示した時に、キャラクタの見た目に近い当たり判定を
行うことができるようにする。

Description

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

    【特許請求の範囲】
  1. 【請求項1】 画面上に複数の物体が表示され、少なく
    とも1以上の物体がコントローラを介して行われるプレ
    ーヤの操作により画面上で移動され、及び/又はCPU
    により少なくとも1以上の物体が画面上で移動され、少
    なくとも2つの物体の当たりを判定するゲームシステム
    で用いられる当たり判定方法であって、 上記各物体は、表示用の画像情報及び当たりを判定する
    ための複数の領域から構成されることを特徴とする当た
    り判定方法。
  2. 【請求項2】 上記複数の領域が、上記物体の動きに追
    従することを特徴とする請求項1記載の当たり判定方
    法。
  3. 【請求項3】 画面上に複数の物体が表示され、少なく
    とも1以上の物体がコントローラを介して行われるプレ
    ーヤの操作により画面上で移動され、及び/又はCPU
    により少なくとも1以上の物体が画面上で移動され、少
    なくとも2つの物体の当たりを判定するようになされた
    ゲームプログラムが記録されたコンピュータ読取可能な
    記録媒体であって、 上記各物体は、表示用の画像情報及び当たりを判定する
    ための複数の領域から構成されることを特徴とするゲー
    ムプログラムが記録されたコンピュータ読取可能な記録
    媒体。
  4. 【請求項4】 上記複数の領域が、上記物体の動きに追
    従することを特徴とする請求項3記載のゲームプログラ
    ムが記録されたコンピュータ読取可能な記録媒体。
  5. 【請求項5】 ゲーム空間内に所定の外形を各々有する
    オブジェクトが複数設けられ、これらオブジェクトのそ
    れぞれは、操作手段を用いたプレイヤーの入力指示に基
    づいて前記ゲーム空間内で移動され、及び/又は移動制
    御手段により前記ゲーム空間内で移動されるゲームシス
    テムに用いられ、前記複数のオブジェクトのうち少なく
    とも2つのオブジェクトの前記ゲーム空間内における前
    記外形の当接又は重複を検出する当たり判定方法であっ
    て、 前記オブジェクトの各々に、前記外形とは別に外形当接
    又は重複検出用の領域を設定しておき、 前記領域が重複したことにより前記オブジェクトの外形
    相互の当接又は重複を検出することを特徴とする当たり
    判定方法。
  6. 【請求項6】 請求項5に記載の当たり判定方法におい
    て、 前記オブジェクトの各々に複数の前記領域を設定してお
    き、 前記オブジェクトに設定された前記複数の領域のいずれ
    か1つが他の前記オブジェクトに設定された前記領域に
    重複することによりこれらオブジェクトの外形相互の当
    接又は重複を検出することを特徴とする当たり判定方
    法。
  7. 【請求項7】 請求項6に記載の当たり判定方法におい
    て、 前記オブジェクトの領域はこの領域が設定された前記オ
    ブジェクトの外形より小さく形成されていることを特徴
    とする当たり判定方法。
  8. 【請求項8】 請求項7に記載の当たり判定方法におい
    て、 前記領域は前記オブジェクトの外形の形状に従って設定
    されていることを特徴とする当たり判定方法。
  9. 【請求項9】 請求項5〜8のいずれかに記載の当たり
    判定方法において、 前記領域は前記オブジェクトの前記ゲーム空間内での移
    動に追従して移動することを特徴とする当たり判定方
    法。
  10. 【請求項10】 請求項5〜9のいずれかに記載の当た
    り判定方法において、 前記オブジェクトの外形は前記ゲーム空間内において変
    化可能とされ、 前記領域はこの領域が設定された前記オブジェクトの外
    形の変化に追従してその大きさが変化することを特徴と
    する当たり判定方法。
  11. 【請求項11】 所定の外形を各々有するオブジェクト
    が複数記憶されたオブジェクト記憶手段と、 プレイヤーからの入力指示を受け、この入力指示に基づ
    いた入力指示信号を出力する操作手段と、 前記入力指示信号及び/又は所定の手順に従ってゲーム
    空間内で前記オブジェクトを移動させる移動制御手段と
    を備えたゲームシステムにおいて、 前記オブジェクトの各々に設定され、前記外形とは別に
    外形当接又は重複検出用の領域が記憶された領域記憶手
    段と、 前記領域が重複したことにより前記オブジェクトの外形
    相互の当接又は重複を検出する当たり判定手段とを備え
    ることを特徴とするゲームシステム。
  12. 【請求項12】 請求項11に記載のゲームシステムに
    おいて、 前記オブジェクトの各々には複数の前記領域が設定さ
    れ、 前記当たり判定手段は、前記オブジェクトに設定された
    前記複数の領域のいずれか1つが他の前記オブジェクト
    に設定された前記領域に重複することによりこれらオブ
    ジェクトの外形相互の当接又は重複を検出することを特
    徴とするゲームシステム。
  13. 【請求項13】 請求項12に記載のゲームシステムに
    おいて、 前記オブジェクトの領域はこの領域が設定された前記オ
    ブジェクトの外形より小さく形成されていることを特徴
    とするゲームシステム。
  14. 【請求項14】 請求項13に記載のゲームシステムに
    おいて、 前記領域は前記オブジェクトの外形の形状に従って設定
    されていることを特徴とするゲームシステム。
  15. 【請求項15】 請求項10〜14のいずれかに記載の
    ゲームシステムにおいて、 前記オブジェクトの前記ゲーム空間内での移動に追従し
    て前記領域を移動させる領域移動制御手段を備えること
    を特徴とするゲームシステム。
  16. 【請求項16】 請求項10〜15のいずれかに記載の
    ゲームシステムにおいて、 前記ゲーム空間内において所定の手順に従って前記オブ
    ジェクトの外形を変化させる外形制御手段と、 前記領域が設定された前記オブジェクトの外形の変化に
    追従して領域の大きさを変化させる領域変化制御手段と
    を備えることを特徴とするゲームシステム。
  17. 【請求項17】 ゲーム空間内に複数設けられ、所定の
    外形を各々有するオブジェクトに対して、プレイヤーの
    入力指示、及び/又は移動制御手段により前記ゲーム空
    間内で移動されるゲームシステムに用いられ、前記複数
    のオブジェクトのうち少なくとも2つのオブジェクトの
    前記ゲーム空間内における前記外形の当接又は重複を検
    出するゲームプログラムが記録されたコンピュータ読取
    可能な記録媒体であって、 前記ゲームプログラムは、前記コンピュータに読み取ら
    れて実行された際に、このコンピュータに、 前記オブジェクトの各々に、前記外形とは別に外形当接
    又は重複検出用の領域を設定し、 前記領域が重複したことにより前記オブジェクトの外形
    相互の当接又は重複を検出する動作をさせることを特徴
    とするゲームプログラムが記録されたコンピュータ読取
    可能な記録媒体。
  18. 【請求項18】 請求項17に記載のコンピュータ読取
    可能な記録媒体において、 前記オブジェクトの各々に複数の前記領域を設定し、 前記オブジェクトに設定された前記複数の領域のいずれ
    か1つが他の前記オブジェクトに設定された前記領域に
    重複することによりこれらオブジェクトの外形相互の当
    接又は重複を検出することを特徴とするゲームプログラ
    ムが記録されたコンピュータ読取可能な記録媒体。
  19. 【請求項19】 請求項18に記載のコンピュータ読取
    可能な記録媒体において、 前記オブジェクトの領域はこの領域が設定された前記オ
    ブジェクトの外形より小さく形成されていることを特徴
    とするゲームプログラムが記録されたコンピュータ読取
    可能な記録媒体。
  20. 【請求項20】 請求項19に記載のコンピュータ読取
    可能な記録媒体において、 前記領域は前記オブジェクトの外形の形状に従って設定
    されていることを特徴とするゲームプログラムが記録さ
    れたコンピュータ読取可能な記録媒体。
  21. 【請求項21】 請求項17〜20のいずれかに記載の
    コンピュータ読取可能な記録媒体において、 前記領域は前記オブジェクトの前記ゲーム空間内での移
    動に追従して移動することを特徴とするゲームプログラ
    ムが記録されたコンピュータ読取可能な記録媒体。
  22. 【請求項22】 請求項17〜21のいずれかに記載の
    コンピュータ読取可能な記録媒体において、 前記オブジェクトの外形は前記ゲーム空間内において変
    化可能とされ、 前記領域はこの領域が設定された前記オブジェクトの外
    形の変化に追従してその大きさが変化することを特徴と
    するゲームプログラムが記録されたコンピュータ読取可
    能な記録媒体。
JP10156905A 1997-06-04 1998-05-22 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体 Pending JPH1147448A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10156905A JPH1147448A (ja) 1997-06-04 1998-05-22 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP16067197 1997-06-04
JP9-160671 1997-06-04
JP10156905A JPH1147448A (ja) 1997-06-04 1998-05-22 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体

Publications (1)

Publication Number Publication Date
JPH1147448A true JPH1147448A (ja) 1999-02-23

Family

ID=26484530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10156905A Pending JPH1147448A (ja) 1997-06-04 1998-05-22 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体

Country Status (1)

Country Link
JP (1) JPH1147448A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011041638A (ja) * 2009-08-20 2011-03-03 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
US8449392B2 (en) 2010-01-22 2013-05-28 Nintendo Co., Ltd. Storage medium having game program stored therein, game apparatus, control method, and game system using a heartbeat for performing a game process in a virtual game world
US9427668B2 (en) 2009-05-29 2016-08-30 Nintendo Co., Ltd. Storage medium storing game program and game apparatus for improved collision detection in a video game
JP2019080743A (ja) * 2017-10-30 2019-05-30 株式会社バンダイナムコエンターテインメント プログラム及びコンピュータシステム
JP2020081686A (ja) * 2018-11-30 2020-06-04 治幸 岩田 3次元シューティングゲームの処理方法、プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9427668B2 (en) 2009-05-29 2016-08-30 Nintendo Co., Ltd. Storage medium storing game program and game apparatus for improved collision detection in a video game
JP2011041638A (ja) * 2009-08-20 2011-03-03 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
US8449392B2 (en) 2010-01-22 2013-05-28 Nintendo Co., Ltd. Storage medium having game program stored therein, game apparatus, control method, and game system using a heartbeat for performing a game process in a virtual game world
JP2019080743A (ja) * 2017-10-30 2019-05-30 株式会社バンダイナムコエンターテインメント プログラム及びコンピュータシステム
JP2020081686A (ja) * 2018-11-30 2020-06-04 治幸 岩田 3次元シューティングゲームの処理方法、プログラム

Similar Documents

Publication Publication Date Title
US6256047B1 (en) Method of judging hits and computer-readable storage medium storing game data
JP3637031B2 (ja) ゲーム装置およびゲームプログラム
US6544123B1 (en) Game apparatus, command input method for video game and computer-readable recording medium recording programs for realizing the same
JP4177381B2 (ja) 画像生成方法、画像生成装置、および画像生成プログラム
US20050237323A1 (en) Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method
EP0836871A2 (en) Video game machine for playing video ball game and storage medium storing video ball game program
US20040110561A1 (en) Game apparatus storing game sound control program and game sound control thereof
JP3145064B2 (ja) ビデオゲーム機及びビデオゲームプログラムを記録した媒体
JP2010022646A (ja) プログラム、情報記憶媒体および画像生成システム
EP1126416B1 (en) Randomly animating a flame in an image
US20070082742A1 (en) Storage medium having game program stored thereon and game apparatus
US20020034979A1 (en) Video game system, character action control method, and readable storage medium storing character action control program
JP2006268676A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3048346B2 (ja) 物体の動き表現方法、及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP3990258B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2000102675A (ja) オブジェクト表示方法、ゲ―ムシステム及びゲ―ムプログラムが記録されたコンピュ―タ読取可能な記録媒体
JPH1147448A (ja) 当たり判定方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP4447000B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2000113226A (ja) ビデオゲーム装置、ビデオゲームにおけるモデル表示方法及びビデオゲームにおけるモデル表示プログラムが記録された可読記録媒体
JP2986451B2 (ja) 被選択アイコン表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP2965549B2 (ja) 屈折状態表示方法、ゲームシステム及びゲームプログラムが記録されたコンピュータ読取可能な記録媒体
JP3348152B2 (ja) ゲームシステム
JP4012948B2 (ja) ゲーム装置、コンピュータ読み取り可能な記録媒体、およびゲーム画像の光表現方法
JP2000070549A (ja) ゲームシステム、画像の保存方法及びゲームプログラムが記録された記録媒体
JP3297410B2 (ja) 画像生成システム及び情報記憶媒体