説明

ゲーム装置及びゲームプログラム

【課題】キャラクタの配置密度を所定の高さに維持して、賑わいを演出することが可能な、ゲーム装置及びゲームプログラムの提供。
【解決手段】ワールド座標上で互いに連続した複数のステージSTGからなるフィールドFLDを生成する手段、ステージに、ゲームに登場する複数のキャラクタCRをそれぞれ配置する手段、操作キャラクタOCHを配置する手段SAP、操作キャラクタが配置されたステージのキャラクタ密度を演算する手段、キャラクタ密度が所定のキャラクタ密度以下であるか否かを判定する手段、不足するキャラクタの数を演算し、不足キャラクタを、操作キャラクタが配置されたステージ以外のステージから抽出し再配置する手段から構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム中のキャラクタが移動可能な複数のステージが用意されたゲームにおいて、各ステージにおけるキャラクタの配置密度を一定の高さに維持して、賑わいを演出することの出来る、ゲーム装置及びゲームプログラムに関する。
【背景技術】
【0002】
従来、この種のゲーム装置及びゲームプログラムにおいて、盛り場や、キャンパスその他、通常多くの人々が去来する場所を3次元仮想区間内で表現する場合がある。こうした場合、所定の賑わいを演出するためには、当該仮想空間内に配置されるキャラクタ密度を所定の配置密度に維持する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし、ゲームのステージを複数のステージから構成し、それらステージの全てについて所定のキャラクタの配置密度を維持しようとした場合、CPUが管理すべきキャラクタの数は、
(各ステージにおけるキャラクタ配置密度を維持するのに必要なキャラクタ数)×ステージ数
となる。
【0004】
しかし、これでは、CPUがリアルタイムに制御すべきキャラクタの数が極めて多くなり、CPUの負担が増大してしまい、ゲームの進行が円滑に行えなくなる不都合が生じる。
【0005】
本発明は、上記した事情に鑑み、CPUの負担をそれほど増加させることなく、キャラクタが移動可能な全てのステージについて、キャラクタの配置密度を所定の高さに維持して、賑わいを演出することが可能な、ゲーム装置及びゲームプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【0006】
請求項1の発明は、ワールド座標の設定された三次元仮想空間をメモリ(3)内に設定し、前記ワールド座標上で互いに連続した複数のステージ(STG)からなるフィールド(FLD)を生成するフィールド生成手段、該フィールド上のステージに、ゲームに登場する複数のキャラクタ(CR)をそれぞれ配置するキャラクタ配置手段(CPP、1)、プレーヤがコントローラ(12)を介して操作可能な操作キャラクタ(OCH)を、前記フィールド上のステージに配置する操作キャラクタ配置手段(SAP、1)、前記操作キャラクタが配置されたステージのキャラクタ密度を演算するキャラクタ密度演算手段(CDJ、1)、前記演算されたキャラクタ密度が所定のキャラクタ密度以下であるか否かを判定するキャラクタ密度判定手段(CDJ、1)、キャラクタ密度が所定のキャラクタ密度以下であると判定された場合に、不足するキャラクタの数を演算する不足キャラクタ数演算手段(CDJ、1)、演算された不足キャラクタを、前記操作キャラクタが配置されたステージ(STG)以外のステージ(STG)から抽出し、該操作キャラクタが配置されたステージに再配置する不足キャラクタ抽出再配置手段(CMP、CDJ、1)、及び、前記操作キャラクタが配置されたステージについての画像をモニタに表示する画像表示手段(PPP、1,4,5,9)、からなるゲーム装置として構成される。
【0007】
また、請求項2の発明は、請求項1記載のゲーム装置において、前記不足キャラクタ抽出再配置手段は、前記操作キャラクタが配置されたステージから所定ステージ分だけ隔離された位置に存在するステージを、不足キャラクタを抽出するステージとして選択するステージ選択手段(CMP、1)、及び、該選択されたステージから前記不足キャラクタを抽出する不足キャラクタ抽出手段(CMP、1)を有して構成される。
【0008】
また、請求項3の発明は、コンピュータに、ワールド座標の設定された三次元仮想空間をメモリ内に設定し、前記ワールド座標上で互いに連続した複数のステージからなるフィールドを生成するフィールド生成手順、該フィールド上のステージに、ゲームに登場する複数のキャラクタをそれぞれ配置するキャラクタ配置手順、プレーヤがコントローラを介して操作可能な操作キャラクタを、前記フィールド上のステージに配置する操作キャラクタ配置手順、前記操作キャラクタが配置されたステージのキャラクタ密度を演算するキャラクタ密度演算手順、前記演算されたキャラクタ密度が所定のキャラクタ密度以下であるか否かを判定するキャラクタ密度判定手順、キャラクタ密度が所定のキャラクタ密度以下であると判定された場合に、不足するキャラクタの数を演算する不足キャラクタ数演算手順、演算された不足キャラクタを、前記操作キャラクタが配置されたステージ以外のステージから抽出し、該操作キャラクタが配置されたステージに再配置する不足キャラクタ抽出再配置手順、及び、前記操作キャラクタが配置されたステージについての画像をモニタに表示する画像表示手順を実行させるためのゲームプログラムとして構成される。
【発明の効果】
【0009】
請求項1及び3の発明によれば、操作キャラクタ(OCH)が配置されたステージ(STG)のキャラクタ密度が所定の密度以下の場合には、他のステージ(STG)から不足キャラクタが抽出され、配置されるので、フィールド(FLD)を構成する全てのステージ(STG)にキャラクタ密度を維持するだけの多数のキャラクタ(CR)を配置しなくても、常に操作キャラクタ(OCH)が行動するステージ(STG)を、所定のキャラクタ密度に維持しておくことができ、賑わいや華やかさなどを容易に演出することが出来る。
【0010】
即ち、キャラクタ(CR)を、操作キャラクタ(OCH)が配置されたステージ(STG)とそれ以外のステージとの間でやりくりすることにより、最小限の所定のキャラクタ(CR)数で、操作キャラクタ(OCH)が配置されたステージ(STG)については、常に所定のキャラクタ密度を維持させることが出来る。これにより、ステージ中の賑わいや華やかさなど、ゲームの興趣を維持しつつ、CPUがリアルタイムに制御すべきキャラクタの数を大幅に少なくして、CPUの負荷を軽減することが出来、ゲームの円滑な進行が可能となる。
【0011】
請求項2の発明によれば、不足キャラクタ(CR)は、操作キャラクタが配置されたステージから所定ステージ分だけ隔離された位置に存在するステージから抽出されるので、操作キャラクタOCHが隣接するステージSTGに移動した場合でも、直前に再配置された不足キャラクタ(CR)が、再度不足キャラクタ(CR)として、隣接するステージ(STG)から抽出され、当該ステージSTGに再配置されることが防止され、シナリオ展開上不自然なキャラクタ配置を避けることが出来る。
【0012】
なお、括弧内の番号等は、図面における対応する要素を示す便宜的なものであり、従って、本記述は図面上の記載に限定拘束されるものではない。
【発明を実施するための最良の形態】
【0013】
以下、図面に基づき、本発明の実施例を説明する。
【0014】
図1は、本発明が適用されるゲーム機の一例を示す制御ブロック図、図2は、3次元仮想空間に生成されるフィールドを構成するステージの概要の一例を示す図、図3は、各キャラクタの行動管理テーブルの一例を示す図、図4は、図2のフィールドにおける各キャラクタの、初期の配置状態を示す図、図5は、キャラクタ密度補正により、キャラクタの現在地が書き換えられた行動管理テーブルを示す図、図6は、図4のフィールドにおいて、キャラクタ密度補正により、不足キャラクタがステージ移動させられた状態を示す図、図7は、キャラクタ密度補正の手順の一例を示すフローチャートである。
【0015】
ゲーム装置20は、図1に示すように、記録媒体としてのROMディスク15に記録されたゲームプログラムGPRに従って所定のゲームを実行するものである。ゲーム装置20は、マイクロプロセッサを主体として構成されたCPU1と、そのCPU1に対する主記憶装置としてのROM2およびRAM3と、画像処理装置4およびサウンド処理装置6と、それらの装置に対するバッファ5、7と、ROMディスク読取装置8とを有している。ROM2には、ゲーム機の全体の動作制御に必要なプログラムとしてのオペレーティングシステムが書き込まれる。RAM3には記憶媒体としてのROMディスク15から読み取ったプログラムGPRを構成するゲーム用のプログラムやデータが必要に応じて書き込まれる。
【0016】
画像処理装置4はCPU1から画像データを受け取ってフレームバッファ5上にゲーム画面を描画するとともに、その描画された画像のデータを所定のビデオ再生信号に変換して所定のタイミングでモニタ9に出力する。サウンド処理装置6は、ROMディスク15から読み出されてサウンドバッファ7に記録された音声、楽音等のデータや音源データ等を再生してスピーカ10から出力させる。ROMディスク読取装置8は、CPU1からの指示に従ってROMディスク15上に記録されたプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。ROMディスク15にはゲームの実行に必要なプログラムやデータからなるプログラムGPRが記録されている。モニタ9には家庭用のテレビ受像機が、スピーカ10にはそのテレビ受像機の内蔵スピーカが一般に使用される。
【0017】
さらに、CPU1にはバス14を介して通信制御デバイス11が接続され、そのデバイス11には入力装置としてのコントローラ12及び補助記憶装置13が適宜な接続ポートを介してそれぞれ着脱自在に接続される。コントローラ12は入力装置として機能するものであり、そこにはプレーヤによる操作を受け付けるキーなどの操作部材が適宜設けられている。
【0018】
コントローラ12からは各操作部材の操作状態に対応した操作信号が一定周期(例えば1/60秒)で出力され、CPU1はその操作信号に基づいてコントローラ12の操作状態を判別する。コントローラ12及び補助記憶装置13は通信制御デバイス11に対して複数並列に接続可能である。
【0019】
以上の構成において、モニタ9、スピーカー10、コントローラ12、ROMディスク15及び補助記憶装置13を除く他の構成要素は所定のハウジング内に一体的に収容されてゲーム機本体16を構成する。このゲーム機本体16がコンピュータとして機能する。
【0020】
以上の構成のゲーム装置20では、ROMディスク15に記録されたプログラムをRAM3にロードしてCPU1で実行することにより、様々なジャンルのゲームをディスプレイ9の画面上でプレイすることが出来る。
【0021】
ゲーム装置20においては、所定の初期化操作(例えば電源の投入操作)が行われると、CPU1がまずROM2のプログラムに従って所定の初期化処理を実行する。初期化が終わるとCPU1はROMディスク15に格納された、プログラムGPRの読み込みを開始し、そのプログラムに従ってゲーム処理を開始する。プレーヤが入力装置であるコントローラ12を操作して所定のゲーム開始操作を行うと、CPU1はプログラムGPRの手順に従ってゲームの実行に必要な種々の制御を開始する。
【0022】
なお、本発明に係るプログラムを機能させるコンピュータとして、例えば家庭用ゲーム機としてのゲーム装置20を一例として説明したが、該ゲーム装置20は、いわゆる携帯型ゲーム機であってもよく、更に、ゲーム専用の装置でなく、一般的な音楽や映像の記録媒体の再生なども可能な装置であってもよい。また、これに限らず、コンピュータとして、例えばパーソナルコンピュータ、携帯電話機など、つまりプログラムを機能させることのできるものであれば何れのものでもよい。
【0023】
ゲームプログラムGPRは、CPU1を介して、ゲームを開始する際に、プレーヤが操作することの出来る操作キャラクタや、ゲーム中に登場する多数のキャラクタが配置され、ゲームプログラムGPRに基づく所定のシナリオ展開に基づいた行動を行う場所として、フィールドFLDを生成する。
【0024】
即ち、CPU1と共にフィールド生成手段を構成する、ゲームプログラムGPRのフィールド生成プログラムFDPは、CPU1を介して、ゲームプログラムGPRに格納されたフィールドデータファイルFDFから、フィールドFLDの生成に必要なフィールドデータFDDを読み出して、該フィールドデータFDDに基づいて、RAM3内に設定された3次元仮想空間内にフィールドFLDを生成する(図7のステップS1)。
【0025】
なお、ゲームプログラムGPRを構成する各種のプログラム及び各種のデータは、ゲームプログラムGPRのプログラム機能によって読み出し自在に有している限り、その格納態様は任意であり、本実施の形態のように、ゲームプログラムGPRなどのプログラムと共にROMディスク15中に格納するほかに、ゲーム機1とは独立したサーバーなどの外部のメモリ手段に格納しておき、ゲームプログラムGPR中に設けられた読み出しプログラムによって、インターネットなどの通信媒介手段を介してRAM3などのメモリにダウンロードするように構成してもよい。
【0026】
なお、図1に示した、プログラムGPRには、該プログラムGPRを構成する、本発明に関連するソフトウエア要素のみを記述しており、プログラムGPRには、図1に記載された以外に、当該プログラムGPRを用いてゲームを実行する上で必要な多様なプログラム及びデータが格納されている。
【0027】
フィールド生成プログラムFDPが、CPU1を介してRAM3内に生成するフィールドFLDは、図2に示すように、3次元仮想空間のワールド座標上で互いに連続する空間として設定された形で設定された複数のステージSTGから構成されており、それらステージSTGは、図2の場合、符号AからLの12のステージから構成されている。各ステージには、前述のように符号「A」から「L」までのステージ識別符号SDGが付されている。なお、各フィールドFLDを構成するステージ数は任意であるが、フィールドFLDを構成するステージ数が多いほど、本発明の効果は発揮される。
【0028】
フィールドFLDには、フィールド生成プログラムFDP及びフィールドデータFDDにより、CPU1を介して、図2に示すように、キャラクタをフィールドFLD上で移動させる際に、キャラクタの通る経路が移動経路PASとして、フィールドFLDを構成する各ステージSTG間を連絡する形で設定される。この移動経路PASは、説明を簡単にするために格子状の単純な線で設定されているが、実際には、フィールドFLD上に設定されるレストラン、学校、ショップなどの建物、庭園、街路その他の固定(背景)オブジェクトの設置態様に応じて、各ステージSTG内及び隣接するステージSTG間で複雑に設定される。
【0029】
フィールド生成プログラムFDPにより、フィールドFLDが移動経路PASと共に生成されたところで、ゲームプログラムGPRは、CPU1と共に操作キャラクタ配置手段を構成する、ゲームプログラムGPRを構成するシナリオ進行プログラムSAPに基づいて、プレーヤがコントローラ12を介して操作可能な操作キャラクタOCHを配置すべきステージSTG及び該ステージSTG内での配置座標位置を決定する(図7のステップS2)。
【0030】
ゲームプログラムGPRは、操作キャラクタOCHを配置すべきステージSTGを決定する演算と共に、CPU1と共にキャラクタ配置手段を構成する、キャラクタ設定プログラムCPPにより、ゲームに登場する操作キャラクタOCH以外の各キャラクタCRについて、ゲーム開始時に配置すべきステージSTG(現在地)及び各キャラクタCRのゲーム開始時における移動する先を示した目的地を設定する(図7のステップS3)。
【0031】
操作キャラクタOCH以外の各キャラクタCHは、それぞれ行動すべき課題が、個別行動プログラムIAPとして与えられており、それらは、ゲームプログラムGPR内の個別キャラクタファイルICF内に、各キャラクタCR毎に格納されている。従って、各キャラクタCRは、当該個別行動キャラクタファイルICFに格納された当該キャラクタCRについての個別行動プログラムIAPに基づいてそのフィールドFLD上での行動が、キャラクタ管理プログラムCMPによりCPU1を介して制御される。
【0032】
個別行動プログラムIAPは、例えば、図3に示すように、ゲームが開始(ゲームそのものを全く最初から開始する他に、既にゲームを始めていて、一旦中断してその途中までのゲームデータをセーブデータとして補助記憶装置13に格納しておき、更に当該セーブデータを補助記憶装置13からRAM3にロードすることによりゲームを再開する場合も含む)された、ゲーム世界におけるある時点に置いて、当該キャラクタCRが配置されるフィールドFLD内での位置(現在地PP)と、当該キャラクタCRについてその時点での移動先である目的地DSを、設定する。これらの設定は、各キャラクタCR毎に設定された個別行動プログラムIAPにより、シナリオ展開に応じて適宜設定される。なお、現在地PP及び目的地DSは、図3に示すように、フィールドFLDのステージSTGを区別するための「A」から「L」までの符号からなるステージ識別符号SDGと、当該ステージSTG内でのキャラクタの位置を示す座標位置データCODから構成されている。
【0033】
キャラクタ管理プログラムCMPは、各キャラクタCRの個別行動プログラムIAPにより決定された、ゲームを開始すべき時点における、当該キャラクタCRを配置すべきステージSTG(現在地PP)及び各キャラクタCRの目的地DSを集計して、図3に示すようなキャラクタ行動管理テーブルCBTを作成し、RAM3内に格納する。キャラクタ行動管理テーブルCBTには、操作キャラクタOCHとゲーム内で係わって何らかのシナリオ展開を行うことが出来るようにシナリオ進行プログラムSAPにより設定されている全てのキャラクタCRについて、作成される。本実施例では、約300体のキャラクタについてキャラクタ行動管理テーブルCBTが作成されるが、キャラクタの人数はCPU1及びメモリであるRAM3の容量に合わせて適宜設定が可能である。
【0034】
こうして、ゲーム世界内の操作キャラクタOCHと関わりを持つ可能性のある全てのキャラクタCRについて、行動管理テーブルCBTが、図3に示すように作成されると、キャラクタ設定プログラムCPPは、それらキャラクタCRを、フィールドFLD内の、キャラクタ行動管理テーブルCBTにおいて現在地PPとして指定された座標位置に配置設定する(図7のステップS4)。また、同時に、シナリオ進行プログラムSAPにより決定された所定のステージSTGの所定の座標位置に、操作キャラクタOCHを配置設定する。
【0035】
これにより、フィールドFLD上には、図4に示すように、ゲーム世界に登場する全てのキャラクタCR及び操作キャラクタOCHが、所定のステージSTGの所定の座標位置に配置されることとなる。なお、図4に示すものは、説明を簡単にするために操作キャラクタOCH以外のキャラクタCRが7体の場合について説明するが、実際のゲームの場合には、各ステージに配置されるキャラクタCRの数は、数十体から数百体程度となる。
【0036】
こうして、キャラクタCR及び操作キャラクタOCHが、フィールドFLD上に配置されたところで、ゲームプログラムGPRは、CPU1と共にキャラクタ密度演算手段及びキャラクタ密度判定手段を構成する、キャラクタ密度調整プログラムCDJに基づいて、操作キャラクタOCHが配置されたステージSTGのキャラクタ密度を演算する(図7のステップS5)。キャラクタ密度調整プログラムCDJは、演算されたキャラクタ密度が、当該ステージSTGについてゲームプログラムGPRにより予め設定されているキャラクタ密度に達しているか否かを判定する(図7のステップS6)。各ステージSTGには、当該ステージSTGについてのキャラクタ密度が、属性データとしてフィールドデータFDDに格納されているので、この判定は容易に行うことが出来る。
【0037】
このステージSTGにおけるキャラクタ密度は、ゲームのフィールドFLDが、例えば学校のキャンバスであったり、テーマパークであったりした場合、当該フィールドFLD上には、ある程度のキャラクタCRが配置されていなければ、ゲームのシナリオが展開されるフィールドFLDとして、不自然なものとなる。しかし、多数のステージSTGから構成されるフィールドFLD全体を、当該フィールドFLDに設定された場所にふさわしいキャラクタ密度となるようにするには、極めて多数のキャラクタCRを、フィールドFLD全体に配置し、それらキャラクタCRの行動を同時に制御する必要が生じ、CPU1に極めて重い負荷が掛かり、ゲームの円滑な進行が妨げられる危険性が生じる。
【0038】
本実施例の、フィールドFLDの場合は、所定のキャラクタCR密度を必要とする、学校のキャンバスとして設定されており、操作キャラクタOCHが移動可能なフィールドFLD上の全てのステージSTGは、少なくとも操作キャラクタOCHが当該ステージにいる間は、所定のキャラクタCR密度が維持されている必要がある。また、フィールドFLDに登場するキャラクタCRに対して、プレーヤは操作キャラクタOCHを介して接触し、会話をしたり、各種のイベントを行ったりすることが出来るように、ゲームプログラムGPRにより設定されている。
【0039】
即ち、例えば、図4に示すフィールドの場合、操作キャラクタOCHが配置された識別符号SDGが「A」のステージSTGは、操作キャラクタOCH以外のキャラクタCRがキャラクタ管理プログラムCMPにより、ゲーム開始時には、2体しか配置されていないが、当該ステージSTGに対応するフィールドデータFDDにおいては、識別符号SDGが「A」のステージSTGは、学校のキャンバスにおけるキャラクタ密度として、操作キャラクタOCH以外のキャラクタCRが4人/ステージと設定されており、キャラクタ密度調整プログラムCDJは、CPU1を介して図7のステップS5及びS6で、操作キャラクタOCHが配置された識別符号SDGが「A」のステージSTGのキャラクタ密度は、予め設定されているキャラクタ密度よりも低いものと判定される。
【0040】
なお、図4のフィールドFLDは、既に述べたように、説明の便宜のために操作キャラクタOCH以外のキャラクタCRが7体しか設定されていない場合について説明しているが、キャラクタ管理プログラムCMPにより当該ステージSTGに配置されるキャラクタCRの数は、実際のゲームでは、フィールドFLD全体に配置される数百体のキャラクタCRのうち、例えば20体〜30体(何体でも可)など、個別行動プログラムIAPによる演算結果に応じて、適宜な数が配置される。
【0041】
キャラクタ密度が、当該ステージSTGについてゲームプログラムGPRにより予め設定されているキャラクタ密度に達していないものと判定された場合には、CPU1と共に不足キャラクタ数演算手段を構成する、キャラクタ密度調整プログラムCDJは、当該ステージSTGについて、当該ステージSTGに設定されているキャラクタ密度に達するのに必要なキャラクタCRの数、即ち不足しているキャラクタCRの数を演算する。図4の場合、予めフィールドデータFDDにより設定されたキャラクタ密度(設定キャラクタ密度)は、4体なので、現在配置されたキャラクタCRの数である2体に基づいて、不足キャラクタ数を「2体」と演算する。
【0042】
不足キャラクタCRが、演算されたところで、CPU1及びキャラクタ管理プログラムCMPと共に不足キャラクタ抽出再配置手段を構成する、キャラクタ密度調整プログラムCDJは、キャラクタ管理プログラムCMPに割り込みを掛けて、不足している不足キャラクタCRを、他のステージSTGから選択収集するように指令する。これを受けて、CPU1と共にステージ選択手段及び不足キャラクタ抽出手段を構成する、キャラクタ管理プログラムCMPは、CPU1を介して、図7のステップS2で、設定された各キャラクタCRの、フィールドFLD上での配置状態を参照して、現在操作キャラクタOCHが配置されているステージSTGから、水平方向に2ステージ以上、3次元仮想空間において離れて設定されているステージSTG、図4の場合、識別符号SDGが、「C」、「D」、「G」、「H」、「I」、「J」、「K」、「L」のステージSTGを選択し、それら選択されたステージに配置されているキャラクタCRを、キャラクタ行動管理テーブルCBTの現在地PPを参照することにより無作為に抽出する。図4の場合、「C」、「D」、「G」、「H」、「I」、「J」、「K」、「L」のステージSTGに配置されているキャラクタCRは、3体であるが、既に述べたように、実際には、キャラクタ管理プログラムCMPによりその行動が制御されている多数のキャラクタCRが、それらステージSTGには配置されており、それら多数のキャラクタCRの中から、不足キャラクタ数に相当するキャラクタCRを無作為に抽出する。
【0043】
なお、キャラクタ管理プログラムCMPが、不足キャラクタCRを選択収集するステージSTGは、操作キャラクタOCHが配置されているステージSTGに直接隣接するステージSTG、あるいは、操作キャラクタOCHが配置されたステージSTGから、フィールドFLD上で所定距離内に存在するステージは除外することが望ましい。即ち、操作キャラクタOCHが配置されたステージSTGに対して、不足キャラクタを抽出するステージは、操作キャラクタOCHが配置されたステージSTGに対して所定ステージだけ隔離された位置に存在するステージであることが望ましい。
【0044】
これは、操作キャラクタOCHが、隣接するステージSTG間を頻繁に移動したような場合に、移動した先のステージSTGに、今までいたステージSTGのキャラクタCRが、キャラクタ密度を維持するためにキャラクタ管理プログラムCMPにより集められて当該ステージSTGに再配置されることによる不自然さを回避するために必要である。
【0045】
こうして、キャラクタ管理プログラムCMPにより、操作キャラクタOCHが配置されたステージSTGのキャラクタ密度を充足させるための不足キャラクタCRが、周囲のステージSTGから無作為に選択抽出される。例えば図4の場合、識別符号SDGが「G」及び「J」のステージSTGに、ゲーム開始時に配置されたキャラクタCRである「ユウコ」と「レナ」が、抽出される。
【0046】
不足キャラクタCRがキャラクタ管理プログラムCMPにより、周囲のステージSTGから無作為に抽出されたところで、キャラクタ密度調整プログラムCDJは、CPU1を介して、当該選択抽出された2体のキャラクタCRを、操作キャラクタOCHが配置された識別符号SDGが「A」のステージSTGに、図6に示すように配置する。すると、当該識別符号SDGが「A」のステージSTGは、それまでの2体のキャラクタCRに加えて、新たに加えられた2体のキャラクタCRにより、そのキャラクタ密度は、4体/ステージSTGとなり、当該ステージSTGについてフィールドデータFDDにより設定されているキャラクタ密度を充足することとなる。
【0047】
なお、フィールドデータFDDで、各ステージSTGの属性データとして格納されているキャラクタ密度のデータは、各ステージSTG毎に異なっていても良いことはもちろんである。これにより、同じフィールドFLD上であっても、例えば図書館の周辺のステージSTGでは、ややキャラクタ密度を小さく設定し、学生食堂の付近では、キャラクタ密度を周辺のステージSTGよりも大きく設定するなどの木目の細かな設定が可能となる。
【0048】
既に述べたように、識別符号SDGが「A」のステージSTGのキャラクタ密度は、それまでの2体/ステージから、4体/ステージとなり、操作キャラクタOCHが配置されたステージSTGにフィールドデータFDDにより規定されたキャラクタ密度を充足することができる。
【0049】
一方、キャラクタ密度調整プログラムCDJにより、不足キャラクタCRが操作キャラクタOCHが配置されたステージSTGに再配置されたところで、キャラクタ管理プログラムCMPは、当該周辺のステージSTGから抽出され、操作キャラクタOCHの配置されたステージSTGに再配置されたキャラクタCRについて、RAM3内のキャラクタ行動管理テーブルCBTに格納された現在地PPを、ゲーム開始時に個別行動プログラムIAPにより設定された現在地PPから、再配置された操作キャラクタOCHが配置されたステージSTGにおける座標位置に、図5に示すように、更新する。即ち、図5の場合、「レナ」と「ユウコ」の現在地PPが、それまでのステージSTGを示すステージ識別符号SDGが「J」及び「G」から、「A」のステージ識別符号SDGへ書き換えられる。なお、ステージ識別符号SDGが「A」のステージSTG内での各不足キャラクタCRの座標位置は、キャラクタ密度調整プログラムCDJにより、不足キャラクタCRを操作キャラクタOCHが配置されているステージSTGに再配置する際に、ランダムに決定されるので、当該決定された各不足キャラクタCRの座標位置を、座標位置データCODとして、前述のステージ識別符号SDGと共に更新格納する。
【0050】
こうして、図6に示すように、不足キャラクタCRが補充されて所定のキャラクタCR密度になった、識別符号SDGが「A」のステージSTGでは、シナリオ進行プログラムSAにより、ゲームのシナリオ進行が開始されるが、その際、フィールドFLD上に配置された全てのキャラクタCRの行動は、個々のキャラクタCRについて設定されている個別行動プログラムIAPに基づいて制御される。
【0051】
従って、フィールドFLD上の全てのキャラクタCRは、図5に示す更新されたキャラクタ行動管理テーブルCBTに格納されたそれぞれの目的地DSへ向けて、個別行動プログラムIAPによりCPU1を介して、移動経路PAS上を移動制御される。
【0052】
また、ゲームのシナリオ進行が開始されると、画像処理装置4,フレームバッファ5及びモニタ9と共に画像表示手段を構成する、ゲームプログラムGPRの画像生成プログラムPPPが、CPU1及び画像処理装置4を介して、操作キャラクタOCHが配置されたステージSTGについて、RAM3内に当該ステージを構成する背景オブジェクトや、操作キャラクタOCH及びキャラクタCRのポリゴンモデルからなるキャラクタオブジェクトを配置し、それら配置されたオブジェクトを図示しない仮想カメラによりレンダリングすることにより、二次元画像を生成してフレームバッファ5を介してモニタ9に表示する。
【0053】
この際、モニタに表示される画像は、フィールドデータFDDで指定されたキャラクタ密度のステージSTGの3次元モデルに基づいて生成されるので、当該ステージSTGにおいて予定された、華やかさや賑やかさなどを演出することが出来る。
【0054】
なお、図7のステップS6で、操作キャラクタOCHが配置されたステージSTGのキャラクタ密度が、当該ステージSTGについてゲームプログラムGPRにより予め設定されているキャラクタ密度に達しているものと判定された場合には、直ちにステップS8に入り、操作キャラクタOCHが配置されたステージSTGについて、RAM3内に当該ステージを構成する、建物や樹木などのステージSTGを構成する背景オブジェクトや、操作キャラクタOCH及びキャラクタCRのポリゴンモデルからなるキャラクタオブジェクトを配置し、それら配置されたオブジェクトを仮想カメラによりレンダリングすることにより、二次元画像を演算取得してフレームバッファ5を介してモニタ9に表示する。なお、これらの二次元画像の演算取得手法に関しては、仮想カメラを用いる方法の他に、公知の各種のレンダリング手法を用いることが可能である。
【0055】
なお、キャラクタ密度調整プログラムCDJにより、不足キャラクタCRが他のステージSTGから抽出されることにより、当該不足キャラクタCRが抽出された元のステージSTGでは、抽出されたキャラクタCRがいなくなることで、当該ステージSTGについてフィールドデータFDDにより規定されたキャラクタ密度が、維持出来なくなる可能性が有るが、当該ステージSTGは、現在操作キャラクタOCHが配置されたステージSTGから所定の距離だけ、三次元仮想空間のフィールドFLD上で離れており、操作キャラクタOCHが、現在配置されているステージSTGから当該不足キャラクタCRが抽出されたステージSTGに移動するには、両者の間に介在する他のステージSTGを少なくとも一つ以上通過する必要があるので、ステージSTGを移動した操作キャラクタOCHが、直ちに、キャラクタCRがいなくなったステージSTGに入ってしまって、当該ステージSTGについて大幅なキャラクタ密度の低下が生じるような事態を未然に防止することが出来る。
【0056】
また、フィールドFLD上の全てのキャラクタCRは、既に述べたように、各キャラクタCRについて設定された個別行動プログラムIAPにより、その目的地DSが規定され、キャラクタ管理プログラムCMPにより、CPU1を介して当該目的地DSに向けて移動するように制御されるので、プレーヤのコントローラ12を介してた指示により、操作キャラクタOCHが当該キャラクタCRに対して話しかけるなどの交渉動作を行わない限り、操作キャラクタOCHの存在とは無関係にその行動が、目的地DSに向けた形で制御されることとなる。
【0057】
これにより、例えば、図6に示すように、操作キャラクタOCHが、ステージ識別符号SDGが「A」のステージから、一旦「B」のステージSTGに入り、その後、すぐに、再度「A」のステージSTGに戻ったような場合でも、「A」のステージSTGをはじめフィールドFLD上の全てのキャラクタCRは、目的地DSに向けて移動経路PAS上を移動してゆくように常に制御されているので、キャラクタCRは操作キャラクタOCHのステージSTG間の移動動作とは無関係に、操作キャラクタOCHがステージSTG間を移動している間においても、それぞれのキャラクタCRがそれぞれの目的地に向けて移動経路PAS上を移動してゆくように制御される。
【0058】
これにより、こうした場合にありがちな、「A」のステージSTGに再度戻った場合に、各キャラクタCRの行動がリセットされ、操作キャラクタOCHが当該ステージSTGを出た際に行っていた行動とは異なる行動を取るようなことは、未然に防止され、各キャラクタCRの行動の一貫性が維持され、各キャラクタCRの行動を自然な形で表現することが出来る。
【0059】
こうして、操作キャラクタOCHは、フィールドFLD上の各ステージSTG間を移動する形でシナリオがシナリオ進行プログラムSAPにより進行してゆくが、操作キャラクタOCHがステージSTGを移動した場合には、当該移動先のステージSTGにおいても、既に述べたキャラクタ密度調整プログラムCDJによるCPU1を介した、キャラクタ密度の調整動作が行われる。これにより、操作キャラクタOCHが新たに進入したステージSTGが、当該ステージについてフィールドデータFDDにより設定されているキャラクタ密度となるように制御されるので、フィールドFLD上のキャラクタCRの総数が、フィールドFLD全体でそれぞれのステージSTGが規定するキャラクタ密度を同時に満たすことの出来ない数のキャラクタCRしか設定されていなくても、操作キャラクタOCHが配置されたステージSTG以外の他のステージSTGから不足キャラクタCRを抽出して、操作キャラクタOCHが配置されたステージSTGに再配置することにより、あたかも全てのステージSTGで、キャラクタ密度が満たされているようにプレーヤに感じさせることが出来、少人数のキャラクタCRでフィールドFLDにけるキャラクタ密度を良好な状態に維持することが出来る。
【0060】
このように、キャラクタCRを、操作キャラクタOCHが配置されたステージSTGとそれ以外のステージとの間でやりくりすることにより、CPU1が本来管理すべきキャラクタ数を、全てのステージSTGにおいて同時に、所定のキャラクタ密度を維持した場合に必要なキャラクタ数、即ち、
(各ステージにおけるキャラクタ配置密度を維持するのに必要なキャラクタ数)×ステージ数
よりも、大幅に少なくすることが出来る。
【0061】
そして、操作キャラクタOCHが配置されたステージSTGについては、最小限の所定のキャラクタCR数で、常に所定のキャラクタ密度を維持させることが出来る。これにより、ステージ中の賑わいや華やかさなど、ゲームの興趣を維持しつつ、CPU1がリアルタイムに制御すべきキャラクタの数を大幅に少なくして、CPUの負荷を軽減することが出来、ゲームの円滑な進行が可能となる。
【0062】
以上の実施形態においては、CPU1がゲーム制御装置を構成し、そのCPU1と特定のソフトウエアとの組み合わせによってゲーム制御装置の各種の手段を構成したが、それらの手段の少なくとも一部は論理回路に置換してもよい。また、本発明は家庭用ゲームシステムに限らず、種々の規模のゲームシステムとして構成してよい。
【産業上の利用可能性】
【0063】
本発明は、コンピュータを利用した電子ゲーム機器及びコンピュータに実行させる娯楽用ゲームプログラムとして利用することが出来る。
【図面の簡単な説明】
【0064】
【図1】図1は、本発明が適用されるゲーム機の一例を示す制御ブロック図。
【図2】図2は、3次元仮想空間に生成されるフィールドを構成するステージの概要の一例を示す図。
【図3】図3は、各キャラクタの行動管理テーブルの一例を示す図。
【図4】図4は、図2のフィールドにおける各キャラクタの、初期の配置状態を示す図。
【図5】図5は、キャラクタ密度補正により、キャラクタの現在地が書き換えられた行動管理テーブルを示す図。
【図6】図6は、図4のフィールドにおいて、キャラクタ密度補正により、不足キャラクタがステージ移動させられた状態を示す図。
【図7】図7は、キャラクタ密度補正の手順の一例を示すフローチャート。
【符号の説明】
【0065】
1……CPU
3……メモリ(RAM)
4……画像処理装置
5……フレームバッファ
9……モニタ
CR……キャラクタ
CDJ……キャラクタ密度調整プログラム
CMP……キャラクタ管理プログラム
IAP……個別行動プログラム
PPP……画像生成プログラム
SAP……シナリオ進行プログラム
STG……ステージ
OCH……操作キャラクタ

【特許請求の範囲】
【請求項1】
ワールド座標の設定された三次元仮想空間をメモリ内に設定し、前記ワールド座標上で互いに連続した複数のステージからなるフィールドを生成するフィールド生成手段、
該フィールド上のステージに、ゲームに登場する複数のキャラクタをそれぞれ配置するキャラクタ配置手段、
プレーヤがコントローラを介して操作可能な操作キャラクタを、前記フィールド上のステージに配置する操作キャラクタ配置手段、
前記操作キャラクタが配置されたステージのキャラクタ密度を演算するキャラクタ密度演算手段、
前記演算されたキャラクタ密度が所定のキャラクタ密度以下であるか否かを判定するキャラクタ密度判定手段、
キャラクタ密度が所定のキャラクタ密度以下であると判定された場合に、不足するキャラクタの数を演算する不足キャラクタ数演算手段、
演算された不足キャラクタを、前記操作キャラクタが配置されたステージ以外のステージから抽出し、該操作キャラクタが配置されたステージに再配置する不足キャラクタ抽出再配置手段、及び、
前記操作キャラクタが配置されたステージについての画像をモニタに表示する画像表示手段、
からなる、ゲーム装置。
【請求項2】
前記不足キャラクタ抽出再配置手段は、前記操作キャラクタが配置されたステージから所定ステージ分だけ隔離された位置に存在するステージを、不足キャラクタを抽出するステージとして選択するステージ選択手段、及び、
該選択されたステージから前記不足キャラクタを抽出する不足キャラクタ抽出手段を有する、
請求項1記載のゲーム装置。
【請求項3】
コンピュータに、
ワールド座標の設定された三次元仮想空間をメモリ内に設定し、前記ワールド座標上で互いに連続した複数のステージからなるフィールドを生成するフィールド生成手順、
該フィールド上のステージに、ゲームに登場する複数のキャラクタをそれぞれ配置するキャラクタ配置手順、
プレーヤがコントローラを介して操作可能な操作キャラクタを、前記フィールド上のステージに配置する操作キャラクタ配置手順
前記操作キャラクタが配置されたステージのキャラクタ密度を演算するキャラクタ密度演算手順、
前記演算されたキャラクタ密度が所定のキャラクタ密度以下であるか否かを判定するキャラクタ密度判定手順、
キャラクタ密度が所定のキャラクタ密度以下であると判定された場合に、不足するキャラクタの数を演算する不足キャラクタ数演算手順、
演算された不足キャラクタを、前記操作キャラクタが配置されたステージ以外のステージから抽出し、該操作キャラクタが配置されたステージに再配置する不足キャラクタ抽出再配置手順、及び、
前記操作キャラクタが配置されたステージについての画像をモニタに表示する画像表示手順、
を実行させるためのゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−20758(P2006−20758A)
【公開日】平成18年1月26日(2006.1.26)
【国際特許分類】
【出願番号】特願2004−200425(P2004−200425)
【出願日】平成16年7月7日(2004.7.7)
【出願人】(000105637)コナミ株式会社 (106)
【Fターム(参考)】