Wie kann ich eine zufällige "Welt" in einer Kachel-Engine erstellen?


22

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"


5
Dies wurde oft gefragt, versuchen Sie hier zu suchen: Zufällige Weltgeneration Bearbeiten: Hier ist eine für eine Kachel-Engine.
Richard Marskell - Drackir

2
-1: Diese Frage ist in der aktuellen Form nicht zu beantworten. Es ist viel zu vage und besagt nur, dass es sich um eine "Weltkarte" handelt, die aus Kacheln besteht. OK, welche Art von Fliesen? Was machen diese Kacheln im Hinblick auf das Gameplay? Dies kann von Final Fantasy bis Civilization alles sein, und der "beste Weg", um Terrain für diese beiden Spiele zu generieren, ist völlig anders . Es gibt keine Möglichkeit, eine Antwort zu geben, die ein gutes Gameplay ermöglicht, ohne zu wissen, wie Sie es verwenden möchten. Bevor Sie über die prozedurale Generierung von etwas sprechen können, müssen Sie in der Lage sein, manuell eine gute Version davon zu erstellen.
Nicol Bolas

Antworten:


34

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 .


Keine dieser Methoden berücksichtigt den Spielzweck der Karte. Jede dieser Methoden kann schreckliche Karten erzeugen. Natürlich hat das OP nicht gesagt, wie eine gute Karte aussehen würde, also ...
Nicol Bolas

6
@NicolBolas Genau. Das OP braucht etwas, um weiterzumachen. Ich muss nicht für jede Antwort einen vollständigen Aufsatz schreiben (obwohl die Beweise zeigen, dass ich das oft genug mache).
Ingenieur

Zugegeben, "spielbar" ist eine Heuristik, die am besten dem OP überlassen wird. "Spielbar" ist eine Ebene über der eigentlichen Erzeugung einer "zufälligen Welt" und wird von der ursprünglichen Frage nicht benötigt.
Patrick Hughes

6

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.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.