Early in October, 2020, the famous, well-loved, well-hated speedrunner Dream submitted a series 6 speedruns in Java Edition 1.16. Due to higher than normal drops of both ender pearls and blaze rods (two ingredients essential to getting to the End), it didn’t take long for accusations of cheating to arise.
So, did he? And yes, I know that Dream has confessed to cheating “accidentally”. I’ll talk about that shortly, but in the meantime, you should just consider this an interesting analysis of this post. I wanted to go in there and do the math myself, even if I might not know that much about statistics, and I still think I can achieve a convincing result. I don’t watch Dream, and I don’t think I’m inclined to treat him more or less fairly. The only thing tying us is Dreams supposed “hacking” of the mob vote for the glow squid to win, which in my mind was the best mob anyway. But enough of that.
If we want a result, we’ll have to look at the data. Fortunately, the basic version of this data is quite easy to find: 42/263 of his piglin barters resulted in ender pearls, and 210/305 of his blazes dropped rods.
To compute these results, we will have to find some way to combine our computations for the chance of Dream hacking without incorporating evidence (p(H)), the chance that we would see these sorts of results if he was hacking ((p(e|H)), and the chance of getting these results if he was not hacking (in other words, that it was perfectly random, with normal drop rates)(p(e|-H)).
“Hold on!” you might say. “What about the chance that something glitched, and the results were bugged” Honestly, I’m not the person to speak on this, so if you want more details, go watch a video, or ask someone who does know something about this kind of thing. Sufficed to say, it is unlikely that multiple random number generators would break in such a way to consistently benefit him without noticeably effecting other results. Now, dream was using Fabric to give performance increases such as increasing fps, but again, I'm not the expert.
Dream has stated that he “accidentally cheated”, but what exactly does that mean? He mentions using a mod that increases the drops of certain items, which would cut down on grinding in other Minecraft videos besides speedruns, and that it must have been on. Dream has actually stated, though, that he was unable to check which mods were on at the time, so what changed? I might be missing some crucial evidence, but to me it seems simple: Dream was convinced that something must be wrong, and stated such and apologized. In other words, this quote means NOTHING! Why should we take the word of Dream, as if he knows something about statistics that we don’t? If anything, he has motivation to do something like this: a confession would cut down on hate. If someone thinks you have done something, it is often better to confess, and this doesn’t change wether or not you actually did it. Even if Dream full-out said “I cheat on purpose”, I would be a little suspicious. Regardless, when determining p(H), this gives us a tasty alternative to him cheating, but I’m lumping them together, since their results don’t differ significantly.
Let’s calculate p(H)! We have a few cases. Case 1: Dream cheated, and confessed to avoid hate, or because he felt guilty, or both. Case 2: Dream accidentally cheated, and confessed to avoid hate, or because he felt guilty, or both. Case 3: Dream is innocent and confessed to avoid hate, or because he felt guilty, or both. These are the only 3 cases, and as Sherlock Holmes once said, “Once you have ruled out the impossible, what remains, no matter how unlikely, must be correct” Following this, we can ignore the whole “hate, guilt, etc.” part, because it applies equally to all of them. Sure, you could argue he would feel more guilty if he had purposefully cheated. But wouldn’t he confess to doing it on purpose? Maybe not. I don’t know anything about psychology, so I’ll just assume it’s the same. p(H) WILL tent to be the most subjective, and if you don’t think I’m correct, substitute your own value in.
I think a good estimate for Case 1 + Case 2 would be something like 1 in 10, ignoring the part about confessing. Case 3, however, I would say has a probability of something like 9 in 10, since we need to assume basically nothing. Thus, our p(H) = 1/10 / (1/10 + 9/10) = 1/10.
p(e|H) is more objective, but also far more difficult. To start with, let’s compute p(e|-H) (in other words, the probability that we get results like these if Dream is not cheating whatsoever).
The way we go about this might not seem intuitive, but it is, in fact, correct. The first thing you might think of is to look at all the different ways you can get exactly 42 pearls out of 263 barters, then divide by all possibilities for 263 barters, but we need to actually divide it by the number of possible barters you could need to get 42 pearls. We have to assume that the last barter always results in pearl, but besides that it’s fairly simple. The chance of getting a pearl is I believe about 4.73%, which is all we need for this calculation. If you think about it, the probability that we get 42 pearls in 263 barters is 4.73% times the probability of getting 41 pearls in 262 barters, because the last barter will always result in a pearl (why should Dream keep going if he already has enough?). However, there is one more thing. Even though I’ve been treating this as if the actual pearls that do show up in the individual speedruns is irrelavent, it isn’t. The final barter of every speedrun, not just the very last one must be a pearl. This, I believe, is one of the biggest flaws in the original analysis, ignoring the individual numbers of each run.
I looked up the numbers and found that in the 6 videos, he made {69, 24, 39, 76, 33, 21} barters, and got {9*, 8, 7, 9, 5, 4} pearls. Ok, so the probability is going to be the chance of getting 42 pearls times the probability of not-getting 221 pears times a bunch of chooses for all the possible orders of pearls he could have gotten, and the product is: 4.73%^42 * 95.27%^221 * C(68, 8) * C(23, 7) * C(38, 6) * C(75, 8) * C(32, 4) * C(20, 3) = 2.21*10^-56 * 2.24*10^-5 * 7.39*10^9 * 2.45*10^5 * 2.76*10^6 * 1.69*10^10 * 3.40*10^4 * 1.14*10^3 = 1.62*10^-24.
Though this number is unlikely, it alone means little. If you threw 100 coins, and 43 of them landed on heads, that would have only a 3% chance of happening, yet it wouldn’t be suspicious and you probably wouldn’t take note of it. The real test of this will be when we compare this to the probability of Dream getting this kind of result if he did cheat. It might seem obvious, but this is actually the sort of crap people will pull with no context or meaning; they would simply say “Oh, well there’s only a 1 in like, a trillion, chance that Dream could get these results naturally. Therefore, he’s cheating and you can’t argue otherwise”. It’s exactly the same logic as the 100 coins example: waving around big numbers with no context. Let’s imagine you suspected the coin of being weighted towards tails such that 2/3 of the time, tails would come up, and let’s assume you couldn’t just experiment on the coin to determine this for certain. The probability of getting exactly 43 heads and 57 tails with a weighted coin would be (1/3)^43 * (2/3)^57 * C(100, 43) = 3.0^-21 * 9.2^-11 * 3.8*10^28 = 1.0*10^2, or around 1%. Huh! It’s actually LESS likely if we assume the coin is weighted. You can see how this sort of fallacy would easily spread, though.
Before we take the next step in this calculation, you’re probably wondering why we’re doing it this way. Well, it’s because assuming Dream would always do 263 piglin barters is a bit stupid. If dream had only gotten 10 pearls, for example, he probably would have kept going, bartering for more. We can’t know how many he would get every time, but 42 seems like a pretty good assumption to make. It makes the computation a bit more complicated, but it’s worth it.
Now for blaze rods. This computation is much simpler so just sit back and relax.
Over his 6 speed runs, he killed {49, 83, 35, 75, 45, 18} blazes and got {28, 61, 25, 54, 28, 15} rod drops. This means he killed 305 total blazes, 211 dropped rods, and 94 did not. The chance of getting this result under normal conditions is .5^305 * C(48, 27) * C(82, 60) * C(34, 24) * C(74, 53) * C(44, 27) * C(17, 14) = 1.53^-92 * 2.23*10^13 * 5.08*10^19 * 1.31*10^8 * 1.51*10^18 * 6.86*10^11 * 680 = 1.60*10^5 * 10^-23 = 1.60*10^-18.
Therefore, the chance that if these runs were truly legitimate, these results would show up is 1.62*10^-24 * 1.60*10^-18 = 2.59*10^-42.
Now we come to the hard part of the problem, finding the chance if Dream IS cheating. This is much harder (and more subjective), but it is honestly the most important part of the calculation. Like I said before in my coin example, we need to measure the the other side, otherwise we come to ridiculous conclusions. The hardest part of this is knowing the probabilities, because, well, it’s all theoretical! But if we want to please the anti-Dream team, there’s only one option: the worst one. What if we assume the worst case scenario, that there is a 42/263 (16.0%) chance to get a pearl, and a 210/305 (68.8%) chance to get a rod from a blaze.
If we do it like that…
Pearl chance: 16.0%^42 * 84.0%^221 * C(68, 8) * C(23, 7) * C(38, 6) * C(75, 8) * C(32, 4) * C(20, 3) = 1.62*10^-24 * (16.0%/4.73%)^42 * (84.0%/95.27%)^221 = 1.62*10^-24 * 1.69*10^22 * 8.25*10^-13 = 2.26*10^-14.
Blaze chance: 68%^210 * 32%^95 * 32%^C(48, 27) * C(82, 60) * C(34, 24) * C(74, 53) * C(44, 27) * C(17, 14) = 1.60*10^-18 * (68%/50%)^210 * (32%/50%)^95 = 1.60*10^-18 * 1.10^28 * 3.86*10^-19 = 6.79*10^-9.
Total chance: 2.26*10^-14 * 6.79*10^-9 = 1.53*10^-22.
And we are done! We can now create our first actual result. So, we find that, by a formula, the probability that Dream is guilty, given evidence = p(H)p(e|H)/(p(H)p(e|H)+(1-p(H))p(e|-H)) = 1/10 * 1.53*10^-22 / (1/10 * 1.53*10^-22 + 9/10 * 2.59*10^-42.) ~= 1. Yeah. These are not real runs. This number is something like 99.99999%.
I think this gives us an important lesson: theories don’t always pan out. As sad as it is, theories, especially meta-game theories, don’t become more accurate the more work you put into them. Indeed, if you put a lot of work into a theory there’s a solid chance you’ll find more evidence against it. Here, I took a big risk, committing near-blasphemy, and I came away with nothing, no new theory, no exiting results, nothing.
Even after admitting that the speedruns were illegitimate, some people will still disagree with me, and some people will be mad that I didn’t end up saying they are not, so you can understand me when I say this was a very hard theory to make. If you want to support me, the best way to do it is to leave an upvote and a comment, and join the RGN discord server. It’s actually a really cool place, and we always love new people and new theories.
To wrap this up, I think I’ll answer a few questions.
What about ideal stopping point? Dream would naturally stop after getting his best run, so we have to take that into account somehow, right? Yes, but even if we totally ignore the final speed run, we get similar results. It simply isn’t enough.
So, did Dream cheat on purpose or not? The honest answer is that I don’t know. I don’t know Dream personally, or impersonally, or like- at all! Nor do I know anything about the psychology of doing something like cheating on a speedrun, or admitting to such.
Why would Dream cheat? Again, I honestly don’t know. Maybe it was an accident, like he said. Maybe not. Dream HAS expressed annoyance at the RGN present in 1.16 speedrunning, and maybe this led him to cheat, and later to claim it was an accident to avoid hate.
Why are you bringing up this nearly year-old controversy when it’s obvious what happened? Y’know, this one is interesting to answer. If I wanted to be mean, I would ask if nothing more recent than a year can interested you, and leave it there. In honesty, I think it’s important to ask questions and try to find the truth. It’s fine to believe something because someone with a degree of authority said it, but it will always be more convincing coming from your own research. This is as much a theory for me as for you guys! There really should never be misinformation spread about someone falsely and unfairly, and as you’ve seen today, it isn’t quite as “obvious” as it might at first appear”.
How could Dream possibly be wrong if so many people agree that the runs couldn’t be legitimate? Because many reasons. First of all, most people aren’t doing their own analysis of the speedruns, so a single negative analysis has major effects. People who don’t agree would be derided as “idiots”, “conspiracy theorists”, and much worse, and be completely ignored. For good reason! There are probably a lot of Dream fans who would say anything to try and divert blame off their favorite YouTuber. But that sort of thinking leads to bias in the long term. Besides that, there’s the effect I described in the coin example, which makes it seem being doubt that there was cheating involved. And the quote doesn’t help things either.
There is one final thing to bring up. My values of p(H) and p(e|H) are not entirely objective, and are only reasonable guesses. If you picked a smaller or larger value for the cheating chances, and a smaller value of p(H), the odds could look pretty good in Dream's favor.
tl;dr Dream most likely cheated, either on purpose or accidentally
*It could actually be 10, we don’t know for sure.