Holen Sie sich Einschränkungen aus dem wirklichen Leben
Oft beginnt die Antwort darauf, wie man den richtigen Algorithmus findet, damit, wie diese Dinge im wirklichen Leben passieren. Hast du dir das angeschaut? Auf den ersten Blick fällt mir Folgendes ein:
- Straßen verbinden Gebäude und andere Sehenswürdigkeiten
- Gebäude werden nach Möglichkeit entlang bestehender Straßen platziert
- Wenn es keine Straße gibt, wird ein Gebäude an einer leeren Stelle platziert und über eine eigene Straße mit einer nahe gelegenen Straße verbunden
- Gebäude werden in der Nähe anderer Gebäude aufgestellt, die für ihre Bewohner von Interesse sind: Menschen ziehen in die Nähe ihrer Arbeitsplätze, Lebensmittel- und Bekleidungsgeschäfte usw.
- Gebäude werden in der Nähe von Ressourcen platziert, die für den beabsichtigten Gebrauch erforderlich sind. Beispielsweise wird ein Sägewerk in der Nähe von Wäldern oder sogar auf einer Waldlichtung aufgestellt. Menschen brauchen Wasser und Nahrung (Pflanzen, Tiere), um irgendwo zu leben.
- Gebäude werden weit entfernt von anderen Gebäuden platziert, die sich nachteilig auf ihren Verwendungszweck auswirken oder denen sie schaden würden. ZB riecht eine Färberei schrecklich, wird also normalerweise nicht in einem Wohngebiet platziert. Ebenso sind Tavernen und Restaurants laut, so dass die Bewohner nicht auf ihnen wohnen wollen, sondern Kunden brauchen, also in der Nähe von Wohngebieten sein müssen.
- Einige Länder haben Zonierungsgesetze, die auch die Platzierung von Gebäuden beeinflussen. In der Regel ist dies eine formalere Methode, um vorauszusehen, welche Arten von Gebäuden sich gegenseitig schädigen können oder welche Ressourcen für das Gebiet einzigartig sind (z. B. ist hochwertiger Boden für Felder bestimmt, nicht für den Bau von Parkplätzen).
- Gebäude sind für Bewohner und ihr persönlicher Stil und ihre Vorlieben spiegeln sich in ihnen wider. Wenn eine Bevölkerung arm ist, teilen sie sich viel häufiger das Gelände (Wolkenkratzer, Wohnhäuser). Wenn es ihnen besser geht, erhalten sie möglicherweise Eigentumswohnungen. Wenn sie reich sind, erhalten sie eine eigenständige Villa. Wenn bestimmte Gruppen andere Gruppen nicht mögen, ist es weniger wahrscheinlich, dass sie zusammenleben. Wenn zwischen bestimmten Gruppen eine Affinität besteht, können sie sich in ähnliche Bereiche bewegen.
Wenden Sie sie auf Ihre Topographie an
Sobald Sie diese Einschränkungen haben, können Sie versuchen, einen Algorithmus darum herum zu erstellen. Generieren Sie beispielsweise Ihre Topografie und verteilen Sie die benötigten Ressourcen auf der Karte (behalten Sie möglicherweise kleine Ablagerungen der wichtigsten Ressourcen im Startbereich im Auge, dann größere Ablagerungen weiter voneinander entfernt). Hier kommen natürlich die Bedürfnisse und die Mechanik Ihres Spiels ins Spiel, aber Sie werden wahrscheinlich auch ein zufälliges Element hinzufügen.
Bauen Sie dann Unternehmen (und ihre Wohngebäude) in der Nähe der Ressourcen, die sie nutzen. ZB ein Steinbruch neben einem großen Berg. Fügen Sie dann die von ihnen benötigte Infrastruktur hinzu. ZB ein Handelsposten mit Post und Taverne, wo sie Geschäfte machen und ihr Produkt verkaufen können, eine Schmiede, um Werkzeuge usw. bereitzustellen.
Um zu entscheiden, was wohin geht, teilen Sie die Karte mithilfe einer Gewichtungsfunktion in Kacheln auf, in denen Sie für jede Kachel eine Zahl berechnen, wie wünschenswert sie für einen bestimmten Zweck ist. Legen Sie die Gebäude in die begehrtesten Fliesen für diese Art von Gebäude. Fügen Sie Regeln wie "Ein Handelsposten kann 50 Unternehmen oder 100 Häuser verwalten" hinzu, die die Wahrscheinlichkeit erhöhen, einen weiteren Handelsposten hinzuzufügen, wenn eine Stadt eine bestimmte Größe erreicht.
Sobald Sie dies haben, sollten Sie einige ziemlich anständige Karten bekommen. Wenn Sie feststellen, dass Karten alle als unnatürliche Formen enden, fügen Sie Ihren Gewichtungsfunktionen für diese Formen Strafen hinzu, z. B. "Wenn meine Straße direkt neben einer anderen Straße endet, -100 Erwünschtheit" oder "Wenn sich meine Straße selbst kreuzt, -100." Erwünschtheit "usw. Sie können jederzeit ein zufälliges Element hinzufügen, um ein ausgefalleneres Gefühl zu erzielen, oder andere Mechaniken wie" Wenn eine Kreuzung mehr als N Gebäude mit ihren Straßen verbunden hat, verwandeln Sie sie in einen Kreisverkehr ".
Sie können diese Einschränkungen sogar verwenden, um verschiedenen Karten ein anderes Gefühl zu verleihen, z. B. wenn ein bestimmtes Land mehr Berge in seiner Topographie hat oder wenn eine bestimmte Kultur mehr kurvenreiche Straßen baut und eine andere gerade Straßen usw. bevorzugt, indem Sie einfach eine Ihrer Karten ändern Gewichtungsfunktionen.
Vereinfachen
Natürlich ist dieser Ansatz zu komplex für Spiele, die keine Handelssimulationen sind, aber arbeiten Sie dies trotzdem aus und sehen Sie, welche Arten von Gebäuden für Ihr Spiel sinnvoll sind, und beseitigen Sie die nicht benötigten. Überlegen Sie sich dann vereinfachte Regeln wie "Städte in der Nähe eines Flusses, eines Berges oder eines guten Bodens platzieren. 1 Gebäude pro 100 Ressourcen, Unternehmen nach Ressourcentyp, 10 Wohngebäude für jeden vollständigen Satz von Lebensmitteln / Handwerksressourcen ... oder einfach". 1 m Fluss / 1 m 2 Boden können 10 Wohngebäude tragen ... was auch immer für ein Spiel sinnvoll ist. Wenn Sie jedoch wissen, wie viel Fläche Sie haben (z. B. keine Gebäude an steilen Berghängen) und wie viele Gebäude die Fläche tragen kann, platzieren Sie einfach mehrere Gebäude in dieser Fläche, bis sie voll ist (z. B. 1 Geschäftsgebäude, 10 Wohngebäude) , 3 Infrastruktur oder was auch immer) und verbinden sie mit Straßen.