ゲームプレイ機能に特化した手続き型の世界世代


36

大規模な手続き型のランドスケープゲームでは、土地は鈍いように見えますが、それはおそらく、現実の世界がほとんど鈍く、風景が劇的または戦術的な場所に限られているためです。

この観点から世界の世代を見ると、ゲームのランドスケープジェネレーター(つまり、風景のためではなく、ゲームプレイのため)は、造園のルールに従う必要はありませんが、代わりに、ゲーマーの期待。たとえば、山や降雨パターンによって生成されるリソースまたは条件に基づいて都市に自然に散在するのではなく、都市間に丘、渓谷、川、山を作成するチョークポイント/ルートジェネレーターがあります。

このように行われている既存の作業はありますか?都市または人口の中心から始めて、その後地形を追加しますか?

私が求めている理由は、ファンタジーフィクション(自分と他の人)から既存のマップを取得し、情報をベースポイントとしてシステムに入力し、そこからプレイするための良い世界を生成することを以前考えていたからです。これは既存の技術、つまり都市の人口、資源、バイオーム、道路網、河川などの必要な情報をすべて入力し、PCGがギャップを埋めることができるようになっているようです。

しかし、今では、コンテンツジェネレーターで全体的なデザインも生成できるかどうか疑問に思っています。自然に見える商業の必要性があるように都市と人口センターを生成し、バランスを取り、位置と接続性を生成し、都市のタイプから近くにある必要があるリソースのリストを生成します。信じられないほど興味深い都市間の旅を作るためのいくつかのルールは、道路、チョークポイント、橋とトンネル、フェリー、必要なバイオームと海岸線を含む地形を含む最終コンテンツを生成します。

これが以前に行われたことがあれば、私は知りたい、そして何がうまくいかなかったかを知りたいです。


あなたのアプローチは奇妙に思えます。なぜ都市と人口中心が最初に来るのかわかりません。それでも、いくつかの都市を配置し、それらのポイントに有利であるがランダムなパラメーターを割り当てて、そこから作業することはできませんか?
共産主義のダック

1
文化的デザインを最初に、地形(および天気)を2番目に使用して、正しい道を進んでいると思います。現実の世界では、社会、文化、経済ネットワーク、構造はどこにも発生しません。代わりに、地形に基づいて発生します(または発生しません)。いくつかの地形は社会の台頭を助長するものではなく、あるものはそうです。砂漠や凍ったツンドラの真ん中に大都市が出現するのは、a)食料や水がほとんど見つからず、b)商品を都市に持ち込むことが難しいためです。
ティム・ホルト

2
@Tim Holt、あなたの角度を理解しています。私の意見では、ゲームのシナリオを設計するとき、クールのルールと楽しみのルールは常にもっともらしさを打ち負かします。活火山の火口に架かる橋を形成する都市は妥当ではないかもしれませんが、それでもクールです。また、プレイヤーがゲームプレイの目的でゲームの世界に均等に分散された都市を必要とする場合、地理的な場所が意味をなさない場合でも、それらを与える必要があります。
フィリップ

回答:


12

これは、湿気、高さなどのパラメータを使用した手続き型地形生成の素晴らしい例です... http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/


2
素敵な作品ですが、それでも景観のランダムな分布が最初に、文明/ゲームプレイ要素が2番目に
リチャードファビアン

完全にランダムではありませんが、文明の要素はありません。このテクニックは多くの異なるゲームプレイ要素に適用できると思いますが、デモの要素はマルチプレイヤーゲーム(マップごとに最大80人のプレイヤー)向けでした:(a)水に囲まれた島。 b)プレイヤーが広がるビーチの楽なエリア、(c)プレイヤーが集中する山のハードなエリア、(d)道路は同じ難易度の他のエリアに連れて行きます、(e)川はあなたをより難易度の高いエリアに連れて行きます。プレイヤーは、ビーチでソロを開始し、センターに向かってグループ化した。
amitp

1
私が探求しようとしていた主なことは、最初にゲームプレイの制約から始め、次に通常のランダムまたは「現実的な」地形ジェネレーターから始めて、ゲームプレイ要素を上に収めようとするのではなく、詳細を埋めるマップを構築することでした。そのスタイルのゲームではうまくいったと思いますが、他のスタイルのゲームでは試していません。
amitp

4

過去3日間、この質問をじっと見つめていたと思いますが、手続き型の世界や銀河であると同時に、どのようにして決定論的であることができるかを自問しています(常に同じシードから同じコンテンツを生成するなど) )、自然に見えるが、その風景にはまだユニークで興味深い、珍しい、または美しい特徴さえある。

これは、ゲームのジャンルとストーリー内の内部の一貫した履歴に大きく依存しているという同じ一般的な答えに戻ります。たとえば、ポスト黙示録的なジャンルでは、なぜ荒野の真ん中に巨大な壁のある大都市を建設し、その中にいるすべての人を惨めに住まわせるのでしょうか?なぜそのような惑星を植民地化するのですか?ハイファンタジーでは、なぜ浮島の上に都市を作るのですか?ドワーフはなぜ山の中に都市を作るのですか?そして、あなたの一般的な邪悪な敵は、活火山の燃えるような土地から来ていますか?クールのルール?

したがって、すべてはPCGに情報を入力してギャップを埋める独自の答えに戻り、プロット線とストーリー全体に一致する世界を生成することに関する他の答えにも戻ります。

だから、プロットは適切な風景を生成するゲームプレイ要素を生成します。

そうは言っても、一貫したプロットラインのツリーを生成するストーリーが、探しているゲームプレイデザイン全体を生成するのではないかと思います。

(PS:これらの同じ3日間の思考により、上昇する可能性のある問題に対する別の答えが得られました。生成されたゲームデザインが適切かどうかを確認する自動テストツールがあるはずです。生成された要塞を倒す時間)


2

StachniakとStuerzlingerの「自動化されたフラクタル地形変形のためのアルゴリズム」は、私が手に負えないものとして見つけることができる同様の問題を扱った論文だけです。最初に地形を作成し、それを変形して(または、アルゴリズムが自動的に変形するパラメーターを選択できるように)後で制約に適合すると想定しているため、質問に直接答えることはありません。それでも、そこに提示されている方法は、同様の問題を抱えている他の人にとって有用であることがわかるかもしれません。


2

そのようなアルゴリズムは、都市間で道路が生成されるときに、より「戦術的な」地形を自動的に生成しませんか?

道路は距離ごとに一定の変化しかできないと仮定すると、地形の高さは道路の高さに合わせられるため、道路が丘/渓谷/その他を通過するたびにチョークポイントが生成されます。もちろん、地形の高さの変化量も制限する必要があります。そうしないと、最高峰をまっすぐに走る道路ができます。


既存の道路が地形生成を削減し、人が作った谷のように見えるものにつながることを意味すると思います。これは興味深いものです。以前、地形ジェネレーターが風景を撮影し、運転するのが難しすぎると判断しましたが、通過するには安いのですか?それは私の質問には答えませんが、発電機が考慮すべき事項のリストに追加します。たとえば、反対の場合(道路が地上にある場合)は、通常見られるものではなく、橋または高架橋を必要としますPCG。
リチャードファビアン

私はそれが実際の生活でどのように行われるかを考えていました:
Exilyth

1
山が形成され、侵食されます。土地には植物や木が生えています。数百万年後、最初の遊牧民が現れ、歩き回り、落ち着くかもしれません。それらは、石の穴や製材などによって周囲の土地に影響を及ぼし始めます。その後、彼らは他の都市を見つけ、それらと取引を開始し、したがって道路が必要になります。通常、地形を変更するよりも地形をたどる方が簡単なので、道路を風景に適応させます(少しのスムージング/平坦化を除く)。あなたが見ることができるように、私はより多くの世界構築の観点から問題をもっと見ています。
Exilyth

2

Cryptic Studiosにいたとき、ミッション/クエスト生成のためにこのような作業をしていました。設計者はミッションの目的をやや抽象的に指定し、「プレーヤーの旅行順序」でランダムにそれらをレイアウトし、それらの間のパスを切り取りました。

初期バージョンはStar Trek OnlineにGenesis Missions (アーカイブ)として同梱されていました。当時は非常に興奮していましたが、私が去った後、それがどれだけ続いたか、エンドユーザーのFoundryツールで利用可能かどうかはわかりません。(これが最終的な目標でした。)


1
これは、プロシージャルプロットジェネレーターで行われた作業、これらのミッションの必要なプロットラインに一致するように世界の詳細を実際に生成したか、世界がどのようなものであるかからミッションを作成したか、ミッションが困難であったかまたは幸運だったように聞こえます生成したものに基づいて簡単ですか?
リチャードファビアン

1

手続き型地形生成の一般的なアプローチは、特定のフィーチャを手動で描画し、ジェネレータを使用して残りを埋めることです。VTerrainは、このトピックに関して何か興味深いものを持っています。


1

Lighthouse 3Dには、地形生成のためのいくつかの簡単なアルゴリズムに関する優れた調査があります。都市やその他の興味深いエリアを含むマップから始める場合、これらの手法のいくつかを使用して、希望する地形を生成できます。たとえば、障害アルゴリズムのインテリジェントな使用を使用して、チョークポイントとして機能する都市周辺の崖や谷を作成できます。また、円アルゴリズムを使用することは、砲塔配置のためにテリアンを生成する素晴らしい方法です。これらはほんの一例ですが、これらの単純なアルゴリズムを使用すると、都市周辺の興味深い地形を生成するためのかなり簡単な方法になります。


1

単純化しすぎているのかもしれませんが、なぜ都市は有利な地形に建てられているという事実、またはそのために、何らかの理由であらゆる規模の文明地域を無視するのでしょうか?多分地形は軍事分割のために戦術的な利点を提供するかもしれません、あるいはおそらく大きな森と下流に大きな村がある川の交差点に製材所があるでしょう。「聖」場所でさえも、その土地の特定の部分が聖とみなされるいくつかの点にあるという単純な事実などでさえ、地形に基づいています。非常に地形に基づいた理由のための物理的なスポット。単に2つの大都市の間で十分な貿易が行われているために中間都市を保証するだけの都市がある場合でも、その都市の場所は、最も抵抗の少ない経路に基づいて選択されます。それは、道路の建設に適した土地と相まって、地元の食料供給のための良い平らな農地を提供するどこかに置かれるでしょう。あなたはこれについて考えたことがあると確信しています...

それで、もしあなたが最初に都市を建設しようとしているなら、確かに、なぜですか?都市、村、集落などを、手作業で構築された、そのタイプの施設をサポートするまともな周囲の塊とともに建設してみませんか?

例として手続き型バイオームを取り上げます。通常、これらは擬似ランダムな温度、湿度、および高さのマップに適用されます。すでに都市(または製材工場など)を設計している場合は、土地がどのように見える必要があるかについての堅実な概念を持っている可能性があります。Orthancのような幻想的な建物に行きましょう。フロアプランと周囲の地形がいっぱいで、忠実に複製されています。タイムラインによっては、OrthancがEnts(ツリークリーチャー)などが住む巨大な森に囲まれていることがわかります。それを複製しようとしている場合、ランダムな地形を適用しても意味がありません。そうは言っても、タワー自体と周囲の森にこの設定を作成したら、Orthancと次の都市との間に何があるのでしょうか?

簡単なアプローチは、プロシージャルテレイン生成を記述し、ランダムに生成されたテレインシステム内に設定を配置し、固定された設定とビオラの周りに高さを移動することです。

ただし、設定、地形、定義済みのバイオームを組み合わせて、Orthancが手続き的に生成された大きな森林バイオームの内部に配置されるようにすることをお勧めします。コーディング方法に応じて、彫刻した定義済みの設定または建物または都市ごとに、最小/最大バイオーム、地形、湿度などを設定できます。これは本格的な写真のようにリアルな3Dの世界では小さな作業でしょうか?明らかにそうではありません。

これを試してみると、まず海岸線の手続きアルゴリズムを研究するだろうと思います。海、海、大きな湖など、歴史を通じてほとんどすべての文明があらゆる海岸線に沿っているというアプローチを採用しています。豊富な釣り、木のための近くの木、そして初歩的な船(少なくとも一方通行)でも確かに速い旅行があるので、それは成長に対する最小の抵抗のパスです。

完全に後方に構築する必要があると思います。他の何かが決定される前に、おそらく文明の人口を決定するノイズアルゴリズムを使用して、文明のポイントを表すマップ上の擬似ランダムドットを考えてください。OK、それで1ポイントが1,000の人口に出て、さらに2,000,000(またはもちろんあなたの世界人口に依存するどんな比率でも)出ます。どうして?なぜそこに人口の数があるのですか?人口1,000人は、製材工場の小さなコミュニティかもしれません。3D球形の世界を作成する場合、マップの北側にあるのであれば、おそらくマイニングコミュニティです。ここでは少しあいまいになります。なぜなら、NESWがすべての方向に無限に進んでいて、バイオームを決定するのに無意味になるのか、非常にリアルな「地球」が必要なのかわからないからです。

ただし、擬似ランダムノイズの母集団に基づいて文明を下ろすと、次のようないくつかのルール(ただし、絶対ではないかもしれません)を安全に想定できると思います。文明が大きくなると、おそらく、手と地形をサポートします。貴重な鉱物、木材などの吐き気が存在するか、そのような巨大企業を支援するために巨大な貿易システムが存在しなければなりません。それに基づいて、都市から都市への高速道路、深層採掘作業などの周辺集落への道路の生成を開始できます。良好な海岸線を形成し、人口ポイントをマップから完全に削除する文明のポイントを選択します海洋(または、あなたの世界にアトランティス号があるか、または海上石油訓練所があるかもしれません)。

再び地形を埋めるのは、バイオームのアプローチに完全に依存します。あらゆる方向の世界に無限がある場合は、人口に合った場所にOrthancを置き、フォレストバイオームに押し込み、アルゴリズムが同じ手続き生成を行う次の事前設定された目的地の半分に達するまで外側に構築します周り。Lerp / Blendで2つの地形が出会うと、はい、これは明らかに単純化しすぎです。

あなたが実際に機械的に達成しようとしていることに関する実際の実用的な知識がなければ、私はアイデアとおそらく悪いものしか捨てることができません。どんなゲームでも常に最も重要な要素をターゲットにしているので、実際には完全に幻想的であっても、あなたのアプローチにはメリットがあると思います:プレイヤーは楽しんでいますか?または、退屈でなく、したがって、楽しくないランダムな世界を作成していますか?

また、何が面白くなりますか?これは、ゲームの文明の生成の一部である可能性があります。地形が最初であろうとなかろうと、2つの大きな都市を隣接して倒すとどうなりますか?どういう意味ですか?彼らは戦争中ですか?彼らは2つの繁栄する国の間で大規模な取引操作を行っていますか?その製材所の森にはどんな敵が潜んでいますか?

「都市」に基づいて地形を構築しようとしている場合、地形と天然資源(そしておそらくは美)の両方で、その都市の人口によって地形が直接影響を受けることは確かだと思います。

私が実際に何かに答えたのか、これが適切だったのかはわかりませんが、それは非常に興味深い概念であり、あなたがそれに向かっている場所を聞きたいです。


0

同じプロセスの一部として、ゲームプレイ機能を同時に生成します。ルールに基づいて地形を構築する方法はいくつかあります。Path to Exile開発者によるこのYouTubeトークは非常に良い例です。 https://www.youtube.com/watch?v=GcM9Ynfzll0。また、あまり事前に構築されたaproachのために、これは面白そう:https://www.youtube.com/watch?v=RAtdFKiqs34を。perlinノイズを使用して、各ボロノイ頂点の高さを生成し、そこから進むことができます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.