Was ist eine gute Technik für die 2D-Fliesen-basierte Geländegenerierung, die diese Anforderungen erfüllt?

7

Als Sommerprojekt habe ich beschlossen, dass es Spaß machen würde, ein Flash-Spiel zu machen. Im Moment werde ich so etwas wie das Aussehen von Terraria anstreben . Es hat viel Spaß gemacht, aber heute habe ich einen Haken bekommen. Ich brauche einen Weg, um meine Welten zu erzeugen. Ich habe Perlin-Lärm als eine Möglichkeit gelesen , aber meine Versuche haben mir sporadisch aussehende Ergebnisse gebracht. Mit welchen Techniken werden diese auf 2D-Kacheln basierenden Welten erzeugt?

Idealerweise möchte ich Berge, Ebenen und Höhlen erzeugen können.

David
quelle
1
Könnten Sie einige Ihrer vorhandenen Ergebnisse veröffentlichen? Ich bin nicht sicher, ob ich Ihre Frage beantworten kann, aber (a) ich bin neugierig und (b) es könnte einfacher sein, das Problem zu visualisieren, das Sie haben / was behoben oder verbessert werden muss, wenn wir sehen können, wo Sie sich befinden. ' Ich bin jetzt. Vielen Dank!
Mitch Lindgren
Was meinst du mit "sporadisch"?
MichaelHouse
Wie Mitch und Byte56 sagen, erweitern Sie bitte Ihre Frage. Perlin Noise ist eine der gängigen Lösungen, ebenso wie die damit verbundene Brownsche Bewegung. Zum Beispiel verwendet Minecraft Perlin Noise en.wikipedia.org/wiki/Perlin_noise, aber natürlich müssen Sie etwas mit dem zufälligen Rauschen tun, damit es cool aussieht.
Roy T.
Sporadisch: Zufälliges Verhalten zeigen; musterlos. Sie müssen zuerst das Perlin-Geräusch glätten und darüber nachdenken, was ein Gelände ausmacht. Zufälligkeit ist gut, aber wenn Sie einen lustigen Spielbereich generieren möchten, benötigen Sie bestimmte Regeln, was ein lustiger Spielbereich zuerst ist.
Jonathan Connell
2
Schauen Sie sich gamedev.stackexchange.com/questions/4628/… an. Das meiste, was Sie wollen, ist das Spielen mit der Ausgabe.
Die kommunistische Ente

Antworten:

6

Es hört sich so an, als würden Sie eine "Seitenansicht" des generierten Geländes erstellen.

Im Web werden zahlreiche Algorithmen zur Geländegenerierung diskutiert. Sie könnten wahrscheinlich viele davon anpassen, indem Sie alle bis auf eine Dimension aus den Berechnungen herausschneiden. Dies würde Ihnen Informationen über die primäre Oberfläche / unterirdische Grenze geben. Wenn Sie bei Ihrer Suche gezielter vorgehen möchten, möchten Sie wahrscheinlich nach der Geländegenerierung "1D" oder der Geländegenerierung "Worms-style" suchen. Sie erhalten Ergebnisse wie diesen Thread auf prozeduralem Terrain (einschließlich Höhlen) und diese interessante Web-Demo .

Perlin-Lärm allein würde gut für die Bereiche funktionieren, in denen Sie Ebenen erzeugen möchten, da es sehr glatt ist. Es funktioniert nicht so gut für Berge und schroffe Gebiete mit scharfen Diskontinuitäten - Sie möchten es dafür mit etwas anderem kombinieren. Betrachten Sie den ersten Teil dieser Seite in fraktalem Gelände oder wenden Sie zufällige Schnitte und Verschiebungen auf das Gelände an.

Höhlen können durch einfaches Stanzen von Löchern in Ihrem Gelände als einfacher erster Durchgang erstellt werden. Sie können jedoch auch nach Informationen darüber suchen, wie Räume in Rogue-ähnlichen Spielen erzeugt werden, und diese anwenden. Sie könnten auch in Betracht ziehen, sich mit zellularen Automaten zu befassen .

Gemeinschaft
quelle