Analysing block dice
Posted: Tue Jan 05, 2016 1:05 pm
The purpose of this post is to explain...
- what is and is not capturable regarding blocks
- how BBDB will improve om BBM in this regard
- for you to point out anything I say that doesn't make sense, or things I haven't considered
- for me to write my thoughts down so I can clear some space in my head
What information are we trying to capture from a block?
Here is the aspirational list in the order that they are covered below. I don't think all are entirely possible.
- Who is doing the block
- Block dice rolled
- Block dice chosen
- Type of block (frenzy, multiple block, ball & chain, normal block etc.) (new for BBDB)
- The odds of a turnover occurring (new for BBDB)
- The outcome of the block (BBM offers a tick, cross or blank, BBDB will offer a longer list of outcomes)
- Who is being blocked (new for BBDB)
- The odds of the block being a success (as defined by the other player being on his backside without it being a turnover, or the Ball is Stripped) (new for BBDB)
- Who gets to choose the block dice, eg is it 2 dice for or 2 dice against (new for BBDB)
- Was the block re-rolled / is this block a re-roll (new for BBDB) (this is comparatively easy and won't be covered in this thread)
-
Anything else?
OK, so all I have to work on is what the log file outputs. In the example of player X blocking player Y, this consists of...
Easy ones first... lines 2 and 5 tell us who is doing the blocking, what block dice are rolled and which block dice is chosen.
Line 1 reveals if a special sort of block is being used, if it is not there then it is a normal block. So there's 4 things captured already and with storing the sort of block we have already gained some functionality over BBM.
Next up, the chance of a turnover. I know who player X is, and I have his skills stored elsewhere. Therefore I think this is straightforward - it's the chance of rolling all Attacker Downs or Both Downs, or if the player has block/wrestle, it's the chance of rolling all Attacker Downs. Does this sound correct? I don't think any of the defender's skills can change this, unless player Y has wrestle and player X has neither block or wrestle, in which case if the defender chooses to use it then Both Down is not a turnover. However I think it is reasonable to ignore this case - the attacker has lost the block and the turnover is entirely in the hands of the other player.
Now, the outcome of a block. This is derivable by the post-block rolls. I will come to this in a later post.
Next up, things get tricky. Who is being blocked? If you look at my log file extract above, you can see we don't always know who is being blocked... we only do if any of the following happen.
- They use a block-related skill (dodge/fend/any others?)
- They have to take a post-block roll (eg an armour roll)
- The blocker has frenzy, first block is a push (doesn't reveal who is being blocked) but the second reveals who is pushed, we can then put that player against the first block.
-
Any other scenarios you can think of?
OK, so we can log the blocked player where we can, but we aren't always going to be able to. So I can't, for example, report on how many times a player has been blocked.
This has implications for calculating the odds of the block being a success. Specifically, if the defender has dodge and the attacker does not have tackle, this modifies the chance of success, but if we don't know if the defender has dodge then we can't take this into account. There are some things we can do to try and get around this.
- If the attacker has tackle, it does't matter if the defender has dodge.
- Look at the number of players on the defending team with dodge. Use this in the odds calculation, eg if 50% of the team have dodge, make the odds be half way between (odds if player has dodge) and (odds if player does not have dodge).
- Go a step further and how many players who are still on the pitch have dodge and use that in the calculation.
Points 2 and 3 are quite complicated and will have to wait for a later release. I may implement a simpler race-based solution for now, eg if team is amazon, then they have dodge, if team is elf, 50% chance of dodge, else defender doesn't have dodge.
Now it's who gets to choose the block dice, eg is it 2 dice for or 2 dice against? Curiously the log doesn't tell us this. So it'll be a case of deriving it where possible from supporting information. For example if there's a red skull and a defender down but the red skull is chosen, we can assume it was a 2d against block (exception - if the block happened as time ran out and the game picked one at random - I think I can capture this scenario??). Or if a ST3 player (without block) is attacking a ST5 player, maybe that's 2D against?
For all these cases where we can only make educated guesses about the information, the fact that we are guessing it will be stored as well.
=============================
I think that's everything? Your responses will be greatly appreciated!
- what is and is not capturable regarding blocks
- how BBDB will improve om BBM in this regard
- for you to point out anything I say that doesn't make sense, or things I haven't considered
- for me to write my thoughts down so I can clear some space in my head
What information are we trying to capture from a block?
Here is the aspirational list in the order that they are covered below. I don't think all are entirely possible.
- Who is doing the block
- Block dice rolled
- Block dice chosen
- Type of block (frenzy, multiple block, ball & chain, normal block etc.) (new for BBDB)
- The odds of a turnover occurring (new for BBDB)
- The outcome of the block (BBM offers a tick, cross or blank, BBDB will offer a longer list of outcomes)
- Who is being blocked (new for BBDB)
- The odds of the block being a success (as defined by the other player being on his backside without it being a turnover, or the Ball is Stripped) (new for BBDB)
- Who gets to choose the block dice, eg is it 2 dice for or 2 dice against (new for BBDB)
- Was the block re-rolled / is this block a re-roll (new for BBDB) (this is comparatively easy and won't be covered in this thread)
-
Anything else?OK, so all I have to work on is what the log file outputs. In the example of player X blocking player Y, this consists of...
1) [Optional] player X uses skill Z
2) Player X rolls block dice
3) [Attacker Down] - [Defender Stumbles] (for example)
4) [Optional] player X uses skill Z (for example, Block)
5) Player X chooses [Defender Stumbles]
6) [Optional] Player Y uses skill Z (for example, Dodge)
After that there's a number of things that could happen. We will call these post-block rolls and will cover them in a later post.
Easy ones first... lines 2 and 5 tell us who is doing the blocking, what block dice are rolled and which block dice is chosen.
Line 1 reveals if a special sort of block is being used, if it is not there then it is a normal block. So there's 4 things captured already and with storing the sort of block we have already gained some functionality over BBM.
Next up, the chance of a turnover. I know who player X is, and I have his skills stored elsewhere. Therefore I think this is straightforward - it's the chance of rolling all Attacker Downs or Both Downs, or if the player has block/wrestle, it's the chance of rolling all Attacker Downs. Does this sound correct? I don't think any of the defender's skills can change this, unless player Y has wrestle and player X has neither block or wrestle, in which case if the defender chooses to use it then Both Down is not a turnover. However I think it is reasonable to ignore this case - the attacker has lost the block and the turnover is entirely in the hands of the other player.
Now, the outcome of a block. This is derivable by the post-block rolls. I will come to this in a later post.
Next up, things get tricky. Who is being blocked? If you look at my log file extract above, you can see we don't always know who is being blocked... we only do if any of the following happen.
- They use a block-related skill (dodge/fend/any others?)
- They have to take a post-block roll (eg an armour roll)
- The blocker has frenzy, first block is a push (doesn't reveal who is being blocked) but the second reveals who is pushed, we can then put that player against the first block.
-
Any other scenarios you can think of?OK, so we can log the blocked player where we can, but we aren't always going to be able to. So I can't, for example, report on how many times a player has been blocked.
This has implications for calculating the odds of the block being a success. Specifically, if the defender has dodge and the attacker does not have tackle, this modifies the chance of success, but if we don't know if the defender has dodge then we can't take this into account. There are some things we can do to try and get around this.
- If the attacker has tackle, it does't matter if the defender has dodge.
- Look at the number of players on the defending team with dodge. Use this in the odds calculation, eg if 50% of the team have dodge, make the odds be half way between (odds if player has dodge) and (odds if player does not have dodge).
- Go a step further and how many players who are still on the pitch have dodge and use that in the calculation.
Points 2 and 3 are quite complicated and will have to wait for a later release. I may implement a simpler race-based solution for now, eg if team is amazon, then they have dodge, if team is elf, 50% chance of dodge, else defender doesn't have dodge.
Now it's who gets to choose the block dice, eg is it 2 dice for or 2 dice against? Curiously the log doesn't tell us this. So it'll be a case of deriving it where possible from supporting information. For example if there's a red skull and a defender down but the red skull is chosen, we can assume it was a 2d against block (exception - if the block happened as time ran out and the game picked one at random - I think I can capture this scenario??). Or if a ST3 player (without block) is attacking a ST5 player, maybe that's 2D against?
For all these cases where we can only make educated guesses about the information, the fact that we are guessing it will be stored as well.
=============================
I think that's everything? Your responses will be greatly appreciated!

)