Mientras que las otras respuestas aquí son realmente buenas para generar los tipos de paisajes estáticos que funcionarían para esta necesidad específica. Hay otros métodos que las personas que se encuentran con esta pregunta podrían estar buscando si desean crear paisajes que cambien con el tiempo o parezcan mucho más realistas, puede seguir esta técnica.
A diferencia de las otras respuestas, comienzas esto con un mapa completamente vacío. Comience con lo que consideraría ser el nivel del mar. Use el ruido Perlin para agregar una variación muy leve, si tiene 256 elevaciones posibles, no varíe más de 3-5 en cualquier dirección. Esto construye los primeros miles de millones de años de su paisaje sin tener que ejecutar una simulación durante tanto tiempo.
Placas tectónicas
Divida el mapa a lo largo de líneas rectas o curvas para crear placas, cuanto más detalladas sean las formas de las placas, más interesante será su paisaje. Mantenlos grandes. Dale a cada plato una dirección, velocidad. Durante un período de tiempo determinado, mueva las placas de forma escalonada alrededor del mapa, arrastrando todas las fichas sobre ellas con ellas.
Cuando se cruzan dos placas, elija cuál pasará y cuál se hundirá, esta elección puede ser aleatoria. Las baldosas en las placas designadas debajo se reducen instantáneamente en altura en 5 pasos. Una vez que se ha designado una placa encima o debajo, todas las interacciones futuras con placas seguirán estas reglas:
- Cuando una placa designada cruza una placa no designada, la placa no designada se convierte en el tipo opuesto. (Por lo tanto, las placas UD se vuelven inferiores cuando se cruzan por encima).
- Cuando una placa superior se asienta sobre una placa inferior, todas esas fichas suben 0-1 escalones de elevación, y las fichas siguen el camino de la placa superior.
- Cuando una placa superior cruza una placa superior, todas esas fichas suben 1-2 pasos, y las fichas en la región de cruce ya no se desplazan.
- Cuando una placa inferior cruza una placa inferior, cualquier mosaico en el área con una elevación mayor que la marca del 66% para ambas placas en la región cruzada se mueve de 1 a 3 pasos (como por actividad volcánica, esto producirá islas durante el tiempo suficiente ) y las fichas en esta área dejan de ir a la deriva.
Todas las placas que cruzan se ralentizan en un 20% de su velocidad actual en cada paso. Para mayor realismo, agregue un cambio aleatorio de -10% a 10% en la dirección del movimiento en cada paso.
Después de realizar el número deseado de pasos. Probablemente 5-10 son suficientes. Cualquier mosaico en el que no haya placas residentes debe dejarse caer al nivel más bajo existente.
¿Grande o pequeño?
Este mapa se puede usar como está o se puede expandir para crear un mapa mucho más grande al dividirlo en bloques de 4X4 mosaicos (celdas) y expandir esas secciones en función de sus elevaciones individuales. Trate la elevación de cada celda como un punto y cree una gradación suave en el mapa más grande entre esos puntos. Entonces, si el mapa más grande es 40X40 en lugar de 4X4, y el punto (0,0) era 10 y el punto (0,1) era 1, los mosaicos en el mapa más grande entre ellos serían 10,9,8,7,6 , 5,4,3,2,1 de altura. Se puede agregar más ruido de Perlin para suavizar las pendientes. Sobre todo, esta técnica de escala es similar al algoritmo Diamond Square .
Agua
Para simular ríos y lagos, océanos y capas freáticas. Prefiero usar autómatas celulares .
Las alturas se convierten en flotadores o rangos int expandidos para permitir un seguimiento de grano más fino. Las células de agua tienen valores de saturación, digamos en el rango de 1-256. Los mapas deben comenzar de manera uniforme. Tendrás que jugar con los números para tus tamaños de mapa individuales, sin embargo, en general, seguirás reglas como esta:
- Si una celda vecina está más saturada, aumente la saturación y gane altura.
- Si una celda vecina está menos saturada, disminuya la saturación y pierda altura.
Haga esta verificación para cada celda vecina. Ejecute una cantidad suficiente de pasos. Si lo desea, puede agregar temperatura a esta simulación cambiando la cantidad de saturación perdida / ganada por esa temperatura. También puede cambiarlo según la elevación. Se deben formar lagos y ríos naturales. Algunos caerán al océano. (El océano probablemente no se llenará por ninguna métrica, pero de todos modos designarás cualquier cosa debajo del nivel del mar para que se llene de agua al final).
Puede mantener los datos de temperatura y saturación para usar, como en las otras respuestas, para crear biomas. Deberían ser MUCHO más precisos e interesantes. Con biomas nevados en los polos y calientes en el medio (si usa una lista gradual de temperaturas suave).
También puede simular el viento y, por lo tanto, los cambios de temperatura en función de las elevaciones. Si lo desea, puede avanzar y retroceder entre la simulación de temperatura y la simulación de agua. Sin embargo, no he construido nada con los cambios de temperatura, por lo que no comentaré cómo hacerlo.
Paisajes en evolución
Si mantiene las simulaciones de tierra, agua y calor y reduce drásticamente sus efectos y también evita que las placas se muevan, puede continuar cambiando todas estas métricas con el tiempo. No ejecutaba los cálculos muy a menudo, pero puede obtener un mapa mundial que responda a los cambios de esta manera.
Conclusión
Si bien este tipo de técnicas son mucho más complicadas, producen efectos mucho más realistas y evolutivos. Tómelo por lo que vale?