(57)【要約】【課題】種々の地形オブジェクトを生成しつつ、生成される地形オブジェクトのサイズや形状を制御することができるプログラム、情報記憶媒体及び画像生成システムを提供すること。【解決手段】複数のテンプレートＴＰのうち少なくとも１つのテンプレートＴＰを地形形状バッファ１７４上で移動させ、少なくとも２つのテンプレートＴＰが重なったときの合成形状情報ＳＹを生成し、生成した合成形状情報ＳＹを評価する評価処理と、評価の結果に基づいて、合成形状情報ＳＹを地形形状情報ＭＦとして設定する設定処理とを行うことにより、種々の形状の地形形状情報ＭＦを生成する。【選択図】図６
2009129167.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成するプログラムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の２次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部としてコンピュータを機能させ、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも１つのテンプレートを所与の２次元空間上で移動させ、少なくとも２つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とするプログラム。
【請求項２】
請求項１において、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの第１のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第１の選択処理と、
前記所与の２次元空間上の所与の位置に前記第１のテンプレートを前記地形形状情報として設定する配置設定処理と、
前記所与の２次元空間上に設定された前記地形形状情報のサイズと前記基準サイズとの差よりも小さいサイズの第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第２の選択処理と、
前記所与の２次元空間上で前記第２のテンプレートを前記地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、１の方向についての前記合成形状情報を前記地形形状情報として更新する更新設定処理と、
更新後の前記地形形状情報のサイズが前記基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記所与の条件が満たされるまで、前記第２の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返すことを特徴とするプログラム。
【請求項３】
請求項２において、
前記地形形状生成部が、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記地形形状情報との重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項４】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成するプログラムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形を構成する領域の数を設定する領域数設定部と、
前記領域ごとに各領域の前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の２次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を前記領域ごとに行って前記地形形状情報を生成する地形形状生成部としてコンピュータを機能させ、
前記地形形状生成部が、
前記地形形状設定処理として、
１の領域について前記基準サイズよりも小さいサイズの第１のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第１の選択処理と、
前記所与の２次元空間上の所与の位置に前記第１のテンプレートを前記１の領域の地形形状情報として設定する配置設定処理と、
前記所与の２次元空間上に設定された前記１の領域の地形形状情報のサイズと当該１の領域の基準サイズとの差よりも小さいサイズの第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第２の選択処理と、
前記所与の２次元空間上で前記第２のテンプレートを前記１の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記１の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、１の方向についての前記合成形状情報を前記１の領域の地形形状情報として更新する更新設定処理と、
更新後の前記１の領域の地形形状情報のサイズが当該１の領域の基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記１の領域について前記所与の条件が満たされるまで、前記第２の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返し、
前記地形形状生成部が、
前記１の領域について前記所与の条件が満たされると、次の１の領域について前記地形形状設定処理を行い、全ての領域について前記地形形状設定処理を行うまで、前記地形形状設定処理を繰り返すことを特徴とするプログラム。
【請求項５】
請求項４において、
前記地形形状生成部が、
前記１の領域についての前記地形形状設定処理では、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記１の領域の地形形状情報との重複部分のサイズに応じて評価し、
前記次の１の領域についての前記地形形状設定処理では、
前記評価処理において、
前記所与の２次元空間上で前記第２のテンプレートを前記次の１の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記次の１の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を、前記第２のテンプレートと前記各領域の地形形状情報との重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項６】
請求項３、５のいずれかにおいて、
前記評価処理における前記重複部分のサイズに応じた評価の基準となる第１の評価基準を設定する第１の評価基準設定部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項７】
請求項２、４のいずれかにおいて、
前記地形形状生成部が、
前記第２の選択処理において、
複数の前記第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択し、
前記評価処理において、
前記所与の２次元空間上で複数の前記第２のテンプレートをそれぞれ前記地形形状情報が設定された位置に向けて複数の方向から移動させ、複数の前記第２のテンプレートに関して前記第２のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、複数の前記第２のテンプレートに関して各方向についての前記合成形状情報を評価し、
前記更新設定処理において、
前記評価の結果に基づいて、複数の前記第２のテンプレートに関する前記合成形状情報から複数の前記合成形状情報を選択し、複数の前記合成形状情報から１の前記第２のテンプレートに関する１の方向についての前記合成形状情報を更に選択し、前記地形形状情報として更新することを特徴とするプログラム。
【請求項８】
請求項２、４のいずれかにおいて、
前記所与の２次元空間上において前記地形形状情報を設定する範囲を規定するマスク情報を設定するマスク設定部としてコンピュータを更に機能させ、
前記基準サイズ設定部が、
前記基準サイズとして前記マスク情報のサイズを設定し、
前記地形形状生成部が、
前記配置設定処理において、
前記マスク情報で規定される範囲内の所与の位置に前記第１のテンプレートを前記地形形状情報として設定し、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記マスク情報との非重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項９】
請求項８において、
前記評価処理における前記非重複部分のサイズに応じた評価の基準となる第２の評価基準サイズを設定する第２の評価基準設定部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記地形形状生成部が、
前記所与の２次元空間上において前記地形形状情報が設定されていない空間のうち、周囲が前記地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、
前記隙間空間を前記地形形状情報として設定する補正設定処理と、
を更に行うことを特徴とするプログラム。
【請求項１１】
請求項１〜１０のいずれかにおいて、
生成された前記地形形状情報に高さ情報を設定し、地形オブジェクトを生成する地形オブジェクト生成部と、
前記地形オブジェクトに配置するオブジェクトの位置を決定する位置決定部と、
オブジェクト空間に前記地形オブジェクトを含むオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクト空間を仮想カメラから見た画像を描画する描画部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項１２】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜１１に記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１３】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の２次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも１つのテンプレートを所与の２次元空間上で移動させ、少なくとも２つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、ロールプレイングゲームなどのように、オブジェクト空間に設定された地形オブジェクト（フィールドマップ）上をプレーヤキャラクタが移動する画像を生成しつつ、種々のイベントを発生させるゲームを実行する画像生成システム（ゲームシステム）が知られている。このような画像生成システムでは、地形オブジェクトの形状に応じてゲームの内容が変化するため、ゲームを実行するごとに地形オブジェクトの形状を生成するものが存在する。このような画像生成システムとしては、例えば特開２００１−９６０５９号公報に開示される従来技術がある。
【特許文献１】特開２００１−９６０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来の画像生成システムでは、ランダムに地形オブジェクトの形状を生成していたため、ゲームを実行するごとに異なる地形オブジェクトを生成することができるものの、生成される地形オブジェクトのサイズや形状を制御することができないという問題があった。
【０００４】
本発明は、以上のような課題に鑑みてなされたものであり、その目的は、種々の地形オブジェクトを生成しつつ、生成される地形オブジェクトのサイズや形状を制御することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の２次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも１つのテンプレートを所与の２次元空間上で移動させ、少なくとも２つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００６】
本発明において、形状情報の「サイズ」とは、例えば、形状情報を構成する最小単位（形状情報を画像として構成した場合のピクセルなど）の数や、面積など、種々の情報量によって規定することができる。また形状情報の「形状」とは、例えば、形状情報を構成する座標値の集合や、形状情報を構成する座標値のうち外縁を構成する座標値の集合などによって規定することができる。
【０００７】
本発明によれば、いかなるテンプレートを選択するか、選択したテンプレートをいかなる態様で移動させ、いかなる合成形状情報を生成するかに応じて、地形形状情報を種々の形状で生成することができる。そして本発明によれば、種々の形状の地形形状情報を、基準サイズに応じたサイズのものとして生成することができる。
【０００８】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの第１のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第１の選択処理と、
前記所与の２次元空間上の所与の位置に前記第１のテンプレートを前記地形形状情報として設定する配置設定処理と、
前記所与の２次元空間上に設定された前記地形形状情報のサイズと前記基準サイズとの差よりも小さいサイズの第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第２の選択処理と、
前記所与の２次元空間上で前記第２のテンプレートを前記地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、１の方向についての前記合成形状情報を前記地形形状情報として更新する更新設定処理と、
更新後の前記地形形状情報のサイズが前記基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記所与の条件が満たされるまで、前記第２の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返すようにしてもよい。
【０００９】
本発明によれば、第１のテンプレートとしていかなるテンプレートを選択するか、選択した第１のテンプレートをいかなる位置に設定するか、第２のテンプレートとしていかなるテンプレートを選択するかに応じて、地形形状情報を種々の形状で生成することができる。そして本発明によれば、種々の形状の地形形状情報を、基準サイズに応じたサイズのものとして生成することができる。
【００１０】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。
【００１１】
本発明によれば、重複部分のサイズに応じて合成形状情報を評価することにより、生成される地形形状情報における各テンプレートの重なり度合いを制御することができる。
【００１２】
（４）また本発明は、
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形を構成する領域の数を設定する領域数設定部と、
前記領域ごとに各領域の前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の２次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を前記領域ごとに行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
１の領域について前記基準サイズよりも小さいサイズの第１のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第１の選択処理と、
前記所与の２次元空間上の所与の位置に前記第１のテンプレートを前記１の領域の地形形状情報として設定する配置設定処理と、
前記所与の２次元空間上に設定された前記１の領域の地形形状情報のサイズと当該１の領域の基準サイズとの差よりも小さいサイズの第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第２の選択処理と、
前記所与の２次元空間上で前記第２のテンプレートを前記１の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記１の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、１の方向についての前記合成形状情報を前記１の領域の地形形状情報として更新する更新設定処理と、
更新後の前記１の領域の地形形状情報のサイズが当該１の領域の基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記１の領域について前記所与の条件が満たされるまで、前記第２の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返し、
前記地形形状生成部が、
前記１の領域について前記所与の条件が満たされると、次の１の領域について前記地形形状設定処理を行い、全ての領域について前記地形形状設定処理を行うまで、前記地形形状設定処理を繰り返すことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１３】
本発明において、「領域」とは、例えば都市領域、村領域、森林領域、砂漠領域など、地形形状情報に設定される属性が共通する範囲とすることができる。
【００１４】
本発明によれば、領域ごとに種々の形状の地形形状情報を、領域ごとの基準サイズに応じたサイズのものとして生成することができる。
【００１５】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記１の領域についての前記地形形状設定処理では、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記１の領域の地形形状情報との重複部分のサイズに応じて評価し、
前記次の１の領域についての前記地形形状設定処理では、
前記評価処理において、
前記所与の２次元空間上で前記第２のテンプレートを前記次の１の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第２のテンプレートと前記次の１の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を、前記第２のテンプレートと前記各領域の地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。
【００１６】
本発明によれば、第２のテンプレートと各領域の地形形状情報との重複部分のサイズに応じて合成形状情報を評価することにより、１の領域の地形形状情報における各テンプレートの重なり度合いのみならず、既に設定されている他の領域の地形形状情報との重なり度合いをも制御することができる。
【００１７】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記評価処理における前記重複部分のサイズに応じた評価の基準となる第１の評価基準を設定する第１の評価基準設定部を更に含むようにしてもよい。
【００１８】
本発明によれば、第１の評価基準を種々の態様に制御することにより、地形形状情報として設定される合成形状情報の形状や、基準サイズの地形形状情報を得るために必要なテンプレートの数や、所与の２次元空間上でテンプレート間に発生する隙間空間の量などを制御することができる。そして本発明によれば、テンプレートの種類が少なくても、第１の評価基準を変化させることにより、地形形状情報を種々の形状で生成することができる。
【００１９】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記第２の選択処理において、
複数の前記第２のテンプレートを前記記憶部に記憶された複数のテンプレートから選択し、
前記評価処理において、
前記所与の２次元空間上で複数の前記第２のテンプレートをそれぞれ前記地形形状情報が設定された位置に向けて複数の方向から移動させ、複数の前記第２のテンプレートに関して前記第２のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、複数の前記第２のテンプレートに関して各方向についての前記合成形状情報を評価し、
前記更新設定処理において、
前記評価の結果に基づいて、複数の前記第２のテンプレートに関する前記合成形状情報から複数の前記合成形状情報を選択し、複数の前記合成形状情報から１の前記第２のテンプレートに関する１の方向についての前記合成形状情報を更に選択し、前記地形形状情報として更新するようにしてもよい。
【００２０】
本発明によれば、複数の第２のテンプレートに関してそれぞれ評価の結果に基づいて合成形状情報を選択し、各第２のテンプレートに関する合成形状情報から更に１つの合成形状情報を選択することにより、いずれの合成形状情報を地形形状情報として設定するかに応じて、地形形状情報を種々の形状で生成することができる。
【００２１】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記所与の２次元空間上において前記地形形状情報を設定する範囲を規定するマスク情報を設定するマスク設定部を更に含み、
前記基準サイズ設定部が、
前記基準サイズとして前記マスク情報のサイズを設定し、
前記地形形状生成部が、
前記配置設定処理において、
前記マスク情報で規定される範囲内の所与の位置に前記第１のテンプレートを前記地形形状情報として設定し、
前記評価処理において、
各方向についての前記合成形状情報を、前記第２のテンプレートと前記マスク情報との非重複部分のサイズに応じて評価するようにしてもよい。
【００２２】
本発明によれば、種々の形状の地形形状情報を、マスク情報に応じた形状のものとして生成することができる。
【００２３】
（９）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記評価処理における前記非重複部分のサイズに応じた評価の基準となる第２の評価基準サイズを設定する第２の評価基準設定部を更に含むようにしてもよい。
【００２４】
本発明によれば、第２の評価基準を種々の態様に制御することにより、地形形状情報として設定される合成形状情報の形状や、基準サイズの地形形状情報を得るために必要なテンプレートの数や、所与の２次元空間上でテンプレート間に発生する隙間空間の量を制御することができる。そして本発明によれば、テンプレートの種類が少なくても、第２の評価基準を変化させることにより、地形形状情報を種々の形状で生成することができる。
【００２５】
（１０）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記所与の２次元空間上において前記地形形状情報が設定されていない空間のうち、周囲が前記地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、
前記隙間空間を前記地形形状情報として設定する補正設定処理と、
を更に行うようにしてもよい。
【００２６】
本発明によれば、隙間空間を地形形状情報として設定することにより、テンプレートを組合せることにより発生する不自然な隙間を埋めることができる。
【００２７】
（１１）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
生成された前記地形形状情報に高さ情報を設定し、地形オブジェクトを生成する地形オブジェクト生成部と、
前記地形オブジェクトに配置するオブジェクトの位置を決定する位置決定部と、
オブジェクト空間に前記地形オブジェクトを含むオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクト空間を仮想カメラから見た画像を描画する描画部とを更に含むようにしてもよい。
【００２８】
本発明によれば、生成された前記地形形状情報に基づいて地形オブジェクトを生成し、かかる地形オブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を描画することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．システム全体の概略
図１は、本実施形態の画像生成システムを適用したゲームシステムの一例を示す外観図である。本実施形態のゲームシステムＧＳは、プレーヤが操作情報を入力する操作部ＣＴと、操作部ＣＴからの操作情報に基づいてゲーム画像を生成する本体装置ＰＳと、本体装置ＰＳで生成したゲーム画像を表示させるモニタＭＮとを含む。
【００３１】
操作部ＣＴは、図１に示すようにプレーヤが左手で握る左グリップＧＬと、右手で握る右グリップＧＲとが設けられている。そして図中正面左部に、左グリップＧＬを左手で握ったプレーヤが左手の親指で操作することができる方向キーＤＫと、左アナログスティックＡＳＬとが設けられている。この方向キーＤＫは、方向キーＤＫを押下した位置に応じて異なる信号を入力することができるように構成され、左アナログスティックＡＳＬは、左アナログスティックＡＳＬを傾倒させた角度と方向に応じて異なる信号を入力することができるように構成されている。また図中正面右部に、右グリップＧＲを右手で握ったプレーヤが右手の親指で操作することができる右アナログスティックＡＳＬと、４つのボタンＢＴとが設けられている。この右アナログスティックＡＳＬは左アナログスティックＡＳＬと同様の構成とされ、４つのボタンＢＴは、押下したボタンに応じて異なる信号を入力することができるように構成されている。
【００３２】
また操作部ＣＴは、図中上面左部に、プレーヤが左手の人差し指で操作することができるＬ１ボタンＬ１と、中指で操作することができるＬ２ボタンＬ２とが設けられており、図中上面右部に、プレーヤが右手の人差し指で操作することができるＲ１ボタンＲ１と、中指で操作することができるＲ２ボタンＲ２とが設けられている。これらＬ１ボタンＬ１〜Ｒ２ボタンＲ２は、押下したボタンに応じて異なる信号を入力することができるように構成されている。
【００３３】
本体装置ＰＳは、操作部ＣＴからの操作情報やプログラムに基づいてゲーム画像を生成するなど種々のゲーム演算を実行する。特に本実施形態の本体装置ＰＳは、操作部ＣＴからの操作情報に応じてプレーヤキャラクタＰＣなどがオブジェクト空間に設定された地形オブジェクトＭＰ上をリアルタイムに移動・動作する３次元画像をゲーム画像として生成し、モニタＭＮに表示させる。
【００３４】
２．ゲームシステムの機能ブロック
図２に本実施形態のゲームシステム（画像生成システム）の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図２の構成要素（各部）の一部を省略した構成としてもよい。
【００３５】
操作部１６０は、プレーヤがプレーヤキャラクタ（移動体、プレーヤオブジェクト、ゲームキャラクタを含む）の操作情報を入力するためのものであり、その機能は、アナログスティック、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、カメラ、加速度センサ、角速度センサ或いは筺体などにより実現できる。
【００３６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭやＶＲＡＭなどにより実現できる。特に、本実施形態の記憶部１７０は、主記憶部１７２、テンプレート記憶部１７３、地形形状バッファ１７４（所与の２次元空間の一例）、マスク記憶部１７５、地形オブジェクトバッファ１７６、描画バッファ１７７を有している。
【００３７】
主記憶部１７２は、本実施形態の各種処理を行う際のワーク領域となる。
【００３８】
テンプレート記憶部１７３は、３次元のオブジェクト空間に設定される地形オブジェクトの２次元形状情報である地形形状情報を生成するためのテンプレートを格納する。本実施形態ではテンプレート記憶部１７３は、サイズおよび形状の少なくとも一方が異なる複数の２次元形状情報によって構成される複数のテンプレートを格納する。
【００３９】
地形形状バッファ１７４は、２次元の形状情報を格納する２次元空間として構成されており、本実施形態に特徴的な処理に応じて複数のテンプレートが配置設定されることにより、種々の形状、サイズの地形形状情報が設定される。
【００４０】
マスク記憶部１７５は、地形形状バッファ１７４において地形形状情報を配置設定する範囲を規定するマスク情報を格納する。本実施形態ではマスク記憶部１７５は、サイズおよび形状の少なくとも一方が異なる複数の２次元形状情報によって構成される複数のマスク情報を格納する。
【００４１】
地形オブジェクトバッファ１７６は、３次元の形状情報を格納する３次元空間として構成されており、地形形状バッファ１７４に設定された２次元の地形形状情報に基づいて、３次元の地形オブジェクトが設定される。
【００４２】
描画バッファ１７７は、透視変換されたオブジェクト空間の画像を構成するピクセルの最終的な描画色が設定される。
【００４３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを入力するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）、メモリカードなどにより実現できる。処理部１００は、情報記憶媒体１８０に入力されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）や種々のデータが記憶される。
【００４４】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００４５】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４６】
通信部１９６は外部（例えば、サーバや他のゲームシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４７】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）を、ネットワークを介してサーバからダウンロードし、情報記憶媒体１８０に記憶するようにしてもよい。このようなサーバに入力されているプログラムの出力も本発明の範囲内に含めることができる。
【００４８】
処理部１００（プロセッサ）は、操作部１６０からの操作情報（操作データ）やプログラムなどに基づいて、ゲーム処理、画像生成処理、地形オブジェクト生成処理などの処理を行う。この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４９】
そして処理部１００は、ゲーム処理部１０２、マスク設定部１０４、領域数設定部１０６、基準サイズ設定部１０８、地形形状生成部１１０、第１の評価基準設定部１１２、第２の評価基準設定部１１４、地形オブジェクト生成部１１６、位置決定部１１８、移動・動作処理部１２０、オブジェクト空間設定部１２２、仮想カメラ制御部１２４、３次元画像描画部１２６、音生成部１２８を含む。なおこれらの一部を省略する構成としてもよい。
【００５０】
ゲーム処理部１０２は、オブジェクト空間に設定される地形オブジェクトを生成する地形生成モードと、地形生成モードで生成された地形オブジェクトを用いてゲーム処理を実行するゲームモードのいずれかを設定する制御を行う。本実施形態ではゲーム処理部１０２は、地形生成モードが終了すると、ゲームモードを設定する。そしてゲーム処理部１０２は、ゲームモードを設定した状態において、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームイベントを発生させる処理、ゲーム条件を判定する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理など、種々のゲーム処理を行う。
【００５１】
マスク設定部１０４は、マスク記憶部１７５からマスク情報を読み出し、地形形状バッファ１７４に設定する。本実施形態ではマスク設定部１０４は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、複数のマスク情報から１つのマスク情報を選択して地形形状バッファ１７４に設定する。なお、マスク情報を設定しないようにし、地形形状バッファ１７４において地形形状情報を配置設定する範囲を規定しないようにしてもよい。
【００５２】
領域数設定部１０６は、最終的に生成される地形オブジェクトを構成する領域の数を設定する。本実施形態では、領域とは、例えば都市領域、村領域、森林領域、砂漠領域など、地形形状情報に設定される属性が共通する範囲とすることができる。本実施形態では領域数設定部１０６は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、１〜３０の領域数を設定する。なお、設定した複数の領域に同一の属性を有する領域が２つ以上設定されるようにしてもよい。
【００５３】
基準サイズ設定部１０８は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、地形形状バッファ１７４において最終的に生成される地形形状情報の目標サイズとなる基準サイズを、地形形状バッファ１７４の容量範囲内で設定する処理を行う。なお、地形形状バッファ１７４の容量は、基準サイズに応じて変更可能にしてもよい。
【００５４】
また基準サイズ設定部１０８は、複数の領域数が設定されている場合には、領域ごとに各領域の地形形状情報の基準サイズを設定する。またマスク情報が設定されている場合には、基準サイズとしてマスク情報のサイズを設定する。
【００５５】
地形形状生成部１１０は、テンプレート記憶部１７３からテンプレートを読み出し、地形形状バッファ１７４上にテンプレートを地形形状情報として設定する地形形状設定処理を繰返し行って、複数のテンプレートが種々の態様で合成された地形形状情報を生成する。特に複数の領域数が設定されている場合には、地形形状生成部１１０は、領域ごとに地形形状設定処理を行う。
【００５６】
詳細には地形形状生成部１１０は、地形形状設定処理として、基準サイズよりも小さいサイズの第１のテンプレートをテンプレート記憶部１７３に記憶された複数のテンプレートから選択する第１の選択処理と、地形形状バッファ１７４上の所与の位置に第１のテンプレートを地形形状情報として設定する配置設定処理と、地形形状バッファ１７４上に設定された地形形状情報のサイズと基準サイズとの差よりも小さいサイズの第２のテンプレートをテンプレート記憶部１７３に記憶された複数のテンプレートから選択する第２の選択処理と、地形形状バッファ１７４上で第２のテンプレートを地形形状情報が設定された位置に向けて複数の方向から移動させ、第２のテンプレートと地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての合成形状情報を評価する評価処理と、評価の結果に基づいて、１の方向についての合成形状情報を地形形状情報として更新する更新設定処理と、更新後の地形形状情報のサイズが基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行う。そして所与の条件が満たされるまで、第２の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返し、地形形状情報を生成する。
【００５７】
また地形形状生成部１１０は、評価処理において、各方向についての合成形状情報を、第２のテンプレートと地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。ここで「重複部分のサイズに応じて評価する」とは、重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価することのみならず、重複部分のサイズに応じて変化する合成形状情報のサイズや、合成前の地形形状情報と第２のテンプレートのサイズの和と合成後の合成形状情報との比など、重複部分のサイズに応じて変化する情報に基づいて各方向についての合成形状情報を評価することを含む。
【００５８】
また地形形状生成部１１０は、地形形状バッファ１７４にマスク情報が設定される場合には、配置設定処理において、マスク情報で規定される範囲内の所与の位置に第１のテンプレートを地形形状情報として設定し、評価処理において、各方向についての合成形状情報を、第２のテンプレートとマスク情報との非重複部分のサイズに応じて評価する。
【００５９】
第１の評価基準設定部１１２は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、評価処理における重複部分のサイズに応じた評価の基準となる第１の評価基準を設定する。例えば評価処理において、重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価する場合には、第１の評価基準として、重複部分のサイズや、重複部分のサイズと第２のテンプレートあるいは合成形状情報との比（割合）のしきい値や有効範囲などを設定する。また、合成形状情報のサイズに基づいて各方向についての合成形状情報を評価する場合には、第１の評価基準として、合成形状情報のサイズのしきい値や有効範囲などを設定する。また、合成前の地形形状情報と第２のテンプレートのサイズの和と合成後の合成形状情報との比に基づいて各方向についての合成形状情報を評価する場合には、第１の評価基準として、当該比のしきい値や有効範囲などを設定する。
【００６０】
第２の評価基準設定部１１４は、地形形状バッファ１７４にマスク情報が設定される場合に、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、評価処理における非重複部分のサイズに応じた評価の基準となる第２の評価基準サイズを設定する。例えば評価処理において、非重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価する場合には、第２の評価基準として、非重複部分のサイズのしきい値や有効範囲などを設定する。また非重複部分のサイズと第２のテンプレートあるいは合成形状情報のサイズとの比、あるいはマスク情報のサイズとの比などに基づいて各方向についての合成形状情報を評価する場合には、第２の評価基準として、当該比のしきい値や有効範囲などを設定する。
【００６１】
また地形形状生成部１１０は、地形形状バッファ１７４上において地形形状情報が設定されていない空間のうち、周囲が地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、隙間空間を地形形状情報として設定する補正設定処理と、を更に行う。なおこれら隙間空間判別処理と補正設定処理とは、地形形状バッファ１７４上で地形形状情報を更新するごとに行うようにしてもよいし、地形形状設定処理が終了してから行うようにしてもよい。また、複数の領域数が設定され、領域ごとに地形形状設定処理を行う場合には、各領域の地形形状設定処理が終了するごとに行うようにしてもよいし、全ての領域について地形形状設定処理が終了してから行うようにしてもよい。
【００６２】
地形オブジェクト生成部１１６は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、２次元の地形形状情報に高さ情報を設定し、３次元の形状情報である地形オブジェクトを生成する。具体的には地形オブジェクト生成部１１６は、地形形状バッファ１７４上に生成された２次元の地形形状情報を、地形オブジェクトバッファ１７６に設定し、地形オブジェクトバッファ１７６上で地形形状情報に高さ情報を設定する。また、複数の領域数が設定され、領域ごとに地形形状情報が生成されている場合には、領域に応じたアルゴリズムで高さ情報を設定するようにしてもよい。
【００６３】
位置決定部１１８は、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、地形オブジェクトに配置するオブジェクトの位置を決定する。
【００６４】
移動・動作処理部１２０は、モデル（プレーヤキャラクタ、ＡＩキャラクタ、車、電車又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６５】
オブジェクト空間設定部１２２は、プレーヤキャラクタ、ＡＩキャラクタ、移動体、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６６】
仮想カメラ制御部１２４は、オブジェクト空間内の所与（任意）の仮想カメラ（視点）から見える画像を生成するための仮想カメラの制御処理を行う。具体的には、操作部１６０によりプレーヤが入力した操作データや、プログラム（移動アルゴリズム）や、各種データ（移動データ）などに基づいて、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向を制御する処理）を行う。また、画角を制御するようにしてもよい。
【００６７】
例えば仮想カメラによりオブジェクト（例えば、プレーヤキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１２０で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。またオブジェクトの位置など関わらず、操作部１６０によりプレーヤが入力した操作データに基づいて、仮想カメラを制御してもよい。また仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６８】
３次元画像描画部１２６は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータ（モデルデータ）に含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７７（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６９】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００７０】
そして３次元画像描画部１２６は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７１】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部１７０に保存される。
【００７２】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７３】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が入力されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに入力されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７４】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００７５】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして出力できる。
【００７６】
音生成部１２８は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７７】
３．本実施形態の手法
本実施形態のゲームシステムＧＳは、ゲームモードが実行される前に地形形状設定処理として、テンプレート記憶部１７３に記憶された複数のテンプレートから複数のテンプレートを選択する選択処理と、選択した複数のテンプレートのうち少なくとも１つのテンプレートを地形形状バッファ１７４上で移動させ、少なくとも２つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、評価の結果に基づいて、合成形状情報を地形形状情報として設定する設定処理とを行うことにより、種々の形状の地形形状情報を生成する。そして、生成した２次元の地形形状情報に基づいて３次元の地形オブジェクトを生成し、これを用いてゲームモードを実行することにより、ゲームを行うごとに地形オブジェクトの形状を異ならせる手法を採用する。以下、本実施形態の手法の一例について詳細に説明する。
【００７８】
３−１．初期設定処理
本実施形態のゲームシステムＧＳは、ゲームモードが実行される前の地形生成モードにおいて、まず、地形形状設定処理における種々の条件設定を行う初期設定処理を行う。本実施形態では初期設定処理として、プレーヤがゲームをプレーする目安となる時間である予定ゲーム時間の選択をプレーヤから受け付け、選択された予定ゲーム時間に応じて、地形形状設定処理における種々の条件設定を行う。
【００７９】
図３は、プレーヤが選択可能な予定ゲーム時間と、各予定ゲーム時間が選択された場合に設定され得る複数の基準サイズと、複数の領域数との関係を規定したテーブルデータの例である。図３に示すように本実施形態では、プレーヤは予定ゲーム時間として、「１０分」、「２０分」、「３０分」・・・というように、１０分ごとにゲーム時間が異なる複数種類の予定ゲーム時間が用意されており、いずれか１つの予定ゲーム時間を、操作部ＣＴを用いて選択することができる。
【００８０】
そして予定ゲーム時間として「１０分」が選択された場合には、図３に示すように、サイズが互いに異なる基準サイズＡ〜Ｃから１つの基準サイズを、乱数を用いて抽選により選択する。この基準サイズとは、最終的に生成される地形形状情報の目標サイズとなるものである。同様に、領域数１個〜３個から１つの領域数を、乱数を用いて抽選により選択する。この領域数とは、最終的に生成される地形形状情報の分割数となるものである。そして、予定ゲーム時間、基準サイズ、領域数として、それぞれ選択された値を設定する。
【００８１】
ここで、予定ゲーム時間として「４０分」が選択された場合には、図３に示すように、基準サイズＪ〜Ｌから１つの基準サイズを選択するが、本実施形態では、基準サイズＪ〜Ｌは基準サイズＡ〜Ｃよりもサイズが大きいものとなっている。また、予定ゲーム時間として「４０分」が選択された場合には、「１０分」が選択された場合よりも、選択される領域数が大きい値となっている。すなわち本実施形態では、予定ゲーム時間が長くなるにつれて、選択され得る基準サイズの値が大きくなるとともに、選択され得る領域数も多くなるように、予定ゲーム時間と基準サイズと領域数とが対応付けられている。つまり本実施形態では、予定ゲーム時間が相対的に短い場合には相対的にサイズが小さい地形形状情報が生成され、予定ゲーム時間が相対的に長い場合には相対的にサイズが大きい地形形状情報が生成されるようになっている。
【００８２】
こうして、予定ゲーム時間に応じていずれかの基準サイズと領域数とが設定されると、本実施形態では、設定された基準サイズを設定された領域数で均等あるいは不均等に分割し、各領域の地形形状情報の目標サイズとなる各領域の基準サイズを設定する。更に本実施形態では、各領域について、都市、村、森林、草原、砂漠、山などの複数の属性から１つの属性を選択して、各領域の属性を設定する。
【００８３】
また本実施形態では、地形形状設定処理で行われる評価処理における、重複部分のサイズに応じた評価の基準となる第１の評価基準を設定する。本実施形態では第１の評価基準として、重複部分のサイズと第２のテンプレートのサイズとの比である重複率の有効範囲を設定する。具体的には本実施形態では、図４に示す複数の第１の評価基準である「基準イ」〜「基準ハ」のうちいずれかを設定する。
【００８４】
ここで例えば「基準イ」では、最も評価点が高い評価Ａの重複率が６％〜１０％、次に評価点が高い評価Ｂの重複率が１１％〜１５％、最も評価点が低い評価Ｃの重複率が１％〜５％となっている。すなわち「基準イ」によれば、ある程度重複率が高い場合に評価が最も高く、重複率が低い場合には評価が最も低くなる。そして他の「基準ロ」、「基準ハ」では、それぞれ評価が高い重複率の範囲が異なるように第１の評価基準が定められている。例えば本実施形態では、「基準ロ」では重複率が高いほど評価が高く、「基準ハ」では重複率が低いほど評価が高くなっている。
【００８５】
そして本実施形態では、各領域の基準サイズに応じて、領域ごとに第１の評価基準を設定する。例えば、１の領域の基準サイズが小さい場合には、少ないテンプレートを用いて当該領域の地形形状情報を生成するため、処理負荷、処理時間に余裕があることなどから、重複率が高いほど評価が高い「基準ロ」が選択されるように図３のテーブルデータを構成し、１の領域の基準サイズが大きい場合には、多くのテンプレートを用いて当該領域の地形形状情報を生成するため、処理負荷、処理時間に余裕が少ないことなどから、重複率が低いほど評価が高い「基準ハ」が選択されるようにしてもよい。
【００８６】
なお、図４に示す複数の第１の評価基準を、図３に示すテーブルデータにおいて、プレーヤが選択した予定プレー時間と対応付けるようにしてもよい。例えば、予定プレー時間が短い場合には、重複率が低いほど評価が高い「基準ハ」が選択されるように図３のテーブルデータを構成し、予定プレー時間が長い場合には、重複率が高いほど評価が高い「基準ロ」が選択されるように、テーブルデータを構成するようにしてもよい。
【００８７】
このように本実施形態では、初期設定処理において、操作部１６０からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、予定プレー時間、地形形状情報の全体の基準サイズ、領域数、各領域の基準サイズ、各領域の属性、第１の評価基準などの種々の条件を設定する。
【００８８】
３−２．地形形状設定処理
３−２−１．地形形状設定処理の概略
本実施形態のゲームシステムＧＳは、初期設定処理において種々の条件設定が行われると、設定された条件に従って地形形状設定処理を行う。本実施形態では地形形状設定処理において、地形形状バッファ１７４上にテンプレートを地形形状情報として設定する地形形状設定処理を領域ごとに行って地形形状情報を生成する。以下では、上述した初期設定処理で領域数が「３」と設定され、第１の領域から第３の領域までの各領域について地形形状設定処理を行う場合について説明する。
【００８９】
図５（Ａ）は、テンプレート記憶部１７３に記憶されているテンプレートＴＰの一例を示す図である。図５（Ａ）に示すようにテンプレート記憶部１７３には、サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートＴＰが記憶されている。図５（Ａ）では、各テンプレートＴＰの形状は滑らかな閉曲線により描かれているが、本実施形態では図５（Ｂ）に示すように、各テンプレートＴＰは、１ｍ×１ｍ（ｍはサイズを表現するための仮想的な単位）の正方形の形状情報（以下、セルＣＬという。）を最小単位としている。そして各テンプレートＴＰでは、複数のセルＣＬが各セルＣＬの１辺を他のセルＣＬと共有することにより種々の態様で連結し、種々の形状を形成している。
【００９０】
そして本実施形態では、図５（Ａ）に示すように、同一またはほぼ同一のサイズについて、形状が異なる複数のテンプレートＴＰを用意している。従って本実施形態では、地形形状情報として設定するテンプレートＴＰを基準サイズに応じて選択した場合であっても、その都度異なる形状のテンプレートＴＰを選択することができる。
【００９１】
図６（Ａ）は、テンプレートＴＰを設定する地形形状バッファ１７４の一例を示す図である。本実施形態では、地形形状バッファ１７４は、テンプレートＴＰを構成するセルＣＬを、縦に２００個、横に２００個の合計４００００個配置できるように構成されている。そして本実施形態では、図６（Ａ）に示すように、地形形状バッファ１７４上にテンプレートＴＰを地形形状情報ＭＦとして配置設定する。
【００９２】
３−２−２．第１の領域についての地形形状設定処理
そして本実施形態では、上述した初期設定処理で設定された領域数に対応する複数の領域のうち、第１の領域について地形形状設定処理を開始する。第１の領域についての地形形状設定処理では、まず、第１の領域の基準サイズの約８０％（本実施形態では７５％〜８５％の範囲内）のサイズのテンプレートＴＰを、第１の領域について最初に地形形状バッファ１７４上に配置する第１のテンプレートＴＰ１として、図５に示すテンプレート記憶部１７３の複数のテンプレートＴＰから選択する（第１の選択処理の一例）。そして、地形形状バッファ１７４上の位置と、選択したテンプレートＴＰ１の向きとをランダムに決定して、テンプレートＴＰ１を地形形状バッファ１７４上に配置して、第１の領域の地形形状情報ＭＦ１として設定する（配置設定処理の一例）。
【００９３】
すると本実施形態では、設定された地形形状情報ＭＦ１（第１のテンプレートＴＰ１）のサイズを第１の領域の基準サイズから減算し、第１の領域の基準サイズのうち、未だ地形形状情報ＭＦ１として設定されていないサイズである残存サイズを算出する。そして残存サイズの約８０％（第１の領域の基準サイズのおよそ１６％程度）のサイズのテンプレートＴＰを、第１の領域について２番目に地形形状バッファ１７４上に配置する第２のテンプレートＴＰ２として、図５に示すテンプレート記憶部１７３の複数のテンプレートＴＰから選択する（第２の選択処理の一例）。
【００９４】
すると本実施形態では、図６（Ｂ）に示すように、選択した第２のテンプレートＴＰ２を、４方向から地形形状情報ＭＦ１（第１のテンプレートＴＰ１）の重心に向けて移動させる。本実施形態では、地形形状バッファ１７４の外縁を構成する座標（セルＣＬ）群から４つの座標ＣＯ１〜ＣＯ４を、所与のアルゴリズムでまたはランダムに選択し、第２のテンプレートＴＰ２の重心が座標ＣＯ１〜ＣＯ４となる位置に第２のテンプレートＴＰ２を配置する。なお、第２のテンプレートＴＰ２を配置する向きも、所与のアルゴリズムでまたはランダムに決定される。そして、座標ＣＯ１〜ＣＯ４のそれぞれと地形形状情報ＭＦ１の重心とを結ぶ直線上を、第２のテンプレートＴＰ２の重心が通るように、第２のテンプレートＴＰ２を座標ＣＯ１〜ＣＯ４から地形形状情報ＭＦ１の重心に向けて移動させる。
【００９５】
ここで、第２のテンプレートＴＰ２を移動させる際に、第２のテンプレートＴＰ２の重心を１座標（１セル）ずつ移動させると、処理負荷、処理時間が大きくなってしまう。そこで本実施形態では、第２のテンプレートＴＰ２の重心が１０座標（１０セル）間隔で移動するように、第２のテンプレートＴＰ２を移動させるようにしている。
【００９６】
そして本実施形態では、４つの方向の各方向について、地形形状情報ＭＦ１と第２のテンプレートＴＰ２とが重なったか否かを監視し、図７に示すように、４つの方向の各方向について、地形形状情報ＭＦ１と第２のテンプレートＴＰ２とが最初に重なったときの、地形形状情報ＭＦ１と第２のテンプレートＴＰ２との合成形状情報ＳＹ１〜ＳＹ４を生成する。
【００９７】
そして本実施形態では、図７に示すように、４つの方向の各方向の合成形状情報ＳＹ１〜ＳＹ４について、地形形状情報ＭＦ１と第２のテンプレートＴＰ２との重複部分ＯＬのサイズと、第２のテンプレートＴＰ２のサイズとの比である重複率を算出する。そして、各方向の合成形状情報ＳＹ１〜ＳＹ４の重複率を図４に示す「基準イ」に則して評価する（評価処理の一例）。従って図７の例の場合には、重複率が８％となっている合成形状情報ＳＹ３が評価Ａとされ、最も評価点が高い合成形状情報ＳＹと評価される。
【００９８】
そして本実施形態では、図７における合成形状情報ＳＹ１〜ＳＹ４のうち最も評価点が高かった合成形状情報ＳＹ３を、図８（Ａ）に示すように、地形形状バッファ１７４上で第１の領域の地形形状情報ＭＦ１として更新する（更新設定処理の一例）。なお、同一クラスの評価となる合成形状情報ＳＹが複数存在する場合には、抽選によりいずれかの合成形状情報ＳＹを選択するようにしてもよいし、重複率が所定の基準値により近い方の合成形状情報ＳＹを選択するようにしてもよい。
【００９９】
ここで本実施形態では、評価処理において第１の評価基準として用いる基準を変更することにより、更新設定処理において更新される地形形状情報ＭＦ１の形状を変化させることができる。例えば、図７に示す各方向の合成形状情報ＳＹ１〜ＳＹ４の重複率を、図４に示す「基準ロ」に則して評価した場合には、重複率が１５％となっている合成形状情報ＳＹ２が評価Ａとされ、最も評価点が高い合成形状情報ＳＹと評価される。一方、「基準ハ」に則して評価した場合には、重複率が３％となっている合成形状情報ＳＹ１が評価Ａとされ、最も評価点が高い合成形状情報ＳＹと評価される。
【０１００】
また本実施形態では、図６（Ａ）で示した配置設定処理において地形形状バッファ１７４上に第１のテンプレートＴＰ１を配置する向きや、図６（Ｂ）で示した評価処理において第２のテンプレートＴＰ２を地形形状情報ＭＦ１に向けて移動させる際の、第２のテンプレートＴＰ２の向きや移動経路（出発点となる座標）、移動する間隔を変更することにより、各方向についての合成形状情報ＳＹ１〜ＳＹ４の形状を種々の態様のものとして生成することができる。従って本実施形態では、テンプレートＴＰの種類が少なくとも、種々の態様の合成形状情報ＳＹを生成し、種々の態様で複数の合成形状情報ＳＹを評価し、評価の結果に基づいて合成形状情報ＳＹを地形形状情報ＭＦ１として更新することにより、種々の形状の地形形状情報ＭＦ１を生成することができる。
【０１０１】
こうして図８（Ａ）に示すように地形形状情報ＭＦ１を更新すると、本実施形態では、更新後の地形形状情報ＭＦ１のサイズが第１の領域の基準サイズの９９％達したか否か（所与の条件の一例）を判定する（判定処理の一例）。そして９９％に達していない場合には、条件が満たされるまで、第１の領域について第２の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返す。
【０１０２】
図８（Ｂ）は、第１の領域についての２回目の第２の選択処理と、評価処理とを説明するための図である。２回目の第２の選択処理では、まず、図８（Ａ）に示す更新された地形形状情報ＭＦ１（合成形状情報ＳＹ３）のサイズを第１の領域の基準サイズから減算し、残存サイズを算出する。そして残存サイズの約８０％（第１の領域の基準サイズの３〜５％程度）のサイズのテンプレートＴＰを、第１の領域について３番目に地形形状バッファ１７４上に配置する第２のテンプレートＴＰ２として、テンプレート記憶部１７３の複数のテンプレートＴＰから選択する。すなわち図８（Ｂ）に示すように、第２のテンプレートＴＰ２は、第２の選択処理を繰り返すにつれて小さいサイズのものが選択されることになる。
【０１０３】
そして２回目の評価処理では、図８（Ｂ）に示すように、選択した第２のテンプレートＴＰ２を、４方向から地形形状情報ＭＦ１（合成形状情報ＳＹ３）の重心に向けて移動させる。本実施形態では、２回目の評価処理においても、第２のテンプレートＴＰ２を地形形状情報ＭＦ１に向けて移動させる際の、第２のテンプレートＴＰ２の向きや移動経路（出発点となる座標）を、所与のアルゴリズムでまたはランダムに決定する。そして４方向の各方向について、地形形状情報ＭＦ１と第２のテンプレートＴＰ２とが重なったか否かを監視し、図９に示すように、４方向の各方向について、地形形状情報ＭＦ１と第２のテンプレートＴＰ２とが最初に重なったときの地形形状情報ＭＦ１と第２のテンプレートＴＰ２との合成形状情報ＳＹ１〜ＳＹ４を生成する。そして、各方向の合成形状情報ＳＹ１〜ＳＹ４を、それぞれの重複率に基づいて評価する。
【０１０４】
そして２回目の評価処理の結果に基づいて、例えば図９に示す合成形状情報ＳＹ４が最も評価が高かった場合には、図１０に示すように、合成形状情報ＳＹ４を地形形状情報ＭＦ１として更新する２回目の更新設定処理を行い、かかる２回目の更新後の地形形状情報ＭＦ１について２回目の判定処理を行う。ここで、図１０に示す２回目の更新後の地形形状情報ＭＦ１のサイズが第１の領域の基準サイズの９９％に達しない場合には、３回目の第２の選択処理と、評価処理と、更新設定処理と、判定処理とを行い、第１の領域の基準サイズの９９％に達した場合には、第１の領域についての地形形状設定処理を終了する。
【０１０５】
こうして第１の領域についての地形形状設定処理を終了すると、本実施形態では、次の第２の領域について地形形状設定処理を行い、全ての領域について地形形状設定処理を行うまで、地形形状設定処理を繰り返す。
【０１０６】
３−２−３．第２の領域以降の領域についての地形形状設定処理
図１１（Ａ）、（Ｂ）は、第２の領域についての地形形状設定処理を説明するための図である。第２の領域についての地形形状設定処理では、まず、第２の領域についての第１の選択処理として、第２の領域の基準サイズの約８０％のサイズのテンプレートＴＰを、第２の領域についての第１のテンプレートＴＰ１として選択する。そして第２の領域についての配置設定処理として、図１１（Ａ）に示すように、地形形状バッファ１７４上の位置のうち、第１の領域の地形形状情報ＭＦ１に重ならない位置に、第２の領域についての第１のテンプレートＴＰ１を配置して、第２の領域の地形形状情報ＭＦ２として設定する。なお、第２の領域について配置される第１のテンプレートＴＰ１の位置と向きについても、第１の領域のときと同様にランダムに決定される。
【０１０７】
すると第２の領域についての第２の選択処理として、第２の領域の残存サイズを算出して第２の領域についての第２のテンプレートＴＰ２を選択する。そして、第２の領域についての評価処理として、図１１（Ｂ）に示すように、選択した第２のテンプレートＴＰ２を、４方向から第２の領域の地形形状情報ＭＦ２（第１のテンプレートＴＰ１）の重心に向けて移動させ、図１２に示すように、各方向について地形形状情報ＭＦ２と第２のテンプレートＴＰ２とが最初に重なったときの地形形状情報ＭＦ２と第２のテンプレートＴＰ２との合成形状情報ＳＹ１〜ＳＹ４を生成する。
【０１０８】
ここで第２の領域についての評価処理では、図１１（Ｂ）の中央部に示す第２のテンプレートＴＰ２のように、第２のテンプレートＴＰ２が第２の領域の地形形状情報ＭＦ２と最初に重なったときに、第１の領域の地形形状情報ＭＦ１とも重なっている場合がある。すなわち図１２に示す合成形状情報ＳＹ４のように、第１の領域の地形形状情報ＭＦ１との特殊重複部分ＳＯが存在する合成形状情報ＳＹが発生する場合がある。
【０１０９】
そこで第２の領域についての評価処理では、図１２に示す各方向の合成形状情報ＳＹ１〜ＳＹ４について、地形形状情報ＭＦ２と第２のテンプレートＴＰ２との重複部分ＯＬのサイズに加え、地形形状情報ＭＦ１と第２のテンプレートＴＰ２との重複部分ＯＳのサイズを算出し、重複部分ＯＬのサイズと重複部分ＯＳのサイズとの和（第２のテンプレートと各領域の地形形状情報との重複部分のサイズ）と、第２のテンプレートＴＰ２のサイズとの比である重複率を算出する。そして、各方向の合成形状情報ＳＹ１〜ＳＹ４の重複率を図４に示す「基準イ」に則して評価する（評価処理の一例）。従って図１２の例の場合には、重複率が１０％となっている合成形状情報ＳＹ４が評価Ａとされ、最も評価点が高い合成形状情報ＳＹと評価される。
【０１１０】
そして第２の領域の更新設定処理として、合成形状情報ＳＹ１〜ＳＹ４のうち最も評価点が高かった合成形状情報ＳＹ４を、図１３に示すように、地形形状バッファ１７４上で第２の領域の地形形状情報ＭＦ２として更新する。なお、第２の領域の地形形状情報ＭＦ２と第１の領域の地形形状情報ＭＦ１とが重複した特殊重複部分ＳＯに対応する部分については、本実施形態では、第２の領域の地形形状情報ＭＦ２として設定される。
【０１１１】
そして第２の領域の判定処理として、更新後の地形形状情報ＭＦ２のサイズが第２の領域の基準サイズの９９％に達したか否かを判定し、９９％に達していない場合には、第２の領域について条件が満たされるまで、第２の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返す。
【０１１２】
３−２−４．地形形状設定処理終了後の処理
図１４（Ａ）は、第３の領域についての地形形状設定処理が終了して、完成された地形形状情報ＭＦの一例を示す図である。図１４（Ａ）の例では、第１の領域の地形形状情報ＭＦ１と第２の領域の地形形状情報ＭＦ２とは連続した領域として形成されているが、第３の領域の地形形状情報ＭＦ３は、他の領域とは連続しない領域として形成されている。このように本実施形態では、各領域の地形形状情報ＭＦは、各領域についての地形形状設定処理における第１のテンプレートＴＰ１の配置位置や、合成形状情報ＳＹの態様などに応じて連続した領域になったり、独立した領域になったり、種々の態様で生成される。なお、地形形状バッファ１７４のうち地形形状情報ＭＦが設定されなかった空間については、例えば海領域としてプレーヤキャラクタＰＣが船に乗って進入することができる領域としてもよいし、プレーヤキャラクタＰＣが進入することができない領域としてもよい。
【０１１３】
また地形形状バッファ１７４のうち地形形状情報ＭＦが設定されなかった空間の中には、図１４（Ａ）に示すように、周囲が地形形状情報で囲まれた空間である隙間空間ＢＬが、合成形状情報ＳＹを生成する過程において発生している場合がある。ここで隙間空間ＢＬが、ある程度のサイズのものである場合には、隙間空間ＢＬを湖領域や池領域などとして設定することにより、最終的に生成される地形オブジェクトの一態様とすることができる。しかし、あまりに小さいサイズの隙間空間ＢＬが発生した場合には、プレーヤキャラクタＰＣの移動を妨げるものとしてプレーヤのストレスの原因になる場合があることから、本実施形態では、所定のサイズよりも小さいサイズの隙間空間ＢＬについては、これを判別し（隙間空間判別処理の一例）、かかる隙間空間ＢＬを地形形状情報として設定し、隙間空間ＢＬを埋める処理を行う（補正設定処理の一例）。
【０１１４】
こうして地形形状バッファ１７４上に全ての領域について地形形状情報ＭＦが生成され、補正設定処理が行われると、補正設定処理後の地形形状情報ＭＦを、図１４（Ｂ）に示すように、３次元の形状情報を格納する地形オブジェクトバッファ１７６に設定する。そして、各領域に応じて高さ情報を設定し、３次元の地形オブジェクトを生成する。そして、地形オブジェクトに配置する家オブジェクトや道オブジェクトや木オブジェクトなどの位置を決定する。
【０１１５】
このように本実施形態では、ゲームモードが実行される前の地形生成モードにおいて、プレーヤが選択した予定ゲーム時間に応じたサイズで、種々の形状の地形形状情報ＭＦを生成し、これに基づいて地形オブジェクトを生成することができる。そして本実施形態では、地形生成モードにおいて生成した地形オブジェクトを、ゲームモードにおいてオブジェクト空間に設定し、かかる地形オブジェクト上をプレーヤキャラクタＰＣが移動して種々のイベントを発生させるゲームを実行する。
【０１１６】
４．本実施形態の処理の流れ
続いて図１５のフローチャートを参照しながら本実施形態の制御手法を実現する処理の一例について説明する。図１５に示すように本実施形態のゲームシステムＧＳは、まず初期設定処理として、プレーヤから予定プレー時間の選択を受け付ける（ステップＳ１０）。すると予定プレー時間に応じた基準サイズを設定し（ステップＳ１２）、基準サイズに応じた領域数Ｋを設定する（ステップＳ１４）。そして、基準サイズを領域数Ｋで不均等に分割し、各領域の基準サイズを設定する（ステップＳ１６）。ここで、各領域の属性も設定する。
【０１１７】
こうして初期設定処理が終了すると、地形形状設定処理を行う領域の番号としてＮに１を代入する（ステップＳ１８）。そして第１の領域について残存サイズを算出する（ステップＳ２０）。ここでは、未だ地形形状バッファ１７４上に地形形状情報を設定していないので、残存サイズは第１の領域の基準サイズとなる。そして、残存サイズの約８０％のテンプレートＴＰを選択する（ステップＳ２２）。そしてこれが第１の領域について最初に選択された第１のテンプレートＴＰ１である場合には（ステップＳ２４でＹ）、第１のテンプレートＴＰ１を地形形状バッファ１７４上に地形形状情報として配置する（ステップＳ２６）。
【０１１８】
すると、ステップＳ２０に戻り、第１の領域について残存サイズを算出し（ステップＳ２０）、残存サイズの約８０％のテンプレートＴＰを選択する（ステップＳ２２）。すると、ここで選択されたテンプレートＴＰは第２のテンプレートＴＰ２であるので（ステップＳ２４でＮ）、地形形状バッファ１７４上で第２のテンプレートＴＰ２を各方向から地形形状情報の重心に向けて移動させ（ステップＳ２８）、第２のテンプレートＴＰ２と地形形状情報とが重なったときの合成形状情報ＳＹを各方向について生成する（ステップＳ３０）。
【０１１９】
そして、各方向についての合成形状情報ＳＹを評価し（ステップＳ３２）、評価結果に基づいて１の方向についての合成形状情報ＳＹを新たな地形形状情報として更新する（ステップＳ３４）。そして、更新後の地形形状情報のサイズが基準サイズの９９％を超えたか否かを判定する（ステップＳ３６）。
【０１２０】
ここで地形形状情報のサイズが条件を満たさない場合には（ステップＳ３６でＮ）、ステップＳ２０に戻り、ステップＳ２０からステップＳ３６までの処理を繰り返す。一方、地形形状情報のサイズが条件を満たす場合には（ステップＳ３６でＹ）、第１の領域について地形形状情報を確定させる（ステップＳ３８）。そして地形形状設定処理を行った領域の番号Ｎが領域数Ｋとなったか、すなわち全ての領域について地形形状設定処理を行ったか判定する（ステップＳ４０）。
【０１２１】
ここでＮ＝Ｋとならない場合には（ステップＳ４０でＮ）、領域の番号Ｎを１つインクリメントし（ステップＳ４２）、ステップＳ２０に戻り、第２の領域について、ステップＳ２０からステップＳ３６までの処理を繰り返す。一方、Ｎ＝Ｋとなった場合には（ステップＳ４０でＹ）、地形形状設定処理を終了させる。
【０１２２】
５．マスク情報を用いる場合
次に、地形形状バッファ１７４上で地形形状情報を設定する範囲を規定するマスク情報を用いて地形形状設定処理を行う例について説明する。基本的な処理は上述したマスク情報を用いないと同様であるので、以下ではマスク情報を用いる場合に特徴的な部分について説明する。
【０１２３】
マスク情報を用いる場合には、本実施形態では、上述した初期設定処理において、地形形状バッファ１７４上で地形形状情報を設定する範囲を規定するマスク情報を、地形形状バッファ１７４に設定する。そして、地形形状情報全体の基準サイズとしてマスク情報のサイズを設定する。これにより本実施形態では、種々の形状の地形形状情報を、マスク情報に応じた形状のものとして生成することができる。
【０１２４】
詳細には本実施形態では、初期設定処理において、図１６に示すように、プレーヤが選択可能な予定ゲーム時間と、各予定ゲーム時間が選択された場合に設定され得る複数のマスク情報と、複数の領域数との関係を規定したテーブルデータを用いて各種条件の設定を行う。図１６の例では、予定ゲーム時間として「４０分」が選択された場合には、マスク情報Ｊ〜Ｌから１つのマスク情報を選択するが、マスク情報Ｊ〜Ｌは、予定ゲーム時間として「１０分」が選択された場合に選択されるマスク情報Ａ〜Ｃよりもサイズが大きいマスク情報となっている。すなわちマスク情報を用いる場合であっても、本実施形態では、予定ゲーム時間が長くなるにつれて、選択され得るマスク情報のサイズが大きくなるとともに、選択され得る領域数も大きくなるように、予定ゲーム時間とマスク情報と領域数とが対応付けられている。そして本実施形態では、設定されたマスク情報のサイズを設定された領域数で均等あるいは不均等に分割し、各領域の地形形状情報の目標サイズとなる各領域の基準サイズを設定する。
【０１２５】
図１７（Ａ）、（Ｂ）は、楕円形状のマスク情報ＭＳを地形形状バッファ１７４に設定した例を示す図である。図１７（Ａ）に示すように、本実施形態では、マスク情報ＭＳを用いた場合には配置設定処理において、地形形状バッファ１７４上の位置のうち、マスク情報ＭＳの範囲内に第１のテンプレートＴＰ１を配置して地形形状情報ＭＦとして設定する。なお、マスク情報ＭＳの位置と向きとはランダムに決定される。
【０１２６】
そして評価処理として、図１７（Ｂ）に示すように、選択した第２のテンプレートＴＰ２を、４方向から地形形状情報ＭＦ（第１のテンプレートＴＰ１）の重心に向けて移動させるが、第２のテンプレートＴＰ２が地形形状情報ＭＦと最初に重なったときに、第２のテンプレートＴＰ２がマスク情報ＭＳと重なっていない部分を含む場合がある。すなわち図１８に示す合成形状情報ＳＹ１、ＳＹ３のように、マスク情報との非重複部分ＮＯが存在する合成形状情報ＳＹが発生する場合がある。
【０１２７】
そこで本実施形態の評価処理では、図１８に示すように、各方向についての合成形状情報ＳＹ１〜ＳＹ４を、第２のテンプレートＴＰ２とマスク情報ＭＳとの非重複部分ＮＯのサイズに応じて評価する。詳細には本実施形態では、第２のテンプレートＴＰ２と地形形状情報ＭＦとの重複部分ＯＬのサイズと、第２のテンプレートＴＰ２のサイズとの比である重複率を算出するとともに、第２のテンプレートＴＰ２とマスク情報ＭＳとの非重複部分ＮＯのサイズと、第２のテンプレートＴＰ２のサイズとの比である非重複率を算出する。そして、各方向についての合成形状情報ＳＹを、重複率と非重複率とに基づいて評価する。
【０１２８】
ここで本実施形態ではマスク情報ＭＳを用いる場合には、上述した初期設定処理において、非重複部分ＮＯのサイズに応じた評価の基準となる第２の評価基準を設定しており、この第２の評価基準では、非重複率については低ければ低いほど評価が高くなる。例えば、最も評価点が高い評価Ａの非重複率が０％〜５％、次に評価点が高い評価Ｂの重複率が６％〜１０％、最も評価点が低い評価Ｃの重複率が１１％〜１５％となっている。そして本実施形態では、重複率についての第１の評価基準に則した評価結果と、非重複率についての第２の評価基準に則した評価結果の双方を加味して、各方向の合成形状情報ＳＹ１〜ＳＹ４を評価する。
【０１２９】
ここで本実施形態では、非重複率が１６％以上である合成形状情報ＳＹについては評価点をつけず、たとえ重複率についての評価がよい場合であっても、非重複率が１６％以上である合成形状情報ＳＹを地形形状情報ＭＦとして更新しないようにしている。これにより本実施形態によれば、マスク情報ＭＳからはみ出る部分が所定サイズ以上ある合成形状情報ＳＹは採用されないので、領域ごとに種々の形状に形成される地形形状情報ＭＦを、マスク情報ＭＳに応じた形状のものとして生成することができる。
【０１３０】
なお、マスク情報ＭＳからはみ出た地形形状情報ＭＦについては切り取るようにしてもよい。この場合には、種々の形状に形成される地形形状情報ＭＦを、マスク情報ＭＳにより近い形状のものとして生成することができる。
【０１３１】
６．ハードウェア構成
図１９に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＤＶＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１３２】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１３３】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、テクスチャマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１３４】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１３５】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１３６】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１３７】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１３８】
７．変形例
上記実施形態で説明した手法は、一例を示したに過ぎず、上記実施形態の手法と同様の効果を奏する均等な手法を採用した場合においても本発明の範囲に含めることができる。また本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。そして上記実施形態と、変形例として後述する各種の手法は、本発明を実現する手法として適宜組み合わせて採用することができる。
【０１３９】
例えば上述した実施形態では、プレーヤが選択した予定プレー時間に応じて初期設定処理における条件設定を変更する例を挙げて説明したが、プレーヤがプレーしたゲーム回数をカウントし、カウント値に応じて初期設定処理における条件設定を変更するようにしてもよい。この場合には例えば、ゲーム回数が多くなるにつれ、設定される基準サイズや領域数の値が大きくなるようにしてもよい。
【０１４０】
また、前回のゲームを行ってから今回のゲームを行うまでの時間に応じて初期設定処理における条件設定を変更するようにしてもよい。この場合には例えば、前回のゲームを開始した時刻、または前回のゲームを終了した時刻を記憶しておき、今回のゲームを開始した時刻に基づいて今回のゲームを行うまでの時間を算出してもよいし、前回のゲームを開始したとき、または前回のゲームを終了したときから今回のゲームを行うまでの経過時間をカウントするようにしてもよい。
【０１４１】
また、プレーヤキャラクタの経験値、所持金、持ち物、イベントの発生履歴など、ゲームの進行状況に応じて変化する種々のパラメータに応じて初期設定処理における条件設定を変更するようにしてもよい。また、プレーヤが選択した予定プレー時間、ゲーム回数、今回のゲームを行うまでの時間、ゲームの進行状況に応じて変化する種々のパラメータの任意の組合せに応じて初期設定処理における条件設定を変更するようにしてもよい。
【０１４２】
また上述した実施形態では、第２のテンプレートＴＰ２を地形形状情報ＭＦ１（第１のテンプレートＴＰ１）の重心に向けて移動させる際の出発点を、地形形状バッファ１７４の外縁を構成する座標群のいずれかに設定する例を挙げて説明したが、第２のテンプレートＴＰ２の出発点は、地形形状バッファ１７４のサイズ、最終的に生成される地形形状情報の目標サイズとなる基準サイズ、領域数、第１のテンプレートＴＰ１のサイズ、第２のテンプレートＴＰ２のサイズに応じて変化させるようにしてもよい。例えば、地形形状バッファ１７４のサイズが大きい場合には、地形形状バッファ１７４の外縁よりも内側の座標群のいずれかに設定するようにしてもよい。
【０１４３】
また上述した実施形態では、地形形状情報ＭＦとテンプレートＴＰとの重複率として、重複部分ＯＬのサイズと第２のテンプレートＴＰ２のサイズとの比を用いる例を挙げて説明したが、重複率としては、重複部分ＯＬのサイズと地形形状情報ＭＦのサイズとの比や、重複部分ＯＬのサイズと合成形状情報ＳＹのサイズとの比など、種々のものを採用することができる。同様に、マスク情報ＭＳとテンプレートＴＰとの非重複率として、非重複部分ＮＯのサイズと第２のテンプレートＴＰ２との比のみならず、非重複部分ＮＯのサイズと地形形状情報ＭＦのサイズとの比や、非重複部分ＮＯのサイズと合成形状情報ＳＹのサイズとの比など、種々のものを採用することができる。
【０１４４】
また上述した実施形態では、１回の第２の選択処理において、１つの第２のテンプレートＴＰ２をテンプレート記憶部１７３に記憶された複数のテンプレートから選択し、評価処理において、１つの第２のテンプレートＴＰ２に関する各方向についての合成形状情報ＳＹを評価する例を挙げて説明したが、１回の第２の選択処理において、２以上の第２のテンプレートＴＰ２を選択するようにしてもよい。この場合には評価処理において、地形形状バッファ１７４上で２つ以上の第２のテンプレートＴＰ２をそれぞれ地形形状情報ＭＦが設定された位置に向けて複数の方向から移動させ、各第２のテンプレートＴＰ２に関して、第２のテンプレートＴＰ２と地形形状情報ＭＦとが重なったときの合成形状情報ＳＹを各方向について生成する。そして、各第２のテンプレートＴＰ２に関して、各方向についての合成形状情報ＳＹを評価する。そして、更新設定処理において、各第２のテンプレートＴＰ２に関する合成形状情報ＳＹの評価の結果に基づいて、各第２のテンプレートＴＰ２に関して最も評価が高い１の方向についての合成形状情報ＳＹを選択する。そして、各第２のテンプレートＴＰ２に関して最も評価が高い合成形状情報ＳＹから１の合成形状情報ＳＹを選択し、地形形状情報ＭＦとして更新するようにしてもよい。
【０１４５】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１４６】
【図１】本実施形態の外観の一例を示す図。
【図２】本実施形態の機能ブロック図。
【図３】本実施形態のデータテーブルの一例を示す図。
【図４】本実施形態のデータテーブルの一例を示す図。
【図５】本実施形態のテンプレートの一例を示す図。
【図６】本実施形態手法を説明するための図。
【図７】本実施形態手法を説明するための図。
【図８】本実施形態手法を説明するための図。
【図９】本実施形態手法を説明するための図。
【図１０】本実施形態手法を説明するための図。
【図１１】本実施形態手法を説明するための図。
【図１２】本実施形態手法を説明するための図。
【図１３】本実施形態手法を説明するための図。
【図１４】本実施形態手法を説明するための図。
【図１５】本実施形態の処理の流れの一例を示すフローチャート図。
【図１６】本実施形態のデータテーブルの一例を示す図。
【図１７】本実施形態手法を説明するための図。
【図１８】本実施形態手法を説明するための図。
【図１９】本実施形態のハードウェア構成の一例を示す図。
【符号の説明】
【０１４７】
ＧＳ  ゲームシステム、ＣＴ  操作部、ＰＳ  本体装置、ＭＮ  モニタ、
ＧＬ  左グリップ、ＧＲ  右グリップ、ＤＫ  方向キー、
ＡＳＬ  左アナログスティック、ＡＳＬ  右アナログスティック、ＢＴ  ボタン、
Ｌ１  Ｌ１ボタン、Ｌ２  Ｌ２ボタン、Ｒ１  Ｒ１ボタン、Ｒ２  Ｒ２ボタン、
ＴＰテンプレート、ＣＬ  セル、ＭＦ  地形形状情報、ＣＯ  座標、ＯＬ  重複部分、
ＳＹ  合成形状情報、ＳＯ  特殊重複部分、ＢＬ  隙間空間、ＭＳ  マスク情報、
１００  処理部、１０２  ゲーム処理部、１０４  マスク設定部、
１０６  領域数設定部、１０８  基準サイズ設定部、１１０  地形形状生成部、
１１２  第１の評価基準設定部、１１４  第２の評価基準設定部、
１１６  地形オブジェクト生成部、１１８  位置決定部、１２０  移動・動作処理部、
１２２  オブジェクト空間設定部、１２４  仮想カメラ制御部、
１２６  ３次元画像描画部、１２８  音生成部、１７０  記憶部、１７２  主記憶部、
１７３  テンプレート記憶部、１７４  地形形状バッファ、１７５  マスク記憶部、
１７６  地形オブジェクトバッファ、１７７  描画バッファ
【図１】
2009129167.tif 000003
【図２】
2009129167.tif 000004
【図３】
2009129167.tif 000005
【図４】
2009129167.tif 000006
【図５】
2009129167.tif 000007
【図６】
2009129167.tif 000008
【図７】
2009129167.tif 000009
【図８】
2009129167.tif 000010
【図９】
2009129167.tif 000011
【図１０】
2009129167.tif 000012
【図１１】
2009129167.tif 000013
【図１２】
2009129167.tif 000014
【図１３】
2009129167.tif 000015
【図１４】
2009129167.tif 000016
【図１５】
2009129167.tif 000017
【図１６】
2009129167.tif 000018
【図１７】
2009129167.tif 000019
【図１８】
2009129167.tif 000020
【図１９】
2009129167.tif 000021