SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SH5 Mods Workshop
Forget password? Reset here

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 10-19-13, 10:21 PM   #1
tscharlii
Watch
 
Join Date: Dec 2011
Posts: 26
Downloads: 17
Uploads: 0
Default [WIP] Realistic Hydrophone

Current Version: Realistic_Hydrophone_1_1
Download Link: http://www.deguero.de/jel/Realistic_Hydrophone_1_1.7z

A picture is worth a thousand words, so again here are some videos showing the mod:
Two close contacts:
Two far away contacts:

What's new?
  • GHG simulation as outlined here: http://www.subsim.com/radioroom/show...8&postcount=25 Summary:
    • We can hear a contact best, if it is on a bearing of 90 or 270 degrees. The more the bearing deviates from this optimum the worse we can hear the contact.
    • The further away the contact the less accurate the bearing estimation.
  • Replacement of the stock hydrophone "new contact" reports, so we only get contact reports, if the sonarman can hear the contact according to the GHG simulation
  • Hotkey to ask the sonarman to tell us the estimated bearings of all contacts, he is aware of (Default: Shift-0 (Shift-Zero))
  • Fix: Sweeping back and forth around a contact, regardless of whether Repaired Equipment Mod by Xundrel and TheBeast 1.2 is installed or not
  • Set the sweeprange, the time interval between followed contact updates or the minimum bearing change for a followed contact update simply by using the hydrophone settings dialog provided by TheDarkWraith

What's still missing?
  • Contact aspect estimation (Is the contact closing or moving away?), this feature of version 1.0 is gone for now
  • Contact speed estimation
  • Kristalldrehbasisgerät(KDB) and Balkongerät simulation. Right now the mod always simulates Gruppenhorchgerät (GHG) hydrophone, even if you equipped a more modern hydrophone at the bunker.
  • Ability to hear contacts based on their actual sound emission. The mod treats all contacts as if they produced a sound emission of a merchant moving at 12 knots. Louder contacts should be audible at greater distances and more silent contacts should require you to be closer to them.
  • Ability to hear contacts based on our own sound emission. When we move submerged at flank speed, we can only hear contacts that are at most a few 100 meters away from us.
I recommend you conceal the ship type at the hydrophone, as I did in the videos above. The idea is, that you cannot deduce the bearing of the contact by moving the hydrophone needle back and forth, noting at which bearings the ship type starts and stops showing up, and taking the average of the two as the contact's bearing. You actually have to listen!
To conceal the ship type display (assuming you are using Real Navigation), edit /data/Menu/menu.txt and replace the ship types with a dash(-):
Replace
Quote:
; sh5.exe patch by TDW - allows texts for units to display in hydrophone box when real navigation enabled
826=Unknown
827=Warship
828=Merchant
829=Submarine
with
Quote:
; sh5.exe patch by TDW - allows texts for units to display in hydrophone box when real navigation enabled
826=-
827=-
828=-
829=-
This is not part of the mod to avoid conflicts with mods that also change /data/Menu/menu.txt

The mod assumes, that you have the gameplay settings "No map contact update" and "Realistic sensors" enabled.

You can adjust the hotkeys the mod uses by editing /data/Scripts/Menu/RealisticHydrophoneSettings.py. Edit the file either by hand, if you are comfortable with that, or open it using TheDarkWraith's OptionsFileEditorViewer (/data/Applications/OptionsFileEditorViewer/OptionsFileEditorViewer.exe).

Mod Compatibility: SH5 has to be patched to v1.2. TDWs hydrophone fixes have to be installed. TDW NewUIs version at least 7_1_0 up to 7_5_0 required. Install Realistic_Hydrophone_1_0 via JSGME after NewUis. It is correct, if the mod overwrites /data/Menu/Pages/menu_1024_768.ini of TDW NewUis. Any other JSGME warnings indicate a problem. If you have other mods, that change /data/Menu/Pages/menu_1024_768.ini, you will have to merge.

Credits:
TDW - This mod uses the timer and hotkey infrastructure introduced by his NewUIs as well as some of his utility functions. Also NewUIs code served as a great "learn by example" source regarding how to mod sh5.

------- Original Post:

Hi,

so, assuming you are using TDWs NewUIs and his hydrophone game patches, there are 2 ways to follow a contact, already. The stock "Follow_nearest_sound_contact" command and TDWs "Hydrophone follow nearest contact" command: Why another one?
Well, I like some aspects of the commands, while i do not like others. Here is a quick overview.

First, the stock "Follow_nearest_sound_contact" command:
  • Pro: It features spoken reports
  • Pro: It keeps the hydro needle towards the contact, so theoretically it reports accurate bearings
  • Con: But it is not accurate. If I use the stock command "Report_nearest_sound_contact" immediately after a "Follow_nearest_sound_contact" report, the bearings often differ by 1 - 1.5 degrees. The latter seems to be the correct value, if visually confirm the bearings through a periscope.
  • Con: Closing, Moving Away, Constant Distance estimation seems to be broken. For example in the TDW Torp Tutorial Mission, the soundman begins to report the contact as moving away once it passes a bearing of 30 degree, althouh it is still closing.
  • Pro: Estimation of Speed (Slow, Medium, Fast) seems to work, but...
  • Con: How does the soundman know in the first place, whether the contact is closing and how fast it is? He seems to be very confident at the very moment I order him to follow the contact.
  • Con: The soundman does not loose the contact when the sub moves fast, the sub surfaces or the contact is near 0 or 180 degrees

Second, the command "Hydrophone follow nearest contact":
  • Pro: I can select a target either on the hydrophone or persicope, which does not necessarily have to be the nearest one.
  • Pro: In contrast to the stock "Follow_nearest_sound_contact" the behaviour of your command is completely customizable using python scripts.
  • Con: It does not keep the needle towards the contact, when i'm not at the hydrophone station. The contact bearing is only updated once every 30 seconds, when the hydro needle passes the contact during its regular sweep. If I'm plotting with rather short time intervals, e.g. 5 minutes, and HydroFollowContactDeltaBearing = 1.0, this can mean that I use the bearing the target had at 4:30 instead of 5 minutes, which in turn can be the source of significant inaccuracy, up to 10% of the bearing delta.
  • Con: No spoken reports.

So here is my go at building a follow contact command. As the thread title implies, the goal of this mod is to provide an as realistic as possible hydrophone experience.

You can order the sonarman to follow a contact by either
  • pointing the hydrophone needle towards a contact
  • or looking at a contact at the UZO, Attack or Observation periscope
and press the hotkey - by default this is key 0 (zero, the one in the middle of your keyboard, not the zero on the numpad). You can change the hotkey by editing data/Scripts/Menu/RealisticHydrophoneSettings.py. The hotkey setting uses the same format as the hotkeys in TDW NewUis TheDarkWraithUserOptions.py, if you are familiar with that.
If you press the hotkey again anywhere in the ship, the sonarman will stop following the contact and return to normal sweep.

Once the sonarman is ordered to follow a contact, he will start sweeping back and forth around the selected contact and inform you, as soon as its bearing changes. He will be quite accurate, as he sweeps over the contact every few seconds and gets current information that way. This comes at a cost. He looses situation awareness of anything not within his sweep range. You might get surprised by contacts approaching from elsewhere, if you follow a contact all the time. You can set the sweep delta by setting HydroFollowNearestContactSweepRange (the default is 22.5 degrees) in TheDarkWraithUserOptions.py

The sonarman also tries to find out, whether the contact is closing, in constant distance or moving away. He does not know in the beginning. Let him follow the contact for a while. What he does is: He lets the contact's bearing change by a few degrees and remembers the time that took. Then he waits for the same time interval again and looks at the bearing change within that time interval. If it is significantly greater than the change within the first interval, this means the contact is closing, if the second bearing change is smaller than the first one, the contact is moving away. And if it is nearly the same, the contact keeps constant distance.
This aspect estimation only works under some assumptions. Your sub needs to be sitting tight. Don't move (or don't move fast at least), don't turn (this is worse). The contact maintains constant speed and course. If any of these don't hold, please ignore your sonarman's aspect estimation.

The sonarman will loose the contact, if it moves into bearings between 350 and 10 degrees or between 160 and 200 degrees (the areas at bow and stern not covered by the Gruppenhorchgerät GHG). He will also loose contact if we surface the sub. In that case he will inform you and resume normal sweep (futile if you surfaced and have the mod TDW_No_Hydrophone_On_Surface_No_Aircraft_Spotting enabled, but well, he never gets a day off anyway).

All the reports are written to the shiplog as well as spoken by the sonarman.

Known issues:
  • Aspect estimation does not work well with time compression. Looks like the timers I use do not follow the time compression accurately enough, so the two "supposed to be equal" time intervals used during aspect estimation are not equal and the results get spoiled.
  • The mod assumes the hydrophone Gruppenhorchgerät GHG. If you have a sub equipped with the Kristalldrehbasisgerät KDB, you do not have a blind area at the bow, yet the sonarman looses contact there. Anyone knows, how to determine which hydrophone is equipped from a python script?

Well, here is the download: http://www.deguero.de/jel/Realistic_Hydrophone_1_0.7z

Mod Compatibility: SH5 has to be patched to v1.2. TDWs hydrophone fixes have to be installed. TDW NewUIs version at least 7_1_0 up to 7_5_0 required. Install Realistic_Hydrophone_1_0 via JSGME after NewUis. It is correct, if the mod overwrites /data/Menu/Pages/menu_1024_768.ini of TDW NewUis. Any other JSGME warnings indicate a problem. If you have other mods, that change /data/Menu/Pages/menu_1024_768.ini, you will have to merge.

Some thoughts about how the hydrophone works:
Bearing readings should be quite accurate. Depending on the setting of the frequency seperating filter (Frequenzweiche), the resolution was smaller than one degree. It should be quite doable for any sonarman to move the hydrophone needle back and forth, determine the loudest position and get an exact bearing reading. But what should be the impact of noise, like moving at slow, normal or flank speed on electric motors.

Aspect estimation: Apart from observing how the speed at which bearings change develops, there are other ways to determine ascpect. Imagine a ship heading directly towards us. The bearing won't change at all, yet the soundman should notice at some point, that the contact gets louder and louder, and realize, it is closing.

Speed estimation: I like the count RPM approach. See http://www.subsim.com/radioroom/showthread.php?t=205625 . What are other ways to estimate speed at the hydrophone?

Credit:
TDW - This mod uses the timer and hotkey infrastructure introduced by his NewUIs as well as some of his utility functions. Also NewUIs code served as a great "learn by example" source regarding how to mod sh5.

Happy hunting
tscharlii

Last edited by tscharlii; 11-03-13 at 11:25 PM. Reason: Release of version 1.1
tscharlii is offline   Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 12:46 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.