Sparking my interest & gathering information

A project log for Game Link Online

Play your good old multiplayer Gameboy games over the internet!

Arno MoonenArno Moonen 07/31/2016 at 10:290 Comments

As you must have heard, Pokémon Go was released recently, causing all kinds of crazy news (people finding death bodies, being robbed, being fired for playing it at work, making extra money... people going outside). I've played a lot of the Pokémon games when I was younger, on my Gameboy and my Nintendo 64. At one point in time however I decided to sell both consoles and games, but a few years back, I was looking on a classified ads site and came across a Gameboy Color in the exact same color as I had when I was younger. I just had to buy it and the hunt for the Pokémon games began. Unfortunately the console and games ended up in a box on the attic (but I did play newer Pokémon titles on my new 3DS).

All the buzz around Pokémon Go got me really pumped again, especially when I saw a post on Hackaday about Pepijn de Vos, who hacked a GPS based feature in to the Pokémon Red game. I thought it was really cool how he had used the Game Link cable and found previous projects of him using it. I figured, what if I could make an Game Link cable to USB adapter and started researching the information available about the protocol used on the link cable. When I already had a nice plan in my head, I stumbled on TCPoke (also something Pepijn created). TCPoke basically does what I had in mind: connect two Gameboys over the internet so they can exchange data (and thus battle or trade Pokémon). You might say I suffer from NIH, but I still decided to go on with this project, because it looks like a good learning experience.

A while back I bought a very cheap minimal STM8 development board (you can get them for around €1 on eBay) and the ST-Link V2 tool to program it (which is less than €3 on eBay). I got intrigued by the price, because the STM003F3P6 can be found on eBay for under €0,30 even for small quantities. As far as I can tell thus far, the protocol used on the link cable is rather simplistic, so this processor, combined with a USB-to-serial IC or a Bluetooth serial module, might be a perfect (and cheap) fit.

For the back-end I'm currently thinking of using the Google Cloud, because working with App Engine and the likes has been on my wishlist for quite some time now. Initially I think I'll use a simple client on the PC, but eventually I would like to make an Android app that interfaces with the Game Link USB adapter. That way the solution is a bit more portable.

That's enough rambling for this first log. I'll keep you updated.