Rolling and Graphing

I'm in the early stages of designing a computer game. At the moment it only exists in my head. Eventually I think I'll write it for Android, but first I'll be prototyping it in analog form as a board game.

Without going into too much detail, one of the core mechanics of the game will have units battling each other, successfully damaging each other—or not—according to the results of random number generations. For the analog prototype, I'll be using dice to generate random numbers. The attacker will roll one die, the defender will roll another, and if the attacker's roll is sufficiently higher than the defender's one point of damage will be dealt. Sometimes, an attacker will get multiple chances to attack, potentially dealing more than one point of damage per turn. The attacker will roll a 20-sided die (a d20); the defender will roll some smaller die. Modifiers may increase one or both of the players' rolls.

Under any particular set of circumstances, all these dice rolls and modifiers boil down to a probability distribution over total damage dealt in one series of attacks. For example, if an attacker rolls a d20 and the defender rolls a d6, the attacker must beat the defender's roll by only one point, and the attacker gets to attack twice, they will very likely be successful in at least one of the rolls, dealing one damage, and probably will be successful in both, dealing two damage.

I'm at the point where I need to start figuring out exactly what kinds of dice each unit gets to roll, and what kinds of modifiers and thresholds to apply for various circumstances. Just what would it mean if a unit got a +2 bonus on its defense roll—would it be half as likely to receive damage? 25% as likely?

I need some data to make informed decisions from, and so like any self-respecting student of computer science I generated some data. The title of each chart shows what kinds of dice are being rolled by the attacker and defender and how many attacks happen each turn. The X axis shows the margin by which the attacker must roll above the defender on each attack to deal a point of damage. The Y axis shows how often (out of 10,000 trials) at least some number of attacks were successfull; one line represents how many times at least one attack was successful, another represents how many times at least two were, etc.

Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11
Screen_shot_2011-05-10_at_11