Writing interactive stories with branching and influenceable narrative can be a mammoth task. When we are writing stories at Charisma, we use a few tips and tricks to start our stories off on the right foot and keep them organised.

You do not need to follow these to the letter, and you can use Charisma in whatever way works best for you, but we include these as a guide to organise your workspace and create the best story possible.

Define the Player’s Role

Charisma puts players front and centre inside the story. Without the player, these stories do not exist. For players to thrive, clarity, transparency and simplicity around their role in the story is vital. Players can steer the experience and engage in compelling action only once fully equipped with a clear role and task.

Engage in Conversation

Charisma eliminates barriers between characters and players. No button-pressing, no controls, just natural flowing conversations. Our stories focus on never letting the suspension of disbelief drop and keeping the player in the world of the story, through the power of conversation.

Create Player Choices

In Charisma, players are truly free to react however they want. Compelling decisions with no multiple choice and, importantly, no judgement. The player can absolutely have an opinion but that may lead to narrative consequences.

Make an Impact

The most impactful stories are a balance of narrative control and satisfying interactions. We want our players to feel heard at every opportunity with a mix of responsive character dialogue, tangible feedback and rewarding encounters. Using 'Impacts' the author can help to illuminate untrodden narrative paths and boost replayability to encourage players to discover the rich worlds Charisma allows writers to create.

Positioning of the player

Who is your player?

In our in-house stories the player is always themselves. You are you. We encourage them to use their own name, and we don't place any specific roles onto them, just clear goals. For example, in Sherlock Holmes and the Vampires of London, the player is themselves, standing in for the role of an absent John Watson, rather than playing the role of John Watson himself.

This may not be exactly the case in your story, but think about what position you want your player to take in your story, how do you want them to engage, how do you want them to feel? And when you know the answers to this, make sure you let your player know, early and clearly what is expected of them.

Suspension of disbelief

Charisma is made for creating engaging drama, lifelike characters and crafted conversations. Keeping the experience believable is vital, so think about the following:

  • Keep the conversation flowing. Ideally, we never want the player to hear a character say to them "I don't understand you". Use as many player nodes as possible to increase the chances your player will get a response that makes sense. Make use of intents and wildcards
  • Reliable characters. Craft distinct and varying characters. Let your player learn about them and get to know them. Work to flesh out the characters before you start writing and keep developing as your story builds.
  • Generic and specific. Write character responses that are both generic and specific. Sound impossible? Sometimes it feels like it, but here's an example:
Character: What do you think of bears?
Player: I love them.
Character: Me too! Bears get a bad rep, but they're good at heart, aren't they?

In this case, the player's response of "I love them" would have been picked up by a Thumbs up intent, if there was one there. Now, what if the player had said "They're good"? This would also have been taken through the same Thumbs up intent and the conversation would read like this:

Character: What do you think of bears?
Player: They're good!
Character: Me too! Bears get a bad rep, but they're good at heart, aren't they?

Now, suddenly the Character response does not make sense, and the suspension of disbelief has been dropped. A slightly more generic response might be:

Character: What do you think of bears?
Player: They're good!
Character: I agree. Bears get a bad rep, but they're good at heart, aren't they?

Or even further, and covering more possible responses:

Character: What do you think of bears?
Player: They're good!
Character: Bears get a bad rep, but they're good at heart, aren't they?

There are many ways to do this, and very slight changes to your character responses like this are the difference between your player feeling like they are being heard, or not. Responses like this are both generic and specific.

Story tips

A selection of some things we have learnt that work well across stories:

Use yes/no questions sparingly

Questions that can be answered by the player with a yes or no can be a simple way to progress through a story whilst giving them a choice. However, Charisma allows for so much more than that, and it is purposefully not multiple choice. We try to minimise the use of yes/no questions, particularly at the start or stories, to encourage players to engage further.

Are you okay? turns into How are you feeling? Did you see that? turns into What did you see? Do you like sport? turns into What's your favourite sport?

Write for mobile

Keep your output in mind. In general, mobile devices have shorter engagement times and so shorter scenes and episodes work really well.

Is your story an epic, spanning 6 generations, 2 apocalypses and a relocation to a new planet for humankind? No bother. Administer portion control. Break your story up into Episodes. Within Episodes, use scenes, and within scenes, use narrative breaks such as breaks in visuals, black screens, and breaks in sound.

Wildcards are your friend

Always use a wildcard at every interaction point to make sure your story will always flow, no matter what your player says. And when you have a series of character nodes without Tap to Continue switched on, consider adding Wildcards, just in case your player interrupts at that point.

Consider the fiendish players

There will always be some players that try to break your story. They will insult the characters, they will ask unexpected questions, they will be rude and they will be as difficult as they can possibly be.

To protect your story:

  • Cover as many options as possible at interaction points by adding many player nodes and a wildcard.
  • Use Insult Intents at interaction points.
  • Allow players to get kicked out. If they mess around, they're out! See how to use a counter to do this in the Charisma Maker Tour, in the Memories and Gates: What is your name Subplot.

Choice vs test.

We try to give our players a choice, rather than testing them. We like stories to feel like they are a journey through a narrative, as opposed to a test of memory, knowledge or patience.

Graph tips

The more detail you add to your story, the more crowded a graph can get. These tips are especially for keeping your workspace organised so you can focus on refining your narrative.

  • Keep scenes short. As well as affecting the narrative pace, keeping scenes short means that graph sizes are easier to manage and edit.
  • Minimise duplicating nodes. For ease of editing, try not to duplicate large sections of your story. If two narrative paths in your story are similar, with small changes depending on player choice, use gates instead to differentiate those points. It is initially more work to add the gates, but will save you time when editing later.
  • Utilize the tools. In-built tools like groups, passthrough nodes and comments can help you keep organised. Get into the habit of using them early.

Naming Conventions

Creating adaptable and fluid experiences for your player? You're going to need memories and categories... and you may need a lot of them. When in the flow of writing, the last thing you want is to have to check back on what your memory name is.

  • Player name - We use the tag <playername> across our stories to keep it simple.
  • PascalCase or snake_case: pick one. Memories and Categories do not allow spaces in the saved name. So, we recommend choosing either PascalCase (HelloIAmPascalCase) or snake_case (hello_i_am_snake_case) and sticking to it across your whole story when naming memories and categories.