Evolving NPC Personality and Love System
The purpose of this system is to create personality for NPCs, primarily for solo play and an optional mechanic for letting such NPCs fall in love with PCs (it is assumed that the player decides if their PC falls in love). If the love and romance aspect is of no interest to you, you can still use the system as a way of getting to know NPCs through interactions. It is system and setting agnostic, so feel free to use it with any game you want. This system is based on the personality aspects of my NPC Generator.
You should also know that I have a more recent alternative to this article - the D12 Friendship and Romance System. That one is easier to use and has a bit more content (some of which is reused from this one). However, it contains nothing regarding the personality of the NPCs.
Background to the love aspect
In some traditional computer dating games, the mechanic by which NPCs fall in love with the PC is that the player tries to find out what the NPCs like, and then gives that to them. In games like Stardew Valley, this often takes the form of figuring out what your NPC love interest's favorite object is, and then giving them a bunch of that object until they fall in love with you (yeah, it makes no sense to me either). In other games, you figure out what type of partner your love interest prefers and then you pretend to be that kind of partner (rather than just be yourself) in order to trick the NPC to fall in love with you. This is also highly questionable, and sends really strange messages to inexperienced young players about what love is and how relationships work.
How this system is different
This system is different. The falling in love aspect of this personality system is completely optional but if you do want to use it, it's based on finding someone you're compatible with rather than trying to get into everyone's pants. It is based on five real world personality aspects which define characters. You define the personality of your PC(s) as you see fit using this system, and the personalities of NPCs you come into contact with will gradually evolve randomly as you interact with them. If your personalities happen to be compatible, then love can happen - but it can't be forced.
The evolving personality system
If you've read my NPC Generator, then you will recognize the system. To define a personality, you have to set values from 1 to 7 for five different personality aspects:
- Openness: How open and curious you are.
- Conscientiousness: How careful and diligent you are.
- Extraversion: How interested you are in interacting with other people.
- Agreeableness: How "nice" or benevolent you are.
- Neuroticism: How worried or prone to moodiness or depression you are.
Meeting an NPC for the first time
The NPCs' personality aspect values will not be known to you until your PC(s) have interacted with them for a bit (because you don't generate those numbers until then). One by one, those five numbers will be revealed as PCs and NPCs get to know each other.
When you meet a new NPC, prepare a simple personality sheet for them, but don't add any numbers or descriptors to them yet.
Interacting with NPCs - Personality rolls
Once a PC and an NPC have interacted with each other for some time, it's time to make a Personality roll. How often this should be done is up to you, but I'd recommend not rolling more than once (for a specific NPC) every 20 real world minutes, and only after the PC and NPC in question have had time to interact meaningfully.
How to make a Personality roll
- Roll 1d6 to figure out which aspect of the NPC's personality you've
learned about.
- Openness
- Conscientiousness
- Extraversion
- Agreeableness
- Neuroticism
- If your roll a 6, you can pick which one you want.
- If you roll an aspect that you've already learned about, just pick the next one on the list (wrapping back to number 1 if necessary).
- Now that you know which aspect you're getting to know, roll 1d20 on the table below.
| 1d20 | Result |
|---|---|
| 1-3 | Agenda revealed |
| 4-5 | 1 |
| 6-7 | 2 |
| 8-9 | 3 |
| 10-11 | 4 |
| 12-13 | 5 |
| 14-15 | 6 |
| 16-17 | 7 |
| 18-20 | Perfect match |
- If you got a value from 1 to 7, then write it down on the NPC's personality sheet.
- If you got a "Perfect match", then the NPC's value matches that of your PC - write it down on the NPC's personality sheet.
- However, if you got a result of Agenda revealed, then that means you have learned something about what the NPC wants; make a roll on the Agenda table below.
Agenda rolls
To make an Agenda roll (for example, if you got a result of "Agenda revealed" on a Personality roll), then roll for Goal, Focus, and Obstacle on the following table:
| 1d20 | Goal | Focus | Obstacle |
|---|---|---|---|
| 1 | Acquire | 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 | Other 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 |
If you got the result of "Other NPC" as the Focus, then randomly determine which one of your existing NPCs, or perhaps introduce a new one (which doesn't necessarily mean you have to create it right now).
Once you have the Goal, Focus, and Obstacle you have to figure out what it means, and write it down. For an example of how to do this, check the Agenda section of the NPC Generator.
If we got an agenda instead of a value, that means we're now done with this Personality roll; we learned an agenda of the NPC instead of getting to know an aspect of their personality. You can get another chance to get a value the next time you make a Personality roll for this NPC.
Adding a Descriptor
If we got a value for one of the Personality aspects (rather than an Agenda), it's time to generate a descriptor for it. This "descriptor" is simply a word which gives a verbal description of that particular aspect of the NPC's personality.
- Look at the tables below, finding the table for the personality aspect in question.
- Then, locate the column corresponding to that NPC's personality aspect value (the one you got from the 1d20 table and wrote down above).
- Roll 1d4 in that column, get the descriptor from that row, and write it down after the value on the personality aspect on the personality sheet.
Once the NPC has all five of its values, you can stop doing this. You have now gotten to know this person. But you can still make rolls when you want to know how an NPC will react in a certain situation - see the section Personality rolls of NPCs you already know below.
Openness descriptors
| 1d4 | 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
| 1d4 | 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
| 1d4 | 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
| 1d4 | 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
| 1d4 | 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 |
Personality rolls of NPCs you already know
Personality rolls are not only for getting to know NPCs. They can also be used to check how they react or respond in a specific situation.
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 some variant of the name of the personality aspect. For example, "Is the NPC extroverted enough to want to talk to the party" is good because it includes a variation of the word "extraversion". However, "Is the NPC reluctant to talk" is bad, since "reluctant to talk" is the opposite of extraverted, so you'd end up with the opposite result of what you want.
- Roll 1d8. If the result is less than or equal to the NPC's
personality aspect value, then the answer to the question is "yes",
otherwise it is "no".
- If you want to, you can allow the personality aspect 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 - to affect it, increasing or decreasing the probability of a positive answer.
But what does the NPC look like?
If you want to randomly generate the appearance of an NPC, then turn to that section of the NPC Generator.
The Love system (optional)
Oh, you're interested in the love system, are you? Alright, ya horny bastard (read in Scottish accent for best effect), let's get into it.
If you want to use the Love system, you need to start by creating a personality sheet for your PC before you start playing - the PC needs a number from 1 to 7 for each of the five personality aspects above. The purpose of this is to see if you are "compatible" with the NPCs you meet. You can randomize these values if you want, but my recommendation is that you simply set them to the values you want - in other words, "design" the personality of your PC.
Making Personality rolls with the Love system
Every time you make a Personality roll for an NPC, you compare the NPC's value of that personality aspect (which you may have just generated if it wasn't already known) with the corresponding value for your PC.
- If the values match, the NPC gets 2 Love points for your PC.
- If the values don't match but are within 1 point from each other (for example, a 3 and a 4), then the NPC gets 1 Love point for your PC.
- Otherwise, the NPC loses 1 Love point for your NPC.
- The NPC's Love points can never get lower than -3 ("Dislike") or higher than +10 ("In love").
What the Love points mean
| Love points | Meaning |
|---|---|
| -3 to -2 | Dislike |
| -1 to 0 | Uninterested |
| +1 to +2 | Curious |
| +3 to +4 | Interested |
| +5 to +7 | Has a crush |
| +8 to +10 | In love |
Hurting or offending the NPC
If you do something which is not covered by these rules which hurts, offends, or puts the NPC in danger needlessly, then feel free to remove a Love point or two as you deem appropriate. Take the NPC's personality into account; someone with a high Neuroticism probably doesn't appreciate practical jokes, and someone with a high Conscientiousness will not take kindly to you making a mess of their home, and so on.
Courting rolls
What would be the point of love without courting? Once the NPC has taken an interest in your PC, you can start courting by making Courting rolls. There are various kinds of potential Courting rolls, all with different Difficulty classes (DCs). To make a courting roll:
- 1d6 + Love points
Compare the result to the DC of the activity in question in the below table.
- A roll of 1 on the die before the Love points are added is always a failure. There is no such thing as a guaranteed success no matter how many Love points the NPC has.
- If the result is less than the DC, then the NPC loses 1 Love point.
- But if the result of the Courting roll is equal to or higher than the DC of the activity in question, then the Courting roll is successful and you get a positive reaction (a "yes" answer, etc) from the NPC.
| DC | Activity |
|---|---|
| 6 | Asking the NPC on a date |
| 7 | Figuring out the NPC's love language |
| 8 | Make a sincere apology (only when called for) |
| 8 | Invite to intimate relations |
| 10 | Proposing a relationship |
| 12 | Proposing marriage (only if already in relationship) |
Going on a date
- Once the NPC has agreed to go on a date, you can roleplay through the date if you want.
- At the end of the date, we need to check how the date went - what
the NPC thought of it. Make an appropriate medium difficulty social
check for the game you're playing. For example, in Dungeons and Dragons
5th Edition, this could be something like a DC 14 Charisma roll.
- If the roll is successful and the NPC has less than 8 Love points, then the NPC gains one.
- If the roll is unsuccessful, then nothing happens, but:
- If the roll is a critical failure (or the social check roll is significantly lower than required for a success, if they game you're playing doesn't have critical failures), then the NPC loses a Love point.
Figuring out the NPC's love language
People have different love language - ways of communicating which they are especially receptive to, with the right person.
- If you can figure out what your love interest's love languages are, then you can get a bonus on future Courting rolls if you can incorporate that love language when making the Courting roll.
- If the roll is unsuccessful, then the NPC loses a Love point. Perhaps you asked too early, and the NPC regards the topic to be too personal or intrusive at this stage?
- If the roll is successful, then roll on the
following table to discover what the NPC's love language is.
- Let's say you learn that an NPC has the Receiving gifts love language. That means that from now on, if you give them a gift while asking them on a date (for example), you get a +1 on that Courting roll.
| 1d8 | Love language | Explanation |
|---|---|---|
| 1 | Words of affirmation | Kind or encouraging words |
| 2 | Quality time | Spending time together |
| 3 | Receiving gifts | Receiving thoughtful gifts |
| 4 | Acts of service | Being helped in daily life |
| 5 | Physical touch | Being touched in a loving way |
| 6 | Admiration | Opportunity to admire you |
| 7 | Protection | Feeling protected |
| 8 | Adventure | Doing something risky together |
Each NPC can have two different love languages, but to figure them out you need a successful Courting roll for each.
Making a sincere apology
If you have done something that caused the NPC to lose at least one Love point and which warrants an apology, then you can (and should!) apologize.
- If the roll is unsuccessful, then nothing happens.
- If the roll is successful, then you are forgiven and if the NPC has less than 8 Love points, they gain one.
Intimate relations
- Once the courting roll has succeeded, then this works similar to
going on a date, but use the most appropriate medium difficulty check
for your game - perhaps a DC 14 Insight (Wisdom) check for emotional
connection in the case of Dungeons and Dragons 5th Editions. Use what
you feel makes for the best fit.
- If the roll is successful and the NPC has less than 10 Love points, then they gain one more.
- If the roll is unsuccessful, then nothing happens, but:
- If the roll is a critical failure, then the NPC loses a Love point.
Proposing a relationship
If the Courting roll succeeds, then the NPC has agreed to enter a committed relationship with your PC. Once this has happened, you can choose to not use Love points anymore - you have won the love of your partner.
Unless, of course, you want to actually propose?
Proposing a marriage
If your PC and the NPC are already in a relationship, you can make a marriage proposal. If successful, your love accepts your hand in marriage. Unless you want to have the risk of falling out of love (which could be an interesting plot arc in and of itself), you could stop using the Love system once this happens.
Relationship events
Once you are in a committed relationship with an NPC (that is, a successful "Proposing a relationship" Courting roll has been made), then Relationship events can occur. These happen after you and the NPC have endured some sort of external pressure together - an adventure, or some other type of risky or dangerous situation. It is up to you to decide when it is appropriate to roll for a Relationship event.
The result of the roll depends on random chance, Love points, and a Recent events modifier which you must first figure out what it should be set to. It can have any value from -2 to +2. Set it according to how things have been going lately when it comes to external factors (not how things are going in the relationship itself).
- -2: Things have been looking really bad recently, and there have been significant difficulties.
- -1: Things have been somewhat bad, and there have been some struggles.
- 0: Things have been going okay. There may have been some challenges, but nothing you can't handle.
- +1: Things have been going well. Any problems that may have come up, you have been able to deal with fairly easily.
- +2: Things have been great recently. You've easily been able to overcome any issues that may have come up.
Now that you've set the Recent events modifier (mod), you can roll for the Relationship event and look up the result in the table below:
- 2d6 + Love points + Recent events modifier
| 2d6+LP+mod | Event |
|---|---|
| 9 or less | Breakup |
| 10 | Ultimatum |
| 11-12 | Relationship conflict |
| 13 | External pressure |
| 14 | New boundary |
| 15 | A secret is revealed |
| 16 | NPC wants something |
| 17 | NPC makes a suggestion |
| 18 | NPC expresses happiness |
| 19 | Deepening bond |
| 20 or more | Grand gesture |
What each of the results mean in practice will be explained below.
Breakup
The NPC has decided that this relationship isn't worth it anymore.
- The NPC loses 3 Love points.
- The relationship ends immediately.
- If the NPC gains at least three new Love points at a later time, then a new successful Proposing a relationship roll can reestablish the relationship.
Ultimatum
The NPC is very unhappy with how things are progressing, and gives you an ultimatum.
- Unless the NPC's Love points increase by 2 within a reasonable time frame, then a Breakup event is triggered. If the NPC is already at the maximum of 10 Love points, "getting" a Love point still counts against the ultimatum.
Relationship conflict
- Some sort of conflict has occurred in the relationship. If you need inspiration as to what it is about, you could turn to the Action/Theme Oracle.
- The NPC loses 1 Love point.
- Roll 1d8. If the result is higher than the NPC's Agreeableness, then the NPC loses one additional Love point.
- While you obviously can play how you want, I suggest you don't gloss over this - take it seriously. What is the conflict about? What can you do about it?
External pressure
- The relationship has come under external pressure. Someone is questioning if you and the NPC should be in a relationship at all. It might be a friend of the NPC, a member of the NPC's family, or someone else entirely.
- Roll 1d8. If the result is higher than the NPC's Agreeableness, then the NPC loses 1 Love point.
New boundary
Recent events have put a strain on the relationship, and the NPC is putting up a new boundary.
- Either decide what the boundary is based on what makes the most sense in light of what has happened, or turn to the Action/Theme Oracle for ideas.
- Each time this boundary is violated in the future, the NPC loses 1 Love point.
A secret is revealed
A secret concerning the NPC has come to light. Use the Action/Theme Oracle to come up with ideas about what it could be.
NPC makes a suggestion
Something has given the NPC an idea, and they now have a suggestion. Make an Agenda roll or use the Action/Theme Oracle to figure out what it entails. Let the NPC's personality influence what this means. An NPC with a low Extraversion value probably doesn't want to go to a large social gathering, and so on.
The NPC wants something
After everything that's happened, there is now something the NPC wants.
- Either decide yourself what it is the NPC wants, or make an Agenda roll and use your imagination to decide what it means in the context of the game world. Take the NPC's personality into account.
- If what the NPC wants is accomplished within a reasonable time frame, then the NPC gains 1 Love point.
NPC expresses happiness
The NPC is happy with how things are turning out, despite any recent struggles.
- Roll 1d8. If the result is less than or equal to the NPC's Agreeableness value, then the NPC gains 1 Love point.
Deepening bond
The things you have gone through together have strengthened the bond between you and the NPC.
- Try to think of what this means for the relationship.
- The NPC gains 1 Love point.
Grand gesture
The NPC expresses their love by giving you something meaningful.
- Try to think of what it is the NPC is giving you. It has to make sense, but it doesn't have to be a physical object - it can also be a promise, new information, or anything else of value that you can think of.
- The NPC gains 1 Love point.
- Roll 1d8. If the result is less than or equal to the NPC's Agreeableness value, then the NPC gains one additional Love point.
Conclusion
One of the reasons why I love solo RPGs and the TTRPG hobby in general, is that the whole experience is so customizable. Feel free to alter this system to suit your needs (or, ahem, desires). As long as you're having fun, there's no way to play incorrectly in a solo game.
In other words - go play, and have fun!
Oh, and if you like the idea of a system for keeping track of love between PCs and NPCs but you think this one requires too much bookkeeping, then I recommend my more recent article called D12 Friendship and Romance System. It reuses the better parts of this article but is easier to use, and has more content.
Donations & transparency
My content is provided free of charge, and you can use it, for free, with a clear conscience. However, donations on Ko-fi to offset the running costs are gratefully accepted since the site is running at a loss. There are no ads, no popups, no tracking, and thus this site makes no money other than donations.
There is absolutely no pressure to donate. I've chosen to make this site fully expecting to run it at a loss as a hobby project; what makes me the most happy is knowing that my content is available online. If you want to support it without donating, sharing it with your friends to help it reach new readers is also greatly appreciated.
For full transparency, a breakdown of all the costs associated with running this site and its companion site www.ttrpg-hangout.social is available on the About page.