Saya baru-baru ini menjadi terpesona oleh hal-hal yang dapat dilakukan dengan medan prosedur dan sudah mulai bereksperimen dengan dunia membangun sedikit. Saya ingin membuat dunia seperti benteng Kerdil dengan bioma yang dibuat dari menyatukan berbagai peta.
Jadi langkah pertama sudah dilakukan. Menggunakan algoritma diamond-square saya telah membuat beberapa hieghtmaps yang bagus. Langkah selanjutnya adalah saya ingin menambahkan beberapa fitur air dan membuatnya agak realistis dihasilkan dengan curah hujan. Saya telah membaca tentang beberapa pendekatan yang berbeda seperti mulai dari titik-titik tinggi peta, dan "melangkah" ke titik tetangga terendah, mengumpulkan / mengikis saat ia bergerak turun ke permukaan laut.
Apakah ada algoritma yang didokumentasikan dengan ini atau mereka lebih dari manset?
Senang jika ada saran / pemikiran.
Jawaban:
Amit Patel, pengguna situs ini, telah menciptakan sumber informasi yang luar biasa tentang generasi dunia acak yang tentunya akan bermanfaat bagi Anda.
Selanjutnya ada beberapa pertanyaan / jawaban yang bagus tentang pembuatan prosedural di situs ini.
Pembuatan jalan / sungai pada peta grid 2d
Generasi dunia prosedural berorientasi pada fitur gameplay
Bagaimana saya bisa menghasilkan danau dan sungai acak di game saya?
Pembuatan peta acak
sumber
Kembali ketika saya bereksperimen dengan hal semacam ini (akhir 1990-an), saya membaca beberapa makalah dan buku untuk belajar tentang aliran air, tetapi saya tidak mencatat yang mana yang saya lihat. Saya akhirnya melakukan hal saya sendiri karena saya ingin menangani erosi. Saya ingin sungai menghasilkan ngarai dan dataran banjir. Saya ingin waduk bendungan terisi oleh sedimen. Saya ingin sungai menghasilkan efek seperti berkelok-kelok dan danau oxbow. Saya ingin saluran irigasi dan pengalihan air. Saya ingin banjir merusak pertanian dan rumah di dataran banjir.
Saya menyimpan beberapa catatan (tautan) di bagian Geografi halaman ini . Ada kertas Jos Stam yang harus dibaca. Sayangnya saya tidak pernah mengatur catatan. Sayangnya, game ini untuk OS / 2 jadi saya tidak bisa dengan mudah memberikan Anda executable yang bisa dijalankan. Dan juga sayangnya, kode saya mengerikan, tetapi jika Anda ingin melihatnya, lihat water.cpp dalam kode sumber (zip).
Hal-hal yang saya mainkan dalam simulasi saya (tidak semua realistis):
Secara keseluruhan, pengalaman saya adalah bahwa semua ini cukup menyenangkan untuk dimainkan, tetapi butuh banyak heuristik dan penyesuaian untuk membuatnya bekerja. Saya tidak pernah sampai pada titik di mana saya dapat mengatakan bahwa penciptaan sungai terasa alami dan tak terhindarkan tanpa mengutak-atik. Sangat menyenangkan (baik sebagai programmer dan sebagai pemain) sehingga saya menghabiskan waktu bertahun-tahun untuk itu, dan tidak pernah menyelesaikan sisa permainan. :)
sumber
Sebagian besar implementasi yang saya lihat telah menggabungkan "peta sungai" (menggunakan pita sempit dari kebisingan Perlin atau pendekatan serupa) atau metode "hujan" yang Anda sebutkan.
Berikut adalah beberapa poin utama:
sumber