This is a repost from my now-defunct blog, so that the information is still available:

In Thief 2 there’s a new property that can be added to room brushes, called “Loud Room”. It seems clear to me from the name and its implementation that the intent was to have an approximation to sound-masking available to level designers, without making major AI changes. Loud Room is a single float, presumably from 0.0 to 1.0. The volume of sounds transmitted from this room to adjacent rooms are multiplied by this float. This works in a similar way to how doors between rooms affects sound: each type of door has a similar float property that defines how much it blocks sound; and the volume of sounds is multiplied by (1.0 - blocking_factor) when a door is closed.

So the way I interpret Loud Room to have been intended to use, is to set it to, say, 0.6 on a room with the REALLY LOUD CLANKING MACHINERY, which probably has metal floors too just for laughs. Then the player’s noisy footsteps on the floor in that room would sound 40% quieter to NPCs outwith the room, making the player harder to audibly detect. Sound masking! …right?

The problem is, sound goes both ways. Although the effect seems about right when the player’s in the loud room, it’ll seem entirely wrong if the player is outwith the room listening to an NPC walking on that metal floor inside it. Because all the sound from the room is attenuated, the player outwith the room will hear the NPC’s footsteps as 40% quieter, and the REALLY LOUD MACHINE CLANKS will be 40% quieter too. Which would be just weird.

And that no doubt explains why they didn’t use this feature in shipping levels: I’m guessing they came up with this simple system (in terms of implementation: it’s not much more than two lines of code), tried it out, then cut it when it didn’t work right.

Now in all the levels that shipped with Thief 2, it turns out that there is actually a single room with this Loud Room property set on it. In the mission Framed, in the basement of the City Watch headquarters, is a “machinery room”. And it has the Loud Room property on it! Which seems appropriate, since it is full of machinery. Though fairly quiet machinery as these things go.

As it happens, the Loud Room value set on it is 1.0, which means the property isn’t causing any attenuation of sounds anyway.

And apart from that, this room is basically a dead end at the end of a hallway in the basement: there’s never any NPCs just outside it to listen; there’s no noisy floor surfaces in the room (it’s all stone); so it’s not even a situation where Loud Room would make much difference.

(There is an NPC who will walk to this room and hang around inside it. But there’s also no reason for the alternative interesting situation to arise either: where the player just outside the loud room makes noise that is masked for the NPC inside.)

And that’s the story of Loud Rooms.

Okay, I just had to do the test. Turns out my reading of the code was missing one thing: the “loud room” attenuation factor is also applied to sounds originating within the loud room that the player is hearing in the loud room too! I suppose that would let you walk clangily around in a loud room that had a hostile NPC in it, with the NPC’s hearing perception reduced accordingly. But as a player it’s very weird to hear your footsteps in the room before, but then they suddenly get quieter to you as you enter the loud room with the same floor!

Here’s my test:

The first room with marble floors is a normal room, as a control. The green room in the middle has no room brush so that sound cannot propagate through it, just to isolate. The second room with metal floors is the loud room, with an attenuation factor of 0.5.

Notice how my footsteps get audibly quieter as I enter the loud room. Note also how the machinery in the loud room, despite having the same volume settings, actually sounds quieter than that in the control.

Because the loud room property is actually applied to sounds that stay within the room, all the sounds in the room are quieter! Doing this test shows that the “actually the sounds get quieter so the NPCs won’t hear them so well” approach to sound masking is pretty flawed.

(The doors at the end attenuate the sound with a factor of 0.2 by the way. I just needed to shut that infernal noise up!)

September 14th, 2018