I recently completed a symbolic dice facility in a module I’ve been working on. This involves rolling several 12-sided dice, each with different coloured faces: 4 yellow, 3 blue, 2 green and one each black, white and red. The facility offers the player the chance to roll from 1 to 10 dice. In testing my work, I made about 50 dice rolls and these showed very few yellow faces. Certainly nowhere near the 16 or so I would have expected. I have noticed similar instances in previous modules I’ve designed and used.
Is this likely to be just randomness expressing itself or could there be something amiss (not least with my coding)?
I was trying to describe the fact that, although my Symbolic Dice Button dice rolling facility works as I intended, the dice rolls that it produced in my test didn’t seem random. @rdmorss has got the gist perfectly in his response.
I guess, if you are happy that the Vassal randomiser is working as it should, I just experienced a set of random dice rolls that happen not to fit with my expectations. I thought I’d let you know in case you have had other comments on the same subject. Apart from making hundreds of dice rolls I can’t think of any other way to reassure myself save for reporting it to Vassal.
Human brains are evolved to spot patterns. Randomness is the absence of patterns–it definitely does not mean you are guaranteed to get nice even distributions of results over X span of time, especially not which X is a minuscule number like 50. You’d want many hundreds and likely even many thousands of attempts to even begin to suspect that something was amiss, and it would have to derive from robust statistical analysis, not gut feel. Our brains are very ill-equipped to spot true randomness or the lack thereof.
The Java class which implements the pseudorandom number generation in VASSAL has been successfully run through accepted standard testing (see more here). But nothing Joel has ever said or demonstrated with evidence will stem the tide of suspicion–the questions and allegations about this topic over the years number into the hundreds across BGG, CSW, Facebook.
To show a problem you have to bring industry-grade receipts.
So, the source of the rolls is a Symbolic Dice Button, not custom code.
In that case, your rolls are coming from the internal roller, which uses java.security.SecureRandom for producing rolls. It’s a cryptographic-quality pseudorandom number generator, so should be indistinguishable from a true random source. Your sample size is too small to be a good test of the results.
Thanks, Joel. Although I don’t understand the technical term, I can appreciate that I would need a bigger sample to tell if there was truly a problem but am happy to have your reassurances about the way it works. At least it would appear I’m a lone voice which is good news.
Not sure what the OP means by “nowhere near the 16 or so”, but I suspect he means far less than 10. And, yes, I would question those results.
Even with a relatively small sampling of 50 rolls, the results should start to approximate what you would expect, namely, that one third of the rolls should result in yellows, since one-third of the die faces are yellow.
mikeOliver, if I were you I would repeat the test with 100 rolls and write down the exact results.
In 50 dice rolls, I would have expected to see about 16 yellows (a third) but I only saw around 4. I was testing the module and the dice rolls were inherent to the game rather than a specific check on the randomiser so it wasn’t really scientific. I was concerned that there might be others querying the matter and thought I’d report it to give additional info - every little helps .
In view of your comments, I’ll do as you suggest and report the results here.
Unless Vassal is using a system that is based on galactic noise continuum for random number generation I think I can state that the randomness of dice rolls with Vassal module are not completely random.
But, for all intents and purposes, they are decidedly random enough for every game.
No, there is absolutely no reason why you should expect that, that’s not how random numbers work. You are imposing unreasonable expectations on what random number sequences are, as do large numbers of people.
The main problem is that game players, on the whole, don’t actually want truly random numbers, they want a number sequence that approximates the very non-random distribution that you allude to where the chance of a number being rolled reduces as more of them are rolled.
This is one of the reasons that games like Combat Commander use their card-based die rolls rather than real dice.
For instance, Gloomhaven uses a deck of cards instead of dice to provide “jitter” around the mean value (-2, -1, 0, +1, +2, critical fail/success). As the bad cards get pulled, you won’t see them again for awhile… But, critical success/fail causes a deck reshuffle.
Some games, instead of the old-school traditional 1 die Combat Results Table (CRT) use 2d6, to allow more bell curve like results and reduce extreme results. (Example - Breakout Normandy).
No, I am imposing reasonable expectations, not unreasonable ones.
In fact, as far as “imposing expectations” are concerned, you’re much more guilty of this than I am, simply because you’re basically claiming that the laws of probability don’t matter, or that they don’t even exist.
What players “expect” to happen is irrelevant. The only thing that matters is what actually does happen. We can observe what happens, and afterwards deduce whether a “system” is sufficiently random to be useable for our gaming purposes.
Note that I used the word “sufficiently”, because I acknowledge that what you say is true, theoretically at least. Yes, a person could roll a D6 a hundred times and not ever roll a “6”, but the probability of that happening is astronomically low. It is so low as to not even be considered as a realistic possibility. For almost all intents and purposes, the only exception being the theoretical possibility, it is not possible to roll a D6 a hundred times and never roll a “6”.
If a computer random number generator were to do that, I would say it is faulty, simply because there is enough evidence to show that it is.
As Korval in the post above mentions, there are many wargames that use 2D6 to determine outcomes, and those systems use the laws of probability bell curves to manage results. If those die results were not “predictable”, or “expected”, as you say, the games wouldn’t even work.
And just like “sevens” come up more than any other number when rolling 2D6, so will any given number when rolling a single D6.
[quote=“uckelman, post:15, topic:77940, full:true”]
What is your point? Make a concrete proposal for what should be done.[/quote]
I’m not criticizing Vassal, nor do I have any concrete proposal to do anything.
That said, if a player doesn’t trust the Vassal die roller, they can try another one on the internet, such as ACTS.
If you want true randomness that is not subject to the vagaries of computer science…
Take a moderately radioactive element and a geiger counter and measure how many hits you get per unit time…
But I think that suggestion is out of scope for Vassal…
My semi-empirical testing over several decades is that die rolls are random, but “impactful” die rolls are strongly biased in favor of my wargaming buddy… I get fantastic die rolls, whenever they don’t matter and crappy ones when they do…