Post news Report RSS Half-Life: Anti-Climax Update #3

Another peek at the development of Anti-Climax. And in this update we'll talk about light!

Posted by on

Welcome to another update of Anti-Climax! There will be new screenshots, but, since many of my readers are HL fans or modders themselves, I'd like to dive a little deeper into some technical aspects of Half-Life mapping. The topic for today is lighting!

Whatever impressive design you come up with, how many details you throw into your rooms, there is always something that makes Half-Life look like Half-Life does: the bland lighting. The engine lacks special shaders and even models can only receive one colour and intensity, which is why you don't see large model props in HL. However, these limitations give you incentive to come up with creative solutions!

lights

The default lights in HL are point lights. A point in space from which light is cast in a 360 degree sphere. It's placed right under my fluorescent light box (the black rectangle) and will shine right through it (unless you add some properties to it). This doesn't seem very realistic. In the second imagine I'm using texture light, where the light is cast down direct from the light texture on the bottom of the box. This makes for a way better light effect, which you will often see in current HL mods. But this type of lighting can also be a bit bland on the surface it was cast since the engine spread the light evenly. In real life, there is mostly some more light intensity in the center. I managed to mimick this by adding another spotlight, which you can see in the third example.

Add a good additive transparant glow sprite to it and you'll end up with pretty nice lighting effects:

lights2

So, in the next section of Anti-Climax, I've been trying to use texture lighting in creative ways. Here is an example of light being cast upwards and sideways to create a nice glow effect across the ceiling and from within those machines.

20181219154830 1

Another problem with HL's lighting is the fact that it's static. You can set a few parameters to have it change intensity (such as a pulse or flicker) but lights can't dynamicly move around, like in modern engines. The only exception to this are lights created by the player, such as the flashlight or lights created from muzzle flashes, rockets or explosions.

ezgif com optimize


However, I manage to create these dynamic lights within the chamber, with a little trick. Within the SDK, many entity classes share certain keyvalues. They might not always be present in the editor FGD but by adding them manually you can often use them. In this case, I've enabled the 'effect' flag on an invisible func_train. With value '64' it uses the light entity normaly used for the rocket flare.

So, all of these lighting techniques combined creates the following atmosphere. I havn't used many HL references this time but I'm pretty pleased with the final look as it feels very alien and hopefully Xen-like.

20181219155247 1

20181219154820 1

If you are interested in more lighting examples, please check out my tutorial. It has many ready-to-use prefabs! Thanks everyone for reading and comments are much appreciated!

Post comment Comments
Zorro_de_la_noche
Zorro_de_la_noche - - 562 comments

Good job, man.

Reply Good karma Bad karma+5 votes
fresco
fresco - - 140 comments

Nice trick with the rocket flare light - never seen this before :)

Reply Good karma Bad karma+6 votes
Matres7ix
Matres7ix - - 7 comments

That looks interesting, your work is really smart :)

Reply Good karma Bad karma+4 votes
TonyL
TonyL - - 11 comments

An informative article, thanks.

Reply Good karma Bad karma+4 votes
NotFreeman
NotFreeman - - 192 comments

Really good

Reply Good karma Bad karma+2 votes
PredatorX
PredatorX - - 54 comments

That does look neat indeed!

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: