Ich entwerfe ein Spiel, das an einer klassischen Kachel-Engine arbeitet, dessen Welt jedoch zufällig generiert wird. Gibt es dafür bereits Spiele oder Algorithmen? Die Prozedur-Generierungsalgorithmen, die ich gefunden habe, verwenden niemals ein Kachelsystem ... Was wäre der beste Weg, um eine ganze "Welt" mit einem Kachelsystem zu generieren? Ich spreche nicht über Labyrinthe von Blöcken, sondern über eine allgemeine "Weltkarte"
22
Antworten:
Ihre Frage führt Sie in das Gebiet der prozeduralen Inhaltsgenerierung.
Fliesenbasierte Welterzeugung, abgeleitet von kontinuierlichen / analogen Methoden
Mit stetig meine ich etwas, das keine Kacheln ist, etwas, das analog ist, zum Beispiel eine vektorisierte Karte. Sie können jede kontinuierliche Technik zur Erzeugung verwenden und sie dann quantisieren. Generieren Sie beispielsweise ein hochauflösendes Perlin-Rauschbild, reduzieren Sie dann die Auflösung, um sie an die Größe Ihrer Tilemap anzupassen, und probieren Sie die Pixel aus, um sich eine Höhenkarte zu erstellen. (Höhenkarten können ein guter Ausgangspunkt für Ihre Welt sein.) Dies liegt daran, dass Sie Quellen erwähnt haben, die Ihnen nicht gezeigt haben, wie Sie sie auf Kacheln anwenden können.
Fliesenbasierte Weltgeneration mit einem "blinkered" Carving-Ansatz
Mit einem auf Kacheln (Zellen) basierenden Ansatz können Sie eine Art Blind-Generierung durchführen, bei der Sie die Welt Stück für Stück generieren, ohne weiter als z. die direkt benachbarten Kacheln, aber dies sieht in der Regel aus wie die Arbeit eines Insekts. Dies ist ein typisches CA-Zeug (Cellular Automata) und zeigt nur wenig größere Intelligenz.
Fliesenbasierte Welterzeugung mit einer umfassenderen Weltsicht, von oben nach unten
Dies ist ein intelligenterer Ansatz, um die Welt Kacheln für Kacheln aufzubauen, da sie zuerst Region für Region erstellt wird. Auf diese Weise erhalten Sie die Kontrolle über z. verschiedene Biome, politische Regionen usw., wie es Tarn Adams in der Zwergenfestung getan hat. Natürlich müssen Sie sich überlegen, wie Sie Ihre Welt aufteilen möchten. Es gibt viele Möglichkeiten, Sie müssen Ihre eigenen Forschungen durchführen.
Die Erstellung von prozeduralen Inhalten ist ein ziemlich weit gefasstes Thema, daher müssen Sie eine Menge lesen, bevor Sie eine genaue Vorstellung davon bekommen, was Sie wirklich wollen und wie Sie vorgehen sollen - der Teufel steckt immer im Detail . Aus diesem Grund sind einige gute Quellen dafür die Mailingliste rec.games.roguelike.development (eine Tonne von Informationen zu kachelbasierten prozeduralen Welten), AmitPs Spielprogrammierungsseiten (siehe unter "Andere Themen") und nicht zuletzt Das Wiki zur Erstellung von prozeduralen Inhalten .
quelle
Prozedurale Generierung ist ein immenses Thema. Wie tief willst du gehen?
Nick Wiggills Antworten sind erstklassig. Ich möchte dem hinzufügen, indem ich vorschlage, dass Sie sich einige mathematische Methoden zum Erstellen von kohärentem zufälligem Terrain ansehen.
Perlin-Rauschen bietet eine großartige Möglichkeit, geglättete Zufälligkeiten zu erzeugen, und eignet sich für alle Arten von Gelände. Die Simulation der Erosion kann einen realistischen Eindruck von der Höhe vermitteln (obwohl Sie dies möglicherweise nicht benötigen, da Sie ein Spiel auf Kacheln spielen).
Viele der Techniken, die in Artikeln wie diesem von Oddlabs , den Machern des Tribal Trouble, besprochen wurden, funktionieren auch in 2D und bei niedrigen Auflösungen. Wenn Sie sich mit dieser Vorgehensweise besser auskennen, lohnt es sich möglicherweise, diese Techniken zu erlernen.
quelle
Spelunky's Procedural Space - eine großartige Einführung in die Erstellung prozeduraler Inhalte von Darius Kazemi
Spelunky ist ein 2D-Spiel von Derek Yu, das einige großartige prozedurale Ebenen hat.
Es gibt auch ein Wiki für prozedurale Inhalte: http://pcg.wikidot.com/
quelle