ビデオゲームシステムおよびビデオゲーム用記憶媒体
【課題】操作スイッチの数が多くて操作すべき種類を適切なタイミングで知ることが難しい場合でも、適切な操作を容易に行い、ゲームをより先の場面まで進むことの可能な、ビデオゲームシステム及びビデオゲーム用記憶媒体を提供する。
【解決手段】プレイヤオブジェクトに攻撃を加えたりゲームの進行を妨げるようなプレイヤオブジェクトに影響を与える物体の出現場所において、操作手段の適切な操作方法又は妨害の回避方法等のゲームを進める上で有益なメッセージを表示及び/又は音声で出力する。
【解決手段】プレイヤオブジェクトに攻撃を加えたりゲームの進行を妨げるようなプレイヤオブジェクトに影響を与える物体の出現場所において、操作手段の適切な操作方法又は妨害の回避方法等のゲームを進める上で有益なメッセージを表示及び/又は音声で出力する。
【発明の詳細な説明】
【発明の属する技術分野】この発明はビデオゲームシステム及びビデオゲーム処理用記憶媒体に関し、特に複雑な操作を必要とするゲームでもプレイヤが先の画面に進むことを容易にしたビデオゲームシステム及びビデオゲーム用記憶媒体に関する。
【0002】
【従来技術】従来のビデオゲームは、ゲームの操作方法をプレイヤ又はユーザに知らしめる方法として、取扱説明書又はマニュアルにおいて操作装置の各スイッチ又はボタンの機能を説明していた。そして、プレイヤは、ゲームを始める前に取扱説明書を読み、どのスイッチ又はボタンがどの様な機能を有するかを覚えた上で、ゲームをプレイしていた。また、その他の従来技術として、ビデオゲームを開始した後に、画面上で操作説明モードを選択したとき画面に操作方法又は各スイッチやボタンの機能説明を文字で表示したり、ゲーム途中の敵キャラクタの出現しない場所で各スイッチの操作方法又は機能の説明を表示していた。
【0003】
【発明が解決しようとする課題】各スイッチ又はボタンの操作方法を取扱説明書又はマニアルに記載するのは、操作するスイッチが多数あったり、複雑な操作を必要とする場合に、そのゲームをプレイする上で必要な全てのスイッチの機能を覚えることが困難であった。特に、プレイヤオブジェクト(プレイヤキャラクタ)の動作又は変化を指示するスイッチ(例えば、後述の実施例における図1の47A〜47Z)は、ゲームの種類によって異なった機能が与えられるため、その傾向が強い。また、全てのスイッチの機能を覚えていないために、より先の場面又はステージに進むことが困難となり、操作に慣れていないプレイヤがゲームの面白さを知る前にそのゲームのクリアを諦めることもある。さらに、プレイヤは、操作方法の説明を読んだだけではどのような場面でどのスイッチをどの様に操作すれば良いか分からないことが多く、各スイッチの操作のタイミングを掴めず、結果的により先の面白い場面又はステージに進めず、ゲームに盛り込まれている臨場感や達成感が得られない場合もある。このような問題は、操作モードを選択したときにゲーム画面上に各スイッチの機能を表示する場合でも、同様に生じる。特に、ゲームの種類がアクションゲームやシューティングゲームやレースゲーム等のような敏捷性の要求されるものや、三次元画像により立体感に溢れた画像を表現するゲームにおいては、どの種類のスイッチを何時のタイミングで操作するかが、ゲームの達成感・満足感を得たり、ゲームをより先の場面まで進行させる上で、重要な要因となる。
【0004】それゆえに、この発明の主たる目的は、ビデオゲームにおける臨場感を高め、プレイヤの達成感を満たし、プレイヤのビゲオゲームに対する興趣を向上させることの可能な、ビデオゲームシステム及びビデオゲーム用記憶媒体を提供することである。この発明の他の目的は、複雑な操作を必要とするゲームでも、プレイヤが先の画面に進むことを容易にした、ビデオゲームシステム及びビデオゲーム用記憶媒体を提供することである。この発明のその他の目的は、プレイヤによって操作されるプレイヤオブジェクトが居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切な操作方法を適切なタイミングで出力することにより、複雑又は難しい操作を必要とするゲームでもプレイヤが先の画面に進むことを容易にし、ゲームの面白さを向上し、プレイヤの満足感又は達成感を満たすことが可能な、ビデオゲームシステム又はゲーム処理用記憶媒体を提供することである。この発明のさらに他の目的は、プレイヤによって操作されるプレイヤオブジェクトの居る周囲環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切なタイミングでプレイヤを助けるアイテムや助言を供給することにより、操作の難しい場面でも、プレイヤが先の画面に進むことを容易にして、ゲームの面白さを一層向上し、プレイヤの達成感を満たすことの可能な、ビデオゲームシステム又はゲーム処理用記憶媒体を提供することである。
【0005】
【実施例】次に、この発明のビデオゲームシステムと、それに用いられるビデオゲーム用記憶媒体の構成を説明する。なお、以下の実施例では、ビデオゲーム機専用の場合を説明するが、画像処理装置の他の例として、パーソナルコンピュータ等に適用することもできる。また、操作手段としては、ゲーム専用コントローラの場合を説明するが、本願のビデオゲームシステムがパーソナルコンピュータ等の画像処理装置に適用される場合であれば、キーボードやマウス等の入力装置を用いてもよい。
【0006】図1はこの発明の一実施例のビデオゲームシステムの構成を示す外観図である。ビデオゲームシステムは、ビデオゲーム機本体10と、外部記憶装置の一例のROMカートリッジ20と、ビデオゲーム機本体10に接続される表示装置の一例のCRTディスプレイ30と、操作手段(又は操作入力手段)の一例のコントローラ40とを含んで構成される。コントローラ40には、必要に応じてRAMカートリッジ50(又は振動カートリッジ50A)が着脱自在に装着される。
【0007】コントローラ40は、両手又は片手で把持可能な形状のハウジング41に、複数のスイッチ又はボタンを設けて構成される。具体的には、コントローラ40は、ハウジング41の左右と中央のそれぞれの下部にハンドル41L,41C,41Rが設けられ、その上面を操作領域とする。操作領域には、中央下部にアナログ入力可能なジョイスティック45が設けられ、左側に十字形のディジタル方向スイッチ(以下「十字スイッチ」という)46が設けられ、右側に複数のボタンスイッチ47A〜47Zが設けられる。ジョイスティック45は、スティックの傾き量と方向によって、プレイヤオブジェクトの移動方向及び/又は移動速度(又は移動量)を指示したり入力するために用いられる。十字スイッチ46は、ジョイスティック45に代えてプレイヤオブジェクトの移動方向の指示入力のために用いられる。複数のボタンスイッチ47には、プレイヤオブジェクトの動作を指示するためのスイッチ47A,47B、カメラから見た画像の視点切換え等に用いられるスイッチ47C、スタートスイッチ47S、ハウジング41の左上部側面に設けられる動作スイッチ47L、ハウジング41の右上部側面に設けられる動作スイッチ47R、及びハンドル41Cの裏側に設けられるスイッチ47Zを含む。スイッチ47Cは、上下左右に4個のボタンスイッチ47Cu,47Cd,47Cl,47Crを配置して成り、カメラの視点切換え以外の用途として、シューティング又はアクションゲームにおいて移動速度のコントロール(例えば、加速,減速等)にも使用できる。これらの複数のボタンスイッチ47A〜47Zの機能は、ゲームプログラムによって定義することができる。
【0008】図2はこの発明の一実施例のビデオゲームシステムのブロック図である。ビデオゲーム機10には、中央処理ユニット(以下「CPU」と略称する)11及びコプロセッサ(リアリティ・コプロセッサ:以下「RCP」と略称する)12が内蔵される。RCP12には、バスの制御を行うためのバス制御回路121と、ポリゴンの座標変換や陰影処理等を行うための画像処理ユニット(リアリティー・シグナル・プロセッサ;以下「RSP」と略称する)122と、ポリゴンデータを表示すべき画像にラスタライズしかつフレームメモリに記憶可能なデータ形式(ドットデータ)に変換するための画像処理ユニット(リアリティー・ディスプレイ・プロセッサ;以下「RDP」と略称する)123とが含まれる。RCP12には、ROMカートリッジ20を着脱自在に装着するためのカートリッジ用コネクタ13と、ディスクドライブ26を着脱自在に装着するためのディスクドライブ用コネクタ14と、RAM15が接続される。また、RCP12には、CPU11によって処理された音声信号を出力するための音声信号発生回路16及び画像信号を出力するための画像信号発生回路17が接続される。さらに、RCP12には、1つ又は複数のコントローラ40A〜40Dの操作データ及び/又は拡張用RAMカートリッジ50のデータをシリアル転送するためのコントローラ制御回路18が接続される。
【0009】RCP12に含まれるバス制御回路121は、CPU11からバスを介してパラレル信号で与えられたコマンドをパラレル−シリアル変換して、シリアル信号としてコントローラ制御回路18に供給する。また、バス制御回路121は、コントローラ制御回路18から入力されたシリアル信号をパラレル信号に変換し、バスを介してCPU11へ出力する。コントローラ40A〜40Dから読み込まれた操作状態を示すデータは、CPU11によって処理されたり、RAM15に一時記憶される等の処理が行われる。換言すれば、RAM15は、CPU11によって処理されるデータを一時記憶する記憶領域を含み、バス制御回路121を介してデータの読出又は書込を円滑に行うことに利用される。
【0010】音声信号発生回路16には、ビデオゲーム機10の後面に設けられるコネクタ195が接続される。画像信号発生回路17には、ビデオゲーム機10の後面に設けられるコネクタ196が接続される。コネクタ195には、テレビのスピーカ等の音声発生装置32の接続部が着脱自在に接続される。コネクタ196には、テレビジョン受像機又はCRT等のディスプレイ31の接続部が着脱自在に接続される。
【0011】コントローラ制御回路18には、ビデオゲーム機10の前面に設けられるコントローラ用コネクタ(以下「コネクタ」と略称する)191〜194が接続される。コネクタ191〜194には、接続用ジャックを介してコントローラ40A〜40Dが着脱自在に接続される。このように、コネクタ191〜194にコントローラ40A〜40Dを接続することにより、コントローラ40A〜40Dがビデオゲーム機10と電気的に接続され、相互間のデータの送受信又は転送が可能とされる。
【0012】図3はコントローラ制御回路18の詳細な回路図である。コントローラ制御回路18は、RCP12とコントローラ用コネクタ191〜194との間でデータをシリアルで送受信するために用いられ、データ転送制御回路181,送信回路182,受信回路183及び送受信データを一時記憶するためのRAM184を含む。データ転送制御回路181は、データ転送時にデータフォーマットを変換するためにパラレル−シリアル変換回路とシリアル−パラレル変換回路を含み、さらにRAM184の書込み読出し制御を行う。シリアル−パラレル変換回路は、RCP12から供給されるシリアルデータをパラレルデータに変換してRAM184又は送信回路182に与える。パラレル−シリアル変換回路は、RAM184又は受信回路183から供給されるパラレルデータをシリアルデータに変換して、RCP12に与える。送信回路182は、データ転送制御回路181から供給されるコントローラ40の信号読込制御のためのコマンド及びRAMカートリッジ50への書込データ(パラレルデータ)をシリアルデータに変換して、複数のコントローラ40A〜40Dのそれぞれに対応するチャンネルCH1〜CH4へ送出する。受信回路183は、各コントローラ40A〜40Dに対応するチャンネルCH1〜CH4から入力される各コントローラ40A〜40Dの操作状態データ及びRAMカートリッジ50からの読出データをシリアルデータで受信し、パラレルデータに変換してデータ転送制御回路181に与える。データ転送制御回路181は、RCP12から転送されたデータ又は受信回路183で受信されたコントローラ40A〜40Dの操作状態データやRAMカートリッジ50の読出データをRAM184に書込み制御したり、RCP12からの命令に基づいてRAM184のデータを読出してRCP12へ転送するように働く。
【0013】RAM184は、図示を省略しているが、記憶エリア184a〜184hを含む。エリア184aには第1チャンネル用のコマンドが記憶され、エリア184bには第1チャンネル用の送信データ及び受信データが記憶される。同様に、エリア184cには第2チャンネル用のコマンド、エリア184dには第2チャンネル用の送信データ及び受信データがそれぞれ記憶される。エリア184eには第3チャンネル用のコマンド、エリア184fには第3チャンネル用の送信データ及び受信データがそれぞれ記憶される。エリア184gには第4チャンネル用のコマンド、エリア184hには第4チャンネル用の送信データ及び受信データがそれぞれ記憶される。
【0014】図4はコントローラ40及びRAMカートリッジ50の詳細な回路図である。コントローラ40のハウジングには、ジョイスティック45,各スイッチ46,47等の操作状態を検出しかつその検出データをコントローラ制御回路18へ転送するために、操作信号処理回路44等が内蔵される。操作信号処理回路44は、受信回路441,制御回路442,スイッチ信号検出回路443,カウンタ回路444,ジョイポート制御回路446,リセット回路447及びNORゲート448を含む。受信回路441は、コントローラ制御回路18から送信される制御信号やRAMカートリッジ50への書込データ等のシリアル信号をパラレル信号に変換して制御回路442に与える。制御回路442は、コントローラ制御回路18から送信される制御信号がジョイスティック45のX,Y座標のリセット信号であるとき、リセット信号を発生してNORゲート448を介してカウンタ444内のX軸用カウンタ444XとY軸用カウンタ444Yの計数値をリセット(0)させる。
【0015】ジョイステック45は、レバーの傾き方向のX軸方向とY軸方向に分解して傾き量に比例したパルス数を発生するように、X軸用とY軸用のフォトインタラプトを含み、それぞれのパルス信号をカウンタ444X及びカウンタ444Yに与える。カウンタ444Xは、ジョイスティック45がX軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。カウンタ444Yは、ジョイスティック45がY軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。従って、カウンタ444Xとカウンタ444Yとの計数値によって決まるX軸とY軸の合成ベクトルによって、プレイヤオブジェクト又は主人公キャラクタ若しくはカーソルの移動方向と座標位置が決定される。なお、カウンタ444X及びカウンタ444Yは、電源投入時にリセット信号発生回路447から与えられるリセット信号、又はプレイヤが所定の2つのスイッチを同時に押圧されたときにスイッチ信号検出回路443から与えられるリセット信号によっても、その計数値がリセットされる。
【0016】スイッチ信号検出回路443は、制御回路442から一定周期(例えばテレビジョンのフレーム周期である1/30秒間隔)で与えられるスイッチ状態の出力コマンドに応答して、十字スイッチ46,スイッチ47A〜47Zの押圧状態によって変化する信号を読込み、それを制御回路442へ与える。制御回路442は、コントローラ制御回路18からの操作状態データの読出指令信号に応答して、各スイッチ47A〜47Zの操作状態データ及びカウンタ444X,444Yの計数値を所定のデータフォーマットで送信回路445に与える。送信回路445は、制御回路442から出力されたパラレル信号をシリアル信号に変換して、変換回路43及び信号線42を介してコントローラ制御回路18へ転送する。制御回路442には、アドレスバス及びデータバス並びにポートコネクタ449を介してポート制御回路446が接続される。ポート制御回路446は、RAMカートリッジ50がポートコネクタ449に接続されているとき、CPU11の命令に従ってデータの入出力(又は送受信)制御を行う。
【0017】RAMカートリッジ50は、アドレスバス及びデータバスにRAM51を接続し、RAM51に電池52を接続して構成される。RAM51は、アドレスバスを用いてアクセス可能な最大メモリ容量の半分以下の容量(例えば256kビット)のRAMである。RAM51は、ゲームに関連するバックアップデータを記憶するものであり、RAMカートリッジ50がポートコネクタ449から抜き取られても電池52からの電力供給を受けてバックアップデータを保持する。なお、ゲームにおいて衝突又は爆発等の衝撃状態を画像表現したり音声出力する際に、そのような衝撃状態を一層現実に近づけたい場合は、振動発生回路53を内蔵したRAMカートリッジ50が用いられるか、RAM51を含まない振動発生回路52のみからなる振動カートリッジ50Aが用いられる。
【0018】ROMカートリッジ20は、外部ROM21を基板に実装し、その基板をハウジングに収納して構成される。外部ROM21は、ゲーム等の画像処理のための画像データやプログラムデータを記憶するとともに、必要に応じて音楽や効果音やメッセージ等の音声データを記憶するものである。
【0019】図5は外部ROM21のメモリ空間の全体を図解的に示したメモリマップであり、図6は外部ROM21のメモリ空間の一部(画像表示データ領域24)を詳細に示したメモリマップである。外部ROM21は、複数の記憶領域(以下には、「記憶領域」の前にデータの種類名を付ける場合は「領域」と略称する)、例えば図5に示すように、プログラム領域22,文字コード領域23,画像データ領域24及びサウンドメモリ領域25を含み、各種のプログラムを予め固定的に記憶している。
【0020】プログラム領域22は、ゲーム等の画像処理を行なうために必要なプログラム(後述の図15〜図3131)に示す各フローチャートの機能を実現するためのプログラムや、ゲーム内容に応じたゲームデータ等)を記憶している。具体的には、プログラム領域22は、CPU11の動作プログラムを予め固定的に記憶するための記憶領域22a〜22pを含む。メインプログラム領域22aには、後述の図15に示すゲーム等のメインルーチンの処理プログラムが記憶される。コントロールパッドデータ(操作状態)判断プログラム領域22bには、コントローラ40の操作状態等を示すデータを処理するためのプログラムが記憶される。書込プログラム領域22cには、CPU11がRCP12に書込処理させるべきフレームメモリ及びZバッファへの書込プログラムが記憶される。例えば、書込プログラム領域22cには、1つの背景画面で表示すべき複数の移動ブジェクト又は背景オブジェクトのテクスチュアデータに基づく画像データとして、色データをRAM15のフレームメモリ領域(図7に示す152)に書き込むプログラムと、奥行データをZバッファ領域(図7に示す153)に書き込むプログラムがそれぞれ記憶される。移動プログラム領域22dには、CPU11がRCP12に作用して三次元空間中の移動物体の位置を変化させるための制御プログラムが記憶される。カメラ制御プログラム領域22eには、プレイヤオブシェクトを含む移動オブジェクトや背景オブジェクトを三次元空間中のどの位置でどの方向を撮影させるかを制御するためのカメラ制御プログラムが記憶される。コース選択プログラム領域22fには、後述の図16に示すコース選択サブルーチンプログラムが記憶される。モード切換プログラム領域22gには、後述の図17に示すモード切換サブルーチンプログラムが記憶される。記憶領域22gに記憶されるプログラムは、表示モードが一方向スクロールの場合と全方向(オールレンジ)スクロールの場合のスクロールモードを切り換えることによって、スクロール方向やスクロール可能な範囲を切り換えるものである。通信処理プログラム領域22hには、後述の図19〜図21に示す通信処理サブルーチンのプログラムが記憶される。補給処理プログラム領域22iには、後述の図22〜図23に示す補給処理サブルーチンのプログラムが記憶される。プレイヤオブジェクトプログラム領域22jには、プレイヤによって操作されるオブジェクトの表示制御のためのプログラムが記憶される。仲間オブジェクトプログラム領域22kには、プレイヤオブジェクトと助け合ってゲームを進行させる仲間オブジェクトの表示制御のためのプログラム(図24〜図26参照)が記憶される。敵オブジェクトプログラム領域22lには、プレイヤオブジェクトに対して攻撃を加える敵オブジェクトの表示制御のためのプログラム(図27及び図28参照)が記憶される。背景プログラム領域22mには、CPU11がRCP12に作用して、三次元の背景画(又はコース)を作成させるための背景作成プログラム(図29参照)が記憶される。音声処理プログラム領域22nには、効果音や音楽や音声によるメッセージを発生するためのプログラム(図31参照)が記憶される。ゲームオーバー処理プログラム領域22oには、ゲームオーバーになった場合の処理、例えばゲームオーバー状態の検出やゲームオーバに達したときにそれまでのゲーム状態のバックアップデータの保存処理等のプログラムが記憶される。メッセージ処理プログラム領域22pには、プレイヤオブジェクトの居る場所又は環境等に適した操作をするのに役立つメッセージを文字による表示又は音声による出力を行うために、メッセージ処理(図19〜図21の通信処理、図22,図23の補給物資の供給処理等を含む処理)のサブルーチンプログラムが記憶される。
【0021】文字コード領域23は、複数種類の文字コードを記憶する領域であって、例えばコードに対応した複数種類の文字のドットデータを記憶している。文字コード領域23に記憶されている文字コードデータは、ゲームの進行においてプレイヤに説明文を表示するために利用される。この実施例では、プレイヤオブジェクトの居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類)やプレイヤオブジェクトのおかれている状況に応じて適切な操作方法又は対応方法を適切なタイミングで文字によるメッセージ(又はセリフ)を表示するために使用される。
【0022】画像データ領域24は、図6に示すように、記憶領域24a〜24fを含む。画像データ領域24は、背景オブジェクト及び/又は移動オブジェクトの各オブジェクト毎に複数のポリゴンの座標データ及びテクスチュアデータ等の画像データをそれぞれ記憶するとともに、これらのオブジェクトを所定の位置に固定的に表示し又は移動表示させるための表示制御プログラムを記憶している。例えば、記憶領域24aには、プレイヤオブジェクトを表示するためのプログラムが記憶される。記憶領域24bには、複数の仲間オブジェクト1〜3を表示するための仲間オブジェクトプログラムが記憶される。記憶領域24cには、複数の背景(静止)オブジェクト1〜n1を表示するための背景オブジェクトプログラムが記憶される。記憶領域24dには、複数の敵オブジェクト1〜n2を表示するための敵オブジェクトプログラムが記憶される。記憶領域24eには、ボスオブジェクトを表示するためのボスオブジェクトプログラムが記憶される。記憶領域24fには、例えば後述の図1212に示すセリフ又はメッセージを出力するためのデータが記憶される。
【0023】サウンドメモリ領域25には、場面毎に対応して、その場面に適した上記メッセージを音声で出力するためのセリフや効果音やゲーム音楽等のサウンドデータが記憶される。
【0024】なお、外部記憶装置は、ROMカートリッジ20に代えて又はROMカートリッジ20に加えて、CD−ROMや磁気ディスク等の各種記憶媒体を用いてもよい。その場合、CD−ROMや磁気ディスク等の光学式または磁気式等のディスク状記憶媒体からゲームのための各種データ(プログラムデータ及び画像表示のためのデータを含む)を読出し又は必要に応じて書込むために、ディスクドライブ(記録再生装置)26が設けられる。ディスクドライブ26は、ROM21と同様のプログラムデータが磁気的又は光学的に記憶された磁気ディスク又は光ディスクに記憶されたデータを読出し、そのデータをRAM15に転送する。
【0025】図7はRAM15のメモリ空間全体を図解的に示したメモリマップであり、図8はRAM15のメモリ空間の一部(画像表示データ領域154)を詳細に示したメモリマップである。RAM15は、各種の記憶領域150〜159を含む。例えば、RAM15には、表示リスト領域150と、プログラム領域151と、1フレーム分の画像データを一時記憶するフレームメモリ(又はイメージバッファメモリ)領域152と、フレームメモリ領域のドット毎の奥行データを記憶するZバッファ領域153と、画像データ領域154と、サウンドメモリ領域155と、コントロールパッドの操作状態データを記憶する領域156と、作業用(ワーキング)メモリ領域157と、仲間データ領域158と、レジスタ・フラグ領域159とが含まれる。各記憶領域151〜159は、CPU11がバス制御回路121を介して、又はRCP12が直接アクセスできるメモリ空間であって、使用されるゲームによって任意の容量(又はメモリ空間)に割り当てられる。また、プログラム領域151,画像データ領域154,サウンドメモリ領域155は、ROM21の記憶領域22,24,25に記憶されている1つのゲームの全場面(又はステージ)のゲームプログラムのうち一部のデータ、例えば或る1つのコース又はステージに必要なゲームプログラムが転送されたとき、対応するデータを一時記憶するものである。このように、ある場面に必要な各種プログラムデータの一部を各記憶領域151,154,155に記憶させておけば、CPU11が必要の生じる毎に直接ROM21から読み出して処理するよりも、CPU11の効率を高めることができ、画像処理速度を高速化できる。
【0026】具体的には、フレームメモリ領域152は、ディスプレイ30の画素(ピクセル又はドット)数×1画素当たりの色データのビット数に相当する記憶容量を有し、ディスプレイ30の画素に対応してドット毎の色データを記憶する。フレームメモリ領域152は、画像処理モードにおいて画像データ領域154に記憶されている1つの背景画面中に表示すべき静止オブジェクト及び/又は移動オブジェクトの1つ以上のオブジェクトを複数のポリゴンの集合体で表示するための三次元座標データに基づいて、視点位置から見える物体のドット毎の色データを一時記憶するとともに、表示モードにおいて画像データ領域154に記憶されているプレイヤオブジェクト,仲間オブジェクト,敵オブジェクト,ボスオブジェクト等の移動オブジェクトと背景(又は静止)オブジェクト等の各種オブジェクトを表示する際にドット毎の色データを一時記憶する。Zバッファ領域153は、ディスプレイ30の画素(ピクセル又はドット)数×1画素当たりの奥行データのビット数に相当する記憶容量を有し、ディスプレイ30の各画素に対応してドット毎の奥行データを記憶するものである。Zバッファ領域153は、画像処理モードにおいて静止オブジェクト及び/又は移動オブジェクトの1つ以上のオブジェクトを複数のポリゴンの集合体で表示するための三次元座標データに基づいて視点位置から見える部分のオブジェクトのドット毎に奥行データを一時記憶するとともに、表示モードにおいて移動及び/又は静止の各オブジェクトのドット毎の奥行データを一時記憶する。画像データ領域154は、ROM21に記憶されているゲーム表示のための静止及び/又は移動の各オブジェクト毎に複数の集合体で構成されるポリゴンの座標データおよびテクスチュアデータを記憶するものであって、画像処理動作に先立って少なくとも1コース又はステージ分のデータがROM21から転送される。画像データ領域154の記憶データの詳細は、図8を参照して説明する。サウンドメモリ領域155は、ROM21の記憶領域に記憶されている音声データ(セリフ,音楽,効果音のデータ)の一部が転送され、音声発生装置32から発生される音声のデータとして一時記憶する。コントロールパッドデータ(操作状態データ)記憶領域156は、コントローラ40から読み込まれた操作状態を示す操作状態データを一時記憶する。作業用メモリ領域157は、CPU11がプログラムを実行中にパラメータ等のデータを一時記憶する。仲間データ領域158は、記憶領域22kに記憶されている仲間オブシェクトの表示制御のためのデータを一時記憶する。レジスタ・フラグ領域159は、複数のレジスタ領域159Rと複数のフラグ領域159Fを含む。レジスタ領域159Rは、プレイヤオブジェクトの本体,左翼,右翼のそれぞれのダメージ量をロードするレジスタR1〜R3,仲間のダメージをロードするレジスタR4,敵(ボス)のダメージをロードするレジスタR5,プレイヤオブジェクト数をロードするレジスタR6,プレイヤのライフ数をロードするレジスタR7,1画面に表示される敵オブジェクト数をロードするレジスタR8,静止オブジェクト数をロードするレジスタR9,プレイ中のコースにおける得点をロードするレジスタR10,コース1〜nの得点をロードするレジスタR11〜R1n,合計点をロードするレジスタR20及び最高点をロードするレジスタR21等を含む。フラグ領域159Fは、ゲーム進行中の状態を知るためのフラグを記憶する領域であり、例えば仲間フラグF1,表示範囲のモードを識別するモードフラグF2,セリフ1〜mの出力の要否を記憶するセリフフラグF31〜F3m,ゲームオーバーに達した条件の検出の有無を識別するゲームオーバーフラグF4及び当たり判定フラグF5等を含む。
【0027】図9はこの発明が適用される一例のゲームのコースを示す図であり、図10は図9に示すゲームのコース選択画面を示す図であり、図11はこの発明が適用される一例のゲーム内容を説明するためのゲームエリアマップを示した図であり、図12は図11のゲームにおける仲間との通信処理におけるメッセージ出力内容を図解的に示した図であり、図13は図11のゲームにおける仲間との通信処理に基づいて表現されるメッセージ出力の画面表示の一例を示す図であり、図14は図11のゲームにおけるボスキャラクタとの対戦状態の画面表示の一例を示す図である。
【0028】図9〜図14を参照して、この発明の特徴となるゲームの進行に役立つメッセージを出力する場合のビデオゲームの概要を説明する。ビデオゲームのゲーム内容は、ROM21に記憶されたプログラムによって決定されるが、実施例ではシューティングゲームの例を示す。ゲームの開始時は、図9に示すコースが表示される。図9では、コース表示領域80の下方にコース別のクリア状態を示すクリアコース表示領域81a〜81eを表示し、画面上部にコース点数表示領域82とハイスコア(最高点)表示領域83を表示する。
【0029】ゲームの開始当初は、コース1を選択すると、図11のスタート点の画面が図12のように表示される。図11に示すスタート点からモード切換地点までの長い距離(例えば奥行き座標の単位で10万;単位は任意)が一方向スクロールモードの表示領域に選ばれる。一方向スクロールモードの表示領域は、ディスプレイ30の表示画面31に表示可能な幅が画面サイズと同じに選ばれ、上から下方向へのスクロール表示に使用される。一方向スクロールモードの表示領域では、例えばコース上の背景又は静止物を表す建物,木,山,道路,空等の背景画を構成するオブジェクト(物体)71a〜71n(図12参照)が順次表示され、その途中の予め定める場所A〜Dにおいて複数の敵オブジェクト72a〜72nが出現してプレイヤオブジェクト60に攻撃を加えたり、プレイヤオブジェクト60の進行を妨げる。一方向スクロールモードにおける表示領域の途中の場所A,B,C,Dのそれぞれは、敵オブジェクト72a〜72nを撃退したり、攻撃を上手く回避するために、プレイヤに適切な操作方法を知らせたり、プレイヤオブジェクト60を助けるためのメッセージ(又はセリフ)を表示又は音声によって出力する場所に決められている。そして、図12に示すように、メッセージが表示領域31aに表示され、メッセージを送っている仲間の顔が表示領域31bに表示され、プレイ中の得点が表示領域31cに表示され、プレイヤオブジェクトのライフ(ダメージに耐えられる量)が表示領域31dに表示される。
【0030】メッセージの具体例が図13に図解的に示される。複数のメッセージのうち場所に応じてプログラム的に設定されているメッセージが表示領域31aに表示される。このゲームの例では、人物又は登場キャラクタの種類と場所によって異なるセリフを音声と画像で出力し、セリフの発生に関連して仲間からその状況に適した操作方法を知らせるメッセージを表示する場合を示す。また、各セリフ1〜9には優先順位が決められているので、同じタイミングで複数のセリフを発生すべき条件が検出された場合は優先順位の高いセリフを発生する。メッセージの表示に関連して、メッセージを送っている仲間オブジェクト73の顔が表示される。メッセージは、例えばプレイヤオブジェクト60を戦闘機と想定した場合の操縦方法(減速を指示する「ブレーキでやりすごせ」のメーセージ)と、その操縦方法を行うためのコントローラ40のどのスイッチをどのように操作すべきかを知らせる操作方法が表示(47Cdボタンの押圧を指示する「Cボタン下」のメッセージ;好ましくは上下左右に4個ボタンを配置したうちの下のボタンの色表示を異ならせて表示)され、必要に応じてメッセージ表示に併せて音声出力(「ブレーキでやりすごせ」)も行われる。場所Cでは、スイッチ47Z又は47Rを2回押すことを知らせる「ZかRの2度押し」のメッセージが発生される。このように、メッセージの内容は、敵オブジェクトの形状や動きの相違により、場所A〜Dによって異なる。プレイヤは、ジョイスティク45を操作して、プレイヤオブジェクト60の位置又は方向を制御するとともに、スイッチ47A〜47Zのうちのメッセージ出力に従ったスイッチを操作すれば、スイッチの数が多くて瞬時に適切なスイッチの操作が困難であるか又は操作な場合でも、適切な操作を行うことが容易となり、素早く指示された操作をして敵を攻撃したり危険を回避することが容易となり、熟練していないプレイヤでも先の場面まで進むことが容易となる。
【0031】プレイヤオブジェクト60がモード切換地点に到達すると、表示モードが全方向にスクロールの可能なオールレンジモードに切り換えられる。オールレンジモードでは、図14に示すように、ボスキャラクタ(ボスオブジェクト)を表示可能な範囲の中央に位置させ、プレイヤオブジェクト60がボスキャラクタ74の周囲を旋回しながらを攻撃することになる。プレイヤオブジェクト60が移動可能な範囲は、ボスキャラクタ74を中心にして上下左右に或る短い距離(例えば1万)に選ばれる。プレイヤオブジェクト60が移動範囲の境界に近づくと、プレイヤオブジェクト60を撮影しているカメラの向きを切り換えることにより、プレイヤオブジェクト60の移動方向が自動的に切り換えられる。このとき、プレイヤオブジェクト60の居る位置をプレイヤに分かりやすくするために、表示画面31の右下方のマップ表示領域31cに縮小したマップが表示される。マップには、ボスキャラクタ74とプレイヤオブジェクト60と仲間オブジェクト73の記号が表示される。
【0032】図15はこの発明の一実施例のビデオゲームシステムのメインフローチャートである。次に、図9〜図15を参照して、図15のメインフローチャートに沿ってこの発明の原理を簡単に説明する。電源が投入されると、CPU11はスタートに際してビデオゲーム機10を所定の初期状態に設定する。例えば、CPU11は、ROM21のプログラム領域に記憶されているゲームプログラムのうちの立ち上げプログラムをRAM15のプログラム領域151に転送し、各パラメータを初期値に設定した後、図15のフローチャートの処理を順次実行する。図15のフローの動作は、1フレーム(1/30秒)毎に行われるものであり、コースをクリアするまではステップ1(図示では「S」を付けて示す),ステップ2,ステップ3〜ステップ17の動作が行われた後、ステップ3〜ステップ17の動作が繰り返し行われる。コースクリアに成功することなくゲームオーバになると、ステップ18のゲームオーバ処理が行われる。コースクリアに成功するとステップ16からステップ1へ戻る。
【0033】すなわち、ステップ1において、ゲームのコース画面及び/又はコース選択画面の表示が行われるが、電源投入後にゲームを開始する場合は図9に示すようなコース画面の表示が行われる。なお、図9に示すコース1をクリアしてコース2に進み、コース2もクリアした後は、図10に示すコース選択画面の表示が行われる。コース選択画面においてコース選択する場合は、図1616に示すコース選択サブルーチンの動作(ステップ101〜116の動作)が行われるが、本願発明の要部ではないのでフローチャートのみを図示し、詳細な動作説明を省略する。
【0034】スタート直後はコース1のゲームが行われるので、ステップ2においてそのコースのゲーム開始処理が行われる。例えば、レジスタ領域159R及びフラグ領域159Fをクリア処理(レジスタR6,R7については初期値を設定)し、コース1(又は選択されたコース)のゲームを行うのに必要な各種データがROM21から読み出されて、RAM15の記憶領域151〜155に転送される。
【0035】ステップ3において、モード切換サブルーチン処理が行われる。ゲームを開始直後はプレイヤオブジェクト60が図11のスタート点にいるが、スタート点(Z座標=0)からモード切換地点(Z座標=−10万)までの期間が一方向スクロールモードであるため、図17のステップ121においてプレイヤオブジェクトがオールレンジモード位置にいないことが判断されて、ステップ122においてフラグF2をリセットして一方向スクロールモードに切り換えた後、次のステップ4へ進む。その詳細な動作は、図17を参照して後述する。
【0036】ステップ4において、コントローラ処理が行われる。この処理は、コントローラ40のジョイスティック45,十字スイッチ46,スイッチ47A〜47Zの何れが操作されたか否かを検出し、その操作状態の検出データ(コントローラデータ)を読み込み、読み込んだコントローラデータを書込むことによって行われる。その詳細な動作は、図18を参照して後述する。
【0037】ステップ5において、仲間との通信処理が行われる。この処理は、本願発明の特徴となる適切な操作方法を知らせるメッセージの表示又は音声出力として行われる。すなわち、図11に示す一方向スクロール期間における場所A〜Dにおいて、図13に示すようなメッセージ又はセリフを表示したり、音声で出力することにより、プレイヤに適切な操作方法を知らせる。その詳細な動作の一例は、図19〜図21を参照して後述する。なお、メッセージの内容や発生条件は、一例を示すに過ぎず、ゲームの内容又は種類によって異なるので、適宜変更して使用されることを指摘しておく。
【0038】ステップ6において、本部から物資の補給処理が行われる。この処理では、プレイヤオブジェクト60が敵から攻撃を受け、機体にダメージを受けて正常な飛行をできない場合でも、本部又は仲間からプレイヤを支援するためのアイテム(例えば戦闘機の翼を修理する部品や銃器やライフ等)が送られる。そのアイテムが画面に表示されたときに、プレイヤがそれを取得するための操作(アイテムに機体を重ねるか、射撃によりアイテムに命中させる等)を行うと、ダメージを受けた部分を元の状態に回復させたり、敵を攻撃するのに有利なアイテムを付与することができる。この場合、プレイヤの必要とするアイテムは、プレイヤオブジェクトのダメージ状態によって異なるので、アイテムの種類が予め定める優先順に自動的に決定される。その詳細な動作は、図2222及び図23を参照して後述する。
【0039】ステップ7において、プレイヤオブジェクト60の表示のための処理が行われる。この処理は、プレイヤオブジェクト60が一方向スクロール領域とオールレンジ領域の何れに存在するかによって異なるが、基本的にはプレイヤの操作するジョイスティック45の操作状態と敵からの攻撃の有無に基づいてその向きや形状を変化させる処理である。例えば、プレイヤオブジェクト60の表示制御は、記憶領域22jから転送されたプログラムと記憶領域24aから転送されたプレイヤオブジェクトのポリゴンデータとジョイスティック45の操作状態とに基づいて、変化後のポリゴンデータを演算によって求める。その結果得られた複数のポリゴンで構成される複数の三角形の面に対応する記憶領域154aの各番地には、テクスチャデータによって指定される模様又は色紙を貼りつけるように、色データが書込まれる。
【0040】ステップ8において、カメラ処理が行われる。例えば、カメラのファインダーを通して見たときの視線又は視界がプレイヤの指定したアングルとなるように、各オブジェクトを見た角度の座標演算が行われる。
【0041】ステップ9において、仲間オブジャクトの処理が行われる。仲間オブジェクトは、一方向スクロール領域においてプレイヤオブジャクトと所定の位置関係となるように計算され、例えばプレイヤオブジャクト60の後方を飛んでいるときは表示せず、プレイヤオブジャクト60が減速したときは前方に飛んでいるように表示するための演算処理が行われる。また、オールレンジ領域においては、仲間オブジェクトがプレイヤオブジャクト60の前方を飛んでいるときは仲間の機体とともに縮小マップに記号で表示され、後方を飛んでいるときは縮小マップに記号のみが表示される。その詳細は、図24R>4〜図26を参照して後述する。
【0042】ステップ10において、敵オブジェクトの処理が行われる。この処理は、記憶領域22l及び24dから一部転送されたプログラムに基づいて、プレイヤオブジェクト60の動きを判断しながらプレイヤオブジェクト60に攻撃を加えたり進行を妨げる動きとなるように、敵オブジェクト72a〜72nの表示位置及び/又はその形状をポリゴンデータの演算によって求めて、変化した画像が表示される。これによって、敵オブジェクトは、プレイヤオブジェクト60に対して何らかの影響を与えるように働く。その詳細は、図27及び図28を参照して後述する。
【0043】ステップ11において、背景(又は静止)オブジャクトの処理が行われる。この処理は、記憶領域22mから一部転送されたプログラムと記憶領域24cから転送された静止オブシェクトのポリゴンデータとに基づいて、静止オブジェクト71a〜71nの表示位置及びその形状を演算によって求める。その詳細は、図29R>9を参照して後述する。
【0044】ステップ12において、RSP122が描画処理を行う。すなわち、RCP12は、CPU11の制御の下に、RAM15の画像データ領域154に記憶されている敵,プレイヤ,仲間等の移動オブジェクトや背景等の静止オブジェクトのそれぞれのテクスチュアデータに基づいて、移動オブジェクト及び静止オブジェクトの表示処理のための画像データの変換処理(座標変換処理及びフレームメモリ描画処理)を行う。具体的には、複数の移動オブジェクトや静止オブジェクト毎の複数のポリゴンによって構成される各三角形の面に対応する記憶領域154dの各番地には、各オブジェクト毎に決められたテクスチャデータで指定される色等を貼りつけるために、色データが書込まれる。その詳細は、図30R>0を参照して後述する。
【0045】ステップ13において、RCP12がメッセージや音楽や効果音等の音声データに基づいて、音声処理を行なう。その詳細は、図31を参照して後述する。
【0046】ステップ14において、RCP12がステップ12において描画処理された結果によりフレームメモリ領域152に記憶されている画像データを読出し処理することにより、プレイヤオブジェクト,移動オブジェクト,静止オブジェクト,敵オブジェクト等が表示画面31上に表示される。
【0047】ステップ15において、RCP12がステップ13において音声処理した結果得られる音声データを読出すことにより、音楽,効果音又は会話等の音声を出力させる。
【0048】ステップ16において、コースをクリアしたか否かが判断(コースクリア検出)され、コースをクリアしていなければステップ17においてゲームオーバになったか否かが判断され、ゲームオーバでなければステップ3へ戻り、ゲームオーバの条件が検出されるまでステップ3〜17が繰り返される。そして、プレイヤに許容されているミス回数が所定の回数になるか、プレイヤオブジェクトのライフを所定数量使い切る等のゲームオーバ条件になったことが検出されると、続くステップ18においてゲームの継続又はバックアップデータの記憶の選択処理等のゲームオーバ処理が行われる。なお、ステップ16において、コースをクリアした条件(例えは、ボスを倒す等)が検出されると、ステップ19においてコースクリアの処理をした後、ステップ1へ戻る。ここで、コースクリア処理は、例えば得点レジスタに記憶されている直前にプレイしたコースの得点を対応するコース別得点レジスタにロードさせ、そのコース別得点を図11のコース別得点として表示させ、さらに複数のコースをクリアしている場合であればその合計得点を求めて表示する。なお、コース別得点の計算では、必要に応じてコースクリアした場合のボーナス得点を加算してもよい。以下には、各サブルーチンの詳細な動作を説明する。
【0049】図17を参照して、モード切換処理(メインルーチンのステップ3)のサブルーチンの動作を説明する。プレイヤオブジェクトが図11のモード切換地点に到達すると、ステップ121においてオールレンジモード位置にいることが判断(又は検出)されて、ステップ123においてオールレンジモードのデモストレーション(以下「デモ」という)処理が終了したか否かが判断される。始めはデモ処理の終了していないことが判断され、ステップ124においてオールレンジモードのデモ表示のための画像処理が行われ、ステップ125においてオールレンジモードのデモ音声の発生のための音声処理が行われた後、前述のステップ12の描画処理へ進む。一方、ステップ123において、デモ処理の終了したことが判断されると、ステップ126においてオールレンジモードへの切換処理(モードフラグF2をオールレンジモードに切換)が行われた後、メインルーチンへ戻る。これによって、一方向スクロールモードからオールレンジモードに切換えられたときに、急に画面のスクロール方向が変化したような違和感を生じさせずに、スクロール範囲を切換えられる利点がある。また、スクロール範囲を切換えることにより、コースの全期間に渡ってスクロール範囲を全範囲とする場合に比べて一方向スクロール期間におけるCPUの負担を軽減でき、コースの全期間に渡って一方向スクロールとする場合に比べて変化に富んだスクロール表示が可能となり、多種多様なゲームの画像表現が可能となり、プレイヤの興趣を一層高められる利点がある。
【0050】図18を参照して、コントローラ処理(ステップ4)のサブルーチンの動作を説明する。ステップ131において、コントローラデータの読込要求コマンドがあったか否かが判断され、なければステップ131において読込要求コマンドが発生されるのを待つ。読込要求コマンドがあったことが判断されると、ステップ132においてコントローラ制御回路18にコマンドが供給される。これに応じて、コントローラ制御回路18が各コントローラ40A〜40Dの操作状態データを読込み処理を行う。ステップ133において、コントローラ制御回路18が全てのコントローラ40A〜40Dの操作状態データの読込みが終了したか否かが判断されるが、終了していなければするまで待つ。終了したことが検出されると、ステップ134において各コントローラ40A〜40Dの操作状態データがコントローラ制御回路18からバス制御回路121を介してRAM15の記憶領域156へ書き込まれる。
【0051】図19〜図21を参照して、仲間との通信処理(ステップ5)のサブルーチンの動作を説明する。ステップ141aにおいて、プレイヤオブジェクトが場所Aに達したか否かが判断され、場所Aに達していないことが判断されると、ステップ141b,141c,151a,151b,151c,151dの処理の後、メインルーチンへ戻る。そして、ステップ141aにおいて、プレイヤオブジェクトが場所Aに達したことが判断されると、ステップ142aにおいて仲間1が存在するか否かが判断される。第1の仲間が存在する場合は、ステップ143aにおいてセリフ又はメッセージを現在処理中か否かが判断される。セリフの処理中であることが判断されると、セリフフラグF31〜F3nのうちセリフに対応するフラグをオンさせるとともに、複数のセリフのうちの何れか1つを選択する必要があるため、ステップ144aにおいて優先順位の比較が行われる。ステップ145aにおいて、セリフ1の優先順位が現在処理中のセリフよりも高いか否かが判断され、高い場合はステップ146aへ進む。ステップ146aにおいてセリフ1の表示処理が行われる。例えば、セリフ1は第1の仲間からプレイヤオブジェクトに対して場所Aに出現する敵の攻撃を上手くかわすためのメッセージ(ブレーキでやり過ごせ)であって、その操作方法としてスイッチ47Cの下ボタン(スイッチ47Cd)を押すことを指示するメッセージが表示される。ステップ147aにおいて、セリフ1を音声により出力するための処理が行われる。なお、ステップ143aにおいてセリフの処理中でないことが判断されると、優先順位の判断を行う必要がないのでステップ146aへ進み、ステップ142aにおいて第1の仲間のいないこと又はステップ145aにおいて処理中のセリフがセリフ1よりも優先順位の低いことが判断されると、メインルーチンへ戻る。
【0052】一方、プレイヤオブジェクトの位置が場所Aではなく場所Bに居ることが判断されると、ステップ141b〜147bの動作が行われる。このステップ141b〜147bは、セリフ2を出力する動作であり、セリフが異なる点を除いてステップ141a〜147aの動作と同様であるので、対応するステップ番号の後に記号「a」に代えて記号「b」で示し、その詳細な説明を省略する。また、セリフを出力する条件が時間に依存する場合、例えばボスを発見してからの時間Aに依存する場合は、ステップ141cにおいて時間Aであることが判断され、ステップ142cにおいて第2の仲間が近くにいることが判断されたとき、ステップ143c〜147cの動作が行われる。このステップ143c〜147cは、第2の仲間がボスの倒し方(攻撃方法)を教えるためのメッセージ(図13のセリフ3)を送る動作であり、仲間とセリフが異なる点を除いてステップ142a〜147aの動作と同様であるので、その詳細な説明を省略する。また、セリフを出力する条件として、第3の仲間が敵から狙われている場合は、ステップ151aにおいてそのことが判断されて、ステップ152a〜156aの動作が行われる。ステップ152a〜156aは、仲間がボスの倒し方を教えるためのメッセージ(図1313のセリフ5)を出力する動作であり、セリフが異なる点を除いてステップ142a〜146aの動作と同様である。また、セリフを出力する条件が第3の仲間を助けた場合は、ステップ151bにおいてそのことが判断されて、ステップ152b〜156bの動作が行われる。ステップ152b〜156bは、第3の仲間を助けたときにセリフ6を発生する動作であり、セリフが異なる点を除いてステップ152a〜156aの動作と同様である。さらに、セリフを出力する条件が敵からの攻撃を受けたプレイヤオブジェクトのセリフ8を出力する場合は、ステップ151cにおいてそのことが判断されて、ステップ152c〜156cの動作が行われる。セリフを出力する条件がボスを倒したときのセリフ9を出力する場合は、ステップ151dにおいてそのことが判断されて、ステップ152d〜156dの動作が行われる。
【0053】上述のように、プレイヤが適切な操作をするのを助けるためのメッセージ(図13の例ではセリフ1〜4)を表示又は音声で出力することにより、状況に応じて適切な操作方法のアドバイスを出力すれば、操作方法が難しくてもゲームの進行を容易にし、プレイヤに達成感や満足感を与えることができ、画面又はコースのクリアが容易となる。また、ゲームの場面又は状況に応じて適切なメッセージ(図13の例ではセリフ5〜9)を表示及び/又は音声による出力を行うことにより、ゲームの進行状況に応じて臨場感に富んだ表現ができ、ゲームの面白さを一層向上できる。なお、プレイヤが適切な操作をするのを助けるためのメッセージや状況に応じて表示又は音声によって発生されるメッセージは、図13R>3の実施例に限らず、ゲームの種類や内容によって適宜変更されるので、実施例の記載に限定されるものではない。例えば、各スイッチの操作方法は、説明の簡略化のために、多数のスイッチのうちの何れか1個を押す場合を説明したが、同じスイッチを複数回押すとか、複数のスイッチを予め定める組合せて押すように決めてもよい。
【0054】図22〜図23を参照して、物資補給処理(ステップ6)のサブルーチンの動作を説明する。プレイヤオブジェクトがアイテムを取得できる所定の場所又は位置に来るまでは、ステップ161においてプレイヤオブジェクトが場所に入っていないことが判断され、ステップ163においてアイテムを表示する時間(T1)が設定されていないこと(T1=0であること)が判断され、ステップ170においてアイテムを取得できる権利を有することを示すマーク(アイテムボックス)を表示する条件になっていないことが判断され、ステップ172においてアイテムがセットされていないことが判断された後、メインルーチンへ戻る。その後、メインルーチンの処理がフレーム周期で行われる。そして、プレイヤオブジェクトがアイテムを取得できる場所に入ると、ステップ161においてそのことが判断される。ステップ162において、アイテムを取得できる条件であることを知らせるマークの表示時間として、タイマレジスタに一定時間(T1)がセットされる。ステップ163において、時間T1が0より大きいことが判断され、ステップ164において単位時間(例えば1秒)だけ減算(T1−1)される。ステップ165において、プレイヤがアイテムの表示要求スイッチ(例えば47Cr)を押せばアイテムを要求できることを示すマークを表示する。ステップ166において、アイテム要求のためのスイッチが押されたか否かが判断され、押されていないことが判断されると、ステップ170,172が行われた後、メインルーチンへ戻る。そして、フレーム周期毎にステップ161,163〜166,170,172が繰り返されることにより、スイッチ47Crが所定時間内に押されるのを待つ。
【0055】一方、前述の待機動作の繰り返し中に、ステップ166において、表示要求スイッチが押されたことを判断すると、ステップ167においてタイマレジスタに0がセット(リセット)され、ステップ168において仲間からアイテムの要求を受けたことを表すセリフの出力準備が行われる。このセリフは、ステップ14及び15において画像と音声で出力される。ステップ169において、アイテムを取得可能な条件を示すマーク(アイテムボックス)を表示するための処理(アイテムセット処理)が行われる。ステップ170において、アイテムボックスの表示が可能な条件であることが判断される。ステップ171において、アイテムボックスの表示を行うための処理が行われる。ステップ172においてアイテムボックスの表示が行われていることを判断したとき、次のステップ173においてプレイヤがアイテムボックスを取得するための操作(例えばアイテムボックスを射撃する操作又はプレイヤオブジェクトをアイテムボックスに重ねるように位置を決める操作等)が行われたか否かが判断される。アイテムボックスが取得されたことが判断されると、ステップ173〜180においてプレイヤオブジェクトの状態に応じて必要とするアイテムを供給するための処理が行われる。例えば、プレイヤオブジェクトがシューティングゲームの戦闘機の場合あれば、ステップ174において翼が所定の状態であるか否かが判断され、所定の翼がなければステップ175において補給アイテムとして翼が付与される。所定の翼の有る場合は、ステップ176においてライフ又はダメージに耐え得る量が一定値(128)以下か否かが判断される。以下であることが判断されると、ステップ177においてライフを回復させるアイテムが付与される。ライフが一定値(128)以下でなければ、ステップ178において2つのビーム砲(ツインビーム)があるか否かが判断される。ないことが判断されると、ステップ179においてツインビームが付与される。あることが判断されると、ステップ180において爆弾が付与される。このようにして、プレイヤオブジェクトの状態に応じて、プレイヤがゲームを進める上で有効なアイテムが補給されるため、プレイヤはゲームを継続して先の場面又はコースクリアが容易となり、ゲームの達成感又は満足感を得ることが容易となる。また、プレイヤは、実際に戦闘機を操縦しながら指令を受けたり、援助を受けながら飛行をしているような感覚でプレイでき、ゲームの興趣を一層高めることができる。なお、補給されるアイテムは、ゲームの種類やゲーム内容によって異なり、ゲームソフトの開発者ならばこの実施例に記載の技術思想を参考に種々の変更が可能である。
【0056】図24〜図26を参照して、仲間オブジェクト処理のサブルーチンの動作を説明する。ステップ201において第1の仲間がいるか否かが判断され、仲間がいればステップ202において第1の仲間オブジェクトの処理が行われる。その後、ステップ203において、第2の仲間がいるか否かが判断され、仲間がいればステップ204において第2の仲間オブジェクトの処理が行われる。同様に、第3の仲間の有無の判断と第3の仲間オブジェクトの処理がステップ205,206において行われる。ここで、ステップ202,204,206に示す第1〜第3の仲間オブジェクトの処理は、仲間の種類が異なる点を除いて同じ処理であり、具体的には図25,図26のサブルーチン処理(ステップ211〜230)によって実現される。
【0057】すなわち、ステップ211において中止処理でないことが判断され、ステップ212において第1〜第3の何れかの仲間の移動処理が行われる。ステップ213において、敵を攻撃可能な距離内か否かが判断され、攻撃可能な距離内であればステップ214において敵オブジェクトに対する攻撃処理(ビーム弾の発射等の演算と表示の処理)が行われる。ステップ215においていずれかの仲間が敵に追われているか否かが判断され、追われていることが判断されると、ステップ216において敵から攻撃可能な距離内か否かが判断される。敵が攻撃可能な距離内に居るとき、ステップ217においてセリフ5(例えば「助けてくれ」)の表示のための処理が行われ、ステップ218においてセリフ5の音声出力のための処理が行われる。なお、ステップ215および/または216において異なる(Noである)ことが判断されると、ステップ219において何れかの仲間オブジェクトがプレイヤオブジェクトに助けられたか否かが判断される。助けられたことが判断されると、ステップ220においてセリフ6(例えば「助かったぜ」)の表示のための処理が行われ、ステップ221においてセリフ6の音声出力のための処理が行われる。
【0058】ステップ222において、仲間が敵から攻撃を受けたときの当たり判定(例えば、後述のステップ254による攻撃によって仲間に当たったか否かの判定)が行われる。そして、ステップ223において敵の弾丸に当たったか否かが判断され、当たった場合はステップ224において仲間のダメージを減らす処理(レジスタR4の値の減算)が行われる。ステップ225において、レジスタR4のダメージに耐える量が100以下か否かが判断され、以上であればステップ229へ進み、以下であればステップ226へ進む。ステップ226において、一定以上のダメージを受けた仲間が戦闘を中止して基地へ帰還するメッセージの表示処理が行われ、その音声出力処理がステップ227において行われる。ステップ228において戦闘中止処理が終了したか否かが判断され、終了していなければステップ229において処理中の仲間オブジェクトを表示リストに登録する処理が行われ、終了していれば仲間フラグF1がオフにされた後、メインルーチンへ戻る。
【0059】図27を参照して、敵オブジェクト処理(ステップ10)のサブルーチンの動作を説明する。ステップ241において、敵オブジェクトの数を一時記憶するレジスタR5に1が設定される。ステップ242においてレジスタR5の値に基づいて敵オブジェクトが居ることが判断され、ステップ243において何番目かの敵オブジェクトの処理のサブルーチン(後述の図28)が行われる。その後、ステップ244においてレジスタR5に1が加算される。ステップ245においてプログラムによって設定されている数の全ての敵オブジェクトの表示のための処理が終了したか否かが判断され、全ての処理が終了していなければスイップ242へ戻り、ステップ242〜245の処理が繰り返される。
【0060】次に、図28を参照して、1個の敵オブジェクトの処理の詳細を説明する。ステップ251において敵オブジェクトの爆発処理中でないことが判断され、ステップ252においてレジスタ(E)に記憶されている番号の敵オブジェクトの移動処理が行われる。ステップ253において、プレイヤオブジェクト又は仲間オブジェクトが射程距離の範囲内か否かが判断される。射程距離内であれば、ステップ254において射程距離の範囲に存在するプレイヤオブジェクト又は仲間オブジェクトに対して攻撃を加えるための処理が行われる。一方、ステップ255において、プレイヤオブジェクト又は仲間オブジェクトから敵オブジェクトに対して攻撃を加えた場合の当たり判定が行われる。ステップ256において、プレイヤオブジェクト又は仲間オブジェクトの発射したビーム弾が敵オブジェクトに命中したか否かが判断される。命中したことが検出されると、ステップ257において打たれた敵オブジェクトのダメージ量を減らす処理(レジスタR5から1を減算)及びプレイヤに得点を付与する処理(レジスタR10の値に倒した敵によって決められた得点を加算する処理)が行われる。ステップ258において、ダメージ量が0又は0以下になった(R5≦0)か否かが判断される。以下でなければ(R5>0のとき)、ステップ261において処理中の敵オブジェクトが表示リストに登録される。逆に、以下のとき(R5≦0のとき)は、ステップ259において敵オブジェクトを爆発させて消滅させるための処理が行われる。ステップ260において爆発処理の終了したことが判断されると、ステップ262においてプレイヤオブジェクトから攻撃を受けた敵オブジェクトのフラグをオフさせた後、メインルーチンへ戻る。
【0061】図29を参照して、静止オブジェクト処理(ステップ11)のサブルーチンの動作を説明する。ステップ271において、静止オブジェクトレジスタ(R9)に1が設定される。ステップ272において、レジスタ(R9)によって特定される静止オブジェクトが表示リストに登録される。ステップ273において、レジスタR9に1が加算される。ステップ274においてプログラムによって設定されている数の全ての静止オブジェクトの表示のための処理が終了したか否かが判断され、全ての処理が終了していなければスイップ272へ戻り、ステップ272〜274の処理が繰り返される。全ての処理が終了すると、メインルーチンへ戻る。
【0062】図30を参照して、描画処理(ステップ12)のサブルーチンの動作を説明する。ステップ281において、座標変換処理が行われる。座標変換処理は、RCP12の制御の下に、RAM15の画像データ領域154に記憶されている敵,プレイヤ,仲間等の移動オブジェクトや背景等の静止オブジェクトのそれぞれの複数のポリゴンの座標データを、カメラの視点座標に変換することによって行われる。具体的には、カメラの視点から見た画像となるように、複数の移動オブジェクトや静止オブジェクトを構成する各ポリゴンデータが絶対座標からカメラ座標のデータに変換するための演算が行われる。ステップ282において、フレームメモリに描画処理が行われる。この処理は、カメラ座標に変換後のポリゴン座標によって囲まれる各オブジェクトを構成するある1つの三角形の面に、テクスチュアデータに基づいて決定される色データをイメージバッファ領域152のドット毎に書込むことによって行われる。このとき、各ポリゴン毎の奥行きデータに基づいて、手前(近く)にあるオブジェクトが優先的に表示されるように、近くのオブジェクトの色データを書込み、それに併せて色データを書き込んだドットに対応する奥行データがZバッファ領域153の対応の番地に書き込まれる。その後メインルーチンへ戻る。このステップ281及び282の動作は、フレーム毎に一定時間内で行われるが、1画面に表示すべき複数のオブジェクトのそれぞれを構成するポリゴン毎に順次処理され、かつ1画面に表示すべき全てのオブジェクトの処理が終了するまで繰り返して行われる。
【0063】図31を参照して、音声処理(ステップ13)のサブルーチンの動作を説明する。ステップ291において音声フラグがオンされているか否かが判断される。オンされていることが判断されると、ステップ292において出力する音声データが選択される。ステップ293において、選択された音声データが読出し処理された後、メインルーチンへ戻る。なお、読み出されたメッセージの音声データは、音声発生回路16によってディジタル−アナログ変換され、音声として出力される。
【0064】
【発明の効果】以上のように、この発明によれば、ビデオゲームにおける臨場感を高め、プレイヤの達成感を満たし、プレイヤのビゲオゲームに対する興趣を向上させることの可能な、ビデオゲームシステム及びビデオゲーム用記憶媒体が得られる。また、この発明によれば、複雑な操作を必要とするゲームでも、プレイヤが先の画面に進むことを容易となる。さらに、プレイヤによって操作されるプレイヤオブジェクトが居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切な操作方法を適切なタイミングで出力することにより、操作方法及び/又は操作タイミングを掴むことが難しいゲームでも、メッセージが出力されたタイミングでメッセージ内容に従って操作することにより、プレイヤが先の画面に進むことが容易となり、ゲームの面白さを向上でき、プレイヤの満足感又は達成感を満たすことができる。さらに、この発明によれば、プレイヤによって操作されるプレイヤオブジェクトの居る周囲環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切なタイミングでプレイヤを助けるアイテムを提供できるので、ゲーム中に操作のミスをしてもゲームを継続でき、より先の場面への進行を助けることができ、プレイヤが先の場面に進むことを容易にして、ゲームの面白さを一層向上し、プレイヤの達成感を満たすことができる。
【0065】
【図面の簡単な説明】
【図1】この発明の一実施例のビデオゲームシステムの構成を示す外観図である。
【図2】この発明の一実施例のビデオゲームシステムのブロック図である。
【図3】コントローラ制御回路18の詳細な回路図である。
【図4】コントローラ40のブロック図である。
【図5】外部ROM21のメモリ空間全体を図解的に示したメモリマップである。
【図6】外部ROM21のメモリ空間の一部を詳細に示したメモリマップである。
【図7】RAM15のメモリ空間全体を図解的に示したメモリマップである。
【図8】RAM15のメモリ空間の一部を詳細に示したメモリマップである。
【図9】この発明が適用される一例のゲームのコースを示す図である。
【図10】図10に示すゲームのコース選択画面を示す図である。
【図11】この発明が適用される一例のゲーム内容を説明するためのゲームエリアマップを示した図である。
【図12】図11のゲームにおける仲間との通信処理におけるメッセージ出力内容を図解的に示した図である。
【図13】図11のゲームにおける仲間との通信処理に基づいて表現されるメッセージ出力の画面表示の一例を示す図である。
【図14】図11のゲームにおけるボスキャラクタとの対戦状態の画面表示の一例を示す図である。
【図15】この発明の一実施例のゲーム処理のメインフローチャートである。
【図16】コース選択画面の詳細な処理を示すサブルーチンフローチャートである。
【図17】モード切換えの詳細な処理を示すサブルーチンフローチャートである。
【図18】コントローラ制御回路18とビデオゲーム機本体とのデータ転送を説明するためのフローチャートである。
【図19】
【図20】
【図21】ゲームの進行を助けるメッセージ出力処理の一例であって、仲間との通信処理のサブルーチンフローチャートである。
【図22】
【図23】ゲームの進行を助けるメッセージ出力処理の他の例であって、補給物資の供給処理のサブルーチンフローチャートである。
【図24】
【図25】
【図26】仲間オブジェクト処理のサブルーチンフローチャートである。
【図27】敵オブジェクト処理のサブルーチンフローチャートである。
【図28】図27の敵オブジェクト処理に含まれる一部ステップの動作を詳細に示したサブルーチンフローチャートである。
【図29】静止オブジェクト処理のサブルーチンフローチャートである。
【図30】描画処理のサブルーチンフローチャートである。
【図31】音声処理のサブルーチンフローチャートである。
【符号の説明】
10・・・ビデオゲーム機
11・・・CPU(中央処理装置)
12・・・RCP
15・・・RAM(一時記憶メモリ)
18・・・コントローラ制御回路
20・・・ROMカートリッジ
21・・・ゲームプログラムを記憶したROM
30・・・表示装置
31a・・メッセージ表示領域
31b・・得点表示領域
40・・・コントローラ
44・・・操作信号処理回路
45・・・ジョイスティック
50・・・RAMカートリッジ
51・・・RAM(書込読出し可能な記憶メモリ)
60・・・プレイヤオブジェクト
【発明の属する技術分野】この発明はビデオゲームシステム及びビデオゲーム処理用記憶媒体に関し、特に複雑な操作を必要とするゲームでもプレイヤが先の画面に進むことを容易にしたビデオゲームシステム及びビデオゲーム用記憶媒体に関する。
【0002】
【従来技術】従来のビデオゲームは、ゲームの操作方法をプレイヤ又はユーザに知らしめる方法として、取扱説明書又はマニュアルにおいて操作装置の各スイッチ又はボタンの機能を説明していた。そして、プレイヤは、ゲームを始める前に取扱説明書を読み、どのスイッチ又はボタンがどの様な機能を有するかを覚えた上で、ゲームをプレイしていた。また、その他の従来技術として、ビデオゲームを開始した後に、画面上で操作説明モードを選択したとき画面に操作方法又は各スイッチやボタンの機能説明を文字で表示したり、ゲーム途中の敵キャラクタの出現しない場所で各スイッチの操作方法又は機能の説明を表示していた。
【0003】
【発明が解決しようとする課題】各スイッチ又はボタンの操作方法を取扱説明書又はマニアルに記載するのは、操作するスイッチが多数あったり、複雑な操作を必要とする場合に、そのゲームをプレイする上で必要な全てのスイッチの機能を覚えることが困難であった。特に、プレイヤオブジェクト(プレイヤキャラクタ)の動作又は変化を指示するスイッチ(例えば、後述の実施例における図1の47A〜47Z)は、ゲームの種類によって異なった機能が与えられるため、その傾向が強い。また、全てのスイッチの機能を覚えていないために、より先の場面又はステージに進むことが困難となり、操作に慣れていないプレイヤがゲームの面白さを知る前にそのゲームのクリアを諦めることもある。さらに、プレイヤは、操作方法の説明を読んだだけではどのような場面でどのスイッチをどの様に操作すれば良いか分からないことが多く、各スイッチの操作のタイミングを掴めず、結果的により先の面白い場面又はステージに進めず、ゲームに盛り込まれている臨場感や達成感が得られない場合もある。このような問題は、操作モードを選択したときにゲーム画面上に各スイッチの機能を表示する場合でも、同様に生じる。特に、ゲームの種類がアクションゲームやシューティングゲームやレースゲーム等のような敏捷性の要求されるものや、三次元画像により立体感に溢れた画像を表現するゲームにおいては、どの種類のスイッチを何時のタイミングで操作するかが、ゲームの達成感・満足感を得たり、ゲームをより先の場面まで進行させる上で、重要な要因となる。
【0004】それゆえに、この発明の主たる目的は、ビデオゲームにおける臨場感を高め、プレイヤの達成感を満たし、プレイヤのビゲオゲームに対する興趣を向上させることの可能な、ビデオゲームシステム及びビデオゲーム用記憶媒体を提供することである。この発明の他の目的は、複雑な操作を必要とするゲームでも、プレイヤが先の画面に進むことを容易にした、ビデオゲームシステム及びビデオゲーム用記憶媒体を提供することである。この発明のその他の目的は、プレイヤによって操作されるプレイヤオブジェクトが居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切な操作方法を適切なタイミングで出力することにより、複雑又は難しい操作を必要とするゲームでもプレイヤが先の画面に進むことを容易にし、ゲームの面白さを向上し、プレイヤの満足感又は達成感を満たすことが可能な、ビデオゲームシステム又はゲーム処理用記憶媒体を提供することである。この発明のさらに他の目的は、プレイヤによって操作されるプレイヤオブジェクトの居る周囲環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切なタイミングでプレイヤを助けるアイテムや助言を供給することにより、操作の難しい場面でも、プレイヤが先の画面に進むことを容易にして、ゲームの面白さを一層向上し、プレイヤの達成感を満たすことの可能な、ビデオゲームシステム又はゲーム処理用記憶媒体を提供することである。
【0005】
【実施例】次に、この発明のビデオゲームシステムと、それに用いられるビデオゲーム用記憶媒体の構成を説明する。なお、以下の実施例では、ビデオゲーム機専用の場合を説明するが、画像処理装置の他の例として、パーソナルコンピュータ等に適用することもできる。また、操作手段としては、ゲーム専用コントローラの場合を説明するが、本願のビデオゲームシステムがパーソナルコンピュータ等の画像処理装置に適用される場合であれば、キーボードやマウス等の入力装置を用いてもよい。
【0006】図1はこの発明の一実施例のビデオゲームシステムの構成を示す外観図である。ビデオゲームシステムは、ビデオゲーム機本体10と、外部記憶装置の一例のROMカートリッジ20と、ビデオゲーム機本体10に接続される表示装置の一例のCRTディスプレイ30と、操作手段(又は操作入力手段)の一例のコントローラ40とを含んで構成される。コントローラ40には、必要に応じてRAMカートリッジ50(又は振動カートリッジ50A)が着脱自在に装着される。
【0007】コントローラ40は、両手又は片手で把持可能な形状のハウジング41に、複数のスイッチ又はボタンを設けて構成される。具体的には、コントローラ40は、ハウジング41の左右と中央のそれぞれの下部にハンドル41L,41C,41Rが設けられ、その上面を操作領域とする。操作領域には、中央下部にアナログ入力可能なジョイスティック45が設けられ、左側に十字形のディジタル方向スイッチ(以下「十字スイッチ」という)46が設けられ、右側に複数のボタンスイッチ47A〜47Zが設けられる。ジョイスティック45は、スティックの傾き量と方向によって、プレイヤオブジェクトの移動方向及び/又は移動速度(又は移動量)を指示したり入力するために用いられる。十字スイッチ46は、ジョイスティック45に代えてプレイヤオブジェクトの移動方向の指示入力のために用いられる。複数のボタンスイッチ47には、プレイヤオブジェクトの動作を指示するためのスイッチ47A,47B、カメラから見た画像の視点切換え等に用いられるスイッチ47C、スタートスイッチ47S、ハウジング41の左上部側面に設けられる動作スイッチ47L、ハウジング41の右上部側面に設けられる動作スイッチ47R、及びハンドル41Cの裏側に設けられるスイッチ47Zを含む。スイッチ47Cは、上下左右に4個のボタンスイッチ47Cu,47Cd,47Cl,47Crを配置して成り、カメラの視点切換え以外の用途として、シューティング又はアクションゲームにおいて移動速度のコントロール(例えば、加速,減速等)にも使用できる。これらの複数のボタンスイッチ47A〜47Zの機能は、ゲームプログラムによって定義することができる。
【0008】図2はこの発明の一実施例のビデオゲームシステムのブロック図である。ビデオゲーム機10には、中央処理ユニット(以下「CPU」と略称する)11及びコプロセッサ(リアリティ・コプロセッサ:以下「RCP」と略称する)12が内蔵される。RCP12には、バスの制御を行うためのバス制御回路121と、ポリゴンの座標変換や陰影処理等を行うための画像処理ユニット(リアリティー・シグナル・プロセッサ;以下「RSP」と略称する)122と、ポリゴンデータを表示すべき画像にラスタライズしかつフレームメモリに記憶可能なデータ形式(ドットデータ)に変換するための画像処理ユニット(リアリティー・ディスプレイ・プロセッサ;以下「RDP」と略称する)123とが含まれる。RCP12には、ROMカートリッジ20を着脱自在に装着するためのカートリッジ用コネクタ13と、ディスクドライブ26を着脱自在に装着するためのディスクドライブ用コネクタ14と、RAM15が接続される。また、RCP12には、CPU11によって処理された音声信号を出力するための音声信号発生回路16及び画像信号を出力するための画像信号発生回路17が接続される。さらに、RCP12には、1つ又は複数のコントローラ40A〜40Dの操作データ及び/又は拡張用RAMカートリッジ50のデータをシリアル転送するためのコントローラ制御回路18が接続される。
【0009】RCP12に含まれるバス制御回路121は、CPU11からバスを介してパラレル信号で与えられたコマンドをパラレル−シリアル変換して、シリアル信号としてコントローラ制御回路18に供給する。また、バス制御回路121は、コントローラ制御回路18から入力されたシリアル信号をパラレル信号に変換し、バスを介してCPU11へ出力する。コントローラ40A〜40Dから読み込まれた操作状態を示すデータは、CPU11によって処理されたり、RAM15に一時記憶される等の処理が行われる。換言すれば、RAM15は、CPU11によって処理されるデータを一時記憶する記憶領域を含み、バス制御回路121を介してデータの読出又は書込を円滑に行うことに利用される。
【0010】音声信号発生回路16には、ビデオゲーム機10の後面に設けられるコネクタ195が接続される。画像信号発生回路17には、ビデオゲーム機10の後面に設けられるコネクタ196が接続される。コネクタ195には、テレビのスピーカ等の音声発生装置32の接続部が着脱自在に接続される。コネクタ196には、テレビジョン受像機又はCRT等のディスプレイ31の接続部が着脱自在に接続される。
【0011】コントローラ制御回路18には、ビデオゲーム機10の前面に設けられるコントローラ用コネクタ(以下「コネクタ」と略称する)191〜194が接続される。コネクタ191〜194には、接続用ジャックを介してコントローラ40A〜40Dが着脱自在に接続される。このように、コネクタ191〜194にコントローラ40A〜40Dを接続することにより、コントローラ40A〜40Dがビデオゲーム機10と電気的に接続され、相互間のデータの送受信又は転送が可能とされる。
【0012】図3はコントローラ制御回路18の詳細な回路図である。コントローラ制御回路18は、RCP12とコントローラ用コネクタ191〜194との間でデータをシリアルで送受信するために用いられ、データ転送制御回路181,送信回路182,受信回路183及び送受信データを一時記憶するためのRAM184を含む。データ転送制御回路181は、データ転送時にデータフォーマットを変換するためにパラレル−シリアル変換回路とシリアル−パラレル変換回路を含み、さらにRAM184の書込み読出し制御を行う。シリアル−パラレル変換回路は、RCP12から供給されるシリアルデータをパラレルデータに変換してRAM184又は送信回路182に与える。パラレル−シリアル変換回路は、RAM184又は受信回路183から供給されるパラレルデータをシリアルデータに変換して、RCP12に与える。送信回路182は、データ転送制御回路181から供給されるコントローラ40の信号読込制御のためのコマンド及びRAMカートリッジ50への書込データ(パラレルデータ)をシリアルデータに変換して、複数のコントローラ40A〜40Dのそれぞれに対応するチャンネルCH1〜CH4へ送出する。受信回路183は、各コントローラ40A〜40Dに対応するチャンネルCH1〜CH4から入力される各コントローラ40A〜40Dの操作状態データ及びRAMカートリッジ50からの読出データをシリアルデータで受信し、パラレルデータに変換してデータ転送制御回路181に与える。データ転送制御回路181は、RCP12から転送されたデータ又は受信回路183で受信されたコントローラ40A〜40Dの操作状態データやRAMカートリッジ50の読出データをRAM184に書込み制御したり、RCP12からの命令に基づいてRAM184のデータを読出してRCP12へ転送するように働く。
【0013】RAM184は、図示を省略しているが、記憶エリア184a〜184hを含む。エリア184aには第1チャンネル用のコマンドが記憶され、エリア184bには第1チャンネル用の送信データ及び受信データが記憶される。同様に、エリア184cには第2チャンネル用のコマンド、エリア184dには第2チャンネル用の送信データ及び受信データがそれぞれ記憶される。エリア184eには第3チャンネル用のコマンド、エリア184fには第3チャンネル用の送信データ及び受信データがそれぞれ記憶される。エリア184gには第4チャンネル用のコマンド、エリア184hには第4チャンネル用の送信データ及び受信データがそれぞれ記憶される。
【0014】図4はコントローラ40及びRAMカートリッジ50の詳細な回路図である。コントローラ40のハウジングには、ジョイスティック45,各スイッチ46,47等の操作状態を検出しかつその検出データをコントローラ制御回路18へ転送するために、操作信号処理回路44等が内蔵される。操作信号処理回路44は、受信回路441,制御回路442,スイッチ信号検出回路443,カウンタ回路444,ジョイポート制御回路446,リセット回路447及びNORゲート448を含む。受信回路441は、コントローラ制御回路18から送信される制御信号やRAMカートリッジ50への書込データ等のシリアル信号をパラレル信号に変換して制御回路442に与える。制御回路442は、コントローラ制御回路18から送信される制御信号がジョイスティック45のX,Y座標のリセット信号であるとき、リセット信号を発生してNORゲート448を介してカウンタ444内のX軸用カウンタ444XとY軸用カウンタ444Yの計数値をリセット(0)させる。
【0015】ジョイステック45は、レバーの傾き方向のX軸方向とY軸方向に分解して傾き量に比例したパルス数を発生するように、X軸用とY軸用のフォトインタラプトを含み、それぞれのパルス信号をカウンタ444X及びカウンタ444Yに与える。カウンタ444Xは、ジョイスティック45がX軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。カウンタ444Yは、ジョイスティック45がY軸方向に傾けられたとき、その傾き量に応じて発生されるパルス数を計数する。従って、カウンタ444Xとカウンタ444Yとの計数値によって決まるX軸とY軸の合成ベクトルによって、プレイヤオブジェクト又は主人公キャラクタ若しくはカーソルの移動方向と座標位置が決定される。なお、カウンタ444X及びカウンタ444Yは、電源投入時にリセット信号発生回路447から与えられるリセット信号、又はプレイヤが所定の2つのスイッチを同時に押圧されたときにスイッチ信号検出回路443から与えられるリセット信号によっても、その計数値がリセットされる。
【0016】スイッチ信号検出回路443は、制御回路442から一定周期(例えばテレビジョンのフレーム周期である1/30秒間隔)で与えられるスイッチ状態の出力コマンドに応答して、十字スイッチ46,スイッチ47A〜47Zの押圧状態によって変化する信号を読込み、それを制御回路442へ与える。制御回路442は、コントローラ制御回路18からの操作状態データの読出指令信号に応答して、各スイッチ47A〜47Zの操作状態データ及びカウンタ444X,444Yの計数値を所定のデータフォーマットで送信回路445に与える。送信回路445は、制御回路442から出力されたパラレル信号をシリアル信号に変換して、変換回路43及び信号線42を介してコントローラ制御回路18へ転送する。制御回路442には、アドレスバス及びデータバス並びにポートコネクタ449を介してポート制御回路446が接続される。ポート制御回路446は、RAMカートリッジ50がポートコネクタ449に接続されているとき、CPU11の命令に従ってデータの入出力(又は送受信)制御を行う。
【0017】RAMカートリッジ50は、アドレスバス及びデータバスにRAM51を接続し、RAM51に電池52を接続して構成される。RAM51は、アドレスバスを用いてアクセス可能な最大メモリ容量の半分以下の容量(例えば256kビット)のRAMである。RAM51は、ゲームに関連するバックアップデータを記憶するものであり、RAMカートリッジ50がポートコネクタ449から抜き取られても電池52からの電力供給を受けてバックアップデータを保持する。なお、ゲームにおいて衝突又は爆発等の衝撃状態を画像表現したり音声出力する際に、そのような衝撃状態を一層現実に近づけたい場合は、振動発生回路53を内蔵したRAMカートリッジ50が用いられるか、RAM51を含まない振動発生回路52のみからなる振動カートリッジ50Aが用いられる。
【0018】ROMカートリッジ20は、外部ROM21を基板に実装し、その基板をハウジングに収納して構成される。外部ROM21は、ゲーム等の画像処理のための画像データやプログラムデータを記憶するとともに、必要に応じて音楽や効果音やメッセージ等の音声データを記憶するものである。
【0019】図5は外部ROM21のメモリ空間の全体を図解的に示したメモリマップであり、図6は外部ROM21のメモリ空間の一部(画像表示データ領域24)を詳細に示したメモリマップである。外部ROM21は、複数の記憶領域(以下には、「記憶領域」の前にデータの種類名を付ける場合は「領域」と略称する)、例えば図5に示すように、プログラム領域22,文字コード領域23,画像データ領域24及びサウンドメモリ領域25を含み、各種のプログラムを予め固定的に記憶している。
【0020】プログラム領域22は、ゲーム等の画像処理を行なうために必要なプログラム(後述の図15〜図3131)に示す各フローチャートの機能を実現するためのプログラムや、ゲーム内容に応じたゲームデータ等)を記憶している。具体的には、プログラム領域22は、CPU11の動作プログラムを予め固定的に記憶するための記憶領域22a〜22pを含む。メインプログラム領域22aには、後述の図15に示すゲーム等のメインルーチンの処理プログラムが記憶される。コントロールパッドデータ(操作状態)判断プログラム領域22bには、コントローラ40の操作状態等を示すデータを処理するためのプログラムが記憶される。書込プログラム領域22cには、CPU11がRCP12に書込処理させるべきフレームメモリ及びZバッファへの書込プログラムが記憶される。例えば、書込プログラム領域22cには、1つの背景画面で表示すべき複数の移動ブジェクト又は背景オブジェクトのテクスチュアデータに基づく画像データとして、色データをRAM15のフレームメモリ領域(図7に示す152)に書き込むプログラムと、奥行データをZバッファ領域(図7に示す153)に書き込むプログラムがそれぞれ記憶される。移動プログラム領域22dには、CPU11がRCP12に作用して三次元空間中の移動物体の位置を変化させるための制御プログラムが記憶される。カメラ制御プログラム領域22eには、プレイヤオブシェクトを含む移動オブジェクトや背景オブジェクトを三次元空間中のどの位置でどの方向を撮影させるかを制御するためのカメラ制御プログラムが記憶される。コース選択プログラム領域22fには、後述の図16に示すコース選択サブルーチンプログラムが記憶される。モード切換プログラム領域22gには、後述の図17に示すモード切換サブルーチンプログラムが記憶される。記憶領域22gに記憶されるプログラムは、表示モードが一方向スクロールの場合と全方向(オールレンジ)スクロールの場合のスクロールモードを切り換えることによって、スクロール方向やスクロール可能な範囲を切り換えるものである。通信処理プログラム領域22hには、後述の図19〜図21に示す通信処理サブルーチンのプログラムが記憶される。補給処理プログラム領域22iには、後述の図22〜図23に示す補給処理サブルーチンのプログラムが記憶される。プレイヤオブジェクトプログラム領域22jには、プレイヤによって操作されるオブジェクトの表示制御のためのプログラムが記憶される。仲間オブジェクトプログラム領域22kには、プレイヤオブジェクトと助け合ってゲームを進行させる仲間オブジェクトの表示制御のためのプログラム(図24〜図26参照)が記憶される。敵オブジェクトプログラム領域22lには、プレイヤオブジェクトに対して攻撃を加える敵オブジェクトの表示制御のためのプログラム(図27及び図28参照)が記憶される。背景プログラム領域22mには、CPU11がRCP12に作用して、三次元の背景画(又はコース)を作成させるための背景作成プログラム(図29参照)が記憶される。音声処理プログラム領域22nには、効果音や音楽や音声によるメッセージを発生するためのプログラム(図31参照)が記憶される。ゲームオーバー処理プログラム領域22oには、ゲームオーバーになった場合の処理、例えばゲームオーバー状態の検出やゲームオーバに達したときにそれまでのゲーム状態のバックアップデータの保存処理等のプログラムが記憶される。メッセージ処理プログラム領域22pには、プレイヤオブジェクトの居る場所又は環境等に適した操作をするのに役立つメッセージを文字による表示又は音声による出力を行うために、メッセージ処理(図19〜図21の通信処理、図22,図23の補給物資の供給処理等を含む処理)のサブルーチンプログラムが記憶される。
【0021】文字コード領域23は、複数種類の文字コードを記憶する領域であって、例えばコードに対応した複数種類の文字のドットデータを記憶している。文字コード領域23に記憶されている文字コードデータは、ゲームの進行においてプレイヤに説明文を表示するために利用される。この実施例では、プレイヤオブジェクトの居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類)やプレイヤオブジェクトのおかれている状況に応じて適切な操作方法又は対応方法を適切なタイミングで文字によるメッセージ(又はセリフ)を表示するために使用される。
【0022】画像データ領域24は、図6に示すように、記憶領域24a〜24fを含む。画像データ領域24は、背景オブジェクト及び/又は移動オブジェクトの各オブジェクト毎に複数のポリゴンの座標データ及びテクスチュアデータ等の画像データをそれぞれ記憶するとともに、これらのオブジェクトを所定の位置に固定的に表示し又は移動表示させるための表示制御プログラムを記憶している。例えば、記憶領域24aには、プレイヤオブジェクトを表示するためのプログラムが記憶される。記憶領域24bには、複数の仲間オブジェクト1〜3を表示するための仲間オブジェクトプログラムが記憶される。記憶領域24cには、複数の背景(静止)オブジェクト1〜n1を表示するための背景オブジェクトプログラムが記憶される。記憶領域24dには、複数の敵オブジェクト1〜n2を表示するための敵オブジェクトプログラムが記憶される。記憶領域24eには、ボスオブジェクトを表示するためのボスオブジェクトプログラムが記憶される。記憶領域24fには、例えば後述の図1212に示すセリフ又はメッセージを出力するためのデータが記憶される。
【0023】サウンドメモリ領域25には、場面毎に対応して、その場面に適した上記メッセージを音声で出力するためのセリフや効果音やゲーム音楽等のサウンドデータが記憶される。
【0024】なお、外部記憶装置は、ROMカートリッジ20に代えて又はROMカートリッジ20に加えて、CD−ROMや磁気ディスク等の各種記憶媒体を用いてもよい。その場合、CD−ROMや磁気ディスク等の光学式または磁気式等のディスク状記憶媒体からゲームのための各種データ(プログラムデータ及び画像表示のためのデータを含む)を読出し又は必要に応じて書込むために、ディスクドライブ(記録再生装置)26が設けられる。ディスクドライブ26は、ROM21と同様のプログラムデータが磁気的又は光学的に記憶された磁気ディスク又は光ディスクに記憶されたデータを読出し、そのデータをRAM15に転送する。
【0025】図7はRAM15のメモリ空間全体を図解的に示したメモリマップであり、図8はRAM15のメモリ空間の一部(画像表示データ領域154)を詳細に示したメモリマップである。RAM15は、各種の記憶領域150〜159を含む。例えば、RAM15には、表示リスト領域150と、プログラム領域151と、1フレーム分の画像データを一時記憶するフレームメモリ(又はイメージバッファメモリ)領域152と、フレームメモリ領域のドット毎の奥行データを記憶するZバッファ領域153と、画像データ領域154と、サウンドメモリ領域155と、コントロールパッドの操作状態データを記憶する領域156と、作業用(ワーキング)メモリ領域157と、仲間データ領域158と、レジスタ・フラグ領域159とが含まれる。各記憶領域151〜159は、CPU11がバス制御回路121を介して、又はRCP12が直接アクセスできるメモリ空間であって、使用されるゲームによって任意の容量(又はメモリ空間)に割り当てられる。また、プログラム領域151,画像データ領域154,サウンドメモリ領域155は、ROM21の記憶領域22,24,25に記憶されている1つのゲームの全場面(又はステージ)のゲームプログラムのうち一部のデータ、例えば或る1つのコース又はステージに必要なゲームプログラムが転送されたとき、対応するデータを一時記憶するものである。このように、ある場面に必要な各種プログラムデータの一部を各記憶領域151,154,155に記憶させておけば、CPU11が必要の生じる毎に直接ROM21から読み出して処理するよりも、CPU11の効率を高めることができ、画像処理速度を高速化できる。
【0026】具体的には、フレームメモリ領域152は、ディスプレイ30の画素(ピクセル又はドット)数×1画素当たりの色データのビット数に相当する記憶容量を有し、ディスプレイ30の画素に対応してドット毎の色データを記憶する。フレームメモリ領域152は、画像処理モードにおいて画像データ領域154に記憶されている1つの背景画面中に表示すべき静止オブジェクト及び/又は移動オブジェクトの1つ以上のオブジェクトを複数のポリゴンの集合体で表示するための三次元座標データに基づいて、視点位置から見える物体のドット毎の色データを一時記憶するとともに、表示モードにおいて画像データ領域154に記憶されているプレイヤオブジェクト,仲間オブジェクト,敵オブジェクト,ボスオブジェクト等の移動オブジェクトと背景(又は静止)オブジェクト等の各種オブジェクトを表示する際にドット毎の色データを一時記憶する。Zバッファ領域153は、ディスプレイ30の画素(ピクセル又はドット)数×1画素当たりの奥行データのビット数に相当する記憶容量を有し、ディスプレイ30の各画素に対応してドット毎の奥行データを記憶するものである。Zバッファ領域153は、画像処理モードにおいて静止オブジェクト及び/又は移動オブジェクトの1つ以上のオブジェクトを複数のポリゴンの集合体で表示するための三次元座標データに基づいて視点位置から見える部分のオブジェクトのドット毎に奥行データを一時記憶するとともに、表示モードにおいて移動及び/又は静止の各オブジェクトのドット毎の奥行データを一時記憶する。画像データ領域154は、ROM21に記憶されているゲーム表示のための静止及び/又は移動の各オブジェクト毎に複数の集合体で構成されるポリゴンの座標データおよびテクスチュアデータを記憶するものであって、画像処理動作に先立って少なくとも1コース又はステージ分のデータがROM21から転送される。画像データ領域154の記憶データの詳細は、図8を参照して説明する。サウンドメモリ領域155は、ROM21の記憶領域に記憶されている音声データ(セリフ,音楽,効果音のデータ)の一部が転送され、音声発生装置32から発生される音声のデータとして一時記憶する。コントロールパッドデータ(操作状態データ)記憶領域156は、コントローラ40から読み込まれた操作状態を示す操作状態データを一時記憶する。作業用メモリ領域157は、CPU11がプログラムを実行中にパラメータ等のデータを一時記憶する。仲間データ領域158は、記憶領域22kに記憶されている仲間オブシェクトの表示制御のためのデータを一時記憶する。レジスタ・フラグ領域159は、複数のレジスタ領域159Rと複数のフラグ領域159Fを含む。レジスタ領域159Rは、プレイヤオブジェクトの本体,左翼,右翼のそれぞれのダメージ量をロードするレジスタR1〜R3,仲間のダメージをロードするレジスタR4,敵(ボス)のダメージをロードするレジスタR5,プレイヤオブジェクト数をロードするレジスタR6,プレイヤのライフ数をロードするレジスタR7,1画面に表示される敵オブジェクト数をロードするレジスタR8,静止オブジェクト数をロードするレジスタR9,プレイ中のコースにおける得点をロードするレジスタR10,コース1〜nの得点をロードするレジスタR11〜R1n,合計点をロードするレジスタR20及び最高点をロードするレジスタR21等を含む。フラグ領域159Fは、ゲーム進行中の状態を知るためのフラグを記憶する領域であり、例えば仲間フラグF1,表示範囲のモードを識別するモードフラグF2,セリフ1〜mの出力の要否を記憶するセリフフラグF31〜F3m,ゲームオーバーに達した条件の検出の有無を識別するゲームオーバーフラグF4及び当たり判定フラグF5等を含む。
【0027】図9はこの発明が適用される一例のゲームのコースを示す図であり、図10は図9に示すゲームのコース選択画面を示す図であり、図11はこの発明が適用される一例のゲーム内容を説明するためのゲームエリアマップを示した図であり、図12は図11のゲームにおける仲間との通信処理におけるメッセージ出力内容を図解的に示した図であり、図13は図11のゲームにおける仲間との通信処理に基づいて表現されるメッセージ出力の画面表示の一例を示す図であり、図14は図11のゲームにおけるボスキャラクタとの対戦状態の画面表示の一例を示す図である。
【0028】図9〜図14を参照して、この発明の特徴となるゲームの進行に役立つメッセージを出力する場合のビデオゲームの概要を説明する。ビデオゲームのゲーム内容は、ROM21に記憶されたプログラムによって決定されるが、実施例ではシューティングゲームの例を示す。ゲームの開始時は、図9に示すコースが表示される。図9では、コース表示領域80の下方にコース別のクリア状態を示すクリアコース表示領域81a〜81eを表示し、画面上部にコース点数表示領域82とハイスコア(最高点)表示領域83を表示する。
【0029】ゲームの開始当初は、コース1を選択すると、図11のスタート点の画面が図12のように表示される。図11に示すスタート点からモード切換地点までの長い距離(例えば奥行き座標の単位で10万;単位は任意)が一方向スクロールモードの表示領域に選ばれる。一方向スクロールモードの表示領域は、ディスプレイ30の表示画面31に表示可能な幅が画面サイズと同じに選ばれ、上から下方向へのスクロール表示に使用される。一方向スクロールモードの表示領域では、例えばコース上の背景又は静止物を表す建物,木,山,道路,空等の背景画を構成するオブジェクト(物体)71a〜71n(図12参照)が順次表示され、その途中の予め定める場所A〜Dにおいて複数の敵オブジェクト72a〜72nが出現してプレイヤオブジェクト60に攻撃を加えたり、プレイヤオブジェクト60の進行を妨げる。一方向スクロールモードにおける表示領域の途中の場所A,B,C,Dのそれぞれは、敵オブジェクト72a〜72nを撃退したり、攻撃を上手く回避するために、プレイヤに適切な操作方法を知らせたり、プレイヤオブジェクト60を助けるためのメッセージ(又はセリフ)を表示又は音声によって出力する場所に決められている。そして、図12に示すように、メッセージが表示領域31aに表示され、メッセージを送っている仲間の顔が表示領域31bに表示され、プレイ中の得点が表示領域31cに表示され、プレイヤオブジェクトのライフ(ダメージに耐えられる量)が表示領域31dに表示される。
【0030】メッセージの具体例が図13に図解的に示される。複数のメッセージのうち場所に応じてプログラム的に設定されているメッセージが表示領域31aに表示される。このゲームの例では、人物又は登場キャラクタの種類と場所によって異なるセリフを音声と画像で出力し、セリフの発生に関連して仲間からその状況に適した操作方法を知らせるメッセージを表示する場合を示す。また、各セリフ1〜9には優先順位が決められているので、同じタイミングで複数のセリフを発生すべき条件が検出された場合は優先順位の高いセリフを発生する。メッセージの表示に関連して、メッセージを送っている仲間オブジェクト73の顔が表示される。メッセージは、例えばプレイヤオブジェクト60を戦闘機と想定した場合の操縦方法(減速を指示する「ブレーキでやりすごせ」のメーセージ)と、その操縦方法を行うためのコントローラ40のどのスイッチをどのように操作すべきかを知らせる操作方法が表示(47Cdボタンの押圧を指示する「Cボタン下」のメッセージ;好ましくは上下左右に4個ボタンを配置したうちの下のボタンの色表示を異ならせて表示)され、必要に応じてメッセージ表示に併せて音声出力(「ブレーキでやりすごせ」)も行われる。場所Cでは、スイッチ47Z又は47Rを2回押すことを知らせる「ZかRの2度押し」のメッセージが発生される。このように、メッセージの内容は、敵オブジェクトの形状や動きの相違により、場所A〜Dによって異なる。プレイヤは、ジョイスティク45を操作して、プレイヤオブジェクト60の位置又は方向を制御するとともに、スイッチ47A〜47Zのうちのメッセージ出力に従ったスイッチを操作すれば、スイッチの数が多くて瞬時に適切なスイッチの操作が困難であるか又は操作な場合でも、適切な操作を行うことが容易となり、素早く指示された操作をして敵を攻撃したり危険を回避することが容易となり、熟練していないプレイヤでも先の場面まで進むことが容易となる。
【0031】プレイヤオブジェクト60がモード切換地点に到達すると、表示モードが全方向にスクロールの可能なオールレンジモードに切り換えられる。オールレンジモードでは、図14に示すように、ボスキャラクタ(ボスオブジェクト)を表示可能な範囲の中央に位置させ、プレイヤオブジェクト60がボスキャラクタ74の周囲を旋回しながらを攻撃することになる。プレイヤオブジェクト60が移動可能な範囲は、ボスキャラクタ74を中心にして上下左右に或る短い距離(例えば1万)に選ばれる。プレイヤオブジェクト60が移動範囲の境界に近づくと、プレイヤオブジェクト60を撮影しているカメラの向きを切り換えることにより、プレイヤオブジェクト60の移動方向が自動的に切り換えられる。このとき、プレイヤオブジェクト60の居る位置をプレイヤに分かりやすくするために、表示画面31の右下方のマップ表示領域31cに縮小したマップが表示される。マップには、ボスキャラクタ74とプレイヤオブジェクト60と仲間オブジェクト73の記号が表示される。
【0032】図15はこの発明の一実施例のビデオゲームシステムのメインフローチャートである。次に、図9〜図15を参照して、図15のメインフローチャートに沿ってこの発明の原理を簡単に説明する。電源が投入されると、CPU11はスタートに際してビデオゲーム機10を所定の初期状態に設定する。例えば、CPU11は、ROM21のプログラム領域に記憶されているゲームプログラムのうちの立ち上げプログラムをRAM15のプログラム領域151に転送し、各パラメータを初期値に設定した後、図15のフローチャートの処理を順次実行する。図15のフローの動作は、1フレーム(1/30秒)毎に行われるものであり、コースをクリアするまではステップ1(図示では「S」を付けて示す),ステップ2,ステップ3〜ステップ17の動作が行われた後、ステップ3〜ステップ17の動作が繰り返し行われる。コースクリアに成功することなくゲームオーバになると、ステップ18のゲームオーバ処理が行われる。コースクリアに成功するとステップ16からステップ1へ戻る。
【0033】すなわち、ステップ1において、ゲームのコース画面及び/又はコース選択画面の表示が行われるが、電源投入後にゲームを開始する場合は図9に示すようなコース画面の表示が行われる。なお、図9に示すコース1をクリアしてコース2に進み、コース2もクリアした後は、図10に示すコース選択画面の表示が行われる。コース選択画面においてコース選択する場合は、図1616に示すコース選択サブルーチンの動作(ステップ101〜116の動作)が行われるが、本願発明の要部ではないのでフローチャートのみを図示し、詳細な動作説明を省略する。
【0034】スタート直後はコース1のゲームが行われるので、ステップ2においてそのコースのゲーム開始処理が行われる。例えば、レジスタ領域159R及びフラグ領域159Fをクリア処理(レジスタR6,R7については初期値を設定)し、コース1(又は選択されたコース)のゲームを行うのに必要な各種データがROM21から読み出されて、RAM15の記憶領域151〜155に転送される。
【0035】ステップ3において、モード切換サブルーチン処理が行われる。ゲームを開始直後はプレイヤオブジェクト60が図11のスタート点にいるが、スタート点(Z座標=0)からモード切換地点(Z座標=−10万)までの期間が一方向スクロールモードであるため、図17のステップ121においてプレイヤオブジェクトがオールレンジモード位置にいないことが判断されて、ステップ122においてフラグF2をリセットして一方向スクロールモードに切り換えた後、次のステップ4へ進む。その詳細な動作は、図17を参照して後述する。
【0036】ステップ4において、コントローラ処理が行われる。この処理は、コントローラ40のジョイスティック45,十字スイッチ46,スイッチ47A〜47Zの何れが操作されたか否かを検出し、その操作状態の検出データ(コントローラデータ)を読み込み、読み込んだコントローラデータを書込むことによって行われる。その詳細な動作は、図18を参照して後述する。
【0037】ステップ5において、仲間との通信処理が行われる。この処理は、本願発明の特徴となる適切な操作方法を知らせるメッセージの表示又は音声出力として行われる。すなわち、図11に示す一方向スクロール期間における場所A〜Dにおいて、図13に示すようなメッセージ又はセリフを表示したり、音声で出力することにより、プレイヤに適切な操作方法を知らせる。その詳細な動作の一例は、図19〜図21を参照して後述する。なお、メッセージの内容や発生条件は、一例を示すに過ぎず、ゲームの内容又は種類によって異なるので、適宜変更して使用されることを指摘しておく。
【0038】ステップ6において、本部から物資の補給処理が行われる。この処理では、プレイヤオブジェクト60が敵から攻撃を受け、機体にダメージを受けて正常な飛行をできない場合でも、本部又は仲間からプレイヤを支援するためのアイテム(例えば戦闘機の翼を修理する部品や銃器やライフ等)が送られる。そのアイテムが画面に表示されたときに、プレイヤがそれを取得するための操作(アイテムに機体を重ねるか、射撃によりアイテムに命中させる等)を行うと、ダメージを受けた部分を元の状態に回復させたり、敵を攻撃するのに有利なアイテムを付与することができる。この場合、プレイヤの必要とするアイテムは、プレイヤオブジェクトのダメージ状態によって異なるので、アイテムの種類が予め定める優先順に自動的に決定される。その詳細な動作は、図2222及び図23を参照して後述する。
【0039】ステップ7において、プレイヤオブジェクト60の表示のための処理が行われる。この処理は、プレイヤオブジェクト60が一方向スクロール領域とオールレンジ領域の何れに存在するかによって異なるが、基本的にはプレイヤの操作するジョイスティック45の操作状態と敵からの攻撃の有無に基づいてその向きや形状を変化させる処理である。例えば、プレイヤオブジェクト60の表示制御は、記憶領域22jから転送されたプログラムと記憶領域24aから転送されたプレイヤオブジェクトのポリゴンデータとジョイスティック45の操作状態とに基づいて、変化後のポリゴンデータを演算によって求める。その結果得られた複数のポリゴンで構成される複数の三角形の面に対応する記憶領域154aの各番地には、テクスチャデータによって指定される模様又は色紙を貼りつけるように、色データが書込まれる。
【0040】ステップ8において、カメラ処理が行われる。例えば、カメラのファインダーを通して見たときの視線又は視界がプレイヤの指定したアングルとなるように、各オブジェクトを見た角度の座標演算が行われる。
【0041】ステップ9において、仲間オブジャクトの処理が行われる。仲間オブジェクトは、一方向スクロール領域においてプレイヤオブジャクトと所定の位置関係となるように計算され、例えばプレイヤオブジャクト60の後方を飛んでいるときは表示せず、プレイヤオブジャクト60が減速したときは前方に飛んでいるように表示するための演算処理が行われる。また、オールレンジ領域においては、仲間オブジェクトがプレイヤオブジャクト60の前方を飛んでいるときは仲間の機体とともに縮小マップに記号で表示され、後方を飛んでいるときは縮小マップに記号のみが表示される。その詳細は、図24R>4〜図26を参照して後述する。
【0042】ステップ10において、敵オブジェクトの処理が行われる。この処理は、記憶領域22l及び24dから一部転送されたプログラムに基づいて、プレイヤオブジェクト60の動きを判断しながらプレイヤオブジェクト60に攻撃を加えたり進行を妨げる動きとなるように、敵オブジェクト72a〜72nの表示位置及び/又はその形状をポリゴンデータの演算によって求めて、変化した画像が表示される。これによって、敵オブジェクトは、プレイヤオブジェクト60に対して何らかの影響を与えるように働く。その詳細は、図27及び図28を参照して後述する。
【0043】ステップ11において、背景(又は静止)オブジャクトの処理が行われる。この処理は、記憶領域22mから一部転送されたプログラムと記憶領域24cから転送された静止オブシェクトのポリゴンデータとに基づいて、静止オブジェクト71a〜71nの表示位置及びその形状を演算によって求める。その詳細は、図29R>9を参照して後述する。
【0044】ステップ12において、RSP122が描画処理を行う。すなわち、RCP12は、CPU11の制御の下に、RAM15の画像データ領域154に記憶されている敵,プレイヤ,仲間等の移動オブジェクトや背景等の静止オブジェクトのそれぞれのテクスチュアデータに基づいて、移動オブジェクト及び静止オブジェクトの表示処理のための画像データの変換処理(座標変換処理及びフレームメモリ描画処理)を行う。具体的には、複数の移動オブジェクトや静止オブジェクト毎の複数のポリゴンによって構成される各三角形の面に対応する記憶領域154dの各番地には、各オブジェクト毎に決められたテクスチャデータで指定される色等を貼りつけるために、色データが書込まれる。その詳細は、図30R>0を参照して後述する。
【0045】ステップ13において、RCP12がメッセージや音楽や効果音等の音声データに基づいて、音声処理を行なう。その詳細は、図31を参照して後述する。
【0046】ステップ14において、RCP12がステップ12において描画処理された結果によりフレームメモリ領域152に記憶されている画像データを読出し処理することにより、プレイヤオブジェクト,移動オブジェクト,静止オブジェクト,敵オブジェクト等が表示画面31上に表示される。
【0047】ステップ15において、RCP12がステップ13において音声処理した結果得られる音声データを読出すことにより、音楽,効果音又は会話等の音声を出力させる。
【0048】ステップ16において、コースをクリアしたか否かが判断(コースクリア検出)され、コースをクリアしていなければステップ17においてゲームオーバになったか否かが判断され、ゲームオーバでなければステップ3へ戻り、ゲームオーバの条件が検出されるまでステップ3〜17が繰り返される。そして、プレイヤに許容されているミス回数が所定の回数になるか、プレイヤオブジェクトのライフを所定数量使い切る等のゲームオーバ条件になったことが検出されると、続くステップ18においてゲームの継続又はバックアップデータの記憶の選択処理等のゲームオーバ処理が行われる。なお、ステップ16において、コースをクリアした条件(例えは、ボスを倒す等)が検出されると、ステップ19においてコースクリアの処理をした後、ステップ1へ戻る。ここで、コースクリア処理は、例えば得点レジスタに記憶されている直前にプレイしたコースの得点を対応するコース別得点レジスタにロードさせ、そのコース別得点を図11のコース別得点として表示させ、さらに複数のコースをクリアしている場合であればその合計得点を求めて表示する。なお、コース別得点の計算では、必要に応じてコースクリアした場合のボーナス得点を加算してもよい。以下には、各サブルーチンの詳細な動作を説明する。
【0049】図17を参照して、モード切換処理(メインルーチンのステップ3)のサブルーチンの動作を説明する。プレイヤオブジェクトが図11のモード切換地点に到達すると、ステップ121においてオールレンジモード位置にいることが判断(又は検出)されて、ステップ123においてオールレンジモードのデモストレーション(以下「デモ」という)処理が終了したか否かが判断される。始めはデモ処理の終了していないことが判断され、ステップ124においてオールレンジモードのデモ表示のための画像処理が行われ、ステップ125においてオールレンジモードのデモ音声の発生のための音声処理が行われた後、前述のステップ12の描画処理へ進む。一方、ステップ123において、デモ処理の終了したことが判断されると、ステップ126においてオールレンジモードへの切換処理(モードフラグF2をオールレンジモードに切換)が行われた後、メインルーチンへ戻る。これによって、一方向スクロールモードからオールレンジモードに切換えられたときに、急に画面のスクロール方向が変化したような違和感を生じさせずに、スクロール範囲を切換えられる利点がある。また、スクロール範囲を切換えることにより、コースの全期間に渡ってスクロール範囲を全範囲とする場合に比べて一方向スクロール期間におけるCPUの負担を軽減でき、コースの全期間に渡って一方向スクロールとする場合に比べて変化に富んだスクロール表示が可能となり、多種多様なゲームの画像表現が可能となり、プレイヤの興趣を一層高められる利点がある。
【0050】図18を参照して、コントローラ処理(ステップ4)のサブルーチンの動作を説明する。ステップ131において、コントローラデータの読込要求コマンドがあったか否かが判断され、なければステップ131において読込要求コマンドが発生されるのを待つ。読込要求コマンドがあったことが判断されると、ステップ132においてコントローラ制御回路18にコマンドが供給される。これに応じて、コントローラ制御回路18が各コントローラ40A〜40Dの操作状態データを読込み処理を行う。ステップ133において、コントローラ制御回路18が全てのコントローラ40A〜40Dの操作状態データの読込みが終了したか否かが判断されるが、終了していなければするまで待つ。終了したことが検出されると、ステップ134において各コントローラ40A〜40Dの操作状態データがコントローラ制御回路18からバス制御回路121を介してRAM15の記憶領域156へ書き込まれる。
【0051】図19〜図21を参照して、仲間との通信処理(ステップ5)のサブルーチンの動作を説明する。ステップ141aにおいて、プレイヤオブジェクトが場所Aに達したか否かが判断され、場所Aに達していないことが判断されると、ステップ141b,141c,151a,151b,151c,151dの処理の後、メインルーチンへ戻る。そして、ステップ141aにおいて、プレイヤオブジェクトが場所Aに達したことが判断されると、ステップ142aにおいて仲間1が存在するか否かが判断される。第1の仲間が存在する場合は、ステップ143aにおいてセリフ又はメッセージを現在処理中か否かが判断される。セリフの処理中であることが判断されると、セリフフラグF31〜F3nのうちセリフに対応するフラグをオンさせるとともに、複数のセリフのうちの何れか1つを選択する必要があるため、ステップ144aにおいて優先順位の比較が行われる。ステップ145aにおいて、セリフ1の優先順位が現在処理中のセリフよりも高いか否かが判断され、高い場合はステップ146aへ進む。ステップ146aにおいてセリフ1の表示処理が行われる。例えば、セリフ1は第1の仲間からプレイヤオブジェクトに対して場所Aに出現する敵の攻撃を上手くかわすためのメッセージ(ブレーキでやり過ごせ)であって、その操作方法としてスイッチ47Cの下ボタン(スイッチ47Cd)を押すことを指示するメッセージが表示される。ステップ147aにおいて、セリフ1を音声により出力するための処理が行われる。なお、ステップ143aにおいてセリフの処理中でないことが判断されると、優先順位の判断を行う必要がないのでステップ146aへ進み、ステップ142aにおいて第1の仲間のいないこと又はステップ145aにおいて処理中のセリフがセリフ1よりも優先順位の低いことが判断されると、メインルーチンへ戻る。
【0052】一方、プレイヤオブジェクトの位置が場所Aではなく場所Bに居ることが判断されると、ステップ141b〜147bの動作が行われる。このステップ141b〜147bは、セリフ2を出力する動作であり、セリフが異なる点を除いてステップ141a〜147aの動作と同様であるので、対応するステップ番号の後に記号「a」に代えて記号「b」で示し、その詳細な説明を省略する。また、セリフを出力する条件が時間に依存する場合、例えばボスを発見してからの時間Aに依存する場合は、ステップ141cにおいて時間Aであることが判断され、ステップ142cにおいて第2の仲間が近くにいることが判断されたとき、ステップ143c〜147cの動作が行われる。このステップ143c〜147cは、第2の仲間がボスの倒し方(攻撃方法)を教えるためのメッセージ(図13のセリフ3)を送る動作であり、仲間とセリフが異なる点を除いてステップ142a〜147aの動作と同様であるので、その詳細な説明を省略する。また、セリフを出力する条件として、第3の仲間が敵から狙われている場合は、ステップ151aにおいてそのことが判断されて、ステップ152a〜156aの動作が行われる。ステップ152a〜156aは、仲間がボスの倒し方を教えるためのメッセージ(図1313のセリフ5)を出力する動作であり、セリフが異なる点を除いてステップ142a〜146aの動作と同様である。また、セリフを出力する条件が第3の仲間を助けた場合は、ステップ151bにおいてそのことが判断されて、ステップ152b〜156bの動作が行われる。ステップ152b〜156bは、第3の仲間を助けたときにセリフ6を発生する動作であり、セリフが異なる点を除いてステップ152a〜156aの動作と同様である。さらに、セリフを出力する条件が敵からの攻撃を受けたプレイヤオブジェクトのセリフ8を出力する場合は、ステップ151cにおいてそのことが判断されて、ステップ152c〜156cの動作が行われる。セリフを出力する条件がボスを倒したときのセリフ9を出力する場合は、ステップ151dにおいてそのことが判断されて、ステップ152d〜156dの動作が行われる。
【0053】上述のように、プレイヤが適切な操作をするのを助けるためのメッセージ(図13の例ではセリフ1〜4)を表示又は音声で出力することにより、状況に応じて適切な操作方法のアドバイスを出力すれば、操作方法が難しくてもゲームの進行を容易にし、プレイヤに達成感や満足感を与えることができ、画面又はコースのクリアが容易となる。また、ゲームの場面又は状況に応じて適切なメッセージ(図13の例ではセリフ5〜9)を表示及び/又は音声による出力を行うことにより、ゲームの進行状況に応じて臨場感に富んだ表現ができ、ゲームの面白さを一層向上できる。なお、プレイヤが適切な操作をするのを助けるためのメッセージや状況に応じて表示又は音声によって発生されるメッセージは、図13R>3の実施例に限らず、ゲームの種類や内容によって適宜変更されるので、実施例の記載に限定されるものではない。例えば、各スイッチの操作方法は、説明の簡略化のために、多数のスイッチのうちの何れか1個を押す場合を説明したが、同じスイッチを複数回押すとか、複数のスイッチを予め定める組合せて押すように決めてもよい。
【0054】図22〜図23を参照して、物資補給処理(ステップ6)のサブルーチンの動作を説明する。プレイヤオブジェクトがアイテムを取得できる所定の場所又は位置に来るまでは、ステップ161においてプレイヤオブジェクトが場所に入っていないことが判断され、ステップ163においてアイテムを表示する時間(T1)が設定されていないこと(T1=0であること)が判断され、ステップ170においてアイテムを取得できる権利を有することを示すマーク(アイテムボックス)を表示する条件になっていないことが判断され、ステップ172においてアイテムがセットされていないことが判断された後、メインルーチンへ戻る。その後、メインルーチンの処理がフレーム周期で行われる。そして、プレイヤオブジェクトがアイテムを取得できる場所に入ると、ステップ161においてそのことが判断される。ステップ162において、アイテムを取得できる条件であることを知らせるマークの表示時間として、タイマレジスタに一定時間(T1)がセットされる。ステップ163において、時間T1が0より大きいことが判断され、ステップ164において単位時間(例えば1秒)だけ減算(T1−1)される。ステップ165において、プレイヤがアイテムの表示要求スイッチ(例えば47Cr)を押せばアイテムを要求できることを示すマークを表示する。ステップ166において、アイテム要求のためのスイッチが押されたか否かが判断され、押されていないことが判断されると、ステップ170,172が行われた後、メインルーチンへ戻る。そして、フレーム周期毎にステップ161,163〜166,170,172が繰り返されることにより、スイッチ47Crが所定時間内に押されるのを待つ。
【0055】一方、前述の待機動作の繰り返し中に、ステップ166において、表示要求スイッチが押されたことを判断すると、ステップ167においてタイマレジスタに0がセット(リセット)され、ステップ168において仲間からアイテムの要求を受けたことを表すセリフの出力準備が行われる。このセリフは、ステップ14及び15において画像と音声で出力される。ステップ169において、アイテムを取得可能な条件を示すマーク(アイテムボックス)を表示するための処理(アイテムセット処理)が行われる。ステップ170において、アイテムボックスの表示が可能な条件であることが判断される。ステップ171において、アイテムボックスの表示を行うための処理が行われる。ステップ172においてアイテムボックスの表示が行われていることを判断したとき、次のステップ173においてプレイヤがアイテムボックスを取得するための操作(例えばアイテムボックスを射撃する操作又はプレイヤオブジェクトをアイテムボックスに重ねるように位置を決める操作等)が行われたか否かが判断される。アイテムボックスが取得されたことが判断されると、ステップ173〜180においてプレイヤオブジェクトの状態に応じて必要とするアイテムを供給するための処理が行われる。例えば、プレイヤオブジェクトがシューティングゲームの戦闘機の場合あれば、ステップ174において翼が所定の状態であるか否かが判断され、所定の翼がなければステップ175において補給アイテムとして翼が付与される。所定の翼の有る場合は、ステップ176においてライフ又はダメージに耐え得る量が一定値(128)以下か否かが判断される。以下であることが判断されると、ステップ177においてライフを回復させるアイテムが付与される。ライフが一定値(128)以下でなければ、ステップ178において2つのビーム砲(ツインビーム)があるか否かが判断される。ないことが判断されると、ステップ179においてツインビームが付与される。あることが判断されると、ステップ180において爆弾が付与される。このようにして、プレイヤオブジェクトの状態に応じて、プレイヤがゲームを進める上で有効なアイテムが補給されるため、プレイヤはゲームを継続して先の場面又はコースクリアが容易となり、ゲームの達成感又は満足感を得ることが容易となる。また、プレイヤは、実際に戦闘機を操縦しながら指令を受けたり、援助を受けながら飛行をしているような感覚でプレイでき、ゲームの興趣を一層高めることができる。なお、補給されるアイテムは、ゲームの種類やゲーム内容によって異なり、ゲームソフトの開発者ならばこの実施例に記載の技術思想を参考に種々の変更が可能である。
【0056】図24〜図26を参照して、仲間オブジェクト処理のサブルーチンの動作を説明する。ステップ201において第1の仲間がいるか否かが判断され、仲間がいればステップ202において第1の仲間オブジェクトの処理が行われる。その後、ステップ203において、第2の仲間がいるか否かが判断され、仲間がいればステップ204において第2の仲間オブジェクトの処理が行われる。同様に、第3の仲間の有無の判断と第3の仲間オブジェクトの処理がステップ205,206において行われる。ここで、ステップ202,204,206に示す第1〜第3の仲間オブジェクトの処理は、仲間の種類が異なる点を除いて同じ処理であり、具体的には図25,図26のサブルーチン処理(ステップ211〜230)によって実現される。
【0057】すなわち、ステップ211において中止処理でないことが判断され、ステップ212において第1〜第3の何れかの仲間の移動処理が行われる。ステップ213において、敵を攻撃可能な距離内か否かが判断され、攻撃可能な距離内であればステップ214において敵オブジェクトに対する攻撃処理(ビーム弾の発射等の演算と表示の処理)が行われる。ステップ215においていずれかの仲間が敵に追われているか否かが判断され、追われていることが判断されると、ステップ216において敵から攻撃可能な距離内か否かが判断される。敵が攻撃可能な距離内に居るとき、ステップ217においてセリフ5(例えば「助けてくれ」)の表示のための処理が行われ、ステップ218においてセリフ5の音声出力のための処理が行われる。なお、ステップ215および/または216において異なる(Noである)ことが判断されると、ステップ219において何れかの仲間オブジェクトがプレイヤオブジェクトに助けられたか否かが判断される。助けられたことが判断されると、ステップ220においてセリフ6(例えば「助かったぜ」)の表示のための処理が行われ、ステップ221においてセリフ6の音声出力のための処理が行われる。
【0058】ステップ222において、仲間が敵から攻撃を受けたときの当たり判定(例えば、後述のステップ254による攻撃によって仲間に当たったか否かの判定)が行われる。そして、ステップ223において敵の弾丸に当たったか否かが判断され、当たった場合はステップ224において仲間のダメージを減らす処理(レジスタR4の値の減算)が行われる。ステップ225において、レジスタR4のダメージに耐える量が100以下か否かが判断され、以上であればステップ229へ進み、以下であればステップ226へ進む。ステップ226において、一定以上のダメージを受けた仲間が戦闘を中止して基地へ帰還するメッセージの表示処理が行われ、その音声出力処理がステップ227において行われる。ステップ228において戦闘中止処理が終了したか否かが判断され、終了していなければステップ229において処理中の仲間オブジェクトを表示リストに登録する処理が行われ、終了していれば仲間フラグF1がオフにされた後、メインルーチンへ戻る。
【0059】図27を参照して、敵オブジェクト処理(ステップ10)のサブルーチンの動作を説明する。ステップ241において、敵オブジェクトの数を一時記憶するレジスタR5に1が設定される。ステップ242においてレジスタR5の値に基づいて敵オブジェクトが居ることが判断され、ステップ243において何番目かの敵オブジェクトの処理のサブルーチン(後述の図28)が行われる。その後、ステップ244においてレジスタR5に1が加算される。ステップ245においてプログラムによって設定されている数の全ての敵オブジェクトの表示のための処理が終了したか否かが判断され、全ての処理が終了していなければスイップ242へ戻り、ステップ242〜245の処理が繰り返される。
【0060】次に、図28を参照して、1個の敵オブジェクトの処理の詳細を説明する。ステップ251において敵オブジェクトの爆発処理中でないことが判断され、ステップ252においてレジスタ(E)に記憶されている番号の敵オブジェクトの移動処理が行われる。ステップ253において、プレイヤオブジェクト又は仲間オブジェクトが射程距離の範囲内か否かが判断される。射程距離内であれば、ステップ254において射程距離の範囲に存在するプレイヤオブジェクト又は仲間オブジェクトに対して攻撃を加えるための処理が行われる。一方、ステップ255において、プレイヤオブジェクト又は仲間オブジェクトから敵オブジェクトに対して攻撃を加えた場合の当たり判定が行われる。ステップ256において、プレイヤオブジェクト又は仲間オブジェクトの発射したビーム弾が敵オブジェクトに命中したか否かが判断される。命中したことが検出されると、ステップ257において打たれた敵オブジェクトのダメージ量を減らす処理(レジスタR5から1を減算)及びプレイヤに得点を付与する処理(レジスタR10の値に倒した敵によって決められた得点を加算する処理)が行われる。ステップ258において、ダメージ量が0又は0以下になった(R5≦0)か否かが判断される。以下でなければ(R5>0のとき)、ステップ261において処理中の敵オブジェクトが表示リストに登録される。逆に、以下のとき(R5≦0のとき)は、ステップ259において敵オブジェクトを爆発させて消滅させるための処理が行われる。ステップ260において爆発処理の終了したことが判断されると、ステップ262においてプレイヤオブジェクトから攻撃を受けた敵オブジェクトのフラグをオフさせた後、メインルーチンへ戻る。
【0061】図29を参照して、静止オブジェクト処理(ステップ11)のサブルーチンの動作を説明する。ステップ271において、静止オブジェクトレジスタ(R9)に1が設定される。ステップ272において、レジスタ(R9)によって特定される静止オブジェクトが表示リストに登録される。ステップ273において、レジスタR9に1が加算される。ステップ274においてプログラムによって設定されている数の全ての静止オブジェクトの表示のための処理が終了したか否かが判断され、全ての処理が終了していなければスイップ272へ戻り、ステップ272〜274の処理が繰り返される。全ての処理が終了すると、メインルーチンへ戻る。
【0062】図30を参照して、描画処理(ステップ12)のサブルーチンの動作を説明する。ステップ281において、座標変換処理が行われる。座標変換処理は、RCP12の制御の下に、RAM15の画像データ領域154に記憶されている敵,プレイヤ,仲間等の移動オブジェクトや背景等の静止オブジェクトのそれぞれの複数のポリゴンの座標データを、カメラの視点座標に変換することによって行われる。具体的には、カメラの視点から見た画像となるように、複数の移動オブジェクトや静止オブジェクトを構成する各ポリゴンデータが絶対座標からカメラ座標のデータに変換するための演算が行われる。ステップ282において、フレームメモリに描画処理が行われる。この処理は、カメラ座標に変換後のポリゴン座標によって囲まれる各オブジェクトを構成するある1つの三角形の面に、テクスチュアデータに基づいて決定される色データをイメージバッファ領域152のドット毎に書込むことによって行われる。このとき、各ポリゴン毎の奥行きデータに基づいて、手前(近く)にあるオブジェクトが優先的に表示されるように、近くのオブジェクトの色データを書込み、それに併せて色データを書き込んだドットに対応する奥行データがZバッファ領域153の対応の番地に書き込まれる。その後メインルーチンへ戻る。このステップ281及び282の動作は、フレーム毎に一定時間内で行われるが、1画面に表示すべき複数のオブジェクトのそれぞれを構成するポリゴン毎に順次処理され、かつ1画面に表示すべき全てのオブジェクトの処理が終了するまで繰り返して行われる。
【0063】図31を参照して、音声処理(ステップ13)のサブルーチンの動作を説明する。ステップ291において音声フラグがオンされているか否かが判断される。オンされていることが判断されると、ステップ292において出力する音声データが選択される。ステップ293において、選択された音声データが読出し処理された後、メインルーチンへ戻る。なお、読み出されたメッセージの音声データは、音声発生回路16によってディジタル−アナログ変換され、音声として出力される。
【0064】
【発明の効果】以上のように、この発明によれば、ビデオゲームにおける臨場感を高め、プレイヤの達成感を満たし、プレイヤのビゲオゲームに対する興趣を向上させることの可能な、ビデオゲームシステム及びビデオゲーム用記憶媒体が得られる。また、この発明によれば、複雑な操作を必要とするゲームでも、プレイヤが先の画面に進むことを容易となる。さらに、プレイヤによって操作されるプレイヤオブジェクトが居る周囲の環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切な操作方法を適切なタイミングで出力することにより、操作方法及び/又は操作タイミングを掴むことが難しいゲームでも、メッセージが出力されたタイミングでメッセージ内容に従って操作することにより、プレイヤが先の画面に進むことが容易となり、ゲームの面白さを向上でき、プレイヤの満足感又は達成感を満たすことができる。さらに、この発明によれば、プレイヤによって操作されるプレイヤオブジェクトの居る周囲環境(例えば、場所,障害物の種類,敵オブジェクトの種類等)又はプレイヤオブジェクトがおかれている状況に応じて適切なタイミングでプレイヤを助けるアイテムを提供できるので、ゲーム中に操作のミスをしてもゲームを継続でき、より先の場面への進行を助けることができ、プレイヤが先の場面に進むことを容易にして、ゲームの面白さを一層向上し、プレイヤの達成感を満たすことができる。
【0065】
【図面の簡単な説明】
【図1】この発明の一実施例のビデオゲームシステムの構成を示す外観図である。
【図2】この発明の一実施例のビデオゲームシステムのブロック図である。
【図3】コントローラ制御回路18の詳細な回路図である。
【図4】コントローラ40のブロック図である。
【図5】外部ROM21のメモリ空間全体を図解的に示したメモリマップである。
【図6】外部ROM21のメモリ空間の一部を詳細に示したメモリマップである。
【図7】RAM15のメモリ空間全体を図解的に示したメモリマップである。
【図8】RAM15のメモリ空間の一部を詳細に示したメモリマップである。
【図9】この発明が適用される一例のゲームのコースを示す図である。
【図10】図10に示すゲームのコース選択画面を示す図である。
【図11】この発明が適用される一例のゲーム内容を説明するためのゲームエリアマップを示した図である。
【図12】図11のゲームにおける仲間との通信処理におけるメッセージ出力内容を図解的に示した図である。
【図13】図11のゲームにおける仲間との通信処理に基づいて表現されるメッセージ出力の画面表示の一例を示す図である。
【図14】図11のゲームにおけるボスキャラクタとの対戦状態の画面表示の一例を示す図である。
【図15】この発明の一実施例のゲーム処理のメインフローチャートである。
【図16】コース選択画面の詳細な処理を示すサブルーチンフローチャートである。
【図17】モード切換えの詳細な処理を示すサブルーチンフローチャートである。
【図18】コントローラ制御回路18とビデオゲーム機本体とのデータ転送を説明するためのフローチャートである。
【図19】
【図20】
【図21】ゲームの進行を助けるメッセージ出力処理の一例であって、仲間との通信処理のサブルーチンフローチャートである。
【図22】
【図23】ゲームの進行を助けるメッセージ出力処理の他の例であって、補給物資の供給処理のサブルーチンフローチャートである。
【図24】
【図25】
【図26】仲間オブジェクト処理のサブルーチンフローチャートである。
【図27】敵オブジェクト処理のサブルーチンフローチャートである。
【図28】図27の敵オブジェクト処理に含まれる一部ステップの動作を詳細に示したサブルーチンフローチャートである。
【図29】静止オブジェクト処理のサブルーチンフローチャートである。
【図30】描画処理のサブルーチンフローチャートである。
【図31】音声処理のサブルーチンフローチャートである。
【符号の説明】
10・・・ビデオゲーム機
11・・・CPU(中央処理装置)
12・・・RCP
15・・・RAM(一時記憶メモリ)
18・・・コントローラ制御回路
20・・・ROMカートリッジ
21・・・ゲームプログラムを記憶したROM
30・・・表示装置
31a・・メッセージ表示領域
31b・・得点表示領域
40・・・コントローラ
44・・・操作信号処理回路
45・・・ジョイスティック
50・・・RAMカートリッジ
51・・・RAM(書込読出し可能な記憶メモリ)
60・・・プレイヤオブジェクト
【特許請求の範囲】
【請求項1】プレイヤによって操作される操作手段と、画像データを表示しかつ音声を出力する表示装置に接続して用いられかつプログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを発生するビデオゲーム機とを有するビデオゲームシステムにおいて、前記操作手段は、プレイヤの操作によって画面上の動き変化するプレイヤオブジェクトの移動方向を指示する方向指示手段と、プレイヤオブジェクトの動作を指示する複数の動作指示スイッチとを含み、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生手段、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示される位置に接近したとき、影響物体の変化との関係で適切な操作となるように決められている前記操作手段の操作方法のメッセージを出力するメッセージデータ発生手段、および前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記メッセージデータ発生手段から与えられた操作方法のメッセージを表示装置に出力させる出力制御手段を備えた、ビデオゲームシステム。
【請求項2】前記メッセージデータ発生手段は、前記操作手段に含まれる複数の動作指示スイッチのうち操作すべき適切な種類のスイッチを指示するメッセージを発生する、請求項1に記載のビデオゲームシステム。
【請求項3】前記メッセージデータ発生手段は、前記操作手段に含まれる複数の動作指示スイッチのうち操作すべき適切な種類のスイッチとその操作回数を指示するメッセージを発生する、請求項1に記載のビデオゲームシステム。
【請求項4】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを文字で前記表示装置の画面上に表示させるための文字データを発生する、請求項1ないし請求項3のいずれかに記載のビデオゲームシステム。
【請求項5】前記表示装置は、音声を発生する音声発生回路を含み、前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを音声で前記音声発生回路から出力させるための音声信号を発生する、請求項1ないし請求項3のいずれかに記載のビデオゲームシステム。
【請求項6】前記プレイヤオブジェクトの進行方向の周辺に表示され、かつプレイヤオブジェクトに影響を与えない静止物体を表示するための画像データを発生する静止物体画像データ発生手段をさらに備え、前記出力制御手段は、前記静止物体画像データを前記プレイヤオブジェクト及び前記影響物体の画像データに合成して出力する、請求項1に記載のビデオゲームシステム。
【請求項7】プレイヤの操作によって画面上の動きを変化するプレイヤオブジェクトの移動方向を指示する方向指示手段とプレイヤオブジェクトの動作を指示する少なくとも2つの動作指示スイッチとを含みプレイヤによって操作される操作手段と、プログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを表示装置に供給するビデオゲーム機とを有するビデオゲームシステムにおいて、ビデオゲーム機によって処理されるゲーム画像表示のためのプログラムを記憶したビデオゲーム用記憶媒体であって、プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生プログラムと、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示される位置に接近したとき、影響物体の変化との関係で適切な操作となるように決められている前記操作手段の操作方法のメッセージを出力するメッセージデータ発生プログラムと、前記プレイヤオブジェクト画像データ発生プログラムと前記影響物体画像データ発生プログラムとに基づいて、前記プレイヤオブジェクト画像データと前記影響物体画像データとを合成して前記表示装置に供給するするとともに、前記メッセージデータ発生プログラムに基づいて操作方法のメッセージを表示装置に出力させるための出力プログラムとを含む、ビデオゲーム用記憶媒体。
【請求項8】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを文字で前記表示装置の画面上に表示させるための文字データを発生する、請求項7に記載のビデオゲーム用記憶媒体。
【請求項9】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを音声で前記表示装置から出力させるための音声信号を発生する、請求項7に記載のビデオゲーム用記憶媒体。
【請求項10】プレイヤによって操作される操作手段と、画像データを表示しかつ音声を出力する表示装置に接続して用いられかつプログラムに基づき操作手段の操作に応じて表示画像を変化させて表示するための画像データを発生するビデオゲーム機とを有するビデオゲームシステムにおいて、前記操作手段は、プレイヤによって画面上の動作を操作可能なプレイヤオブジェクトの移動方向を指示する方向指示手段と、プレイヤオブジェクトの動作を指示する複数の動作指示スイッチとを含み、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生手段、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示位置と所定の関係になったとき、前記プレイヤオブジェクトを助けるための援助データを発生する援助データ発生手段、および前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記援助データ発生手段から与えられた援助データを表示装置に表示させる出力制御手段を備えた、ビデオゲームシステム。
【請求項11】前記援助データ発生手段は、前記プレイヤオブジェクトが前記第2の物体と戦うのに有効なメッセージを、文字及び音声の少なくとも一方の伝達形態で出力する、請求項10に記載のビデオゲームシステム。
【請求項12】前記援助データ発生手段は、ゲームの進行に役立つ援助アイテムを表示し、前記操作手段の操作状態に基づく表示が所定の状態になったことに応答して、援助アイテムの取得を許容する、請求項10に記載のビデオゲームシステム。
【請求項13】前記援助データ発生手段は、前記所定のスイッチが操作されたときに、前記プレイヤオブジェクトの状態に基づいて最も必要とする種類の援助アイテムの取得を許容する、請求項10に記載のビデオゲームシステム。
【請求項14】プレイヤによって画面上の動作を操作可能なプレイヤオブジェクトの移動方向を指示する方向指示手段とプレイヤオブジェクトの動作を指示する少なくとも2つの動作指示スイッチとを含みプレイヤによって操作される操作手段と、プログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを表示装置に供給するビデオゲーム機とを有するビデオゲームシステムにおいて、ビデオゲーム機によって処理されるゲーム画像表示のためのプログラムを記憶したビデオゲーム用記憶媒体であって、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生プログラム、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生プログラム、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示位置と所定の関係になったとき、前記プレイヤオブジェクトを助けるための援助データを発生する援助データ発生プログラム、前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記援助データ発生手段から与えられた援助データを表示装置に表示させる出力制御プログラムを含む、ビデオゲーム用記憶媒体。
【0001】
【請求項1】プレイヤによって操作される操作手段と、画像データを表示しかつ音声を出力する表示装置に接続して用いられかつプログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを発生するビデオゲーム機とを有するビデオゲームシステムにおいて、前記操作手段は、プレイヤの操作によって画面上の動き変化するプレイヤオブジェクトの移動方向を指示する方向指示手段と、プレイヤオブジェクトの動作を指示する複数の動作指示スイッチとを含み、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生手段、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示される位置に接近したとき、影響物体の変化との関係で適切な操作となるように決められている前記操作手段の操作方法のメッセージを出力するメッセージデータ発生手段、および前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記メッセージデータ発生手段から与えられた操作方法のメッセージを表示装置に出力させる出力制御手段を備えた、ビデオゲームシステム。
【請求項2】前記メッセージデータ発生手段は、前記操作手段に含まれる複数の動作指示スイッチのうち操作すべき適切な種類のスイッチを指示するメッセージを発生する、請求項1に記載のビデオゲームシステム。
【請求項3】前記メッセージデータ発生手段は、前記操作手段に含まれる複数の動作指示スイッチのうち操作すべき適切な種類のスイッチとその操作回数を指示するメッセージを発生する、請求項1に記載のビデオゲームシステム。
【請求項4】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを文字で前記表示装置の画面上に表示させるための文字データを発生する、請求項1ないし請求項3のいずれかに記載のビデオゲームシステム。
【請求項5】前記表示装置は、音声を発生する音声発生回路を含み、前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを音声で前記音声発生回路から出力させるための音声信号を発生する、請求項1ないし請求項3のいずれかに記載のビデオゲームシステム。
【請求項6】前記プレイヤオブジェクトの進行方向の周辺に表示され、かつプレイヤオブジェクトに影響を与えない静止物体を表示するための画像データを発生する静止物体画像データ発生手段をさらに備え、前記出力制御手段は、前記静止物体画像データを前記プレイヤオブジェクト及び前記影響物体の画像データに合成して出力する、請求項1に記載のビデオゲームシステム。
【請求項7】プレイヤの操作によって画面上の動きを変化するプレイヤオブジェクトの移動方向を指示する方向指示手段とプレイヤオブジェクトの動作を指示する少なくとも2つの動作指示スイッチとを含みプレイヤによって操作される操作手段と、プログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを表示装置に供給するビデオゲーム機とを有するビデオゲームシステムにおいて、ビデオゲーム機によって処理されるゲーム画像表示のためのプログラムを記憶したビデオゲーム用記憶媒体であって、プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生プログラムと、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示される位置に接近したとき、影響物体の変化との関係で適切な操作となるように決められている前記操作手段の操作方法のメッセージを出力するメッセージデータ発生プログラムと、前記プレイヤオブジェクト画像データ発生プログラムと前記影響物体画像データ発生プログラムとに基づいて、前記プレイヤオブジェクト画像データと前記影響物体画像データとを合成して前記表示装置に供給するするとともに、前記メッセージデータ発生プログラムに基づいて操作方法のメッセージを表示装置に出力させるための出力プログラムとを含む、ビデオゲーム用記憶媒体。
【請求項8】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを文字で前記表示装置の画面上に表示させるための文字データを発生する、請求項7に記載のビデオゲーム用記憶媒体。
【請求項9】前記メッセージデータ発生手段は、前記操作手段の操作方法のメッセージを音声で前記表示装置から出力させるための音声信号を発生する、請求項7に記載のビデオゲーム用記憶媒体。
【請求項10】プレイヤによって操作される操作手段と、画像データを表示しかつ音声を出力する表示装置に接続して用いられかつプログラムに基づき操作手段の操作に応じて表示画像を変化させて表示するための画像データを発生するビデオゲーム機とを有するビデオゲームシステムにおいて、前記操作手段は、プレイヤによって画面上の動作を操作可能なプレイヤオブジェクトの移動方向を指示する方向指示手段と、プレイヤオブジェクトの動作を指示する複数の動作指示スイッチとを含み、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生手段、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生手段、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示位置と所定の関係になったとき、前記プレイヤオブジェクトを助けるための援助データを発生する援助データ発生手段、および前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記援助データ発生手段から与えられた援助データを表示装置に表示させる出力制御手段を備えた、ビデオゲームシステム。
【請求項11】前記援助データ発生手段は、前記プレイヤオブジェクトが前記第2の物体と戦うのに有効なメッセージを、文字及び音声の少なくとも一方の伝達形態で出力する、請求項10に記載のビデオゲームシステム。
【請求項12】前記援助データ発生手段は、ゲームの進行に役立つ援助アイテムを表示し、前記操作手段の操作状態に基づく表示が所定の状態になったことに応答して、援助アイテムの取得を許容する、請求項10に記載のビデオゲームシステム。
【請求項13】前記援助データ発生手段は、前記所定のスイッチが操作されたときに、前記プレイヤオブジェクトの状態に基づいて最も必要とする種類の援助アイテムの取得を許容する、請求項10に記載のビデオゲームシステム。
【請求項14】プレイヤによって画面上の動作を操作可能なプレイヤオブジェクトの移動方向を指示する方向指示手段とプレイヤオブジェクトの動作を指示する少なくとも2つの動作指示スイッチとを含みプレイヤによって操作される操作手段と、プログラムに基づき操作手段の操作に応じて表示画像を変化させるための画像データを表示装置に供給するビデオゲーム機とを有するビデオゲームシステムにおいて、ビデオゲーム機によって処理されるゲーム画像表示のためのプログラムを記憶したビデオゲーム用記憶媒体であって、前記プレイヤオブジェクトの画像表示のためのデータを発生するプレイヤオブジェクト画像データ発生プログラム、前記プレイヤオブジェクトの進行方向の周辺に表示され、プレイヤの操作とは無関係にプログラムによって決定される変化をしてプレイヤオブジェクトに影響を加える影響物体画像を表示するための画像データを発生する影響物体画像データ発生プログラム、前記プレイヤオブジェクトが進行可能な場所であって、前記影響物体の表示位置と所定の関係になったとき、前記プレイヤオブジェクトを助けるための援助データを発生する援助データ発生プログラム、前記プレイヤオブジェクト画像データ発生手段から発生されたプレイヤオブジェクト画像データと、前記影響物体画像データ発生手段から発生された影響物体画像データとを合成して出力して、前記表示装置に供給することにより、表示装置の画面上にプレイヤオブジェクトと影響物体を表示させるとともに、前記援助データ発生手段から与えられた援助データを表示装置に表示させる出力制御プログラムを含む、ビデオゲーム用記憶媒体。
【0001】
【図1】
【図5】
【図2】
【図3】
【図18】
【図4】
【図6】
【図10】
【図7】
【図8】
【図12】
【図9】
【図13】
【図15】
【図29】
【図11】
【図17】
【図22】
【図30】
【図14】
【図23】
【図24】
【図27】
【図31】
【図16】
【図19】
【図20】
【図21】
【図25】
【図26】
【図28】
【図5】
【図2】
【図3】
【図18】
【図4】
【図6】
【図10】
【図7】
【図8】
【図12】
【図9】
【図13】
【図15】
【図29】
【図11】
【図17】
【図22】
【図30】
【図14】
【図23】
【図24】
【図27】
【図31】
【図16】
【図19】
【図20】
【図21】
【図25】
【図26】
【図28】
【公開番号】特開平10−295935
【公開日】平成10年(1998)11月10日
【国際特許分類】
【出願番号】特願平9−123576
【出願日】平成9年(1997)4月25日
【出願人】(000233778)任天堂株式会社 (1,115)
【公開日】平成10年(1998)11月10日
【国際特許分類】
【出願日】平成9年(1997)4月25日
【出願人】(000233778)任天堂株式会社 (1,115)
[ Back to top ]