Friday, October 17, 2025

Creating Stat Sheets for your SPCs - When, Why, How

I am on record as to saying that Storyteller's should not stat all their SPCs, including very important SPCs. I talk in my article about Populating a City about how many stat blocks a Storyteller would have to come up with. I think that's a lot of busy work that will largely never come up, a lot of wasted time that could be better used creating interesting relationships, plots, personalities, twists, and problems for your players. But I still like rolling dice! So let's talk about what I do instead.

This is a frustrating article to write. I am certain I had better resources than this, but I think that the system I use is a weird amalgam of the official books, Reddit advice threads, previous systems, and homebrew, and I haven't actually formalized it until this point. In particular, I'm going to shout out this thread on Reddit by u/CharsOwnRX-78-2 which catalyzed a lot of how I do this.

I first want to say that this method - and any method I use - will violate rules in character creation. I don't care. Character creation rules are for PLAYERS - the purpose, in my opinion, of a mechanical character creation method is to balance player characters within the Coterie. That is not your priority when creating antagonists. So I don't mind pulling pools out of a very simplified system.

To be clear - I'm not saying don't stat ANY SPCs. When you start rolling a lot for a given SPC (or when you know they will be actively opposing the PCs in a session), when they start being a key antagonist or very active ally, that's a great time to stat them. You rarely know who the players will focus on as their real rival or foe, or who will be their favourite. Do the work when you have to do the work and not before. My recommendation is, even then, to stat to the level of the simplified stat blocks, such as on page 370 (Antagonists) of the Vampire the Masquerade V5 Core Book, not to write up a full player character sheet.

But, by default, I use a quick statting system, that characterizes the SPC, and lets us build up something of a stat sheet for them without doing any work. We evolve the SPC as our needs for them change. Let's look in depth at the steps we'll take and I'll break this down into a nice, easy chart at the end of the article. There feels like lots of steps here, but using this I can choose a dice pool in real time, with no break in the game at all.

1. Classify this SPC

Ok, so we're rolling for this SPC that we didn't anticipate rolling a lot for and we need a dice pool. Who is this person? Let's rank their threat level, essentially by giving them a base dice pool for their normal activities. How good are they at most things in their day-to-day, whatever that looks like. Rank them from 1-5, with some examples for each:

  1. Not a threat - average mortal, just some random person
  2. A bit more - a newish ghoul; a trained, capable mortal
  3. Average threat - a neonate Kindred; other baseline supernaturals; Hunters; and trained SI agents
  4. High threat - ancillae; newer werewolves
  5. Extreme threat - elders; experienced werewolves
How much of a danger do you want this person to be? What makes sense in the world and in the story?

Take their threat level and multiply by 2 - that's their base dice pool.

2. Choose tracker values

By default, Willpower and Health are both 5. We'll then tweak based on the character and threat level:
  1. Consider reducing trackers by 1 total point
  2. Likely should remain 5/5
  3. Consider increasing trackers by 1 total point
  4. Consider increasing trackers by 2 total points
  5. Consider increasing trackers by 4 total points

3. Choose exceptional pools

Take their threat level and choose that many pools they are good at - and that half that many things they are bad at. Add 2 dice for a pool they they are good at, subtract 2 dice (minimum of 1) for a pool they are bad at. 

4. Special Powers

Some SPCs have special powers - Disciplines, Gifts, Spells, Rites, etc. If you're on the fly, grab a power that makes sense. Make the call - do they have Heightened Senses? Potence? Dominate? Just grab and go. I've got suggested ranges for number of total dots in the chart below, but when we're doing this off the cuff, we're only 'spending' the discipline dots that we need to right now. If their exact discipline spread is important, that means this isn't the tool for this situation and we need to at least get a simplified stat block built.

5. Vibe Check

Does this feel right? Feel free to add or subtract 1 dice to any pool. Or 1 point to any tracker. This also helps keep everything from being an even number - your players don't need to know you didn't stat this SPC, that they are doing something you haven't fully planned for.

6. Make a note

Write it down. I use Kumu for my Characters and Relationships, only going to a full sheet in Foundry when I fully stat. So I put down these decisions in my session log- threat level; trackers; exceptional pools (good and bad); powers; and specific pool decisions after the vibe checks. Then after the session I transfer over those notes into my Kumu character description. This helps me be consistent between sessions and to transfer those decisions over if I fully stat the SPC. 

7. Roll Those Dice

Rolling Dice is Fun! Let's roll that pool. On Foundry, I use the Special Dice Roller plugin, that let's me do V5 style dice rolls easily, including Hunger Dice.

Summary Chart

Threat LevelBase Dice PoolTracker TweakExceptional PoolsMaximum Dots
12 -1 to 01 good, 1 bad0
2402 good, 1 bad4
360 to 13 good, 1 bad7
480 to 24 good, 2 bad12
5100 to 45 good, 2 bad20

All Trackers start at 5 Willpower, 5 Health.
You can always increase or decrease any pool or tracker by 1 based on Vibes.
Don't forget to write down your decisions.
Kindred SPCs should have Hunger appropriate to the situation.

Thursday, October 16, 2025

Using Kumu for World of Darkness Relationship Maps

Relationships and Characters are the critical data for a World of Darkness Chronicle. They are the engine that makes the story run. But they are hard to keep track of at scale - Chronicles rapidly grow to dozens of SPCs when you've got a whole city to run.

I am a big proponent of Storyteller tools - I have a whole article on what I use. I started my most recent Chronicle with World Anvil, but I found keeping Storyteller Player Characters (SPCs) in World Anvil very difficult. The thing that matters most is the relationships between characters and that was hard to do in World Anvil.

So, I poked around and discovered that the standard tool people use is Kumu - https://kumu.io/ - it is free. The only thing on the paid tiers you might want is private projects, but if you don't want your players seeing your chart, just sign up with an account that isn't obviously you and name the project something you know but they don't - use a codeword or something. Then they can't accidentally run across it. I use private projects, but I don't feel they are necessary for most people.

Kumu is pretty awesome, but not exactly intuitive. It took me quite awhile to get things like I wanted them, so I'm sharing here. Let's set up a fake city's relationship chart - I'm making things up off the cuff here, so focus on the tool, not the level of creativity.

My settings are aimed at a Vampire Chronicle, but include some non-Vampire SPCs - if your Chronicle is a different splat or system, you can change or supplement this settings file to support your specific story.

Setting up your Kumu Account and a Kumu Chart

Go to Kumu.io and click Join for Free

  • Register a new account - choose a Username that your players won't know. Use something like a code name generator if you want - https://www.fantasynamegenerators.com/code-names.php - this is a lot cheaper than a private account. I'm using 'FormalHercules' for this
  • Create a new project - again, give it a non-obvious name - I'm using CuddlyLurker
  • Choose "Public (FREE)" and create in your workspace
  • Give your map a name - I just used the same one as the project - CuddlyLurker
  • Choose Stakeholder as your template
  • Go through the basic help popups to get to know Kumu

Installing My Map Settings

I have custom settings specifically for Vampire / World of Darkness chronicles. Click the Settings button:


Click Switch to Advanced Editor

Press the Copy button at the end of  the code below and paste it into the Advanced Editor, removing the boilerplate code that exists already. Make sure that Automatically apply changes is clicked and click Save on the You've made changes to this view.

@controls {
  top {
    filter {
      target: element;
      by: "tags";
      as: dropdown;
      placeholder: "Filter by Tags";
      multiple: true;
      default: show-all;
    }

    showcase {
      target: element;
      by: "tags";
      as: dropdown;
      placeholder: "Showcase by Tags";
      multiple: true;
      default: select-none;
      mode: normal;
    }
  }
}

@settings {
  template: custom;
  layout-gravity: 0.0003;
  layout-particle-charge: 350;
  connection-length: 150;
  connection-strength: 0.5;
  layout: force;
}

element {
  label: "{{label}}";
  size: 40;
  border-width: 4;
  shape: circle;
}

connection {
  direction: undirected;
  strength: 0.5;
}

.minor {
  size: 20;
}

.kindred {
  border-color: red;
}

.pc {
  border-color: #ff9999;
}

.mortal {
  border-color: green;
}

.warlock {
  border-color: purple;
  shape: square;
}

.werewolf {
  border-color: blue;
  shape: square;
}

.ghoul {
  border-color: #90ee90;
}

.dead {
  bullseye-color: #8B0000;
}

.ghost {
  bullseye-color: purple;
}

.camarilla {
  shape: octagon;
}

.anarch {
  shape: pentagon;
}

.sabbat {
  shape: hexagon;
}

.independent {
  shape: diamond;
}

.hunter {
  shape: square;
}

connection["label"*="Ghoul"] {
  color: #90ee90;
  strength: 0.8;
}

connection["label"*="Investig"] {
  strength: 0.2;
}

connection["label"="Coterie"] {
  color: #ff9999;
  strength: 1;
}

connection["label"*="Sire"] {
  color: #540304;
}

connection["label"*="Touchstone"] {
  color: #cc0eb9;
  strength: 1;
}

connection["label"*="Court Oath"] {
  color: #888c07;
}


If you see any red Syntax Errors, make sure that you have properly copy and pasted everything from the code - it should start with controls { and end with }. 
If everything worked correctly, you can close the Settings (by clicking the Settings button a second time) and you should see two new dropdowns at the top of the main map - "Filter by Tags" and "Showcase by Tags". Neither will do anything (until we have some data) but their presence shows that we're ready to enter some characters!

Entering Characters into our Map

Let's add some characters. Let's consider a small Chronicle (this tool supports quite large Chronicles - my current story with this tool has nearly 100 PCs and SPCs included, but this is just a sample):
PCs (all Kindred):
  • Mary, Anarch, Brujah
  • Priya, Anarch, Tremere
  • Bob, Anarch,Toreador
  • Fred, Anarch, Malkavian
And some SPCs (Kindred with 2 Werewolves, plus some Ghouls and a few Touchstones), with some relationships:
  • Rocco, Camarilla Brujah, Emissary, Mary's Sire
  • Silas, Anarch Malkavian, Neonate, Fred's Sire
  • Jeremiah, Anarch Ventrue, Sweeper
  • Lil, Anarch Toreador, Baron, Bob's Sire
  • Elijah, Anarch Ministry, Cult Priest
  • Gutter, Anarch Nosferatu, Neonate
  • Bart, Anarch Banu Haqim, Neonate
  • Samael, Sabbat Tzimisce, Infiltrator, Targeting to assassinate Jeremiah
  • Saskia, Shadow Lords, Pack member, Killed by Elijah
  • Alistair, Bone Gnawers, Pack member
  • Zeke, Mary's Touchstone and Ghoul
  • Lisa, Bob's Touchstone
  • Arnold, Bob's Ghoul
We'll start with the PC Coterie, picking, arbitrarily, Mary (the order you enter characters does not matter, Kumu will arrange them based on the relationships and the tags you give them).

Click the green Plus at the bottom of the screen, then Add element. (Maps have two major components - Elements, which are the Characters, and Connections, which are the Relationships between those characters).


Type "Mary" and press Enter

Mary will open up on the left hand side of the screen. We can type a description by clicking 'Add Description' and typing it in. We can also upload a picture for her by clicking the Camera. And add Tags by choosing Add Tag. These are the three primary capabilities that we want for our Characters. 


We will give her a picture (here I've taken it from a free use image from pexels.com). We will add a description (I normally include physical descriptions, backgrounds, etc - for PCs I include all sorts of things, including their provided background.) I do not include a character sheet - I store that in Foundry, for those characters that are fully statted out. For SPCs, I will include catch phrases, things that might help bring them alive, but I don't include all their plots - I run a separate plot document for that. 

We also include Tags, which are basically the important elements of her. Her clan, her supernatural status, her Sect, whatever. Some Tags have special properties in our Kumu settings that we added, which make them show up differently. By default, characters have a black outline and their shape is a circle. The special tags are:
  • Minor - Indicates this is a minor character, makes the character smaller in the map
  • Kindred - Indicates a Kindred, makes their outline red
  • PC - Indicates this is a PC, makes their outline a salmon colour
  • Mortal - Indicates this is a Mortal, makes their outline green
  • Warlock - Indicates a Mage or a Sorcerer, makes their outline purple and the shape a square
  • Werewolf - Indicates a Werewolf or Garou, makes their outline blue and the shape a square
  • Ghoul - Indicates a Ghoul, makes their outline light green
  • Dead - Indicates the character is dead, puts a dark red 'bullseye' on the middle of their shape
  • Ghost - Indicates the character is dead, but is a ghost or Wraith, puts a purple 'bullseye' on the middle of their shape
  • Camarilla - Indicates the character is aligned with the Camarilla, makes their shape an octagon
  • Anarch - Indicates the character is aligned with the Anarchs, makes their shape a pentagon
  • Sabbat - Indicates the character is aligned with the Sabbat, makes their shape a hexagon
  • Independent - Indicates the character is unaligned, makes their shape a diamond
  • Hunter - Indicates the character is a Hunter, makes their shape a square
You can customize these tags, adding more or changing them, by editing the code in the Settings. Instructions for doings so is beyond the scope of this instructions, but the Kumu docs have information on available shapes and syntax. The key thing to remember is that the last instruction in the file takes precedence, so if multiple things are changing shape or colour, the last one prevails - that is the reason for the somewhat odd ordering of the Tags in the above list. Let's consider Mary:


She has 'Kindred', which marks her as a Vampire and makes her border colour red. This is overridden by her 'PC' tag, which turns it Salmon, instead, marking the PCs in the Chronicle as different than the other vampires. She has Anarch, which changes her shape to a Pentagon, and Brujah, which has no effect on her visually, but makes it available for filtering and makes it visible on the character information. 

You will notice when adding tags that the first time you have to type the entire tag in and that for future characters, any tags that have been assigned to previous characters are available to chose. Case does not matter with tags, but they do need to be exact. You can add any other arbitrary tags to indicate alliances, coteries, or anything else that might matter, but only the tags above currently influence appearance.

Let's add some more characters. The easiest way to add a character with a relationship to an existing character is to click on the existing character, in this case Mary, and press C. Alternatively, you can hit the Green Plus at the bottom of the screen and choose Add connection. You'll be prompted to choose the two characters you want to connect. In this case, Mary and the next PC Priya. 

 

Once we have Priya open, we'll go ahead and all her information. We then need to define the relationship for the two. We click on the line that goes between the two characters.


When we click on that line, we are presented with an edit window on the left for the relationship with those two characters. Relationships can have tags, same as Characters, but I don't use the tags. Instead, I modify the relationship based on the name. This just seems to work better for me. 


You can see that the Coterie name on the Relationship set the colour of the relationship to the same salmon colour that the PCs have. The name is searched for letters that match specific patterns. Words that have meaning are:
  • Ghoul - makes the connection colour light green and makes it stronger than default, which tends to keep ghouls closer to their regent
  • Coterie - makes the connection colour salmon and keeps the Coterie mates close together
  • Sire - makes the connection colour dark red
  • Touchstone - makes the connection colour purple and makes it even stronger, which tends to keep touchstones close to the characters they are touchstones for
I will go ahead and add the rest of the characters to the relationship map, so we can highlight various aspects of the relationship map that gets built.

The Relationship Map will jump around while connections are being built. There are random elements to the way Kumu structures and lays out the map, so refreshing the web page can update how things are laid out. The Zoom Fit button on the top right can also be helpful. After entering all the characters and their relationships (I recommend at least two relationships per character), I get the following:


Let's looked at a zoomed in section and what we can see:


We can see two members of the Coterie - whose Relationship is coloured salmon because of the Coterie name. We can see they are PCs because of their salmon coloured border. We can see that Alistair and Saskia are Werewolves, because of their blue square borders. That Zeke is a Ghoul, and that his relationship with Mary is one that is a Touchstone shown in purple (which is more important than the Ghoul relationship) that is also indicated. We see that Priya, Mary, Jememiah, Elijah are all Anarch Kindred, with Samael Sabbat and Rocco Camarilla. We see the dark red Sire relationships - Lil being Bob's sire and Rocco being Mary's. We see Saskia is dead - her face obscured by a bullseye. And we see all the other relationships between the characters that we might want to add. 

The Relationship Map In Action

Ok, so we've got all this fabulous information and all these Characters and Relationships. How do I use it?

We can filter or showcase - where are my Ghouls? Here I've used the 'Showcase' functionality at the top of the screen to focus on anyone with a Ghoul tag.

We can search for names:



We can focus on specific characters, by long clicking on that character. Here is a search for Lil, followed by a long click on her:
Long clicking on any person in the zoomed in map adds their relationships as well. Pressing Escape returns us to the main map. 

There is a table view of Characters that can be very useful to ensure tags are correct. Click the Table button in the bottom right.


This Table view shows all of the Elements (Characters) in the Map, with their Tags


Press Back to Map to return.

Efficiency

If you have an existing Chronicle or you have a large number of characters that already exist, you can import the basic information through Excel sheets or comma delimited files or other import capabilities. This is beyond the scope of this Article, Kumu has excellent documentation on using those capabilities.

Conclusion

Hopefully this article will help you use Kumu in your game. I depend on it to check myself, for it to be my memory, paired with my Plot document and my Session logs. Kumu makes a big difference in my game. I'm going to conclude with a overview view of my Chronicle's relationship map - at time of writing and of this image, there are 94 characters and 183 relationships shown in this map.