Page 1 of 1

"Giant weapons" issue in Source engine games

Posted: Tue Feb 11, 2014 3:38 pm
by Matthew
Recently, I started playing Black Mesa (the fan-made remake of Half-Life). I've tried it with nVidia 3D Vision (in interleaved mode). It works okay, except that the weapons are "giant".

This issue, which many people have talked about, exists in Half-Life 2 as well, and maybe other Source engine games, with all stereo drivers that don't fix it. Is it fixed with Vireio Perception?

Re: "Giant weapons" issue in Source engine games

Posted: Tue Feb 11, 2014 5:14 pm
by Mr Scratch
The issue revolves around the game itself not any of the headsets. You see the viewmodels (the gun) used to be designed with the idea that you are looking at it though a monitor so they were kind of close to the screen in the corner. Nowadays they have become fatter because they are now being developed around the idea that you looking at a TV from far away while playing with a controller on your couch. You take that and add in the fact that 2D rendering can not show depth and what you end up with most of the time is FPS games that don't fit the standard perspective that the human eye is used to.

Honestly there's a lot of factors to it. A game must be designed from the ground up with 3D in mind if they want it to have the best possible 3D effect. Thankfully there are still a few games out there that are moddable which allows us to reach some sort of middle ground. Sadly most of them just lock things out or ignore it all together in favor of all the money people invest into console gaming. Even games that do not have console ports are being developed with consoles in mind.

Example of a PC title targeting consoles:


I've played this offline with bots using Perception. It is a horrible experience. It's like playing with a set of binoculars taped to your head. The reason it looks like that is because the game is developed with consoles in mind. The FOV is low so that they can zoom the screen in and the guns are fat so that everything appears normal when looking at it from far away. They're simply riding the coat tails of other successful console games by copying tricks that they use to ease the life of console gamers with absolutely no consideration for PC gamers.

Example of a PC title that doesn't target console gaming:


I play this with Perception. Casting the occasional lighting annoyance aside E.Y.E. gives quite the immersive experience even if the story and cyberpunk atmosphere are not. The guns are still a bit big however this is an issue with the perspective as a whole. While it's possible to rig it to look exactly like your arms would look if you held them out in front of your face the actual player cam itself is too low to the ground which gives the illusion of the your arms and weapon being significantly bigger then they really are. As I mentioned earlier you just gotta try your best to reach that middle ground of what you want and what is provided.

Anyways to get back on topic Black Mesa's gun view models will always be the same regardless of what you are using. Your best bet is to see if you can find console commands that can alter your viewmodel. If not then your second best option would be to create custom viewmodels yourself. Follow some tuts on how source models work and some tuts on [insert modeling program here] and you can alter the default models size and perspective yourself with just a hour or two of learning.

Re: "Giant weapons" issue in Source engine games

Posted: Tue Feb 11, 2014 7:16 pm
by Matthew
The issue occurs because the weapons are rendered separately from the rest of the scene, with separate depth testing (so they won't be blocked by obstructions) and a separate scale.

I think the iZ3D driver has a fix for this problem with Source Engine games. I've read that, and have seen YouTube 3D videos showing the guns at proper size.

There is a mod for Black Mesa (the "Helix" mod) that fixes this, but it only works with nVidia 3D Vision, and I haven't been able to get it to work.

The proper way to fix it would be to change the scale of the weapons so that it's the same scale as the rest of the game world.

Modifying games so that they work properly with stereoscopic 3D, and can be run natively in stereoscopic 3D without the need for any special drivers or wrappers, is very simple -- if you have the source code. I've already done that with the SDL port of Wolfenstein 3D (I'll tell you more about that soon) and am planning to do it with some more game engines.

Unfortunately, most game engines, including the Source engine, are not open source.

I have mixed feelings about these stereo drivers. They are good, but they are not a substitute for native stereoscopic rendering support. (The Source engine now does support native stereoscopic rendering -- but only for Oculus Rift.) I hope they don't deter game developers from adding native stereoscopic rendering support.

I've thought about making an open source wrapper that allows you to play OpenGL 1.x games in stereoscopic 3D -- but I'm thinking maybe I'm better off spending my time adding native support to engines that have had their source code released.

I have, however, already made a modified version of OpenGlide that allows you to play Glide 2 games in stereoscopic 3D. It is a prototype, but works very well. I'll tell you more about that soon.