ibugsy:
Maybe you didn’t read correctly or suffered from too much rabid fanboyism. Or both. Let me put it in terms even you might understand:
Crate employees are people. People make mistakes. Crate employees make mistakes. The bug reports forum is proof enough of that. So should we automatically trust anything and everything Crate employees say? Only the foolish would. Critical thinkers verify instead.
RNG in GD has been a contentious topic for ages. The developers have reassured us repeatedly about it yet it still comes up again and again. It stands to reason that at least some of us would want to put matters in our own hands and investigate the issue as much as possible. Hence, implicitly that means we aren’t blindly trusting the developers on this issue. And, if we were to investigate properly, we must be able to examine the code and implementation ourselves. Unfortunately, as noted before, this is not easy.
Do I analyse everything about the applications I use? No, because if something’s working correctly, I needn’t analyse it. And generally, applications work for me. But sometimes things appear amiss, either to myself or others. Such is the case with the RNG in GD. And it’s in those cases that greater scrutiny is requried. GD may be a game, but obviously it has inflamed passions quite a bit insofar as the RNG is concerned. Should you merely dismiss people’s passions?
On the topic of mods: Mods do not contain any complied binaries, AFAIK, and so are transparent. So whether a modder is colluding with Crate or not is irrelevant; we can always inspect and scrutinize the mod ourselves (again, verification) and use it if we deem it honest and well-made.
Starbuck:
Indeed, the use of srand(time(NULL)) and rand() has been a staple in C/C++ programming for decades. The issues with this are that a) we don’t know how properly they’ve been used in GD; and b) there are better, more modern alternatives like CryptGenRandom in Windows and functions that pull from /dev/random or /dev/urandom in UNIX-like OSes.
But perhaps that’s only relevant in cryptographic or hard science contexts. In GD, there are other factors at play that impact perceived randomness.
For one, the loot tables are limited by level range. And for some level ranges, there are comparatively fewer items available. This is most noticeable at lower levels. There’s also the expectation that if an item has dropped recently, it musn’t drop again for some time. Of course this is wrong; low probability is not non-zero probability.
Another example illustrating a different principle: Suppose that a chest can yield and only yield 5 possible unique set items, one at a time, with uniform distribution, and independent of previous events. If the player has obtained 4 of the 5 unique set items from that chest but not the 5th, the probability that the player will receive a dupe the next time the chest is opened is 80%. That’s an 80% chance of disappointment. Such is the nature of loot drops in most ARPGs including GD, perfect RNG or not.
Maybe a better solution would be to make loot drops non-uniform in distribution and more dependent on previous events. Some purists might argue this would coddle the player too much and make grinding too easy. I suppose it’s up to Crate to decide how much they want to cater to purists at the expense of the much more numerous RNG complainers.