Twitch Plays Pokémon

Twitch Plays Pokémon (TPP) is a social experiment and channel on the video game live streaming website Twitch, consisting of a crowdsourced attempt to play Game Freak's and Nintendo's Pokémon video games by parsing commands sent by users through the channel's chat room. It holds the Guinness World Record for having "the most participants on a single-player online videogame" with 1,165,140 participants.

The concept was developed by an anonymous Australian programmer and launched on February 12, 2014, starting with the game Pokémon Red. The stream became unexpectedly popular, reaching an average concurrent viewership of over 80,000 viewers (with at least 10% participating). On March 1, 2014, the game was completed after more than 16 continuous days of gameplay; Twitch estimated that over 1.16 million people participated, with peak simultaneous participation at 121,000, and with a total of 55 million views during the experiment. On December 5th 2014, Twitch Plays Pokémon received a Game Award in the "Best Fan Creation" category.

The experiment was met with attention by media outlets and staff members of Twitch for its interactivity, its erratic and chaotic nature, the unique challenges faced by players due to the mechanics of its system, and the community and memes developed by participants. Twitch as a company used the experiment to explore how they could make streaming more interactive for viewers and expand their offerings. Following the completion of Red, the broadcaster continued the channel with many other games in the Pokémon series along with unofficial ROM hacks. The broadcaster has plans to continue with other Pokémon games as long as there remains interest in the channel. The success of the experiment led to a number of similar Twitch-based streams for other games, and led Twitch to promote more streams with similar interactivity with watchers.

Premise
Inspired by another Twitch-based interactive game, Salty Bet (a website where users can wager on the outcome of randomized M.U.G.E.N. matches), and described as a social experiment, the system used by the stream was coded by an anonymous Australian programmer, colloquially known as the "Streamer", consisting of an IRC bot written in Python and the Game Boy emulator VisualBoyAdvance. The script captures specific case-insensitive messages (directional commands, "B", "A", "select", and "start") sent into the stream's chat room by users, and sends them to the emulator as button input, thus controlling the game. An additional web app coded using JavaScript is used to display a live tally of moves that are shown within the stream. The Streamer chose Pokémon Red and Blue for the project, citing nostalgia for the early games, the fact that "Even when played very poorly it is difficult not to make progress in Pokémon", and because its current control structure "[wouldn't] work with any genre that isn't a JRPG", particularly targeting its "forgiving" turn-based structure and lack of reaction-based gameplay, compensating for the large amount of input lag between the game and the stream. The Streamer used an edited version of the game, which claims to make all the original 151 Pokémon accessible, in hopes of making completion of the Pokédex a possibility. However, the edited version used was unfinished and has no gameplay differences when compared to the original game.

The erratic nature of the control scheme has made the game longer and harder to play than under normal circumstances; an Ars Technica writer commented that "(Red) gets stuck in corners. He walks in circles, compulsively checking his Pokédex and saving over and over again. Commands stream in from the chat channel faster than the game can possibly process them, making progress difficult-to-impossible even without the lag factor or the 'help' of gleeful trolls." Recurring difficulties have occurred with areas of the game involving mazes and ledges (areas with the latter taking as long as several hours to navigate due to users intentionally sending "down" commands to jump off the ledges), the accidental release (permanent deletion) of several Pokémon (including an incident referred to as "Bloody Sunday," where a total of twelve Pokémon were accidentally released whilst trying to obtain a Zapdos from the PC), and users repeatedly sending "start" commands to open the pause menu, often followed by opening the character's inventory to select random items. A system to throttle inputs on the Start button was added to mitigate this particular effect.

Despite the seemingly erratic process of playing the game, players have attempted to collaborate and strategize through various means, including infographics and a user script which hides command messages from the chat window to allow conversation. This was necessary for the players to progress as several areas of the game require coordinated actions to gain Pokémon with a specific skill needed to clear obstacles in Red's way, and earlier attempts without such coordination resulted in missing out on specific opportunities early on in the playthrough. In essence, the majority of players have attempted to counteract trolls trying to impede progress. A computer program was even created to automatically identify these trolls.

The Streamer has since collaborated with others to continue preparing tools for the games for the Twitch channel. This group had added live commentary on the games as they were played. As a result of intra-group hostility from some of the collaborators, the Streamer stepped down from his role as lead for Twitch Plays Pokémon on 22 November 2017, and gave control to another collaborator.

Progression and further games
On 18 February 2014, after encountering major difficulties with a puzzle in the Team Rocket hideout, a new mechanic was introduced in an effort to make the game easier to play, Democracy mode. On introduction it initially made all movements subject to a vote: all inputs received over a period of time (usually 30 seconds) were tallied, and the winning command would be executed at the end of that time. Users could also append numbers to their movements to specify the length of the motion, such as "right3" to mean three consecutive "right" inputs. Many people were outraged over this new system and protest broke out in the Twitch chat, many of them using the command "start9" (which would open and close the pause menu nine times to slow down progress) to fight the system. This became known as "The start9 protests." The broadcaster later reworked the mechanic so that users could vote to switch between two modes: "Anarchy", the previous default, and this new mode "Democracy." However, a change to Democracy mode requires a supermajority vote, while a change to Anarchy mode requires only a majority vote, as indicated by an on-screen meter. This change was considered divisive by players, who believed that Democracy mode conflicted with the original concept of the stream and eliminated the potential for randomness which had helped to drive the elaborate narrative and mythology that had built up around the playthrough.

Following the completion of Pokémon Red, a new game began on 2 March 2014, this time with the second generation game Pokémon Crystal. The developer set a deadline for the completion of Crystal with the plan to start Pokémon Emerald on a fixed date, though the players were able to complete Crystal well before this point. With the change to Crystal also came a change to the voting system; the Democracy mode was automatically activated at the top of each hour. By 14 March 2014, players had reached a major battle on Mt. Silver against Red, a trainer representing the player-character from Red and Blue; however, the game was also modified so that Red's team would consist of the same Pokémon that were used to beat the Elite Four in the Twitch Plays Pokémon playthrough of Pokémon Red earlier. The developer stated that he intentionally changed the game data of Crystal to behave in this way, as it was Game Freak's original intent when creating the game that the player would face Red in Crystal using the Pokémon they had finished Red with. Crystal was beaten on 15 March, with more than 13 days of playtime. The developer stated that even though fewer viewers watched Pokémon Crystal compared to Pokémon Red, he will continue the stream with other Pokémon games as long as there remains interest in the experiment.

Pokémon Emerald was started on 21 March 2014. With the shift to Emerald, the Democracy mode was initially disabled entirely. Emerald was repeatedly restarted due to its soft reset ability, but was later fixed by the broadcaster.

The shift to Pokémon X—the 1st installment in the franchise for the Nintendo 3DS, brought changes to the stream's setup. As there was no PC-based emulator for the 3DS at the time, the stream was conducted on actual 3DS hardware using a hardware modification known as the 3DS Streaming Console with External Control Interface (3xtDS); developed by Reddit user dekuNukem, also known as Twitch_plays_3ds (who has also designed an automated rig for "chaining" and detecting "shiny" Pokémon), the mod allows direct control of inputs on the device via a USB-based interface, and added the video output required for capturing the screens' content. The change to native hardware also allowed the stream to use the Wi-Fi capabilities of the device; other players of Pokémon X and Y could directly interact with the stream's player via Nintendo Network and the game's internet-enabled features, such as online battles, trades, and O-Powers. Following its release, Pokémon Omega Ruby was also played in the stream.

In honour of the one-year anniversary of the original run, a new playing of Pokémon Red began in February 2015. The goal was to complete the game's main storyline and to catch all 151 Pokémon, the latter which they did in around 39 days.

To celebrate the project's fourth anniversary, the channel started a new playthrough of both Pokémon Red and Pokémon Blue simultaneously. Players in the Twitch channel can specify which game their command is for, but otherwise commands are issues alternating between the two games, and when the game's democratic mode is on, the command voted on is used in both games.

As the experiment moved into its fifth year, having exhausted all the official Pokémon games, the channel began using more fan-created mods of the Pokémon games.

In honor of running for six years straight, the stream ran a gauntlet of 6 games in a row.

Viewership
Launched on 12 February 2014 as a "proof of concept", the stream was relatively inactive for the first day and a half of playing. However, the stream quickly went viral after that, reaching a total viewership of around 175,000 by 14 February (when players managed to beat the first of eight Gym leaders). By 17 February, the channel had reached over 6.5 million total views. By 20 February, the channel had over 17 million total views, and was averaging concurrent viewership between 60 and 70 thousand viewers with at least 10% participating. By then, the players had managed to catch 12 different species of Pokémon, and made it past the fourth gym. On the completion of Red, the channel had reached 36 million total views, with a peak concurrent viewership of 120,000, and an estimated 658,000 had participated. The Red stream was eventually recognized by the Guinness World Records for having "the most participants on a single-player online videogame" with 1,165,140. The large amount of activity on the stream resulted in "enormous (and unforeseen) stress" on Twitch's chat system, requiring the site's engineers to move the stream's chat to a higher-capacity server normally used during major e-sports events, while working on improving the infrastructure's scalability. The developer himself said, "I didn't think it was going to be this popular, I thought it would gain only a small group of dedicated viewers and many others would check it out briefly before moving on to other things. It's overwhelming how popular it has become."

Community
An active community of players also emerged on communities and social networks such as Reddit, which have liveblogged the proceedings and developed memes and other works around occurrences in the game. One item in Red's inventory from the start of the game was the Helix Fossil, which was used later in the game to revive Omanyte, but is otherwise functionless. The Helix Fossil was selected so frequently that it became an inside joke among players, and at times humorously calling it a deity which the player-character was constantly consulting for advice, and it quickly became the players' "religion". Players went as far as treating the fossil as a symbol representing a sect which supports Anarchy mode, while treating its counterpart, the Dome Fossil (which revives Kabuto), as a deity to those who support Democracy mode. Fans published "bibles" for the Helix religion.

Certain Pokémon captured by Red during the gameplay have also gained fan followings. Two Pokémon that were obtained early in the game, and then later accidentally released were the Charmeleon and Rattata, "ABBBBBBK(" and "JLVWNNOOOO", further nicknamed "Abby" and "Jay Leno". The team's Pidgeot, one of the highest level Pokémon in the group and often successful in battles, was named "Bird Jesus" by the community; concurrently, the team's Zapdos was nicknamed "AA-j" but referred to as "Archangel of Justice" or "Anarchy Bird".   Their Flareon was dubbed the "False Prophet", as players had accidentally obtained it instead of Vaporeon, which was needed so they could teach it the "Surf" move needed to travel on water, and it had later caused the release of the Charmeleon and Rattata. During the eleventh day of the event (23 February), which fell on a Sunday, the players inadvertently released a dozen of the captured Pokémon, effectively deleting the creatures from the game, an event that later became known as "Bloody Sunday". The practice of nicknames continued into Crystal, which included a new Pidgeot nicknamed "Brian", and a Feraligatr nicknamed "Lazorgator".

Reception
Media outlets have described the proceedings of the game as being "mesmerizing," "miraculous," and "beautiful chaos," with one viewer comparing it to "watching a car crash in slow motion." Ars Technica felt that it encapsulated "the best and worst qualities of our user-driven, novelty-hungry age," providing hours of arguable time-wasting entertainment through a word-of-mouth viral distribution. The stream has been compared to the infinite monkey theorem in that effectively random input to a game still ultimately comes out with forward progress in the game. Twitch vice president of marketing Matthew DiPietro praised the stream, considering it "one more example of how video games have become a platform for entertainment and creativity that extends WAY beyond the original intent of the game creator. By merging a video game, live video and a participatory experience, the broadcaster has created an entertainment hybrid custom made for the Twitch community. This is a wonderful proof of concept that we hope to see more of in the future."

Legacy
Twitch Plays Pokémon has also inspired imitators with other video games, such as Pokémon Blue, QWOP, Tetris (including one which used the actual command inputs from the original Twitch Plays Pokémon stream), Street Fighter II,   Halo: Combat Evolved (itself made significantly difficult by its nature as a first-person shooter), Metal Gear: Ghost Babel,  Dark Souls, Fallout 3, PlayerUnknown's Battlegrounds, Teamfight Tactics, The Legend of Zelda: Breath of the Wild, Pokémon Go (which used location spoofing to simulate the movement of a real person in response to viewers' commands), and Microsoft Flight Simulator. Similar Twitch Plays have been used for taking care of a virtual pet Tamagotchi, and installing Arch Linux onto a virtual machine through text commands entered one letter at a time. Inspired by this last application, another experimental "Stock Stream" was started in May 2017 to allow Twitch viewers to vote every five minutes on the trading of stocks on the New York Stock Exchange from an initial $50,000 fund provided by the stream's developer, placing some rules to avoid triggering any financial regulations. A similar approach using Twitter, with the Twitter's user icon serving as the game's output and user commands taken from tweets sent to the account, was launched in January 2021 using Pokémon Red.

The term "crowdplay" has been ascribed to similar games where the actions of the crowd directly influence the gameplay. tinyBuild used the "Twitch Plays" model to release Punch Club, holding back release of the game until either a preset date or completion of the game running via a public "Twitch Plays" stream. Punch Club later added the ability for viewers to bet on in-game fights using virtual Twitch currency, following a similar betting model used by Oxeye Game Systems for Cobalt. Telltale Games premiered a new "crowd play" feature for its adventure games starting with its 2016 Batman game, allowing stream viewers to vote on selected decisions within the game. In January 2016, Twitch created a specialized directory for various "Twitch Plays" streams, with their VP of Developer Success Kathy Astromoff stating that the company has recognized the growth of similar experiments, and enabling such experiments to be easily found by its userbase. Further, in March 2016, Twitch announced a new "stream first" initiative to help developers create games that are aimed for integration of streaming and chat atop more traditional gameplay, basing the format on the prior success of Twitch Plays Pokemon streams. Amazon.com, which acquired Twitch in 2014, developed the Amazon Lumberyard game engine that includes direct support for Twitch streaming to allow viewers to influence games via the associated chat, taking cues from the popularity of "Twitch Plays".

Another homage, Fish Plays Pokémon, surfaced in August 2014 as part of a hackNY hackathon. The stream, which consists of a fishcam in which the position of a betta fish in a fish bowl is used to control Pokémon Red, peaked around 20,000 concurrent viewers. Yet another homage, called π Plays Pokémon, maps every digit between 0 and 9 to a button on the Game Boy Advance and sends an input to Pokémon Emerald every second, echoing the idea that the mathematical constant pi is conjectured to be a normal number.

A Helix Fossil emote with the shortcut "PraiseIt" was later made available as a Twitch chat emote in celebration of the original Pokémon Red run.

On March 1, 2024, the official Pokémon Instagram account posted a video of various Omastar and Omanyte to commemorate the 10th anniversary of the original run’s completion.

Game completion
From Platinum to Black 2, the stream showed a second game, Pokémon Stadium 2, alongside the main game. Unlike other games, inputs for Stadium 2 were chosen at random and were not controlled by the chat. Instead, players on the chat were given virtual currency that could be used to place bets on the outcome of Stadium 2 matches. After Pokémon X concluded on 1 August 2014, a similar system was implemented, with Pokémon Battle Revolution taking the place of Stadium 2, as it added more features such as better graphics. This time, instead of inputs being entirely random, players who bet on the current match could vote on which move would be used by their team each turn; the system would randomly choose one of the bettors' choices, but players who had placed higher bets had a higher chance of their move being chosen. The developer has created a modded version of Pokémon Battle Revolution known as Pokémon Battle Revolution 2.0. It is meant to fix glitches and add various improvements such as additional battle arenas. During the interim, the stream showed Harvest Moon GB, Pokkén Tournament, EarthBound, Robopon Sun, and save states of the first four runs in reverse order.

In addition, an extra game is showcased to the side of any game currently being played. This game is a romhack of Pokémon Pinball dubbed simply Pokémon Pinball Generations, which adds two new boards based on the second generation of Pokémon. As such, all Pokémon from Generation II are now obtainable in-game, and Pokémon badges are awarded randomly when a Pokémon is caught during a Pinball playthrough.