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 users to input a command to play a live streamed videogame" with 1,165,140 participants.

The concept was developed by an anonymous Australian programmer and launched on 12 February 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 1 March 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 5 December 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 fake money 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.A. Haque. "Unsupervised Context-Aware Anomaly Detection for Identifying Trolls in Streaming Data ," Department of Computer Science, University of Texas at Austin, 2014.

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 (pressing START) 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 the Red version, 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 the Emerald version on a fixed date, though the players were able to complete the Crystal version 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 the Red and Blue versions; 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 playthrough of the Red version earlier. The developer stated that he intentionally changed the game data of the Crystal version to behave in this way, as it was Game Freak's original intent when creating the game that the player would face Red in the Crystal version using the party they had finished Red with. the Crystal version 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.

The Emerald version 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 hardware using a hard-mod 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 the Red version began in February 2015. The goal was to complete the game's main storyline and to catch all 151 Pokémon (complete the Pokédex), the latter which they did in around 39 days.

To celebrate the project's fourth anniversary, the channel started a new playthrough of both the Red and Blue versions 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 games, the channel began using more fan-created mods of them.

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

Viewership