Fog Effects

A tutorial for GZDoom


1. using Action Specials

Update:
The below section is showing fog done in DOOM (Hexen format).
Since UDMF is now mainstream scripting is no longer needed, colours can be set from the Edit Sector - Colors menu in Ultimate Doom Builder.


Early pwads with a fog effect used the Action Specials 212 and 213. Getting this to look right can be tricky. The general problem with this approach is that the foggy area ends abruptly at the sector boundary. A bit of testing is required.

For example, those Action Specials are used in the map below (sectors vary in brightness from 208 to 112 from left to right).

the results are as following:

or a combination of both

which results in a more convincing fog. However, in all cases the fog suffuses all sectors which are given the appropriate ID tag. The density of the fog depends on the brightness of the sector and on the player's line of sight.




2. using MAPFINFO

Fog can also be set from within the MAPINFO lump. Again, the fog suffuses the whole sector and getting this to look right can be tricky. A bit of testing is required.

Inside Fog

Fade = "color"
Color is the color that things fade to the further away or "darker" they are. Normally, this is black, so that things seem darker as they get further away. To simulate fog (ala Hexen), set this to a gray instead. Other colors are also supported, but may not necessarily look very good.

Color can be either the name of a color (such as red or cyan) or a color descriptor of the form "RR GG BB". For example, to set the fade to red, both of the following will work:

Fade = "red"
Fade = "ff 00 00"

To find a good value for fade, you can use the testfade console command.

Outside fog

OutsideFog = "color"
This is like Fade except that the color fade is only applied to sectors with a F_SKY1 ceiling and not all sectors on the map.


Although this can be overridden with a sector special 87, see Sector_type in the WIKI.
See also MAPINFO_options_for_GZDoom's_GL_renderer for additional options.

A good example of this type of fog is Winter's Fury.




3. using 3D sectors

In November of 2005 solarsnowfall published a test map (insanotest.wad) in which he used slices of 3D floors to build up a ground fog effect.


With the fog animated this produced a really convincing ground hugging fog.

By changing the brightness of the 3D control sector, the fog can be from soupy to menacing.

Example pwad




4. using DECORATE

Adding a DECORATE fogspawner, for example the one from Tormentor667's City of the Damned 2 Apocalypse to the 3D sector fog effect of the above map creates an even more spooky atmosphere.

This fog effect can be found in res_data.wad. The only difference here is that the sprite XSMKA0 has been reduced in size to fit the size of the room without the fog edges showing.

Example pwad

A similar DECORATE fogspawner can be found at REALM667 Repository.




Have fun creating your maps.

Kappes Buur
Jan. 27, 2014