マップを生成する方法


27

小さなゲーム用に、単純な「ランダムに」生成されたマップを作成したいと考えています。

ゲームは、陸地と海域のある世界のトップダウンビューで構成されています。たとえば、世界の簡単なアウトラインマップを考えてください。

私が今まで見た中で最も近いと思うのは、古いSimCityゲームのレベルジェネレーター、または多くの島などに対して単一の大陸を優先的に設定できるCivシリーズです。

どのようなアルゴリズムが適していますか?マップは適度にズーム可能である必要があるため、「全世界」ビュー、さらにズームインしたローカルビューを使用できますが、後で整理するつもりです。

最初は、高さの概念は必要ありません。2つの領域(陸と海)だけです。後で拡張することもあります。


私はある種のパーリンノイズ関数を使用して、世代の線に沿って考えていますが、基本的に2次元ハイトあるものから取得する方法を確認していない、ラインのセットに高さX.ですべての領域を接続した
円筒

回答:


21

「有名な」アミット(さまざまなゲームプログラミングトピックの巨大なページを含む)にはゲームプログラミングのブログがあり、興味深い3部構成のマップ生成方法のチュートリアルを完了しました。読み取りは本当に楽しかったです。3番目の記事の最後には、非常に優れた実用的なデモがあります。

「ポリゴンマップの生成」パート1パート2パート3

これは、あなたのニーズに適応したいテクニックかもしれません!少なくとも、彼はプロセスの各ステップで使用するアルゴリズムに言及しています。ボロノイポリゴンの生成から始め、ロイド緩和を使用してより均等な分布に緩和し、「世界を陸と水に分割する単純な関数」を使用します。 、そして洪水でいっぱいになり、海と湖を決定します。そこに止まるか、山や谷を読み進めて3Dに変換できるなどのように思えます。


2
ああすごい、Amitのガイドを使ってA *を学習しました。彼は私の頭の中に見えるようなものだ:)タイム「<3アミット」タトゥー...ことを得るために
円筒形の

1
これらは本当に素晴らしいFREAKINされている
コルム

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