If you've played on VASSAL, you've experienced "bad dice". You get a streak of bad rolls, or your opponent gets a streak of good rolls. Either way, somehow the VASSAL RNG (Random Number Generator) is against you.
Then again, if you've played minis ever, you've probably experienced "bad dice". It happens in real life, too. It happened to me just this past weekend, when I played 2 games in a row where nearly big roll went my opponent's way (big crits or inits for him, big misses for me). Still though, it seems like it's worse on VASSAL, doesn't it?
I've been tossing around the idea of doing a rigorous test of the VASSAL RNG, and looked further into doing it this morning. Unfortunately I ran into a few roadblocks. It took me a while to find what I THINK is the actual RNG method in the VASSAL source code, then I couldn't find a good RNG tester that would work on my work computer. But what I did find is some interesting discussion on the matter.
First I read that VASSAL used the basic Java .rand() method for the RNG. This is an alright way to do it, but that method has been criticized enough that it could cause some streaks. But wait, the VASSAL guys knew that, too, so they created an updated method using a Mersenne twister. You can read more about the Mersenne twister here:
http://en.wikipedia.org/wiki/Mersenne_twister, but suffice it to say that it's a pretty solid RNG and definitely good enough for games like SWM.
Then I also found this pretty good analysis of VASSAL dice, using d6s:
http://www.chad-libra.lunarpages.com/~v ... l/RNG.html. That page isn't dated, so I don't know if it was created when VASSAL was using .rand() or if it was created when they were using the Mersenne twister method, but it's an interesting analysis. Since most people complain about streaks, the "correlation between rolls" part is most interesting, and had a sample size of 85,450. It produced a very significant result showing that one roll is basically independent of prior rolls (in other words, if streaks happen, they're just random).
I'd still like to run some tests myself, but honestly all that is good enough for me. I've seen streaks happen as much as anyone, but it appears to me that it's just random when that does happen. Keep in mind that the human brain is
notoriously bad when it comes to seeing patterns when there really aren't any; combine that with everyone's inherent confirmation bias and it's really easy to see streaks in VASSAL but forget about all the times there were no streaks. People also rarely understand the importance of sample sizes; a few dozen rolls over the course of a game, even if they are literally all under a 6, doesn't prove a thing and is quite insignificant. You're using n=30 or so, when to get a significant measure of whether or not something like a d20 RNG is random you need something closer to n=75,000 or so.
I posit that VASSAL dice are fair, and it's basically just in your head if you don't think so. Yes, you can have individual games where the dice are "against you" and you roll incredibly poorly or there are streaks, but that is not even close to a sample even worth discussing. It's also important to keep in mind that this happens with real d20s; are those fair? Of course they are (assuming they're well-made and haven't been tampered with). Why do we think differently of VASSAL dice? Probably because when we roll a few 1s in a row they stay up in the chat, taunting us.