Blood Bowl 2's RNG
Community Manager

Hi guys,

Questions about the RNG in Blood Bowl 2 are quite frequent and we worked with Dode and VodooMike to have a post explaining how it works in the game.

You can find it here: https://forums.focus-home.com/topic/1111/rng-some-questions-answered

Don't hesitate if you need any explainations about the post.

last edited by Netheos

I think he's missed the most important Q&As:

Q: Why does the AI cheat?
A: It doesn't.

Q: But it cheats on the random dice rolls.
A: It doesn't.

😉

BB2 Champion Ladder Admin Team

That's covered by the last question, surely?

Humour bypass perhaps? 🙄

Thanks @dode74, @Netheos, and everyone who worked on that explanation.

I saw it on Steam and hope it'll ease our suffering, even slightly (I know it won't).

But I would like to offer a criticism, I believe it'll be too difficult for most people to decipher
I'm afraid those who keep asking these silly questions about RNG without taking a second to look around won't be satisfied with dode's post or will simply be turned-off by it's technical aspects.

I'm advocating for the KISS principle to be applied here.
Perhaps with a short video of in-game repeated failure and subsequent defeat from some well-known streamer (or whomever) as an example of how being unlucky doesn't mean the RNG is skewed.

@Naissun said in Blood Bowl 2's RNG:

I'm afraid those who keep asking these silly questions about RNG without taking a second to look around won't be satisfied with dode's post or will simply be turned-off by it's technical aspects.

From a lot of talking with different guys disliking RNG aspects of BB, I've learned it's not even the "rigged dices" they dislike, but the very fact dices mean that much in BB, in general. It turns out there are a lot of people, for whom the only "fair, good" turn-based system is a chess-like system where outcome of the match depends only on how well you can move your figurines around and pre-calculate moves as far in the future as possible. To them some dices ruining their brilliant plans is sort of personal insult. They want to control their "ingame fate" completely, so to say 🙂 Not all of them understand it themselves, and keep saying that they only don't like unfairness of dices.

@Naissun said in Blood Bowl 2's RNG:

Perhaps with a short video of in-game repeated failure and subsequent defeat from some well-known streamer (or whomever) as an example of how being unlucky doesn't mean the RNG is skewed.

That would actually empower the dragon with which @dode74 has been fighting for all this time, as it tries to prove your point with just one selected ("cherry-picking") match - specifically selected in a way that will prove your point. The only solid way is to provide a good, solid representation of matches with different statistics on it, but then it again will scare most of the whiner off.

last edited by Mori-Mori

@Naissun:
I think @the-Sage has several videos posted on his channel, showing both "<insert race> bullshit" lucky rolls and "getting diced" with some amusing fail rolls.

It was a very thorough explanation - which is exactly what is needed to kill the idiotic "RNG-cheating" speculation threads.
and as a plus, it's interesting to know the server is written in Python 🙂

@JustWilward said in Blood Bowl 2's RNG:

and as a plus, it's interesting to know the server is written in Python

Not sure if @dode74 meant server here, actually. The client is definitely written in it, though. He could mean that that's how RNG works when you play with AI (I doubt they would still draw RNG values for soloplay from servers, creating unneeded load, those are most likely generated locally). Though it's very likely they used the same language everywhere, to make things more uniform. In the end World Of Tanks as well written in Python, and deal with enormous network load.

BB2 Champion Ladder Admin Team

Yes, I meant server. Cyanide checked the post before it was made public.

BB2 Champion Ladder Admin Team

@Naissun said in Blood Bowl 2's RNG:

Thanks @dode74, @Netheos, and everyone who worked on that explanation.

You're welcome. @VoodooMike should also be in that list. We discussed the questions, he double checked my answers, and he provided the source code link. He's also done a lot of specific testing of replays themselves (which you may have seen the results of on the Steam forums).

@Mori-Mori said in Blood Bowl 2's RNG:

as it tries to prove your point with just one selected ("cherry-picking") match - specifically selected in a way that will prove your point.

That's not what I was talking about. The proof and explanations are already treated by the technical parts of dode's post but for those "dragons" I believe a video as an example would help.

Something introduced as: "This is an example of some legitimate die rolls resulting in repeated failure from an experienced coach. Bad luck doesn't necessarily means broken RNG. In BB2, it has yet to mean anything more than bad luck.".

@JustWilward I'll have a look when I have the time.

@dode74 I wasn't sure but I expected Mike to be involved. Well, thanks @VoodooMike too then 😉

last edited by Naissun

@Naissun said in Blood Bowl 2's RNG:

I believe a video as an example would help.

I plan on making a video to expand on the post, though it may take some time. The main reason for it being that people can sit through a lot more "stuff" in video format than they can in text format... people tend to just not read long posts, and this is a topic that we could write pages on.

@Naissun said in Blood Bowl 2's RNG:

This is an example of some legitimate die rolls resulting in repeated failure from an experienced coach.

The real problem with BB "celebrity endorsement" is that there's nobody out there that everybody knows and considers to be an awesome coach. In fact, we see some of the highest profile coaches pushing viewpoints that are patently false (such as the idea that halflings should play as though they're 300 TV higher than they are.... or that the Bret roster is OP). I'm not convinced those are people likely to sway the masses on any technical or intellectual concepts. Hell, I'm not even sure we can, but it's better to have the raw information available for people to link to in all the future "RNG iz Br0k3n" threads.

@JustWilward I do, yeah. There are examples of silly lucky and unlucky dice from both myself and my opponent in this playlist. They're meant as highlights, to show how amazingly silly this game can be, and they have no relation to the quality of the RNG (which I have no reason to doubt, but also no ability to say is good, other than a 'gut feeling' that it doesn't seem any more or less flaky than fumbbl or tabletop).

@VoodooMike said in Blood Bowl 2's RNG:

we see some of the highest profile coaches pushing viewpoints that are patently false (such as the idea that halflings should play as though they're 300 TV higher than they are....)

citation needed.

last edited by the Sage

Mersenne Twister uses a seed, when a game gets disconnected, where both clients disconnect, does it instantiate a new sequence from a different seed? I guess not as the game state is probably still unchanged.

Does the server host 2 sequences, one for each player, or just one sequence for both players?

Also are all dice coming from the same sequence, that is d6's, scatter and block dice? If so, how do block dice translate into d6's ? 1= attacker down etc.

last edited by majorbyte

@VoodooMike said in Blood Bowl 2's RNG:

I plan on making a video to expand on the post, though it may take some time. The main reason for it being that people can sit through a lot more "stuff" in video format than they can in text format... people tend to just not read long posts, and this is a topic that we could write pages on.

Exactly.
Good to know that's planned.

The real problem with BB "celebrity endorsement" is that there's nobody out there that everybody knows and considers to be an awesome coach. In fact, we see some of the highest profile coaches pushing viewpoints that are patently false (such as the idea that halflings should play as though they're 300 TV higher than they are.... or that the Bret roster is OP). I'm not convinced those are people likely to sway the masses on any technical or intellectual concepts. Hell, I'm not even sure we can, but it's better to have the raw information available for people to link to in all the future "RNG iz Br0k3n" threads.

Sure, but does it really matter if the coach is famous enough or understand how RNG works?
I'm not asking for that person to sway the masses by popularity or by explaining things.

What's needed IMO is a short clip from a normal match showing how an experienced coach with usually good results in BB2 can be as unlucky as a random schmuck.

You could even detail how the rolls in that short video are within the norm of what one can get, going technical and everything.

I believe that would help some people to understand their awful rolls are not an abnormality. That they will have bad days. That their "Cyanide hates me and makes me lose on purpose" match is in no way special and could happen again because that's what random means.

Or, as you said, it could at least be used as an answer to all those "BB2 broken RNG killed my mother" threads we keep getting.

@the-Sage said in Blood Bowl 2's RNG:

citation needed.

@ 6:37, cKnoor declares, for those of us who don't already know, that halflings only work if you have a certain amount of inducement money, meaning they need to play at a TV disadvantage. The data says that's bullshit.

Youtube Video

@ 3:02, you say people want to either play 100 or 400 TV down. Again, the data says that's bullshit, at least if what we're talking about is winning games.

Youtube Video

last edited by VoodooMike

@majorbyte said in Blood Bowl 2's RNG:

Mersenne Twister uses a seed, when a game gets disconnected, where both clients disconnect, does it instantiate a new sequence from a different seed? I guess not as the game state is probably still unchanged.

Each match has its own instance of the Random class, and matches only last (meaning can be reconnected to) while they are still active on the server, so the RNG state will remain the same. The seed is almost certainly just based on the system's own timer, which is pretty standard.

@majorbyte said in Blood Bowl 2's RNG:

Does the server host 2 sequences, one for each player, or just one sequence for both players?

There would be no reason to make two instances of the random class for a match.

@majorbyte said in Blood Bowl 2's RNG:

Also are all dice coming from the same sequence, that is d6's, scatter and block dice? If so, how do block dice translate into d6's ? 1= attacker down etc.

Probably. They are just using the standard Python random routines which include functions to produce a random integer in a range you give it. The method by which it turns the RNG output into such an integer can be viewed in the source to the Python random module. Which integer maps to which block dice is sort'v immaterial... in fact, it could simply be done using one of the other built in functions that picks from a supplied array of values which need not be numeric at all.

It should be noted that any of the normal "attacks" that can be made on random number generators to ascertain the seed or state enough to duplicate that state require a certain number of sequential RNG outputs... and that's different from values that are derived from that output. There's no reason for the server to transmit the actual RNG output rather than the roll values it derives from them.

There is a d6, 1 through 6, equivalence used in the challenges. If you want to work out what the game uses you should be able to work that out from that. My off hand guess would be 1=Attacker Down, 2=Both Down, 3,4=Defender Pushed, 5=Defender Stumbles, 6=Defender Down, since that's the order that the Block Dice results have always been listed in.

EDIT: I ran some of the challenges and 3&4 are definitely mapped to "Push". The puzzles in the ones I did actually relied on that fact.

last edited by mrinku

@VoodooMike said in Blood Bowl 2's RNG:

The method by which it turns the RNG output into such an integer can be viewed in the source to the Python random module. Which integer maps to which block dice is sort'v immaterial...

Why would the mapping be immaterial? The method is not important but the outcome? If my opponent rolled 12 block dice none of which were Attacker Down dice (assuming those are mapped to a 1), wouldn't that increase the odds for me rolling a 1 first thing I do in my turn?

Looks like your connection to Focus Home Interactive - Official Forums was lost, please wait while we try to reconnect.