Its sounds kind of wierd ) In the end, you need to bake something which will define that global illumination. HL2 use lightmaps calculated with radiosity method + ambient cubemaps for movable objects and characters.
https://steamcdn-a.akamaihd.net/apps…e2_Shading.pdf
https://steamcdn-a.akamaihd.net/apps…urceEngine.pdf
Those valve “ambient cube”, are more or less equal to UE4 volumetric lightmaps.
UE4 Lightmass doesnt give “that” radiosity look, cause lightmass are way better in terms of physical correctness. Those radiosity method in source engine gives less correct but some more evenly spreaded lighting. Im not sure but probably you can achieve something like that by adding SkyLight with small intensity (and without shadows, offcourse) to prevent some areas become too dark, which will give more flat-ish/washed out look.
Ofcourse the most important and easiest to achieve steps to 00’s look is:
- Disabling any kind of AO. Cause as you see there’s no AO in HL2 and most of those times games.
- Disabling shadows for static lighting. Cause as you can see there’s no shadow baked with radiosity lightmaps in source.
Also, I believe what disabling “Use inverse square falloff” in all lights also can help. Not sure but probably not many games of those times use features like that for lighting.
Also as you can see in the papers, valve using so called “Half-Lambert” or “Wrap diffuse” lighting model, at least for characters (im not sure about static objects, not character meshes).
Those lighting model are dead simple. Default lighting model are NdotL (the Dot product from Normal and Light direction vector) and “wrap diffuse” is NdotL0.5+0,5. Bloody simple, but you cant add that lighting model to you material, cause you dont have any access to light direction vector in material (not in defferend nor forward rendering mode), you should modify/add you custom shading model, which can be quite difficult if you not familiar with that sort of task.
You probably can experiment with adding those “wrap diffuse” model in simply way like:
You chose what light in you scene will be, let say, general, and which will be secondary. The secondary light are default light, but for general, which will like “key” light, you make some BP where you put you light and simple logic to set light direction in material parameter collection.
In you character/monsters material, you add those “wrap diffuse” calculations and simply do "diffusewrapdiffuse" and put it into emissive.
Im not sure how less 00’s or more 00’s it can look with or without whose “wrap diffuse” lighting model, but at least you can just try it, cause its relatively somple and fast to make.
Also it probably a not bad way to achieve 00’s look is to use ambient cubemaps (like one which you can find in PostProcess), but you will should implement what ambient cubemaps as localized one trougth postprocess material and a bunch of premaded cubemaps (or just make those cubemaps directly in engine with cubecapture).
I believe that sort or IBL-ish lighting was used in Dead Space2/3. Not guarantee, but at least it looks like that and im quite sure localized ambient cubemaps can easilly give “that” look.
UPD: also i think as an experiment you can add small amount of emission, like 0.1 or even less to all material and then bake the light. It will vanish all light detail, but, well… HL2 also doesnt have a lot of details in lighting )