Summary
/Verse.org/Random methods have multiple defects;
-GetRandomFloat and GetRandomInt are not very random (extremely high bias for certain values, and if using values approaching int32 max, have a high tendency to return Low or High)
-GetRandomFloat and GetRandomInt can only operate in signed int32 bounds; passing Low or High arguments outside this range causes a verse crash.
-GetRandomFloat and GetRandomInt produce the same or extremely close results when called multiple times within the same simulation tick.
-Shuffle produces identity result very often (no change of array order) The result also appears to be highly predictable (first shuffle call for any array tends to bias changing certain indices)
-No SeededRandom functions!
Altogether the current /Verse.org/Random methods are very Bad and Sad; kindly port the editor’s excellent random methods from the Niagara source (not sure if this is integrated to editor core last I checked), and please provide SeededRandom variants of all three methods (GetRandomFloat, GetRandomInt, and Shuffle). Good random methods are extremely pertinent to making games with good loot systems and odds checks!
Please select what you are reporting on:
Verse
What Type of Bug are you experiencing?
Verse
Steps to Reproduce
Can naively validate RNG bias by calling GetRandomFloat/Int N times and plotting results, should expect to see average results for all values across Low<->High range.
Expected Result
Random methods produce random results
Observed Result
Random methods do not produce random results
Platform(s)
Yes