Estoy buscando crear un mapa simple, generado "al azar" para un juego pequeño.
El juego consiste en una vista de arriba hacia abajo de un mundo, con áreas terrestres y oceánicas. Piense en un mapa de esquema simple del mundo, por ejemplo.
Lo más parecido a lo que puedo pensar que he visto antes fue el generador de niveles para los viejos juegos de SimCity , o la serie Civ , donde puedes establecer una preferencia por un solo continente en lugar de muchas islas, etc.
¿Qué tipo de algoritmo sería adecuado? El mapa deberá ser moderadamente ampliable, de modo que pueda tener una vista de "todo el mundo", y también una vista local más ampliada, pero creo que lo solucionaré más adelante.
Inicialmente no necesito ningún concepto de alturas, solo dos áreas: tierra y mar, aunque podría extenderlo más tarde.
Respuestas:
El "famoso" Amit (con la página gigante de varios temas de programación de juegos) tiene un blog de programación de juegos, y acaba de completar un tutorial de 3 partes de un método interesante de generación de mapas. Realmente disfruté las lecturas, y hay una demostración funcional en la parte inferior del tercer artículo que es bastante estelar.
"Generación de mapas poligonales" parte 1 , parte 2 , parte 3 .
¡Esta puede ser una técnica que quieras adaptar a tus necesidades! Como mínimo, menciona los algoritmos que usa en cada paso del proceso: comienza generando polígonos Voronoi , los relaja a una distribución más uniforme utilizando la relajación de Lloyd , usa "una función simple para dividir el mundo en tierra y agua". , y luego inundaciones para determinar los océanos y lagos. Parece que puede detenerse allí, o seguir leyendo montañas y valles y convertirlo en 3D, etc.
fuente