Recently we received our Oculus Rift development kit. If you have no idea what it is, simply go to their site to find out more about it. It was during our Kickstarter campaign that we had promised the community that Blackspace would definitely support the Rift. We had some ideas on how to get a 3rd-person game working with a device that is meant to be used from a 1st-person viewpoint. So we decided to dig into it and implement our first-pass support for the Oculus Rift.
Given that Blackspace uses a 3rd-person point-of-view, the head tracking aspect required an approach that is slightly different than how 1st-person games work with the Rift. The input to swivel the camera around the avatar is still handled by the regular 3rd-person camera rotation input (mouse or right stick on a gamepad), whereas the head tracking simply allows the camera to look around without changing its position relative to the avatar. This approach emulates a very natural game interface for players that are already familiar with standard 3rd-person game control mechanics.
Assuming the player sits still in a chair or couch, the result is that the game feels like it has a complete spherical screen around the player and the avatar is always in-front regardless of the facing direction of the Oculus. This does mean however that looking side-ways will move the avatar completely off-screen which is ok since this is the naturally expected result.
Similarly, due to the lack of resolution on the Oculus dev-kit, instead of shrinking down the HUD and UI elements to fit the tiny viewable area and making them completely illegible, we decided to allow the user to pan around the HUD and UI by looking around in the 3D world. This is doable because much like a cockpit based game (a la Hawken) we have a predefined “forward-facing” direction for the user which cannot be said for 1st-person-shooter style games that do not differentiate between the ‘body-facing-direction’ vs. the ‘head-facing-direction’. Similarly, some of Team Fortress’ Oculus setup configs support this notion while other setup configs do not.
We also have some other small customized touches. For example when using the the search light without the Oculus Rift, the light cone will simply follow the crosshair, but with the Rift it will follow the user’s view direction. There are some gray areas such as deciding on whether or not the tracking missiles should follow the Rift view direction vs. the cross-hair. We expect that such decisions will be made later down the line once the gameplay is close to being finalized.
Much like any other game that is set to support the Rift, if the user has a PC to support the added performance hit and maintain a steady 60 frames per second, playing Blackspace using the Rift adds a whole extra level of immersion to the game. Especially looking around after landing on the dark-side and seamlessly looking up to the stars gives me an eerie sense of what it feels like to be staring at the ‘magnificent desolation’.
The video below is the result of this effort showcasing some prototype footage of Blackspace being played with the Oculus Rift. It’s important to note that while the video can be viewed using the Oculus Rift to experience the wide field-of-view and stereoscopic 3D; the lack of head tracking and pre-recorded camera movements can leave the viewer feeling significantly nauseous compared to the user controlled real-time experience.
In case you might wonder, the floating donuts are placeholder “slalom gates” for the challenge demo we promised in our previous blog post. Also note the message on the upper right hand side telling the player to fly to a particular slalom gate to complete the challenge.
It’s always good to make sure that such a fundamental feature is in before the other aspects of the game is finalized. This allows us to make sure that the Rift support does not feel like it was an afterthought and forced into the game. Needless to say, there is still much to do such as exposing the Oculus tuning parameters to account for different user specs, but Blackspace’s Rift support is now at a fairly stable state. At this point, we can shelve our Oculus implementation and switch back to working on our more (less?) visible features while we hear more updates from Oculus VR team about how they plan to proceed with their consumer hardware.