Our idea kind of evolved over the weekend. At first we wanted to create some application that would take music files and use the frequency data to play Pokémon or Super Smash or something like that. Then we wanted to be able to stream the presidential debate and pipe that input into a boxing game. The common ground of these two ideas is that we are taking something that is typically output and using it as input in an interesting way. From these two ideas, we found an achievable middle ground that turned into what is Tweet Fighter.
What it does
The heart of Tweet Fighter is analyzing twitter data and visualizing it by using it to control Street Fighter II Turbo. The application starts by a user tweeting at our twitter account. The user tweets two opposing keywords (e.g. 'cubs' and 'mets') as well as a time frame. Our twitter bot takes those two keywords, searches twitter and gathers recent tweets about them. It then pipes the tweets through the sentiment140 sentiment analyzer API to get data on which tweets were for or against each. Once those are tabulated, they are used to generate a set of moves that the Street Fighter bot executes. A video of the fight is recorded and uploaded to our Microsoft Azure CDN. Finally, a link to the video on the CDN is tweeted back to the user and the user can finally know who would win in a street fight, Cubs or Mets!
How we built it
TweetFighter has two primary components: the Python twitter bot and the Street Fighter emulator module. The twitter bot has three modules. The module to search tweets, the module to apply the sentiment140 API, the module to process the data, and the module to upload the video and tweet back at the user. For these modules we used the twitter, sentiment140, and Azure APIs. The emulator module uses Lua scripting to control the game and Python to generate keyboard events for other controlling.