説明

プログラム、情報記憶媒体、及び画像生成システム

【課題】種々の地形オブジェクトを生成しつつ、生成される地形オブジェクトのサイズや形状を制御することができるプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】複数のテンプレートTPのうち少なくとも1つのテンプレートTPを地形形状バッファ174上で移動させ、少なくとも2つのテンプレートTPが重なったときの合成形状情報SYを生成し、生成した合成形状情報SYを評価する評価処理と、評価の結果に基づいて、合成形状情報SYを地形形状情報MFとして設定する設定処理とを行うことにより、種々の形状の地形形状情報MFを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【0002】
従来より、ロールプレイングゲームなどのように、オブジェクト空間に設定された地形オブジェクト(フィールドマップ)上をプレーヤキャラクタが移動する画像を生成しつつ、種々のイベントを発生させるゲームを実行する画像生成システム(ゲームシステム)が知られている。このような画像生成システムでは、地形オブジェクトの形状に応じてゲームの内容が変化するため、ゲームを実行するごとに地形オブジェクトの形状を生成するものが存在する。このような画像生成システムとしては、例えば特開2001−96059号公報に開示される従来技術がある。
【特許文献1】特開2001−96059号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし従来の画像生成システムでは、ランダムに地形オブジェクトの形状を生成していたため、ゲームを実行するごとに異なる地形オブジェクトを生成することができるものの、生成される地形オブジェクトのサイズや形状を制御することができないという問題があった。
【0004】
本発明は、以上のような課題に鑑みてなされたものであり、その目的は、種々の地形オブジェクトを生成しつつ、生成される地形オブジェクトのサイズや形状を制御することができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明は、
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の2次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも1つのテンプレートを所与の2次元空間上で移動させ、少なくとも2つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0006】
本発明において、形状情報の「サイズ」とは、例えば、形状情報を構成する最小単位(形状情報を画像として構成した場合のピクセルなど)の数や、面積など、種々の情報量によって規定することができる。また形状情報の「形状」とは、例えば、形状情報を構成する座標値の集合や、形状情報を構成する座標値のうち外縁を構成する座標値の集合などによって規定することができる。
【0007】
本発明によれば、いかなるテンプレートを選択するか、選択したテンプレートをいかなる態様で移動させ、いかなる合成形状情報を生成するかに応じて、地形形状情報を種々の形状で生成することができる。そして本発明によれば、種々の形状の地形形状情報を、基準サイズに応じたサイズのものとして生成することができる。
【0008】
(2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの第1のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第1の選択処理と、
前記所与の2次元空間上の所与の位置に前記第1のテンプレートを前記地形形状情報として設定する配置設定処理と、
前記所与の2次元空間上に設定された前記地形形状情報のサイズと前記基準サイズとの差よりも小さいサイズの第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第2の選択処理と、
前記所与の2次元空間上で前記第2のテンプレートを前記地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、1の方向についての前記合成形状情報を前記地形形状情報として更新する更新設定処理と、
更新後の前記地形形状情報のサイズが前記基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記所与の条件が満たされるまで、前記第2の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返すようにしてもよい。
【0009】
本発明によれば、第1のテンプレートとしていかなるテンプレートを選択するか、選択した第1のテンプレートをいかなる位置に設定するか、第2のテンプレートとしていかなるテンプレートを選択するかに応じて、地形形状情報を種々の形状で生成することができる。そして本発明によれば、種々の形状の地形形状情報を、基準サイズに応じたサイズのものとして生成することができる。
【0010】
(3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。
【0011】
本発明によれば、重複部分のサイズに応じて合成形状情報を評価することにより、生成される地形形状情報における各テンプレートの重なり度合いを制御することができる。
【0012】
(4)また本発明は、
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形を構成する領域の数を設定する領域数設定部と、
前記領域ごとに各領域の前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の2次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を前記領域ごとに行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
1の領域について前記基準サイズよりも小さいサイズの第1のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第1の選択処理と、
前記所与の2次元空間上の所与の位置に前記第1のテンプレートを前記1の領域の地形形状情報として設定する配置設定処理と、
前記所与の2次元空間上に設定された前記1の領域の地形形状情報のサイズと当該1の領域の基準サイズとの差よりも小さいサイズの第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第2の選択処理と、
前記所与の2次元空間上で前記第2のテンプレートを前記1の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記1の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、1の方向についての前記合成形状情報を前記1の領域の地形形状情報として更新する更新設定処理と、
更新後の前記1の領域の地形形状情報のサイズが当該1の領域の基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記1の領域について前記所与の条件が満たされるまで、前記第2の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返し、
前記地形形状生成部が、
前記1の領域について前記所与の条件が満たされると、次の1の領域について前記地形形状設定処理を行い、全ての領域について前記地形形状設定処理を行うまで、前記地形形状設定処理を繰り返すことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。
【0013】
本発明において、「領域」とは、例えば都市領域、村領域、森林領域、砂漠領域など、地形形状情報に設定される属性が共通する範囲とすることができる。
【0014】
本発明によれば、領域ごとに種々の形状の地形形状情報を、領域ごとの基準サイズに応じたサイズのものとして生成することができる。
【0015】
(5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記1の領域についての前記地形形状設定処理では、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記1の領域の地形形状情報との重複部分のサイズに応じて評価し、
前記次の1の領域についての前記地形形状設定処理では、
前記評価処理において、
前記所与の2次元空間上で前記第2のテンプレートを前記次の1の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記次の1の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を、前記第2のテンプレートと前記各領域の地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。
【0016】
本発明によれば、第2のテンプレートと各領域の地形形状情報との重複部分のサイズに応じて合成形状情報を評価することにより、1の領域の地形形状情報における各テンプレートの重なり度合いのみならず、既に設定されている他の領域の地形形状情報との重なり度合いをも制御することができる。
【0017】
(6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記評価処理における前記重複部分のサイズに応じた評価の基準となる第1の評価基準を設定する第1の評価基準設定部を更に含むようにしてもよい。
【0018】
本発明によれば、第1の評価基準を種々の態様に制御することにより、地形形状情報として設定される合成形状情報の形状や、基準サイズの地形形状情報を得るために必要なテンプレートの数や、所与の2次元空間上でテンプレート間に発生する隙間空間の量などを制御することができる。そして本発明によれば、テンプレートの種類が少なくても、第1の評価基準を変化させることにより、地形形状情報を種々の形状で生成することができる。
【0019】
(7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記第2の選択処理において、
複数の前記第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択し、
前記評価処理において、
前記所与の2次元空間上で複数の前記第2のテンプレートをそれぞれ前記地形形状情報が設定された位置に向けて複数の方向から移動させ、複数の前記第2のテンプレートに関して前記第2のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、複数の前記第2のテンプレートに関して各方向についての前記合成形状情報を評価し、
前記更新設定処理において、
前記評価の結果に基づいて、複数の前記第2のテンプレートに関する前記合成形状情報から複数の前記合成形状情報を選択し、複数の前記合成形状情報から1の前記第2のテンプレートに関する1の方向についての前記合成形状情報を更に選択し、前記地形形状情報として更新するようにしてもよい。
【0020】
本発明によれば、複数の第2のテンプレートに関してそれぞれ評価の結果に基づいて合成形状情報を選択し、各第2のテンプレートに関する合成形状情報から更に1つの合成形状情報を選択することにより、いずれの合成形状情報を地形形状情報として設定するかに応じて、地形形状情報を種々の形状で生成することができる。
【0021】
(8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記所与の2次元空間上において前記地形形状情報を設定する範囲を規定するマスク情報を設定するマスク設定部を更に含み、
前記基準サイズ設定部が、
前記基準サイズとして前記マスク情報のサイズを設定し、
前記地形形状生成部が、
前記配置設定処理において、
前記マスク情報で規定される範囲内の所与の位置に前記第1のテンプレートを前記地形形状情報として設定し、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記マスク情報との非重複部分のサイズに応じて評価するようにしてもよい。
【0022】
本発明によれば、種々の形状の地形形状情報を、マスク情報に応じた形状のものとして生成することができる。
【0023】
(9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記評価処理における前記非重複部分のサイズに応じた評価の基準となる第2の評価基準サイズを設定する第2の評価基準設定部を更に含むようにしてもよい。
【0024】
本発明によれば、第2の評価基準を種々の態様に制御することにより、地形形状情報として設定される合成形状情報の形状や、基準サイズの地形形状情報を得るために必要なテンプレートの数や、所与の2次元空間上でテンプレート間に発生する隙間空間の量を制御することができる。そして本発明によれば、テンプレートの種類が少なくても、第2の評価基準を変化させることにより、地形形状情報を種々の形状で生成することができる。
【0025】
(10)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記地形形状生成部が、
前記所与の2次元空間上において前記地形形状情報が設定されていない空間のうち、周囲が前記地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、
前記隙間空間を前記地形形状情報として設定する補正設定処理と、
を更に行うようにしてもよい。
【0026】
本発明によれば、隙間空間を地形形状情報として設定することにより、テンプレートを組合せることにより発生する不自然な隙間を埋めることができる。
【0027】
(11)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
生成された前記地形形状情報に高さ情報を設定し、地形オブジェクトを生成する地形オブジェクト生成部と、
前記地形オブジェクトに配置するオブジェクトの位置を決定する位置決定部と、
オブジェクト空間に前記地形オブジェクトを含むオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクト空間を仮想カメラから見た画像を描画する描画部とを更に含むようにしてもよい。
【0028】
本発明によれば、生成された前記地形形状情報に基づいて地形オブジェクトを生成し、かかる地形オブジェクトが設定されたオブジェクト空間を仮想カメラから見た画像を描画することができる。
【発明を実施するための最良の形態】
【0029】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0030】
1.システム全体の概略
図1は、本実施形態の画像生成システムを適用したゲームシステムの一例を示す外観図である。本実施形態のゲームシステムGSは、プレーヤが操作情報を入力する操作部CTと、操作部CTからの操作情報に基づいてゲーム画像を生成する本体装置PSと、本体装置PSで生成したゲーム画像を表示させるモニタMNとを含む。
【0031】
操作部CTは、図1に示すようにプレーヤが左手で握る左グリップGLと、右手で握る右グリップGRとが設けられている。そして図中正面左部に、左グリップGLを左手で握ったプレーヤが左手の親指で操作することができる方向キーDKと、左アナログスティックASLとが設けられている。この方向キーDKは、方向キーDKを押下した位置に応じて異なる信号を入力することができるように構成され、左アナログスティックASLは、左アナログスティックASLを傾倒させた角度と方向に応じて異なる信号を入力することができるように構成されている。また図中正面右部に、右グリップGRを右手で握ったプレーヤが右手の親指で操作することができる右アナログスティックASLと、4つのボタンBTとが設けられている。この右アナログスティックASLは左アナログスティックASLと同様の構成とされ、4つのボタンBTは、押下したボタンに応じて異なる信号を入力することができるように構成されている。
【0032】
また操作部CTは、図中上面左部に、プレーヤが左手の人差し指で操作することができるL1ボタンL1と、中指で操作することができるL2ボタンL2とが設けられており、図中上面右部に、プレーヤが右手の人差し指で操作することができるR1ボタンR1と、中指で操作することができるR2ボタンR2とが設けられている。これらL1ボタンL1〜R2ボタンR2は、押下したボタンに応じて異なる信号を入力することができるように構成されている。
【0033】
本体装置PSは、操作部CTからの操作情報やプログラムに基づいてゲーム画像を生成するなど種々のゲーム演算を実行する。特に本実施形態の本体装置PSは、操作部CTからの操作情報に応じてプレーヤキャラクタPCなどがオブジェクト空間に設定された地形オブジェクトMP上をリアルタイムに移動・動作する3次元画像をゲーム画像として生成し、モニタMNに表示させる。
【0034】
2.ゲームシステムの機能ブロック
図2に本実施形態のゲームシステム(画像生成システム)の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図2の構成要素(各部)の一部を省略した構成としてもよい。
【0035】
操作部160は、プレーヤがプレーヤキャラクタ(移動体、プレーヤオブジェクト、ゲームキャラクタを含む)の操作情報を入力するためのものであり、その機能は、アナログスティック、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、カメラ、加速度センサ、角速度センサ或いは筺体などにより実現できる。
【0036】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMやVRAMなどにより実現できる。特に、本実施形態の記憶部170は、主記憶部172、テンプレート記憶部173、地形形状バッファ174(所与の2次元空間の一例)、マスク記憶部175、地形オブジェクトバッファ176、描画バッファ177を有している。
【0037】
主記憶部172は、本実施形態の各種処理を行う際のワーク領域となる。
【0038】
テンプレート記憶部173は、3次元のオブジェクト空間に設定される地形オブジェクトの2次元形状情報である地形形状情報を生成するためのテンプレートを格納する。本実施形態ではテンプレート記憶部173は、サイズおよび形状の少なくとも一方が異なる複数の2次元形状情報によって構成される複数のテンプレートを格納する。
【0039】
地形形状バッファ174は、2次元の形状情報を格納する2次元空間として構成されており、本実施形態に特徴的な処理に応じて複数のテンプレートが配置設定されることにより、種々の形状、サイズの地形形状情報が設定される。
【0040】
マスク記憶部175は、地形形状バッファ174において地形形状情報を配置設定する範囲を規定するマスク情報を格納する。本実施形態ではマスク記憶部175は、サイズおよび形状の少なくとも一方が異なる複数の2次元形状情報によって構成される複数のマスク情報を格納する。
【0041】
地形オブジェクトバッファ176は、3次元の形状情報を格納する3次元空間として構成されており、地形形状バッファ174に設定された2次元の地形形状情報に基づいて、3次元の地形オブジェクトが設定される。
【0042】
描画バッファ177は、透視変換されたオブジェクト空間の画像を構成するピクセルの最終的な描画色が設定される。
【0043】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを入力するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカードなどにより実現できる。処理部100は、情報記憶媒体180に入力されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)や種々のデータが記憶される。
【0044】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0045】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0046】
通信部196は外部(例えば、サーバや他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0047】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)を、ネットワークを介してサーバからダウンロードし、情報記憶媒体180に記憶するようにしてもよい。このようなサーバに入力されているプログラムの出力も本発明の範囲内に含めることができる。
【0048】
処理部100(プロセッサ)は、操作部160からの操作情報(操作データ)やプログラムなどに基づいて、ゲーム処理、画像生成処理、地形オブジェクト生成処理などの処理を行う。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0049】
そして処理部100は、ゲーム処理部102、マスク設定部104、領域数設定部106、基準サイズ設定部108、地形形状生成部110、第1の評価基準設定部112、第2の評価基準設定部114、地形オブジェクト生成部116、位置決定部118、移動・動作処理部120、オブジェクト空間設定部122、仮想カメラ制御部124、3次元画像描画部126、音生成部128を含む。なおこれらの一部を省略する構成としてもよい。
【0050】
ゲーム処理部102は、オブジェクト空間に設定される地形オブジェクトを生成する地形生成モードと、地形生成モードで生成された地形オブジェクトを用いてゲーム処理を実行するゲームモードのいずれかを設定する制御を行う。本実施形態ではゲーム処理部102は、地形生成モードが終了すると、ゲームモードを設定する。そしてゲーム処理部102は、ゲームモードを設定した状態において、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲームイベントを発生させる処理、ゲーム条件を判定する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理など、種々のゲーム処理を行う。
【0051】
マスク設定部104は、マスク記憶部175からマスク情報を読み出し、地形形状バッファ174に設定する。本実施形態ではマスク設定部104は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、複数のマスク情報から1つのマスク情報を選択して地形形状バッファ174に設定する。なお、マスク情報を設定しないようにし、地形形状バッファ174において地形形状情報を配置設定する範囲を規定しないようにしてもよい。
【0052】
領域数設定部106は、最終的に生成される地形オブジェクトを構成する領域の数を設定する。本実施形態では、領域とは、例えば都市領域、村領域、森林領域、砂漠領域など、地形形状情報に設定される属性が共通する範囲とすることができる。本実施形態では領域数設定部106は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、1〜30の領域数を設定する。なお、設定した複数の領域に同一の属性を有する領域が2つ以上設定されるようにしてもよい。
【0053】
基準サイズ設定部108は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、地形形状バッファ174において最終的に生成される地形形状情報の目標サイズとなる基準サイズを、地形形状バッファ174の容量範囲内で設定する処理を行う。なお、地形形状バッファ174の容量は、基準サイズに応じて変更可能にしてもよい。
【0054】
また基準サイズ設定部108は、複数の領域数が設定されている場合には、領域ごとに各領域の地形形状情報の基準サイズを設定する。またマスク情報が設定されている場合には、基準サイズとしてマスク情報のサイズを設定する。
【0055】
地形形状生成部110は、テンプレート記憶部173からテンプレートを読み出し、地形形状バッファ174上にテンプレートを地形形状情報として設定する地形形状設定処理を繰返し行って、複数のテンプレートが種々の態様で合成された地形形状情報を生成する。特に複数の領域数が設定されている場合には、地形形状生成部110は、領域ごとに地形形状設定処理を行う。
【0056】
詳細には地形形状生成部110は、地形形状設定処理として、基準サイズよりも小さいサイズの第1のテンプレートをテンプレート記憶部173に記憶された複数のテンプレートから選択する第1の選択処理と、地形形状バッファ174上の所与の位置に第1のテンプレートを地形形状情報として設定する配置設定処理と、地形形状バッファ174上に設定された地形形状情報のサイズと基準サイズとの差よりも小さいサイズの第2のテンプレートをテンプレート記憶部173に記憶された複数のテンプレートから選択する第2の選択処理と、地形形状バッファ174上で第2のテンプレートを地形形状情報が設定された位置に向けて複数の方向から移動させ、第2のテンプレートと地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての合成形状情報を評価する評価処理と、評価の結果に基づいて、1の方向についての合成形状情報を地形形状情報として更新する更新設定処理と、更新後の地形形状情報のサイズが基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行う。そして所与の条件が満たされるまで、第2の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返し、地形形状情報を生成する。
【0057】
また地形形状生成部110は、評価処理において、各方向についての合成形状情報を、第2のテンプレートと地形形状情報との重複部分のサイズに応じて評価するようにしてもよい。ここで「重複部分のサイズに応じて評価する」とは、重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価することのみならず、重複部分のサイズに応じて変化する合成形状情報のサイズや、合成前の地形形状情報と第2のテンプレートのサイズの和と合成後の合成形状情報との比など、重複部分のサイズに応じて変化する情報に基づいて各方向についての合成形状情報を評価することを含む。
【0058】
また地形形状生成部110は、地形形状バッファ174にマスク情報が設定される場合には、配置設定処理において、マスク情報で規定される範囲内の所与の位置に第1のテンプレートを地形形状情報として設定し、評価処理において、各方向についての合成形状情報を、第2のテンプレートとマスク情報との非重複部分のサイズに応じて評価する。
【0059】
第1の評価基準設定部112は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、評価処理における重複部分のサイズに応じた評価の基準となる第1の評価基準を設定する。例えば評価処理において、重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価する場合には、第1の評価基準として、重複部分のサイズや、重複部分のサイズと第2のテンプレートあるいは合成形状情報との比(割合)のしきい値や有効範囲などを設定する。また、合成形状情報のサイズに基づいて各方向についての合成形状情報を評価する場合には、第1の評価基準として、合成形状情報のサイズのしきい値や有効範囲などを設定する。また、合成前の地形形状情報と第2のテンプレートのサイズの和と合成後の合成形状情報との比に基づいて各方向についての合成形状情報を評価する場合には、第1の評価基準として、当該比のしきい値や有効範囲などを設定する。
【0060】
第2の評価基準設定部114は、地形形状バッファ174にマスク情報が設定される場合に、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、評価処理における非重複部分のサイズに応じた評価の基準となる第2の評価基準サイズを設定する。例えば評価処理において、非重複部分のサイズに直接的に基づいて各方向についての合成形状情報を評価する場合には、第2の評価基準として、非重複部分のサイズのしきい値や有効範囲などを設定する。また非重複部分のサイズと第2のテンプレートあるいは合成形状情報のサイズとの比、あるいはマスク情報のサイズとの比などに基づいて各方向についての合成形状情報を評価する場合には、第2の評価基準として、当該比のしきい値や有効範囲などを設定する。
【0061】
また地形形状生成部110は、地形形状バッファ174上において地形形状情報が設定されていない空間のうち、周囲が地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、隙間空間を地形形状情報として設定する補正設定処理と、を更に行う。なおこれら隙間空間判別処理と補正設定処理とは、地形形状バッファ174上で地形形状情報を更新するごとに行うようにしてもよいし、地形形状設定処理が終了してから行うようにしてもよい。また、複数の領域数が設定され、領域ごとに地形形状設定処理を行う場合には、各領域の地形形状設定処理が終了するごとに行うようにしてもよいし、全ての領域について地形形状設定処理が終了してから行うようにしてもよい。
【0062】
地形オブジェクト生成部116は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、2次元の地形形状情報に高さ情報を設定し、3次元の形状情報である地形オブジェクトを生成する。具体的には地形オブジェクト生成部116は、地形形状バッファ174上に生成された2次元の地形形状情報を、地形オブジェクトバッファ176に設定し、地形オブジェクトバッファ176上で地形形状情報に高さ情報を設定する。また、複数の領域数が設定され、領域ごとに地形形状情報が生成されている場合には、領域に応じたアルゴリズムで高さ情報を設定するようにしてもよい。
【0063】
位置決定部118は、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、地形オブジェクトに配置するオブジェクトの位置を決定する。
【0064】
移動・動作処理部120は、モデル(プレーヤキャラクタ、AIキャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0065】
オブジェクト空間設定部122は、プレーヤキャラクタ、AIキャラクタ、移動体、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0066】
仮想カメラ制御部124は、オブジェクト空間内の所与(任意)の仮想カメラ(視点)から見える画像を生成するための仮想カメラの制御処理を行う。具体的には、操作部160によりプレーヤが入力した操作データや、プログラム(移動アルゴリズム)や、各種データ(移動データ)などに基づいて、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向を制御する処理)を行う。また、画角を制御するようにしてもよい。
【0067】
例えば仮想カメラによりオブジェクト(例えば、プレーヤキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部120で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。またオブジェクトの位置など関わらず、操作部160によりプレーヤが入力した操作データに基づいて、仮想カメラを制御してもよい。また仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0068】
3次元画像描画部126は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータ(モデルデータ)に含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ177(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0069】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0070】
そして3次元画像描画部126は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0071】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0072】
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0073】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が入力されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに入力されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0074】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0075】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして出力できる。
【0076】
音生成部128は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0077】
3.本実施形態の手法
本実施形態のゲームシステムGSは、ゲームモードが実行される前に地形形状設定処理として、テンプレート記憶部173に記憶された複数のテンプレートから複数のテンプレートを選択する選択処理と、選択した複数のテンプレートのうち少なくとも1つのテンプレートを地形形状バッファ174上で移動させ、少なくとも2つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、評価の結果に基づいて、合成形状情報を地形形状情報として設定する設定処理とを行うことにより、種々の形状の地形形状情報を生成する。そして、生成した2次元の地形形状情報に基づいて3次元の地形オブジェクトを生成し、これを用いてゲームモードを実行することにより、ゲームを行うごとに地形オブジェクトの形状を異ならせる手法を採用する。以下、本実施形態の手法の一例について詳細に説明する。
【0078】
3−1.初期設定処理
本実施形態のゲームシステムGSは、ゲームモードが実行される前の地形生成モードにおいて、まず、地形形状設定処理における種々の条件設定を行う初期設定処理を行う。本実施形態では初期設定処理として、プレーヤがゲームをプレーする目安となる時間である予定ゲーム時間の選択をプレーヤから受け付け、選択された予定ゲーム時間に応じて、地形形状設定処理における種々の条件設定を行う。
【0079】
図3は、プレーヤが選択可能な予定ゲーム時間と、各予定ゲーム時間が選択された場合に設定され得る複数の基準サイズと、複数の領域数との関係を規定したテーブルデータの例である。図3に示すように本実施形態では、プレーヤは予定ゲーム時間として、「10分」、「20分」、「30分」・・・というように、10分ごとにゲーム時間が異なる複数種類の予定ゲーム時間が用意されており、いずれか1つの予定ゲーム時間を、操作部CTを用いて選択することができる。
【0080】
そして予定ゲーム時間として「10分」が選択された場合には、図3に示すように、サイズが互いに異なる基準サイズA〜Cから1つの基準サイズを、乱数を用いて抽選により選択する。この基準サイズとは、最終的に生成される地形形状情報の目標サイズとなるものである。同様に、領域数1個〜3個から1つの領域数を、乱数を用いて抽選により選択する。この領域数とは、最終的に生成される地形形状情報の分割数となるものである。そして、予定ゲーム時間、基準サイズ、領域数として、それぞれ選択された値を設定する。
【0081】
ここで、予定ゲーム時間として「40分」が選択された場合には、図3に示すように、基準サイズJ〜Lから1つの基準サイズを選択するが、本実施形態では、基準サイズJ〜Lは基準サイズA〜Cよりもサイズが大きいものとなっている。また、予定ゲーム時間として「40分」が選択された場合には、「10分」が選択された場合よりも、選択される領域数が大きい値となっている。すなわち本実施形態では、予定ゲーム時間が長くなるにつれて、選択され得る基準サイズの値が大きくなるとともに、選択され得る領域数も多くなるように、予定ゲーム時間と基準サイズと領域数とが対応付けられている。つまり本実施形態では、予定ゲーム時間が相対的に短い場合には相対的にサイズが小さい地形形状情報が生成され、予定ゲーム時間が相対的に長い場合には相対的にサイズが大きい地形形状情報が生成されるようになっている。
【0082】
こうして、予定ゲーム時間に応じていずれかの基準サイズと領域数とが設定されると、本実施形態では、設定された基準サイズを設定された領域数で均等あるいは不均等に分割し、各領域の地形形状情報の目標サイズとなる各領域の基準サイズを設定する。更に本実施形態では、各領域について、都市、村、森林、草原、砂漠、山などの複数の属性から1つの属性を選択して、各領域の属性を設定する。
【0083】
また本実施形態では、地形形状設定処理で行われる評価処理における、重複部分のサイズに応じた評価の基準となる第1の評価基準を設定する。本実施形態では第1の評価基準として、重複部分のサイズと第2のテンプレートのサイズとの比である重複率の有効範囲を設定する。具体的には本実施形態では、図4に示す複数の第1の評価基準である「基準イ」〜「基準ハ」のうちいずれかを設定する。
【0084】
ここで例えば「基準イ」では、最も評価点が高い評価Aの重複率が6%〜10%、次に評価点が高い評価Bの重複率が11%〜15%、最も評価点が低い評価Cの重複率が1%〜5%となっている。すなわち「基準イ」によれば、ある程度重複率が高い場合に評価が最も高く、重複率が低い場合には評価が最も低くなる。そして他の「基準ロ」、「基準ハ」では、それぞれ評価が高い重複率の範囲が異なるように第1の評価基準が定められている。例えば本実施形態では、「基準ロ」では重複率が高いほど評価が高く、「基準ハ」では重複率が低いほど評価が高くなっている。
【0085】
そして本実施形態では、各領域の基準サイズに応じて、領域ごとに第1の評価基準を設定する。例えば、1の領域の基準サイズが小さい場合には、少ないテンプレートを用いて当該領域の地形形状情報を生成するため、処理負荷、処理時間に余裕があることなどから、重複率が高いほど評価が高い「基準ロ」が選択されるように図3のテーブルデータを構成し、1の領域の基準サイズが大きい場合には、多くのテンプレートを用いて当該領域の地形形状情報を生成するため、処理負荷、処理時間に余裕が少ないことなどから、重複率が低いほど評価が高い「基準ハ」が選択されるようにしてもよい。
【0086】
なお、図4に示す複数の第1の評価基準を、図3に示すテーブルデータにおいて、プレーヤが選択した予定プレー時間と対応付けるようにしてもよい。例えば、予定プレー時間が短い場合には、重複率が低いほど評価が高い「基準ハ」が選択されるように図3のテーブルデータを構成し、予定プレー時間が長い場合には、重複率が高いほど評価が高い「基準ロ」が選択されるように、テーブルデータを構成するようにしてもよい。
【0087】
このように本実施形態では、初期設定処理において、操作部160からの操作信号や所定のアルゴリズムに基づいて、あるいは乱数を用いてランダムに、予定プレー時間、地形形状情報の全体の基準サイズ、領域数、各領域の基準サイズ、各領域の属性、第1の評価基準などの種々の条件を設定する。
【0088】
3−2.地形形状設定処理
3−2−1.地形形状設定処理の概略
本実施形態のゲームシステムGSは、初期設定処理において種々の条件設定が行われると、設定された条件に従って地形形状設定処理を行う。本実施形態では地形形状設定処理において、地形形状バッファ174上にテンプレートを地形形状情報として設定する地形形状設定処理を領域ごとに行って地形形状情報を生成する。以下では、上述した初期設定処理で領域数が「3」と設定され、第1の領域から第3の領域までの各領域について地形形状設定処理を行う場合について説明する。
【0089】
図5(A)は、テンプレート記憶部173に記憶されているテンプレートTPの一例を示す図である。図5(A)に示すようにテンプレート記憶部173には、サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートTPが記憶されている。図5(A)では、各テンプレートTPの形状は滑らかな閉曲線により描かれているが、本実施形態では図5(B)に示すように、各テンプレートTPは、1m×1m(mはサイズを表現するための仮想的な単位)の正方形の形状情報(以下、セルCLという。)を最小単位としている。そして各テンプレートTPでは、複数のセルCLが各セルCLの1辺を他のセルCLと共有することにより種々の態様で連結し、種々の形状を形成している。
【0090】
そして本実施形態では、図5(A)に示すように、同一またはほぼ同一のサイズについて、形状が異なる複数のテンプレートTPを用意している。従って本実施形態では、地形形状情報として設定するテンプレートTPを基準サイズに応じて選択した場合であっても、その都度異なる形状のテンプレートTPを選択することができる。
【0091】
図6(A)は、テンプレートTPを設定する地形形状バッファ174の一例を示す図である。本実施形態では、地形形状バッファ174は、テンプレートTPを構成するセルCLを、縦に200個、横に200個の合計40000個配置できるように構成されている。そして本実施形態では、図6(A)に示すように、地形形状バッファ174上にテンプレートTPを地形形状情報MFとして配置設定する。
【0092】
3−2−2.第1の領域についての地形形状設定処理
そして本実施形態では、上述した初期設定処理で設定された領域数に対応する複数の領域のうち、第1の領域について地形形状設定処理を開始する。第1の領域についての地形形状設定処理では、まず、第1の領域の基準サイズの約80%(本実施形態では75%〜85%の範囲内)のサイズのテンプレートTPを、第1の領域について最初に地形形状バッファ174上に配置する第1のテンプレートTP1として、図5に示すテンプレート記憶部173の複数のテンプレートTPから選択する(第1の選択処理の一例)。そして、地形形状バッファ174上の位置と、選択したテンプレートTP1の向きとをランダムに決定して、テンプレートTP1を地形形状バッファ174上に配置して、第1の領域の地形形状情報MF1として設定する(配置設定処理の一例)。
【0093】
すると本実施形態では、設定された地形形状情報MF1(第1のテンプレートTP1)のサイズを第1の領域の基準サイズから減算し、第1の領域の基準サイズのうち、未だ地形形状情報MF1として設定されていないサイズである残存サイズを算出する。そして残存サイズの約80%(第1の領域の基準サイズのおよそ16%程度)のサイズのテンプレートTPを、第1の領域について2番目に地形形状バッファ174上に配置する第2のテンプレートTP2として、図5に示すテンプレート記憶部173の複数のテンプレートTPから選択する(第2の選択処理の一例)。
【0094】
すると本実施形態では、図6(B)に示すように、選択した第2のテンプレートTP2を、4方向から地形形状情報MF1(第1のテンプレートTP1)の重心に向けて移動させる。本実施形態では、地形形状バッファ174の外縁を構成する座標(セルCL)群から4つの座標CO1〜CO4を、所与のアルゴリズムでまたはランダムに選択し、第2のテンプレートTP2の重心が座標CO1〜CO4となる位置に第2のテンプレートTP2を配置する。なお、第2のテンプレートTP2を配置する向きも、所与のアルゴリズムでまたはランダムに決定される。そして、座標CO1〜CO4のそれぞれと地形形状情報MF1の重心とを結ぶ直線上を、第2のテンプレートTP2の重心が通るように、第2のテンプレートTP2を座標CO1〜CO4から地形形状情報MF1の重心に向けて移動させる。
【0095】
ここで、第2のテンプレートTP2を移動させる際に、第2のテンプレートTP2の重心を1座標(1セル)ずつ移動させると、処理負荷、処理時間が大きくなってしまう。そこで本実施形態では、第2のテンプレートTP2の重心が10座標(10セル)間隔で移動するように、第2のテンプレートTP2を移動させるようにしている。
【0096】
そして本実施形態では、4つの方向の各方向について、地形形状情報MF1と第2のテンプレートTP2とが重なったか否かを監視し、図7に示すように、4つの方向の各方向について、地形形状情報MF1と第2のテンプレートTP2とが最初に重なったときの、地形形状情報MF1と第2のテンプレートTP2との合成形状情報SY1〜SY4を生成する。
【0097】
そして本実施形態では、図7に示すように、4つの方向の各方向の合成形状情報SY1〜SY4について、地形形状情報MF1と第2のテンプレートTP2との重複部分OLのサイズと、第2のテンプレートTP2のサイズとの比である重複率を算出する。そして、各方向の合成形状情報SY1〜SY4の重複率を図4に示す「基準イ」に則して評価する(評価処理の一例)。従って図7の例の場合には、重複率が8%となっている合成形状情報SY3が評価Aとされ、最も評価点が高い合成形状情報SYと評価される。
【0098】
そして本実施形態では、図7における合成形状情報SY1〜SY4のうち最も評価点が高かった合成形状情報SY3を、図8(A)に示すように、地形形状バッファ174上で第1の領域の地形形状情報MF1として更新する(更新設定処理の一例)。なお、同一クラスの評価となる合成形状情報SYが複数存在する場合には、抽選によりいずれかの合成形状情報SYを選択するようにしてもよいし、重複率が所定の基準値により近い方の合成形状情報SYを選択するようにしてもよい。
【0099】
ここで本実施形態では、評価処理において第1の評価基準として用いる基準を変更することにより、更新設定処理において更新される地形形状情報MF1の形状を変化させることができる。例えば、図7に示す各方向の合成形状情報SY1〜SY4の重複率を、図4に示す「基準ロ」に則して評価した場合には、重複率が15%となっている合成形状情報SY2が評価Aとされ、最も評価点が高い合成形状情報SYと評価される。一方、「基準ハ」に則して評価した場合には、重複率が3%となっている合成形状情報SY1が評価Aとされ、最も評価点が高い合成形状情報SYと評価される。
【0100】
また本実施形態では、図6(A)で示した配置設定処理において地形形状バッファ174上に第1のテンプレートTP1を配置する向きや、図6(B)で示した評価処理において第2のテンプレートTP2を地形形状情報MF1に向けて移動させる際の、第2のテンプレートTP2の向きや移動経路(出発点となる座標)、移動する間隔を変更することにより、各方向についての合成形状情報SY1〜SY4の形状を種々の態様のものとして生成することができる。従って本実施形態では、テンプレートTPの種類が少なくとも、種々の態様の合成形状情報SYを生成し、種々の態様で複数の合成形状情報SYを評価し、評価の結果に基づいて合成形状情報SYを地形形状情報MF1として更新することにより、種々の形状の地形形状情報MF1を生成することができる。
【0101】
こうして図8(A)に示すように地形形状情報MF1を更新すると、本実施形態では、更新後の地形形状情報MF1のサイズが第1の領域の基準サイズの99%達したか否か(所与の条件の一例)を判定する(判定処理の一例)。そして99%に達していない場合には、条件が満たされるまで、第1の領域について第2の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返す。
【0102】
図8(B)は、第1の領域についての2回目の第2の選択処理と、評価処理とを説明するための図である。2回目の第2の選択処理では、まず、図8(A)に示す更新された地形形状情報MF1(合成形状情報SY3)のサイズを第1の領域の基準サイズから減算し、残存サイズを算出する。そして残存サイズの約80%(第1の領域の基準サイズの3〜5%程度)のサイズのテンプレートTPを、第1の領域について3番目に地形形状バッファ174上に配置する第2のテンプレートTP2として、テンプレート記憶部173の複数のテンプレートTPから選択する。すなわち図8(B)に示すように、第2のテンプレートTP2は、第2の選択処理を繰り返すにつれて小さいサイズのものが選択されることになる。
【0103】
そして2回目の評価処理では、図8(B)に示すように、選択した第2のテンプレートTP2を、4方向から地形形状情報MF1(合成形状情報SY3)の重心に向けて移動させる。本実施形態では、2回目の評価処理においても、第2のテンプレートTP2を地形形状情報MF1に向けて移動させる際の、第2のテンプレートTP2の向きや移動経路(出発点となる座標)を、所与のアルゴリズムでまたはランダムに決定する。そして4方向の各方向について、地形形状情報MF1と第2のテンプレートTP2とが重なったか否かを監視し、図9に示すように、4方向の各方向について、地形形状情報MF1と第2のテンプレートTP2とが最初に重なったときの地形形状情報MF1と第2のテンプレートTP2との合成形状情報SY1〜SY4を生成する。そして、各方向の合成形状情報SY1〜SY4を、それぞれの重複率に基づいて評価する。
【0104】
そして2回目の評価処理の結果に基づいて、例えば図9に示す合成形状情報SY4が最も評価が高かった場合には、図10に示すように、合成形状情報SY4を地形形状情報MF1として更新する2回目の更新設定処理を行い、かかる2回目の更新後の地形形状情報MF1について2回目の判定処理を行う。ここで、図10に示す2回目の更新後の地形形状情報MF1のサイズが第1の領域の基準サイズの99%に達しない場合には、3回目の第2の選択処理と、評価処理と、更新設定処理と、判定処理とを行い、第1の領域の基準サイズの99%に達した場合には、第1の領域についての地形形状設定処理を終了する。
【0105】
こうして第1の領域についての地形形状設定処理を終了すると、本実施形態では、次の第2の領域について地形形状設定処理を行い、全ての領域について地形形状設定処理を行うまで、地形形状設定処理を繰り返す。
【0106】
3−2−3.第2の領域以降の領域についての地形形状設定処理
図11(A)、(B)は、第2の領域についての地形形状設定処理を説明するための図である。第2の領域についての地形形状設定処理では、まず、第2の領域についての第1の選択処理として、第2の領域の基準サイズの約80%のサイズのテンプレートTPを、第2の領域についての第1のテンプレートTP1として選択する。そして第2の領域についての配置設定処理として、図11(A)に示すように、地形形状バッファ174上の位置のうち、第1の領域の地形形状情報MF1に重ならない位置に、第2の領域についての第1のテンプレートTP1を配置して、第2の領域の地形形状情報MF2として設定する。なお、第2の領域について配置される第1のテンプレートTP1の位置と向きについても、第1の領域のときと同様にランダムに決定される。
【0107】
すると第2の領域についての第2の選択処理として、第2の領域の残存サイズを算出して第2の領域についての第2のテンプレートTP2を選択する。そして、第2の領域についての評価処理として、図11(B)に示すように、選択した第2のテンプレートTP2を、4方向から第2の領域の地形形状情報MF2(第1のテンプレートTP1)の重心に向けて移動させ、図12に示すように、各方向について地形形状情報MF2と第2のテンプレートTP2とが最初に重なったときの地形形状情報MF2と第2のテンプレートTP2との合成形状情報SY1〜SY4を生成する。
【0108】
ここで第2の領域についての評価処理では、図11(B)の中央部に示す第2のテンプレートTP2のように、第2のテンプレートTP2が第2の領域の地形形状情報MF2と最初に重なったときに、第1の領域の地形形状情報MF1とも重なっている場合がある。すなわち図12に示す合成形状情報SY4のように、第1の領域の地形形状情報MF1との特殊重複部分SOが存在する合成形状情報SYが発生する場合がある。
【0109】
そこで第2の領域についての評価処理では、図12に示す各方向の合成形状情報SY1〜SY4について、地形形状情報MF2と第2のテンプレートTP2との重複部分OLのサイズに加え、地形形状情報MF1と第2のテンプレートTP2との重複部分OSのサイズを算出し、重複部分OLのサイズと重複部分OSのサイズとの和(第2のテンプレートと各領域の地形形状情報との重複部分のサイズ)と、第2のテンプレートTP2のサイズとの比である重複率を算出する。そして、各方向の合成形状情報SY1〜SY4の重複率を図4に示す「基準イ」に則して評価する(評価処理の一例)。従って図12の例の場合には、重複率が10%となっている合成形状情報SY4が評価Aとされ、最も評価点が高い合成形状情報SYと評価される。
【0110】
そして第2の領域の更新設定処理として、合成形状情報SY1〜SY4のうち最も評価点が高かった合成形状情報SY4を、図13に示すように、地形形状バッファ174上で第2の領域の地形形状情報MF2として更新する。なお、第2の領域の地形形状情報MF2と第1の領域の地形形状情報MF1とが重複した特殊重複部分SOに対応する部分については、本実施形態では、第2の領域の地形形状情報MF2として設定される。
【0111】
そして第2の領域の判定処理として、更新後の地形形状情報MF2のサイズが第2の領域の基準サイズの99%に達したか否かを判定し、99%に達していない場合には、第2の領域について条件が満たされるまで、第2の選択処理と、評価処理と、更新設定処理と、判定処理とを繰り返す。
【0112】
3−2−4.地形形状設定処理終了後の処理
図14(A)は、第3の領域についての地形形状設定処理が終了して、完成された地形形状情報MFの一例を示す図である。図14(A)の例では、第1の領域の地形形状情報MF1と第2の領域の地形形状情報MF2とは連続した領域として形成されているが、第3の領域の地形形状情報MF3は、他の領域とは連続しない領域として形成されている。このように本実施形態では、各領域の地形形状情報MFは、各領域についての地形形状設定処理における第1のテンプレートTP1の配置位置や、合成形状情報SYの態様などに応じて連続した領域になったり、独立した領域になったり、種々の態様で生成される。なお、地形形状バッファ174のうち地形形状情報MFが設定されなかった空間については、例えば海領域としてプレーヤキャラクタPCが船に乗って進入することができる領域としてもよいし、プレーヤキャラクタPCが進入することができない領域としてもよい。
【0113】
また地形形状バッファ174のうち地形形状情報MFが設定されなかった空間の中には、図14(A)に示すように、周囲が地形形状情報で囲まれた空間である隙間空間BLが、合成形状情報SYを生成する過程において発生している場合がある。ここで隙間空間BLが、ある程度のサイズのものである場合には、隙間空間BLを湖領域や池領域などとして設定することにより、最終的に生成される地形オブジェクトの一態様とすることができる。しかし、あまりに小さいサイズの隙間空間BLが発生した場合には、プレーヤキャラクタPCの移動を妨げるものとしてプレーヤのストレスの原因になる場合があることから、本実施形態では、所定のサイズよりも小さいサイズの隙間空間BLについては、これを判別し(隙間空間判別処理の一例)、かかる隙間空間BLを地形形状情報として設定し、隙間空間BLを埋める処理を行う(補正設定処理の一例)。
【0114】
こうして地形形状バッファ174上に全ての領域について地形形状情報MFが生成され、補正設定処理が行われると、補正設定処理後の地形形状情報MFを、図14(B)に示すように、3次元の形状情報を格納する地形オブジェクトバッファ176に設定する。そして、各領域に応じて高さ情報を設定し、3次元の地形オブジェクトを生成する。そして、地形オブジェクトに配置する家オブジェクトや道オブジェクトや木オブジェクトなどの位置を決定する。
【0115】
このように本実施形態では、ゲームモードが実行される前の地形生成モードにおいて、プレーヤが選択した予定ゲーム時間に応じたサイズで、種々の形状の地形形状情報MFを生成し、これに基づいて地形オブジェクトを生成することができる。そして本実施形態では、地形生成モードにおいて生成した地形オブジェクトを、ゲームモードにおいてオブジェクト空間に設定し、かかる地形オブジェクト上をプレーヤキャラクタPCが移動して種々のイベントを発生させるゲームを実行する。
【0116】
4.本実施形態の処理の流れ
続いて図15のフローチャートを参照しながら本実施形態の制御手法を実現する処理の一例について説明する。図15に示すように本実施形態のゲームシステムGSは、まず初期設定処理として、プレーヤから予定プレー時間の選択を受け付ける(ステップS10)。すると予定プレー時間に応じた基準サイズを設定し(ステップS12)、基準サイズに応じた領域数Kを設定する(ステップS14)。そして、基準サイズを領域数Kで不均等に分割し、各領域の基準サイズを設定する(ステップS16)。ここで、各領域の属性も設定する。
【0117】
こうして初期設定処理が終了すると、地形形状設定処理を行う領域の番号としてNに1を代入する(ステップS18)。そして第1の領域について残存サイズを算出する(ステップS20)。ここでは、未だ地形形状バッファ174上に地形形状情報を設定していないので、残存サイズは第1の領域の基準サイズとなる。そして、残存サイズの約80%のテンプレートTPを選択する(ステップS22)。そしてこれが第1の領域について最初に選択された第1のテンプレートTP1である場合には(ステップS24でY)、第1のテンプレートTP1を地形形状バッファ174上に地形形状情報として配置する(ステップS26)。
【0118】
すると、ステップS20に戻り、第1の領域について残存サイズを算出し(ステップS20)、残存サイズの約80%のテンプレートTPを選択する(ステップS22)。すると、ここで選択されたテンプレートTPは第2のテンプレートTP2であるので(ステップS24でN)、地形形状バッファ174上で第2のテンプレートTP2を各方向から地形形状情報の重心に向けて移動させ(ステップS28)、第2のテンプレートTP2と地形形状情報とが重なったときの合成形状情報SYを各方向について生成する(ステップS30)。
【0119】
そして、各方向についての合成形状情報SYを評価し(ステップS32)、評価結果に基づいて1の方向についての合成形状情報SYを新たな地形形状情報として更新する(ステップS34)。そして、更新後の地形形状情報のサイズが基準サイズの99%を超えたか否かを判定する(ステップS36)。
【0120】
ここで地形形状情報のサイズが条件を満たさない場合には(ステップS36でN)、ステップS20に戻り、ステップS20からステップS36までの処理を繰り返す。一方、地形形状情報のサイズが条件を満たす場合には(ステップS36でY)、第1の領域について地形形状情報を確定させる(ステップS38)。そして地形形状設定処理を行った領域の番号Nが領域数Kとなったか、すなわち全ての領域について地形形状設定処理を行ったか判定する(ステップS40)。
【0121】
ここでN=Kとならない場合には(ステップS40でN)、領域の番号Nを1つインクリメントし(ステップS42)、ステップS20に戻り、第2の領域について、ステップS20からステップS36までの処理を繰り返す。一方、N=Kとなった場合には(ステップS40でY)、地形形状設定処理を終了させる。
【0122】
5.マスク情報を用いる場合
次に、地形形状バッファ174上で地形形状情報を設定する範囲を規定するマスク情報を用いて地形形状設定処理を行う例について説明する。基本的な処理は上述したマスク情報を用いないと同様であるので、以下ではマスク情報を用いる場合に特徴的な部分について説明する。
【0123】
マスク情報を用いる場合には、本実施形態では、上述した初期設定処理において、地形形状バッファ174上で地形形状情報を設定する範囲を規定するマスク情報を、地形形状バッファ174に設定する。そして、地形形状情報全体の基準サイズとしてマスク情報のサイズを設定する。これにより本実施形態では、種々の形状の地形形状情報を、マスク情報に応じた形状のものとして生成することができる。
【0124】
詳細には本実施形態では、初期設定処理において、図16に示すように、プレーヤが選択可能な予定ゲーム時間と、各予定ゲーム時間が選択された場合に設定され得る複数のマスク情報と、複数の領域数との関係を規定したテーブルデータを用いて各種条件の設定を行う。図16の例では、予定ゲーム時間として「40分」が選択された場合には、マスク情報J〜Lから1つのマスク情報を選択するが、マスク情報J〜Lは、予定ゲーム時間として「10分」が選択された場合に選択されるマスク情報A〜Cよりもサイズが大きいマスク情報となっている。すなわちマスク情報を用いる場合であっても、本実施形態では、予定ゲーム時間が長くなるにつれて、選択され得るマスク情報のサイズが大きくなるとともに、選択され得る領域数も大きくなるように、予定ゲーム時間とマスク情報と領域数とが対応付けられている。そして本実施形態では、設定されたマスク情報のサイズを設定された領域数で均等あるいは不均等に分割し、各領域の地形形状情報の目標サイズとなる各領域の基準サイズを設定する。
【0125】
図17(A)、(B)は、楕円形状のマスク情報MSを地形形状バッファ174に設定した例を示す図である。図17(A)に示すように、本実施形態では、マスク情報MSを用いた場合には配置設定処理において、地形形状バッファ174上の位置のうち、マスク情報MSの範囲内に第1のテンプレートTP1を配置して地形形状情報MFとして設定する。なお、マスク情報MSの位置と向きとはランダムに決定される。
【0126】
そして評価処理として、図17(B)に示すように、選択した第2のテンプレートTP2を、4方向から地形形状情報MF(第1のテンプレートTP1)の重心に向けて移動させるが、第2のテンプレートTP2が地形形状情報MFと最初に重なったときに、第2のテンプレートTP2がマスク情報MSと重なっていない部分を含む場合がある。すなわち図18に示す合成形状情報SY1、SY3のように、マスク情報との非重複部分NOが存在する合成形状情報SYが発生する場合がある。
【0127】
そこで本実施形態の評価処理では、図18に示すように、各方向についての合成形状情報SY1〜SY4を、第2のテンプレートTP2とマスク情報MSとの非重複部分NOのサイズに応じて評価する。詳細には本実施形態では、第2のテンプレートTP2と地形形状情報MFとの重複部分OLのサイズと、第2のテンプレートTP2のサイズとの比である重複率を算出するとともに、第2のテンプレートTP2とマスク情報MSとの非重複部分NOのサイズと、第2のテンプレートTP2のサイズとの比である非重複率を算出する。そして、各方向についての合成形状情報SYを、重複率と非重複率とに基づいて評価する。
【0128】
ここで本実施形態ではマスク情報MSを用いる場合には、上述した初期設定処理において、非重複部分NOのサイズに応じた評価の基準となる第2の評価基準を設定しており、この第2の評価基準では、非重複率については低ければ低いほど評価が高くなる。例えば、最も評価点が高い評価Aの非重複率が0%〜5%、次に評価点が高い評価Bの重複率が6%〜10%、最も評価点が低い評価Cの重複率が11%〜15%となっている。そして本実施形態では、重複率についての第1の評価基準に則した評価結果と、非重複率についての第2の評価基準に則した評価結果の双方を加味して、各方向の合成形状情報SY1〜SY4を評価する。
【0129】
ここで本実施形態では、非重複率が16%以上である合成形状情報SYについては評価点をつけず、たとえ重複率についての評価がよい場合であっても、非重複率が16%以上である合成形状情報SYを地形形状情報MFとして更新しないようにしている。これにより本実施形態によれば、マスク情報MSからはみ出る部分が所定サイズ以上ある合成形状情報SYは採用されないので、領域ごとに種々の形状に形成される地形形状情報MFを、マスク情報MSに応じた形状のものとして生成することができる。
【0130】
なお、マスク情報MSからはみ出た地形形状情報MFについては切り取るようにしてもよい。この場合には、種々の形状に形成される地形形状情報MFを、マスク情報MSにより近い形状のものとして生成することができる。
【0131】
6.ハードウェア構成
図19に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0132】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0133】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、テクスチャマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0134】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0135】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0136】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0137】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0138】
7.変形例
上記実施形態で説明した手法は、一例を示したに過ぎず、上記実施形態の手法と同様の効果を奏する均等な手法を採用した場合においても本発明の範囲に含めることができる。また本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。そして上記実施形態と、変形例として後述する各種の手法は、本発明を実現する手法として適宜組み合わせて採用することができる。
【0139】
例えば上述した実施形態では、プレーヤが選択した予定プレー時間に応じて初期設定処理における条件設定を変更する例を挙げて説明したが、プレーヤがプレーしたゲーム回数をカウントし、カウント値に応じて初期設定処理における条件設定を変更するようにしてもよい。この場合には例えば、ゲーム回数が多くなるにつれ、設定される基準サイズや領域数の値が大きくなるようにしてもよい。
【0140】
また、前回のゲームを行ってから今回のゲームを行うまでの時間に応じて初期設定処理における条件設定を変更するようにしてもよい。この場合には例えば、前回のゲームを開始した時刻、または前回のゲームを終了した時刻を記憶しておき、今回のゲームを開始した時刻に基づいて今回のゲームを行うまでの時間を算出してもよいし、前回のゲームを開始したとき、または前回のゲームを終了したときから今回のゲームを行うまでの経過時間をカウントするようにしてもよい。
【0141】
また、プレーヤキャラクタの経験値、所持金、持ち物、イベントの発生履歴など、ゲームの進行状況に応じて変化する種々のパラメータに応じて初期設定処理における条件設定を変更するようにしてもよい。また、プレーヤが選択した予定プレー時間、ゲーム回数、今回のゲームを行うまでの時間、ゲームの進行状況に応じて変化する種々のパラメータの任意の組合せに応じて初期設定処理における条件設定を変更するようにしてもよい。
【0142】
また上述した実施形態では、第2のテンプレートTP2を地形形状情報MF1(第1のテンプレートTP1)の重心に向けて移動させる際の出発点を、地形形状バッファ174の外縁を構成する座標群のいずれかに設定する例を挙げて説明したが、第2のテンプレートTP2の出発点は、地形形状バッファ174のサイズ、最終的に生成される地形形状情報の目標サイズとなる基準サイズ、領域数、第1のテンプレートTP1のサイズ、第2のテンプレートTP2のサイズに応じて変化させるようにしてもよい。例えば、地形形状バッファ174のサイズが大きい場合には、地形形状バッファ174の外縁よりも内側の座標群のいずれかに設定するようにしてもよい。
【0143】
また上述した実施形態では、地形形状情報MFとテンプレートTPとの重複率として、重複部分OLのサイズと第2のテンプレートTP2のサイズとの比を用いる例を挙げて説明したが、重複率としては、重複部分OLのサイズと地形形状情報MFのサイズとの比や、重複部分OLのサイズと合成形状情報SYのサイズとの比など、種々のものを採用することができる。同様に、マスク情報MSとテンプレートTPとの非重複率として、非重複部分NOのサイズと第2のテンプレートTP2との比のみならず、非重複部分NOのサイズと地形形状情報MFのサイズとの比や、非重複部分NOのサイズと合成形状情報SYのサイズとの比など、種々のものを採用することができる。
【0144】
また上述した実施形態では、1回の第2の選択処理において、1つの第2のテンプレートTP2をテンプレート記憶部173に記憶された複数のテンプレートから選択し、評価処理において、1つの第2のテンプレートTP2に関する各方向についての合成形状情報SYを評価する例を挙げて説明したが、1回の第2の選択処理において、2以上の第2のテンプレートTP2を選択するようにしてもよい。この場合には評価処理において、地形形状バッファ174上で2つ以上の第2のテンプレートTP2をそれぞれ地形形状情報MFが設定された位置に向けて複数の方向から移動させ、各第2のテンプレートTP2に関して、第2のテンプレートTP2と地形形状情報MFとが重なったときの合成形状情報SYを各方向について生成する。そして、各第2のテンプレートTP2に関して、各方向についての合成形状情報SYを評価する。そして、更新設定処理において、各第2のテンプレートTP2に関する合成形状情報SYの評価の結果に基づいて、各第2のテンプレートTP2に関して最も評価が高い1の方向についての合成形状情報SYを選択する。そして、各第2のテンプレートTP2に関して最も評価が高い合成形状情報SYから1の合成形状情報SYを選択し、地形形状情報MFとして更新するようにしてもよい。
【0145】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0146】
【図1】本実施形態の外観の一例を示す図。
【図2】本実施形態の機能ブロック図。
【図3】本実施形態のデータテーブルの一例を示す図。
【図4】本実施形態のデータテーブルの一例を示す図。
【図5】本実施形態のテンプレートの一例を示す図。
【図6】本実施形態手法を説明するための図。
【図7】本実施形態手法を説明するための図。
【図8】本実施形態手法を説明するための図。
【図9】本実施形態手法を説明するための図。
【図10】本実施形態手法を説明するための図。
【図11】本実施形態手法を説明するための図。
【図12】本実施形態手法を説明するための図。
【図13】本実施形態手法を説明するための図。
【図14】本実施形態手法を説明するための図。
【図15】本実施形態の処理の流れの一例を示すフローチャート図。
【図16】本実施形態のデータテーブルの一例を示す図。
【図17】本実施形態手法を説明するための図。
【図18】本実施形態手法を説明するための図。
【図19】本実施形態のハードウェア構成の一例を示す図。
【符号の説明】
【0147】
GS ゲームシステム、CT 操作部、PS 本体装置、MN モニタ、
GL 左グリップ、GR 右グリップ、DK 方向キー、
ASL 左アナログスティック、ASL 右アナログスティック、BT ボタン、
L1 L1ボタン、L2 L2ボタン、R1 R1ボタン、R2 R2ボタン、
TPテンプレート、CL セル、MF 地形形状情報、CO 座標、OL 重複部分、
SY 合成形状情報、SO 特殊重複部分、BL 隙間空間、MS マスク情報、
100 処理部、102 ゲーム処理部、104 マスク設定部、
106 領域数設定部、108 基準サイズ設定部、110 地形形状生成部、
112 第1の評価基準設定部、114 第2の評価基準設定部、
116 地形オブジェクト生成部、118 位置決定部、120 移動・動作処理部、
122 オブジェクト空間設定部、124 仮想カメラ制御部、
126 3次元画像描画部、128 音生成部、170 記憶部、172 主記憶部、
173 テンプレート記憶部、174 地形形状バッファ、175 マスク記憶部、
176 地形オブジェクトバッファ、177 描画バッファ

【特許請求の範囲】
【請求項1】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成するプログラムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の2次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部としてコンピュータを機能させ、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも1つのテンプレートを所与の2次元空間上で移動させ、少なくとも2つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの第1のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第1の選択処理と、
前記所与の2次元空間上の所与の位置に前記第1のテンプレートを前記地形形状情報として設定する配置設定処理と、
前記所与の2次元空間上に設定された前記地形形状情報のサイズと前記基準サイズとの差よりも小さいサイズの第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第2の選択処理と、
前記所与の2次元空間上で前記第2のテンプレートを前記地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、1の方向についての前記合成形状情報を前記地形形状情報として更新する更新設定処理と、
更新後の前記地形形状情報のサイズが前記基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記所与の条件が満たされるまで、前記第2の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返すことを特徴とするプログラム。
【請求項3】
請求項2において、
前記地形形状生成部が、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記地形形状情報との重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項4】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成するプログラムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形を構成する領域の数を設定する領域数設定部と、
前記領域ごとに各領域の前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の2次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を前記領域ごとに行って前記地形形状情報を生成する地形形状生成部としてコンピュータを機能させ、
前記地形形状生成部が、
前記地形形状設定処理として、
1の領域について前記基準サイズよりも小さいサイズの第1のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第1の選択処理と、
前記所与の2次元空間上の所与の位置に前記第1のテンプレートを前記1の領域の地形形状情報として設定する配置設定処理と、
前記所与の2次元空間上に設定された前記1の領域の地形形状情報のサイズと当該1の領域の基準サイズとの差よりも小さいサイズの第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する第2の選択処理と、
前記所与の2次元空間上で前記第2のテンプレートを前記1の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記1の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、1の方向についての前記合成形状情報を前記1の領域の地形形状情報として更新する更新設定処理と、
更新後の前記1の領域の地形形状情報のサイズが当該1の領域の基準サイズに対して所与の条件を満たしたか否かを判定する判定処理とを行い、
前記1の領域について前記所与の条件が満たされるまで、前記第2の選択処理と、前記評価処理と、前記更新設定処理と、前記判定処理とを繰り返し、
前記地形形状生成部が、
前記1の領域について前記所与の条件が満たされると、次の1の領域について前記地形形状設定処理を行い、全ての領域について前記地形形状設定処理を行うまで、前記地形形状設定処理を繰り返すことを特徴とするプログラム。
【請求項5】
請求項4において、
前記地形形状生成部が、
前記1の領域についての前記地形形状設定処理では、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記1の領域の地形形状情報との重複部分のサイズに応じて評価し、
前記次の1の領域についての前記地形形状設定処理では、
前記評価処理において、
前記所与の2次元空間上で前記第2のテンプレートを前記次の1の領域の地形形状情報が設定された位置に向けて複数の方向から移動させ、前記第2のテンプレートと前記次の1の領域の地形形状情報とが重なったときの合成形状情報を各方向について生成し、各方向についての前記合成形状情報を、前記第2のテンプレートと前記各領域の地形形状情報との重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項6】
請求項3、5のいずれかにおいて、
前記評価処理における前記重複部分のサイズに応じた評価の基準となる第1の評価基準を設定する第1の評価基準設定部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項7】
請求項2、4のいずれかにおいて、
前記地形形状生成部が、
前記第2の選択処理において、
複数の前記第2のテンプレートを前記記憶部に記憶された複数のテンプレートから選択し、
前記評価処理において、
前記所与の2次元空間上で複数の前記第2のテンプレートをそれぞれ前記地形形状情報が設定された位置に向けて複数の方向から移動させ、複数の前記第2のテンプレートに関して前記第2のテンプレートと前記地形形状情報とが重なったときの合成形状情報を各方向について生成し、複数の前記第2のテンプレートに関して各方向についての前記合成形状情報を評価し、
前記更新設定処理において、
前記評価の結果に基づいて、複数の前記第2のテンプレートに関する前記合成形状情報から複数の前記合成形状情報を選択し、複数の前記合成形状情報から1の前記第2のテンプレートに関する1の方向についての前記合成形状情報を更に選択し、前記地形形状情報として更新することを特徴とするプログラム。
【請求項8】
請求項2、4のいずれかにおいて、
前記所与の2次元空間上において前記地形形状情報を設定する範囲を規定するマスク情報を設定するマスク設定部としてコンピュータを更に機能させ、
前記基準サイズ設定部が、
前記基準サイズとして前記マスク情報のサイズを設定し、
前記地形形状生成部が、
前記配置設定処理において、
前記マスク情報で規定される範囲内の所与の位置に前記第1のテンプレートを前記地形形状情報として設定し、
前記評価処理において、
各方向についての前記合成形状情報を、前記第2のテンプレートと前記マスク情報との非重複部分のサイズに応じて評価することを特徴とするプログラム。
【請求項9】
請求項8において、
前記評価処理における前記非重複部分のサイズに応じた評価の基準となる第2の評価基準サイズを設定する第2の評価基準設定部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項10】
請求項1〜9のいずれかにおいて、
前記地形形状生成部が、
前記所与の2次元空間上において前記地形形状情報が設定されていない空間のうち、周囲が前記地形形状情報で囲まれ、かつ所定のサイズよりも小さいサイズの空間である隙間空間を判別する隙間空間判別処理と、
前記隙間空間を前記地形形状情報として設定する補正設定処理と、
を更に行うことを特徴とするプログラム。
【請求項11】
請求項1〜10のいずれかにおいて、
生成された前記地形形状情報に高さ情報を設定し、地形オブジェクトを生成する地形オブジェクト生成部と、
前記地形オブジェクトに配置するオブジェクトの位置を決定する位置決定部と、
オブジェクト空間に前記地形オブジェクトを含むオブジェクトを設定するオブジェクト空間設定部と、
前記オブジェクト空間を仮想カメラから見た画像を描画する描画部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項12】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜11に記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項13】
オブジェクト空間に設定される地形の形状情報である地形形状情報を生成する画像生成システムであって、
サイズおよび形状の少なくとも一方が異なる複数の形状情報によって構成される複数のテンプレートを記憶する記憶部と、
前記地形形状情報の基準サイズを設定する基準サイズ設定部と、
所与の2次元空間上に前記テンプレートを前記地形形状情報として設定する地形形状設定処理を行って前記地形形状情報を生成する地形形状生成部とを含み、
前記地形形状生成部が、
前記地形形状設定処理として、
前記基準サイズよりも小さいサイズの複数のテンプレートを前記記憶部に記憶された複数のテンプレートから選択する選択処理と、
選択した複数のテンプレートのうち少なくとも1つのテンプレートを所与の2次元空間上で移動させ、少なくとも2つのテンプレートが重なったときの合成形状情報を生成し、生成した合成形状情報を評価する評価処理と、
前記評価の結果に基づいて、合成形状情報を前記地形形状情報として設定する設定処理とを行うことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−129167(P2009−129167A)
【公開日】平成21年6月11日(2009.6.11)
【国際特許分類】
【出願番号】特願2007−303091(P2007−303091)
【出願日】平成19年11月22日(2007.11.22)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】