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!
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:
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.
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.
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.
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!
Good job, man.
Nice trick with the rocket flare light - never seen this before :)
That looks interesting, your work is really smart :)
An informative article, thanks.
Really good
That does look neat indeed!