News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

New consumption rate heuristic.

Started by mad_genius, February 22, 2010, 01:02:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mad_genius

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 passes 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.

Combuijs

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



prissi

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.

OnlineGambit

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.

colonyan

#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.

-
Quote from: OnlineGambit on February 23, 2010, 07:40:51 PM
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.