• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Ship Encounters and other stuff on world map

Bathtub-pirate

Sailor
Storm Modder
Is there a way to make ship encounters on the world map mandatory again (like they were in the stock game)? It's kinda lame if you run into something, that you can simply tip-toe out of it by choosing not to encounter it. Also - does it even matter what kind of ship you have on the world map and how fully loaded it is with cargo - as far as speed is concerned? Because the way it feels to me the speed on the world map is always the same, which kind of completely defeats the purpose of choosing a ship for something other than it's capacity (when playing as a merchant).

Also I am still under the impression that one is far faster (in-game time) when sailing in iron man mode. A trip from Tortuga to Martinique in like 4 days in-game time? Perfectly possible in iron man mode. And it is not even the fastest imaginable (just give me a Gaff schooner and above 20 wind on average). Try that on the world map. There you need a day to sail out of a freaking bay.^^
 
Have you tried the Open Sea mod? That Tortuga to Martinique run could take 2 weeks. Maybe more or maybe less depending on the ship and the winds. The Havana to Sao Jorge run could take more than a month in a merchant ship easily.
 
As for the world map encounters, there is a speed check in place.
It wasn't working before but I fixed it over a year ago now.

Can't remember what speed it uses now; it might have been somewhat simplified.
 
You cannot always skip encounters and if you think its lame that you can pass the engagement then don't click "no".
 
@ Red Back Dude


So under which conditions does one get caught on the world map? Because the last time I did some play on the world map, I did it as a Barque Longe with no upgrades and was heavily loaded on every trip. And I did a lot of trips in a row (all cargo jobs). So I was far from being agile and fast. Even without any meaningful amount of cargo a Barque Longe is one of the more sluggish low tier ships in the game. And NEVER was I caught. Though, I had a “personal” nationality, which only left pirates as enemies. So maybe I was just incredibly lucky.


Of course you are technically right, about me being able to press “no”, when the option to avoid an encounter is presented. However, this just does not evoke any feeling of threat, because you end up being chased just if that is okay with you. It presents the player with a choice, where there never would be one. And that pretty much turns everything into a very dull affair. It's kind of like playing hide and seek with yourself if you understand, where I am coming from.^^


Be that as it may – I've played iron man mode for so long now, that I find going back to world map play a pretty short lived attempt whenever I try it anyway. The gameplay just has much more of an organic feel to it, when in iron man mode. So I will probably stick to that.


What still baffles me is the vast disparity in in-game time passing, when playing either of the two modes. It is a quite hefty and bloody obvious disparity. In iron man mode trips tend to be too short. Even with the enlarged world map. Or maybe especially with the enlarged world map, since it alters how the game handles time passing in actual sailing mode. Also with the wind changing once per hour, the wind will never put a dent into anyone's approach for any meaningful stretch of in-game time, which might be a contributing factor, too.

I just did the trip from Cayman to Aruba in four days of in-game time. Try that on the world map. It will never happen. Though while that would be perfectly possible in reality for a sailing vessel, it would require an average travel speed of roundabout eight knots, which would be much for any 18th century sailing ship. Especially being as fully loaded as I was. It would pretty much require stellar sailing conditions. In stark contrast to that I wasn't exactly sailing coordinated to Aruba, since I have no sextant and no chronometer. My goal is Sao Jorge and I just sailed in a general south east direction. Picking up some stuff on the sea, bypassing unpleasant winds here and there and having no real in-game indicator where I was (other than waiting for landmarks to appear). So it is safe to say that I made anything but a controlled attempt down to Aruba. And yet I made it in four days (to the port; not just into the waters of Aruba, mind you). And that while my average speed was much closer to something like three knots rather than eight. I think I don't even touched the speed of eight knots at any point of the trip.^^ And - again - that would have been the required average speed.


In contrast to that, I think the trips on the world map take much too long, as far as in-game time is concerned. Try to make it from Grand Cayman to Oranjestad in six to eight days on the world map. No chance in hell!^^ Even though it would be perfectly possible for any vessel in reality. And not even all that remarkably fast.


It is this massive disparity in travel time between the two modes, that I find awkward. And what would be accurate in terms of realism methinks, lies in between the two.
 
PROGRAM\MAXIMUS_functions.c defines whether you can escape from a worldmap encounter or not:
Code:
void CalculateEncInfoData()
{
   ref mainCh = GetMainCharacter();
   mainCh.ShipEnc = "none";
   mainCh.CanEscape = 1;
   EncRecalcReloadToSea();

   float modifier = 1.0;
   if (checkAttribute(mainCh, "Perks.List.ShipSpeedUp")) {
     if (sti(mainCh.Perks.List.ShipSpeedUp) != 0) modifier += 0.2;
   }
   if (checkAttribute(mainCh, "Perks.List.ShipTurnRateUp")) {
     if (sti(mainCh.Perks.List.ShipTurnRateUp) != 0) modifier += 0.15;
   }
   if (checkAttribute(mainCh, "Perks.List.SailingProfessional")) {
     if (sti(mainCh.Perks.List.SailingProfessional) != 0) modifier += 0.65;
   }
   ref MyShipType = GetShipByType(GetCharacterShipType(mainCh));
   aref arship; makearef(arship, mainCh.ship);
   float SpeedMod = stf(GetLocalShipAttrib(arship, MyShipType, "SpeedRate")) / 12 / stf(mainCh.EncSpeed);
   float sailmod = sqrt(GetSummonSkillFromName(mainCh, SKILL_SAILING)) * 16 * modifier * SpeedMod;
   if (sti(sqrt(GetSummonSkillFromName(mainCh, SKILL_SNEAK))) != 0) {
     if (rand(100) / (sqrt(GetSummonSkillFromName(mainCh, SKILL_SNEAK)) * 3.2) > sailmod) mainCh.CanEscape = false;
   }
}
mainCh.EncSpeed depends on the type of fleet you have encountered.
But NOT on the ships IN that enemy fleet for the simple reason that those ships aren't chosen until after you reload to sea.

As you can see, it also depends on several of your abilities, your own ship's speed and sailing skill and is modified by your luck skill.

Pirate fleets are smaller than some navy fleets, so perhaps those correspond with slow fleets too.
That might explain why you can always escape, especially if you have good skills of your own.

It is this massive disparity in travel time between the two modes, that I find awkward. And what would be accurate in terms of realism methinks, lies in between the two.
Probably. Unfortunately 3D sailing mode and the worldmap aren't even remotely close in scale, which is obviously messing us up here.
Actually, if I recall the Open Sea Mod WAS set up to approximate a correct scale when using DirectSail mode.
But that was done on the previous worldmap. Since the current worldmap also has the Spanish Main on it,
perhaps that messed up the previously correct calculations for Open Sea Mod.

The relevant code is here in PROGRAM\NK.c:
Code:
void InitOpenSeaMod()
{
   ref PChar = GetMainCharacter();
   if(iRealismMode>1 || OPEN_SEA_MOD)
   {
     DIRECTENCOUNTERCHANCE =                 25;     // chance in percent that an encounter fleet appears every hour
     DIRECTENCOUNTERDISTANCE =               2250;   // distance from player at which random ships appear
     ISLANDSWITCHDISTANCE =                 30000.0;// for islandcell mode only: distance from island at which transfer to neighbour island starts
     ENCOUNTERBREAK =                   3.0;   // LDH - Changed to float, number is hours per encounter, directsail is called every 5 minutes occasionally
     // so you can let the clock run faster (by increasing TIMESCALAR_SEA below), meaning longer voyagetimes, without getting too many encounters.

     TIMESCALAR_SEA =                   15;     // INT - how many seconds of gametime one second of realtime is at sea
     MAX_WBALLAST =                     10;     // INT - how far the weighting will swing in favor of current trend.. use positive integer between 0 and 50 - 0 is no swing - 50 is major swing.. this is for Windspeed
     MAX_RBALLAST =                     10;     // ^^DITTO for rain
     MAX_FBALLAST =                     10;     // ^^DITTO for fog
     MAX_ABALLAST =                     10.0;   // FLOAT - ^^DITTO for wind angle

     MAX_WINDCHANGE =                    3;     // INT - How much the wind CAN change in one hour - use positive integer between 0 and 20
     MAX_FOGCHANGE =                      3;     // INT - ^^DITTO for fog
     MAX_RAINCHANGE =                    3;     // INT - ^^DITTO for rain

     COASTRAIDER_CHANCE =                  0.01;   // FLOAT - Generates local ships in ports and around the islands. Some are local merchants, others pirates.
                                   // 0.0 : Stock PotC, no local ships at all
                                   // 0.1 - 0.9 : The higher that value the more pirates instead of merchants appear
     NAVYRAIDER_CHANCE =                  2.0;    // FLOAT - Ditto, but chance that raider is a foreign warship. Chance for that is coastraider_chance * navyraider_chance
     MIN_ENEMY_DISTANCE_TO_DISABLE_MAP_ENTER =       100.0;   // FLOAT - original value is 500 - Petros: reset to 500.0 to prevent trouble
     MIN_ENEMY_DISTANCE_TO_DISABLE_ENTER_2_LOCATION =   100.0;   // FLOAT - original value is 500
     RANGE_TO_ENEMY =                   3500;   // INT - in feet/yards/whatever unit the game uses.

     WDM_MAP_TO_SEA_SCALE =                 60;     // orig 19.607843 for this and next line
     WDM_MAP_TO_SEA_ENCOUNTERS_SCALE =           60;     // was 60 in build, 10.0 in stock. NK 05-04-30
   }
   else
   {
[...]
   }
}
You would be quite welcome to tweak those numbers and see if you can get it closer again.
The main thing you probably want to tweak is the TIMESCALAR_SEA value.
 
Pirate fleets are smaller than some navy fleets, so perhaps those correspond with slow fleets too.
That might explain why you can always escape, especially if you have good skills of your own.

This could very well be the case. Especially considering that as a merchant one gets a bonus on sailing experience. So on the world map it really can sky-rocket in comparably little time.


Unfortunately 3D sailing mode and the worldmap aren't even remotely close in scale, which is obviously messing us up here.
Actually, if I recall the Open Sea Mod WAS set up to approximate a correct scale when using DirectSail mode.
But that was done on the previous worldmap. Since the current worldmap also has the Spanish Main on it,
perhaps that messed up the previously correct calculations for Open Sea Mod.

One thing that comes to my mind: How well is localization working when going from one screen to an other (aka. from the waters of one island to an other)? Because at one point I left the waters of Grenada and entered the ones of Petit Tabac. And the island was in plain sight right away. I was really close to it, which was weird because normally when I enter any waters I rarely see the island right away. And whatever I see is really vague and often requires some tweaking around with the camera.

If the localization would produce jumps, where one essentially covers ground by means of being positioned inaccurately, tweaking travel time alone just might not cut it.


I certainly can try to tweak the value in order to get to a more accurate travel time. Even though the dimensions of the Caribbean in the game are a bit off, of course. But with some simple math I could get there.


Can I play around with this TIMESCALAR_SEA value while maintaining an ongoing game or do any changes to this value mean that I need to start a new game? And should I only change it while I happen to be/load a game on shore?
 
I tried to tweak the scalars a bit a time ago.. Ended with a completely messed up Worldmap -> 3DSailing and the other way round.. but you don't have to start a new game, f11 will do ;)
 
Can I play around with this TIMESCALAR_SEA value while maintaining an ongoing game or do any changes to this value mean that I need to start a new game? And should I only change it while I happen to be/load a game on shore?
Actually, you just need to close and re-open the game. That function in NK.c is executed newly every time you load a savegame.

F 11? What does it do? Restore default settings?
Reinitializes various code arrays, such updating all ships from ships_init.c for example.
 
I have no ideer what Bathtub-pirate is talking about. :facepalm

It took me 4 days to sail from Martinique to Barbados and another 2 days to sail to Grenada last night. I doubt if I averaged 2 knots due to bad winds in a ship rated for 11 knots that did hit 8 knots at one point. It sounds like he is sailing in arcade mode.
 
Alright folks,



time for some testing. For this purpose I bought myself a brand new Bermuda Sloop. A superb ship for my undertaking, since it can sail very high against the wind, which pretty much eliminates any necessity to stray away in any meaningful way from my ideal course, when doing my test runs. This way I just need to concern myself with with the matters of speed and time. The only imaginable hassle could be enemy ships, but most the time I should be able to out-sail them comfortably. Especially since I do these runs with just the necessary cargo and nothing else.



My methodical approach will be the following: The time from me standing at the port of my starting destination, right before embarking my ship and the time arriving and standing at the port of my arrival destination will be the two points defined as start and finish. This is where the date and time are written down. On sea I will always sail the course that I deem ideal to reach my goal asap. I will not concern myself with leaving my course for any other reason than avoiding harm to my vessel and avoiding counter-wind. Even though the latter will rarely apply (if at all) in a Bermuda Sloop, since angling the wind is very easy and efficiently possible in this type of ship.



Also, on sea I will write down the current speed whenever the bell rings for xx:30. This seems to be the best point in time to do so, because the bell will make it easier for me not to miss the reading. Also by xx.30 I will have made whatever adjustments to my course I desire and will have most likely gained the new top speed on this course.



And already I can present the first test run. A humble trip from Phillippsburg, St. Martin to Charlestown, Nevis.



I embarked on the 14th of May, 1750, at 15:32. The wind was 12 knots from WNW.


I arrived and disembarked at Charlestown, Nevis on the 15th of May, 1750, 07:57. The wind at this time was 13 knots from NNW.


So it just took me slightly more than two thirds of a day to make this trip. At no point was the wind really strong. I had 16 readings of my current speed at the time. The highest being 5,5 knots and the average traveling speed being 3,94375 knots (total knots measured/number of readings).


The distance from Phillipburg to Charlestown in reality is 108 kilometers (straight line), with the adjustments necessary due to landmass in between we would probably end up with a travel distance between 115 and 120 kilometers for a ship. Note however, that both islands (Nevis and St. Martin) look vastly different in reality, in shape and dimension, than their counterparts in the game. This can play a role if there is a considerable stretch of landmass getting in the way of you and your goal, that either wouldn't be or would have to be there in reality. However, this is not really the case here to any meaningful degree.



1 knot is 1,85 kilometers per hour. My average speed of 3,94375 knots x 1,85 (to get the km/h) x 16 for number of readings and therefore more or less the travel time in hours (slightly less in this case).



So 3,94375 x 1,85 x 16 = 116,735 km distance covered in 16 hours. Which is remarkably consistent with the travel distance I assumed for this trip (roundabout 115 to 120 kilometers) based upon the realistic data.



So quite the opposite from my Cayman → Aruba run, which was definitely way off. And I find that already to be an interesting piece of comparison. How can the in-game time be so accurate and consistent with my in-game speed and the real life data in this case, while it is definitely so horribly off in my other trip (and it wasn't the first one, where I clearly felt that was the case)?



And though I have to do definitely more testing to elaborate on this, I already have one suspicion of where the problem could lie. If I am not mistaken, the trips where the game blatantly is inconsistent with what would be realistic, are the longer ones. But sure enough: If the game can handle speed and time so closely to real life, as it did in my first (although short-distance) test run, why would it do it so much worse on a longer trip? After all it does the same thing in both cases. It just has to do it a bit more on a longer trip. However, there is one more difference. Longer trips are typically the ones were one would have to cross open sea. But technically the game doesn't know no such thing as “open sea”. Regardless of where you are, the game treats every on sea location as “waters of” the island you either were last on or sailed close by the last. So technically you can have covered two thirds of the distance between Cayman and Aruba, meaning that you are effectively amidst the Caribbean sea …. and the game would still locate you in the waters of the Cayman Isles.



I just have to wonder if this circumstance and lack of actual open sea doesn't do weird things to localization.



Anyway – more testing will be done (also some longer trips over “open sea”), as I go on with my game.
 
Last edited:
When we were testing the Open Sea mod I was using a European Barque with the usual perks and full holds, and the test run was Havana - Sao Jorge. Both ways. The goal was to be able to do it in one month and that was accomplished, but barely. A slow pinnace might not make it.

After the major map change I tried that run again and it worked out ok, so I figured it was still good. But it really depends on luck more than anything else as when sailing in the open sea I can make good time but when sailing close to an island I lose 1-3 days due to bad winds. It is frustrating to time out on a merchant run when in sight of the port but unable to get there due to the evil winds. :rumgone
 
When we were testing the Open Sea mod I was using a European Barque with the usual perks and full holds, and the test run was Havana - Sao Jorge. Both ways. The goal was to be able to do it in one month and that was accomplished, but barely. A slow pinnace might not make it.

You mean one month for both ways combined or each?


It is frustrating to time out on a merchant run when in sight of the port but unable to get there due to the evil winds. :rumgone

You gotta hate some of the ports. Like Grand Cayman or Turks Island. Or - worst of all - Antigua, with a port access as narrow as a pirate's Wiener. :woot


You needed four days for Martinique -> Barbados? Wow, that had to be an incredibly annoying run. http://www.distancefromto.net/distance-from/Barbados/to/Martinique. A vessel running 4 knots on average can cover roundabout 177 km a day. So four days is really at a snail's pace. What vessel where you using? Some exlusively square-rigged monstrosity?
 
One month one way. That is the time limit given for a merchant run and we want to be able to do the longest run in a typical ship in that amount of time. It is barely doable.

This is my current ship. That European barque does not count. It is faster than almost all merchant ships and still only averages 2 knots or less. B 3 2015-02-16 12-27-35-00.jpg
 
You gotta hate some of the ports. Like Grand Cayman or Turks Island. Or - worst of all - Antigua, with a port access as narrow as a pirate's Wiener. :woot
You mean due to the narrow gaps on the island? Indeed I can imagine that being quite tough when the wind doesn't cooperate in Realistic Game Mode.
 
Ok, I just had a VERY good run. :sail

I went to Turks for a treasure hunt. When I left I caught a very strong wind and was running at 8-9 knots for most of the way to Tortuga. It took right at 2 days to sight Tortuga and still the winds were pretty good. Total time was 3 days 3 hours anchor to anchor.:beer:
 
Ok, I just had a VERY good run. :sail

I went to Turks for a treasure hunt. When I left I caught a very strong wind and was running at 8-9 knots for most of the way to Tortuga. It took right at 2 days to sight Tortuga and still the winds were pretty good. Total time was 3 days 3 hours anchor to anchor.:beer:


Woah, over three days with that kind of speed? That's WAY too long to be accurate. The effective sailing distance between the two would be something in the ball park of 250-260 km. To make that in one day (given ideal course) six knots would be sufficient. So with your speed it shouldn't even take a day.

Edit: Just to give you an idea: Traveling three days and three hours (75 hours) with an average speed of 8.5 knots covers a distance of 1179,375 km. That is comparable to making a trip from Santiago de Cuba to Willemstad, Curacao in that time frame. So yeah, you should've beeen much faster at your destination if we assume roughly accurate dimensions of the Carribean in the game.

BTW - I think I never took that long for that specific trip. And as a pirate I did it quite often, since both, Turks and Tortuga, are safe harbors for pirates.
 
Last edited:
Back
Top