The Talking Dead
Twitch + Improv + VR
An asymmetric multiplayer, improvisational, zombie-killing gameplay experience (streamed on Twitch!)
The Talking Dead is a video game that combines improvisational storytelling, zombie killing, and Twitch-assisted asymmetric multiplayer. Players must tell a story to an audience of approaching zombies. Each zombie is associated with a word that floats above their head, and the only way to kill a zombie is for the player to utter that word while spinning their yarn.
This game is best played on Twitch, where viewers can provide direction by submitting their own zombie words and voting on player performance.
Live streaming game sessions as a form of entertainment has surged in popularity in recent years, most notably on the Twitch platform. Modern design paradigms allow for a new frontier of entertainment, in which content creators can directly and continuously interact with their viewers as they watch.
The Twitch platform has reflected innovation back on game designers. Twitch Plays Pokemon was a phenomenon in which viewers collectively controlled a livestreamed play session of Pokemon Red. Thousands of viewers contributed, and ultimately, after much struggle, the game was conquered. From a game design perspective, Twitch Plays Pokemon is a pioneer of crowd controlled gaming.
Our team’s goal was to design and prototype a game with a primarily Twitch-controlled mechanic.
We started out with a few possible spaces that would define the game’s mechanic, initially generated through some design brainstorming exercises. The most compelling idea to emerge from this involved an aspect of Twitch that streamers must confront: public speaking. We thought of turning the often intimidating nature of the streaming interaction—figuratively standing in front of an audience of thousands—into a game mechanic. Perhaps our game would be a therapeutic tool to help streamers improve their craft.
We broke down the problem and considered what qualities distinguish good public speakers from bad ones. We came up with some qualities like calmness, fluidity, heart rate (a good public speaker would remain calm under pressure), and ability to improvise. This last concept intrigued out team the most. Improv already has “games” actors play to facilitate the comedy. Could we adapt something similar to a video game?
Improv actors never say no to one another. No matter how ridiculous the direction one actor goes in, the others play along. This mechanic translates very naturally into video game design. When given a prompt a user plays along to proceed with the game.
We combined this concept with another piece of inspiration from gaming history: a Sega Dreamcast game called Typing of the Dead. In that game, the player kills zombies by typing words that float above individual zombies’ heads. If we converted typing words to speaking words, this was something that could prompt a user to speak and be livestreams. In The Talking Dead, zombie words had little connection to each other. A player speaking random gibberish probably wouldn’t be entertaining or useful for public speaking. However, if the user was forced to turn the gibberish into something coherent, the results could be funny to the audience and more difficult to the player.
We decided at this point that our game would be called The Talking Dead.
Our initial design was a game combining Typing of the Dead and Improv. The user’s goal would be to tell a story, saying words to survive the zombie onslaught as long as possible. These words would be fed into the game through Twitch Chat’s API, similar to how Twitch Plays Pokemon’s controls were implemented.
We explored the possibility of feedback loops to affect game performance. Twitch chat integration would also allow users to vote on player performance, ie. how well the main player was telling their story. We had essentially two options: should the game get easier as the player does better, or should it get harder? We decided on the former. We would tie downvotes to an increase in zombie walking speed, slightly increasing the tension a rattled player might already feel.
To map out the interactions between our game’s various entities, we created a game map, and used this document to proceed with development.
We invented a “paper prototype” version of this game to test with players early. In this iteration, the main player sat in a chair while zombies (other play testers) walked towards them holding words on pieces of paper. Initially, the main player struggled to get the story started. They would panic and stutter, unsure of what to say.
We decided to add a prompt phase to the game, in which a user if given a subject to use as their starting point. We gave them a “randomly generated” prompt consisting of a person, place, and action. For example, “Abraham Lincoln”, “New York City”, and “Saving the princess” would together be considered a prompt.
This change had immediate results. The main player told a much better story and progressed further in the game.
At this point we were ready to build a digital prototype. I will skip over some of the details with development/product management at this point and get straight to the features that were implemented. I served as technical lead for this project, so I did the majority of the development work and coordinated development efforts among our teammates. The main areas of development are as follows:
Unity and Basic Gameplay Mechanics
The game is built in the Unity engine. We ended up with four scenes: the start screen, the prompt scene, the core gameplay scene, and the game over/score screen. Of these, the core play scene is obviously the most interesting.
The player is stationary in the middle of a graveyard. Every few seconds, a zombie spawns with a word and slowly moves towards the player. The words are pulled from a queue that uses Twitch-supplied words when possible and otherwise uses pre-loaded words. A maximum of four zombies can exist at a time. When a word is uttered, that zombie gets destroyed and a new one is generated from the queue.
The player's goal is to survive while a two-minute timer counts down. If the user survives the full time, they win! Otherwise, a zombie reaches them and they lose. Either way, the number of zombies killed is recorded as the score.
Our game connects with a twitch channel. Users can input two different commands:
The word command inserts a word into the queue used for generating zombies. To avoid random gibberish, we cross reference submitted words with a dictionary of actual english words.
The vote command affects the approaching zombies’ speed. A game-wide value is calculated from the last 10 votes and is mapped to a zombie speed value.
The game is streamed using OBS software. There’s a few seconds delay between what happens in game and what the viewers see, but this is normal for Twitch. Though viewers are technically interacting with a delayed version of the game, this doesn’t negatively affect gameplay since adding words/voting on performance aren’t time-critical actions.
Random Scenario Generation
The prompt for each game is randomly generated every time the game starts. It pulls from a pre-made list of people, places, and actions. As mentioned earlier, the prompt is then displayed on a podium in front of the user.
To fully immerse the user, we chose incorporate VR into the game. Unity made it trivially easy to incorporate VR into the project using the Oculus OVRPlugin.
According to VR best practices, HUDs should be avoided since they disorient the user in VR. Instead, game stats should be displayed in world space. For our game, we display game stats on a podium situated slightly below the viewer’s starting field of view. The current prompt is displayed, along with time remaining and number of zombies killed.
Speech to Text (Wizard of Oz)
The one tech we punted on officially including was speech-to-text to actually determine if the user said a zombie's word. I tried a few packages (IBM Watson had a promising one), but ultimately it wasn't worth the effort to get it working well enough. Instead, we employed the "Wizard of Oz" prototype technique. Meaning, someone (me) would fake the text to speech interaction by typing relevant words said by the main player to kill zombies. This way, we tested the mechanic and not the technology.