Making Valve’s OpenVR Truly Inclusive for VR Headsets

7
Cloudhead Games' Denny Unger shows off a cacophony of VR headsets

With multiple proprietary VR systems on their way to retail, development fragmentation in the VR market has recently become a hot topic in the VR community. In this guest article, a veteran developer who goes by the name of ‘Phr00t’ shares his recent significant advancements using Valve’s OpenVR, which in theory offers a single development target for VR creators.


Phr00t started game development over 10 years ago, and now holds titles on Steam (3079, 3089, 4089, and Spermination). Spermination & 4089 were developed for virtual reality, and the upcoming 5089, an action RPG, will be supported in a VR environment too!


Virtual reality is just now becoming a reality, and the development environment for it is still forming. It has always been my goal to support free and open ideals, and I want nothing less for virtual reality. I want you to buy into virtual reality and experience everything it has to offer, without worrying if you bought into the ‘wrong’ ecosystem.

social-vr-featured-chris

In a perfect world, we’d have the freedom to choose what virtual reality system to buy among a long list of great, interchangeable options. Every headset would work with every input device, and every piece of software would be compatible with excellent support. Of course, the reality is much different. Companies are using different tracking methods, shipping with varying input devices and touting exclusive deals with software developers. This leaves consumers with the choice of picking what ecosystem they want to buy into, or having to pay the large price of buying into more than one. Developers also have to worry about who to target and who to potentially leave out.

When the Oculus Rift was the only big virtual reality player in town, it was an easy decision to target that hardware. I purchased a development kit and had a ton of fun experimenting with it. Then, HTC and Valve announced the Vive. Suddenly, there was another viable option out there that my games built for the Oculus Rift wouldn’t work on. Other headsets were being announced too, like OSVR’s HDK, FOVE and StarVR. Continuing to develop with the Oculus SDK meant not supporting these other devices, which went against my inclusive nature.

Then I found Valve’s OpenVR, which is described as “an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are steamvr_logotargeting.” Sounds perfect, doesn’t it? Implementing such a lofty goal is a little easier said than done.

OpenVR is tied to SteamVR, which I soon found out had poor support for the Oculus Rift out of the box. Even the ‘hello world’ VR demo ran very poorly when I strapped on my Rift. I knew I had to do my best to make this work, though, because I shared the same goal as OpenVR: open and universal VR gaming and development. I loaded up my favorite 3D engine, jMonkeyEngine.

jMonkeyEngine is a free, open-source and fully featured 3D engine. You can develop on any operating system, for any operating system. Imagine that working, side by side, with OpenVR? A match made in heaven: VR gaming, with any supported headset, on any operating system. Software and hardware could compete and grow with no artificial borders. Sound too good to be true? Maybe… or maybe not.

After some tinkering with the OpenVR system, I quickly realized difficulties using the ‘VR Compositor’, which is an optional tool to automate a bunch of virtual reality features. That tool is used by default on SteamVR applications, which appears to be the source of the compatibility problems. The VR Compositor isn’t available on Linux either, so I set out a way to work around it. I had to forgo the much desired ‘Direct mode’, which allows easy virtual reality operation by displaying a game just on your headset. Fortunately, I discovered a way to bring many of the benefits of Direct mode to the backup mode, called Extended mode, where a headset acts like a second monitor.

jmonkeyengine-phr00t-screen
Phr00t’s demo application running through OpenVR

Using jMonkeyEngine and OpenVR, I finally had a breakthrough: smooth, accurate & fast Oculus Rift support. My tools would find the Rift (configured as a second monitor), automatically display a game fullscreen and without any additional configuration that haunted previous ‘Extended mode’ applications. The best part is, I knew I wasn’t just getting the Oculus Rift to work. Vive, FOVE, StarVR, OSVR… should now all work with this ‘Easy Extended Mode’ on Linux, Mac, and Windows.

With all of that said, this universal library solution does support the VR Compositor. So, when Valve improves it, developers can enable it with a flip of a switch. That should enable Direct mode, where supported, too.

My goal of open and free development is becoming a reality, and I want to share it with you. There are free, open-source and cross-platform tools out there to make a game that every VR fan should be able to play, no matter what VR headset they buy or operating system they run. If you want to experiment with platform-agnostic development and deployment through OpenVR, you can experiment with the tools I’ve created here.

Phr00t’s Universal OpenVR Library Demo

Requirements:

  • Requires Java 8 (which can be bundled for formal distribution) and SteamVR via the Steam client
  • Tested on Windows 8.1 with Oculus SDK v0.6.0.1 & Linux with Oculus SDK v0.5.0.1

I also need to mention OSVR which is partnering with OpenVR. OSVR is working on some interesting developments themselves and all of their source is open (compared to OpenVR, which isn’t).


Our thanks to Phr00t for taking the time to compile this guess piece for us. You can find out more about his work over at his official Facebook page. His github VR library for jMonkeyEngine can be found here and his custom jMonkeyEngine source repo here.

2015 Proto Awards Submission Deadline Extended and Widened

0

This year’s Proto Awards, the premiere awards events celebrating the VR industry, has had it’s nomination submission date extended due to “tremendous” response.

Sixense STEM Edges Closer to Release

2
STEM motion input controller with three 'Packs'

Sixense, the company behind the much beleaguered motion control system STEM, have released what they term ‘positive’ results from their latest round of EMC (Electromagnetic Compatibility) testing.

This Full Video of Valve’s ‘Aperture Science’ VR Demo is Wonderful and Spoilerific

0

*** Warning: This Video Contains Spoilers ***

Watch as an anonymous player works through Valve’s Aperture Science demo, built to demonstrate the capabilities of Valve’s new virtual reality technology – HTC Vive.

Dave & Buster’s Hosts Wireless VR System from VRcade, ‘Time Zombies’ and ‘Interstellar Marine’s Bullseye’

1

Dave & Buster’s Milpitas, CA location is now playing host to the restaurant arcade chain’s first wireless VR system, an optically tracked solution created by VRcade.

AMD’s ‘LDK’ is a ‘Liquid VR’ PC Platform for Developers, to Ship with CryEngine this Year

0

AMD’s Liquid VR, an initiative to enhance virtual reality experiences on the company’s GPUs, has a development kit that will ship this fall and it’ll come with a full copy of Crytek’s CryEngine as part of the package.

Oculus Sign “Largest Live-action VR Deal to Date” with Felix & Paul Studios

2

Cinematic 360 specialists Felix & Paul, the team behind Cirque Du Soleil’s ‘Zarkana’ and Inside the Box of Kurios, have been signed by Oculus for a multi-project, multi-experience ‘pact’ to create 360 content for the Rift and Samsung Gear VR.

‘FlyInside FSX’ Launches Prepar3D Alpha Preview

0

FlyInside FSX, the crowdfunded VR plugin for Microsoft Flight Simulator X (2006), has today released the first taste of the project’s $30,000 stretch goal—coming to us in the form of a free alpha preview for Prepar3D.

Oculus Acquires Pebbles Interfaces, Computer Vision Hand Tracking- Breaking

2

Oculus today announced the acquisition of Pebbles Interfaces, an Israel based firm focused on depth sensing technology and computer vision for the purpose of hand tracking.

‘Keep Talking and Nobody Explodes’ Comes to Gear VR Store, PC Release Later This Year

0

Steel Crate Games, an Ottawa based indie studio, has today announced that their bomb-defusing party game—Keep Talking and Nobody Explodes—is now coming to the Gear VR store.

Radial-G Update #4 Adds Oculus SDK 0.6.0 Support, “Gruelling” Single Player Campaign

0

Tammeka GamesRadial-G, the futuristic ‘Wipeout’ inspired racer built from the ground up for VR support, has just been updated with Oculus SDK 0.6.0 support and the addition of a challenging new single player campaign.

‘The Last Starfighter’ TV Spin-off to Integrate Virtual Reality Enabled Scenes

0

1984 cult classic The Last Starfighter, beloved by 80’s video-gamers the world over, is coming back in a new TV spin-off that will apparently feature scenes created for virtual reality.

‘VRTGO 2015’ UK Conference to Usher in Consumer VR on November 12th

0
The Baltic Centre of Contemporary Arts, home of VRTGO 2015

One of Europe’s premiere industry VR conferences, VRTGO, is back on November 12th and, like last year, the event promises appearances from some big industry names and a greater emphasis on commercial virtual reality.

‘Pixel Ripped 1989’ is a Flight of Fancy that Pays Homage to Gaming History, Kickstarter Now Live

0

Pixel Ripped 1989, a time-bending VR project that aims to bring back the video games of old, have today announced a Kickstarter campaign in hopes that the team’s “game within a game” will strike a chord with classic game enthusiasts.

‘VRLO’ Gathers Virtual Reality Industry Creatives for New London Meetup on 15th July

0

VRLO, a London, UK based virtual reality meetup has it’s inaugural event on 15th July with the likes of Two Big Ears, RewindFX and VRSE.Works scheduled to speak.

39,929FansLike
13,574FollowersFollow
66,541FollowersFollow
27,800SubscribersSubscribe

Latest Headlines

Features & Reviews