DF2014:Utilities

From Dwarf Fortress Wiki
Revision as of 12:47, 15 January 2022 by Jan (talk | contribs) (3D Visualizers: +link)
Jump to navigation Jump to search
This article is about the current version of DF.

A collection of third-party Utilities that are useful for Dwarf Fortress players and modders alike, and this page serves as a list of them. Dwarf Fortress is a difficult game to play, and any help that can be had in the task is welcome help. If you would like to add an article on a specific game utility to the wiki, please do so under the Utility namespace. Not included on this page: tileset repositories and graphics set repositories, due to having been given their own, separate pages. Mods have also been listed under their own Modification namespace. To avoid namespace clutter, websites are considered utilities, though they really aren't, and have been included.

A subsection of the Bay12 forums is devoted to such third-party programs, and contains development threads for most of them.

The Lazy Newb Pack is an effort to make Dwarf Fortress more accessible for new players by bundling and configuring utilities, graphics and tilesets, and extras such as reference material or more intuitive controls.

Contents

Launchers

Lazy Newb Pack

A commonly-used software bundle with a nice launcher. Allows you to start playing DF really quickly on a new machine - no need to download and integrate tilesets and tools like Dwarf Therapist, SoundSense, etc. - or even know what you need to get. The newer packs also include many third-party fixes for common bugs, which work automatically, and a large number of significant user interface improvements. The launcher makes changing settings or graphics options much easier (press button, instead of editing files) and can even remember to launch selected utilities whenever you open a game of Dwarf Fortress. See the Lazy Newb Pack page for more information, or the forum thread for your platform.

PyLNP

A cross-platform LNP port, written in Python. The launcher and configuration interface for all of the Lazy Newb Packs. PyLNP is under active development for bugfixes, addition of features pioneered by other launchers, and creation of entirely new features - such as rebuilding the raws of modded saves to change graphics packs.

Manila Launcher

A Java interface that allows easy option toggling, update and devlog checking, and tileset, mod and color scheme switching. Designed for players who prefer vanilla DF to a bundle like the above.

3D Visualizers

Stonesense

Stonesense prev.jpg

Stonesense is a third party visualizer, implemented as a DFHack plugin, that lets you view your fortress in a classic isometric perspective. It runs alongside Dwarf Fortress, and can follow the main game's view, updating in real-time. It is included in DFHack, and can be opened by typing stonesense or ssense into the console window.

Fortress Overseer

Fortress viewer.jpg

Fortress Overseer is the only 3D visualizer supporting v0.31. It has been completely rewritten and is currently updated to support v0.34.11 and v0.31.25. Overseer works indirectly, by using DFHack's mapexport to export a file which can then be rendered in 3D. DirectX 9 must be installed, though this requirement is not documented. Has not been tested for 0.40.13.

Armok Vision

Armok vision.png

Armok Vision is a 3D real-time visualizer using Unity for version 0.40.24. It works as a separate program communicating with the game through fast network interfaces.

Isoworld

Isoworld prev.png

Isoworld is an isometric world map viewer, which can display each of the detailed maps exported from Legends mode. It also has a pictographic view which makes finding waterfalls easy.

Isoworld can link with DFHack to display a game view at full spatial resolution in wider context, including tracking the player's view. This is particularly useful for adventure mode.

Voxel Fortress

Voxel prev.png

Voxel Fortress is a converter from DF worlds to a voxel format. It takes an export of one of the two elevation maps (for the voxels coordinates), and any other one (for the colors). The map is saved in .xraw format. An additional utility (e.g. MagicaVoxel Viewer) is required to see the voxel representation of the map.

Music and Sounds

SoundSense

Soundsense prev.png

SoundSense is a sound engine that parses game logs and reacts to game events with sound effects, incidental music and dwarfy comments. You can look it up on the forum thread, or directly download it at the SoundSense homepage. Due to it being written in Java, Soundsense is portable to all platforms.

Due to development having slowed down, a fork was released that most notably disables the broken auto-updater and adds the option to minimize Soundsense to the system tray.

Note that older Soundsense users may have different default seasonal soundtracks, which were removed and replaced in early 2011. These are available here.

SoundCenSe

SoundCenSe prev.png

A C# port of SoundSense, it uses the existing sound pack files and XML's present in SoundSense, but with some added enhancements. More information regarding what specific type of enhancements and how to install SoundCenSe can be gathered at the official forum thread. If problems emerge while trying to get SoundSense to work with the latest versions of Java, this port may prove to be a useful alternative.

Game manipulation tools

DFHack

DFHack's console.

DFHack is an advanced Dwarf Fortress memory access library and a set of tools and scripts using this library, providing direct object-oriented access to Dwarf Fortress's internals as if it were compiled into the game itself. Runs on Windows, Linux, and OS X. The standard configuration enables a variety of included bugfixes and interface upgrades, and provides many useful tools such as "clean all". See Utility:DFHack for summary of features and common use in.

Unit Management Plugins

Kloker's main screen

Kloker, A DFhack in-game UI for inspecting and managing units, with colorful summaries and accessible features including automatic labor assignment.

Feature plugins

These plugins add features to the game.

  • Rendermax, a plugin that implements a lighting system at the graphics level.
  • Dwarven Emigration, a script that allows unhappy dwarves to emigrate with their families.

Interaction plugins

DFHack scripts designed for modders to use as "spells" (not in standard package)

Miscellaneous plugins

DFHack script collection (not in standard package)

remotefortressreader

A critical internal DFHack plugin, developed within the same repository. It provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision. The service listens on 127.0.0.1:5000 (configurable within dfhack-config/remote-server.json).

Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. GetBlockList). Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.

Dwarf Therapist

Dwarf Therapist

Dwarf therapist.png

Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments, statistics (such as attributes, personality traits and happiness), sort dwarves by various criteria (e.g. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. This version contains the "labor optimizer" semi-automatic labor management system.

Splinterz' fork of Dwarf Therapist is the currently updated version, and available for Windows, Mac and GNU + Linux.

Dwarf Therapist Addons Repository

A collection of customizations for Dwarf Therapist submitted by the community.

Addons include:

  • custom professions
  • custom roles
  • optimization plans
  • filter scripts
  • new grid views

Fortress layout tools

Quickfort

Quickfort is a utility for Dwarf Fortress that helps you build fortresses from "blueprint" .CSV files (comma separated values). These files are easily created and edited in an app like Excel. Most building-oriented DF commands are supported through the use of multiple .CSV files to describe the different phases of DF construction (designation, building, stockpiles, and making adjustments. Recent versions of Quickfort work by converting the blueprint into a native macro for Dwarf Fortress, then executing the macro. This allows for enormously faster playback compared to early versions or DF Designator.

Quickfort Community Blueprints

A large collection of blueprints, published to remove the last hint of hassle in creating a fortress. You can download the lot without a paid account here.

ChromaFort

Chromafort is a tool designed to complement Quickfort, by converting images into quickfort-compatible .csv files. It works with 24-bit bitmap (.bmp) files. There are a number of known issues that can affect any image that is not square, and the size must be an exponent of two (8, 16, 32, 64...); other images may show nonexistent colours and/or come out highly distorted.

Picturefort

Picturefort is an attempt to make "Chromafort, but better" - it performs the same function of converting an image to a Quickfort-compatible .csv file. Unlike Chromafort, Picturefort can handle a large number of image formats (though .bmp or .png are recommended); images can be of any shape and within reason size; and while as of May 2014 it is only available on Windows, there are plans for a Linux version.

Symmetricity

A fortress planner with a focus on multiple planes of symmetry. It can output csv for quickfort. It's early in development so it's probably not suitable for serious use cases.

Modding tools

Rubble

A useful plugin-based modding tool that generates raws and supports easy installation of reactions, tilesets, macros, modding fixes and DFHack scripts. It is a fork of the now abandoned Blast. Binaries are available for Linux 32-bits, OS X 32-bits and Windows 64-bits, as well as the source (written in Go with building instructions). As of 4.0, a GUI is available for Windows.

PyDwarf

For players, PyDwarf is an easy way to manage and configure preferred mods in a way that avoids almost entirely the problems of outdated mods or incompatible groups of mods. For modders, PyDwarf's mod manager exposes a powerful Python API for interacting with raws and other data files.

Raw Explorer

A tree-based raw files browser, editor and manager.

Dwarf_RAW

A GUI for editing raw files, updated 2019.

Dwarf Fortress real-life material helper

A Python script that generates raws based on custom real-life material values.

Roses' Random Creature Script

A Python script that generates random creature raws.

DF Diagnosipack

A collection of modding tools, with a focus on diagnosing problems and getting statistics on what is found within the raws. It includes:

  • DF Duplisearch - checks your raws folder for duplicated objects, and counts the number of objects of each type (creature, entity, reaction, etc.).
  • DF Creatureclasser - tells you what creature classes are in your raws, and what they are used for.
  • DF CVunpack - unpacks creature variations, so you can see how the raws for e.g. wolf men really look (spoiler: they have 7 fingers).
  • DF Creaturescale - calculates creature weights, and the proportions of each body part and tissue.
  • DF Biomeviewer - shows what creature/plants can be found in which biomes.

DF RAW Language server

Modding support for DF RAW files in IDE/Code/Text editors. Checks syntax of files, detects errors and syntax highlighting.

Current extensions:

The Language server is a shared component that can be used to easily add support for more IDE's.

World Map / World Gen tools

Perfect World DF

Requires an additional (tiny) download to be functional for current versions (40.#): WorldGen.xml . Easy access to world settings for quick modification to allow highly customized world generation far easier and faster than DF's ingame advanced map maker. forum thread

Fortress World Generator

A bash script for automating world generation of large numbers of worlds on GNU/Linux.

Dwarf Map Maker

A Photoshop action script which turns legends mode exported maps into a much prettier fantasy map. There is also a version available for GIMP.

Satellite Map Maker

A GIMP script based on the Dwarf Map Maker that creates a satellite image of Dwarf Fortress world maps.

Legends tools

Legends Viewer

Unofficial Branch for 0.47.XX version of DF

Legends Viewer loads up the legends you can export in a much more usable format than the Legends mode of DF itself. Legends Viewer can open pages in new tabs, filter information on a wide range of criteria, and display information on the map as well. Binaries are only available for Windows, as well as the source (written in C#).

It takes four files as input: the legends XML file, the sites and pops text, world history text, and a map image. It can load these separately, but it is recommended to load them as a single compressed archive (folder) - the XML can be multiple GB uncompressed for long histories, and reduce to less than 5% of its size.

World Viewer

"Race" tab view

An alternative to Legends Viewer that, most specifically, features a timeline of historical events. Binaries are only available for Windows, as well as the source (written in C#).

Uristmaps

Zoomed-in area of a map view.

A web-based interface that displays worlds in the way of an interactive map complete with features and structures.

Legends Browser

Civilizations view

A web-based multi-platform (Win, Linux, OSX) Viewer. It displays an interactive map and legends information (using legends_plus.xml generated via DFHack).

DF Storyteller

Dwarf Fortress Storyteller (DF Storyteller, DF ST) is an application that parses Dwarf Fortress legends files, stores them internally and makes them queryable using API's. (Cross platform: Windows, Linux, macOS) This utility can be used to easily create new visualizers to view the legends data. A list of visualizers can be found here. An example of a visualizer is The Bard created in DF ST.

Remote playing tools

Dfterm3

Dfterm3 is a remote Dwarf Fortress-playing software for multiple users through a web interface. DFterm3 enables play through a web interface, and games can also be viewed on mobile - or even played if a bluetooth keyboard is attached. The web interface should work with Chrome or Firefox browsers, but there are known problems using Internet Explorer. DFTerm3 functions via a DFHack plugin, and is thus dependent on each version of DFHack.

It is a successor to dfterm2, which functions similarly using telnet instead of a web browser. This utility only works with version 0.34.11 or earlier.

Webfort

Playable in Mac browser.

A newer alternative to dfterm3 that functions similarly, but players must wait in a queue before assuming control for a given period of time. It also functions via a DFHack plugin. Binaries are available for Windows, as well as the source (written in C++). (Note: main repo unmaintained. New repo last updated 5/22/2015.)

DorfServer

Like Twitch, without Twitch.

A remote SSH-based Dwarf Fortress host software. (repo)

DFEverywhere

A utility that connects a locally-run Dwarf Fortress instance to a proprietary remote website, allowing remote browser-based play. (Note: Main website no longer available. Client source here.)

Dwarf Fortress Remote

iOS app (paid) that allows one to play Dwarf Fortress remotely with native UI. A server can be set up at home, or on DigitalOcean, AWS or other hosting service.

DFPlex

DFPlex is a plugin for DFHack which introduces simultaneous, real-time online co-op to fortress mode: each player has their own independent view, cursor, menus, etc. so nobody has to wrestle for control. It's a fork of webfort, so players join just by connecting from their web browser.

Language tools

DFLang

A language creating tool.

Toadese Language Utility

A language editing and translating tool.

DFlangOpt

A little tool meant to prevent redundancy when importing or updating language files.

Python language extraction and injection script

This simple script will extract words from language files and put them a word per line, for easy automatic translation or treatment. It can also read that list and put the translated words back in their place.

Announcement tools

DFMon

An announcement monitoring/filtering program, useful to hide some types of job cancellation spam or other more advanced filtering. Note that you can set the game to announce no job cancellations without any utilities or mods from the orders menu, with x.

DF Announcement Filter

An alternative to DFMon written in Java (and thus portable to Linux and OS X).

Announcement Window+

Announcement Window+ is a Python application that interfaces with Dwarf Fortress to print announcements and combat reports to a separate window. It was written to fix some annoying bugs that are present in DF Announcement Filter, which is no longer being updated.

One less game-pausing hotkey.

Filesharing websites

Dwarf Fortress File Depot

The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of Janus; for files related to Dwarf Fortress only.

Dwarf Fortress Map Archive

The Dwarf Fortress Map Archive is a large collection of user-submitted maps and videos and a nice flash viewer for perusing them. Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor; videos are stored in a compressed version of Toady One's own video-recording format.

Read more about the DF Map Archive on Markavian's User page.

Other/miscellaneous

DF Map Compressor

Main program window.

The DF Map Compressor encodes multiple bitmaps exported from Dwarf Fortress into a single, very compressed, .fdf-map file. The fdf-map file can then be shared with your friends by uploading to the DF Map Archive.

Exita

Exita is a Python program that takes your DF world map exports and dump them into several different text outputs.

DwarfFamily

A tool that lets you import your legends XML file and converts all dwarf entries to a .GED file, which you can use in Family Tree programs like MyHeritage to display a family tree for the dwarves.

Kobold name generator

A Python script that generates random names in the way of kobold utterances

Dwarf Fortress News - Android App

Watches the Dwarf Fortress devblog. Receives Push Notifications on new updates.