|||

Inverting Morale

Now that I talked about State Management — specifically, how to think about events — I can talk about morale.

I think that morale systems are clunky, and I always forget to check morale. But in old-school games, combat doesn’t make sense if morale is not used. Like reaction rolls, they help simulate a dynamic world that responds to player decisions. If the players know the rules of morale, they can weigh scare them off” against other strategies, and attempt to trigger as many checks as possible.

Here are several variations on morale from games modeled on classic Dungeons and Dragons and beyond.

  • Swords and Wizardry - Morale failure is completely up to referee discretion.
  • Fantastic Medieval Campaigns - Morale is checked based on number of relative casualties on either side in mass combat. The text refers to Morale in small melees throughout, but nowhere is it spelled out how it works. Note: this is 100% not an issue with FMC, but rather its source material, Original D&D. I went to FMC instead of OD&D since I thought Marcia’s clear wording might reveal some detail I had missed. Turns out, it’s ambiguous!
  • Moldvay’s D&D Basic - Optional rule. Every NPC has a morale score in their stat block between 2 (always runs) and 12 (fights to the death). Morale is checked when the first NPC is incapacitated and when their numbers are halved. After two successful checks, NPCs fight to the death.
  • The Black Hack - Optional rule. Morale outcomes are folded into Reaction. When an NPC group is reduced to 50% of the original number, their Reaction is re-rolled.
  • Whitehack - Optional rule. Morale is checked when the first NPC is incapacitated and when their numbers are halved. The target number is based on referee discretion.
  • The Vanilla Game - Morale is a Saving Throw rolled whenever an NPC dies.
  • Cairn - Morale is checked when the first NPC is incapacitated and when their numbers are halved. Morale is a Willpower save.
  • Errant - Morale may be checked when NPCs are outnumbered, when their numbers are halved, when their HP is halved, and when their leader is defeated.
  • Wolves Upon the Coast - The base target number is always 7, and is modified by referee discretion. Many different events trigger morale checks.

Baseline Morale

It’s pretty easy to see that Tom Moldvay’s D&D Basic is the platonic ideal for NPC morale. Here is the baseline mechanic that I will be using, spelled out.

Player characters never roll morale, but their NPC companions might.

A target number is defined, usually between 2 and 12, so that morale can be checked by rolling 2d6. If a group rolls greater than its morale, that indicates a morale failure.

  • For NPCs, this is a morale score.
  • For a player-character’s NPC companions, it’s based on factors such as loyalty and a character’s Charisma score.
  • Some NPCs always fight to the death. This is either defined by their type (i.e. all undead and oozes) or via a high morale score which obviates the need for morale checks.
  • Additional modifiers to the morale score might be included, based on cultural values, past treatment of companions, etc.

Certain events trigger a morale check. When this happens, roll the dice and compare them to the target number. Wolves Upon the Coast has helpfully collected some events common to many games:

  • The group is ambushed.
  • The first death on either side.
  • The group is reduced to some fraction of its fighting strength.
  • The leader is killed or retreats.
  • Fear effects from magic, or the presence of horrific foes.
  • A friendly group flees.

If the dice indicate a morale failure, the NPCs attempt to parley or retreat.

Detour into Probability

If you keep making morale checks, an NPC group will eventually fail one of them and flee. Instead of thinking about morale as a box we repeatedly open to observe whether or not morale has failed, you can invert this and model the likelihood of failure within N checks.

How can we determine the probability of an event happening within N trials? I have encountered a lot of people using the Monte Carlo method to figure out probabilities. But it’s very easy to calculate the probability that an event will occur within N trials. If you have a good understanding of probability, you can probably skip to Still here?” below.

Here’s a simple example, rolling a 5 or 6 on a d6. I will refer these outcomes as P(5,6).

The probability of P(5,6) is equal to the number of desired outcomes in the set of all outcomes (there are two: 5 and 6) divided by the total number of outcomes (there are 6: 1, 2, 3, 4, 5 and 6).

The probability of P(5,6) happening twice in a row is calculated by multiplying the the probability of a P(5,6) with itself. You can use exponents here, or simple fraction multiplication: numerator times numerator over denominator times denominator.

2 outcomes out of 6 becomes 4 out of 36. You can keep going. The probability of rolling a 5 or 6, three times in a row is 8 out of 216 — 2 x 2 x 2 out of 6 x 6 x 6.

I find it helpful to visualize this in a table. There are 4 outcomes out of 36 where both rolls came up 5 or 6.

1 2 3 4 5 6
1 1,1 2,1 3,1 4,1 5,1 6,1
2 1,2 2,2 3,2 4,2 5,2 6,2
3 1,3 2,3 3,3 4,3 5,3 6,3
4 1,4 2,4 3,4 4,4 5,4 6,4
5 1,5 2,5 3,5 4,5 5,5 6,5
6 1,6 2,6 3,6 4,6 5,6 6,6

In order to find out whether you will roll a 5 or 6 within N trials, you can use the complement, the probability of a thing not happening.

Here’s how to think about it: what is the probability, call it P(not 5,6), that a 5 or a 6 will not come up if we roll the dice N times in a row? If you know that, then the probability of it occurring at least once in those N trials is
1 – ( P(not 5,6) ^ N ).

P(not 5,6) is 4 out of 6, equal to 1 — P(5,6).

The probability of not rolling a 5 or 6, twice in a row is equal to 16 out of 36 (4 x 4 out of 6 x 6), or P(not 5,6) x P(not 5,6).

Therefore, the probability of rolling a 5 or 6 in either of the two trials is 1 — (16 / 36), or 20 out of 36. You can see that there are indeed 20 entries in the table above which contain a 5 or a 6 for at least one of the rolls.

Still here?

Instead of checking for a morale failure every time a morale check is triggered, we can instead determine the probability that a failure will occur within N morale checks. Further, morale failures are nested - every morale failure that happens within two trials also occurs within three trials.

This means we don’t have to stop and make a morale check every time a triggering event occurs. We can instead model the number of morale checks a group can withstand before they retreat. This can be determined once at the beginning of combat. Then it’s easy to glance at a list like this and determine how many events apply to the current situation:

  • The group is ambushed.
  • The first death on either side.
  • The group is reduced to some fraction of its fighting strength.
  • The leader is killed or retreats.
  • Fear effects from magic, or the presence of horrific foes.
  • A friendly group flees.

This structure has the benefit of enforcing Blorb’s No Paper after Seeing Rock principle:

If you secretly write down your selection in advance, you don’t have to be as precise with the timing. Your selection is committed long before you saw that rock.

It is easiest, for me, to ignore the results of a roll immediately after seeing the result. That is the time when I’m trying to make sense of the world, and it may feel wrong given the immediate concerns. This is not a personal failing - the question of whether or not it’s OK to fudge dice has been a topic of role-playing discourse for longer than I’ve been alive.

If you’ve committed ahead of time to a number of tests a group is willing to endure, there are no dice involved when you are making the call. You need only consider the number of tests versus the morale threshold.

New Morale Rule

The basic structure of a rule using the above principles looks like this.

At the beginning of combat, roll DICE to determine morale for a group of NPCs.
If the result is X or more, the group fights to the death.
If the result is Y or more, the group flees after two morale tests.
Otherwise, the group flees after the first morale test.

If the group is particularly disciplined, add Z to the check.

I want to cast a wide net, so let’s take a look at D&D Basic, which has the following distribution of monster morales:

Morale Count
5 2
6 4
7 22
8 31
9 17
10 8
11 5
12 13†

†: 10 monsters with morale 12 are undead and oozes.

70 out of 102 creatures fall between 7 and 9, so I will try to fit the math around 8 morale. If I add a special condition for undead, I can further increase accuracy. There is actually pretty wide range of results between Morale 7 and Morale 9.

2d6 vs. Morale Flees after 1 check Flees after 2 checks Fights to death
6 58.33% 82.64% 17.36%
7 41.67% 65.98% 34.02%
8 27.78% 47.84% 52.16%
9 16.67% 30.56% 69.44%
10 8.33% 15.97% 84.03%

Using these results, we can find values for X, Y, and Z that produce similar results. I have chosen solutions which favor monsters running away more frequently than D&D Basic, which is more in line with modern conventions where NPCs are seen less as obstacles between the players and treasure, and more as beings with their own motives.

Rolling a single d20 produces results which shift linearly as Z changes. Here are the results with percentage comparisons to morales 7, 8 and 9. I think this is fine, but it has poor ergonomics. It’s hard to remember 7 and 11 as breakpoints compared to something like 10 and 15.

d20 vs. Y Flees after 1 check
(1d20+Z < Y)
Flees after 2 checks
(1d20+Z < X)
Fights to death
Z value Y = 7 X = 11
-3 45%
(+3.33%)
65%
(-0.98%)
40%
+0 30% (+2.22%) 50%
(+2.15%)
55%
+3 15%
(-1.67%)
35%
(+4.44%)
70%

When rolling 2d6, it’s (unsurprisingly) possible to produce an exact match for NPCs fleeing within 1 check. The math veers off for fleeing after 2 checks. It’s closer to D&D Basic if X = 7, but I chose X = 8 in order to lean towards the modern conventions I described above.

2d6 vs. Y Flees after 1 check
(2d6+Z < Y)
Flees after 2 checks
(2d6+Z < X)
Fights to death
Z value Y = 5 X = 8
-1 41.67%
(+0%)
72.22%
(+6.24%)
41.67%
+0 27.78%
(+0%)
58.33%
(+10.49%)
58.33%
+1 16.67%
(+0%)
41.67%
(+11.11%)
72.22%

We can also vary the results by conditionally increasing or decreasing the number of morale tests a group is willing to endure. Here is the final formulation of this rule.

MORALE
At the beginning of combat, roll 2d6 to determine morale for a group of NPCs.

If the result is 8+, the group fights to the death.
If the result is 5-7, the group flees after two morale tests.
Otherwise, the group flees after the first morale test.

Common morale tests include:

  • The group is ambushed.
  • The first death on either side.
  • The group is reduced to 50% of its fighting strength.
  • The group is reduced to 25% of its fighting strength.
  • The leader is killed or retreats.
  • Fear effects from magic, or the presence of horrific foes.
  • A friendly group flees.

If the group is battle-disciplined, add 1 to the roll.
If the group is cowardly or inexperienced, subtract 1 from the roll.
If the group is in its lair or defending its treasure, it can endure an additional morale test.
Undead and oozes always fight to the death.
A group defending children always fights to the death if it cannot retreat with them.

I think this is good for several reasons. You only have to roll once, and then glance at the morale tests every now and then. The referee has an extra knob to tweak: they can adjust the discipline bonus or the number of tests endured. Ambushing is cemented as a good tactic. Finally, you can use conditions to say something about the world - undead and oozes behave differently, and groups care about their children.

If you don’t care about accuracy (and I don’t), you could even adjust this to the common breakpoints used for Reaction rolls: 5- flees after 1 test, 6-8 flees after 2 tests, and 9+ fights to the death. It means that creatures flee sooner, but that is offset if they’re encountered in their lair. This has great ergonomics, and is probably what I will use in my games going forward.


References

Thanks to Luke Gearing for granting permission to use the Wolves Upon the Coast rules chassis upon which this is based. I am not associated with him, but I think the game is good, buy it!

Up next Rangers Upon the Coast - Session 15 After navigating the ruins of Donenashoe and finding some choice loot, Mongfhind made eye contact with a gorgon. Praise Onthloug for seeing her Rulings This is an update to Food and Pillage. Food is measured in “flotilla days.” We are not interested in tracking it any more granularly than that. If
Latest posts REXPaint is Cool Crystal Realm Core Loop Ten Artifacts from the Crystal Realm Notes on Fiends Four Classes for The Vanilla Game Barbarian Prince Rulings Inverting Morale Rangers Upon the Coast - Session 15 State Management Rangers Upon the Coast - Session 14 The One Ring - Year 2967 The One Ring - Year 2966 The One Ring - Year 2965 Planning Skill Endeavors Nine Anomalous Potions Skeleton Pirates Crystal Realm Procedural Generation Rangers Upon the Coast - Session 13 Rangers Upon the Coast - Session 12 Rangers Upon the Coast - Session 11 Rangers Upon the Coast - Session 10 Rangers Upon the Coast - Session 9 Rangers Upon the Coast - Session 8 Food and Pillage Rangers Upon the Coast - Session 7 Rangers Upon the Coast - Session 6 Rangers Upon the Coast - Session 5 Rangers Upon the Coast - Session 4 Rangers Upon the Coast - Session 3 Rangers Upon the Coast - Session 2