Recreating old-school lighting conditions

So I am looking into creating a scene intentionally made to look like a game from the late 90’s, something looking like it came from the original Unreal engine, or perhaps even something older like Quake II.

It is easy enough to create low-res textures and a low-poly environment, but how do I get my lighting to be that simple? Quite simply UE4 is pushing so many lighting effects even in the most simple renderings that I don’t know what options I need to tweak to get the most authentic old-school look possible.



Have you experimented with the PostProcessVolume? You can set a whole bunch of things there regarding how your scene looks. I’d also suggest you to check out some features that are mainly used for mobile if you want to make your game look ‘less good’. Lowering the quality rarely should cause issues, but if you are only after the ‘feel’ of a 90’s game check out PostProcess.

Wouldn’t it be smarter to not employ a post-process volume at all? I mean, post-process isn’t anything they had back in the day. At best I would just want to override the default post-process effects to be less than normal.

But in regards to lighting, this is what a light looks like in UE1:

…and this is what one looks like in UE4:

PLUS I have surface properties for lightmass and lightmaps, AND material properties, and a whole **** ton of who knows what else.

Here is a screenshot from quick sample room I made with a low-res texture. It was a blank map without any special volumes.

That shadow on the wall looks super sharp, and changing the lightmap size just changes how accurate it is, but it still looks super sharp.
Plus I’ve got some bounce light going on, tinting the room to the color of the texture, lighting the back sides of my surface, and some specular highlights going on.

By comparison, here is basically the same room using the same texture in UT99:

I had to set a flag for “High Shadow Detail” in order to be able to see that shadow on the wall.
And here’s a closer look at said shadow:

There’s a little bit of stepping going on, it fades gently from bright to shade, and the areas that have no light have actually no light.

That’s the sort of thing I want to accomplish. Plus maybe some nearest-neighbor filtering for good measure.

If you want the lightmap to be really blurry, make the lights static instead of stationary (or tick on area shadows, but if you really want that old lighting look you should avoid any stationary or dynamic lights). You can also kill highlights on materials by setting the specular to 0. If you really want those black shadows, in the lightmass settings for the map set the amount of bounces to 0.

And you’re going to want that post process volume so you can actually turn -off- features that will be on by default like SSAO, SSR, TAA, vignetting, bloom, lens flares, and eye adaptation.

Hmm, okay, that helps a lot! A nice approximation, but still not quite with the same level of grit.
As I think about it, I think one thing that is happening (that I don’t think used to happen) is that the lights are making a texture brighter than its default value. Especially for Quake and Quake II, I recall that not being an option (because their software modes needed to run in 256 colors.) Is there a way to keep a light from making a texture brighter than its texel values? Or at least a way to minimize it?

BTW when I added the post process volume, it looked like most of those things you said I needed to switch off were already off. Was a misreading it?

Also, how can I enable a nearest-neighbor filtering so the textures looks pixelated?


In texture options window you have this Filter setting :slight_smile:

They’re not off by default, the setting controlling them is just off. Unreal is weird, having the value unmodified in the post process volume just means it’s going to use the system’s defaults, not that it’s going to not use it in the first place. By default, all those options are on.

As for things being brighter, just don’t use really bright lights and kill specular highlights.

Hmm, it’s going to be more than a little tricky to get it to look right if I have to keep my brightness down to avoid making surfaces too bright, especially with all of the other effects turned off to create those dark shadows.

Also, I found the filter option you mentioned, but while it makes the material look like sharp pixels in the material editor, when applied to my BSP in my level it is still being filtered to look smooth. …Sort of. When I click on a surface int he editor, that surface will switch to nearest filtering. But once de-selected it turns back to the default filtering.

Oh, and I forgot about shadows from dynamic actors. And for some reason when I test play, my model is completely black. I think I tweaked the wrong settings somewhere.

…I’m starting to think this might not be worth the effort. I mean if it was a simply matter of adjusting a few settings, it would be one thing. But if I can’t just make a light brighter when I need it, my hands will be tied in the wrong way.
Well, I’m not done just let, but this is starting to look doubtful.

Okay, before I write this off completely, I have two other things to ask about.

One, how can I achieve the sort of lighting seen on dynamic actors in old-school shooters? Today they have shadows cast across them from light sources. They used to basically have the entire model turn the color of the lighting where they were at. I understand vertex lighting was thing, but were they doing that on dynamic actors in the 90’s? I think I read that the original Quake did something else, though I’m not sure about Quake 2 or UT.
Regarless, is there a way to acheive this sort of lighting on a dynamic model in UE4?

Two, shadows. I think I have seen settings to make lights not cast dynamic shadows, which is simple enough. (But if there is more to it than that, please let me know.) But how about projecting a shadow directly beneath an actor? Just a simple dark circle with faded edges. How can I set that up in UE4, and especially, how could I set that up for basically all of my actors?

Here’s a topic on blob shadows (the basic circle shadows under actors)