Ich erstelle ein einfaches Top-Down-RTS-Spiel. Ich plane "zufällig" Karten im laufenden Betrieb zu generieren, wenn ich muss. Ich plane alles in 'Pässen':
- Füllen Sie das Gelände mit Gras
- Gehen Sie zurück und fügen Sie einige zufällige Spritzer Kies hinzu
- Runden Sie den Kies ab
- Zeichne die Berglandschaft auf die zweite Ebene
- Berge abrunden
- usw. usw.
Schauen Sie sich jetzt das folgende Bild an:
Ich habe dies mit meinem Karteneditor von Hand erstellt, aber ich plane, dass dies im Grunde das Ergebnis nach hoffentlich bestandenem / Schritt 3 ist.
Wie soll ich entscheiden, wann und wo ich meinen Kies so platzieren soll, dass er zumindest unregelmäßig geformt und sporadisch genug ist, um natürlich auszusehen?
Danke, wenn du kannst! Jede Hilfe wird geschätzt!
Als Anmerkung:
Bei jedem Durchgang durchlaufe ich im Grunde alle meine Kacheln (die Karte ist in 40 x 40 Kacheln unterteilt), ähnlich wie folgt:
for (int x = 0; x <= GRIDMAX - 1; x++) {
for (int y = 0; y <= GRIDMAX - 1; y++) {
//Terrain(x, y, 0) = SomethingHere;
}
}
quelle
Im Wesentlichen können Sie die Perlin Noise- Generierung verwenden, um Ihre Karten zu generieren. Sie würden die generierte Höhenkarte abtasten und Kiesblöcken Teilen der Karte zuweisen, die über einer bestimmten Höhe liegen.
Hier finden Sie einen hervorragenden Nachschlagewerk zur Implementierung eines solchen Systems und verschiedener Geländetypen, die Sie generieren können.
Die Beispiele haben viel mehr Schritte als Sie benötigen würden, aber das Konzept ist das gleiche.
Mehr über Minecraft-artige Weltgen
http://www.gamedev.net/blog/33/entry-2227887-more-on-minecraft-type-world-gen/
quelle