Je construis une île. J'utilise la solution classique de l'altitude: avec une fonction de construction de collines, en évitant les coins de la carte, je fais de l'altitude. Ensuite, le bruit perlin me donne quelques variables climatiques pour gérer les biomes. Maintenant, je suis confronté à deux défis qui sont en quelque sorte connectés:
Dans Dwarf Fortress, l'un des aspects intéressants de la génération du monde est la façon dont le jeu semble "connaître" les zones et leur donner des noms, bien que ce ne soient pas des formes rectangulaires. J'aimerais pouvoir "reconnaître" mes forêts, mes rivières, mes collines ... une idée du type d'algorithme que je pourrais utiliser pour scanner ma carte et interpréter ses zones? Et comment stockeriez-vous cela? J'utilise un graphe C ++ de base composé d'un vecteur de vecteur d '"objet tuiles".
Cette île doit être divisée en zones politiques, pas seulement en régions purement naturelles. Je pourrais utiliser des montagnes et des rivières pour faire des "frontières naturelles", mais ma carte générée par la procédure ne garantit pas que j'aurai de belles "enclaves" qui formeraient un royaume; Je pouvais me retrouver avec un gigantesque espace politique "en forme de ruban" entouré de micro-royaumes. Une autre possibilité serait de rechercher des zones appropriées pour une ville ou un château. Ensuite, "développez" un espace politique autour de lui. Mais là encore, j'aimerais avoir des algorithmes bien connus avant d'essayer de concevoir les miens.
Cette question pourrait être interprétée comme un peu trop vague, donc une façon de la reformuler serait: comment partitionner (sans modifier!) Un monde généré de manière procédurale en zones adaptées au gameplay? Merci d'avance pour votre aide.