(57)【要約】【課題】ユニットの種類に応じて配置される割合や隣り合うユニットの相性を考慮しながら、ランダム要素を含んだ多様性に富んだマップを自動的に生成するゲーム装置およびゲームプログラムを提供する。【解決手段】乱数が選択係数ＳＦより大きい場合、部屋ユニットＲＵが優先的にマップ領域に配置され、乱数が選択係数ＳＦ以下の場合、部屋ユニットＲＵがマップ領域に配置されない。また、選択された空きドアが部屋ユニットＲＵに設定されたドアＤＲである場合、選択係数ＳＦに倍数Ｍを乗算して、その乗算結果と乱数とを比較し、倍率Ｍが大きいほど、通路ユニットＰＵが優先的にマップ領域に配置される。選択係数ＳＦおよび倍率Ｍを調整することによって、マップ領域に配置される２種類のユニットの割合、および２種類のユニットが互いに接続される相性を考慮したマップを生成することができる。【選択図】        図１０
2004329697.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム中にオブジェクトが移動できる領域を規定するゲームマップを生成するゲーム装置であって、
少なくとも１つの接続部を有しゲームマップを構成する単位領域である第１のユニットと、少なくとも１つの接続部を有し当該第１のユニットとは異なる種類の前記単位領域である第２のユニットとを予め記憶するユニット記憶手段と、
前記ユニット記憶手段に記憶された前記第１または第２のユニットを選択し、当該ユニットをマップ領域に配置する第１の配置手段と、
前記マップ領域に既に配置されているユニットが有する接続部のうち、他のユニットと未接続の接続部に接続するユニットを選択して当該マップ領域へユニットの配置を繰り返す第２の配置手段とを備え、
前記第２の配置手段は、
前記マップ領域に既に配置されたユニットが有する接続部のうち、他のユニットと未接続の接続部を抽出する未接続部抽出手段と、
所定の範囲内で乱数を発生する乱数発生手段と、
前記未接続部抽出手段が抽出した接続部に対して選択係数を設定する選択係数設定手段と、
前記選択係数と前記乱数発生手段で発生した乱数とを所定の基準に基づいて比較し、前記第１および第２のユニットの一方を選択するユニット選択手段と、
前記ユニット記憶手段が記憶する前記第１および第２のユニットから、前記ユニット選択手段が選択した一方のユニットを抽出し、当該一方のユニットが有する接続部と前記未接続部抽出手段が抽出した接続部とを接続して当該一方のユニットを前記マップ領域に配置するユニット配置手段とを含む、ゲーム装置。
【請求項２】
前記第１のユニットは、ゲームマップ上で通路を表す単位領域であり、
前記第２のユニットは、ゲームマップ上で前記第１のユニットより大きな領域を有する部屋を表す単位領域であることを特徴とする、請求項１に記載のゲーム装置。
【請求項３】
前記選択係数設定手段は、前記未接続部抽出手段が抽出した接続部を有するユニットの種類に応じて、異なった前記選択係数を設定することを特徴とする、請求項１に記載のゲーム装置。
【請求項４】
前記選択係数設定手段は、前記未接続部抽出手段が抽出した接続部に応じて、異なった前記選択係数を設定することを特徴とする、請求項１に記載のゲーム装置。
【請求項５】
前記ユニット記憶手段は、前記第１および第２のユニットを、複数の前記第１のユニットで構成される第１のユニット群と、複数の前記第２のユニットで構成される第２のユニット群との形態で予め記憶し、
前記ユニット選択手段は、前記選択係数と前記乱数とを所定の基準に基づいて比較し、前記第１および第２のユニット群の一方を選択し、
前記ユニット配置手段は、前記ユニット記憶手段が記憶する前記第１および第２のユニット群のうち、前記ユニット選択手段が選択した一方のユニット群からユニットを抽出して、当該ユニットを前記マップ領域に配置することを特徴とする、請求項１に記載のゲーム装置。
【請求項６】
前記ユニット配置手段は、前記ユニット選択手段が選択した一方のユニットが有する接続部と前記未接続部抽出手段が抽出した接続部とを接続して当該一方のユニットを前記マップ領域に配置することが不可能の場合、前記ユニット記憶手段が記憶する前記第１および第２のユニットから他方のユニットを抽出し、当該他方のユニットが有する接続部と前記未接続部抽出手段が抽出した接続部とを接続して当該他方のユニットを前記マップ領域に配置することを特徴とする、請求項１に記載のゲーム装置。
【請求項７】
前記ユニット配置手段は、さらに前記他方のユニットが有する接続部と前記未接続部抽出手段が抽出した接続部とを接続して当該他方のユニットを前記マップ領域に配置することが不可能な場合、前記未接続部抽出手段が抽出した接続部を閉塞することを特徴とする、請求項６に記載のゲーム装置。
【請求項８】
前記第２の配置手段は、前記第１および第２の配置手段によって前記マップ領域に配置された前記第２のユニットが所定数に達した場合、それ以降は前記第２のユニットを前記マップ領域に配置しないことを特徴とする、請求項１に記載のゲーム装置。
【請求項９】
前記第１および第２の配置手段によって前記マップ領域に配置された前記第２のユニットが所定数に達した場合、前記ユニット記憶手段が記憶する前記第１のユニットを抽出し、当該第１のユニットが有する接続部と前記未接続部抽出手段が抽出した接続部とを接続して当該第１のユニットを前記マップ領域に配置する第３の配置手段を、さらに備える、請求項１に記載のゲーム装置。
【請求項１０】
前記第３の配置手段は、
前記マップ領域において前記未接続部抽出手段が抽出した接続部を基準とした所定範囲内に他のユニットと未接続の別の接続部が存在する場合、前記第１のユニットを配置することにより、当該抽出した接続部と当該別の接続部とを互いに当該第１のユニットを介して接続し、
前記マップ領域において前記所定範囲内に他のユニットと未接続の別の接続部が存在しない場合、前記未接続部抽出手段が抽出した接続部を閉塞することを特徴とする、請求項９に記載のゲーム装置。
【請求項１１】
コンピュータに、ゲーム中にオブジェクトが移動できる領域を規定するゲームマップを生成する処理を実行させるゲームプログラムであって、
前記コンピュータは、少なくとも１つの接続部を有しゲームマップを構成する単位領域である第１のユニットと、少なくとも１つの接続部を有し当該第１のユニットとは異なる種類の前記単位領域である第２のユニットとを予め記憶しており、
予め記憶された前記第１または第２のユニットを選択し、当該ユニットをマップ領域に配置する第１の配置ステップと、
前記マップ領域に既に配置されているユニットが有する接続部のうち、他のユニットと未接続の接続部に接続するユニットを選択して当該マップ領域へユニットの配置を繰り返す第２の配置ステップとを、前記コンピュータに実行させ、
前記第２の配置ステップは、
前記マップ領域に既に配置されたユニットが有する接続部のうち、他のユニットと未接続の接続部を抽出する未接続部抽出ステップと、
所定の範囲内で乱数を発生する乱数発生ステップと、
前記未接続部抽出ステップで抽出した接続部に対して選択係数を設定する選択係数設定ステップと、
前記選択係数と前記乱数発生ステップで発生した乱数とを所定の基準に基づいて比較し、前記第１および第２のユニットの一方を選択するユニット選択ステップと、
予め記憶された前記第１および第２のユニットから、前記ユニット選択ステップで選択した一方のユニットを抽出し、当該一方のユニットが有する接続部と前記未接続部抽出ステップで抽出した接続部とを接続して当該一方のユニットを前記マップ領域に配置するユニット配置ステップとを含む、ゲームプログラム。
【請求項１２】
前記第１のユニットは、ゲームマップ上で通路を表す単位領域であり、
前記第２のユニットは、ゲームマップ上で前記第１のユニットより大きな領域を有する部屋を表す単位領域であることを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１３】
前記選択係数設定ステップは、前記未接続部抽出ステップで抽出した接続部を有するユニットの種類に応じて、異なった前記選択係数を設定することを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１４】
前記選択係数設定ステップは、前記未接続部抽出ステップで抽出した接続部に応じて、異なった前記選択係数を設定することを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１５】
予め記憶された前記第１および第２のユニットは、複数の前記第１のユニットで構成される第１のユニット群と、複数の前記第２のユニットで構成される第２のユニット群との形態で予め記憶されており、
前記ユニット選択ステップは、前記選択係数と前記乱数とを所定の基準に基づいて比較し、前記第１および第２のユニット群の一方を選択し、
前記ユニット配置ステップは、前記第１および第２のユニット群のうち、前記ユニット選択ステップで選択した一方のユニット群からユニットを抽出して、当該ユニットを前記マップ領域に配置することを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１６】
前記ユニット配置ステップは、前記ユニット選択ステップで選択した一方のユニットが有する接続部と前記未接続部抽出ステップで抽出した接続部とを接続して当該一方のユニットを前記マップ領域に配置することが不可能の場合、予め記憶された前記第１および第２のユニットから他方のユニットを抽出し、当該他方のユニットが有する接続部と前記未接続部抽出ステップで抽出した接続部とを接続して当該他方のユニットを前記マップ領域に配置することを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１７】
前記ユニット配置ステップは、さらに前記他方のユニットが有する接続部と前記未接続部抽出ステップで抽出した接続部とを接続して当該他方のユニットを前記マップ領域に配置することが不可能な場合、前記未接続部抽出ステップで抽出した接続部を閉塞することを特徴とする、請求項１６に記載のゲームプログラム。
【請求項１８】
前記第２の配置ステップは、前記第１および第２の配置ステップによって前記マップ領域に配置された前記第２のユニットが所定数に達した場合、それ以降は前記第２のユニットを前記マップ領域に配置しないことを特徴とする、請求項１１に記載のゲームプログラム。
【請求項１９】
前記第１および第２の配置ステップによって前記マップ領域に配置された前記第２のユニットが所定数に達した場合、予め記憶された前記第１のユニットを抽出し、当該第１のユニットが有する接続部と前記未接続部抽出ステップで抽出した接続部とを接続して当該第１のユニットを前記マップ領域に配置する第３の配置ステップを、さらに前記コンピュータに実行させる、請求項１１に記載のゲームプログラム。
【請求項２０】
前記第３の配置ステップは、
前記マップ領域において前記未接続部抽出ステップで抽出した接続部を基準とした所定範囲内に他のユニットと未接続の別の接続部が存在する場合、前記第１のユニットを配置することにより、当該抽出した接続部と当該別の接続部とを互いに当該第１のユニットを介して接続し、
前記マップ領域において前記所定範囲内に他のユニットと未接続の別の接続部が存在しない場合、前記未接続部抽出ステップで抽出した接続部を閉塞することを特徴とする、請求項１９に記載のゲームプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、複数種類のユニットを接続してマップを自動生成するゲーム装置およびゲームプログラムに関する。
【０００２】
【従来の技術】
従来、プレイヤによって操作されるプレイヤオブジェクトがマップやコース上を移動しながら進行するゲームが各種開発されている。これらのマップやコースは、ゲームの多様性を高めるために複数のものをプレイヤに提供できることが望まれる。従来のゲーム装置では、このようなマップやコースを自動的に作成している（例えば特許文献１〜３参照。）。
【０００３】
特許文献１で開示された画像生成装置では、レースゲーム等のコースを自動生成している。具体的には、まず立体交差点やストレートのようなキーとなるパーツを配置し、その後、コースパーツをランダムに選択して配置することによりコースを生成している。特許文献２で開示されたゲーム装置では、ゲームの難易度に応じてマップを抽出している。具体的には、予め部屋および通路が配置された複数のパターンが用意され、ゲームの難易度に応じてそれら複数のパターンから１つを抽出している。特許文献３で開示されたビデオゲーム装置では、迷路を自動生成している。具体的には、まずメインとなる本通路を配置し、その後、分岐路を生成してそれらの行き止まり部に部屋を配置して迷路を生成している。
【０００４】
【特許文献１】
特開平１１−１４４０８７号公報
【特許文献２】
特開２０００−１０７４４１号公報
【特許文献３】
特許３２７０９２９号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、以下のような課題があった。
（１）レースゲーム等の閉じた周回路コースを生成するため、部屋等のコースパーツ以外の要素を設定することが困難であり、行き止まりや分岐路等の設定が不可能である。（特許文献１）
（２）マップとしては固定的に設定されているため、複数のマップから選択されても、ゲームとしてのランダムな多様性に限界がある。（特許文献２）
（３）本通路および分岐路で構成される通路に対して、それらの行き止まりに対して部屋が生成されるため、部屋が通路の途中で生成される等がなく、通路および部屋の組合わせとしてのマップの多様性に乏しい。（特許文献３）
したがって、上記特許文献１〜３で作成されるマップおよびコースは、ランダムな要素を含んだ多様性に乏しく、作成可能なマップおよびコースに限界があった。
【０００６】
また、複数種類のユニットをランダムに組み合わせることによってマップを自動生成する方法も考えられる。しかしながら、これらの複数種類のユニットのうち数多く配置するのが好ましいユニットと、比較的少ない数を配置するのが好ましいユニットがあるが、このようなユニットの種類に応じて配置される割合を考慮した技術はなかった。また、これらの複数種類のユニット間で隣り合うことが好ましいものと好ましくないものとがあり、このようなユニットをランダムに組み合わせる場合の隣り合うユニット間の相性について考慮された技術はなかった。
【０００７】
それ故に、本発明の目的は、ユニットの種類に応じて配置される割合や隣り合うユニットの相性を考慮しながら、ランダムな要素を含んだ多様性に富んだマップを自動的に生成するゲーム装置およびゲームプログラムを提供することである。
【０００８】
【課題を解決するための手段および発明の効果】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
第１の発明は、ゲーム中にオブジェクトが移動できる領域を規定するゲームマップを生成するゲーム装置である。ゲーム装置は、ユニット記憶手段（実施例との対応関係を示せば、例えばユニット記憶領域３２２）、第１の配置手段（実施例との対応関係を示せば、例えばステップＳ２、Ｓ３を実行するＣＰＵ３１；以下単にステップ番号だけを示す）、および第２の配置手段（Ｓ１、Ｓ４、Ｓ５、Ｓ６）を備える。ユニット記憶手段は、少なくとも１つの接続部（ドアＤＲ）を有しゲームマップを構成する単位領域である第１のユニット（通路ユニットＰＵ）と、少なくとも１つの接続部を有しこの第１のユニットとは異なる種類の単位領域である第２のユニット（部屋ユニットＲＵ）とを予め記憶する。第１の配置手段は、ユニット記憶手段に記憶された第１または第２のユニットを選択し、このユニットをマップ領域に配置する。第２の配置手段は、マップ領域に既に配置されているユニットが有する接続部のうち、他のユニットと未接続の接続部に接続するユニットを選択してそのマップ領域へユニットの配置を繰り返す。第２の配置手段は、未接続部抽出手段（Ｓ４、Ｓ５１、Ｓ７１）、乱数発生手段（Ｓ５２）、選択係数設定手段（Ｓ１）、ユニット選択手段（Ｓ５３〜Ｓ６１）、およびユニット配置手段（Ｓ６２）を含む。未接続部抽出手段は、マップ領域に既に配置されたユニットが有する接続部のうち、他のユニットと未接続の接続部を抽出する。乱数発生手段は、所定の範囲内で乱数を発生する。選択係数設定手段は、未接続部抽出手段が抽出した接続部に対して選択係数（選択係数ＳＦ）を設定する。ユニット選択手段は、選択係数と乱数発生手段で発生した乱数とを所定の基準に基づいて比較し、第１および第２のユニットの一方を選択する。ユニット配置手段は、ユニット記憶手段が記憶する第１および第２のユニットから、ユニット選択手段が選択した一方のユニットを抽出し、この一方のユニットが有する接続部と未接続部抽出手段が抽出した接続部とを接続してこの一方のユニットをマップ領域に配置する。
第１のユニットおよび第２のユニットは、互いに異なる種類のユニットである。第１の例は、第１のユニットは、ゲームマップにおいて通路を表すユニットであり、第２のユニットは、部屋を表すユニットである。第２の例は、第２のユニットは、その内部にゲーム構成物（敵キャラクタ、アイテム、スタート位置、ゴール位置等）を配置可能なユニットであり、第１のユニットは、ゲーム構成物を配置不可能なユニットである。第３の例は、第１のユニットは、比較的小さなサイズのユニットであり、第２のユニットは、比較的大きなサイズのユニットである。第４の例は、第１のユニットおよび第２ユニットは、その形状で分類される。
【０００９】
上記第１の発明によれば、乱数に基づいて選ばれる複数種類のユニットを含んだ多様性に富んだマップを自動的に生成することができる。また、選択係数を適切に設定することによって、異なる種類のユニットを所望の割合でマップ領域に配置することができる。例えば、生成される乱数が選択係数より小さい場合に第１のユニットを選択するようにし、乱数が発生する範囲の中央値より大きな値に選択係数を設定することによって、その値に応じて第１のユニットがマップ領域に配置される割合が高くなる。さらに、上記選択係数の設定によって、第１のユニットが連続的に接続されて配置される可能性が高くなり、第２のユニットが連続的に接続されて配置される可能性が低くなる。このように、乱数が発生する範囲に対して選択係数の値を変えることによって、ユニット種類の応じた配置割合や隣り合うユニットの相性を考慮しつつ、多様性に富んだマップを生成することができる。また、既に配置されているユニットの接続部に新たなユニットを接続するので、全てのユニットが連続し一体となったマップを生成することができ、マップが複数に分割される不都合がない。
【００１０】
第２の発明は、第１の発明に従属する発明であって、第１のユニットは、ゲームマップ上で通路（通路領域ＰＺ）を表す単位領域である。第２のユニットは、ゲームマップ上で第１のユニットより大きな領域を有する部屋（部屋領域ＲＺ）を表す単位領域である。
【００１１】
上記第２の発明によれば、ゲームマップを構成する部屋と通路とを所望の割合で含んだ多様性に富んだマップを自動的に生成することができる。例えば、乱数が発生する範囲に対して選択係数の値を適切に設定することによって、部屋が連続的に接続されて配置されるマップが生成される可能性を低くすることもできる。また、スタートおよびゴールポイント、敵キャラクタ、およびアイテム等の付加的に配置する構成物は、ゲームマップ上の部屋に配置されることが一般的であるが、これらの構成物の配置がゲームマップ内で集中する可能性を低くすることができる。
【００１２】
第３の発明は、第１の発明に従属する発明であって、選択係数設定手段は、未接続部抽出手段が抽出した接続部を有するユニットの種類に応じて、異なった選択係数（選択係数ＳＦ×倍率Ｍ）を設定する。
【００１３】
上記第３の発明によれば、第１および第２のユニットの一方に他方のユニットが接続されて配置される確率を制御することができる。例えば、第２のユニットに対しては第１のユニットが接続されて配置される可能性を高くし、第１のユニットに対しては第１および第２のユニットが同じ確率で接続されて配置されるようなマップを生成することができる。つまり、２種類のユニットが互いに接続される相性を考慮したマップを生成することができる。
【００１４】
第４の発明は、第１の発明に従属する発明であって、選択係数設定手段は、未接続部抽出手段が抽出した接続部に応じて、異なった選択係数を設定する。
【００１５】
上記第４の発明によれば、ユニットが有する接続部毎に接続されるユニットの種類を制御することができるため、さらにユニット間の相性が考慮されたマップを生成することが可能となる。
【００１６】
第５の発明は、第１の発明に従属する発明であって、ユニット記憶手段は、第１および第２のユニットを、複数の第１のユニットで構成される第１のユニット群（通路ユニット画像群）と、複数の第２のユニットで構成される第２のユニット群（部屋ユニット画像群）との形態で予め記憶する。この場合、ユニット選択手段は、選択係数と乱数とを所定の基準に基づいて比較し、第１および第２のユニット群の一方を選択する。ユニット配置手段は、ユニット記憶手段が記憶する第１および第２のユニット群のうち、ユニット選択手段が選択した一方のユニット群からユニットを抽出して、このユニットをマップ領域に配置する。
【００１７】
上記第５の発明によれば、第１および第２のユニットに属するユニットを、それぞれ多数用意することによって、さらに多様性に富んだマップを生成することができる。
【００１８】
第６の発明は、第１の発明に従属する発明であって、ユニット配置手段は、ユニット選択手段が選択した一方のユニットが有する接続部と未接続部抽出手段が抽出した接続部とを接続してこの一方のユニットをマップ領域に配置することが不可能なとき（Ｓ５４でＮｏ）がある。この場合、ユニット配置手段は、ユニット記憶手段が記憶する第１および第２のユニットから他方のユニットを抽出し（Ｓ５６、Ｓ５７）、この他方のユニットが有する接続部と未接続部抽出手段が抽出した接続部とを接続してこの他方のユニットをマップ領域に配置する（Ｓ６２）。
【００１９】
上記第６の発明によれば、他のユニットが未接続の接続部に対してユニットが配置不可能になることに起因して、未接続の接続部が残ったマップが作成されることを防止することができる。
【００２０】
第７の発明は、第６の発明に従属する発明であって、ユニット配置手段は、さらに他方のユニットが有する接続部と未接続部抽出手段が抽出した接続部とを接続してこの他方のユニットをマップ領域に配置することが不可能なとき（Ｓ５６でＮｏ、またはＳ５９でＮｏ）がある。この場合、ユニット配置手段は、未接続部抽出手段が抽出した接続部を閉塞する（キャップユニットＣＵ、Ｓ５８、Ｓ６１、Ｓ６２）。
【００２１】
上記第７の発明によれば、全てのユニットが配置不可能な接続部を閉塞させるため、未接続の接続部が残ったマップが作成されることを防止することができる。
【００２２】
第８の発明は、第１の発明に従属する発明であって、第２の配置手段は、第１および第２の配置手段によってマップ領域に配置された第２のユニットが所定数に達した場合、それ以降は第２のユニットをマップ領域に配置しない。
【００２３】
第９の発明は、第１の発明に従属する発明であって、第３の配置手段（Ｓ７３、Ｓ７４）をさらに備える。第３の配置手段は、第１および第２の配置手段によってマップ領域に配置された第２のユニットが所定数に達した場合（Ｓ６）、ユニット記憶手段が記憶する第１のユニットを抽出し、この第１のユニットが有する接続部と未接続部抽出手段が抽出した接続部とを接続してこの第１のユニットをマップ領域に配置する。
【００２４】
上記第８および第９の発明によれば、第２のユニットがマップ領域に配置される数を設定してマップを生成することができる。
【００２５】
第１０の発明は、第９の発明に従属する発明であって、第３の配置手段は、マップ領域において未接続部抽出手段が抽出した接続部を基準とした所定範囲（領域Ｚ）内に他のユニットと未接続の別の接続部が存在する場合（Ｓ７２）、第１のユニットを配置することにより、その抽出した接続部とその別の接続部とを互いにこの第１のユニットを介して接続する（Ｓ７３）。第３の配置手段は、マップ領域において所定範囲内に他のユニットと未接続の別の接続部が存在しない場合（Ｓ７２）、未接続部抽出手段が抽出した接続部を閉塞する（Ｓ７４）。
【００２６】
上記第１０の発明によれば、未接続の接続部が残ったマップが作成されることを防止することができる。また、マップ領域において、未接続の接続部が複数存在し、それら接続部が相対的に近い場合、第１のユニットによって接続されるため、さらに多様なマップを生成することができる。また、マップ領域に第２のユニットが所定数配置された状態を維持した一体的なマップを生成することができる。
【００２７】
第１１の発明は、コンピュータに、ゲーム中にオブジェクトが移動できる領域を規定するゲームマップを生成する処理を実行させるゲームプログラムである。コンピュータは、少なくとも１つの接続部を有しゲームマップを構成する単位領域である第１のユニットと、少なくとも１つの接続部を有しこの第１のユニットとは異なる種類の単位領域である第２のユニットとを予め記憶している（ユニット記憶領域３２２）。ゲームプログラムは、第１の配置ステップ（Ｓ２、Ｓ３）および第２の配置ステップ（Ｓ１、Ｓ４、Ｓ５、Ｓ６）を、コンピュータに実行させる。第１の配置ステップは、予め記憶された第１または第２のユニットを選択し、このユニットをマップ領域に配置する。第２の配置ステップは、マップ領域に既に配置されているユニットが有する接続部のうち、他のユニットと未接続の接続部に接続するユニットを選択してそのマップ領域へユニットの配置を繰り返す、第２の配置ステップは、未接続部抽出ステップ（Ｓ４、Ｓ５１、Ｓ７１）、乱数発生ステップ（Ｓ５２）、選択係数設定ステップ（Ｓ１）、ユニット選択ステップ（Ｓ５３〜Ｓ６１）、およびユニット配置ステップ（Ｓ６２）とを含んでいる。未接続部抽出ステップは、マップ領域に配置されたユニットが有する接続部のうち、他のユニットと未接続の接続部を抽出する。乱数発生ステップは、所定の範囲内で乱数を発生する。選択係数設定ステップは、未接続部抽出ステップで抽出した接続部に対して選択係数を設定する。ユニット選択ステップは、選択係数と乱数発生ステップで発生した乱数とを所定の基準に基づいて比較し、第１および第２のユニットの一方を選択する。ユニット配置ステップは、予め記憶された第１および第２のユニットから、ユニット選択ステップで選択した一方のユニットを抽出し、この一方のユニットが有する接続部と未接続部抽出ステップで抽出した接続部とを接続してこの一方のユニットをマップ領域に配置する。
【００２８】
上記第１１の発明によれば、ゲームプログラムを実行するコンピュータであっても、上記第１の発明と同様の効果が得られる。
【００２９】
第１２の発明は、第１１の発明に従属する発明であって、第１のユニットは、ゲームマップ上で通路を表す単位領域である。第２のユニットは、ゲームマップ上で第１のユニットより大きな領域を有する部屋を表す単位領域である。
【００３０】
第１３の発明は、第１１の発明に従属する発明であって、選択係数設定ステップは、未接続部抽出ステップで抽出した接続部を有するユニットの種類に応じて、異なった選択係数を設定する。
【００３１】
第１４の発明は、第１１の発明に従属する発明であって、選択係数設定ステップは、未接続部抽出ステップで抽出した接続部に応じて、異なった選択係数を設定する。
【００３２】
第１５の発明は、第１１の発明に従属する発明であって、予め記憶された第１および第２のユニットは、複数の第１のユニットで構成される第１のユニット群と、複数の第２のユニットで構成される第２のユニット群との形態で予め記憶されている。この場合、ユニット選択ステップは、選択係数と乱数とに基づいて、第１および第２のユニット群の一方を選択する。ユニット配置ステップは、第１および第２のユニット群のうち、ユニット選択ステップで選択した一方のユニット群からユニットを抽出して、このユニットをマップ領域に配置する。
【００３３】
第１６の発明は、第１１の発明に従属する発明であって、ユニット配置ステップは、ユニット選択ステップで選択した一方のユニットが有する接続部と未接続部抽出ステップで抽出した接続部とを接続してこの一方のユニットをマップ領域に配置することが不可能なときがある。この場合、ユニット配置ステップは、予め記憶された第１および第２のユニットから他方のユニットを抽出し、この他方のユニットが有する接続部と未接続部抽出ステップで抽出した接続部とを接続してこの他方のユニットをマップ領域に配置する。
【００３４】
第１７の発明は、第１６の発明に従属する発明であって、ユニット配置ステップは、さらに他方のユニットが有する接続部と未接続部抽出ステップで抽出した接続部とを接続してこの他方のユニットをマップ領域に配置することが不可能なときがある。この場合、ユニット配置ステップは、未接続部抽出ステップで抽出した接続部を閉塞する。
【００３５】
第１８の発明は、第１１の発明に従属する発明であって、第２の配置ステップは、第１および第２の配置ステップによってマップ領域に配置された第２のユニットが所定数に達した場合、それ以降は第２のユニットをマップ領域に配置しない。
【００３６】
第１９の発明は、第１１の発明に従属する発明であって、第３の配置ステップ（Ｓ７３、Ｓ７４）を、さらにコンピュータに実行させる。第３の配置ステップは、第１および第２の配置ステップによってマップ領域に配置された第２のユニットが所定数に達した場合、予め記憶された第１のユニットを抽出し、この第１のユニットが有する接続部と未接続部抽出ステップで抽出した接続部とを接続してこの第１のユニットをマップ領域に配置する。
【００３７】
第２０の発明は、第１９の発明に従属する発明であって、第３の配置ステップは、マップ領域において未接続部抽出ステップで抽出した接続部を基準とした所定範囲内に他のユニットと未接続の別の接続部が存在する場合、第１のユニットを配置することにより、その抽出した接続部とその別の接続部とを互いにこの第１のユニットを介して接続する。第３の配置ステップは、マップ領域において所定範囲内に他のユニットと未接続の別の接続部が存在しない場合、未接続部抽出ステップで抽出した接続部を閉塞する。
【００３８】
【発明の実施の形態】
図１を参照して、本発明の一実施形態に係るゲームシステム１について説明する。なお、図１は、当該ゲームシステムを説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明の一実施形態について説明する。
【００３９】
図１において、当該ゲームシステム１は、家庭用テレビジョン受像機等のスピーカ２ａを備えたＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ（以下、テレビと記載する）２に、接続コードを介して接続される据置型ゲーム装置（以下、単にゲーム装置と記載する）３によって構成される。ゲーム装置３は、接続コードを介してゲーム装置３と接続されるコントローラ６およびゲーム装置３に対して交換可能に着脱される選択的に用いられる情報記憶媒体の一例の光ディスク４を含む。また、ゲーム装置３には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載するメモリカード５が必要に応じて着脱自在に装着される。ゲーム装置３は、光ディスク４に記憶されたゲームプログラムを実行することによって、その結果をゲーム画像としてテレビ２に表示する。さらに、ゲーム装置３は、メモリカード５に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をテレビ２に表示することもできる。そして、ゲーム装置３のプレイヤは、テレビ２に表示されたゲーム画像を見ながら、コントローラ６を操作することによって、ゲーム進行を楽しむことができる。
【００４０】
コントローラ６は、上述したように接続コードを介してゲーム装置３に接続され、その接続コードは、ゲーム装置３に対して着脱自在である。コントローラ６は、主にテレビ２に表示されるゲーム空間に登場するプレイヤオブジェクト（典型的には、プレイヤの操作対象であるゲーム主人公）を操作するための操作手段であり、複数の操作ボタン、キー、およびスティック等の入力部を備えている。具体的には、コントローラ６には、プレイヤによって各々把持されるグリップ部が形成される。そして、コントローラ６は、プレイヤの左手の親指等によって操作可能なメインスティック６１および十字キー６７と、右手の親指等によって操作可能なＣスティック６８、Ａボタン６２、Ｂボタン６３、Ｘボタン６４、Ｙボタン６５、およびスタート−ポーズボタン６９を含む。さらに、コントローラ６には、プレイヤの左右の人差し指等によってそれぞれ操作可能なＲボタン６６ａおよびＬボタン６６ｂを備える。これらコントローラ６の入力部を用いた操作は、ゲーム進行に応じて行われるが、本発明の説明とは直接関連しないため詳細な説明を省略する。
【００４１】
次に、図２を参照して、ゲーム装置３の構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
【００４２】
図２において、ゲーム装置３は、各種プログラムを実行する例えば１２８ビットのＣＰＵ（セントラルプロセッシングユニット）３１を備える。ＣＰＵ３１は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、ワークメモリ３２等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理を行うものである。ＣＰＵ３１には、ワークメモリ３２、ビデオＲＡＭ（ＶＲＡＭ）３３、外部メモリインターフェース（Ｉ／Ｆ）３４、コントローラＩ／Ｆ３５、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６、および光ディスクドライブ３７が所定のバスを介して接続される。
【００４３】
ワークメモリ３２は、ＣＰＵ３１で使用される記憶領域であって、ＣＰＵ３１の処理に必要なゲームプログラム等を適宜記憶する。例えば、ワークメモリ３２は、ＣＰＵ３１によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。また、ワークメモリ３２には、ＣＰＵ３１がゲームプログラムを実行することによって生成される一時的なデータも記憶される。このワークメモリ３２に記憶されたゲームプログラムや各種データ等を用いてＣＰＵ３１がゲーム進行を行う。ＶＲＡＭ３３は、テレビ２に表示するゲーム画像データを格納する。外部メモリＩ／Ｆ３４は、図示しないコネクタにメモリカード５を嵌合させることによってゲーム装置３とメモリカード５とを通信可能に接続する。ＣＰＵ３１は、外部メモリＩ／Ｆ３４を介してメモリカード５に設けられたバックアップメモリにアクセスする。コントローラＩ／Ｆ３５は、図示しない複数のコネクタと嵌合する外部機器とゲーム装置３とを通信可能に接続する。例えば、コントローラ６は、接続コードを介して上記コネクタと嵌合し、コントローラＩ／Ｆ３５を介してゲーム装置３と接続される。ＧＰＵ３６は、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成され、ＣＰＵ３１で処理したゲーム画像データやＶＲＡＭ３３に格納されたゲーム画像データを処理し、そのゲーム画像をテレビ２に表示する。光ディスクドライブ３７は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置３のバスに出力する。
【００４４】
ワークメモリ３２には、上述したようにＣＰＵ３１の処理に必要なゲームプログラム等が適宜記憶され、ＣＰＵ３１によって光ディスク４から読み出されたゲームプログラムや各種データ等が格納される。以下、図３を参照して、本発明のゲームプログラムを実行する場合にワークメモリ３２に記憶されるプログラムおよびデータの一例について説明する。なお、図３は、ワークメモリ３２に記憶されるプログラムおよびデータの一例について説明するための概略的なメモリマップである。
【００４５】
図３において、ワークメモリ３２は、プログラム記憶領域３２１およびユニット記憶領域３２２を有している。具体的には、プログラム記憶領域３２１には、ＣＰＵ３１によって実行されるマップ生成プログラムと、そのマップ生成プログラムによって利用される乱数生成プログラム等が記憶されている。また、ユニット記憶領域３２２には、上記マップ生成プログラムによって利用されるユニットテーブルとユニット画像データ群等とが記憶される。ユニットテーブルは、部屋ユニットテーブル、通路ユニットテーブル、およびキャップユニットテーブルを含んでいる。ユニット画像データ群は、部屋ユニット画像群、通路ユニット画像群、およびキャップユニット画像を含んでいる。
【００４６】
マップ生成プログラムは、後述するフローチャートによって生成されるゲームで用いられるマップを生成する処理が定義されている。この処理においては、後述するユニットを選択する際、乱数が用いられ、この乱数が乱数生成プログラムによって生成される。
【００４７】
図４および図５を参照して、部屋ユニット画像群および部屋ユニットテーブルについて説明する。なお、図４はユニット記憶領域３２２に記憶される部屋ユニット画像群に含まれる部屋ユニットの一例を示す図であり、図５は部屋ユニットテーブルの一例を示す図である。
【００４８】
図４において、ユニット記憶領域３２２には、部屋ユニット画像群として複数の部屋ユニットＲＵが記憶されている。部屋ユニットＲＵは、後述する通路ユニットＰＵおよびキャップユニットＣＵと共に、マップを構成する単位領域である。例えば、部屋ユニットＲＵは、矩形領域で形成され、その内部に任意な形状でプレイヤオブジェクト等のオブジェクトが移動あるいは配置可能な部屋領域ＲＺを有している。図４においては、部屋領域ＲＺを斜線領域で示している。部屋領域ＲＺは、少なくとも一部が部屋ユニットＲＵの上記矩形領域の境界と所定長さの線分として接して形成され、当該境界と接する線分にドアＤＲが設定される。ドアＤＲは、接続部の一例であり、他のユニットと接続するための部分である。
【００４９】
例えば、図４（ａ）で示す部屋ユニットＲＵａは、その部屋領域ＲＺが矩形領域の境界を示す４つの辺にそれぞれ１箇所ずつ合計４箇所接しており、それぞれの接する箇所にドアＤＲ１〜ＤＲ４が設定されている。図４（ｂ）で示す部屋ユニットＲＵｂは、その部屋領域ＲＺが上記４つの辺にそれぞれ１箇所以上合計５箇所接しており、それぞれの接する箇所にドアＤＲ１〜ＤＲ５が設定されている。なお、部屋ユニットＲＵｂのドアＤＲ３およびＤＲ４が同じ上記辺に設定されている。図４（ｃ）で示す部屋ユニットＲＵｃは、上記辺のうちの対向する２辺に部屋領域ＲＺがそれぞれ１箇所ずつ合計２箇所接しており、それぞれの接する箇所にドアＤＲ１およびＤＲ２が設定されている。図４（ｄ）で示す部屋ユニットＲＵｄは、上記辺のうちの１辺に部屋領域ＲＺが１箇所接しており、その接する箇所にドアＤＲ１が設定されている。
【００５０】
このように部屋ユニットＲＵには、その種類に応じた任意の形状の部屋領域ＲＺが形成される。そして、部屋ユニットＲＵに設定されるドアＤＲは、上記４つの辺の少なくとも１つに所定の長さで設定される。ここで、上記部屋ユニットＲＵの例で示すように、部屋ユニットＲＵの４つの辺には、ドアＤＲが設定されない辺がある場合もあるし、１つの辺に複数のドアＤＲが設定される場合もある。
【００５１】
また、部屋ユニットＲＵには、その部屋領域ＲＺの内部にマップのスタートポイント、ゴールポイント、敵キャラクタ、およびアイテム等の付加的に配置される構成物がそれぞれ配置される可能性がある地点が設定されている。以下、これらの地点をスロットと記載し、スタートポイントが配置される可能性がある地点をスタートスロットＳｓ、ゴールポイントが配置される可能性がある地点をゴールスロットＳｇ、敵キャラクタが配置される可能性がある地点を敵スロットＳｅ、アイテムが配置される可能性がある地点をアイテムスロットＳｉと記載して説明する。ここで、部屋ユニットＲＵに形成される部屋領域ＲＺの内部には、少なくとも１つのゴールスロットＳｇが必ず設定されている。例えば、図４（ａ）で示す部屋ユニットＲＵａに形成される部屋領域ＲＺの内部には、２つのスタートスロットＳｓと、１つのゴールスロットＳｇ、敵スロットＳｅ、およびアイテムスロットＳｉとが設定されている。図４（ｂ）で示す部屋ユニットＲＵｂに形成される部屋領域ＲＺの内部には、２つの敵スロットＳｅと、１つのゴールスロットＳｇおよびアイテムスロットＳｉとが設定されている。図４（ｃ）で示す部屋ユニットＲＵｃに形成される部屋領域ＲＺの内部には、１つのゴールスロットＳｇ、敵スロットＳｅ、およびアイテムスロットＳｉが設定されている。図４（ｄ）で示す部屋ユニットＲＵｄに形成される部屋領域ＲＺの内部には、３つのスタートスロットＳｓと、１つのゴールスロットＳｇおよびアイテムスロットＳｉとが設定されている。
【００５２】
図５において、ユニット記憶領域３２２に記憶される部屋ユニットテーブルには、上述した部屋ユニット画像群として含まれるそれぞれの部屋ユニットＲＵに対するデータが記憶される。例えば、部屋ユニットテーブルには、それぞれの部屋ユニットＲＵに対して、そのサイズ、ドアＤＲの設定位置、およびスロットの数等が記憶されている。部屋ユニットＲＵのサイズは、単位ユニットの大きさ１×１の倍数で表される上記矩形領域の大きさであり、例えば、上述した部屋ユニットＲＵａ〜ＲＵｄは、それぞれサイズ４×４である。なお、後述するサイズは、特に指示のない限り上記単位ユニットの大きさを１×１とした値を基準に表現する。
【００５３】
部屋ユニットＲＵに設定されるドアＤＲの設定位置は、上述した４つの辺を順にａ〜ｄで示し（例えば、ユニットの上側の辺を辺ａとし、右側の辺を辺ｂとし、下側の辺を辺ｃとし、左側の辺を辺ｄとする）、ドアＤＲが設定される辺ａ〜ｄ上における位置を示す数値を付与する。上記位置を示す数値は、ドアＤＲが設定される辺の一方端からの距離を、上記単位ユニットの長さで示す。例えば、図４（ａ）で示す部屋ユニットＲＵａの上側の辺を辺ａとし、部屋ユニットＲＵａのドアＤＲ１が辺ａの左端から２単位ユニット目に設定されているとすると、ドアＤＲ１の設定位置として「ａ２」が部屋ユニットテーブルに記憶される。そして、部屋ユニットＲＵに設定されるスロットの数は、それぞれの部屋領域ＲＺの内部に設定されるスタートスロットＳｓ、ゴールスロットＳｇ、敵スロットＳｅ、およびアイテムスロットＳｉのそれぞれの数である。ＣＰＵ３１は、この部屋ユニットテーブルを参照することによって、上記部屋ユニット画像群を処理毎に画像解析しなくても、後述するマップ生成に必要なそれぞれの部屋ユニットＲＵのデータを取得することができる。
【００５４】
図６〜図８を参照して、通路ユニット画像群およびキャップユニット画像と、通路ユニットテーブルおよびキャップユニットテーブルとについて説明する。なお、図６はユニット記憶領域３２２に記憶される通路ユニット画像群およびキャップユニット画像に含まれる通路ユニットおよびキャップユニットの一例を示す図であり、図７は通路ユニットテーブルの一例を示す図であり、図８はキャップユニットテーブルの一例を示す図である。
【００５５】
図６（ａ）〜図６（ｄ）において、ユニット記憶領域３２２には、通路ユニット画像群として複数の通路ユニットＰＵが記憶されている。例えば、通路ユニットＰＵは、矩形領域で形成され、その内部に任意な形状でプレイヤオブジェクトが移動可能な通路領域ＰＺを有している。また、図６（ｅ）において、ユニット記憶領域３２２には、キャップユニット画像として少なくとも１つのキャップユニットＣＵが記憶されている。例えば、キャップユニットＣＵは、矩形領域で形成され、その内部に任意な形状でプレイヤオブジェクトが移動可能な通路領域ＰＺを有している。図６においては、それぞれの通路領域ＰＺを斜線領域で示している。通路領域ＰＺは、少なくとも一部が通路ユニットＰＵあるいはキャップユニットＣＵの上記矩形領域の境界と所定長さの線分として接して形成され、当該境界と接する線分にドアＤＲが設定される。なお、通路ユニットＰＵあるいはキャップユニットＣＵにおける上記線分の長さは、上述した部屋ユニットＲＵにおける線分の所定の長さと同じである。
【００５６】
例えば、図６（ａ）で示す通路ユニットＰＵａは、その通路領域ＰＺが矩形領域の境界を示す４つの辺のうち、対向する２辺にそれぞれ１箇所ずつ合計２箇所接しており、それぞれの接する箇所にドアＤＲ１およびＤＲ２が設定されている。図６（ｂ）で示す通路ユニットＰＵｂは、その通路領域ＰＺが上記４つの辺のうち、隣り合う２辺にそれぞれ１箇所ずつ合計２箇所接しており、それぞれの接する箇所にドアＤＲ１およびＤＲ２が設定されている。図６（ｃ）で示す通路ユニットＰＵｃは、上記４つの辺に通路領域ＰＺがそれぞれ１箇所ずつ合計４箇所接しており、それぞれの接する箇所にドアＤＲ１〜ＤＲ４が設定されている。図６（ｄ）で示す通路ユニットＰＵｄは、その通路領域ＰＺが上記４つの辺のうち、３辺にそれぞれ１箇所ずつ合計３箇所接しており、それぞれの接する箇所にドアＤＲ１〜ＤＲ３が設定されている。図６（ｅ）で示すキャップユニットＣＵは、その通路領域ＰＺが矩形領域の境界を示す４つの辺のうちの１辺に１箇所接しており、その接する箇所にドアＤＲ１が設定されている。
【００５７】
このように通路ユニットＰＵおよびキャップユニットＣＵには、その種類に応じた任意の形状の通路領域ＰＺが形成される。そして、通路ユニットＰＵに設定されるドアＤＲは、上記４つの辺の少なくとも２つ以上に所定の長さで設定される。また、キャップユニットＣＵに設定されるドアＤＲは、上記４つの辺の１つに１箇所だけ所定の長さで設定される。つまり、通路ユニットＰＵとキャップユニットＣＵとの違いは、ドアＤＲが設定される数であり、キャップユニットＣＵをドアＤＲが１つ設定される通路ユニットと定義することもできる。しかし、後述する処理の説明でそれらの区別を明確にするために、キャップユニットＣＵを通路ユニットＰＵと区別して説明する。また、部屋ユニットＲＵ、通路ユニットＰＵ、およびキャップユニットＣＵを総称して説明するときは、単にユニットと記載する。
【００５８】
図７において、ユニット記憶領域３２２に記憶される通路ユニットテーブルには、上述した通路ユニット画像群として含まれるそれぞれの通路ユニットＰＵに対するデータが記憶される。例えば、通路ユニットテーブルには、それぞれの通路ユニットＰＵに対して、そのサイズおよびドアＤＲの設定位置等が記憶されている。通路ユニットＰＵのサイズは、上記矩形領域の大きさであり、例えば、上述した通路ユニットＰＵａ〜ＰＵｄは、それぞれサイズ１×１である。通路ユニットＰＵに設定されるドアＤＲの設定位置は、上述した４つの辺を順にａ〜ｄで示し、ドアＤＲが設定される辺ａ〜ｄ上における位置を示す数値を付与する。上記位置を示す数値は、ドアＤＲが設定される辺の一方端からの距離を、上記単位ユニットの長さで示す。例えば、図６（ａ）で示す通路ユニットＰＵａの上側の辺を辺ａとし、通路ユニットＰＵａのドアＤＲ１が辺ａの左端から１単位ユニット目に設定されているとすると、ドアＤＲ１の設定位置として「ａ１」が通路ユニットテーブルに記憶される。ＣＰＵ３１は、この通路ユニットテーブルを参照することによって、上記通路ユニット画像群を処理毎に画像解析しなくても、後述するマップ生成に必要なそれぞれの通路ユニットＰＵのデータを取得することができる。
【００５９】
図８において、ユニット記憶領域３２２に記憶されるキャップユニットテーブルには、上述したキャップユニット画像として含まれるキャップユニットＣＵに対するデータが記憶される。例えば、キャップユニットテーブルには、キャップユニットＣＵに対して、そのサイズおよびドアＤＲの設定位置等が記憶されている。キャップユニットＣＵのサイズは、上記矩形領域の大きさであり、例えば、上述したキャップユニットＣＵは、サイズ１×１である。キャップユニットＣＵに設定されるドアＤＲの設定位置は、上述した４つの辺を順にａ〜ｄで示し、ドアＤＲが設定される辺ａ〜ｄ上における位置を示す数値を付与する。上記位置を示す数値は、ドアＤＲが設定される辺の一方端からの距離を、上記単位ユニットの長さで示す。例えば、図６（ｅ）で示すキャップユニットＣＵの下側の辺を辺ｃとし、キャップユニットＣＵのドアＤＲ１が辺ｃの右端から１単位ユニット目に設定されているとすると、ドアＤＲ１の設定位置として「ｃ１」がキャップユニットテーブルに記憶される。ＣＰＵ３１は、このキャップユニットテーブルを参照することによって、上記キャップユニット画像を処理毎に画像解析しなくても、後述するマップ生成に必要なそれぞれのキャップユニットＣＵのデータを取得することができる。なお、上述したように、キャップユニットＣＵは、ドアＤＲが１つ設定される通路ユニットと定義することも可能であり、キャップユニットＣＵのデータを上記通路ユニットテーブルに含めてもかまわない。
【００６０】
次に、図９〜図１１を参照して、ゲームシステム１におけるゲーム装置３によって実行されるマップ生成処理について説明する。なお、図９はゲーム装置３によって実行されるマップ生成処理の全体処理を示すフローチャートであり、図１０は図９のユニット配置処理の詳細な動作を示すサブルーチンであり、図１１は図９のユニット接続処理の詳細な動作を示すサブルーチンである。
【００６１】
ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ３１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ワークメモリ３２等の各ユニットが初期化される。そして、光ディスク４に格納されたマップ生成プログラム等のプログラムと各種データが光ディスクドライブ３７を介してワークメモリ３２に読み込まれ、そのマップ生成プログラムの実行が開始される。
【００６２】
図９において、ＣＰＵ３１は、部屋の数ＲＮおよび選択係数ＳＦとを設定し（ステップＳ１）、処理を次のステップに進める。部屋の数ＲＮは、当該マップ生成プログラムによって生成されるマップ上に配置される部屋ユニットＲＵの数である。選択係数ＳＦは、ユニット同士を接続する際に、接続されるユニットの種類を制御する係数であり、本実施例においては０〜１の間の数値が設定されるが詳細は後述する。これら部屋の数ＲＮおよび選択係数ＳＦは、プログラムによってＣＰＵ３１が自動的に設定してもよいし、プレイヤがコントローラ６を操作することによる指示によって、手動で設定されてもかまわない。
【００６３】
次に、ＣＰＵ３１は、ユニット記憶領域３２２に記憶される部屋ユニットテーブルを参照して、スタートスロットＳｓを含む部屋ユニットＲＵを選択する（ステップＳ２）。そして、ＣＰＵ３１は、ユニット記憶領域３２２に記憶された部屋ユニット画像群から上記ステップＳ２で選択された部屋ユニットＲＵに相当する画像をスタートユニットとして抽出して、当該部屋ユニットをゲームマップを生成する仮想的な所定の平面（図２のワークメモリ３２上に形成される領域であり、以下、マップ領域と記載する）に配置し（ステップＳ３）、次のステップに処理を進める。ここで、ＣＰＵ３１は、部屋ユニットＲＵを９０°毎に回転させて上記マップ領域に配置することが可能である。つまり、図４で示した部屋ユニットＲＵを０°とした場合、ＣＰＵ３１は、時計方向に９０°、１８０°、および２７０°回転させてそれぞれの部屋ユニットＲＵを上記マップ領域に配置することができる。このようにすることによって、データ量をおさえつつ部屋ユニットの多様性を増すことができる。なお、ＣＰＵ３１は、上記ステップＳ３における部屋ユニットＲＵの回転角度を０°、９０°、１８０°、および２７０°のうちから、ランダムに選択する。
【００６４】
次に、ＣＰＵ３１は、上記マップ領域に既に配置されているユニットに設定されているドアＤＲに、空きドアがあるか否かを判断する（ステップＳ４）。ここで、空きドアとは、上述した部屋ユニットＲＵや通路ユニットＰＵに設定されているドアＤＲのうち、他のユニットのドアＤＲと未接続状態のものを示している。そして、ＣＰＵ３１は、空きドアがある場合、処理を次のステップＳ５に進め、空きドアがない場合、処理を次のステップＳ８に進める。
【００６５】
ステップＳ５では、ＣＰＵ３１は、上記マップ領域に新たにユニットを配置する処理を行い、処理を次のステップＳ６に進める。図１０で示すユニット配置処理の詳細な動作を示すサブルーチンを参照して、このステップＳ５で行う詳細な動作について説明する。
【００６６】
図１０において、ＣＰＵ３１は、上記マップ領域に既に配置されているユニットの空きドアの１つをランダムで選択し（ステップＳ５１）、次のステップに処理を進める。なお、後述するユニットの配置によって上記マップ領域に通路ユニットＰＵが配置されている場合があり、ステップＳ５１では、部屋ユニットＲＵの他に通路ユニットＰＵのドアＤＲが空きドアとして選択されることがある。
【００６７】
次に、ＣＰＵ３１は、上記乱数生成プログラムを実行して、所定の範囲（例えば、０〜１）の乱数を生成し（ステップＳ５２）、処理を次のステップに進める。
【００６８】
次に、ＣＰＵ３１は、上記ステップＳ５２で生成された乱数が、上記ステップＳ１で設定された選択係数ＳＦより大きいか否かを判断する（ステップＳ５３）。なお、ＣＰＵ３１は、上記ステップＳ５１で選択された空きドアが部屋ユニットＲＵに設定されたドアＤＲである場合、上記選択係数ＳＦに１以上の所定の倍数Ｍ（例えば、１．５）を乗算して、その乗算結果と上記乱数とを上記ステップＳ５３で比較する。そして、ＣＰＵ３１は、上記乱数が選択係数ＳＦより大きい場合、処理を次のステップＳ５４に進め、上記乱数が選択係数ＳＦ以下の場合、処理を次のステップＳ５９に進める。
【００６９】
ステップＳ５４では、ＣＰＵ３１は、ステップＳ５１で選択された空きドアに接続するように配置可能な部屋ユニットＲＵが上記部屋ユニット画像群にあるか否かを判断する。なお、以下の説明において、ステップＳ５１で選択された空きドアを「選択ドア」と省略する。ここで、ＣＰＵ３１がステップＳ５４で行う配置可能の判断について説明する。新たに配置される部屋ユニットＲＵは、その部屋ユニットＲＵに設定されているドアＤＲと選択ドアとが接続するように配置される。図１２は、マップ領域に既に配置されている部屋ユニットＲＵａのドアＤＲ３がステップＳ５１で選択され、新たに部屋ユニットＲＵｃが配置されるときに、部屋ユニットＲＵａのドアＤＲ３に部屋ユニットＲＵｃのドアＤＲ１が接続されて配置された一例を示している。上記配置可能の判断は、新たに配置される部屋ユニットＲＵが、自身の何れかのドアＤＲと選択ドアとが接続されるようにして配置した場合に、（１）マップ領域に既に配置されている他のユニットと自身のユニットが重なる場合、（２）自身の他の空きドアがマップ領域に既に配置されている他のユニットと接するために接続不可能になる場合、（３）自身のユニットを配置することによって、既に配置されたユニットの空きドアを接続不可能にする場合、の（１）〜（３）のいずれかの場合に、当該部屋ユニットＲＵを配置不可能とする。この判断は、部屋ユニットＲＵを９０°毎に回転させて、回転後のユニットについてそれぞれ判断されるので、部屋ユニットＲＵに設定されている全てのドアＤＲについて選択ドアに接続して配置可能か否かが判断される。ＣＰＵ３１は、このような配置可能の判断を、上記部屋ユニットテーブルに記憶されているそれぞれの部屋ユニットＲＵのサイズおよびドアＤＲの設定位置のデータを参照して行う。そして、ＣＰＵ３１は、配置可能な部屋ユニットＲＵが上記部屋ユニット画像群に１つでもある場合、処理を次のステップＳ５５に進め、配置可能な部屋ユニットＲＵが上記部屋ユニット画像群に１つもない場合、処理を次のステップＳ５６に進める。
【００７０】
ステップＳ５５では、ＣＰＵ３１は、上記ステップＳ５４で配置可能と判断した部屋ユニットＲＵの中から１つの部屋ユニットＲＵをランダムに選択する。そして、ＣＰＵ３１は、処理を次のステップＳ６２に進める。
【００７１】
一方、ステップＳ５６では、ＣＰＵ３１は、選択ドアに接続するように配置可能な通路ユニットＰＵが上記通路ユニット画像群にあるか否かを判断する。ここで、ＣＰＵ３１がステップＳ５６で行う配置可能の判断について説明する。新たに配置される通路ユニットＰＵは、その通路ユニットＰＵに設定されているドアＤＲと選択ドアとが接続するように配置される。図１３は、マップ領域に既に配置されている部屋ユニットＲＵａのドアＤＲ３がステップＳ５１で選択され、新たに通路ユニットＰＵｂが配置されるときに、部屋ユニットＲＵａのドアＤＲ３に通路ユニットＰＵｂのドアＤＲ２が接続されて配置された一例を示している。上記配置可能の判断は、上記配置可能の判断は、前述のステップＳ５４の説明における部屋ユニットＲＵの配置可能の判断と同様である。そして、ＣＰＵ３１は、配置可能な通路ユニットＰＵが上記通路ユニット画像群に１つでもある場合、処理を次のステップＳ５７に進め、配置可能な通路ユニットＰＵが上記通路ユニット画像群に１つもない場合、処理を次のステップＳ５８に進める。
【００７２】
ステップＳ５７では、ＣＰＵ３１は、上記ステップＳ５６で配置可能と判断した通路ユニットＰＵの中から１つの通路ユニットＰＵをランダムに選択する。そして、ＣＰＵ３１は、処理を次のステップＳ６２に進める。一方、ステップＳ５８では、ＣＰＵ３１は、キャップユニットＣＵを選択して、処理を次のステップＳ６２に進める。
【００７３】
ＣＰＵ３１は、上記ステップＳ５３において、上記乱数が選択係数ＳＦ以下の場合、処理をステップＳ５９に進めている。ステップＳ５９では、ＣＰＵ３１は、選択ドアに配置可能な通路ユニットＰＵが上記通路ユニット画像群にあるか否かを判断する。そして、ＣＰＵ３１は、配置可能な通路ユニットＰＵが上記通路ユニット画像群に１つでもある場合、処理を次のステップＳ６０に進め、配置可能な通路ユニットＰＵが上記通路ユニット画像群に１つもない場合、処理を次のステップＳ６１に進める。このステップＳ５９における動作は、上記ステップＳ５６と同様であるため、詳細な説明を省略する。
【００７４】
ステップＳ６０では、ＣＰＵ３１は、上記ステップＳ５９で配置可能と判断した通路ユニットＰＵの中から１つの通路ユニットＰＵをランダムに選択する。そして、ＣＰＵ３１は、処理を次のステップＳ６２に進める。一方、ステップＳ６１では、ＣＰＵ３１は、キャップユニットＣＵを選択して、処理を次のステップＳ６２に進める。
【００７５】
ステップＳ６２では、ＣＰＵ３１は、上記ステップＳ５５、Ｓ５７、Ｓ５８、Ｓ６０、あるいはＳ６１で選択されたユニットを、自身のドアＤＲと選択ドアとを接続するようにマップ領域に配置する。ここで、選択されたユニットにおいて、複数のドアＤＲと選択ドアとを接続して配置可能である場合、ＣＰＵ３１は、選択ドアと接続するドアＤＲをランダムで選択する。そして、ＣＰＵ３１は、当該サブルーチンによるユニット配置処理を終了して、図９のステップＳ６に処理を進める。
【００７６】
例えば、部屋ユニットＲＵａのドアＤＲ３が選択ドアに設定され、その選択ドアと部屋ユニットＲＵｃのドアＤＲ１とを接続して配置した場合、図１２に示すように部屋ユニットＲＵａおよびＲＵｃの互いに相対する矩形領域の１辺の少なくとも１部が接した状態で配置される。また、部屋ユニットＲＵａのドアＤＲ３が選択ドアに設定され、その選択ドアと通路ユニットＰＵｂのドアＤＲ１とを接続して配置した場合、図１３に示すように部屋ユニットＲＵａおよび通路ユニットＰＵｂの互いに相対する矩形領域の１辺の少なくとも１部が接した状態で配置される。さらに、図１４で示すように、部屋ユニットＲＵａのドアＤＲ３が選択ドアに設定され、その選択ドアとキャップユニットＣＵのドアＤＲ１とを接続して配置した場合、部屋ユニットＲＵａおよびキャップユニットＣＵの互いに相対する矩形領域の１辺の少なくとも１部が接した状態で配置される。図１２〜図１４に示すように、ユニット同士がドアＤＲを介して接続された場合、それぞれのユニットに形成された部屋領域ＲＺあるいは通路領域ＰＺが当該ドアＤＲを介して接続される。これらのドアＤＲの長さ（つまり、所定の線分長さ）は、同一であるため、上記領域が寸法差なく連結される。また、図１４に示すように、マップ領域に配置されたユニットにキャップユニットＣＵがドアＤＲを介して接続された場合、マップ領域に配置されたユニットに形成された部屋領域ＲＺあるいは通路領域ＰＺは、当該ドアＤＲを介して閉塞領域（行き止まり）を形成する。
【００７７】
ここで、図１０で示した上記ステップＳ５３〜Ｓ６１に注目する。ＣＰＵ３１は、上記ステップＳ５３において上記乱数が選択係数ＳＦより大きいか否かを判断している。そして、ＣＰＵ３１は、上記乱数が選択係数ＳＦより大きい場合、上記ステップＳ５４において部屋ユニットＲＵが配置可能か否かを判断し、上記乱数が選択係数ＳＦ以下の場合、上記ステップＳ５９において通路ユニットＰＵが配置可能か否かを判断している。つまり、ＣＰＵ３１は、上記乱数が選択係数ＳＦより大きい場合、部屋ユニットＲＵを優先的にマップ領域に配置し、上記乱数が選択係数ＳＦ以下の場合、部屋ユニットＲＵをマップ領域に配置しない。したがって、選択係数ＳＦの値によって、マップ領域に配置される部屋ユニットＲＵの割合を制御することができる。具体的には、選択係数ＳＦを乱数が生成される範囲の中央値より小さく設定することによって、部屋ユニットＲＵがマップ領域に配置される割合が大きくなり、選択係数ＳＦを当該範囲の中央値より大きく設定することによって、通路ユニットＰＵがマップ領域に配置される割合が大きくなる。
【００７８】
一方、ＣＰＵ３１は、上記ステップＳ５１で選択された空きドアが部屋ユニットＲＵに設定されたドアＤＲである場合、上記選択係数ＳＦに１以上の所定の倍数Ｍを乗算して、その乗算結果と上記乱数とを上記ステップＳ５３で比較する。したがって、倍数Ｍが大きいほど上記乱数と比較する選択係数ＳＦが大きくなり、ＣＰＵ３１が上記ステップＳ５９に処理を進める確率が高くなる。つまり、倍率Ｍが大きいほど、通路ユニットＰＵが優先的にマップ領域に配置される。したがって、倍率Ｍの値によって、マップ領域に配置された部屋ユニットＲＵと接続されるユニットの種類を制御することができる。具体的には、倍率Ｍを小さく設定することによって、部屋ユニットＲＵ同士がマップ領域で接続される確率が大きくなり、倍率Ｍを大きく設定することによって、部屋ユニットＲＵには通路ユニットＰＵがマップ領域で接続される確率が大きくなる。
【００７９】
このように、選択係数ＳＦによって、マップ領域に２種類のユニットがそれぞれ配置される割合を制御することができる。また、倍率Ｍによって２種類のユニットの一方に他方のユニットが接続されて配置される確率を制御することができる。つまり、選択係数ＳＦおよび倍率Ｍを調整することによって、マップ領域に配置される２種類のユニットの割合、および２種類のユニットが互いに接続される相性を考慮したマップを生成することができる。
【００８０】
なお、上述の説明では、全てのユニットに共通する選択係数ＳＦを設定したが、各ユニットそれぞれについて、あるいは各ユニットに設けられた各ドアＤＲそれぞれについて、異なる選択係数ＳＦを個別に設定してもかまわない。これによって、さらにユニット間の相性が考慮されたマップを生成することが可能となる。
【００８１】
図９に戻り、ステップＳ６では、ＣＰＵ３１は、マップ領域に配置された部屋ユニットＲＵの数が、上記ステップＳ１で設定された部屋の数ＲＮに到達したか否かを判断する。そして、ＣＰＵ３１は、部屋ユニットＲＵの数が部屋の数ＲＮに未到達の場合、上記ステップＳ４に戻って処理を継続し、部屋の数ＲＮに到達した場合、次のステップＳ７に処理を進める。
【００８２】
ステップＳ７では、ＣＰＵ３１は、上記マップ領域に配置されたユニットの空きドア同士を接続する処理を行い、処理を次のステップＳ８に進める。図１１で示すユニット接続処理の詳細な動作を示すサブルーチンを参照して、このステップＳ７で行う詳細な動作について説明する。
【００８３】
図１１において、ＣＰＵ３１は、上記マップ領域に配置されているユニットに設定されているドアＤＲに、空きドアがあるか否かを判断する（ステップＳ７１）。このステップＳ７１の処理は、上記ステップＳ４と同様であるため、詳細な説明を省略する。そして、ＣＰＵ３１は、空きドアがある場合、処理を次のステップＳ７２に進め、空きドアがない場合、当該サブルーチンによるユニット接続処理を終了する。
【００８４】
ステップＳ７２では、ＣＰＵ３１は、空きドアの１つを選択し、その空きドアの開口方向（つまり、空きドアを有するユニットと逆の方向）の所定領域内に、他の空きドアがあるか否かを判断する。そして、ＣＰＵ３１は、所定領域内に他の空きドアがある場合、処理を次のステップＳ７３に進め、他の空きドアがない場合、処理を次のステップＳ７４に進める。
【００８５】
ステップＳ７３では、ＣＰＵ３１は、上記ステップＳ７２で選択された空きドアと上記所定領域内に存在する他の空きドアとを通路ユニットＰＵで接続してマップ領域に配置し、上記ステップＳ７１に戻って処理を継続する。一方、ステップＳ７４では、ＣＰＵ３１は、上記ステップＳ７２で選択された空きドアにキャップユニットＣＵを接続してマップ領域に配置し、上記ステップＳ７１に戻って処理を継続する。ここで、図１５を参照して、ＣＰＵ３１がステップＳ７２〜Ｓ７４で行う処理について説明する。なお、図１５は、ＣＰＵ３１が行うユニット接続処理の一例を説明するための図である。
【００８６】
図１５において、前述の図９におけるステップＳ６でＹｅｓになった時点で、マップ領域には、２つの部屋ユニットＲＵ１およびＲＵ２が４つの通路ユニットＰＵを介して接続されて配置されている。そして、一方の部屋ユニットＲＵ１には、３つの空きドアがあり、それぞれの空きドアの位置を基準として開口方向に向かって、例えばサイズ１０×１０の領域Ｚ１〜Ｚ３が示されている。領域Ｚ１およびＺ２は、その領域内に他の空きドアが存在しないため、ＣＰＵ３１は、上記ステップＳ７２において「他の空きドアなし」と判断する。そして、ＣＰＵ３１は、上記ステップＳ７４において領域Ｚ１およびＺ２に対応する空きドアに、それぞれキャップユニットＣＵを接続して配置する（領域Ｚ１およびＺ２内に示した一点鎖線の領域）。
【００８７】
一方、領域Ｚ３は、その領域内に他方の部屋ユニットＲＵ２の空きドアが存在するため、ＣＰＵ３１は、上記ステップＳ７２において「他の空きドアあり」と判断する。そして、ＣＰＵ３１は、上記ステップＳ７３において領域Ｚ３に対応する部屋ユニットＲＵ１の空きドアと領域Ｚ３内に存在する部屋ユニットＲＵ２の空きドアとを、通路ユニットＰＵを組み合わせて接続する。例えば、図１５においては、３つの通路ユニットＰＵａおよび１つの通路ユニットＰＵｂを組み合わせて、部屋ユニットＲＵ１およびＲＵ２の空きドアを接続してマップ領域に配置している（領域Ｚ３内に示した一点鎖線の領域）。
【００８８】
他方の部屋ユニットＲＵ２には、２つの空きドアがあり、それぞれの空きドアの開口方向に対して、領域Ｚ４およびＺ５が示されている。領域Ｚ４は、その領域内に他の空きドアが存在しないため、ＣＰＵ３１は、上記ステップＳ７２で「他の空きドアなし」と判断する。そして、ＣＰＵ３１は、上記ステップＳ７４において領域Ｚ４に対応する空きドアに、キャップユニットＣＵを接続して配置する（領域Ｚ４内に示した一点鎖線の領域）。
【００８９】
一方、領域Ｚ５は、その領域内に一方の部屋ユニットＲＵ１の空きドアが存在するため、ＣＰＵ３１は、上記ステップＳ７２において「他の空きドアあり」と判断する。そして、ＣＰＵ３１は、上記ステップＳ７３において領域Ｚ５に対応する部屋ユニットＲＵ２の空きドアと領域Ｚ５内に存在する部屋ユニットＲＵ１の空きドアとを、通路ユニットＰＵを組み合わせて接続する。ここで、この領域Ｚ５を用いた判断を経て通路ユニットＰＵが配置される結果と、上記領域Ｚ３を用いた判断を経て通路ユニットＰＵが配置される結果とは、同じである。上記ステップＳ７２およびＳ７３によるＣＰＵ３１の動作では、何れか一方の空きドアが先に処理対象となるため、他方の空きドアは、当該先の処理によって通路ユニットＰＵが接続されるため処理対象から除外されることになる。
【００９０】
図９に戻り、ステップＳ８において、ＣＰＵ３１は、上記ステップＳ３でマップ領域に配置されたスタートユニットが有するスタートスロットＳｓから１つを選択して、そのスタートスロットＳｓをマップのスタート位置に設定する。そして、ＣＰＵ３１は、マップ領域に配置されている全ての部屋ユニットＲＵが有するゴールスロットＳｇから１つを選択し、マップのゴール位置に設定して、当該フローチャートに基づくマップ生成処理を終了する。図１６は、上述したマップ生成処理によって生成されるマップの一例である。図１６に示すように、上述したマップ生成処理においてはマップ領域に配置されたユニットと必ず接続して新たなユニットを配置していくため、全ユニットは連続して一体となっており、複数のグループに分割されたマップは生成されない。つまり、プレイヤオブジェクト等のオブジェクトが移動あるいは配置可能な領域が一体で、かつ閉じられて形成される。図１６に示すマップでは、３つの部屋ユニットＲＵが通路ユニットＰＵを介して接続されている。３つの部屋ユニットＲＵは、それぞれゴールスロットＳｇを含んでおり、ＣＰＵ３１は、これらのゴールスロットＳｇから１つを任意に選択し、選択したゴールスロットＳｇを当該マップのゴール位置に設定する。
【００９１】
このように、本発明のゲーム装置は、ゲームプログラムが実行されることによって、ランダム要素を含んだ多様性に富んだマップを自動的に生成することができる。そして、生成されるマップには、プレイヤオブジェクト等のオブジェクトが移動あるいは配置可能な領域が一体で、かつ閉じられて形成される。また、選択係数ＳＦを調整することによって、生成されるマップに含まれる２種類のユニット（部屋ユニットおよび通路ユニット）がそれぞれ配置される割合を制御することができる。さらに、倍率Ｍを調整することによって、上記２種類のユニットの一方に他方のユニットが接続されて配置される確率を制御することができる。つまり、選択係数ＳＦおよび倍率Ｍを調整することによって、生成されるマップに配置される２種類のユニットの割合、および２種類のユニットが互いに接続される相性を考慮したマップを生成することができる。
【００９２】
なお、上述では、マップを構成する単位領域である部屋ユニット、通路ユニット、およびキャップユニットをそれぞれ矩形形状で説明したが、これらのユニットは、矩形形状に限定されない。例えば、上記ユニットは、正六角形等の多角形形状でも同様に本発明を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図である。
【図２】図１のゲーム装置３の機能ブロック図である。
【図３】図２のワークメモリ３２に記憶されるプログラムおよびデータの一例について説明するための概略的なメモリマップである。
【図４】図３のユニット記憶領域３２２に記憶される部屋ユニット画像群に含まれる部屋ユニットの一例を示す図である。
【図５】図３のユニット記憶領域３２２に記憶される部屋ユニットテーブルの一例を示す図である。
【図６】図３のユニット記憶領域３２２に記憶される通路ユニット画像群およびキャップユニット画像に含まれる通路ユニットおよびキャップユニットの一例を示す図である。
【図７】図３のユニット記憶領域３２２に記憶される通路ユニットテーブルの一例を示す図である。
【図８】図３のユニット記憶領域３２２に記憶されるキャップユニットテーブルの一例を示す図である。
【図９】図１のゲーム装置３によって実行されるマップ生成処理の全体処理を示すフローチャートである。
【図１０】図９のステップＳ５の詳細な動作を示すサブルーチンである。
【図１１】図９のステップＳ７の詳細な動作を示すサブルーチンである。
【図１２】マップ領域に配置された部屋ユニットＲＵａのドアＤＲ３が選択ドアに設定され、その選択ドアと部屋ユニットＲＵｃのドアＤＲ１とを接続して配置した一例を示す図である。
【図１３】マップ領域に配置された通路ユニットＰＵａのドアＤＲ３が選択ドアに設定され、その選択ドアと通路ユニットＰＵｂのドアＤＲ２とを接続して配置した一例を示す図である。
【図１４】マップ領域に配置された通路ユニットＰＵａのドアＤＲ３が選択ドアに設定され、その選択ドアとキャップユニットＣＵのドアＤＲ１とを接続して配置した一例を示す図である。
【図１５】図２のＣＰＵ３１が行うユニット接続処理の一例を説明するための図である。
【図１６】図２のＣＰＵ３１が行うマップ生成処理によって生成されるマップの一例である。
【符号の説明】
１…ゲームシステム
２…テレビ
３…ゲーム装置
４…光ディスク
５…メモリカード
６…コントローラ
６１…メインスティック
６２…Ａボタン
６３…Ｂボタン
６４…Ｘボタン
６５…Ｙボタン
６６ａ…Ｒボタン
６６ｂ…Ｌボタン
６７…十字キー
６８…Ｃスティック
６９…スタート−ポーズボタン
３１…ＣＰＵ
３２…ワークメモリ
３２１…プログラム記憶領域
３２２…ユニット記憶領域
３３…ＶＲＡＭ
３４…外部メモリＩ／Ｆ
３５…コントローラＩ／Ｆ
３６…ＧＰＵ
３７…光ディスクドライブ
ＣＵ…キャップユニット
ＤＲ…ドア
ＲＵ…部屋ユニット
ＲＺ…部屋領域
ＰＵ…通路ユニット
ＰＺ…通路領域
Ｓ…スロット
Ｚ…領域
【図１】
2004329697.tif 000003
【図２】
2004329697.tif 000004
【図３】
2004329697.tif 000005
【図４】
2004329697.tif 000006
【図５】
2004329697.tif 000007
【図６】
2004329697.tif 000008
【図７】
2004329697.tif 000009
【図８】
2004329697.tif 000010
【図９】
2004329697.tif 000011
【図１０】
2004329697.tif 000012
【図１１】
2004329697.tif 000013
【図１２】
2004329697.tif 000014
【図１３】
2004329697.tif 000015
【図１４】
2004329697.tif 000016
【図１５】
2004329697.tif 000017
【図１６】
2004329697.tif 000018