(57)【要約】【課題】  ゲームの難易度を極端に変化させず、かつ、毎回異なるゲームマップが作成されるゲームマップ作成プログラムを提供する。【解決手段】  ゲーム装置は、ゲームマップを作成するためのマップ作成領域内に既に配置された部屋の出入口に接続されるべき新たな部屋を配置する処理において、次の処理を行う。すなわち、まず、出入口に関して所定方向と反対側の領域が少なくとも排除された所定領域をマップ作成領域内に設定する。次に、所定方向を向く軸上の所定位置から所定方向に垂直な方向にずれるほど小さな値が設定されるように所定領域内の各位置について重みを設定する。そして、新たな部屋を配置する位置を、設定された重みの値が大きいほど高い確率で所定領域内からランダムに選出する。【選択図】  図５
2006130131.tif 000002
【特許請求の範囲】
【請求項１】
複数の部屋を含むゲームマップを作成する処理をゲーム装置のコンピュータに実行させるためのゲームマップ作成プログラムであって、
ゲームマップを作成するためのマップ作成領域内に既に配置された部屋の出入口に接続されるべき新たな部屋を配置する処理において、
前記出入口に関して所定方向と反対側の領域が少なくとも排除された所定領域を前記マップ作成領域内に設定する領域設定ステップと、
前記所定方向を向く軸上の所定位置から前記所定方向に垂直な方向にずれるほど小さな値が設定されるように前記所定領域内の各位置について重みを設定する重み設定ステップと、
前記新たな部屋を配置する位置を、前記重み設定ステップにおいて設定された重みの値が大きいほど高い確率で前記所定領域内からランダムに選出する位置選出ステップとを前記コンピュータに実行させる、ゲームマップ作成プログラム。
【請求項２】
前記所定方向は、ゲーム画面のスクロール方向として予め定められた方向である、請求項１に記載のゲームマップ作成プログラム。
【請求項３】
前記重み設定ステップは、前記所定領域内における前記軸上の各位置について等しい値の重みを設定する、請求項１に記載のゲームマップ作成プログラム。
【請求項４】
前記領域設定ステップは、前記出入口からの距離が所定領域内となる範囲を前記所定領域に設定する、請求項３に記載のゲームマップ作成プログラム。
【請求項５】
前記重み設定ステップは、前記所定位置に他の位置よりも大きい重みを設定する、請求項１に記載のゲームマップ作成プログラム。
【請求項６】
前記領域設定ステップは、前記所定位置を中心とした範囲を前記所定領域に設定する、請求項５に記載のゲームマップ作成プログラム。
【請求項７】
前記領域設定ステップ、前記重み設定ステップ、および前記位置選出ステップは、複数の新たな部屋を配置するために複数回実行され、
前記重み設定ステップは、前記マップ作成領域内における常に同じ位置に前記軸を設定する、請求項１に記載のゲームマップ作成プログラム。
【請求項８】
前記重み設定ステップは、前記所定領域を設定する基準となる出入口の位置上に前記軸を設定する、請求項１に記載のゲームマップ作成プログラム。
【請求項９】
請求項１から８のいずれかに記載のゲームマップ作成プログラムを記憶した記憶手段と、
前記記憶手段に記憶されたゲームマップ作成プログラムを実行するプログラム実行手段とを備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームマップ作成プログラムおよびゲームマップ作成装置に関し、より特定的には、複数の部屋を含むゲームマップを作成するためのゲームマップ作成プログラムおよびゲームマップ作成装置に関する。
【背景技術】
【０００２】
ゲームマップの作成に関する先行技術として、作成されるべき部屋の数や位置をランダムに変化させる技術がある（例えば、特許文献１参照。）。具体的には、複数の部屋と通路とからなるダンジョンマップを登場させるゲームにおいて、プレイヤがダンジョンに入るたびに部屋の数や位置をランダムに変化させるのである。これによって、プレイする度に毎回異なったダンジョンマップが作成され、プレイヤがゲームに飽きないようにすることができる。
【非特許文献１】「トルネコの大冒険  不思議のダンジョン  公式ガイドブック」、日本、株式会社エニックス、１９９３年１２月２５日、Ｐ１８−Ｐ１９
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ゲームマップの作成の際、部屋の数や位置を単にランダムに変化させると、部屋が様々な位置に配置され、様々な形状のゲームマップが作成されることになる。従って、ゲームマップを単にランダムに変化させる場合には、非常に複雑なゲームマップが作成されることもあれば、非常に単純なゲームマップが作成されることもある。通常、ゲームマップの形状の複雑さに応じてゲームの難易度は高くなると考えられるので、ゲームマップを単にランダムに変化させる場合、ゲームの難易度が極端に高くなったり、逆に極端に低くなったりしてしまう。そのため、ゲームマップを単にランダムに変化させる方法では、ゲームバランスが悪くなり易いという問題がある。
【０００４】
それゆえに、本発明の目的は、ゲームの難易度を極端に変化させず、かつ、毎回異なるゲームマップが作成されるゲームマップ作成プログラムを提供することである。
【課題を解決するための手段】
【０００５】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第１の発明は、複数の部屋を含むゲームマップを作成する処理をゲーム装置のコンピュータに実行させるためのゲームマップ作成プログラムである。ゲームマップ作成プログラムは、ゲームマップを作成するためのマップ作成領域（３１）内に既に配置された部屋（部屋３３）の出入口に接続されるべき新たな部屋を配置する処理（Ｓ３０）において、領域設定ステップ（Ｓ４６）と、重み設定ステップ（Ｓ４７）と、選出ステップ（Ｓ４８およびＳ４９）とをコンピュータに実行させる。領域設定ステップは、出入口に関して所定方向と反対側の領域が少なくとも排除された所定領域をマップ作成領域内に設定する。重み設定ステップは、所定方向を向く軸（３５，６３，６４，または７２）上の所定位置から所定方向に垂直な方向にずれるほど小さな値が設定されるように所定領域内の各位置について重みを設定する。位置選出ステップは、新たな部屋を配置する位置を、重み設定ステップにおいて設定された重みの値が大きいほど高い確率で所定領域内からランダムに選出する。
【０００６】
なお、第２発明においては、所定方向は、ゲーム画面のスクロール方向として予め定められた方向であってもよい。
【０００７】
また、第３の発明においては、重み設定ステップは、所定領域内における軸上の各位置について等しい値の重みを設定するようにしてもよい（図５参照）。
【０００８】
また、第４の発明においては、領域設定ステップは、出入口からの距離が所定領域内となる範囲を所定領域に設定するようにしてもよい（図４参照）。
【０００９】
また、第５の発明においては、重み設定ステップは、所定位置に他の位置よりも大きい重みを設定するようにしてもよい（図２０参照）。
【００１０】
また、第６の発明においては、領域設定ステップは、所定位置を中心とした範囲を所定領域に設定するようにしてもよい（図２０参照）。
【００１１】
また、第７の発明においては、領域設定ステップ、重み設定ステップ、および位置選出ステップは、複数の新たな部屋を配置するために複数回実行されてもよい。このとき、重み設定ステップは、マップ作成領域内における常に同じ位置に軸（軸６４）を設定する。
【００１２】
また、第８の発明においては、重み設定ステップは、所定領域を設定する基準となる出入口の位置上に軸（軸６３）を設定するようにしてもよい。
【００１３】
なお、本発明は、上記ゲームマップ作成プログラムを記憶した記憶手段（カートリッジ１１またはＷＲＡＭ２６）と、記憶手段に記憶されたゲームマップ作成プログラムを実行するプログラム実行手段（ＣＰＵコア２４）とを備えたゲーム装置の形態で提供されてもよい。
【発明の効果】
【００１４】
上記第１の発明によれば、新たに配置される部屋は、既に配置された部屋に対して所定方向と同じ側に少なくとも配置されるので、ゲームマップは、当該所定方向に延びていくように作成されることとなる。また、当該所定方向を向く軸上の所定位置が、高い確率で新たな部屋の配置位置に選出される。従って、ゲームマップはある一方向に延びるような形状に作成されることとなるので、ゲームマップの難易度が極端に変化することがない。それ故、難易度を極端に変化させずに、毎回異なるゲームマップを作成することができる。なお、各方向に自由に延びるようにゲームマップを作成する場合には、デッドエンドが生じるためにゲームマップをうまく作成できないおそれがある。これに対して、本発明によれば、所定方向とは逆方向に延びるように部屋が配置されることはないので、デッドエンドが生じるおそれがない。
【００１５】
上記第２の発明によれば、ゲーム製作者がゲーム画面をスクロールさせたい方向に延びるようにゲームマップを作成することができる。従って、スクロール方向がゲーム設定上の理由で決められているゲームにおいても、本発明におけるゲームマップ作成処理を適用することができる。
【００１６】
上記第３の発明によれば、軸上の各位置について等しい確率で新たな部屋の配置位置を選出することができる。
【００１７】
上記第４の発明によれば、新たな部屋は、出入口からの距離が所定範囲内となる位置に配置されるので、互いに接続される部屋と部屋との距離が極端に長くなったり短くなったりすることを防止することができる。従って、ゲームマップの形状に起因するゲームの難易度をより一定にすることができる。
【００１８】
上記第５の発明によれば、新たな部屋は、所定方向に延びるように配置されるとともに、既に配置された部屋の出入口からの距離がほぼ一様になるように配置される。従って、新たな部屋が配置される方向が極端に変化せず、かつ、互いに接続される部屋と部屋との距離が極端に変化しないようにゲームマップを作成することができる。
【００１９】
上記第６の発明によれば、上記所定位置から所定の距離内の範囲で新たな部屋が配置されるので、互いに接続される部屋と部屋との距離をより確実にほぼ一様にすることができる。
【００２０】
上記第７の発明によれば、複数の部屋を含むゲームマップ全体として、軸から大きくずれない形状のゲームマップを作成することができる。
【００２１】
上記第８の発明によれば、互いに接続される部屋同士の位置が所定方向に垂直な方向に関して大きくずれない形状のゲームマップを作成することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態に係るゲームプログラムおよびそれを実行するゲーム装置について図面を参照して説明する。図１は、本実施形態に係るゲーム装置の外観図である。ゲーム装置は、携帯ゲーム機１２と、携帯ゲーム機１２に着脱可能なカートリッジ１１とによって構成される。携帯ゲーム機１２には、ＬＣＤ１３や、スピーカ１４や、複数の操作キー（例えば、Ａボタン１５ａ、Ｂボタン１５ｂ、十字キー１５ｃ等）が設けられている。
【００２３】
次に、図２を参照してゲーム装置の内部構成について説明する。カートリッジ１１には、本発明に係るゲームプログラムが記録されたＲＯＭ２９や、ゲーム処理の過程で生成されたゲームデータを必要に応じて記憶するためのＲＡＭ３０が設けられている。
【００２４】
一方、携帯ゲーム機１２には、ゲーム画像を表示するためのＬＣＤ１３や、カートリッジ１１を接続するためのコネクタ２３や、カートリッジ１１から供給されたゲームプログラムに基づいてゲーム処理を実行するプロセッサ２１や、スピーカ１４や、サウンドアンプ２２や、操作キー１５が設けられている。プロセッサ２１は、ゲームプログラムに基づいて各種処理を実行するＣＰＵコア２４や、ＬＣＤ１３を駆動するためのＬＣＤコントローラ２５や、ＣＰＵコア２４のワークメモリとしてのＷＲＡＭ２６や、画像処理に利用されるＶＲＡＭ２７や、サウンド回路やＤＭＡ回路等の周辺回路２８から構成される。
【００２５】
なお、本実施形態では、カートリッジ１１を通じて携帯ゲーム機１２のプロセッサ２１にゲームプログラムが供給されるが、本発明はこれに限らず、ＣＤ−ＲＯＭやＤＶＤ等、コンピュータ読み取り可能な任意の記録媒体を通じてゲームプログラムが携帯ゲーム機１２に供給されても構わない。また、有線または無線の通信回線を通じてゲームプログラムが携帯ゲーム機１２に供給されても構わない。また、携帯ゲーム機１２の内部に設けられた任意の記録装置にゲームプログラムが予め格納されていても構わない。また、本発明は携帯ゲーム機に限らず、据え置き型のゲーム機等、任意のゲーム機に適用することができる。
【００２６】
次に、ゲーム装置において実行されるゲームの概要を説明する。以下では、プレイヤによって操作されるプレイヤキャラクタがダンジョン内を移動するゲームを例にとって説明する。ここで、本ゲームでは、２次元のゲームマップ（ゲームフィールドと呼んでもよい。）がランダムに作成される。具体的には、本ゲームではダンジョンが複数の階層に分かれており、プレイヤキャラクタが別の階層に入る度に当該階層のゲームマップがランダムに作成される。なお、新たなゲームマップが作成されるタイミングは、どのようなタイミングであってもよい。新たなゲームマップは、例えば、ゲームを開始する度にランダムに作成されてもよいし、ゲーム進行に関する所定の条件（例えば、プレイヤキャラクタのレベルが上がったこと）が満たされたタイミングでランダムに作成されてもよい。
【００２７】
図３は、本実施形態に係るゲーム装置において作成されるゲームマップの一例を示す図である。本実施形態においては、ゲームマップを作成する領域（マップ作成領域）３１が所定の大きさに予め定められている。ゲーム装置は、マップ作成領域３１内に部屋および通路を配置することによってゲームマップを作成する。なお、本実施形態において、マップ作成領域３１は、所定の大きさの単位領域（セル）に分けられる。図３においては、マップ作成領域３１内の升目の１つが１つのセルを示している。部屋および通路は、セル単位で作成され、セルを単位としてマップ作成領域３１内に配置される。
【００２８】
また、図３においては、マップ作成領域３１内に９つの部屋（図３に示す斜線部分）が配置されている。各部屋には、１以上の扉（図３では部屋内の長方形で示す。）が設けられる。この扉の位置が、部屋の出入口となる。また、部屋と部屋とは、通路（図３では、部屋の出入口同士を接続する折れ線で示す）によって接続されてもよいし、部屋の出入口が他の部屋の出入口に直接接続されてもよい。以下では、図３に示すようなゲームマップが作成される場合についてゲーム装置における処理の詳細を説明する。
【００２９】
まず、ゲームマップを作成する処理の概要を図４〜図５を用いて説明する。図４および図５は、部屋を配置する処理を説明するための図である。図４および図５では、所定のアルゴリズムに基づいて決定された部屋３３がすでに配置されているものとし、ここでは、部屋３３に接続すべき新たな部屋の配置位置を決定する処理の概要について説明する。
【００３０】
図４に示すマップ作成領域に新たな部屋を配置する処理においては、まず、ゲーム装置は、新たな部屋を配置する可能性のある領域（配置領域）３４をマップ作成領域内に設定する。新たな部屋の配置位置は、この配置領域３４内から選ばれる。配置領域３４は、新たな部屋を接続する部屋（図４では部屋３３）出入口に関してスクロール方向と反対側の領域が少なくとも排除されるように設定される。なお、スクロール方向とは、ゲーム画面がスクロールする方向であり、本実施形態では右方向に予め設定されているものとする（図９参照）。図４に示すように、配置領域３４は、部屋３３の出入口に関して左側の領域を含まない。従って、新たに配置される部屋は、既に配置されている部屋の右側に必ず配置されるので、ゲームマップは、右方向に延びていくように作成されることとなる。なお、本発明が適用されるゲームは、ゲーム画面がスクロール方向にのみスクロールするものに限らず、ゲーム画面がスクロール方向以外の方向にスクロールすることが可能なものであってもよい。
【００３１】
また、図４に示すセル内の数字は、部屋３３の出入口からの距離を示している。なお、本実施形態では、マップ作成領域における距離を、セルを単位として表現する。また、本実施形態では、配置領域３４は、出入口に関してスクロール方向と反対側の領域が少なくとも排除される領域であって、かつ、新たな部屋を接続する部屋（図４では部屋３３）の出入口からの距離が所定範囲内である領域に設定される。図４においては、当該所定範囲は、セル４個分の距離からセル６個分の距離までである。
【００３２】
マップ作成領域に配置領域３４を設定した次に、ゲーム装置は、配置領域３４内の各セルについて重みを設定する。重みは、セルを選出する確率に関する重みであり、重みの値が大きいほど高い確率で選出される。図５に示すセル内の数字は、セルに設定された重みの値を示している。本実施形態では、図５に示すように、配置領域３４内のセルの内、上記スクロール方向を向く軸３５上のセルについて同じ値が設定され、軸３５から垂直な方向に遠いセルほど小さな値の重みが設定される。なお、軸３５は、部屋３３の出入口に接続されるセル３６を通る位置に設定される。図５においては、軸３５上のセルについては重みが１００に設定され、他のセルについては軸３５からセル１個分離れるにつれて重みの値が３０減算されて設定される。なお、本実施形態では重みの最大値を１００とし、最小値を０とする。
【００３３】
配置領域３４内のセルに重みを設定した次に、ゲーム装置は、設定された重みを考慮して配置領域３４内のセルから１つのセルをランダムに選出する。すなわち、重みの値が大きいほど高い確率でランダムにセルを選出する。ゲーム装置は、選出したセルの位置に新たな部屋を配置する。従って、新たな部屋は、軸３５に近い位置ほど高い確率で配置されることになる。
【００３４】
ゲーム装置は、マップ作成領域内に配置すべき部屋が複数である場合、図４および図５に示した処理を繰り返し行うことによって順次部屋を配置していき、最終的にゲームマップを完成させる。なお、配置すべき全ての部屋について図４および図５に示した処理が行われる必要はなく、少なくとも複数の部屋について当該処理が行われればよい。すなわち、配置すべき部屋には、予め決められたルールに従って一義的に（ランダムではなく）配置位置が決められる部屋があってもよい。
【００３５】
以上のように、本実施形態では、新たに配置される部屋は、既に配置されている部屋のスクロール方向に配置されるので、ゲームマップは、スクロール方向に延びていくように作成されることとなる。従って、ゲームマップはある一方向に延びるような形状となるので、ゲームマップの形状がある程度一様になり、形状が極端に変化することがない。それ故、ゲームの難易度を極端に変化させずに、毎回異なるゲームマップを作成することができる。また、所望の方向に延びるようにゲームマップを作成することができるので、ゲーム設定上の理由でゲーム画面のスクロール方向が予め決められている場合でも、当該スクロール方向に適合したゲームマップを作成することができる。
【００３６】
次に、携帯ゲーム機１２がカートリッジ１１のゲームプログラムを実行することによって行われるゲーム処理の詳細について説明する。携帯ゲーム機１２の電源が投入されると、携帯ゲーム機１２のＣＰＵコア２４はカートリッジ１１に格納されているゲームプログラムを実行し、それによってゲーム処理が開始される。以下、図６〜図１８を参照してゲーム処理の詳細について説明する。
【００３７】
図６は、携帯ゲーム機１２において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム処理が開始されると、まず、ステップＳ１０において、初期設定が行われる。具体的には、ＣＰＵコア２４は、ＷＲＡＭ２６の内容を初期化するとともに、後のゲーム処理で用いられる各種データをカートリッジ１１から読み出してＷＲＡＭ２６に記憶する。本実施形態では、ゲーム処理で用いられる各種データには、部屋リスト、扉リスト、階層リスト、および候補部屋リストが含まれる。以下、各種リストについて説明する。
【００３８】
図７は、部屋リストの一例を示す図である。部屋リストは、ゲームマップを構成するために用いられる部屋に関する情報を示す。ここでは、部屋リストは、部屋番号および部屋のサイズを各部屋毎に示した情報である。部屋番号とは、部屋の種類毎に固有の番号である。部屋のサイズとは、部屋の縦横の長さである。本実施形態では、部屋のサイズは、上記セルを単位として表される。例えば、図７において部屋番号が“１”である部屋は、縦の長さがセル１個分、横の長さがセル１個分の大きさである。部屋リストにおいては、ゲームマップの作成において用いられる部屋の全ての種類が格納される。従って、図７に示す例では、ゲーム装置は、最大９種類の部屋を用いてゲームマップを作成することが可能である。
【００３９】
図８は、扉リストの一例を示す図である。扉リストは、部屋リストに示されている各部屋の扉に関する情報を示す。具体的には、扉リストは、部屋番号、扉番号、扉位置、扉の方向、および扉種別を各扉毎に示した情報である。部屋番号は、その扉が存在する部屋の部屋番号である。扉番号は、１つの部屋の中に存在する扉毎に固有の番号である。これらの部屋番号および扉番号によって、扉リストに格納される各扉を一意に識別することができる。
【００４０】
扉位置は、部屋の中における扉の位置である。ここでは、部屋の位置等と同様、扉の位置はセルを単位として表される。具体的には、部屋の左からＸ番目のセルであって部屋の上からＹ番目のセルの位置にある扉の位置は、（Ｘ，Ｙ）という座標で表される。図４に示す部屋３３を例にとって説明すると、部屋３３においては左から１番目のセルであって上から２番目のセルに扉があるので、当該扉の位置は、（１，２）という座標で表される。
【００４１】
扉の方向は、扉のついている向きである。図４に示す部屋３３を例にとって説明すると、部屋３３においてはセルの下側に扉が配置されているので、扉リストにおける扉の方向は“下”となる。また、扉種別とは、扉の種類を示し、具体的には、その扉が“入口”であるか“出口”であるかを示す。なお、本実施形態では、“入口”および“出口”は、ゲームマップを作成する際に扉の種類を識別するために設定される概念である。扉種別が“入口”または“出口”であることは、その扉が一方通行であることを意味するものではない。つまり、プレイヤキャラクタは、扉種別が“入口”である扉から部屋を出ることが可能であってもよいし、扉種別が“出口”である扉から部屋に入ることが可能であってもよい。
【００４２】
図９は、階層リストの一例を示す図である。上述したように、本実施形態におけるゲームではダンジョンが複数の階層に分かれている。階層リストは、各階層に関する情報を示す。具体的には、階層リストは、階層番号、メインルーム数、サブルーム数、通路ブロック数、スクロール方向、重み減算量、および直線通路優先確率を各階層毎に示した情報である。階層番号は、階層毎に固有に設定された番号である。
【００４３】
ここで、本実施形態では、ゲームマップに配置される部屋は、スタートルーム、ゴールルーム、メインルーム、およびサブルームという４種類に分類される。スタートルームは、階層におけるプレイヤキャラクタの出発地点となる部屋である。ゴールルームは、階層におけるプレイヤキャラクタのゴールとなる部屋である。メインルームは、スタートルームからゴールルームまでの経路に配置される部屋である。サブルームは、スタートルームからゴールルームまでの経路以外の経路に配置される部屋である。
【００４４】
図９において、メインルーム数とは、その階層に配置されるメインルームの数である。本実施形態では、メインルーム数としてその最小値および最大値が階層リストに格納される。また、サブルーム数とは、その階層に配置されるサブルームの数である。本実施形態では、サブルーム数としてその最小値および最大値が階層リストに格納される。
【００４５】
また、通路ブロック数とは、部屋と部屋とを接続する通路の長さである。本実施形態では、通路ブロック数としてその最小値および最大値が階層リストに格納される。通路ブロック数はセルを単位として表される。例えば、図９に示す階層リストは、階層番号が“１”である階層では、セル４個分からセル６個分の長さで部屋同士が接続されることを示している。また、重み減算量は、上記配置領域内のセルに重みを設定する際、軸からセル１個分離れる毎に減算する重みの量を示す。例えば、図５においては、軸からセル１個分離れる毎に重みの値は３０だけ減算されている。従って、図５に示す階層における重み減算量は３０である。また、直線通路優先確率とは、部屋と部屋とを接続する通路をどの程度直線に近い形状にするかを示す指標である。
【００４６】
図１０は、候補部屋リストの一例を示す図である。候補部屋リストは、その階層において用いられる可能性のある部屋（候補部屋）に関する情報である。候補部屋リストは、各階層に対して１つずつ用意される。本実施形態では、候補部屋リストは、候補番号、部屋種別、優先度、および部屋番号を各候補部屋毎に示した情報である。候補番号とは、候補部屋毎に固有に割り振られる番号である。部屋番号は、上記部屋リストにおける部屋番号である。部屋種別とは、上述した部屋の種類を示す。例えば、図１０における候補部屋リストが用いられる階層においては、部屋番号が“１”である部屋がスタートルームとして用いられる。また、優先度とは、その候補部屋を用いる優先度である。すなわち、優先度が“必須”である候補部屋は、その階層において必ず用いられる。一方、優先度が“ランダム”である候補部屋は、その階層において用いられるか否かがランダムに決定される。
【００４７】
以上の図７〜図１０に示した各リストは、ゲーム製作者によって予め作成されてゲームプログラムとともにカートリッジ１１のＲＯＭ２９に格納される。なお、他の実施形態においては、上記各リストの内容をプレイヤが適宜変更することができるようにしてもよい。
【００４８】
図６の説明に戻り、ステップＳ１０において初期設定が完了するとゲームが開始され、以降のステップＳ１１〜Ｓ１５の処理が行われる。まず、ステップＳ１１において、プレイヤの操作に基づくゲーム処理が行われる。具体的には、ＣＰＵコア２４は、プレイヤによって操作キー１５に入力された操作に従ってプレイヤキャラクタの動作を制御する処理や、ゲームプログラム中で規定されたアルゴリズムに従って敵キャラクタの動作を制御する処理等を行う。
【００４９】
次に、ステップＳ１２において、プレイヤキャラクタが新たな階層に進入したか否かが判定される。具体的には、現在の階層の出口（例えば、新たな階層へ続く階段等）にプレイヤキャラクタが達した場合や、現在の階層から新たな階層へ移動する条件（例えば、現在の階層におけるボスキャラクタを倒したこと等）が満たされた場合に、プレイヤキャラクタが新たな階層に進入したと判定される。プレイヤキャラクタが新たな階層に進入したと判定された場合、ステップＳ１３〜Ｓ１５の処理が行われる。一方、プレイヤキャラクタが新たな階層に進入していないと判定された場合、ステップＳ１１の処理に戻ってステップＳ１１およびＳ１２の処理が繰り返される。
【００５０】
ステップＳ１３においては、部屋決定処理が行われる。部屋決定処理とは、プレイヤキャラクタが進入した階層において用いるべき部屋を決定する処理である。具体的には、ＣＰＵコア２４は、部屋決定処理において、ＷＲＡＭ２６に記憶されている部屋リストに示される各部屋からいくつかを選出することによって部屋配置リスト（図１２参照）を作成する。以下、図１１および図１２を用いて部屋決定処理の詳細を説明する。
【００５１】
図１１は、図６に示すステップＳ１３の処理の詳細を示すフローチャートである。図１１に示す部屋決定処理においては、まず、ステップＳ２０において、部屋種別が“スタートルーム”である部屋、および“ゴールルーム”である部屋を候補部屋リストからそれぞれ１つずつ選択する。ステップＳ２０における処理は、新たな階層におけるスタートルームおよびゴールルームとして用いる部屋を決定する処理である。ステップＳ２０における選択の方法は、ランダムに選択する方法であってもよいし、予め定められたルールに従って選択する方法であってもよい。また、ランダムに選択する方法においては重みを用いてもよい。
【００５２】
次に、ステップＳ２１においては、ＷＲＡＭ２６に記憶されている階層リストに基づいて、新たな階層においてメインルームとして用いる部屋の数（メインルーム数）を決定する。具体的には、ＣＰＵコア２４は、階層リストにおけるメインルーム数の最小値から最大値までの範囲内の整数をランダムに決定する。
【００５３】
続くステップＳ２２において、部屋種別が“メインルーム”であり、かつ、優先度が“必須”である全ての部屋が候補部屋リストから選択される。さらに、ステップＳ２３において、ステップＳ２２において選択された部屋の数が、ステップＳ２１において決定されたメインルーム数に達したか否かが判定される。ステップＳ２３の判定において、ステップＳ２２において選択された部屋の数がメインルーム数に達した場合、ステップＳ２４の処理がスキップされてステップＳ２５の処理が行われる。一方、ステップＳ２３の判定において、ステップＳ２２において選択された部屋の数がメインルーム数に達していない場合、ステップＳ２４の処理が行われる。すなわち、ステップＳ２４において、部屋種別が“メインルーム”であり、かつ、優先度が“ランダム”である部屋が候補部屋リストからランダムに選択される。なお、ステップＳ２４において選択される部屋の数は、メインルーム数からステップＳ２２において選択された部屋の数を引いた数である。また、ステップＳ２４における選択は、重みを用いて行われてもよい。
【００５４】
ステップＳ２５においては、階層リストに基づいて、新たな階層においてサブルームとして用いる部屋の数（サブルーム数）を決定する。具体的には、ＣＰＵコア２４は、階層リストにおけるサブルーム数の最小値から最大値までの範囲内の整数をランダムに決定する。このとき、重みを用いてランダムに決定してもよい。
【００５５】
続くステップＳ２６において、部屋種別が“サブルーム”であり、かつ、優先度が“必須”である全ての部屋が候補部屋リストから選択される。さらに、ステップＳ２７において、ステップＳ２６において選択された部屋の数が、ステップＳ２５において決定されたサブルーム数に達したか否かが判定される。ステップＳ２７の判定において、ステップＳ２６において選択された部屋の数がサブルーム数に達した場合、ステップＳ２８の処理がスキップされてステップＳ２９の処理が行われる。一方、ステップＳ２７の判定において、ステップＳ２６において選択された部屋の数がサブルーム数に達していない場合、ステップＳ２８の処理が行われる。すなわち、ステップＳ２８において、部屋種別が“サブルーム”であり、かつ、優先度が“ランダム”である部屋が候補部屋リストからランダムに選択される。なお、ステップＳ２８において選択される部屋の数は、サブルーム数からステップＳ２６において選択された部屋の数を引いた数である。また、ステップＳ２８における選択は、重みを用いて行われてもよい。
【００５６】
ステップＳ２９において、ＣＰＵコア２４は、部屋配置リストを作成する。部屋配置リストは、階層に配置すべき部屋を、配置する順番に示した情報である。具体的には、ＣＰＵコア２４は、ステップＳ２０、Ｓ２２、Ｓ２４、Ｓ２６およびＳ２８において選択された各部屋を、配置する順番に並べることによって部屋配置リストを作成する。図１２は、部屋配置リストの一例を示す図である。本実施形態では、部屋配置リストは、配置番号、部屋種別、および部屋番号を各部屋毎に対応付けた情報である。なお、配置番号は、マップ作成領域に配置される順番を示す。図１２に示すように、本実施形態では、ＣＰＵコア２４は、部屋種別が“スタートルーム”、“メインルーム”、“ゴールルーム”、および“サブルーム”の順に部屋を並べる。なお、“メインルーム”の部屋が複数選択されている場合、各部屋を配置する順番はランダムに決定される。これと同様に、“サブルーム”の部屋が複数選択されている場合、各部屋を配置する順番はランダムに決定される。なお、ステップＳ２９の処理の完了によってルーム決定処理は終了する。
【００５７】
以上のステップＳ２０〜Ｓ２９に示した処理によって、マップ作成領域に配置すべき部屋の種類、数、および配置順が決定される。なお、マップ作成領域に配置すべき部屋の種類、数、および配置順は、どのように決められてもよく、予め決められていてもよい。また、図１１において部屋を選択する処理（ステップＳ２０，Ｓ２２，Ｓ２４，Ｓ２６，Ｓ２８）においては、扉種別が“出口”である扉がスクロール方向の逆側に位置する部屋や、扉種別が“入口”である扉がスクロール方向と同じ側に位置する部屋を選択しないようにしてもよい。これらの部屋が配置されると、スクロール方向の逆方向に進行する通路が作成されるので、マップが複雑になってしまうからである。
【００５８】
図６の説明に戻り、ステップＳ１３の次のステップＳ１４において、マップ作成処理が行われる。マップ作成処理は、部屋と当該部屋に接続される通路とをマップ作成領域に配置することによってゲームマップを作成する処理である。以下、図１３〜図１８を用いてマップ作成処理の詳細を説明する。
【００５９】
図１３は、図６に示すステップＳ１４の処理の詳細を示すフローチャートである。図１３に示すマップ作成処理においては、まず、ステップＳ３０において、配置処理が行われる。配置処理とは、部屋と部屋間を接続する通路とをマップ作成領域に配置する処理である。
【００６０】
図１４は、図１３に示すステップＳ３０の処理の詳細を示すフローチャートである。図１４に示す配置処理においては、まず、ステップＳ４０において、部屋配置リストに示される部屋の内の部屋種別“スタートルーム”の部屋がマップ作成領域内の所定位置に配置される。本実施形態では、所定位置は、マップ作成領域における左端の位置である。つまり、本実施形態では、最初に配置すべき部屋を、ゲーム画面のスクロール方向とは逆側の端に配置する。本実施形態ではゲームマップは右側に延びていくように作成されていくので、最初の部屋を左端に配置することによってマップ作成領域を有効に使用することができる。
【００６１】
次に、ステップＳ４１において、次に配置すべき部屋が指定される。具体的には、ＣＰＵコア２４は、部屋配置リストに含まれる部屋の内、マップ作成領域にまだ配置されていない部屋であって配置番号が最も若い部屋を指定する。続くステップＳ４２において、次に配置すべき部屋は部屋種別“サブルーム”の部屋であるか否かが判定される。すなわち、ＣＰＵコア２４は、ステップＳ４１で指定した部屋の部屋種別が“サブルーム”であるか否かを判定する。ステップＳ４２の判定において、次に配置すべき部屋が部屋種別“サブルーム”の部屋でない場合、ステップＳ４３の処理が行われる。一方、次に配置すべき部屋が部屋種別“サブルーム”の部屋である場合、ステップＳ４４の処理が行われる。
【００６２】
ステップＳ４３においては、直前に配置された部屋の出口扉（扉種別が“出口”の扉）が選択される。従って、サブルーム以外の部屋が配置される場合、当該部屋は直前に配置された部屋の出口に接続される。一方、ステップＳ４４においては、すでに配置された部屋の出口扉のいずれか１つがランダムに選択される。従って、サブルームの部屋が配置される場合、当該部屋はすでに配置されたいずれかの部屋の出口に接続される。ステップＳ４３またはステップＳ４４の後、ステップＳ４５の処理が行われる。
【００６３】
ステップＳ４５においては、ステップＳ４３またはＳ４４において選択された出口扉からマップ作成領域内の各セルまでの距離（セルを単位とした距離）が算出される（図４に示すセル内の数値を参照）。具体的には、ＣＰＵコア２４は、当該出口扉に接続されるセルを基点として通路ブロック数の最大値の範囲で到達することができるセルについて距離を算出する。なお、通路ブロック数の最大値は、ＷＲＡＭ２６に記憶されている階層リストを参照することによって得ることができる。また、スクロール方向の逆方向に移動しなければ到達することができないセルについては距離を算出する必要はない。このようなセルは、配置領域に含まれることがないからである。
【００６４】
ステップＳ４６においては、次に配置すべき部屋の配置領域が決定される。具体的には、ＣＰＵコア２４は、ステップＳ４５において算出された距離が、通路ブロック数の最小値から最大値までの範囲内の距離にあるセルからなる領域を配置領域として決定する（図４に示す太線の点線で囲まれる領域を参照）。なお、通路ブロック数の最大値および最小値は、ＷＲＡＭ２６に記憶されている階層リストを参照することによって得ることができる。なお、ステップＳ４６において、既に配置された部屋が配置領域に含まれる場合は、当該部屋の位置を配置領域から除外するようにしてもよい。
【００６５】
ステップＳ４７においては、ステップＳ４６で決定された配置領域内のセルに重みが設定される（図５に示すセル内の数値を参照）。本実施形態では、ステップＳ４３またはＳ４４で選択された出口扉に接続するセルを通る軸上のセルに対して、他のセルよりも大きな値の重みが設定される（図５参照）。また、当該軸上のセル以外のセルに対して、軸からの距離に応じて小さくなるような値の重みが設定される。すなわち、スクロール方向に垂直な方向（本実施形態では上方向または下方向）に当該軸から１セル分ずれる毎に、当該軸上のセルに設定される値から所定値が減算された値の重みが設定される。この所定値は、階層リストの重み減算量である。図５を例にとって説明すると、軸３５上のセル対しては、設定される重みの最大値、すなわち１００が設定される。また、軸３５からセル１個分離れたセルに対しては、軸３５上のセルに設定された重み（１００）から重み減算量（ここでは３０とする）を減算した値、すなわち７０が設定される。さらに、軸３５からセル２個分離れたセルの重みは４０に設定され、軸３５からセル３個分離れたセルの重みは１０に設定される。なお、ここではセルに設定される重みが取り得る最小値を０としているので、軸３５からセル４個分離れたセルの重みは０に設定される。以上のステップＳ４７によって、配置領域内のセルには、セルの位置が軸から離れるにつれて小さな値が設定されることになる。
【００６６】
ステップＳ４８においては、ステップＳ４６で決定された配置領域内のセルの内の１つのセルが、重みを考慮した確率で選出される。具体的には、ＣＰＵコア２４は、重みの値が大きいほど高い確率で選出されるように、配置領域内から１つのセルを選出する。従って、ステップＳ４８では、軸からの距離が近いセルほど高い確率で選出されることになる。
【００６７】
ステップＳ４９においては、ステップＳ４８で選出されたセルの位置に基づいて新たな部屋が配置される。ここで、本実施形態では、当該選出されたセルの位置に加えて、配置すべき新たな部屋の入口扉（扉種別が“入口”の扉）の位置および方向を考慮して当該新たな部屋の配置位置が決定される。具体的には、新たな部屋は、ステップＳ４８で選出されたセルの位置に入口扉が接続されるように、マップ作成領域に配置される。図１５は、新たな部屋を配置位置を決定する処理を説明するための図である。図１５においては、部屋４１の出口扉に基づいてセル４２がステップＳ４８で選出された場合を想定する。また、配置すべき部屋４３は、縦および横の長さがセル２個分の長さであり、（１，２）の位置に左向きの入口扉が存在するものとする。図１５においては、セル４２の右側のセルに入口扉が配置されるように部屋４３が配置される。
【００６８】
なお、新たな部屋の配置位置は、ステップＳ４８で選出されたセルの位置に基づいて決定される位置であればどのような位置であってもよい。例えば、ステップＳ４８で選出されたセルの位置が部屋の中心となるように新たな部屋を配置してもよいし、当該セルの位置が入口扉の位置となるように新たな部屋を配置してもよい。
【００６９】
ステップＳ５０においては、ＣＰＵコア２４は、新たに配置された部屋と、当該部屋を配置する際に基準とした部屋との間に通路を作成する。ここで、新たな部屋を配置する際に基準とした部屋とは、ステップＳ４３またはＳ４４で出口扉が選択された部屋である。具体的には、ステップＳ４３またはＳ４４で選択された出口扉から、新たに配置された部屋の入口扉までを結ぶ通路が作成される。なお、本実施形態では、ステップＳ５０で作成される通路は、ＷＲＡＭ２６に記憶されている階層リストの直線通路優先確率を用いてランダムに作成される。すなわち、直線通路優先確率の値が大きいほど、直線的な通路（出口扉と入口扉とを最短で結ぶ通路）に近い通路が作成される。図１６は、部屋と部屋とを結ぶ通路が作成されたゲームマップの一例を示す図である。図１６においては、新たな部屋４３の入口扉と、部屋４３を配置する際に基準とした部屋４１の出口扉との間に通路４４が作成されている。図１６では、通路がランダムに作成された結果、部屋４１の出口扉と部屋４３の入口扉とを最短で結ぶ通路４４が作成されている。
【００７０】
ステップＳ５１においては、部屋配置リストに含まれる全ての部屋をマップ作成領域に配置したか否かが判定される。全ての部屋を配置した場合、ＣＰＵコア２４は配置処理を終了する。一方、全ての部屋を配置していない場合、処理はステップＳ４１に戻る。以降、全ての部屋を配置するまでステップＳ４１〜Ｓ５１の処理が繰り返される。ステップＳ４１〜Ｓ５１の処理が繰り返されることによって、全ての部屋、および、部屋と部屋とを接続する通路が作成されることになる。
【００７１】
図１７は、配置処理が終了した時点のゲームマップの一例を示す図である。なお、図１７に示すゲームマップは、図１２に示す部屋配置リストを用いて作成されたゲームマップの一例である。図１７においては、ゲームマップに配置された順に参照番号を付している。すなわち、図１７に示すゲームマップは、部屋５１から順に部屋５９まで参照番号順に部屋が配置されることによって作成されたものとする。本実施形態では、新たに配置される部屋は、その部屋を配置する基準となる部屋よりもスクロール方向、すなわち右方向に作成されるので、最終的に作成されるゲームマップは、図１７に示すような、右方向に延びる形状となる。
【００７２】
図１３の説明に戻り、ステップＳ３０の次のステップＳ３１において、行き止まり通路作成処理が行われる。行き止まり通路作成処理とは、行き止まり通路、すなわち、一端は部屋の出口扉に接続され、もう一端はどの部屋にも接続されない通路を作成する処理である。なお、行き止まり通路作成処理はマップ作成処理に含まれる必要はない。以下、図１８を用いて行き止まり通路作成処理の詳細を説明する。
【００７３】
図１８は、図１３に示すステップＳ３１の処理の詳細を示すフローチャートである。図１８に示す行き止まり通路作成処理においては、まず、ステップＳ６０において、マップ作成領域に配置された部屋の内の１つの部屋が指定される。例えば、ＣＰＵコア２４は、部屋配置リストの配置番号順に部屋を指定する。続くステップＳ６１において、ステップＳ６０で指定した部屋の出口扉から延びる行き止まり通路を作成するか否かが判定される。ステップＳ６１の判定は、判定結果がランダムになるように行われてもよいし、予め定められたルールに従って行われてもよい。ステップＳ６１の判定において、行き止まり通路を作成しないと判定された場合、ステップＳ６２〜Ｓ６５の処理がスキップされてステップＳ６６の処理が行われる。一方、ステップＳ６１の判定において、行き止まり通路を作成すると判定された場合、ステップＳ６２〜Ｓ６５の処理が行われる。
【００７４】
ステップＳ６２においては、ステップＳ６０で指定された部屋の出口扉からマップ作成領域内の各セルまでの距離（セルを単位とした距離）が算出される。ステップＳ６２の処理は、図１４に示すステップＳ４５の処理と同様である。続くステップＳ６３においては、行き止まり通路の行き止まり位置を選出する範囲が決定される。つまり、ステップＳ６３で決定される範囲内のセルから行き止まり位置が選出される。ステップＳ６３の処理は、図１４に示すステップＳ４６の処理と同様である。
【００７５】
ステップＳ６４においては、ステップＳ６３で決定された範囲内から行き止まり位置がランダムに選出される。続くステップＳ６５では、ステップＳ６０で指定された部屋の出口扉とステップＳ６４で選出されたセルとを結ぶ行き止まり通路が作成される。ステップＳ６５においてもステップＳ５０と同様、通路は、ＷＲＡＭ２６に記憶されている階層リストの直線通路優先確率を用いてランダムに作成される。
【００７６】
ステップＳ６６においては、マップ作成領域に配置された全ての部屋をステップＳ６０で指定したか否かが判定される。全ての部屋を指定していない場合、ステップＳ６０に戻る。以降、全ての部屋を指定するまで、ステップＳ６０〜Ｓ６５の処理が繰り返される。一方、全ての部屋を指定した場合、ＣＰＵコア２４は、行き止まり通路作成処理を終了する。行き止まり通路作成処理が終了することによって、図１３に示すマップ作成処理（図６に示すステップＳ１４）が終了する。
【００７７】
図６の説明に戻り、ステップＳ１４の次のステップＳ１５において、ゲームを終了するか否かが判定される。ＣＰＵコア２４は、例えば、ゲームオーバーになったか否か、および、ゲームを終了する旨の指示がプレイヤによって行われたか否か等を判定する。ゲームを終了すると判定されない場合、ステップＳ１１の処理に戻り、以降、ゲームを終了すると判定されるまでステップＳ１１〜Ｓ１４の処理が繰り返される。一方、ゲームを終了すると判定された場合、図６に示すゲーム処理が終了する。
【００７８】
以上のように、本実施形態におけるゲーム処理では、既に配置された部屋に接続される新たな部屋は、既に配置された部屋に対してスクロール方向の逆側を除く範囲でランダムに配置される。また、当該範囲内においてスクロール方向に延びる軸上の位置に対して大きな値の重みが設定される。従って、ゲームマップは、大まかにはスクロール方向に延びるように作成されるので、ゲームマップの形状が極端に変化しない。それ故、難易度がほぼ一律でありながら毎回異なるゲームマップを作成することができる。
【００７９】
なお、上記実施形態においては、スクロール方向とは、ゲーム製作者がゲーム画面をその方向にスクロールさせる目的で予め設定されるものとして説明したが、スクロール方向とは、予め定められたある一方向であればよい。つまり、ゲーム製作者の意図が反映されていないような方向（例えば、ランダムに一方向が決定される場合）であってもよい。
【００８０】
また、上記実施形態においては、スタートルームを最初に配置し、ゲームマップがスクロール方向に延びるように部屋を順に配置したが、ゴールルームを最初に配置し、ゲームマップがスクロール方向の逆方向に延びるように部屋を順に配置することも可能である。このとき、ゲーム装置は、部屋配置リストの番号が大きい部屋から順に配置する。また、配置領域は、スクロール方向と同じ側の領域が少なくとも排除されるようにマップ作成領域内に設定される。
【００８１】
また、上記実施形態では、配置領域に重みを設定する際に基準となる軸は、既に配置された部屋であって配置すべき新たな部屋に接続される部屋の出口の位置に基づいて決定された。すなわち、当該軸は、当該出口に接続されるセル上を通るように決定された。換言すれば、上記実施形態では、当該軸は、新たな部屋を接続する部屋に応じて相対的に決定された。ここで、他の実施形態においては、軸は、マップ作成領域内において固定的に予め定められた位置に決定されてもよい。図１９は、本実施形態における軸と他の実施形態における軸とを比較するための図である。図１９は、部屋６１がマップ作成領域に最初に配置され、次に部屋６２が配置された状態を示している。この状態において部屋６２の出口に接続される新たな部屋を配置する場合、上記実施形態に係るゲーム装置は、部屋６２の出口を通る位置に軸６３を設定した。これに対して、他の実施形態では、予め定められた固定的な位置（例えば最初に配置された部屋６１の出口を通る位置）に軸６４を設定してもよい。なお、このとき軸６４は、重みを用いて配置されるすべての部屋を配置する場合において同じ位置に設定される。
【００８２】
なお、上記実施形態のように、接続する部屋の位置に応じて相対的に軸を決定する場合、互いに接続される部屋同士は、スクロール方向と垂直な方向に関して大きくずれた位置になりにくい。例えばスクロール方向が右方向であるとすると、２つの部屋が上下方向に大きくずれて接続される確率は低くなる。一方、図１９に示す軸６４のように、固定的に軸を決定する場合、マップ全体としてスクロール方向に垂直な方向にずれにくいゲームマップが作成される。例えばスクロール方向が右方向であるとすると、スタートルームとゴールルームとの位置が上下方向に大きくずれて配置される確率は低くなる。
【００８３】
また、上記実施形態においては、配置領域は、出口扉の位置を基準とし、出口扉に接続されるセルからの距離が所定範囲内の領域に決定された。ここで、他の実施形態においては、配置領域は、スクロール方向とは反対側の領域が排除されるように設定されていれば、どのような範囲に決定されてもよい。図２０は、他の実施形態における配置領域の決定方法を示す図である。なお、図２０では、既に配置された部屋７１に接続される新たな部屋を配置する場合を考える。図２０においては、配置領域は、部屋７１の出口扉の位置を基準とした軸７２上の所定位置（例えば、出口扉の位置から所定距離にある位置）のセルを中心とした範囲に決定される。このように、他の実施形態においては、出口扉に接続されるセルに代えて、他の位置のセルを中心とした範囲で配置領域が決定されてもよい。
【００８４】
また、図２０においては、軸７２上の上記所定位置のセルに他のセルよりも大きい重みが設定され、当該所定位置から離れるにつれて小さな値の重みが設定される。このように、他の実施形態においては、軸上の全てのセルに同じ値の重みを設定しなくてもよい。
【産業上の利用可能性】
【００８５】
本発明は、ゲームの難易度を極端に変化させず、かつ、毎回異なるゲームマップが作成されるゲーム等において利用することが可能である。
【図面の簡単な説明】
【００８６】
【図１】本実施形態に係るゲーム装置の外観図
【図２】本実施形態に係るゲーム装置の内部構成を示すブロック図
【図３】本実施形態に係るゲーム装置において作成されるゲームマップの一例を示す図
【図４】部屋を配置する処理を説明するための図
【図５】部屋を配置する処理を説明するための図
【図６】携帯ゲーム機１２において実行されるゲーム処理の流れを示すメインフローチャート
【図７】部屋リストの一例を示す図
【図８】扉リストの一例を示す図
【図９】階層リストの一例を示す図
【図１０】候補部屋リストの一例を示す図
【図１１】図６に示すステップＳ１３の処理の詳細を示すフローチャート
【図１２】部屋配置リストの一例を示す図
【図１３】図６に示すステップＳ１４の処理の詳細を示すフローチャート
【図１４】図１３に示すステップＳ３０の処理の詳細を示すフローチャート
【図１５】新たな部屋を配置する位置を決定する処理を説明するための図
【図１６】部屋と部屋とを結ぶ通路が作成されたゲームマップの一例を示す図
【図１７】配置処理が終了した時点のゲームマップの一例を示す図
【図１８】図１３に示すステップＳ３１の処理の詳細を示すフローチャート
【図１９】本実施形態における軸と他の実施形態における軸とを比較するための図
【図２０】他の実施形態における配置領域の決定方法を示す図
【符号の説明】
【００８７】
１１  カートリッジ
１２  携帯ゲーム機
２４  ＣＰＵコア
２６  ＷＲＡＭ
３１  マップ作成領域
３５，６３，６４，７２  軸
【図１】
2006130131.tif 000003
【図２】
2006130131.tif 000004
【図３】
2006130131.tif 000005
【図４】
2006130131.tif 000006
【図５】
2006130131.tif 000007
【図６】
2006130131.tif 000008
【図７】
2006130131.tif 000009
【図８】
2006130131.tif 000010
【図９】
2006130131.tif 000011
【図１０】
2006130131.tif 000012
【図１１】
2006130131.tif 000013
【図１２】
2006130131.tif 000014
【図１３】
2006130131.tif 000015
【図１４】
2006130131.tif 000016
【図１５】
2006130131.tif 000017
【図１６】
2006130131.tif 000018
【図１７】
2006130131.tif 000019
【図１８】
2006130131.tif 000020
【図１９】
2006130131.tif 000021
【図２０】
2006130131.tif 000022