Infinity: Mangling the Math

This is the story of a premature panic, and a cautionary tale about how you should take the time to understand even accurate information. It starts almost a week ago…

One of our playtesters — John — is a programmer at an absurdly prominent software company. One day he sends me an email, telling me he’s written an Infinity combat simulator in C#.

Input Attack and Defense for two characters, and the program will roll the dice for attack, keep track of Wounds and Wound penalties, and simulate the fight. Then it does this 100,000 times. After, it gives you victory percentage, average length of combat, and damage per round.

My response was precisely this:

That is, seriously, so cool. And now, a Japanese emoticon: 

b ^.^ d

This aid is a tremendous boon to playtesting. It means I can skip all the mundane PvP combats, and concentrate on specific scenarios that test parts of the rules other than “Wham! Wham!” But, there was a problem.

The next day, John sent me the first table of results (using Attack/Defense figures I suggested). The very first result listed the length of combat for that A/D combination…

203 rounds.

!

!

At that point, my brain shut down and panic set in. 200 rounds? How the hell can a combat between two identical characters with equal Attack and Defense last 200 rounds? That’s a huge hole! That’s a wreck-the-game’s-playability hole. And how did I miss it?

So, John sent in another batch of results, and I looked those over. Then he called up and we spent his lunch hour talking over the various rules changes and how those might effect the game. At this point, I was still in panic mode.

The next day, I decided to try a more comprehensive test. I came up with three scenarios, all involving average characters, in a fist fight, a gun fight, and a knife fight. In the back of my mind, though, was the panic:

200 rounds? That’s insane! How did I miss that? How the hell do I fix that without wrecking the core mechanic of the entire system?

So, I wrote out the unarmed combat bout, which has evenly matched characters. And I went back to the results file, and this is what I found:

                Adam       Bob
Attack:         15         15
Defense:        20         20
Win %:          49.89%     50.11%
Avg DPR:        0.045      0.045
Average # of rounds: 202.7314

Do you see the error I made? I misread the table. In my mind, this was 20 Attack, 20 Defense for each character. Instead, it was 15 Attack and 20 Defense. As soon as I understood that, my panic faded away and I began to really analyze the data: what does this mean, in concrete terms?

15 Attack vs. 20 Defense represents two absurdly well-armored people with pretty weak weapons. In other words, a duel between two Abrams tanks, armed only with Nerf dart guns.

Of course such a combat is going to take forever. It should. It’s two guys who only hurt each other 1 out of 10 rounds (and then only for 1-4 Wounds). And, instead of using a better weapon, switching to a different attack, changing tactics, using Combat Interactions, calling for reinforcements, fleeing, or anything else, they just continue wailing away at each other.

The length of the combat matches the stupidity of the participants. It is, as I’d suggested in the call, a corner case.

But what about more reasonable situations? Let’s take the sample three I suggested.

Common situation: Two average people with minimal training in a gun fight, knife fight, and fist fight.

Average people, pistols:

Dex 8 (+2), End 8 (+2). Dodge 1 +2 = 3, firearms 1 +2 = 3. Pistol DR 14 (.38 Revolver).

Attack: 17
Defense: 11

How long does the combat last?

                Adam       Bob
Attack:         26         26
Defense:        20         20
Win %:          49.94%     50.06%
Avg DPR:        3.7        3.7
Average # of rounds: 3.32583

Combat lasts 4 Rounds. That seems pretty reasonable, and logical (given how much damage .38 pistols do).

Average people, knife fight:

Dex 8 (+2), Str 8 (+2), End 8 (+2). Melee weapons 1 +2 = 3. Knife (Str+1), DR = 9 (8 +1).

Attack: 12
Defense: 11

                Adam       Bob
Attack:         21         21
Defense:        20         20
Win %:          49.83%     50.17%
Avg DPR:        1.1        1.1
Average # of rounds: 10.31562

A little longer, but pretty reasonable, especially for two equally matched combatants. Those kinds of fights are the long-running, epic duels of the cinema. Bond and the fencing master in Die Another Day, as an example, or the several duels in Disney’s The Three Musketeers.

Average people, fist fight:

Dex 8 (+2), Str 8 (+2), End 8 (+2). Unarmed combat 1 +2 = 3. Fists DR 8.

Attack: 11
Defense: 11

                Adam       Bob
Attack:         20         20
Defense:        20         20
Win %:          50.20%     49.80 %
Avg DPR:        0.76       0.75
Average # of rounds: 14.44288

14 rounds is a little long, but not unreasonable (especially for two barely trained fighters wailing away). And that’s the worst-case scenario for typical combats.

That is, 14, 10, and 4 are not the “average” length of combats. They’re the upper limit on combat length for 1 on 1 fights. Every other combat that isn’t “Abrams with nerf guns” will be shorter. And 14 rounds is pretty good.

After I realized this, the panic subsided and I could look at the numbers and analyze the entire situation. My conclusions:

  1. Don’t jump to conclusions. Even accurate data can be misread. Take the time to understand the data, before you act on it.
  2. The system holds up well. At 20 Wounds, combat lasts a reasonable amount of time. More, the length of combat is directly related to perceptible and logical differences. For example, fists don’t do as much damage as knives, so those combats last longer. That’s how it should be.
  3. The system covers a hole that comes up in many systems: no matter the skills, weapons, or Attributes of the characters involved, any attack can miss, hit for no damage, or do a varying amount of damage. More, which of the three happens is directly related to how well you did. A better attack does more damage than a worse attack.
  4. 20 Wounds for everyone was absolutely the right decision. The reason 17 Attack vs. 11 Defense is exactly the same as 26 Attack vs 20 Defense is because of this. With 20 Wounds for everybody, the odds and mechanics can scale indefinitely. 15 Attack vs 10 Defense is exactly the same as 55 Attack vs. 50 Defense, and 105 Attack vs. 100 Defense. The system is playable at low levels, high levels, and insanely high levels without needing patches or odd rules. That’s a tremendous strength.
  5. As a designer, I actually have a good grasp on the odds of the system. Part of what caused the panic was a completely unforeseen result. Once I understood the real math (see #1), I realized that the above round lengths for pistol fights, knife fights, and fist fights were all roughly what I would have predicted. The realization reassured me that I wasn’t as incompetent as I’d thought.
  6. With two combatants, and allowing only for attacks and passive defenses, there are 4 variables: Attack(a), Attack(b), Defense(a), and Defense(b). If you were to create a matrix of where each of these 4 variables were independently varied, to map out the probabilities and round length, it’d be a 4-dimensional probability map. Yeah, RPG’s are complicated.

Now that the panic’s passed, and I can look at the numbers straight, I’m reassured. It looks solid enough to take to testing.

Big thanks to John for doing some brutal (virtual) playtesting, and for serving as a sounding board. (Also, people should note that John’s data was (AFAICT) utterly accurate. The error was one of interpretation, not computation.)

Post written under the influence of: AC/DC, Survivor, Simon & Garfunkel, Sheena Easton, Falco, Kid Rock, Run-D.M.C., Fastball, Bush, Falco, Styx, Puff Daddy, & Delerium. (Individual tracks, in that order.)

Leave a Reply

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s