Podrías usar el ruido 1D Perlin para eso. Aquí hay una imagen de ruido 2D. Tomé muestras donde está la línea roja y las multipliqué con alguna constante para obtener la línea verde.
La constante con la que multiplique los valores determinará la altura del ruido. Para que pueda aumentar fácilmente la dificultad. Otro beneficio del ruido de Perlin es que puede generar ruido enlosable, para que pueda construir un nivel aparentemente interminable.
Si desea crear un fondo y un techo, es importante que no genere áreas intransitables. La forma más fácil sería simplemente usar la parte "superior" del ruido (p. Ej. 1.0 - noiseValue
) Como techo y la parte inferior ( noiseValue
) para la parte inferior (con cierto desplazamiento en el medio, por supuesto). Si eso parece demasiado aburrido, también podría considerar dos muestras cercanas, por ejemplo. imagine otra línea de muestra roja uno o dos píxeles hacia arriba o hacia abajo. Esto dará una onda similar, pero no idéntica.