![]() |
Here are some images form my experimental sound propagation model. Today I removed some bugs and made surface bounce dependent on angle the rays hit it. The bending effect is increased like 100 times, so this is nowhere near reality.
You can see sound source in the left, SSP in the right, this is distance vs. depth, so imagine you're looking from the side. Brighter means louder. Note how the rays are trapped in 'slow' medium and how almost whole sound energy they can be focused into small areas. Also note that there is no signal weakening implemented and that these focused points are much weaker that how it's displayed here. Focused points are ring in reality, and the energy distribution must follow it (it does not now). It looks magically and it is much more complicated then I expected. Note that this is just a toy for experiments, nothing for the sim. It takes several seconds to compute these .. Above the layer http://roger.questions.cz/other/above-layer.jpg Below the layer: http://roger.questions.cz/other/below-layer.jpg Above channel: http://roger.questions.cz/other/above-channel.jpg In the channel: http://roger.questions.cz/other/in-channel.jpg |
Very interesting diagrams, they look pretty darn close to what I expect from thermoclines. Do we know if the DW sound propagation engine is as accurate as this?
|
Quote:
Quote:
You'll never have an "accurate" model that runs in real time. The math is too hard to do that fast. I run up against this all the time in designing professional wargames. We're forced to make approximations. You can have a model that has some substance to it, and gives reasonable results, though. There's lots of phenomena to capture, only a few of which are in DW or else they're abstracted. The way I think about everything is in terms of a sonar equation. A sort of simplified version of a sonar equation is that detection occurs when TL <= FOM Some acoustic phenomema are accounted for on the transmission loss (TL) side, like sound speed profile, duct cutoff frequency, bottom loss, and surface scattering. Others are accounted for in the figure of merit (FOM) side, like ambient noise, the ability of the array to filter out extraneous sources of noise, and the operator's ability to interpret the things he sees. The best place to start making a sonar model is a sonar equation. |
Quote:
|
Quote:
- ray splitting - this should be faster closer to the sound source and more accurate far from the sound source. Simply after some distance ray will be split in two with half energy, sure, ray amount must be kept reasonable, but like this I have much more control over it. - surface scattering .. I already tried that, but it needs more rays so I guess the above technique will make it better. I'd also keep some scatter info along the ray. High frequencies suffers more from scattering and if I know how much each point was subject to scatter I can have even some frequency characteristics. - bottom .. should be similar to surface - exact energy loss - fit it to realistic parametres, so it gives believable results. I need realistic sound speeds, realistic surface and bottom characteristics. But considering the game, we have time to think what model will be used. Realistic sonar is not in the phase 1. |
This is all very exciting, but what timescale are we talking about ?
This reminds me a lot of orbiter, the only other professional grade freeware simulation, available on the net. And it took 7 years of programming and refinement (one man coded the kernel of the simulation, physics, audio, graphics) plus tens and tens of third party developers, artists went ahead with add-ons ranging from realistic historical add-ons to purely sicence fiction add-ons. And even now, orbiter has a lot of idiosyncrasies which make it only able to run in windows platform. |
As for game database .. my idea was something more universal. But directory per platform is neat idea. I agree config files should be in some textual form, because of CVS.
I'm not sure if it should be XML. As very common idea is that XML is cool, my work experience is different. It's good as communication protocol, because it's universal and well known. Bad it's pretty bad for configs .. it's simply well readable - you need good XML editor for that. In such case making own editor (similar to DW edit) or making more notepad friendly text format can show better. I also would like to use as little other components as possible. My experience is that any 3rd party component will have to replaced some day. Windows core, OpenGL, OpenAL are quite well designed and debugged, but in our work projects we even use our own XML parsers because those from microsoft just does not suffice in some areas. If we are to use anything, it must be well isolated, so it is simple to replace it later. For example no outer data type can be used in any internal interface. I don't see any reason why platforms should need specific code. I'd better do everything universal and configurable. I mean if there is one and only canon on wheels on one platform, I'd made common model and I just say in database this canon is the 'wheel model' with 4 wheels of diameter 30cm. Don't repeat yourself is the rule here as well because any such specific code would tend to find another usage in time. On the other hand I can imagine the sim is released and someone wants to extend it without modifying the original code. In such case some plugin system would be needed, but again, it would be better if those plugins could be shared between the platforms. Other thing is - do we need this ? Plugin system will complicate it a lot. Maybe we can just have it in mind during design. My current work is based on databases, metadata sets, and configurable applications with tons of plugins and configurations. I have some real experience in this area. I have some idea what can by done by ourselves and how time it would need. But let's discuss these. |
Quote:
When I was making IQ3D which had low-level 3d engine, basic physics, AI, lots of artwork, done in some alpha version in half a year or so. And that included inventing many things. It was free-time project as well. Well tuning it and adding some other neat features took another two years and it never got really finished .. but that's those problematic final phases, I hope community will help both by giving hand and morale support. |
I started a yahoogroup. It's called
Community subsim development at the moment. Try this link, it could work: http://games.groups.yahoo.com/group/communitysubsim Let's continue our discussion here, but especially devellopment related things should be post there from now (and quotations copied). |
DrSid do you think it is doable to adjust your sound propagation tool to fit the DW's model ? (performing comparison tests in game)
If yes I think the utility of such a tool is big, particularly for human vs human games :hmm: ... |
Quote:
Anyway I'll try to fit the model to DW so it gives more or less similar data, but that's just because DW is best sonar simulation I have. |
Quote:
Quote:
There's other surface interactions like the Lloyd mirror effect that you don't capture, I've noticed. That becomes important when you get within a few miles because it can cause the signal to get strong or totally fade out in weird ways. Quote:
Quote:
A lot of the stuff you're looking for can be found in Principles of Underwater Sound by Urick. That's sort of the sonar engineer's bible and pays at least lip service to pretty much everything there is to know in sonar. It's actually really creepy how every time I thought I found something not in Urick, I usually end up realizing I just forgot something he wrote. :D |
Dangerous Waters does use Ray Tracing but to what complexity I don't know.
|
Some nice terms to search. I need online sources .. I'll look in local scientific library and Amazon but it's quite possible some books are unreachable for me.
This Lloyd's effect .. all I found is that it has something to do with interference. I can simulate interference easily with my tracer, but it all depends in concrete frequency. Active sonar will be affected much more. Noise should not be affected at all. Consider these diagrams as noise transfer, no interference. Don't you know something more specific about it ? Sure surface affects especially the frequency transfer. Very low frequencies (with wavelength much bigger that wavelength of the surface waves would not be affected, while high frequencies fill be affected with small waves. 1Hz has roughly 1600m sound-waves, which means it needs similar size sea-waves to be affected. Which is rare. But 1kHz has 1.6m sound-wave, so it will be scattered heavily in common conditions. It's just common rules of diffraction, I guess some more effects can apply in the sea. I'll try take this into account somehow, but this really starts to be 'acting like' more then 'computing'. |
Quote:
|
Hutch mentioned it as did Jamie.
|
Some new images with interference for two different frequencies. Surface scattering is not there, but I improved signal weakening. It is however not very however on such small scale (this pictures are pixel per metr with bending heavily increased).
SeaQueen, could this be the Lloyd mirror effect you mentioned ? http://roger.questions.cz/other/interference1.jpg http://roger.questions.cz/other/interference2.jpg |
:huh: Greatly impressed with all this techno-babble but shouldnt the mods protect the earnest and innocent DW players by removing this item to :
Other Naval Games & All Kinds of Other Games But I do wish you well and all who sail in her. :|\\ |
Quote:
|
Quote:
Quote:
|
All times are GMT -5. The time now is 03:27 PM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 1995- 2025 Subsim®
"Subsim" is a registered trademark, all rights reserved.