ACSUtils Wiki

An ACS library for ZDoom-based ports

User Tools

Site Tools


new:rng_myths

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
new:rng_myths [2018/02/19 11:43] korshunnew:rng_myths [2018/02/19 11:46] korshun
Line 1: Line 1:
 ====== ZDoom RNG myths ====== ====== ZDoom RNG myths ======
  
-Many modders are convinced that ZDoom's [[zdoom>Random]] function is not statistically random, or returns the same sequence of random numbers in different games. As a result, some mods try to enhance the randomness by factoring in [[zdoom>Timer]] or actor positions into their custom RNG, and using it throughout the mod+Many modders are convinced that ZDoom's [[zdoom>Random]] function is not statistically random, or returns the same sequence of random numbers in different games. As a result, some mods try to enhance the randomness by creating a custom RNG that factors in [[zdoom>Timer]] or actor positions, or combines multiple calls to [[zdoom>Random]], and use it throughout the mod.
  
 While this non-randomness of [[zdoom>Random]] was probably true previously, it is not anymore. Zandronum 2.0+ and GZDoom 1.8.6+ (as verified, likely earlier versions too) use high-quality statistically random [[wp>Mersenne Twister]] RNG and don't output the same sequence in different games or rounds. While this non-randomness of [[zdoom>Random]] was probably true previously, it is not anymore. Zandronum 2.0+ and GZDoom 1.8.6+ (as verified, likely earlier versions too) use high-quality statistically random [[wp>Mersenne Twister]] RNG and don't output the same sequence in different games or rounds.
  
 Therefore, "enhancing" the RNG will only likely make it **less** random in modern versions of source ports. It is recommended to remove any custom RNG code from mods. Therefore, "enhancing" the RNG will only likely make it **less** random in modern versions of source ports. It is recommended to remove any custom RNG code from mods.
 +
 +All ACSUtils functions use plain [[zdoom>Random]].