What makes a good Companion/NPC & what doesn't?

Just like the title says, I’m curious about what ideas you think work for making companions and or NPC’S dimensional, lifelike and believable and what you think doesn’t work resulting in making the character unlikeable, cartoonish, stiff or just plain boring ?

Feel free to talk about:

  • Backstory & Personality

  • Use of storyline to develop a character further

  • Companion’s opinion’s about the MC or situation

  • Examples of companions that you loved/hated and why you loved or hated them(specifically what you liked about their personality, background and storyline or what aspects of their character didn’t work for you)

  • Any other thoughts you have on the subject


Well, in my opinion, I always think it’s best not to fall in those cliche tropes where your companion only serves as comic relief, as a RO and nothing else, or just there to move the plot along. If they’re a major enough companion/NPC, giving them a decent amount of backstory helps I think!

I think drawing from people you’ve seen in other medias or are around a lot in your daily life helps a lot too.


The main thing is to really flesh them out, since in most of these stories the MC is fairly empty by comparison in order to allow for reader immersion. Make sure to take them beyond just a couple of tropey characteristics.


I think just like how the companion’s opinion about the MC/situation affects the player’s view of the companion and the MC/situation, how other NPCs react to that companion can help make that character more dimensional and interesting. So something like how a stiff character or cartoonish character on their own can be too one-note and appear simply as tropes, but when reacting to each other’s personalities can become fun characters due to the contrast. Or if a character is unlikable they can be annoying or boring, but when other companions and NPCs also dislike them it can help make the story feel more lifelike and the player feel like they are part of the story through that shared connection.


A good way to avoid being one-dimensional is definitely making certain they won’t stand for the main characters’/readers’ BS. I’m not necessarily talking about a morality system here–sometimes you can do, or say things in life that aren’t sensitive to your own needs, and well-being. A good companion will only take so much before they slap you upside the head, and tell you to start caring a little more.

Then there’s the opposite side of things–the reluctant companion. If they have a genuine reason to dislike the main character, making it so that little things win them over is okay, but doesn’t really account for the problem they would have with the mc. It saves time in a plot to make them forgive over the course of many small favors, sure, but I’d like to think that good people aren’t so easily bought sometimes in life. I’d want them to seek an apology from the mc that isn’t some ‘fetch quest’ for the typical lost family heirloom, but a really difficult thing that makes the player question whether this “friend” of theirs is actually a good person. (The true answer to this would be the spoiler of that plot.)

Having a thorough backstory is great, and can add a lot of flavor to a companion, but what will really set the tone for a reader is how they are in person. The whole “actions speak louder” experience.


I can’t add too much without repeating what others have said but here we go – A character/companion who doesn’t always agree with the MC and even calls them out for how they act or handle things is always very intriguing to me. It makes being their friend, ally, or otherwise, feel very fluid and ever-changing – because IRL people will never 100% agree with you and may even argue with you or start to dislike you [and that’s okay].

If the MC and a companion can argue, talk or debate actions, thoughts, or whatever with one another it feels amazing. The MC isn’t just getting away with murder or being overly selfless to people without a companion or NPC noticing. It’s the companions that notice and talk about it that makes interacting with them fun.

Of course, there will be characters [and people] out there who will have an opinion and actively not voice it out of either fear, because they just don’t care, or what have you. So, having a character who keeps their thoughts mostly to themselves isn’t a bad character – it gives them a more withdrawn but lifelike feel and, to me, very relatable.

I’d also like to say, I think characters also need to adapt and change. Something needs to either rock their beliefs to the core or slightly push them to think, “Maybe I was wrong about this?” Characters who evolve [even if slightly] and reflect that also make playing a game or reading a story far more entertaining because they’re being challenged and growing and they aren’t being static. No longer are they just the companion, now they are Stevie [or whatever their name is].

[This is just my two cents, feel free to ignore it if it isn’t helpful or something. I’ll admit to being tired, so if this is incoherent or just completely repeating what someone else has said I greatly apologize.]


Something I’ve become more sensitive to recently is when a companion (and I’m mostly thinking of ROs, but this applies to any NPC you’re going to be spending some time with) feels extraneous. I’m sure everyone’s encountered this in a game at some point: 3 or 4 npcs feel critical to the plot, but the other 3-4 barley get screen time if the player isn’t specifically choosing to hang out with them. If the plot feels like it would be the same whether a character was in it or not, that to me is a character who needs to have their purpose in game rechecked.

As others have said, an NPC who has their own moral compass, their own goals, their own beliefs, and will not back down from them without some sort of confrontation with the MC is great. It doesn’t need to be a fight or anything, but if the MC is choosing to do something a character would disagree, let that disagreement happen, let the MC have to convince them, or, alternatively, maybe the NPC will convince the player of their point of view.


I’m just going to offer some practical insights since others already mentioned great how-tos.

The first one, a good NPC is an NPC that does its job. You have a shopkeeper? Let the player browse their wares. You have an inaccessible shopkeeper? Let them enrich and interact with the world. You have a divine being where the player never met them in the entire book? Yes, this whole place is built upon them you can’t just discard them and says “this NPC is cliche and one-dimensional.”

Second, it’s easy to get this brain freeze when you’re writing, causing you to write an annoyingly NPC who whines at every single thing happened to them. You know you shouldn’t write them that way, but you’ll still write them that way. My suggestion? Read, edit, reiterate. (also a harmless shout to beta testers please do this if you see one)

Finally, I’m just putting it here because rule of three is cool.


My advice for writing likable characters is to give them two big personality points around which the nuances of their behavior orbit.

I’ll demonstrate with one of my characters. Sabrina is someone who’s incredibly shy and reserved - personality point #1 - but she also has strong values and seeks to live by those values - personality point #2. So, if you flirt with her, her shyness comes out because she’s not used to someone expressing that kind of interest in her. But if you flirt with her and flirt with someone else, she’ll (albeit politely) call you out because she doesn’t think it’s fair to her or the other person.

Real people tend to behave in patterns, so characters are no exception. Picking core values and personality tendencies are actually quite helpful as long as they don’t consume the character.


I don’t think I’ve ever seen it in the IF titles I’ve played, but I’d love something similar to BioWare’s loyalty missions. Functionally, they’re invaluable because they give you a chance to put the companion first, explore their backstory, and generally just engage with them on a deeper level.

The Mass Effect games, especially the second one, are among my all-time favorites because they use those missions so well. It’s not any single characteristic of the companions that makes me care for them, it’s how well-developed they are that matters.


Sex appeal. Uncomfortable truth time. A character who can be said to be “At least they’re hot” will always have fans, no matter how dull or uninspired. Hollywood and the video game industry figures this out ages ago. Of course, you can also opt to make characters good which is much harder…pulling an example from the stars of my own work…Kaja is by far one of the most popular characters. Which works out since she’s actually inspired from an old tabletop character of mine, as a stoic wolf girl. So she’s a shared favourite between audience and author which is rare(Not that absolutely everyone is a fan, obviously) What I think the biggest reason is? Because she’s cute. That’s just how it is.


I mean… how effective is that for this format, though? What is the general consensus for a sexy character description in written word? I don’t think there is one… if there’s no visual element or official character art, people tend to imagine different appearances for characters, no matter how descriptive the story is about them. And I also feel like feelings on the character’s personality tint that perception even further. A character you were apathetic about despite their physical description does something compelling or admirable or flattering, and now suddenly you’re interested and you can imagine them as sexy. The same could happen in reverse–characters that are supposed to be sexy but that you find annoying to read don’t hold that sex appeal


Every character is going to have people who dislike them. All of them. It doesn’t even make the people who don’t like them wrong for not sharing the same tastes as everyone else.What sells a character, however, is atmosphere. Just about anyone can have appeal by painting them under the right light and having the right target audience. Visuals provide a means of giving the brain ability to make a connection to a scene and writers provide a means of giving people imagery to make visual connections on their own.

1 Like

You’re right, but I’m not arguing that it’s impossible to make a perfectly likeable character. I’m arguing that “sex appeal” and characters that are ‘at least hot’ to paraphrase you is not just subjective as a concept, but highly subjective in the context of reading because the appearance is left entirely to a reader’s imagination and their interpretation of the words used to describe said character as ‘hot.’ That’s why I asked how effective ‘sex appeal’ as a major character trait would be in this format.

plus, OP asked specifically what makes companions and NPCs dimensional, lifelike, and believable–not what makes them popular. Like to use your character Kaja as an example. What makes her hot? To whom? (Also, I think you can probably poll your readers to find out for sure what the biggest reason is for her popularity.) *lol i just realized i am technically one of your readers. for the record (and as an example!), i love Kaja but I haven’t once thought of her as hot and wouldn’t describe her that way. Just didn’t conjure her as ‘sexy’ and I… didn’t realize that she was supposed to be?

I get what you’re saying about attractive characters doing well in fandoms, but I don’t think it translates to written fiction the same way. Esp in something like ChoiceScript where you’re reading thousands of words of story and dialogue, it’s not like in a videogame where the hot companion might be idly standing by in that one pose fans like or w/e. idk, feels like i’m losing my train of thought

also, i’m curious what you mean by this


I’m mostly going to be taking this from the perspective of how to write good NPCs, in my opinion. Talking about what I think makes a good NPC is a question that would take me much longer to think about. So, carrying on!

One of the things I like to do, that is more applicable to IF than anything, is that when I design a character’s personality, I hold them to the same personality traits that are available to the MC. So basically, I go over the personality stats in the game, and assign them traits as if they were MC’s themselves, following the same rules and statistics as the MC. This helps to establish a consistent tone, I think, and if you have enough nuances in your personality stats to give the character several traits already, then there you go.

After that, what I like to do is determine what personality stats this character would like to see in the player. People don’t always want 100% carbon-copies of themselves for friends and all that. Sometimes they prefer people with different traits, for some reason or another. This is the process for character design I used in one of my WIPs, Tales of Aurora, and I was very transparent about it.

Pulling an examples from that WIP- The Stardrake, following the personality stats of the game, is a chaotic, compassionate leader that is an optimist and is highly emotional. Already, that’s five traits for him that came just from the personality stats in the game (your results may vary). However, he doesn’t like it when the MC is a leader. He actually prefers the MC as a follower, because he’s just the slightest bit arrogant and he doesn’t like it when people step on his toes. A sixth trait.

Now, obviously there’s more work that goes in after this. Establishing their tone and attitude- how they usually talk and respond to things, whether it’s with humor, or aggression, or nervousness, etc. A backstory is always a good thing to add, of course, because it gives the character a place in the setting and can explain why they do/think what they do. But I assume this is stuff most people know, so I won’t go deep into detail with it.

And since this post is already several paragraphs long, I’m gonna retire it. Just giving some thoughts about my progress, I guess. See if it’s useful for anyone else. If you’re looking for 5 more paragraphs from me, I could talk about my thought on non-IF NPCs or characters, :sweat_smile:


Like D&D I enjoy when characters have importance both to the plot and not to the plot variety is good. The only place this falls hollow is with romance characters, them not being a part of the plot tends to lead me to indifference and ignoring them. I don’t mean that the romance itself should be a part of it, though it can, just that their story is.

Loved every companion in The Wayhaven Chronicles, they were your family and that’s established super fast for a slow burn book series (If you so choose). And that sets the pace for your relationship, you know that you are in good standing and all you have to do is discover (and probably get angst impeded) from there. I am definitely not saying do all your friendship quickly, because god do I love a hatred to family situation. Just that I like to know who I am close to through the story, and not through stat bars. I’m sorry but if they don’t express how they feel, the numbers and charts ain’t doing it for me.

Also for the love of god if there is a second book and you throw away all your old characters for new ones, I cry long and into the night. Wayhaven has promised me continuity if nothing else.

I had other thoughts but this is long and turning into a TWC fanpost, apologies.


x: NPC’s status
f: environment
y: NPC’s behavior
y_i(0 < i < n): NPC’s possible behavior

x = a_1 + a_2 + … + a_n +bi
P(y | x) = max( P(y_i | x) )
P(y | x) <= 1

x now = x_initial +f(x)
=> x_initial = x_now - f(x)
y != y

outcome = ∑f(x_j, y_j)


Good companion is a companion who has real personnality. Qualities, fault, vice, vertues… He has a family, friends (and sometimes foes). he came from somewhere… but he will not tell you everything. I can’t understand this npc who give you their CV. No, we learn to know this character overtime. In trials, times of leisure, with anecdote, when emotion take the better of him/her/them…

NPC that I liked are the “best friend” archetype or “childhood bullies” or things like that. He will give a past story that will anchore both him and your character.

For exemple, I really liked Jun/ko from samurai of Hyuga, you’re best foe (or worst friend/lover). That npc grow with your MC, they shared a lot of things. It force story to give your mc a story and a base personnality. He isn’t a blank page…
I understant why someone can dislike it, but I always prefered a prescripted character (I’m not sure of the word, “prétiré” in french, a character created by the GM or from the book that player will incarn instead of creating his own). You’ve got a story, a base personnality and from that you can do what you want as long as it is coherent with you’re character (and you can always become a evil guy or become a good guy, you’re character grow).

1 Like