![]() |
Karten generieren
Hi Leute,
ich programmiere gerade mein eigenes Minecraft. Ich bin gerade beim Karten generieren. Ich habe schon 4 Schichten programmiert. Die erste aus Bedrock die zweite aus zufälligen Steinen und Wahrscheinlichkeiten (Diamanten findet man selten - Stein findet man oft). Jetzt bin ich an der ,,Oberwelt" und da bekomme ich probleme. Ich habe ein paar Schichten übersprungen, weil ich weiß, dass die [schaurige Musik wird eingeblendet] ,,Oberwelt" ein Problem wird. Es soll ja nicht einfach eine gerade Dirt-Schicht sein. Ich möchte gerne ein paar Erhöhungen haben. Also habe ich mit Zufällen gearbeitet: Normale Wahrscheinlichkeit für ein Block an der ,,Oberwelt": random(10) Wenn die Zufallszahl 1 ist wird der Block generiert. Wenn schonmal ein Block erstellt wurde ist die Wahrscheinlichket 2 So. Da ich aber per procedure arbeite und über zwei for-Schleifen wirkt dieser Effekt nur in eine Richtung. for-Schleifen:
Delphi-Quellcode:
for x := 0 to 18 do
begin for z := 0 to 18 do begin //Block erstellen ... Wie kann ich schnell Prüfen, ob sich ein Block neben dem eventuell Block befindet??? |
AW: Karten generieren
Ich würde da ein anderes System vorschlagen:
Baue zuerst den Untergrund. Dann hast du eine einigermaßen Flache Ebene. Auf dieser Ebene kannst du dann sich nach oben hin verjüngende Berge verschiedener Ausmaße plazieren. Das müsste für den Anfang einfacher sein, als Stein auf Stein zu setzen. Bernhard |
AW: Karten generieren
Es gibt auch Terrain-Generierungs-Algorithmen, die auf Fraktalen basieren (Minecraft nutzt vermutlich auch so etwas). Leider finde ich keine gute Einstiegsseite dazu...
|
AW: Karten generieren
Fast jede Landschaftsgeneration läuft letztlich auf
![]() |
AW: Karten generieren
Wie die Generierung in Minecraft gelöst wurde, hat Notch (der Entwickler von Minecraft) in seinem Blog einmal Veröffentlicht. Hier der Link:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz