Random Map generieren

xbtequila

Grünschnabel
Ich möchte gerne dynamisch in einem Koordinatensystem eine Karte generieren lassen. Dort sollen Erhebungen, normaler Boden, Berge und Wasser eingezeichnet werden.

Die Karte soll dann z.b. 250x250 Felder groß sein.

Mein Problem liegt jetzt darin, große und zusammenhängende flächen dynamisch zu erzeugen.

Ich hatte schon mehrer Ideen, die aber nict so ganz funktionierten, wie es sollte.

So habe ich versucht erst per Random einige Punkte auf der Karte zu verteilen und die restliche fläche um diese Punkte aufzubauen. Dabei war aber der Flächeninhalt nicht immer gleich. Das sollte aber sein.

[Beispiel]

Danach habe ich versucht jede einzelne Koordinate auf ihre umgebenden Felder abzufragen und so zu entscheiden, ob es z.b. Wasser, erde oder Berg ist.

Könnte mir jemand vieleicht einen Denkanstoss geben, oder weiß jemand vieleicht, mit welcher Methoda das bei den alten C&C Teilen gemacht wurde oder bei anderen Random Terrain oder Karten generatoren.

Die Programmiersprache ist ja erstmal egal, mir geht es jetzt nur um die Methode.

Vielen Dank schonmal

xB teQuiLa
 
Du könntest z.B. in der Mitte per Zufall die Höhe festlegen und danach nur noch Änderungen per Zufall bestimmen. Dabei gehst du Kreisförmig vor. Alles Höhen kleiner 0 sind unter Wasser.
 
Die ganze Karte soll ja nur aus 3-4 Ebenen bestehen, da das ganze später in 2D dargestellt wird.

Aber das sollte ja eigendlich kein Problem sein, wenn die ganze Karte zu beginn auf -1 gesetzt wird, also Wasser und dann mehrer 'Flecken' auf die Karte gegeben werden, die dann das Land ergeben und auf die flecken nochmals welche für Berge.

Habe nochmal die Version überarbeitet, bei der von oben links nach unten rechts alle Felder verglichen werden. Komme aber nicht weiter. Beispiel ist ja oben zu sehen.

Versuche jetzt mal die version mit den Punkten(Flecken).
 

Neue Beiträge

Zurück