For those who have been living in the dark, Twitch Plays Pokemon (Direct link to stream) has taken the Internet by storm! An anonymous programmer created a way for Twitch users to interact using the Twitch chat and they’ve been trying to collectively play the first Pokemon game (to some funny and frustrating results). You can click on the first link to learn more about that or the stream to watch it happen live.
After seeing that I said “I bet I can do that in C#!” and set out on a frustrating journey to get it to work. However, I’m happy to report that thanks to a guy on the Tech Life Forum for providing a quick IRC GUI client demo and to the Input Manager Library, I’ve managed to get it to work.
After spending several days working on it, I now have a release that I’m feeling rather proud of and want to share with the world. I’m providing a few different things here with this 7z. First, I’m providing the IRC version of the project. It still isn’t perfect but it does work 99% of the time now. Second, I’m providing a console bot version that randomly selects keys and attempts to play games on its own (no AI behind it, it’s all random baby). Third, the source codes of both programs are included. I honestly don’t mind if someone downloads these and improves them/gets them to work better (I would like at least some credit for starting this project though if you choose to do that). Fourth, I’ve included a few emulators that both programs are designed to run with. These are just the emulators themselves, no ROMS are included (and won’t be included).
With all that in mind, there are two readme files inside the 7z, one for each program, and I highly recommend you read both in order to learn how to make the programs work. Alternatively, you can head on over to this topic on my forum where I talk more about it.
I remind everyone that this is really a rough release. I’m not trying to steal the Twitch pokemon guy’s thunder or run a stream of my own (as I can’t leave my computer on 24/7 anyway). If you can, great, feel free to edit the source code and get it to connect to your Twitch stream and try your luck. I just thought it’d be fun to try and replicate the idea and see if I could do it.
I’ll also add that there’s probably better ways to do certain things in the code. I’ll be trying to improve it as I go along, should I continue this project. It’s been a long time since I’ve messed with C# and I’m a little rusty. But it works regardless.
Emulation Control – release 003 (contains versions 1.0 of both programs)
As a bonus, here’s a youtube video of version 0.2 of the console bot attempting to play the NES game Ice Hockey. It’s not that great at it, but it’s still amusing.