Being an accessible GM

It’s Accessibility Month, which means it’s a great time to talk about how to be more accessible as when running a tabletop game.

What is accessibility?

“Accessibility” is a loaded word, but in this case, I’m talking about accessibility when it comes to various disabilities, and their ability to access all the features and content of a venue or application. Simplified, it’s all the data and all the functions for all the people. When it comes to running a tabletop game, it’s making sure that every person at your table is able to get all of the information they need in order to play, and they can use all the tools required for them to fully participate.

I like focus on six different groups when it comes to accessibility:

  • Blind
  • Vision impaired (yes, it’s different from blind!)
  • Deaf
  • Hard of hearing
  • Motion-impaired
  • Attention / Information-processing issues

Each group has their own challenges, and each group has their own set of tools they sometimes use to navigate a world that isn’t optimized for them. The key to a happy, inclusive table is understanding the challenges, understanding the limits of the tools, and putting together an experience that works for everyone.


Blind can mean a lot of things. Where I live (the US), there’s one definition that our tax department uses for deductions, another that the department of motor vehicles uses to decide if you can drive, and another for schools and public institutions to decide what services you qualify for. 

If you’re using a VTT, then I’ll be defining ‘blind’ as ‘someone who uses a screen reader.’ A screen reader is an application that reads out the content on a computer screen to someone, and helps them navigate around applications and websites. If this were a class on web development, we’d be spending the next hour getting used to them, but for this post, you just need to know that they exist.

If you use a VTT and have a blind player, you need to have a conversation with them about which VTT works best for them. There’s a very good chance none will work for them, but that doesn’t mean you have to give up! If you’re willing to move to Theater of the Mind, that can be a way to keep everyone on the same playing field. 

But what if you want to stay on VTT maps? Or what if you’re using physical maps at someone’s house? It’s still 100% doable: 

  1. Give other players the ability to move the blind player’s token around.
  2. Make sure to describe new rooms when players enter them. You’ll already have to describe the mouldering skeletons in one corner, so just add the approximate size.
  3. During combat, when it’s the player’s turn, help them narrow down what they want to do by describing who is close to them. “You have a damaged archer 10 feet away from you, an undamaged one 30 feet away, and a swarm of rats just came out of the wall 75 feet away.” There will likely be a bit of back and forth, but it doesn’t add a terrible amount of time to the combat, I’ve found.

Also, for handouts, you’ll want to add a text description for the player. These don’t need to be elaborate, since the purpose of alt text is to get the pertinent information across. What are you trying to express with this image of a ship? That it’s a clear day? The scars of war on the side? The sharks circling beneath it? 

If you’ve gone back to in-house hosting, one of the most important things you can do is make certain your home space is easy to navigate for someone who uses aids. Keep the floor clear. Warn them if there are pets. Don’t rearrange your furniture every week, and if you do move things around, warn them. 

Vision Impaired

What’s the difference between vision impaired and blind? Again, this is one of those things that has a lot of variance, so I’m going to define it for this article as those who don’t need a screen reader, but have some issue with their vision that keeps them from getting the same amount of information as someone with 20/20. That tends to be people whose vision can’t be corrected to 20/20 (low vision), or people who are color blind.

One that people with low vision do on computers is zoom in. So, if you’re using a VTT, keep that in mind, particularly in a few cases:

  1. Handouts with writing. What’s clear for you at 100% is super blurry for them at 200%! Include the actual text somewhere (your other players will thank you as well)
  2. Detailed maps. If something is important on a map, you might want to call it out to players if one is low vision. Just like handouts, something that is clear at 100% becomes a lump of pixels at 200% (again, your other players will thank you)
  3. Contrast! Keep your contrast high. It doesn’t have to be pure black on pure white (that actually hurts many people’s eyes), but they should be fairly far apart.

Color Blind

5% of the world population is color blind. Because it’s a sex-linked trait, it affects 10% of those born with a Y chromosome! There is a very good chance you’ll have a player who has trouble telling colors apart in your games.

Because of this, using color to share information is tricky. Some types of color blindness make some colors look more intense than others. Others can make two shades that would normally look distinct look identical. Because of this, it’s important to be careful about just using color to share information, like types of markers on a map. Instead:

  1. Use color and shape. Is a city on a map a capitol? Don’t just make the dot yellow. Make it a star, too. 
  2. Add a border around tokens or markers. Sure, that red dot stands out to you when on a green forest, but it’ll blend in for those who are red-green colorblind.
  3. Use a key! If using shapes is impossible (for example, if you’ve color coded roads), make sure to add a key to your map. That way, they can least see that what you’re calling “red” is that line.
  4. Use a color-blindness friendly palette. ColorBrewer is my personal favorite:


Once again, let’s talk definitions: For this article, we’re defining Deaf as someone who needs visual aids to understand auditory information. 

Also, important to know: ‘deaf’ is capitalized when referring to a person or group of people, and lower case when we’re talking about the condition. If you’re not sure which you should use, capitalize it.

So, is it possible to have someone who is Deaf at your table, even if no one else signs? It can be! A friend of mine has a Deaf player, and he’s been able to make the switch from physical table to VTT with some adjustments.

First, talk to the Deaf member and be open to finding a solution. Not every Deaf person can read lips, but if they can, and you’re in person, make sure that the Deaf person can sit somewhere where they can see everyone. If you leave the room, don’t continue talking to the table (the Deaf person can’t see your lips!). And be mindful about things like covering your face (so, obviously, unless the group is willing to switch to clear masks, this is a post-quarantine/ bubble set-up).

Let the player guide what they need, because there is a ton of variance in the Deaf community when it comes to their strengths. I’ve known Deaf people who can follow a complex conversation, and some who struggle with just one person. 

VTT can be trickier as video often doesn’t have enough fidelity for lip reading. While live-captioning exists, it can be hinkey. If you do use it, make sure you give the captions time to catch up (they struggle when people self-correct or have a lot of filler words). 

It also may be worth considering moving to text-only. While a big switch, there are upsides to moving to text: Slower speed helps players who may benefit from more time between turns, and you have a record of each game that can be searched. Also, some people are more comfortable roleplaying in text than in person. It’s not for everyone, but it’s worth giving it a go for an arc or two.

Hard of hearing

Hey, it’s me! For this post, I’m defining hard of hearing as people who can get auditory information, but they’re not getting 100% clarity. 

One thing people think about being hard of hearing is that the volume on my hearing is turned down. The truth is that I’m missing parts of my hearing range, and my brain backfills. You know that video about Yanni and Laurel sounding the same? That is my entire life

So, what can you do if you have someone at your table who is hard of hearing?

  1. If you’re in person, and they ask you to repeat yourself, just repeat yourself. We’re generally trying to get another pass at what you said so we can make sure we got the words right. We’re not asking you to elaborate. 
  2. Be careful about talking quietly. If you need to roleplay a whisper, don’t actually whisper. Just say you’re whispering, and then speak normally. 
  3. If you’re remote, some tools allow you to change individual volumes. This is a godsend, and every app should do it. If you can use an app that allows for that, please use that one. It can help someone who’s hard of hearing to crank up some people while quieting others.

Motion impaired

For this post, I’m defining motion impaired as anyone who has trouble with motor control. It could be loss of a limb, a nervous system issue, joint pain, or any number of things that makes it hard to be precise over an extended period. Cerebral palsy, arthritis, pregnancy, and injury all fall under this, and can be long-term or temporary. In fact, this is a group that many people will fall into at some point in their lives for at least a time. 

If you have someone who’s motion impaired, the best thing to do is ask them what accommodations they might need. Some VTT features may be hard for them to use (like measuring). That doesn’t always mean you need to switch VTTs! You can always ask other players to help out with something like measuring a distance or moving tokens, especially if the player is one who has fewer things to do between turns, like reviewing spells or a pile of feats. 

In someone’s home, be mindful of where you game. Every person’s needs are different, so ask them what they need. A clear floor? Someone else to move their figure on a map? A comfortable chair? Someone else to take notes? Be open to accommodations, and try to be creative when it comes to finding solutions rather than shutting someone out.

Attention / Information processing disorders

This, by far, is the group you’re the most likely to run into. ADD/ADHD, dyslexia, spectrum disorders, and side effects of medication all fall under this umbrella. For this article, I’m defining it as anyone who has issues retaining or processing information that’s not related to another impairment.

A tabletop game can be a firehose of information, which can be exhausting when your brain is already working overtime to take in information about the world. The biggest thing you can do is talk to the person, because needs vary wildly. Some will do better with less stimulation, some do better with more stimulation. Some common accommodations:

  1. Having a note taker, and having that person share the notes. If you do this, there should really be two note-takers, so that when one person is in a scene, someone is always recording it.
  2. Recording sessions. This doesn’t need to be a fancy set-up with cameras and perfect audio quality. It can be as simple as someone having OBS up and recording (for a remote session) or digital recorder (for an in-person session)
  3. Being clear. Sometimes, as GMs, we’re overly coy, and think saying something once in passing should be enough. Because information isn’t guaranteed to stick the first or second time, be open to repeating yourself, or sometimes just being explicit about how two things connect. 
  4. Offering suggestions. As a GM, one of my rules is ‘know your character,’ but if a player really is struggling with the ruleset, be open to offering clear suggestions. “You want to hit this guy? Okay, he’s this far away from you, so Ray of Frost could work, or you could move closer and use Electric Arc.” This can help someone who gets overwhelmed easily, but doesn’t want to play a mechanically simpler class.
  5. Paste out long passages. Even if you don’t read directly from an AP, there’s something about long periods of the GM talking that can cause some players to shut down. They don’t want to do this, but their brain does it automatically. So, if you have a long bit, after you’re done (or before you start!), paste it into chat so they can take a few passes at it. 
  6. Be open to adding / removing music or other distractions. Of course, you can’t remove some from your home (young kids can be especially tough), but if something can be turned down or removed without too much pain, do it. 
  7. Take breaks. When dealing with brain issues, fatigue is very real. People need a chance to switch gears for a few minutes, so every so often, break from the table and let people take the break. If that means they don’t talk about the game for ten minutes, let them. Don’t turn the break into ‘the game, but now we’re in the kitchen.’

Final thoughts

There’s a saying in the accessibility community: A rising tide lifts all boats. Many of the accommodations help out people without disabilities. 

  • Everyone likes a clear floor!
  • Who wouldn’t like to be able to crank down that one player who shouts a lot, and crank up that player who can’t get their audio working right?
  • Searchable text archives are awesome.
  • All players can have brain farts and totally not remember that they met the dude in the green jacket before.
  • Hearing the GM describe a scene again often clues players into things they missed the first time around.

And my last piece of advice? Listen to your players. I can give some general advice, but the player is an expert on their particular disabilities, what works best for them, and what absolutely doesn’t work. 

Have any thoughts or questions? Ping me on Twitter at @kcunning!

Stylizing maps with Deep Dream Generator

Recently, I decided to take my players into the First World (AKA The Feywild) for a bit of a pre-wedding jaunt. I knew I wanted to do something different with the maps, but none of the maps I was finding were quite enough. Pretty, yes, but not mind-bending, which is what their opponent was going to be tossing at them.

Then I remembered that DeepDream was a thing.

What is DeepDream?

You’ve probably seen DeepDream in action. It’s a machine learning program originally created by Google to find patterns in images. There’s lots of practical reasons for software like this, but one of the impractical reasons is to add eyeballs to images of cats.

A picture of a cat that has been run through Deep Dream. There are extra eyeballs everwhere.
I apologize for nothing

You can also apply styles to images, so you can make a photo of you chilling at your desk look like Van Gogh decided to immortalize you.

A selfie of the author, but in the style of Starry Night
I’m particularly fond of how the background turned out

Tossing it at maps

I’m a patron of CzePeku’s amazing maps, and one of their maps fit the bill for the base map: The Fey Village. While CzePeku offers variants for each map at my level, none of them were quite weird enough. So what happens if you feed them into the generator?

To put it simply: MAGIC. MAGIC HAPPENS.

First is the original. Bottom three and middle top were made via Deep Style. Right top was made with Deep Dream.

While the ratios stayed the same, the style completely changed the feel of the map, making them appropriately trippy. I was able to layer them over each other, and the players never ended up being in the water the next turn because the map shifted.

How did I do this?!

The process was incredibly easy. First, I picked my map, and made sure to get a gridless version.

Then, I went to Deep Dream Generator and clicked on “Generate.” If I wanted a different style of map, I picked Deep or Thin style. If I wanted eyeballs, I picked Deep Dream.

One caveat: In order to get maps of the size I wanted, I did have to pay for a monthly fee, since larger downloads are blocked for free users. If you’re not as picky as I am, however, you can probably skip this.

Also, if you want a bunch of maps, you’ll need to time your map harvesting, since you’re limited in how many you can do at once.

In the game…

In Roll20, I ended up putting a bunch of the images in a rollable table so I could switch them during combat. This was overkill, though, so in the future, I’ll probably just layer them and keep sending them to the back as I want the maps to change.

Sometimes, I used the maps changing as an indicator that something had changed, and players should be on alert. Other times, it was to just have fun and reinforce the idea that they were somewhere strange.

In the future…

If I use this again (and, honestly, I probably will), I’ll likely come up with effects that go with every map. I almost did that, but I was already on a bit of a time crunch.

I also wouldn’t bother with a rollable token. Layering was much faster, with sending the layer to the back being super quick.

Honestly, it was a fairly low-effort way to add interest to a game. In the future, I’ll probably experiment with using the tool to unify maps, since it’s not uncommon for me to find one map several maps I really like that happen to have very different styles. It’d be an interesting way to keep structures and layout, but make it all look like they’re in the same biome.

Extra stuff…

If you want to see the whole game (which is full of in-jokes), check it out here (YouTube link incoming):

If you want to see me stream more PF2 games, check out my Twitch! We are extremely low-key, since the games are streamed mostly so everyone in our West Marches game can watch what’s going on without diving into voice chat.

And if you want to play with me, check out Queuetimes’s Patreon. Access to the RP server is a one-time $5 fee. You can also ready more about the server on this post.

Extra Life 2020: 20 levels in 24 hours

(CW: Childhood cancer and death. If you want to skip to the game details, click here)

Extra Life is one of those charities I love to watch and I’ve always wanted to participate in, but never had a reason to jump in… Until this year. I had an idea. Take a group of people, allow them to sign up for time slots, and run a campaign where you level about every hour, meaning you go from level one to level 20 in one day.

What is Extra Life?

From their website:

Extra Life unites gamers across the world to help kids treated at 170 Children’s Hospitals in the U.S. and Canada. When you join us to help fundraise, you will help kids treated at your local CMN Hospital and have fun at the same time! COVID-19 has had an unprecedented impact on these children’s hospitals and your love of gaming is needed now more than ever.

Extra Life website

For me personally, Children’s Hospitals hold a special place in my heart. (CW: Childhood cancer / death). In 1984, my older brother was diagnosed with a brain tumor.

I’m the bunny. He’s the mouse. Best guess is that this is 1981.

The Eighties were not a good time to get that diagnosis. Treatment options were limited. Even small tumors that were easy to remove were considered life threatening, and his tumor was neither small nor simple.

At a standard hospital, I family visits would have been limited, and it’s very likely that I, a germ-laden preschooler would have been banned. But Children’s was different. They knew how to deal with small children and answer tough questions and do the things that help make horrible situations a little better. So, I got to see my brother, and he got to have a real birthday party (his seventh), and he was allowed to have an Atari in his room, which was pretty rad.

He didn’t make it, but I’ll always be grateful that the time we had left with him was a place as great as Children’s Hospital.

Rabbit, Easter, Hare, Mammal, Nature, Easter Bunny
Enough sad stuff, time for a bunny spacer

What’s the plan for Extra Life?

I’m a part of a West Marches server called Kellandale, which is attached to the show Court of Corvids. This year, we’re doing a one-day streamed event where players will go from level one to level twenty in 24 hours. Your character dies? No worries, your cousin with an eerily similar name will run in to avenge you. Bob is dead, long live Rob.

Most of us have a good decade between the time when we could game for 24 hours straight, so GMs will be running in shifts, and players can sign up for whatever shift works for them.

How to help

The biggest thing we need? Donations. Our team is collecting donations through the Extra Life charity. Our goal is to raise $1500 as a team, though obviously, we’d love to blow through that. Personally, I’d like to raise $1000, and the day of, I plan to do matching donations.

Team Kellandale – The whole lot of us

My Extra Life page – Just my page

If you can’t donate, spreading the word helps a ton, as does just coming and hanging out in chat the day of. Having people active during the stream is great for energy, and hey, maybe we’ll have a slot open up!

How to play

The easiest way to play is to join the Kellandale Discord server, since those players get first dibs on slots. However, if you know me (and I mean you really know me), hit me up on Twitter.

Caves of Chaos for Pathfinder 2e

One of the challenges of being a GM for a West Marches style of campaign is coming up with content where it’s easy for a large number of players to interact with the plot, while keeping the challenge rating flexible. My husband recommended Keep on the Borderlands, a classic module published in 1979 and written by none other than Gary Gygax.

I bought it from DriveThruRPG, and I’m glad I did. Not only is it an interesting piece of gaming history, but it’s an excellent adventure, even today. Converting it to work in 2e took way less energy than I was expecting, even though the module is old enough to have grown children of its own.

What is it?

Dungeon of Signs: B2 - Keep on the Borderlands - Review

Keep on the Borderlands has two halves to it: A keep that the players liberate and then mold, and the Caves of Chaos, which serve as the main threat. The Caves of Chaos aren’t quite as dramatic as they sound. It’s basically one huge map that features a number of caves, some interconnecting, some not. I ended up not using the “Keep” part of the module (the group already has a functional town), but the Caves of Chaos were well worth the price of the module.

And yes, I recommend grabbing the module. Not only is it a short, interesting read, but it has some tips on how the denizens caves should react to a bunch of adventurers running around and causing trouble for them.

Why use it?

Some of the advantages of using the Caves of Chaos:

  1. Solid maps. The layout of all of the caves are great. There’s plenty of room for a group of PCs to move around, but they have enough corners and doors to make line of sight important.
  2. Great dynamics. While you could, in theory, just use a key you find online for the Caves, I recommend giving the module a read. It recommends actions for various NPCs, and suggests how the caves might change over time as more of them are cleared out.
  3. Diversity of creatures. It’s not just goblins! The caves feature all sorts of enemies, giving players varied challenges that still make sense.
  4. Easy to scale. This might be more PF2 than anything else, but I found the caves to be fairly easy to scale to different levels. This is super important in a West Marches campaign, where you never know what the APL is going to be (though I did cap it at APL 3)
  5. Lots of pretty resources. This module has been out for a while, so the amount of player-created content is high. I found no shortages of maps, keys, and guides. I even found maps that were redrawn to work with Roll20!

What I had to change

Keep on the Borderlands was absolutely written for wargamers. The number of expected mobs was huge, and the playing field was much larger. The squares were ten feet, and it wasn’t unusual to have a room filled 10 to 15 mobs. I ended up switching to five-foot squares, and drastically reduced the number of enemies.

There were also a few creatures I had to change, since they’re either too high level, or they don’t exist yet in Pathfinder 2e (as of this writing, only two of the Bestiaries are out). For example, the medusa was straight out, and stirges haven’t made it over to PF2 yet. I ended up swapping in new creatures, since I didn’t feel like writing my own, and it isn’t like there’s a shortage of options to choose from.

The original maps work off of 10′ squares, which I changed to 5′ squares. It wasn’t like we needed the room, after all, since I wasn’t throwing dozens of goblins at the players.

Getting converted

For each of the maps, I decided that I would keep the general theme, but set up at least three types of encounters: Trivial, Moderate, and Severe, with one Extreme tossed in one of the caves for fun. Because I didn’t know what APL I would be working with, I went ahead and created scaled versions of each encounter. That way, I didn’t have to worry running out of lower level caves, nor did I have to worry about a group of level threes tearing through a bunch of goblins.

Then, I made a table of rough conversions from the module to PF2. This way, I could go back to it as I built out the caves. Most of the creatures were a straight conversion, though it was nice to know what level range I was working with. If a family didn’t go high enough, I’d grab something from another family, or I’d toss a challenge adjustment on one of them. The only creature I had to toss out completely was the medusa, but a hag worked well as a replacement, hidden among the prisoners.

My creature page

Once that was done, I set up the encounters for each cave. I did this for three APLs (one through three), because one of the downsides of a West Marches campaign is that you never know who is going to show up. It was a little more work, but in the end, it was worth it, since it greatly reduced the amount of time it took me to set up a cave.

Setting up the maps

Remember how I said player-created content was a huge benefit to running this AP? I had no shortage of wonderful, detailed, re-imagined maps. I ended up going with the cheekily named “Caverns of Entropy” from Roll20 user Keith Reinig. Even better, right after I bought the set, he added another one with dynamic lighting.

I also grabbed the overland and player maps from Weem as a reference for players between sessions. As they explored, I added their notes and the cave layouts, which cut down on players accidentally keeping vital information to themselves (something none of the players would have done intentionally).

Partially filled map

Finally, I added a page in Roll20 for all of my prepped creatures. I ended up using this holding pen so much that I think I’ll keep this around even after I’m done with the caves.

Running the caves!

Now that everything was set up, I was ready to let players make a wreck of my plans. I decided to play it relatively straightforward: The valley appeared near town due to some magical shenanigans and a non-combatant NPC was tasked with getting adventurers to clear it out. This gave the players a hub to work around, since it was presumed that all information was shared with him, and he shared said information with each group. Each session started with players gathering at his shop, where they were shown a map and told details that the previous adventurers had uncovered. From there, they’d decide what they wanted to do, and then set out.

I allowed players to scout one cave entrance per excursion, with a particularly good roll allowing them to also get details about neighboring caves. I’d give a hint as to the kind of creatures inside based on the trash outside the cave (or lack of it). Intelligent creatures might have broken weapons outside their cave, while unintelligent creatures might just have piles of bones. Enemies with military discipline might have neater piles, while a more chaotic group will have stuff strewn everywhere.

Players’ notes

After any scouting, they’d tell me which cave they’d decided on, and I’d put them on mute for ten minutes while I set up. Because this is a mixed level server, I never knew what the APL would be, but having the creatures and encounters set up beforehand saved a ton of time. Once I came back, they’d clear out whichever cave they’d chosen, with a soft-limit of 2.5 hours. Once time was up and they were out of combat, they had to leave, even if there were still creatures roaming around. Since I often run during the week, I can only stay up so late.

Once the players returned to town, I’d update the map with what was cleared and any notes that were made and post it to the Discord, as well as a synopsis of who went and what the players found.

After-session round-up

How’d it go?

Prepping and converting the Caves of Chaos was no joke, but it was so worth it. I’d guess that I spent around 10 hours converting and scaling encounters, setting up maps, and creating tokens, but this lead to twelve sessions where I had to do minimal prep. To be honest, if I hadn’t obsessed about scaling and instead just scaled everything to APL 2, I could have shaved quite a bit of time off of that prep.

Also, the maps? I wasn’t kidding when I said that they’re truly awesome. Modern map-making tends to focus on a beautiful backdrop to what is essentially an open playing field. The CoC caves have hallways and rooms and dead-ends and secret doors, leading to a more dynamic playing field as activity happens outside the line of sight, PCs get separated, or they get penned in between two different groupings. The maps are also interconnected, which allowed players to sneak into other dungeons and do them in reverse, taking out the boss first, then his minions, and then the scuts at the door.

The players enjoyed the whole quest line. By the time the last cave was cleared, nearly every one of the players on our roster had been to at least one cave, making it a true team effort. I had planned on making the caves disappear at the end of the quest line, but the players started making plans on what they wanted to do with them, so I guess they’ll become a feature of the town. Of course, they are magically created, so who knows what might pop up in the future…

Diving into West Marches

Ever since I saw Matt Colville’s video on running a West Marches campaign, I’d wanted to run one. For those who don’t know, a West Marches campaign turns the idea of a ‘gaming table’ upside down.

  • Instead of one GM and a set number of players, you have a huge pool of players. You may even have a pool of GMs.
  • Instead of a set group of players showing up every week, players self-organize into groups and then figure out a time that works with a GM.
  • Instead of a plot that takes a group around the world, travelling from town to town, the plot centers around a single town that has the Buffy-like habit of drawing problems to it.
  • Instead of a monolith plot, there are multiple threads going on at any time, allowing players to investigate what interests them.

I love the idea of being able to game with a larger group of players, running a plot that was less focused on telling a grand story and more a collection of interesting situations. While I do love a good epic story, it can be exhausting to plot for (especially if you’re an obsessive planner like me). And the allure of having other GMs to fall back on is especially nice. At the time, though, I was already running a campaign, so I put the idea on the back-burner.

Fast-forward to a few months ago, and an interesting opportunity fell in my lap: Becoming a GM for a RP server that hooked into the world of Court of Corvids. I pitched the idea of doing it West Marches style, and Kellandale was born.

The system

One of the biggest hurdles to having a game with handfuls of players and multiple GMs was also the most boring: Record keeping. How do you keep track of XP awarded, gold, purchases, who is playing what, what allowances have been made… After reviewing bots and a moment of madness where I considered writing up an app, we ended up going the route of simplicity.

XP is awarded monthly to everyone on the server. It’s based on the amount of server chatter that month, which we measure by using MEE6. Total server levels * 2 = Total XP for that month. This made keeping track of what level everyone is super easy, since you can find out when someone joined by searching for their username. Does this mean someone could join, say nothing, then roll in a few months later with a level three champion? Sure. But that’s balanced by…

The only way to get gold is to go on missions. When you start on the server, you get 15 gold for your starter gear. After that, if you want to buy gear, runes, potions, spells, or any other adventuring gear, you have to go on a GM-lead mission.

The only thing you get from missions is gold. Now, I love loot as much as the next GM, but I also appreciate the need for balance. Balance is easy at a table with one GM and four players: Just look at their sheets and make sure that they have a similar amount of cool stuff. Is someone behind? Drop something for them in the next encounter. But what do you do on a server where you have multiple GMs and a gaggle of players? How do you make sure everyone has the same access to cool stuff?

The town sells everything you need. The boring solution was you give everyone the same access to cool stuff. Players get a certain amount of gold for every mission. There’s no looting the bodies and selling the gear back at town. Chests don’t hold more than low-level healing potions or items for flavor. Kellandale is a town that’s “big enough” to buy any item you need, as long as you have the gold in hand.

RAW at all times. Aside from a few house-rules that had to be implemented due to the strange nature of the game, we stick to RAW, Paizo-only at all times. This does mean less flavor for players, since they can’t have a cool, GM-bespoke weapon that feeds into their character’s history. Tracking exceptions was too much of a headache, though. We balance that with…

Your rent is paid. Gold earned through missions goes towards adventuring equipment. It’s presumed that the PCs are earning spending money throughout the week using their Lore skills, so rather than roll for it, we assume that they make enough to pay for room and board. Want to go out for a nice dinner? No need to mark down that you spent 5 silver on some Cheesy Chicken at Massimo’s. It’s covered. Want to have a cool looking weapon with no mechanical benefits? Go to town. Heck, want to own a house? As long as it fits your background, go for it.

The GM decides how to run the session. We decided early on that standardizing was going to create a bigger headache than it was worth. So, if a GM is running a session, they decide how they’re going to run it. So far, we’ve run games via voice-only, text, and Roll20, but I wouldn’t be surprised to see a few other options pop up at some point. The only catch is that it has to be free for players to access.

Offer alts. One problem we realized we would have eventually is that eventually we would have wide spread of character levels. Older players might want to play with the newer players, but taking a level one along on an adventure with a crew of level fives is practically impossible to balance.

We decided to balance this by allowing alts. Once your first character hit level three, you could roll up a free level one alt. After this, monthly XP would be split between the player’s characters however they chose. Racing to get to to 20? Don’t put any XP on your alt. Want to play at the lower ranks for a while? Toss them all on there, or split them between the two characters. Get your alt to level three, and you can create a third character.

Messaging stones. Several of us came from a modern-setting server where everyone had a smart phone, so everyone could message everyone else. This was super convenient, since it allowed players to communicate without having to ‘happen’ to run into each other or having to run a scene for a quick exchange. Golarian, of course, doesn’t have a data network… but it does have magic! So we created a simple, yet powerful, mechanic: Messaging stones.

That time when my character’s brother came to town…

Every PC is given a free messaging stone when they come to Kellandale. Once they have it, they can send messages to any other PC who has a stone, as long as they’ve met them in game. Yes, they are incredibly powerful, and I would likely ban them at a regular tabletop game, but for a server filled with people in time zones around the world, it’s been the grease that keeps the gears moving.

How’s it going?

We started the server in December, though the first sign-ups didn’t happen until January. Since then, we’ve gone from barely having enough players to keep one GM busy to needing to bring on a fourth GM to make sure all players can be in a session regularly. On the way, we learned some things.

Figuring out sign-ups. One of the suggestions in Colville’s West Marches video was that players would self-organize. It became clear (at least to me) early on that players were not going to self-organize into groups and approach a GM. After all, this was a server where most players barely knew each other. The original West Marches campaign was made of friends. While we’re still feeling our way around the best way to do this, some patterns have emerged.

First, we learned to use the @everyone tag to let people know something is happening. If you’re in one Discord server, you’re probably in a dozen. We couldn’t depend on people checking in every few days.

Second, we started using reactions to figure out what time works best for interested players. For my games, a check meant you were interested and available, an O meant you were interested in being an alt, and an X meant that time absolutely didn’t work for you.

Apparently, no one was interested in fireworks this year.

After a day, I’d look over who was interested and set up the next few sessions. Turnaround time ended up being super important, since waiting too long to get on people’s calendars often lead to people getting booked elsewhere. I could almost always get everyone squeezed in, but if it came down to it, I’d have some people put down as alts with first dibs.

Embracing the meta. Everyone is in a town for the long haul. We’re never leaving, save for a short jaunt. Therefore, if you make a character, they have to have a reason to settle down. And yes, weird things are always going to happen around town, since we can’t travel far, so learn to hang a hat on it.

Building encounters properly is important. This one was a tough lesson to learn. As a GM, you never know who’s showing up to your game. Even if the sign-up was finalized a week before, players shift around, someone decides to bring their alt rather than their main, you get late adds and drops. If there was ever a game where you needed to live by the encounter building rules, it’s a PF2 West Marches campaign.

I learned to be super flexible with planned mobs. As combat got underway, I’d keep an eye on how the group was doing and delete out-of-sight trash mobs if needed. I’d also liberally apply elite or weak adjustments if I felt like the players needed a challenge or a break. I also planned when I could, making sure to calculate a few options so I wouldn’t be sent scrambling if a level 3 didn’t show, and suddenly the APL dropped by one.

Discord data! I love me some data, and since the server was on Discord, I had so much data. Discord has an API you can hit that allows you to download all of the channel data from any Discord you’re a member of. I ended up using said data to create a roster, grab who the new players were, check out which reacts were getting the most use, and see patterns for channel usage.

Future questions

Just because we’ve been doing this for half a year doesn’t mean we know everything. There’s a few issues we’ll have to wrangle with down the road.

Higher level play? The highest level characters on the server right now are level 3. We’ll likely have our first level four characters in August. While we’re not at high-tier play, we are entering into the middle-tier. Do we need to start putting together more complex plots for these higher level characters, or do we just put bigger rats in basements?

The trickiest part about introducing high level play is that there’ll still be lower-level characters running around town. How do we introduce big threats without making it improbable that a level one would stick around?

Level caps? Forced retirement? If a player never puts XP on their alt, they’ll get enough XP to level about every two months. This puts super high-level play off in the future, but mid-tier play is quickly approaching. Do we need to do anything to keep the levels of the characters flatter, or is it okay to have a small group that’s rocketing ahead? And what happens when someone reaches level 20? Do they continue to play, or do they fall into the background, allowing the player to start over again?

Scaling? Right now, we have just over 20 active players (which includes GMs), and four active GMs. This seems to work out fine, as people are able to be in sessions. But will this ratio still work if we hit 40 players? Or 100?

Want to join us?

Kellandale is tied to Queuetime’s Patreon. Anyone who donates once to the $5 tier gets access to the RP Discord and can sign up for sessions as soon as they have an approved character sheet.

[ Sign created with ]

Larg(ish) combats take two: Off-screen fights

In my Council of Thieves game, the PCs lead a group of lower level rebels. They’ve used them throughout the AP, sending them off on side missions, using them to make up for skill gaps, or bringing them along when the PCs have a large combat.

Recently, the group decided to use them as a distraction. The rebels would keep part of the guard engaged while the main group orchestrated a jailbreak. Due to the layout of the prison, the players wouldn’t be able to directly communicate with the rebels, meaning I would have to simulate what was going on above ground.

True, I could have hand-waved it, but I try to avoid that when it comes to plans like this. Also, the dev in me can’t resist a chance to whip up a script to make things interesting.

The simulation

At first, I thought about writing up something that would take into account hit points, AC, chances of hitting, damage, etc. I decided that was going to be too high effort, especially for a single combat.

Instead, I went with a ‘wound’ system (Note: not the alternative rules from Unchained). I figured a wound would represent a bit of fortitude or luck, like access to healing or a chunk of hit points. Losing a wound point would be akin to getting hit and not having a potion / healer on hand or getting hit especially hard. Running out of wounds would mean your luck had run out.

Combat would work like this:

  • For every two levels an NPC has, they would get one ‘wound’ level. This would be the max number of wounds they can take.
  • Every round, half a wound would be dealt to a random NPC on each side.
  • Once an NPC’s taken their max number of wounds, they are out of the combat and can’t receive more wounds.

For this combat, I decided that being out of wounds didn’t mean the NPC was dead: They’re just unable to fight anymore. Anyone who was at zero wounds would have some sort of injury that would require a heal check and time as well as some magical healing to overcome (like a bone fracture, a bruised rib, a deep wound, etc). While a bit harsh, I wanted to simulate what it was like to be in a combat where you can’t run when it seems dangerous: You have to stick around until you can’t possibly fight anymore.

I also decided that the rebels would scatter as soon as they were down by half. If they waited longer, they may not have enough hands to help the seriously wounded escape with them. In my simulations, this took somewhere between 25 and 30 rounds. I liked that range because it would make things interesting for the jailbreak team. If they took too much time, they might have a second wave of guards descending upon them. If they moved quickly, they might be able to completely take over the prison and guard house.

I decided that the guards wouldn’t retreat as quickly. After all, they’re right by their stronghold, and the ones in the street are working off the assumption that they have back-up coming any second now.

Because it was possible that the main party might come upstairs and clean house, I decided that I’d simplify combat for those left standing. Rather than worrying about hit points, I’d just worry about landing hits. One hit means dealing half a wound (or maybe a full wound if the damage was high enough). When it comes to mopping up, I don’t generally like to split hairs.

The script

In theory, I could have just a rolled a die every turn and kept track of wounds on paper. I wanted to be able to run the simulation a bunch of times, though. This is cumbersome if doing it with pen and die, but trivial when running code. Running the script a bunch of times helped me adjust the numbers so that the fight was interesting without being impossible.

In fact, the multiple simulations are why half a wound is dealt out rather than a full wound: It made the numbers work how I wanted. It also helped me brainstorm how I might interpret the end results.

This script requires Python 3. Also, you need two CSV files, which I included examples of in the repo. Each line is the NPC’s name, how many wound points they have, and how many wounds they start the combat with (generally zero).

[Script] – [CSV file 1] – [CSV file 2]

How’d it go?

When it came time for the combat, I warned the players that I had a script going that would be simulating the battle above, so they should keep that in mind. I felt it was fair to give them a heads up, since I’d been hand-waving much of the off-screen activity of the rebels.

When the combat started, I fired up the script, advancing it at the end of each round. The players mowed through the combat downstairs, and around round 17 ran upstairs and mopped up the guards the rebels had been fighting. By that point, there were two wounded rebels.

Because they knew time was of the essence, I felt like the players pulled out all the stops to end the combat quickly. At the start of the combat, they had no idea if my script was going to hurt people or outright kill them, which seemed fair. They’d never been in this sort of combat with the younger rebels before, so they couldn’t really predict the outcome.

Afterwards, I explained the mechanics of the script. I felt that the PCs could get a rundown from the rebels as to how it went, so a bit of meta-gaming was fine. They didn’t push back on the consequences, and accepted that the rebels that were wounded were going to be down for a day or two. Heck, one even pointed out that one should be out longer!

Future plans for the script

The script was written for a specific combat, so I knew the damage flying back and forth would be somewhat close. In the future, though, I may want to vary the damage output, making one group weaker or stronger.

I also may want the damage dealt to shift as the groups change. Because my simulations showed the groups always being about the same size, I didn’t worry about this, but I could see a future combat where this might vary quite a bit.

Finally, I may have make the script lethal, especially if my players decide to overthrow all of Cheliax…

Council of Thieves: Book Five (as book four)

Fair warning: This post is a long one, since I had to completely rewrite the book twice. Buckle up.

One of the most common suggestions to people who want to run CoT is that they run the books out of order. Since books one, two, and three focus on stopping the shadow beasts, it only makes sense to continue with that thread rather than take a break for a different adventure.

That said, Book Five took quite a bit of reworking before I felt like it was usable. Besides scaling down, some events had to be removed, and a lot of blanks had to be filled in.

Book Five is also like Book Three in that it’s totally possible to take on the end game right after the first session, skipping over the middle part of the AP. If you’re someone who does Just In Time Prep, you’ve been warned.

What I changed (Part One)

Oh, quite a bit. For pretty much the whole book, I figured out what the absolutely vital piece of information / action for each scene was and then re-wrote everything. I knew I had to hit certain beats, so I focused on those:

  • Finding out about House Drovange and the Council of Thieves from an insider
  • Getting some sort of introduction to the Mother of Flies
  • Rescuing the Mother of Flies so the party can learn about Walcourt
  • Taking on Walcourt so the party can kill Ilnerick and create / destroy the Aohl

Re-ordering AP events

Due to swapping books four and five, this meant that the fall of the mayor and Senior Drovange couldn’t have happened yet. Therefore, I had to remove any reference to riots or chaos and save those events until after Ilnerick is take care of. Oddly enough, this wasn’t that hard, since most of the book ignores the events in the Crown Sector.

The Kick-Off

The inciting incident involves dealing with a ‘trusted’ new NPC who the players have never met. My group leans towards paranoia, so the chances of them biting were slim. Instead, I pulled out what absolutely had to be introduced with that scene:

  • Confirmation that Ilnerick is in Westcrown
  • Some information about house Drovage (including their involvement with the Council of Thieves)
  • The involvement of the hags in whatever went down when Eccardian was born
  • The fact that there’s a splinter faction within the CoT

Rather than a new NPC, I used the interlude with the Children of Westcrown to deliver an alchemist to the heroes for questioning. Rugo is a bastard son of Senior Drovage, kept around because he’s utterly loyal, fairly useful, and good to have in case the house is left completely without heirs. With some threatening, he should reveal everything the players need to know in order to move on with the plot.

Mother of Flies

In the book, the players are ambushed while seeking out someone the contact knows, and a follower of the Mother of Flies steps in to help. Instead, I decided to condense things a bit, making the scene where the heroes interrogate Rugo the same scene as the ambush.

To make this work, I moved The Mother of Flies from the Hagwoods to the sewer, reworking her backstory. After her sisters were killed, she fled, but has made her way to the city, hoping to take revenge on the Drovenge family. Unfortunately, her lair was discovered and she’s currently under siege by the Council. At the moment, she’s holding them off, but every day they lose ground.

Some of her agents are still free, and have taken to roaming the sewers, killing reinforcements when they can and looking for a chance to break the siege from the other side.

So, I have two moving parts in the sewers now: Siege reinforcements and Mother allies. As soon as I’m done with the PCs interrogating Rugo, they’re stumbled upon by the reinforcements. As soon as that ruckus is underway, the Mother’s allies come to see what’s going on. After helping out with the combat, the allies can offer some information about the Mother of Flies:

  • She was chased out of the Hagwoods after her counterparts (Sister and Daughter) were killed
  • She came to town to enact her revenge
  • The CoT figured out she was around and have her under siege
  • Rugo was a part of the massacre and was a target for the Mother. The allies that are behind enemy lines are there because they were doing reconnaissance

The main ally is the from the book (Dog’s Tongue), and will give out enough information to hook the players into at least checking out the Mother of Flies.

If the players help end the siege (which is likely, since the siege is also going to make getting around in the sewers harder if they ignore it), they find out where Walcourt is, the history behind Drovage and the Mother of Flies agrees to hole up away from them and leave town once they enact her revenge for her. After that, the players are free to plan an assault on

And then things went to hell

A good plan never survives contact with the players, but I hadn’t expected them to completely wreck them before we even got to the first session.

I was in the middle of planning Book Five when the players finished Book Three. After clearing out Delvehaven, the players decided to resurrect one of the vampires. She was previously a vampire hunter, so likely to be good or neutral, and probably had information they needed. This obliterated the need for half of next book.

I was weirdly delighted with this turn of events. I was losing an interesting NPC (Ailyn, the Pathfinder Bard) soon, so this would give me someone new to introduce the story. Also, it felt a bit more elegant, since even with reworking, the siege felt awkward. Still, it required some scraping of my plans and figuring out if they even needed to deal with the titular Mother of Flies. After all, they’d have the plans for Walcourt and hints about Drovage being involved with the Council of Thieves. They’d be missing some backstory, but that could be inserted later.

What I changed (Part Two)

I decided to create four plots for this book:

  • Reviving Vahnwynne (and dealing with the fallout)
  • Potentially dealing with the Mother of Flies
  • Doing a favor for the temple of Calistria
  • Taking on Walcourt

Reviving a slayer

Reviving Vahnwynne comes with three complications: Finding someone to do the resurrection, acquiring a diamond worth 10k, and dealing with the fallout.

As I wrote before, the Temple of Calistria is the only game in town when it comes to doing a non-evil resurrection. The Temple won’t simply take payment for their services (in fact, they’ll refuse it). Instead, they’ll require a favor. They won’t force the players to carry it out before the resurrection, but when they come calling, they’ll most certainly have a window in which to get it done.

Acquiring a diamond is less of an issue, especially since one of the Children of Westcrown happens to be the daughter of a prominent jewelry merchant. The biggest problem there is finding the cash, since much of the previous spoils have gone into buying property or outfitting the rest of the rebels.

Finally, the fallout. I’ll write about this more in another post, but in short, Vahnwynne comes back with emotional scars. She was a CG person who was forced, via the nature of vampirism, to commit evil acts. Coming back, the memories of such events stay with her, haunting her days and nights. It also doesn’t help that she’s brought back by a group of strangers. If they want her help, the PCs will have to invest some time in getting to know her (and her issues) and helping her recover.

The Mother of Flies

With the resurrection of Vahnwynne, the Mother of Flies becomes unnecessary when it comes to pushing the plot forward. She has some interesting information about the backstory of the Drovage family, but that’s about it.

Rather than use her as an arbitrary stumbling block, I decided to make her optional. I also opted to place her in the sewers of Westcrown (as suggested in a Paizo forum thread) in order to tighten up the plot. She fled from the Hagwoods with a band of followers and has resettled in forgotten part of the sewers, plotting her revenge against Drovage. At the time of the AP, she’s been discovered and is currently under siege.

Vitti, the rebels’ druid, can clue the main PCs in on her existence. In my game, he’s been mapping the sewers, and would note that there’s some strange activity going on. The usual signs of life are disappearing and they’re running into more groups of humans. The players can opt to follow this thread if they want, with the reward being information and a possible alliance, either against Walcourt or for one of their more long-term goals. It also doesn’t hurt that a victory would mean taking out a good chunk of the Council of Thieves standing forces.

I also changed the hook, since the players rarely use the sewers to go anywhere. Instead, two of the CoW (Vitti and Larko, for my game), barely escape an encounter with a band of Council thugs. They tell the PCs what happened and leave it up to them what to do next: Investigate, delay, or ignore the threat.

The Siege

Moving the Mother of Flies underground meant I had to redo the siege. The book lays it out as a rather linear experience involving a lot of enemy fey, which doesn’t make a lot of sense, so I redid it to make it feel more like a group of people being penned in.

The center of the siege is the Mother’s hut, which she placed at a very specific point in order to draw on its power. There are three open areas around her hut, which were originally intended as space for their camp to grown. The Council’s thugs now occupy those spaces, however, blocking her and hers in.

The thugs, at this point, have tried a few pushes, but quickly found that the Mother’s crew can do some serious damage to them. Mother’s side, however, has found that they can’t make a move without the two other sides falling upon their back line. Even if they coordinate with Dog’s Tooth’s group, it still leaves them vulnerable. Both sides are at an impasse.

Each side has about 15 people in it, though several of those people are slaves (something the fey don’t recognize as different than any other enemy). Each group is comprised of one lower level magic caster, one lower level priest, a mix of fighters and rogues, a ranger, and a skald / bard / some other force multiplier. The highest level enemies will be whoever escaped from the fight in the sewers.


I’ll be detailing this subplot in another post, but the short version is that the players are tasked with recovering the body of a murdered temple priestess and punishing those responsible in whatever manner seems fit. This will take the crew out of town to a manor, allowing for a nice change in scenery and a chance to use some of their more esoteric skills.


I wasn’t a huge fan of Walcourt as it was in the book. It looks like a fun romp… for any other game. The tone of my game had gotten a bit grim, so I decided to remove some of the goofier elements and play up the corruption of Ilnerick. Rather than being a standard hive, I fashioned it to mimic a Pathfinder lodge, specifically, Delvehaven. The motifs and decor will be familiar to the PCs, and some of the vampires will be former Pathfinders who were tempted too close to his lair.

I ended up using the wonderful Village to Pillage: Murder Mansion as my map. I left most of the levels furnished, only bothering to customize the basement. In game, Walcourt formerly belonged to a noble house that fell during the Chelish civil war. The manor and its lands have never been rehabilitated, in spite of the fact that it sits in the middle Crown Sector. The official reason for this is that the matter of ownership is unclear since many houses could possibly lay claim to the land and the house, but the leaders of Westcrown have made it clear that whoever claims the land must also pay the back taxes on it. Unofficially, Walcourt is kept empty so that the Council of Thieves has a secure location on the island.

Also, you have to keep your pet vampire somewhere, right?

How did it go?

The kick off

Session one was basically set-up for the entire book, What Lies in Dust style. The players got all the hooks during this session and were given no particular order in which to do them. Vahnwynne was raised, they found out about something going on in the sewers, the deal with the temple of Calistria was struck, and they learned the location of Walcourt.

The players immediately accepted that their newly risen party member was traumatized and set about ways to alleviate it. They dug deep into their various tricks to find spells, skills, concoctions, and treasure to figure out ways to help her, which is always nice to see as a GM.

Dropping all the hooks on them at once also seemed to work well, since it gave them freedom to prioritize. The book is very linear, so I’m glad I reworked the plot so that they’re not dependent on each other.

The sewers, the fey, and the siege

The players decided to go into the sewers first, reasoning that if the sewers were now off-limits, the CoW were going to have a harder time getting around.

I set up a crew of Council reinforcements for them to stumble upon. I made it a CR 13 encounter, figuring I’d let the players get into a dangerous situation and then have the red cap Dog’s Tooth step in. He could help turn the tide and get the players moving on the Mother of Flies plot.

One misstep I made: I underestimated my players. They actually did fairly well against the reinforcements, even if the encounter was running long. I had meant to get them to the fey hideout this session, but I ended up having to stop right after introducing Dog’s Tooth.

Meeting the fey

In the third session, the group met Dog’s Tooth and his camp, and it confirmed my suspicions: If the PCs started with common ground with the fey, they’d have no problem making a deal with them. They figured out that many of the fey in the camp were evil, but knowing from the start that they had a common enemy and that the fey intended to leave town after their revenge was had, they decided to play ball.

The PCs got some rough details from Dog’s Tooth about the siege, letting them know that the battlefield had three areas, and that each one held ten to fifteen mortals. This was where I ran into a small problem.

If you give your players some rebels…

…They’ll want to bring the rebels to the fight.

After hearing about the number of potential combatants, the players immediately started planning on bringing all of the Children of Westcrown with them. All of them. I choked at first, since that meant I’d have fourteen friendly NPCs to control.

I almost said no, but then I decided to think about it. After some discussion with my husband (who’s also one of my players), I worked up a solution that would, hopefully, keep combat moving and keep me from having to control an absurd amount of mobs.

The system ended up working quite well. The combat never got bogged down, and while it was still a long fight (around two hours), it never felt slow or drawn out.

The fallout

The players were happy that they were able to clear out a chunk of the Council and got to learn a bit more about the Drovage family. They were also interested in forging an alliance with the fey, though I decided to delay that a bit. The fey informed the players that they had to relocate, and that they would be in contact once that was done.

The players also decided to take a few prisoners from the siege so that they could find out where the other hideouts for the CoT were… which involved maps I totally did not have. Between sessions, I threw together a few possible encounters: A main gathering place for the CoT thugs, a tavern just outside of town (used as a secret entrance to the city), and a warehouse in the docks (mostly for smuggling goods into and out of the city).


I had major worried about this side-quest, since there was a chance that the players could seriously foul it up. I decided to heed the advice of Matt Colville, though, and not worry about how the players would get themselves out of a jam.

In the end, the players did perfectly fine: They got out with everything they needed and even made few new allies along the way. It was also a nice break from a combat-heavy book.

The warrens

In the end, the only place that the players ended up hitting up was the Warrens. Once again, I grabbed one of the awesome Village to Pillage maps, tossed in a ton of NPCs, and let the players go nuts. They captured a few guild members, allowing me to toss some more information at them.

The most important discovery was a coded note with instructions to watch certain people. While the players were able to decode the text portions of it, the names of the actual people were left as a mystery. They did manage to get a few names out of the captured thieves, but they didn’t manage to grab the ones who would have been able to tell them that they, the PCs, were on that list.

This was fully intentional, as I wanted to make the players a tiny bit paranoid without sending them into a frenzy of self-defense. Sometimes, a GM needs to be a bit evil, okay?


Finally, after getting their insider (resurrected Vahnwynne) better and raising some hell, the group descended upon Delvehaven.

Honestly, while this encounter looked super tough on paper, the group breezed through it. They used their insider knowledge, planned the heck out of what they were going to do, and brought all the higher level people with them. Illnerick never stood a chance.

If I could do it again…

Looking back, I’m not sure I’d change a thing. I liked how the book played out, I figured out how to run large-ish combats, and the players seemed to enjoy themselves.

One thing that did bug me: Downtime. With this book, I offered a ton of downtime, spreading out the major events over months. There was nothing especially pressing. Even the request from Calistria didn’t have a due date (as long as they didn’t put it off too long). This lead to the number of sessions doubling, which wasn’t a bad thing, per se, but caused the tension to ease up a bit too much.

I decided that was fine, though. After all, it just made removing all downtime in the next book more distressing…

Population Generator: A script for filling a fantasy town

One of my biggest issues with towns in TTRPGs is that they lack a certain amount of life… literally. I’ve played in huge metropolises and tiny hamlets, and outside of the goods and services available, they’ve felt the same. There’s that one merchant you talk to, that one tavern you know about, and a handful of NPCs that are fairly interchangeable.

As a GM, I’d love to have a town where everyone has a name and a personality. I don’t really have the time to put that together by hand, though. I’m also wary of dumping a huge amount of time into something that my players may simply ignore. I could just make it up as I go along, but I’m terrible about writing down improvised details while in the heat of the moment (this is how a certain shopkeeper in one game ended up with at least four different names).

Ideally, I’d want something to do the work for me, naming my NPCs, giving them personalities and businesses, naming said businesses, and then handing it off to me to use if needed.

Enter the town generator!

Generating random sets of things is something that code is perfect for, so I decided to put together a script that could do it for me. My goals for it:

  • Create a town of N size
  • Populate it with residents
  • Give those residents values to give them some character (age, traits, a wealth level, a job)
  • Give some of the residents a family
  • Pop residents and their family (if any) into a building of some sort
  • Name the taverns and shops
  • Print the whole shebang out to a CSV, so the user can open it in Excel / Google Sheets / whatever

I tinkered with it for a few days, putting in work during coffee breaks and when I had a fit of inspiration. I grabbed a few random data sources, like a list of traits from a researcher at MIT and a bunch of medieval names from an online database. I also spent a bit of a time refreshing random word generators to get some data for my building names.

The results

I ended up with a script that did just what I wanted: Creates and populates a town with residents and businesses! You can see the results of one of the towns I made here.

One of the things I’m enjoying the most are the emergent stories. I considered putting in certain requirements (like a town must always have at least one shop or at least one temple, or can’t be made of only children), but decided against it. For one, it started to feel like a bit of a rabbit hole (why not check the types of temples, or traits that don’t go together, or not having any middle class, or…). But it also created some interesting stories when outlier cases popped up.

For example, in one town I generated, there were a TON of temples. Out of some 300 buildings, 100 of them were a temple of some kind (the normal ratio would have been much lower). What’s going on in a town like this?! Maybe there’s a ton of factions. Maybe the residents follow some of the lesser known gods, or have their own totem spirits. Or heck, maybe they’re all charlatans! And what’s going to happen with that single noble lady who has five sons, all with traits that are at odds with each other…?

The traits also create some fun stories. Each resident is given three random traits. This can lead to a person having traits that are at odds (miserly and generous), or traits that seem at odds with their station (a field hand who’s fancy or a noble who’s rustic). Sometimes, you end up with a marriage where you wonder how in the world they make it work. These just make the people in the city feel a bit more unique and alive. Also, since I’m working with traits and not a block of text, it’s easier to take in during an active session and key off of.

Finally: The business names. I adore the business names. Some of my favorites so far:

  • The Actually Ass tavern
  • The Tripping Chicken
  • The Wishing Wyvern
  • The Half-Elf’s Half-Elf

And the not-safe-for-younger-players:

  • The Wet Wife tavern

Will I use it?

My current campaign takes place in a single city, and my players aren’t in the habit chatting with the locals, so not any time soon. That said, I may go ahead and  run it just in case.

My next planned campaign is a West Marches campaign on Roll20, however, so I’ll likely break it out then. It’s set in a small settlement, but there’s still going to be people bumming around.

What’s planned for it?

Some of the things I’d like to add:

  • Races. Right now, races aren’t a set thing. I’d like to add them in, though I’d like to only do this once I’ve found enough names to add that are actually easy to pronounce
  • A web interface. I’d love for this to not be limited to just people who can run Python.
  • A settings file, so people can tweak the percentages without changing the code.
  • More data!
  • A Python 3 version 😬

Where can I find it?

It’s part of my gamemaster-scripts repo, but if you’re just looking for the files for this script, you can find them here:

To run it, you’ll need Python 2.7 installed and the files on your computer, but that’s all. There are no external packages required. If you have an account on Github, feel free to send me a pull request!

Note: Lovely tavern sign created with

Running a large(ish) combat

In my current Pathfinder game, the players have access to a crew of lower-level rebels. Normally, these rebels are doing their own thing, helping save the world in the background, only coming forward for bits of role play or when one of their areas of expertise are needed. Since they lag quite a bit behind the PCs, they’re rarely taken on missions.

That is, until the latest mission came up.

The PCs were asked to break a siege. They would take one side of the siege, while another group would take another, and those within would take out the last section. They were warned that each side of the siege consisted of somewhere between ten to fifteen people.

As soon as they heard those numbers, they told me that they were going to take the rebels.

“Which ones?”

“All of them.”

I nearly balked, because that would mean controlling not only 15 enemies, but thirteen friendly NPCs. I could see the logic in their demand, though: Of course they would bring more people to the fight. Sheer numbers and a bit of strategy would likely keep the lower level NPCs safe, whereas going on their own, they would be taking a much larger risk.

So, I set about trying to figure out how I would deal with this combat without it becoming a slog, and without it breaking my brain.

A small large combat

Pathfinder does have rules for large scale combats, but those tend towards dealing with actual armies. The scale of this battle was way too small for that to work, so I decided to roll my own.

Organizing the players

I declared all of the “leaders” of the combat: The PCs, my GMPC, and an NPC that they had been fighting alongside recently. Each leader would be commanding a team. If someone wasn’t a leader, then they had to be on a team.

I made my life a bit easier by putting my GMPC in charge of the team of healers and the NPC in charge of just one person, and only so she could get flanking. That minimized the number of decisions I had to make during combat, since one had a set job, and the healers (hopefully) would have actions that were fairly obvious.

Once I had those lower level rebels claimed, I opened up the rest of them to the PCs. I set up a page on Roll20 with all of the tokens for the rebels and let them dole them out among themselves.

This relieved me of having to control a ton of rebels, but I was still worried that combat might take forever as each player looked over an unfamiliar character sheet and tried to sort out what they could do. This can sometimes be a problem in the interludes, when the players have complete control of a rebel (which is why they tend to keep picking the same ones and leaving the unfamiliar ones for me to control). The rebels are level four, so they’ve acquired more than a few tricks.

In the interest of time, I decided that the leaders wouldn’t have absolute control over their team. Instead, at the end of their turn, they could do one of two things: Give a general command to the team (“Take out the cleric!”) or a specific command to one team member (“Cast web over there!”). Otherwise, the characters would either keep on doing what they were last asked to do or do something that made sense to them.

On the last point, I tried to be clear: The rebels may not act in a way that was the most tactically advantageous. They have their own biases, including friendships, romantic leanings, rivalries, personal vendettas, and fears.  They won’t be complete idiots, but they may give up a flanking opportunity in order to protect a friend. They’ll follow orders, but they’re not trained soldiers. They’re used to acting in small groups and watching each others backs.

This simplified things much more for me: I didn’t have to worry about as many decisions, and I could give each rebel some basic strategies that relieved me from looking over their character sheet each turn. I did tell the players that the leaders could communicate freely (“I could use a heal / web over here!”), but at the end of the day, they decided what to do with their people on their turn.

Finally, I grouped the teams to always go after their leader rather than track a bunch of initiatives, because that way lies madness.

Organizing myself

Now that I had the players and rebels sorted, I moved my attention to the enemies.

Pulling back the curtain, the actual combatants weren’t as high level as the players probably expected. They consisted of some lower level fighters, rogues, and casters and a higher level skald and ranger, as well as three non-combatants (slaves who were brought with them in order to do basic scut work). Still, I needed to have my ducks in a row.

I decided to split them into three groups: On watch, at rest, and sleeping. Each group would share an initiative, with the on watch group having a +8, the resting group having a +4, and the sleeping group having a +0. On their turn, they’d act however it made sense, because I didn’t feel like keeping track of sub-initiatives.

Screen Shot 2018-10-15 at 9.49.53 AM
The field of battle

I also made a cheat sheet for myself, including their default strategies, gear, and attacks. I wanted to pull up their sheets as little as possible. As much as I love Hero Lab, the interface can be a bit much if you’re juggling more than a few characters.

Screen Shot 2018-10-22 at 11.17.35 AM
My cheat sheet from One Note

Organizing Roll20

Normally, I tracked hit points and conditions through Hero Lab, but for this combat, I decided that going to be too slow. Instead, I used the bar and icon features for tokens, letting me keep track much more easily. I also popped their AC on one of the bars so, once again, I didn’t have to look at sheets.

Rather than trying to remember who was on what team, I used the aura feature of Roll20 to make it clear who was answering to who. I set the aura radius to 0 and square, and gave each team a color that matched their leader. Because my tokens are round, this allowed the aura to show without overtaking any other squares.

I also tracked the initiative openly. Normally, I keep the initiative to myself, but in this case, I felt a bit of meta-gaming would make everything move along a bit faster.

How’d it go?

While I wouldn’t call the encounter short by any means (it ran for at least two hours), it was way more efficient than I’d expected, and there was less fatigue than there normally is in longer combats. The players stayed engaged, and at the end of it gave it a thumbs up.

The players adapted to controlling a team quickly, using them to control the field of battle and give themselves advantage. While the rebels had trouble hitting very hard, they were more than capable when it came to flanking, pinning down, or tossing out spells.

While the combat lasted a while, eventually the group completely wiped the board. They took down most of the enemies and got the last few to surrender once it became clear that they were not only going to lose, but that escape was impossible. None of the rebels were lost, or even significantly hurt. And, best of all, I didn’t feel like my mind was made of mush.

What would I do next time?

While I was largely satisfied with how the combat ran, there were a few tweaks I’d likely make to my prep.

The one thing that had me going back to my sheets were saves. A web was laid down, so I had to keep rolling to see if the mobs were able to free themselves, which meant a ton of going back and forth on their turns.

I’d also make sure players could see all of the health bars. I could see them, but I forgot until too late that the players couldn’t. While some might see this sort of information as meta-gamey, it might have sped up combat a bit rather than have players ask about the health of their team.

I would also have sorted out a macro to deal with bardic songs. Changing a bunch of AC / to hit bonuses at once is a pain and a half. I guess it’s time to do a deep dive into the Roll20 API!





Potions 11: An interlude for Council of Thieves

In-between CoT books, I like to run a lower-decks interlude for my group. I come up with a reason that the regular heroes aren’t available and have the players select four of the Children of Westcrown to fill in. The players are free to modify the NPCs’ sheets, with the only restriction being that they have to keep the base class, though they’re free to switch the archetype.

The first interlude was a fairly straightforward adventure, with the Children rescuing an artifact from some evil fey of the Hagwoods (Paizo’s Tide of Morning). For the second interlude, I decided to switch things up a bit, using a one-shot called Potions 11.

The premise

Originally, the premise was going to come from a rather complex set of events where Fiosa discovers that halflings are being sold watered down potions, leading to several deaths. She goes to Yakopulio for help, and the adventure kicks off from there.

The PCs, however, gave me an even better hook. During book three, after learning that there might be vampires in Westcrown, they asked around town to see if anyone had gone missing. They found out that several halfling families and households had disappeared. This wasn’t uncommon since sometimes a family or group would decide to leave town on their own, but the rate was higher than normal. They asked the lower-level Children of Westcrown to look into it while they focused their energy on Delvehaven.

Thanks, players!

What I changed

Originally, I was going to run the adventure as was, but once the missing halflings subplot was added in, I decided to modify it more to make it fit into the overall plot.

The mission runs parallel to the Delvehaven excursion, mostly to block access to the main PCs. The players, playing low-level CoW NPCs, start with only one lead: Halflings are disappearing, and it may or may not be attached to vampires being in town. Areal suggests a party of Fiosa, Amaya, Yakopulio, and Larko (all people who can seek information in a number of ways), but the players are free to choose who they want. They can also call on any of the other rebels, even opting to swap them out as their goals change. Doing so takes time, though, and the clock is always ticking.

I also connected Rugo to the plot of CoT in a more concrete way, making him not only a tool of House Drovange, but an illegitimate son of the head of the house. He’s been kept around all these years “just in case,” and because he’s proved extremely loyal and useful. He’s a treasure trove of useful information, which will help to kick off the next book (Book Five, since I’m doing them out of sequence).

The (new) overall plot

For this interlude, I set up several scenes:

  • Finding the location of the last disappearance
  • The achemist’s shop
  • A tiefling gang hideout

The missing halflings

After gathering enough information (however the party plans on doing it), they find a house in the Dead Sector where a family of halflings disappeared a few nights ago. Investigating, they find:

  • Signs of recent habitation
  • Several valuables left behind (at least, valuable for a family of poor halflings)
  • A strange canister of professional make
  • Signs of larger humanoids walking away, with no signs of halfling feet
  • No signs of blood or struggle

So, a rather obvious kidnapping of some kind. It’s not subtle, but I also don’t want spend two hours watching the players struggle to piece together what happened.

What did happen: A group of tieflings has been kidnapping houses of halfings using sleep grenades. They put all the halflings to sleep, then take them to a hideout. They send word to Rugo, an alchemist who has been supplying blood for Ilnerick and his crew. Lately, though, the tieflings have been getting cocky and have started demanding more money. At this point in time, they’re still holed up with the halflings, waiting to hear back from Rugo.

At this point, the players can choose to either find the hideout or try to figure out where the canister came from. Either approach works, since both parties are currently in a holding pattern.

The Alchemist

If the players decide to find the alchemist first, they’ll have to figure out who in Westcrown made the canister. In my game, I plan on offering a few options:

  • Rugo’s Potions in the Coin Sector
  • The Bee’s Sting in the Priest Sector
  • The Western Star in the Crown Sector
  • A shop owned by one of the main PCs.

Eventually, they should figure out that Rugo’s is the only realistic option. The Bee’s Sting is run by the Temple of Calistria, who is anti-slavery. The Western Star deals with imports only and has no equipment of its own. The shop workers at the PC’s shop check out (and don’t have the skill to make a grenade, anyway).

This is where I lean on Potions 11 again, though I replace some of the notes with communications with the tiefling thugs, as well as some letters to (as drafts) and from Thessing. By this time, the actor from the second book has been turned into a vampire and is unimpressed with the quality of the provided blood. I also changed out the eleven mysterious potions for vials of sleep toxin.

The best outcome for this encounter is leaving Rugo alive so that he can be questioned by the main PCs. If he is killed, however, then whatever information he has can be gleaned from the papers stored in his secret cellar.

The Tiefling Thugs

If the players choose to take on the thugs first, they can try tracking the footprints through the dead sector. The Survival DC for this is 14 (Firm ground +15, three in the party -1) if the players try to track during the day. Otherwise, it’s 17 (Moonlight +3). Because the DC is above 10, the party has to have someone trained in survival in order to find the hideout first.

The other way to find the thugs is to deal with Rugo’s shop first and either finding a note including the approximate location of the hideout, or getting the information from Rugo himself. He’d had been planning on hiring someone to take them out, so he’d already sorted out where they were staying.

Either way, I populated the hideout with four tieflings: Two level one fighters, one level two rogue, and one level two sorceress. There’s also a family of four halflings chained in the back, being guarded by the second fighter. If they assault the place by day, the sorceress will be up and about but if it’s during the night, she’ll be resting. Since the CoW PCs will be level three, I figured this should be a decent fight for them.

If the players hit up the thugs first, they can learn about Rugo by either interrogating one of them (they’ll flip easy) or talking to the halflings locked up in the back (they would have overheard quite a few conversations).

How’d it go?

Due to how Delvehaven panned out (the players rolled through it in one day), I opted to not do the events in parallel. Instead, the main PCs came up with some things they had to do, leaving them busy and the less experienced CoW NPCs on their own.

They did do one thing: A PC used Ears of the City to find out where the last disappearance was, tightening up the timeline of events. The players also opted to take Larko, Sclavo, Fiosa (as a GMPC), and Rizzardo. Eventually, when they realized they’d need to do some breaking and entering in a magical shop, they dropped Fiosa and grabbed Tarvi and Yakopulio.

The actual session went really well. They were able to follow the trail of clues and hit all of the locations, saving the halflings at both locations, collecting a bunch of loot, and finding out some interesting information, though they haven’t connected it quite yet to the rest of the AP.

It also forced the players to come face to face with the problems of halfings in Westcrown, which the AP doesn’t directly address. It also created a few situations where they have a foe at their mercy and they have to operate in morally grey areas. This lead to some interesting developments with the lower-level CoW, which will be interesting to play out as the AP progresses.