RNG itself can be fine at times, but when your game starts breaking its own rules regarding RNG, then issues arise. I'd be more comfortable with FFXIV's RNG system if it was a Quasi Random system rather than a Pseudo Random system. In other words, something which actually presented in a random manner rather than something which pretends to be random, but actually isn't because it's following an algorithm which requires the player to meet unknown specifications to perform certain tasks.
Quasi Random:
A sequence of n
-tuples that fills n-space more uniformly than uncorrelated random points, sometimes also called a low-discrepancy sequence. Although the ordinary uniform random numbers and quasirandom sequences both produce uniformly distributed sequences, there is a big difference between the two. A uniform random generator on [0, 1) will produce outputs so that each trial has the same probability of generating a point on equal subintervals, for example [0,1/2) and [1/2, 1). Therefore, it is possible for n trials to coincidentally all lie in the first half of the interval, while the n+1st point still falls within the other of the two halves with probability 1/2.
This is not the case with the quasirandom sequences, in which the outputs are constrained by a low-discrepancy requirement that has a net effect of points being generated in a highly correlated manner (i.e., the next point "knows" where the previous points are). Such a sequence is extremely useful in computational problems where numbers are computed on a grid, but it is not known in advance how fine the grid must be to obtain accurate results. Using a quasirandom sequence allows stopping at any point where convergence is observed, whereas the usual approach of halving the interval between subsequent computations requires a huge number of computations between stopping points.
Pseudo Random:
A pseudorandom process is a process that appears to be random but is not. Pseudorandom sequences typically exhibit statistical randomness while being generated by an entirely deterministic causal process. Such a process is easier to produce than a genuinely random one, and has the benefit that it can be used again and again to produce exactly the same numbers - useful for testing and fixing software.
To generate truly random numbers requires precise, accurate, and repeatable system measurements of absolutely non-deterministic processes. Linux uses, for example, various system timings (like user keystrokes, I/O, or least-significant digit voltage measurements) to produce a pool of random numbers. It attempts to constantly replenish the pool, depending on the level of importance, and so will issue a random number. This system is an example, and similar to those of dedicated hardware random number generators.
A pseudorandom variable is a variable which is created by a deterministic procedure (often a computer program or subroutine) which (generally) takes random bits as input. The pseudorandom string will typically be longer than the original random string, but less random (less entropic, in the information theory sense). This can be useful for randomized algorithms.
Pseudorandom number generators are widely used in such applications as computer modeling (e.g., Markov chains), statistics, experimental design, etc.


Reply With Quote






