Estoy creando un juego sandbox en 2D con generación de terreno procedimental y, durante algunas semanas, he usado esta función de ruido de joeiddon, ligeramente modificada para poder tener varias instancias de ruido. El problema era que esta función no tiene una opción inicial, por lo que no hay forma de decirle que genere el mismo mundo dos veces. Para resolver eso, he estado buscando en Google y codificando durante algunas horas. Eventualmente, me topé con esta función (también ligeramente modificada), que admite semillas. El problema es que cuando uso esta función, casi no hay variación en los mundos. Todos se pueden dividir en cinco categorías, y la diferencia entre diferentes mundos en la misma categoría nunca será más que unos pocos bloques. Entonces, básicamente, necesito una forma de hacer que la primera función funcione con semillas, o necesito averiguar por qué la segunda función no ofrece suficiente variación. No sé si esto ayudará, pero aquí está el código que inicializa los ruidos en función de una semilla aleatoria:
seed = Math.random(); grassNoise = new Perlin(seed); goldMaxNoise = new Perlin(seed/7); goldMinNoise = new Perlin(seed/2); treeNoise = new Perlin(seed*3/2); cloudUpNoise = new Perlin(seed); cloudDownNoise = new Perlin(seed*1.2); coalMaxNoise = new Perlin((seed - 78) / 3); coalMinNoise = new Perlin(seed*7);Solo uso la función perlin2. ¿Alguien podría señalar qué estoy haciendo mal?