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

Reply
 
Thread Tools Display Modes
Old 12-24-10, 03:28 PM   #5596
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by sober View Post
None of the real navigation message box messages drop to 1 X TC when i have TC1OnAnyMessageBoxText = True enabled .
Good bug report Actually that's not the only thing not dropping TC to 1. Anytime I'm adding any messages to the messagebox it's not dropping to TC1. If the game adds them it does. Problem fixed now

Quote:
Originally Posted by Sammi79 View Post
I think a trained navigator of the time would be able to comfortably fix his position to within 4-5km provided a clear night sky or noon sun shot.

The dead reckoning error needs to be small especially if the travelling time since last fix is short. As with brandtryans image shows after travelling 5.5km the dead reckoning fix should be nearly exact, (5.5km @ 10kts = approx 20 minutes) but the error needs to scale severely when the distance travelled between fixes is much greater, so the error could be bigger than the celestial error default given a long enough distance from the last fix (aswell as carrying the error from the previous fix)

Maybe use the distance between the fixes as the modifier instead of the time between each one?

In regard to the celestial fix default error, unless we have a reliable means of performing our own celestial measurements that can give better accuracy than the navigator, should be kept close to what his real-live counterpart could achieve. >> if wikipedia is to be believed >>
Revamped the user options regarding real navigation:

######################################### Real Navigation ############################################
# the error (expressed as decimal) for the Navigator's calculation of current position (fix) using celestial navigation (used in real navigation only). This is the max error in meters. It will be used as the -min value and max value of a random function
# below is an float value only! (in meters)
NavCelestialMaxCalcFixError = 5000.0

# the minimum time it takes the Navigator to calculate the current position (fix)
# below is in seconds
NavCelestialCalcFixMinTime = 900.0

# the maximum time it takes the Navigator to calculate the current position (fix)
# below is in seconds
NavCelestialCalcFixMaxTime = 2700.0

# does navigator show position on the maps after he calculates current position (plots a new navigation fix)?
# change below to either True or False
NavShowPositionOnMapsAfterCalc = True

# if NavShowPositionOnMapsAfterCalc enabled, how long does the navigator show the calculated position on the map?
# below in seconds
NavShowPositionOnMapsAfterCalcTime = 20.0

# the error (expressed as decimal) for the Navigator's calculation of current position (fix) using dead-reckoning (used in real navigation only). This is the max error in meters. It will be used as the -min value and max value of a random function
# below is an float value only! (in meters)
NavDeadReckoningMaxCalcFixError = 1000.0

# minimum time it takes Navigator to plot position based on dead-reckoning
# below is a float value only! (in seconds)
NavDeadReckoningMinCalcTime = 15.0

# maximum time it takes Navigator to plot position based on dead-reckoning
# below is a float value only! (in seconds)
NavDeadReckoningMaxCalcTime = 60.0

How do those look
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 03:47 PM   #5597
Sammi79
XO
 
Join Date: Jan 2010
Location: Penzance
Posts: 428
Downloads: 272
Uploads: 0
Default

Quote:
Originally Posted by TheDarkWraith View Post
Revamped the user options regarding real navigation:

######################################### Real Navigation ############################################
# the error (expressed as decimal) for the Navigator's calculation of current position (fix) using celestial navigation (used in real navigation only). This is the max error in meters. It will be used as the -min value and max value of a random function
# below is an float value only! (in meters)
NavCelestialMaxCalcFixError = 5000.0

# the minimum time it takes the Navigator to calculate the current position (fix)
# below is in seconds
NavCelestialCalcFixMinTime = 900.0

# the maximum time it takes the Navigator to calculate the current position (fix)
# below is in seconds
NavCelestialCalcFixMaxTime = 2700.0

# does navigator show position on the maps after he calculates current position (plots a new navigation fix)?
# change below to either True or False
NavShowPositionOnMapsAfterCalc = True

# if NavShowPositionOnMapsAfterCalc enabled, how long does the navigator show the calculated position on the map?
# below in seconds
NavShowPositionOnMapsAfterCalcTime = 20.0

# the error (expressed as decimal) for the Navigator's calculation of current position (fix) using dead-reckoning (used in real navigation only). This is the max error in meters. It will be used as the -min value and max value of a random function
# below is an float value only! (in meters)
NavDeadReckoningMaxCalcFixError = 1000.0

# minimum time it takes Navigator to plot position based on dead-reckoning
# below is a float value only! (in seconds)
NavDeadReckoningMinCalcTime = 15.0

# maximum time it takes Navigator to plot position based on dead-reckoning
# below is a float value only! (in seconds)
NavDeadReckoningMaxCalcTime = 60.0

How do those look
Lookin' good mate one thing though, re yellow highlight above, how is the max error scaled, 0% at 0hr(since last fix), 50% at 12hrs etc? If it was scaled with distance travelled instead I.e. 0% @ 0km, 50% @ 50km etc it would make more sense. If you don't move then your next dead reckoning error should be 0. Of course I realise this involves more math to find the distance between fixes (or more correctly between real locations at time of fixes) and may be more trouble than it is worth. Also, can the scale exend the maximum error? - 500% @ 500km
Sammi79 is offline   Reply With Quote
Old 12-24-10, 04:19 PM   #5598
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Sammi79 View Post
Lookin' good mate one thing though, re yellow highlight above, how is the max error scaled, 0% at 0hr(since last fix), 50% at 12hrs etc? If it was scaled with distance travelled instead I.e. 0% @ 0km, 50% @ 50km etc it would make more sense. If you don't move then your next dead reckoning error should be 0. Of course I realise this involves more math to find the distance between fixes (or more correctly between real locations at time of fixes) and may be more trouble than it is worth. Also, can the scale exend the maximum error? - 500% @ 500km
I have no problem making it based on distance travelled vice time. In order to do so we must define all the variables. The variables that come to mind to me are:

- max error %
- max error % based on distance travelled or fixed value?

Let's say we do it by distance travelled. We define the max error % to be 0.15 (15%). We feed this max error % into a random function with the minimum value of -max error % and max value of max error % (so we can get a + or - error %) to get a random error % to simulate real life conditions (sometimes navigator is extremely accurate sometimes he's not - human nature of error). We then take that random error % and apply it to the total distance travelled between fixes. Take the result of that and add it to total distance travelled to get new fix position. How does that sound?
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 04:31 PM   #5599
col_Kurtz
XO
 
Join Date: Mar 2008
Posts: 424
Downloads: 341
Uploads: 0
Default Enable...

Dear TDW...

I can`t figure out how to enable this hotkey... Could you retype? This is for me a bit complicated

# what is the most fuel efficient speed?
MostFuelEfficientSpeed = 7.5

# the hotkey used to order most fuel efficient speed
# Format:
#
# MostFuelEfficientSpeedHotKey = [ False, None, False ] should be None?
# False = disabled
# None = key used
# False = shift required
#
# if you wanted to enable this without shift required:
# MostFuelEfficientSpeedHotKey = [ True, MenuKeyManagerWrapper.Keys.M, False ] True... and MenuKeyManagerWrapper.Keys.G?
#
# if you wanted to disable this:
# MostFuelEfficientSpeedHotKey = [ False, MenuKeyManagerWrapper.Keys.M, False ]True... and MenuKeyManagerWrapper.Keys.G? again?

I`d like without Shift.
__________________


DRM it`s a horror, horror... col. Kurtz Apocalypse Now
WinXP Pro SP3 2x1GB Geil 800Mhz DDR2, ATI 4850 Asus Top, E2160 1.80 Ghz overlocked to 2.79Ghz MoBo Asus P5b
col_Kurtz is offline   Reply With Quote
Old 12-24-10, 04:43 PM   #5600
Sammi79
XO
 
Join Date: Jan 2010
Location: Penzance
Posts: 428
Downloads: 272
Uploads: 0
Default

@ TDW

Right, bear with me I'm wishing I was more articulate...

Say the default max dead reckoning error (set in useroptions.py) = 1000.0 (meters float) as it is currently.

Scaling the error depends on distance travelled since last fix. So say 1km travelled = 0.01 (1%) of default error = 10 meters. 10km travelled = 0.10 (10%) of default error = 100 meters. Using this scale, at 100km travelled, error = 1000 meters (1.0 or 100% of default error)

can it then extend the error? I.e. 500km travelled = 1000.0 x 5.00 (500%) = 5000.0 meter.

This is how I think it should work, the default error does not need to change as the scale does the work. maybe instead of setting the default error in useroptions.py the scale (per km) would be a more usefull value - 0.01 per km to start with then maybe increased a little if after 100km, 1km error seems too small.

[Edit : Having reread your previous post regarding the variables :

(default max error float) = 1000.0 - unchangeable only used by game.
(scale per km %) = 0.01 - configurable in options.

As I look at it now there would be no true maximum error for dead reckoning, the further you travel, the bigger the possible error will be. Until that is you get a new celestial fix to start from.]

Is this making sense or am I just confusing the issue?

Regards,
Sam.

Last edited by Sammi79; 12-24-10 at 05:03 PM.
Sammi79 is offline   Reply With Quote
Old 12-24-10, 04:54 PM   #5601
Illyustrator
中国水兵
 
Join Date: May 2010
Location: BY
Posts: 271
Downloads: 80
Uploads: 1
Default

Hi TheDarkWraith. At me such question. What for to use such big Card (WorldMap)? Probably, to Australia, India or Japan nobody will float. There "is empty"... Can use only region "Atlantic"? (It is difficult for making?)

Illyustrator is offline   Reply With Quote
Old 12-24-10, 05:00 PM   #5602
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Sammi79 View Post
@ TDW

Right, bear with me I'm wishing I was more articulate...

Say the default max dead reckoning error (set in useroptions.py) = 1000.0 (meters float) as it is currently.

Scaling the error depends on distance travelled since last fix. So say 1km travelled = 0.01 (1%) of default error = 10 meters. 10km travelled = 0.10 (10%) of default error = 100 meters. Using this scale, at 100km travelled, error = 1000 meters (1.0 or 100% of default error)

can it then extend the error? I.e. 500km travelled = 1000.0 x 5.00 (500%) = 5000.0 meter.

This is how I think it should work, the default error does not need to change as the scale does the work. maybe instead of setting the default error in useroptions.py the scale (per km) would be a more usefull value - 0.01 per km to start with then maybe increased a little if after 100km, 1km error seems too small.

Is this making sense or am I just confusing the issue?

Regards,
Sam.
The way you propose doesn't give any randomness to the error. It's always a fixed value based on distance. That doesn't simulate human error.

The way I'm calculating it doesn't need scaling. Scaling is taken care of via the distance travelled.

i.e.: the random error % is applied to distance travelled. If random error % is say 0.1 and:
- distance travelled is 100m then error is 10m
- distance travelled is 1000m then error is 100m
- distance travelled is 10000m then error is 1000m

As you can see the error automatically scales to the total distance between fixes. I like the random error % because sometimes navigator can be accurate, sometimes inaccurate (tired, stressed, etc.). This more simulates real life.

The only snag in this whole distance travelled is I don't record every movement of the sub. i.e. I don't record every turn, every speed up, slow down, etc. Thus the error distance calculated will be applied to a random function to determine the x component of the error distance and another random function to determine the y component of the error distance. i.e.: error distance comes out to be 1000m. 1000m will be passed into two random functions as -1000 and 1000 to detemine the final x and y components to add to the current fix to determine final fix position.
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 05:12 PM   #5603
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by col_Kurtz View Post
Dear TDW...

I can`t figure out how to enable this hotkey... Could you retype? This is for me a bit complicated

# what is the most fuel efficient speed?
MostFuelEfficientSpeed = 7.5

# the hotkey used to order most fuel efficient speed
# Format:
#
# MostFuelEfficientSpeedHotKey = [ False, None, False ] should be None?
# False = disabled
# None = key used
# False = shift required
#
# if you wanted to enable this without shift required:
# MostFuelEfficientSpeedHotKey = [ True, MenuKeyManagerWrapper.Keys.M, False ] True... and MenuKeyManagerWrapper.Keys.G?
#
# if you wanted to disable this:
# MostFuelEfficientSpeedHotKey = [ False, MenuKeyManagerWrapper.Keys.M, False ]True... and MenuKeyManagerWrapper.Keys.G? again?

I`d like without Shift.
find this line:

MostFuelEfficientSpeedHotKey = [ False, MenuKeyManagerWrapper.Keys.M, False ] # change the M to whatever you want. You can't use M!

and change it to:

MostFuelEfficientSpeedHotKey = [ True, MenuKeyManagerWrapper.Keys.G, False ] # change the M to whatever you want. You can't use M!
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 05:14 PM   #5604
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Illyustrator View Post
Hi TheDarkWraith. At me such question. What for to use such big Card (WorldMap)? Probably, to Australia, India or Japan nobody will float. There "is empty"... Can use only region "Atlantic"? (It is difficult for making?)

I had requests for the ability to start out anywhere in the world and to be able to choose that from the mission settings box. What I've done allows you to do so.
Is there a problem with this?
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 05:16 PM   #5605
Sammi79
XO
 
Join Date: Jan 2010
Location: Penzance
Posts: 428
Downloads: 272
Uploads: 0
Default

Quote:
Originally Posted by TheDarkWraith View Post
The way you propose doesn't give any randomness to the error. It's always a fixed value based on distance. That doesn't simulate human error.
Edit : Disregard I think you have it covered in your last post. the random error % thing sounds perfect.

Last edited by Sammi79; 12-24-10 at 05:37 PM.
Sammi79 is offline   Reply With Quote
Old 12-24-10, 05:58 PM   #5606
Illyustrator
中国水兵
 
Join Date: May 2010
Location: BY
Posts: 271
Downloads: 80
Uploads: 1
Default

Quote:
Originally Posted by TheDarkWraith View Post
I had requests for the ability to start out anywhere in the world and to be able to choose that from the mission settings box. What I've done allows you to do so.
Is there a problem with this?
No problem.
Make maps of convoys in the style "IO_StrategicMap". Intended to use it twice as "MapConvoy" and "WorldMap". (at the same time to verify the correctness of markings Convoys on the map)...

Illyustrator is offline   Reply With Quote
Old 12-24-10, 06:04 PM   #5607
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Sammi79 View Post
Edit : Disregard I think you have it covered in your last post. the random error % thing sounds perfect.
So far it appears to be working much better than error based on time between fixes I'll release patch 1 here soon with these changes and other bug fixes.
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 06:27 PM   #5608
SashaKA001
中国水兵
 
Join Date: Mar 2010
Location: 47°46′46″N, 37°14′51″E
Posts: 271
Downloads: 231
Uploads: 0
Default

Quote:
Originally Posted by Illyustrator View Post
No problem.
Make maps of convoys in the style "IO_StrategicMap". Intended to use it twice as "MapConvoy" and "WorldMap". (at the same time to verify the correctness of markings Convoys on the map)...

cool it would be
SashaKA001 is offline   Reply With Quote
Old 12-24-10, 06:33 PM   #5609
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

results of testing error based on distance (dead reckoning):

errorX and errorY are the distances to add (or subtract) from calculated position fix to account for error

test #1:
distance travelled = 68128m
error% = 0.1058
errorX = 5468m
errory = 4712m

test #2:
distance travelled = 48891m
error% = 0.025
errorX = 240m
errory = 1018m

test #3:
distance travelled = 54852m
error% = 0.158
errorX = 1276m
errory = 128m

test #4:
distance travelled = 24146m
error% = 0.025
errorX = -44m
errory = 518m

test #5:
distance travelled = 24420m
error% = 0.1365
errorX = -622m
errory = -863m

test #6:
distance travelled = 1830m
error% = 0.0334
errorX = -49m
errory = 30m

Results look very good Good randomness in the actual plotted position based on error. It makes it appear that Navigator is trying to account for waves, wind, and human error.

Last edited by TheDarkWraith; 12-24-10 at 06:52 PM.
TheDarkWraith is offline   Reply With Quote
Old 12-24-10, 06:49 PM   #5610
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

v5.9.0 patch 1 released. See post #1 for details
TheDarkWraith is offline   Reply With Quote
Reply

Tags
dbrn, favorite, new ui


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 06:10 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.