This is another one of those renderer features that has perplexed folks over the years, and has been handled in various ways. I’m no stranger to these ways…

Among the first is what I refer to as “The Quake 3 Way”. This was simply done by using a translucent texture on a map brush. I’m sure many other games did this, not sure if Q3 was the first, but that was the first place I personally saw it done. I also used this technique in Alien Arena for a number of years. I think this was also done in the UT engine for some time as well. This technique was refined by many and still used today but done much more convincingly by using many intersecting polygons, etc.

Quake 3 light volume example.

The next technique is what I refer to as “The Doom 3 Way” – but it was also done in UT2k3/4 as well, and that is to use a rendered sprite as a light flare or volume. This was a tremendous atmospheric improvement that instantly transformed these engines to appear much more realistic and moody. I was able to replicate UT2k3/4’s methods in Alien Arena, and eventually incorporated very realistic looking light shafts as well using similar techniques. It was a very inexpensive and convincing method.

Unreal Tournament 4 sprite-based light volumes.

Modern, AAA engines use true volumetric effects, apparently using a ray marching style shader (though information isn’t very good on this). These are of course quite expensive, but the ultimate in realism if you want beams of light coming through dust or fog. Because it seems so few are writing game engines these days thanks to free in-the-can engines that are available now such as Unity and Unreal, I’m disappointed that there aren’t many useful examples/samples of the technique.

Modern light shaft effects.

For CORTech, I wasn’t really sure which way to go. I really wanted modern technique, but struggled to even find a good starting point or reference. I saw one that was really cool, with a clean, small example, but it required a load of passes, which I really don’t want to do given framerates are important to this game, especially given that it’s supporting VR, which requires double the number of passes.

During my search I frequently ran across the technique that Fabian Sanglard created based on a DirectX article – https://fabiensanglard.net/lightScattering/

Year ago I used Fabian’s article to implement “god rays” into Alien Arena’s CRX engine. It’s actually a very conceptually simple process that works incredibly well if tweaked for performance vs quality. This was something that really created a massive improvement in lighting realism in CRX – and made for some spectacular screenshots. The main drawback of this technique was that the light source had to be on the screen, and if you had multiple light sources, it could get really expensive performance wise.

Unreal Engine “god ray” light shafts.
Same effect in Alien Arena’s CRX engine.

My plan was to always incorporate this into CORTech, but I also got to thinking that there *could* be a way to use this technique to replace the lens flare/light shaft techniques of old, in a cheap but cool way. With a few modifications and tweaking, I was sure that I could make this work for multiple lights in a scene, and while it wouldn’t be a perfect solution, it would look cool and attractive, and give another feeling of immersion as well as what I like to call engine “shininess”. It’s a subtle effect when indoors and may not be as apparent in these screenshots, but it looks very cool when moving around especially. IMO this is a huge improvement over the initial “modelled” lightshafts.

Subtle light shaft effect.

As I’ve been working on the engine, I am also bouncing back and forth making new assets. I’ve gotten a good amount of structural pieces completed for the first map, and soon should have enough of a structure to where I can begin some larger AI programming where the bots can run around and act like human players (right now they just attack, attack, attack!).

Some Blender views of new parts.

Probably my next renderer feat will be adding decals, as I really want to start bloodying this thing up! So far the palette and style is sticking closely to the aliens and weapons, since this is their “mothership” so to speak. Not sure if I have mentioned previously, but this map is going to tell the re-imagined story of the aliens, and I think it’s going to be kind of shocking, and quite disturbing! At the moment I have most of the connecting hallway pieces completed (still need to create 3 and 4 way junctions, but those won’t be too hard since the bend junctions can be used as a base). I have some of the wall pieces and floor pieces that will be re-used throughout. The other main rooms(giant robots, helm, power core) are going to use some of these, plus other new pieces, but first I’m going to complete this “main” room, which is the laboratory. This one will use a load of assets I created for Alien Arena’s Saucer levels, but they will be re-textured to use this new palette and style.