Puppet Time! was developed by Sanjeev Nayak, Austin Denoble, and Vincent Sunga for their Senior Design project under Michael Nitsche at Georgia Institute of Technology. The project aims to bring the art of digital puppetry to a wide range of users by taking advantage of the motion tracking capabilites of Android smart phones.
The system functions across two platforms. An Android application that turns the phones into motion controllers, and a Unity application running on a computer that receives all the phone data and renders a virtual puppet show. The Android phones connect to the host computer over a local Wi-Fi network and send their sensor data via UDP packets to the Unity application.
The Android application allows the user to customize their puppet avatar by mixing and matching from a library of puppet parts, and then to control their puppet by moving the phone around in space. They can choose to control their puppet with either one or two phones. The single phone scheme is a more simple method of control, while the dual scheme allows for greater control over the puppet.
The Unity application serves as the stage for the performance. It recieves all the data from the phones and turns it into a virtual puppet show. It also provides controls to allow a user on the computer to act as sort of a stage manager, by allowing them to play sounds, open and close curtains, or control the lighting.