What the hell is this?

Twitch Plays Pokémon (TPP) is based on a simple premise: a robot will be playing Pokémon (Red version) taking its input from the Twitch.tv stream chat.

In other words, a bunch of trainers, pokéfans, trolls and the general confused internet population are all fighting to control a single robot to get it to beat Pokémon. It's similar to The Infinite Monkey Theorem, but as one clever user stated:

Man. This isn't a thousand monkeys at a thousand typewriters. It's twenty thousand monkeys at a single typewriter, and half those monkeys are screaming and desperately trying to progress while the other half throw shit everywhere. It's wonderful.

How does this work?

It's essentially an IRC bot, connected to the stream's chat and "listens" (parses) only the up, down, left, right, a, b, start and select commands. When it listens one of those, it sends a corresponding button press to the emulator (VisualBoyAdvance)

Its goal: To be the very best

Who thought this was a good idea?

So far, everything we know about the author of this madness is that he or she lives in Australia (based on these two interviews) and that s/he didn't expect the channel to explode in viewership:

I didn't really have any plans for it from the beginning I just wanted to put it up to see how people would respond. I put it together and put it up on a dedicated server all within a few days.

They're not gonna make it

Yes, when you have thousands of users all trying to control a single robot, you'd think that progress is impossible. Except, it's not.

According to the semi-official Progress document at the moment of writing this piece, this has happened:

  • Sometime in the first 40 or so hours: 1st badge won
  • 1d 18h 56m: 2nd badge won
  • 2d 5h 8m: Exited SS Anne
  • 2d 9h 10m: Dux, an Oddish, successfully learned "Cut"
  • 2d 11h 29m: 3rd badge won
  • 4d 0h 47m: 4th badge won

At the moment of writing this, they managed to get into Team Rocket HQ (but left after the group "decided" to use Dig to get out of the building)

It's worthy of mention the fact that this hive mind is prone to accidents. Namely, the release of the starter Pokemon (ABBBBBBK, "Abby") and a miraculously captured Rattata (JLVWNNOOOO, "Jay Leno") at 4d 8h 50 and 53m.

This is really stupid

Is it? Think of some of the implications:

  1. The game itself is an interesting experiment on how a single robot performs when it's crowd-controlled without bias (as the robot is limited by Twitch's lag)
  2. This is, in a way, a really good approximation to the Infinite Monkey Theorem, perhaps in a scale that has no precedent (and if you don't believe me, there's a whole page of stats about the button presses in this game). The last time someone tried an organic test of the Theorem (that is, with actual monkeys) the result was non-random and quite predictable (short strings of the same letter and later feces on the keyboard)
  3. It's also an useful approach towards Pokemon's difficulty as a game receiving semi-random input (although it has been proven to be computationally hard, see here). This has also led to map analysis and searching for optimal solutions in different areas (as in "right now we have to spam up and left to get through)
  4. It has served other people to run the same test (and the same input) on other games, namely Final Fantasy 6 and Tetris. There's also a "RNG plays Pokémon"

I want to know more!