Quake3 - Ready for VR

Talk about Head Mounted Displays (HMDs), augmented reality, wearable computing, controller hardware, haptic feedback, motion tracking, and related topics here!
User avatar
Dakor
Binocular Vision CONFIRMED!
Posts: 213
Joined: Sat Nov 03, 2012 8:58 am
Location: Dortmund, Germany
Contact:

Re: Quake3 - Ready for VR

Post by Dakor »

Woah, I'm looking forward to this even more than to the Quake mod. Since Quake III is the Quake, I grew up with.
Now all we need is a Quake II mod and maybe Quake IV (even though the last one was quite a disappointment) :D

Playing against other VR Players is no problem, to my mind, since I guess it would be very hard to beat an usual-Screen&Mouse Player with an VR Setup.
Would it be possible to enable independent head and gun movements? :woot
German blogger, enthusiast and developer.
Image
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Dakor,

Oh yeah Quake3 is THE game! .. It was a necessity to make it VR enabled!
Btw, Quake 1 will be incredible too, I looked at the screenshots of the programmer that did the job (on this forum) and to me it looks awesome, great job!
I'm sure Quake 2 will come soon enough!

We'll eventually have the whole id Software library of games :)


And yes having independant gun / head movement is in the plan, I just don't know yet the complexity of doing this, but I don't think it's impossible..
It was actually quite easy to work on the Quake3 engine once I was setupped correctly and ramped up a bit on the way Carmack designed it.. I work as a programmer and I rarely feel as comfortable as in the Quake3 engine.. For pure C, it's well structured!

So what I am trying to accomplish on my list :
- Player Model viewable in first person view (viewing hands/ feet/ torso)
- Independant limb movement (head/ gun/ legs (I'm planning a project that would enable feet simulation))
- Head tracking
- Various improvements, like proper realism scaling
- Friendly VR UI
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: Quake3 - Ready for VR

Post by Fredz »

densohax wrote:Oh also, please note that I will fork ioquake3 and name it vrquake3, because it's not going to be compatible with ioquake3 anymore, since changing gun configuration or some rendering is considered cheating by the servers.. So I guess we'll need to play against other VR users..
Hopefully it will still be compatible with Smokin'Guns, would be nice to have a Rift-enabled game in a different setting (western) : http://www.smokin-guns.org/
LNQ
Two Eyed Hopeful
Posts: 90
Joined: Thu Jan 24, 2013 5:01 pm

Re: Quake3 - Ready for VR

Post by LNQ »

This is going to be so cool. Thinking remakes, something like Call of Juarez would be cool.

I wonder how surreal bullet time would feel with the rift :)
User avatar
android78
Certif-Eyable!
Posts: 990
Joined: Sat Dec 22, 2007 3:38 am

Re: Quake3 - Ready for VR

Post by android78 »

Wow... that's looking great! I can't wait to try this out when I get my rift.
User avatar
MrGreen
Diamond Eyed Freakazoid!
Posts: 741
Joined: Mon Sep 03, 2012 1:36 pm
Location: QC, Canada

Re: Quake3 - Ready for VR

Post by MrGreen »

This is so awesome. I was the lead programmer of a fairly popular mod called Alliance CTF back in the day and I would love to bring it back to life for VR given time.

I would probably have to tone down the speed and crazy physics quite a bit though. It had an offhand grappling hook and a device we called the Pogo, which was basically an offhand rocket jump, that made for pretty spectacular level travelling!

The 12 people on earth that'll be able to handle this in VR will have a blast! :lol:
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Fredz wrote:
densohax wrote:Oh also, please note that I will fork ioquake3 and name it vrquake3, because it's not going to be compatible with ioquake3 anymore, since changing gun configuration or some rendering is considered cheating by the servers.. So I guess we'll need to play against other VR users..
Hopefully it will still be compatible with Smokin'Guns, would be nice to have a Rift-enabled game in a different setting (western) : http://www.smokin-guns.org/
I believe it will.. there might be some modifications in the game vm that wouldn't be in this mod tho..
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Hey what are these!??

They are my legs !!! ..

So I hacked around the thirdperson view for the moment, removed the torso and head from the animation just to test the legs. And this is the result when positionning the camera on top of the legs.

This is a quick hack but I've found my way around the engine and the animation tags..
Now I will also be able to isolate the weapon movement from the view to control them independently! Normally, the weapon is soldered to the torso which seem to be bound to the mouse indirectly, but the torso is bound to the view. So I will simply adjust the gun position manually and put HMD tracking for the torso to replace the mouse.
You do not have the required permissions to view the files attached to this post.
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Quake3 - Ready for VR

Post by Neil »

Cool!

Just a heads-up: if you save your images in "cross-eyed" view, and upload to the gallery, you will be able to show the images in stereoscopic 3D form.

[stimg='Quake 3 modded to support the Oculus Rift by Densohax' url=http://www.mtbs3d.com/gallery/albums/us ... ake3vr.jpg]http://www.mtbs3d.com/gallery/albums/us ... ake3vr.jpg[/stimg]

The instructions are in the forum stickies.

http://www.mtbs3d.com/phpbb/viewtopic.php?f=111&t=14749

Regards,
Neil
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Oh, didn't know that, I'll do it next time :)


**Edit: hmm I tried uploading, the upload was successful and all, but I can't find where it was uploaded?
Also, the feature is nice, but there are a lot of steps to reach the BBCode, do you think you can add the button in the forum post editor?


***Edit: Found it!



ReEdit: Removed gallery image, it causes crashes issues for some members.
Last edited by densohax on Thu Mar 14, 2013 8:46 am, edited 1 time in total.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: Quake3 - Ready for VR

Post by geekmaster »

I cannot view side-by-side (cross-eye or wide-eye). It complains about "AVCodec library, input file is not an Image!"... Interlaced and anaglyph work though, and all modes worked for the previous image posted by Neil above... Here is a screenshot clipped from your embedded 3D image, after clicking the "3D Stereo" link above it:
3derr.jpg
EDIT: And now, after editing this post with the error message showing in the previous post, I got a "SView browser plug-in crashed" banner at the top of my browser window. Must be problems with running that plug-in in Chrome on Win7... Your PREVIOUS side-by-side images worked fine for my though. The problem is with these gallery images.
You do not have the required permissions to view the files attached to this post.
Last edited by geekmaster on Thu Mar 14, 2013 8:36 am, edited 4 times in total.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Probably because it is a png instead of a jpg?


EDIT: I'll remove the gallery image for now!
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Update:

The full player body is now viewable.
The position of the gun is now shown where the hand of the player actually is.
In the following screenshot you see the hand actually holding the gun.
You do not have the required permissions to view the files attached to this post.
eidahl
One Eyed Hopeful
Posts: 40
Joined: Tue Jan 01, 2013 5:28 pm

Re: Quake3 - Ready for VR

Post by eidahl »

Awesome, a Quake 3 VR server will be a great idea soon.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

eidahl wrote:Awesome, a Quake 3 VR server will be a great idea soon.
That's True !

But anyway, my version won't be compatible with the original, since I am changing a lot of things to embellish the realism!
Like for example, I will add angles to the animations.. Quake3 currently renders 8 angles only on a given limb. So the torse can have 45 degrees rotation only. Since this is locked like this, when I turn, I see sudden shifts in angles of my hand, and it annoys me.. So I'll change that! But that changes the network protocol.

Right now, my full body immersion works pretty well! And this also have a quite interesting side-effect!! You can live THRU your Model/Avatar in game! So if you choose for example the "eye model", your movements are changed to match this model and the view position also changed to the height of the model.

If you were to choose Bitterman so example, you'd be taller and your movement would be more fluid than Klesk for example..

Very interesting side-effect! This gives a new life to Quake 3!

Here's a quick video without Stereoscopy, just to show off the new feature.

http://www.youtube.com/watch?v=mxkdc4Tn ... e=youtu.be
2EyeGuy
Certif-Eyable!
Posts: 1139
Joined: Tue Sep 18, 2012 10:32 pm

Re: Quake3 - Ready for VR

Post by 2EyeGuy »

densohax wrote:We'll eventually have the whole id Software library of games :)
Yay! Bouncing around on a Virtual Reality pogo-stick in first person in Commander Keen... what could possibly go wrong? ;) *

Seriously though, I don't think it will be long before all of ID Software's open-source 3D games will have Oculus Rift support.
Or at least these ones which are on iD Software's github: Wolfenstein 3D, Spear of Destiny, Doom, Doom 2, Quake, Quake 2, Quake 3, Doom 3, Return to Castle Wolfenstein, Wolfenstein Enemy Territory, and Doom 3 BFG.

Heretic and Hexen also have open-source versions floating around.

I also got a VR level viewer working for Catacomb 2D, Hovertank 3D, Catacomb 3D, and most of the games based on Wolfenstein 3D. Although it doesn't have Oculus Rift support yet.

* severe motion sickness
densohax wrote:So if you choose for example the "eye model", your movements are changed to match this model and the view position also changed to the height of the model.
But does it become monoscopic 2D with that model? And I think the view position should be 2/3 of the height, judging from the model.
Last edited by 2EyeGuy on Fri Mar 15, 2013 11:25 pm, edited 1 time in total.
2EyeGuy
Certif-Eyable!
Posts: 1139
Joined: Tue Sep 18, 2012 10:32 pm

Re: Quake3 - Ready for VR

Post by 2EyeGuy »

Neil wrote:Cool!

Just a heads-up: if you save your images in "cross-eyed" view, and upload to the gallery, you will be able to show the images in stereoscopic 3D form.

The instructions are in the forum stickies.

http://www.mtbs3d.com/phpbb/viewtopic.php?f=111&t=14749

Regards,
Neil
Parallel free-viewing format would be nice to add.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Update:

Ok I'm ready to add Head Tracking, I isolated the view from the gun, now I just need to fill in the values.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

So if you choose for example the "eye model", your movements are changed to match this model and the view position also changed to the height of the model.
But does it become monoscopic 2D with that model? And I think the view position should be 2/3 of the height, judging from the model.
I think it wasn't clear what I meant by the eye model. I'm talking about an actual avatar in quake3 that is an Eye on 2 legs!
This one is different from the others, in that the view is in the middle of the body.

Everything in VRQuake will be stereoscopic, don't worry :P
Pingles
Certif-Eyed!
Posts: 555
Joined: Sun Jan 27, 2013 6:15 pm

Re: Quake3 - Ready for VR

Post by Pingles »

Sure appreciate all of the hard work!
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Pingles wrote:Sure appreciate all of the hard work!
Thanks a lot Pingles! :)
User avatar
Omarzuqo
Cross Eyed!
Posts: 140
Joined: Thu May 10, 2012 4:42 pm

Re: Quake3 - Ready for VR

Post by Omarzuqo »

This just hit me:

With this port we're going to be able to be in the Simpson's house in VR!!!

[youtube-hd]http://www.youtube.com/watch?v=34LtrnnXQTc&hd=1[/youtube-hd]
Image
You can also Greenlight other Rift games.
geekmaster
Petrif-Eyed
Posts: 2708
Joined: Sat Sep 01, 2012 10:47 pm

Re: Quake3 - Ready for VR

Post by geekmaster »

Omarzuqo wrote:This just hit me:

With this port we're going to be able to be in the Simpson's house in VR!!!
...
I love that "cartoon quality" VR! That is exactly what I thought should work well in a Raspberry Pi. I want a portable Rift!

Sadly, the Map Download URL at the end of the video is not useful at the moment:
http://www.myspace.com/bandorasball1313 wrote:Your home page is undergoing routine maintenance. We apologize for the inconvenience!
So much for storing Quake maps at Myface/Spacebook!
raijinspecial
One Eyed Hopeful
Posts: 38
Joined: Sat Sep 01, 2012 6:30 pm

Re: Quake3 - Ready for VR

Post by raijinspecial »

This is really impressive work, thank you!
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Omarzuqo wrote:This just hit me:
With this port we're going to be able to be in the Simpson's house in VR!!!
Such a great idea I had to try it! :P

Btw you can download the simpsons town from here if you are looking for it: http://planetquake.gamespy.com/View.php ... il&id=2280
You do not have the required permissions to view the files attached to this post.
User avatar
unsilentwill
Cross Eyed!
Posts: 171
Joined: Wed Sep 12, 2012 6:12 pm
Contact:

Re: Quake3 - Ready for VR

Post by unsilentwill »

That's so cool, and I thought I loved mods before. Reminds me of the "if you're hammer, everything looks like a nail" problem seeing that gun in the frame though.

Can't wait for new experiences created by hobbyists (and maybe a little deathmatch). This is in the top 5 loves of VR, personally visiting fictional places throughout all of media and art history. It's a bit of a jump from Simpson's Deathmatch, but look at this: http://www.behance.net/gallery/Battle-o ... ld/3944653 (from this)
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Dev Update :

- Worked out angle snapping issue.
- Corrected eye level rendering, thus fixing clipping body problems.
- You now see your feet correctly moving forward.

http://youtu.be/Kko3HfefR7M
User avatar
IGameArt
Binocular Vision CONFIRMED!
Posts: 269
Joined: Mon Aug 13, 2012 8:46 pm

Re: Quake3 - Ready for VR

Post by IGameArt »

That's very cool. Cant wait to give this fella a go! Do you have an eta on a playable? maybe a non stereoscopic version for us to play with until we get our kits :P
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Well it's very alpha, but playable, although I'd suggesting getting the real quake3 from steam in the meantime, since you still need to buy the assets of the game. What I replace is mainly the executable.

I can do an alpha release next week, but it will be nowhere near perfection!
2EyeGuy
Certif-Eyable!
Posts: 1139
Joined: Tue Sep 18, 2012 10:32 pm

Re: Quake3 - Ready for VR

Post by 2EyeGuy »

densohax wrote:I think it wasn't clear what I meant by the eye model. I'm talking about an actual avatar in quake3 that is an Eye on 2 legs!
This one is different from the others, in that the view is in the middle of the body.
You were completely clear.
That avatar has ONE eye. So it can only see in 2D, unless it has some other means of depth perception.
densohax wrote:Everything in VRQuake will be stereoscopic, don't worry :P
That's what worries me. Shouldn't a character with one eye see in mono?
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

That's what worries me. Shouldn't a character with one eye see in mono?
Well I don't know for you, but I bought the oculus to see in stereoscopic vision :)

I know what you say tho, and I can clearly say that there is no eye simulation concept in Quake3, it's merely a viewport that is moved to the origin of the eye level of the model and then stereo separation is done outside the realm of quake3 by manually moving the perspective matrix..

Btw, I wouldn't worry about that if I were you :P
zoost
One Eyed Hopeful
Posts: 29
Joined: Fri Jun 08, 2012 5:41 am

Re: Quake3 - Ready for VR

Post by zoost »

@densohax. I would really appriciate some lessons learned from your coding experience to rift Q3. Are you planning to release the sourcecode? Could you point us to what you did? Some tutorials? Thanks in advance!
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

zoost wrote:@densohax. I would really appriciate some lessons learned from your coding experience to rift Q3. Are you planning to release the sourcecode? Could you point us to what you did? Some tutorials? Thanks in advance!
Sure! No problem!

A little background first! I'm in the industry, I work at EA in the framework department.. I'm not a game programmer per say, I'm mostly into low level stuff, graphics engine, networking and multi platform programming. As a hobby, I'm much more involved in microcontrollers, 3d printing and low level programming.

That said, the Q3 engine to me, don't seem very object oriented, it's pure C, so there are no classes. It ressembles a server/client architecture much more with playerstate and object states. Every 'module' have a specific purpose, for example, you have a module for movement, a module for cinematics, a module for client code (inputs), a module for ui etc.

It's well structured, I rarely see code that well organised in my domain (I see a lot of user code; it's not that it's badly done, on the contrary, it's much more that they are involved in many tasks at once and on tight schedules)..

I'd say, I had to ramp up to be at that point. Understanding the path that information takes to go from your keybord/mouse to the game itself and then to rendering was the biggest challenge. But once you get that, it's easy to work with! There are specialized functions all over the engine that are called for every objects, so determining what object gets drawn (for example determining the self/local player was a bit awkward to understand at first) ..

Also everything lives within a prediction mechanism, so you can say that the network code/snapshot information is kind of embedded in every aspect of the game and that everything lives within the client/server achitecture.


I will release the source, that's for sure, but I don't know yet when, since I want at least to have the rift integration first!
Last edited by densohax on Sun Mar 17, 2013 11:09 am, edited 1 time in total.
Pingles
Certif-Eyed!
Posts: 555
Joined: Sun Jan 27, 2013 6:15 pm

Re: Quake3 - Ready for VR

Post by Pingles »

That's great of you. I plan to give away my first project free along with any code I can share. I look forward to contributing to the pool of information for Rift developers.
2EyeGuy
Certif-Eyable!
Posts: 1139
Joined: Tue Sep 18, 2012 10:32 pm

Re: Quake3 - Ready for VR

Post by 2EyeGuy »

He explained that well.
To make it a bit more of a general tutorial (not necessarily for the Rift), basically you want to search for "mouse" or something like that, and find where it reads the mouse input. Then you have to follow through the code what it does with the mouse input and where it gets stored or sent and where it's made into an angle, and where it's used. Then you can work out where to add in the head-tracking.
For the 3D, you want to search for "Frustum" or "Perspective" to see where it's setting the camera projection, and then change it so that it sets it differently depending on which eye is active, and so that it uses the right FOV. Then you want to find the main rendering function and call it twice setting the active eye variable differently, using viewports or rendertargets or color write masks or whatever to do the 3D. Then make sure that anything in that function that should only be done once is moved outside. Then you search for where the gun is drawn and make sure it is drawn in some sort of realistic position and with the normal FOV.

That's for 3D games. For 2D games, it's a bit different. You can look for where it handles scrolling, where it handles parallax, and where it handles drawing things in the foreground or background. Then you can adjust the scrolling based on the headtracking angle, and either add or subtract some multiple of the parallax for each item depending on which eye you're rendering for, with a slight offset for foreground and background items with no official parallax.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

I realize I completely forgot to talk about integrating the rift in a game :P
User avatar
mattyeatsmatts
Binocular Vision CONFIRMED!
Posts: 315
Joined: Wed Mar 06, 2013 5:02 pm

Re: Quake3 - Ready for VR

Post by mattyeatsmatts »

Any chance you are getting an OUYA? would it be poosible to Rift Quake 3 VR on that because that would be pretty sweet and then I could make it portable for me to showoff to friends and take on car trips. dunno if the ouya is powerful enough to run it but I have Kwaak3 (android ported quake 3)running on my MK808 device.
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Hey,

I'm not sure exactly what OUYA is, seems to be an android console?
Well, if it is, then it's GLES 2.0 and ioquake3 is in GL so no it wouldn't work out of the box, but someone/you could do the implementation if you want ..
densohax
Cross Eyed!
Posts: 159
Joined: Sun Mar 10, 2013 8:24 pm

Re: Quake3 - Ready for VR

Post by densohax »

Dev Update:

- Fixed collision with walls when head is looking down, there was clipping problem. Still have some glitches when on curved walls.
- Adjusted aspect ratio to render squared eyes
- Fixed FPS counter that calculated for 2 frames instead of 1.
- Also worked on the server message for Head Tracking, I'll need to add delta head angle to body angle, and fix clipping of the view to model when gun aiming up and view aiming down.


Need to fix curved walls clipping and weapon clipping thru walls (possibly need to back the weapon when hitting a wall).
You do not have the required permissions to view the files attached to this post.
Last edited by densohax on Sun Mar 17, 2013 8:33 pm, edited 1 time in total.
oculusfan
Binocular Vision CONFIRMED!
Posts: 225
Joined: Sun Jan 13, 2013 2:07 am

Re: Quake3 - Ready for VR

Post by oculusfan »

densohax wrote:Dev Update:

- Fixed collision with walls when head is looking down, there was clipping problem. Still have some glitches when on curved walls.
- Adjusted aspect ratio to render squared eyes
- Fixed FPS counter that calculated for 2 frames instead of 1.


Need to fix curved walls clipping and weapon clipping thru walls (possibly need to back the weapon when hitting a wall).
It looks pretty good. Two things though:

1. I can't tell what the red thing is in the bottom left.

2. The gun looks like it is twice as big as it should be based on the size of the player model.
Post Reply

Return to “General VR/AR Discussion”