NPC Generator

NPCs are the lifeblood of most TTRPG campaigns. If you ask players what their favorite part of a past campaign were, they will often bring up specific, memorable NPCs.

However, creating NPCs is not always easy. This fairfly involved generator will hopefully help. It allows you to generate the personality, looks, and goals of an NPC.

Personality

In real world psychology, there are five character traits which are known as the Big Five personality traits. To simplify things a little bit, they are:

These traits are sometimes referred to as "OCEAN" from the first letter of each word. This generator will give you a value from 1 to 7 for each of them, as well as a descriptive word for each of them. For example, an NPC with a low Extroverted value of 2 out of 7 could end up with any of reserved, shy, introspective, or independent as their Extroverted descriptor.

Step 1: Generate OCEAN values

Roll 1d8 (rerolling any 8s) for each of the following and make a note of the results:

Once you're done, you should have a value from 1 to 7 of each of them. At the end of this article, there's an explanation of how these values can be used in play.

Step 2: Roll for five personality descriptors

The next step is to roll a 1d4 for a personality descriptor for each of the five OCEAN traits. For example, if the NPC got a 5 for Openness in Step 1 above, then you should roll a 1d4 in the column labeled "Openness 5" in the Openness table below, and so on.

Once you're done, you should have one descriptor ("flexible", "practical", "honest", and so on) for each of the five OCEAN personality traits.

Openness descriptors

Num Openness 1 Openness 2 Openness 3 Openness 4 Openness 5 Openness 6 Openness 7
1 Authoritarian Inflexible Dogmatic Skeptical Unbiased Philosophical Tolerant
2 Intolerant Pessimistic Conservative Resistant Receptive Flexible Progressive
3 Cynical Hard-headed Stubborn Realistic Open-minded Creative Optimistic
4 Narrow-minded Prejudiced Traditional Pragmatic Curious Inquisitive Adventurous

Conscientiousness descriptors

Num Consc. 1 Consc. 2 Consc. 3 Consc. 4 Consc. 5 Consc. 6 Consc. 7
1 Negligent Hedonistic Procrastinating Distracted Punctual Disciplined Ambitious
2 Irresponsible Impulsive Impatient Casual Patient Thorough Persevering
3 Careless Disorganized Unorganized Practical Responsible Efficient Methodical
4 Lazy Unreliable Indecisive Diligent Dependable Goal-oriented Perfectionist

Extraversion descriptors

Num Extrov. 1 Extrov. 2 Extrov. 3 Extrov. 4 Extrov. 5 Extrov. 6 Extrov. 7
1 Solitary Reserved Submissive Aloof Outgoing Jovial Energetic
2 Reclusive Shy Reflective Contemplative Sociable Cheerful Passionate
3 Private Introspective Quiet Ambivert Expressive Listener Flamboyant
4 Withdrawn Independent Serious Easy-going Lively Bubbly Flirtatious

Agreeableness descriptors

Num Agree. 1 Agree. 2 Agree. 3 Agree. 4 Agree. 5 Agree. 6 Agree. 7
1 Cruel Selfish Rude Arrogant Cooperative Kind Humorous
2 Greedy Boastful Sarcastic Argumentative Trusting Caring Forgiving
3 Deceptive Jealous Vain Polite Honest Compassionate Charming
4 Manipulative Cynical Competitive Diplomatic Loyal Generous Altruistic

Neurotisism descriptors

Num Neuro. 1 Neuro. 2 Neuro. 3 Neuro. 4 Neuro. 5 Neuro. 6 Neuro. 7
1 Serene Grounded Confident Relaxed Wary Sensitive Insecure
2 Stoic Calm Focused Concerned Tense Irritable Self-critical
3 Hardy Adaptable Stable Restless Anxious Moody Depressed
4 Poised Sensible Resilient Fickle Vulnerable Nervous Panicky

Agenda

You can also generate an agenda for the NPC - something they want to accomplish. Or you can make more than one, if you wish. This can be a long or short term goal for the NPC, as you see fit.

Roll 1d20 in each of the Goal, Focus, and Obstacle columns in the following table.

1d20 Goal Focus Obstacle
1 Aquire Adversary Alliance
2 Avenge Artefact Conflict
3 Betray Beast Conflicting interests
4 Conceal Child Criminal past
5 Conquer Enemy Distance
6 Destroy Idea Duty
7 Discover Knowledge Family
8 Escape Location Forbidden love
9 Expand Love Health
10 Explore Neighbor Honor
11 Gather NPC Hostility
12 Glorify Parent Lack of information
13 Infiltrate PC Lack of resources
14 Lead Relationship Law
15 Learn Relative Love
16 Oppose Revenge Mysterious circumstances
17 Prevent Reward Oath
18 Reconcile Ruler Opposing faction
19 Restore Structure Pursuers
20 Worship Wealth Time

Let's try this, to see how it works. If you roll 12, 5, and 15, you end up with a goal of Glorify, a focus of Enemy, and an obstacle of Love, or Glorify / Enemy / Love for short. Now it's up to you to determine what this means. Hmm - let's see; glorify enemy? That sounds weird. Why would someone want to glorify an enemy? Well, perhaps this NPC is part of a faction (let's say a religious order) which is in conflict with another faction (let's say a band of mercenaries). Perhaps this band of mercenaries has paid the NPC to betray their own religious order by trying to convince its leader that a the leader of the mercenary band is in fact a good person (to "glorify" this person)? Okay, that works. But what about the obstacle - "love"? Oh, I know! The NPC is secretly in love with the leader of the mercenary band! That's probably why they were willing to betray their own religious order for their sake.

Appearance

Now, we're done with the more complex parts. Next, it's time to generate the appearance of the NPC, which is a bit more straight forward.

Height

Roll 1d20 to generate the NPC's height. Keep in mind that the result is in relation to the average height of the NPC's species, ancestry, heritage, or whatever it's called in the game you're plaing.

1d20 Height
1 Very short
2-3 Short
4-7 Somewhat short
8-13 Average
14-17 Somewhat tall
18-19 Tall
20 Very tall

Optional - Size

If you want to, you can also roll 1d20 for the NPC's size (or weight). In most cases, this is not relevant. The size mod is used in the next section.

1d20 Size Size mod
1 Very small -3
2-3 Small -2
4-7 Somewhat small -1
8-13 Average 0
14-17 Somewhat large +1
18-19 Large +2
20 Very large +3

Particularly optional - Chest, waist, bottom (NSFW)

This section touches on a very sensitive topic, and is only intended for potentially romantic plots in solo games. If this is not your thing, just skip this section.

For each one of chest, waist, and bottom, roll 2d4 and add the Size mod from the Size table above.

2d4+size mod Size
1- Extremely small
2 Very small
3 Small
4 Somewhat small
5 Average
6 Somewhat large
7 Large
8 Very large
9+ Extremely large

You can interpret chest, waist, and bottom to mean anything you like related to the anatomy of the NPC, regardless of gender. Obviously, you don't have to call them specifically that either - make up whatever categories best fit in your case.

Eye color

Roll 1d10 for the NPC's eye color.

1d10 Eye color
1-2 Light blue
3-4 Blue
5 Grey
6-7 Brown
8-9 Dark brown
10 Green

Skin color

This table is perhaps mostly relevant for human NPCs. Feel free to make your own version which matches the demographics of your world.

1d8 Skin color Notes
1-5 Western
6-7 African Dark hair only
8 Asian Dark hair only

Hair

This section is obviously only relevant for NPCs which have human-like hair. Lizardfolk and the like probably don't have hair, and catfolk have fur rather than hair, etc.

Hair color

1d10 Hair color
1-2 Blonde
3-5 Brown
6-7 Auburn
8 Red
9-10 Dark

Hair length

1d6 Hair length
1-2 Short
3 Shoulder length
4-5 Long
6 Very long

Long hair style

Only relevant if the hair length is long, or very long.

1d10 Long hair style
1-2 Loose
3-4 Pony tail
5 Bun
6-7 Braided
8-9 Half-up, half-down
10 Dreadlocks

Facial hair

1d12 Facial hair
1-5 None
6-7 Beard
8 Mustache
9-10 Sideburns
11 Mutton chops
12 Goatee

Special features

This section can be used to roll once or twice to give the NPCs some sort of special features.

1d20 Feature
1 Facial scar
2 Facial birth mark
3 Piercings
4 Tattoos
5 Prominent nose
6 Distinctive eyebrows
7 Freckles
8 Thin lips
9 Full lips
10 High cheekbones
11 Round face
12 Piercing gaze
13 Wide nose
14 Protruding ears
15 Cleft chin
16 Deep dimples
17 Pockmarked skin
18 Square jaw
19 Missing tooth
20 Broken/misshaped nose

How to use the OCEAN values

Your NPC now has values from 1 to 7 for each of the OCEAN traits, generated in the first part of this article. Again, they are as follows:

You can use these values to make Personality rolls with a 1d8.

Personality rolls

To find out how an NPC will act or react to something, use the following procedure:

  1. Decide which personality trait best fits what you're trying to find out. For example, if you want to know if the NPC wants to talk with the players, then NPC's Extraversion is probably the best trait to use.
  2. Formulate a yes/no question such that it includes the name of the trait. For example, "Is the NPC conscientious about their plans" is good because it includes a variation of the word "conscientiousness". However, "Is the NPC sloppy about their plans" is bad, since it does not include "conscientiousness", and "sloppy" is the reverse of conscientious, so you'd end up with the opposite result.
  3. Roll 1d8. If the result is less than or equal to the NPC's trait value, then the answer to the question is "yes", otherwise it is "no".
    • If you want to, you can allow the trait value to be temporarily modified for a particular roll. For example, you might want the party's relationship status, or the outcome of a Persuasion roll affect it, increasing or decreasing the probability of a positive answer.

Personality roll examples

Let's say the PCs (player characters) are suggesting a new idea of how to tackle a problem to an NPC. They suggest that they should try to enter the enemy's castle through the sewers. This is a new idea, and we want to know what the NPC thinks of it.

  1. We look through the traits to figure out which one is most suitable for such a test, and we realize it is Openness, since Openness includes how curious and open you are to new ideas.
  2. We formulate the question as "Is the NPC open to this new idea".
  3. The NPC has an Openness value of 5 (a bit higher than the average of four). We roll 1d8 and get 3. This is less than, or equal to the NPC's Openness value of 5, therefore the NPC answer is yes - the NPC is open to this idea.

Good! Now we know the NPC is interested in the idea. In most cases, this is probably enough and you can let play proceed from there. But if you really want to dig into the details, you can make more rolls.

You can now decide if the NPC is also willing to help the party with this plan. Again, we go through the same procedure:

  1. We look through the traits to find the most suitable one for this Personality test, and we decide that it's Agreeableness.
  2. We formulate the question as "Is the NPC agreeable to help".
  3. The NPC has an Agreeableness value of 3. Since the NPC is a friend of the PCs, we can bump this value up to 4 for this roll only. We roll a 1d8, get a 2, and compare this to the NPC's (bumped) value of 4. Since the result of 2 is lower than or equal to 4, the answer is yes - the NPC is agrees to help.

For the purposes of demonstration, let's make one more roll. We now want to know if the NPC dares to come along through the sewers, or if they decide to help through some other ways, perhaps by finding the plans to the sewers.

  1. We decide that Neurotisism is most suitable for testing how daring the character is.
  2. We formulate the question as "Is the NPC neurotic (read: afraid) about coming along". Now we have to keep in mind that we have to word the question as "is the NPC neurotic" rather than "is the NPC daring", since the personality trait is Neuroticism, not Daring.
  3. The NPC has a Neurotisism value of 5, meaning that they are slightly more neurotic than the average person. So we roll 1d8 and get a 1. This means that the answer is "Yes, the NPC is neurotic/afraid of coming along". Note though that this doesn't necessarily mean that they won't come along - it only means that they are scared to come along. You can chose to let the NPC roll a Wisdom save or similar to overcome their fear.

As you can see, you can basically make this as complex as you want. In group play, where you have players waiting around the table to hear what the NPC will do, I don't recommend using this system to this level of detail. In solo games though, things are different. There you do whatever you like - nobody else is waiting for you, so take as much (or little) time as you want with this.