v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "v0.34:Time"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Removed "Eggs" section due to falsification in forums (http://www.bay12forums.com/smf/index.php?topic=106323.0))
(move speed complexity to speed)
 
(11 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{av}}{{Quality|Exceptional}}
+
{{av}}{{Quality|Exceptional|04:21, 13 July 2013 (UTC)}}
  
Time in Dwarf Fortress can be a somewhat complicated subject, but learning the ins and outs of the system is essential for modders and can be of great use to players, as time tracks everything from [[syndrome]]s to crop growth.
+
'''Time''' is an integral part of any simulation, none the least in a simulation as complex as Dwarf Fortress. Time is measured internally in unnamed units, commonly dubbed "ticks" by the community. Each tick represents one step in the Dwarf Fortress program, requiring calculations related to [[speed|unit movement]], [[flow|fluid movement]], [[temperature|temperature transfer]], various event checks, [[combat|combat checks]], [[path|pathing checks]], [[job|job changes]], [[skill|experience ticks]] - basically everything required to run the program, broken up between individual lumps of time. These ticks are then bundled up against days, months, seasons, and then years under the dwarven [[calendar]], which are then further engrossed within individual, context-sensitive [[Calendar#Ages|ages]]. For a discussion on the greater passage of time, see [[Calendar]]; this page is focused on the lower-level, "unit-based", in-game passage of time.
  
 +
== Basic mechanics ==
 +
How much a tick in time is worth against the yearly dwarven [[calendar]] depends on the game mode, as time in fortress mode is much more heavily accelerated than it is in adventurer mode. Fortress mode counts 1200 ticks per day and 403200 per year, while adventurer mode counts 86400 ticks to a day and therefore 29030400 ticks per year. According to these rates, each tick is equivalent to a real-world second in adventurer mode, but 1.2 ''minutes'' in fortress mode, making adventurers ''72'' times faster than your dwarves tick-for-tick. This is intended behavior, as the pacing in fortress mode is much, ''much'' faster than when adventuring.
  
== Breakdown ==
+
How quickly time ''appears'' to pass in your game, especially in fortress mode, has as much to do with your hardware as with the number of ticks in a year. The number of [[frames per second]] is a direct reflection of how many ticks a second your processor is working through. This should be distinguished from the frame ''refresh'' rate, which is how many frames appear on your ''screen'' per second - since there's a limit to how many frame changes the human eye can see, there's not much purpose to displaying every single one of them on-screen. You can set your FPS to be visible by changing {{tt|[FPS:NO]}} to {{tt|[FPS:YES]}} in your [[Init.txt]] file, which will display two numbers in the top-right corner of your game window, the first being the frames per second and the second being the refresh rate. By default the framerate is capped at 100 FPS, but this setting can be changed or even removed: see [[Frames per second#Controlling FPS]] for a technical discussion. For tips on maximizing framerate, see the (topically named) [[Maximizing framerate]] article.
Time is measured in unnamed units, which are commonly referred to as "time units" or "ticks."  Time units are equal to different lengths of time, depending on the game mode.
 
  
In fortress mode, there are 1200 time units in a day; in adventurer mode, there are 86400 time units in a day.  Thus, a dwarf in adventure mode is capable of moving, fighting, and interacting 72 times as fast as a dwarf in fortress mode assuming the same statistics.  Assuming 24 hours per day, 60 minutes per hour, and 60 seconds per minute, this means that a time unit lasts 1 second in adventurer mode and 1.2 minutes in fortress mode. Regardless of mode, there are 28 days in a month and 12 months in a year.
+
Dwarf Fortress is an ''extremely'' processor-intensive game, and so how many frames you actually get per second will depend on the strength of your machine, how far into the game and how clutter there is in it, whether or not you are not taking any fps-saving measures, what mods or other programs you are running, and so on. Regardless of mode, there are 28 days in a month and 12 months in a year. Assuming an FPS of 100, not counting pauses an hour of fortress mode gameplay will translate into a year in-game.
  
In fortress mode, there are 403200 time units every year.  At 100 fps, it would take just over an hour in real-time to play through one year.
+
== Applied mechanics ==
 +
=== Creature actions ===
 +
{{main|speed}}
  
The amount of time it takes a creature to move, fight, or interact is directly proportional to its [[speed]] and inversely proportional to its [[agility]] and its [[strength]]. All creatures with default speed, regardless of their strength or agility, take between 5 and 16 time units per orthogonal tile traveled. Diagonal tile travel times are 362/256 times that amount, so they take between 8 and 23 time units for creatures with default speed. Median dwarves take approximately 10.5 time units and 14.9 time units to travel orthogonally or diagonally respectively.  Triggered devices can be affected by delays of up to 100 time units; see [[lever]].
+
The amount of time in between a [[creature]]'s actions is at its root directly proportional to its [[speed]]. The default base speed is 900, though this value can be changed with a {{tt|[SPEED:#]}} [[creature token]] in the creature [[raw file]]s. A median creature with default speed will be capable of performing an action roughly every 10 ticks. The creature's actual performance is subject to many other modifiers (agility, strength, encumbrance, etc.).
  
== Syndromes ==
+
=== Syndrome effects ===
[[Syndrome]]s use time units. A syndrome that lists its effect as starting at "5" means that for all but the [[Elf|fastest characters]], you will begin feeling the effects as soon as you take a step. "50" means 50 time units (or about five steps), and "500" reliably suggests that you'll be able to stagger all the way back to the hospital before your [[Giant desert scorpion|brain pours out of your ears]].
+
[[Syndrome]] effects are defined by [[Syndrome#Creature effect tokens|creature effect tokens]], which use ticks as a basal unit. An example token would be {{tt|[CE_NECROSIS:SEV:300:PROB:100:LOCALIZED:VASCULAR_ONLY:RESISTABLE:START:50:PEAK:1000:END:2000]|As interpreted by the game, this syndrome will causes infallible but resistible mild targeted necrosis of vascular tissue.}}, of which the {{tt|START:50:PEAK:1000:END:2000}} end-line defines the timeline of the syndrome's effects. On a timer, {{tt|START}} tells you how many ticks will pass before the poison starts to take effect, {{tt|PEAK}} will tell you when it will peak, and {{tt|END}} will tell you after how many ticks it will end. A syndrome that lists its effect as starting at "5" means that for all but the [[Elf|fastest characters]], you will begin feeling the effects as soon as you take a step. "50" means 50 time units (or about five steps), and "500" reliably suggests that you'll be able to stagger all the way back to the hospital before your [[Giant desert scorpion|brain starts pouring out of your ears]]. Syndrome effects are stacked, and can cause short-term, medium-term, ''and'' long-term damage; for specifics see [[Syndrome]].
  
== Plants ==
+
=== Plant growth ===
Plants use a tag called GROWDUR. The GROWDUR value is generally set to 300 or 500, which is actually 30000 time units or 50000 time units.  One growdur is equal to 100 time units.
+
Plants use a {{tt|[GROWDUR:#]}} [[plant token]] to constrain their growth times. Each {{tt|GROWDUR}} unit (short for "grow duration) is equivalent to a hundred ticks. The default value is 300 and it is usually set to 300 or 500 (30000 or 50000 ticks) for [[crop]]s; there are 1008 {{tt|GROWDUR}} units per [[calendar|season]].
  
== Hives ==
+
=== Hive harvesting time ===
[[Vermin]] in [[hive]]s which produce items  (namely [[bee]]s which produce [[honey]]) have the HIVE_PRODUCT [[creature token]], whose second parameter is the number of time units it takes for a hive to produce the product.
+
[[Vermin]] in [[hive]]s which produce items  (currently only [[honey bee]]s, which produce [[honeycomb]]s and [[royal jelly]]) have the {{tt|[HIVE_PRODUCT:#:#:I]}} [[creature token]]. The first variable is the number of the item produced, the second is the time in ticks that it takes for the item to be produced, and the third is an [[item token]] for the item produced. When multiple products are expected, multiple such tokens are used.
 
 
== Lifespan and Development ==
 
  
 +
=== Aging and lifespan ===
 
See [[Age]].
 
See [[Age]].
 +
<!-- Labor times -->
 +
<!-- Flow -->
  
 
== Clocks ==
 
== Clocks ==
 
 
Based on the fact that [[pressure plate]]s take 100 steps to reset, some people have built various time-keeping devices to do various things around the fort, like flooding a trap once a month, or just for fun.
 
Based on the fact that [[pressure plate]]s take 100 steps to reset, some people have built various time-keeping devices to do various things around the fort, like flooding a trap once a month, or just for fun.
  
 
{{Category|Physics}}
 
{{Category|Physics}}

Latest revision as of 20:07, 14 September 2013

This article is about an older version of DF.

Time is an integral part of any simulation, none the least in a simulation as complex as Dwarf Fortress. Time is measured internally in unnamed units, commonly dubbed "ticks" by the community. Each tick represents one step in the Dwarf Fortress program, requiring calculations related to unit movement, fluid movement, temperature transfer, various event checks, combat checks, pathing checks, job changes, experience ticks - basically everything required to run the program, broken up between individual lumps of time. These ticks are then bundled up against days, months, seasons, and then years under the dwarven calendar, which are then further engrossed within individual, context-sensitive ages. For a discussion on the greater passage of time, see Calendar; this page is focused on the lower-level, "unit-based", in-game passage of time.

Basic mechanics[edit]

How much a tick in time is worth against the yearly dwarven calendar depends on the game mode, as time in fortress mode is much more heavily accelerated than it is in adventurer mode. Fortress mode counts 1200 ticks per day and 403200 per year, while adventurer mode counts 86400 ticks to a day and therefore 29030400 ticks per year. According to these rates, each tick is equivalent to a real-world second in adventurer mode, but 1.2 minutes in fortress mode, making adventurers 72 times faster than your dwarves tick-for-tick. This is intended behavior, as the pacing in fortress mode is much, much faster than when adventuring.

How quickly time appears to pass in your game, especially in fortress mode, has as much to do with your hardware as with the number of ticks in a year. The number of frames per second is a direct reflection of how many ticks a second your processor is working through. This should be distinguished from the frame refresh rate, which is how many frames appear on your screen per second - since there's a limit to how many frame changes the human eye can see, there's not much purpose to displaying every single one of them on-screen. You can set your FPS to be visible by changing [FPS:NO] to [FPS:YES] in your Init.txt file, which will display two numbers in the top-right corner of your game window, the first being the frames per second and the second being the refresh rate. By default the framerate is capped at 100 FPS, but this setting can be changed or even removed: see Frames per second#Controlling FPS for a technical discussion. For tips on maximizing framerate, see the (topically named) Maximizing framerate article.

Dwarf Fortress is an extremely processor-intensive game, and so how many frames you actually get per second will depend on the strength of your machine, how far into the game and how clutter there is in it, whether or not you are not taking any fps-saving measures, what mods or other programs you are running, and so on. Regardless of mode, there are 28 days in a month and 12 months in a year. Assuming an FPS of 100, not counting pauses an hour of fortress mode gameplay will translate into a year in-game.

Applied mechanics[edit]

Creature actions[edit]

Main article: speed

The amount of time in between a creature's actions is at its root directly proportional to its speed. The default base speed is 900, though this value can be changed with a [SPEED:#] creature token in the creature raw files. A median creature with default speed will be capable of performing an action roughly every 10 ticks. The creature's actual performance is subject to many other modifiers (agility, strength, encumbrance, etc.).

Syndrome effects[edit]

Syndrome effects are defined by creature effect tokens, which use ticks as a basal unit. An example token would be [CE_NECROSIS:SEV:300:PROB:100:LOCALIZED:VASCULAR_ONLY:RESISTABLE:START:50:PEAK:1000:END:2000], of which the START:50:PEAK:1000:END:2000 end-line defines the timeline of the syndrome's effects. On a timer, START tells you how many ticks will pass before the poison starts to take effect, PEAK will tell you when it will peak, and END will tell you after how many ticks it will end. A syndrome that lists its effect as starting at "5" means that for all but the fastest characters, you will begin feeling the effects as soon as you take a step. "50" means 50 time units (or about five steps), and "500" reliably suggests that you'll be able to stagger all the way back to the hospital before your brain starts pouring out of your ears. Syndrome effects are stacked, and can cause short-term, medium-term, and long-term damage; for specifics see Syndrome.

Plant growth[edit]

Plants use a [GROWDUR:#] plant token to constrain their growth times. Each GROWDUR unit (short for "grow duration) is equivalent to a hundred ticks. The default value is 300 and it is usually set to 300 or 500 (30000 or 50000 ticks) for crops; there are 1008 GROWDUR units per season.

Hive harvesting time[edit]

Vermin in hives which produce items (currently only honey bees, which produce honeycombs and royal jelly) have the [HIVE_PRODUCT:#:#:I] creature token. The first variable is the number of the item produced, the second is the time in ticks that it takes for the item to be produced, and the third is an item token for the item produced. When multiple products are expected, multiple such tokens are used.

Aging and lifespan[edit]

See Age.

Clocks[edit]

Based on the fact that pressure plates take 100 steps to reset, some people have built various time-keeping devices to do various things around the fort, like flooding a trap once a month, or just for fun.