The PC market has seen a lot of movement recently, and Valve look set to continue the trend with their attempt to make it easier for Steam gamer’s to take the plunge into VR. Joe Ludwig writes in one of the slides shown at the Steam Dev-Days conference – “Our goal is to provide a seamless VR experience while running in Steam”.
Earlier this month (January, 2014), Valve announced a partnership with Oculus Rift and that they were in the process of developing a SDK (Software Development Kit) to help make it easier games developers to take advantage of VR hardware. Indeed, Valve puts it best by saying in a “They are in a unique position to be this intermediary between hardware and software users“.
Once you launch Steam with the VR headset, you’re easily able to filter titles which support the VR headset and then launch the game. Indeed Valve have said in their slide “Now, many games that support VR don’t necessarily support it for every part of the experience. It turns out that Half-Life 2 is one of those games. The bits of code that understand VR don’t run until after the splash screen goes away.
So for those games, Steam will show whatever the game is drawing on the same virtual screen. We are calling this “Legacy Mode”, and in theory you could play an entire game in this mode using
Steam’s upcoming streaming feature.”
Right now, to keep on with the Half-Life 2 example, currently the game will load up in Desktop mode. There’s an option present on the menu which allows the user to manually flick to the VR mode. This won’t be the same in the future, where instead the game actually communicates with Steam and says “hey, is there VR hardware connected to this PC? Oh there is, better launch in that mode then!”. All of this is automatic, and doesn’t require the user to configure anything.
It does this by using a ‘call’ via Steamworks, and then if the title supports VR, the hardware and software easily communicate with one another using Steam as the intermediary. Indeed, Valve have said this on the subject “Just look at ISteamUtils for the IsSteamRunningInVR() method. We will release a new Steamworks SDK within the next few weeks that includes this call and the other stuff I’m about to talk about. Keep an eye out for that.”
SteamWorks VR API – like DX – but for VR?
In addition to this is the Steamworks VR API. It’s new to the Steam platform, which Valve have written to in their words ‘expand on the services of Oculus SDK and other hardware specific APIs’. The purpose behind this is to create a fairly future proof piece of software that was a familiar development environment for developers. They need to ensure that if a game developer creates a title and runs with a specific driver and piece of hardware, updates to either the software or hardware in the future won’t trash the developers hard work.
The worst thing for a games developer is the prospect of a feature ‘dying’ because the hardware or software goalposts change in the future. Valve know that for Virtual Reality to really take off on the PC, they need to support it and help to remove those issues from developers.
There’s another bonus to this, it allows multiple applications to ‘speak’ to the hardware at once. Meaning that in this regard, the SteamWorks VR API is more robust, better providing multi-tasking and other capabilities. You can think of this in some ways as a Virtual OS running under a host.
In this respect, it’s similar to DirectX. There are a lot of emerging Virtual Reality headsets, although Oculus Rift is probably the most famous at this point. Within a few years, this will change and there’ll be several competitive devices on the market. As Valve stated “VR is closer than you might think”. Much like DX, OpenGL or other API’s, the purpose here is provide a common ground for all the hardware. When new hardware is released, which includes features which aren’t part of the feature set, they can simply add those to the Steamworks VR and won’t break compatibility for older hardware or software.
The Virtual Reality Hardware Problem…
Hardware to run the Virtual Reality is a definite issue. John Carmack (formally of Id Software) has stated numerous times that with VR hardware, frame rate and resolution are king. Stuttering / bad frame rate destroys the sense of immersion. In addition to that is the issue of pixel density and resolution. Says Valve “Resolution is a particular issue with VR because the wide field of view spreads out and magnifies the pixels; the per-degree pixel density of a 1K x 1K, 110-degree VR display is roughly one-seventh that of a big-screen TV, and about one-tenth that of the eye itself. In fact, it’s actually lower pixel density than the original Quake running at 320×200”.
1080P right now seems to be the minimum that works, but in reality 1440P or 2160P are the resolutions which they are shooting for. This will mean that not only will panels to support those resolutions need to be developed, but the gamer will need the appropriate hardware to drive the resolution and frame rate. Additionally, latency is a huge issue, more than 3ms and the scene starts to appear as blurry.
Currently Valve are targeting 95HZ for their software, and have said with this in mind. “It’s worth noting that VR quality suffers noticeably when rendering doesn’t keep up with frame rate, and that it’s going to be a challenge to maintain 95 Hz stereo rendering, especially as resolutions climb.”
Clearly the gamer who wants to enjoy these titles at the fullest quality is going to have to lay down a good amount of cash for now. Indeed, Valve themselves admit that there’s a huge amount of work that needs to be done. Ideally, they’d love for a resolution of up to 100x what they currently are running! The Field of View (FOV) isn’t ideal either, and something they believe needs to be worked on. Headtracking still isn’t perfect, and the cable connecting the headsets Valve doesn’t like. Of course there’s the wireless bandwidth requirements and likely why we’re still “tethered”.
Audio needs work, with Valve stressing 3d Audio, Haptics and Body Tracking are much harder to implement. Virtual Reality input is pretty much heading towards unexplored territory. Valve are researching these areas, but if anyone expects to be in the Matrix or using the Minority Report systems within the next year or two, you’ll likely be disappointed.
Is PC the VR Epicenter?
For multiple reasons, Valve are fairly convinced that we’ll be seeing VR on the PC first. This is due to the open nature of hardware development on PC’s, meaning that the hardware and standards can evolve rapidly, as opposed to being stagnant on consoles. The hardware requirements are well… high. High end gaming rigs already offer much more grunt than the next generation PS4 and Xbox One. But gaming PC’s of 2016 (just two years away) will dwarf the consoles. Valve, in perhaps an egotistical but also true statement also said they will be there for PC gaming. They are pushing huge amounts of resources into VR for the PC. And because they are doing this, along with other companies they believe PC gamers will get the better experience.
It goes without saying that the emergence of Virtual Reality is all but certain. How successful it is remains to be seen. In the PC market, there are several emerging technologies and standards, some of which could impact it. G-Sync from Nvidia for monitors is certainly one of those, allowing smooth game play on the traditional screen. AMD’s Mantle and True Audio are certainly going to improve frame rates and audio quality, but as AMD themselves told me in an interview, right now they’re focused on OpenGL with the Linux Platform. Then there’s Valve, not only are they pushing the SteamWorks VR SDK, but are also pushing the SteamOS and Steam Machines. The PC market is changing and evolving, but I don’t think any of us know where it’ll lead.
Sources used:
http://media.steampowered.com/apps/abrashblog/Abrash%20Dev%20Days%202014.pdf
http://media.steampowered.com/apps/abrashblog/Steam%20Dev%20Days%202014%20-%20VR%20and%20Steam.pdf