About my current game situation: I have reached really big economy and some bugs manifest themselves. Port situation stops me with rations & meals production (Empire). And I hope that in next two or three hours of gametime it will be solved somehow. From mathematical point of view, I kept to the guidelines of my strategy and it should be working, but it isn't...
I can tell you that I have plenty of farms (more than 100), piggeries, mills and bakeries. Two warehouses are storing wheat and water each and in both of them you have resources. Another warehouse is storing food and it has hundreds of it, but inns aren't working. Why? Because of bad infrastructure? No! Because of strange bugs. It is shown only with heavy traffic. From my side there are only two solutions here:
- Replay the game with only 2 ports and 2 or 3 ships. That should solve the problem of heavy traffic. Limited traffic should not cause this problem.
- Replay the game with NO SHIPS at all. I believe that this is a solution of WorldSavior.
I follow more or less the same strategy, and I got the same problems, but as far as I can tell they are not bugs. Simply, when the wares transported become too many, the transportation system is strained past the breaking point. If the map is simply wide, like for example ice wars, you don't see it, because you have plenty of roads and nothing is too distant from anything else. But nile seems made exactly to bring out those problems. In nile you have a strip of land near the water, so basically everywhere is a chokepoint. And travel distances get very long because your economy isn't concentrated into a circle, it is spread in a line. So you have a lot of wares that have to make a long trip by road, and you eventually exceed the transportation capacity of the roads. Your empty inns? probably they are waiting food that is scheduled to arrive by ship but it stuck in one of your ports, with a queue of thousands of wares to be unloaded before it. And the amount of wares your carriers can carry is a hard limit you can't surpass.
I got stuck in a similar situation, and made my first game by splitting the economy in 10 unconnected trunks, each self sufficient. But it was inefficient. then I looked at tando's final situation, and saw that he had low traffic, despite very little planning at all. He basically just built little self-sufficient productive units everywhere on the map. So I figured it out: you don't have to plan the economy. As I expanded, I gradually built small "towns" with some smokeries, mills, bakeries, smelting works, weapon and armor smith, labirinth and dungeon, all around a warehouse. Each one of those units is self-sufficient, except it must import raw resources. So metals refined into a smelting works are generally placed inside its warehouse, and then taken to feed its weapon smith. I made sure to produce raw resources - corn, blackroot, fish, logs, ores - everywhere on the map, spread out, so that everywhere would not be too far from a basic production site. So all the raw resources move only a little distance. There are a few imbalance in production that may require a missing ware to be called from afar every once in a while, but those wares aren't enough to slow down anything too much. it works wonderfully. it's basically the principle of glocal economy applied to widelands.
Sure, centralized production looks great on paper, and in mid-sized maps it helps reduce wasted resources. But your production sites can store a lot of wares, so even if some of them take a long time in being replaced, the productivity will still remain good. And even if their productivity drops because a resurce coming from afar takes too much time arriving (my problme with fish and smokeries, as smokeries only store 4 fish), you can build more production sites; space is not a problem, reducing transportation distance is. And wasting resources in not too big a problem in a 24-hour game on a huge map. Sure, you need a lot of excess stuff before this system really kicks in (like, you need every smelting works filled with ores, every mine filled with food, and some storages in every warehouse), but once you have that excess, it runs smoothly. Of course, it would be a really bad strategy on smaller maps, where it is vital to use every single scrap of metal or bit of food to gain an advantage over the enemy.
The lesson in this, I think, is that different maps require different strategies. You are trying to fit a round peg into a sqare-shaped hole.
Regarding ports, you can look in my replay how I made them: they are very efficient spaced that way. There are three ports at river intersections, and traveling over water there saves a huge amount of travel, so wares that need to cross the river tend to go there (of course the system only works as long as there aren't too many wares needing to cross). And there is never traffic between the two port triangles, because travel by road is faster in that case. So ships remain in one single place. If we call the ports ABC and DEF, then it never happens that a ware is loaded at A to be carried to D, or E, or F. A ship carrying wares from A never has any reason to go far. So all ship transit is fast. If you make more ports, you risk ships aking long detours to visit minor destinations while carrying important wares.
I repeat what I keep saying, it would be possible to get much greater efficiency if we could assign specific ships to specific routes, but with the algorithm as it is, the effectiveness of transport goes down with increasing number of ports. I learned it the hard way in some of my challenge maps that have ports (dust in the wind, the great escape). It doesn't matter how evenly spaced your ports are, or how well an ideal traffic would flow over them; the boat transportation algorithm can't handle effectively complex situation. I can only get away with having 6 ports because there is an effective road system between the two triangles. If the river was shorter, then boat transport would go to hell pretty fast, as wares loaded at A for B (close) are neglected to go carry some more water to D (very far) while ignoring B, which is along the way. And then on D the boat would take on some wares for E (close to D), but now the old wares due to B take priority so the ship would go alll the way round the map again...