Jump to content
Skjalg

Black Mesa Source

Recommended Posts

Saw the tweet this morning, and it looks fucking A.

They are doing some impressive stuff with the engine, I didn't think they would have access and liberty to change this much.

Well done linking it @JeanPaul, and most importantly kudos for the work :)

Edited by blackdog

Share this post


Link to post
Share on other sites

Interesting points, some I agree, others not so much. I think he hates on it much more than he should, and the arguments to back up his claims are lacking a bit, i like his chanel tho and If anything, it made me wanna replay this, eheh.

Share this post


Link to post
Share on other sites

Black mesa update!

http://steamcommunity.com/games/362890/announcements/detail/1594703306631918308

Its an engine release so our future xen and interloper maps are as bug free and playable as possible.

Quote

 

Dynamic Lights - Full featured dynamic lights that are able to cast real time shadows, project textures, and emit volumetric light (godrays). These have been implemented across earthbound to help amp up the visual fidelity and “nextgen-ness”.

Overhauled CSM and Godrays - Cascade Shadow Maps (CSM) have been totally rewritten and now run better than before. Godrays are completely overhauled to run smoother and operate off of a new entity that automatically gets the sun angle from the environment light. 

Image Based Ambient Lighting - Lighting can now be generated based off of the skybox image. This allows mappers to have significantly more accurate environmental lighting, which automatically takes into account the nuances and difference colours of the sky. This is unlike any other version of Source, where environment lighting is simply one flat colour picked by the mapper.

4 Way Texture Support - 4 way texture blends are now supported in engine, each with their own bump map, specular map, and procedural blending options. This allows for much more variety in texturing natural landscapes, as most older versions of Source only support 2 way texture blends.

Improved Prop Lighting - While developing Xen, we realized the existing Source lighting just wasn't accurate enough. In the original Source, up to 4 lights are allowed per object and there is no self-shadowing. This works fine for small or medium sized objects, but for something like a massive, detailed rock archway, the limitations appear. In the screenshot, the vines hanging under the arch do not appear properly in shadow, and the arch looks strangely flat because only 4 light samples are being taken. Our new static lighting supports all the nearby lights in the scene, self-shadows correctly, and also works seamlessly with both our new skydome lighting and our new dynamic lights. This makes a big difference "merging" the objects with their environment. 

Left is the old style of prop lighting, Right is the new:

ybPA1Tz.jpg

yNwj2sA.jpg

Doubled Source Displacement Limit - Max number of displacements allowed per map from 2048 to 4096. This allows the creation of more detailed and expansive natural outdoor environments.

 

While this quote here doesnt include everything - its the main things I figured mapcore guys would be excited about. The new dynamic lighting stuff is really intense and honestly opens up source to a whole new realms and genres of level design. (our dlights work through alpha textures as well) If you havent seen an ingame example of image based ambient lighting I suggest you give it a shot - the difference from stock ambient is immense.

One last thing I would like to note for anyone potentially doing a single player project: the doubled displcement limit is a WAY bigger deal than you think. In fact the entire concept behind one of the xen maps I designed wouldnt even be remotely possible with the previous limit. The doubled limit was one of the most important things to happen to our maps - and here is the crazy part - it took one programmer less than a minute to change and has not a single bad effect in our game so far. Makes you think why the original limit exists in the first place :P

Woot!

Edited by JeanPaul

Share this post


Link to post
Share on other sites
5 hours ago, JeanPaul said:

and here is the crazy part - it took one programmer less than a minute to change and has not a single bad effect in our game so far. Makes you think why the original limit exists in the first place :P

Woot!

It's common practice for people to create limits on tools. Having boundaries helps you be creative, when you're limited by a specific factor you have a smaller playing field that you can control better, when you have a "sky is the limit" situation it's more daunting and prone to paralysis by analysis. 

Plus, it creates lines for programmers and others to measure performance and other aspects. 

Maybe im readying too much onto it, but i have seen this happen repetitively and still do. 

 

Really looking forward to this man. 

Share this post


Link to post
Share on other sites
4 hours ago, laminutederire said:

Would programmers be okay with revealing how exactly they made volumetric lightning more efficient?

I am sure they would totally be down to help. I wouldnt be able to explain it in the slightest and I am sure it would require more than a forum post to get the ideas across. Im not sure how public or readily available their contact information is but if you need it just pm me.

Share this post


Link to post
Share on other sites
4 hours ago, JeanPaul said:

I am sure they would totally be down to help. I wouldnt be able to explain it in the slightest and I am sure it would require more than a forum post to get the ideas across. Im not sure how public or readily available their contact information is but if you need it just pm me.

I don't need it, but as I did a course on realistic rendering using Monte Carlo integration, aka path tracing too costly for real time, I was curious to know if the methods we used to accelerate rendering are the same methods used in this game implementation

Share this post


Link to post
Share on other sites

@laminutederire

Quote form our resident shader guy Chetan in response to your question:

Quote

 

This version of godrays improves perf by avoid the need to re-render the entire scene for masrking etc. This is one benefit of our new gbuffer passes that we have all the buffers (depth/normal/misc) needed for all the lighting and post processing needs. This change is the big improvement over previous godrays.
Gbuffer pass itself is upto 2x-4x faster than normal shading pass depending on quality modes and other factors.

There's also a huge quality improvement compared to previous version and we have enabled them for new local point lights.

Second improvement comes as a part of new godrays implementation itself. There's a minor improvement in something called fillrate due to different ways of doing things. One big change is we are now performing radial blur pass on a B&W texture instead of RGB. But again fillrate improvements might not be noticable depending on GPU/Resolution etc because at the moment godrays is being done of full size render and number of blur passes are high. Consider this as INSANE quality mode for godrays. We didn't got time to implement  quality modes for godrays for beta update. 


To be honest it was least on the priority list since we didn't notice major perf impact during our internal testing (we mostly tested stuff on 1080p or 2140p sometimes). Also, we are planning to do another overhual of godrays (no promises).
I wanted to try one of the screenspace ray-trace (or ray march) based implementation which is the standard now on dx11. But its tricky to implement on dx9 and may or mayn't turnout to be faster that current radial blur based implementation. Apart from better perf it will improve the quality even further and might enable us to use them for new local spotlights the way we wanted. (But again no promises, it's something on the list for xen release but not big priority at the moment.)

Another areas of improvements include - making godrays go through tonemapping pipeline, improve AA when MSAA is enabled , etc

 

 

Share this post


Link to post
Share on other sites
9 hours ago, JeanPaul said:

@laminutederire

Quote form our resident shader guy Chetan in response to your question:

 

Huge thanks to answer questions like that!

I never would've figured the boost was due to better buffers! It seems to me with the little experience I have that GPU graphics perf are somehow more reliant on how efficiently the memory is used. It does make sense, as the cache structure lead to smaller lower level cache available to each core, but it never stops to surprise me how important it is ( and it pains me as well :P )

Is it Chetan Jags? If so, I saw an article from him on the initial way it was done, which was informative, so thanks to him for that!

That's a nice work you are doing from the initial limited framework!

Share this post


Link to post
Share on other sites

There is also another feature we've added into BMS that didn't get into press release about new features: $moss. We've add a new set of VMT parameters that add a new layer to textures that works on VertexLitGeneric, LightmappedGeneric and Lightmapped_4wayBlend. When a prop with this param is used with a displacement using it on 4way, for example, there is a layer of texture blending between them that helps blend them more seamlessly.

I'm making a video soon to demonstrate how to create and visualize them via Wall Worm in 3ds Max. If no docs are up by time I make video, I'll also post information on how to set it up and all the accompanying parameters.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...