How to Create a Prize-Winning NPC

As per Uncle Sporky’s suggestion, a thread to discuss what makes a prize-winning NPC.

Here’s a rapid-fire run down of the last 5 XYZZY Awards Best Individual NPCs:

Grimloft, in Cryptozookeeper, by Rob Sherwin

All NPCs in CZK are talked to in conversation trees, and the chief virtue is the writing that can shine in structured talk-systems.

Dr Sliss, in Rogue of the Multiverse, by CEJ Pacian

Pacian’s strong prose and witty characterisation are to credit for this NPC’s win.

Snow White, in Alabaster, by everyone and their dog

Snow White’s conversation system uses a never-released ask-tell/talk about style system with contextual hints on what to ask next. It marries the virtues of conversation trees and more traditional conversation. The writing is generally strong and there are many directions the conversation can go in.

Violet, in Violet, by Jeremy Freese

Violet isn’t actually an NPC that you can directly interact with, rather she’s an imagined voice who comments on everything you do.

The gnome, in Lost Pig, by Admiral Jota as “Grunk”

The conversation is an ask/tell system: the gnome has a huge range of responses and he has a series of actions that he performs independent of the player, giving the impression of a life beyond what you see.

Quickfire Conclusion

It doesn’t matter what kind of conversation system you use so long as your NPC is richly characterised and the writing is strong.

I think I would add: the field here changes significantly from year to year.

You can’t (usually) write an IF game without a setting, or a PC, or writing. You can absolutely write one without any NPCs. On the whole, major NPCs are something that many, many authors try to avoid, because they’re so damn complicated.

So in some years there are basically zero games with very deeply modeled NPCs. In those years, you can absolutely win a XYZZY for Best NPC through skills that are basically all writer-side. And some years you’re up against games like Alabaster and Blue Lacuna, which are strongly-written and feature deep implementation; those are much more likely to win. (There’s one counterexample: in 2001 Yehoweh Porn from Fallacy of Dawn beat the more deeply-implemented Grant Stern from Best of Three. I think the moral there, if you can draw one from a single data-point, is that it helps a lot to have a character whom the audience really likes having around for whatever reason.)

Heh, thanks. :slight_smile:

I know that model characters are always there to study and see what makes them great, but if you had to spell it out, what are some important aspects of a character that need to be developed?

Sometimes it seems like all that is necessary to write a good character is to simply enable a good quality discussion with them, featuring lots of topics. For example, the gnome in Lost Pig doesn’t do a whole lot - he doesn’t follow you everywhere or do what you tell him to do or interact with a lot of different items (as far as I remember). He’s just fun to talk to.

It also seems like the general requirement for making an NPC people consider extra special means giving them a response for everything under the sun, so when the player inevitably tries something obscure, they’re impressed rather than disappointed (“she even says something when I show her that broken toothpick I found!”).

It doesn’t appear that there’s much preference as to whether dialogue is a series of choices or ask/tell topic-based. I think no matter the system, I prefer suggested topics to open-ended discussion. I recently tried Galatea for the first time and was very disappointed with it. I had nothing to talk about, and didn’t have any clue as to what I should try to talk about.

But how important are other NPC actions besides dialogue? I doubt most players notice or care about the programming that goes into real actors, do they?

How are they so damn complicated? As I said above, I get the impression that most of the focus is on ask/tell dialogue, where the main difficulty seems to be in ensuring that characters don’t repeat themselves and that their responses change when something major happens in the story.

I feel like there’s some magic element there that can’t be articulated easily.

Whether they’re complicated or not, they certainly are a lot of work to implement exhaustively. The magic element seems to me to be obviously good writing: some of the prize winning NPCs like Violet aren’t even people you can talk to!

…sort of. Depending on your game, ‘something major happens in the story’ may happen every five minutes. (What does the NPC know? What’s their mood and their attitude towards the player? What’s happening with the plot?) And this is assuming that the NPC is an inert chatbot, content to sit around in one location and wait for the player to come and ask them questions. (And most real conversations aren’t a series of isolated questions, so you might also need to model how the conversation’s flowing, and and and…) This sort of thing rapidly runs into combinatorial explosion: you may end up having to write hundreds and hundreds of uniquely-crafted NPC behaviours, of which the player may only see a dozen or so in the average playthrough. Ways of dealing with this problem head-on are discussed at length in Emily Short’s blog.

But a lot of the characters on the list involve clever ways to avoid having to directly implement all this stuff. The titular character of Violet is (sort of) the narrator, rather than a character directly present in the story, and has a pretty pre-determined character arc. Dr. Sliss functions sort of like GLaDOS in Portal, directing your action but not really available as a reactive conversationalist. Grimloft is a grouchy slacker with few social graces, so it doesn’t feel too weird if he’s not chatty. The gnome in Lost Pig is an abstracted but kindly academic, so it makes sense that he pay only fragmentary attention to what Grunk’s up to, and is willing to explain when Grunk asks questions apropos of nothing. If you can find a new way to give an NPC lots of screen time without requiring immensely complex modeling, you’re onto a good thing.

Yeah, this. If you’re an excellent writer, you can get away with all sorts of things.

A third way can be to let the game decide what is said next based on gamestate and context. I did this in my last big game (Six). I’d like to point to another game featuring this system to avoid tooting my horn too much, but I’m just not aware of one amongst the games I’ve played. This model is rare, at least where it’s been implemented with depth.

I give the player a general ‘TALK TO’ command, with no topic choices and no ASK and no TELL. Mechanically, what’s going on here is that by changing conditions in the gameworld, you’re changing what the result of your next conversation with particular characters will be. A pro of this is that can be very live and natural. The result of the next conversation with person A could be changing every turn or so if the game is busy, and will usually be relevant and reflect what the PC might be thinking about at the time if you’ve got a good handle on your own game. Underneath the specific conversations, you also need a bed of general conversation dialogue to fall back on for each NPC.

There are clearly particular PCs and game styles that this style would not suit. EG - If the game was literally to be driven by conversational choices is an obvious one. And the more ‘driven’ the PC is about particular goals, the less likely it may seem that they wouldn’t just come up with the piece of dialogue most aimed at their goal next, no matter what the circumstances are. But say for a game in which you have a companion helping you, whom you’re not driving, this style could be very good. Fiddle with a puzzle, get stuck, TALK to your pal and they might have an observation. Again and they might have another one. Again and they might just start talking about themselves. Another potentially good use is for when you have a PC whose goals are exploratory or uncertain.

There are all kinds of ways to trigger what the NPCs might say next. What did you pick up last? What other NPC did you see or talk to last? Has the PC learned info that’s changed their view of things? This method gets rid of OT talk, topic guessing, and the spoilery/directive nature that topic menus can have. One thing I noticed though is that it’s hard to break player bias that they should not enter a command more than once in a row. EG - to prolong a conversation using this system by TALKing to someone twice in a row, if the player wants to. ASK+TELL and topics methods are all predicated on you having a goal in each conversation. In Six the ultimate goal was simple (tip your friends) but for instance, the parents were ready to talk about all kinds of things that you might have done in the park if you did come back and talk to them at different times. Since it’s not necessary to talk to them, and since players will generally leave an NPC unless they think they can get something from them, not many players did talk to the parents too much (and I wouldn’t have expected them to be drilling their parents all the time!) but basically the model of the situation was very complete, and perhaps in a way that’s difficult for directed conversation methods to do. By definition, directed models may not lead to talk about stuff that is not of consequence for winning the game or progressing (or when they do, the player might start to sense ‘The choice I made to hear this isn’t changing the game’) but sometimes that’s the stuff that can make the situation feel real, or just add more fun or serendipity or the plain old illusion that the NPC came up with it and is reacting to what’s going on off their own back.

  • Wade

Yes, and beyond that, I think the secret to a prize-winning NPC is to make sure the phrase “SOME NPC” appears in a spiderweb hanging over the stall it’s displayed in.