Creating Interactive Supporting Characters

One of the first lessons I learned while translating my short story “The Burden” into a ChoiceScript game is how to realistically deal with interaction between multiple characters. I found that, if you have multiple characters in your story, it’s important that they acknowledge and communicate with each other. Otherwise, the entire world will be talking only to the protagonist and, while that would certainly give the reader a sense of importance, it would also be unrealistic and the characters would come off as one-dimensional sycophants. Games like Mass Effect and Dragon Age produce this interactivity by having side-conversations between the characters. However, with writing, we’re able to take this to another level where the side conversation becomes the main conversation.

For purposes of illustrating this technique, I’m going to use an example where the main character (MC) is on a car ride to the mall with four other people. For this example, there are six supporting characters – meaning that two of them are not on this particular car ride. The MC made a choice earlier in the story concerning which characters would be there and which would not.

Let’s say the characters are Carl, John, Lisa, Mark, Sara, and Todd. John is the MC’s best friend and will always be on the car ride because we need a “control” character – that is, we need a character we can depend on being there to keep the conversation cohesive. The examples below will better illustrate the need for this control character, so let’s get into the examples!

Oh wait! First, we need to create some variables that tell us whether a particular character is in the scene. I simple create a variable of their name and have it set to either true or false, like so:

*SET Sara true
*SET Mark true

So, in the above, both Sara and Mark would be in the scene. However, for our examples below, we are going to pretend we don’t know which characters are in or out.

John says, "I'm hungry. I vote we go straight to the food court so I can get a corndog."

Ok, John has started a conversation. Now we can get the other characters to interact. Let’s say Sara hates corndogs and Mark loves corndogs. Let’s also say Todd is a vocal vegetarian and Carl is allergic to gluten but a fervent carnivore. Great, now we have a lot to work with here!

*IF Sara
    "Ugh, corndogs are so nasty," Sara groans. "How can you eat something that's like a hotdog wrapped in a pancake? Gross."

    "I've never heard them described that way before," John says. "How can you *not* think that sounds delicious?"

In the above, we can have John respond to Sara’s remark since he is our control character. But that’s easy! What if we want someone else to respond?

*IF Sara
    "Ugh, corndogs are so nasty," Sara groans. "How can you eat something that's like a hotdog wrapped in a pancake? Gross."

    "I've never heard them described that way before," John says. "How can you *not* think that sounds delicious?"

    *IF Mark
        Mark says, "I gotta agree, man, corndogs are like so perfect because you can carry them around on the stick and just eat them and still do other things, like yo-yo."

        "Multitasking, right?" John says, "Yet another pro for corndogs!"

Look at that: now we have John, Sara, and Mark all talking. We could go deeper and add a comment to Mark from Carl, Lisa, or Todd but generally I only go “two deep” because the farther you go down that branch the less readers are ever going to see it. For the above conversation to actually happen, for instance, the MC would need to have picked Sara and Mark for the car ride. If the MC did not pick Mark, only have the conversation with Sara would be shown. If the MC did not pick Sara, then only John starting the conversation would be shown (Mark’s part of the conversation wouldn’t be shown since it is dependent on Sara). You can see how going any farther down the branch has diminished returns.

Now that we have the basics down, I’m going to include an entire scene below. See if you can envision the conversations between the people you’ve chosen to be on the car ride.

John says, "I'm hungry. I vote we go straight to the food court so I can get a corndog."

*IF Sara
    "Ugh, corndogs are so nasty," Sara groans. "How can you eat something that's like a hotdog wrapped in a pancake? Gross."

    "I've never heard them described that way before," John says. "How can you *not* think that sounds delicious?"

    *IF Mark
        Mark says, "I gotta agree, man, corndogs are like so perfect because you can carry them around on the stick and just eat them and still do other things, like yo-yo."

        "Multitasking, right?" John says, "Yet another pro for corndogs!"

    Sara sighs. "There's just no reasoning with corndog-eaters."

*FAKE_CHOICE
    #"I, for one, think corndogs are the perfect food."
        John pumps his fist. "Right? See, ${name} agrees too!"

        *IF Mark
            "Majority wins!" Mark shouts. "Corndogs for president!"

    #"If you ask me, corndogs are the most terrible creation ever invented."
        John laughs. "Really? I mean, *the* most terrible? What about the atomic freakin' bomb?"

        *IF Sara
            "Probably still tastes better than corndogs," Sara says.

        *IF Lisa
            Lisa grumbles, "I think *talking* is the most terrible creation ever invented."

*IF Carl
    "I wish I could eat corndogs but that batter makes me sick," says Carl.

    *IF Mark
        Mark frowns and says, "That sucks, man. That's like being allergic to girls."

        *IF Sara
            Sara says, "I think that's kind of offensive."

            *IF Lisa
                Lisa mutters, "And it doesn't even make sense."

*IF Todd
    Todd clears his throat and says, "You know, I hate to be *that* guy, but corndog batter contains a lot of dangerous ingredients and chemicals that totally screw up your body." He pokes his head between the seats. "I'm serious. Your metabolism, your PH-balance, your ability to hydrate and maintain a healthy temperature: all that is thrown off by a stupid corndog."

    "Everything you eat contains stuff like that," John says, "so you might as well eat something delicious."

    *IF Carl
        "I gotta agree with Todd on this one. When I eat something like that, I feel all out of whack for hours."

        "See?" says Todd. "That's your body telling you not to eat that junk."

*IF Lisa
    "Ugh, can we please not talk about stupid corndogs?" Lisa asks, dropping her head back against her headrest. "I only agreed to come so I could get the new Mortal Combat game."

    John shouts, "Corndog-ality!"

    *IF Mark
        Mark laughs. "Oh man! Corndog-ality! That would be amazing! They should totally put that in the game."

    *IF Todd
        "Well at least that would be realistic to put in that game," Todd says, "because corndogs *will* kill you."

    *IF Sara
        "I'm with Lisa," Sara says. "On the corndog thing, anyway. I *hate* Mortal Combat."

        Lisa's hands curl into fists on her lap and she scowls at Sara. "*What* did you just say?"

"All right," John says, "we're here! Everyone out!" John opens the door and hops out. "You know, I think I'll get a burrito instead."

Okay, whew! Now, I got carried away above and made a mistake: I went too deep on one of the branches. I went from Carl, to Mark, to Sara, and then to Lisa. Sometimes breaking the “two deep” rule is fine – especially if the buried line is particularly funny, interesting, or insightful – but in this case breaking the rule only increased the file size of my game: there is no possible way the reader will ever see Lisa’s line in that branch because if Carl, Mark, and Sara are in the car, she is not! Whoops.

Another important thing to see above is that the scene still makes sense if you remove any of the branches. That’s important for scenes such as this because you can’t depend on any of the characters being there except for your control character. Given that, you’ll usually have to depend on your control character to start or wrap up scenes as I did above in the example. It’s certainly possible to do it with the MC or with a supporting character, but it’s much more work.

I’ll end this with a piece of advice gleaned from writing many of these scenes: the easiest way to create believable scenes of characters interacting is to know your characters. Once a character says something, you’ll be able to imagine how the other characters would react to it and start making branches. That’s why I defined some basic traits for the characters before I started writing the scene: with Todd being a dedicated and outspoken vegetarian, I know he’d have surely something to say about corndogs and with Sara hating corndogs it was easy to imagine that she would want to express her disgust. Et cetera ad naseum.

Hope this helps some writers short-cut the learning process a bit!

30 Likes

Thanks for this, I was honestly wondering how to implement a similar setup but wasn’t sure how.

Clearly shows I was overthinking when I made my system. Not accounting for a control person, very complicated series of code to ensure the MC can take anyone along with them and it ensures the companions converse with one another.

Suffice to say…not the best way to go…

I would drive that car off a cliff. =P Nice example though.

3 Likes

I remember liking this scene for this reason alone that there are multiple possibility depending on characters present.

I have to agree, NPC should interact more. In so many games world just felt… meh. Like:
Choice A if in party A: Spend time with stereotype A
Choice B if in party B: Spend time with stereotype B
Choice C if in party C: Spend time with stereotype C
And where is choice, spend time with them all together trowing BBQ party!! Seriously.

1 Like

Lol ya know I had almost forgot about that concept. So simple yet o so important.

I’m really thinking for changing things up a bit sake, having the controlled, or person that is consistently there to converse with others brought along on trips change with every new chapter…or scene. Yea that’s what I’ll do ^~^ though I’ll need a reasoning behind it hmm…

Bookmarked this, thank you. I was thinking of how I was going to be able to implement character banter into my game.

1 Like

You should post this again on the choicescript wiki.

Thank you by the way, it helps a lot.

1 Like

This is very helpful as well. Thank you.

3 Likes

Out of curiosity, does anyone have advice for developing the character of an inanimate teddy bear?

Later on in the story I want to give an option to make this teddy bear into a sentient automaton. But I’m not quite how to write the responses of my characters.

Also currently I only have one other interactive active character and that’s the MC’s mother. It’s sorta of only been the two of them for the pass two scenes and they haven’t really interacted a lot so far. I wanted to fix it in the next scene with a lot of possible dialogue. But is that enough?

You’ll have to anthropomorphize the teddy bear. The easiest way to do this is to image a person (or person’s soul, essence, mind, whatever) is stuck inside of the teddy bear. Even if this isn’t “true” in the story – say for instance the teddy bear somehow simply became sentient – this will still help you attribute human qualities to the bear which will allow people to identify and empathize with the teddy bear.

Then, when you later make the teddy bear into an automaton, you can keep that “person” inside of it that you previously developed and it will have a personality.

This is what Isaac Asimov did with his robot characters like Daneel Olivaw. They’re just people with certain restrictions on them. You can do the same with the teddy bear: for all intents and purposes, it’s a person with the restriction of a small fluffy body.

Yes. If it works for the story then it simply works. Think about Tom Hanks in Cast Away. Only at the beginning and ending of the movie did he actually speak with other people. But the story works because the story isn’t about his interactions with others, it’s about his interactions with himself.

Also Cast Away is a good source of inspiration for your story, because Wilson is actually a person trapped inside of a volleyball. Sure, we never hear that person speak, but to Chuck Noland (Tom Hanks’s character), Wilson is indeed a person. The writers had to give Wilson a personality. That’s how they were able to have Chuck talk to Wilson so convincingly, because they imagined Wilson’s personality and responses even though we don’t get to hear them.

And that’s also why we know Wilson is heartbroken but at the same time forgives Chuck for accidentally letting him/her drift away from the raft. It’s not because Wilson says or does anything, but Chuck’s reaction to seeing Wilson float off into the ocean shows us that he believes – and we believe – that Wilson is a real person. Because when Chuck is screaming over and over again that he’s sorry, he’s not talking to a volleyball.

4 Likes