Struct RandomNumberGenerator

A class for generating pseudo-random numbers.

struct RandomNumberGenerator ;

RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses url=http://www.pcg-random.org/PCG32/url. Note: The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions. To generate a random float number (within a given range) based on a time-dependant seed:

var rng = RandomNumberGenerator.new() func ready(): rng.randomize() var my_random_number = rng.randf_range(-10.0, 10.0)

Properties

NameTypeDescription
seed[get, set] longThe seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers. Note: The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.

Methods

NameDescription
getSeed
randf Generates a pseudo-random float between 0.0 and 1.0 (inclusive).
randfn Generates a url=https://en.wikipedia.org/wiki/Normal_distributionnormally-distributed/url pseudo-random number, using Box-Muller transform with the specified mean and a standard deviation. This is also called Gaussian distribution.
randfRange Generates a pseudo-random float between from and to (inclusive).
randi Generates a pseudo-random 32-bit unsigned integer between 0 and 4294967295 (inclusive).
randiRange Generates a pseudo-random 32-bit signed integer between from and to (inclusive).
randomize Setups a time-based seed to generator.
setSeed