Bạn có thể sử dụng tiếng ồn Perlin 1D cho điều đó. Đây là hình ảnh của nhiễu 2D. Tôi lấy các mẫu có đường màu đỏ và nhân chúng với một số hằng số để có được đường màu xanh lá cây.
Hằng số bạn nhân các giá trị với sẽ xác định chiều cao của nhiễu. Vì vậy, bạn có thể dễ dàng tăng cường độ khó. Một lợi ích khác của tiếng ồn Perlin là, nó có thể tạo ra tiếng ồn có thể điều chỉnh được, để bạn có thể xây dựng một mức độ dường như vô tận.
Nếu bạn muốn tạo đáy và trần, điều quan trọng là bạn không tạo ra bất kỳ khu vực không thể vượt qua nào. Cách đơn giản nhất chỉ đơn giản là sử dụng phần "phía trên" của tiếng ồn (ví dụ 1.0 - noiseValue
) làm trần và phần dưới ( noiseValue
) cho phần dưới (dĩ nhiên có phần bù ở giữa). Nếu nó trông quá buồn tẻ, bạn cũng có thể xem xét hai mẫu gần, ví dụ. tưởng tượng một dòng mẫu màu đỏ khác một hoặc hai pixel lên hoặc xuống. Điều này sẽ cho một làn sóng tương tự, nhưng không giống hệt nhau.