Dwarf fortress

From miki
Jump to navigation Jump to search

This page is dedicated to Dwarf Fortress, an incredible simulation game where you have to build your own fortress. The learning curve is very steep but the universe is very rich and detailed.

Reference

Tilesets:

3D visualizers:

Utilities:

Alternatives to Dwarf Fortress:

  • Rimworld — A futurist game dwarf-fortress-like.
  • Gnomoria — although dead by now, and gnomes seem to be dead stupid.

Maps:

Packs

Guides

  • Trading

SoundCense

See SoundCense on forum.

Install necessary packages with:

sudo apt install mono-complete gtk-sharp2

To do

  • Dwarf Fortress too easy? Try MasterWork, a mod for Dwarf Fortress, that also helps on FPS (from Reddit).

Misc

Install

Recommended solution is to install complete software package like the Lazy Newb Pack.

  • Install Lazy Newb Pack.

Some personalization:

  • Edit keymap to use , instead of m for movement. TODO
  • Add main song theme and title theme to SoundCense.
  • Enable Workflow plugin
  • Enable Dwarf Monitor.

To start playing:

  • Start Dwarf Fortress
  • Start Dwarf Therapist
  • Start StoneCense #

How To Play

Embark

Choose a 2x2 embark site to reduce FPS issues.

DFHack plugins

Links to available plugins (incomplete list):

Unless told so, all plugins below are available in LNP easy distribution pack.

Show active DFHack keybinding
  • Ctrl-F1 list of available DFHack hotkeys in current context
DwarfMonitor
  • A plugin to show dwarf occupation statistics and fort efficiency. Ctrl-F to display.
Workflow
  • A must-have to reduce micro-management and keep stocks up.
  • Alt-W in workshop to trigger DFHack Workflow plugin.
Automated wood cutting plugin
  • A plugin to designate automatically nearby tree to cut to maintain wood stock within some limits.
  • Trigger from the wood cutting designation interface.
Quick stock statistics
  • Shift-Ctrl-Z to jump to advanced stock view (as accessed via z stock menu).
  • Shift-Ctrl-I to display a quick inventory list
Quick DFHack command
  • Shift-Ctrl-P to show in-game DFHack console line. Very handy for instance for clean all, or maybe showmood.
Labormanager
  • Avoid tools like Dwarf Therapist by tacklink with micro-managing task.
  • Might require labormanager enable when game starts.
autolabor
  • Another labor managing script. Might favor speed over quality though, so less interesting that labormanager?

Labors

Using Dwarf Therapist
  • For each new dwarf, look at its stats, and assign a nickname indicating its task, like Miner CM firstname. See below for details.
Using labor manager
  • Just started using it now. Let's see...

Occupation

Hunting

  1. Make crossbows.
  2. Make quivers.
  3. Make bolts.
  4. Have a refuse stockpile.
  5. Allow collection of corpses/refuse on the surface.
  6. Make sure hunters have ammo assigned to them. If you have large numbers of hunters you may need to increase their ammo allotments.
  7. Periodically unforbid all used ammo (recycling it back into quivers again) and/or manufacture new ammo.

How to Play - Reference

Stones

Source:

Iron Flux
  • Hematite
  • Limonite
  • Magnetite
  • Calcite (*)
  • Chalk (*)
  • Dolomite
  • Limestone (*)
  • Marble
  • Flux (*): Also for quicklime.

Metal

  • Platinum is the 2nd most valuable, after adamantine.

Tips and tricks

  • Unconscious wounded dwarf ignored by hospital and doctors
    I had a wounded dwarf in his bedroom that required healthcare, but was ignored by the doctors. To solve this, I assigned an hospital zone on his room, de-assigned the bedroom and removed (claim back) his bed. At that time, the doctors came and brought him to the hospital.
    See also bug tracker entry for more information and tricks.
  • Animals starving to death.
    Grazing animals must be assigned to a pasture zone, otherwise they won't eat and starve to death.
  • Dump materials easily. In Look mode (k or left-click), move cursor to an object on the map. Press d to dump the object. When done, a letter D appears next to the object in the list. If the square contains multiple object, make sure you select the correct one with -+.
  • Hide object. In look mode, select an object, then press h. There will be a letter H next to the hidden object, and object will disappear from the map.
  • Show hole in floor. Use command multilevel 0 in DFHack, then floor hole will become easily noticeable. multilevel 5 to restore the default TWBT plugin setting.

Managing dwarfs

  • Give each dwarf a nickname like Miner CMX [1] where Miner is the profession, C means it is customized (all customized miner are doing Mining, Stone detailing, Stone crafting and architecture; C means that job allocation was done manually for all profession for this dwarf), M/F means male/female (for squad assignment), and X whether dwarf can be drafted if necessary (for squad making).

Avoid tantrums

  • Set up cloth / textile industry to make sure all dwarfs can replace worn cloths (cloths marked with x...x).

Deal with Werebeasts

Werebeasts are beasts like wereantelope, or werelizard. These are normal dwarfs that transform into beasts at every moon (see transformation dates). The problem with these is that when fighting, your dwarfs get a high chance to get infected, and hence infect more dwarfs on next cycle. Also, werebeasts do a lot of damage and kills many dwarfs.

This is how I deal with them:

  • First, it's best to prepare to such attacks, and foresee one or more rooms that can be used for isolation. Ideally make rooms accessible only through a long corridor, and close this corridor with a bridge + lever. Better yet, create several such isolated room.
  • On first report with a werebeast, kill the beast, and look at the combat reports (r) to see all dwarfs that were fighting with the beast. Open the report of all dwarfs, and write down which ones were wounded during the combat. To identify these dwarfs, I edit their nickname with DT, and add the prefix Were to their nicknames.
  • Assign all Were dwarfs to a uniformless squad (doing so require first to create the squad through noble screen, then create an empty uniform that you assign to all squad members).
  • Then in squad menu (s), assign a personal (p) move (m) order in the isolated room you created for this purpose. Since some dwarfs might not be infected, the best is to assign each dwarf to a separate room.
  • Close all the rooms with the bridge, and wait next transformation date.
  • On transformation date, identify which dwarf were really a werebeast, and free the other one (don't forget to remove the Were prefix).
  • Actual werebeasts can then be killed using a station under bridge trick. Build a bridge that is big enough (because station order is not so accurate), in a dedicated room. Then kill with a lever. You'll need to engrave a slab to prevent ghosts.

Also, infected dwarfs are usually heavily wounded, and hence might ignore the station squad order, and head to the hospital (if you have one). In that case, make sure that each room in your hospital can be individually locked, and make sure that your hospital door can be closed with a bridge. Before transformation date, close the room door, use a civilian alert to have everybody leave the hospital, and request to close the hospital door bridge (make sure lever is within the alert burrow).

Some links:

Deal with ghosts due to missing dwarf

Dwarfs that are killed by the dwaf atom smasher are reported missing. If not dealt with, these will coming as revengeful ghosts.

  • Construct rock slab in a masonry.
  • Engrave the slab (alt-s) in a craftsdwarf workshop.
  • Then place the slab via the build menu.

Questions

View Rooms / Buildings — Meaning of rooms in red?
These are the rooms that overlap and hence have much less value [2].
How to know the current season we're in?
Open stock screen (z), season and date is displayed in the upper right corner.

Notes

Milling
  • Requires a plant and a bag.

DFHack

TWBT

  • Set multilevel
multilevel 5         # The default
multilevel less      # Reduce number of levels
multilevel more      # Increase number of levels

Commands

Show detailed Strange Mood information
Note that this might be a bit of cheating since part of the game fun is to diagnose yourself what the dwarfs want and bear the in-game consequence if you can't.
showmood             # Show detailed 'Strange Mood' information.

Command tiletypes

Let's remove all trees
  • First in the game, press k to select the top-left square on the map.
  • Then
tiletypes
range 200 200 100
filter mat tree        # Or: filter all tree
paint mat air          # Or: paint all air
paint shape empty      # Or: paint shape empty
run
  • Applicable shapes [3]: WALL FLOOR ...
  • Applicable material: SOIL STONE MINERAL
Note
  • filter any or paint any to clear the filter/paint

Hacks

AZERTY keyboard bindings

Edit file data/init/interface.txt [4]:

diff --git a/df_linux/data/init/interface.txt b/df_linux/data/init/interface.txt
index efe4622..9246a35 100644
--- a/df_linux/data/init/interface.txt
+++ b/df_linux/data/init/interface.txt
@@ -961,7 +961,7 @@
 [BIND:SETUP_LOCAL_Y_MUP:REPEAT_SLOW]
 [KEY:u]
 [BIND:SETUP_LOCAL_Y_MDOWN:REPEAT_SLOW]
-[KEY:m]
+[KEY:,]
 [BIND:SETUP_LOCAL_X_MUP:REPEAT_SLOW]
 [KEY:k]
 [BIND:SETUP_LOCAL_X_MDOWN:REPEAT_SLOW]
@@ -1412,7 +1412,7 @@
 [BIND:BUILDING_DIM_Y_UP:REPEAT_NOT]
 [KEY:u]
 [BIND:BUILDING_DIM_Y_DOWN:REPEAT_NOT]
-[KEY:m]
+[KEY:,]
 [BIND:BUILDING_DIM_X_UP:REPEAT_NOT]
 [KEY:k]
 [BIND:BUILDING_DIM_X_DOWN:REPEAT_NOT]

First game (after long time)

Vocabulary

DFHack / Dwarf Therapist have different terminology. I take here DFHack as reference:

Digram Profession Labor
En Engraver Stone Detailing
He Herbalist Plant Gathering

Trading

Some prices I got for items.

Base modifiers are:

Designation Description Valud modifier Sharpness Weapon/Armor modifier
Item Name 1x 50% 1x
+Item Name+ Finely-crafted 3x 70% 1.4x
*Item Name* Superior quality 4x 80% 1.6x
≡Item Name≡
=Item Name=
Exceptional 5x 90% 1.8x
☼Item Name☼
**Item Name**
Masterful 12x 100% 2x
Unique name Artifact 120x 100% 3x
«Item Name» Decorated object varies varies varies
1x - 2x - + 3x + * 4x * = 5* = ** 12x ** ! 120x !
Base price Item
3
  • Schist
6
  • Marble, spharelite
24
  • Limonite
10
  • Bayberry wood (cage | nest box | pot | toy boat)
  • (Hazel | peach | plum) wood chair
  • Schist cabinet | coffer | door
  • Large pecan wood pot
  • Bayberry
  • Emu bone crossbow
  • mudstone (amulet | bracelet | crown | earring | figurine | ring | scepter)
  • (cushion | marquise | radiant | table) cut (cabochon | carnelians | pink jades | tigereyes)
14
  • Bayberry wood nest box
  • Hazel wood chair
  • Schist coffer
  • Dwarven wine barrel
20
  • Large white jade (weight <1)
  • Lage (gray chalcedony | milk quartz)
  • Cave spider silk rope
25
  • (Bauxite | Mudstone | Microcline | jjthoclase | Schist) statue (weight 150-186)
44
  • Copper pick
50
  • (Marble) statue (weight 166)
90
  • Iron low boot (weight 2)
100
  • Iron crossbow (weight 3)
  • Silver (... | figurine | ...)
  • Baguette cut red gossular
  • (Briolette | Point) cut tanzanites (weight <1)
110
  • Iron left/right gauntlet (weight 1)
125
  • Point cut indigo tourmalines (weight <1)
140
  • Iron short sword (weight 2)
150
  • Iron breastplate (weight 16)
  • Marquise cut tsavorites (weight <1)
200
  • Iron mail shirt (weight 19)
  • Large green tourmalines (weight <1)
  • Point cut sapphires (weight <1)
230
  • Iron leggins (weight 22)
340
  • Iron battle axe (weight 6)
400
  • Large sapphire (weight <1)

Design

Ideas, things to know when designing a fortress.

  • Create feeding stockpile around workshop.
  • Create stock stockpile under workshop (to ease extension).

Troubleshooting

Plant mood in Dwarf Therapist

There is a bug in DT where the Mood Type is replaced by a Material Type, and hence Strange Mood becomes Plant Mood.

Use the in-game information to know what mood the dwarf is in (Strange Mood in the wiki), or use DFHack command showmood to get an accurate description (cheating a bit).

FPS Death

FPS death occurs when game slow down to a few FPS, hence becoming unplayable.

Miscellaneous bugs

  • Dwarfs are blind to Lye contained in bucket that are then stored in barrel. The best workaround is to create stockpile for Lye only and forbid barrel/bin there [5]

How - To

Uncage a creature from a cage stored in a stockpile

Several ways [6]. Among others:

  • First build the cage (b-j and Template:X to be sure to get the right cage), then q to examine the cage and a and enter to toggle the animal. Beware of hostile creatures.
  • Assign creature to a pasture zone via the pasture menu q-N.
  • With traders around, select the cage for trade via the move good to trading depot menu. When cage is hauled, animal inside will be released.

To Do

Things to try...

  • Rename units to better organize them (like prefix letters for profession...). See DFHack command rename unit "nick". There is also a DFHack script names. There is also an in-game gui/rename plugin.
  • Organize better stockpiles (with give and take). Note that it is not necessary to select take only from links. A small stockpile with take order from a main stockpile works very well.
  • Use DFHack StoneSense to view the fortress in 3D.

Fortress

Inspiration:

Trade

  • Buy lot of tan / hide / whatever to make leather works (needed for quiver, leather armors, ...).

Military

Marksdwarf
Ballista
  • Try the ballista
  • Make a channel against a rising bridge to collect arrows.

Farming & Textile

  • Get dimple cups seed. My current stock is low and I can't reproduce them???
  • Let's try to produce seed with a quern (as shown in this flowchart).
  • To restrict plan to mill, only forbidding works (job manager, dfhack workflow plugin doesn't). Forbid all plants except those that must be milled.
  • Next to Quern / Still, create 2 stockpile:
  • One bag only stockpile (that takes from main stockpile).
  • One barrel/pot only stockpile (that takes from main stockpile).