• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

unmerged(183189)

Corporal
1 Badges
Dec 12, 2009
33
0
  • Hearts of Iron III
Is there a guide anywhere, or a detailed explanation of how the supply system works. There are countless times I see things happening with the logistics aspect of the game that simply doesn't make sense.

When seeing comments like this from Johan, it makes me rather hesitant to post a bug report for things that seem to be... well.. retarded with respect to the supply system.

"I am not interested in reports from people who do not understand how the logistics works, as that would just waste my and your time."

So could someone please point me in the direction of where P.I. thoroughly explains the supply system in a manner that would explain any of the following?

1. Units out of supply, 1 province away from a lvl 10 dock, with over 1000 supplies stockpiled there and 3600 fuel. lvl 8, undamaged infrastructure on both tiles. Units have been positioned in the same point for over a month. The out of supply provinces are all within 2 "distance from the supplier" and would require on average 15 supplies / day to remain fully supplied.(Fuel has been forwarded and smaller stockpiles set up where the units are, supplies however have not. )

2. Capital and surrounding cities not able to keep up. Having a much higher draw demand than throughput on the Capital city and surrounding regions, all with lvl 10 infrastructure. If there is a "cap" on how many supplies your capital can push out each day, why does the max through put vary from day to day, between 200 and 2000, all while having a draw demand of over 1000 higher than whatever it's sending out.

3. Dirt road prefferences? Why would supplies be sent along a series of regions with lvl 6 infrastructure, when there are parallel roads either side of the chosen supply path at lvl 8 infrastructure. ( The path being taken, is having supply issues, i.e. the diagonal red lines, unable to through put the demand )

Now clearly, I don't fully understand the intricacies of the supply network, so while these issues may be preventable, there may be something I'm doing wrong that's causing them, but from all the information available to me, they simply don't make sense. So I would ask, that with a supply network as complicated and obscure as this one, that a guide be written explaining, in detail, how it works. The content in the manual and strategic supplement guide, I find, are woefully insufficient in this matter. I would quite happily forgo the explanations in the manual on how to adjust the volume of the game if it meant that less self explanatory things could be included.
 

delra

Master of Orion
34 Badges
Jan 27, 2008
26.138
543
  • Europa Universalis IV
  • Victoria 2

unmerged(183189)

Corporal
1 Badges
Dec 12, 2009
33
0
  • Hearts of Iron III
Thanks for the link, however nothing in there explains the supply system in sufficient detail to shed any light on the oddities observed.

Also, the wiki mentions a throughput of 243 for a lvl8 infra tile. I have level 8 infra tiles getting 768 throughput. I'm getting +10% throughput from policy, and +20% from tech, but no idea how to explain the difference between 243 as mentioned on the wiki and 768. So that alone indicates to me that the validity and accuracy of whatever else is listed there is questionable data at best.


Observed odd example.

If I take an independent section of the supply network, a section with no units on it, and all other connecting cells are 0/0/0 for local/demand/through. After elminating the 0/0/0 cells, the section would look like this...

A -> B -> C + D -> E

Where the supply from B splits into two connected cels, which are both connected to E.

The (Infra level - Local/Demand/Through) details for the cells are as follows..

A - ( lvl 10, 2509/2186/1200 )
B - ( lvl 10, 6664/2186/1525 )
C - ( lvl 8, 6051/1536/768 )
D - ( lvl 10, 325/325/195 ) <- only cell without diagonal red lines through it
E - ( lvl 10, 3706/1861/1328 )

So the obvious questions that follow are, given that there are no units on these squares, and they are well established supply routes ( 2 cells from Berlin, mid 1940 from a 1936 start ) and all other connecting cells are 0/0/0...

1. Why is there a drop in demand between B and C+D? ( 2186-> 1861 )

2. Why does the supply route go through a lvl 8 infra cell, when there is an underutilized lvl 10 infra cell adjacent to it, with the same connections at either end?

3. Related, why is the split, between two parallel paths so large, with a draw of 1536 on one, and 325 on the other ( with the smaller number on the higher infra cell )?

4. What is the max throughput of given cells? For level 10 infra cells, we see varying numbers of throughput in this small section. A larger snapshot of the supply route reveals that on lvl 10 cells, with througput < demand, the throughput varries between 2247 and 1200. And for lvl 8 infra cells a spread between mid 300's and mid 900's for capped througput.



This is just a very small, rather insignificant example with rather minimal end consequences. I just chose to use these cells because of their proximity to the capital, lack of units and other external influences. It just demonstrates oddities and irregularities which are not adequately described or accounted for by any information I've been able to find on the matter so far. Things like units going out of supply when there's a local stockpile in the square next to them are of greater concern. Things like lvl infra cells having a througput of 27 with a damand of 1227 are of concern.

Probably what I find most confusing, is that the fuel aspect of the logistics network seems to have almost no problems with it whatsoever. The 5 cells in the example above behave almost exactly as expected with fuel. The only exception to this is that is uses the lvl 8 infra C cell instead of the lvl 10 infra D cell. Which is really not a big concern since it the flow is not being restricted at all.

Considering I've experienced absolutely no problems with the supply of fuel to units, and yet the distribution of supplies seems to be an ongoing headache, what is the underlying difference between the two? Shouldn't the processes and algorithms for both the distribution of fuel and supplies be the same?
 

delra

Master of Orion
34 Badges
Jan 27, 2008
26.138
543
  • Europa Universalis IV
  • Victoria 2
Well spotted, Evov. The supply system is so obscure as to make no sense whatsoever. It fails to bear scrutiny.
Very constructive.
 

Atomcreator

General
77 Badges
Nov 15, 2001
2.045
3.380
Visit site
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Imperator: Rome
  • Surviving Mars
  • Europa Universalis 4: Emperor
  • Crusader Kings III: Royal Edition
  • Crusader Kings III
  • Stellaris: Federations
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron III
  • Europa Universalis IV
  • Crusader Kings II: Monks and Mystics
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Cadet
  • Stellaris - Path to Destruction bundle
  • Stellaris
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Cossacks
  • Cities: Skylines - After Dark
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Prison Architect
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Holy Fury
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Pillars of Eternity
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Rajas of India
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis III Complete
This is one of the reasons I have given up. Whenever I see someone talk about supply my eyes glaze over in a fog of maths and equations. Which unless you are Autistic, surely holds little fun value.
I always thought computers were meant to do
all the math for the user and then present him/ her with a bunch of results that could be read in laymans terms.
 

quetzilla

General
42 Badges
Sep 23, 2009
1.736
14
  • Crusader Kings II: The Old Gods
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • For the Motherland
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Crusader Kings II
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Rights of Man
  • Stellaris: Megacorp
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • PDXCON 2017 Standard Ticket holder
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Considering I've experienced absolutely no problems with the supply of fuel to units, and yet the distribution of supplies seems to be an ongoing headache, what is the underlying difference between the two? Shouldn't the processes and algorithms for both the distribution of fuel and supplies be the same?

First, it would help me understand what you are describing if you post a screenshot of this particular supply route. I can't really help if I don't have a look at the actual area in question.

But I have a couple of preliminary answers:

Supply routes are calculated by a number of factors, infrastructure not being the only one. Other things taken into account are the owned/occupied status (owned gives 2x throughput as occupied), terrain (terrain affects supply transfer just as it does troop movements), as well as distance.

Now you might think "that lvl 10 infra province surely has to be better than the level 8 province", but you're not seeing all the factors, such as the fact that the lvl 10 province may have different terrain, or may result in a longer actual distance, which can result in a higher supply tax and thus actually get less supply through than the lvl 8 province. If it were a case of a lvl 4 province and a lvl 10 province, the game would most likely choose the lvl 10 province. Without seeing the actual provinces you are talking about I can't give a 100% accurate reason as to why the system is working that way.

The other thing is that when it can't put enough throughput through one province, it will sometimes try to split the throughput over multiple provinces, but in order to do that is has to have enough throughput from the previous province in order to split it, so 300 can be split into 200 (capped) and 100 in an extra, but 300 can't be split if the cap on the next province is also 300 (it wouldn't accomplish anything).

But like I said, if you post a screenshot I'm 95% sure I can explain exactly what the supply system is doing and why it's actually right :p.

Oh, and as for the fuel -- the throughput limits are the same for supplies and fuel, but you almost never use enough fuel to reach the throughput limit for fuel in a province.
 

Gaizokubanou

Colonel
35 Badges
Jun 8, 2006
993
59
  • Hearts of Iron IV: Together for Victory
  • Semper Fi
  • Teleglitch: Die More Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Res Publica
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH: Season pass
  • BATTLETECH: Heavy Metal
  • For the Motherland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Europa Universalis III Complete
  • King Arthur II
  • Magicka
  • Europa Universalis III Complete
Very constructive.

To be fair you just slammed wiki link to list of very specific questions that were clearly beyond wiki's parameters.

quetzilla I have a general question. Say on the front I have two adjacent provinces but the supply path leading up to that point is enough to supply only one province completely. Given that two adjacent provinces have same terrain type and same amount of units, will the game then 1) split the supplies into two even path and give me two half supplies provinces or 2)supply one first based on some sort of first come first serve basis or 3) there can be no equal provinces in terms of province size/distance so it'll always have a reason for picking one over the other?

And why is it that when I click on a core, non-capital province with lot of IC, for the nearest supplier it won't say 0 like it does for the capital?

And does the game try to limit the supply path to narrowest path possible, if not, why does it limit itself to narrow suply paths?
 

delra

Master of Orion
34 Badges
Jan 27, 2008
26.138
543
  • Europa Universalis IV
  • Victoria 2
To be fair you just slammed wiki link to list of very specific questions that were clearly beyond wiki's parameters.

quetzilla I have a general question. Say on the front I have two adjacent provinces but the supply path leading up to that point is enough to supply only one province completely. Given that two adjacent provinces have same terrain type and same amount of units, will the game then 1) split the supplies into two even path and give me two half supplies provinces or 2)supply one first based on some sort of first come first serve basis or 3) there can be no equal provinces in terms of province size/distance so it'll always have a reason for picking one over the other?

And why is it that when I click on a core, non-capital province with lot of IC, for the nearest supplier it won't say 0 like it does for the capital?
Read the first line of his post again.

Ranting I won't bother responding to.
 

quetzilla

General
42 Badges
Sep 23, 2009
1.736
14
  • Crusader Kings II: The Old Gods
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • For the Motherland
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Crusader Kings II
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Rights of Man
  • Stellaris: Megacorp
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • PDXCON 2017 Standard Ticket holder
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
To be fair you just slammed wiki link to list of very specific questions that were clearly beyond wiki's parameters.

quetzilla I have a general question. Say on the front I have two adjacent provinces but the supply path leading up to that point is enough to supply only one province completely. Given that two adjacent provinces have same terrain type and same amount of units, will the game then 1) split the supplies into two even path and give me two half supplies provinces or 2)supply one first based on some sort of first come first serve basis or 3) there can be no equal provinces in terms of province size/distance so it'll always have a reason for picking one over the other?

And why is it that when I click on a core, non-capital province with lot of IC, for the nearest supplier it won't say 0 like it does for the capital?

And does the game try to limit the supply path to narrowest path possible, if not, why does it limit itself to narrow suply paths?

1) In my experience the game will prefer to move supplies through one province only wherever possible. This is most likely due to supply tax -- you get hit with the tax for every province-distance you move through, it's not tied to how much supply is actually being moved through a province. If you move through 3 provinces in a line, with one province-distance between them, that's 3 hits. If you move from A to B on 3 parallel paths, each with 3 province-distance total, thats 9 hits of supply tax.

2) Because distance to supplier is calculated from the capital. Lets say you have a province with 1 IC, and beyond that you have 3 infantry divisions. Obviously all of the supply can't come from the one IC province between them and the capital. All supply is directed out of the capital. A proportion of the IC is ALSO injected into the IC provinces (I haven't figured out the exact formula, but in my experience its about .6-1 supply unit per IC, but it varies and I'm not sure exactly why). From a programming perspective, this is the most cost effective way to do it, any other method involves calculating all sorts of other stuff without any tangible improvement.

3) Answered in #1. It' the same reason shipping companies use interstate highways, and not shipping 1 xbox at a time across all the country backroads between LA and NY (and I've been on many of those interstates and backroads so I know).

Oh, I should also clarify that province-distance is affected by both the size of the province as well as the infrastructure of the province -- don't know the exact formula, but you get hit for supply tax for each province-distance the route takes, not just each separate province (since not all provinces are created equal).
 

unmerged(27471)

Captain
Apr 2, 2004
473
0
Read the first line of his post again.

Ranting I won't bother responding to.

That's a nice high road to take after responding only with snark and pointless links.

The fact of the matter is that no one outside of Paradox understands how the supply system works such that they could explain the situations EvoV describes and which i have also experienced. That's the problem, don't you see? It's hard to play a game when you don't know the rules.

Just go read the responses to Johan's post. Everyone has saved game files with issues like these, but they're not sure if they actually represent a bug, or are WAD.
 

delra

Master of Orion
34 Badges
Jan 27, 2008
26.138
543
  • Europa Universalis IV
  • Victoria 2
Do you realize that your research is pointless since 1.4 will have supply reworked even further?
 

Gaizokubanou

Colonel
35 Badges
Jun 8, 2006
993
59
  • Hearts of Iron IV: Together for Victory
  • Semper Fi
  • Teleglitch: Die More Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Res Publica
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH: Season pass
  • BATTLETECH: Heavy Metal
  • For the Motherland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Europa Universalis III Complete
  • King Arthur II
  • Magicka
  • Europa Universalis III Complete
Do you realize that your research is pointless since 1.4 will have supply reworked even further?

WILL, not atm. 1.4, for all we know could be more than a month away, so no harm in trying to learn 1.3 mechanics in the meanwhile. And usually patches are collection of changes, not completely new stuff, so it should help to know how 1.3 works in order to master 1.4 faster.
 

quetzilla

General
42 Badges
Sep 23, 2009
1.736
14
  • Crusader Kings II: The Old Gods
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • For the Motherland
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Crusader Kings II
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Rights of Man
  • Stellaris: Megacorp
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • PDXCON 2017 Standard Ticket holder
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
There was no massive change in how supply worked between 1.2 and 1.3. The ONLY difference was that some of the supply is injected into the network at IC provinces. Nothing else changed. Now, they could completely redo it for 1.4, but that would be code suicide.

As I said before, if you give me a screenshot, 95% chance I can tell you exactly what is happening. If you don't post a screenshot, I can only give you maybes and possiblys. If anyone has any screenshots they think prove that the supply system is crazy, I will be happy to show you exactly what is going on. Failing that I can probably figure out what is wrong and report it as a bug. Otherwise it's just a lot of hyperbole that doesn't accomplish anything.
 

Gaizokubanou

Colonel
35 Badges
Jun 8, 2006
993
59
  • Hearts of Iron IV: Together for Victory
  • Semper Fi
  • Teleglitch: Die More Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Res Publica
  • BATTLETECH
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH - Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH: Season pass
  • BATTLETECH: Heavy Metal
  • For the Motherland
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Europa Universalis III Complete
  • King Arthur II
  • Magicka
  • Europa Universalis III Complete
There was no massive change in how supply worked between 1.2 and 1.3. The ONLY difference was that some of the supply is injected into the network at IC provinces. Nothing else changed. Now, they could completely redo it for 1.4, but that would be code suicide.

As I said before, if you give me a screenshot, 95% chance I can tell you exactly what is happening. If you don't post a screenshot, I can only give you maybes and possiblys. If anyone has any screenshots they think prove that the supply system is crazy, I will be happy to show you exactly what is going on. Failing that I can probably figure out what is wrong and report it as a bug. Otherwise it's just a lot of hyperbole that doesn't accomplish anything.

Your maybes and possibilities already helped me a great deal :D

I think it's still obscure though, since none of the stuff you mentioned are really well documented in or outside the game. And of course, lack of control in direction of supply is always annoying.
 

quetzilla

General
42 Badges
Sep 23, 2009
1.736
14
  • Crusader Kings II: The Old Gods
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Pre-order
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Europa Universalis IV: Res Publica
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • For the Motherland
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Crusader Kings II
  • Crusader Kings II: Sunset Invasion
  • Europa Universalis IV: Rights of Man
  • Stellaris: Megacorp
  • Tyranny: Archon Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • PDXCON 2017 Standard Ticket holder
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Pillars of Eternity
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Yes, I agree that the information on how this works is lacking, which is part of what leads people to go WTF? and assume that it's broken. And the more people who post about it being broken, the quicker people think their own supply problems are simply because the game is broken, rather than figuring out what it is that they don't understand.

As of right now I only know of one legitimate bug with the supply system, which is that it won't reroute around damaged infrastructure -- it seems to go by the base vale rather than the actual value. So if you have a supply route going entirely through province X, and province X gets smashed in a ground battle, everything beyond province X is going to be @$!%ed for a few weeks. The game should reroute, but currently it doesn't.
 

Redge

Sergeant
2 Badges
Jan 12, 2007
77
0
  • Hearts of Iron III
  • 500k Club
From a programming perspective, this is the most cost effective way to do it, any other method involves calculating all sorts of other stuff without any tangible improvement.

I disagree, by iterating supply, or in otherwords, using previous factors while determining new factors you can avoid the following situations.

To reproduce this just load day of infamy scenario(Ger), let run for 10 days without moving any units.

supply2.jpg

supply3.jpg

supply4.jpg

You can clearly see that there could be tangible improvements by calculating 'stuff' not currently done. For instance letting units path supply after other units have used up throput in a province, and even adding another layer of modulating sequence if a unit is blocked from supply because another unit boxed in his path to supply.

if unit a has path that maxes throughput, unit b should not path through those provinces. If new route of b is inefficiant, unit a should be bumped out of prov it is using if another route works that achieves a better result after checking both a and b.

----------------
-----xxxx------- a b
----------------

Curently it seems from a quick look that both a and b will path through bloced provinces

I would think this added computation would improve the design.

-----bbbbbb----
bbbbb-xxxx-bbbb b

if a has used up throughput, b should path around blockage.

If pathing around blockage is not possible for b, a should be checked to see if the provinces blocked (that they are using) can be pahed around and a's path could be changed.

And the no supply through ports is silly.


(In image 2, it says no supply is reaching unit,(actually .69 is), should have said not enough supply, although it happens with many units that no supply is routed in)


By itterating supply as noted in previous post a few weeks ago you get an added layer. Then while determining paths after first itteration, you could look at max throughput and used thouroput as a percentage, and add that to path selection algo. algo would be able to predict future blockages by looking at trends of usage of provinces and adjusting.

So if four provinces were pathing through 1 province using 25% of its thouroput on first 10% itteration, then on second pass, when looking for path of any one of those provinces it would favor a 0% usage province while pathing. In earlier post I said that when a province reaches maxed out level it could be removed from path list, a better way would be a gradual decrease in the favorabiltiy of pathing through a province as its percentage compared to other percentages increase. So not only would you remove a province from pathing algo availabiltiy at 100% usage, but at 25,50,75 percent usage you would downgrade selection of that province for pathing.

If first pass of a ten pass algo, any province is above 10% usage, it can be reasonably assumed that there will be a blockage before reaching 100% so on second pass begin then looking for alternative pathing.

Edit: Once again I can not find previous post to comments on supply programming ideas, so here is a short version of the part I refered to when saying 'previous post'



NOTE: This is not how supply is done in HOI3, only thoughts of how it could be done.

NOTE2: previously I said calculate for each unit, you would only need to calculate for each province that has a unit.

best way I can think of would be to have a path from every province back to supply. Then that province gets .1 units of supply, and every province on path is docked required amount for usage of infrastructure. Every unit gets its .1 units of supply, then you go back to the first unit and get him another .1 unit of supply. If a provinces throughput is gone, then any unit that pathed through that province has to repath, and the re-path does not include that province that now has no throughput.


So something like this this for a supply system.

Supply tax would be the loss of supply on route calculated by terrain, infrastructure, and cumulative over distance.

Throughput is the max supply that can go through a province.

province would have a list of adjacent provinces, throughput, and difficulty to compute its supply tax or resistance to supply based on terrain and infrastructure.

A unit contains unit ID, unit supply need, and a linked list that is path of provinces to a supply source, and the distance or supply tax it used last time it pathed, and a flag for when it needs to repath 'refigure_path'.

prov_list- Create a list of all provinces owned by that country with values for throughput and supply tax. Any provinces that have values in its 'adjacent province' list that are not supply available (sea, or not owned) are removed from adjacent list of each province.

unit_list- Create a list with all units belonging to a country in it. each unit has a node that contains a path to get to supply. The path is a list of provinces making up the quickest path back to supply. (unit_path) The unit also stores how much supply tax it cost to get to the source for the stored path.

1.check if unit still needs supply that turn, if it is full of supply remove unit from unit_list.
2.unit paths back to supply by walking out simple path-finding finding algo* that finds the lowest supply tax (or distance to source modified by infrastructure). The list is stored in unit_path. One path for each unit. only provinces in prov_list are used when path-finding.
3.If unit can not reach source unit is removed from unit_list and what supply he has found is what he gets.
4.If path reached source then unit gets .1 supply, and source goes down .1 supply
4.each province on the (unit_path) for the unit has its throughput docked by .1
5.if any province reaches throughput of 0, all units have there paths checked. any that have paths that contain that province, (if it is in their computed path), their path is flagged with a refigure_path marker. And the province that is now 0 throughput is removed from the prov_list used for pathfinding and adjacent.
6.Do this for every unit so that every unit is pathed once, each getting .1 supply

6.resort the unit list with the unit that has the closest easiest path, based on the supply tax score of the last path he was supplied with. This way the closet unit will always go first setting his path next time.

7.go back to the first unit
8.repeat sequence till unit_list is empty.
9.the prov_list also contains the info needed for the supply map filter, since it would show how much use each province got.

To solve the problem of ports and land, basically just treat a cargo line as another providence link. For every port that has a supply convoy add the origin port of the convoy to adjacent list for path finding. set a throughput and supply tax(for the water province) based on number of cargo ships and port size.

Since there can be multiple sources of supply, alies or forward staging areas, the easiest way to handle that is modify the pathfinding.

If you are looking for the shortest path, and you found an allied source, double the number used to see if it really is the smallest number and should be checked next. Basically when finding paths, to get supplies from a allied or supply depot you have to be closer to it. That value can be set in game or changed for different circumstances. It just keeps some of the issues of why did it choose the allied not the own source down.

Some issues are road jams, If everyone is getting some supply, it is still possible that some units will use up alot of road that closer units could use. This is solved easiest by deltas of path links, since the program is doing multiple passes check the distance of the first pass, compare it to each pass. If the delta of the first pass and some later pass gets to high, throw the guy on the end of the list. Basically you keep a running count of 'wild wavy road' tolerance by keeping a comparison of best path and 'stuck with long path after things jammed up' and units that are doing the longer path can be thrown to end based on some acceptable variance in low and high deltas. (this is done when resorting the unit_list after each loop step 6.) Deltas can be done in many derivatives for rate of change or change or whatever form of variance a person wanted to use to moderate wild aberrations in pathing out of norm sequence.

Some see processor time as an issue. but there are many variances there, you can start with .1 and then go exponentially higher numbers it has same effect just different curve.

Also the pathing algo is actually pretty fast it is only a few compares of items in lists. Also the only time you have to repath is when a province has used up its throughput, otherwise each allocation of .1 supply is just running down a list of provinces and incrementing there throughput usage. If that list is not province numbers, but pointers into the list of provinces it is just adding .1 to a bunch of numbers till there is a problem, then fix, and continue.
 
Last edited: