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 "Gait"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
m (→‎Gaits and Modding: (awb) typos, typos fixed: etc → etc. (2))
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{quality|Fine}}{{av}}
+
{{migrated article}}
 +
{{Quality|Unrated}}{{av}}
  
A '''gait''' is a mode of movement which a creature can use. In real life, the word only applies to movement on land; but in ''Dwarf Fortress'', the term describes any mode of movement by a creature, including swimming, flying, and climbing.
+
A '''gait''' is a mode of movement which a creature can use. In real life, the word only applies to movement on land; but in ''Dwarf Fortress'', the term describes any mode of movement by a creature, including [[swimming]], [[flying]], and [[climbing]].
  
 
== Gait Types ==
 
== Gait Types ==
Line 7: Line 8:
 
There are 5 different types of gaits: walking, crawling, climbing, swimming, and flying.
 
There are 5 different types of gaits: walking, crawling, climbing, swimming, and flying.
  
* Walking gaits are land-based gaits which require the creature to be standing up, and have more than half of their [STANCE] body parts, e.g. legs, intact and working. They can be used to move across flat ground, and go up and down ramps and stairs.
+
* Walking gaits are land-based gaits which require the creature to be standing up, and have more than half of their {{token|STANCE|body}} body parts, e.g. legs, intact and working. They can be used to move across flat ground, and go up and down ramps and stairs.
  
* Crawling gaits are like walking gaits, except that they require neither standing up nor [STANCE] body parts. They are much slower than walking gaits. Please note that an uninjured, slithering snake is considered to be using a walking gait, not a crawling gait: its body is its [STANCE] body part. If a snake is injured in the body, it will revert to a crawling gait.
+
* Crawling gaits are like walking gaits, except that they require neither standing up nor {{token|STANCE|body}} body parts. They are much slower than walking gaits. Please note that an uninjured, slithering snake is considered to be using a walking gait, not a crawling gait: its body is its {{token|STANCE|body}} body part. If a snake is injured in the body, it will revert to a crawling gait.
  
* Climbing gaits are used for moving up and down vertical surfaces, such as trees or walls, as well as for moving horizontally while supporting oneself against a vertical surface. In order to climb, a creature needs intact body parts to climb with: [GRASP] body parts by default, or [STANCE] body parts if the creature has the [STANCE_CLIMBER] token. Stance climbers include cats and giant cave spiders.
+
* Climbing gaits are used for moving up and down vertical surfaces, such as trees or walls, as well as for moving horizontally while supporting oneself against a vertical surface. In order to climb, a creature needs intact body parts to climb with: {{token|GRASP|body}} body parts by default, or [STANCE] body parts if the creature has the {{token|STANCE_CLIMBER|Creature}} token. Stance climbers include cats and giant cave spiders.
  
* Swimming gaits are used for moving in the water. In order to swim, a creature needs either the [SWIMS_INNATE] tag, or [SWIMS_LEARNED], [CAN_LEARN] and skill in swimming.
+
* Swimming gaits are used for moving in the water. In order to swim, a creature needs either the {{token|SWIMS_INNATE|Creature}} tag, or {{token|SWIMS_LEARNED|Creature}}, {{token|CAN_LEARN|Creature}} and skill in swimming.
  
* Flying gaits are used for moving in the air. In order to fly, a creature needs the [FLIER] tag, and for enough of its body parts tagged [FLIER] (e.g. wings) to be intact, if applicable. Flying does not require a minimum speed to stay airborne, and turning while flying is no more difficult than turning while walking.
+
* Flying gaits are used for moving in the air. In order to fly, a creature needs the {{token|FLIER|Creature}} tag, and for enough of its body parts tagged {{token|FLIER|body}} (e.g. wings) to be intact, if applicable. Flying does not require a minimum speed to stay airborne, and turning while flying is no more difficult than turning while walking.
  
 
== Speed ==
 
== Speed ==
Line 75: Line 76:
 
| 109 || 80 || 50 || average [[gazelle]]'s top speed
 
| 109 || 80 || 50 || average [[gazelle]]'s top speed
 
|-
 
|-
| 100 || 87 || 54 || maximum allowed gait speed
+
| 100 || 87 || 54 || maximum allowed gait speed, average [[peregrine falcon]]'s top speed
 
|}
 
|}
  
Line 297: Line 298:
 
== Gaits and Modding ==
 
== Gaits and Modding ==
  
In the vanilla game, gait templates are specified as creature variations in  the c_variation_default.txt raw file. These standard templates, each pertaining to a specific [[Gait#Gait_Types|gait type]], contain 6 individual gaits which detail the different movement speeds available for that gait type.
+
In the vanilla game, gait templates are specified as [[creature variation token|creature variations]] in  the c_variation_default.txt raw file. These standard templates, each pertaining to a specific [[#Gait_Types|gait type]], contain 6 individual gaits which detail the different movement speeds available for that gait type.
  
A better understanding of how creature gaits work can be found under [CREATURE_VARIATION:STANDARD_BIPED_GAITS] (in c_variation_default.txt), where brief information pertaining to their syntax is found. 
+
To specify one of these predefined gaits, the token {{token|APPLY_CREATURE_VARIATION|c}} should be used. Within this token, specify the desired gait template, and include maximum [[#speed|speed]] values (which will be inserted into the template in place of its !ARG1, !ARG2, etc. tokens, where the first value specified replaces !ARG1) in this order:<br>
 
 
To specify one of these predefined gaits, the tag [APPLY_CREATURE_VARIATION] should be used. Within this token, specify the desired gait template, and include maximum [[Gait#speed|speed]] values (which will be inserted into the template in place of its ARG1, ARG2, etc tokens, where the first value specified replaces ARG1) in this order:<br>
 
 
normal:fast:faster:fastest:slow:slower
 
normal:fast:faster:fastest:slow:slower
  
Example, taken from the dwarf:
+
Example, taken from the dwarf: <code>[APPLY_CREATURE_VARIATION:STANDARD_BIPED_GAITS:900:711:521:293:1900:2900]</code> where the speeds are: "walk:jog:run:sprint:stroll:creep". Sprint and run start at jog's max speed and gradually build up to their own, whereas the rest start off at max immediately.
 
 
[APPLY_CREATURE_VARIATION:STANDARD_BIPED_GAITS:900:711:521:293:1900:2900]
 
 
 
where the speeds are: "walk:jog:run:sprint:stroll:creep". Sprint and run start at jog's max speed and gradually build up to their own, whereas the rest start off at max immediately.
 
  
Of course, it's entirely possible to write your own custom gait templates. Note that it isn't necessary to strictly mimic the predefined gaits; your templates can contain any number and mixture of individual gaits (including those of different gait types), and you can place argument tags (ARG1, ARG2, etc) wherever you want to. It's also possible to do away with templates altogether and build up gaits from scratch within an individual creature's raw definition, if you're so inclined. See [[Creature_token#GAIT|GAIT]] for more information.
+
Of course, it's entirely possible to write your own custom gait templates. Note that it isn't necessary to strictly mimic the predefined gaits; your templates can contain any number and mixture of individual gaits (including those of different gait types), and you can place argument tags (!ARG1, !ARG2, etc.) wherever you want to. It's also possible to do away with templates altogether and build up gaits from scratch within an individual creature's raw definition, if you're so inclined. See {{token|GAIT|c}} for more information.
  
 
{{Category|Game mechanics}}
 
{{Category|Game mechanics}}
 +
{{Category|Modding}}
 
[[ru:Gait]]
 
[[ru:Gait]]

Latest revision as of 04:36, 29 January 2023

This article is about the current version of DF.
Note that some content may still need to be updated.

A gait is a mode of movement which a creature can use. In real life, the word only applies to movement on land; but in Dwarf Fortress, the term describes any mode of movement by a creature, including swimming, flying, and climbing.

Gait Types[edit]

There are 5 different types of gaits: walking, crawling, climbing, swimming, and flying.

  • Walking gaits are land-based gaits which require the creature to be standing up, and have more than half of their [STANCE] body parts, e.g. legs, intact and working. They can be used to move across flat ground, and go up and down ramps and stairs.
  • Crawling gaits are like walking gaits, except that they require neither standing up nor [STANCE] body parts. They are much slower than walking gaits. Please note that an uninjured, slithering snake is considered to be using a walking gait, not a crawling gait: its body is its [STANCE] body part. If a snake is injured in the body, it will revert to a crawling gait.
  • Climbing gaits are used for moving up and down vertical surfaces, such as trees or walls, as well as for moving horizontally while supporting oneself against a vertical surface. In order to climb, a creature needs intact body parts to climb with: [GRASP] body parts by default, or [STANCE] body parts if the creature has the [STANCE_CLIMBER] token. Stance climbers include cats and giant cave spiders.
  • Flying gaits are used for moving in the air. In order to fly, a creature needs the [FLIER] tag, and for enough of its body parts tagged [FLIER] (e.g. wings) to be intact, if applicable. Flying does not require a minimum speed to stay airborne, and turning while flying is no more difficult than turning while walking.

Speed[edit]

Gait speeds are expressed in ticks/100 tiles. This means that "larger" speeds are slower than "smaller" speeds. Currently, the maximum allowed speed is 100 ticks/100 tiles, or 1 tick per tile.

The speeds of each gait are only a baseline for how fast a creature of that species will move. In practice, speed can also be affected by factors such as what a creature is wearing or carrying, as well as its skills, attributes, and even its personality[Verify].

Here are some speeds for reference.

Gait Speed kph mph Example
8775 1 0.6 average giant earthworm's top speed
6561 1.3 0.8 normal human/goblin climbing speed
5951 1.5 0.9 normal dwarven climbing speed
3512 2.5 1.5 normal kobold climbing speed
2206 4 2.5 normal elven climbing speed
1422 6.2 3.9 normal ogre walking speed
900 9.6 6 normal walking speed
488 18 11 average ogre's top speed
439 20 12 average troll's top speed
351 25 16 average dragon's top speed
293 30 19 average dwarf's top speed
293 30 19 average giant cave spider's top running and climbing speed
251 35 22 average kobold's top speed
225 39 24 average human's/goblin's top speed
219 40 25 average bronze colossus's top speed
214 41 25 average elf's top speed
195 45 28 average beak dog's top speed
183 48 30 average cat's top speed
176 50 31 average roc's top speed
157 56 35 average gibbon's top climbing speed
149 59 37 average dog's top speed
125 70 43 average horse's top speed
109 80 50 average gazelle's top speed
100 87 54 maximum allowed gait speed, average peregrine falcon's top speed

Standard Gaits[edit]

The vast majority of standard DF creatures use predefined gait patterns. While their gaits vary in speed from type to type and from creature to creature, the gaits' relations to each other are mostly uniform.

Relative Gait Gait Names Gait Types Build-up Turning Speed Affected by Physique Slowed by Stealth Energy Drain
Fastest

Sprint

Gallop

Fastest Walk

Scramble

Maximum Swim Speed

Scramble

Maximum Flight Speed

Scramble

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

10, from a start speed of Fast No Yes 50 50
Faster

Run

Canter

Faster Walk

Faster Climb

Faster Swim

Faster Crawl

Faster Flight

Faster Crawl

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

5, from a start speed of Fast No Yes 20 10
Fast

Jog

Trot

Fast Walk

Fast Climb

Fast Swim

Fast Crawl

Fast Flight

Fast Crawl

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

No Yes Yes 10 5
Normal

Walk

Walk

Walk

Climb

Swim

Crawl

Fly

Crawl

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

No Yes No No 0
Slow

Stroll

Stroll

Slow Walk

Slow Climb

Slow Swim

Slow Crawl

Slow Fly

Slow Crawl

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

No Yes No No 0
Slowest

Creep

Creep

Slowest Walk

Creep

Creeping Swim

Creep

Hover

Creep

WALK (biped)

WALK (quadruped)

WALK (general)

CLIMB

SWIM

CRAWL

FLY

WALK (no legs)

No Yes No No 0

Gaits and Modding[edit]

In the vanilla game, gait templates are specified as creature variations in the c_variation_default.txt raw file. These standard templates, each pertaining to a specific gait type, contain 6 individual gaits which detail the different movement speeds available for that gait type.

To specify one of these predefined gaits, the token [APPLY_CREATURE_VARIATION] should be used. Within this token, specify the desired gait template, and include maximum speed values (which will be inserted into the template in place of its !ARG1, !ARG2, etc. tokens, where the first value specified replaces !ARG1) in this order:
normal:fast:faster:fastest:slow:slower

Example, taken from the dwarf: [APPLY_CREATURE_VARIATION:STANDARD_BIPED_GAITS:900:711:521:293:1900:2900] where the speeds are: "walk:jog:run:sprint:stroll:creep". Sprint and run start at jog's max speed and gradually build up to their own, whereas the rest start off at max immediately.

Of course, it's entirely possible to write your own custom gait templates. Note that it isn't necessary to strictly mimic the predefined gaits; your templates can contain any number and mixture of individual gaits (including those of different gait types), and you can place argument tags (!ARG1, !ARG2, etc.) wherever you want to. It's also possible to do away with templates altogether and build up gaits from scratch within an individual creature's raw definition, if you're so inclined. See [GAIT] for more information.