The joint project of Caitlin Boyle and Asa Foster, We Be Monsters is an interactive collaborative kinect puppet built in Processing with the help of OSCeleton and openNI. It allows a pair of users to control the BEHEMOTH, a non-humanoid quadruped puppet that forces users to think twice about the way they use their anatomy. With one user in front and another in the rear, participants must work together to Be Monsters! The puppet comes to life further with sound activation, with user’s sounds past a certain threshold causing the BEHEMOTH to let loose a stream of star vomit.
The two users must come to terms with the fact that they represent a singular entity; in order to get the BEHEMOTH moving in a convincing manner, movements have to be choreographed on the fly- users must synchronize their steps, and keep their laughter to a minimum if they don’t want the puppet projectile vomiting stars all over everything.
WHY a 2 PERSON PUPPET?
Why not? Inspired by the muppets and chinese lion costumes, We Be Monsters was initially developed for Interactive Art/Computational Design’s Project #2, a partner-based kinect hack. One person puppets had been made for the kinect before, one of the most famous being Theo Watson & Emily Gobeille’s, but as far as we knew, a 2 person puppet had yet to be executed. The first version of We Be Monsters was completed and unleashed upon the internet back in March of 2011.
(also available on vimeo)
Version 1.0 solidified our derp-monster aesthetic and acted as a stepping stone for further iterations, but we ultimately decided to go back to the drawing board for the majority of the code. Ver. 1 was only taking x and y points, and thus was essentially rendering the kinect into a glorified webcam. The program took in our joint coordinates from the skeleton tracking and drew directly on top of them, forcing puppeteers to stand in a very specific fashion; as you can see in the video, we spend the majority of time on tip-toe.
Using the puppet in this fashion was tiring and awkward- it was clear that the way we dealt with the puppet pieces needed to be revamped.
In order to make the user more comfortable, and to take proper advantage of the kinect, we had to change the way the program dealt with mapping the movement of the puppet to our respective joints and angles.
MAKING THE BEHEMOTH USER-FRIENDLY
Asa dove into figuring out the dot product of each joint family “an algebraic operation that takes two equal-length sequences of numbers and returns a single number obtained by multiplying corresponding entries and then summing those products.”
a QUICK BREAKDOWN of DOT PRODUCT and JOINT FAMILIES
Joint family : 9 values that make up the x, y, a nd z point of three relative joints; in this example, the shoulder, elbow, and wrist.
Dot product : the combined angle of these three points/9 values.
Thanks to this math-magic, a person can be much more relaxed when operating the puppet, and the results will be much more fluid.
In layman’s terms, our program now reads the angles between sets of skeleton joints in 3 dimensions, instead of 2. We finally started utilizing the z point, so the program now takes depth into consideration. This is preferable for a multitude of reasons; mostly for the sheer intuitive nature of the project, which was practically nonexistent in the first iteration: Mr. BEHEMOTH moved as nicely as he did because Asa & I understood the precise way to stand in order to make it not look like our puppet was having a seizure.
Now, users can stand in any direction to puppet the BEHEMOTH; it’s much more enjoyable to use, as you can plainly see in the video for We Be Monsters 2.0.
MUCH better. We can face the camera now; the new joint tracking encourages users to be as wacky as possible, without sacrificing the puppet’s movements- and you can see by my flying hair that we’re jumping all over the place now, rather than the repetitive, restricted movements of our first attempt.
Puppeteers can now jump around, flail, or face in any direction and the puppet will still respond; users are more likely to experiment with what they can get the BEHEMOTH to do when they aren’t restricted in where they have to stand.
Making the BEHEMOTH scratch his head; something that would have been impossible in the first iteration of the project. DO NOT ATTEMPT without a wall to lean on.
SOUND ACTIVATION and STAR VOMIT
Caitlin created a sound trigger for the star-vomit we dreamed up for IACD’s Project 3. Now, users can ROAR (or sing, or talk loudly, or laugh), said sound will be picked up by the microphone, and the stream of stars will either be tiny or RIDICULOUS depending on the volume and length of the noise.
The ability to produce stars was added as a way to further activate the puppet; we were hoping to make the project more dynamic by increasing the ways players can interact with and manipulate the BEHEMOTH. The result was marginally successful, giving the users the option to dive headfirst into MONSTER mode; the stars force the puppeteers to make loud and elongated noises. This, in turn, pushes the users to embrace the ‘monster’ inside and step away from humanity, at least for a short burst of time.
Asa roars, and the BEHEMOTH gets sick all over the place. Note his raised arm, which controls the top part of the puppet’s head, allowing for the stars to flow in a larger stream.
The goal of the project was to push people into putting on a (friendly) monstrous persona, and, cooperating with a friend, learn how to pilot a being more massive than themselves; in this case, the BEHEMOTH.
IN THE FUTURE, the BEHEMOTH will hopefully be joined by 3 and 4 person puppets; the more people you add into the mix, the more challenging (and fun!) it is to make the puppet a coherent beast.
We are also hoping to further activate the puppet with Box2D and physics (floppy ears, bouncy spines, blinking eyes, swaying wings); this was a step that was planned for this iteration of the project, but was never reached thanks to our novice programmer status; we’re learning as we go, so our progress is always a little slower than we’d hope. We did not get enough of an understanding of Box2D in time to incorporate physics other than the stars, but will both be in Pittsburgh over the summer; it’s our hope that we can continue tinkering away on We Be Monsters, until it transforms into the behemoth of a project it deserves to be.
– Catilin Rose Boyle & Asa Foster III
A step-by-step account detailing our process is available here.
presented at Carnegie Mellon University’s 2011 Art && Code Conference – recap here.