Drums Revolution, my Rhythm 3D VR game for applying to the Upload VR Master Program

This article is about the process of creation of a rhythm 3D for HTC Vive, VR seated game in which the player needs to hit drums in proper order and time for a selected song to get the highest score possible.

You can watch a complete two-minutes gameplay experience with sound here: DrumsRevolution

A HTC Vive, the latest Unity beta (2017.1.0b2), some Unity plugins, code retrieved from internet and 3D art from Asset Store, were used in the process.

The game was developed in around 20 hours.

Great outcomes

I was accepted to do the VR Master program of Upload online by doing this prototype, as part of my application. This is something I’m really proud of because they accept only about 5% of the applicants.

Image source: https://upload.io/courses/masters/

The highlights in which I focused, to make the prototype remarkable, were:

  1. The game uses as many available resources as possible to save time on creation of assets, that are already available;
  2. In total, the time spend for making the project was less than a day;
  3. The components of the game are made in a way that can allows for easy creation, with the first version ready, of different variations of the same type of game in order to be able to explore prototype alternatives if needed;
  4. The game is for the player easy to understand, and easy to get used to the gameplay, by looking at the UI integrated on the environment;
  5. It uses simple and modular components;
  6. Game design patterns are used in proper way, taking into account the specific requirements for the game;
  7. Many of the components are extensible to provide the possibility, to include easily new elements, like the cymbals for example;
  8. The components are decoupled as much as possible to provide prototyping versatility and re-usage;
  9. The project is well organized, with descriptive names for the assets and in the code;
  10. The code has comments when needed and includes some “TODO” notes of how the project can be improved.

Story of the process

After the submission to do the Upload’s VR Master Program online, they asked me to create a small prototype to show my skills and the things that I could bring to the program.

For that reason, I started to think about something that at the same time would show my creativity, my capacity to prototype quickly and my current knowledge on VR; some simple, fun to play and visually appealing game.

Back at the moment, I was also prototyping a new way of VR locomotion by using a 11 button dance pad that was maybe the reason behind of creating a “Dance Dance Revolution” type of game, in which the players have to hit the drums instead of pressing buttons with their feet.

Image source: http://www.wikihow.com/Master-Dance-Dance-Revolution

I started to do some research and to buy, download and prepare the needed assets to accomplish the project.

I bought a 3D set of drums in which I disabled the cymbals and enabled the gameplay to be set on the Floor Tom-Tom, Middle Tom-Tom, High Tom-Tom and Snare Drum.

I decided to use the open source Stepmania’s SM files in order to have a valid data, already prepared to be used easily by my game.

Image source: https://i.ytimg.com/vi/etSiDvMG71s/maxresdefault.jpg

I setup the environment and create then the core gameplay.

Probably the most challenging task that I had to do was visually showing in advance, the timing in which the player needs to hit the drums. I did it by showing the multiple incoming notes that needs to be taken into account for the next few seconds of the song and which are placed sometimes on the same drum.

To make this process easy to understand, intuitive and compilant with the VR’s UX best practices, I decided to create a system of growing concentric circles on the specific drum. The player needs to hit such drum when the ring reaches a specific size, marked by the outside static, black ring:

User testing and iteration

After finalizing the core gameplay, I chose some songs, tested and fixed some bugs on the first iteration of the game.

I then asked my wife to test the game too… she really enjoyed to playing it and suggest that I should enable the sound of hitting the Bass Drum, even if it was not part of the core gameplay. So I made a quick change to be enable the feature to hit and hear the sound of the Bass Drum.

Breakdown of the final piece

The last step on the creation of the prototype, was to add the menus with some explanatory text of how to play, a way for the player to choose the level of difficulty and a Game Over menu in which the player can see his score and choose to play again.

Conclusion

The process was fun. I felt like if I was participating on a Game Jam but with a possible extra reward, which was the acceptance to the Upload’s VR Master Program.

I was able to play different songs quickly by replacing the song related files in the Resources folder.

Nevertheless, there are some SM’s song formats that are not being parsed properly by my game yet.

Probably in the nearest future, I will go to modify the code base in order to enable the formats that are not yet supported and maybe, change the entire UI texts and graphics to have something more appealing, I can even probably release my game in the stores… :)

)
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade