As the tech world eyed the revolutionary virtual reality headset Oculus Rift, waiting for the still-coveted consumer release information, Samsung’s Gear VR headset was unveiled with something of a surprise at the beginning of Septmeber during its Samsung Unpacked event.
The platform is to arrive with the public before Rift. A hardware partnership between Oculus and the mobile giant had been long-rumoured, but few would have predicted Gear VR debuting ahead of the company’s core device, particularly when social networking giant Facebook had just spent some $2 billion on acquiring the start-up.
Taking the form of the mobile slot-in headsets so popular with crowdfunding entrepreneurs, Gear VR is also expected to go on public sale before Sony’s Project Morpheus, potentially at the close of 2014, giving it an early run at the virtual reality market and giving developers some idea of consumer anticipation for such a device, and whether there’s money in it.
And a clutch of studios such as The Room outfit Fireproof Games are already unveiling titles such as Omega Agent for the Gear VR, while others including Climax Studios are describing the headset as superior in experience to the first-gen Rift.
It’s all an encouraging sign for those unsure about developing for a mobile virtual reality system, where questions are asked and eyebrows raised around control input and interactive function issues.
The headset makes use of the 5.7 inch Quad HD super AMOLED display in Samsung’s Galaxy Note 4, and reportedly inspired Doom lead programmer John Carmack to join Oculus as its chief technology officer back in August of last year.
And the Gear VR headset has been keeping Carmack plenty busy. Together with Max Cohen, Oculus’ vice president of mobile, and a team of coding specialists snapped up into close to a dream team for the technological revolution that seems to be underway at Oculus, Carmack has been building the Gear VR’s software development kit.
Develop caught up with Cohen to learn more about the SDK, what it offers developers, that latest improvements in VR development and how it welcomes teams to the potentially bewildering world of crafting virtual reality projects for the Android platform.
Firstly, broadly speaking, what have you tried to offer developers with the Gear VR Mobile SDK? Was there a particular theme in terms of what you wanted it to deliver for devs?
Our goal was to do the heavy-lifting that helps get virtual reality running smoothly on the Note 4, while leaving developers the flexibility to tweak settings in order to extract the best performance they can get. For the Samsung Gear VR to be successful it absolutely has to have the support of the development community – and to that end the SDK is designed to help developers create successful applications.
What specific opportunities and challenges does a mobile VR platform offer, and how have you addressed them in the SDK?
The biggest challenge and opportunity lies in one’s ability to balance the capabilities of the mobile devices with the thermal load and power consumption associated with them.
Mobile devices definitely have the processing and rendering performance to create compelling virtual reality experiences. However, utilising 100 per cent of all this power is not straightforward.
The SDK allows developers to set different locked clock speeds which gives them maximum control over the application performance while keeping the application power and thermal-constrained.
These types of limitations won’t be going away any time soon – if you look at the entire size of a Galaxy-class phone versus just a high-end PC graphics card, you can see why there are some design constraints on mobile VR. So beyond that, we manage what we can – we have functionality in the SDK to notify users when the phone is heating up and automatically reduce settings a bit to allow continued use.
And how familiar will it be? What have you done to make sure it’s accessible and developer friendly?
If you’re familiar with developing for the Oculus PC SDK, you won’t find many surprises in the Mobile SDK. There are various customisations, but they’re pretty easy to understand and deal with. We’ve also had the Mobile SDK in private preview for the last six months, so we’ve had time to take lots of feedback on board and iterate on areas that needed improvement.
What about the Mobile software development kit’s potential integration with other tools and middleware; is it particularly open in that regard?
A lot of effort went into supporting the Unity game engine and we are actively looking into and encouraging support for additional tools that will enable developers to create successful applications.
A number of hardware developers have also been adapting their SDKs to work with our own, so that users with other types of controllers, for instance, can still get a good experience on their app.
How has the Gear VR Mobile SDK evolved as you’ve been developing it? How, for example, did feedback from the developers granted early access to the SDK influence its design?
It has evolved massively. When we first put the SDK together, it was for apps running on the Galaxy S4 – then we had an S5 version, and then a 1440p S5 version, that has a similar chipset to the Note 4.
As functionality got added – such as mount-on/off detection – we had to modify the experience so that it was closer to a commercial launch; adding auto-reorientation, for instance. Of course, there was also a lot of bug-fixing and new feature additions throughout the process.
Many games developers have Oculus projects already underway for the PC. Is there support for helping them rework those games for the Samsung Gear VR? Is that even something feasible and reasonable to undertake?
Absolutely – and it’s not just reasonable, but encouraged. The graphics levels will be lower on mobile, of course, but great mobile experiences can be achieved through optimised development.
We expect many developers to work on both Gear VR and PC-based solutions. Starting with mobile and focusing on the experience is in many cases the better approach because it is often easier to add eye candy than to remove it.
What has Oculus learned from developing this SDK, in terms of what it can implement into its SDKs and tools elsewhere? Perhaps there’s even a broader benefit there for developers making games for the core Oculus system?
Although the mobile and PC SDK teams are separate, we continuously share knowledge with each other. Some advances, such as John Carmack’s asynchronous timewarp, for example, were started on mobile and then migrated to the PC. The information flows both ways.
How, if at all, does the Mobile SDK address games developers looking to overcome the challenge of adopting the Android platform for the first time?
Developers will need to have a cursory understanding of how to make an Android app, but by using a generalised game engine such as Unity, they can have a Gear VR project up and running very, very quickly.
What about the future of the SDK? How do you expect it to evolve as it finds itself in the hands of more developers?
The team has new ideas all the time – we prototype out a lot of them, and the best ones then make their way into the developer’s toolkit. We expect the development community to come up with innovative tips and tricks that can be implemented and shared with everyone.
The Oculus developer forum is another good resource for people to share their experiences and help out fellow developers. Virtual reality is at a nascent stage, and what we do in five years will seem both impossible and unrecognisable to us today. Oculus, via both the Mobile and PC SDKs, hopes to stay at the forefront of this technology at it continues to develop.
And how is the SDK made available to developers? Is it free, for example, and what license models are in place?
It’s absolutely free.
Finally, do you have a piece of advice for games developers that are considering embracing creating a game for Samsung’s Gear VR headset?
Think about innovative gameplay, and design an experience that is much more immersive and enriching when users are placed in a virtual environment.
Ports can be successful, but users are most delighted when they play something that wouldn’t be possible on a television or a handheld device.