TTRPG Relationship Mapping with

TTRPG Relationship Mapping with

Last weekend our Coyote & Crow campaign met for a session zero, to discuss themes and palette, lines and veils, and begin character creation.

I was surprised and delighted when one of the players followed up, less than a day later, with a penciled out family tree for her character! We went back and forth a little to ensure consilience with some characters I hadn't shared yet, and then I converted the family tree into a network diagram on

While the tool has some limitations, for campaign management in roleplaying games that are heavily social-network based or have major political factionalism, it is immensely useful.

You might make each element a character, as I have. Connections between characters therefore imply relationships. These can be directed or undirected, the former being perfect when there's an asymmetry in the relationship. Each element and connection has a description where you can put miscellaneous information that doesn't fit elsewhere.

However, you can also create your own key/value pairs, and then make designs that utilize them intelligently! In the Vampire: the Masquerade campaign I previously used Kumu for, it would change the element color based on whether the character was aligned with the Camarilla, the Sabbat, or unaligned, and it would generate an icon of the relevant clan based off of the clan value.

For Coyote & Crow, we're looking more at questions of family, tribe, nation, and path, but for the family tree above I added Generation as a numeric field. By doing so, it allowed me to intelligently color the characters along a gradient based off of what generation they were a part of, overriding it only in cases where the character was dead or missing. I also added the age value to the visible label. Here's the example code from the advanced editor:

@settings {
element["element type"="Person"] {
  color: scale("generation", #776db3, #f6553c);

/* Deceased */
element["status"="Deceased"] {
  color: #000000;
  shape: diamond;

/* Missing */
element["status"="Missing"] {
  color: #a7a7a7;
  shape: pentagon;

element {
    label: "{{Label}}, {{Age}}";

If not, what tools do you use for mapping and tracking relationships in roleplaying campaigns?

Jordan Peacock

Jordan Peacock