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

Recommended Posts

I think I finally have all the major bugs worked out in my mod but it has been a while since i designed a map and am finding some of the monsters in my maps keep waking up and ruining around where they are not supposed to. Can someone please refresh me on some ways to make monsters stationary until the player actually enters the freaking room? I try setting them for "Ambush" but that works only on occasion, is their something i'm not understanding on how to soundproof rooms?

 

I'm mainly using Slade. But can resort to Doom builder.
 

Share this post


Link to post

Assuming you're not using doors, you actually need to use two "block sound" lines. Make sure there are not gaps (e.g. windows). 

 

Someone who knows more can explain more thoroughly, but I believe sound will travel through sectors indefinitely (or a number of map units beyond which I have not experimented) until it reaches a second "block sound" line or a zero height situation, such as a door.

Share this post


Link to post

Two of them? So for example I have a monster thats supposed to remain stationary behind a piler untill the player walks by. I would need to draw two invisible sectors around that monster with "Blocks Sound" on all lines of those sectors?

 

{Edit} Wow I really didn't think that would work but it appears it has! It seems kinda obvious now but I would never have figured that out on my own, thanks!

Edited by InterdimensionalInterloper : Problem solved

Share this post


Link to post

Yes. That will keep it from springing to life early, as long it doesn't "see" you.

 

If you surround a monster with two monster-sized square sectors, one slightly bigger than the other, and mark all eight lines as "block sound," you can shoot right next to that monster and it won't hear you. It won't "activate" until you walk around to its side/front or actually shoot it.

Share this post


Link to post

When the alert action is performed, the engine does a search through all connected sectors of each line it finds from the initial location, and keeps repeating for each attached sector it finds on each line. This keeps going until there are no more lines to search (there is no distance limit).

Alert propagation is stopped if the line isn't double sided (of course), if the sector has 0 height (doors typically), or it reaches a second line with the block sound flag (once it reaches a line with block sound, all any line passed that line it finds with the blocksound flag will cause it to stop). Note that stopped doesn't mean the entire search is stopped, just searching down that path is stopped. If there's another valid path to that room, alerts will still propagate that way.

 

The ambush flag changes the way enemies are alerted. When they are alerted, they aren't automatically awoken, but rather instead start looking 360 degrees for a target preventing you from sneaking up on them.

Share this post


Link to post
Just now, InterdimensionalInterloper said:

That's such an odd mechanic, what is ambush even supposed to be good for?

Not having every enemy wake up and wander around the entire map the second you make a noise.

Also, if you need help with the sound blocking and whatnot, in GZDoomBuilder there's an ear on the left-hand side (and also in "Mode -> Sound Propagation Mode" at the top) that lets you see the sound propagation for the map from each sector.

Share this post


Link to post

^ Yes, that. Don't want everyone flocking toward you immediately. 

 

And that feature is also in Doom Builder X, pretty sure.

Share this post


Link to post

I've never managed to get soundblocking linedefs to work - at least not in ZDoom.

 

If I place two layers of soundblocking all the way around a monster turned 180 degrees away from the player they still activate if there is an air connect to the sector the player is in after they use a weapon (even when the sound blocking linedefs also block the air connect and even if the weapon is discharged away from the monsters, i.e. not at them).

 

I gave up using soundblocking after that and now use other methods like hidden pits, closets and blocking line of sight.

Share this post


Link to post

When I used to have problems, I discovered that it seems you can’t just draw the lines; you actually need to make the sector. Perhaps that’s been your issue. 

Share this post


Link to post
21 hours ago, Edward850 said:

The ambush flag changes the way enemies are alerted. When they are alerted, they aren't automatically awoken, but rather instead start looking 360 degrees for a target preventing you from sneaking up on them.

I thought the dynamic was that they are set to an alert state, but don't begin actively moving toward you. Rather, their field of view expands to 180 degrees and they wait until you pass through that window to move to attack.

 

9 hours ago, alowe said:

I gave up using soundblocking after that and now use other methods like hidden pits, closets and blocking line of sight.

You just need to be careful with blocking lines of sight. If you try to get cute or don't take into account height differences, you can get burned by a monster waking up earlier than you planned. I've found that out the hard way.

 

How this relate to @InterdimensionalInterloper is that if the monster is supposed to stand quietly behind the column until the player walks by, then care needs to be taken to make sure the monster can't see the player early from any angle of approach. This would also apply to soundblocking lines, too.

Share this post


Link to post
10 minutes ago, Pegleg said:

I thought the dynamic was that they are set to an alert state, but don't begin actively moving toward you

There isn't an actor state for this. They are either asleep or they are moving.

Share this post


Link to post
4 minutes ago, Edward850 said:

There isn't an actor state for this. They are either asleep or they are moving.

OK. This is what I meant.

 

When they are asleep, they are in their two-frame idle loop. If not set to ambush, they begin to move toward you when they either see you or hear you discharge your weapon (wherever it is, since monsters' hearing is not attenuated by distance). If they are set to ambush, they become alert, but remain in their two-frame idle loop, waiting for you to walk within sight.

 

By the way, I was mistaken, while in the ambush state after being awoken, the monsters do have a 360 degree field of view (not 180 degrees), in that they will move once there is a line of sight between you and it, regardless of whether it is facing you or not.

Share this post


Link to post
1 hour ago, Pegleg said:

You just need to be careful with blocking lines of sight. If you try to get cute or don't take into account height differences, you can get burned by a monster waking up earlier than you planned. I've found that out the hard way.

Perhaps that's the mistake I made as the lines I used for soundblocking also marked the edge of a lift. Probably undid the effect I was hoping for. I'll keep this in mind for the future. Might come in handy to know, thanks.

Share this post


Link to post

You probably already know this, but just in case, sound will pass one blocksound line just like a normal line. It takes a second blocksound line to actually block a sound so monsters don't hear it. So, to keep a monster from hearing you, there has to be two blocksound lines between you and the monster on every possible path that the sound can travel. I think that UDMF has a second soundblocking flag that blocks the sound with just one line.

Share this post


Link to post

Ive wondered, what is even the point of requiring 2 sound block lines in the first place? Monster block and impassable flags can block things with 1 line only but sound just has to be soooo special that it needs 2. Is there some good technical reason why that is so, is it a coding screw up, what?

Share this post


Link to post

It's quite intentional. It's used so sound blocking can be situational based on position. Doom2 Map01 is a good example of this, it has various lines down the hallway that block sound, so different groups of monsters can wake up depending on how far down the hallway you are.

Share this post


Link to post
16 minutes ago, Edward850 said:

It's quite intentional. It's used so sound blocking can be situational based on position. Doom2 Map01 is a good example of this, it has various lines down the hallway that block sound, so different groups of monsters can wake up depending on how far down the hallway you are.

Sure but you could do that perfectly fine with only requiring 1 line, in fact it would work better because any monsters on the other side of the 1st line would still hear you anyway since sound in doom is binary, either they hear it or they don't, so the 1st sound block essentially doesn't even exist and it's just there so the others will work properly, which doesn't really make much sense imo.

 

edit: unless my understanding of doom sound propagation is wrong and there's something I'm not getting/don't know

Share this post


Link to post

There's something you aren't getting (what you said had nothing to do with what I said), but I'm honestly not sure how else to explain it.

 

Edit: Consider this scenario:

627f84db27.png

The two connecting lines of the lift block sound. If the player is in either room when they attack, only that room will awaken. However if the player is on the lift when they attack, both rooms will awaken. This design is intentional for some encounter setups, like the MAP01 hallway as mentioned, and the programming for the behavior is very much explicit.

It eliminates a key limitation that would exist if it blocked on the first line: Where do you put them without giving the player sight of enemies that can't be alerted because of the line. If it needs two lines, you can put them around a corner and still give the player no angle in which to abuse line of sight.

Edited by Edward850

Share this post


Link to post

I've wasted so much time trying to get soundproofing to work I'll probably never use it. I can't even think of a situation where it can't be done another way.

 

The setup I had was similar to the editor pic above, except that the monsters were on the lift. Even with two sound blocking lines around the lift and the monsters facing away from the player they still responded to weapons fire. I just gave up on it and did it a different way.

 

This was back when I did my first ever map, so I was trying out all the different ways to do things. When I went online and searched for a solution at the time, most of the results were of people with the same problem. The only solutions given were one's I'd already tried. So, I gave up on that method.

Share this post


Link to post
16 hours ago, Edward850 said:

It's quite intentional. It's used so sound blocking can be situational based on position. Doom2 Map01 is a good example of this, it has various lines down the hallway that block sound, so different groups of monsters can wake up depending on how far down the hallway you are.

An important thing to note about Map01 is that the block sound flag on linedef 190 is completely useless since both its sidedefs belong to the same sector. Without this "bug" the effect would have been much better, since you wouldn't wake up the imps in the next room while shooting in the first half of north/south hallway.

 

Anyway, sound propagation mode in GZDB(-BF) and DBX are really helpful to see what's going on with... sound propagation.

Share this post


Link to post

I find it fascinating how id made sound propagation work in Doom. It works kinda realistically, within the bounds of the "science" of Doom. It literally passes thru windows and open doors like sound actually would. Impressive.

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
×