Home Artists Posts Import Register

Content

Ich denke viele von euch wissen es bereits: Random ist eigentlich gar nicht Random. Es ist einem Computer nicht möglich sich eine zufällige Zahl auszudenken. Alles, was also in einem Programm oder in einem Spiel per Zufall passiert ist gar kein Zufall sondern war schon immer vorherbestimmt. Aber wie ist es dann möglich, dass es Spiele gibt, die z.B. Level per Zufall generieren? Da kommen wir zum Random Number Generator.

Der Random Number Generator, oder kurz "RNG" ist nicht irgendwie etwas greifbares. Es ist nur die Bezeichnung des Programmcodes, der, wenn man ihn fragt, eine zufällige Zahl ausspuckt. Aber wie bereits gesagt ist diese Zahl nicht zufällig. Selbst wer nicht mit programmieren zu tun hat wird sicherlich den Begriff "Seed" kennen. Minecraft nutzt den Begriff z.B. ganz offen. Wenn man einen bestimmten Seed bei der Weltengenerierung eingibt, dann wird immer dieselbe Welt erstellt, auf den Block genau. Der Seed ist also das, was ein RNG braucht um eine Zahl auszuspucken.

Wie könnte ein simpler RNG aussehen? So was wie z.B.

(50,4134 * Seed + 57321) % 1

Das "% 1" am Ende sorgt dafür, dass die Zahl nach 1 "loopt" und damit nie größer ist als 1. Bedeutet wenn der Seed 1234 ist spuckt uns der RNG "0,135600000001432". Und die Zahl können wir nun nutzen um z.B. einen Gegner an einer bestimmten Stelle spawnen zu lassen, wenn der RNG Wert unter "0,35" ist. Jetzt nimmt man den Seed und macht vielleicht so was wie "Seed+RNG-Wert*100" und nutzt diesen neuen Seed für den RNG. Und so entstehen gefühlt willkürliche Werte!

Was also der Computer braucht ist einen "Start Seed". Eine Zahl, mit der der RNG in Gang gebracht wird. Dafür eignen sich z.B.: Die aktuelle Uhrzeit, die aktuelle Hitze des GPUs, wie viele Frames vergangen sind.. Also IRGENDETWAS! Und so wirkt es Willkürlich, obwohl es nie willkürlich ist, da im Hintergrund immer dieselbe Kalkulation stattfindet und man nur den Seed wissen muss, mit dem alles Anfing.

Und einige ahnen sicherlich, auf was es hinaus läuft: Das kann man bei Spielen wunderbar nutzen! Denn dadurch kann man z.B. in Binding of Isaac einen coolen Run haben und den Seed seinen Freunden geben, damit die sich am exakt selben Run probieren können. Anstatt also diese "geplante Willkür" als Nachteil zu sehen kann man sie nutzen, um ein Feature daraus zu basteln!

Wie wäre es also, wenn man ein Spiel macht, das komplett darauf basiert, dass alles Willkürlich ist. Die Farbe der Wände im Spiel, welche Türen man öffnen kann, welche Items wo spawnen, wie die Regeln des Spiels sind, wie groß der Spieler ist. Einfach ALLES! Das ist das, was ich aktuell probiere. Wie das aussehen kann könnt ihr hier testen:

https://www.sambzockt.de/web/ 

Dies ist ein super simpler Missions-Generator der via RNG funktioniert. Wenn ihr oben bei Seed z.B. 100 eingebt kommt derselbe Text raus wie im Bild oben. Und genau so kann man einen RNG mit festen Seed nutzen, um daraus ein Feature zu basteln.

Ein weiterer Vorteil ist: Wenn mal ein Tester einen Run hat wo etwas nicht funktioniert kann er einfach den Seed sagen und die Entwickler können checken was da schief gelaufen ist. Denn wenn RNG im Spiel ist kann VIEL schief laufen. Aber gleichzeitig sind Spiele, die auf RNG basieren zu unterhaltsam, als das es das nicht wert wäre! Denke das zeigt der andauernde Rouge-Like Boom ganz gut!

Also ja, spielt mehr mit RNG und Seeds rum. Ich sag euch, es lohnt sich!

Files

Comments

KL

Das erlebe ich auch beim Yu Gi Oh Spiel auf der PS4, dass die karten nicht zufällig gezogen werden, sondern ständig bestimmte zusammengehörende Karten hintereinander. Das führt dazu, dass ich bei einem bestimmten Duell mit vorgegeben Deck verliere und dabei keine einzige Karte aufs Feld ausspielen konnte. Oder es gibt eine Karte, mit der ich eine Karte aus der verdeckten Hand des Gegners auswählen muss, und wenn es eine Monsterkarte ist, er diese ausspielen darf. Der Gegner benutzt die Karte immer, sobald er ein bestimmtes Monster auf der Hand hat. Und egal, welche Karte man wählt, es ist immer das Monster, welches er hofft, das ich wähle. Oder beim Münze werfen, ist es fast immer eine bestimmte Seite, auf die die Münze fällt.