Anda bisa menggunakan 1D Perlin noise untuk itu. Berikut gambar noise 2D. Saya mengambil sampel di mana garis merah berada dan mengalikannya dengan beberapa konstanta untuk mendapatkan garis hijau.
Konstanta Anda mengalikan nilai akan menentukan ketinggian noise. Jadi Anda bisa dengan mudah meningkatkan kesulitan. Manfaat lain dari kebisingan Perlin adalah, bahwa ia dapat menghasilkan kebisingan ubin, sehingga Anda dapat membangun tingkat yang tampaknya tidak ada habisnya.
Jika Anda ingin membuat bagian bawah dan langit-langit, penting agar Anda tidak menghasilkan area yang tidak dapat dilewati. Cara termudah adalah dengan menggunakan bagian "atas" dari kebisingan (mis. 1.0 - noiseValue
) Sebagai langit-langit dan bagian bawah ( noiseValue
) untuk bagian bawah (dengan beberapa offset di antara tentu saja). Jika itu terlihat terlalu membosankan, Anda juga dapat mempertimbangkan dua sampel dekat, misalnya. bayangkan garis sampel merah lain satu atau dua piksel naik atau turun. Ini akan memberikan gelombang yang serupa, tetapi tidak sama.