Je simplifie peut-être trop les choses, mais pourquoi ne pas ignorer le fait que les villes sont construites sur des terrains avantageux ou, en l'occurrence, n'importe quelle taille d'une zone civilisée pour une raison quelconque? Peut-être le terrain offre-t-il un avantage tactique pour un contingent militaire ou peut-être existe-t-il une scierie à l'intersection d'une grande forêt et d'une rivière avec un village plus important en aval. Même les lieux "sacrés" sont basés sur le terrain, même si, pour la simple raison que cette partie de la terre a été à un moment réputée sainte, etc. lieu physique pour des raisons très basées sur le terrain. Même dans le cas d'une ville naissante simplement parce qu'il y a suffisamment d'échanges commerciaux entre deux grandes villes pour justifier la présence d'un intermédiaire, si vous voulez, cette ville serait choisie en fonction du chemin de moindre résistance. Il serait placé dans un endroit offrant de bonnes terres agricoles plates pour l’alimentation locale ainsi que des terres qui se prêtent bien à la construction de routes. Je suis sûr que tu as pensé à ça ...
Donc, si vous construisez d'abord les villes, bien sûr, pourquoi pas? Pourquoi ne pas construire la ville, le village, la colonie ou quoi que ce soit, avec un bon morceau de terrain environnant, construit à la main, qui supporte ce type d'établissement?
Prenons comme exemple les biomes procéduraux. Ils sont généralement appliqués aux cartes pseudo-aléatoires de température, d'humidité et de hauteur. Si vous avez déjà conçu la ville (ou le moulin à bois, etc.), alors vous avez probablement une idée précise de ce à quoi la terre doit ressembler, ce qui, si je ne me trompe pas, est exactement ce que vous voulez dire. Prenez un bâtiment fantastique comme Orthanc, regorgeant de plans et de terrains environnants, que vous avez consciencieusement reproduit. Eh bien, nous savons que, selon la chronologie, Orthanc était entouré d'une immense forêt peuplée d'Ents (créatures d'arbres), etc. Si vous essayez de reproduire cela, alors appliquer un terrain aléatoire n'a aucun sens pour moi. Cela étant dit, une fois que vous avez créé ce paramètre pour la tour elle-même et la forêt environnante, qu'est-ce qui se situe entre Orthanc et la ville de votre choix?
Une approche simple peut consister à écrire votre génération procédurale de terrain, à placer votre réglage dans un système de terrain généré aléatoirement et à atteindre votre hauteur autour de votre réglage fixe et votre alto vous pouvez placer Orthanc dans de nombreux mondes différents générés aléatoirement (si c'est ce que vous recherchez).
Je pense toutefois que vous feriez mieux de combiner environnement, terrain et biome défini et de vous assurer que Orthanc est placé à l'intérieur d'un grand biome forestier généré de manière procédurale. Selon la manière dont vous le codez, vous pouvez définir le biome, le terrain, l’humidité, etc. minimum / maximum pour chaque paramètre, bâtiment ou ville prédéfini que vous avez sculpté. Serait-ce une petite tâche dans un monde 3d photoréaliste à part entière? Évidemment pas.
Je pense que si je devais tenter cela, je rechercherais d’abord des algorithmes de procédure côtiers. Considérant que presque toutes les civilisations de l’histoire ont suivi les côtes, qu’il s’agisse d’un océan, d’une mer ou d’un grand lac. C'est le chemin le moins résistant à la croissance car il y a probablement une pêche abondante, des arbres à proximité pour le bois et un déplacement certainement plus rapide, même avec une embarcation rudimentaire (au moins à sens unique).
Je penserais que vous devriez construire complètement en arrière. Pensez, points pseudo-aléatoires sur une carte représentant des points de civilisation éventuellement avec un algorithme de bruit déterminant les populations de ces civilisations avant toute autre chose est déterminée. OK, 1 point sur une population de 1 000 habitants, 2 000 000 de plus (ou le ratio selon la population mondiale, bien sûr). Pourquoi? Pourquoi ce nombre de populations là-bas? Une population de 1 000 habitants pourrait être la petite communauté de scieries. C’est peut-être une communauté minière située au nord de la carte si vous créez un monde sphérique en 3D. Cela devient un peu flou ici parce que je ne sais pas si vous allez à l'infini dans toutes les directions rendant NESW inutile dans la détermination des biomes ou si vous voulez une véritable "Terre"
Cependant, si vous assimilez vos civilisations, en vous basant sur des populations de bruit pseudo-aléatoires, je pense que nous pouvons sans risque supposer quelques règles (mais peut-être pas absolues) comme ... Plus la civilisation est grande, très probablement, plus le nombre de ressources utiles sur la main et le terrain pour les soutenir. Des minéraux précieux, des bois, etc., doivent être présents à tout moment, sans quoi un vaste système commercial doit être mis en place pour soutenir une entreprise de cette envergure. Sur cette base, vous pouvez commencer à générer des autoroutes de ville en ville et des routes menant à des zones périphériques, comme une exploitation minière en profondeur, etc. Choisissez des points de civilisation qui formeraient de bonnes côtes et feraient complètement disparaître les points de population de la carte où vous devrez remplir votre les océans (ou peut-être que vous avez Atlantis dans votre monde, ou des forages pétroliers en mer).
Remplir le terrain entre les deux dépend encore une fois de votre approche du biome. Si vous avez un monde infini dans toutes les directions, placez Orthanc là où cela convient, forcez-le dans un biome forestier et construisez-le vers l'extérieur jusqu'à ce que vous arriviez à mi-chemin de votre prochaine destination prédéfinie pour laquelle votre algorithme effectue la même génération procédurale. environ. Lerp / Mélangez les deux terrains lorsqu’ils se rencontrent et, oui, c’est une simplification évidente.
Sans une réelle connaissance pratique de ce que vous essayez réellement d'accomplir de manière mécanique, je ne peux que lancer des idées, voire de mauvaises. Je pense que votre approche a du mérite, même si elle est complètement fantastique en réalité, parce que vous ciblez ce qui est toujours le facteur le plus important de tout jeu: le joueur s’amuse-t-il? Ou est-ce que je crée un monde aléatoire qui n'est pas ennuyeux et donc pas amusant?
Qu'est-ce qui pourrait aussi devenir intéressant, et cela pourrait faire partie de la génération de civilisations dans n'importe quel jeu, que ce soit le terrain d'abord ou non, que se passe-t-il si vous plongez deux grandes villes l'une à côté de l'autre? Qu'est-ce que ça veut dire? Sont-ils en guerre? S'agit-il d'opérations commerciales massives entre deux pays florissants? Quel genre d'ennemis se cache dans les bois de cette scierie?
Je pense qu’une chose est certaine si vous essayez de construire un terrain basé sur des "villes", c’est-à-dire que le terrain serait directement affecté par la population de ladite ville, tant en termes de paysage que de ressources naturelles (et peut-être même de beauté).
Je ne sais pas si j'ai vraiment répondu à quelque chose ou si c'était approprié, mais c'est un concept très intéressant et j'aimerais savoir où vous vous dirigez.