Virtual Creature Creator
1-person academic project in Fall 2008
Project owner, Carnegie Mellon University
For children (and anyone else interested in creating interactive objects), Virtual Creature Creator is a physical construction kit that constructs virtual creature models where each model is unique in appearance and/or behavior and is also interactive. Physical customization is paralleled in the virtual space on screen. This is different from likes of Mr. Potato Head & classic Lego where physical customization is just kept in the physical space.
Using this physical construction kit, a child can build a creature in the physical space to generate a creature that is alive and interactive on the computer screen. The types of physical parts used and the way they are put together will determine the appearance and types of interaction for the creature on the computer screen. For example, you can attach a physical eye and physical legs to the physical body. On the computer screen, there will be a creature with one eye, body, and legs that will uses the eye to follow the mouse-cursor and legs to move towards it.
In summary, there is the physical kit to assemble a physical model and a software application (built in Processing) to model the creature onto the screen.
How to: Overview
For the physical construction kit, there is the main body and then the additional parts user can put onto the main body. Based on the assembled configuration, data will be sent to the software application to model the creature onto the screen.
How to: Physical Construction Kit
The physical construction kit consists of the main body and additional parts to attach to the main body.
Figure 1. In the exterior, there are inputs for body parts. Each input is two separate components, which are (conductive) copper tapes & wires connected to a pin in the Arduino inside.
In the main body, there is an Arduino board along with wires that connect to the inputs for additional parts. For those of you who don't know what an Arduino is, it is an open- source electronics prototyping platform based on flexible, easy-to-use hardware and software (www.arduino.org). In the exterior of the main body, there are inputs for additional parts to connect to (Figure 1).
Figure 2. Eye part is attached to the main body using magnets.
Additional parts and each input on the main body are using magnets to make it easy to snap on parts together (Figure 2). Input on the main body includes two-separated conductive copper surface, and each additional part has one copper surface. When the two magnets snap together, a circuit is being completed. Arduino checks for this in every input using digital input & output mechanism (Figure 3). The main body is connected to the computer using a USB connection, and the data on the completed circuits is sent to a specific serial port.
Figure 3. Each input in the external side of the main body is connected to a digital input/output pin on the Arduino.
The software end is built using Processing
, an open source programming language. When the physical construction kit sends data thru a serial port, the software application will read in the data and build a virtual creature accordingly.
Areas for Improvement
Making each input use resistance variability will allow the device to tell which part is attached to which side. This will make the physical kit more robust and interesting. Figure 4 is a picture of an additional physical part with varying resistor.
Figure 4. Physical part on the right is what's been done. Physical part on the left is the piece with varying resistance.
Figure 5. Different angle on the Arduino board in the main physical body
Figure 6. Additional body parts include eyes, mouth, and legs.