Twitch Plays Pokémon: Better than Prime Time TV

What do you get when you put together a classic Game Boy game, some glue code, a streaming video website and 1 internet? Twitch Plays Pokémon (TPP), a social experiment where thousands of people “cooperatively” play a game of Pokémon Red/Blue. TPP was created by an anonymous Australian programmer who enjoyed the SaltyBet interactive channel on twitch.tv. Rather than use SaltyBet’s method of having users interact via an external website, [TPP’s creator] decided to use twitch’s own IRC based chat servers. Starting with VisualBoyAdvance, a popular C/C++ based Game Boy emulator, [TPP’s creator] began building the system. [TPP’s creator] went with python to create the web-to-emulator interface. A JavaScript app displays the live moves on the right side of the screen.

Gameplay is simple – users type their command (Up, Down, A, B) into their IRC or web client. In the original configuration, commands were processed in the order they arrived at the game. The system worked until the whole thing went viral. With thousands of people entering commands at any given time, poor “RED” would often be found spinning in place, or doing other odd things. The effect is so compelling that even [Randal Munroe] has written an XKCD entry about it. To help the players get through some of the tricky parts of the game, [TPP’s creator] added a game mode selection. Users can play in “Democracy” where the system takes votes for several seconds, then issues the highest voted command. The original anything goes game mode was renamed “Anarchy”. Switching from one mode to the other is determined by the users themselves in real-time.

24 thoughts on “Twitch Plays Pokémon: Better than Prime Time TV”

It was, previously, funneling input from TwitchPlaysPokemon into a simultaneous Tetris game. Now it appears to be playing Pokemon Puzzle Challenge. Plus it has charts and graphs and other ways to visualize the input to TPP.

Just saw that this ended yesterday in victory. I have no idea why this project fascinated me so much. It was really boring to watch, but the highlights were entertaining, and I’m glad it somehow stumbled its way to success.

i tried to interact with it but when i was there it was two bots flooding the screen. on said “Democracy” and guess what, the other said “Anarchy”. whoever set those bots up needs a bullet in the brain.

What about the fact that they’re charging $4.99 for a subscriptions to the channel? I know it says right on the page that subscriptions don’t really get you anything, but that doesn’t change the fact that they’re accepting money for a hack based upon a GPL emulator and the ability to collectively play a game that is property of Nintendo (never mind the fact that the emulator itself is a huge legal grey area).

That one isn’t going to be on the stream creator, I believe that’s site wide for twitch itself. That said, I do wonder how nintendo feels about this as if it was a movie it would certainly be considered a public performance, but I don’t know if such things are really considered for games.

Nintendo doesn’t go after Lets Plays (to my knowledge), do i don’t see why this would be different.
(The Emulator isn’t legally grey, incidentally, Emu’s are fine in most countries – its the Rom they are using that isnt)

GPL’d emulator likely doesn’t matter at all. From what has been revealed about how it works it’s likely he’s not even touching any of the emulator code at all, but in fact is sending the data to the emulator either by faking key presses or by using an emulator that allows scripting (such as VBA-rr or FCEUX). Either of those changes wouldn’t be considered a derivative for the GPL. If the emulator was released as AGPL then the resulting stream might be able to require him to release his code, however I have no idea how that would affect potential licensing of whatever software was running in the emulator itself.

As evidenced by the number of people who are doing it right now I’d say that it’s likely that whatever he built is going to have some more generic versions available to be much more accessible. If I had the time I’d be building one using FCEUX or VBA-rr to do more than just input manipulation, but also pull data out of ram to enable other instrumentation to be displayed. Such as each pokemon’s state at any given time (display the party on the screen with their moves and such), or even inventory or other information that you might think of, maybe even doing some more intelligent input for the menus since you could detect when you are in a menu you could actually have people vote on which option to choose by name rather than by chance with arrows and buttons.

Here is an open source project meant to provide the same features as the TPP app:https://github.com/Francesco149/OpenTwitchPlays
I haven’t taken much of a look at it, but it might satisfy some of the people asking for the original TPP code.

I’m pretty sick of TPP. It’s all you see on imgur. Literally 1/3 posts are about that damn game. Was excited to see that 4chan was planning on sabotaging the game by voting to release all pokemon, don’t think they succeeded tho.

haha as soon as i seen this i started programming my arduino to connect to a irc ch. via telnet and read each line and grab up,down etc strings and pull io pins high and low hooked up to a few transistors and a actual gameboy to play

I’d love this to be done in a way to make heatmaps – not of movements, but of the degree of agreement between mass inputs.
It would presumably correlate to the amount of “thinking” required at particular points in the game/map. Could make an interesting game design study.