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

WIP Now included in latest patch: Trade Winds, AI armor, weapons variety, captain rebalancing, etc

Tingyun

Corsair
Storm Modder
Now INCLUDED in latest Levis update, download as part of the "Extra Installation" patch here: Mod Release - Build 14 Beta 4.1 WIP [Last Update: 23 sept] | PiratesAhoy!

Which means I am shutting down the experiment. The only thing really remaining is the double running speed, which is being tested for possible inclusion and I'd love your feedback on. Go here to download if you want to try them out: (link in a moment)

And here is the final changelog:

INCLUDED
- Trade winds will now blow towards the west and slightly south much of the time, per Caribbean wind patterns, with other directions still possible of course.
- AI equips Armor/full weapon variety at all levels/low tier weapon rebalancing/gun rebalancing/cost changes (balance maintained, AI takes less damage because of armor, and does less damage from greater variety of (somewhat buffed) low tier weapons still used)
- minor fixes to things, like reload times incorrect for some braces of pistols
- longrifle_C no longer unique to player, available in early periods rarely
- First Mate takes over ship defense perks from Doctor

HEAVILY REVISED (no longer as in original experiment, now awaiting addition of AI officers)
Officer types (captains, crews, officers)

OPTIONAL ADDITIONAL
- double running speed

REMOVED FOR NOW
-- deleveled consistent bandits regardless of player level (slightly revised due to changes in RANDCHAR stats)



Sept 18-2 Updated
-expanded double running speed to all models
-brought "sword drawn" running speeds into consistent relationship with normal running (6.0 to 6.6 m/s)

Sept 18: New
- doubled running speed (now much more realistic in relation to walk speed, and also saved tons of player time),
- english female officer voice swap so she doesn't sound like an 80 year old grandmother,
- tweaked weather pointing a bit south, so wind blows somewhere between W and SW, as is realistic.

Updated with main mod patches, September 17: Levis has fixed several bugs in the main mod over the past couple of days. I have bundled all currently completed main mod fixes into the experimental release new archive, so you can get access to them now. You still need to download the latest 4.1 WIP september patch first, but this covers the new fixes put out in the past couple of days.

Everything is saved game compatible, and you certainly want these fixes in your game. Please re download and overwrite with the new attached zip.

September 15 update: NEW Trade Wind mechanic and a couple of fixes

Now, just as in the real Caribbean, you have trade winds--you will have an eastern wind (meaning, it blows towards the west) much of the time, and you'll be able to strategically adapt your trade routes and privateering to this realistic weather pattern. The wind will still sometimes blow to the east, but not nearly as often. The chances are modeled after real recorded wind data from the Caribbean, which Pieter was kind enough to point me towards.

This will mainly affect direct sail players, and the worldmap will stillmbe available to bypass any difficulties.

Fans of Sid Meier's Pirates will remember this tendency of the wind to blow to the West well, as well as anyone who has spent time sailing around the real Caribbean.

I believe this will be a fun and strategic addition, but if you hate it, just delete the folder marked "weather" within the installation zip before installing.

On the other hand, if you want to try out ONLY the trade winds, and not the AI armor and other changes, a seperate zip with just the weather file is included.

The Trade Winds Only zip is 100% saved game compatible with any version of the mod you might be playing, so feel free to test it out in current campaigns!



Past Update Notes:
--September 13, 2016 update to latest main mod patch + bundled together with several upcoming fixes planned for inclusion in the next main mod patch.

Remember, the new main mod patch is NOT saved game compatible. Finish your campaigns before updating.

When ready to update, first install the main mod patch zip file Marked EXTRA INSTALLATION here: Mod Release - Build 14 Beta 4.1 WIP | PiratesAhoy!

After that, install the experimental mod zip file attached to this post into your main game directory, overwriting files.

Please do leave any feedback you have from this or prior versions of the experimental releases. I would especially love to hear how the new "AI equips armor" component is working out, since that is a new feature. :)



NOTES:

Install files include all past experiments (Skilled AI captains and fair sea battles, consistent bandits, apply difficulty to AI captain skill, non magical luck, firstmate/doctor switch, rebalanced AI captains, and officer/crew tweaks). Please see those pages for details on their changes.

Mod Release - Experiment 1: Skilled AI Captains and fair sea battles | PiratesAhoy!
Mod Release - Experiment 2: consistent bandits, apply difficulty to AI captain skill, and non-magical luck | PiratesAhoy!
Experiment 3: Firstmate/doctor switch, rebalanced crews and captains, and officer tweaks | PiratesAhoy!

New changes since Experiment 3:

1) AI enemies will now spawn with and equip armor. Chance depends on the enemy level (not your level) and covers a range of possibilities. If you fight a bunch of bandits (they don't level with the player anymore), they will be wearing a mix of leather jerkins and armor (but most will wear no armor), if you fight a skilled crew under a high level enemy captain, excpect to see the full range of possible armors among his crew.

The armor tables change every 5 levels, so expect to see huge differences across enemy levels in terms of what percentage even have armor, and what types they have. Leather jerkins are a common standby across most levels though, reflecting seafaring types tendency to go for simple and light protection. Leather cuiras is a rarer sight, and the simple metal breastplate becomes increasingly common in high level enemies.

2) No weapons disappear from use. AI will have weapons between level 1 and their level.

3) Low tier swords increased in power to allow for some usefulness, while still preserving progression. See Pieter's ideas and discussion for more background on this experiment:Feature Request - Fighting: Reduce Effect of Weapons, Increase Effect of Skills | PiratesAhoy!

4) Sword and armor costs generally reduced.

Notice these changes operate together to preserve balance: The AI will hit a bit less hard on average, but so will you, as they will be wearing armor. Meanwhile, prevalence of armor won't cause looting to be too rich, as costs have gone down.

5) Lots of general rebalancing and alterations to the weapons. For example, reduced ottoman sabres and chinese broadswords being dominant weapons in the Caribbean. Several swords rebalanced. Armor rarity increased, doesn't affect it showing up on ai enemies, just a store balance to new lower price.

6) Rebalancing of all guns, reflecting the accuracy drop from using a horse pistol with a giant caliber among maybe 20 other tweaks, on the whole allowing realistic and useful range of guns each having some tradoffs for the AI and player.

Press F11 to reinitilize if using a saved game. Please leave any feedback you have. :)


Swords: Left the high end swords alone entirely, instead, applied a formula to the lower level swords to give them enough damage to stay somewhat reasonable (for example, level 1 swords got +4 to min and max damage, and +10 to their best of piercing/block and +5 to the other). Then went back and added a bit more to most basic swords. Adjusted as I went as seemed reasonable. Still huge progression, so the player gets all the same fun, and only low level swords altered.

Did do a couple of logical fixes. I didn't touch the unique swords, they are as overpowered as ever. I did make the Schiavona properly good, it fills a nice role not adddressed otherwise. Tizona also made better. Altered the Asiatic broadsword (its stats weren't reflective of its reality). Generally deviated from the formula I used as levels increased to reflect reality, and in cases like the dagger where it wouldn't make sense. Dropped the shellcup falchion down a bit, same with pirana.Venetian cutlas enhanced a bit, seing as how it is the finest of the cutlas line, and to seperate it a bit from the boson's choice. Levels adjusted throughout, also rarity.

All costs rebalanced to be reasonable (meaning, much lower) for weapons and armor. But many sword prices increases, based on the logic of their relation to other blades and the type of blade involved. Sword prices mostly based on a combination of rarity/realism/stats


With this and experiment 2 installed Mod Release - Experiment 2: consistent bandits, apply difficulty to AI captain skill, and non-magical luck | PiratesAhoy! , the world mostly stops leveling with the player (the exception being that you still won't see weapons until you hit the min level). I think this should make for a more interesting and varied game, which allows the player to see his progression.

Meanwhile, costs for weapons much decreased to keep reasonable in comparison to ship prices

Gun stats were carefully modified to increase relevance of most weapons and provide realistic tradeoffs, and min levels/rarity manipulated in a few instances to keep the flintlock pistol as a comparitively decent options for the ai

Random odd things fixed (like a brace of flintlock pistols having the same reload time as a single one, the 4 horse pistol set having same reload time as 1, etc)

LongRifle_C also made a random item that can appear in a couple of periods, but very rare.




1) The mechanics of it:

Basically, I am doing it like an old Advanced Dungeons and Dragons 2nd edition loot table, based on enemy (NOT player) level.

It checks if the player is a combatent, check if he is non native, then roll a random number from 0 to 1, find the level of the enemy (NOT the player, this is entirely dependent on enemy level), and then we look up the table of potential armor that I defined for that level range, most in ranges of every 5 levels stepping up the level of armor.

Note on the Gorget: made it fairly rare, as it is a pretty specialized thing for swordsmen and such, the leather jerkin is the much more ubiquitous item for low level bandits and such. In general, the leather jerkin remains a common standby for even high level boarding crews and the like, while the leather cuiras is more rare (I think this reflects reality)

2) Balance notes

A) other components of the experiment drastically reduce the price of armor (together with the sword/gun price rebalance, loot value should remain balanced),

B) The player will have a new advantage in sword quality (the AI will be using swords between level 1 and the AI enemy level plus an offset, but the lower value swords will be increased in performance somewhat, achieving greater variety throughout the game), so losing the player monopoly on armor should be somewhat softened by a potential to stay ahead of the curve on weapons.

Basically, assuming a player that works to acquire good equipment, the balance is transitioned from
old system:
player huge advantage on armor, player slight advantage on weapons,
new system:
player moderate advantage on armor, player moderate advantage on weapons.

So, the AI would be given a random chance of armor in the context of other changes that would work to maintain reasonableness of loot quality and soften any added difficulty.


Some highlights are: battle armor only makes an appearance for enemies level 20 or above, and at pretty low rates, and gold armor is only for levels 30 and above, always remaining rare.

(elsewhere in the experiments, bandits are no longer tied to player level, so no need to worry about bandits in gold armor ;) )

Armor starts at around a 35% chance for low level enemies, builds to 80% for level 30s, and almost certain for level 51 and above.

(which I think balances nicely with the higher level enemies having a chance of having improved but still lower tier swords than before--less damage will be dealt from both the player and the AI, while equipment variety and realism will both be much improved)

Some implementation notes:

Fully tested in dungeon fighting, the AI equips the variety of armor just as the table tells it to based on its level. Also, I am certain the armor is fully equiped, because I was doing some 0 damage hits on 1 guy, and sure enough, he was the one who had rolled up a suit of battle armor. ;)

I did originally include a !CheckAttribute(chr, "friend"), but erased it because it seemed to cause problems getting the enemies equiped in testing. Not sure why, but I don't think it is needed anyway. I think player boarder crewmen do not get equipped through this function anyway.

Did it this way because we need to run it on a different function than just rarity--it really needs to be tailored to the level of the enemy and carefully balanced against the types of armor that should be appearing in those groups.

//TY adding below code to give armor to AI enemies characters, AD&D equipment table style. Balanced together with the weapon changes which should reduce AI damage dealing in the higher levels.
float armorroll = frnd()
if(isWeapons)
{
if(!CheckAttribute(chr,"isIndian"))
{
if(rank >= 1 && rank <= 10)
{ if (armorroll < 0.3)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.3 && armorroll < 0.34)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.34 && armorroll < 0.35)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.35 && armorroll < 0.36)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 11 && rank <= 15)
{ if (armorroll < 0.3)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.3 && armorroll < 0.4)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.4 && armorroll < 0.46)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.46 && armorroll < 0.47)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 16 && rank <= 20)
{ if (armorroll < 0.4)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.4 && armorroll < 0.5)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.5 && armorroll < 0.65)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.65 && armorroll < 0.66)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 21 && rank <= 25)
{ if (armorroll < 0.4)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.4 && armorroll < 0.47)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.47 && armorroll < 0.67)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.67 && armorroll < 0.68)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.68 && armorroll < 0.69)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 26 && rank <= 30)
{ if (armorroll < 0.35)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.35 && armorroll < 0.45)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.45 && armorroll < 0.75)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.75 && armorroll < 0.79)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.79 && armorroll < 0.80)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 31 && rank <= 35)
{ if (armorroll < 0.35)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.35 && armorroll < 0.45)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.45 && armorroll < 0.75)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.75 && armorroll < 0.81)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.81 && armorroll < 0.814)
{
GiveItem2Character(chr, "goldarmor");
EquipCharacterByItem(chr, "goldarmor");
}
if (armorroll >= 0.814 && armorroll < 0.82)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 36 && rank <= 40)
{ if (armorroll < 0.35)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.35 && armorroll < 0.45)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.45 && armorroll < 0.75)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.75 && armorroll < 0.85)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.85 && armorroll < 0.86)
{
GiveItem2Character(chr, "goldarmor");
EquipCharacterByItem(chr, "goldarmor");
}
if (armorroll >= 0.86 && armorroll < 0.87)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 41 && rank <= 45)
{ if (armorroll < 0.35)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.35 && armorroll < 0.45)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.45 && armorroll < 0.75)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.75 && armorroll < 0.88)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.88 && armorroll < 0.89)
{
GiveItem2Character(chr, "goldarmor");
EquipCharacterByItem(chr, "goldarmor");
}
if (armorroll >= 0.89 && armorroll < 0.90)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 46 && rank <= 50)
{ if (armorroll < 0.25)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.25 && armorroll < 0.35)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.35 && armorroll < 0.75)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.75 && armorroll < 0.88)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.88 && armorroll < 0.89)
{
GiveItem2Character(chr, "goldarmor");
EquipCharacterByItem(chr, "goldarmor");
}
if (armorroll >= 0.89 && armorroll < 0.90)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
if(rank >= 51)
{ if (armorroll < 0.2)
{
GiveItem2Character(chr, "jerkin");
EquipCharacterByItem(chr, "jerkin");
}
if (armorroll >= 0.2 && armorroll < 0.27)
{
GiveItem2Character(chr, "cured");
EquipCharacterByItem(chr, "cured");
}
if (armorroll >= 0.27 && armorroll < 0.80)
{
GiveItem2Character(chr, "cheaparmor");
EquipCharacterByItem(chr, "cheaparmor");
}
if (armorroll >= 0.80 && armorroll < 0.97)
{
GiveItem2Character(chr, "commonarmor");
EquipCharacterByItem(chr, "commonarmor");
}
if (armorroll >= 0.97 && armorroll < 0.99)
{
GiveItem2Character(chr, "goldarmor");
EquipCharacterByItem(chr, "goldarmor");
}
if (armorroll >= 0.99 && armorroll < 0.995)
{
GiveItem2Character(chr, "gorget");
EquipCharacterByItem(chr, "gorget");
}
}
}
}



Tagging @imado552 @Cerdock @Eskhol
 
Last edited:
Chance of having any armor at all for the AI currently ranges from 36% for low level enemies to 99.5% for enemies level 51 and over, meant to balance with the chance of higher level enemies getting a somewhat reduced strength weapon since weapons no longer disappear entirely from use.

If anyone wants to try a reduced armor setting, let me know and I'll upload a version with an adjustable internal settings define letting you specify what percentage of armor chance you want to play with (ie, half the normal chances, so 18% at low level and around 49% at level 51 and over, or whatever you prefer). I am planning to do that later anyway. :)
 
Last edited:
I cannot even begin to imagine what kind of effects this is going to have on game balancing.
But it'll be different and interesting, that's for sure! Hopefully it'll be better too. ;)
 
Thanks Cerdock! :) I look forward to your feedback and suggestions, and will adjust it accordingly. Whatever suggestions, comments, and complaints you can offer, when you do end up starting the new campaign, I'll be very grateful for the input!
 
Last edited:
(Just creating a record of balancing notes from play sessions)

Circumstances: Beginning of campaign, exploring jungle

1) Starting as a freeplay level 5 with a decent melee score, found the "as if player level 12" bandits quite manageable. Avoided tight groups, but found a group of 5 patrolling in the jungle and killed them easily (2 with cobblestones, 3 with fencing when I could get them away from the others).

I like employing careful tactics though, so any input from others (including more charge-in kind of players) on whether bandits feel like they should be higher or lower level would be much appreciated. :)

2) So far I like the tightened sword stats. Feels like I can try out a variety of blades myself without worrying about stats quite as much. Of course, I am still dealing with the bandit-level class of blades, but I think I was right to weaken the pirana a little bit, and the buffs to the other swords feel right as well. Most seem to have more tradeoffs now, rather than a several swords being clearly superior for the lower tiers.

3) The armor prevalence among the low level bandits feels right as well, most not having it, the occasional leather jerkin. I also like having earned my initial armor fighting, rather than buying it.

4) The higher damage ratings on the low end swords feel great (usually between a 10-25% increase in damage among the lower tier swords). Combat being a bit deadlier at low level is probably helping the player deal with the initially higher level bandits, as the player can usually get the first swing in, and then follow it up with a quick kill, before getting surrounded and overwhelmed.
 
Last edited:
Updated to the new main mod patch, and included several future fixes for the next patch. If anyone is interested in trying, please download the main mod latest update, then the new version of the experimental files. Details updated to first post including download links.

Remember, the new main mod patch is NOT saved game compatible, so please finish up any campaigns before updating.

Tagging @imado552 @Cerdock @Eskhol @Darby McGraw
 
I apologize, I had a small mistake when first uploaded earlier. Corrected version uploaded, everything should work perfectly now. :)
 
I anticipate releasing a supplemental "realistic trade wind" optional patch for the experimental release in the next few days. It would probably be going into the main mod as a toggleable option in a later patch if it proves as fun as I hope it will be.

Real winds in the Caribbean blow mostly to the west, and they worked that way in Sid Meier's Pirates, adding a fun dimension of planning of trade routes and privateering. If I can get it working right, we'll be able to introduce the same weather tendency here.

Any such supplemental patch will be fully saved game compatible with the current posted experimental version posted above. If you want to participate in the planning discussion, it is taking place here: Wind direction in the Caribbean | PiratesAhoy!
 
@imado552 @Cerdock @Eskhol @Darby McGraw @*Swordar*

Sorry to tag everyone so soon, but a new mechanic to try out that is 100% saved game compatible with current campaigns. Developed for the main mod, but I'm providing it early here.

Trade Winds--modeled after real Caribbean wind patterns, the wind will now most often blow towards the west. You'll be able to plan your trade routes and privateering around these weather patterns, plotting destinations, targets, and escape routes accordingly. And it will be a more realistic simulation of how wind operates in the Caribbean.

This tendency of the wind to blow west was a very fun and interesting part of Sid Meier's Pirates, and I hope you will enjoy it as well. But remember to plan around it--it will hopefully bring in new elements of strategy in trading and warfare.

Of course, the worldmap remains available, so this is mainly a direct sail thing. Though you can try to attack enemy ships from the east, and then you will have the wind advantage!;)

The main experiment zip has also been updated with this and some other fixes.

Install the attached zip containing only the Trade Winds mechanic and try it out in your current campaign if you are interested! Your saved game will work with it automatically, there are no compatibility issues and no need to do anything.
 
Last edited:
@Darby McGraw @imado552 @Cerdock @Eskhol @*Swordar*

I have put up a new zip file, which includes the many great fixes Levis has put out for the main mod bugs over the past couple of days. If you are playing the latest version of the main mod and experimental release, please redownload the new archive I just posted to the top post here, and copy it over to your game directory.

The experimental release has not changed, but the fixes for the main mod are important and I wanted you to be able to easily access them as soon as possible.
 
Cheers Gentlemen,

that's a really great idea. As a passionately direct sailor, I was looking forward for realistic and more steady winds since a long time. I loved this in Sid Meyers Pirates, and will gladly try it out in my new campaign.
Say, does it also effect the winds close to islands? It was my impression in the past, that wind tended to blow straight away from an island when one was approaching it.

:keith
 
@Skyworm

Glad to hear you will try out the new winds! :)

To answer your question: yes, wind near and away from islands are both affected, and you should find that they are random but most of the time blow towards the west with this modification, with the other directions less frequent. The chances are modeled off of real world Caribbean wind data provided by Pieter.

The only times the wind does not have a tendency, is if the wind changes during storms and tornados and such, as then the weather is extreme enough to overcome the usual trend (I included a condition to turn off the new code when a storm or tornado is around).

If you and others end up liking the new winds, they will go into the future version of the main mod, so please do report feedback on whether you end up liking them after playing. :)
 
Last edited:
Cheers,

well, after the first voyage from Conception to Barbados, I am undecided.

It is true, wind is more about from east than any other direction.
But right now, while leaving Bridgetown, with a fine SW wind in my back, it changed direction before I even left port to NE, blowing me straight into my face. It is these sudden, big changes that really take the fun out of a direct sailors life. Because it means I'll have to make a big course change any hour of in game time, and this is really no fun. Strategically planning trade routes is not possible with such big sudden changes. :rumgone
 
@Skyworm

Perfect, thanks so much for this feedback. Exactly what I need to make this ready for the main mod!

Try replacing with the attached version, I've softened the wind changes.

After installing, let me know if:

1) the wind changes need to be softened further

2) you still get enough N, S, and E winds

There is a delicate balance there between two parts of the formula, but with your help, we will get it right, because I will keep adjusting it until it is perfect. :)

EDIT: BTW, in the main mod or with this modification, wind changes always occur once every hour, exactly as the hour changes. So the wind will always be constant until the hour switches, then suddenly change. But we can configure the magnitude of such changes until it works well.

You actually rolled the maximum mathematically possible rare wind change before, and it would be quite rare, but now I've made that dramatic of a change completely impossible. :) Note that winds blowing to the East are still the most unstable and unpredictable--any changes among western directions will be much more gradual and soft. So if a wind blowing E does come up, it will probably only last until the clock turns over to the next hour.

Note to self- changed rWindA = frand(3); to rWindA = frand(2) . Next planned change is to rWindA = frand(1.5); if still bothersome.
 
Last edited:
Thanks mate, I will test it immediately.

In the meantime, I found in INternalsettings.h a part about Weather controls. It looks to me that with the numbers there I can change the likelyness of more or less drastical wind changes, both in speed and direction. I tried to reduce numbers, and found gameplay much more better since then.

Are your changes somewhat linked to that, or is it something completely different?
 
@Skyworm

I really appreciate your help, while we get this working right. :)

If you change anything for max angle changes in internal settings, it won't do anything now, because I've disabled that for now and took direct control over it in the weather generation file. Had to do that while we calibrate it, but we will restore the modifiable setting later when we have the right default balance. The settings that influence wind speed and such remain just as configurable as before though.

The change you noticed in terms of wind direction shifts was probably just random--the original SW to NE wind change that hit you was a very rare thing even before the new file.

Since you are helping me calibrate it, I'll explain in brief how the whole wind direction things works:

1) every hour, a random number is rolled between 0 and x, to determine how large of an angle the wind shift should be.

2) x used to be defined in internal settings, but I've now taken direct control of it in weather generation so we can calibrate it consistently.

3) (here is where my mod comes in): I translate whatever angle is generated there with a function that also has 0 to 2PI as its range, but is weighted towards the west, like the first line below, which does a nonlinear transformation of the angle, condensing things to the west:

fWindA = (((fWindA-PI)^3)/(PI)^2 + PI);
if(fWindA >= 0.5 * PI) {fWindA = fWindA - 0.5 * PI}
else{fWindA = (2*PI + fWindA - 0.5 * PI) }

4) now we need to make the magnitude of base wind changes larger, because we are bunching up and reducing changes in the resulting winds blowing west, and we also need the wind to sometimes be able to overcome the trend and produce a wind blowing east, since those do happen sometimes in the Caribbean

All of that has the following goals:

A) mostly winds blowing west, that are pretty stable and have similar wind changes to before

B) but the possibility of occasional somewhat sudden winds that blow east, that are unstable and short lived (usually won't last more than an hour or two)

C) the chances of each wind direction roughly mirroring real world Caribbean data


So what you are helping me balance is how much to let the maximum possible wind change be, while the average wind change will be half of that, but if it changes among western directions it will be much smaller (maybe 20% of that) but in the eastern directions it might be a bit larger, because of the conversion.

So we have to adjust it until the changes are reasonable but still let winds that blow east overcome the general western trend when the random chances roll an unusually high number.

Does that make sense? So right now we have to decide whether to reduce it further, or if you don't see winds that blow east enough, we raise it back up a little, until we get the right result.

Your help is essential, and I really appreciate it. :)
 
Last edited:
Cheers,

thanks for the explanation. My actual test voyage is longer, from Martinique to Puerto Rico. At least I am approaching. What I witness so far is ...
- wind is mostly from eastern directions
- wind occasionally shifts to western direction, and in most cases, it changes back to eastern directions within an hour or two

To be honest, if I were to freely choose how I'd like wind, I would do it very stable. Perhaps this is because I really loved the way it was done by Sid Meier in various pirate games. If I remember right, there were no "sudden changes" at all. This was because of the map-style view, where you always could see clouds moving across the ocean, indicating the direction and speed of wind in your vicinity. You could strategically plan to use a strong wind by closing to these clauds. Also, you could plan your trade routes. You could count on the eastern wind that much, that you could tack across half the caribbean and back and still reach you destination. There were no sudden shifts to western directions, but there were areas where western winds occured.

In PotC, wind seems to be mostly random. If I reach my destination in time, is not determined by strategy, planning or skill, but just by luck. Luck and strategy don't mix well in my opinion.

So, if I were to design a wind model, I would make x very small. I wouldn't let the wind shift about more than 10-20° usually, with some bigger shifts as a rare exception. Also, if possible, I'd let the wind not shift once per hour, but much more rarely.
Basically, my idea of sailing is to tactically use the wind to my advantage. This includes the possibility to maneuver into a better position to use the wind. This is completely impossible with a frequently and in large scale shifting wind. I like to sail straight for several hours.

I just did a small experiment to describe the problem:
When direct sailing between islands, I almost never play in real time. The voyage would take days in real time to get there, that's no fun at all. So I usually use 10* time compression. With that, a game hour lasts 20 seconds of real time. So, while direct sailing I do nothing else but adjusting course any 20 seconds. It takes about 10 seconds to adjust course.

I hope this helps.
 
@Skyworm we could easily adjust to those settings, if you want the wind to always blow towards the west. Search for rWindA = frand(2) in that weather generation file, and change 2 to whatever you like. Try 1 or 0.5 and the wind will always point west with only small variations. But then there won't be much variety and almost no winds blowing east, so we probably won't go that extreme for the main mod default, but we will leave it configurable and restored to internal settings so you can easily achieve the effect you like. :)

This is great feedback. Let me ask some questions:

1) from your latest description, it seems like it is mostly behaving in the way I have in mind. Is that with the latest file where I reduced the magnitude from 3 to 2? If so I will start using that as the new standard test version, because it sounds like you still occasionally got the other directions.

2) are you an open sea player? If so, that might be part of the difference. In non open sea, wind changes every hour, but an hour of direct sail ALSO is a full DAY. Every time the hour shifts, the day goes up by 1, so the wind changes are not hourly but rather daily. That is sort of why they are so extreme, they are simulating a full day changing every hour, but that is only right if not playig with ironman, where open sea mod treats time differently.

3) we could make it so that if open sea mod is enabled, then the wind changes only once a day, NOT hourly. That would be realistic, and might solve your concerns. What do you think?

4) further, you mention planning combat. We could probably make it so that the wind does not change at all during combat, to reflect the tightened timescale combat takes place under and avoid sudden tactical shifts. Would that improve things?

5) did you have any trouble entering ports with the new wind? There was some concern about narrow port entrances that face directly east/west. Obviously, one wouldn't attempt a difficult port entry when the hour is about to shift, but that would have been just as true in the base mod. :)

Please let me know your thoughts on these!
 
Last edited:
Back
Top