Tuesday, July 19, 2011

Party NPCs: Interaction Mechanics (Part 2)

My last post on NPC interaction mechanics focused on interactions initiated by the NPC's themselves.  Interjections and time-based dialogues would result in the NPC starting the conversation with the player rather than the player choosing to talk to the NPC. In today's post I'll cover two common mechanics used to control conversations and NPC relationships where the dialogue is initiated by the player.

This is an easily understood mechanic that is used in many RPGs. When the player talks to an NPC, the responses they can give and the questions that the player can asked are based on the current events of the plot. If the player has just met the NPC, they will likely be able to ask them about how they came to be here, or their current situation.  As the game progresses, they might be able to ask them about previous victories or upcoming events.

Instead of having conversations based purely on specific events, the event-based option can also progress in a phased approach, as per Mass Effect or Mass Effect 2. In this case, it is often possible to be able to "progress" your personal (and/or romantic) relationship with a character after completing certain missions within the game. In Mass Effect, after every "core" mission, you can "do the rounds" and find out more about each of your party members.  In Mass Effect 2, the progression is not quite so clear cut, but you can regularly return to find out more about them... provided they're not "busy".

Enough with the damn calibrations already, Garrus!

There are definite advantages to this kind of phased approach.  For one, it allows the developer to space out the development of the relationship with the NPC. This prevents the possibility of the player exhausting a character's story arc or personal development in the early stages of the game by dishing it out at specified intervals. It is still the player's choice if they wish to find out about the character (unlike interjections or timed conversations), but it is done in such a manner that their character development can much both the actual and implied relationship between the player's character and the NPC. The direct relationship is the player's interactions, but the implied relationship is that suggested through the dialogue: e.g. passing mention of events that never actually occur within the game and the development of a relationship from being in close proximity to someone over a time in terms of the reality of the game world. These are things that the player infers would naturally happen; if you're traveling with someone for weeks and potentially months (or even years) on end as most RPGs tend to, it is natural that some sort of relationship (whether friendly or antagonistic) would form. The event-based mechanic implicitly plays upon this natural development of relationships.

Another positive is that the relevance of a discussion to recent or upcoming events helps to reinforce the consequences of past actions or increase the stakes of upcoming quests/missions. This is an excellent means to keep the tension and player motivation high. If a party NPC whom the player likes is telling them how important a particular quest is to them, then the player will be more likely to do it. Of course, the counterpoint is true also, if they don't like the party member, they might delay doing the quest until the latest possible moment out of spite. Provided that the character is being disliked because of the character's personality - rather than the lack thereof, poor writing, poor voice acting, or something similar - then this is still a positive outcome. Even if the player doesn't like the character, they've still had an emotional reaction which increased their engagement with the game. The player might begrudgingly complete the quest in the end, but in the meantime they've gained enjoyment from not doing so, and in some cases they might choose to not do it at all.

Some people wanted to kill off crew members

The major drawback to this approach is the visibility of mechanism. It's frequently obvious to the player what is happening. In Mass Effect 1, it quickly became obvious that the player could only progress a relationship after a "core" mission. In Mass Effect 2, the progression was less clear, resulting in annoying situations where the player would talk to everyone only to be given a stock line indicating the NPC had nothing new to say. Garrus' "Can it wait? I'm in the middle of some calibrations" line was so frequently repeated due him typically being one of the first crew members to be collected, and having a relatively small number of dedicated conversations.

The blatant nature of the conversation mechanic means that it can make the relationship feel artificial. Without some supplemental conversations in other areas, it can feel extremely mechanical and forced, meaning that it loses much of the emotional impact or connection with the character. This isn't to say that it is impossible, but it the player is acutely aware that the only reason for the culmination of the relationship (particularly if it's a romantic one) is because the final battle is just about to start, then it will likely feel less important.

Approval based
The mechanic relies on an existing "approval" system being built into the game's logic. This kind of system has been built into many games, where the player's friendship with an NPC is given some sort of numerical value dictating how "friendly" the relationship is. This number might not ever be explicitly shown to the player, maybe just as a measure on a scale or possibly not even shown at all, but it the key that drives the conversation mechanic. This played a key part in development of the relationships within Dragon Age: Origins, and the nature of the relationships within Dragon Age 2.

Friendship or Rivalry: which dictates your NPC relationship?

The key issue here is that it is the approval rating value that provides access to new conversation options. Much like with the event based system, new conversations will not open up until the approval reaches a set point. This has the advantage of feeling much more organic than the event based system, as approval may increase through the player's decisions with the player in the party, providing gifts (as per Dragon Age: Origins) or other external factors. This makes the relationship feel much more believable, particularly when the player is traveling with the party member and performing actions on which the NPC approves of, as it gives the impression the the NPC is "opening up" to the player character because they trust them more and more.

At a first glance, this seems like a fantastic system, until some of the ramifications and dependencies are analysed. For starters, this implies that the player is going to have a relationship such that the NPC's approval moves a large amount (in either direction) across the course of the game. Without this change in approval, additional options are never unlocked, and the character feels flat and lifeless. Players who perform actions which both anger and please an NPC run the risk of not seeing of their character at all because the approval rating stays at a fairly neutral state. Furthermore, it will likely be necessary to write a lot more dialogue to account for the potential that the NPC may hate or mistrust the player, or alternatively trust them or love them entirely. These cases should require vastly different dialogue for a well written character, particularly if the player is pursuing a romance.

Are we talking love-hate or love-love?

Another potential issue is the ability of the player to short-circuit the relationship early on in the game. If the player has access to gifts, then it is potentially possible to increase the approval rating of an NPC to a significant extent early on in the game, opening up all the conversation options as a result. This can quickly develop and subsequently exhaust all the conversation options with a character very quickly, having them declare their undying love for the player near the very beginning of the game. This is more artificial and undermines the believability of the NPC far more than the event based system ever could.

This is also a potential problem when dealing with the natural gains of approval throughout the game. Often an NPC's approval will be modified because of a player's actions, but only if the NPC witnesses it first-hand, i.e. they are in the player's traveling party at the time. Metrics collected from RPGs have suggested that most players tend to have one specific party for the majority of the game and rarely deviate from that group of players, at least for a first playthrough. Despite this, there will typically be enough approval points dished out throughout conversations such that the party members will reach maximum (or minimum) approval part way through the game to account for party variation (among other factors). As such, even without gifts, it may be possible to exhaust the relationship "too early" within the game.

Leliana: from guarded companion to lover in six simple chantry relics

Lastly, there is a problem for the player in determining "when can I talk to the NPC next?" Without some clear indicator, the player has to periodically "check-in" on their NPCs to see if they have anything new to say. This potentially runs the risk of being every bit as annoying as getting "calibrations" lines in an event-based system.

In closing...
Party NPCs are arguably the most important characters within an RPG, so any time dedicated to making them and their relationship with the player seem more realistic is time well spent in order to increase the player's level of engagement with the game. Having addressed the need and importance for such relationships, and the mechanics to do so, I hope I've given people some food for thought on the subject. I'm contemplating a final post on this matter, covering up a few issues regarding mechanics and general ideas for designing NPC relationships that I've not addressed along the way. If readers are interested in these, let me know and I'll do a final wrap-up.

No comments:

Post a Comment