Twitch Plays Pokémon: Better than Prime Time TV

Twitch_plays_pokemon_animated

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?

The PiBoy

piboy

What do you do with a broken Gameboy, a 3″ LCD, a pile of wires, a USB SNES controller, a 32gb SD card, and a Raspberry Pi? You make a pocket emulator, of course!

[Anton] decided he wanted to build an emulator awhile ago. He had a few specific goals in mind: it had to be hand-held, portable, child safe, and usable without a keyboard. He started by stripping the broken Gameboy down to its external shell, then removing all of the internal plastic mounting features with a hot soldering iron. Next was the challenge of fitting everything into the case and powering it. Because his 3″ LCD runs off 12V, [Anton] needed a way to get 5V to the Pi. Lucky for him, it turned out that his LCD’s controller board had a 5V test point/expansion pin-out!

From there it was just a matter of reusing the original Gameboy’s speaker, closing up the case, and loading the emulator! As always, there’s a demo video after the break.

[Read more...]

Spoofing Pokemon Trades

Hacker

[Adan] had an old Game Boy sitting around, and without anything better to do decided to investigate the link cable protocol with a microcontroller. He had a Stellaris Launchpad for the task, but initially had no project in mind. What he came up for this adventure in serial protocols is a first gen Pokemon trade spoofer that allows him to obtain pokemon without having two Game Boys, or for the weird ones out there, “friends.”

The Game Boy link protocol is extremely well documented, so getting data from the Game Boy to the Launchpad was as simple as a soldering up an old link cable connector to a piece of perf board. After figuring out the electronics, [Adan] looked at what happened when two Pokemon games tried to trade pokemon. When two Game Boys are linked, there are two in-game options: trade or battle. Looking at the data coming after the ‘trade’ option, [Adan] found something that could possibly be the data structure of the Pokemon being sent. He reverse-engineered this all by himself before discovering this is also  well documented.

Bringing everything together, [Adan] figured out how to trade non-existent Pokemon with a small dev board. Right now he’s only transmitting Pokemon that are hard-coded on the Launchpad, but it’s very possible to transmit the Pokemon values in real-time over USB.

Thanks [Dan] for sending this in, and no, we don’t know what’s up with the influx of Pokemon posts over the last week. Video of the spoof below.

[Read more...]

Fubarino Contest: Game Boy Printer

fubarino-contest-gameboy-printer

[Dave] has a Game Boy Printer and loves the Mario-themed Easter egg that prints while holding the feed button during power-up. When he heard that Microchip gave us some Fubarino boards for our Easter Egg Contest, this hardware immediately came to mind and he set out to add a Hackaday Easter egg to the printer.

To tinker with the hardware, [Dave] built on the work of [Furrtek]—featured here a few years ago—which simplified the process of printing directly from an Arduino board. Connecting the TX and RX lines of the Arduino triggers the new Easter egg. He demonstrates printing both of the hidden messages in the video below.

[Read more...]

Pokemon Blue Becomes An IDE

pkmn

With WiFi, Wonder Trade, and new Pokemon that are freakin’ keys, you’d think the latest generation of everyone’s reason to own a Nintendo portable is where all the action is, right? Apparently not, because Pokemon Blue just became a development tool for the Game Boy.

Despite all notions of sanity, this isn’t the first time we’ve seen someone program a Game Boy from inside a first generation Pokemon game. Around this time last year, [bortreb] posted a tool assisted run that deposited and threw away in-game items to write to the Game Boy’s RAM. Using this method, [bortreb] was able to craft a chiptune version of the My Little Pony theme inside Pokemon Yellow.

A year later, [TheZZAZZGlitch] has gone above and beyond what [bortreb] did. Instead of a tool assisted run, [ZZAZZ]‘s hack can be done manually on a real Game Boy. This trick works by using an underflow glitch to obtain item ‘8F’ in the player’s inventory. Here’s a great tutorial for doing that. With this 8F item, a few items can be tossed and a ‘programming’ mode is activated where code can be written to RAM by walking to an X Y position on the map, using the 8F item, and writing a program byte by byte.

The maximum amount of code that can be written to the Game Boy RAM is 254 bytes, just large enough for [TheZZAZZGlitch] to write a very, very simple version of Akranoid, Breakout, or one-player Pong. Not much, but very, very impressive.

Video of [ZZAZZ] ‘jailbreaking’ his copy of Pokemon Blue available below.

[Read more...]

A Modular Game Boy Synthesizer

Euro

Synth heads and electronic music aficionados the world over love a good rackmount synth. These days, though, synthesis tends more toward small, digital, and ‘retro’ rather than the monstrous hulking behemoths of the 60s and 70s. [gieskes] might be ahead of the curve, here, as he’s built a Game Boy module for his eurorack synthesizer.

The software running on [gieskes]‘s Game Boy is the venerable Little Sound DJ (LSDJ), the last word in creating chiptunes on everyone’s favorite 8-bit handheld. As with any proper Game Boy used in chiptunes, there are a few modifications to the 1980s era hardware. [gieskes] tapped into the cartridge connector with a ‘repeat’ signal that provides slowed down, noisy signals for LSDJ. There’s also pitch control via CV, and the audio output is brought up to 10Vpp

In the video below, you can see [gieskes]‘ euroboy in action with a few Doepfer synth modules. There’s also a very cool pulse generator made from an old hard drive in there, so it’s certainly worth the watch.

[Read more...]

Finding Shiny Pokemon Automatically

pkmn

In case you’re not up to speed with the world of Pokemon, nearly every species of this game’s titular creatures have a ‘shiny’ variety – a differently colored sprite for each pokemon. As far as gameplay goes, they’re exactly the same as their non-shiny brethren, but the shiny varieties are so impossibly rare not many players have seen them. [dekuNukem] over on Youtube has come up with a great way to find these shiny Pokemon automatically with the Hackaday reader’s favorite tools – an Arduino and a few parts from Sparkfun.

The build hinges on the fact that all shiny pokemon have a short animation whenever the player encounters them in the wild. This setup uses a fishing rod, so an Arduino Micro first presses the Y button to cast the rod, while the ‘duinos ADC listens to the audio signal until a bite is indicated.

A light sensor taped to the bottom screen of the 3DS then measures the amount of time the screen is blacked out. The extra animation for every shiny pokemon means this blackout period is about half a second longer. If the Arduino doesn’t see a shiny, it ‘runs away’, but if a shiny is detected a buzzer sounds to tell the extremely lazy pokemon trainer they have a shiny on their line.

From the video, it took about 36 minutes to find a single shiny pokemon, and about 8 shinies in the three hours of testing this rig has under its belt.

[Read more...]

Follow

Get every new post delivered to your Inbox.

Join 93,805 other followers