The idea of VR has fascinated me since childhood, but unfortunately the tech never really delivered on the promise of movies like Lawnmower man and Johnny Mnemonic.
So along comes a Kickstarter for a VR HMD called the Oculus Rift. Low latency head tracking, huge field of view, and just a smidge heavier than some ski goggles. My excitement grew as hard hitters of the game industry – John Carmack, Gabe Newell, Michael Abrash, and others – vouched for the authenticity of the Rift. Minutes later my pledge was in for a dev kit.
I have a dev kit on the way, but what to do? After some research, forum lurking, and tinkering with various programs, I formed a few solid ideas and settled on which software and hardware to implement them with. My conclusions:
Interface: Razer Hydra
VR is an immersive technology, and needs an equally immersive and intuitive interface. The player is blind to real life so traditional mouse and keyboard are impractical, if not impossible. Game controllers are a little better, but break the immersive experience. The Hydra has a nice balance between cost and performance. It is not the perfect solution, but at least the player can move their arms in real time and see results in the virtual world.
Development Environment: UDK
UDK, Unity, and OpenGL were all on the table, and I tentatively looked into all three. The learning curve and time needed for OpenGL was a bit much for me at this stage in the game, so that was out. I really liked Unity, it was quite easy to get something working quickly and there are a lot of tutorials and support out there for it. However, a Unity Pro license is needed to integrate with the Razer Hydra. I am not quite ready to plop down 1500 bucks to tinker. So that left UDK: not as easy to set up as Unity and tutorials were less robust, but less upfront cost and damn it makes pretty environments.
So the plan from here is to put together a level or two, integrate the Hydra, then proceed to integrate the Rift when it arrives. I will use this site to document every step of the way – hopefully it will be helpful for someone out there!