Tilastotieteellistä ohjelmointia R-kielellä

Runequest combat simulations

What is Runequest?

Runequest is a role playing set in the world of Glorantha. The third edition was published in Finnish in 1988, and a few years earlier in English. The novelty of Runequest was in its semi-realistic combat system where hitting was based on the percentile roll-under system. The defender has a change to avoid the hit either by parrying or dodging it. After the successful hit, it is randomly allocated to some hit location, and character’s armor rating is subtracted from the damage. Damage to different location have different effects, and badly wounding a hand affects the character’s combat abilities in a different way than wounding the head or stomach.

Who gets to hit first is based on hit ranks. It was long disputed in our gaming group whether a character with a lower strike rank, but with otherwise similar edged weapon and armor would win. The argument was twofold: The first hitter gets to deal the damage first. If he or she is lucky, the opponent could even be knocked out with the first blow. However, there is a possibility to fumble the attach and even damage yourself. Getting a very good hit is about four times as common as a fumble, so the argument leant to support the idea that the first hitter wins more often than the opponent.

Now, 20 years later, I finally made the simulations to clarify the issue. The combat in Runequest is conceptually pretty simple to grasp, but there are plenty of details to take into account. The code that covers the character creation and details of running a combat round took about 1000 lines of R code, and the simulations take about a 100 lines more per each simulation. Although this took a few weeks of intermittent programming, I’m rather pleased with the results.

Who wins?

I created two characters, each with similar stats of 15 for the four characteristics relevant to combat. Both combatants got a shield, a one-handed blade (making a maximum of 9 point of damage) and an armor of various points (0-8). Both characters had exactly the same characteristics, except for the fact that I artificially made the other character to strike one rank later than the other. Combat was decided if either character blacked out, couldn’t strike or was exhausted. Each combat with the same armor rating was run 10000 times.

And behold, here’s the graph:

The first character to strike really wins more ofter than the opponent, if the armor rating is smaller than or equal to the mean damage dealt by the weapon (5.5). If the armor rating was larger than that, the amount of combats were both parties got exhausted and the combat was therefore undecided increased dramatically to about 75 %. At that stage the upper hand tips slightly to the second strikes way, possibly due to the fumbles made by the first striker.

Leafing through my notes, there are several other important situations to simulate, so I might return to this topic in further posts.


Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

This site uses Akismet to reduce spam. Learn how your comment data is processed.