December 2021
Doodle Theater is an interactive website where you can puppeteer digital cartoon puppets using the mouse and keyboard. You can also play with up to two additional puppeteers by sharing the mouse and keyboard.
Note: Right click twice to release a puppet.
VR and motion capture allow animators to animate a digital character by translating their movements directly onto a digital 3D model. But I wanted to create a way to puppeteer digital characters that doesn't involve sophisticated motion capture: I wanted to make puppets that were simple, easy, and accessible, with no special hardware or skills required.
There are already some web projects that involve real-time puppeteering with a mouse and keyboard, like Google's Blob Opera, but I wanted to make something that gave the user more features to tell stories with.
Visit Blob OperaThe video below was one source of inspiration: Kevin Temmer shows how 3D characters in Maya (a 3D animation software) can be rigged with custom controls to map cursor positions to mouth shapes and other movements.
Kevin takes advantage of this a lot to make his characters have the same appeal as hand-drawn cartoons.
Kevin has also made a few videos using actual digital muppets:
It was hard to figure out what controls would work the best for having three puppeteers share a single keyboard at once. I was glad when my younger cousins figured out how to do everything, including resizing and rotating the puppets, without too much difficulty.
Another challenge was drawing every puppet with every pose from eight different angles. It was very tedious, even though some angles are mirrored.
Ideally, this project should have a way to connect with other users online, so puppeteers don't have to share a mouse and keyboard. But for me, that was too ambitious for this project, particularly with the limited skills I had.
As a work-around, users could connect two keyboards to one PC to give their puppeteers more elbow room, even though they would still have to use different control schemes. Or, if you planned to screen-record a video of your puppets, you could have every puppeteer perform simultaneously on different devices, and then edit the footage together with a splitscreen effect to put all the puppets together in the same scene.
The program is also not designed with keyboard layouts other than QWERTY in mind. Ideally, there should be customizable controls.
If I were to do this project again, I think the next thing to add (other than performing with others online) would be a way for users to create their own puppets.
It would also be nice to make dynamic limbs, so that a puppet's arms or hair could dangle and wiggle around when the puppet moves, similarly to a real puppet.