Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Boom Lighting Guide

Recommended Posts

This lighting guide is specific to BOOMQTEX, however the techniques are equally applicable to any Boom format map.

I'll be using the two line-actions 261 (Change ceiling brightness) and 213 (Change floor brightness) to create more detailed lighting than you might normally expect to see in a Doom map. The basic principle to remember is that the brightness of the walls of a sector are always determined by the sector's brightness, but the floor and ceiling brightness can be overridden by these two line-actions.

So I'll start with this scene from QEDIT. I've added a few pillars, a bridge, some ceiling detail and a big stained glass window, and I'll treat this window as a single light source that illuminates the entire chamber and throws dramatic shadows across the length of it.

It should be noted that I'm not intending to create perfect realistic lighting, rather I want to create a stylised approximation of the kind of lighting you might get in a Quake map.

The first step is to get the basic shape and fall off of the light, and this can be fairly arbitrary, such as the 45 degree angle of the shadow the window frame casts into the alcove, but I'll also use existing cues in the scene to help determine things. In this case the line from the frame's edge to the alcove's corner can be projected into the rest of the scene, and I can gradient the light using some of the pre-existing lines that form the first ceiling beam and the bridge just under the alcove.

I've got the basic 2D shape of the light now, but I only have the basic shadows cast by the frame and alcove, and I've only approximated where they are falling through 3D space onto the floor and ceiling, but I can get a more precise idea of where the shadows should be by quickly sketching a vertical cross-section of the scene and drawing light rays on that to see where they meet the floor and ceiling.

(I actually screwed up the wooden ceiling in the cross-section, but never mind...)

So I'll set up my lighting dummy sectors now. Each sector has a specific brightness that I expect I'll need at some point. The diagonal lines have either line-action 261 or 213 and a unique tag, and they're all organised into an easy to find way, with top rows being ceiling transfers, and the bottom rows being floors.

Using the cross-section sketch for reference I can now adjust where the light falls onto the bridge and create the shadow being cast by the bridge onto the water below.

Tag 18 is a ceiling transfer, that will make the ceiling 168 bright, since I don't want the bridge's shadow to fall onto the ceiling. Tag 4 will make the ceiling 144 bright, since the shadow cast from the alcove falls further across the ceiling than the floor below.

I'll test what I have so far in game and see how it looks.

So there's some issues to address. I'll start with the bridge shadow casting onto the sides of the canal first.

There's two possible solutions I could use here. On the left I've sub-divided the sector and created a brighter sector illuminating the canal wall, and tagged it with a darker floor-transfer. While on the right I've created a sliver sector inset into the canal wall at the height of the bridge and made it brighter.

Of the two, I prefer the sliver sector here due to the depth of the water, but for a shallow drop I might have gone with the left hand solution.

I'll look at the ceiling next.

I've softened the ceiling shadow to make it less jarring. Since I have the geometry of the steps below I can use the existing sectors to gradient the shadow slightly, while making the initial shadow slightly less dark.

Additionally I've added additional sectors to isolate the back faces of the steps below, which need to remain dark, from the upper walls of the ceiling which should be brighter. Next I tagged these dark triangles with a brighter ceiling transfer, and conversely tagged the bright ceiling sectors with darker floor transfer to keep the steps below in shadows.

It's not the most elegant solution, and I may well alter the ceiling geometry here to simply things at some future point, but for now it demonstrates the basic principle of using transfer lighting.

So with that done I move onto the pillars, and trace out some long dramatic shadows across the chamber.

The basic technique I use to cast shadows is to use the line or sector drawing tool to draw a line from the light source to the edge of an object and then extend it to see where it projects to. But for large scenes that become problematic. For example, the line may start snapping to nearby vertices and get pulled away from where it should be.

So, one technique sometimes use is to start the line at the light source, and then zoom in to the shadow casting object and look at the angle the line is making in terms of whole number ratios. And then I can use that ratio to trace the shadow across the scene.

The basic shadows are now done for the pillars, but I need to fix the ceiling and cross beams.

By placing the 3D camera at the position of the light source, I can roughly see what the light 'sees' and quickly judge where the shadows should be cast. In this case, looking from the centre point of the stained glass window I can see that the ceiling beams completely obscure the ceilings behind them. So basically I just need to make the ceilings and back faces of the beams dark.

This isn't quite as complicated as it looks. Once again I've subdivided some of the sectors to isolate different wall surfaces and applied floor and ceiling light transfers as needed. Basically the green lines need to be bright and the red lines dark.

(Ignore the E5, it just denotes that I've made these sectors damaging.)

(A quick note on the purple circle. There's a step here outside the archway, which casts a shadow obscuring the floor behind it. To achieve that, I've cut off the light when it reaches the edge of the step. However the wall behind it should still be lit up, so I've added a bright sliver sector just in front of it.)

And that's the finished result. I'll probably place small additional lights into the final version to accent things, but I'll move ahead with the general layout of the next parts of the map before I get too bogged down in detailing.

In the version of QEDIT04 included below I got carried away and did the lighting for the opposite chamber with the blue balcony, so you can examine that at your leisure, and have fun with the Formless Spawn of Tsathoggua.




Share this post

Link to post

Simple advice, don't use randomly numbered tags for light transfers. It's messy and confusing. Come up with a system and create the necessary light transfer linedefs in advance. For example you can tag them like this:

###X, where
- ### is the desired brightness
- X is 1 for floor and 0 for ceiling

So if at some point you want the ceiling of a sector to be 192 bright, you just give it the 1920 tag without even having to look at the control sectors.

Share this post

Link to post

^ Sounds good, assuming you want to change brightness of sectors that could afford to have tag 0 otherwise. Not sectors that need to be affectable by other linedef actions as well, for which an uncareful change of tags could have bad consequences.

EDIT: Also could be problematique if you wanted to change a sector's floor light level to some value, and also change its ceiling light level to another value.

Share this post

Link to post

I guess another downside of that method is that if you decide to change some brightnesses later, it might take more time (not enough to just change brightness of one control sector, you'll have to retag a bunch of sectors).

Share this post

Link to post

Assuming the light transfers will mostly be used for local cosmetic effects, the sectors whose brightness you decided to change will usually be close to each other, which will make retagging a bunch of them quite convenient, IMO, so the structured tag system still sounds like a good idea to me.

Share this post

Link to post
Memfis said:

Simple advice, don't use randomly numbered tags for light transfers. It's messy and confusing. Come up with a system and create the necessary light transfer linedefs in advance. For example you can tag them like this:

###X, where
- ### is the desired brightness
- X is 1 for floor and 0 for ceiling

So if at some point you want the ceiling of a sector to be 192 bright, you just give it the 1920 tag without even having to look at the control sectors.

I do tend to set up my main set of transfer dummys near the start of a map and number them sequentially, but it never occurred to me that I could go over 255. Your method makes a lot more sense.

Share this post

Link to post

Very interesting article, I have played around with it before but never to this sort of standard.

Good work and thanks for sharing.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now