Still lots of coverage left from GDC 2014! Kris Roberts was on the scene, and he got to check out both of Oculus VR’s GDC presentations. More to come, of course!
Almost Ready Player One!
At GDC last year there was a big buzz around Virtual Reality. The very first Oculus Rift devkits shipped the week of the conference. The VR focused sessions were standing room only, and the enthusiasm from the developer community was obvious.
This year the VR developer community has grown tremendously and the announcement of the Sony Project Morpheus headset means VR game developers have options on the PC and PS4 for development of exclusive or cross platform titles. We will also have to see who will be the first to the market with a consumer unit. But at GDC the interest is all about the development equipment and SDK details.
In the GDC 2014 program there were two VR sessions at GDC 2014, both presented by Oculus:
Working with the Latest Oculus Rift Hardware and Software (Presented by Oculus VR)
Michael Antonov | Chief Software Architect, Oculus VR
Nate Mitchell | VP of Product, Oculus VR
Since the debut of the original Oculus Rift development kit at GDC 2013, we’ve shown off a set of critical improvements including a high-definition display, positional tracking, and low-persistence support. Likewise, behind the scenes we’ve also been making critical improvements to the core Oculus SDK like new feature support, optimizations (particularly around latency), and overall simplicity. In this talk, we’ll discuss everything you need to know to get started integrating the latest Oculus Rift hardware with your VR game or experience. The talk will be split into an overview of the latest hardware, a technical breakdown for engineers, and a game design discussion relevant to the new features. We’ll also talk about our vision for future development hardware leading to the consumer Rift and what that path might look like.
Nate started the session by confirming the big announcement from Oculus at the show which was their second devkit – DK2. They had it on display in the expo and are now taking pre-orders (expected unofficially in July). He also pointed out that the sessions from GDC 2013 are available on YouTube and encouraged people who have not seem them to go watch:
The two biggest improvements in DK2 are the higher resolution low persistence OLED display and 6 degree of freedom positional head tracking. The low persistence display is supposed to eliminate motion blur and judder. The camera based 6DOF tracking system adds translation and does not drift. Other new features worth mentioning are the display’s higher 75Hz refresh, a built-in latency tester, new optics, an on-headset USB port and the elimination of the control box.
Presence. That’s the new buzzword for successful VR – when the user experiences the magic of VR and believes they are in the simulation. The DK2 is presented as having the fundamental building blocks to deliver presence, but Nate made it clear that it’s not the holy grail and it won’t deliver presence for everyone. He suggested that DK2 can provide an improved taste of the experience over what was possible with DK1 – and that with it developers will have the tools they need to craft quality VR, but that the upcoming consumer version will provide another jump in quality comparable to the difference between DK1 and DK2. He also stressed that DK2 is the last dev kit they will produce. Once the consumer version is available, that will be both the end user device as well as the tool for developers.
Michael went on to talk about some of the technical considerations of DK2. In particular, the low persistence screen does help provide a stable image as you turn without motion blur, but the current display can exhibit a rolling shudder right-to-left with a 3ms band of light which can be seen about 20% of the time. The consumer version could combat this with global persistence.
He also described how the positional tracking system works with an external camera positioned to look at the user and a set of infra red LEDs on the headset. It provides an area for the user within a 72H x 52W degree FOV and 0.5m – 2.5m tracking range. If the user does move outside the view of the camera, the system falls back to the gyro and accelerometer for inputs; but loses the ability to provide translation in the process.
Moving into the software, we were told that within the next few weeks developers should expect the release of the Oculus SDK version 0.3. The new SDK will work with both the DK1 and DK2, have support for the new positional tracking system, provide a C language interface, and include optimizations for performance and reducing latency. To take the best advantage of the current and future optimizations, the strong suggestion is to use the SDK for rendering. They are working hard on reducing latency, including a novel “Timewarp” approach pioneered by John Carmack which re-samples the orientation sensor before the end of the current frame to do projected rendering.
Nate finished out the session with a quick discussion of some design considerations for VR content. If you have not already, the Best Practices Guide is an excellent place to start:
The three main goals to shoot for are presence, comfort and fun. Although a lot of the first projects and demos were first person shooters, they are finding that more sedentary and relaxed experiences can have a more positive impact. One of the demos they have in the booth now called “Couch Knights” was developed with Epic and you hang out on a couch in the simulation and control a little knight character who runs around the environment. In some ways it’s more of what people would expect in AR but works great in VR. This is the first medium where people “feel” the experience, and making sure all the parts of the integration are correct is essential: scale, FOV, tracking and player IPD.
Wrapping up, Nate reiterated that Oculus is working on locking down the specs for the consumer version of the Rift. The CV1 is going to be a big step from what we have now, but the fundamental building blocks are in DK2.
More to come tomorrow!