Jump to content
The Dark Mod Forums

Steps Not Completely Texture Reliant...


Drakon

Recommended Posts

Well they'll all come ready set-up, but if you really did want to change them (I can't think many examples why you would), you could create custom materials which use the same textures but have different properties, and then distribute the custom .mtr files with your level.

Link to comment
Share on other sites

well what about the echo? and will walls/floors/ceilings properly impede sound?

 

people said that the thief series sound propagation was fantastic, it was but it also was quite inaccurate at times. and will the ai be a bit more realistic in its responses to sound?

Isht has put a ton of work into making sure the AI responds realistically to sounds, from what I've seen it looks like they will.

Link to comment
Share on other sites

You probably won't have specific surfaces like walls effect specific ray paths of sound. I'm not planning to do a full blown sound renderer with beam or ray tracing just for the AI. Beam tracing method is probably the most efficient of the exact methods, but it would still kill framerate since you'd have sound propagation to a number of AI in different rooms.

 

What you can do is set sound loss/gain characteristics in specific areas. So you can make sound attenuate faster in areas with tapestries on the walls, etc, and make it attenuate slower or be guided better in areas with polished stone walls. As of now the guiding/attenuation will not be automatic based on the wall/ceiling textures though, you will have to guestimate it yourself. When a sound path goes thru your room, that attenuation will be applied.

 

The amount of sound you make when you step on a surface though should be completely customizable.

Link to comment
Share on other sites

That sounds ok, but if my understanding of how it would be implemented is correct it might have issues.

 

I guess the area of a wall/floor would have a rather strong loss characteristic to it. would you make the area sound characteristics dynamic?

 

The funky part is where you have an open door the walls are 1 foot thick stone and a dude in the other room, without some sort of pathing system the sound would be nullified even though the person could quite clearly hear through an open door.

 

But i agree with the ray tracing problem, it is similar to path finding. but how about sound nodes instead?

 

Basically at key sound refraction points eg doorways open windows etc... you place a node, it will act like a proxy for the first emanation point of the sound by picking up sound intensity and re broadcasting it. it's a hell of alot simpler than ray tracing around obstacles and is much faster as well. the only drawback is that mission authors have to place the node in the toolset (unless you made it automatic some how).

 

if you implemented the node system you could also alter the ai to go to the emanation point if it's what it is hearing from and go hunting from there.

Link to comment
Share on other sites

We're planning to do something like that. A good Doom3 map will have visportals placed at the apertures in geometry that separate most rooms from eachother, for rendering reasons. So we're using those portal locations for sound "pathing" also.

 

That's an interesting idea with "rebroadcasting" the sound. We've thought about that some. Physically it makes sense (Huygen's principle I think). However, the wavelength of audible sounds is often on the order of the size of these apertures, so unless you take into account diffraction and interference effects, you will get some pretty bad errors when it comes time to add up all the point sources in one room.

 

You could assume all the waves add constructively, but then if you had 5 equal length paths from the source room (room where the original spherical wave started) to a target room, you would get 5 times the sound intensity (not in dB) in that room. In reality, you would get an interference pattern that depended on the wavelength of the sound, the spacing between the apertures, the size of the apertures, the geometry of the target room, etc. That would require using a finer spatial grid than just rooms and portals.

 

Supposing we could do that without killing frame rate, for the sake of argument, even then, that stuff is heavily dependeng on wavelength/frequency. As soon as you bring in frequency dependence, things get a lot more complicated. Real sounds are wave packets consisting of many frequencies. So you either have to randomly pick a frequency and pretend all sound are at that frequency, or you need to take your suspicious sound and Fourier analyze it or something.

 

Anyway, for those reasons, I think we might be able to get away with just assuming that all of the sound travels down the least-loss path between suspicious sound and AI. The AI aren't going to care if they don't hear accurately represented reverb/echoes, they just need some number to represent roughly how much the sound would be attenuated when it gets to them. :)

Edited by Ishtvan
Link to comment
Share on other sites

Hmm, I might have to eat my words on this one.

 

A wavefront-expanding algorithm looks like it might do better in the case when there are a lot of AI. Otherwise you'd have to pathfind to each of the AI.

 

That's why you shouldn't take anything we say seriously until it's actually coded and thoroughly tested. :)

Link to comment
Share on other sites

Well i haven't got the full specifics of the algorithm figured out but basically from each node you attenuate to an ai and record the volume of the sound. Which ever is the highest is where the sound is being heard from. This holds true in any situation as far as i've figured out. If an ai is in the original broadcast zone and a rebroadcast zone the original broad cast zone will be of higher volume because the rebroadcast zone has to travel further and thus attenuate more.

 

On the issue of using frequency as a part of attenuation you could simply use an equalizer (like in winamp) for the attenuation field settings, and apertures have their settings linked to their size. the apertures would have rather dramatic settings that totally cut off the frequencies with wave lengths that exceed the aperture dimensions. of course this is a nice to have...

 

I think that you are going to have to make a simulation system for the sound attenuation modeling as well. Mostly because if you tried to dynamically measure sound volume and then dynamically attenuate it and then dynamically measure the attenuated volume thats going to REALLY suck performance. You will need a system that assesses a waveform as it is imported into the toolset or loaded into the game. The assesment would be a heck of alot simpler piece of data to work with and thus save you quite a bit of time processing it all. When you attenuate the sound you record all the modifications it underwent and thus modify the sound the player hears accordingly. If you were to implement frequency specific attenuation then this system would be absolutely essential to not make the game chug.

 

a few other questions:

What does directX/openAl offer in the sound department other than a standard to work with?

Will you implement a sound randomizer (ie multiple versions of the same sound or a system that dynamically alters the sound)?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
    • Ansome

      Well then, it's been about a week since I released my first FM and I must say that I was very pleasantly surprised by its reception. I had expected half as much interest in my short little FM as I received and even less when it came to positive feedback, but I am glad that the aspects of my mission that I put the most heart into were often the most appreciated. It was also delightful to read plenty of honest criticism and helpful feedback, as I've already been given plenty of useful pointers on improving my brushwork, level design, and gameplay difficulty.
      I've gotten back into the groove of chipping away at my reading and game list, as well as the endless FM catalogue here, but I may very well try my hand at the 15th anniversary contest should it materialize. That is assuming my eyes are ready for a few more months of Dark Radiant's bright interface while burning the midnight oil, of course!
      · 4 replies
×
×
  • Create New...