This is my capstone project of the “Udacity Virutal Reality Developer Nanodegree” program with focus on software development for high-end VR hardware. CUBE DANCER is a VR rhythm game, that puts you in dance battles against mysterious opponents. Each with its own unique dance style. The goal is to study their moves. Hit all the cubes that are thrown at you. And become the best cube dancer of them all.
In three unique levels the player faces three different cube dancers. Each of them with its own dance style that features for example “Gangnam Style” or Michael Jacksons “Thriller” moves. The music is provided by three amazing artist, who decided to put their music under creative commons licensing:
The game mechanics are introduced by a cube named Hank. At the beginning he is mocking the player and implements to hit him. In this story based tutorial the user learns the one simple game mechanic: “hitting cubes”. In each level the number of struck cubes is added to a score. At the end Hank comments on the final score. There are four different outcomes, depending on how well the player did.
Because this was my final capstone project several requirements had to be achieved in order to get my nanodegree in virtual reality development. In the following video all achievements of the project are listed.
Story of Progress
The main task of the capstone project was to create an experience that makes someone feel a emotion. Cause there are far too many Wave Shooters and Horror games for VR out there, I decided to go for the emotion JOY. And what is more joyful then moving your body and dance?
After the first idea of creating a dance battle situation I wrote a pre-production document, in which I defined all my tasks (for example: number of levels, game mechanics, effects, sound, animation etc.). In the scoping process the tasks then were reduced to a manageable size. Download the “Pre-Production Document” here.
The first step was to code the interaction mechanics and the cube spawn functions in unity. With a clear picture in mind how to set it up, a first prototype was developed very fast. For the cube spawning mechanics I used object pooling to keep things performant. To get the spawning in sync with the choreography of the dancers, timeline events were deployed.
In the process of finding the right style for the game it was clear from the beginning that it would be a very abstract and reduced approach. Coming from a Motion Designer background this is my strength. Also of course to keep the efforts in a reasonable range. Each level has a unique color scheme, corresponding to the personality of each dancer.
All objects were modeled in Cinema 4D. The different arenas were built from the same main module. Only the color and animated objects vary in each level. For the dance animation I used Motion Capture Data from mixamo.com.
A big part of the process was of course user testing. It helped me adjusting the choreography and difficulty of the levels and gave some good insights into movement patterns. For more information about the topic skip to this part of the “Making of Video”.
I’m very pleased with the overall reaction to CUBE DANCER. People enjoy playing it and even refer to a work-out after they have accomplished the last level. Bringing joy and laughter in such a short time to most of the playtesters was a blast and shows the strength of this new medium. After accomplishing my nanodegree with this project, I now feel able to set up impressive immersive Virtual Reality experiences and I’m thrilled what the future will bring for me with this new type of skill-set.