Our work-in-progress Exploit: Zero Day is heavy in story. It's a social, cyberpunk puzzle game that explores conspiracies and oppression and questions who you can trust. The browser-based, intermittent format of the game makes it impractical to use traditional narration to tell our story, so we've employed a few interesting techniques in our storytelling: roleplaying, epistolary style, and non-linear, parallel narratives.
The major characters of Zero Day all exist as members of the game's discussion boards. They make announcements and respond to threads in-character. The players can even PM them to ask questions or share information.
This approach contributes to the living narrative of Zero Day, where broad mysteries are explored and solved and major decisions are made by the players as a whole. However, it does muddy the waters with regard to smaller stories.
As a big part of the game, players pursue jobs, which are bits of single-player story assigned by characters. Jobs can be played whenever the player qualifies for them, which can have the odd result of two players helping the same person escape from prison months apart. While we trust our players to suspend their disbelief and accept this as a necessary part of the game's structure, it does make it a bit weird to, for example, have the character KernelPop respond to a question about a storyline that's ongoing for one player even though the public storyline assumes the events in question concluded months ago.
There is very little narration in Zero Day. Nearly all of the story is communicated through documents: emails, files on servers, blog articles, and chatlogs. This helps to provide a sense of authenticity to the relatively over-the-top story. Events that might seem over-the-top in traditional prose recover a certain credibility when described in fallible letters or in the detached tone of a news article.
Some of our documents are real-time; they're apparently written by characters in response to the player's current actions. Job emails are usually in this style. Someone writes the player with a request, the player responds, and the contact replies in turn. This gives a good participatory feel, although too much exposition in this format feels forced. People just don't explain much in emails.
Other documents are presented as pre-existing. They might be documents that the player is coming across as they hack into a system, or they may just be related documents that might come up in a web search. In the original Exploit these were explicitly the result of a news alert service the player had running, but in this game we're keeping it vaguer. These might be diegetic documents that the player character is finding, or they may be non-diegetic, presented to the player but not their character as a way of fleshing out the story.
One of the cooler things we can do with the story format is have multiple threads running in parallel, maybe even with different styles. Jobs have three main threads with which to deliver story. The first is the sequence of job emails, which are usually from one contact to the player. However, that can be mixed up a bit; we can have other characters enter the conversation or include quoted snippets of emails that didn't include the player. We even have a delay mechanism so that we can pace out some content, making the player wait before getting an update on a piece of story. We have at least once case where we're planning to delay a message for months to provide a real sense of surprise.
There are also story threads within the puzzle content. A job can have one or more clusters, which represent computer networks. Each cluster has a bunch of puzzles in it (called "systems"). A cluster has a layout and an order, telling a story with the names of the systems and which systems must be solved to unlock other systems. Each system has two bits of text associated with it: the pre-message and the post-message.
The pre-message is readable as soon as a system is available to play, and often serves as an introduction to that system. The post-message is readable only once the system is solved, so it often serves as a reward to the player. We typically have all the pre-messages for a cluster share a common theme and all the post-messages share a common theme. Sometimes these are the same theme, and sometimes they're different.
The end result of all this is that we can have three different narratives running in parallel. For example, the job messages can tell the story of a mission that a character is sending you on. The cluster systems' pre-messages can provide the public story behind a situation through interviews and news articles. The cluster systems' post-messages can show you what's going on behind the scenes through private files and logs.
This multi-layered narrative lets us tell a story with multiple facets and helps promote one of Zero Day's themes: ambiguity and moral gray areas. By seeing a story from multiple perspectives at once, you can understand how the people involved might all think they're doing the right thing even while performing awful acts.
Two Story Templates
These storytelling techniques all come together to suggest two reusable story structure templates. While a number of other approaches are available, most of our stories use these two templates.
A character contacts the player about a problem in the present-day. Some past event has resulted in a bad situation, and the player needs to understand that past event and retrieve an important bit of information or take some action related to it. The player enters a cluster, where they are encountering pre- and post-messages that were authored in the past relating to that event. They accomplish their goal and emerge from the de facto flashback to complete their job and find out the results of their present actions.
A character contacts the player with an urgent situation. Some trouble is brewing right now, and the player can address it with active guidance. The player enters a cluster and the pre- and post-messages they see are communications from a character in the present, guiding them through the cluster's systems and providing them feedback in the actions they're taking. Once they reach their goal, the player emerges and gets a debriefing in a final set of job messages.
These templates are easily mixed and matched. One of our currently-available jobs is primarily an archaeological job: the player is uncovering what happened years ago when a woman went missing in Peru. However, one of the job's clusters is run by people who would be speaking Spanish or Quechua. As Zero Day is in English, that cluster has a translator and local expert as a guide who translates and interprets the documents the player finds. The events and documents are rooted in the past, but the guide is presented as responding to your actions in real time.
Storytelling in a living, online, non-linear space presents various challenges: maintaining verisimilitude, making sure the player gets the background story they need, and preserving a sense of urgency for the game's events. We tackle these challenges by using an epistolary style that makes dramatic cyberpunk plots seem more authentic. We present exposition partly through background documents with a deliberately vague origin, providing this setting information in an almost ambient style. Finally, we maintain multiple parallel narrative threads for a given story, enhancing the story's feeling of interconnectedness and giving it a sense of moral ambiguity.
Do you see additional potential in our approach? Do you have any suggestions for how we tell stories? Please share your thoughts in the comments.