Tuesday 23 February 2021

Errant Design Deep Dive #5: Combat & The Violent

 For the duration of Errant's Kickstarter I will be doing a series of posts where I go through Errant, more or less in order, diving into the design of the game and its inspirations. To follow along, I suggest reading the relevant section being discussed at errantrpg.carrd.co. Also, we have a Discord server now.

This week we're taking a look at the first of Errant's four archetypes, The Violent. But before you can understand the nature of a warrior, you must understand the nature of war, and so we are first jumping ahead and breaking down the basics of Errant's combat mechanics, namely four key topics: Attacking, Health & Damage, Enhance & ImpairGambits, and Movement. Brace yourself because not only is this one going to be long, it's going to have math!

Attacking, Health & Damage

Friends, I have a confession to make. Any claim I have to OSR cred is entirely a lie, for in truth: I am a powergamer. That's right, I, a min-maxer, a theorycrafter, a dirty little munchkin who has spent hundreds of hours on WotC and Paizo forums and anydice.com trying to maximize the aDPR of hypothetical characters that I would never play (or no self respecting GM would ever let at their table). While I accept my fate of being cast into the gutters as the most maligned type of RPG player, it does give me a useful angle when approaching game design, as I have a fairly good eye for breaking down combat systems. And what this accumulated wisdom and knowledge has revealed to me is one inalienable truth:

Traditional D&D combat is fucking broken; specifically, separating to-hit and damage rolls. Now that I've dropped such a spicy take, I'm going to make you all wait before I justify my thesis. Now that's good writing.

As I said earlier, after a few misbegotten attempts I started using the Whitehack AV system for attack rolls. However, after reading Chris McDowall's post about Decisive Combat in Into the Odd/Electric Bastionland, I ditched attack rolls and switched to an auto-hit system. At the time, I had two reasons:

1) It was faster. My two big pet peeves when it comes to rolling dice are having to modify the result of a dice I've rolled after I've rolled it (e.g. adding or subtracting to the number), and having to roll more than once to accomplish one thing (e.g. having to roll to-hit and then roll damage when I want to attack something).

2) I was mostly playing with people who were either new to RPGs or had come from 5e. And one of the things I constantly told them to assuage their fears about high lethality or party asymmetry in levels was that "a 1st level character is just as useful as a high level character." 

This is a little bit of a white lie, but I think that for classic games the flatter, more constrained power scale does the game a lot of good; for Errant this is mostly achieved by non-scaling damage for every archetype but The Violent and an incredibly constrained HP range (max 20). While Errant, using a blackjack mechanic and having characteristics like item slots tied to attributes, meant that attributes mattered more than they do in an attribute/modifier system and consequently that higher level characters are always going to have an advantage with higher attributes than lower level character with lower attributes, the nature of player skill focused gameplay means that during exploration and travel characters with low attributes can obviate the needs for checks through clever gameplay, which does put everyone on a fairly even playing field.

Except for in combat.

The nature of combat in D&D is a system that is much more mechanically constraining field of play, with quite rigid quantitative mechanics that define a win-state (get enemies health to 0 or low enough that they surrender), with a heavily incentivized game mechanic being usually the optimal line to achieve that win-state (attacking). It is possible to cleverly roleplay your way out of a combat, but for the most part combat systems tend to prioritize flat tactics. Not only that, but the fail state of combat is the area where harshly adjudicated player death with no room for negotiation occurs most frequently.

Not only does this penalise lower level characters, it also penalises lower attribute characters (and the two are frequently overlapping) unfairly, placing too much mechanical impetus on attribute scores. I could solve this the same way that Whitehack does, with an attack value attribute tied to class and divorced from any attribute, but it was a solution I found inelegant. And it still creates a divide between the combat effectiveness of low level characters vs high level characters, particularly against high AC monsters.

Now of course, the counter-argument is that its okay for higher level characters to be better at combat, and I agree, but the question is to what extent. If I'm playing Monster Hunter with my friend, for example, and I have lower level gear on then they do relative to the challenge of a particular monster, even if my contributions to the fight are minimal, I am at least participating. But in an RPG, a character with poor to-hit rolls relative to the rest of their party is effectively not participating in a fight at all; missing just feels bad.

If your game has to-hit rolls that improve with level, you can not honestly as a GM make the oft-repeated OSR claim that "a 1st level character is just as effective as a higher level one" without lying. And as the GM-Player relationship is predicated on trust, I could not just lie to my players about that.

Now, to return to my earlier statement about Traditional D&D combat, based on the classic procedure of rolling to hit and then rolling for damage, being broken. And I say this for a simple reason:

Armour Class and Hit Points are the same thing.

This is not news to anyone who has done the kind of min-maxing I have. Mathematically, when you're trying to calculate your aDPR, you take the average value of all the dice you can roll for damage in a round, and then multiply that by a percentage determined by what AC value you're calculating your aDPR against (usually AC 20 is the benchmark). The most basic example of this is, vs an (ascending) AC 10 with no modifier to hit and doing a d8 damage, your aDPR is roughly 2 (4 being the average of a d8, multiplied by a 50% chance to hit).

AC is essentially a "hidden" pool of hit points that every monster has which fluctuates depending on the to-hit bonus of the character they are going up against. Each +1 to hit you have increases your damage by 5%, and each point of AC the monster has reduces damage by 5%. 

This, right here, I believe is the crux of why there is so much confusion about what HP actually is in D&D. When Philotomy was describing the paradigm where hit points are not just "meat points" but reflect the capacity of someone in a fight to avoid serious blows, establishing a fairly orthodox view in OSR scenes about what hit points are, which would later see codification in the Flesh & Grit system by Logan Knight that gained popularity, he was getting close to this point: hit points are essentially deflection points, not meat points (in terms of taking damage to your body). The range of damage that you deal reflects your accuracy: a 1 on a d8 is basically a miss, a whiff, a close call, while an 8 is a blow that seriously reduces your opponents capacity to defend themselves. Errant makes this distinction very clear: any damage you take to your HP is minor damage that can be healed with some medicine and a night's rest; once you reach 0 HP, any damage you take causes serious bodily injury.

The reason why this feels unintuitive, though, is that we apparently have AC there to tell us whether we hit or not: if we miss, that means a blow was deflected, and if we hit, that means we must have actually "dealt damage", whatever that means.

But of course, AC isn't AC: it's just a hidden pool of HP, masquerading as something else. 

OSR play is built around reliable resources, because without objective measures of how your basic adventuring capabilities such as torches, food, hit points, and damage work, there is no way for players to properly assess risk vs reward when engaging with the fictional world. You can change how reliable these resources are; damage traditionally is variable, and in Errant torches don't last for a fixed term but are tied to a 1-in-6 chance of depletion (with 2 strikes before they burn out completely) but what is important here is that the odds remain transparent to a player. They know that their damage range is 1-8 with a 50% chance to roll higher than a 4 and 50% to roll lower; they know that on average a torch will last about 12 exploration turns before fully burning out. They can make their informed little gambler's decisions or find ways around those rolls if the odds are unfavourable, but they always know what their chances are.

AC makes assessing the odds when it comes to assessing combat and damage opaque, to both players and Guides, especially because as I said earlier this "pool" of effective HP fluctuates based on the to-hit bonus of the person making the attack.

While mechanics like Armour in Into the Odd are a little better in that they represent an ancillary pool of hit points with a slightly different mathematical function in a clearer way, requiring only subtraction rather than percentile multiplication, I admit I still am not a fan: if something represents effective HP, just add it to the pool of HP! If the amount of HP it represents is variable, add the average value of it to the pool of HP! Having to assess two mathematical functions to ascertain your odds and capabilities in combat is just entirely unnecessary, at least for a game where intricate combat isn't the priority.

Using HP as a catch-all abstract pool for monsters to define whether they are particularly armoured, evasive, or just outright tough and able to take a huge beating allows you to use less rules to do more, reducing the mechanistic overhead you have to consider and allowing yourself to actually consider what is appropriate to the fiction.

To this end, here is the formula I've adopted for determining monster HP in Errant, since I am usually using pre-existing material from various versions or cousins of D&D: 

HP = Hit Die x 1/2 Ascending Armour Class

And yes this does mean that monsters don't have variable HP; I don't find personally that its ever added much for me.

So, in this example, a B/X goblin with an AAC of 13 and 1 HD has 6 HP (their average HP in B/X is 3). A red dragon, with AAC of 20 and 10 HD has 100 HP (average in B/X is 45 HP).

"But Ava," you may cry, "is this not just HP bloat?" to which I say no because:

1) The actual effective HP totals of the 45 HP dragon and the 100 HP dragon is the same when you factor in misses due to AC 


2) HP bloat isn't actually about HP totals; HP totals are just the most obvious symptom of it happening. HP Bloat is the length of time that a fight takes being artificially increased by the HP and damage capabilities of PCs and monsters inflating at roughly the same rate, with fights being predicated on eking out enough of an advantage via combinations of abilities/spells etc to break free of that roughly linear relationship. In Errant a PC will never have more than 20 HP (if we assume each blog roughly counts as 1 HP effectively, then an Errant fully decked out with the maximum amount of blocks you can have has an extra 26 HP on top of that). A dragon can still take out a party of errants in one round if it wins initiative. Regardless of high HP totals, fights remain quick and decisive one way or another.

Another concern that might be raised is that by making HP an all-encompassing abstraction for every situation, you limit design space; for example, in a game like Into the Odd that has Armour as damage reduction, you could have an ability, attack, or weapon that may be relatively weak on its own but bypasses armour. While its verging on a truism to say that making any design decision necessarily limits design space, I do think that these kinds of attacks or variable damage can still be modelled with the next big component of Errant's combat system.

Enhance & Impair

I find Enhance & Impair a really useful tool for allowing adjudication calls to take a greater roll in combat, where it is usually the one area of play in classic games where such calls generally take less importance.

To answer the question I raised at the end of the next section, Enhance & Impair in combination with abstract monster HP pools gives me a robust framework to reward player tactics and creativity: find an unarmoured spot in the dragon's scales, Enhance the attack! Manage to restrict the range of movement of an evasive creature, Enhance the attack! If you've got a magic dagger that says it strikes in the gaps of armoured opponents, I don't need to give it a tag that says "Ignore X points of Armour/AC" or whatever, I can just Enhance the attack! Same thing goes for Impair, obviously, but in reverse: I don't want to give you examples because I'm lazy.

This rule started out as a kind of mish-mash of the ethos of the rule in Knave where using the correct type of damage against a monster (e.g. a mace against a skeleton) let you roll two damage, and the Enhance and Impair rules as presented in Electric Bastionland: if your attack is Impaired you roll your normal damage and a d4 and take the lower, if it's Enhanced you roll your normal damage and a d12 and take the higher.

My initial version of this was making my players roll two damage die and take the higher and the lower. I found this kind of clunky and slow (this is what cemented my "roll as few times as possible for one thing" mantra) and then I realised that I could just cut out the middle man of the double roll and let my players roll a smaller die when Impaired and a larger die when Enhanced (if I ever ran physical games I would make some pretentious designer point about how this physically reinforces the game state to the players or something like that).

In an auto-hit system having the smaller die/larger die binary is essentially Advantage and Disadvantage by another function (remember: AC and HP are the same thing). I decided to make Enhance and Impair to work off multiple steps on a dice chain because, like I've mentioned earlier, I allow the freedom that more granular modifiers allow rather than the simple binary state of Advantage/Disadvantage systems: in the latter system, it doesn't matter if you've knocked a guy prone or blinded him or both, both will just give you advantage/a binary larger die, but along a dice chain I can say "prone or blinded is Enhanced 1, but both is Enhanced 2!". 

I like the way too that you can have multiple factors contributing to Enhance or Impair, such that it allows for the accretion of tactical circumstances, eventually paying off in the huge damage spike to a d20 or the womp-womp feeling of being reduced to only 1 damage. 

Finally, despite all of my warbling about transparent odds, I do think that a little unpredictability in combat is a good thing: Enhance & Impair allow for that sort of unpredictability, because even if you've got 10 HP and your enemy is swinging a d8, you never know if they might be able to leverage some advantage against you and bump up that die size. The reason I'm ok with this form of odds-obfuscation is that it still works along the same mathematical function (damage to HP) without introducing another variable that requires you to make a different form of calculation to get the proper derived value.


I'm linking this Mark Rosewater video because, apart from containing some great design wisdom, two of the lessons he lists apply directly to this section.

So, after a few permutations, starting with a variation of Stunts in Knave and then using James Young's Gambit rules for a long time, except instead of two attack rolls the attacker and the defender both rolled Saving Throws.

This, however, presented a problem. Gambits are the loose resolution mechanic for covering all the cool, fun, tactical, creative stuff you want to do in a combat. But, Gambits have a chance for failure, and at low levels a fairly significant chance for failure at that (for a long time I flip flopped on finding the right balance to set a monster's Saving Throw stat at for this: HD+5 felt too low, but HD+10 felt too high; the right number was HD+8 but I was too much of a coward to commit to an ugly number, but then I remembered Errant is a game built in fours so I finally committed).

This is especially problematic because attacking, the very easy option that a player is already mechanistically incentivized to do in a traditional to-hit system, always deals damage, and is therefore further incentivized.

I wracked my brain on what I could do, what mechanic I could create that would incentivize players not to attack, an ultimately futile endeavour, before I realised: instead of fighting the player tendency to attack, I should instead make attacking more interesting. Hence, the first of Mark's lessons:
Fighting against human nature is a losing battle (AKA don't change your players to match your game, change your game to match your players)
By building Gambits into the attack roll, not forcing them to forgo the most tactically sound option but instead do something in addition to it (at the expense of reducing damage somewhat, but allowing exactly how much to be a choice of the players) you actually incentivize your players to do all the cool shit.

Not only that, but, in combination with the Enhance & Impair mechanics above, a successful Gambit is more than likely going to put your opponent in a position where your attacks (and all your party members) are Enhanced against them; the short term damage trade off, if successful, results in an exponential damage increase. Especially if you capitalise on this situation by making use of Archetype abilities such as combat die (which we'll see soon below) which allow you to roll more damage die: now instead of just increasing a d8 to a d10 or what have you, you're rolling two d10s! Especially, as we've seen above, the disparity between PC HP totals and those of mid to high level monsters (who also auto-hit against players, lets not forget), judicious use of Gambits and other tactical advantages that allow you to Enhance your damage against enemies becomes the key to smart and effective combat play. This is reflective of lesson #13 from Mr. Rosewater:

Make the fun part the correct strategy to win

Or, to reformulate it for this case, by adding in all the cool, tactical, creative combat stuff into the dull, bog-standard, ol' reliable attack roll, we've made the correct strategy to win also the fun part.

It is also fun to trigger Gambit volleys, where an unsuccessful Gambit allows an enemy to counterattack, in which they attempt their own Gambit, which fails and allows another counter-attack, and so on and so forth.

Note that to resist a Gambit a monster has to make a check, and this is subject to the same Position & Impact rules as all checks do: while it states that a monster is allowed a counter attack, this is assuming the monster has a Fair Impact. They might make the check with Weak Impact and not be allowed a counter-attack, or a counter-attack that is Impaired; they might make the check with Dire Position and fall into an even more tactically disadvantageous situation, or with Shaky Position and not suffer the effects as badly. Considering the suite of options you have to define a Check allows Gambits to be an incredibly versatile tool for defining non-standard combat options.


Movement in combat is probably one of the parts of Errant I've tinkered with the most before I came upon a solution I linked. I knew I wanted to have movement rates in combat change based on the level of encumbrance a character had; encumbrance affecting number of encounter die accounts for the change in exploration movement, but the other half of the equation is that its linked to encounter movement as well, which becomes especially pertinent when you're being chased down a hallway while trying to carry a load of treasure.

My original way of calculating this was, like many of these rules are in their initial incarnation, very finnicky. It 30+SKILL to determine your Speed, minus 1 point for every item slot you had filled up to your limit, and minus 5 points for every item slot you had filled past your limit; you could move that many feet/yards in one move action in an encounter. This was rather laborious and confusing (does an encumbered item slot reduce speed by 5+1 for filling an item slot, or does it have the 1 for filling an item slot baked in?)

After I wrote an initial version of my chase rules, which involved taking your Speed score, dividing it by 10, and then rolling that many d10s to determine how far you moved, I decided to try to unify movement mechanics across these two areas, adding a movement roll into combat. I finagled with the formulas a little bit and settled on this for a while: 

Speed equals half your SKILL; subtract 1 point from your speed when half your item slots are filled, 1 point when all of them are filled, and 1 point for each additional item slot past that filled; roll a number of d10s equal to your speed, and move that many feet/yards in a move action. As a free action you can step a number of feet/yards equal to half your speed, but you can't step and move in the same turn.

This worked more or less fine for a while. At some point I tweaked the step and move values to give players a little bit more latitude: I made Step equal to Speed x 3, and move equal to Speed x d12. 

This worked, more or less, but I wasn't happy with the fact that it could give me all sorts of odd and fiddly little numbers like "you move 28 feet" which were kind of hard to remember when doing theatre of the mind (and so I would just round to 5 ft increments) and hard to place when using a grid (and so...I would just round up to 5 ft increments). So I decided to switch Speed to work in 5 foot increments and what happened next, well, I'll let these discord screenshots speak from themselves.

Despite this being a truly heinous assemblage of numbers, I was sure it could work so long as there was something on the character sheet that told you what dice to roll depending on your Speed score. However, in either the first or second session we played with these rules, I realised something incredibly obvious that I had overlooked.

For the dice that required you to subtract 1 from the result, you could roll a 0.

This totally threw off the balance of the ranges I wanted. I could have maybe resolved this by instead defining a d7 for example as a "d8 re-roll 8s" but, again, I hate rolling to do things more than once, and it just added more overhead to an already complex system.

I went in and tried to balance all the ranges again with different dice combinations. My results were...

Not something fit for human consumption. I resigned that I had given movement rolls the best shake I could at them, and decided to go for the much simpler non-random movement option (move = Speed number of squares), citing the many disadvantages of random movement.

But no good idea wants to stay dead forever.

I really don't know what it was that tipped me off that a singular d4 represents 5-20 feet of movement, which is the pretty standard "movement speed increment" in classic D&D (e.g. unencumbered being 40', encumbered being 20'), and that the step value that I had defined (Speed/4) matched up pretty perfectly with rolling d4s for movement, but that's the realisation I had and that's the system we're at now. This is especially clean because now you don't have to derive a second number for your step range off of your Speed: you use the same number, and either move that many squares, or roll that many d4s.

This system can very easily be hacked if you don't like random movement: a character can either Step their speed, or move 20' per point of Speed. This, for the reasons I talked about in that screenshot above, may in fact  be a better system. So why did I keep returning to this system that gave me so much trouble when an easier and perhaps better alternative was always right there?

Likely a good deal of it was ego and enjoying the challenge. But I do personally think that having randomized movement adds something to the game.

The problem with having set movement speeds like 30 or 40' feet, especially when most combats take place in arenas not much larger than that, is that everyone tends to very quickly "get" to where they need to get to in combat (fighters up in melee, casters and missile weapons further away) and more or less stick there for the duration of combat, making slight positional adjustments. This has led to a lot of people, and I think rightfully so, deciding that defined combat speeds doesn't introduce much tactical complexity for the mechanistic overhead, and abstracts it to Close/Near/Far systems like The Black Hack or Zone based combat like Break!! or 5E Hardcore Mode.

The reason this doesn't work for my particular brain however, because usually I'm running my players through a dungeon, and if I'm running my players through a dungeon I usually have a dungeon map with a grid available, and so I actually do know more or less exact distances in feet or yards between things; to suddenly switch to a different mode of measurement solely for combat alone feels like some jRPG fading into the combat menu style mode-shifting in a way I don't like.

Making movement non-deterministic I think is a simple change that shakes up the way players think about tactics; suddenly you're being forced to come up with different plans for if you don't make it to the enemy, or if the enemy doesn't make it to you. I think it adds back in some of the tension and randomness into combat that was removed when I took out to-hit rolls, but crucially adds it into a different area of the game. This has definitely resulted in some fun moments. I feel like my players saying to me after a session, "Oh man, if I hadn't made that movement roll things could've gotten bad," I'm at least half-way to doing something right.

The Violent

Wow that was a fuck-ton of words. Rather anti-climactic because I don't have a super lot to say about The Violent.

Ol' reliable they are. This is the class that has given me the least amount of design trouble and gone through the least amount of changes.

It started life as a fairly basic hack of a The Black Hack Warrior, with more or less the same extra attack progression we have here. They had access to Shields Shall Be Splintered, and a Fight Recklessly (advantage on attack rolls for advantage on attack rolls against you) and a Fight Defensively (the opposite) options, and that was about it. I felt sorry for them because they had no customization options so I gave them Feats, which I detailed in this blog post. Fight Recklessly and Fight Defensively became Smite and Grit, I removed the Shields Shall Be Splintered rule because it played weird with the Quality system, and I've tweaked the feats a little bit over time. I gave them the Sprint feat to start out with recently to give them the combat mobility necessary for a fighter. I also since that blog post have allowed them to use more than one feat a turn, in order to increase combo potential, but only allow them to use as many feats per turn as they have attacks, to keep the pace of the game quick and to keep feats balanced somewhat.

One little aspect of The Violent that is a little hidden is that they are especially well-suited for performing Gambits; the strategize feat (which has been tweaked slightly from the layout above) hints at this, but even out of the box The Violent with their d8 damage die and ability to increase damage via Smite has the highest chance of pulling off a successful Gambit; their multiple attacks allow them to press the advantage with multiple Gambits in a turn; and their combat die scaling off their damage die means that they can capitalize on the benefit that comes from getting Enhanced damage off the back of a Gambit better than anyone else.

Anyway, that's all for this one. Thanks for sticking around to the end of such a long post, and I'll hopefully have the next deep dive up sooner than I had this one.

No comments:

Post a Comment