Dwarf fortress
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
- Dwarf Fortress on Bay 12 Games
- Dwarf Fortress Wiki, a must-visit place
- Ascii Tilesets reference
- Ascii Status Icon reference
- The complete and utter newbie tutorial for DF
Tilesets:
- Mayday's graphic tileset, a fan's tileset that greatly eases the gameplay
- Phoebius' tileset
3D visualizers:
Utilities:
- Dwarf Therapist, a mandatory utility that simplify considerably the management of dwarf's profession (Linux version)
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
- Utility:Lazy Newb Pack on the Wiki.
- Linux: Enay's LinuxLNP on the forum (latest information).
Guides
- DF Wiki - Quick start guide — Fortress
- Bedroom / Housing
- Trading
- DF Wiki - Trading.
- Trading for fun and profit, a blog post about trading in DF.
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
- DF Wiki - Installation
- Newbie / full package Utility:Lazy_Newb_Pack:
- Linux: Enay's LinuxLNP
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.
- Ctrl-F1 list of available DFHack hotkeys in current context
- A plugin to show dwarf occupation statistics and fort efficiency. Ctrl-F to display.
- A must-have to reduce micro-management and keep stocks up.
- Alt-W in workshop to trigger DFHack Workflow 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 maybeshowmood
.
- Avoid tools like Dwarf Therapist by tacklink with micro-managing task.
- Might require
labormanager enable
when game starts.
- 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
- See this forum post for some guidelines. Basically:
- Make crossbows.
- Make quivers.
- Make bolts.
- Have a refuse stockpile.
- Allow collection of corpses/refuse on the surface.
- Make sure hunters have ammo assigned to them. If you have large numbers of hunters you may need to increase their ammo allotments.
- Periodically unforbid all used ammo (recycling it back into quivers again) and/or manufacture new ammo.
How to Play - Reference
Stones
Source:
- Stock screen k → stone
- The Non-Dwarf Guide to Rock
Iron | Flux |
|
|
- 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
orpaint 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 |
|
6 |
|
24 |
|
10 |
|
14 |
|
20 |
|
25 |
|
44 |
|
50 |
|
90 |
|
100 |
|
110 |
|
125 |
|
140 |
|
150 |
|
200 |
|
230 |
|
340 |
|
400 |
|
Design
Ideas, things to know when designing a fortress.
- Stockpile desing — stockpile design is essential for an efficient 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.
- An important PSA on central staircases (and use of up/down staircases in general) and their impact on FPS &mdash a post on Reddit. Recommend to avoid multi-z-level staircases. An example of almost flat high-FPS map.
- Is there any way I can avoid death by FPS in Dwarf Fortress?
- Raising FPS — Reddit.
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 scriptnames
. 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).