Estou construindo uma ilha. Uso a solução clássica do mapa de altura: com uma função de construção de colinas, evitando os cantos do mapa, faço altitude. Então, o ruído permanente me dá algumas variáveis climáticas para lidar com os biomas. Agora, estou enfrentando dois desafios que estão, de alguma forma, conectados:
Em Dwarf Fortress, um dos aspectos mais interessantes da geração mundial é como o jogo parece "conhecer" áreas e dar nomes a elas, embora não sejam formas retangulares. Gostaria de poder "reconhecer" minhas florestas, meus rios, minhas colinas ... alguma idéia de que tipo de algoritmo eu poderia usar para digitalizar meu mapa e interpretar suas áreas? E como você armazenaria isso? Estou usando um gráfico C ++ básico feito de um vetor de vetor de "objeto de peças".
Esta ilha deve ser dividida em áreas políticas, não apenas em regiões puramente naturais. Eu poderia usar montanhas e rios para fazer "fronteiras naturais", mas meu mapa processualmente gerado não garante que terei bons "enclaves" que formariam um reino; Eu poderia me encontrar tendo uma gigantesca área política "em forma de fita" cercada por micro-reinos. Outra possibilidade seria procurar áreas apropriadas para uma cidade ou um castelo. Então, "cresça" uma área política ao seu redor. Mas, novamente, eu gostaria de ter alguns algoritmos conhecidos antes de tentar criar os meus.
Essa pergunta pode ser interpretada como um pouco vaga, então uma maneira de reformular seria: como particionar (sem modificar!) Um mundo gerado procedimentalmente em áreas adequadas para a jogabilidade? Agradeço antecipadamente por sua ajuda.