04 Apr 2014

Speedy is an 8 bit spaceship visualisation controlled by an unconventional input method.



This project was in collaboration with Bawer Parada who created the graphics for the project.


Speedy was realised under the course Tangible Programming at Bauhaus University Weimar and the motive was to use an unconventional controller to interact with the sense of acceleration. Animations with different emulations of acceleration (as shown below) were created using a POV camera inside a spaceship cockpit. The motion blur of the stars change and the spaceship starts to vibrate as it goes faster. This acceleration is controlled by a controller made out of a tilt sensor. The faster you shake the controller, the faster the spaceship seems to go.

No Motion Blur

With Motion Blur

How the Code Works

The Processing code behind the project functions in a simple manner. Three animations for the spaceship and the framerate is controlled by the custom Arduino controller. The input of the Tilt Sensor from the Arduino is either 0 or 1. The acceleration of the spaceship is controlled by this input. A function in the code checks whether the value of tilt sensor is changing or not, if it is changing then the spaceship accelerates, otherwise if it remains the same it decelerates at a constant rate. The amount of acceleration is calculated by how fast the value of the tilt sensor is changing, so if the tilt sensor is shaken faster the acceleration is more. Thus, the shaking of the controller controls the acceleration of animation or the spaceship. The code for the project can be found in this repository and the video below illustrates how the controller works:

Closure Statement

Speedy was in close relevance to many of my interests - 8 bit graphics, Star Wars, etc. Although tilt sensor is generally not the most accurate sensor since it only returns a binary value, the controller was unusually fun to play with. The documentation for the project can be found here.