Page 1 of 1

Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 8:48 am
by JohnCarmack
There will be a longer piece next month with lots of technical discussion, but this is the first play footage:

http://www.theverge.com/2012/5/30/30521 ... -with-john

John Carmack

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 8:55 am
by space123321
SOOOOOOOOOOOOOOOOO excited!!!! This is amazing!

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 8:57 am
by brantlew
I tried to link that article as well but couldn't get it up. Help Neil.

(Edit: The URL link is fixed now, but here's the video anyway)

[youtube]http://www.youtube.com/watch?v=vIkrQK60N-4[/youtube]

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 9:38 am
by AaronAsh
Doom 3 is a good choice to demo the tech; it will run well on most hardware, is suitably atmospheric with lots of big unpleasant things lunging at you and has hours of content to play.

John, in that video is the gameplay shown on the monitor running at the 1280*800 res of the HMD? If so it looks really good, and allays my concerns about the Rift's resolution. What kind of anti-aliasing have you found to be best at that res?

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 10:02 am
by fireslayer26
Awesome!! Big ups to you John Carmack!!

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 10:09 am
by adventurer
this is currently the greatest HMD with such a cheap prize. However, the Rift must be improved very much in the design in order to be commercialized successfully.

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 11:26 am
by JohnCarmack
Yes, the monitor was at 1280x800. I was running at 4x MSAA. The fisheye correction resampling adds an additional level of anti-aliasing / blurring on top of the native rendering. The resolution is indeed low, and you can see individual pixels, which matters more to some people than others.

The large pixels do highlight aliasing more than a typical display environment, so it probably is worthwhile to consider using more expensive supersampling modes to fight in-surface aliasing effects as well as edge aliasing, as long as you don’t cause it to drop below 60 fps. Unfortunately Doom 3 fluctuates wildly in its rasterization demands during combat due to the additional shadow and lighting passes from dynamic lights, so you can’t go too crazy with the oversampling, or it will get choppy when you are in a fight. On the consoles we dynamically resolution scale, but it is hard to get that right on the PC. Of course, a high end PC has >10x the throughput, so you don’t usually need it…

For best effect, I really should use a 16 bit per component framebuffer with linear lighting, only gamma correcting after doing the fish eye correction so all the bilinear filters and MSAA will stay energy conserving correct.

John Carmack

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 12:34 pm
by AaronAsh
Thanks for the reply John.

It sounds like you've built fisheye correction directly the rendering process here, but (and I guess this is also a question for Palmer) what is the best method to apply that correction to games which don't support it natively? Recently it's become quite popular to use a custom d3d9.dll file to inject post processing effects like FXAA, bloom etc... into games (this, if you aren't familiar), could this method work for fisheye correction too if someone wrote the shader to do it? That would be a super easy way to make it work in almost any game.

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 12:36 pm
by CyberVillain
Nice! Doom3, still a good looking game so many years later.
Its sounds like the HMD is pressing on the guys nose because his voice gets a bit nasal after putting it on :D

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 5:05 pm
by bobv5
This is awesome news. I saw that other HMD's will be suported, but no mention of the tracking devices. Some more info on this would be great. (Sorry if I missed it somewhere)
Will dual output to seperate eyes for dual input HMDs be possible? If not, will the independant view/gun controls be available in non stereo display?

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 5:22 pm
by cybereality
This is great. Can't wait to play DOOM 3 again with this headset.

Interestingly enough, I never finished DOOM 3 the first time around, because it was too scary for me with the 3D glasses. Probably even scarier with the Rift, but I think I'm up for the challenge.


MTBS has an overzealous word filter that seems to be ruining the Verge link, try this:
http://vrge.co/LHW1BG

Re: Doom 3 in Rift on the Verge

Posted: Wed May 30, 2012 6:48 pm
by 3dvison
adventurer wrote:this is currently the greatest HMD with such a cheap prize. However, the Rift must be improved very much in the design in order to be commercialized successfully.
No improvemet needed.
This feels like the 70's and computer kits.
Palmer and the RIFT is about getting an HMD you could not get for $20,000 a year ago, and you get it for well under $1,000.
I hope the first RIFT will be for people that own screwdrivers. We will tweak it as we see fit. Kit form would be great. The sooner we can get our hands on it, the better.

We need it out in time for the DOOM 3 BFG (HMD) edition...say that three times fast..LOL

Also, what tracker was JohnCarmack using ? Is it a tracker we can buy ourselves somwhere easily ?

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 8:58 am
by JohnCarmack
I am using slightly pre-production FSRK-USB-2 from Hillcrest labs http://hillcrestlabs.com/products/refkits.php . There may be somewhat cheaper alternatives, but these work well and can do 250hz updates. I am getting quantity pricing from them, and they should be generally available any week now. I think it is going to be $99 for the sensor, which is reasonable in the context of a $500 HMD kit.

I am hoping to provide wholesale copies of the Doom 3 BFG edition, and a small open source testbed that includes all the tracking and pre-warping code for people to build on. We will not be able to release the full D3 BFG source code, because there is a lot of console specific code in it now. Maybe at some later point we can strip it back down to just PC code, but don't hold your breath for it.

I still think Palmer needs to include a little more margin for some personal profit in this project, but you are still going to wind up with something cheaper than the Sony or SMS displays even with the tracker and bundled software.

I had suggested that he should partner with someone to offer fully assembled systems, but he commented that he doesn't want to give the impression of a real consumer product, and on reflection I think this is wise. If a hundred people build kits and experiment with these, it will sort out most of the issues that need to be resolved before we can really talk about consumer friendly gear.

John Carmack

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 9:19 am
by brantlew
John, what made you choose the Freespace module over other solutions? It seems to be a nice all-in-one solution with packaging, power, interface, and API all included - so there is the convenience factor, but are there other technical reasons why you chose this package? It seems rather bulky and heavy compared with some other devices (especially with batteries included) and probably adds a good bit of weight to the HMD since you mounted it right on top. Also, it doesn't have the 3-axis magnetometers that some of the newer devices are coming out with. Do you find drift to be a problem with it? Do you need to recalibrate it often? Is the 240Hz update speed much higher than you get with other packages?

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 9:52 am
by JohnCarmack
You are looking at the wrong module. The USB one is smaller than a thumbnail.

The first HMD I bought was from VirtualRealities, and they used a Hillcrest module at a massive price markup. When I went to write my own software for it, I wound up talking with Hillcrest directly, and after discussing low level latency details they developed and burned a custom firmware for me that doubled the update rate to 250hz. That counts for a lot to me.

I would like a magnetometer; I think they are going to be adding one in the future.

John Carmack

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 10:51 am
by love2scoot
Looking at the image of the FSRK-USB-2, that HUGE connector at the bottom of the PCB is a USB *micro* connector. That is one small board.
Image

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 10:52 am
by Bishop51
Just wanted to offer a really big kudos to you John for taking time out of what must be an extremely busy life to help out Palmer. Adding your celebrity weight to the importance of VR as a viable and important "next step" in technological interaction is really amazing. This thing has legs ;)

The greatest thing about the video happened at the very end. The reviewer, while struggling to explain what he was seeing, removes the headset and is visibly trying to reorient himself to the real world. That speaks volumes about what the Rift is actually doing on an experiential level. People just won't get this until they get it.

Can't wait to get mine!

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 2:42 pm
by brantlew
@JohnCarmack: Hey I can't tell from the video, but did you (or do you plan to) implement head roll into Doom 3 for HMDs? Seems like that would put it over-the-top for immersion level.

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 2:48 pm
by PalmerTech
Thanks John, great to see this on the Verge. They (And by extension, all the other tech blogs regurgitating their article) don't quite get the crediting right, but eh, can't really blame them. Just highlights the need to finish the Oculus site and Kickstarter page so they have somewhere to point!

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 3:13 pm
by Chriky
don't quite get the crediting right
Yeah that really bugged me on your behalf. You do need to get a site up somewhere though otherwise a super high traffic site like Kotaku will end up linking to the forum thread and probably crash it.

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 3:33 pm
by AaronAsh
John, is there any chance support for the Rift might end up in a future patch for Rage too? That could be pretty spectacular.

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 3:41 pm
by JohnCarmack
brantlew wrote:@JohnCarmack: Hey I can't tell from the video, but did you (or do you plan to) implement head roll into Doom 3 for HMDs? Seems like that would put it over-the-top for immersion level.
The head tracking is full-matrix, which is quite a different experience from just hacking in mouse moves.

I was happy to see that one of the first things the reporter did was roll his head side to side and watch it behave correctly.

John Carmack

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 4:13 pm
by brantlew
@JohnCarmack: You da man! That does beg the question however: since neither the Rift nor the other new HMD's have integrated head-trackers how do you plan to generically interface with the hardware? Will Doom 3 have some type of API or communication channel that the user can hook into to feed the head orientation?

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 4:20 pm
by PalmerTech
I can partially answer that:

The plan is to offer a Rift+Hillcrest tracker bundle as one of the options on Kickstarter.

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 5:25 pm
by benz145
PalmerTech wrote:Thanks John, great to see this on the Verge. They (And by extension, all the other tech blogs regurgitating their article) don't quite get the crediting right, but eh, can't really blame them. Just highlights the need to finish the Oculus site and Kickstarter page so they have somewhere to point!
Don't worry, some of us actually read into the stories to get it right : P

http://roadtovr.wordpress.com/2012/05/3 ... ter-video/

The Verge did a poor job of explaining the context of the HMD, I hope my article sets things a bit straighter.

You said that you hoped the Kickstarter would go live on June 1st, are you still on track for that?

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 5:38 pm
by cybereality
Yeah, the video kind of made it seem like Carmark made the prototype himself, but who cares? Its still great publicity and, if anything, will only increase interest in the eventual product.

Re: Doom 3 in Rift on the Verge

Posted: Thu May 31, 2012 5:56 pm
by 3dvison
PalmerTech wrote:I can partially answer that:

The plan is to offer a Rift+Hillcrest tracker bundle as one of the options on Kickstarter.
Palmer's(RIFT) JohnCarmack's (Carmack MoJo) and a Hillcrest tracker...

Way to go Palmer, Those three will be a winner.
Call it a day.
You are locked and loaded with that Trio.
NOW..GET-TER-DONE...

One more thing, Carmack said this in another post, and I agree 100%, but John needs to do the same.
You and he both, need to factor in a nice profit. You for the RIFT and John for time spent in adding HMD and head tracker code to his software.
If you guys don't keep rolling, we all go nowhere. You need money to roll...LOL

Re: Doom 3 in Rift on the Verge

Posted: Sat Jun 02, 2012 3:29 pm
by BillRoeske
Doom 3 is a pretty brilliant choice for a HMD showcase.

The slower movement speed and more deliberate combat lend themselves well to what is certainly not a twitch gaming setup. It's also is still one of my go-to choices for showing off stereoscopy. The pervasive animated shadows really make the environment feel solid, and all of busy the little animated environment details are something I really never noticed until I saw the game in 3D.

I think my one concern would be with ability of the panel in the RIFT to reproduce Doom 3's darkness. The Verge posted a separate article about the BFG edition that mentioned brightness being retooled for the upcoming release, so perhaps that mitigates that?

On a separate note, John, how viable would you consider it to be for a member of the community to integrate your proposed workbench demo code into the existing Doom 3 source release? Obviously code can always be wedged in, but I mean something of value that could be available as a source patch or contributed to a "bugfix" engine project. The goal would be to have tracking and stereoscopy support approaching the BFG implementation. Alternatively, and this may be a scary proposition, how open would you (and Bethesda) be to having a properly-gagged community volunteer clean the BFG code for release?

Re: Doom 3 in Rift on the Verge

Posted: Sun Jun 03, 2012 6:17 am
by CyberVillain
John, please supply a library of some sort so programs like FreePIE can send commands to Doom, this way a long range of trackers can be used without explicit support from ID Software.

http://www.mtbs3d.com/phpBB/viewtopic.php?f=120&t=14483

Re: Doom 3 in Rift on the Verge

Posted: Sun Jun 03, 2012 7:57 am
by rajveer
Would it be worth implementing something like Freetrack which we can interface with? Simply because it seems to be the current (open) standard for games with headtracker support, which means current tracking software won't need to be modified for Doom support.

Re: Doom 3 in Rift on the Verge

Posted: Sun Jun 03, 2012 10:49 am
by CyberVillain
rajveer wrote:Would it be worth implementing something like Freetrack which we can interface with? Simply because it seems to be the current (open) standard for games with headtracker support, which means current tracking software won't need to be modified for Doom support.
I would go with that, but Freetrack is a Windows only option, and I know that John is a supporter of cross platform solutions.

Re: Doom 3 in Rift on the Verge

Posted: Fri Aug 03, 2012 5:03 am
by HIDTracker
For the love of all that is holy, use the HID standard!

HID was specifically designed with 6DOF head trackers in mind so no special interfaces are required. Game developers can identify head trackers and read 6DOF data directly using HID or with OS-specific abstraction layers like DirectInput/RawInput (Win). HID specifies the direction of each axis, it doesn't specify the size or order but it makes sense to use 32bit signed integers for maximum resolution and the order yaw-pitch-roll-x-y-z which is used by TrackIR and FreeTrack, with the most important rotation axes being first. Rotation axes should be mapped to 180 degrees and translation axes mapped to 0.5m (leaning limit).

HID Usage Table documentation

Example HID descriptor for a 6DOF head tracker:

Code: Select all

HID_REPORT_DESCRIPTOR           DefaultReportDescriptor[] = {
    0x05, 0x03,                    // USAGE_PAGE (VR Controls)
    0x09, 0x05,                    // USAGE (HeadTracker)
    0xa1, 0x00,                    // COLLECTION (Physical)
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
    0x09, 0x34,                    //     USAGE (Ry)  yaw left
    0x09, 0x33,                    //     USAGE (Rx)  pitch up
    0x09, 0x35,                    //     USAGE (Rz)  roll left
    0x09, 0x30,                    //     USAGE (X)   right
    0x09, 0x31,                    //     USAGE (Y)   up
    0x09, 0x32,                    //     USAGE (Z)   back
    0x95, 0x06,                    //     REPORT_COUNT (6)
    0x75, 0x20,                    //     REPORT_SIZE (32)  
    0x17, 0x01, 0x00, 0x00, 0x80,  //     LOGICAL_MINIMUM (-2147483647)	
    0x27, 0xFF, 0xFF, 0xFF, 0x7F,  //     LOGICAL_MAXIMUM (2147483647)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0                           // END_COLLECTION
};  
Edit: Included axis directions.

Re: Doom 3 in Rift on the Verge

Posted: Fri Aug 03, 2012 12:04 pm
by nrp
HIDTracker wrote:For the love of all that is holy, use the HID standard!

HID was specifically designed with 6DOF head trackers in mind so no special interfaces are required. Game developers can identify head trackers and read 6DOF data directly using HID or with OS-specific abstraction layers like DirectInput/RawInput (Win). HID specifies the direction of each axis, it doesn't specify the size or order but it makes sense to use 32bit signed integers for maximum resolution and the order yaw-pitch-roll-x-y-z which is used by TrackIR and FreeTrack, with the most important rotation axes being first. Rotation axes should be mapped to 180 degrees and translation axes mapped to 0.5m (leaning limit).

HID Usage Table documentation

Example HID descriptor for a 6DOF head tracker:

Code: Select all

HID_REPORT_DESCRIPTOR           DefaultReportDescriptor[] = {
    0x05, 0x03,                    // USAGE_PAGE (VR Controls)
    0x09, 0x05,                    // USAGE (HeadTracker)
    0xa1, 0x00,                    // COLLECTION (Physical)
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
    0x09, 0x34,                    //     USAGE (Ry)  yaw
    0x09, 0x33,                    //     USAGE (Rx)  pitch
    0x09, 0x35,                    //     USAGE (Rz)  roll
    0x09, 0x30,                    //     USAGE (X)
    0x09, 0x31,                    //     USAGE (Y)
    0x09, 0x32,                    //     USAGE (Z)
    0x95, 0x06,                    //     REPORT_COUNT (6)
    0x75, 0x20,                    //     REPORT_SIZE (32)  
    0x17, 0x01, 0x00, 0x00, 0x80,  //     LOGICAL_MINIMUM (-2147483647)	
    0x27, 0xFF, 0xFF, 0xFF, 0x7F,  //     LOGICAL_MAXIMUM (2147483647)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0xc0                           // END_COLLECTION
};  
Yes! This, I can get behind. Note that there are also proposed descriptors for sensors, to allow you to get gyro/acc/mag data in a standardized way and do the fusion in the game itself. Hillcrest publishes the descriptors they use for their stuff as well.

Re: Doom 3 in Rift on the Verge

Posted: Fri Aug 03, 2012 8:04 pm
by WiredEarp
Nice info HIDTracker. This was exactly what we were discussing was needed a month or two back!

Re: Doom 3 in Rift on the Verge

Posted: Wed Aug 08, 2012 4:28 am
by CyberVillain
HIDTracker up to making a HidEmulator for FreePIE ;)

Re: Doom 3 in Rift on the Verge

Posted: Wed Aug 08, 2012 4:31 am
by donkaradiablo
I remember old interviews where it was said that the original Doom 3 model source files could be exported at a higher quality to make a "better than ultra" video setting. I would hope to see that come to life with the "BFG" edition. I understand that console limitations and wanting to claim same visual fidelity across all platforms may prevent this game from looking it's best on PC even after 8 years but perhaps an optional update pack is in order? An imp that doesn't look like he's been dropped on his head too many times when he was a child maybe? (Then again, maybe that's why he is pissed off)