David Gaider wrote...
In my experience you have a limited set of options if you intend for a relationship with a companion to develop inside of a non-linear storyline (and non-linear in this context means only we don't always know what order you're doing things and when they're happening, which is usually the case in our games):
1. You develop a relationship only by talking to them, and the relationship builds in a pre-set sequence of interactions.
2. You have companions react to specific events, as in 'you do X, companion reacts with Y no matter what'.
3. You track a variable whereby the companion reacts to your decisions which determines their overall disposition, without necessarily being aware of all the specific causes of the variable change (you might track a few, but you need to be wary of how many you're tracking lest they start to cross paths).
Typically we do one or two of the above. The difference with the approval system as we've implemented it in Dragon Age is that we show the feedback to you-- but feedback of some kind is required, since in a game you're not going to have access to the subtle nuances of human interaction that exist in real life. At some point you do have to recognize that this is a video game and than a mechanic of some kind is required just as with combat-- all you require is enough buy-in from the player that they are willing to suspend their disbelief. So far, I feel confident that we've been pretty successful in doing just that.
Personally, in the NWN module I'm working on, I like to use a combination of all three. Various events will increment or decrement the companion's attitude variable, but each one will also set a variable for how it was resolved. Ditto significant conversations. Then, when it comes to the crux of the relationship later on (the point where we see the relationship possibly advancing further or taking a sharp turn in a different direction), the conversation tree will check for all these variables, prioritising those that are most significant / deal-making-or-breaking for the companion in question. In other words, the highest-priority branch (the one at the top of the response list, in the conversation editor) will check if the variable for the event/conversation that most matters to the companion is set to a certain value; if not, it goes down to the next most significant, etc. Each branch will have a different response, so you really feel like your character's choices have made a difference. At other, less complex points, one may wish to simply check for a certain general relationship rating, with less variance in response (and that option is there too, because each event changed the general variable too).
Of course, in a well-developed relationship, this will lead to a rather large hierarchy of events/conversations towards the very end, with many possibilities for the companion's response. But, in NWN, all these responses don't have to be voiced and cutscened. In DA, they are by default. To my mind, this improvement in the overall quality of the game's sound and appearance ends up increasing the development cost of each variable, so you can only have a limited number of factors at play at any given moment.
Just my two eurocents.
On the general topic of "playing" the approval system, I guess one can choose to do that if one wishes... But it is just that - a choice. One can also stick with one's convictions and take the negative approval like a man (or, um, like a woman). What I would like to see is a separate tracker for like/dislike and respect/disrespect. Some companions will like and/or respect one who always agrees with them... Others will not. I think that would allow for better roleplaying of a DA:O-like approval system, without too high a development cost.
Modifié par Estelindis, 19 juillet 2010 - 02:57 .