What makes NPCs and party members "human"?

One of the things about Mass Effect that stood out the most to me was its Band of Brothers approach to party building: the fate of the galaxy took a backseat to Shepard finding exceptional, often haunted people and building them into a team that followed her for her entire adventure. Like most Bioware games I think a large part of their character came from the high quality of the writing, and from the fact that practically everything Shepard did was as a team. It’s one of the few games where I made party composition decisions based on who I wanted to see more of instead of pure numerical optimality, and I happily played through the game multiple times in large part just to see how everybody’s stories changed with your decisions.

Writing alone, however, is insufficient: Skyrim lavished incredible amounts of attention into giving some of their NPCs large amounts of dialog and backstory (while leaving a lot of them tragically shallow), but I found that I didn’t care- I’ve played Skyrim numerous times on different characters, and the only characters I can consistently remember are the jester from the Dark Brotherhood, because he was incredibly irritating, and the guys in funny robes who scream at you, because of how long the unskippable cutscenes with them were.

My game procedurally generates a completely new cast of NPCs every time you start a new game, so I can’t rely on writing alone. In its place, I think that giving the player as many opportunities as possible to map narrative into their party: build at least a rudimentary social AI that allows them to watch their party interact with others as they travel, and find distinctive but non-annoying ways for party members to assert their personality as the game progresses. This can be pretty richly done with some very rudimentary things: developing small variations on common animation libraries (movement/idle/combat/response) that conveys personality through body language, just generally give the party chances to do barely enough for the player to write their own story with what they see.

What other big blocks am I missing? Writing alone can’t possibly bring a fully-fleshed character into the world, but Skyrim seems like a case study in how lavish production budget and in some cases extremely complicated technology isn’t sufficient to make a character memorable, let alone human.

Well, I’m an author, so, while writing my books, I obviously have nothing but writing to rely on. I think your experience with Skyrim simply illustrates that a deep backstory and a pile of dialogue isn’t enough. Sure, animation and side interaction can help, but I think it’s more about making the character seem more real.

I can give someone a great backstory, but if it’s irrelevant or they don’t seem affected by their own history, it can come off as quite flat.

Make the characters driven by something (typically something from their backstory). Be sure to have this play out in all of their actions, even if it’s unrelated. If a character’s child was murdered, how does that make them feel day to day? How does that make them react to strangers? Are they hesitant to open up to people? Do they use this past to gain sympathy? To justify horrible actions?

You can tack on any motivation you’d like: He grew up poor. She’s fascinated by magic/technology. He’s an introvert and is uncomfortable away from home. etc, etc, etc.

That’s where backstory really becomes important. If every character’s backstory is connected directly to the plot, it can feel pretty contrived. Their history is meant to flesh them out as a person, not push them forward along the rails of the story.

4 Likes

This is a really interesting topic!

I think a big part of what makes computer game NPCs seems shallow is when they’re just plain stupid. When it’s clear they’re reading lines from a script, oblivious to what’s happening around them or what has happened to them in the past. Conversely, the more an NPC seems aware of its surroundings and past events, the more human it will appear, and the more likely players will get attached to them.

Are you using voice actors for your NPCs? Since they’re procedurally generated, I’m guessing not — and I say good for you, because voice acting is extremely limiting. It basically prevents you from generating dialog on the fly, which seems like a basic requirement for believable NPCs.

For example, after a battle, NPCs should comment on it, based on how difficult it was, how it relates to their past, and so on. Basic comments like “Well that was easy” or “I just about wet myself there” are easy enough, but then later, you should get things like “Whew! That reminds me of the time we were attacked by a troll outside of Crabgate” (perhaps with another character saying, “As I recall, you nearly wet yourself!” and a third character adding, “But you held up nicely this time, didn’t you?”).

Note that this pretty much requires a dialog system that allows for background chatter. Dialog shouldn’t be restricted to the whole we’re-going-to-stop-the-game-and-go-into-dialog-mode thing, or most players will get annoyed and just click through it. But if dialog can scroll by at the bottom of the screen, or appear in speech bubbles over the character’s heads, or something like that, then NPCs can comment on what’s going on while it happens, without interrupting the flow of the game.

(Incidentally, I recommend this interesting essay about one player’s attachment to the Lydia character in Oblivion.)

1 Like

I think I’ve consumed enough anime in my life to have some contribution to this topic. Fear / tragedy is a great way to make NPCs and such feel more human. It’s something that just about every species with brain function can express. This is used not only writer to audience, but also character to character. Tokyo Ghoul is probably the most recent example I saw.

Despite humans and ghouls viewing each other as monsters, the fighting usually comes to a full stop when certain things happen. The humans fight with weapons made from ghouls. Ghouls can still sense and identify who the weapons were made from, and to some extent the weapons still hold an amount of consciousness. During a fight between two of them, a ghouls fights a human who is wearing armor made from the ghoul’s father. The ghoul is unwilling to go full out and as a result is taken down, but not completely because the human notices that the armor is unusually sluggish in this fight. The fight ends with a sad stare from the ghoul to the armor & then to the human. A full understanding isn’t reached, but they do stop fighting.

Fears, tragedies and weakness seem to be a common theme in so many stories, it must be what we identify with either the strongest or most easily. Or maybe writers just like to screw with people, because the epitome of messed up in that show is where 1 very young female ghoul is hunted by a human using weapons made from her parents xP

1 Like

That’s a really great idea, and something I hadn’t considered… I’ve had a lot of back-back-forth with myself over the dialogue issue- as you guessed I’m not using voice acting, both because of the limitations you discussed and for believeability’s sake. Thinking of Skyrim again they had 70+ voice actors, and it was still incredibly obvious that multiple people had the same voice, to the point of outright distraction.

I’ve gone back and forth with myself several times over the issue of dialogue: my initial hope was to find a way to avoid having dialog entirely, as it’s very challenging to make a procedural dialog system that doesn’t sound like a procedural dialog system. I considered a lot of approaches, but at the end of the day concluded that I do need at least a minimal amount of dialog.

I suspect the best thing anyone can do for their NPCs is to integrate them thoroughly into player agency- interacting with them, and getting a better sense of their character, shouldn’t require mashing through text walls- every single thing you do in gameplay terms should produce at least small bits of character feedback. Both Mass Effect and Saint’s Row do this very well- your party members offhandedly comment about actions or story developments while running through the mission, which serves to both add flavor and build their character.

1 Like

I think it is easy for players to overlook story that is basically superfluous. If a supporting character has some element in their story that is playable in some way - something that affects player tactics - I think that helps.

Any thoughts on mechanics like Darkest Dungeon’s negative personality traits? They make exploring the dungeon fun / annoying and gives the characters more dimension haha. Maybe some people freak out in the dark and stab themselves, maybe some people can’t help themselves and go after some obviously trapped items in the environment. I think there’s also one where people tell really bad jokes and it can make your group’s stress level go up lol.

Unfortunately the only solution to this is to actually take the time to give each person in your world a backstory, personality and purpose. They can still have procedural needs to be met in the form of quests for the player, but they’ll feel more real and alive if they’re personalized per NPC.

Another thing that makes procedural quests so noticeable? The same pattern or even same quest is possible to happen from multiple characters! Skyrim screwed that up big time with the quests where you have to hunt monsters inside someone’s house. I’d have to clear wolves out of peoples houses sometimes 3 times in a row lol. That really made it stick out that some very lazy quest system was in place. If you lower the number of characters offering procedural quests, you can put more into their backstory and establish a more reasonable need for repeatable / procedural quests.

The character Mia from .hack// is a good example. She needs aromatic grass for reasons that are huge spoilers so I won’t say, but it’s not really a repeatable quest it’s more like an ongoing task. Any amount you come across, you know she will be interested in it for a very sad reason. Building certain needs into a character could be a good way to get around players feeling like quests are a grind instead of a favor to a friend.

I’m not familiar with that game, but it helps if your NPCs are given quotable one-liners or some semi-annoying feature that makes them memorable.

(“Go for the eyes, Boo!”)

3 Likes

I once had a crazy idea (compounded by the crazy idea of making an MMO). My idea was to have the players actually type what they wanted to say (rather than select from a list of responses). The NPCs would then be designed with some basic sentence recognition, and be programmed to respond to key words. (A shop owner would pick up on things like “buy”, “sell”, “purchase”, as well as the names of all items in their shop).

The basic functionality of this actually already exists in online bots, so I know it’s possible. Although, probably outside the scope of an indie team.

And, of course, there are all the other issues that come along with this. For instance, some people suck at spelling, and many people will just hate having to type… cuz we’re lazy like that.

I believe Ultima implements this system. At least in later titles.

As for the discussion at large: Use the most recent X-Com as an example of unscripted characterization. Every soldier in your squad is given a custom visual appearance, but the same background. He/She is an elite soldier. That’s it. And yet, I’ve cared more about those soldiers than I have for any MMO character. This is largely because character development. They start as a blank slate, but with every mission, wound, customization, and rank up, the soldier develops a history, weaknesses, strengths, and perceived personality. If they die, that history ends with them and you lose both an asset to the team and a familiar face/name.

What more, is that character development can go hand in hand with gameplay. You don’t need the most realistic reactions to an event, the characters just need to reflect the actions made by the player.

Did the player fire a gun in the middle of the street? The NPCs run and scream.
Did you give the NPC food? It likes you more.
Are you running around in your skivvies? Some NPCs laugh, some are disgusted, and some… Watch intently.

I think, when designing characters in games, the keys to focus on are making the character active and reactive and having a sense of permanence.

@CDMcGwire 's reference to X-Com reminds me of one of my old favorites: Cannon Fodder.

Similar to X-Com, there was no back story for any of your soldiers. But with each mission, your soldiers would rank up. I don’t know that they had any stat improvements or anything… just an indication of their rank next to their name. Worse, when one of your men died, you’d see their tombstones on a hill in between missions.

I cared so much about these guys, that I’d often restart a mission if I lost one of them. Which meant I never finished the game because I couldn’t get past even the medium difficulty missions without losing somebody.

GTA IV’s The Lost and the Damned expansion did something similar. When one of your gang was killed, their picture would appear with a plaque on a memorial wall in your club house. If nothing else, it made me feel guilty enough for allowing those people to die that I did what I could to keep my current support team alive, even if I didn’t know their name.

I think it can be as simple as this. Obviously there are other motivators than guilt, and the reverse should work as well. If you rescue people as an optional mission objective, seeing them later in the game would give you a sense that they survived because of you, but also that they’re actual creatures that may not have existed anymore had you not intervened.

2 Likes

Yoots these days. :wink: Back in my day, MMOs were called MUDs, and this sort of interaction was common (on the good ones, anyway). Many NPCs could not only respond to keywords, but to more complex patterns. In other words, they could not only fake a good conversation, but they could actually carry on useful conversation, giving directions or dispensing heals or items when asked nicely for example. Similar things were seen in good single-player text adventures too.

But yeah, that was back when people were willing to type to play a game. I think a renaissance of this approach nowadays is going to have to wait for reliable speech recognition (which isn’t that far off, anyway).

I make text based games from time to time to try out new languages. I’ve been wanting to make one in unity just because of how unnecessary it would be to use a 3D game engine to power a text based adventure instead of making one in javascript / c#.

Speech recognition could be funny if nearby npcs could overhear you and interrupt the conversation with something unrelated.

2 Likes

Some form of the interactive fiction community still lingers. A quality game may actually sell to some degree.

What we need is acceptable speech synthesis as well. That way they could talk with each other after they interrupt you.

1 Like

Why not make a text-based game, with a full-3D background that’s pretty much just there for eye-candy?

https://www.youtube.com/watch?v=FcnNEnsnriw

(Jump to 01:04)

Or, if not text, what about symbol bubbles like The Sims?

I think telltale games already patented that gimmick. Burn.

No offense, but what do you think you’re making? (And, yes, I’m aware you mostly spoke in jest. Mostly.)

A text game in and of itself requires - at the very least - a console app. In fact, the first ones ran on mainframes, and took a whopping hundreds of kilobytes. In C# you could probably get a text game engine thrown together, with passing feature tests, in the space of a week. Maybe two if you’re really OCD about it.

You know, we really should start recommending the newcomers to do that…

That was pretty much my first reaction when I started using Unity.
“A fully featured 3D game engine! Wow!.. I’LL MAKE A TEXT BASED GAME!!! :smile:

1 Like

It’s a great way to learn. Great way to see what unity objects get represented as with toString(). Could be the deciding factor in a networked game if you serialize objects with your own method or with a tostring method.

Make newcomers create a text based adventure in C# to learn the language? I recommend that for every language. Or least text based tic-tac-toe. I somehow made a memory leak in C when I used it to write tic-tac-toe :smile:

Even in a serious response, there would be 96% jest, it’s just how I manage to put sentences and thoughts together. I don’t think I’d have to make much to compete mechanically with telltale. If you translated every keystroke in this topic into interactivity, you’d have several telltale titles worth of gameplay. That might have been a little meaner than intended :stuck_out_tongue:

I dunno why I dislike them for what they do, but I do lol. It’s like a watered down text based adventure, because you have preset options, some of which have no impact on progression. In their defense I will say they’re probably 1 of the few companies who could understandably not allow players do stream / upload footage of their game.

What am I making… hmm… as far as text based things go, not much. My last text based adventure was written in Java 3 years ago in the summer. In Unity in general? Small parts that look good on a resume. I’ve got very few complete games, and I probably wouldn’t sell any of them.

Text game engine? that sounds a little overkill for what they are haha. Make a few structs / classes, define some interactions, have a main while loop, done.

1 Like