• 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!

Sailing speed is almost 0. Ironman mode

Panarock

Landlubber
Hello everyone,

I just installed POTC: A new horizon and started in Ironman mode.
Now whenever i want to sail between islands, my ship wont move forwards (or very slowly). So slow infact that it is not playable (even on 20x speed). I know i need to sail with the wind. but even when going full wind. My ship still hardly moves.

Does anyone know what i need to do or how to solve this?
 
What is the wind speed itself?
What ship do you have?
What are your skills?

Those things might have something to do with it.
 
I just started a new game, becouse i cant get off the island.
Havnt spend any abilitys yet either.
upload_2018-3-25_19-21-14.png

upload_2018-3-25_19-22-13.png

It says my crew is low, but i also tried with full crew.
 
Panarock's ship has 4 crew while a full crew is 41. That means the sails will go up and down VERY slowly and it will hardly turn at all. But it sounds like the biggest culprit is the wind speed which could easily be in the 5-8 knot range. That is just about dead calm and happens a lot. When that happens I go to the world map as I will not just sit there doing nothing for real world hours. He does not have that option in hardcore mode.

The standard game or the Open Sea mod are good alternatives.
 
But it sounds like the biggest culprit is the wind speed which could easily be in the 5-8 knot range. That is just about dead calm and happens a lot. When that happens I go to the world map as I will not just sit there doing nothing for real world hours. He does not
That's a fair point.
Best thing to do would be to go back to port until the wind picks up.
Technically very realistic: in real life, ships would also wait with departing until there was a favourable wind.
 
The problem is that there is no wind for months at a time. As in all winter. The only time there is consistent good winds is during hurricane season.
 
The problem is that there is no wind for months at a time. As in all winter. The only time there is consistent good winds is during hurricane season.
That bad? Doesn't sound very realistic.
What would be considered a solution?
 
Er. Wind?:nerbz
:rofl

I wonder how to do that.
We played with the seasonal rain chances before to reduce hurricanes, but I don't think that helps us here.
More investigation would be required, but I have zero time to spare to look into it.
 
Hull and sails are also at about 80% which will have an effect.

I had to make a change to the wind speed in Sea Dogs: To Each His Own to keep from getting a similar effect. Wind in the Caribbean averages 15 knots. It can get significantly lower in the wind shadow of islands and around Port au Prince the wind speed is very low indeed almost all the time. Occasionally you will get a wind tunnel effect, and near Cartagena I've seen winds of around 30 quite a lot. These extremes are local though.

Check here for current wind conditions: Windy as forecasted

Hook
 
I had to make a change to the wind speed in Sea Dogs: To Each His Own to keep from getting a similar effect.
Do you remember how you did that?
Maybe it is still similar in PotC.

Check here for current wind conditions: Windy as forecasted
I've been doing a fair bit of scientific research on weather conditions too, both global and local.
It's an interesting and fun subject for sure! :woot
 
I've been watching the wind speed there for at least a year. It's a good site.

All changes are in WhrWeather.c in TEHO.

Code:
Two places for the following changes:

//    fWeatherSpeed = stf(Weather.Wind.Speed);    // original code
    fWeatherSpeed = GetWeatherSpeed();      // LDH 05Feb17

------------

New Function:

//// LDH 05Feb17 calculate weatherspeed with wind speed increase
float GetWeatherSpeed()
{
    float fWindIncrease, fLoWind, fHiWind, fTemp;
    fWindIncrease = MakeInRange(-1.0, 10.0, WIND_INCREASE);
    if (fWindIncrease >= 0.0)
    {
        return stf(Weather.Wind.Speed) + fWindIncrease;
    }
    else
    {
        fLoWind = MakeInRange(2.0, 26.0, LOWEST_WIND);
        fHiWind = MakeInRange(4.0, 28.0, HIGHEST_WIND);
        if (fLoWind > fHiWind)
        {
            fTemp = fLoWind;
            fLoWind = fHiWind;
            fHiWind = fTemp;
        }
        if (fLoWind+2.0 > fHiWind) fHiWind = fLoWind + 2.0;
        return Bring2Range(fLoWind, fHiWind, 2.0, 18.0, stf(Weather.Wind.Speed));
    }
}

----------------------

The constants are set in the settings file used to change mod options.

#define WIND_INCREASE               -1.0    // FLOAT - -1.0 - increase wind speed by this amount, 0.0 is default game
                                            //    Valid values 0.0 to 10.0, and -1.0
                                            //    Recommended value = 10.0 or 5.0 if ships are too fast
                                            //    If this number is set to -1.0, the following values will be used instead
                                            //  NOTE: Settng more than 16 knots difference between low and high
                                            //   is allowed, but may produce undesired results at wind extremes
                                            //   unless CLASS_EFFECT_OF_WIND is set very low
#define LOWEST_WIND                 19.0    //  FLOAT - 12.0 - the lowest wind speed you will see (default game 2.0)
                                            //    Valid values 2.0 to 26.0
                                            //    Recommended value 12.0
#define HIGHEST_WIND                23.0    // FLOAT - 23.0 - the highest wind speed you will see (default game 18.0)
                                            //    Valid values 4.0 to 28.0
                                            //    Recommended value 23.0

----------

There is also a GetAverageWindSpeed() function which is used to determine speed difference between classes of ships.

Hook
 
Thanks, @LarryHookins!
Looks like PotC indeed has that original line of code as well:
Code:
fWeatherSpeed = stf(Weather.Wind.Speed);
Which means it might just be possible to add your changes into our game too.

@Grey Roger, @Hylie Pistof and/or @DeathDaisy, would any of you be willing to give this a shot?

@LarryHookins: Does this code look familiar to you?
Code:
void Whr_OnWindChange()
{
    float fDeltaTime = MakeFloat(GetDeltaTime()) * 0.001;
    fWeatherDelta = fWeatherDelta + fDeltaTime;
    float fSpd = fWeatherSpeed + (fWeatherSpeed / 6.0) * 0.1 * (sin(fWeatherDelta) + sin(0.2 * fWeatherDelta) + sin(PI + 0.8 * fWeatherDelta) + cos(1.5 * fWeatherDelta));
    float fAng = fWeatherAngle + 0.02 * (sin(fWeatherDelta) + sin(0.2 * fWeatherDelta) + sin(PI + 0.8 * fWeatherDelta) + cos(1.5 * fWeatherDelta));
    Weather.Wind.Angle = fAng;
    Weather.Wind.Speed = fSpd;
}
That is in PotC:NH as well and looks relevant.
 
The constants are set in the settings file used to change mod options.
Can you tell me which file that is?
There is also a GetAverageWindSpeed() function which is used to determine speed difference between classes of ships.
No such function appears in "WhrWeather.c" in PoTC. Where is it defined in SD:TEHO, and where is it used?
 
Can you tell me which file that is?
You can put it in any file.
Most logical would be the top of WhrWeather.c or InternalSettings.h .

No such function appears in "WhrWeather.c" in PoTC. Where is it defined in SD:TEHO, and where is it used?
@LarryHookins made that function himself.
You can add it anywhere. WhrWeather.c would probably be the most logical.
 
This is "WhrWeather.c" with function 'float GetWeatherSpeed()' added, plus "InternalSettings.h" with the constants added. I haven't been able to test it yet, so anyone else downloading this does so at their own risk. :p

I can't add 'GetAverageWindSpeed()' until I see a definition and a clue on what to do with the function...

Edit: "MakeInRange" replaced by "fclamp", "PROGRAM.zip" re-uploaded.
 

Attachments

  • PROGRAM.zip
    28.3 KB · Views: 243
Last edited:
havent tested it extensively, but I also added the GetWeatherSpeed() func and the other stuff. MakeInRange doesnt seem to exist in potc, but I changed it to fClamp in the new func cuz that seemed like it would do the same thing from what I cud tell. sailing around for a while I got no errors, and the wind was consistently at ~20-25, and I assume it can go somewhat up and down sometimes too, so if thats intended behavior I guess its working xD
 
Thanks for the tip on using "fclamp" to replace "MakeInRange"! :onya

I don't know why the wind speed should go as high as 25. If you use the values as shown in @LarryHookins' post, I'd expect that it should always be between 19 and 23 (defined values of LOWEST_WIND and HIGHEST_WIND respectively). I changed LOWEST_WIND to be 12.0 as that's what the comment recommends; the values are in the weather section of "InternalSettings.h" so you can change them to whatever you like.

Is wind in the Caribbean really always at least 12 knots? (Or 12 mph, or 12 kph - whichever unit PoTC uses for wind.) Great for kite-fliers, not so good for anyone whose activities require a low wind speed, really not good if you want to sit on the beach and read a book. xD
 
Is wind in the Caribbean really always at least 12 knots? (Or 12 mph, or 12 kph - whichever unit PoTC uses for wind.) Great for kite-fliers, not so good for anyone whose activities require a low wind speed, really not good if you want to sit on the beach and read a book. xD
Having sailed around the Caribbean myself during many winters, I can confirm that "out in the open", the wind is nearly always Beaufort 4 from the East.
12 knots is indeed a low Beaufort 4, so sounds about right. See here: Beaufort scale - Wikipedia

Sometimes it may be North-East or South-East and sometimes it may be Beaufort 3 or Beaufort 5, but those trade winds are really very consistent.
There are even palm trees that have grown diagonally because of the wind:
tropical-wall-decals-1.jpg

From: Why do so many of the straight palm trees lean towards the ocean? - Pangaea Express

These trade winds can be overruled by:
- Land/sea breezes in the morning/evening around islands (Sea breeze - Wikipedia)
- Being in the lee of an island
- Hurricanes and depressions

See here for an example: https://msi.nga.mil/MSISiteContent/StaticFiles/NAV_PUBS/APC/Pub106/106dec.pdf
An explanation of how to read those charts is included on each page. Page 3 of that PDF shows the Caribbean area in detail.
You can find all other months and the rest of the world here: Maritime Safety Information
 
Back
Top