PC Alpha 20 Dev Diary

Status
Not open for further replies.
@faatal Will the team ever work on implementing "sound dampening"?

It would be great before gold if we could have walls/terrain lower the effect of our sounds (or the hearing capability of the AI). Thanks
Oh, man, I feel you.

This was already asked quite a while ago. It isn't in because of the huge CPU overhead that it produces (each sound needs several calculations //"raycasts"// and several calls vs the player and the worst part is that it has to be in real time). I wouldn't get my hopes up beyond the most simple inplementation of the feature (already in : just based on distance), but 2024 CPUs and 2024 Unity might be able to handle it well enough  as an option.

There are tools for Unity (like SECTR AUDIO) that do all the sound calculations you need, but you need to bear in mind that those tools are designed for static worlds, not something as complex as 7dtd. You can't just cache an audio calculation that instantly changes when you break a block .

What is the "huge overhead" that I'm talking about? Well, when implementing it as is intended by default, I'm talking roughly 100% to 500% expected CPU overhead vs now in common situations (like when you are in a building and an outside horde appears, or you wake up 10 Zds in a building and change floors). So basically 0 fps. You Lose. Good day to you Sir (Charlie and the Chocolate factory reference).

That said, you never know with faatal. He can handle whiner dampening, why not sound dampening?  

 
Oh, man, I feel you.

This was already asked quite a while ago. It isn't in because of the huge CPU overhead that it produces (each sound needs several calculations //"raycasts"// and several calls vs the player and the worst part is that it has to be in real time). I wouldn't get my hopes up beyond the most simple inplementation of the feature (already in : just based on distance), but 2024 CPUs and 2024 Unity might be able to handle it well enough  as an option.

There are tools for Unity (like SECTR AUDIO) that do all the sound calculations you need, but you need to bear in mind that those tools are designed for static worlds, not something as complex as 7dtd. You can't just cache an audio calculation that instantly changes when you break a block .

What is the "huge overhead" that I'm talking about? Well, when implementing it as is intended by default, I'm talking roughly 100% to 500% expected CPU overhead vs now in common situations (like when you are in a building and an outside horde appears, or you wake up 10 Zds in a building and change floors). So basically 0 fps. You Lose. Good day to you Sir (Charlie and the Chocolate factory reference).

That said, you never know with faatal. He can handle whiner dampening, why not sound dampening?  
Wow. Thanks for all the technical stuff... but I was talking maybe about something much simpler.

Maybe they could use the same code they use now to know if you're "inside", to mark you "behind walls" hence producing less sound.  :peep:

You know, games don't need to be RL simulations, they just need to trick you into thinking you're in a believable world.  :flypig: :jaw:

 
Wow. Thanks for all the technical stuff... but I was talking maybe about something much simpler.

Maybe they could use the same code they use now to know if you're "inside", to mark you "behind walls" hence producing less sound.  :peep:

You know, games don't need to be RL simulations, they just need to trick you into thinking you're in a believable world.  :flypig: :jaw:
I had thought of this as well. It can even be implemented as a mod! Sort of. Urban Combat has an example of doing something while indoors. Night Stalker has an example of being stealthier at night. The implementation of the latter changes light and noise multipliers. So it really isn't hard to make it so you make less noise while indoors. Depending on the material that's accurate, as sound gets absorbed instead of reflected. For other materials it's the opposite. We can't do anything about that, and we can't make it so the player is more silent just to zombies outside.  But everything I described above can be done as a mod right now in alpha 19.

To make it work sound would have to be split into two "channels". One indoor channel and one outdoor channel. Which channel is used for output depends on where the source is. Both channels contribute to detection but a divider is applied to the channel depending the "IsIndoor" status of whoever is doing the detection. For example, a zombie which is outdoors would divide the noise on the indoor channel and use the full noise of the outdoor channel, and vice versa. I suspect "InDoor" is only computed for players, and that would add CPU usage. And everything in this paragraph would need to be up to TFP.

And, of course, this would not be perfect by any means of imagination. For example, if you are indoors then any noise you make would be louder on the neighboring building than it would be between the two buildings. I'd still love something like this, though.

 
@faatal Will the team ever work on implementing "sound dampening"?

It would be great before gold if we could have walls/terrain lower the effect of our sounds (or the hearing capability of the AI). Thanks
Not on the radar right now. It will add some performance overhead, so we would have to evaluate if worth it.

 
Wow. Thanks for all the technical stuff... but I was talking maybe about something much simpler.

Maybe they could use the same code they use now to know if you're "inside", to mark you "behind walls" hence producing less sound.  :peep:
The inside detection is not that great and could use more research. You also end up with cases like you are inside, but zombies are too, so it should not be muffled for them except maybe their indoors is really adjacent to yours in another room/building, so it should be muffled.

 
Last edited by a moderator:
wow 😲


E79jkSrXsAIJ-1W


 
Last edited by a moderator:
I hope that the new Screamer Zombie will summon real hordes in new large and dense cities. @faatal, will it have new sounds?

 
Sorry if this has already been answered.

@faatal 

If you are the wrong target for this question I apologize.

With A20 will Custom POI's auto download from the server that is hosting 7D2D?

This used to be the way at least for POI's and went away I think in A18 (I may mis-remember when).

It was a pretty cool feature and made it much easier than trying to walk non tech friends / family through how to copy the files to the correct directory.

Thanks for your time and insight.

 
The inside detection is not that great and could use more research. You also end up with cases like you are inside, but zombies are too, so it should not be muffled for them except maybe their indoors is really adjacent to yours in another room/building, so it should be muffled.
Couldnt a single raycast between zombie and player do that; one raycast per zombie?

Like if it goes interrupted, then half sound, otherwise full?

of course "if horde night" then disabled.

 
Here’s to hoping they never add skeletons for anything but inanimate art assets.

Skeletons have no muscles and a moving skeleton would then imply magic which wouldn’t fit the games setting.

 
Here’s to hoping they never add skeletons for anything but inanimate art assets.

Skeletons have no muscles and a moving skeleton would then imply magic which wouldn’t fit the games setting.
well this is my point? i want skeleton not as enemy but as props ( like corpses bags etc). but for limited time - like hallowen they can be enemies too - you now we have something for  christmas

@faatal small question about cities.  tiles are looking like can be connected with every site to another by road but can we expect something like : 

dead end road with  only drive from one side but on rest are building? 

 
Couldnt a single raycast between zombie and player do that; one raycast per zombie?

Like if it goes interrupted, then half sound, otherwise full?

of course "if horde night" then disabled.
It could, but should what you hit block the sound? Say it is a pole or other small obstacle, it should not, which means block shapes would have to be flagged for it. We have a lot of shapes.

well this is my point? i want skeleton not as enemy but as props ( like corpses bags etc). but for limited time - like hallowen they can be enemies too - you now we have something for  christmas

@faatal small question about cities.  tiles are looking like can be connected with every site to another by road but can we expect something like : 

dead end road with  only drive from one side but on rest are building? 
Don't know. Robert could tell you.

 
It could, but should what you hit block the sound? Say it is a pole or other small obstacle, it should not, which means block shapes would have to be flagged for it. We have a lot of shapes.


Even easier? forget the blocks.

Case 1: Does the one raycast fully collide with the player? only distance muffle like it is now then.

Case 2: Does it hit a block (ANY block, open or not) ?

(ANY block in between + some assets that you can add the property to, of course I wouldn't add the property to doors or hatches of any type, but yes to cardboard boxes or cobblestone or cement or some domestic appliances, for example)
then we hear Reververated/mildly muffled sound. Poles can be ignored by the raycast, doors too. It's a matter of fine tunning when it's in.

STILL has a hefty CPU performance cost... yet it is always better to just  treat  all the blocks the same way (or rather, in a binary way). Just 1 raycast per entity to each player individually is the best approach. 

The downside to this approach is that you have to add the ability to be raycastable or not to every block and asset in the game (tedious and repetitive work once the code is in, but it's not that bad). 

Performance cost to each raycast? As intensive as an entity spawning but in real time, so yeah, 100-500% performance cost in lower end computers. Unless you limit the raycasts to like 5 entities at a time, then it would probably be playable.....

 
Status
Not open for further replies.
Back
Top