Blurring the lines between game worlds and real life by communicating with game NPCs via SMS, voice and email

I’ve been playing with a game mechanic lately that involves a player communicating with in-game non-player characters (NPCs) using real world communication channels such as SMS, voice calls or email. As I may never get the chance to actually incorporate it into a game myself, I wanted to blog some of my concept ideas for prosperity’s sake and I figure they might inspire anyone else who might be working on a game or app using these similar mechanics.

A few months back I was reading about a project called SextAdventure, a texting game created by Kara Stone which describes itself as a choose your own sext adventure game. The concept is rad, I suggest you check it out. Even more impressive is the technology behind it, Txtr built by Nadine Lessio, a Python engine that allows you to convert text based adventure games into real life texting usingTwilio.

I was really inspired by the idea of engaging with a game via communication channels (in this case SMS) that are typically primarily used to communicate meaningfully with other people.

I was immediately consumed with how this could be used for a bigger, story driven game. In reality the mechanic is no different to the text based adventure games genre, however the use of SMS, voice and email in combination with contemporary mobile devices opens up a range of possibilities to change the nature of how you could communicate with an in-game NPC (a non-player character or NPC is a character in a game generally controlled by a program, not by a human) for example:

  • The ability to interact with multiple NPCs at the same time
  • Maintain a history of all the conversations you’ve had with NPCs over time
  • Allow you far greater control over how you role play your character within the game as the dialogue for your character is completely provided by you
  • Your interaction with a NPC is completely unique to you
  • NPC responses can be tailored to the context of the player with far greater depth. For example the location, time of day, response time and language used by the player could all alter the NPC’s style of response
  • Contact with NPCs is not limited to within a game application, the game, so to speak, can operate completely abstracted from the players ongoing communication with the NPCs, though the two are no doubt intrinsically linked

My thinking borrows inspiration from the Txtr project in which users are presented with dialogue by the game and within the text the options to progress are capitalised. Players then reply with the corresponding keyword in their text response and the game selects that path and responds with the next piece of dialogue. See video below for an example.

Because the option keywords are somewhat independent of the other dialogue text, it would be possible for NPCs to change their tone and attitude towards a player without impacting the core choice options framework that must be present for the player to progress through the game.

Where I think we can extend this concept is through the use of voice calls and email just as Txtr has made use of SMS and MMS. I’m not exactly sure how you would design the architecture for this, but I image each NPC would become a coded function with a logic rule set and a table or two in the database. The rule set for each character would define their personality and possible responses to user input. The associated tables in the database would record which dialogue has already been shared with the player, the player’s responses and behavioural analytics about how and when the player replies.

At its core Txtr is a python engine that interacts with the online service Twilio. A platform that lets you use standard web languages to build voice, VoIP and SMS applications via a web API. Some of things Twilio lets you do includes:

  • Send and receive SMS
  • Send and receive MMS
  • Automatically capture and archive voice interactions
  • Broadcast text to voice calls to users
  • Send and receive SMS via email (using SendGrid)

So there is lots of untapped functionality here that we could make use of for a game mechanic that enables communication with NPCs:, for example:

Send text-to-speech voice calls or pre-recorded voice calls from the NPC (voiced by voice actors) to the player that further the dialogue. We could also accept voice calls from the player to the NPC, capture the audio and perform speech-to-text conversion for analysis.

Have the NPCs send picture messages (MMS) along with normal text SMS

Have NPCs email the player information in emails or as attachments

Have players respond to emails through their personal inbox

What I find exciting about this is that the player’s interaction with the game intersects with their everyday social communication applications, language and behaviour patterns. Someone texting on the bus could be texting a friend or putting the screws on an informant for more clues. Your game contacts live inside your contact list alongside your real life contacts, blurring the lines between real world and in-game personalities. NPCs would contact you out of the blue with an SMS just like your mother might and whether you reply or not will have consequences either way. You may end up texting with your NPC contacts more than your actual friends (forever alone?).

I believe these kinds of mechanics lend themselves perfectly to role playing, story driven games. Alternate reality games (ARG), mystery solving, gather the clues, or even hacking and corporate espionage genres. Could you image Uplink but with missions and messages coming into your real life inbox.

These mechanics could provide a more engrossing game experience by allowing the player to express more of their own personality and language when taking on the role of the lead character. Additionally by manifesting the game amongst real world apps on the users mobile device you embed the game much more deeply in their everyday life.

While there are some limitations to expressing yourself through text, there is also a lot we can convey by the type of text responses we give. Game designers could further convey an NPCs personality through their responses. Do they tend to write long winded replies or short, sharp bursts of abbreviated text, LOL WUT? Do they use emoji? Do they correct spelling mistakes or just leave them in? Do they get tripped up by autocorrect? There seems to me to be a wealth of opportunities to enrich the personalities of your NPCs through these types of interactions.

Right now my concept is basic, as an amatuer developer at best, I am limited by what I can achieve using Twilio. However, I suspect that someone more experience in linguistic/syntax analysis could extend these ideas to handle far more complex interpretations of players’ dialogue responses. Maybe altering the tone and format of the NPCs replies in turn. E.g. Talk rudely to your contact, expect more vague replies in the future. Message your contact in the middle of the night, expect fairly short, stunted replies (unless they’re a night owl in which case it might be better to message this particular NPC at night, hmm there’s an idea).

So that’s where my thinking is at for now, while I’ve some other ideas for how these techniques could tie into some larger ARG concepts, I’ll save that for another post. I’d love to make a small indie title exploring some of these concepts one day. Alternatively, I’d love to play one that uses these mechanics. Have you seen any games that use some of these techniques? Let me know in the comments below.