Skip to main content
Topic: New consumption rate heuristic. (Read 3914 times) previous topic - next topic

New consumption rate heuristic.

Hi everyone!

I've been playing simutrans for years now and there's something that I would like to suggest.

Currently the consumtpion rate of any industry is based on two factors:

- A value calculated when the factory is created;
- that value is doubled when electricity is given to the factory.

Throughout the different industry chains of the game, this basic heuristic works well for raw material producers and intermidiate manufacturing entities. However, at the end of a chain, the final consumer ends up beeing "overcrowded" with finished goods waiting to be consumed. Even if that overcrowding effect doesn't happen at the beggining of the game it will happen with time, caused by the creation of more and more industries.

From what I've seen in map creation and creation of new industries, each end consumer seems to be "linked" to a city.
What I suggest is an addition to the end consumer consumption rate heuristic like this:

- A value calculated when the factory is created; (currently implemented)
- Value is doubled with electricity; (currently implemented)
- A multiplier parameter based on city population.

This parameter should be small enough to keep the chain balanced, which means some time would have to be spent testing this.
From my experience playing simutrans I can see that as time p****es cities can grow to have several thousands of inhabitants so this parameter could be placed, for example, at 0.020 which would increase the consumptiom rate by 20 for each 1000 population:

Suggested Fórmula:

(Integer variable) staticValue; //value calculated at shop creation
(Integer variable) population;
(Float/Double variable) multiplier = 0.020;
(Integer variable) electricy; //possible values {1, 2}

consumption rate = (staticValue * electricy) + (population * multiplier);

Finally, consumption rate would be truncated/rounded to be converted  from decimal to integer value.

For raw materials and intermidiate factories the "old" fórmula could be used, or this fórmula could be used with multiplier = 0.00

If possible, different end consumers would have different multiplier values. This multiplier would be higher for the food chain while it could be lower for the materials shop or car shop for example. Although I guess this would mean implementing this multiplier directly on the paks instead of only on the game engine.

Re: New consumption rate heuristic.

Reply #1
This is more or less implemented now by creating new consumer factories while the population is growing. I don't see what your proposal adds to gameplay.

For me the advantage of the current system is that you only have to check the transport capacity when you are changing or adding goods lines, for example to service a newly created industry or a newly powered industry. This reduces the need for all kinds of micro-management. In your proposal you would have to check all the time if you are servicing the factories well enough.
Bob Marley: No woman, no cry

Programmer: No user, no bugs



Re: New consumption rate heuristic.

Reply #2
The consumber is only connected up to 100% producer capacity. THe problem is rather that the inflow is not regular, creating aparent backlogs. But in principle crossconnection is stopped at 100%+X. Of course if one factory produces 95% and the other 98% then the supply would be 193% as a worst case scenario.

THe is also another problem. Many factories have more than one consumber. If you decide to ignore that and mover everything one to one and not to all, then you screw up the calculation too.

Re: New consumption rate heuristic.

Reply #3
I'm quite against this, to base the production on even more formula makes it far harder to follow the supply chain through when laying track.

Some of the sim games i've come from have had much more simplistic views on supply chains, eg the X series where one station would provide enough for a specific number of other factories, usually 1 for 1, in the newest game they added another line to this but the basic principle continued.

While it would be more realistic to have the factories produce a more varied output it would just make it too hard to build a solid transport network.

Re: New consumption rate heuristic.

Reply #4
I'm surprised I haven't take notice of this one up until today.
I will be at the defense of mad_genius here.

-micromanagement due to constant consumption increase
 []Instead of counting consumption triggered population by unit population, count
    by variable larger number. For example, 1000. Change will occur only after designated number
    population growth. Player will only have to worry at each X population growth of concerned cities.

-unstable flow of finished goods and raw material
 []Some times, you see that using 280t capacity freight train to supply one gasoline station where
    its storage capacity is 100t is not very clever. Especially if refinery is far and you use only one consist.
    Gasoline station will be empty before freight train arrives.
  
   Player have given the tools to make supply smooth even with the over production capacity.
   One is to use smaller and frequent service and one is to limit the raw material providing to
   finishing factories by making vehicles wait at non functioning stations.

-
I'm quite against this, to base the production on even more formula makes it far harder to follow the supply chain through when laying track.  ...
While it would be more realistic to have the factories produce a more varied output it would just make it too hard to build a solid transport network.
 []Easy solution. Cap the consumer's consumption capacity.  Now you can reserve some extra space
     for line upgrade and station/stop expansion. We also have underground.
     With knowing that there is a limit one how much a consumer can eat, you can plan for future
     development.

Of course, there will be more problem arising as we consider this matter but I like the fact that
as city dweller increase, they ask more good for them.
At least, I want to see more discussion going on about this one.

EDIT1: Added phrases to consolidate my stance.