[This is part of a series of discussions on the craft of modeling conversation. For previous installments, see my original Homer in Silicon article which lays out the basic elements of the model, and previous blog posts on the issue.]
The convention that characters should greet one another before launching into other discussion is now pretty well established in realistically conversational IF; for Inform, Eric Eve’s Conversation Framework extension provides this functionality and I’m planning to use something compatible with his work.
There’s no reason, however, why the player should always get to dictate when a conversation begins and ends. Alabaster is not a very good demonstration of conversation beginnings and endings because there are relatively few transitions, but consider, say, Blue Lacuna: other characters move around, begin and end conversations, and generally behave as full partners in talky scenes.
In Inform 7, I rely a lot on the scene mechanism to manage conversations, because they allow me to write natural lead-ins and lead-outs, to set up lists of planned conversation in rules like “when heist planning begins”, and to set complicated conditions for when a scene should end. The conversation system also has a feature that allows quips to be set only to occur within a specific scene, which is a good way to protect against accidentally out-of-context remarks.
Some particular cases:
Begin when the player walks into the room where the NPC hangs out. The NPC acknowledges the player’s arrival and greets him, opening the possibility of conversation. This works especially well when the NPC is in his own home or shop.
Begin when the player does something that attracts attention. The NPC might be a guard, for instance, and speak when the player tries to go through a door or pick up a guarded object.
(Incidentally: I don’t have any special features built into the system for guarded doors or objects; I’ve been assuming that the author can write something like “Instead of going through the Imperial Bedroom door when the guard is unfriendly: try the guard discussing stay out here.” This is something I have gotten asked about several times because some authors regard the guard character as kind of the minimum level of chatty NPC, and they figure it ought to be specifically accounted for. To my mind, though, using the instead rule is at least as easy as any alternative form I’m likely to come up with and more likely to be easy for the new user to remember. So I’m not sure whether I ought to revisit this.)
Begin at a scene break. The NPC comes into the player’s presence for some story reason and a conversation begins immediately.
And of course there’s always
Be in progress when the game begins (or a scene within the game begins). The in medias res approach eliminates the conversational niceties and has the narrative pick up partway into a conversation, giving just enough information to make it clear who the parties are and what they’re talking about. This is a little risky, perhaps, but on the other hand it gets right to the meat of a conversation rather than wasting the player’s first moves of a game on saying hello.
Beginnings depend on game state; endings may depend on either game state or the state of the conversation in progress, so they can be a little more delicate.
End at a fixed time. If we want a conversation to last only a certain number of minutes and feel rushed or interrupted, we might use a scene of set length. In most cases, though, there’s a risk that this will leave the player with something important still to say or without accomplishing the goals of this conversational scene.
End when the player knows everything he needs to know (or the NPC knows everything she needs to know). Another approach, especially if we’re closely tracking the exchange of factual knowledge in the conversation, is to set up the end of the conversation when certain facts are known to one party or another. This accomplishes the functional goal of making sure we don’t go on from this conversation scene without laying important narrative or gameplay ground.
End when the conversation runs out. Set a conversation scene to conclude when the current conversation topic is dead-ended (the point at which the NPC would usually change the subject) but there are no more quips on the NPC’s planned conversation list. At this point, both the player and the NPC can be construed to have run out of relevant things to say, so it makes a natural point for a scene to conclude. I find this method feels more relaxed than the others and gives more of an impression of a friendly rather than a utilitarian conversation, because the conversation seems to wind to a close when both characters have run out of things to say.
End on a dramatic moment. Conversations in books or movies sometimes stop as soon as one of the characters says something especially dramatic, since we then cut away to a new scene. (This is especially noticeable with movie telephone calls, where characters very often hang up the phone without nailing down the details of a planned meeting or saying goodbye as they would have to in real life. But it would just be too tedious to make the audience sit through that trivia, and the movie has other things to get on with.)
The question of whether to show continuous action (as in many, many old-style IF games) or to cut up the narrative and move the player to new times and places as the story demands (as in Photopia, e.g.) is important, and there are more pros and cons than can be listed here. But one of the positives about the discontinuous format is that it allows the game to skip over many actions that might be boring — including the dull and ritualized business of ending a conversation. So we might set up our scene to end when the conversation reaches some peak of mood or emotional content, and then move the action ahead to a new time and place.