Vornheiming Middenheim XIV: Procedural NPC Relationship Map Generation


[Don't forget about the Dungeon Dozen Adventure Contest]

So, given my thoughts the other day about situation-based adventures, I decided that a simple chart for "what's the nature of this relationship" wasn't enough on its own for what I had in mind for NPC relationship generation.  While the right-most column of the powers that be chart can be used for anybody, I wanted some relationship qualifiers that were a little more open-ended so they can mesh with the imagination fuel of the NPC generator.  I also figured that it would be useful to have a procedural way to generate a complex relationship map all at once, for designing adventures and the like.

I should point out that the NPC relationship diagram in Vornheim is fantastic for quickly getting probably all of the intrigue you really need, especially for doing it on the fly. This relationship method is more prep than it is at the table, which goes a bit against the principles I've been following, but the pieces can be used spontaneously, so I think it'll work out okay.

Unfortunately, I'm still working on the actual instructions to make them both sensible and concise.  For this entry, I've done an example, but I don't want a lengthy example in the final version, so any input on what the example conveys that is not in the instructions, or even more importantly, what isn't clear from either, would be useful.

One issue with attempting to create a map like this is that networks grow exponentially, so while it may be satisfying for each character to have 3 or 4 connections, this can quickly get out of control.  I've ameliorated this two ways: 1) as you get further away from your start point, you reduce the number of connections created, and 2) there's a significant chance that each "new" connection is actually a connection with an existing NPC.  I ended up settling on a base number of connections of 2d2, after 2d3 ended up skewing towards rather a lot of connections.  I paired that with a 50% chance of connecting to an existing NPC instead of a new one.  If you want to create more connections, you have a few options: 1) Just make whatever new connections and NPCs you damn well please (duh), 2) Pick a new "starting" NPC already on the map, and begin the procedure anew, or 3) adjust the default number of connections and/or the chance of connecting to an existing character.  You could go to 2d3 or 1d6 or something but then have a 75% chance of connecting to existing characters if you want more of a web, or you could keep 2d2 but reduce the chance of connecting to existing characters to 25% or even zero if you want a more ramified map.

My hope is that this is pretty modular, and you can use it as a whole to create a new adventure, or you can just create a few connections and their nature to flesh out an existing NPC, or something in-between.  I figure if you want to go all-out to make a complex web of intrigue and complications, you could use the intrigue generator, and then take an NPC from each party of the intrigue and generate a map from each of them, preferably one that links up so they're both connected in someway besides the intrigue indicated, even if tenuously.  I think when all of the pieces are finished, but before I compile a .pdf, I might cook up an adventure using the methods here as a proof of concept.

I also broke down and made a d100 chart of careers.  I figure the most WFRP of concepts deserves inclusion here, and it can serve as my token use of the most WFRP of dice, the d100.  Dwarf and Elf specific careers, as well as nautical and some woodsy careers have been eliminated to make it more suitable for a landlocked human city and for use with my all-human NPC rules.

The procedure and example are below the break. (As a public service announcement rolz.org seems to have terrible randomization - I should have gone to the other room and gotten my real dice).




Relationships

To create or expand an NPC relationship map:
  1. Create or Choose an NPC as a starting point. Draw a circle with their name in it
  2. Beginning with the starting NPC, and again for each NPC on the map, do the following:
    1. Roll 2d3 - current degree of separation from starting NPC for number of  new connections.  No NPC should have more than 6 connections total
    2. Each connection generated in part a. has a 50% chance to connect to an NPC already on the relationship map, if any are available. Draw a line from this NPC to a randomly determined existing NPC if this is the case. If a connection already exists between the two NPCs, the nature of that relationship is now considered mutal if it was not already
    3. For any connections generated in part a. that were determined not to connect to an NPC already on the relationship map, create a new NPC and draw a line connecting the current NPC to the newly created NPC
    4. Determine the nature of each connection. If relationship is one-way, the current NPC feels that way towards those NPCs connected in part c.
  3. Continue repeating step 2 until you either have a sufficiently complex map or all NPCs on the relationship map have gone through step 2

Nature of Relationship
D20Relationship
1Business
2Blackmail
3Immediate family
4Distant Relative
5Crime
6Debt
7Lust
8Disgust
9Friendship
10Love
11Control
12Politics
13Jealousy
14Suspicion
15Rivalry
16Fear
17Hate
18Treachery
19Extortion
20Grudge



Example

1. Starting NPC
Pankratz Schuster An Imperial young male thief that is haughtily obese in his pursuit of religion, who happens to be honest.


2. Pankratz Schuster (Initial NPC)
a. 2d2 - 0 = 2 Connections
b.  No established NPCs, so both connections go to new people
c. 

  • Friedrica Berg - A Middenlander old female pharmacist that is comically crazed in her pursuit of intrigue, who happens to be missing a body part
  • Allane Delfholter -  An Imperial old female lawyer that is cringingly beshitten in her pursuit of gluttony, who happens to suffer from madness 
d.  Pankratz Schuster --> Friedrica Berg: Lust
     Pankratz Schuster --> Allane Delfholter: Love



2.  Friedrica Berg
a. 2d2 - 1 = 1 connections
b. Test each connection - roll 53 so connection is to a new NPC
c. One connection to a new character
  • Hanna Ferlangener - A Middenheimer old female demagogue that is drunkenly diseased in her pursuit of power, who happens to be a chaos cultist
d.  Friedrica Berg --> Hanna Ferlangener: Lust



2. Allane Delfholter
a. 2d2 - 1 = 3
b. Test each connection - roll 27, 69, 99, 1 connections is randomly determined to be with Hanna Ferlangener
c. Two New Connections
  • Mina Wilricus - A Middenlander young female that is cringingly crazed in her pursuit of viciousness, who happens to be honest
  • Hanusch Ripertus - An Imperial male woodsman that is haughtily shabby in his pursuit of fame, who happens to have a gourmet palate
d.  Allane Delfholter --> Hanna Ferlangener: Fear
     Allane Delfholter --> Mina Wilricus: Lust
     Allane Delfholter <--> Hanusch Ripertus: Politics



2. Hanna Ferlangener
a. 2d2 - 2 = 1
b. Test each connection - roll 85 - New connection
c. One new connection
  • Femeke Siffridus - A Middenheimer young female slaver that is comically shabby in her pursuit of lust, who happens to have a distinctive speech pattern
d.  Hanna Ferlangener --> Femeke Siffridus: Hate



2. Hanusch Ripertus
a. 2d2 - 2 = 1
b. Test each connection - roll 3, existing connection randomly determined to be Allane Delfholter, so no more connections
c. No new connections
d. Hanusch Ripertus <--> Allane Delfholter: Politics

2. Mina Wilricus
a. 2d2 - 2 = 1
b. Test each connection - roll 100, new connection
c. One New Connection
  • Elmeric Grefter - A Middenheimer old male bodyguard that is sarcastically shabby in his pursuit of lust, who happens to be decent
d.  Mina Wilricus --> Elmeric Grefter: Treachery



2. Femeke Siffridus
a. 2d2-3 = 0
b. No new connections
c. No new connections
d. No new connections

2. Elmeric Grefter
a. 2d2-3 = 0
b. No new connections
c. No new connections
d. No new Connections

The Final Relationship Map

Careers

D100Career
1Agitator
2Alchemist
3Alchemists Apprentice
4Artillerist
5Artisan
6Artisans Apprentice
7Assassin
8Bawd
9Beggar
10Boatman
11Bodyguard
12Bounty Hunter
13Bunko Artist
14Buyer
15Charlatan
16Civil Servant
17Cleric
18Coachman
19Counterfeiter
20Demagogue
21Demonologist
22Drunk
23Duellist
24Elementalist
25Engineer
26Entertainer
27Exciseman
28Fence
29Footpad
30Forger
31Freelance
32Gambler
33Gang Member
34Grave Robber
35Gunner
36Herbalist
37Herdsman
38Highwayman
39Hypnotist
49Illusionist
41Initiate Priest
42Jailer
43Judicial Champion
44Labourer
45Lackey
46Lawyer
47Mercenary
48Merchant
49Militiaman
50Minstrel
51Muleskinner
52Necromancer
53Noble
54Outlaw
55Outlaw Chief
56Outrider
57Park Keeper
58Pedlar
59Pharmacist
60Physician
61Physician's Apprentice
62Pick Pocket
63Pilgrim
64Pit Fighter
65Professional Mourner
66Prospector
67Protagonist
68Racketeer
69Raconteur
70Rake
71Rat Catcher
72Road Warden
73Runner
74Rustler
75Sapper
76Scholar
77Scout
78Scribe
79Seer
80Servant
81Slaver
82Smuggler
83Soldier
84Spy
85Squire
86Student
87Targeteer
88Templar
89Thief
90Thug
91Toll Keeper
92Tomb Robber
93Torturer
94Trader
95Trapper
96Watchman
97Witchhunter
98Wizard
99Wizard's Apprentice
100Woodsman