Freeciv
("an other" --> another)
Line 24: Line 24:
 
The health of a city is defined by the possibility of an illness (plague). The following ruleset options are available in game.ruleset, section [civstyle]:
 
The health of a city is defined by the possibility of an illness (plague). The following ruleset options are available in game.ruleset, section [civstyle]:
   
; Whether plagues (illness) are possible
+
; Whether plagues (illness) are possible
illness_on = 0
+
illness_on = 0
; the base factor for illness (of percent)
+
; the base factor for illness (of percent)
illness_base_factor = 25
+
illness_base_factor = 25
; minimum city size for illness
+
; minimum city size for illness
illness_min_size = 3
+
illness_min_size = 3
; factor for how much trading with a plagued city increases our city's
+
; factor for how much trading with a plagued city increases our city's
; chance for plague (in percent)
+
; chance for plague (in percent)
illness_trade_infection = 50
+
illness_trade_infection = 50
; factor for how much pollution within a city increases its chance for
+
; factor for how much pollution within a city increases its chance for
; plague (in percent)
+
; plague (in percent)
 
illness_pollution_factor = 50
 
illness_pollution_factor = 50
   
 
Furthermore for the aqueduct and the sewer system an health effect is defined:
 
Furthermore for the aqueduct and the sewer system an health effect is defined:
   
[effect_aqueduct_health]
+
[effect_aqueduct_health]
name = "Health"
+
name = "Health"
value = 50
+
value = 50
reqs =
+
reqs =
{ "type", "name", "range"
+
{ "type", "name", "range"
"Building", "Aqueduct", "City"
+
"Building", "Aqueduct", "City"
 
}
 
}
   
[effect_sewer_system_health]
+
[effect_sewer_system_health]
name = "Health"
+
name = "Health"
value = 30
+
value = 30
reqs =
+
reqs =
{ "type", "name", "range"
+
{ "type", "name", "range"
"Building", "Aqueduct", "City"
+
"Building", "Aqueduct", "City"
"Building", "Sewer System", "City"
+
"Building", "Sewer System", "City"
 
}
 
}
   
The possibility of an illness is reduced by <value> percent defined by the effect '''Health'''
+
The possibility of an illness is reduced by &lt;value&gt; percent defined by the effect '''Health'''
   
 
===== Equations =====
 
===== Equations =====
Line 81: Line 81:
 
===== Example =====
 
===== Example =====
   
  +
 
[[Image:city_health_example.png | thumb | City health example (using this [[Math_of_Freeciv/health.m|m-file]])]]
 
[[Image:city_health_example.png | thumb | City health example (using this [[Math_of_Freeciv/health.m|m-file]])]]
   
 
Taking into account a city size of 1 to 50, a pollution level which equals six times the city size (pollution = 6 * size) and four trade cities of size 10 the illness possibility of the city is given in the following table (in percent).
 
Taking into account a city size of 1 to 50, a pollution level which equals six times the city size (pollution = 6 * size) and four trade cities of size 10 the illness possibility of the city is given in the following table (in percent).
   
{| border="1" celpadding="2" style="margin: auto;"
+
{|border="1" style="margin: auto;"
  +
!#
 
!colspan="3"|(illness)
 
!colspan="3"|aqueduct
  +
!colspan="3"|aqueduct + sewer system
 
|-
 
|-
!| #
+
!
  +
!base
! colspan="3" | (illness)
 
 
!+trade
! colspan="3" | aqueduct
 
 
!+pollution
! colspan="3" | aqueduct + sewer system
 
  +
!base
 
!+trade
 
!+pollution
  +
!base
 
!+trade
 
!+pollution
 
|-
 
|-
 
|align="right"|5
!|
 
 
|align="right"|9.800
!| base
 
 
|align="right"|11.200
!| +trade
 
 
|align="right"|12.700
!| +pollution
 
 
|align="right"|4.900
!| base
 
 
|align="right"|5.600
!| +trade
 
 
|align="right"|6.350
!| +pollution
 
 
|align="right"|1.960
!| base
 
 
|align="right"|2.240
!| +trade
 
 
|align="right"|2.540
!| +pollution
 
 
|-
 
|-
| align="right" | 5
+
|align="right"|10
| align="right" | 9.800
+
|align="right"|15.800
| align="right" | 11.200
+
|align="right"|17.800
| align="right" | 12.700
+
|align="right"|20.800
| align="right" | 4.900
+
|align="right"|7.900
| align="right" | 5.600
+
|align="right"|8.900
| align="right" | 6.350
+
|align="right"|10.400
| align="right" | 1.960
+
|align="right"|3.160
| align="right" | 2.240
+
|align="right"|3.560
| align="right" | 2.540
+
|align="right"|4.160
 
|-
 
|-
| align="right" | 10
+
|align="right"|15
| align="right" | 15.800
+
|align="right"|19.400
| align="right" | 17.800
+
|align="right"|21.800
| align="right" | 20.800
+
|align="right"|26.300
| align="right" | 7.900
+
|align="right"|9.700
| align="right" | 8.900
+
|align="right"|10.900
| align="right" | 10.400
+
|align="right"|13.150
| align="right" | 3.160
+
|align="right"|3.880
| align="right" | 3.560
+
|align="right"|4.360
| align="right" | 4.160
+
|align="right"|5.260
 
|-
 
|-
| align="right" | 15
+
|align="right"|20
| align="right" | 19.400
+
|align="right"|21.600
| align="right" | 21.800
+
|align="right"|24.400
| align="right" | 26.300
+
|align="right"|30.400
| align="right" | 9.700
+
|align="right"|10.800
| align="right" | 10.900
+
|align="right"|12.200
| align="right" | 13.150
+
|align="right"|15.200
| align="right" | 3.880
+
|align="right"|4.320
| align="right" | 4.360
+
|align="right"|4.880
| align="right" | 5.260
+
|align="right"|6.080
 
|-
 
|-
| align="right" | 20
+
|align="right"|25
| align="right" | 21.600
+
|align="right"|22.900
| align="right" | 24.400
+
|align="right"|26.100
| align="right" | 30.400
+
|align="right"|33.600
| align="right" | 10.800
+
|align="right"|11.450
| align="right" | 12.200
+
|align="right"|13.050
| align="right" | 15.200
+
|align="right"|16.800
| align="right" | 4.320
+
|align="right"|4.580
| align="right" | 4.880
+
|align="right"|5.220
| align="right" | 6.080
+
|align="right"|6.720
 
|-
 
|-
| align="right" | 25
+
|align="right"|30
| align="right" | 22.900
+
|align="right"|23.800
| align="right" | 26.100
+
|align="right"|27.300
| align="right" | 33.600
+
|align="right"|36.300
| align="right" | 11.450
+
|align="right"|11.900
| align="right" | 13.050
+
|align="right"|13.650
| align="right" | 16.800
+
|align="right"|18.150
| align="right" | 4.580
+
|align="right"|4.760
| align="right" | 5.220
+
|align="right"|5.460
| align="right" | 6.720
+
|align="right"|7.260
 
|-
 
|-
| align="right" | 30
+
|align="right"|35
| align="right" | 23.800
+
|align="right"|24.200
| align="right" | 27.300
+
|align="right"|27.900
| align="right" | 36.300
+
|align="right"|38.400
| align="right" | 11.900
+
|align="right"|12.100
| align="right" | 13.650
+
|align="right"|13.950
| align="right" | 18.150
+
|align="right"|19.200
| align="right" | 4.760
+
|align="right"|4.840
| align="right" | 5.460
+
|align="right"|5.580
| align="right" | 7.260
+
|align="right"|7.680
 
|-
 
|-
| align="right" | 35
+
|align="right"|40
| align="right" | 24.200
+
|align="right"|24.500
| align="right" | 27.900
+
|align="right"|28.500
| align="right" | 38.400
+
|align="right"|40.500
| align="right" | 12.100
+
|align="right"|12.250
| align="right" | 13.950
+
|align="right"|14.250
| align="right" | 19.200
+
|align="right"|20.250
| align="right" | 4.840
+
|align="right"|4.900
| align="right" | 5.580
+
|align="right"|5.700
| align="right" | 7.680
+
|align="right"|8.100
 
|-
 
|-
| align="right" | 40
+
|align="right"|45
| align="right" | 24.500
+
|align="right"|24.700
| align="right" | 28.500
+
|align="right"|28.900
| align="right" | 40.500
+
|align="right"|42.400
| align="right" | 12.250
+
|align="right"|12.350
| align="right" | 14.250
+
|align="right"|14.450
| align="right" | 20.250
+
|align="right"|21.200
| align="right" | 4.900
+
|align="right"|4.940
| align="right" | 5.700
+
|align="right"|5.780
| align="right" | 8.100
+
|align="right"|8.480
 
|-
 
|-
| align="right" | 45
+
|align="right"|50
| align="right" | 24.700
+
|align="right"|24.800
| align="right" | 28.900
+
|align="right"|29.300
| align="right" | 42.400
+
|align="right"|44.300
| align="right" | 12.350
+
|align="right"|12.400
| align="right" | 14.450
+
|align="right"|14.650
| align="right" | 21.200
+
|align="right"|22.150
| align="right" | 4.940
+
|align="right"|4.960
| align="right" | 5.780
+
|align="right"|5.860
| align="right" | 8.480
+
|align="right"|8.860
|-
 
| align="right" | 50
 
| align="right" | 24.800
 
| align="right" | 29.300
 
| align="right" | 44.300
 
| align="right" | 12.400
 
| align="right" | 14.650
 
| align="right" | 22.150
 
| align="right" | 4.960
 
| align="right" | 5.860
 
| align="right" | 8.860
 
 
|}
 
|}
  +
   
 
==== Migration ====
 
==== Migration ====
Line 218: Line 219:
 
===== Settings =====
 
===== Settings =====
   
Migration between cities is controlled by the following game settings. They can be changed by using the ''set'' server command. ''help <setting>'' will give you more information.
+
Migration between cities is controlled by the following game settings. They can be changed by using the ''set'' server command. ''help &lt;setting&gt;'' will give you more information.
   
 
* migration - Whether to enable citizen migration (default: 0 = off)
 
* migration - Whether to enable citizen migration (default: 0 = off)
Line 246: Line 247:
 
The last four factors f have values between 1 and 1.2; the overall factor will be between 1.0 (smaller cities) and 2.0 (bigger cities)
 
The last four factors f have values between 1 and 1.2; the overall factor will be between 1.0 (smaller cities) and 2.0 (bigger cities)
   
[build shield cost], [city surplus trade], [city surplus luxury] and [city surplus science] '''must''' be >= 0!
+
[build shield cost], [city surplus trade], [city surplus luxury] and [city surplus science] '''must''' be &gt;= 0!
   
 
The score of the source city is multiplied by 3 to take into account the persistence of the citizens.
 
The score of the source city is multiplied by 3 to take into account the persistence of the citizens.
Line 262: Line 263:
 
For the following three city the migration score is calculated:
 
For the following three city the migration score is calculated:
   
{| border="1" cellpadding="2" style="margin: auto;"
+
{|border="1" cellpadding="2" style="margin: auto;"
 
!colspan="4"|city characteristics
 
|-
 
|-
 
!
! colspan="4" | city characteristics
 
 
!city 1
|-
 
 
!city 2
!
 
! city 1
+
!city 3
! city 2
 
! city 3
 
 
|-
 
|-
| city size
+
|city size
| align="right" | 17
+
|align="right"|17
| align="right" | 5
+
|align="right"|5
| align="right" | 3
+
|align="right"|3
 
|-
 
|-
| citizens (happy/content/unhappy/angry)
+
|citizens (happy/content/unhappy/angry)
| align="right" | 7/9/1/0
+
|align="right"|7/9/1/0
| align="right" | 1/4/0/0
+
|align="right"|1/4/0/0
| align="right" | 0/3/0/0
+
|align="right"|0/3/0/0
 
|-
 
|-
| city has a wonder
+
|city has a wonder
| align="right" | yes
+
|align="right"|yes
| align="right" | yes
+
|align="right"|yes
| align="right" | no
+
|align="right"|no
 
|-
 
|-
| city is capital
+
|city is capital
| align="right" | yes
+
|align="right"|yes
| align="right" | no
+
|align="right"|no
| align="right" | no
+
|align="right"|no
 
|-
 
|-
| effect ''Migration_Pct''
+
|effect ''Migration_Pct''
| align="right" | 30
+
|align="right"|30
| align="right" | 0
+
|align="right"|0
| align="right" | 0
+
|align="right"|0
 
|-
 
|-
| build shild cost
+
|build shild cost
| align="right" | 2500
+
|align="right"|2500
| align="right" | 1000
+
|align="right"|1000
| align="right" | 250
+
|align="right"|250
 
|-
 
|-
| city surplus (trade/luxury/science)
+
|city surplus (trade/luxury/science)
| align="right" | 62/16/15
+
|align="right"|62/16/15
| align="right" | 10/2/5
+
|align="right"|10/2/5
| align="right" | 6/0/6
+
|align="right"|6/0/6
 
|-
 
|-
! colspan="4" | distance
+
!colspan="4"|distance
 
|-
 
|-
| city 1
+
|city 1
| align="right" | -
+
|align="right"| -
| align="right" | 3
+
|align="right"|3
| align="right" | 5
+
|align="right"|5
 
|-
 
|-
| city 2
+
|city 2
| align="right" | 3
+
|align="right"|3
| align="right" | -
+
|align="right"| -
| align="right" | 3
+
|align="right"|3
 
|-
 
|-
| city 3
+
|city 3
| align="right" | 5
+
|align="right"|5
| align="right" | 3
+
|align="right"|3
| align="right" | -
+
|align="right"| -
 
|-
 
|-
! colspan="4" | calculated values
+
!colspan="4"|calculated values
|-
 
!
 
! city 1
 
! city 2
 
! city 3
 
 
|-
 
|-
 
!
| city size
 
 
!city 1
| align="right" | 17.000
 
 
!city 2
| align="right" | 5.000
 
 
!city 3
| align="right" | 3.000
 
 
|-
 
|-
 
|city size
| feeling
 
| align="right" | 6.750
+
|align="right"|17.000
| align="right" | 1.000
+
|align="right"|5.000
| align="right" | 0.000
+
|align="right"|3.000
 
|-
 
|-
 
|feeling
| factor: wonder
 
| align="right" | 1.250
+
|align="right"|6.750
| align="right" | 1.250
+
|align="right"|1.000
| align="right" | 1.000
+
|align="right"|0.000
 
|-
 
|-
| factor: capital
+
|factor: wonder
| align="right" | 1.250
+
|align="right"|1.250
| align="right" | 1.000
+
|align="right"|1.250
| align="right" | 1.000
+
|align="right"|1.000
 
|-
 
|-
| factor: effect ''Migration_Pct''
+
|factor: capital
| align="right" | 1.300
+
|align="right"|1.250
| align="right" | 1.000
+
|align="right"|1.000
| align="right" | 1.000
+
|align="right"|1.000
 
|-
 
|-
| factor: build shield cost
+
|factor: effect ''Migration_Pct''
| align="right" | 1.184
+
|align="right"|1.300
| align="right" | 1.126
+
|align="right"|1.000
| align="right" | 1.044
+
|align="right"|1.000
 
|-
 
|-
| factor: surplus trade
+
|factor: build shield cost
| align="right" | 1.092
+
|align="right"|1.184
| align="right" | 1.019
+
|align="right"|1.126
| align="right" | 1.012
+
|align="right"|1.044
 
|-
 
|-
| factor: surplus luxery
+
|factor: surplus trade
| align="right" | 1.030
+
|align="right"|1.092
| align="right" | 1.004
+
|align="right"|1.019
| align="right" | 1.000
+
|align="right"|1.012
 
|-
 
|-
| factor: surplus science
+
|factor: surplus luxery
| align="right" | 1.028
+
|align="right"|1.030
| align="right" | 1.010
+
|align="right"|1.004
| align="right" | 1.012
+
|align="right"|1.000
 
|-
 
|-
  +
|factor: surplus science
| basic city score
 
| align="right" | 66.044
+
|align="right"|1.028
| align="right" | 8.726
+
|align="right"|1.010
| align="right" | 3.208
+
|align="right"|1.012
 
|-
 
|-
| weight: distance city 1
+
|basic city score
| align="right" | -
+
|align="right"|66.044
| align="right" | 0.625
+
|align="right"|8.726
| align="right" | 0.375
+
|align="right"|3.208
 
|-
 
|-
| weight: distance city 2
+
|weight: distance city 1
| align="right" | 0.625
+
|align="right"| -
| align="right" | -
+
|align="right"|0.625
| align="right" | 0.625
+
|align="right"|0.375
 
|-
 
|-
| weight: distance city 3
+
|weight: distance city 2
| align="right" | 0.375
+
|align="right"|0.625
| align="right" | 0.625
+
|align="right"| -
| align="right" | -
+
|align="right"|0.625
 
|-
 
|-
  +
|weight: distance city 3
! colspan="4" | migration checks
 
 
|align="right"|0.375
|-
 
 
|align="right"|0.625
! source city / target city
 
 
|align="right"| -
! city 1 (source)
 
! city 2 (source)
 
! city 3 (source)
 
 
|-
 
|-
 
!colspan="4"|migration checks
| city 1 (target)
 
| align="center" | -
 
| align="right" | '''26.179 / 41.2773'''
 
| align="right" | '''9.623 / 24.7664'''
 
 
|-
 
|-
| city 2 (target)
+
!source city / target city
  +
!city 1 (source)
| align="right" | 198.131 / 5.4539
 
 
!city 2 (source)
| align="center" | -
 
 
!city 3 (source)
| align="right" | 9.623 / 5.4539
 
 
|-
 
|-
| city 3 (target)
+
|city 1 (target)
| align="right" | 198.131 / 2.0048
+
|align="center"| -
| align="right" | 26.179 / 3.2076
+
|align="right"|'''26.179 / 41.2773'''
| align="center" | -
+
|align="right"|'''9.623 / 24.7664'''
 
|-
 
|city 2 (target)
 
|align="right"|198.131 / 5.4539
 
|align="center"| -
 
|align="right"|9.623 / 5.4539
 
|-
 
|city 3 (target)
 
|align="right"|198.131 / 2.0048
 
|align="right"|26.179 / 3.2076
 
|align="center"| -
 
|}
 
|}
   
Line 424: Line 424:
 
Trade route revenue generated every turn in cities: (<math>T_1</math> = trade production in the city 1, <math>T_2</math> = trade production in the city 2. These values doesn't include the extra trade revenues from other trade routes
 
Trade route revenue generated every turn in cities: (<math>T_1</math> = trade production in the city 1, <math>T_2</math> = trade production in the city 2. These values doesn't include the extra trade revenues from other trade routes
 
* With yourself, on the same continent: <math>\frac{(T_1 + T_2 + 4)}{16}</math>
 
* With yourself, on the same continent: <math>\frac{(T_1 + T_2 + 4)}{16}</math>
* With an other player, on the same continent: <math>\frac{(T_1 + T_2 + 4)}{8}</math>
+
* With another player, on the same continent: <math>\frac{(T_1 + T_2 + 4)}{8}</math>
* With yourself, on an other continent: <math>\frac{(T_1 + T_2 + 4)}{8}</math>
+
* With yourself, on another continent: <math>\frac{(T_1 + T_2 + 4)}{8}</math>
* With an other player, on an other continent: <math>\frac{(T_1 + T_2 + 4)}{4}</math>
+
* With another player, on another continent: <math>\frac{(T_1 + T_2 + 4)}{4}</math>
 
* With experimental trade route revenues (on [[Warclient|Warserver]]): <math>\frac{(T_1 + T_2 + 4)}{4}</math>
 
* With experimental trade route revenues (on [[Warclient|Warserver]]): <math>\frac{(T_1 + T_2 + 4)}{4}</math>
   
Line 473: Line 473:
 
* For AI players there might be a penalty/bonus depending on AI skill.
 
* For AI players there might be a penalty/bonus depending on AI skill.
 
* If the calculated cost is zero, the real cost is 1 bulb.
 
* If the calculated cost is zero, the real cost is 1 bulb.
== Getting tech without research ==
+
== Getting tech without research ==
 
You can get techs, when you conquer a city, use a diplomat, or from [[Great Library]]. The chances and costs of this is decided by server settings conquercost, diplochance, freecost etc.
 
You can get techs, when you conquer a city, use a diplomat, or from [[Great Library]]. The chances and costs of this is decided by server settings conquercost, diplochance, freecost etc.
   
Line 479: Line 479:
 
You can research either by science out put from your trade income, or by using Specialists when your cities are at size 5 or above.
 
You can research either by science out put from your trade income, or by using Specialists when your cities are at size 5 or above.
 
{|
 
{|
  +
!Specialists
 
!Default output
 
!With library
 
!With university
 
|-
 
|-
 
|1 scientists
! Specialists
 
 
|3 bulbs
! Default output
 
 
|6 bulbs
! With library
 
! With university
 
|-
 
 
| 1 scientists
 
| 3 bulbs
 
| 6 bulbs
 
 
|10 bulbs
 
|10 bulbs
 
|-
 
|-
 
|2 scientists
 
 
|6 bulbs
| 2 scientists
 
| 6 bulbs
+
|12 bulbs
| 12 bulbs
+
|21 bulbs
| 21 bulbs
 
 
|}
 
|}

Revision as of 00:33, 21 December 2009

Here are formulas that are used by FreeCiv to calculate some things, presented in a form better for mathematicians.

City development

Food box

The amount of food needed is equal to:?????

When you add a settler the food in the foodbox is kept. With a granary the foodbox will be half full when the city is decreased because of starvation, but when you grow a settler the foodbox will be empty(?). When you add a settler you will not gain half a foodbox

Production

Gold needed to finish production ( - shields left to produce):

  • For units:
  • For buildings:
  • For wonders:

Multiply these values by 2 if there is no shield in the city stock ( - cost in shields):

  • For units:
  • For buildings:
  • For wonders:

City health

Settings

The health of a city is defined by the possibility of an illness (plague). The following ruleset options are available in game.ruleset, section [civstyle]:

; Whether plagues (illness) are possible 
illness_on = 0 
; the base factor for illness (of percent) 
illness_base_factor = 25 
; minimum city size for illness 
illness_min_size = 3 
; factor for how much trading with a plagued city increases our city's 
; chance for plague (in percent) 
illness_trade_infection = 50 
; factor for how much pollution within a city increases its chance for 
; plague (in percent) 
illness_pollution_factor = 50

Furthermore for the aqueduct and the sewer system an health effect is defined:

[effect_aqueduct_health] 
name	= "Health" 
value	= 50 
reqs	= 
    { "type", "name", "range" 
      "Building", "Aqueduct", "City" 
    }
[effect_sewer_system_health] 
name	= "Health" 
value	= 30 
reqs	= 
    { "type", "name", "range" 
      "Building", "Aqueduct", "City" 
      "Building", "Sewer System", "City" 
    }

The possibility of an illness is reduced by <value> percent defined by the effect Health

Equations

The possibility of an illness is given by a base value, illness due to trade infection and illness due to pollution.

The base illness value depends on the city size and is given by

This function starts at 0 for size = 0 and goes asymptotic to its maximum value (illness\_base\_factor).

If a trade city had an illness within the last 5 turns the illness is increased by

Pollution also increases the illness:


Example
City health example

City health example (using this m-file)

Taking into account a city size of 1 to 50, a pollution level which equals six times the city size (pollution = 6 * size) and four trade cities of size 10 the illness possibility of the city is given in the following table (in percent).

# (illness) aqueduct aqueduct + sewer system
base +trade +pollution base +trade +pollution base +trade +pollution
5 9.800 11.200 12.700 4.900 5.600 6.350 1.960 2.240 2.540
10 15.800 17.800 20.800 7.900 8.900 10.400 3.160 3.560 4.160
15 19.400 21.800 26.300 9.700 10.900 13.150 3.880 4.360 5.260
20 21.600 24.400 30.400 10.800 12.200 15.200 4.320 4.880 6.080
25 22.900 26.100 33.600 11.450 13.050 16.800 4.580 5.220 6.720
30 23.800 27.300 36.300 11.900 13.650 18.150 4.760 5.460 7.260
35 24.200 27.900 38.400 12.100 13.950 19.200 4.840 5.580 7.680
40 24.500 28.500 40.500 12.250 14.250 20.250 4.900 5.700 8.100
45 24.700 28.900 42.400 12.350 14.450 21.200 4.940 5.780 8.480
50 24.800 29.300 44.300 12.400 14.650 22.150 4.960 5.860 8.860


Migration

Settings

Migration between cities is controlled by the following game settings. They can be changed by using the set server command. help <setting> will give you more information.

  • migration - Whether to enable citizen migration (default: 0 = off)
  • mgr_turninterval - Number of turns between migrations from a city (default: 5; min:1; max: 100)
  • mgr_foodneeded - Whether migration is limited by food (default: 1 = on)
  • mgr_distance - Maximum distance citizens may migrate (default: 3; min: 1; max: 7)
  • mgr_nationchance - Percent probability for migration within the same nation (default: 50; min: 0; max: 100)
  • mgr_worldchance- Percent probability for migration between foreign cities (default: 10; min:0; max: 100)
Equations

Helper function to calculate a "score" of a city. The score is used to get an estimate of the "migration desirability" of the city. The higher the score the more likely citizens will migrate to it.

The score depends on the city size, the feeling of its citizens, the cost of all buildings in the city, and the surplus of trade, luxury and science.

  • base formula:
  • feeling of the citizens:
  • factors
    • if the city has at least one wonder a factor of 1.25 is added
    • for the capital an additional factor of 1.25 is used
    • an additional factor is given by the effect 'Migration_Pct':
    • the build costs of all buildings:
    • the trade of the city:
    • the luxury within the city:
    • the science within the city:

The last four factors f have values between 1 and 1.2; the overall factor will be between 1.0 (smaller cities) and 2.0 (bigger cities)

[build shield cost], [city surplus trade], [city surplus luxury] and [city surplus science] must be >= 0!

The score of the source city is multiplied by 3 to take into account the persistence of the citizens.

The score of the target city is weighted by the distance between both cities. The weight factor is calculated as

Example

For the following three city the migration score is calculated:

city characteristics
city 1 city 2 city 3
city size 17 5 3
citizens (happy/content/unhappy/angry) 7/9/1/0 1/4/0/0 0/3/0/0
city has a wonder yes yes no
city is capital yes no no
effect Migration_Pct 30 0 0
build shild cost 2500 1000 250
city surplus (trade/luxury/science) 62/16/15 10/2/5 6/0/6
distance
city 1 - 3 5
city 2 3 - 3
city 3 5 3 -
calculated values
city 1 city 2 city 3
city size 17.000 5.000 3.000
feeling 6.750 1.000 0.000
factor: wonder 1.250 1.250 1.000
factor: capital 1.250 1.000 1.000
factor: effect Migration_Pct 1.300 1.000 1.000
factor: build shield cost 1.184 1.126 1.044
factor: surplus trade 1.092 1.019 1.012
factor: surplus luxery 1.030 1.004 1.000
factor: surplus science 1.028 1.010 1.012
basic city score 66.044 8.726 3.208
weight: distance city 1 - 0.625 0.375
weight: distance city 2 0.625 - 0.625
weight: distance city 3 0.375 0.625 -
migration checks
source city / target city city 1 (source) city 2 (source) city 3 (source)
city 1 (target) - 26.179 / 41.2773 9.623 / 24.7664
city 2 (target) 198.131 / 5.4539 - 9.623 / 5.4539
city 3 (target) 198.131 / 2.0048 26.179 / 3.2076 -

Migration will take place from city 2 to city 1 and from city 3 to city 1 with the possibility given in the corresponding game settings (mgr_nationchance and mgr_worldchance).

Trade

Trade route revenue generated every turn in cities: ( = trade production in the city 1, = trade production in the city 2. These values doesn't include the extra trade revenues from other trade routes

  • With yourself, on the same continent:
  • With another player, on the same continent:
  • With yourself, on another continent:
  • With another player, on another continent:
  • With experimental trade route revenues (on Warserver):


Caravan bonus, the gold and science you get when establishing a new trade route: ( = trade production (including trade routes revenues) in the city 1, = trade production in the city 2, = real distance between the cities):

The possession of the technologies Railroad and Flight each reduces the bonus by . Then:

  • You have one of this technologies:
  • You have two of this technologies:
  • With experimental caravan bonus style (on Warserver):

Bonus from a caravan, when it enter in a existent trade place, you get only of the bonus: ( - trade production in the city 1, - trade production in the city 2, - real distance between the cities):

The possession of the technologies Railroad and Flight each reduces the bonus by . Then:

  • You have one of this technologies:
  • You have two of this technologies:
  • With experimental caravan bonus style (on Warserver):

These formulas are the base of the calculation. Different governments output different amounts of trade in each city. Republic and Democracy get a +1 trade bonus in tiles that are generating trade, so usually, you will make a lot more profit under these governments. Monarchy and Communism get the +1 trade bonus only if they are celebrating.

Science

Technology cost formula depends on several game settings: techcoststyle, researchcost, techcostdoubleyear, techleackage, techleackagerate. There might be differences between calculated values and real-game ones due to rounding to integers in several places.

  • Future techs: calculated like common techs with techcoststyle=0.
  • Common techs:
    • If techcoststyle=2, ruleset might set its own values, not calculated by FreeCiv. For the techs not overrided by the ruleset, cost is calculated like if techcoststyle=1.
    • If techcoststyle=1 (the default case), , but not less than researchcost. is number of all (including already researched) technologies required by given tech.
    • If techcoststyle=0, to discover nth technology you need (like in Civilization I/II games).

Additional rules.

  • If techcostdoubleyear parameter is not zero, cost doubles starting from this year.
  • If techleakage parameter is not zero, you get bonus when other players already have developed the tech. The formula is:, where is total number of players and is:
    • number of players that know the technology and you have embassy, when techleakage=1,
    • number of players that know the technology, when techleakage=2,
    • number of players that know the technology, excluding barbarian players, when techleakage=3 (in this case total number of players is calculated without barbarians too).
Note: is a Warserver setting. On standard server, .
  • For AI players there might be a penalty/bonus depending on AI skill.
  • If the calculated cost is zero, the real cost is 1 bulb.

Getting tech without research

You can get techs, when you conquer a city, use a diplomat, or from Great Library. The chances and costs of this is decided by server settings conquercost, diplochance, freecost etc.

Research

You can research either by science out put from your trade income, or by using Specialists when your cities are at size 5 or above.

Specialists Default output With library With university
1 scientists 3 bulbs 6 bulbs 10 bulbs
2 scientists 6 bulbs 12 bulbs 21 bulbs