Procedural NPCs and Letter Writing
Software Used: Unity
Programming Language: C#
There are 3 types of NPC found in the game
Companions, Vendors, and Talkers
Companions help or hinder your core loop activities. They might show up and require that you save them from minotaurs, or help you kill dire rats. These NPCs might be around for long periods of time, even requiring that you recruit and reuse them over and over throughout the game. These NPCs might also only be around for a single quest, and require you assist them in reaching some goal of theirs, at which point they’ll bid you goodbye.
Examples of Companions: Piper (Fallout 4), HK-47 (Star Wars: KOTOR)
Vendors are NPCs which serve some purpose for you, offering a good as part of a trade (whether you’re trading currency or time by way of quest completion). These are NPCs that exist in a relatively set location, who you revisit many times over the course of your adventure.
Examples of Vendors: Redd (Animal Crossing), Dionysus (Hades), Deckard Cain (Diablo)
Talkers are NPCs who only interact with you through dialogue. These characters require a large amount of writing, but usually only minimal AI. These characters will appear during a cutscene and disappear after, or might be seen in the background as other events happen, but won’t get involved directly. Sometimes, these characters will exist in the world persistently, but the only interaction with them is to press a button for new dialogue.
Examples of Talkers: Siegward (Dark Souls), Alkibanes (AC: Odyssey), Bobby (Paper Mario)
Relevant Articles
Watch Dogs: Legion has a system for generating NPCs which begins with loose details, but if you choose to interact with that NPC, will generate a more concrete set of details to work off.
How Watch Dogs: Legion Works | GMTK Most Innovative 2020
Owlboy’s developers suggest a system of conveying character through visuals to accentuate their personalities and make them memorable.
Using graphics to express character and theme in Owlboy
Our NPCs
Building our NPCs should start with Personality Mechanics that define where and how the characters appears in the world, as well as how they act once there. The use of this type of system means we can generate unique, interesting characters without the need to employ infinite writers to create every variant of dialogue. The following are some suggested attributes to use to begin with for our NPCs:
Personality Traits
- Normal/Weird
- Weird characters will appear in unexpected locations within the town, and offer odd observations in their dialogue. They will choose quirky hobbies and be more expressive in their animations. Normal characters will be the opposite.
- Defines spawn location, hobbies, animations, emotes, dialogue
- Introverted/Extroverted
- Extroverted characters will prefer to spawn near other characters, and prefer hobbies and tasks which put them around people. They will be more likely to engage with other characters, or the player. They will gravitate towards group events, and offer dialogue which offers to help the player more often.
- Defines spawn location, hobbies, dialogue
- Lazy/Energetic
- Lazy characters will prefer to stay at the home instance instead of venturing out to the world. They will prefer hobbies, like fishing, which require minimal effort. They will be less likely to approach the player, but no less willing to help if approached.
- Defines hobbies, animations, emotes
Hobbies/Interests
- Self-Betterment (reading, fitness, beauty, etc)
- Art (music, painting, knitting, etc)
- Maintenance (gardening, home repair, crafting, etc)
- Work (business calls, harvesting materials, etc)
- Nature/Idle (bird watching, fishing, rock collecting, nature walks, etc)
Survival Style
- Hiding (willingness to get into a fight in the first place)
- Fighting (variations for specific weapon types)
- Greediness (willingness to risk for a reward)
NPC Type
- Adventurer
- Adventurers will appear out in the wilds from time to time. They could even be full Companions you can bring along on your quest to help you survive, if we want to devote resources to that. Otherwise, you just meet them out in the wild and get some benefit from that.
- Craftsman
- Craftsmen will be resource generators. They exist in your home doing their crafting job, constantly creating a pool of resources for you to use for your adventuring needs, or which you can sell to others to adventure with. They will mostly be Talkers, merely existing in your space, generating resources.
- Businessman
- Businessmen will be your Vendors. They will exist in your home as merchants, giving you access to various stores and resources.