Games have been a way to bring people together all across the world from those in nearby countries or across the globe. It is an undeniable fact that games are popular world-wide, but one game that was released about 20 years ago can still be mentioned today and many still remember it clearly – and that game is Pokémon. The game was originally single player, so only one person could play it at a time on one device and there was very limited play-ability in multiplayer without being physically next to someone with a cord connecting the two devices. Recently, this changed through the medium Twitch TV (http://twitch.tv).
Twitch TV is a website made for streaming for a large audience and for a large variety of games, similar to YouTube, except the action is (almost) always live. Twitch has grown in popularity over the years, with hundreds of thousands of people watching at any moment. The viewers are always chatting about what is happening and giving commentary to what thousands of people in the world are also seeing. Twitch had a run down of it’s 2013 year in a retrospective online info-graphic which is available at http://www.twitch.tv/year/2013. As time went by, someone had an innovating idea; what if someone were to have a stream where people could actually play the game?
This idea became very possible, very quickly. Twitch opened up their own site dedicated to development of their existing software by the community (which can be found at http://dev.twitch.tv/). The goal of the project was simple: to make a chat bot to read what was said in the chat and to change what was said to input for the game. In reference to Pokémon, if someone were to say “UP” in the chat, the game would read the input as pressing up on the directional pad and the game would reflect this. This would work for every button: A, B, Start, Up, Down, Left, Right and Select could be said at any moment for their usage.
The project began by working with the available resources and the hopes of making this new concept. The tools they were given were Twitch SDK (Source Development Kit) and the Twich API (Application Programming Interface). The SDK gave the programmers libraries of code that they could manipulate to give them to product they needed, and the API would be used to create the chat bot. The chat bot, silently reading each persons actions, would take each action as input, and feed it to the SDK. The chat is written into an IRC (Internet Relay Chat) by the server irc.twitch.tv from which the inputs are taken. The SDK from there would convert the input into a readable format for the game to register the movement or action properly. Thus, the games began, all under the channel name TwitchPlaysPokemon.
In the end, TwitchPlaysPokemon never went open source, at least not yet, but many have tried to recreate the software themselves. A few examples are on GitHub – one by the user Francesco149: https://github.com/Francesco149/OpenTwitchPlays and another one made in Java by a user SideSplitter: https://github.com/Sidesplitter/TwitchPlays
The community itself and it’s rise of popularity is a whole different subject which I cover in this post if you’d like to find out more: http://blogs.umass.edu/Techbytes/?p=3818.