Different default response for each character

I have this IF concept where you start off as a main character, a detective; as you interview each suspect to learn his alibi for the murder, you switch perspective to play through that character’s alibi. At the same time, the voice changes from second-person present to first-person past, as follows:

[code]The dame definitely looks like trouble. Dames usually are.


Lana sits in your leather chair and crosses her long legs. She coolly lights a cigarette.
(You can ask her about the victim, or ask her or the night of the murder.)


Murphy’s Diner (in the booth)
“I was waiting for Tom at Murphy’s Diner. He was late.”

Murphy’s Diner (in the booth)
"It’s a greasy little place on 44th, with the kind of chairs you hated to sit in, and the kind of food you’d never come back for, but it was quiet and out of the way. I took one of the booths at the back and nursed a cup of coffee.
“I don’t remember seeing anybody else in the diner except Murph.”

“He was leaning on the counter, chewing on a cigar and reading the paper. I couldn’t see what he was reading from where I was sitting.”

"No, I stayed in that booth the whole time until Tom arrived. I’m sure of that.

“Around nine o’clock, Tom came in off the street. He came in and sat down in my booth.”
(“I remember asking him about our date, or about his wife Cybil.”)

And then, at other times, you’ll play through the alibis of the various other suspects, each in first-person past tense, but with different messages for each. You might later play Tom, and get messages such as “I remember telling her about our date, and about my wife Cybil.” Instead of treating the moves as commands, the response will make them seem more like questions: TAKE THE WILL would be read as “Did you take the will?” and print the suspect’s answer. (The player will have great flexibility in creating the alibi himself, but some choices will have to be limited for sanity’s sake.)

Is it possible to make the parser messages identity-dependent?

The tricky part is going to be getting the quotation marks in the right places. Every paragraph should begin with a quotation mark, but only the final paragraph should end in one, and only in first-person mode.

David Fisher’s Custom Library Messages extension lets you set person and tense, so I’d start there to get the basic flexibility of default response you want.

You’ll need to do some additional tweaking in order to wrap the quotation marks, though. One way might be to add a quote tag like [q] that only prints " when the player is set to be certain characters. Alternatively, you could trap and filter all outgoing text; if you try that route, then Ron Newcomb’s Output Filtering extension might be for you.

For the last, the extension “Dialogue Punctuation” is probably closer to the mark than Output Filtering.

Ah! point. I’d forgotten about that one.

Since you’ll be spending most of the game playing the various first-person-past suspects, and not much playing the second-person-present detective, it sounds as if I’ll need to set the basic default messages to first-person-past and override as necessary.

The investigator will mostly be in his office and won’t have many commands at his disposal except to interview the suspects. He’ll be able to say “ASK JANE ABOUT THE MURDER,” “SIT IN CHAIR” or “EXAMINE JANE,” but for the most part he won’t be traveling, taking items, searching, reading, turning lights on and off, wearing clothes, and whatnot. Those few commands the investigator can do can be captured individually; those he can’t do can be rejected with a few generic “keep your mind on the case” and “you’re not leaving this guy alone in your office” messages.

I think the punctuation will do what I need, also. Thanks for the tip. :slight_smile:

(On the subject, that was the intent of the extension “Grouped Messages as Dialogue”, which also grouped related game messages together by the tone of their interaction. For example, “inserting something into itself” and “closing something [already] closed” would both be tagged as ‘redundant’. The extension allowed the author to create one message for any redundant interaction, like “‘Feeling absent-minded today?’”, so the author could replace most-to-all of the game’s default messages with NPC dialogue without having to write 300 unique messages per character, many of which would never be read. The grouping mechanism saved work.

I intend to fix the extension by the end of the year, but I must get a few other things off my plate first.)