私は2Dタイルエンジンを開発しており、現在、マップ生成アルゴリズムに取り組んでいます。
私は通常、次のような単純なハイトマップ生成に関係する基本的なものを試しました
- 丘の世代
- パーリンノイズ
- ダイヤモンドスクエア
しかし、私はいつも同じ問題を抱えています。この種のアルゴリズムは、高さコンポーネントもあるタイルマップを処理する場合に適しているようですが、これは私の場合ではありません。
私は基本的に草、海、砂漠などのスプライトを持っていますが、生成された高さに応じてマップ内に配置するべきではなく、次のようなものです。
- すべては海から始まります
- 島はマップの中央に配置されます(これは、私が試したアルゴリズムがほとんど失敗した場所です)
- 砂漠が生成されます(それらは周りのランダムなスポットのようになります)
- 山と丘のチェーンがスポーンされます(ヘビのようになります)
どのようなアプローチを試すべきですか?
必要なことを実行するための特殊なアルゴリズムを開発することで、サブコンポーネントの問題(砂漠、丘、山など)を解決しました(たとえば、山はある地点から始まり、曲がる可能性のある方向をたどります)が、基本的な島(パンゲアまたは何度ものサイズにカスタマイズ可能)。
私が探しているものは、文明アルゴリズムのようなものです。