Dwarf Fortress

Posted on  by 



⚒️ Dwarf Fortress on Steam ⚒️ We showed off a FIRST look at the gameplay during @GuerrillaCollec!World map gen, a first embark, and commentary by @Bay12Games. (Note: UI is a work in progress!). The deepest, most intricate simulation of a world that's ever been created. The legendary Dwarf Fortress is now on Steam. Build a fortress and try to help your dwarves survive, OR adventure as a single hero against a deeply generated world. This is The Mystic Dragon - Auragon by @dwarf.factory. An impressive cap with its mono tones and that shiny glint of gold along the spines and wings. This photo also contrasts well like the cap, with the white shells against the dark tones of the natural wood beneath them.

Dwarf Fortress is a single-player fantasy game. You can control a dwarven outpost or a party of adventurers in a randomly generated, persistent world. It is renowned for its highly customizable, complex in-depth game play.

The game is played mostly with keyboard only, though there exist mods which enable more mouse support via plugins. Without any graphic mods (also known as tilesets) the game is displayed in a terminal-like window with images of ASCII characters (screenshots) by default, though it can be configured to use an actual terminal or terminal emulator.

Oct 10, 2020 Dwarf Fortress is getting a Steam release for the first time, which will cost actual money rather than free, and as part of that it's getting a graphical upgrade. And by that I mean it's getting.

Installation

Install the dwarffortress package.

Alternatively, the AUR has packages that bundle or add graphics tilesets and/or utilities.

Other bundles, starter packs, tilesets, and mods can be found at the Dwarf Fortress File Depot.

See also the Installation page on the Dwarf Fortress wiki.

Configuration Files

When first run, Dwarf Fortress that was installed via Pacman creates a hidden folder in the user's home directory, ~/.dwarffortress/, to store configuration files, save files, etc.

Some of the directories in .dwarffortress/ are symlinks to directories in /opt/dwarffortress/. This includes the raw directory, so changes to /opt/dwarffortress/raw/ - either directly or through the link - will affect new games for all users. (Dwarf Fortress stores a copy of the raw directory for saves in the saves directory, so changes there will only affect that save for that user.)

To make changes to files in the main raw directory that only affect one user, either delete the link and copy the directory from /opt/dwarffortress/ to ~/.dwarffortress/, make the changes to a save (though that will not work for changes that affect world generation), or manually install a copy of Dwarf Fortress to a directory in the user's home directory and make the changes - and run the game from - there (see Manual or multiple installations on the Dwarf Fortress wiki).

See the Dwarf Fortress wiki for information about configuring TEXT mode.

Tools

DFHack

DFHack is a Dwarf Fortress memory access utility, with many useful scripts and plugins.

There are multiple dfhack packages available in the AUR.

To start Dwarf Fortress with DFHack, execute dfhack instead of dwarffortress, or create a custom desktop entry.

Similarly to the Dwarf Fortress packages, the DFHack packages add files and symlinks to ~/.dwarffortress/, including dfhack.init-example which can be copied to ~/.dwarffortress/dfhack.init and that editted to configure DFHack.

Dwarf Therapist

Dwarf Therapist (dwarftherapistAUR or dwarftherapist-gitAUR) is a utility to tune dwarvish behavior (makes life a lot easier). For it to work on current kernels you will need to disable a kernel security feature, since it directly accesses and modifies the memory of a running Dwarf Fortress instance. This setting is called kernel.yama.ptrace_scope and is active by default.

Permission to use ptrace can be given to the dwarftherapist executable with:

Note: The permissions will reset after an update to Dwarf Therapist. Consider using pacman hooks to automatically configure the permissions after an update.
Warning: You should not disable ptrace_scope globally in /etc/sysctl.d/ by default, or using sysctl, since it is an important security feature in the kernel!

Manipulator

Manipulator is an in-game alternative to Dwarf Therapist with most of the same functionality, which does not require extra permissions. It is enabled by default in the DFHack.

SoundSense

SoundSense (soundsenseAUR) adds various sound effects and music by monitoring the gamelog.txt.

Dwarf Fortress Download

quickfort

Quickfort is a utility for Dwarf Fortress that helps you build fortresses from 'blueprint' .CSV, .XLS, and .XLSX files.

StoneSense

StoneSense is an isometric world visualizer for Dwarf Fortress, and is part of DFHack.

Retrieved from 'https://wiki.archlinux.org/index.php?title=Dwarf_Fortress&oldid=663376'
Dwarf Fortress info | Achievement tool | SoundSense | Historian

What is SoundSense?

SoundSense is a sound-engine tool for Dwarf Fortress. It plays sounds based on what entries appear in the gamelog.txt. There is a thread at the official dwarf fortress forums, feel free to post your ideas and contributions there. You can also check out wiki page for know issues and other documentation.

Downloads:

Requires java 1.6 runtime. Install by unzipping to the Dwarf Fortress directory. For alternate location, you can edit soundSenseExe.cmd and change second to last parameter. Run by running soundSenseExe.cmd.

SoundSense r2016-11006.93 kB, 13.03.2016Soundpack315.82 MB, 13.03.2016

Remember to add official sound pack (separate download) or to run automated update after instalation!

Older versions: http://df.zweistein.cz/soundsense/
  • release 2015/1 (0.9 MB)
  • release 2014/1 (0.7 MB)
  • release 42 (0.7 MB)
  • release 41 (0.7 MB)
  • release 40 (0.7 MB)
  • release 39 (0.7 MB)
  • release 38 (0.7 MB)
  • release 37 (0.7 MB)
  • release 36 (0.7 MB)
  • release 35 (0.7 MB)
  • release 34 (0.7 MB)
  • ...
  • release 28 (0.5 MB)
  • ...
  • release 23 (9.2 MB)
  • Instalation

    Instalation and setting it up can be intimidating task if you are not an IT nerd, but bear with us, it can actually be easy (and fun).

    Non-scary instructions:
    • Download and extract soundsense, does not matter where.
    • Download soundpack to packs directory in soundsense directory.
    • Run soundsense.cmd or soundsense.exe

    First, you need to have java runtime installed. It can be downloaded from java homepage. To see that you have correct instalation, go to Start->Run, type cmd in dialog that opens, press ok. You are now at commandline, type java -version. If everythig is okay, few lines starting with something similar to java version '1.6.0_14-ea' should apear, in that case you are cool to go.

    If something similar to 'java' is not recognized as an internal or external command appears, you do not have properly set up instalation and can either fix it or work around it by editing soundSense.cmd which is in root of archive. Open it in Notepad and find line line starting with java -Dja... and replace java with full path for java instalation and java itself, for example 'C:Program FilesJavajdk1.6.0_20binjava.exe'.

    So, hard issues are now handled :).

    Now, where to install it? SoundSense expects to be in directory that is inside your DF folder, so for example if you have DF in f:/df_31_12_win_s/, you should unpack contents of SoundSense zip to f:/df_31_12_win_s/soundSense. Basically, so that gamelog.txt is one directory above .cmd file you use to launch application.

    If you want to install in different location, you need to edit configuration.xml and edit path='../gamelog.txt', replace ../gamelog.txt with path to wherever it is located (for example with f:/df_31_12_win_s/gamelog.txt).

    It is now all set up and ready to run, but you need some sounds that it will actually play: Download soundpack.zip and unzip it to directory packs.

    Now you can run SoundSense by launching soundSense.cmd or soundSenseExe.cmd (which should give you more sensible error messages regarding bad java instalation).

    Sound Packs:

    Install them by unzipping them to packs directory of the SoundSense.

    'Official soundpack'
    • soundpack.zip (315.82 MB, last update 13.03.2016)
    Credits for help for to tyrspawn and Rainseeker :). Music from following sources was also used:
    • Simon Swerwer - OST

    Official soundpack is work in progress, you can check out our status on tracking page.

    • ¤toikkus.zip¤ (1.3 MB, last update 9.7.2010), Pack of announcements voiced by Toikkus from forums
    • ¤toikkus2.zip¤ (2.3 MB, last update 29.1.2011), Seccond pack of announcements voiced by Toikkus

    Customization

    Helpfull stuff:
    • packSkeletons.zip are xml files for all known log lines without sounds, you can use this as your starting point.
    • missingMessages.cmd will parse log file and output all lines your packs will not recognize
    • Edit logging.properties to enable more debug messages from SS, set .level = ALL to view very verbose output.

    Add sound by adding entry to xml configuration file. logPattern='regexp' is a regular expression which if matched, will cause random soundFile from sound element to be played.

    sound element attributes:
    • logPattern - regular expression matching log line.
    • channel - string, channel on which sound is played. Sounds played on channel can be looped/stopped prematurely.
    • loop - string, 'start' - sound start loop on channel until different sound is played on channel (if it is non-looped sound, loop will resume when it is done playing) or sound with 'stop' is triggered.
    • concurency - number, number of councured sounds allowd to be played besides this sound. If currenty playing more than that, sound is ignored. In miliseconds, default unlimited.
    • timeout - number, timeout during which is sound going to be prevented from playing again. In miliseconds default 0.
    • propability - percentage, Propablity that sound will be played. Default is always played.
    • delay - number, delay before sound is played. In miliseconds, default 0.
    • haltOnMatch - boolean, if set to true, sound sense will stop processing long line after it was matched to this sound. Default false
    • ansiFormat - ANSI escape code, used to color console output.
    soundFile element attributes:
    • fileName - path to audio file with sound.
    • weight - number, controls likelihood of sound to be chosen. Defaulkt is 100.
    • volumeAdjustment - number, adjusts volume of sample. Can range from -40 to +6 decibles, default 0.
    • randomBalance - boolean, if set to true will randomply distribute sound betweem stereo channels.
    • balanceAdjustment - number, adjusts stereo channel, can range for -1 (full left) to 1 (full right).
    sounds element attributes:
    • defaultAnsiColor - ANSI escape code, used to color console output when nothing is defined at sounds.
    Fortress

    Sound can contain several soundFile elements, when it is triggered one random of them is triggered. You can control how often is particular sound chosen by weight='number' attribute.

    Supported formats for soundFiles:
    • mp3
    • ogg
    • wav
    • aiff
    • au

    soundFile itself can be playlist instead of sound file itself, marked by playlist='true' attribute. Sound files in playlist inherit all properties of their soundfile parent.

    Play Dwarf Fortress

    Modding resources

    Some sites of interest should you want additional sounds:

    Excellent utility mp3gain can help with keeping volume of sounds matching.

    Dwarf fortress tileset

    Source Code

    Dwarf Fortress Lazy Newb Pack

    Open source can be found at google code, within soundsense distribution itself and here: soundSense_2016-1_196_source.zip.

    Grand plan

    Current development goals are to expand list of known events which we can react to and add apropriate sounds.





    Coments are closed