Page 1 of 1

Interesting stuff from the Cyanide Forum

Posted: Mon Oct 27, 2014 5:49 pm
by Raveen
I was browsing the Cyanide forum and came across some useful tidbits that I thought you all should read:

There's a bug in this game where if you click on any of your units during your opponent's setup before a kickoff and it is left selected when it becomes your turn to setup for the kickoff then that player will disappear off the field and you'll only have 10 players instead of 11. This bug was reported around 3 years ago. How is it that such a major bug has not been fixed by now?

Clicking on units to see what skills they have is a natural thing to do, especially if you have many teams and don't remember exactly what kind of skills your players have. I've accidentally run into this bug many dozens of times and run into it probably at least a hundred times before that before I found out what caused it. If I have run into it so many times then I think probably a lot of new players have run into it and thought "wow, this game is buggy" and left and never come back. Is there no concern for the quality of the product?


That's the vanishing player thing sorted.

Since the original article about the RNG has been requested to be removed by the author I decided to do some cursory digging and write my own. My main source of information for this is pmcc, Cyanide's lead programmer for BBLE. Specifically, I asked him what type of RNG was used, whether the result for d6 and block dice was calculated in the same manner, whether the algorithm turning the RNG output into a die roll does so evenly, and whether there were any other inputs altering the die roll (such as the AI). Clearly for the die-hard conspiracy-theorists asking the actual programmer to tell us how it works is akin to asking Nixon if he is a crook, but perhaps for those people even the original article would be unconvincing.

What RNG is used?
The RNG used is a Mersenne Twister MT19937. Wikipedia (if you trust it) tells us that this particular RNG has 3 desireable properties:

1. Long period. This is the number of iterations before the RNG repeats itself. In this case that is (2^19937) - 1, so really quite a lot (in the order of 10^6001).
2. It is k-distributed to 32-bit accuracy for every 1 ? k ? 623. That means that all sequences up to 623 numbers long are equally probable. This is important in BloodBowl, where typically a few hundred dice will be thrown. The "32-bit" part means that it produces a number between 0 and (2^32)-1, or 4,294,967,295. This is basically the output of the RNG.
3. It passes various statistical tests for randomness.

What does the game do with the RNG results?
What we need to play BB is generally d6 results or variants thereof (e.g. d3). Sometimes a d8 is needed as well, but I don't know how this is produced.

If we want to take our 32-bit number and turn it in to a number between 1 and 6 inclusive then there are two ways to do so. We can either simply divide the number which is output by 1/6th of itself (715,827,883) and round up (producing 1 to 6), or we can perform a modulo +1 operation on it. A modulo, for those who don't know, is the remainder after division. We take our number and divide it by 6, which will give us an integer and a remainder. The remainder will be a number between 0 and 5, so adding 1 to it gives us our 1 to 6 range.

BloodBowl uses both. One operation is used to convert the number to d6 results, and the other is used to convert into block dice. Interestingly, 2d6 results are calculated using the same algorithm as the block dice results, such that if DD were to correspond to 6 then two DD results would be 12 on 2d6, but it might be any numbers on two separate d6 rolls - there is no correlation between the two.

Are the dice fair?
The last two questions I asked pmcc were to do with the fairness of the dice.
Q. Does the algorithm turning the RNG output into a die roll do so evenly?
A. Yes.
That seems reasonable to me, given the simplicity of turning the output number into a number between 1 and 6 inclusive. I believe the original researcher found some very slight discrepancy in the number of 6s compared to other numbers, but the difference was in the order of 0.000014% difference.
Q. Are there any other inputs altering the roll?
A. No.
Again, given the fact that three different dice checking programs were created and all showed that the dice were fair, even against the AI, this seems fair.

Given the above, I for one am happy with the dice. If you aren't then maybe you could ask VoodooMike to explain it to you, since it was him who wrote the article with the original research, and him who wanted me to not post it; hence, you are stuck with my own ramblings instead :)


Digital Nuffle in all His glory!

Re: Interesting stuff from the Cyanide Forum

Posted: Mon Oct 27, 2014 6:53 pm
by Gandalf
Good find!

In a game earlier this season, I had 12 players on the pitch, so there's another bug to try and get to the bottom of...

Re: Interesting stuff from the Cyanide Forum

Posted: Mon Oct 27, 2014 7:45 pm
by Raveen
Oh there's a crap load of bugs, this is one that we've had crop up a lot though.

Re: Interesting stuff from the Cyanide Forum

Posted: Tue Oct 28, 2014 9:01 am
by DaigaroOgami
Good spot & tip on the vanishing player thing Rav, cheers for that :)

Also good to know about the dice... I've just hurt my head thinking about this, and can't figure out a way to write down what I'm thinking... basically I'd still like to chuck real dice instead.

But, at least we know it's MEANT to be completely random, and now weighting involved to any dice type/sequences of play., etc to 'add excitement' or whatever. Nuffle's Rules innit.

Re: Interesting stuff from the Cyanide Forum

Posted: Tue Oct 28, 2014 12:08 pm
by Raveen
As long as you determine random as "Not able to predict the next roll no matter what." the rng works fine. Dice aren't objectively random either, although the tactile feeling of them is much nicer (hence I roll along at home sometimes :) ).

I'd love to find the time and money and people to play TT every once in a while but I don't have a board or team any more.

Re: Interesting stuff from the Cyanide Forum

Posted: Tue Oct 28, 2014 3:59 pm
by Raveen
This comes from the BBTactics forum

Quote:
Originally Posted by Altashheth View Post
I want new stadiums...... The more stadiums there are the more likely it is that I won't get the snow stadium I hate not being able to read the text easily.... White on white, grrr
Given how easy it is to mod imagery in Blood Bowl I don't understand why people decide they want to suffer from things easily changed.

If you want the Norse stadium but don't want the snowy pitch you just need to change a few things.
In your game directory you click yourself down through "Data, 3d, Level" until you go into Level_08/Textures where you rename the three "Grass01" files to something else. (Grass01_D, Grass01_N and Grass01_S)

Then go to Level_01/Textures and copy the three Grass files from there to Level_08, renaming them Grass01 when they are there. (Ignore the file in Level 1 that is already named Grass01 - that's not what you want at all)

Done, and no more white field (except during the pre-match pan, but that's not the problem). Looks more like someone has shoveled away the snow from the pitch - which is good enough for me.


I know what I'm doing before next week...

Re: Interesting stuff from the Cyanide Forum

Posted: Wed Oct 29, 2014 1:04 pm
by DaigaroOgami
Christ, me too.

Nice find Rav, that white pitch is well shite. All I want is grass; might put grass on ALL the stadiums... be much much better.

Re: Interesting stuff from the Cyanide Forum

Posted: Wed Oct 29, 2014 1:13 pm
by Raveen
http://forum.bloodbowl-game.com/viewtopic.php?f=5&t=169

Lots of mods - Has no impact on online play and is compatible with LE and CE.

Re: Interesting stuff from the Cyanide Forum

Posted: Wed Oct 29, 2014 1:58 pm
by Raveen
The way it works with Undead is that the first player killed becomes a zombie and is added immediately to your bench. When the game ends you are asked if you want to buy him as if he were a journeyman. You click the buy button and he is added to your permanent roster as a skeleton (the game won't let you take him as a zombie), but you are not actually charged the money.

I think it works the same way for Necro except that you get to add a zombie instead of a skeleton to the roster. I imagine that Akirilus thought the game was charging him for the player, because it makes it look like you have to buy him, but if he checked his treasury he would have seen that he hadn't actually been charged the 40k.

Re: Interesting stuff from the Cyanide Forum

Posted: Mon Nov 10, 2014 4:54 pm
by Raveen
In case anyone was wondering what the points shown in the BB client league table are:

Ok, so it's a challenge league. It uses the same system as MM, which I believe to be:

Points = ((Wins x 1750) + (Draws x 1000) + (Losses x 500) + (TD diff x 10)) / (2 + wins + draws + losses)


Happily we don't use the ranking in the game but it's nice to know it's there.

Re: Interesting stuff from the Cyanide Forum

Posted: Tue Nov 18, 2014 3:51 pm
by Raveen
http://forum.bloodbowl-game.com/viewtop ... 88&p=13759

In the section that appears in the bottom right when you click on the player, listing all his skills, you can double click & it will bring up a window allowing you to click on each skill & temporarily for that turn (orange cross) or permanently until you change it again (red cross) turn off any skill that allows it. Also useful for turning off Grab when surfing & a few other examples

Re: Interesting stuff from the Cyanide Forum

Posted: Sun Dec 07, 2014 11:58 pm
by Gandalf
Raveen, can you repeat what you said on mumble about the missing player bug, for those who weren't there/have forgotten already?

Re: Interesting stuff from the Cyanide Forum

Posted: Mon Dec 08, 2014 12:38 pm
by Raveen
A tip from a YouTube video by Cpt Deluge on the missing player bug.

If you are setting up second and selects a player on the other team the game gets confused when it's your turn to set up. Instead of leaving the opposing team player selected it picks one of your guys and selects him instead. It also randomly dumps that selected player miles off the screen.

As the vanished player is still selected, if you right click on an empty square he will appear. If on the other hand you select another player instead, you won't be able to get back to the vanished player and he'll be placed randomly.

I suggest that it's wise to get into the habit of right clicking an empty square at the start of every set up phase just in case.