Understanding Naval Combat(sort of)

Understanding Naval Combat(sort of)

  • Hello Everyone, Today we've upgraded to the latest version of our forum software, bringing more features and better performance to the community. As always, we appreciate your bug reports and feedback, and you can post all of that here, as well as view the list of new features
  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.

    Real Strategy Requires Cunning

This thread is more than 5 months old.

It is very likely that it does not need any further discussion and thus bumping it serves no purpose. If you feel it is necessary to make a new reply, you can still do so though.


Second Lieutenant
34 Badges
Oct 4, 2011
  • Crusader Kings II
  • Europa Universalis III Complete
  • Divine Wind
  • Heir to the Throne
  • Cities: Skylines
  • War of the Roses
  • Warlock: Master of the Arcane
  • Victoria 2
  • Europa Universalis III Complete
  • 500k Club
  • Europa Universalis III Complete
  • Hearts of Iron: The Card Game
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Jade Dragon
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Victoria: Revolutions
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Magicka
So I'm trying to do some digging on how naval combat works. I know I can't be the first one to do this but for the life of me I can't find any detailed info about it on the net. All I can find is endless forums threads/reddit posts where people are asking how naval combat works or what's the optimum fleet composition and then getting a dozen or so different answers or vague ideas of how they think things work.

I've done some very limited testing and although I haven't figured out everything by any means, I thought I'd write down what I know(or think I know). If somebody has done more extensive tests or knows something I don't, I would love to hear it.

When two enemy fleets move into the same sea province, combat begins. A die is rolled for each side. This roll will be used for 5 days, after which it is re-rolled.

Seeking Target
The ships will first have to select a target. The following line in defines.lua affects this:
  • NAVAL_COMBAT_SEEKING_CHANCE = 0.5, -- base chance of picking a target (increased by leader reconaissance)
  • NAVAL_COMBAT_SEEKING_CHANCE_MIN = 0.1, -- low cap for chance of picking the target
So there is a 50% chance to find a target(per day, I assume) with 10% being the minimum. The first check happens right as the combat begins so some ships will already have a target selected when the battle starts(as you can see in the screenshot above).

The ship that is targeted is picked randomly except with the following modifiers:
  • NAVAL_COMBAT_SELF_DEFENCE_CHANCE = 2.0, -- scale up the chance of choosing the target that is already shooting at us.
  • NAVAL_COMBAT_DAMAGED_TARGET_SELECTION = 2.5, -- multiply chance of seleting target that has low average of STR/ORG
So it gives higher preference to damaged ships and ships that are shooting at you. Also according to the HoD manual and the the dev diary for HoD naval combat, there is also a tendency for ships to target ships of their own size(light ships against light ships etc) although there's nothing like this in the defines, so I guess this one is hardcoded and not something we can mod.

Once target is selected there is also a small chance of randomly changing targets in the middle of the battle:
  • NAVAL_COMBAT_CHANGE_TARGET_CHANCE = 0.03, -- chance of changing the target to another one
I guess this represents the general chaos of battle or something.

There is also a limit on how many ships can target the same enemy ship:
  • NAVAL_COMBAT_MAX_TARGETS = 6, -- max number of ships that may target the same enemy ship
I did notice in one battle that a ship was targeted by 7 enemy ships which should not be possible. Although they didn't all get to fire at the enemy so it is possible that the check for too many ships targeting the same enemy is not made at target selection but only once somebody gets into firing range. In the test battle the seventh ship dropped out on the day that the first five ships started firing at the enemy.

There is also a coordination penalty in the game that affects target selection. Basically, the more you outnumber the enemy fleet, the harder it is for your ships to find a target:
  • NAVAL_COMBAT_STACKING_TARGET_CHANGE = 0.03, -- increase chance to change/drop target when suffering stacking penalty
  • NAVAL_COMBAT_STACKING_TARGET_SELECT = 0.2, -- modifier for how much the stacking penalty affects the target selection.
The ingame overlay says it's "Affected by amount of our ships and potential targets." so it should not include enemy ships that have disengaged(more on that later). Now, the ingame penalty is in percentages and I don't exactly know how that relates to the two numbers above. My guess is if you got 100% penalty ingame, you get the full 3% and 20% penalties to changing/selecting target.

Once a target has been selected, your ship will have to get in close enough to shoot. At the start of combat, the two fleets are 200 distance away from each other. So the ship starts to move towards its target until it is within its firing range. There is one line in the defines that determines move speed:
  • NAVAL_COMBAT_SPEED_TO_DISTANCE_FACTOR = 0.05, -- cast the ship speed to the "in combat" speed that moves it towards center line on the field range 0-1.
So the ships speed attribute is somehow changed into "combat speed". I don't know how exactly this is done. Testing this is somewhat annoying as the speed is also randomized and is affected by the target ships behaviour. So if the target ship has also found a target(and is thus moving towards it) then you're actually covering the 200 distance faster, or vice versa if the target ship is retreating.
Now I did notice one strange case in my testing. So the ship needs to move within its firing range before it can start firing. So as an example in one battle my frigate(firing range: 50) moved as follows:

Day -- distance to target
1 -- 200
2 -- 147.8
3 -- 93.3
4 -- 42.7
5 -- firing​

So at the end of day 4 it realizes it's within its firing range and so on day 5 i has changed its stance to firing. Now this is how most of the battles go, but I did witness one time where this wasn't the case. My man o war(firing range: 58) was approaching its target:

Day -- distance to target
1 -- 200
2 -- 175.2
3 -- 158.3
4 -- 142.7
5 -- 116.3
6 -- 100
7 -- 100
8 -- 59.9
9 -- firing​

So at the end of day 8 the game checks the firing range and for some reason the man o war changes to "firing" even though its not yet in range. I'm not really sure why this is. I guess it might have something to do with the order in which the game resolves the ship actions at the end of day or something(so if the game resolved the man o wars target first and they moved forwards enough, then the man o war might be in range and so be able to start firing).


Once the ship is in range of its target, it starts firing. You will see two numbers under your ship. The green one is how much org damage you have done while the red one is how much str damage you have done. these will obviously start at 0.00/0.00 on the first day of "firing". Hovering over the numbers gives a tooltip that tells you your estimated fire power and what affects it, as well as your hitting chance.

Estimated firepower is formed as follows:

  1. You start with the ships attack value(5)
  2. Multiply by "1/opponents hull"(0.25)
  3. Multiply by opponents experience(0.95)
  4. Multiply by own ship str(0.845)
  5. Next up is the "luck & decisions" bonus which you get from the die roll+leader result. The tooltip gives this as a percentage(in this case 8%) which is a bit misleading. You don't increase the attack value by 8% but rather multiply it by 8.
So if we calculate that we get:

5 * 0.25 * 0.95 * 0.845 * 8 = 8.03

The hitting chance is always 100% unless your target has evasion.

The "Luck & Decisions" bonus depends on the die roll plus your leaders attack/defend attribute. Here's how it looks:

die+leader -- luck&decisions
-2 -- 2
-1 -- 4
0 -- 6
1 -- 8
2 -- 10
3 -- 12
4 -- 16
5 -- 20
6 -- 25
7 -- 30
8 -- 35
9 -- 40
10 -- 45
11 -- 50
12 -- 60
13 -- 70
14 -- 80​

Going lower than -2 on the roll doesn't seem to matter, you'll still get 2 luck bonus. I have not tested higher than 14 rolls.

Once the estimated fire power has been calculated, to get the actual org dam/str dam we use the following numbers from the defines.lua:
  • NAVAL_COMBAT_DAMAGE_ORG_MULT = 0.4, -- scale the damage to ORG for balancing gameplay
  • NAVAL_COMBAT_DAMAGE_STR_MULT = 0.2, -- scale the damage to STR for balancing gameplay
So in the above example, 8.03 * 0.4 = 3.21 org damage and 8.03 * 0.2 = 1.6 str damage.

Or at least this is how I thought it works. The problem is that there's been a number of different cases where the next days damage numbers don't add up. The differences seem to me big enough to rule out rounding errors. These discrepancies have mainly been with org dam. As far as I can remember str dam has worked flawlessly. So I think I'm missing something.

Lastly, there is one more modifier for combat:
  • NAVAL_COMBAT_DAMAGE_MULT_NO_ORG = 2.0, -- damage multiplier (to STR) when opponent has no ORG.
So once the organisation of the ship goes to 0, it starts taking double str damage. Note that similar to the luck bonus, this one is written as 2% in the tooltip, whereas it should be x2.

Once you are firing at your target(and assuming you don't randomly change/drop targets), you will keep firing until you either destroy the target ship, or they disengage. A ship can start retreating after its org or str drops below 15% of max:
  • NAVAL_COMBAT_RETREAT_CHANCE = 0.07, -- base chance for retreating when STR or ORG is low. Increased by leader experiance and speed.
  • NAVAL_COMBAT_RETREAT_STR_ORG_LEVEL = 0.15, -- the retreating is available when STR or ORG % drops below this value (it's 0% to 100% value)
  • NAVAL_COMBAT_RETREAT_SPEED_MOD = 0.4, -- slow down when retreating so there is a chance to hit the runner
Once org/str is below that line, you have a 7% chance to retreat every day. Since ships deal twice as much org damage than str damage, organisation will drop to below 15% first, giving the ships then a chance to retreat before they are destroyed. As can be seen above, there is a movement penalty when retreating, giving the other ships more time to shoot. Once the ship has retreated far enough, it is considered "disengaged" and takes no more part in the battle. Exactly how far does the ship have to retreat, I'm not exactly sure. I would guess that they have to get back to the "starting line", ie the point where they were at the start of the combat(100 distance away from the "center line").
There is also the following line in defines:
  • NAVAL_COMBAT_RETREAT_MIN_DISTANCE = 0.25, -- how close (in average) all alive ships must be to the center line to be able to retreat.
I'm not exactly sure what this means. Like it seems to indicate that the ship would have to be close to the "center line" in order to able to retreat. Now normally most ships will be at the center line, since they start the battle at 200 distance and then move towards each other, meeting approximately in the middle. But does this mean that ships that are far away from the center line can't retreat when low on org/str? That doesn't really seem logical.

Once the target ship is either destroyed or has retreated beyond the firing range of your ship, your ship will have to go back to square one, finding a target.
  • NAVAL_COMBAT_SHIFT_BACK_ON_NEXT_TARGET = 0.2, -- max shift back from center line when got new target
  • NAVAL_COMBAT_SHIFT_BACK_DURATION_SCALE = 7, -- shifting back from center line on new target - scaled down as long the combat takes
These two modifiers seem to move the ship back from the center line. I assume this is in order to make sure there is at least some movement that has to be covered before they can start firing again(since most ships will at this point be near the center line as opposed to the 200 distance away like at the start of combat).

If all the ships in the fleet are disengaged, the whole fleet retreats and the battle is over.
Last edited:
  • 2Like

Armed Avacado

Second Lieutenant
43 Badges
Mar 23, 2018
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Ancient Relics
  • Surviving Mars: First Colony Edition
  • Prison Architect
  • Surviving Mars: First Colony Edition
  • Stellaris: Distant Stars
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Death or Dishonor
  • Surviving Mars
  • Cities: Skylines - Mass Transit
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Warlock: Master of the Arcane
  • Victoria 2
I'm not exactly sure what this means. Like it seems to indicate that the ship would have to be close to the "center line" in order to able to retreat. Now normally most ships will be at the center line, since they start the battle at 200 distance and then move towards each other, meeting approximately in the middle. But does this mean that ships that are far away from the center line can't retreat when low on org/str? That doesn't really seem logical.

Sounds like this refers to the entire fleet, not individual ships. In land warfare, the player cna't order an army to retreat until enough time has elapsed. In naval warfare, the player can't order a retreat (by right-clicking a new province or sea zone) until the ships are near enough. Hovering over the white flag icon in the corner of a fresh engagement will display text that matches what you have here.
  • 1Like