Day Twenty Three With The Oculus Rift - vorpX Beta
It's been a little while since my last post. I've actually still been trying demos but have also been working on Star Trek Voyager: Elite Force Rift which is coming along nicely.
A few days ago I received an email from Ralf Ostertag the creator of vorpX with an invitation to try out the latest beta of his 3D driver.
I've read most of the other blog posts talking about how cool vorpX is, and having seen screenshots and videos of it in action it looks like it works well. I was excited to try out the driver for myself having had a poor experiences with the Vireio drivers previously (though once configured it did work ok in a few games).
Having installed the driver I looked at the list of officially supported games and set off downloading some of them in my Steam account. These officially supported games are generally those which support the Geometry mode in the driver. This mode can hook in to the underlying render calls of the game to provide true stereoscopic rendering of the game from two independent cameras which is just how games would support the Oculus natively.
The 'normal' mode of operation in the driver uses depth buffer reconstruction with the final render buffer to render the view in the Rift. It isn't exactly true 3D since the effect is achieved using a single render and depth information to construct the stereoscopic image but it actually works very well.
Here's a small video showing the interface in GRID while I switch between render modes. Interestingly if you're watching this on a monitor you can't even see any difference between the modes. However, when Geometry mode is enabled the perceived depth is much greater in the Rift:
Unfortunately it seems my iMac (2.8Ghz i5, ATI 5850M) just isn't fast enough to use the Geometry mode, though I've not yet tried vorpX on my MacBook Pro (2.2Ghz i7, ATI 6750M) which has a little more power but still isn't quite on par with gaming PCs made in the past couple of years. All the following gameplay videos are showing the 'normal' (Z-buffer) mode of the vorpX driver.
Loading up GRID first you immediately get a sense of depth due to the 3D menus used in the game and it feels quite natural too. I had a little play around with the settings and tried various different resolutions and aspect ratios. The vorpX driver is supposed to work best with 4:3 or 5:4 aspects but every one I tried just didn't look right to me, I was noticing the overlap between lenses or just couldn't focus correctly. After playing though I noticed the game lets you choose an aspect separate from the actual screen resolution and I think I might have had it set to use a widescreen aspect on non-widescreen resolution or something weird like that. I stuck with 1280x800 since I wanted to try recording some video too and it looked correct to me though slightly stretched in the Y axis.
Addendum: Ralf commented re: aspect ratio
vorpX by default uses a more or less sophisticated aspect ratio correction algorithm that works better in 4:3 aspect ratios then in 16:10, provided the image is scaled up to use the full screen afterwards. You might have to make sure that this is the case in your display driver settings. If you don't like this 'smart' AR-corrrection, it can be turned off completely, of course.
I'll have to play with the settings more I think to test this out.
I jumped in to a quick game and had a race around the Nurburgring. Disclaimer: it's been almost a year since I've played GRID and I would always play in chase cam mode. My 3 laps around this circuit in the Rift were some of the worst I've ever had in GRID but the sense of immersion was pretty cool and the depth was definitely there. I will probably have to play around with the settings in vorpX a little to see how it affects my view, the detail of the car interior looked especially detailed and the depth was obvious but looking out at the open track din't quite have the same effect.
Also I should point out that Oculus Rift head tracking isn't currently supported in GRID when using vorpX but I hope it will make it in to a later release since that adds a whole extra level of immersion. Even without head tracking I loved playing the game and it didn't feel un-netural like other games have when you don't have head tracking movements.
Addendum : Ralf commented re: head tracking in GRID:
vorpX is able to make the headtracker act as gamepad. Due to the way gamepad input is handled by games this doesn't work as great as mouse emulation, but it works.
In GRID this is the default mode for vorpX's gamepad emulation, so all you have to do is binding Look left/right/up/down to your Rift in the games setup. You will have to re-center (CTRL+SPACE) the gamepad emulation before doing this, otherwise it might not work correctly.
Good to know, I'll have to try setting this up later this evening.
Apologies for the low FPS in this video when all the cars are on the screen, I wasn't expecting it to get so juddery on those packed corners!
Next up I decided to try another game which is marked as being officially supported, Dear Esther. My previous experience in this game using Vireio almost made me sick. The view was all warped and the convergence wasn't right (due to my inability to configure Vireio), I'm sure when properly configured it's a great experience but part of what makes vorpX better in my opinion is it's zero configuration (or at least it's default implementation is similar to what we can expect from the default settings in Unity made games and demos).
Loading up the game (yes from the beginning again, I've had this game for ages and never actually played it yet) I had a look around at the ocean and the lighthouse and immediately thought this looked much better than what I saw with the Vireio driver. Looking up at the lighthouse showed no warping or distortion and I could see it standing out from the sky. I walked around a little, checked out things that stood out to me the most like grass swaying against the sky, rocks standing on the ground and views of hills at different depths which really showed what vorpX was doing. I think if I am to ever play through this game I'll have to try it with vorpX for that true sense of immersion as it did feel pretty cool.
Time for some Mass Effect 2 this time, loading up the game and skipping all the intro cut scenes (well, actually I had to sit through and watch them since I couldn't seem to skip them in any way) I started aboard the Normandy while it was being destroyed by some alien craft. This does look pretty cool in the Rift! With everything on fire and explosions going on there's plenty to look at and Commander Shepard in front of you does look 3D though some of the level geometry looks a little flat in comparison.
When I got to the broken hull of the ship and looked up to the planet there was a real sense of scale and it looked amazing. This segment is rather short however and it was interrupted by a cutscene which didn't quite work well in the Rift since it's been designed so you should see the whole screen, not just the area towards the centre.
Then I jumped in to the first bit of actual gameplay, head tracking works quite well in Mass Effect 2, you're effectively just making mouse movements with your head (and can use the mouse at the same time), looking around and aiming with the head tracking and mouse combined felt quite natural and I was able to aim at enemies and shoot them with ease.
After a couple of minutes the game was prompting me to select a certain on screen icon however which was well outside my view so I quit out here, not vorpX's fault really, just couldn't see what I had to click on! I also played this in 1280x800 which to me seems the most natural when using vorpX though it still had that vertical scaling which should be remedied by using a 5:4 or 3:4 aspect (if I can get those looking correct, which I believe will also require manually setting the FOV to look right in the Rift). see note re: aspect ratio above
Addendum: Ralf commented re: UI elements being out of view:
The issue you describe is *exactly* what the 'EdgePeek' feature is all about. Press the middle mouse button and you are able to look around the screen. Effectively eliminating absolutely all problems with invisible screen elements. For more info please have another look at the quickstart guide that was shown after the setup. It's also available under 'Show Help' from the tray icons right click menu.
Unfortunately my Magic Mouse doesn't expose a middle click in Windows 7. I could try my Logitech mouse or I think there are some programs that I can use to enable middle-click functionality on my Magic Mouse. Still, good to know about this EdgePeek feature, sounds pretty cool so you can see the UI elements that won't usually fit within the Rift's view.
I've been wanting to try Left 4 Dead in the Oculus Rift since I first saw Half-Life 2 got semi-official support, I've been waiting for Valve to roll out the SteamPipe Beta to more of their games which is inevitably coming but in the meantime I now have vorpX to play with!
I loaded up the game, chose one of the single player campaigns and jumped straight in. I noticed my framerate was a little low but it seemed to settle a little, only later did I realise I was playing at 1920x1080 and recording the gameplay video to disk at the same time so apologies if the next gameplay vid is a little jumpy.
The depth wasn't quite as noticeable playing Left 4 Dead with vorpX. Standing close up to characters you could see all the detail and there was definitely some depth to the image but overall I think it felt more like playing the game on a huge cinema screen. There was some level of immersion but most impressively to me was how the image looked fully correct and not warped at all. You have to think, if this was just Side-By-Side 3D it would look horribly warped and out of scale in the Rift but this looked great, for a non-native implementation it's pretty cool!
I played Left 4 Dead for a few minutes, decided to take on the Witch towards the end, she wasn't so tough though :-p
I also had a play on FEAR, FarCry, Trine, and Sanctum, each of which worked well but the FOV felt wrong in FarCry compared to all the other games I've tried. I'll likely cover these games in more detail with vorpX over the next few days.
Overall I've really enjoyed playing these games with vorpX, it's default Z-buffer mode should work with almost any DirectX 9+ game though it did seem to crash when loading up some other games in my Steam library (Max Payne, Supreme Commander 2, Counter-Strike: Global Offensive). Even though the image may not be true 3D, even just being able to play these games in the Oculus Rift without inducing headaches and nausea should make vorpX an essential piece of software for any Oculus Rift user to own! I hope to play many more games over the next few days with vorpX. I'll have to try out the geometry mode in a game that's a little less taxing, perhaps with Portal and will also try on my MacBook Pro to see if that is any more capable of maintaining a higher framerate.