News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

Industrial density and distribution

Started by AP, January 28, 2014, 11:29:09 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

AP

I thought it might be helpful to break this discussion out from the server game thread.

Quote from: Sarlock on January 26, 2014, 11:43:57 PM
I think part of the problem is that while there are a lot of industries on the map as a whole they are so utterly spread out due to the sheer size of the map.  400 industries on a 7000x2000 map nds up with a still very low density level (even if they are concentrated on the shorelines).  Most industry connections are at least 500 tiles apart, and most are thousands.  This makes the use of long-distance shipping the primary key to making profits.

Quote from: AP on January 27, 2014, 10:15:01 AM
In terms of industry density, I would expect a town of 2000 people to have 6 or 7 different small industries or 3 or 4 larger ones. Otherwise a lot of people are sitting idle. Multiply up for larger towns. EDIT: Industries say how many employees they have (and where they live). Cannot industries spawn around towns until all the population is employed?

Also industries should be moderately close to the towns, the people who work there, which means linking towns with canals makes it likely the canals will serve multiple industries. If the industries spawn miles apart then you need a lot of canal to connect them all. (Farms are different, of course). Having heavy industry or mines in the hills without a town adjacent is just implausible.

It would seem there are several related issues maybe worth talking through?


       
  • Number of industries (opportunities for profit), vs map size & number of of players

       
  • Disparate profitability, Local vs Long distance routes - the games inclines to spawning the former, but the latter are more desirable.

       
  • Distribution of industries (lack of clustering) and its implication on greater amount of infrastructure required to service

       
  • Relationship between number of employees and town population (apparent high unemployment, industries spawning far from workers).

jamespetts

Have you had a look at this thread? That describes in outline what I plan to do about the relationships between towns and industries. Does what is suggested there seem to make sense?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

AP

Interesting thread, I hadn't seen it before. It does make sense and seems well considered :-)

When it is developed/implemented, I think it will be interesting to see how industries spawn, if they cluster etc.

The (geographic) length of industry chains is something not mentioned. There's a contradiction built into the game-  in reality a brickworks will be built near a local clay pit, but in the game players are incentivised to ignore the local clay pit and use the alternative one far away, because of the greater profit (solely based on distance carried). It would be boring if the industry links were only short, but  perhaps more realistic?



wlindley

A clothes shop might well sell many things from the local textile mill, and a few expensive items from far away. Likewise even with a coal yard: they might sell a small amount of an expensive type of coal from far away.

Industries should link to suppliers far and near, but the percentage distribution should reflect that the 20% of nearby suppliers contribute 80% of the goods consumed, and the 80% of distant suppliers contribute 20%.  Or 90/10.  That keeps the fun and realistic incentive for long distance transport at the right level.

(As for "if it's from far away, it must cost more" -- Some years ago I was on the Eurostar from Ashford on my way, under strict orders from a lady friend in Los Angeles, with a list of perfumes and cosmetics to buy in France ("The French are the experts," she told me), when I overheard two French women talking about what they were ordering from a store on Rodeo Drive because "The producers in Hollywood know everything about beauty.")

AP

Should it then be that e.g. a brickworks will only demand exotic clays when it has a steady supply of local clay and production of local bricks?

That local industry chains must first be serviced, before the industries get extra alternative links? Rather than spawning with many long-distance links. This would incentivise servicing the low-profit industries.

Sarlock

Length of industrial chain increased as transportation speed increased over the decades/centuries.  Factories were originally quite close to each other, for the most part, as it made transporting vast amounts of raw materials much easier (especially for industries that used bulk materials, ore, coal, etc).

The other issue, as mentioned, is that the game is biased towards rewarding long distance trips over short distance trips: the infrastructure cost is the same in both cases, therefore overall profits are much higher for the long distance trip.
Current projects: Pak128 Trees, blender graphics

AP

#6
Quote from: Sarlock on January 28, 2014, 03:43:08 PM
The other issue, as mentioned, is that the game is biased towards rewarding long distance trips over short distance trips: the infrastructure cost is the same in both cases, therefore overall profits are much higher for the long distance trip.
It's mitigated slightly in later eras e.g. for rail by the maintenance on track & intermediate infrastructure, and capacity limits prevent too many long distance routes.

But with water transport esp 1750-1850, neither of those apply, which exposes the bias as you say.

jamespetts

Ahh, yes, as Sarlock points out, we cannot have these things fixed to set distance for the same reason as the passenger distance ranges do not work and have been removed in the latest Github code. Any ideas about how secondary and tertiary industries should spawn not involving fixed distance ranges would be of interest, although coding all of this might well take a considerable time.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

AP

Rather than fixed distance ranges, could a formula be used which approximated a reasonable acceptable distance based on the speed the vehicles available? Either by the game knowing what that is (from the depot), or by us creating such a formula, which might for instance use the game-year as a base (e.g. yyyy minus 1749) and then multiply it up in some fashion (either linearly or exponentially) to account for ongoing improvements to infrastructure.


I will ponder this further, but currently my attempts to rationalise how to spawn the industries more "intelligently" based on infrastructure/geography ends up in a bit of a catch 22 at the start of the game (when no infrastructure exists).

Jando

Quote from: wlindley on January 28, 2014, 12:50:36 PM
...
Industries should link to suppliers far and near, but the percentage distribution should reflect that the 20% of nearby suppliers contribute 80% of the goods consumed, and the 80% of distant suppliers contribute 20%.  Or 90/10.  That keeps the fun and realistic incentive for long distance transport at the right level.
...

Nice suggestion, I would like that very much.

Alternatively industries could demand goods from the nearest supplier first and only demand goods from other suppliers when the nearest one has no supply (for whatever reason).

Edit: and nearest could be either by distance or by travel time, whatever is more convenient. :)

ӔO

The initial industry distribution is broken -lob sided results- , so these problems might be lessened when it is fixed.
My Sketchup open project sources
various projects rolled up: http://dl.dropbox.com/u/17111233/Roll_up.rar

Colour safe chart:

AP

Quote from: Jando on January 29, 2014, 11:53:06 PM
Edit: and nearest could be either by distance or by travel time, whatever is more convenient. :)

It can't be by travel time, since there is no travel time until there is a transport link in place. Which nobody will build unless there is demand. Catch 22.

Ergo nearest by distance, but there is still the question of where to spawn the first supplier (and later, subsequent ones) - if james doesn't want to hard-code a maximum radius.

jamespetts

Placement of primary industries in theory should be based on availability of resources (and it would be lovely to have coding for resources one day, but that is rather a low priority and therefore a distant project), but a random placement (within the limits of climates) that exists currently is sufficient to approximate this for the present. The more difficult question is what to do with secondary and tertiary industries; as AP points out, transport time cannot be used, and distance multiplied by a number representing some average travel time cannot be used either, as topography may make a huge difference to actual travel time (consider the effect of mountains and/or oceans).
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

AP

Quote from: jamespetts on January 30, 2014, 10:34:03 AMdistance multiplied by a number representing some average travel time cannot be used either, as topography may make a huge difference to actual travel time

But would it be better than nothing? Especially if combined with some kind of demand ratio (90% from near, 10% from far) within the industry-linking code as suggested by wlindley above?

Anything else would require the placement code to "understand" the geography which sounds like hard work.

The only other way I can see which might give more logical outcome, would require the Secondary industries to be placed first, randomly (but in towns / on coast tiles etc), and then the primary industries placed to suit them at suitable distances. If you place the primary industries first, and impose a radius, there may not be a town within the radius at the era in question for the factory to spawn in.

jamespetts

Changing the order of placement does not work well when considering that the same code must be used to spawn industries both on map generation, and then throughout the game. As to distance based placement, there is such an enormous distance between the speed of a ship and that of a jet aircraft that this really does make little sense without considerable refinement.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.