Deleting the essay I just wrote and instead giving these bullet points:
the game player is not an input to the dice rolling function
game players and dice rolls are not linked together
the engine does not even know if a game player is human or AI controlled.
Hopefully this puts the question of whether AI are given an advantage to bed.
It's just unlucky dice and confirmation bias at play. Humans are pattern recognition machines on steriods, we see patterns all over the place, often
where none exists (animals out of clouds, a face on the moon, a tiger in the bushes).
Re: resistance - The resistance is perhaps misperceived. It would be one thing if someone said:
"I have generated 100 sets of 1000 numbers using TripleA and have found that 82% of those
sets fail the diehard tests". You can read
more about randommness tests here: https://en.wikipedia.org/wiki/Diehard_tests
Instead this conversation is often couched as "AI is given an advantage", or "one player is given
an advantage over another". That is impossible to distinguish from mere confirmation bias, no
matter how unlucky or seemingly impossible the circumstance described. I am not saying there are
zero problems, but so far nobody has used the above mentioned statistical measures to objectively
show there is a problem.
Meanwhile, The development backlog in TripleA, for one person, goes out years if not decades.
We need low effort and high value activities. Anything that is high effort is unlikely to be done
at all. If the effort were reduced here, there would be a higher likelyhood it'll be done.
In this case, we have a dice system with no known, proven problems. I'm not saying there are none, just nobody
has used a statistical technique (see the wiki article above about randomness tests) to objectively show
there is a problem. Beyond this, nobody has proposed any kind of alternative. We can whimsically choose
a new algorithm, but the value derived from this is low. To show this is a high value activity, we first need
to show the existing pseudo-random number generator is defective. Then to actually fix the problem, we'd
need to find another pseudo-random number generator and show by the same measure it is less defective.
Hence the "resistance". Development is being asked to spend a medium to high amount of effort for almost no
value. It's not really "resistance" actually, it's just this task, as framed, does not have a compelling
rate-of-return on the investment.
With that said, I would love to see a
compelling analysis showing 'mersenne twister' as used in TripleA is broken according to objective statistical
randonmess tests, and then I would further love to see a similar analysis showing an alternative algorithm is
better (and not ony that, but the algorithm is provided by an existing java library so we don't have to code it!)
This topic is important though and gets such a lengthy response for two reasons:
dice rolls are pervasive. If were a problem, fixing such a problem would suddenly be a very high value activity.
The Marti dice roller, as exists, is currently costing the project $10/month. We are likey to rewrite this
for that reason and others, and for it to be written in Java. At that rate we would pretty guaranteed use the
same algorithm for all dice rolls. We could whimsically replace the randonmness generator with something else.
We could invest a day or three or more of research into a new randonmness generator, though the path of least
resistance would have us skip that unless we can objectively show a benefit for that investment.