Ich möchte eine völlig einzigartige Welt mit Biomen erschaffen (wie Minecraft und ähnliche Spiele). Ich verstehe nicht, wie sie diese ganzen Welten aus einer einzigen "Samen" -Zahl erzeugen. Kann jemand einen grundlegenden Überblick über die Technik geben?
32
Antworten:
Wie erzeugt man zufälliges X aus einem Startwert? Ein Startwert ist der Anfangszustand eines Zufallszahlengenerators. In den meisten Programmiersprachen können Sie diesen Startwert festlegen. Zum Beispiel verwendet C
srand()
. Wenn Sie zu Beginn keinen bestimmten Startwert angeben, wird normalerweise ein Zeitstempelwert als Startwert verwendet. Auf diese Weise sind die Zufallszahlen bei jeder Ausführung unterschiedlich.Wie Sie sehen, sind die resultierenden Zufallszahlen immer gleich, wenn Sie mit einem bestimmten Wert setzen (ich habe 1 als Startwert verwendet).
Wie erschafft man eine Minecraft-Life-Welt, die auf Zufallszahlen basiert? Notch hat einen Beitrag dazu. Sie können sich auch die Tutorials anderer Leute zu "minecraft-ähnlichen Welten" ansehen. Mir hat dieses Beispiel gefallen : Minecraft-ähnliches Rendering in OpenGL 4 . Die Grundidee ist, Perlin-Rauschen (oder Simplex-Rauschen) zu verwenden. Hier ist eine gute Frage zu Rauschfunktionen: Grundlegendes zu Perlin-Rauschen
quelle