6 ms·
Actually, in my experience using the default random implementation in games: * It's not fast enough. * It has patterns that can be seen if you are using it to,
by SomeCallMeTim 6y ago
Actually, in my experience using the default random implementation in games:
* It's not fast enough.
* It has patterns that can be seen if you are using it to, for instance, generate 2d noise.
So for games you'd typically use, say, the Mersenne Twister [1], which is faster (amortized) and is distributed evenly across 623 dimensions. [2]
It's not cryptographic, but it's far better for games. If you're not going to have a crypto default random, better to at least have a really good and really fast one.
[1] https://en.wikipedia.org/wiki/Mersenne_twister https://en.wikipedia.org/wiki/Mersenne_twister
[2] http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/ARTICLES/mt.pdf http://www.math.sci.hiroshima-u.ac.jp/m-mat/MT/ARTICLES/mt.p...
- patrec 6y agoMersenne Twister is the MD5 of random number generators: it's neither secure nor fast (and unlikely md5 not space-efficient, or simple to implement either). You can have something that has better randomness, runs several times faster, uses less space and has a much more compact and simple implementation. So given that Mersenne Twister sucks in pretty much every possible way other than having a catchy name, likely the sole source of its continued popularity, its probably not a good choice for replacing some "default" random number generator with something better.
- MauranKilom 6y ago> You can have something that has better randomness, runs several times faster, uses less space and has a much more compact and simple implementation. Could you share at least one example of such a generator? Most of these aspects are trivial to improve on, but having "better randomness" on top is quite the bar.
- ChrisLomont 6y agoThe PCG class of PRNGs are very good, and have a zillion tunable versions to suit every need. https://www.pcg-random.org/index.html https://www.pcg-random.org/index.html
- sobriquet9 6y agoMCG 128 from http://www.pcg-random.org/posts/on-vignas-pcg-critique.html http://www.pcg-random.org/posts/on-vignas-pcg-critique.html or xoshiro256plus from http://prng.di.unimi.it/xoshiro256plus.c http://prng.di.unimi.it/xoshiro256plus.c
- patrec 6y agohttps://en.wikipedia.org/wiki/Mersenne_Twister#Alternatives https://en.wikipedia.org/wiki/Mersenne_Twister#Alternatives https://nullprogram.com/blog/2017/09/21/ https://nullprogram.com/blog/2017/09/21/ I don't think better randomness than MT is as high a bar as you make it out to be, both links above also briefly mention statistical shortcomings of MT.
- Khaine 6y agoDoesn't FreeBSD use Mersenne Twister as its CSRNG?
- bigiain 6y agoPatterned random numbers become a feature in some games, even if an unintentional one. I used to be able to play about a dozen Pac-Man levels knowing exactly where every ghost was going to go and every bonus that was going to appear. And I wasn’t a very good player. Pac-Man would have been a less fun game for many people if it used crypto grade random.
- watwut 6y agoPac-Man ghosts did not moved all that much randomly. Each ghost had special follow up strategy. You likely learned their movement patterns without realizing it.
- deleted 6y ago[deleted]