Dhampir$: Family Reunion (session one)

Author’s note: I’ve recently started a PF2 stream with a few friends on the Twitch channel Roll the Role. The premise: A crew of dhampirs with the same ‘sire’ have banded together to make coin, a name for themselves, and sort out their complicated past and future. This takes place after session one.

[ < A Prologue ] [ Dhampir$: Save the Princess (session two) > ]

Leaving Alkenstar before dawn, Anna had hoped to be enjoying the clean air of the countryside by evening. Instead, she found herself anointing her room with scented oils to keep the acrid smoke of the city at bay. They’d made good progress, but the smokestacks were hard to outpace. 

She sat at the tiny writing desk and took out her journal. It was a habit from childhood, drilled into her by an endless stream of nannies, who saw it as a calm and harmless pastime for a girl who was too curious by half. Perhaps if she had been interested in the arts or other mundane affairs, they would have been more comfortable with her explorations, but after the frog incident…

Well, they preferred a medium that was more easily put out of mind. 

Anna dipped her pen and began to write…

✱✱✱

12 Gozran 4720 ~ Rusty Bedfellow Inn ~ North of Alkenstar

Lenore has been taken. I expected one of us would one day be carried away, but I thought it would be a crowd with torches and pitchforks, or perhaps a duke in desperate need of a scapegoat. I didn’t expect a dragon. And a dragon with portal magic. 

Even stranger, her abduction came with a vision.

I do suppose I’m getting ahead of myself. We had been asked to take care of a small matter of a cult in the outskirts of Alkenstar. A rather dull matter, but cults have  a nasty habit of creating larger issues for us down the line (either adoration, admonition, or in the worst cases, both), so better to be nipped in the bud. Even better if we’ll be paid for it.

It was just as we were putting ourselves to rights that the portal opened, and poor Lenore was snatched away. We had no time to react, though I’ve spent more time than I like second guessing our actions. Perhaps if we had a counterspell ready, or one of us had moved faster…

Ah, well. I’m sure Lenore is fine. She’s unparalleled as a warrior, and resourceful as well. She wouldn’t have made it this far if she weren’t able to take care of herself. If anything, we siblings persevere…

But speaking of siblings… 

I’ve never been one who’s prone to visions. Poor aunt Martina was plagued by them, and I heard my mother would have episodes, but they never struck me. I had assumed that they skipped over me… until now. I would have been ready to disregard it as an overtired mind, but Cyt and Samael experienced them as well. A cold plain, a love for one’s kin, a thirst for blood, a need for revenge…

I do believe we have family in the North, which is where we believe Lenore was taken. It can’t be a coincidence. I don’t believe in coincidences. 

I should write of the unfortunate events of the bar, but I find myself growing tired, and I’m certain we’ll rise early. Suffice it to say, it is likely a good thing that we chose to leave Alkenstar for a time. 

✱✱✱

Anna sat back from the journal, yawning. From the darkness came a tutting. ภ๏Շ שєгץ ɭค๔ץɭเкє(in a creepy font) Not very ladylike

One of the shadows in the corner of the room had solidified. Anna hadn’t called her eidolon forth, but that rarely stopped her companion from showing up. Anna gave her a rueful look. “My accommodations are rubbing off on me. ‘Rusty Bedfellow,’ indeed. I’m shocked they didn’t rent by the hour. You’ll keep watch, my pet?”

Silence was the only response, but that was better than the usual morose retort. Before long, Anna was tucked into a bed that would be better used as kindling under whoever managed the cleaning staff, and was asleep.

✱✱✱

It was not a peaceful sleep.

She was back in her room, in the sickly light of the LeClerche manor. She stood at her window, watching as Maizon made his way to the main road, and hopefully to a caravan that would take him to the Mwangi Expanse. Jace was gone. Her father was gone. Most of the staff had left, save for their aging butler and a plain-faced chambermaid who she suspected he was tupping. Even them, they were planning on moving on as soon as Anna signed the papers…

She looked down at them. Their solicitor had drawn them up, likely while her father’s body was still warm. He’d laid out the particulars for her: She wasn’t quite alive, and her kind wasn’t known for being fecund. Therefore, wasn’t it in the best interests that she quit her claim on the LeClerche estate? She would be given a settlement, and a distant cousin (from a branch untouched by tragedy) would absorb their titles and estates. The name would be given to one of his mewling brats, and really, isn’t that what her mother and father would have wanted? To have the name continue? 

She looked up. The fog had swallowed Maizon. The house was silent. She had never felt so alone, and the dread of it threatened to swallow her whole. Her kind could live as long as elves, and just two decades in, Anna had lost everyone

A knock sounded. “Miss?”

The solicitor. Anna swallowed her growing despair and turned. “Enter.”

The door opened. The man her father had retained was in his middling years, youth being eaten away by fine lines and touches of gray. He wore a vest that Anna was certain he thought was the height of fashion, but that Absolom had given up on three seasons ago. He gave her a sad-eyed smile, acting out the part of the sympathetic compatriot.

“How are you doing today, Miss Anna?”

“As well as can be expected.” She realized her eyes were too dry, but it couldn’t be helped. Another side-effect of her ‘condition’: She rarely cried. “I hope the day finds you well.”

“Much the same. Your father and I hunted often. I was so stunned when I heard his horse had thrown him. He was an excellent equestrian.”

“If his death surprised you, then you couldn’t have studied our history too closely. Horses were a popular way to go. I always told Daddy he should avoid them.” 

The solicitor cleared his throat nervously. “Well, he was a man who little liked being told what to do.” Oh, he’d heard. “Have you had a chance to read over the papers?”

“I have. Do you know, I think Daddy liked riding because he thought he’d sorted the curse. He did all sorts of things he shouldn’t have…” Anna picked up the papers and started to leaf through them. “Ate fish with bones. Boated. Fenced. He even liked to toy around with firearms, though he was a terrible shot.”

“Er, yes, quite the character. Do you have any questions about the settlement?”

Her gaze landed on the settlement. A heady amount for a peasant. A paltry amount for one who might live as long as an elf. “I don’t know if I would have called him a ‘character.’ But he really thought he had beaten it. Even if he hadn’t, he was still a credit to the name, don’t you think?”

“Yes, just as your cousin shall be. I’ve heard he’s quite the bright lad. He’ll marry well, I have no doubts. It’s what your father would have wanted.”

Anna smiled, keeping her lips pressed together. “My father is dead. What he wanted doesn’t matter.” And she tossed the papers into the fire.

The solicitor cried out as the flames consumed them. He reached, but a word of magic made the flames hungry, consuming the parchment in seconds. He turned on Anna, hatred in his eyes. “You prissy little bitch…” He stepped towards her, one hand going for his pocket. Anna, too late, realized how alone she was, how easy it would be to pay off the servants. He pulled out a gun. “You know, maybe this is easier. The despondent daughter eats a bullet and saves the Howes some gold–“

A hand wrapped around the man’s neck, inky black and trailing a dark smoke. In an instant, the solicitor was thrown across the room, cracking the plaster and wrecking the wainscotting. His head lolled at an unnatural angle and his eyes stared blankly. Anna found herself staring at a dark form, a woman, but her face was gaunt and her eyes shone with a terrible light. (In a creepy font) Misstress… it hissed in a voice from beyond the grave, and it reached for her. Anna heard someone screaming, and it took a moment to realize it was her own voice. The hand touched her cheek, and all went black.

[ < A Prologue ] [ Next > ]

Dhampir$: A Prologue

Author’s note: I’ve recently started a PF2 stream with a few friends on the Twitch channel Roll the Role. The premise: A bunch of dhampirs with the same ‘sire’ have banded together to make coin, a name for themselves, and sort out their complicated past and future. To get read for this, I wrote a backstory for my snobby summoner Anna… This takes place several years before the first game.

[ Next: Dhampir$: Family Reunion (session one) > ]

The Acadamae was never quiet, with students working at all hours to please patrons who were rarely satisfied. The first three years of a student’s life was never easy, balancing studies with constant work assigned by professors and older students. It wasn’t uncommon for a student to stumble, bone-tired, into a magical trap and end up eviscerated, exploded, or banished. 

So common was this, in fact, that a permanent nook had been set up in the main courtyard for remembrances: Flowers, candles, letters left sealed in wax and never to be read. The name of the student (or, in the case of a particularly good trap, several students) would be painted onto a plaque, and their likeness added beneath that. On this fair fall evening, the previous name had been washed away, and a new one left in its place. 

The last fallen student had been popular, a catfolk named Jyrre who had been quick with a smile and a joke, but not so quick with gusts of flame. The platform had overflowed with tokens, but these had been cleared away. The new name was one that the students barely recognized, and the portrait that went with it didn’t help matters much. Everett Danisoe, human, only on campus for a few months. The only tokens were from the followers of Pharasma, who leave a token for everyone, and one from a professor who was likely more annoyed that she’d have to find a new gopher. 

A woman stands in the courtyard, eyes appraising the paltry offerings. The best word to describe her is ‘pale.’ Her hair is blonde, close to white. Her skin looks as if the sun has never touched it. Even her eyes are gray. Even her dress is a dull blue. She looks as though all of the color has been wrung out of her, leaving only traces behind. The only mark of color she wears is a patch on her cloak, marking her as a student of the second year.

After a moment, she’s joined by two more second-years: A red-cheeked young man with a baby face and a mop of dark hair, and a half-elf man, his skin ruddy and eyes shining with a strange light. The apple-cheeked man curses at the tableau. “Not even a week. Pity.” 

The half-elf frowned. “Did you know him, Jace?”

“I ran into him a few times in the library. I told him to be careful around the southern perimeter.” Jace sighed and pulled a coin out of his pocket. He whispered a prayer over it and laid it on the altar. 

The woman tapped a finger against her lips, a sign of her thinking. “Did he have family?” Both of the men froze, and looked at her. She gave them a measured look. “I’m merely curious.” She looked at the half-elf. “Maizon, you have some shifts in the records office, don’t you? You could find out.”

The half-elf sighed. A sane man would tell her no, but he simply nodded. “I’m sure someone will be claiming his body, Anna. But I’ll check.”

✱✱✱

Maizon was wrong. 

When it was his time to work in the records office, he found some time to steal away and read poor dead Everett’s file. No next of kin. The only contact was a distant friend of the family’s, and he’d approved of Everett being interred in the cemetery next to the Acadamae. It was, after all, free. He didn’t even want the poor man’s paltry possessions. 

Golarion was set to forget him.

He told Anna. Of course, he told Anna. She was too good at reading people to risk lying to her, and he had a feeling if he told her no, she simply would have bribed someone else to check for her. She brightened when he told her, though as always, that never quite translated into a smile. She had the continence of a porcelain doll. Some noble thing, he assumed. 

“Excellent. Let’s meet in the lab tomorrow. Usual time.”‘

And she left to go bribe someone completely different…

✱✱✱

The ‘lab’ was actually a rented basement apartment. The owner upstairs was a pesh addict who seemed to be happy to turn a blind eye to whatever was going on under his feet in return for favors Maizon didn’t like to ask about. 

Jace and Anna were already there… as was their ‘guest.’ On a long oak table, Effron was laid out, face already puffy and discolored with decay. He was clean, though (Anna’s work, he guessed), and his modesty was covered by a cloth (probably Jace). 

Anna was inspecting a tray full of wicked tools when Maizon came through the door. She looked up. “Ah, good. He’s in remarkably good shape for having tangled with one of the traps. Normally, they’re in more pieces. Can you help me crack the chest?”

Maizon picked up one of the more severe looking tools. The trio worked quickly, the sounds of cracking bones and ripping flesh muffled by a clockwork recorder, playing the sounds of a popular bard. They each had their own interests… Jace’s practical research leaned towards making items that could be used by the common man in the field, for areas where there wasn’t a healer nearby. Maizon leaned more theoretical, fascinated by differences in the various ancestries and how they affected their internal workings, and how it lead to some being stronger, or faster, or sturdier. Anna’s interest… 

Maizon wasn’t quite sure what her interests were. She wrote her notes in a language he didn’t know, and she guarded her journal closely. Even talking to her about the natural sciences didn’t yield many clues: Her interest was so broad, she could talk about anything, but she pulled back as soon as he tried to go deeper.

Normally, Maizon wouldn’t have paired with her, but she had one thing he didn’t: Money. Money to pay graverobbers. Money to keep a pesh addict happy and silent. Money for hats of disguise to keep their movements secret. But not, apparently, enough money to skip to the upper echelons of the Acadamae, where she could study bodies without reporting to some gray beard about her findings.

She also lacked scruples, but that was something they had in common. 

Finally, Jace sat back with a sigh. “Poor sod. I’m not sure anything could have saved him besides a healer in the room. The blade went through his carotid. Maybe a special patch of some sort?”

“Healer’s gloves?” Maizon decided to take a break as well. Jace snorted.

“That’s the problem with medicine in Golarion. It’s so magic focused. The gods have died and left before. They’ve refused services. And even if they were reliable, it’s not like we can put a cleric in every town. We need more practical solutions. Practical knowledge is lacking because magic makes everything so easy.”

Anna continued her examination of the dead student’s eyeball. “You’re starting to sound populist.”

Jace glared at her. “So sorry, milady. My concern for the common man must be distressing for your delicate soul.” His tone dripped with sarcasm, but she shrugged it off. 

“Hardly. It’s just an observation.” She picked up a spoon and, as delicately as if she were retrieving a cherry from a syllabub, plucked the eye from its socket. “I agree, you know. I think it’s absurd that knowledge is hoarded.” She snipped the nerve. “The elder mages aren’t clever: They simply moved faster. They’re standing in the way of progress.”

Jace blinked. “Oh… well. Glad to hear we agree.”

“Mm.” She looked between Jace and Maizon. “I can clean up the body. My associates will be here to retrieve him soon. You two should probably head back.”

The ‘should’ wasn’t a suggestion. Anna may sometimes use conditionals, but her meaning was always in absolutes. Jace and Maizon cleaned themselves up, donned their disguises, and headed back to the university, the smell of the grave still clinging to them.

✱✱✱

It was a week later when Maizon was woken by the slamming of a fist on his dormitory door. He stumbled out of bed, and for a panicked moment, he considered throwing himself out of the window. Yes, he was three stories up, but if he were lucky, it would kill him. Surely, someone had found out. Someone had found out about all of the bodies they had stolen and dissected and even though they were all returned surely they had broken enough laws to leave the three of them disgraced, ridiculed, and hanging from a scaffold–

But then he realized the voice on the other side of the door wasn’t security. It was merely his neighbor. “Maizon! Get up! The library!”

Maizon wrenched open the door to find himself face to face with Garundi whose dark skin was strangely pale. Maizon tried to merely look annoyed rather than panicked. “What is it?”

“It’s Jace.” 

And then Maizon saw the rest of the other man. Blood splattered the front of his robes. He didn’t have to say more. 

Maizon dressed in a hurry and sprinted across the campus to the library. The crowd was still there, in the east wing, near one of the sections that was riddled with traps and alarms due to the nature of the books within. A newer student sat on the ground sobbing, rocking, covered in blood, moaning about how the ‘other boy’ had been trying to help her and how she wanted to go home…

And, in the crowd, a gray rose amid weeds, stood Anna. Of course. She looked unwell, her normally placid visage cracking as she stared at the body that had been her friend. The trap had left his body mostly whole, but had shredded his chest open, making a mess of his internal organs and bones and muscle and skin. Jace’s face was frozen in a look of surprise, tinged with resignation. 

Maizon went to Anna’s side, tempted to ask what happened, but it was obvious. Instead, he did something he’d never done before. He took her hand. It seemed natural, but he almost immediately regretted it. He was shocked at how cold her skin was, as if she’d been holding a ball of ice seconds ago. Her slim fingers locked with his, though, and he couldn’t pull back.

“I have enough for them to bring him back,” she said, a tremor in her voice. “Not in this body, but… good enough. He has work to do. This can’t be how he ends.” 

Technically, students had to pre-pay for reincarnation or resurrection, and most didn’t have the funds. But the Acadamae wasn’t above bribes. Money solves many problems. Anna had proven that over and over again… One of the permanent staff in the natural sciences wing agreed to take her gold, and with the addition of a few gems, even offered to show them the ritual. 

It was fine, Anna kept assuring Maizon. It was dealt with. She had it under control. Jace would adjust and they’d be back to work in no time. Maizon started to wonder who she was reassuring: Him, or her.

The day of the ritual, the sun was blotted out by gray heavy clouds. As they set out the oils and herbs and recited the incantations, the rain started to fall heavily against the windows. Time stretched, and the air grew heavy with the smell of incense and the storm. The final words were spoken…

And nothing happened. The staff member sighed.

Anna was still as death, holding her specially cast candle in her hands. “Well?”

“I’m sorry. Pharasma has closed this–“

Her words were cut off by dozens of bottles shattering. The light of the candles dimmed, Maizon felt his blood run cold. For a moment, no longer than a heartbeat, he swore he saw something behind Anna, shadowy and indistinct. Anna was the only one who didn’t jump. Instead, she carefully set down the candle and smoothed out her dress.

“Someone will be by to collect him. We’ll attend to his burial.” 

And she swept out of the room, glass shards crunching under her shoes. 

✱✱✱

Of course they didn’t take the body to the morgue. Maizon had hoped his cohort had found it in her, just this once, to rein in her curiosity, but no. The staff in the morgue had looked at him blankly and said they never got such a body in, and had been informed a private caretaker was dealing with Jace. The only ones he could imagine Anna going to all pointed to each other, claiming to have never seen the body of a young student.

In a rage, he stormed over to the secret lab. As he threw open the door, he realized he should have gone there first. Jace, affable, concerned, self-sacrificing Jace was laid out on the table, flayed open, his innards spread out over several tables, his eyes staring blankly to the uncaring heavens. 

Anna didn’t even look up. She was too busy examining the man’s still heart. “I was wondering if you were going to join me.”

“He was our friend.”

“Alive, he was our friend. Wherever his soul is now, he’s our friend. But this? This is a husk that we can learn from. I want to know why the ritual failed. He would have wanted us to–“

Maizon was never known for moving fast, but he found speed now. He crossed to where Anna stood and grabbed her arm. He wrenched her back, forcing her to look at him, something dark in his mind telling him to hurt her if she wouldn’t listen to reason– And then, he was across the room. His chest ached, and he realized that this was because something had hit him. Hard. Hard enough to send him flying. He looked up, and saw the shadow behind Anna once more. It blossomed out from behind her, a nightmare made real. And Anna…

For the first time, he saw fear in her eyes.

“You should go,” she said, a tremor in her voice. “Before…”

He didn’t stay long enough to find out what would come next. He scrambled to his feet and was gone, as the sounds of shattering glass filled the room behind him.

✱✱✱

Nights passed. He saw the notice that Jace had been buried. He left tokens at Jace’s portrait. He visited the grave and wondered what was under his feet. He’d forget the whole mess. He merely had to survive another year. He only had to keep his head down. After a week, he had almost convinced himself that this was possible…

And then the reports came from the graveyards: The dead rising up. 

All recent students.

All students that had been in that secret lab, under Anna’s careful knife.

Anna got word to him, and they met at the memorial. She looked unwell. Her skin was paler than usual, and there were circles under her eyes. She started, before he could say anything. “He won’t rise up like the others.”

Maizon’s fists tightened, then released. “Because the resurrection didn’t work?”

“No.” She tugged at her cuff, a rare show of anxiety. She didn’t elaborate. “I’m going home. I’ll need someone to accompany me. You could make yourself free, yes? It’s only until things calm at the school. It’s simply too difficult to focus right now, don’t you agree?” 

It wasn’t really a request. Maizon signed, nodded, and left to put in his leave of absence notice.

✱✱✱

At the very least, she traveled in style.

She had a carriage that was sturdy and comfortable. The only complaint (coming from Anna) was that it was several years out of fashion. She hired a driver who agreed to double as a porter, and he found them two sturdy horses. They packed quickly, and were on the road within a day, barely noticed by a panicking campus. No one seemed to question their rapid departure. After all, they’d been friends with Jace, and Anna, a noble, was already seen as ‘weaker’ when it came to ‘troubles.’ 

The porter, a rough half-orc, spoke no Elvish, so that’s what Maizon and Anna stuck to, when they spoke. Most of the time, they sat in silence with the books they’d borrowed for the trip, or worked on theoretical research. It wasn’t until it was clear they weren’t being pursued that Maizon felt comfortable asking about anything more than where they might stop on the way.

“Why don’t you think he’ll come back?”

Anna looked up from her book. “Because I only looked with him.”

“The others. They’re you?”

She sighed and set her book aside. “I suppose. I thought the rituals had failed, but… perhaps there was a delay. I wish I could have looked one over before we left. They burned them, though.”

“How shortsighted,” drawled Maizon, but then dropped the sarcasm. “Necromancy. That’s been your interest all along. Why? You could go to Geb and have endless research material. You could make a fortune out there.”

She rolled her eyes. “Necromancy isn’t just churning out endless undead. If I only wanted coin, I would have stayed home and gotten married. This is… personal.” She looked out of the window, raising an eyebrow at the landscape. “We’re close.”

“Changing the subject?”

“Not really. But some things, you have to see. If my guess is right, we’ll be home by dinner tomorrow.”

And she settled back in with her book. Apparently, the discussion was over.

✱✱✱

Anna was right. Before long, they were riding through a small town. It was downtrodden under gray skies. Some buildings were empty, abandoned long ago. Those that were filled blocked out the day with heavy, dark curtains. Anna frowned as they rode by, her fingers beating a nervous tattoo on her knee. 

For only the second time, Maizon dared touch her, taking up her slim fingers in his. They were ice cold. “Something’s wrong?”

She nodded, only once. “Black curtains. It’s a local tradition.”

“For what?”

“Keeping out evil spirits. Something’s happened.”

And again… Anna was right.

The LeClerche estate was large, and in better times, might have been lovely. But now, the orchard was rotting, the grass was a sickly yellow, and the colors of the building had faded into a muddy brown. The only thing fresh were black banners set to hang from the parapets. Anna’s face, normally expressionless, was suddenly fragile. She laughed. “Oh… it always had a sense of timing.” And then… she was crying. Maizon searched frantically for a handkerchief. 

“What is it?”

“My father. He’s dead.”

✱✱✱

They were greeted by staff in deep mourning and fed cold funeral meats. They seemed confused to see her, since they had just sent a notice, and hadn’t expected her for at least another two weeks. She waived off their questions, then sequestered herself with her family’s solicitor.

Maizon took the chance to freshen up. The estate was large, and if it were better maintained, would be comfortable, but as it was, every room held a draft, and the air was thick with the smell of mold and mildew, even if the room looked clean. Still, he was tired, so he found himself falling into a deep sleep before long.

He dreamed… a woman, pale of hair and skin, eyes dilated with need, dressed in a pale chemise that was mostly lace. The bed shifted to accommodate her weight as she joined him. Her cool body warmed to his touch. Her breath, strangely sweet, as they kissed. The way she nuzzled his neck, cooing for him to relax… And then a pain, sweet and sinful and dangerous– His hands went to lift her chemise, but something shot out from the dark, shaped like a person, but lost in inky tendrils. It pulled the woman away and pushed him into the abyss.

He woke up with a start, crying out and reaching for the dagger he always kept on his nightstand. It wasn’t there, because he wasn’t in his room. No, he was in a different room, larger, quieter… and there was a woman sitting at the foot of his bed. He shook off the sleep and sat up. “Anna?” He twisted his fingers and produced light.

She’d been crying. Of course she had been crying. Her father had just died. What else would she have been doing? “I’m so sorry about your loss.”

She nodded, then held out a paper to him. “A letter of introduction. Magaambya should still be taking students, and our family worked with them in the past. This should be enough to get you a seat. It would suit you better.”

He read the note. Whoever had done the wordsmithing knew their craft. Maizon sounded like a god’s gift to academia. “Will you be coming?” She shook her head. “Ah. I… suppose you have to be the Lady of the House, now.”

She gave him a thin smile. “No. My position is uncertain.”

Maizon frowned. “Are you illegitimate?” He pushed himself up, realizing he had probably overstepped. “I mean, no worries if you are. I’m a bastard, myself. Some elf bard came through town and did what elf bards do.”

She shook her head. “No… It’s more that my existence is something of a gray area.” She smiled, and it was only then that Maizon realized he never saw her smile. At best, if she laughed, her mouth was hidden behind her sleeve. He assumed it was a noble affect, or her feminie side coming out.

By the light of his magic, he saw her fangs for the first time. 

The smile vanished. “I’m still leaving, though. I have research to do. I’ll simply do it elsewhere. Good luck, Maizon.”

And with that, she left his room. Maizon’s fingers went to his neck, and came back wet, spotted with his blood.

[ Next: Dhampir$: Family Reunion (session one) > ]

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

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: https://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3

Deaf

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):

https://www.twitch.tv/videos/954502046

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).

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 http://apps.pathstoadventure.com/Tavern-Sign-Crafter/craft.asp ]

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.

Calistria

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.

Walcourt

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).

Calistria

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?

Delvehaven

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

Hey, I made an online version of this that doesn’t require installing Python! Go check it out!

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:

https://github.com/kcunning/gamemaster-scripts/tree/master/general/popgen

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 http://apps.pathstoadventure.com/Tavern-Sign-Crafter/craft.asp