JP2008136693A - プログラム、情報記憶媒体及びゲーム装置 - Google Patents

プログラム、情報記憶媒体及びゲーム装置 Download PDF

Info

Publication number
JP2008136693A
JP2008136693A JP2006326371A JP2006326371A JP2008136693A JP 2008136693 A JP2008136693 A JP 2008136693A JP 2006326371 A JP2006326371 A JP 2006326371A JP 2006326371 A JP2006326371 A JP 2006326371A JP 2008136693 A JP2008136693 A JP 2008136693A
Authority
JP
Japan
Prior art keywords
room
game
game field
passage
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006326371A
Other languages
English (en)
Inventor
Tetsuya Otsu
哲也 大津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2006326371A priority Critical patent/JP2008136693A/ja
Publication of JP2008136693A publication Critical patent/JP2008136693A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】 自動生成されたゲームフィールドのフィールドマップ表示をより見易くする。
【解決手段】複数の単位領域がマトリクス上に配置されたマップ構築可能領域22内に、複数の通路や部屋といったゲームフィールドを構成する要素を少なくともその一部をランダム配置してフィールドマップを生成する。フィールドマップの外形範囲を、マップ構築可能領域22で部屋又は通路が配置されているX軸、Y軸それぞれの最大座標と最小座標とで囲まれる矩形のトリミング枠24として求め、このトリミング枠24でマップ構築可能領域22をトリミングしてフィールドマップをコンパクト化する。
【選択図】図6

Description

本発明は、コンピュータに、ゲーム画像を生成させてゲームを実行させるためのプログラム等に関する。
近年のビデオゲームでは、3次元仮想空間に形成されたゲームフィールドに、プレーヤが操作するゲームキャラクタのオブジェクトを配置してプレーヤによる操作入力や予め設定された動きでそれらを動作制御し、その様子を仮想カメラで撮影した画像を生成してゲーム画面に表示するものが多くみられる。
ここで言う「ゲームフィールド」は、ゲーム内でプレーヤが操作するプレーヤキャラクタが移動可能な領域であり、例えばロールプレイングゲーム(RPG)におけるダンジョンは最も分かり易い例である。多くのゲームソフトでは、予めゲームフィールドの構造データが用意されていてゲームを何時始めても同じ構造のゲームフィールドを楽しめる構成となっているが、中にはゲームをする都度ゲームフィールドの構造が異なるようにゲームフィールドの自動生成機能が設けられたゲームも有る。
ゲームフィールドの自動生成に係る技術としては、例えば、m×n個(m、nは自然数)の複数の矩形ブロックからなる格子空間内に所定数のブロックが連なってなる一本の本通路を形成し、この本通路を構成するブロック群のうち末端を除く中間のブロックから選択された分岐起点ブロックを起点として分岐路を形成することによって迷路を自動的に生成する技術が知られている(例えば、特許文献1参照)。
また、ゲームフィールドの外形や構造を定めるフィールドマップの境界線を変形させてより自然な輪郭を形成する技術も知られるところである(例えば、特許文献2参照)。
特許第3270929号公報 特許第3270928号公報
ところで、従来技術のようにゲームフィールドを自動生成する場合、ゲームフィールドを構築可能な範囲(特許文献1の例では格子空間がこれに該当する。)に満遍なくゲームフィールドが形成されるとは限らず、ゲームフィールドが偏って形成され、ゲームフィールドの構成要素が何も形成されていない空領域が残されてしまうケースが見られる。
そうした場合、ゲーム画面内の一部に設定された所謂「マップ表示画面」や「レーダ画面」内にゲームフィールドの地図情報としてフィールドマップを表示しようとすると、ゲームフィールドの要素が何も形成されていない空領域も含めて表示することになる。そのため、ゲームフィールドが偏って形成されているほど、本来必要なゲームフィールドが所定領域内で占める表示割合が小さくなり、「マップ表示画面」や「レーダ画面」として甚だ見難いものになってしまうといった問題があった。
また、ゲームフィールドには、プレーヤキャラクタが移動可能な複数の移動経路部と、この移動経路部よりも広い複数の活動領域部とが連結されて構成されたものがある。こうしたタイプのゲームフィールドは、例えば複数の部屋(活動領域部)が通路(移動経路部)で結ばれて一体に連結されたダンジョン、道路や鉄道(移動経路部)などで結ばれた街(活動領域部)、通信回線(移動経路部)で結ばれた複数のコンピュータ(活動領域部)、運河(移動経路部)で結ばれた複数の湖沼(活動領域部)、橋(移動経路部)で結ばれた島群などといった設定となって用いられる。
こうしたタイプのゲームフィールドでは、活動領域部ではプレーヤキャラクタの行動は、敵との交戦やノン・プレーヤキャラクタとの会話、アイテムの探索など比較的豊富でありゲームプレイの中核を成すのであるが、移動経路部を移動中のプレーヤキャラクタは移動が主たる動作となることが多い。つまり、プレーヤにとって見れば移動経路部での移動は単なる部屋や活動場所の変更に付随するものでしかなく、移動によってゲームの緊張感や集中力も途切れがちになり、謂わば「つまらない」時間となる。こうした状況はゲームを楽しむ観点からすれば好ましくない。
更には、移動経路部の長さが長くなるとその分ゲームフィールドに係るデータ量が多くなるため、処理負荷軽減の観点からしても、できるだけコンパクトなゲームフィールドであることが望まれる。
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、自動生成されたゲームフィールドのフィールドマップ表示をより見易くすることである。更には、プレーヤキャラクタが移動可能な複数の移動経路部と、この移動経路部よりも広い複数の活動領域部とが連結されて構成されたゲームフィールドを生成する際には、活動領域部間の移動距離ができるだけ短くなるようにコンパクトなゲームフィールドを生成することを目的としている。
上記の課題を解決する第1の発明は、コンピュータに、ゲーム画像を生成させてゲームを実行させるためのプログラムであって、予め大きさが定められたゲームフィールド構築可能領域(例えば、図3のマップ構築可能領域22)内に、複数の通路部(例えば、図3の通路PS1〜PS4)及び複数の部屋部(例えば、図3の部屋R1〜R5)のうち少なくとも一部をランダムに配置してキャラクタが移動可能なゲームフィールドを構築するゲームフィールド構築手段(例えば、図8の処理部200、ゲーム演算部210、マップ自動生成部212、図12のステップS2、S10)、前記ゲームフィールド構築可能領域の中から前記構築されたゲームフィールドの外形範囲を抽出する外形範囲抽出手段(例えば、図8の処理部200、ゲーム演算部210、マップトリミング部214、図12のステップS4)、ゲーム画面中の予め定められた位置に表示されるゲームフィールド全体表示部(例えば、図2のマップ表示領域16)にゲームフィールド全体範囲を表示する際に、前記外形範囲抽出手段により抽出された範囲を当該ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化させて表示させる全体表示部制御手段(例えば、図8の処理部200、画像生成部260、図12のステップS18)、として前記コンピュータを機能させるためのプログラムである。
また、別の形態としての第12の発明は、予め大きさが定められたゲームフィールド構築可能領域内に、複数の通路部及び複数の部屋部のうち少なくとも一部をランダムに配置してキャラクタが移動可能なゲームフィールドを構築するゲームフィールド構築手段と、
前記ゲームフィールド構築可能領域の中から前記構築されたゲームフィールドの外形範囲を抽出する外形範囲抽出手段と、ゲーム画面中の予め定められた位置に表示されるゲームフィールド全体表示部にゲームフィールド全体範囲を表示する際に、前記外形範囲抽出手段により抽出された範囲を当該ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化させて表示させる全体表示部制御手段と、を備えたゲーム装置である。
第1及び第12の発明によれば、ゲームフィールド構築手段で構築したゲームフィールドの外形範囲に含まれる部分を、ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化して表示させることができる。つまり、ゲームフィールド構築可能領域では有るがゲームフィールドとして利用されない領域部分をゲームフィールド全体表示部に表示させずに済むので、その分実際にゲーム中に利用可能なゲームフィールドの範囲をゲームフィールド全体表示部に適合するより大きなサイズで表示でき、プレーヤはプレイし易くなる。
第2の発明は、第1の発明のプログラムであって、前記ゲームフィールド構築手段により構築されたゲームフィールドのうち、部屋部にNPC(ノン・プレーヤキャラクタ;例えば、図2の敵キャラクタ8)を初期配置するNPC初期配置手段(例えば、図8の処理部200、ゲーム演算部210、図12のステップS10)、所与の位置に初期配置されたPC(プレーヤキャラクタ;例えば、図2のプレーヤキャラクタ6)をプレーヤの操作入力に従って制御するPC制御手段(例えば、図8の処理部200、ゲーム演算部210、図12のステップS12)、前記NPC初期配置手段により配置されたNPCを制御するNPC制御手段(例えば、図8の処理部200、ゲーム演算部210、図12のステップS12)、として前記コンピュータを機能させるためのプログラムである。
第2の発明によれば、第1の発明と同様の効果を奏するとともに、部屋部にNPCを配置する一方でPCをゲームフィールドの所与の位置に配置して、プレーヤの操作入力に従ってPCを制御し、また配置されたNPCを制御することができる。つまり、PCを部屋部から部屋部へ移動させながらゲームを楽しむことができる。
第3の発明は、第2の発明のプログラムであって、
前記NPC初期配置手段が、通路部にはNPCを初期配置しないように前記コンピュータを機能させるためのプログラムである。
第3の発明によれば、第2の発明と同様の効果を奏するとともに、通路部にはNPCを初期配置しなくて済む。つまり、様々な大きさが想定されるNPCが配置可能なように通路部の幅を設定しなくて済むので、通路部の幅をプレーヤキャラクタ(PC)が移動するのに必要十分な幅に設定すればよく、ゲームフィールドのコンパクト化を高めるのに寄与する。
第4の発明は、第2又は第3の発明のプログラムであって、前記各部屋部には属性が定められており、前記NPC初期配置手段が、前記各部屋部の属性に応じて、配置するNPCを決定するように前記コンピュータを機能させるためのプログラムである。
ここで言う「属性」とは、例えばRPGならば「火」「水」「闇」など魔法属性に類するものや、ゲームフィールドを屋外とする設定ならば部屋部を「草原」「砂漠」「沼地」など地理的属性といったものがこれに該当する。
第4の発明によれば、第2又は第3の発明と同様の効果を奏するとともに、部屋部の属性に応じてNPCを配置できるので、あたかも部屋部の特徴にあったNPCが生活・生息しているかのようなゲームフィールドを生成できるので、ゲーム内世界のリアリティを高めることができる。
第5の発明は、第4の発明のプログラムであって、前記通路部には属性が定められており、前記ゲームフィールド構築手段が、配置する通路部を、当該通路部が通じる部屋部の属性に応じた通路部とするように前記コンピュータを機能させるためのプログラムである。
第5の発明によれば、第4の発明と同様の効果を奏するとともに、通路が通じる部屋部の属性に応じた通路部とすることができる。例えば、「石造り」の部屋部に通じる通路部に「石造り」風のテクスチャを適用することで、部屋部と通路部との視覚的な繋がり感を高め、更にはゲームフィールドの一体感を高めることができる。
第6の発明は、第1〜第5の何れかの発明のプログラムであって、前記ゲームフィールド構築手段により構築された前記ゲームフィールドの通路部を短縮化させて前記ゲームフィールドを補正する短縮化手段(例えば、図8の処理部200、ゲーム演算部210、マップ自動生成部212、図13のステップS66)として前記コンピュータを機能させるためのプログラムである。
第6の発明によれば、第1〜第5の何れかの発明と同様の効果を奏するとともに、構築された前記ゲームフィールドの通路部を短縮化させることができる。したがって、プレーヤキャラクタ(PC)を部屋部から部屋部へ移動させるのに要する操作や時間を少なくすることができる。移動によってゲームの緊張感や集中力も途切れがちになる謂わば「つまらない」時間を削減できるので、ゲームプレイの楽しさを維持することができる。
第7の発明は、第6の発明のプログラムであって、前記ゲームフィールド構築可能領域は、複数の単位領域が複数軸座標系で格子状配列された領域であり、前記ゲームフィールド構築手段が、直線部分を有する通路部を配置し、前記短縮化手段が、前記直線部分の一部の単位領域を、該直線部分の直線方向の座標成分が該単位領域と同じ他の単位領域と共に削除するように前記コンピュータを機能させるためのプログラムである。
第7の発明によれば、第6の発明のプログラムと同様の効果を奏するとともに、格子状配列のゲームフィールド構築可能領域を単位領域の列を単位に削除できるので、通路部を短縮化でき、また、ゲームフィールドに係るデータ量を少なくすることができる。
第8の発明によれば、第1〜第7の何れかの発明のプログラムであって、前記ゲームフィールド構築手段が、前記ゲームフィールド構築可能領域内に複数の通路部及び複数の部屋部を配置する配置手段(例えば、図8の処理部200、ゲーム演算部210、図13のステップS40、S42)と、前記配置手段により配置された通路部及び部屋部の全てが一体に連結されているか否かを判定する一体連結判定手段(例えば、図8の処理部200、ゲーム演算部210、図13のステップS44〜S46、S58〜S60)と、前記一体連結判定手段によって否定判定された場合に、互いに非一体の部屋部を選択し、選択した部屋部間を連結させる連結通路を配置する連結通路配置手段(例えば、図8の処理部200、ゲーム演算部210、図13のステップS48〜S52)と、を有するように前記コンピュータを機能させるためのプログラムである。
第8の発明によれば、第1〜第7の発明と同様の効果を奏するとともに、配置された通路部及び部屋部の全てが一体に連結されていない場合に、互いに非一体の部屋部を選択し、選択した部屋部間を連結させる連結通路を配置することで、効率的に全体を一体に連結させることができる。
第9の発明は、第8の発明のプログラムであって、前記連結通路配置手段は、互いに非一体の部屋部の内、他の部屋部や通路部と連結されていない孤立状態の部屋部を優先的に選択して連結通路を配置するように前記コンピュータを機能させるためのプログラムである。
第9の発明によれば、第8の発明と同様の効果を奏するとともに、孤立状態の部屋を優先的に選択して連結させることによって、より一層効率的に全体を一体に連結させることができる。
第10の発明は、第7又は第8の発明のプログラムであって、
前記連結通路配置手段が、前記各部屋部に定められている属性に基づいて、連結させる部屋部を選択するように前記コンピュータを機能させるためのプログラムである。
第10の発明によれば、第7又は第8の発明と同様の効果を奏するとともに、ゲームフィールド10に複数の部屋にまたがる区域の特性を与えることができるので、ゲームの世界のリアリティを高めることができる。
第11の発明は、第1〜第10何れかの発明のプログラムであって、前記ゲームフィールド構築手段による新たなゲームフィールドの構築と、当該構築されたゲームフィールドでのゲーム進行とを繰り返し実行させる進行制御手段(例えば、図8の処理部200、ゲーム演算部210)、新たなゲームフィールドに非ランダムに配置する部屋部の数、大きさ及び位置のうち少なくとも1つを、従前のゲームフィールドまでのゲーム進行結果に基づいて決定する非ランダム配置決定手段(例えば、図8の処理部200、ゲーム演算部210、図18の部屋配置条件設定データ528Bに基づく部屋配置処理、図19のステップS28によるマップ自動生成処理への戻り)として前記コンピュータを機能させ、前記ゲームフィールド構築手段が、前記非ランダム配置決定手段により非ランダムに配置する旨決定された部屋部を該決定に従って配置するように前記コンピュータを機能させるためのプログラムである。
第11の発明は、第1〜第10の何れかの発明と同様の効果を奏するとともに、従前のゲームフィールドまでのゲーム進行結果に基づいて新たなゲームフィールドに非ランダムに配置する部屋部の数、大きさ及び位置のうち少なくとも1つを決定することができる。したがって、ゲーム進行結果が反映された多様性のあるゲームフィールドを構築することができる。
第12の発明は、第1〜第11の何れか一つのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリ、ゲームカセットなどを含む。第12の発明によれば、第1〜第11の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第11の何れか一つの発明と同様の効果を発揮させることができる。
本発明によれば、ゲームフィールド構築手段で構築したゲームフィールドの外形範囲に含まれる部分を、ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化させて表示させることで、自動生成されたゲームフィールドのフィールドマップ表示をより見易くすることができる。
〔第1実施形態〕
以下、本発明を適用した第1実施形態として、家庭用ゲーム装置でロールプレイングゲーム(RPG)を実行する例を挙げて説明する。
[ゲーム装置の構成]
図1は、本実施形態における家庭用ゲーム装置の構成例を説明するシステム構成図である。家庭用ゲーム装置1200のゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208を備える。そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力に基づいて各種のゲーム演算を実行し、所与のビデオゲームを実行する。
家庭用ゲーム装置1200の制御ユニット1210で生成されたゲーム画像やゲーム音は、信号ケーブル1209で接続されたビデオモニタ装置1220に出力される。プレーヤは、ビデオモニタ装置1220のディスプレイ1222に表示されるゲーム画像を見つつ、スピーカ1224から出力されるBGMや効果音といったゲーム音を聞きながら、ゲームコントローラ1230から各種操作を入力してゲームを楽しむ。
ゲームコントローラ1230は、選択の決定やキャンセル、タイミングの入力などに用いられるコントローラ上面に設けられたプッシュボタン1232と、側面に設けられたプッシュボタン1233と、図で言うところの上下左右の各方向を単独入力するための方向入力キー1234と、右アナログレバー1236と、左アナログレバー1238とを備える。
右アナログレバー1236及び左アナログレバー1238は、図で言うところの上下方向と左右方向の2軸方向を同時入力可能な方向入力デバイスである。通常はゲームコントローラ1230を左右の手で把持し、レバー頭部1236a,1238aにそれぞれ親指を添えて操作する。レバー頭部1236a,1238aを倒すことによって2軸成分を含む任意の方向入力と、レバーの傾倒量に応じた任意操作量を入力することができる。また、何れのアナログレバーも、操作入力していない中立状態からレバーの軸方向に押し込むことでプッシュスイッチとしても使用することもできる。
本実施形態では、方向入力キー1234や、右アナログレバー1236からの操作入力によってプレーヤキャラクタの移動操作を入力し、プッシュボタン1232やプッシュボタン1233で動作の種類やタイミングの入力をする。
尚、ゲーム実行に必要なゲームプログラム及び各種設定データは、通信装置1212を介して通信回線1に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
図2は、本実施形態におけるゲーム画面の例を示す図である。ゲーム画面4は、例えば3次元仮想空間に形成されたゲームフィールド10に、プレーヤが操作するプレーヤキャラクタ6のオブジェクトと敵キャラクタ8のオブジェクトとが配置・動作制御される様子を仮想カメラで撮影した画像を元に生成される。本実施形態ではロールプレイングゲーム(RPG)を実行するので、プレーヤはプレーヤキャラクタ6(本実施形態では「魔法使い」である。)を操作して種々の魔法を駆使して敵キャラクタ8を倒しながら迷路状のゲームフィールド10を移動し、敵キャラク8の内最も強い所謂「ボスキャラクタ」を探し出して倒すことを目的とする。
尚、プレーヤキャラクタ6、敵キャラクタ8にはそれぞれ固有のヒットポイントが割り当てられており、逐次相手キャラクタからの攻撃によるダメージ値が与えられると、そのダメージ値がヒットポイントから減算され、ヒットポイントが「0」になると、該キャラクタは倒されたことになる。そして、プレーヤキャラクタ6が倒されるか、敵キャラク8の内最も強い所謂「ボスキャラクタ」を探し出して倒すとゲーム終了となる。
本実施形態におけるゲームフィールド10は、プレーヤキャラクタ6が移動可能な領域である複数の通路12と、通路12よりも広く設定され敵キャラクタ8との交戦等が行われる主たる活動領域である複数の部屋14とが所定面上に配置され、それらが一体的に連結されて迷路構造、所謂「ダンジョン構造」を成した仮想の世界である。通路12や部屋14の連結関係つまりゲームフィールド10の構造はフィールドマップ(以下、単に「マップ」とも言う。)で定義されており、ゲーム画面4内に設定されている所定サイズのマップ表示領域16にはフィールドマップに基づいて生成されたゲームフィールド10を俯瞰視したマップ画像18が表示される。マップ画像18にはプレーヤキャラクタ6の現在位置がマーカ20で表示されており、プレーヤはこのマーカ20の位置を参照しながらプレーヤキャラクタ6を操作してゲームフィールド10を攻略する。
尚、本実施形態では通路12及び部屋14は、共に3次元モデリングされたゲームキャラクタのオブジェクトを配置可能に2次元状(平面状)に配置されたモデルとするが、ゲームフィールド10を建物や洞窟、大型客船などの乗物を模した設定とするならば、適宜通路12及び部屋14を高さ方向にも配置して、3次元状(立体状)の配置構成としても良い。その場合、マップ画像18を、階層表示すると好適である。
本実施形態ではゲームフィールド10を自動生成する。
図3〜図5は、本実施形態におけるゲームフィールドの自動生成の原理を説明するための概念図である。図3(a)に示すように、ゲームフィールド10は、複数の単位領域が多軸座標系で格子状配列されたマップ構築可能領域22の領域範囲内にフィールドの構成要素である通路や部屋が一体的に連結配置されたフィールドマップ(=マップ)によってその構造が定義される。本実施形態におけるマップ構築可能領域22は、3次元仮想空間における一平面上に有り、XY直交座標系(X=0,1,2,・・・19:Y=0,1,2・・・19)を有し、各軸方向に20ケの単位領域が設定されている。
通路及び部屋の形態や配置位置は、全ての通路及び部屋をランダム設定するとしても良いし、幾つかについては予め設定値を与えその他についてはランダム設定するとしても良い。偶然性に期待してより多彩なゲームフィールドを生成させる観点からは前者を採用すればよい。ある程度ゲームの作り手側の意図を反映し、演出的効果を期待するならば後者を採用するのが好ましい。本実施形態では、後者を採用するものとして説明する。
ゲームフィールドの生成過程においては、先ず図3(b)に示すように、複数の通路PS1〜PS4を、マップ構築可能領域22内に配置・設定する。図中一連の矩形で表現されているのが一つの通路を示しており、通路同士で重なっている部分の境界には破線を記している。通路同士が重なった箇所は、それら通路間が連結している状態を意味する。同図の状態では、通路PS1の右端が通路PS2の上端に重合して配置されており連結していると見なされる。同様に、通路PS2の下端が通路PS3の右端から2つ目の単位領域の場所と重合して連結している。そして、通路PS4は他の通路とは連結せず単独で配置されている。
次いで図3(c)に示すように、複数の部屋R1〜R5をマップ構築可能領域22内に配置・設定する。図中一連の矩形(縦横のサイズが単位領域2つ以上の矩形。但し、縦及び/又は横のサイズを単位領域1つの部屋として、通路の同様の形状の部屋が存在し得るとしてもよい。)で表現されているのが一つの部屋を示し、それぞれ他の部屋や通路と重なっている部分の境界には破線を記している。他の部屋や通路と重なった箇所は、重合する部屋或いは通路が連結している状態を意味する。同図の状態では、部屋R1の上部が通路PS1と重合して連結しており、部屋R2を通路PS4で縦に串刺しするように重合して連結している。部屋R3〜R5は、他の部屋や通路とは重合・連結せずに孤立した部屋(孤立部屋)となっている。
次に、配置された通路及び部屋を一体的に連結させる。本実施形態では、先ず孤立部屋を抽出して、孤立部屋同士を優先的に連結させ、孤立部屋が単数の場合には近傍の他の部屋からランダムに選択された部屋と連結させる。
図3(c)の状態を引き継いだ図4(a)の例では、部屋R3〜R5の複数(奇数)の孤立部屋が抽出できる。先ず、マップ構築可能領域22の原点(左上端)に近い部屋R3と最近傍の孤立部屋(この場合、部屋R4)とを結ぶ連結通路PS5を配置する。この際、連結構造に多様性を設けるために、連結通路PS5の始点(図中黒丸)となる単位領域を部屋R3の範囲内からランダムに選択し、終点(図中白丸)となる単位領域を連結対象の部屋の領域内からランダムに選択する。更に、通路形態を「直線」、「L字」、「クランク」の何れかをランダムで選択して、先に選択された始点の単位領域と終点の単位領域とを選択した形態の通路で結ぶように連結通路PS5を配置する。
部屋R3と部屋R4が連結されたことで部屋R5は単独の孤立部屋となるので、連結対象を部屋R5の近傍の他の部屋(この場合、部屋R2)とし、これらを結ぶ連結通路PS6を配置する。連結通路PS6も、連結通路PS5と同様にして通路の始点(図中黒三角)となる単位領域を部屋R5の領域内からランダムに選択し、終点(図中白三角)となる単位領域を連結対象の部屋の領域内からランダムに選択し、通路形態をランダムに選択して(この場合、「クランク」が選択されている。)連結通路PS6で連結する。
孤立部屋が無くなったところで、更に部屋及び通路が一体的に連結されているグループを抽出し、抽出されたグループが複数の場合にはそれらを連結する。
連結通路PS5及びPS6を配置したことによって、通路及び部屋は一連に連結されたグループGr1及びGr2に分かれた状態となる。したがって、両者を結ぶように連結通路PS7を連結通路PS5,PS6と同様にして配置する。例えば、図4(b)に示すように、連結対象となるグループからそれぞれ一つずつ部屋を選択し、選択された部屋の範囲内から始点或いは終点となる単位領域を選択する。そして、この選択された始点或いは終点となる単位領域(同図の場合白星と黒星)を結ぶようにして連結通路PS7を配置する。この結果、図4(c)に示すように、複数の部屋R1〜R5が通路で一体に連結された一つのグループGr3となり、これで一つの迷路状の構造ができたことになる。
ここまでの過程で、配置する通路並びに部屋の少なくとも一部をランダムに配置することで、多様性に富んだゲームフィールド10のマップを生成できたことになる。3次元仮想空間には、このマップに従って通路12や部屋14のオブジェクトが配置されてゲームフィールド10が形成されるので、実質的にマップの生成がゲームフィールド10の生成と同義となる。
さて、本実施形態では更にできるだけゲームフィールド10をコンパクトにする。より具体的には、連結構造の特徴的形状部分に当る通路の屈曲部を残すようにして、既に配置されている各部屋を寄せ集める。
例えば、図5(a)に示すように、先ずX軸方向に、同Y軸座標を有する単位領域列を検索して「通路は配置されているが、部屋や通路の屈曲部が設定されていない単位領域列」を抽出する。同図の場合、斜線ハッチングを施した縦2列の領域列が抽出される。そして、抽出された単位領域列に含まれる通路を削除して、これら単位領域列より右側に配置されている通路や部屋の連結関係を維持したまま、左側に平行移動させて配置位置を更新する。
次いで図5(b)に示すように、同様にY軸方向に、同X軸座標を有する領域列を検索して、「通路は配置されているが、部屋や通路の屈曲部が設定されていない単位領域列」を抽出する。同図の場合、斜線ハッチングを施した横3列分の領域列が抽出される。そして、抽出された単位領域列に含まれる通路を削除して、これら単位領域列より下側に配置されている通路や部屋の連結関係を維持したまま、上側に平行移動させて配置位置を更新する。
図5(a)及び(b)で抽出された単位領域列に含まれる通路の直線部分は、ゲームフィールド10の構造から見ると単なる通路の延長方向の長短のみに係り、削除したとしても通路の屈曲や通路と部屋の連結関係などの構造的特徴に影響を与えない。したがって、抽出された単位領域列の分だけ部屋R1〜R5を寄せ集めることとなり、ゲームフィールド10をコンパクト化し、部屋から部屋への移動距離を短縮化することができる。
さてここでマップ構築可能領域22に構築されたマップ全体を見ると、部屋R1〜R5や通路PS1〜PS7が配置されたその外周に何も配置されていない空領域が存在する。このままのマップ構築可能領域22の俯瞰視全景をゲームフィールド10のマップ画面18としてマップ表示領域16(図2参照)内に表示させようとすると、空領域を含めて所定範囲内に収めるように表示することになり、マップ画面18がどうしても小さくなって見づらくなるとともに、偏りのあるマップ画面18となる。そこで、本実施形態ではマップ構築可能領域22に構築されたマップつまりはゲームフィールド10の外形範囲を求め、該外形範囲でトリミング処理する。
具体的には、例えば図6(a)に示すように、部屋または通路が配置されている単位領域のX軸方向とY軸方方向それぞれ最大・最小の座標値を求め、これらの座標で囲まれる矩形のトリミング枠24を求める。そして、図6(b)に示すように、トリミング枠24でマップ構築可能領域22をトリミングする。つまり、トリミング枠24の外側の単位領域を削減し、残った部分の左上をマップの座標原点とする。
これによって、マップ構築可能領域22が必要十分な大きさに変更されることになるので、ゲーム画面4のマップ表示領域16にマップ画像18を表示する際、マップ表示領域16を有効に利用して、マップ画像18をより大きく見易く表示させることが可能になる。
例えば、図7(a)は、トリミングされたマップ構築可能領域22に基づくマップ表示領域16の表示例をしており、図7(b)はトリミングしなかった場合のマップ構築可能領域22に基づくマップ表示領域16の表示例をしている。
図7(a)(b)どちらの例でも、マップ表示領域16の表示可能範囲17に収まるようにマップ画像18の縦横寸法比をそのまま維持して画像サイズが調整・適正化されているが、前者の方はマップ構築可能領域22がトリミングされて不要な空領域が削除されている分、大きく表示されて見易くなり、また偏りがない。
[機能ブロックの説明]
次に、上述のような特徴を実現するための機能構成について説明する。
図8は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、操作入力部100と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。図1では、ゲームコントローラ1230が操作入力部100に該当する。
処理部200は、例えばマイクロプロセッサやASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含むゲーム装置1200の各機能部との間でデータの入出力を行うとともに、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
そして本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
ゲーム演算部210は、ゲームの進行に係る処理を実行する。例えば、ゲーム空間を仮想空間中に形成する処理や、敵キャラクタ8の自動動作制御処理、ヒット判定処理、物理演算処理、ゲーム結果の算出処理が実行対象に含まれる。そして本実施形態のゲーム演算部210は、マップ自動生成部212と、マップトリミング部214とを含んでいる。
マップ自動生成部212は、ゲームフィールド10の構造を定義するフィールドマップ(=マップ)を自動生成することでゲームフィールド10を自動生成する。具体的には、所定サイズのマップ構築可能領域22内に複数の通路12や部屋14を配置する処理、配置された通路12や部屋14が一体的に連結されているか否かを判定し、連結されていない場合にそれらを一体的に連結させる処理、配列された通路12と部屋14との連結関係や通路12の屈曲といった連結構造の特徴に影響を与えずに配置された部屋14を寄せ集めるように補正する処理を実行する。
マップトリミング部214は、マップ自動生成部212によって配置された通路12並びに部屋14の全てを含むように、マップ構築可能領域22をトリミング処理してマップをコンパクト化する。
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)などのプロセッサやその制御プログラムによって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではビデオモニタ装置1220のスピーカ1224がこれに該当する。
画像生成部260は、例えば、デジタルシグナルプロセッサ(DSP)などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(1/60秒)で1枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部360に出力する。
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1ではビデオモニタ装置1220のディスプレイ1222が該当する。
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、回線終端装置、ネットワークカード、有線ケーブルのコネクタ、データ変換用制御回路などによって実現され、図1では通信装置1212がこれに該当する。
記憶部500は、処理部200にゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
本実施形態では、記憶部500はシステムプログラム501と、ゲームプログラム502を記憶している。ゲームプログラム502は更にマップ自動生成プログラム504と、マップトリミングプログラム506とを含んでいる。
処理部200がゲームプログラム502を読み出して実行することによって、処理部200にゲーム演算部210としての機能を実現させることができる。
また、記憶部500には、予め用意されるデータとしてゲーム空間設定データ520、キャラクタ初期設定データ522、マップ表示設定データ524、通路配置条件設定データ526、部屋配置条件設定データ528が記憶されている。
更にゲームの進行に伴って生成されて適宜書き換えられるデータとして、マップデータ530、キャラクタ制御データ532、マップ画像18の画像データを格納するマップ画像データ534を記憶する。また、ゲームの進行に係る処理で必要となるタイマー値、各種のフラグ、仮想カメラの位置や姿勢制御に関する情報なども適宜記憶される。
ゲーム空間設定データ520には、仮想空間にゲーム空間を形成するための各種データが格納されている。例えば、マップ構築可能領域22の単位領域分に相当する通路単位モデルおよび部屋単位モデルの矩形盤状のモデルデータやテクスチャデータが含まれる。マップ構築可能領域22において通路12が設定されている領域には、3次元仮想空間のマップ構築可能領域22に対応する位置に、通路用単位モデルを配置して通路12を形成する。同様にマップ構築可能領域22において部屋14が設定されている領域には、部屋用単位モデルを敷き詰めるように配置して部屋14を形成する。
キャラクタ初期設定データ522には、プレーヤキャラクタ6及び敵キャラクタ8の初期設定データが格納されている。例えば、キャラクタのモデルデータ、テクスチャデータ、モーションデータが含まれる。
そして、プレーヤキャラクタ6及び敵キャラクタ8をゲーム実行中で制御するためのデータは、キャラクタ制御データ532に格納される。例えば、ゲームフィールド10におけるキャラクタの位置座標、ヒットポイントの現在値、クリアしたゲームステージ数、倒した敵キャラクタ8の数など適宜設定することができる。
マップ表示設定データ524は、ゲーム画面4内におけるマップの表示に係る設定を格納する。例えば、ゲーム画面座標系におけるマップ表示領域16の表示範囲の設定、該表示範囲におけるマップ画像18の表示可能範囲、マップデータ530からマップ画像18を生成する際の表示形態の設定が含まれる。
通路配置条件設定データ526は、マップ構築可能領域22に配置する通路の設定を格納する。図9は、本実施形態における通路配置条件設定データ526のデータ構成例を示すデータ構成図である。同図に示すように、通路配置条件設定データ526は、通路番号526aと、初期通路配置座標526bと、通路サイズ526cとを対応付けて一本の通路12を定義している。初期通路配置座標526bは、マップ構築可能領域22の何所の単位領域に当該通路の左上端を合わせて配置するかを定めている。通路サイズ526cは、当該通路の長さを定義している。同図の通路番号526aが「PS1」の通路は、座標(X,Y)=(1,1)の位置に左上をあわせ、X軸方向に11単位領域、Y軸方向に1領域の長さで設定されている。図3(b)における通路PS1がこれに該当する。
部屋配置条件設定データ528は、マップ構築可能領域22に配置する部屋の設定を格納する。図10は、本実施形態における部屋配置条件設定データ528のデータ構成例を示すデータ構成図である。同図に示すように、部屋配置条件設定データ528は、部屋番号528aと、初期部屋配置座標528bと、部屋配置座標可変幅528cと、初期部屋サイズ528dと、部屋サイズ可変幅528eと、重なり許可フラグ528fとを対応付けて一つの部屋14を定義している。
初期部屋配置座標528bは、マップ構築可能領域22の何所に当該部屋の左上端を合わせるか基準となる座標を定め、部屋配置座標可変幅528cはその可変幅を設定している。したがって、実際に部屋が配置される座標は、初期部屋配置座標528bの座標値を部屋配置座標可変幅528cの座標幅内でランダムに可変した値となる。また、初期部屋配置座標528bが(X,Y)=(−1,−1)に設定されている部屋は、初期の配置位置をマップ構築可能領域22の座標範囲内でランダムに選択することを示している。
配置される部屋のサイズは、初期部屋サイズ528dで定義されたX軸方向成分、Y軸方向成分を基準とした幅とし、部屋サイズ可変幅528eの範囲内でランダムに可変した値とされる。尚、部屋配置座標可変幅528cは、本実施形態では「0」を含む自然数として設定される。
重なり許可フラグ528fは、当該部屋を配置する際に他の部屋との重合配置の可/不可を定義する。本実施形態では、予め設定が規定されている部屋(部屋R1,R2)については不許可として「0」を設定し、ランダム配置可能な部屋の少なくとも一部(部屋R3,R4)については許可として「1」を設定している。
例えば、部屋番号528aが「R1」の部屋の場合、座標(X,Y)=(1〜3,1〜3)の範囲内からランダムに座標値が選択され、この選択された座標に左上を合わせて配置される。そして部屋のサイズは、初期部屋サイズ528dで定義されたX軸方向幅=4、Y軸方向幅=4のサイズを最小とし、部屋サイズ可変幅528eで定義された幅を加えた最大X軸方向幅=5、最大Y軸方向幅=5を最大とした範囲で、ランダムに部屋のサイズが決定・設定される。図3(c)における部屋R1がこれに該当する。
尚、本実施形態の部屋配置条件設定データ528では、予め初期部屋配置座標528bが定められた非ランダム配置の部屋から順に読み出し可能に設定し、非ランダム配置の部屋以降に、ランダム配置の部屋の定義が読み出される構成とする。
また、本実施形態では、全ての通路の配置位置や大きさを予め規定しておく一方で、部屋の一部の配置位置を大枠で限定するとともに、他の部屋をランダム配置可能な設定としている。これによって、大枠のマップデザインをゲームの作り手が方向付けつつも、実際のマップの生成段階では多様性が生じるようにされている。勿論、通路並びに部屋の設定はこれらに限るものではなく、部屋の設定を全て予め規定しておいて通路の設定をランダム配置されるもの(例えば初期通路配置座標526bを(−1,−1)に設定された通路。)を含むように設定する構成でも良いし、通路の全てをランダム配置としても良い。
マップデータ530は、マップ構築可能領域22の単位領域毎に設定されている通路や部屋の識別情報を格納する。図11は、本実施形態におけるマップデータ530のデータ構成の一例を示す図である。同図に示すように、例えば、単位領域の座標530aと、当該単位領域に設定されている部屋番号530b及び通路番号530cとを対応付けて格納している。部屋番号530b及び通路番号530cは、「0」が初期状態に相当し通路も部屋も何れも配置・設定されていないことを示す。当該領域に部屋が設定されると、その部屋番号や通路番号に更新される。部屋番号530b及び通路番号530cは何れも複数格納可能であり、部屋或いは通路が互いに当該単位領域で重合配置されていることを示す。例えば、同図の座標530aが(X,Y)=(1,1)の単位領域では、部屋R1の一部と、通路PS1の一部とが重合して配置されていることを示している(図3(c)参照)。また、座標530aが(X,Y)=(1,11)の単位領域では、通路PS1の一部と通路PS2の一部とが重合して配置されていることを示している(図3(c)参照)。
[動作の説明]
次に、本発明の動作について説明する。
図12は、本実施形態における主たる処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部200がシステムプログラム501、ゲームプログラム502を読み出し実行することによって実現される。尚、ここで説明する一連の処理は、ゲーム画面の描画サイクルよりも十分に短い制御サイクルで繰り返し実行される。また、ゲーム音声の生成並びに出力に係る制御は、公知のビデオゲームと同様に実行すれば良いのでここでの説明は省略する。
同図に示すように、先ずゲーム演算部210は、マップ自動生成処理を実行する(ステップS2)。マップ自動生成処理は、マップデータ530を生成することでゲームフィールド10を生成する処理である。
図13は、本実施形態におけるマップ自動生成処理の流れを説明するためのフローチャートである。同図に示すように、マップ自動生成処理では先ずゲーム演算部210は、マップデータ530を初期化した後、通路配置条件設定データ526を参照して、該データに格納されている順番にマップ構築可能領域22に通路を配置する(ステップS40)。具体的には、通路配置条件設定データ526の通路番号526aの登録順に、初期通路配置座標526bを左上にして通路サイズ526cに含まれる単位領域についてマップデータ530の通路番号530cに当該通路番号526aの情報を格納する。全ての通路について配置を終了すると、マップ構築可能領域22は、例えば図3(b)のような状態となる。
次にゲーム演算部210は、部屋配置処理を実行する(ステップS42)。
図14は、本実施形態における部屋配置処理の流れを説明するためのフローチャートである。部屋配置処理では先ず、ゲーム演算部210は、部屋配置条件設定データ528で定義されている順番に全ての部屋についてループAの処理を実行する(ステップS80〜S108)。
ループAの処理では先ず処理対象の部屋がランダム配置する部屋であるか否かを判定する(ステップS82)。処理対象の部屋の初期部屋配置座標528bが(X,Y)=(−1,−1)であれば肯定判定し(ステップS82のYES)、部屋配置座標をマップ構築可能領域22の範囲内でランダムに選択決定する(ステップS84)。一方、処理対象の部屋の初期部屋配置座標528bが(X,Y)=(−1,−1)ではない場合には否定判定し(ステップS82のNO)、初期部屋配置座標528bを、部屋配置座標可変幅528cの範囲内でランダムに可変して部屋配置座標を決定する(ステップS86)。
次に、初期部屋サイズ528dを部屋サイズ可変幅528eの範囲内で可変して部屋サイズを設定する(ステップS88)。ここで、当該処理対象の部屋がランダム配置する部屋である場合には(ステップS90のYES)、予測配置範囲がマップ構築可能領域22内に収まるか否かを判定する(ステップS98)。予測配置範囲は、先に決定された部屋配置座標と部屋サイズで新たに部屋を配置すると仮定した場合に予測される該部屋の配置範囲である。したがって、ステップS98では、例えば先のステップS84で決定された部屋配置座標に部屋サイズを加算して予測配置範囲の右下の座標を求める。そして、この右下の座標がマップ構築可能領域22の範囲内であれば肯定判定し、範囲外であれば否定判定する。
予測配置範囲がマップ構築可能領域22内でなければ(ステップS98のNO)、ランダムに決定された部屋配置位置座標をマップ構築可能領域22の中央方向に所定座標分だけ移動させ(ステップS100)、再び予測配置範囲がマップ構築可能領域22内に収まるか否かを判定する。
予測配置範囲がマップ構築可能領域22内に収まる場合(ステップS98のYES)、ゲーム演算部210は更に予測配置範囲内に既に部屋が配置されているか否かを判定する(ステップS102)。マップデータ530の部屋番号530bが「0」でなければ他の部屋が既に配置されていることになる。
既に他の部屋が配置されている場合には(ステップS102のYES)、処理対象の部屋又は予測配置範囲内に既に配置されている部屋に、重なり配置が禁止されているか否かを判定する(ステップS104)。具体的には、処理対象の部屋および予測範囲内の既配置部屋に対応する重なり許可フラグ528fに「0」が設定されていれば重なり配置(重合配置)が禁止されていると判定する。
重なり配置の禁止が設定されている場合(ステップS104のYES)、ステップS84に戻って部屋配置座標のランダム設定からやり直す。
一方、重なり配置の禁止が設定されていない場合(ステップS104のNO)、及び予測配置範囲内に既に配置されている部屋が無い場合(ステップS102のNO)、ランダム配置する部屋ではない場合(ステップS90のNO)には、ゲーム演算部210は、当該処理対象の部屋をマップ構築可能領域22に配置し(ステップS106)、ループAの処理を終了する(ステップS108)。つまり、部屋配置座標を左上にして、部屋サイズに含まれる範囲のマップデータ530の部屋番号530bに当該処理対象の部屋の部屋番号528aの情報を格納し、ループAの処理を終了する。
そして、部屋配置条件設定データ528で設定されている全ての部屋についてループAの処理を実行したならば部屋配置処理を終了し、図13のフローに戻る。
図13のフローに戻って、ゲーム演算部210は次に、通路と連結されていない孤立部屋を抽出する(ステップS44)。具体的には、マップデータ530を参照し、部屋番号530bに部屋の識別情報のみが格納されていて、且つ対応する通路番号530cが「0」である場合に、当該部屋番号530bに格納されている識別情報の部屋を抽出する。そして、孤立部屋が抽出された場合(ステップS46のYES)、抽出された全ての孤立部屋についてループBの処理を実行して他の部屋と連結させる(ステップS48〜S56)。
ループBの処理では、先ず処理対象の孤立部屋の他に孤立部屋があるか否かを判定する(ステップS50)。そして、他の孤立部屋が有る場合には(ステップS50のYES)、処理対象の孤立部屋と、ランダムに選択された近傍の孤立部屋とを対象に連結通路生成処理を実行して(ステップS52)、ループBの処理を終了する。反対に他に孤立部屋が無い場合には(ステップS50のNO)、処理対象の孤立部屋と、ランダムに選択された近傍のその他の部屋とを対象にして連結通路生成処理を実行して(ステップS54)、ループBの処理を終了する。
図15は、本実施形態における連結通路生成処理の流れを説明するためのフローチャートである。同図に示すように、連結通路生成処理では先ず一方の対象の部屋に含まれる単位領域から始点とする単位領域を何れかランダムに一つ選択し(ステップS120)、同様に他方の対象の部屋から終点となる単位領域を一つ選択する(ステップS122)。
次いで、新たに配置する連結通路の形態をランダムに選択する(ステップS124)。本実施形態では、直線、L字型またはクランク型の何れかを選択する。換言すると連結通路の屈曲点の数を選択するとも言える。そして、既に選択されている始点となる単位領域と終点となる単位領域とを結ぶ連結通路を、選択された通路形態で配置する(ステップS126)そして、連結通路生成処理を終了し図13のフローに戻る。
ループBにおける処理を具体的に示すと、例えば、図3(c)〜図4(a)として示される。図3(c)の状態では、部屋R3〜R5は何れも他の通路や部屋と連結していない孤立部屋と見なされる。そこで、マップ構築可能領域22の原点に近い部屋R3からループBの対象とされる。部屋R3の他にも孤立部屋(部屋R4、R5)が存在するので、その最近傍の孤立部屋(部屋R4)が部屋R3に対する連結対象となる。
図4(a)の例では、連結対象の一方の部屋R3の中から黒丸が付された単位領域が始点として選択され、連結対象の他方の部屋R4の中から白丸が付された単位領域が終点として選択されている。そして、通路形態がL字型であれば、始点のあるX軸座標と終点のあるY軸座標の第1交点、又は始点のあるY軸座標と終点のあるX軸座標の第2交点の何れかがランダムに選択され、選択した交点を通る1本の屈曲通路、つまりL字型の連結通路PS5が配置されている。
そして、部屋R3と部屋R4が互いに連結されるとその段階では孤立部屋は部屋R5のみとなるので、部屋R5には近傍の他の部屋が連結対象としてランダムに選ばれる。図4(a)の例では、部屋R5と部屋R2とが連結対象となり、部屋R5内の黒三角の付された単位領域を始点、部屋R2内の白三角の付された単位領域を終点とするクランク型の連結通路PS6が配置されている。
図13のフローに戻って、ゲーム演算部210は次に一繋がりになっている部屋と通路をグループとして抽出し(ステップS58)、抽出されたグループが複数の場合には(ステップS60のYES)、配置されている通路並びに部屋が一体的に連結されていないと判断する。そして、抽出されたグループから最寄りの2つのグループを選択し、一方のグループに属する第1の部屋を選択し、他方のグループに属する第2の部屋を選択し(ステップS62)、選択された第1の部屋と第2の部屋とを連結対象として連結通路生成処理を実行して(ステップS64)、再びステップS58に戻る。
具体的には、例えば図4(b)の例では、部屋R1と部屋R3と部屋R4とが通路で連結された第1のグループGr1、部屋R2と部屋R5とが通路で連結された第2のグループGr2として抽出される。グループが複数なので、各々のグループから連結対象の部屋が選択される。同図の例では、部屋R4と部屋R5が連結対象の第1の部屋及び第2の部屋として選択されたことになる。そして、先に述べた連結通路生成処理によって、連結通路PS7が設定される。
一方、抽出されたグループが複数でない場合には(図13のステップS60のNO)、配置されている通路並びに部屋が一体的に連結されていると判断されるので、ゲーム演算部210は、次に部屋集中処理を実行する(ステップS66)。
図16は、本実施形態における部屋集中処理の流れを説明するためのフローチャートである。同図に示すように、部屋集中処理では先ずマップ構築可能領域22において、同じX軸座標を有してY座標方向に直列する単位領域列毎に検索して、通路は配置されているが、通路の屈曲部又は部屋が配置されていない単位領域列を抽出する(ステップS70)。そして、抽出されたY座標方向の単位領域列に含まれる通路の配置を削除し、該単位領域列よりX軸増加方向に配置されている通路及び部屋を該単位領域列の分だけ原点方向に平行移動するように再配置する(ステップS72)。
続いて同様にして、Y軸座標を有してX座標方向に直列する単位領域列毎に検索して、通路は配置されているが、通路の屈曲部又は部屋が配置されていない単位領域列を抽出する(ステップS74)。そして、抽出されたX座標方向の単位領域列に含まれる通路の配置を削除し、該単位領域列よりY軸増加方向に配置されている通路及び部屋を該単位領域列の分だけ原点方向に平行移動するように再配置し(ステップS76)、部屋集中処理を終了する。
具体的には、例えば図5(a)の例では、ステップS70によって斜線ハッチングされたY軸方向に直列した単位領域列が抽出され、これらの単位領域列に設定されている通路PS1、PS3、PS7の横直線部分が削除・短縮される。そして、これらの単位領域列より図の右側に配置されている通路や部屋が連結関係をそのまま維持して図の左方向に平行移動される。この結果、図5(b)に示すように、当初配置された通路や部屋のレイアウトの特徴を維持したままX軸方向にコンパクトな構造とすることができる。
同様に、図5(b)の例では、ステップS74によって斜線ハッチングされたX軸方向に直列した単位領域列が抽出され、これらの単位領域列に設定されている通路PS2、PS4、PS5、PS6の縦直線部分が削除・短縮され、これらの単位領域列より図の下側に配置されている通路や部屋が連結関係をそのまま維持して図の上方向に平行移動される。この結果、図5(c)に示すように、当初配置された通路や部屋のレイアウトの特徴を維持したままY軸方向にコンパクトな構造とすることができる。
尚、部屋集中処理では単位領域列の分だけ原点方向に平行移動するように再配置するのではなく、抽出した単位領域ごと削除して、マップ構築可能領域22を縮小する構成としても良いのは勿論である。
部屋集中処理を終了したならばマップ自動生成処理を終了して、図12のフローに戻る。そして、ゲーム演算部210は次に、マップの外形範囲を求める処理として通路又は部屋が設定されている単位領域の各軸方向の最大座標・最小座標で囲まれる長方形のトリミング枠を選択する(ステップS4)。そして、マップ構築可能領域22をトリミング枠でトリミング処理し、トリミング枠の外側に当る部分を削除する(ステップS6)。マップデータ530の座標530aは、削除部分の登録が抹消されるとともに、トリミングに伴って座標値を更新される。
次にゲーム演算部210は、マップ構築可能領域22において通路及び部屋が配置されている単位領域と、何も設定されていない空の単位領域とを異なる表示形態で示したマップ画像18を生成し、マップ画像データ532に格納する(ステップS8)。
次いで、ゲーム空間設定データ520及びキャラクタ初期設定データ522を参照して、マップ構築可能領域22に生成されたマップに基づいて、3次元仮想空間に部屋12や部屋14を構成するオブジェクトを配置してゲームフィールド10を形成するとともに、プレーヤキャラクタ6及び敵キャラクタ8のオブジェクトを配置する(ステップS10)。具体的には、プレーヤキャラクタ6をランダムに選択した何れかの部屋内に配置する。そして、敵キャラクタ8のうち所謂ボスキャラクタはプレーヤキャラクタ6が配置された部屋から最も離れた部屋内に配置し、ボスキャラクタ以外の敵キャラクタについては各部屋内に所定数ランダムに配置する。このように、本実施形態では、敵キャラククタ8は部屋14にのみに配置され、通路12には配置されない。こうした配置の条件によって、マップ自動生成処理において、通路12に様々なサイズの敵キャラクタ8が配置可能にするのに備えて複数単位領域に及ぶ幅を持たせる必要が無いので、ゲームフィールド10、つまりはマップをよりコンパクトに形成するという目的を果たすのに寄与することとなる。
次に、ゲーム演算部210はプレーヤキャラクタ6と敵キャラクタ8の動作を制御する(ステップS12)。すなわち、操作入力部100からの操作入力に応じてプレーヤキャラクタ6の動作を制御し、敵キャラクタ8の動作を自動制御する。そして、その様子を仮想カメラで撮影したゲーム空間画像を画像生成部260で生成し(ステップS14)、更に現在のプレーヤキャラクタ6の配置位置にマーカ20をマップ画像18に合成してマップ画像データ534を更新する(ステップS16)。
次いで、画像生成部260は、マップ表示設定データ524を参照し、マップ表示領域16の表示可能範囲17内にマップ画像18の縦横寸法比を維持して最大サイズで収めるように画像サイズを調整して先に生成されたゲーム画像に合成する(ステップS18)。つまり、マップ表示領域16に適合する所定の最大サイズとなるようにマップ画像18を拡大又は縮小して画像サイズを調整・適正化する。そして、合成したゲーム画像を表示出力させる(ステップS20)。結果、図2に示したようなゲーム画像がディスプレイ1222に表示される。
尚、マップ画像18の縦横寸法比を固定する構成としているが、ゲームフィールド10との対応関係が不明にならない程度に縦横寸法比の違いを許容するとしても良いのは勿論である。また、マップ表示領域16とマップ画像18とが異形に分類される場合には、マップ表示領域16の形状に応じて適合化する。具体的には、例えばマップ表示領域16が丸型で、マップ画像18が四角形の場合には、マップ画像18の対角長をマップ表示領域16の表示可能範囲17の直径に合わせるように画像サイズを調整する。更には、四角形の画像を円板の表面にサーフェースマッピングする要領で表示可能範囲17の丸形範囲にマッピングするとしても良い。
次に、ゲーム演算部210は、プレーヤキャラクタ6や敵キャラク8のヒットポイントの更新、ステージクリアの判定などのゲーム結果の算出処理を行い(ステップS22)、その結果のゲーム結果が所定のゲーム終了条件を満たすか否かを判定する(ステップS24)。
ゲーム終了条件を満たしていなければ(ステップS24のNO)、ステップS12に戻り、ゲーム終了条件を満たしているならば(ステップS24のYES)、ゲーム終了の演出処理を行って(ステップS26)、一連の処理を終了する。
以上の処理によって、ゲームフィールド10の構造情報であるマップを自動生成することで、ゲームフィールド10を自動生成することができる。更には、自動生成されたマップを、一旦自動的に配置された部屋14を寄せ集めるように部屋14の配置位置を補正し、プレーヤキャラクタ6が部屋間を移動する距離の短いコンパクトなゲームフィールド10とすることができる。したがって、プレーヤキャラクタ6を操作して通路12を移動させる際の、単純で得てしてつまらなくなりがちなプレイ時間を削減し、ゲームプレイをスピーディにし、興奮を持続させ易くして、飽きさせない、より楽しいゲームプレイにできる。
また、生成されたマップは通路や部屋の外形範囲でトリミングされているので、ゲームフィールド10のマップ画像18をゲーム画面4に表示する場合、限られた範囲内に無駄なくより大きく表示させることが可能になるので、マップ表示をより見易くして操作性を向上することができる。
[ハードウェア構成]
次に図17は、本実施形態における家庭用ゲーム装置1200を実現するためのハードウェア構成の一例について説明する図である。家庭用ゲーム装置1200は、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、画像生成IC1008、音生成IC1010、I/Oポート1012,1014がシステムバス1016により相互にデータ入出力可能に接続されている。I/Oポート1012にはコントロール装置1022が、I/Oポート1014には通信装置1024が、それぞれ接続されている。
CPU1000は、情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
RAM1004は、CPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002内の所与の内容、CPU1000の演算結果等が格納される。
情報記憶媒体1006は、プログラム、画像データ、音データ、プレーデータ等が主に格納されるものであり、情報記憶媒体として、ROM等のメモリやハードディスクや、CD−ROM、DVD、ICカード、磁気ディスク、光ディスク等が用いられる。尚、この情報記憶媒体1006は、ROM1002及びRAM1004とともに図8に示す記憶部500を構成する要素に含まれる。
また、この装置に設けられている画像生成IC1008と音生成IC1010により、音や画像の好適な出力が行えるようになっている。
画像生成IC1008は、CPU1000の命令によって、ROM1002、RAM1004、情報記憶媒体1006等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される画像信号は、表示装置1018に出力される。表示装置1018は、CRTやLCD、ELD、プラズマディスプレイ、或いはプロジェクター等により実現され、図8に示す画像表示部360に相当する。
また、音生成IC1010は、CPU1000の命令によって、情報記憶媒体1006やROM1002に記憶される情報、RAM1004に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ1020によって出力される。スピーカ1020は、図8に示す音出力部350に相当するものである。
コントロール装置1022は、プレーヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、筐体等のハードウェアにより実現される。尚、このコントロール装置1022は、図8に示す操作入力部100に相当するものである。
通信装置1024は装置内部で利用される情報を外部とやりとりするものであり、プログラムに応じた所与の情報を他の装置と送受すること等に利用される。尚、この通信装置1024は、図8に示す通信部370に相当するものである。
そして、上記した処理は、図8のゲームプログラム502等を格納した情報記憶媒体1006と、これらプログラムに従って動作するCPU1000、画像生成IC1008、音生成IC1010等によって実現される。CPU1000、画像生成IC1008、及び音生成IC1010は、図8に示す処理部200に相当するものであり、主にCPU1000がゲーム演算部210、画像生成IC1008が画像生成部260に、音生成IC1010が音生成部250にそれぞれ相当する。
尚、画像生成IC1008、音生成IC1010等で行われる処理は、CPU1000或いは汎用のDSP等によりソフトウェア的に行ってもよい。この場合には、CPU1000が、図8に示す処理部200に相当することとなる。
〔第2実施形態〕
次に本発明を適用した第2実施形態について説明する。本実施形態は基本的に第1実施形態と同様の構成を有するが、一つのゲームフィールドを一つのステージとし、ゲームクリアには所定数のステージをクリアする必要のある構成とする。また、ステージをクリアして次のステージに進む際に次のステージとなるゲームフィールドをその都度生成し、従前のステージをクリアした結果に応じて新たに生成されるゲームフィールドの構成を変化させる点が異なる。尚、第1実施形態と共通する構成要素については説明を省略して特徴的な点についてのみ述べることとし、第1実施形態と同様の構成要素については同じ符号を付与し説明は省略する。
図18は、本実施形態における部屋配置条件設定データ528Bのデータ構成例を示すデータ構成図である。同図に示すように、基本的には第1実施形態における部屋配置条件設定データ528と同じであるが、部屋番号528aに部屋出現条件528gが対応付けられている点が異なる。部屋出現条件528gが、当該部屋をマップ構築可能領域22に配置するための条件を定義しており、例えば既にクリアしたステージの数や、プレーヤキャラクタ6のレベル(=プレーヤキャラクタの技能の程度を示す段階的な指標)、プレーヤキャラクタ6が倒した敵キャラクタ8の累計、プレーヤキャラクタ6の所持するアイテムの種類、プレーヤキャラクタ6のヒットポイントの値といった項目を条件とする。
例えば、同図における部屋番号528aが「R6」の例では、部屋配置座標可変幅528cと初期部屋サイズ528dに、既にクリアしたステージの数SCLがパラメータとして含まれている。また、部屋出現条件528gにおいても既にクリアしたステージの数SCLが含まれている。従って、部屋R6は、ステージを6つクリアして7つ目のステージで初めてマップ構築可能領域22に配置されるようになる。そして7つ目のステージ以降、その部屋の配置座標や部屋サイズはクリアしたステージが多くなるほど大きくなる。本実施形態では第1実施形態と同様にボスキャラクタ以外の敵キャラクタは部屋内にランダムに配置されるので、部屋が大きくなるとそれだけより多くの敵キャラクタ8が部屋R6に配置され、集中攻撃されることにもなりかねない。したがって、ステージを多くクリアするほど、ステージを攻略する難易度を高める作用を生む。なお、「R6」の部屋の部屋出現条件328gには、クリアしたステージの数SCLの条件の他に、プレーヤキャラクタのレベルが10以上の条件が設定されているため、クリアしたステージの数SCLの条件を満たさずとも、プレーヤキャラクタのレベルが10以上となった場合に「R6」の部屋が出現することとなる。
図19は、第2実施形態における主たる処理の流れを説明するためのフローチャートである。同図に示すように、本実施形態ではステップS24においてゲーム結果が所定のゲーム終了条件を満たしていない場合、ゲーム演算部210は更にゲーム結果から現在プレイ中のステージがクリアしたか否かを判定する(ステップS28)。例えば、プレイ中のゲームフィールド10に配置された全ての敵キャラクタ8を倒すと当該ステージをクリアしたと判定することとする。
そして、ステージをクリアしていないと判定した場合には(ステップS28のNO)、第1実施形態と同様にステップS12に戻り、ステージをクリアしたと判定した場合にはステップ2に戻ってマップ自動生成処理を実行して、次にプレイする新たなステージのゲームフィールドを作る。
この結果、ステージをクリアする毎に新たな構成のゲームフィールドを楽しむことができるうえに、ステージクリアの結果に応じて新たに生成されるゲームフィールドが変化することになり、例えばプレーヤの技量に応じた難易度を反映した多様性に富んだゲームフィールドを作ることができる。
〔第3実施形態〕
次に本発明を適用した第3実施形態について説明する。本実施形態は基本的に第1実施形態または第2実施形態と同様の構成を有するが、部屋のランダム配置の仕方と、部屋集中処理とが異なる。尚、第1実施形態及び第2実施形態と共通する構成要素については説明を省略して特徴的な点についてのみ述べることとし、第1実施形態及び第2実施形態と同様の構成要素については同じ符号を付与し説明は省略する。
図20は、本実施形態における部屋配置処理Bの流れを説明するためのフローチャートである。同図に示すように部屋配置処理Bでは、第1及び第2実施形態の部屋配置処理に比べるとステップS84を省略し、ステップS92〜S96を追加している。具体的には、ステップS84でループAの処理対象となっている部屋の部屋配置座標をランダムに決定する代わりに、処理対象の部屋がランダム配置する部屋で有る場合(ステップS90)、マップ構築可能領域22を参照して既に通路が配置されている単位領域を一つ重合予定単位領域として選択する(ステップS92)。そして、処理対象の部屋内から単位領域を一つ選択して(ステップS94)、この選択された単位領域を、先に選択された重合予定単位領域に重ね合わせて処理対象の部屋を配置すると仮定して予測配置範囲を求める(ステップS96)。
具体的には、例えば図21(a)のようにマップ構築可能領域22に通路PS1〜PS4が配置された状態から固定配置の部屋R1及びR2を配置して、次いでランダム配置の部屋R3b〜R5bを配置するとした場合、図21(b)に示すように、部屋R3b〜R5bそれぞれについて重合予定単位領域(図中黒丸付された単位領域)が選択され、各々の部屋に含まれる単位領域からランダムに選択された単位領域の位置をそれらに合わせるようにして配置される。この結果、図21(c)に示すように、ランダム配置される部屋R3b〜R5bは、必ず既に配置されている通路PS1〜PS4のどこかで連結するように配置されることになり、ランダム配置される部屋に関しての第1及び第2実施形態におけるマップ自動生成処理のステップS48〜S56(図13参照)を実質的に省略することが可能になり処理負荷を軽減させることができる。そして、図21(c)の例であれば通路と部屋が一繋がりになったグループGr3とGr4の2つとなり、両者を結ぶ連結通路PS12を配置すれば全ての通路と部屋が一体となったマップを少ない処理で作ることができる。このように、トータルで連結通路生成処理の実行回数を削減して処理負荷を軽減する効果もある。
図22は、本実施形態における部屋集中処理Bの処理の流れを説明するためのフローチャートである。同図に示すように、部屋集中処理Bでは先ずゲーム演算部210はマップ構築可能領域22に配置されている全ての部屋についてループCの処理を実行する。
ループCの処理では、先ず処理対象の部屋へ連結する通路毎に連結方向を判定し、(ステップS132)、判定した連結方向が同じであれば(ステップS134のYES)、処理対象の部屋を、連結する通路の方向に1単位領域分だけ平行移動させるように配置を変更する(ステップS136)。そして、配置変更後の状態において、処理対象の部屋に既に連結している通路以外で、他の部屋又は通路と新たに隣接したか、つまり隣の単位領域に他の部屋又は通路が存在するか否かを判定する(ステップS138)。そして、否定判定の場合には(ステップS138のNO)、ステップS134にもどり、肯定判定の場合には(ステップS138のYES)、当該処理対象の部屋へのループCの処理を終了する。
全てのマップ構築可能領域22に配置されている全ての部屋についてループCの処理を実行したならば、部屋集中処理Bを終了する。
図23は、部屋集中処理Bによる部屋の寄せ集めの様子を示す図である。図23(a)の部屋R1cをループCの処理対象とすると、部屋R1cに連結される通路は通路PS1cのみであり連結方向はX軸プラス方向で単一なので、部屋R1cはX軸プラス方向に1単位領域ずつ平行移動される。そして、通路PS2cと隣接するまで平行移動が繰り返される。また、部屋R4cをループCの処理対象とすると、部屋R4cに連結される通路は通路PS3cと通路PS12cの二つあるが連結方向はX軸プラス方向で同じなので、同様にして、部屋R4cはX軸プラス方向に1単位領域ずつ平行移動される。そして、通路PS2cと隣接するまで平行移動が繰り返される。
この結果、図23(b)に示すように、部屋R1cは、その右側部が通路PS2cの左側部と当接する位置まで寄せられる。また、部屋R4cは、その右上端が通路PS2cの下端と当接するまで寄せられている。
〔変形例〕
以上、本発明の第1〜第3実施形態について説明したが、本発明の適用形態がこれらに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜変更を加えることができる。
例えば、家庭用ゲーム装置でビデオゲームを実行する構成を例に挙げたが、業務用のゲーム装置やパソコン、携帯型ゲーム装置などでゲームを実行することもできる。
また、上記実施形態ではマップ構築可能領域22をトリミングすることで、マップ表示領域においてできるだけ大きくマップ表示できる構成としたがこれに限らない。例えば図24は、主たる処理の流れの変形例を説明するためのフローチャートであるが、同図に示すように、上記実施形態のステップS14〜S16に代えてステップS13a〜S13dを実行し、マップ画像をトリミング処理する構成としても良い。具体的には、画像生成部260が、通路・部屋が配置されている単位領域と、非配置の単位領域とを異なる表示形態で描画した原マップ画像を生成し(ステップS13a)、通路又は部屋が設定されている単位領域のXY各軸方向の最大座標・最小座標で囲まれる外形範囲をトリミング枠として選択する(ステップS13b)。そして、原マップ画像を選択したトリミング枠でトリミング処理し、トリミング済マップ画像を生成し(ステップS13c)、このトリミング済マップ画像をマップ表示領域の表示可能範囲内に縦横寸法比を維持して最大サイズで収めるように画像サイズを調整してゲーム画像に合成する(ステップS13d)。
また、上記実施形態では敵キャラクタ8のうちザコキャラクタを部屋14にランダムに配置する構成としたが、配置する敵キャラクタ8と部屋に関連性を持たせる構成としても良い。
例えば、キャラクタ初期設定データ522及び部屋配置条件設定データ528において、敵キャラクタ8及び部屋14のそれぞれに属性の設定を対応付けておく。属性としては、例えばRPGならば「火」「水」「闇」など魔法属性に類するものや、ゲームフィールド10を屋外とする設定ならば部屋14を「草原」「砂漠」「沼地」など地理的属性を設定することができる。そして、図12のステップS10にて敵キャラクタ8を配置する際には、マップ構築可能領域22に配置されている部屋14の属性と同属性の敵キャラクタ8のみを選択して、同部屋のランダムな位置にランダム数の敵キャラクタを配置する。勿論、配置されている部屋14の属性と異属性の敵キャラクタ8を混入配置するとすることもできる。この場合、部屋と同属性の敵キャラクタ8を多く配置するように選択すると良い。
また、このように部屋14に属性を与える場合には、図13のステップS52及びS54において孤立部屋を他の部屋と連結する処理において、近傍の部屋から処理対象の孤立部屋の属性と同族性の部屋を優先的に選択して連結対象とする。これによって、ゲームフィールド10に複数の部屋にまたがる区域の特性を与えることができるので、ゲームの世界のリアリティを高めることができる。勿論同様の考え方を、図13のステップS62及びS64において適用することもできる。
また更には、通路12を、連結する部屋14の属性に応じて該通路の属性を変える構成としても良い。
例えば、部屋14に「草原」「砂漠」「沼地」など地理的属性を設定するならば、ゲーム空間設定データ520に通路12に適用されるテクスチャとして「草原」「砂漠」「沼地」など通路の地理的属性に適したデータを予め用意しておくとともに、適用されるモデルデータも各属性別に予め用意しておく。
そして、図12のステップS10において3次元仮想空間にゲームフィールド10を形成する際に、形成対象の通路が連結する部屋の属性を比較し、同属性である場合には該属性に対応するモデルデータとテクスチャで通路のオブジェクトを配置する。また、異属性である場合には何れか一方の属性をランダムに選択し、選択した属性に対応するモデルデータとテクスチャとで当該通路のオブジェクトを配置する。よって、例えば「沼地」属性の部屋14を連結する通路12は、「沼地」の様子を描いたテクスチャで「沼地」を思わせる形状の通路部として配置する。この結果、当該通路と連結された「沼地」属性の部屋14とで「沼地」区域を作りだし、通路12と部屋14の視覚的な繋がり感を高めることができる。
また、上記実施形態ではマップ構築可能領域22を2次元空間としたが、3次元空間としても良いのは勿論である。
また、上記実施形態では通路12を直線又は直線部が屈曲部で連結された形態としたがこれに限るものではなく曲線を用いても良い。
第1実施形態における家庭用ゲーム装置の構成例を示すシステム構成図。 第1実施形態におけるゲーム画面の例を示す図。 第1実施形態におけるゲームフィールドの自動生成の原理を説明する概念図。 図3につづくゲームフィールドの自動生成の原理を説明する概念図。 図4につづくゲームフィールドの自動生成の原理を説明する概念図。 第1実施形態における部屋の寄せ集めの原理を説明する概念図。 マップ表示領域の表示例を示す図。 第1実施形態における機能構成の一例を示す機能ブロック図。 第1実施形態における通路配置条件設定データのデータ構成例を示すデータ構成図。 第1実施形態における部屋配置条件設定データのデータ構成例を示すデータ構成図。 マップデータのデータ構成の一例を示す図。 第1実施形態における主たる処理の流れを説明するためのフローチャート。 マップ自動生成処理の流れを説明するためのフローチャート。 部屋配置処理の流れを説明するためのフローチャート。 連結通路生成処理の流れを説明するためのフローチャート。 部屋集中処理の流れを説明するためのフローチャート。 家庭用ゲーム装置を実現するためのハードウェア構成の一例について説明する図。 第2実施形態における部屋配置条件設定データのデータ構成例を示すデータ構成図。 第2実施形態における主たる処理の流れを説明するためのフローチャート。 第3実施形態における部屋配置処理Bの流れを説明するためのフローチャート。 第3実施形態におけるマップ自動生成過程を説明する図。 第3実施形態における部屋集中処理Bの処理の流れを説明するためのフローチャート。 部屋集中処理Bによる部屋の寄せ集めの様子を示す図。 主たる処理の流れの変形例を説明するためのフローチャート。
符号の説明
4 ゲーム画面
16 マップ表示領域
18 マップ画像
100 操作入力部
200 処理部
210 ゲーム演算部
212 マップ自動生成部
214 マップトリミング部
500 記憶部
526 通路配置条件設定データ
528 部屋配置条件設定データ
530 マップデータ
534 マップ画像データ

Claims (13)

  1. コンピュータに、ゲーム画像を生成させてゲームを実行させるためのプログラムであって、
    予め大きさが定められたゲームフィールド構築可能領域内に、複数の通路部及び複数の部屋部のうち少なくとも一部をランダムに配置してキャラクタが移動可能なゲームフィールドを構築するゲームフィールド構築手段、
    前記ゲームフィールド構築可能領域の中から前記構築されたゲームフィールドの外形範囲を抽出する外形範囲抽出手段、
    ゲーム画面中の予め定められた位置に表示されるゲームフィールド全体表示部にゲームフィールド全体範囲を表示する際に、前記外形範囲抽出手段により抽出された範囲を当該ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化させて表示させる全体表示部制御手段、
    として前記コンピュータを機能させるためのプログラム。
  2. 請求項1に記載のプログラムであって、
    前記ゲームフィールド構築手段により構築されたゲームフィールドのうち、部屋部にNPC(ノン・プレーヤキャラクタ)を初期配置するNPC初期配置手段、
    所与の位置に初期配置されたPC(プレーヤキャラクタ)をプレーヤの操作入力に従って制御するPC制御手段、
    前記NPC初期配置手段により配置されたNPCを制御するNPC制御手段、
    として前記コンピュータを機能させるためのプログラム。
  3. 請求項2に記載のプログラムであって、
    前記NPC初期配置手段が、通路部にはNPCを初期配置しないように前記コンピュータを機能させるためのプログラム。
  4. 請求項2又は3に記載のプログラムであって、
    前記各部屋部には属性が定められており、
    前記NPC初期配置手段が、前記各部屋部の属性に応じて、配置するNPCを決定するように前記コンピュータを機能させるためのプログラム。
  5. 請求項4に記載のプログラムであって、
    前記通路部には属性が定められており、
    前記ゲームフィールド構築手段が、配置する通路部を、当該通路部が通じる部屋部の属性に応じた通路部とするように前記コンピュータを機能させるためのプログラム。
  6. 請求項1〜5の何れか一項に記載のプログラムであって、
    前記ゲームフィールド構築手段により構築された前記ゲームフィールドの通路部を短縮化させて前記ゲームフィールドを補正する短縮化手段として前記コンピュータを機能させるためのプログラム。
  7. 請求項6に記載のプログラムであって、
    前記ゲームフィールド構築可能領域は、複数の単位領域が複数軸座標系で格子状配列された領域であり、
    前記ゲームフィールド構築手段が、直線部分を有する通路部を配置し、
    前記短縮化手段が、前記直線部分の一部の単位領域を、該直線部分の直線方向の座標成分が該単位領域と同じ他の単位領域と共に削除する、
    ように前記コンピュータを機能させるためのプログラム。
  8. 請求項1〜7の何れか一項に記載のプログラムであって、
    前記ゲームフィールド構築手段が、
    前記ゲームフィールド構築可能領域内に複数の通路部及び複数の部屋部を配置する配置手段と、
    前記配置手段により配置された通路部及び部屋部の全てが一体に連結されているか否かを判定する一体連結判定手段と、
    前記一体連結判定手段によって否定判定された場合に、互いに非一体の部屋部を選択し、選択した部屋部間を連結させる連結通路を配置する連結通路配置手段と、
    を有するように前記コンピュータを機能させるためのプログラム。
  9. 請求項8に記載のプログラムであって、
    前記連結通路配置手段が、互いに非一体の部屋部の内、他の部屋部や通路部と連結されていない孤立状態の部屋部を優先的に選択して連結通路を配置するように前記コンピュータを機能させるためのプログラム。
  10. 請求項7又は8に記載のプログラムであって、
    前記連結通路配置手段が、前記各部屋部に定められている属性に基づいて、連結させる部屋部を選択するように前記コンピュータを機能させるためのプログラム。
  11. 請求項1〜10の何れか一項に記載のプログラムであって、
    前記ゲームフィールド構築手段による新たなゲームフィールドの構築と、当該構築されたゲームフィールドでのゲーム進行とを繰り返し実行させる進行制御手段、
    新たなゲームフィールドに非ランダムに配置する部屋部の数、大きさ及び位置のうち少なくとも1つを、従前のゲームフィールドまでのゲーム進行結果に基づいて決定する非ランダム配置決定手段、
    として前記コンピュータを機能させ、
    前記ゲームフィールド構築手段が、前記非ランダム配置決定手段により非ランダムに配置する旨決定された部屋部を該決定に従って配置するように前記コンピュータを機能させる、
    ためのプログラム。
  12. 請求項1〜11の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
  13. 予め大きさが定められたゲームフィールド構築可能領域内に、複数の通路部及び複数の部屋部のうち少なくとも一部をランダムに配置してキャラクタが移動可能なゲームフィールドを構築するゲームフィールド構築手段と、
    前記ゲームフィールド構築可能領域の中から前記構築されたゲームフィールドの外形範囲を抽出する外形範囲抽出手段と、
    ゲーム画面中の予め定められた位置に表示されるゲームフィールド全体表示部にゲームフィールド全体範囲を表示する際に、前記外形範囲抽出手段により抽出された範囲を当該ゲームフィールド全体表示部に適合する所定サイズ及び/又は所定形状に適正化させて表示させる全体表示部制御手段と、
    を備えたゲーム装置。
JP2006326371A 2006-12-01 2006-12-01 プログラム、情報記憶媒体及びゲーム装置 Pending JP2008136693A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006326371A JP2008136693A (ja) 2006-12-01 2006-12-01 プログラム、情報記憶媒体及びゲーム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006326371A JP2008136693A (ja) 2006-12-01 2006-12-01 プログラム、情報記憶媒体及びゲーム装置

Publications (1)

Publication Number Publication Date
JP2008136693A true JP2008136693A (ja) 2008-06-19

Family

ID=39598765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006326371A Pending JP2008136693A (ja) 2006-12-01 2006-12-01 プログラム、情報記憶媒体及びゲーム装置

Country Status (1)

Country Link
JP (1) JP2008136693A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010004864A1 (ja) * 2008-07-08 2010-01-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
WO2010004866A1 (ja) * 2008-07-08 2010-01-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
WO2011033747A1 (ja) * 2009-09-15 2011-03-24 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム装置、及びゲーム制御方法
JP2011062262A (ja) * 2009-09-15 2011-03-31 Sony Computer Entertainment Inc ゲーム制御プログラム、ゲーム装置、及びゲーム制御方法
KR101106482B1 (ko) 2009-10-29 2012-01-20 주식회사 이노디스 큐브의 회전을 이용한 게임 방법, 장치 및 그 기록 매체
JP2012029948A (ja) * 2010-07-30 2012-02-16 Kyoraku Sangyo Kk 遊技機、演出制御方法および演出制御プログラム
JP2014236819A (ja) * 2013-06-06 2014-12-18 株式会社セガ ゲーム装置及びプログラム
WO2015041120A1 (ja) * 2013-09-18 2015-03-26 株式会社カプコン ゲーム装置、ゲーム装置の制御方法及び記録媒体
JP2016137302A (ja) * 2015-06-26 2016-08-04 グリー株式会社 制御方法、コンピュータ及び制御プログラム
JP2017127711A (ja) * 2013-09-18 2017-07-27 株式会社カプコン ゲームプログラム及びゲーム装置
JP2022532059A (ja) * 2020-01-02 2022-07-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 マップ生成方法、装置、電子機器及びコンピュータ記憶媒体
JP2022106911A (ja) * 2019-04-12 2022-07-20 株式会社ポケモン プログラム、情報処理装置、ゲームサーバおよびゲームシステム

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010004866A1 (ja) * 2008-07-08 2010-01-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
JP2010017257A (ja) * 2008-07-08 2010-01-28 Konami Digital Entertainment Co Ltd ゲームシステム及びこれに用いるゲーム装置
JP2010017258A (ja) * 2008-07-08 2010-01-28 Konami Digital Entertainment Co Ltd ゲームシステム及びこれに用いるゲーム装置
JP4503660B2 (ja) * 2008-07-08 2010-07-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
JP4503661B2 (ja) * 2008-07-08 2010-07-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
WO2010004864A1 (ja) * 2008-07-08 2010-01-14 株式会社コナミデジタルエンタテインメント ゲームシステム及びこれに用いるゲーム装置
US9242172B2 (en) 2009-09-15 2016-01-26 Sony Corporation Game control program, game device, and method that make game progress by moving character
WO2011033747A1 (ja) * 2009-09-15 2011-03-24 株式会社ソニー・コンピュータエンタテインメント ゲーム制御プログラム、ゲーム装置、及びゲーム制御方法
JP2011062262A (ja) * 2009-09-15 2011-03-31 Sony Computer Entertainment Inc ゲーム制御プログラム、ゲーム装置、及びゲーム制御方法
KR101106482B1 (ko) 2009-10-29 2012-01-20 주식회사 이노디스 큐브의 회전을 이용한 게임 방법, 장치 및 그 기록 매체
JP2012029948A (ja) * 2010-07-30 2012-02-16 Kyoraku Sangyo Kk 遊技機、演出制御方法および演出制御プログラム
JP2014236819A (ja) * 2013-06-06 2014-12-18 株式会社セガ ゲーム装置及びプログラム
JP2015083121A (ja) * 2013-09-18 2015-04-30 株式会社カプコン ゲームプログラム及びゲーム装置
WO2015041120A1 (ja) * 2013-09-18 2015-03-26 株式会社カプコン ゲーム装置、ゲーム装置の制御方法及び記録媒体
JP2017127711A (ja) * 2013-09-18 2017-07-27 株式会社カプコン ゲームプログラム及びゲーム装置
US9925462B2 (en) 2013-09-18 2018-03-27 Capcom Co., Ltd. Game device, game device control method, and recording medium
KR101903687B1 (ko) * 2013-09-18 2018-10-04 가부시키가이샤 카프콤 게임 장치, 게임 장치의 제어 방법 및 기록매체
JP2016137302A (ja) * 2015-06-26 2016-08-04 グリー株式会社 制御方法、コンピュータ及び制御プログラム
JP2022106911A (ja) * 2019-04-12 2022-07-20 株式会社ポケモン プログラム、情報処理装置、ゲームサーバおよびゲームシステム
JP2022532059A (ja) * 2020-01-02 2022-07-13 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 マップ生成方法、装置、電子機器及びコンピュータ記憶媒体
US11865452B2 (en) 2020-01-02 2024-01-09 Tencent Technology (Shenzhen) Company Limited Map generation method and apparatus, electronic device, and computer storage medium
JP7456644B2 (ja) 2020-01-02 2024-03-27 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 マップ生成方法、装置、電子機器及びコンピュータ記憶媒体

Similar Documents

Publication Publication Date Title
JP2008136693A (ja) プログラム、情報記憶媒体及びゲーム装置
JP6577209B2 (ja) プログラム及びサーバシステム
JP3869452B1 (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP5887458B1 (ja) プレイヤの移動履歴に基づいてノンプレイヤキャラクタの経路探索を行うゲームシステム等
US10092847B2 (en) Method for generating and displaying image of virtual space, electronic device and server system
JP4297915B2 (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP4137140B2 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2007244536A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP2005211242A (ja) タッチパネル入力を用いたゲームシステム
JP2005204754A (ja) タッチパネル入力を用いたゲームシステム
JP2007075447A (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2001009156A (ja) コンピュータ読み取り可能な記録媒体、ゲームの表示制御方法およびゲーム装置
JP4848401B2 (ja) タッチパネル入力を用いたゲームシステム
JP2006314705A (ja) ゲームプログラムおよびゲーム装置
JP2007313024A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4136910B2 (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバ装置
JP4463289B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008113758A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP5004435B2 (ja) ゲームプログラム及びゲーム装置
JP2019195718A (ja) プログラム及びサーバシステム
JP6517596B2 (ja) ゲーム装置、その制御方法、ならびに、プログラム
JP2006314611A (ja) テレビゲーム装置、そのテレビゲーム装置を実現するためのプログラム及び記録媒体
JP2006314611A5 (ja)
JP2006314610A5 (ja)
JP4896427B2 (ja) ゲームプログラム及びゲーム装置