Évolution des villages
dans la rubrique Coming next...
←
/ #90
/ rss
/ →
Comment faire évoluer les villages pour à la fois apporter de la diversité, et pouvoir les générer à la volée à partir de rêgles simples ?
Etat actuel
Les villages occupent actuellement une seule case sur la carte du monde; ils sont placés plus ou moins aléatoirement à la surface, de façon à ce qu'ils soient suffisamment espacés les uns des autres. Chaque village est entouré de remparts, ces remparts étant constitués de murs et de tours dans chaque coin et de part et d'autre des routes d'accès. Une église et des maisons remplissent ensuite aléatoirement l'intérieur du village.
Des routes relient les villages les plus proches selon l'algorithme A star. Cet algorithme fonctionne bien, mais est très gourmand en ressources : il prend facilement 75 % du temps de création totale d'un monde.
Étendre les villages
J'ai réalisé en ajoutant les premiers PNJ aux villages que j'allais rapidement être à l'étroit pour tout caser sur une une seule zone, fusse-t-elle de 32 x 32 ou 64 x 64 cases. Une première évolution consisterai à étendre les villages sur plusieurs cases monde, en thématisant chacune d'elle : ici la zone des artisans et des marchands, là un chateau avec casernes et soldats, là encore un prieuré et les dépendances des moines.
Comment choisir quelles types de zones vont composer un village ? En simulant par exemple son développement depuis sa fondation à partir des ressources qui l'entourent, à la façon d'un "Civilization" simplifié. Un village pourra se développer à partir de ressources de bois (cases de forêts), de pierre (cases de montagne) ou de nourriture (animaux des cases de plaine ou de bord de mer).
Les zones dans les villages étendus
Voici une première liste du contenu des zones qu'on pourra trouver dans un village étendu :
Pour la noblesse :
- les chateaux
- les fortifications
- les casernes
Pour le clergé :
- les églises et les cathédrales à l'intérieur des villages
- les abbayes et les prieurés à l'extérieur
Pour le Tiers-Etat :
- les champs cultivés : paysans et cultures sont à l'extérieur de la ville
- la zone des artisans : pour faire réparer, mais aussi apprendre un métier lié à l'artisannat
- les halles (la zone des marchands) : pour acheter et vendre des biens
Les remparts
Les remparts devront être mis à jour pour suivre le contour des villages qui s'étendront sur plusieurs cases monde.
Mise à jour des routes
Une fois que le premier village créé atteint une taille raisonnable (mettons 4 cases monde), l'envoi d'un convoi de colons est simulé selon l'algorithme Djikistra inversé (il cherche à s'éloigner le plus possible du village d'origine). Une route est ajouté sur son trajet, et une fois arrivé à distance raisonnable de son point de départ, un nouveau village est fondé.
Cette methode, plus réaliste, devrait également être plus rapide que celle utilisée actuellement.
Les royaumes
Plusieurs villages pourraient être initiés simultanément, constituant chacun un royaume indépendant. La surface effective du royaume sera alors calculée en évaluant l'ensemble des cases du monde à moins de 3 cases d'un village ou d'une route du royaume. Si une case fait partie d'au moins deux royaumes différents, il y a conflit ou accord diplomatique et commercial.
Quand et comment ?
J'hésite encore à intégrer tout ou partie de ces mises à jour dès la version 0.1 à venir. Certaines me semblent assez simples à mettre en place, comme les villes sur plusieurs cases monde, et les remparts associés. Le reste pourra suivre avec les versions 0.2 et suivantes.









Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.