Vielleicht bin ich zu stark vereinfacht, aber warum sollte man die Tatsache ignorieren, dass Städte auf vorteilhaftem Terrain gebaut sind, oder, aus welchem Grund auch immer, jede Größe eines zivilisierten Gebiets? Vielleicht bietet das Gelände einen taktischen Vorteil für eine militärische Rate oder vielleicht gibt es eine Holzmühle an der Kreuzung eines großen Waldes und eines Flusses, der ein größeres Dorf stromabwärts hat. Sogar "heilige" Orte basieren auf dem Terrain, selbst wenn die einfache Tatsache, dass dieser bestimmte Abschnitt des Landes zu einem bestimmten Zeitpunkt als heilig angesehen wurde, usw. Unabhängig von den Konsequenzen existiert die letzte Ruhestätte der überwiegenden Mehrheit der Zivilisation in einem physischer Ort aus sehr geländebasierten Gründen. Sogar im Fall einer Stadt, die einfach deshalb aufkeimt, weil zwischen zwei größeren Städten genug Handel stattfindet, um einen Mittelsmann zu rechtfertigen, wenn Sie so wollen. Diese Stadtlage würde auf der Grundlage des Weges des geringsten Widerstands gewählt. Es sollte an einem Ort platziert werden, an dem sich gutes, flaches Ackerland für die lokale Nahrungsmittelversorgung und Land für den Bau von Straßen anbietet. Ich bin sicher, Sie haben darüber nachgedacht ...
Wenn Sie also zuerst die Städte bauen wollen, warum nicht? Warum nicht die Stadt, das Dorf, die Siedlung oder was auch immer bauen, zusammen mit einem anständigen Stück von Hand gebautem Gelände, das diese Art von Einrichtung unterstützt?
Nehmen Sie als Beispiel prozedurale Biome. Sie werden normalerweise auf pseudozufällige Karten für Temperatur, Luftfeuchtigkeit und Höhe angewendet. Wenn Sie die Stadt (oder die Holzmühle usw.) bereits entworfen haben, haben Sie wahrscheinlich eine genaue Vorstellung davon, wie das Land aussehen muss. Wenn ich das nicht missverstehe, ist das genau Ihre Sache. Nehmen Sie ein Fantasy-Gebäude wie Orthanc, vollgepackt mit Grundrissen und umgebendem Gelände, das Sie pflichtgemäß nachgebildet haben. Nun, wir wissen, dass Orthanc je nach Zeitachse von einem riesigen Wald umgeben war, der mit Ents (Baumkreaturen) usw. bevölkert war. Wenn Sie versuchen, dies zu replizieren, macht es für mich keinen Sinn, ein zufälliges Terrain anzuwenden. Abgesehen davon, wenn Sie diese Einstellung für den Turm selbst und den umliegenden Wald erstellt haben, was ist dann zwischen Orthanc und Ihrer nächsten Stadt?
Ein einfacher Ansatz könnte darin bestehen, Ihre prozedurale Geländegenerierung zu schreiben, Ihre Einstellungen in einem zufällig generierten Geländesystem zu platzieren und Ihre Höhen um Ihre festgelegte Einstellung und Bratsche zu verschieben.
Ich denke jedoch, dass Sie am besten mit einer Kombination aus Umgebung, Gelände und definiertem Biom zurechtkommen und sicherstellen, dass Orthanc in einem prozedural generierten großen Waldbiom platziert wird. Abhängig davon, wie Sie es codieren, können Sie für jede vordefinierte Einstellung, jedes Gebäude oder jede Stadt, die Sie geformt haben, Min / Max-Biome, Terrain, Luftfeuchtigkeit usw. festlegen. Wäre dies eine kleine Aufgabe in einer vollwertigen fotorealistischen 3D-Welt? Offensichtlich nicht.
Ich denke, wenn ich das versuchen würde, würde ich zuerst die prozeduralen Algorithmen der Küste untersuchen. Fast alle Zivilisationen in der Geschichte sind jeder Küste gefolgt, sei es ein Ozean, ein Meer oder ein großer See. Dies ist der Weg mit dem geringsten Widerstand für das Wachstum, da es wahrscheinlich reichlich Fischfang gibt, Bäume in der Nähe nach Holz und sicherlich schnelleres Reisen, selbst mit rudimentären Wasserfahrzeugen (zumindest in eine Richtung).
Ich würde denken, Sie müssten komplett rückwärts bauen. Denken Sie, pseudozufällige Punkte auf einer Karte, die Zivilisationspunkte darstellen, möglicherweise mit einem Rauschalgorithmus, der die Populationen dieser Zivilisationen bestimmt, bevor etwas anderes bestimmt wird. OK, also 1 Punkt ergibt eine Bevölkerung von 1.000, weitere 2.000.000 (oder was auch immer, natürlich abhängig von Ihrer Weltbevölkerung). Warum? Warum gibt es so viele Einwohner? Eine Bevölkerung von 1.000 könnte die kleine Holzmühlengemeinschaft sein. Vielleicht ist es eine Bergbaugemeinde, wenn sie sich auf der Nordseite der Karte befindet, falls Sie eine kugelförmige 3D-Welt erschaffen. Hier wird es ein bisschen unklar, weil ich nicht weiß, ob Sie in alle Richtungen unendlich weit gehen und NESW bei der Bestimmung von Biomen sinnlos machen oder eine sehr reale "Erde" wollen.
Wenn Sie jedoch Ihre Zivilisationen auf der Grundlage von pseudozufälligen Lärmpopulationen plumpsen, können wir sicher ein paar Regeln annehmen (aber vielleicht keine absoluten) wie ... Je größer die Zivilisation ist, desto wahrscheinlicher ist die Anzahl der nützlichen Ressourcen Hand und das Gelände, um sie zu unterstützen. Wertvolle Mineralien, Hölzer usw. und Übelkeit müssen vorhanden sein oder es muss ein riesiges Handelssystem vorhanden sein, um solch ein riesiges Unternehmen zu unterstützen. Auf dieser Grundlage können Sie Autobahnen von Stadt zu Stadt und Straßen zu den abgelegenen Siedlungen wie z. B. Tiefbauarbeiten generieren. Wählen Sie Zivilisationspunkte aus, die eine gute Küstenlinie formulieren, und lassen Sie die Bevölkerungspunkte vollständig von der Karte verschwinden, auf denen Sie Ihre Straßen füllen müssen Ozeane (oder vielleicht haben Sie Atlantis in Ihrer Welt oder Offshore-Ölbohrer).
Das Wiederauffüllen des dazwischen liegenden Terrains hängt vollständig von Ihrem Biome-Ansatz ab. Wenn Sie eine unendliche Welt in jede Richtung haben, legen Sie Orthanc dort ab, wo es in Bezug auf die Bevölkerung passt, forcieren Sie es in ein Waldbiom und bauen Sie es nach außen, bis Sie auf halbem Weg zu Ihrem nächsten voreingestellten Ziel sind, an dem Ihr Algorithmus die gleiche prozedurale Generierung durchführt um. Lerp / Blend die beiden Terrains zusammen, wenn sie sich treffen und ja, das ist eine offensichtliche Vereinfachung.
Ohne ein wirkliches Wissen darüber, was Sie tatsächlich mechanisch erreichen wollen, kann ich nur Ideen und möglicherweise auch schlechte wegwerfen. Ich denke, Ihr Ansatz hat seine Berechtigung, auch wenn er in der Realität absolut fantastisch ist, denn Sie zielen auf das ab, was in jedem Spiel immer der wichtigste Faktor ist: Hat der Spieler Spaß? Oder erstelle ich eine zufällige Welt, die nicht langweilig ist und daher keinen Spaß macht?
Was würde auch interessant werden, und dies könnte ein Teil der Zivilisationsgeneration in jedem Spiel sein, ob Gelände zuerst oder nicht. Was passiert, wenn Sie zwei große Städte nebeneinander plumpsen? Was heißt das? Führen sie krieg Handelt es sich um massive Handelsgeschäfte zwischen zwei florierenden Nationen? Was für Feinde lauern in den Wäldern dieser Holzmühle?
Ich denke, eines ist sicher, wenn Sie versuchen, Terrain basierend auf "Städten" zu bauen, und das Terrain wird direkt von der Bevölkerung dieser Stadt beeinflusst, sowohl in Bezug auf Landschaft als auch auf natürliche Ressourcen (und vielleicht sogar in Bezug auf Schönheit).
Ich bin mir nicht sicher, ob ich tatsächlich etwas beantwortet habe oder ob dies angemessen war, aber es ist ein sehr interessantes Konzept und ich würde gerne hören, wohin Sie damit gehen.