Estoy construyendo una isla. Uso la solución clásica de mapa de altura: con una función de construcción de colinas, evitando las esquinas del mapa, hago altitud. Entonces, el ruido perlin me da algunas variables climáticas para manejar los biomas. Ahora, me enfrento a dos desafíos que, de alguna manera, están conectados:
En Dwarf Fortress, uno de los aspectos más interesantes de la generación mundial es cómo el juego parece "conocer" las áreas y darles nombres, aunque no son formas rectangulares. Me gustaría poder "reconocer" mis bosques, mis ríos, mis colinas ... ¿alguna idea de qué tipo de algoritmo podría usar para escanear mi mapa e interpretar sus áreas? ¿Y cómo almacenarías eso? Estoy usando un gráfico básico de C ++ hecho de un vector de vector de "objeto de mosaico".
Esta isla debe dividirse en áreas políticas, no solo en regiones puramente naturales. Podría usar montañas y ríos para hacer "fronteras naturales", pero mi mapa generado por procedimientos no garantiza que tendré buenos "enclaves" que formarían un reino; Podría encontrarme con una gigantesca área política "en forma de cinta" rodeada de micro reinos. Otra posibilidad sería buscar áreas apropiadas para una ciudad o un castillo. Luego, "haga crecer" un área política a su alrededor. Pero de nuevo, me gustaría tener algunos algoritmos bien conocidos antes de intentar idear el mío.
Esta pregunta podría interpretarse como un poco vaga, por lo que una forma de reformularla sería: ¿cómo dividir (sin modificar) un mundo generado por procedimientos en áreas adecuadas para el juego? Gracias de antemano por tu ayuda.