I’m Ashley Stancill, one of the co-founders of HyperSloth (Which consists of me, Lewis Bibby and Samuel Read). We have been working on a ‘first-person atmospheric exploration game called Dream for a little under two years now.
In Dream you explore the mind of a lost and recent graduate via dreams and try to put the protagonist’s life back on track. We were only a few months into development on Dream when we saw the Oculus Rift announcement and instantly knew that the Oculus was meant for the type of game we were creating, letting you explore vast and surreal worlds. So without hesitation we backed the project.
We were fortunate enough to be in the early stages of development on Dream which enabled us to tailor the design with the Oculus in mind and try to find a balance that would be both satisfying with Oculus and without; although that’s easier said than done when you don’t physically have the Oculus Rift for another year or so.
Jumping forward a year, past all the hype, demos and presentations from Oculus, we finally got ours and couldn’t wait to throw Dream onto it – after we played around with it and made ourselves very sick of course, but again that was easier said than done.
Dream is being developed in UDK and although Oculus said both UDK and Unity would support the Rift, it wasn’t this straight forward. Unity got a plugin for the Rift, which made it work incredibly well without much messing around, UDK however needed its own engine as the source code needed changing.
The first Oculus UDK (OUDK) came a few months after Unity’s plugin and gosh was it broken. Whilst OUDK had Oculus support the main features were broken and the most important two for Dream which were the Foliage and Scaleform (Which powers the menus and in-game computer). We couldn’t possibly use this version of the OUDK because the experience in the Rift and Dream would be dramatically reduced. It also lacked the following features for a first person atmospheric exploration game:
- Control about Additive Oculus rotation (to enable cockpit like support) for “pitch and roll”
- No way to disable tracking (for testing purpose)
- No changing camera “scale”
- No attaching the Camera to a socket (possible today via external unrealscript coding)
- Impossible to change fov
- Unable to use Rift in editor (play in editor) instead of “play this game on PC”
- Lighting and Materials would swap LOD’s between Rift and Normal mode
- Unable to have Oculus info on overlay in realtime. (rotations,absolute rotation, fov, ipd etcetera…)
- No chromatic aberration
In short, even though we designed Dream to be compatible with the Rift, there were unforeseen circumstances. Eventually, even after the tragic loss of a co-founder, Andrew Reisse, a few more iterations of the OUDK were released, making it possible for us to put the Oculus version out on Early Access.
Designing for VR
As well as supporting the Oculus we are also in talks with a few other companies about VR, such as Virtuix’s Omni Treadmill and Sony. We also experimented with Hydra support too, but had to drop it due to the nature of the game; our primary focus is the Oculus Rift.
Now the OUDK is potentially at its best, it’s rather easy to port Dream over to VR. There are a few things that need tinkering with such as the camera for the character height and one of the most obvious is the menus. Because the Rift slightly limits the outer view all the menus and options needed to be more centralised. I went through moving all the menus into the middle and that’s how it is on the current VR build on Dream.
Developing for VR is really still an experimental procress but rather straight forward, and because of this, I tried a new method for putting the menus into Dream which involved putting them on a plane in front of the character. This way the menus can make use of all its working space and just hover in front of the player, allowing them to see all of it and ‘pan’ around using their head.
There are also common practises when porting a game over that Oculus have actually written down in a giant document which involves things like removing the DoF, Motion blur, Head Bob and Lens Flare to name a few. This helps the player feel more natural in the Rift and reduces motion sickness. Like I said before though it’s very much still a development experiment and the feedback on Early Access has been great, letting us shape the game in the right direction.
Future of VR
I have just come back from GDC and Rezzed, and whilst there we were asked so many times about this and our feelings on Facebook buying Oculus. I personally think VR is going to go far, and now with Project Morpheus and Facebook buying Oculus it certainly tells people to get ready for VR, its coming and it's serious.
My personal thoughts on Facebook buying Oculus are good ones! I understand that people are upset as Oculus said they wanted to stay independent and then go sell, but the truth is they still are independent really. They have said that Facebook is leaving them to their own thing so it’s great to see they have the backing now in order to expand and grow and at potentially a faster rate.
I just think Mark Zuckerberg likes VR, knows nothing about it so buys the company that does. If he does things right he could be getting VR into households and redesign the way we communicate; Google FB Hangouts 2.0?
But it’s exciting to see VR expanding and I hope that now it’s in big hands, it just continues going in the right direction. We recently had a meeting with Chet from Valve who is super excited about VR himself. There are good things coming. Oh – And I wonder what Microsoft is cooking up?
Want to get involved in our VR special all this week? Have something to say about virtual reality and what it means for developers? Email James.Batchelor@intentmedia.co.uk to find out how you can take part.