This action might not be possible to undo. Are you sure you want to continue?
Full-body interaction experience
Jordi Romera Romero 147889
Jesus Eloy Sánchez Fernández 148583
Fabià Serra Arrizabalaga 146680
Stacky is a Kinect based interactive game. The game's concept is actually pretty simple: You
are a “stacker” who has to stack a pile of objects in your hands, one stack on each hand. These
objects are falling from the top of the screen and the idea is to stack them in order to make the
stacks as higher as possible.
By moving your arms you control each pile, having to place the stack below the falling objects in
order to stack them. You better move your arms carefully if you don’t want to drop the pile, as
they follow the rules of physics. If the objects are not well positioned in the center of balance, the
stack will fall and the game will finish. As the stacks gets higher the harder it is to keep them
The Xbox Kinect tracks the movement of the upper part of the user body and allows his actions
to be translated to your onscreen silhouette. The user has to move his hands and arms to
control the orientation and position of two attached plates he has in both hands. These plates are
placed in the palms of the user hands and are the growing bases for each stack. The plates are
subjected to the user’s hands, so they can’t fall down.
Here we have a visual example of the game. As we can see, the objects are represented by
rectangles of different sizes and colors:
The user has an associated score on the bottom left side of the screen and his value depends
on the number of objects the user has on his stacks. The more objects he stacks, the more
points he obtains.
There is also a life counter on the bottom right side represented by a number of heartshaped
objects that indicates the remaining lives the user has while he’s playing. When the user wastes
all of his lives, the game finishes.
Finally there are some extra objects falling from the top of the screen between the colored ones.
These extra objects, which are the heartshaped and the black circle objects, are explained as
follows. However, their functionalities are pretty much self explanatory.
Heartshaped objects: They allow the user to get new lives, incrementing the life
counter by one.
Black Circle: They can be understood as an obstacle that can destabilize the
stacks if it hits them. The reason for including this extra object is to increase the
level of difficulty of the game as well as to keep the user moving; trying to avoid to
touch them with the stacks.
The user has to be positioned in an appropriate distance in front of the camera in order to allow
the kinect to track his body and movements correctly. The idea is to appear on the screen with a
similar size as in the image above.
The user has to keep both arms opened throughout the duration of the game, being free to move
his arms up and down and his body all over the interactive region; bearing in mind that he has a
large pile of objects in his hands!
When the game starts, the user has three lives. If the user doesn’t catch one of the colored
objects while it is falling and this disappears below the screen, he loses one life. We can get
more lives by capturing the heart shaped objects. Meanwhile, the life counter indicates the
remaining lives accordingly to his progress.
The game objects only interact with the attached plates of our hands and the pile of objects
stacked. That means that lives can only be captured with the stacks and not the other parts of
our body. In this way, we force the user to move his arms, and so his stacks, in order to get a
new live. In the same way, colored objects and black circles will not impact for instance to our
head, only to the stacks, avoiding the objects to get trapped between our arms.
The user has to stack the colored objects but he has to be careful with the black circles, as they
easily destabilize the stacks.
For each object we get piled, we sum some points to the score. At first, the objects add 50
points. Every four stacked objects in the pile, this number is multiplied by two. For every new life
we get, we also increase our score with 100 points. If one black circle hits one of the piles, we
lose 100 points. When one of the colored objects disappears below the screen we also lose 100
If the user drops more objects than remaining lives, the game will finish.
The overall objective of the game is to get as many points as possible. The higher the stacks,
the more points we get.
When we reach a certain number of objects in the stacks, there won’t be any more colored
objects falling from above and the game will start a one minute timer. We have to keep the
balance of the two stacks while some obstacles keep falling. If we complete this minute without
dropping any of the stacks (or dropping more objects than remaining lives), we win the game.
The idea to put a limit in the colored objects is because at some point the stacks may not fit in
the screen and we will limit the number of objects that can be stacked based on that.
The graphics will be very similar to the images we have seen in this document and the game will
play some different sounds throughout all our interactive experience. There will be a peaceful
ambience music during the game and the impact between objects will have different special
sounds1 . The idea is to make the user feel more inside the game and make him believe the
objects are real.
The colored objects will always fall parallel to the ground since we don’t want to make the game
even more difficult, but this will be another option to add if we want to complicate it more.
How will we implement the game?
The game will be implemented using OpenFrameworks and all the physics simulations of the
objects will be done using the ofxBox2d library, which is a wrapper for Box2D. Box2D is a free
open source 2dimensional physics simulator engine written in C++. This will enable us to
simulate all the interactions between objects in a realistic way.
The base of the stacks will be the attached plates in both hands. The position and orientation of
these plates will be defined by tracking the hands of the user. Using the pair of points at the ends
of the arms we will be able to control the orientation of the plates, as we can see in the figure
We will have to specify which objects can collide with each other and the effects they will have
on the interaction. For instance, a colored object won’t be able to hit the silhouette of us, only the
attached plates and the other colored objects. The same for the black circle objects, which will
destabilize the stacks and lower the total score if they hit the piles. The heartshaped objects
won’t collide with any object but if they touch one of the stacks they will disappear and add one
life to the total counter.
When the objects arrive to the lower part of the screen they disappear, making the
corresponding changes to the punctuation and life counter, depending on the type of object.