Taiko VR

Hit the taiko drum correctly on the beat.
Work in progress
Game
Virtual Reality
C#
Unity Engine
A VR rhythm game

TaikoVR is a rhythm game where you have to hit the drum on the beat of the music.
Miss too much and you will fail the song.
A red circle requires a hit in the center of the drum, a blue circle requires a hit on the side of the drum.
Big circles requires you to hit both sticks at the same time and a long bar need a drum roll.

Trailer

WIP gameplay trailer coming soon ...

Menu
Taiko

Taiko 太鼓 means literally 'big drum' and is a range of japanese percussion instruments, it mainly referes to any kind of drum.
The term taiko can also refer to the performance itself.

Arcade is still big in Japan and in almost every arcade you can find a 'Taiko no Tatsujin' (Taiko Master) created by Namco.
I really enjoy audio games myself and wanted to remake this experience in virtual reality.

Osu

Osu is a free rhythm game from Ppy.
This project is in no way related to Osu or Ppy.

Osu has a huge community that produces a lot of high quality beatmaps that go through stages of voting.
Osu contains a Taiko modus which is exactly the same as the arcade mode and has dedicated maps for it.
The game loads in all the available Taiko modus beatmaps from the default osu folder.
Osu also has a public github which contains most of their source code.
I decided not to use this code for my file loading as their file loading system is quite complicated with the many gamemodes.
I also only need a part of the data of each file as visual effects and a lot of modifiers were ommitable for Taiko.

The beatmaps are loaded in the background after the game starts, so you will need to wait a bit untill you can start playing.
Loading speed is quite short as my library of around 5000 beatmaps is loaded in about 5 seconds.
Next to the beatmap file there is an audio and usually an image or video file which are only loaded to memory when needed.

Audio

Finding a way to play audio was a big first hurdle to find out.
Most of the beatmaps consist of [.mp3] files which has no free option for dynamic playback from disk.
After some searching I found the winmm.dll library.
This is a default windows low level audio & joystick Multimedia API.
This library works like a charm plus it's running completely async from the Unity thread.
(If the game crashes the music can continue at moments)

Sound effects are played using Unity themselves and are 3D sounds, only the music is played using the library.

Since the audio should be parallel with the gameplay deltatime is not used to update the timing.
Instead each update we check the current time-stamp of our song and adjust or elements accordingly.

Timing

Getting the timing right and finding a good way to visually show the user when he should hit was a fun challenge of much trial and error.

Gameplay

It feels a bit weird playing TaikoVR as you do not have physical feedback (next to the haptic feedback) that you indeed hit a drum.
Also due to no knockback and you waving your hands in the air you get tired really fast and your arms.
Due to this tireness you drop your arms unconsciously as you focus on the timeline in front of you which might make you miss your next hits.

Next to these obvious problems I really like playing as I'm big fan of rhythm games in general.
Big part of the VR experience consists of moving your arms to hit the drum and looking between the drum and the timeline.

Future

The first thing on the list is a complete visual overhaul.
Particles and visual feedback (not just dissappearing like now) are an incredible must in an audio game.

I also want the user be able to play converted normal Osu beatmaps.
This is available in the original Osu game and increases the amount of available beatmaps enormously.

⇽ Back