The game needs a RNG that's stable when seeded, for reproducible runs. I look for the same kind of qualities when doing generative art.
In comparison, a CSPRNG should be safe from oracle attacks, which is essentially the opposite goal.
The game needs a RNG that's stable when seeded, for reproducible runs. I look for the same kind of qualities when doing generative art.
In comparison, a CSPRNG should be safe from oracle attacks, which is essentially the opposite goal.
The only difference is that if you don't know the seed it is computationally difficult to predict the next value given the previous ones. But that's not something any game dev is ever going to want to do (or waste time trying to do)
It's not overkill here, because this is a turn-based game. The additional cost of using high-quality randomness instead of World's Worst "Randomness" will never even be noticed; I would have expected a CSPRNG to be the default approach.
That said, it is true that while the C# standard library provides a CSPRNG alongside its terrible PRNG, it won't let you seed the CSPRNG. So even if you know what the right thing to do is, Microsoft doesn't want you to do it.