Estoy creando un juego RTS de arriba hacia abajo simple. Planeo hacerlo "al azar" generando mapas sobre la marcha cuando sea necesario. Planeo que todo funcione en 'pases':
- Rellene el terreno con toda la hierba
- Regrese y agregue algunos chorros de grava al azar
- Redondea la grava
- Dibujar paisaje de montaña en la segunda capa
- Redondea montañas
- etcétera etcétera.
Ahora, eche un vistazo a esta imagen a continuación:
Creé esto a mano usando mi editor de mapas, pero planeo que este sea básicamente el resultado después de pasar el paso 3.
¿Cómo debo decidir cuándo y dónde colocar mi grava para que tenga al menos una forma irregular y sea lo suficientemente esporádica como para parecer natural?
Gracias si puedes! ¡Cualquier ayuda es apreciada!
Como nota al margen:
Cada pase es básicamente yo iterando a través de todos mis mosaicos (El mapa está dividido en 40x40 mosaicos) similar a esto:
for (int x = 0; x <= GRIDMAX - 1; x++) {
for (int y = 0; y <= GRIDMAX - 1; y++) {
//Terrain(x, y, 0) = SomethingHere;
}
}
fuente
Esencialmente, puede utilizar la generación de ruido Perlin para generar sus mapas. Debería muestrear el mapa de altura generado y asignar bloques de grava a partes del mapa que tengan una altura superior a cierta.
Aquí hay una excelente publicación de referencia sobre cómo implementar un sistema de este tipo y los diferentes tipos de terreno que podría generar.
Los ejemplos tienen muchos más pasos de los que necesitaría, pero el concepto es el mismo.
Más sobre Minecraft-type world gen
http://www.gamedev.net/blog/33/entry-2227887-more-on-minecraft-type-world-gen/
fuente