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:
- Openness - how open a person is to new ideas, and how curious they are
- Conscientiousness - how diligent and attentive to details a person is
- Extraverison - how interested they are in interacting with other people
- Agreeableness - how "nice" a person is
- Neurotisism - how moody, irritable, and prone to depression and nervousness 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:
- Openness
- Conscientiousness
- Extraversion
- Agreeableness
- Neurotisism
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:
- Openness
- Conscientiousness
- Extraversion
- Agreeableness
- Neuroticism
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:
- 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.
- 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.
- 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.
- 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.
- We formulate the question as "Is the NPC open to this new idea".
- 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:
- We look through the traits to find the most suitable one for this Personality test, and we decide that it's Agreeableness.
- We formulate the question as "Is the NPC agreeable to help".
- 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.
- We decide that Neurotisism is most suitable for testing how daring the character is.
- 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.
- 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.