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.

[Devon], one of our readers, has been busy as well. He’s written up a tutorial on turning a Raspberry Pi into a dedicated TPP viewer. We’d love to see a TPP battlestation – a Game Boy modified to display TPP, as well as send commands to the IRC servers when buttons are pressed. Who will be the first reader to knock that hack out?

27 thoughts on “Twitch Plays Pokémon: Better Than Prime Time TV

    1. 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.

  1. 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.

  2. the animated gif at the top is a perfect demo of what you will see. it’s a bunch of bots switching the game between “Anarchy” and “Democracy” for 90% of commands given.

    what bothers me is that the author REFUSES to release the source despite the emulator being GPL.

    1. The author originally commented that the mechanism that is providing input to the emulator is an IRC bot connected to the chat, and not a hacked emulator at all.

    2. Yeah?

      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).

      1. 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.

      2. 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)

    3. 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.

  3. Twitch plays poke has turned into an amusing microcosm of real world society and politics.

    It friggen blew my mind when “he” managed to catch Zapdos and put the goddamn helix fossil in the PC’s box.

    ALL HAIL HELIX FOSSIL

  4. 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.

  5. “a Game Boy modified to display TPP, as well as send commands to the IRC servers when buttons are pressed. Who will be the first reader to knock that hack out?”

    Been working on that since BEFORE this post. Busy working with a NES USB controller first.

  6. 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.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.