Calendar of a Freeciv game assigns a game year (in some rulesets may be specified by a year fragment - season, month, week or anything) to a turn of the game. In general, you can't say which year corresponds to which turn before that turn comes, since the game timeline progresses with turns not in a constant pace but depending on technological progress of the players. Current game year (and its fragment, if any) is displayed in the client interface. Generally, game years are for decorative purpose only, but in some rulesets they may affect gameplay: e.g. in sandbox ruleset Hermit's Places will stop appearing on the map since year 1000.
The calendar advances at turn end, after the moment a history report may appear and before general game information is sent to clients (see end_turn()
in server/srv_main.c); the rules of year advancing are prescribed in the source file common/calendar.c.
There are three effects mainly governing timeline pace:
- Turn_Years
- Each turn year counter advances this number of years.
- Slow_Down_Timeline
- This effect works only if a space race victory is enabled in the game. If so, it limits the increment set by the former effect: value 3 or more limits it to 1, value 2 to 2 and value 1 to 5.
- Turn_Fragments
- Each turn year fragment counter advances this number of fragments (that may eventually sum up in whole years that will be added to years calculated before).
In game.ruleset file, there is [calendar]
section that contains settings related to calendar:
- skip_year_0
- If TRUE (default), you will never get year 0 AD, year 1 AD will be assigned instead; but the following turn years will be counted by the game pace rules from 0 any way.
- start_year
- the year of the starting turn (default: -4000)
- fragments
- number of year fragments (default: 0, maximum: 52).
- positive_label, negative_label
- Translatable labels shown in the interface after the years, default to "AD" and "BC". If there are fragments defined, they are shown after a slash, for example, "1000 BC/summer".
- fragment_name0, fragment_name1...
- List of fragment names, each one defaults to the fragment's number plus 1.
For example: in the Classic ruleset, years per turn go 50 from 4000 BCE to 1000 BCE, 25 from 1000 BCE to 1 CE, 20 from 1 CE to 1000 CE, by 5 from 1000 CE to 1500 CE, then by 2 since 1750 CE and by 1 since 1900 CE; the "Slow_Down_Timeline" effect increases by 1 for each one of techs "Superconductors", "Plastics" and "Space Flight" studied by anyone, so if anyone has all techs to launch a spaceship, then the game advances 1 year per turn independent of which year it is.
Important note about space race: (actual at least for v.2.6.6) a spaceship arrival test bases on launch year, current year and travel time only. That means, year fragments, if defined, have no effect, even if a fractional travel time would make the spaceship land on current fragment. Also, a pace faster than 1 year per turn may produce strange effects here. Read a forum discussion for details and see the ticket HRM#764422.