Saat ini saya sedang mengerjakan platformer 2D berbasis ubin yang mirip dengan Terraria dalam beberapa hal, meskipun saya mengalami kesulitan dengan generasi terain. Saya memiliki beberapa dasar yang dilakukan, meskipun mereka tidak keluar sebagai sesuatu yang bermanfaat.
Saya telah mencoba beberapa teknik berbeda seperti Perlin Noise dan membaca tentang beberapa yang lain seperti Midpoint Displacement, walaupun saya tidak yakin mana yang terbaik, atau kombinasi teknik yang berbeda untuk menghasilkan area yang berbeda. (Seperti Pemindahan Titik Tengah untuk bentuk umum medan dan Perlin Noise untuk gua-gua.)
Saya telah menemukan penjelasan yang sangat bagus tentang bagaimana saya bisa melapisinya dengan Perpustakaan Kebisingan Kebetulan , meskipun dalam C ++, dan saya tidak tahu cukup C ++ untuk mengkompilasinya menjadi DLL yang dapat saya gunakan dari C #. Saya telah mencoba menyalin ini dalam C #, walaupun, saya tidak tahu bagaimana saya bisa menggabungkan dua efek bersama (gradien untuk basis umum, dan kemudian fraktal untuk detail).
Saat ini saya menggunakan Fraktal Plasma dan hasilnya sangat bervariasi. Misalnya dapat menghasilkan medan di mana hampir tidak ada permukaan, atau dapat menghasilkan medan di mana tidak ada permukaan sama sekali.
Contoh peta yang oke, akan lebih baik dengan beberapa perbaikan lagi. (Hitam solid, putih udara):
Dan contoh peta yang mengerikan. (Hitam solid, putih udara):
Pada dasarnya, yang saya tanyakan adalah, apa cara yang lebih baik untuk menghasilkan medan, atau memaksanya untuk memastikan bahwa ada jumlah permukaan yang masuk akal, dengan waktu pembuatan secepat mungkin. Atau, sebagai alternatif, bagaimana saya bisa mencapai hasil yang sama dengan Perpustakaan Kebisingan Kebetulan, tetapi dalam C #.
Setiap contoh akan sangat dihargai.