8bitify

09 Jul 2015

@8bitify is a twitter bot that takes the image and text that you tweet to him and turns it into an 8bit console cut scene.

8bitify

Summary

The twitter bot was developed under the course Bots ‘n’ Plots at Bauhaus University Weimar. The code was written in Python using the Python Imaging Library or PIL and pyAIML - The Python AIML Interpreter. The bot uses Tweepy to interface with the Twitter API. The motive was to develop a bot that would turn images sent to it into cut-scenes from an 8-bit game. When the bot receives an image, it first saturates the image by increasing the brightness and contrast. Then the image is scaled down and resized to a larger size. This process gives the image the desired effect. Text from the tweet is added to the bottom of the graphic. This is an attempt to recreate old memories from 8-bit games and also create a possibility of 8-bit graphic and text poetry. The python code for the image filter can be found in this repository. Below are some example responses of the bot:

Weimar Input Weimar Output

Luis Input Luis Output

Bike Input Bike Output

In the initial version of the bot, if one tweeted to the bot there was a binary response depending on whether you tweeted with an image or not. If there was no image with the tweet, the bot would ask you to send one. Later through pyAIML library, an attempt was made to enhance the bot’s conversation capabilities in turn making it user friendly. The intent was to make the bot intelligent enough to be able to explain its function while being in a twitter conversation. The AI is still at a very basic stage with the bot replying meaningfully only within certain constraints. It responds to generic greetings like “Hello!”, “Good Morning!” and “Bye!”. One could also ask the bot how it is doing today or how it works. If the right questions are asked, the bot has an answer, otherwise it asks to try again. Below is an example conversation:

Conversation

The complete conversation can be found here.

Closure Statement

A problem with the bot was that often when the image was cropped by the bot, it would lose an important part of the image. To fix this it would be necessary to detect points within the image around which the image must be cropped for example faces or edges. Apart from this, the AIML has ample scope of improvement.

This course was a very interesting one which ended in an exhibition of all the bots. The bots interacted within each other as well as with the audience and it was covered in the local press as well. Here is the extract from the German newspaper.

Back