Skip to content

Settler taxing

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


Table of Contents

Proposal

Summary

The only way to get money aside from selling resources is by taxing the settlers. This is the main part of the income and therefore most important for a player. The taxing is tightly coupled with the happiness of settlers. The more goods they get, the more tax will they pay.

Detailed Description

Each settler pays taxes regularly. The amount of taxes paid is calculated according to the formula below: happiness * tax_rate. It will be calculated for each residential building since the happiness values are bound to certain inhabitants. The general tax rate is not equal for all inhabitants of a settlement, so it matters to which tier they belong.

The user can set a tax_setting between 0.5 (low) and 1.5 (high) in steps of 0.1 where 1.0 denotes medium level. A higher tax setting has the effect of increasing tax income and reducing happiness at the same time.

As one can see in the formula, the happiness will heavily decrease when tax level is set to high, so this setting is to be used only for short periods of time (when the player urgently needs money).

A small tax rate is also contemplated. It would increase happiness, which could make settlers level up, even when certain needed resources are missing.

Open to discussion: Paid taxes depending on inhabitant amount per building? As in, should a building with 3/5 inhabitants pay the same amount as one with equal happiness and 5/5 inhabitants?

Taxing and Happiness

The influence to the happiness of the tax_setting is the following - 8:

  • difference to 1.0 times 6 when low taxes (for 0.5 happiness decreases by 5)
  • difference to 1.0 times 18 when high taxes (for 1.5 happiness decreases by 17)
where - 8 resembles that paying taxes in general causes discontent.

Check #Formulae for the current formula. At medium 1.0 tax setting, happiness does not change if most desired resources are provided. A plot of above graph can be found here.

Implementation related note

Every tier has a base tax (it's 2 for sailors).

Since happiness is an integer ranging from 1 to 100, it would influence the tax amount too much if we used "happiness * tax_rate". Therefore, we will use a modifier of

(1 + ((happiness-50)/100)) = 0.5 + happiness/100
This way, the modifier stays between 0.5 and 1.5 and at medium happiness, it's 1.

Data

Balancing values

Formulae

def modify_happiness(tier, tax_level)
"""
tier int 1 .. 6
tax_level float 0.5 .. 1.5
"""
difference = 1.0 - tax_level
modify = 12 * difference - 6 * abs(difference)
return modify - 8
def tax_income(tier, tax_level, happiness, inhabitants_of_building)
"""
tier int 1 .. 6
happiness int 1 .. 100
tax_level float 0.5 .. 1.5
inhabitants_of_building int: for e.g. Citizens this would be between 5 and 8
"""
happy_mod = 0.5 + happiness/100
inhabitant_mod = inhabitants_of_building / max_inhabitants[tier]
return base_tax[tier] * happy_mod * tax_level * inhabitant_mod

Category:Economy

Clone this wiki locally