フラクタル マップを使用してよりリアルな地理を表現するゲームの作成に興味があります。ただし、私が見つけた唯一のフラクタル マップ プログラムは、たとえばFractal Mapperなどの Windows 専用です。言うまでもなく、それらもオープンソースではありません。
できれば Python または C/C++ で利用できるオープンソースのフラクタル マップ クリエーターはありますか? 理想的には、スタンドアロンではなく、プログラムに「プラグイン」できるものが欲しいです。
フラクタル マップを使用してよりリアルな地理を表現するゲームの作成に興味があります。ただし、私が見つけた唯一のフラクタル マップ プログラムは、たとえばFractal Mapperなどの Windows 専用です。言うまでもなく、それらもオープンソースではありません。
できれば Python または C/C++ で利用できるオープンソースのフラクタル マップ クリエーターはありますか? 理想的には、スタンドアロンではなく、プログラムに「プラグイン」できるものが欲しいです。
Fracplanetが役に立つかもしれません。
基本的な地形生成では、高さマップ (画像) を作成し、ピクセル カラーを高さとして使用してレンダリングします。そのため、画像またはテクスチャの生成コードが役立つ場合があります。これは良いチュートリアルです。
地形の側面については、libnoiseをご覧ください。これは Debian 用にパッケージ化されており、C++ コードの例を含む地形生成に関する章を含む優れたドキュメントがあります。
もちろん、「マップ」には、高さフィールドにいくつかの色を平手打ちするだけではありません (たとえば、Fracplanetは川や湖を追加します)。そして、これらの方法から得られる地形の種類は、実際にはそれほど現実的ではありません。大陸は通常、海岸から岩の多い後背地へと上昇することはないため、大陸移動と造山と侵食のプロセスをシミュレートすることが役立つかもしれません (または、それを偽造することもできます)。そして、植生や生命体の人工物 (道路や町など) をマップに追加したい場合は、セル オートマトンやその他の「人工生命」ツールを検討することをお勧めします。最後に、Virtual Terrain Projectは、より多くのリンクやアイデアを閲覧する価値があります。
のコピーを購入することを強くお勧めします
現在は第 3 版になっているようですが (私は第 2 版しか持っていません)、フラクタル地形での使用に関するいくつかの章を含む、プロシージャル テクスチャリングの使用に関する有用な記事が満載です。ノイズ アルゴリズムの広範な議論から始まるので、基本からすべてを理解できます。著者には Musgrave、Perlin、Worley が含まれているため、これ以上のことはできません。
本当にリアルな地理が必要な場合は、NASA のSRTMデータセットをOpenStreetMap機能と組み合わせて使用できます。:-)
非常に単純な実装は、中点変位フラクタル、http://en.wikipedia.org/wiki/Diamond-square_algorithm、またはやや複雑な Diamond-Squares アルゴリズムを使用することです。 http://www.gameprogrammer.com/fractal.html#diamond
これらは、Photoshop の「差分クラウド」に似たアルゴリズムです。