Using PlantUML to Model RPG Relationship Maps

Leveraging Open Source Software for RPGs

For our Burning Locusts series, the game facilitator wrote the campaign’s relationship graph in dot notation: a text format for representing relationships. See Graphviz) for more details on dot notation.

In years past, I used dot notation. I used dot notation to make the diagrams for .

I decided to write up a relationship diagram using PlantUML: an open-source tool allowing users to create diagrams from a plain text language. See PlantUML for more details.

These days, I prefer PlantUML as it’s intergrated with Org-mode 📖.

Below I have both the diagram’s source and a png rendering. I chose to render using the amiga theme.

Source and Rendering

PlantUML source for The Mistimed Scroll relationship diagram

!theme amiga

'PCs (using the "actor" node)
actor Cloak as cloak
actor Soliana as soliana
actor Keth as keth

'NPCs (using the "actor/" node)
actor/ Tondilo as tondilo
actor/ Gwynn as gwynn
actor/ Vars as vars
actor/ Sollar as sollar

'Factions (using the "cloud" node)
cloud house_jorasco as "House Jorasco"
cloud house_deneith as "House Deneith"
cloud house_tharashk as "House Tharash"

frame "New Cyre" as new_cyre {
  actor/ "Prince Oargev" as prince_o

entity "The\nScroll" as scroll

cloak <-l-> tondilo   : "friends*"
cloak -d-> scroll    : "possesses"
soliana -d-> scroll  : "knows about"
soliana <-l-> tondilo : "friends"
soliana <--> gwynn   : "healed*"
soliana <--> sollar  : "siblings*"
keth <--> vars       : "coworkers*"
cloak <--> vars      : "shot"

house_jorasco --> vars : "tending to"
gwynn --> house_deneith : "works for"
keth --> house_tharashk : "works for"
vars --> house_tharashk : "works for"