Skip to content

Supply citizens with resources

Thomas Kowaliczek edited this page Jan 15, 2016 · 1 revision

Table of Contents

Proposal

Summary

Settlers are getting their resources at the Marketplace (i.e., their collector gets them). When a settler collector arrives at the settler, the happiness increases right then.

It will take some time, until the res disappear. The collector can also get res, where some are already in the settlers inventory, in order to build a repository of this res. The resource will disappear gradually.

The more inhabitants a settler building has, the more res they consume. The realistic approach here is to say that 2 inhabitants consume twice the amount of 1 inhabitant. Since it has been decided that a building will contain up to about 20 inhabitants, this would lead to really big numbers, and the player would have trouble supplying them all.

Therefore we will use a different approach. Example: 1 inhabitant eats 1 food in 60 secs. The consumption time changes with the number of settlers according to this formula:

consumption_time = (6/7) * log(1.5 * (inhabitants + 1.2))
A plot of above formula can be found here.
  • Given a base_time of 60 sec,
    • 2 inhabitants in the same building will consume 1.35 food in 60 seconds and thus equal 1 food in 45 seconds
    • 3 inhabitants will consume 1.58 food in 60 seconds and thus equal 1 food in 38 seconds
    • 21 inhabitants will consume 3 food in 60 seconds and thus equal 1 food in 20 seconds
This is unrealistic, but provides a better game experience.

Implementation related note

Each res, that is consumed, is implemented as a production line, that consumes 1 amount of this res, and produces happiness (the amount of happiness is related to the value of the res).

Data

Balancing values

See settler taxing#Balancing_values for a tabular overview of max_inhabitants per tier.

Formulae

def modify_consumption_time(prod_line_duration, inhabitants)
"""
prod_line_duration float 1.0 .. 3600.0 duration of processing this line in seconds
inhabitants int 1 .. 21 amount of people in a residential building
"""
new_amount = (6/7) * log(1.5 * (inhabitants + 1.2)) # log = base e
return 60 / new_amount

See also


It would make sense to distinguish between resources the inhabitants demand and such they desire. The latter are not necessary for development, but providing them will give you more tax income. A demand for resources needs to be fulfilled in order to reach the next tier.

We can additionally put those concepts together sometimes and let inhabitants desire at least one (or more) resource of a whole block. This was introduced in Anno 1602 afaik and has a huge potential, allowing us to add more diversity to the game while not forcing the player to keep up an over-complicated economy depending on many fertilities. --~eoc. 23:34, 27 May 2010 (UTC)

Category:Economy

Clone this wiki locally