図1は本発明になるビデオゲーム装置の一実施例を示す斜視図である。
図1に示されるように、ビデオゲーム装置11は、遊技者が選択したキャラクタが空中を飛行しながらターゲットを攻撃してアイテムを獲得することにより得点が加算されるシューティングゲーム(攻撃ゲーム)を行う構成とされたゲーム機である。このシューティングゲームで攻撃目標となるターゲットは、攻撃を受けると、金貨または金塊等のアイテムに変化する。
また、ビデオゲーム装置11は、筐体12の前面に設けられたカラー表示用のディスプレイ部13と、ディスプレイ部13より前方に位置する操作部14とからなる。尚、ディスプレイ部13は、ブラウン管を用いたCRTディスプレイ部でも良いし、あるいは液晶ディスプレイ部あるいはプラズマ表示パネル等でも良い。
操作部14の上面には、キャラクタの移動方向を操作する操作レバー(ジョイスティック)15と、キャラクタの移動速度を操作するスロットルレバー16が起立している。また、操作レバー15は、前後方向及び左右方向に揺動可能に支持されており、操作方向によってキャラクタの移動方向を変更させることができる。
そして、操作レバー15の上端には、ミサイル等の攻撃手段の発射ボタン17が設けられている。操作レバー15の発射ボタン17が押下された場合には、例えば、キャラクタの前方に表示されたロックオンサイトでターゲットをロックオンが可能となり、キャラクタを操作してロックオンサイトとターゲットを重ねる。このようにして、キャラクタの前方に展開する複数のターゲットがロックオンされる。次に発射ボタン17の押圧操作が解除された瞬間にロックオンされた複数のターゲットに向けて同時にミサイルが発射される。
尚、ロックオンされた状態で発射されたミサイルは、ロックオンされたターゲットに向けて自動的に誘導されており、キャラクタが進行方向を変更してもターゲットに命中する。また、各ターゲットは、夫々ポイントに対応するアイテム(例えば、金貨や金塊等)に変化する。そして、キャラクタは、後述するようにアイテムを取得することにより、より強力な武器を購入することができる。
また、スロットルレバー16は、前後方向へスライド可能に設けられており、前方へスライドさせるとキャラクタの移動速度が加速され、手前へスライドさせるとキャラクタの移動速度が減速される。そして、本実施の形態においては、スロットルレバー16の操作位置は、遊技者の操作した操作量(スライド量)が検出されるように設定されている。
また、ディスプレイ部13に表示されたキャラクタは、後述するようにスロットルレバー16がスライド操作されると、その操作量に応じた通常の速度に加速され、最端位置に操作されると最大速度に加速され、最端位置まで所定の時間以内に操作されると通常の最大速度より更に速い速度まで加速される。また、減速操作は、上記加速操作の逆の動作が行なわれ、スロットルレバー16が最手前位置へ一気に操作されると、通常の最大減速より遅い速度まで減速されて急停止する。
ゲームが開始されると、遊技者は、操作部14の前に設置された椅子18に座った状態で操作レバー15及びスロットルレバー16を把持する。そして、遊技者は、ディスプレイ部13に表示されたゲーム画像に写し出されたターゲットを攻撃し、攻撃されたターゲットのアイテムを取得して得られた得点を競うことになる。
また、操作部14の前面には、コイン投入口41が設けられ、操作部14の上面中央には、スタートボタン42と、キャラクタや攻撃用の武器を選択するための選択ボタン43とが設けられている。
図2はビデオゲーム装置11に組み込まれた制御回路のブロック図である。
図2に示されるように、制御回路20は、CPUブロック21と、ビデオブロック22と、サウンドブロック23とから構成されている。
CPUブロック21は、ビデオゲーム装置11全体を管理する制御部であり、バスアビータ24、CPU25、メインメモリ26、ROM27、CD−ROMドライブ28を備えている。
バスアビータ24は、バスを介して相互に接続されるデバイスにバス占有時間を割り振ることによりデータの送受信を制御可能にしている。
CPU25は、CD−ROMドライブ28、ビデオブロック22及びサウンドブロック23、入力装置としての操作レバー15、スロットルレバー16、発射ボタン17、バックアップメモリ29とアクセス可能に設けられている。また、CPU25は、電源投入時にROM27に格納されたイニシャルプログラム(初期実行プログラム)を実行し、装置全体の初期化を行い、CD−ROMドライブ28にCD−ROM28a(記憶媒体)が装着されたことを検出すると、CD−ROMに格納されているオペレーティングシステム用プログラムデータをメインメモリ26に転送する。
その後、CPU25は、オペレーティングシステムに従って動作するようになり、引き続きCD−ROM28aに格納されているアプリケーションプログラムをメインメモリ26に転送し、そのプログラムを実行するようになっている。また、CPU25は、画像データをグラフィックメモリ30に転送し、音声データをサウンドメモリ31に転送する。
そして、CPU25が実行するプログラムデータによる処理は、主として操作レバー15、スロットルレバー16、発射ボタン17からの操作信号の入力や通信装置32からの通信データの解釈と、それに基づいてビデオブロック22に行わせる画像処理及びサウンドブロック23に行わせる音声処理である。
メインメモリ26は、主として上記オペレーティングシステム用プログラムデータ及びアプリケーションプログラムデータを格納する他、静的変数や動的変数等を格納するワークエリアを提供する。ROM27は、イニシャルプログラムプログラムローダの格納領域である。
CD−ROM28aには、ビデオゲーム装置11の画像処理方法を実行するためのプログラムデータ、画像表示のための画像データ及び音声出力のための音声データ等が格納される。さらに、記憶媒体としてのCD−ROM28aには、遊技者が操作する操作レバー15、スロットルレバー16、発射ボタン17の操作によりターゲットを攻撃するシューティングゲームを行うゲーム制御プログラムとが記憶されている。このゲーム制御プログラムとしては、後述する図8に示すメイン制御処理を行う制御プログラム、及び図9に示すスロットル制御処理を行う制御プログラム(加速度制御手段)、図10に示す移動限界制御処理を行う制御プログラム(画像表示手段)、図11に示すローリング制御処理を行う制御プログラム(ローリング表示制御手段)、図12に示すロックオン制御処理を行う制御プログラム(ロックオン制御手段、ロックオン減算手段)、図13に示すアイテム制御処理を行う制御プログラム(アイテム変換手段、アイテム移動手段)、図14に示す剣の斬り口制御処理を行う制御プログラム(斬り口表示手段)が含まれる。
そして、CD−ROMドライブ28は、CD−ROM28aが着脱可能になっており、CD−ROMが装着されると、CPU25へその旨のデータを出力し、CPU25の制御によりデータの転送を可能にしている。
尚、記憶媒体は、CD−ROM28aに限らず、他の形式の光ディスク媒体や半導体などの記憶媒体からデータを読み込むことができるようにしても良い。
また、通信装置32を経由してCD−ROM28aに格納されているデータを各メモリに転送させる構成としても良い。このように設定することにより遠隔地のサーバの固定ディスク等からデータの転送が可能となる。
バックアップメモリ29は、CPU25からアクセス可能に設けられており、CPU25から転送されるゲーム中に発生するゲームの進行状況やゲームの途中経過、成績、操作方法等の設定を含む設定データの格納領域になっている。
これら設定データは、電源遮断時に電源遮断直前の状態からゲームを再開するためのバックアップデータとして機能する他、バックアップメモリ29を交換することにより他のビデオゲーム装置の操作状態をそのまま当該ビデオゲーム装置11に反映するためのデータとすることができる。
ビデオブロック22は、VDP(Video Display Processor)33、グラフィックメモリ34及びビデオエンコーダ35を備えている。グラフィックメモリ34には、上記したようにCD−ROM28aから読み取られた画像データが格納されている。
また、VDP33は、グラフィックメモリ34に格納されている画像データのうち画像表示に必要な画像データを読み取ってCPU25から供給される画像表示に必要な情報、すなわちコマンドデータ、視点位置データ、光源位置データ、オブジェクト指定データ、オブジェクト位置データ、テクスチャ指定データ、テクステヤ温度データ、視野変換マトリクスデータ等に従って、座標変換(ジオメトリ演算)、テクスチャマッピング処理、表示優先処理、シェーティング処理等を実行可能になっている。
尚、前記座標変換等の処理は、CPU25が行うように構成してもよい。すなわち、各デバイスの演算能力を勘案してどの処理をどのデバイスにさせるかを割り振ればよい。
また、ビデオエンコーダ35は、VDP33が生成した画像データをNTSC方式等の所定のテレビジョン信号に変換し、ディスプレイ部13に出力する。
サウンドブロック23は、サウンドプロセッサ36、サウンドメモリ37及びD/Aコンバータ38を備えている。サウンドメモリ37には、上記したようにCD−ROM28aから読み取られた音声データが格納されている。
サウンドプロセッサ36は、CPU25から供給されるコマンドデータに基づいて、サウンドメモリ37に楮納されている波形データ等の音声データを読み取って、DSP(Digital Signal Processor) 機能に基づく各種エフェクト処理、デジタル/アナログ変換処理等を行うようになっている。
そして、D/Aコンバータ38は、サウンドプロセッサ36により生成された音声データをアナログ信号に変換し、スピーカ39に出力可能に構成されている。
通信装置32は、例えば、モデムやターミナルアダプタであり、本ビデオゲーム装置11に接続可能に構成され、本ビデオゲーム装置11と外部回線とを接続するアダプターとして機能可能になっている。そして、通信装置32は、公衆回線網40に接続されるゲーム供給用サーバから送信きれたデータを受信し、CPUブロック21のバスに供給可能になっている。公衆回線40は、加入者回線、専用線、優先無線の別を問わない。
ここで、本ビデオゲーム装置11で行われるゲームの表示例について説明する。
ビデオゲーム装置11は、前述したように選択されたキャラクタが空中を飛行しながらターゲットを攻撃するシューティングゲームを行う制御プログラムがCD−ROM28aから読み取られるよう構成されており、ディスプレイ部13に当該ゲームソフトの画像が表示される。
図3はディスプレイ部13に表示されるゲーム画像の一例を示す図である。
図3に示されるように、ディスプレイ部13に表示されるゲーム画像には、遊技者が指定したキャラクタ45と、キャラクタ45の進行方向に表示される背景46と、敵となるターゲット49と、ターゲット49をロックオンサイト58と、キャラクタ45の進行速度を表示する速度計57とが表示される。キャラクタ45は、操作レバー15の操作方向に移動できるとともに、スロットルレバー16の操作位置に応じた速度で進行方向に移動する。そして、キャラクタ54が左右方向あるいは上下方向に移動することによりロックオンサイト58がターゲット49と重なる位置に移動する。このようにして、ロックオンサイト58がターゲット49に一致すると、そのターゲット49は、三角記号50に囲まれた状態に表示される。
(1)キャラクタが移動限界位置に達したときの表示例
図4は遊技者が指定したキャラクタが空中を飛行している様子をディスプレイ部13に表示した一例を示す図であり、(A)はキャラクタが右方向へ移動中の状態を示す図、(B)はキャラクタの動きに合わせてディスプレイ部13の表示枠が同方向に移動した様子を示す図、(C)はキャラクタが移動限界位置に達した状態を示す図である。
図4(A)に示されるように、ディスプレイ部13には、遊技者が指定したキャラクタ45が空中を飛行している様子が表示されており、キャラクタ45の進行方向の背景46がキャラクタ45の移動速度に応じた相対速度で手前方向に移動する。従って、ディスプレイ部13に表示される画像では、キャラクタ45が常に画面中央に表示されるように背景46が移動するとともに、スロットルレバー16の操作位置に応じた速度で背景46がキャラクタ45に向かって移動するように表示する。これにより、遊技者は、キャラクタ45が空中を飛行しているように見ることができる。
本実施の形態では、コンピュータグラフィックスにより形成される仮想空間の表示可能範囲Xの中にディスプレイ部13の表示枠Yが操作レバー15の操作方向に応じて上下左右方向に移動できる。そして、表示可能範囲Xに対し、ディスプレイ部13の表示枠Yは、十分に小さい。このディスプレイ部13の表示枠Yは、操作レバー15の操作方向に応じて移動するキャラクタ45の動きを追従するように表示可能範囲X内を移動して、キャラクタ45が画面中央に表示されるようにしている。
ここで、遊技者が操作レバー15を右方向に傾けると、キャラクタ45は、表示枠Yの中央から右方向に移動する。
図4(B)に示されるように、キャラクタ45が右方向に移動して表示枠Yの右端側に移動すると、ディスプレイ部13の表示枠Yもキャラクタ45の動きに追従するように同方向に移動する。
さらに、遊技者が操作レバー15を右方向に傾けると、キャラクタ45が右方向に移動しようとするが、例えば、崖などがあってそれ以上右方向に移動できない移動限界位置に到達している場合、あるいはディスプレイ部13の表示枠Yの右端が表示可能範囲Xの移動限界位置に到達している場合には、図4(C)に示されるように、ディスプレイ部13に表示されている画像全体を左右方向または上下方向に振動させて遊技者に右方向への移動ができないことを報知する。尚、キャラクタ45が左方向に移動した場合もそれ以上左方向に移動できない場合、あるいはディスプレイ部13の表示枠Yの左端が表示可能範囲Xの作動限界位置に到達している場合には、画像全体を左右方向に振動させて遊技者に左方向への移動ができないことを報知する。
また、キャラクタ45が上方向あるいは下方向に移動した場合もそれ以上上方向あるいは下方向に移動できない場合、あるいはディスプレイ部13の表示枠Yが表示可能範囲Xの作動限界位置に到達している場合には、画像全体を上下方向に振動させて遊技者に上下方向への移動ができないことを報知する。
(2)視点が客観位置の場合のローリング動作の表示例
図5はディスプレイ部13に表示された画像の視点がプレーヤキャラクタに対して客観位置である場合のローリング動作を表現する画像の表示例を示しており、(A)はローリング前の状態を示す図、(B)はキャラクタ45がローリング開始した状態を示す図、(C)はキャラクタ45が半回転した状態を示す図、(D)はキャラクタ45が270°ローリングした状態を示す図である。
図5(A)に示されるように、通常、キャラクタ45は、背中にロケットを背負う格好で空中を飛行しており、前方に向かう姿勢でディスプレイ部13の画面中央に表示されている。ここで、遊技者が操作レバー15を右方向に所定の時間内に急激に傾けると、図5(B)に示されるように、ディスプレイ部13に表示されている背景は、通常に操作レバー15を右方向に傾けたように右方向に移動せず、キャラクタ45のみが右方向にローリングを開始する。
このような状態では、遊技者が操作レバー15を右方向に傾けた状態を維持することにより、キャラクタ45は、図5(C)に示されるように、180°半回転した状態となり、さらに、図5(D)に示されるように、270°回転した状態となった後、図5(A)に示される状態に戻る。尚、キャラクタ45は、操作レバー15が垂直な中立位置に戻されるまで、上記のようなローリング動作を繰り返す。
このように、操作レバー15が右方向に所定時間以内に急激に傾けられた場合、キャラクタ45は時計周りでローリングして敵からの攻撃を避けることができる。また、遊技者が操作レバー15を左方向に急激に傾けた場合には、キャラクタ45は反時計周りでローリングして敵からの攻撃を避けることができる。
(3)視点が主観位置の場合のローリング動作の表示例
図6はディスプレイ部13に表示された画像の視点が主観位置である場合のローリング動作を表現する画像の表示例を示しており、(A)はローリング前の状態を示す図、(B)は表示画像がローリング開始した状態を示す図、(C)は表示画像が半回転した状態を示す図、(D)は表示画像が270°ローリングした状態を示す図である。
図6(A)に示されるように、視点が主観位置である場合、ディスプレイ部13に表示される画像の仮想カメラ位置は、キャラクタ45の目の位置と同じになる。従って、視点が主観位置である場合、ディスプレイ部13には、キャラクタ45が表示されず、進行方向の背景46のみが表示される。この場合、キャラクタ45が画面中央に表示されないため、ターゲットの存在を確認しやすい。
ここで、遊技者が操作レバー15を右方向に所定時間以内に急激に傾けると、図6(B)に示されるように、ディスプレイ部13の表示画像47は、通常に操作レバー15を右方向に傾けたように右方向に移動せず、全体が右方向にローリングを開始する。
このような状態では、ディスプレイ部13の表示画像47は、図6(C)に示されるように、180°半回転した状態となり、さらに、図6(D)に示されるように、270°回転した状態となった後、図6(A)に示される水平状態に戻る。尚、キャラクタ45は、操作レバー15が垂直な中立位置に戻されるまで、上記のようなローリング動作を繰り返すようにしても良い。この場合のローリング動作の中心は、キャラクタ45の目の位置になる。
このように、操作レバー15が右方向に所定時間以内に急激に傾けられた場合、ディスプレイ部13の表示画像47は、時計周りでローリングする。また、遊技者が操作レバー15を左方向に急激に傾けた場合には、ディスプレイ部13の表示画像47は、反時計周りでローリングする。
(4)ロックオン動作の表示例
図7はキャラクタがターゲットをロックオンするときの動作を示す表示例であり、(A)はターゲットをロックオンする前の動作を示す図、(B)はロックオン時の動作を示す図、(C)はロックオンされたターゲットを攻撃した時の動作を示す図、(D)は攻撃を受けたアイテムの動作を示す図である。
図7(A)に示されるように、ディスプレイ部13には、キャラクタ45と、ロックオンメータ48と、複数のターゲット49とが表示されている。複数のターゲット49は、キャラクタ45の進行方向に展開しており、キャラクタ45に向かって飛行している。従って、キャラクタ45は、接近する複数のターゲット49のうちロックオンサイトに入ったターゲット54をロックオンした後に攻撃することができる。
ロックオンメータ48は、キャラクタ45のライフパワー(体力)を示すレベルメータであり、後述するようにこのライフパワー値に応じてターゲットのロックオン数が決まる。よって、ターゲット49の数がライフパワー値を越えてしまうと、全ターゲット49をロックオンすることはできない。また、ターゲットの種類によって、キャラクタ45よりもライフパワー値の大きいターゲットの場合には、ロックオンできない。
図7(B)に示されるように、遊技者が操作レバー15の発射ボタン17を押下することによりロックオンサイトに入ったターゲット49は、三角記号50に変化して自動的に攻撃目標としてロックオンされる。次の瞬間、遊技者が操作レバー15の発射ボタン17から指を離すと、ロックオンされた各ターゲット49に向けて同時に攻撃を行なう。これにより、攻撃を受けた各ターゲット49は、図7(C)に示されるように、金貨の形状とされたアイテム51に変化する。
さらに、アイテム51は、図7(D)に示されるように、キャラクタ45の進路52(一点鎖線で示す)の近傍に集まるように移動する。そのため、キャラクタ45の進路を変更せずに各アイテム51を取得することができる。よって、高速で飛行するキャラクタ45は、アイテム51を取り逃すことがなく、確実に全アイテム51を取得しやすくすることができる。また、アイテム51が取得されると、ロックオンメータ48のレベル値がアイテム51のポイント分増加する。
(5)剣を攻撃手段として使用した場合の表示例
図8はキャラクタが剣を攻撃手段として使用してターゲットを斬るときの動作を示す表示例であり、(A)はターゲットを斬る前の動作を示す図、(B)はキャラクタが剣を振り下ろした時の動作を示す図、(C)は剣の軌跡からターゲットの斬り口の位置を示す図、(D)はターゲットの斬り口に閃光を合成した状態を示す図である。
図8(A)に示されるように、キャラクタ45は、右手に剣53を振り上げており、ターゲット54を攻撃しようとしている。次の瞬間キャラクタ45は、図8(B)に示されるように、剣53を振り下ろしてターゲット54を斬る。
図8(C)に示されるように、剣53の切っ先の移動軌跡からターゲット54の斬り口55であるポリゴン面の座標位置を求める。次に図8(D)に示されるように、ターゲット54の斬り口55に閃光56を合成する。この閃光56は、斬り口55の全周から光が放射されるように表現されるため、仮想カメラ位置がターゲット54に対してどの方向にあってもターゲット54の斬り口55から閃光56が放射される様子が表示される。そのため、遊技者は、ターゲット54が正面、側面、背面のどの方向から剣53により斬られても斬り口55の全周から放射される閃光51によってターゲット54が斬られたことを確認することができる。
ここで、ビデオゲーム装置11のCPU25が実行する制御処理について説明する。
図9はビデオゲーム装置11のCPU25が実行する制御処理のメインフローチャートである。図10は図9に示す制御処理に続いてCPU25が実行する制御処理のメインフローチャートである。
図9に示されるように、CPU25は、ステップS11(以下「ステップ」を省略する)において、先ずディスプレイ部13にアドバタイズ用の画像を表示する。このアドバタイズ用の画像としては、例えば、前述した図7(A)〜(D)に示されるような攻撃シーンがデモンストレーションとしてディスプレイ部13に表示される。
次のS12では、コイン投入口41にコインが投入されたかどうかをチェックする。コイン投入口41に設けられたコイン検出スイッチ(図示せず)がオンになると、S13に進み、ゲームに参加するキャラクタを選択するキャラクタ選択画面をディスプレイ部13に表示させる。次のS14において、遊戯者が選択ボタン43を押下してキャラクタ選択画面に表示されたキャラクタの中からゲームに参加するキャラクタを指定すると、S15に進み、スタートボタン42がオンに操作された否かを判定する。
S15において、スタートボタン42がオンに操作されると、例えば前述した図4(A)に示すような画像がスタート画面としてディスプレイ部13に表示される。次のS17でスロットルレバー16が加速側へスライド操作されたことが検出されると、S18に進み、スロットルレバー16の操作位置(速度値)を読み込む。
続いて、S19では、スロットルレバー16の操作位置の検出信号からキャラクタ45の移動速度(実際には背景46の相対速度)を演算し、ディスプレイ部13に表示される画像の表示速度がスロットルレバー16の操作位置に対応した速度に調整される。
次のS20では、操作レバー15が操作されたかどうかをチェックする。S20において、操作レバー15が操作された場合は、S21に進み、操作レバー15の操作方向及び操作レバー15の操作速度を読み込む。続いて、S22では、操作レバー15の操作方向及び操作レバー15の操作速度に応じた方向にキャラクタ45を移動させる。
S23では、ターゲット49がロックオンされたかどうかをチェックする。S23において、ターゲット49がロックオンされていないときは、前述したS18に戻り、S18〜S23の処理を繰り返す。また、S23において、ターゲット49がロックオンサイトに入ってロックオンされたときは(図7(B)参照)、図10のS24に進み、攻撃を行なうかどうかをチェックする。
S24でロックオンされたターゲット49を攻撃したときは(図7(C)参照)、S25に進み、ターゲット49のアイテム51を取得する(図7(D)参照)。続いて、S26では、取得したアイテム51のポイントを得点に加算する。次のS27では、ターゲット49からの反撃を受けたかどうかをチェックする。S27において、ターゲット49からの反撃を受けないときは、上記S23に戻り、S23以降の処理を行う。
しかし、S27において、ターゲット49からの反撃を受けたときは、S28に進み、キャラクタ45の受けたダメージを判定し、S29でダメージ回数をカウントする。次のS30では、ダメージ回数のカウント値が予め設定された設定値nに達したかどうかをチェックする。S30において、ダメージ回数のカウント値が設定値nに達していないときは、上記S31に進み、本ステージが終了したかどうかをチェックする。
S31において、本ステージが終了していないときは、上記S18に戻り、S18以降の処理を再度実行する。しかし、S27において、本ステージが終了したときは、S32に進み、次のステージに移行する。そして、上記S18に戻り、S18以降の処理を再度実行する。
また、上記S30において、ダメージ回数のカウント値が設定値nに達したときは、S37に進み、ゲームオーバになる。
上記S24において、ロックオンされたターゲット49を攻撃しないときは、S33に移行してターゲット49からの反撃を受けたかどうかをチェックする。S33において、ターゲット49からの反撃を受けないときは、上記S18に戻り、S18以降の処理を再度実行する。これにより、複数のターゲット49をロックオンすることができる。
しかし、S33において、ターゲット49からの反撃を受けたときは、S34に進み、キャラクタ45の受けたダメージを判定し、S35でダメージ回数をカウントする。次のS36では、ダメージ回数のカウント値が予め設定された設定値nに達したかどうかをチェックする。S36において、ダメージ回数のカウント値が設定値nに達していないときは、上記S18に戻り、S18以降の処理を再度実行する。また、S36において、ダメージ回数のカウント値が設定値nに達したときは、S37に進み、ゲームオーバになる。
このように、CPU25は、操作レバー15、スロットルレバー16、発射ボタン17の操作によりキャラクタ49を移動させながらターゲット49を順次ロックオンして攻撃することによりアイテム51を獲得してより高い得点を得ることのできるシューティングゲームの演算処理を実行する。
また、CPU25は、VDP33を介して1秒間に60フレームの画像データを生成して出力しており、各フレームの切り替わり時には適宜割り込み処理を実行する。
ここで、CPU25が実行する割り込み処理について説明する。
図11はCPU25が実行するスロットル制御(加速度制御手段)の割り込み処理を説明するためのフローチャートである。
図11に示されるように、CPU25は、S41でスロットルレバー16の操作位置が加速側に変化したかどうかをチェックする。S41において、スロットルレバー16の操作位置が加速側に変化したときは、S42に進み、スロットルレバー16が第1加速位置に操作されたかどうかをチェックする。そして、S42において、スロットルレバー16が第1加速位置に操作されたときは、S43に進み、キャラクタ45の移動速度を通常の加速度で通常の速度に加速する。
また、S42において、スロットルレバー16が第1加速位置に操作されていないときは、S44に進み、スロットルレバー16が第2加速位置に操作されたかどうかをチェックする。そして、S44において、スロットルレバー16が第2加速位置に操作されたときは、S45に進み、キャラクタ45の移動速度を通常の加速度で最大速度に加速する。
また、S44において、スロットルレバー16が第2加速位置に操作されていないときは、S46に進み、スロットルレバー16が急速に第2加速位置を越える位置まで操作されたかどうかをチェックする。そして、S46において、スロットルレバー16が急速に第2加速位置以上の加速位置に操作されたときは、S47に進み、キャラクタ45の移動速度を通常の2倍の加速度で最大速度に加速する。この場合、例えば、図4(A)において、背景46が手前側に高速で移動するとともに、キャラクタ45も進行方向に向かって移動することにより最大速度まで通常の2倍の加速度で到達する動きを表現することができる。
そのため、遊技者は、キャラクタ45の運動性能を高めて戦う場合には、スロットルレバー16を急速に加速側へ大きくスライド操作することにより、短時間でキャラクタ45を最大速度で移動させることができ、より高度なテクニックでゲームの各ステージをクリアすることができる。
また、上記S41において、スロットルレバー16の操作位置が加速側に変化していないときは、S48に進み、S48でスロットルレバー16の操作位置が減速側に変化したかどうかをチェックする。S48において、スロットルレバー16の操作位置が減速側に変化したときは、S49に進み、スロットルレバー16が第1減速位置に操作されたかどうかをチェックする。そして、S49において、スロットルレバー16が第1減速位置に操作されたときは、S50に進み、キャラクタ45の移動速度を通常の減速度で減速する。
また、S49において、スロットルレバー16が第1減速位置に操作されていないときは、S51に進み、スロットルレバー16が第2減速位置に操作されたかどうかをチェックする。そして、S51において、スロットルレバー16が第2減速位置に操作されたときは、S52に進み、キャラクタ45の移動速度を通常の2倍の減速度で減速する。
また、S52において、スロットルレバー16が第2減速位置に操作されていないときは、S53に進み、スロットルレバー16が急速に第2減速位置を越える位置まで操作されたかどうかをチェックする。そして、S53において、スロットルレバー16が急速に第2減速位置以上の減速位置に操作されたときは、S54に進み、キャラクタ45の移動速度を通常の2倍の減速度で減速してキャラクタ45を停止させる。この場合、例えば、図4(A)において、背景46の移動速度が減速されるとともに、キャラクタ45も進行方向と逆方向に向かって移動することにより通常の2倍の減速度で減速する様子を表現することができる。
また、遊技者が所定時間以内にスロットルレバー16を最端位置まで操作したときに、通常の操作による最大速度より更に速度を上げるようにしても良い。また、減速についても同様である。
図12はCPU25が実行する移動限界制御の割り込み処理を説明するためのフローチャートである。
図12に示されるように、CPU25は、S60において、操作レバー15の変位を検出したとき、S61に進み、操作レバー15の操作方向へキャラクタ45を移動させる。例えば、遊技者が操作レバー15を右方向に傾けると、キャラクタ45は、表示枠Yの中央から右方向に移動する(図4(A)を参照)。
次のS62では、キャラクタ45の移動方向へディスプレイ部13の表示枠Yを移動させてキャラクタ45がディスプレイ部13の中央に表示されるようにする。例えば、キャラクタ45が右方向に移動して表示枠Yの右端に移動すると、ディスプレイ部13の表示枠Yもキャラクタ45の動きに追従するように同方向に移動する(図4(B)を参照)。
次のS63では、キャラクタ45の移動位置がコンピュータグラフィックスによる仮想空間の移動限界位置に達しているかどうかをチェックする。S63において、キャラクタ45が移動限界位置に達していないときは、S64に進み、ディスプレイ部13の表示枠Yが表示可能範囲Xの作動限界位置に到達しているかどうかをチェックする。S64において、ディスプレイ部13の表示枠Yが表示可能範囲Xの作動限界位置に到達していないときは、今回の割り込み処理を終了する。
しかしながら、上記S63において、キャラクタ45が移動限界位置に達しているときは、あるいはS64において、ディスプレイ部13の表示枠Yが表示可能範囲Xの作動限界位置に到達しているときは、S65に進み、図4(C)に示されるように、ディスプレイ部13に表示されている画像全体を左右方向に振動させて遊技者に右方向への移動ができないことを報知する(画像表示手段)。
尚、キャラクタ45あるいはディスプレイ部13の表示枠Yが移動限界位置に達して上下方向に移動できない場合、あるいはディスプレイ部13の表示枠Yが表示可能範囲Xの作動限界位置に到達している場合には、画像全体を上下方向に振動させて遊技者に上下方向への移動ができないことを報知する。
これにより、遊技者は、ゲームに集中したままキャラクタ45がそれ以上移動できないことを認識することができ、キャラクタ45に無駄な動きをさせないようにして得点の向上を図ることができる。
図13はCPU25が実行するローリング制御の割り込み処理を説明するためのフローチャートである。
図13に示されるように、CPU25は、S70において、操作レバー15が急激に左方向または右方向にローリング操作されたかどうかをチェックする(ローリング操作検出手段)。S70でローリング操作されたときは、S71に進み、現在ディスプレイ部13に表示されている画像の視点設定位置を確認する。
次のS72で視点設定位置が客観位置(キャラクタ45の後方に視点がある)かどうかをチェックする(視点判定手段)。S72において、視点が客観位置であるときは、S73に進み、キャラクタ45のみを操作レバー15の操作方向に回転させる(図5(A)〜(D)を参照、表示制御手段)。そして、S74でキャラクタが1回転すると、今回の割り込み処理終了する。
また、上記S72において、視点が客観位置でないときは、S75に進み、視点設定位置が主観位置(視点がキャラクタ45の目の位置)であると判断する。そして、S76では、ディスプレイ部13に表示されている表示画像全体を操作レバー15の操作方向に回転させる(図6(A)〜(D)を参照、表示制御手段)。そして、S77で表示画像全体が1回転すると、今回の割り込み処理終了する。
このように、操作レバー15が急激に左方向または右方向にローリング操作された場合、ディスプレイ部13に表示されている画像の視点設定位置に対応するローリング動作を行なうことができる。そのため、例えば、従来のように視点設定位置が客観位置であるのに、ディスプレイ部13の表示画像全体を回転させるといった不都合を解消することができる。
図14はCPU25が実行するロックオン制御の割り込み処理を説明するためのフローチャートである。
図14に示されるように、CPU25は、S80において、ターゲット49の位置が検出されると、S81でターゲット49がロックオンサイト58(図3参照)に入ったかどうかをチェックする。S81において、ターゲット49がロックオンサイトに入った場合、S82に進み、ロックオンメータ48(図7(A)参照)のレベル(ライフパワー値)がターゲット49の体力値(ポイント値)よりも大きいかどうかをチェックする。
S82において、ロックオンメータ48のレベル(ライフパワー値)がターゲット49の体力値(ポイント値)よりも大きいときは、S84に進み、当該ターゲット49をロックオンしてターゲット49を三角記号50で表示する(図7(B)参照、ロックオン制御手段)。
続いて、S85では、ロックオンメータ48のレベルからロックオンされたターゲット49の体力値(ポイント値)を減算する(ロックオン減算手段)。
次のS86では、ターゲット49の体力値(ポイント値)が減算されたロックオンメータ48のレベルがゼロ以上であることを確認する。そして、ロックオンメータ48のレベルがゼロ以上であるときは、上記S80に戻り、他のターゲット49のロックオン処理を繰り返す。これにより、ロックオンメータ48のレベルに応じた数のターゲット49をロックオンすることができ、複数のターゲット49への同時攻撃を行なえる。
しかし、S86において、ロックオンメータ48のレベルがゼロになったときは、ロックオン不可になり、今回のロックオン制御を終了する。
また、上記S82において、ロックオンメータ48のレベル(ライフパワー値)がターゲット49の体力値(ポイント値)よりも小さいときは、ロックオン不可になり、今回のロックオン制御を終了する。
このように、ロックオンメータ48のレベル(ライフパワー値)に応じた複数のターゲット49をロックオンすることができるので、ロックオン数が固定されている場合よりも遊技者の操作レベルに応じた攻撃力を与えられるので、よりゲーム性を高めることができる。
また、ディスプレイ部13の画面にライフパワー値の異なるターゲット49複数の現れたとき、遊技者は、優先的にターゲット49を選択してロックオンすることができる。
図15はCPU25が実行するアイテム制御の割り込み処理を説明するためのフローチャートである。
図15に示されるように、CPU25は、S90において、ターゲット49への攻撃を行なった場合、S91に進み、攻撃されたターゲット49を金貨などのアイテム51に変化させる(図7(C)参照、アイテム変換手段)。次のS92では、アイテム51をキャラクタ45の進路52に接近させるように移動させる(図7(D)参照、アイテム移動手段)。これにより、高速で移動しているキャラクタ45は、進路変更せずに攻撃したターゲット49のアイテム51を全て取得することができる。
また、図16(A)〜(D)に示されるように、キャラクタ45の進路52に関わらず、アイテム51は、画面の上下左右方向及び奥行き方向に移動して画面の奥行き方向に向かって並ぶようにしても良い。
続いて、S93では、キャラクタ45が移動しながらアイテム51を取得したかどうかをチェックする。S93において、移動中のキャラクタ45がアイテム51を取得したときは、S94に進み、アイテム51のポイントをゲーム得点に加算する。続いて、S95では、アイテム51のポイントをロックオンメータ48に加算する。これで、今回のアイテム制御を終了する。
従って、より多くのアイテム51を取得することにより、ロックオンメータ48のレベルが大きくなり、より強いターゲット49をロックオンすることが可能になる。そのため、上級レベルの遊技者ほど、より強いターゲットを倒してさらに上のステージに進むことができるので、より一層ゲームを楽しむことができる。
尚、上記S93において、アイテム51を取得できないときは、今回のアイテム制御を終了する。
図17はCPU25が実行する剣の斬り口制御の割り込み処理を説明するためのフローチャートである。
図17に示されるように、CPU25は、S100において、キャラクタ45が剣53でターゲット54を攻撃した場合(図8(A)(B)参照)、S101に進み、画像表示毎に生成される剣53の切っ先のポリゴン座標の動作軌跡を読み込む。剣53が振り下ろされたときの動作軌跡は、剣53の切っ先及び手元の動作前の座標と、剣53の切っ先がターゲット54と交差したときの座標と、剣53の切っ先及び手元の動作後の座標から求めることができる。
次のS102では、ターゲット54が表示されている座標を読み込む。
そして、S103では、剣53の切っ先の動作軌跡がターゲット54の座標と交差しているかどうかをチェックする。S103において、剣53の軌跡がターゲット54の座標と交差しているときは、S104に進み、剣53の軌跡の延長線と交差するターゲット54の斬り口55であるポリゴン面の座標位置を求めて斬り口55をターゲット54のポリゴン上に表示する(図8(C)参照、斬り口表示手段)。ターゲット54の斬り口55は、剣53の切っ先の動作軌跡から求めた単位法線ベクトルからポリゴン面として表現することができる。
続いて、S105では、ターゲット54の斬り口55に予め作成してある閃光56のポリゴンを貼り付ける(図8(D)参照)。これにより、剣53により斬られたターゲット54の斬り口55と閃光56のポリゴンが交差するため、斬り口55の全周で閃光56が放射されるように表示されるため、遊技者は剣53を使用してターゲット54をどの方向から攻撃してもターゲット54がダメージを受けたことを画像から確認することができる。
従って、キャラクタ45が剣53を振り回してターゲット54を攻撃したとき、カメラ位置(視点位置)が移動している場合でも、剣53の軌跡の延長線に沿う斬り口55の全周から閃光56が放射されてので、カメラ位置(視点位置)に拘わらず、ターゲット54がダメージを受けたことを視覚的に認識できる。そのため、キャラクタ45及びターゲット54が互いに激しく動く場面でもターゲット54が剣53で斬られた瞬間を表現できるとともに、剣53を使用した場合の迫力をより明確に表示することが可能になる。
尚、上記実施の形態では、キャラクタ45が空中を飛行してターゲット49をロックオンして攻撃するゲーム内容を一例として挙げたが、これに限るものではなく、例えば、キャラクタ45が水中を移動できるものでも良いし、あるいは、キャラクタ49が戦闘機や潜水艦などに搭乗してターゲット49を攻撃するものでも良い。
また、上記実施の形態では、キャラクタ45が剣53を使用してターゲット54を攻撃する場面を一例としてあげたが、これに限らず、例えば、剣を持つ者同士が戦う場面などにも適用できるのは勿論である。また、剣の代わりに槍や弓などの武器を使用して戦う場面にもダメージを受けた瞬間に上記のような閃光56をターゲットの斬り口に貼り付けこともできる。