Sunday, January 31, 2021

Ironsworn - Handling Combat with Multiple Foes

Ironsworn is a table top role playing game that takes heavy inspiration from the family of games known as Powered by the Apocalypse. Compared to more well known games, like Dungeons and Dragons, these games are based on simpler, more abstract game mechanics with the intent of allowing more narrative freedom, and allowing narrative decisions to be the primary driving factor of the game.

Combat is one example of where Ironsworn's mechanics are more abstract than other games. Many table top games use hit points to determine who wins a combat. When someone has zero hit points, they die, and combat is over. In Ironsworn, only the player characters have hit points, which are called "health". Combat with an enemy is instead modeled using what's known as a progress track.

A progress track is ten boxes. As combat proceeds, you fill in the boxes of the progress track when you successfully hit your enemy. A progress track during combat could look something like this.

To end combat, you make what is known as a progress roll. You roll two d10s, or ten-sided dice, and compare each of them to the number of fully filled boxes. In the above image, there are six boxes that have been fully filled, so this track has six progress. If both d10s are less than your progress, that is known as a strong hit. If only one d10 is less than your progress, that's called a weak hit. If neither d10 is less than your progress, that's a miss. This is known as the End the Fight move, and it has the following outcomes.

On a strong hit, this foe is no longer in the fight. They are killed, out of action, flee, or surrender as appropriate to the situation and your intent (Ask the Oracle if unsure).

On a weak hit, as above, but you must also choose one.

  • It’s worse than you thought: Endure Harm.
  • You are overcome: Endure Stress.
  • Your victory is short-lived: A new danger or foe appears, or an existing danger worsens.
  • You suffer collateral damage: Something of value is lost or broken, or someone important must pay the cost.
  • You’ll pay for it: An objective falls out of reach.
  • Others won’t forget: You are marked for vengeance.

On a miss, you have lost this fight. Pay the Price.

To summarize, on a strong or weak hit, you win, on a miss, you lose.

This is all very straight forward when the combat is effectively one-on-one. When you roll your dice to end the fight, the fight is over one way or another. But combat isn't always so simple. What happens when you have more than one player character, and more than one enemy?

Let's say our two player characters, Alice and Bob, are fighting two bad guys, Xena and Yondu. When there are multiple enemies, you can assign each enemy a progress track. This results in one combat with two progress tracks. We'll fast forward through the combat to where both Xena's and Yondu's progress tracks are somewhat full, and Alice tries to end the fight with Xena.

Alice will roll her progress move, and the result will be a strong hit, weak hit or miss. On a strong hit or weak hit, the outcome is fairly straight forward, "this foe is no longer in the fight." Xena is incapacitated in some way, and the fight continues with Alice and Bob versus Yondu.

But what happens if Alice rolls a miss? The rules say, "On a miss, you have lost this fight." Who is "you" and what exactly does "this fight" mean? Does that mean Alice is out of the fight and the fight continues with Bob vs. Xena and Yondu? Does Bob then get a second chance to end the fight against Xena? Fortunately, Shawn Tomkin, the author of Ironsworn, has answered this on Twitter.

What this means is that the only thing the progress roll concretely determines is Xena's ultimate fate in this fight. If Alice rolls a miss, it means Xena must escape from this fight victorious in some manner. All options are on the table with respect to what happens to Alice in this moment. Also, it's possible for combat to continue, and either Alice or Bob can eventually try to end the fight with Yondu, as well.

In many of my conversations discussing this problem, many people suggest grouping the multiple enemies together and representing them with one progress track. Ironsworn explicitly allows this, and calls this a pack of enemies. This will often be the right thing to do at the table, but all it does is side step the issue of dealing with multiple progress tracks in a single combat. Since Ironsworn allows for the possibility of multiple progress tracks, it's important to explore and understand fully how that will work, even if it's rarely encountered in the game.

Wednesday, January 9, 2019

There are Three Actions!

In the rule books for Fate Core and Fate Accelerated, they list four actions: Overcome, Create an Advantage, Attack and Defend. If you look closely, one of these things is not like the other. The first three actions are all proactive, and happen as a result of a character declaring that they do something. The Defend action is always reactive, and only happens in response to an Attack, or Create an Advantage. Defend has an additional quirk in that it cannot be used to oppose an Overcome action. The equivalent would be providing "active opposition" to an Overcome. But couldn't we colloquially call that a sort of defense?

Fate is meant to be a quick, streamlined system, and it is, but I think we can do a bit better. This blog post is not intended as a change to the rules of Fate. Rather, this should be viewed as a reorganization of the mechanics that surround rolling dice to make them a bit more straight forward. If this reorganization makes sense to you, go ahead and use it. If this makes things more confusing, then disregard it.

The Core SRD states...
You’ll notice that the defend action has outcomes that mirror some of the outcomes in attack and create an advantage. For example, it says that when you tie a defense, you grant your opponent a boost. Under attack, it says that when you tie, you receive a boost.
That doesn’t mean the attacker gets two boosts—it’s the same result, just from two different points of view. It was written that way so that the results were consistent when you looked up the rule, regardless of what action you took.
This is my main motivation in reorganizing how Defend works. I've seen this cause at least a little bit of confusion for people new to Fate. By eliminating Defend as a first class action, we can unify these two different views of the Attack action, and make it look similar to any other opposed roll.

However, there is one small wrinkle that we have to deal with first. The Attack and Defend actions each have four outcomes, but they do not match up one-to-one.

Attack ShiftsAttack OutcomeDefend Outcome
+3 or moreSuccess with StyleFailure
+1, +2SuccessFailure
+0TieTie
-1, -2FailureSuccess
-3 or moreFailureSuccess with Style

If an Attack fails, it's possible for the Defend action to either succeed, or succeed with style. If we're going to combine these into a single table of outcomes, we're going to need one more possible outcome beyond the standard four. Just as we have success with style which is an amped up version of success, we will need an amped up version of failure. Let's call it a dramatic failure. That gives us this table.

ShiftsAttack OutcomeMechanical Result
+3 or moreSuccess with StyleYou have the option of reducing the result by two shifts and taking a boost.
+1, +2SuccessThe target of your attack must absorb the shifts as stress or consequences or be taken out.
+0TieYou gain a boost.
-1, -2FailureThe target of your attack avoids any stress or consequences.
-3 or moreDramatic FailureThe target of your attack gains a boost.

Now, all an Attack action has is "active opposition" just like an Overcome.

We can do the same thing with Create and Advantage. A dramatic failure is what happens when the Create an Advantage fails, and the Defend succeeds with style. Failure to Create an Advantage creates the aspect, but gives your opponent a free invoke. Succeeding with style on a Defend grants the opponent a boost. To my mind, it doesn't make much sense to create a new aspect, then also create a separate boost. It's much simpler to grant an extra free invoke to the opposition. So, we end up with the following outcomes.

ShiftsCaA OutcomeMechanical Result
+3 or moreSuccess with StyleCreate an aspect with two free invokes.
+1, +2SuccessCreate an aspect with one free invoke.
+0TieYou gain a boost.
-1, -2FailureCreate the aspect with one free invoke for the opposition.
-3 or moreDramatic FailureCreate the aspect with two free invokes for the opposition.

It's possible I'm misinterpreting things here, so if you like, you can make a dramatic failure have the same outcome as a failure. Since the goal here is to not change the rules of the game, dramatically failing on an Overcome action would have the same mechanical outcome as a normal failure. Or, you could apply the Silver Rule and grant the opposition a boost if it makes sense.

At this point, we've eliminated the Defend action entirely and replaced it with active opposition. Now, each of the three actions, Overcome, Create and Advantage and Attack, have five outcomes, and can go up against active or passive opposition.

The Core rule book doesn't cover what it might mean to have passive opposition to an Attack. What might that look like? When would it be appropriate to invoke the Silver Rule and make that happen? Perhaps someone is trapped behind an armored door, and during a conflict you're trying to break it open to free them. The obvious approach might be to make the door a scene aspect and make an Overcome roll to open it, but what if the door is really strong, and you want to heighten the drama by making it take extra effort to open. You could give the door a stress track, and a passive opposition to attacks. If it has stress boxes of 2 and 4, then a single attack dealing 5 shifts would take out the door. Or, two attacks of 3 shifts would take it out, or three attacks of 1 shift.

I hope this has been helpful, or at the very least, thought provoking.

Thursday, November 1, 2018

Doing NaNoWriMo my own way

NaNoWriMo is something I've been vaguely aware of for several years now. I've seen it mentioned online, and my brother even participated in it once.

If you're not familiar with NaNoWriMo, it stands for National Novel Writing Month. The goal of the event is to write about 1600 words every day during the month of November. If you keep up your pace, you will have written a 50,000 word novel by the end of the month.

I've never had a huge appetite for literature. I rarely make it past the first hundred pages of a book, and have very little interest in writing fiction. But I do program. And there are projects that I've wanted to work on, but never gotten around to. So, instead of writing a novel, I'm going to spend every day in November working on a programming project.

Introducing, HamBot.

HamBot will be a Twitch chat bot intended to be run from a Raspberry Pi on your home network.

Twitch chat bots come in two basic flavors. There are chat bots like the StreamLabs chat bot that you run from your personal computer. The other flavor is a bot hosted and run by other people, like NightBot. The benefit of a hosted bot is that it is always on, even when you are not streaming. The downside is that you relinquish a lot of control. A streamer friend complained to me recently that the chat bot she uses has no way to export data, such as channel quotes or stream currency (fake internet points by viewers the longer they watch the stream).

HamBot's goal is to provide the benefits of a hosted solution, while leaving the streamer in full control of their chat bot. HamBot will be "hosted" on an inexpensive Raspberry Pi that a streamer can connect to their home router, do a bit of configuration, and then leave on 24/7.

The main design problem here will be to make installation and administration user friendly to the average streamer. This is the main thing I intend to solve by the end of November. HamBot itself will not have many advanced features. Those are fairly easy to add once the basic installation problem has been solved.

If you like, you can follow along here: https://github.com/haydenmuhl/hambot

Sunday, March 11, 2018

Fate and the Elusive Mental Conflict

This post assumes familiarity with the Fate role-playing game. The rules are available to read online for free if you'd like to learn more about it.

One part of Fate that has never sat well with me is mental conflicts. I love that the game supports a combat mechanic besides the typical brawl, but I've never been able to figure out where it would actually fit in to a game. Even when watching examples of mental conflicts in actual play videos, they felt off in a way I couldn't put my finger on, until recently. I think the key to all this is that we're applying the wrong mechanic. Instead of using conflicts, we should be using contests.

Let's look at a concrete example. Reddit user ParamedicAntic posted a thread with an example of a mental conflict between Spider-Man and Aunt May. The background is, Peter agreed to volunteer at the soup kitchen with Aunt May, then forgot and promised Mary Jane that he would spend time with her. Aunt May calls Peter to ask where he is, and the conflict ensues as Peter tries to get out of his obligation at the soup kitchen.

Right away, something feels wrong. As this phone conversation drags on, Spider-Man is going to be filling up his stress and consequence boxes as Aunt May guilts him into coming to the soup kitchen. Those consequences are the same consequences that would get filled if Spider-Man were in a fist fight with the Sandman or Doc Ock. This seems entirely incongruous. How could a phone conversation with Aunt May be as damaging or debilitating as getting body slammed by a super villain?

The short answer is, it wouldn't be, and we can turn to the rules to see why. Here's how the Fate Core rule book describes a conflict.
In a conflict, characters are actively trying to harm one another. It could be a fist fight, a shootout, or a sword duel. It could also be a tough interrogation, a psychic assault, or a shouting match with a loved one. As long as the characters involved have both the intent and the ability to harm one another, then you’re in a conflict scene.
That last sentence is the key. The characters involved need to have "both the intent and ability to harm one another" for this to be a conflict. I don't think Aunt May wants to hurt Peter. She just wants him to come help her at the soup kitchen. Peter doesn't want to hurt Aunt May, either. He just wants to go spend time with Mary Jane. No intent to harm means it's not a conflict.

So, let's look at contests instead.
Whenever two or more characters have mutually exclusive goals, but they aren’t trying to harm each other directly, they’re in a contest. Arm wrestling matches, races or other sports competitions, and public debates are all good examples of contests.
This really describes the situation perfectly. Aunt May and Peter have mutually exclusive goals (where Peter will spend the day), and they aren't trying to hurt each other.

If that's the case, then what is a mental conflict? The key ingredient is intent to harm. This could take a lot of different forms. The most obvious would be a direct insult ("You're ugly"). Maybe it's a lie ("I never loved you"). Maybe it's the truth ("I am your father"). Maybe it's poking an old wound ("It's your fault your partner died"). It could be destroying a beloved object ("No, not my collector's edition Fallout bobble head!").

I think the neat thing about this is that it also removes the need to strictly divide mental and physical conflicts. In the middle of a fist fight, you could decide to smash the bobble head instead of going for another punch. You could also have a conflict between something like a barbarian and a politician where one side is physical and the other side is mental. The barbarian is trying to smash his opponent's face, but the politician attacks by saying things like, "Your friends are already dead and it's your fault."

I think the culprit here is the use of the word "conflict." In colloquial terms, Aunt May and Spider-Man are absolutely in conflict with each other. But they're not in a Fate conflict, because they lack the intent to harm one another. I think by carefully inspecting the characters' motivations, it will allow us to better utilize the contest mechanic, and have richer conflicts by including mental or psychological attacks into what might otherwise be entirely physical brawl.

Wednesday, October 25, 2017

D&D 5e: What does the d20 do?

The main use of the twenty sided die in Dungeons and Dragons is to determine whether something does or does not happen. A d20 roll would determine the answer to these questions:
  • I shoot my bow at the dragon. Do I hit it?
  • I try to scale the wall of the castle. Do I climb it successfully?
  • The vampire tries to charm me. Do I resist the effect and retain my wits?
Now, there is a bit of nuance beyond simply using the d20 to answer yes/no questions. Each of these three examples represents one of the three different types of rolls you will make with your d20: attack rolls, ability checks and saving throws.

So, what's the difference between these three types of rolls? They apply in different circumstances.

Attack Rolls


Attack rolls are the easiest to understand. You make an attack roll when you are trying to physically hurt someone else. Trying to stab a goblin with a dagger? Attack roll. Trying to shoot a giant spider with a crossbow? Attack roll.

Some spells spells also require you to make an attack roll to see if you hit. The spell will say if that's the case. If the spell doesn't mention an attack roll, then the spell automatically hits.

Ability Checks


Ability checks are when your character is trying to accomplish a goal. Trying to push over a statue? Athletics check. Trying to follow the tracks of an owlbear? Survival check. Trying to stabilize a fallen comrade? Medicine check. Trying to threaten information out of someone? Intimidation check.

Saving Throws


Saving throws are when your character is trying to avoid a negative consequence. The negative consequence could be any number of things. Perhaps you've accidentally set off a trap, and you're trying to avoid getting caught in its steel jaws. Perhaps a medusa tried to turn you to stone, and you're trying to resist the effect. Perhaps you're walking through a desert and you're trying to resist the exhaustion of not having enough water. Perhaps you are mortally wounded, and you're trying to stave off death itself.

In each of these situations, you're trying to avoid something. Each of these will call for a saving throw.

For many spells that do not require attack rolls, instead, the target of the spell will have to make a saving throw. Spells that have an area of effect tend to work this way. Just like with attack rolls, the spell will explain who needs to make what kind of saving throw.

Saturday, March 12, 2016

The Yelverton

I was playing computer games and drinking whiskey gingers one weekend, when I ran out of ginger beer. I needed something else to mix with my whiskey. Of all the things I had on hand, Earl Grey tea was the least crazy. I gave it a shot (ha!), and it ended up being pretty amazing.

Here are the official ingredients of a Yelverton:
  • Tea, Earl Grey, hot
  • Irish whiskey
I realize I'm not the first person to come up with this, but I liked it enough, I decided it needed a name. After some digging around, I finally happened across the Wikipedia page of the Yelverton case. The Yelverton case was an important legal dispute in the 19th century that helped lead to the legal recognition of Irish and English intermarriage. Seemed fitting, given the ingredients.

Monday, August 11, 2014

Hollywood doesn't know how to computer

I thought I would share a funny clip from "Law and Order: SVU" I found.

In this clip, computer tech Reuben Morales shows detectives Benson and Stabler how he discovered a hidden message on a flash drive belonging to a pedophile. He finds "computer code hidden in a pixel" of a picture of a rainbow. He "cracks" the computer code to find a "hidden file" with thousands of pornographic images. In other pixels, he finds PDFs listing the names of the people in the pictures.

What's so disappointing about this scene is that the writers were a hair's breadth away from real methods for hiding information. There is a form of steganography where you use the low order bit of each pixel to hide a message. In an uncompressed image using 24-bit color, each pixel is encoded with three bytes, one byte each for red, green and blue. The human eye is not sensitive enough to distinguish colors that are adjacent to each other in this color space. That means an image with a message encoded into the lowest bit of each byte should not look strange when viewing it in a normal image viewer.

If the writers had consulted an actual engineer, they could have made some very minor tweaks to make that scene actually make sense. First, the hidden message should have been spread across multiple pixels. Steganography works by breaking up the secret message into tiny parts and sprinkling it throughout whatever message you're hiding your payload in.

The next mistake they made was to say that the thousands of images were actually stored within the one rainbow picture. One large image could probably hold a fair amount of data, but you are not going to hide a thousand images inside one image (let alone one pixel). It would have made more sense to hide something like a cryptographic key. Cryptographic keys are on the order of a couple hundred bytes and could easily be hidden, even in very small images. The cryptographic key could then be used to decrypt a hidden volume containing all the images and PDFs.

There you have it. Two small changes that could have made the world of difference. The writers could have even thrown in the word steganography to make themselves look extra smart. Instead, we have this.