CATEGORY: Interactive Installation, Arcade Game, Tangible User Interfaces.
DATE: November, 2014
TOOLKITS: Unity3D, Arduino, Solidworks, Uniduino plugin for Unity
COLLABORATORS: Craig Pickard
DESCRIPTION: Tilt is the combination of a Tangible User Interface (TUI) and gaming platform. We wanted to find a unique way of combining physical interaction with a digital game. The idea was inspired by the old wooden labyrinth games that required the player to roll a ball bearing through a maze by tilting it along the X and/or Y axis.. To do this digitally would've been relatively easy to achieve using modern devices like smartphones and tablets, given the multitude of built-in sensors, but we wanted the project to have a more authentic arcade-type feel. We also wanted the physical interaction to be as smooth and effortless as possible. In order to mimic the feel of the labyrinth games, we elected to project the application onto the game surface. Unable to find any existing solutions that suited our needs, I used Solidworks CAD software to design a dual-gimbal system utilizing spring tension to offer the user some resistance, and that would allow the surface to remain level when at rest. In addition to this, we added a vibration motor to give the player some tactile feedback when they came into contact with other objects in the game.
We then built a game demo using the Unity3D game engine. To handle the sensory input, we used a plugin called Uniduino, and an Arduino Uno, that allowed us to send data to the game via Serial Communication. An ADXL335 accelerometer from Adafruit Industries allowed us to determine the orientation of the game surface at any given moment. In doing so, we managed to achieve a very responsive system players very easily understood. Without any instruction, the majority of users immediately inferred that tilting the surface would cause the ball to roll in a given direction, much like a real ball would do on an inclined slope.