Dragon Simulator 2015
Dragon Simulator 2015 was my project for the Arduino course at Shenkar College, and as the name implies, it simulates typical dragon activities: the player may fly around the endless (looping) 3D game world, and breathe fire at the occasional village. There was never really much to it as a game, since my focus was on realizing the unique control scheme.
I have been interested in the notion of custom, game-specific controllers since glimpsing such arcade machines on TV as a child, and particularly appreciate the likes of Taiko Drum Master and the Initial-D arcade game (specifically the insane one in Tokyo's Sega Joypolis). Mechanically these games would function with more conventional controls, but the custom hardware does much for the suspension of disbelief and makes the experience far more intense. Naturally, I wanted to spend my time in the Arduino course building some kind of custom controller tailored around a game that it would benefit in a similar fashion.
The game uses a custom control setup consisting of two motion sensors (IMUs) and a small microphone, controlled by an Arduino board, as well as an Oculus Rift DK2 VR headset. The motion sensors track the movement of the player's arms to direct the dragon's flight, as if they were wings. The headset tracks the head motion, and the microphone (which hangs from the headset) detects the player's blowing, to allow for an immersive flying and fire-breathing interface.
I also implemented a dynamic music system, and composed an original background track split into six synchronized layers. The layers correspond to different heights in 3D space, as well as different directions relative to the player character's heading, but otherwise travel with them. As the player changes height and direction of flight, the tracks seamlessly fade in and out while maintaining their "compass" direction. The difference in musical texture and harmony in different heights parallels the different kind of gameplay the player may experience there, with intense brass and harpsichord riffs when the player is near ground level and probably causing havoc, and chill violin solos and electronic backing when the player is up in the clouds. The constant compass direction of each track relative to the player is also meant to ease player orientation in the looping 3D space. It kinda worked, too.