UBOAT
311 ratings
[2025.1]Real Navigation
13
15
6
7
4
4
4
3
3
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
623.027 KB
Oct 3, 2021 @ 9:02am
Mar 1 @ 5:41am
18 Change Notes ( view )

Subscribe to download
[2025.1]Real Navigation

Description
In this MOD the navigational feeling should be brought closer to reality.
There is no symbol of your own submarine, other ships or field of view on the map.
The navigation is designed solely for the coordinate system.
The officers can use a sextant to determine the exact location (only in good weather).

Play with contact visualizations disabled.
If using the 'No Spoilers' mod (which I suggest), you should remove its General.xlsx file in 'steamapps/workshop/content/49840/3274920623/Data Sheets'/

Features:
1. No symbols on the map:
No ship symbols are displayed on the map.
Your own submarine can no longer be seen as a symbol either.
The viewing and listening circles have been removed.

2. World MAP:
Normal map and tactical map are removed.
It can only be played with the world map.
Here, however, the standard zoom has been increased.

3. Positioning via sextant:
A sextant can be selected via the wheel menu on the flag mast.
An officer (Leader only) then independently carries out a sextant measurement.
As soon as this is completed, the current position with the date and time is displayed with a message.
The navigator automatically enters the measured position on the map.
If the navigator at the chart table loses its orientation (0%), a possible sextant measurement becomes very imprecise.
The sextant measurement does not work in bad weather such as fog, rain or storm.

4. Positioning Estimated:
In some situations the sextant cannot be used.
E.g. bad weather, underwater travel etc.
Here you can display the estimated position using a button in the map view (right) "Estimated position".
This is automatically drawn in gray on the map.
Please note that the longer it has been an accurate sextant measurement or the navigation accuracy on the navigation table drops, the more inaccurate the estimated position becomes.
With 1 or 2 days, this can be a considerable distance.

5. Position overview:
As soon as the first sextant or estimated position has been carried out,
the last measured data is displayed in a symbol (green world) on the right via ToolTip.
In the map view, the data is also shown again in abbreviated form at the top right.
It helps al lot to find the position on the map with the mouse.
"*" = Sextant coordinates
"~" = Estimated position coordinates

6. Direction indicator for contacts:
Direct detection of ships now also gives a rough range estimate.
The estimate is displayed in 4 levels: Far(more than 5000m), medium(more than 2500), close(more than 1000), very close!(under 1000m)

7. Odometer:
The "odometer" shows the distance traveled in meters.
It can be found in the ToolTip "Green World" on the right edge of the screen as soon as at least one position measurement has been carried out.
The odometer can be reset to "0" when you click on the "Green World" symbol with the left mouse button. A confirmation message will appear.
The units on odometer is same as you set on the game option.
The odometer gives the distance to the last position you were in when you clicked the button!

8. Hard Mode:
First version for a "hard mode" navigation. Hard mode is deactivated by default.
- "Estimated position" is no longer possible
When navigating, the "odometer" becomes even more important here.
- The map can only be opened at the card table. The UI MAP-symbol has been removed.
If you play in "EGO only" then this is a bigger challenge.
- If you are funny you can also delete the function for "Free camera" in the options for the "Keyboard" with the "n" key.
This means that you no longer have an external camera available.

The "Hard Mode" function can be activated in MODConfig.xlsx.
It can be found in the local workshop folder (C: \ Program Files (x86) \ Steam \ steamapps \ workshop \ content \ ...).
Here are the folder names of all subscribed MOD's in numbers.
Simply search for the correct MOD folder and then switch to the "Data Sheets" folder.

Planned updates:
- Make the odometer actually track the distance traveled, instead of the distance to the last position where the button was clicked.
- See if colors can be added back to the map points (seems to not work in the current version of the game)
- Add ship names back to the direct contact notifications.
- Add rough distance estimates to propellor notifications.
- Improve some of the translations.
- Expand the "hard mode".

Navigation tips:
Explanatory video by @Dufti on "Duftis Kanal":
https://steamcommunity.com/sharedfiles/filedetails/?id=2636077848

- At least once a day a sextant measurement if possible
- Use the map tool to determine the course
- Careful handling of the "Estimated position" position determination. This can differ considerably from the actual position
- Navigate carefully into the harbor and, if necessary, orientate yourself towards the lighthouse
- Work with the MapPoints (map tool) for overview of ship contacts.
- Use the "Odometer" for underwater travel

Compatibility:
1. Uboat version 2024.1
2. Save game compatible (there is no need to start a new career)
3. Not compatible with vanilla tutorial missions
4. Translations in english and german

A big thank you to:
@Dufti for his inspiration and MOD tests
@Salamander for help with the code
- Everyone who tested the MOD

You are also welcome to check out Alligator's other mods:
https://steamcommunity.com/profiles/76561198162057948/myworkshopfiles/?appid=494840


If you like Alligator's mods and want to support him, feel free to send him a voluntary donation at:
paypal.me/AlligatorUBoat

Good hunting!
Popular Discussions View All (10)
103
Feb 25 @ 4:50am
Bugs and suggestions
Alligator
3
Dec 4, 2021 @ 5:12am
Geschätze Position?
StG2_Marder
2
May 16, 2024 @ 8:08pm
Option to disable "popups"
T-Pickle
449 Comments
kjones12 Jun 24 @ 4:06pm 
Wish-List Add a way to set bearing tool to uboats current heading since the sub is missing the bearing tool points the 0 bearing up or North but then you have to the relative course calculations again :/
BattlePants#2233 Apr 6 @ 2:25am 
this mod doesn't seem to work for 2022.1 for me at least ;((
KaKuchKe_SpaiN Mar 28 @ 7:31am 
It's working properly again. Thank you very much! :steamthumbsup:
Don D Dwain Mar 13 @ 7:54am 
P.S. Radio signals are more realistic due to vast distances, where a lighthouse has a limited visual range due to weather conditions, and distance. There are no actual radio signals in the game for navigation that I know of, so it has to be imaginary.
Don D Dwain Mar 13 @ 7:54am 
Sorry I will update my last confusing comment, lol. I saw a comment somewhere in here about being able to center the map on the last position known. An easy fix without changing any files, and is more consistent with history, is to place at least 2 points on the map (name them whatever you like, (exp: lighthouse, radio station, etc.) as long as it is on land or a fixed position and at least 2 points. On your last updated position, draw a line from 2 of however many positions you created, and intersect them to your position, extend the line a little further than your actual position so then it appears as an "X" on the map. Simply move those lines from that point, when you update your position again. After you save the game, then on Reload, it should be very easy to find your last updated coordinates.
cr8z_cuban Mar 6 @ 12:28am 
So I tested it quite a bit, and on my end everything seems on point. Also an easier explination to your question would have been: In your mod you have the line "odoContactDistanceInt += Mathf.RoundToInt(odoIncrementalDistance);". Mathf.RoundToInt() rounds the distance to the nearest whole number before adding it to the odometer. If the result is below 0.5 meters, it rounds down to 0, meaning no distance is added to the odometer. If the movement is above 0.5 meters, it rounds to 1 meter. So unless the movement is large enough to round up, it won’t register at all. I didnt change this, so by the logic it should still be accurate. I did a couple more tweaks for ease of use for myself. distance under 25km in meters, and over 25km in xx.xx format. Love the mod, just was pulled into the black hole of trying to improve it a little for myself and since it worked, figured id share!
cr8z_cuban Mar 5 @ 1:24pm 
-"position2" stores the submarine's current position for this frame.
-The line "float odoIncrementalDistance = Vector2.Distance(odoLastPosition, position2) * 1000" calculates the distance moved since the last frame.
-Change: "odoLastPosition = position2" - This updates the reference point to the current position, ensuring that the next frame's distance is always measured from the most recent position instead of an old, outdated reference.
-"odoContactDistanceInt += Mathf.RoundToInt(odoIncrementalDistance)" - This adds the calculated distance to the total odometer reading.

Sorry, didnt fit all in one comment.

Everything seemed extremely accurate during an attack last night. also might I add this doesnt mess at all with the estimated location/actual location. Its up to you where you choose your reference point for calculations!
cr8z_cuban Mar 5 @ 1:20pm 
Vector2 position2 = new Vector2(__instance.SandboxEntity.Position.x, __instance.SandboxEntity.Position.y);
float odoIncrementalDistance = Vector2.Distance(odoLastPosition, position2) * 1000;
odoLastPosition = position2;
odoContactDistanceInt += Mathf.RoundToInt(odoIncrementalDistance);

The distance calculation remains identical—it still measures only the distance between the last recorded position "odoLastPosition" and the current position "position2".
cr8z_cuban Mar 5 @ 1:20pm 
Should be no accumulation of errors.
Original method of calculating distance:
odoIncrementalDistance = Vector2.Distance(odoLastPosition, position2) * 1000;

-"odoLastPosition" last recorded position of the submarine.
-"position2" is the current position.
-"Vector2.Distance(odoLastPosition, position2)" measures distance traveled since the last position update.
-This was then added to "odoContactDistanceInt", which keeps track of total traveled distance.
The mod measures distance between these two points and added it to the odometer total.
The problem is it only tracks distance between those 2 points, hence counting down when going back.

What I did keeps the same logic, but ensures "odoLastPosition" is properly updated before the next calculation:
Matta  [author] Mar 5 @ 2:48am 
@cr8z_cuban
Getting this to work was one of the planned updates-- have you tested whether its accurate?
I'm worried there could be an accumulation of small errors.