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 "User:Soundandfury/DF Designer"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Windows build (almost) DOA :()
m (Update for 0.16.3 release)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''DF Designer''', by [[User:Soundandfury|soundnfury]], is a fort layout and building planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.
 
'''DF Designer''', by [[User:Soundandfury|soundnfury]], is a fort layout and building planning tool.  It enables you to work out your designs before you start to build, and even see how they look in 3-D.
It's written in C with SDL, and is basically a Linux project right now.  However, there is a Windows port (see below).  The source code is freely available under the GPL.
+
It's written in C with SDL, and started out as a Linux project.  However, it has since been ported to Windows and OSX (see below).  The source code is freely available under the GPL.
 
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent.
 
Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent.
  
[http://dffd.wimbli.com/file.php?id=1652 Download 0.8 from DFFD]
+
[http://dffd.wimbli.com/file.php?id=1652 Download 0.16.3 from DFFD]
  
[http://dffd.wimbli.com/file.php?id=1660 Port for Windows users] '''Note: The Windows port is not 'officially' supported; updates may lag.  It only seems to work on a select few people's boxen; most people report crashes.  Still trying to fix.'''
+
[http://dffd.wimbli.com/file.php?id=1660 Port (of 0.16.3) for Windows users] '''Note: The Windows port is not 'officially' supported; updates may lag.'''
  
[http://www.bay12games.com/forum/index.php?topic=45433.0 Forum thread]
+
[http://dffd.wimbli.com/file.php?id=2312 0.12 for Intel Mac] Even less 'official'; HebaruSan compiled it, ask him for help and updates.  I don't have a Mac and can't test on one.
 +
 
 +
[http://www.bay12forums.com/smf/index.php?topic=45433.0 Forum thread]
 +
 
 +
[http://www.bay12forums.com/smf/index.php?topic=45433.90 Tutorial/walkthrough]
 +
 
 +
[http://github.com/ec429/DF-Designer ''git'' repository]
  
 
==User's Manual==
 
==User's Manual==
Line 13: Line 19:
  
 
===System Requirements===
 
===System Requirements===
DFD uses about 7MB of RAM.
+
DFD uses about 7MB of RAM for the default map size; the maximum map size takes 2GB.
  
The Isometric view is executed on CPU (not GPU) so might be slow on older or low-end machines.
+
The 3-D view is executed on CPU (not GPU) so might be slow on older or low-end machines.
 +
 
 +
The Minimap will ''really crawl'' on large maps.
  
 
===Compiling (Linux)===
 
===Compiling (Linux)===
Line 24: Line 32:
 
===For Windows===
 
===For Windows===
 
In the Windows build, the libraries are provided as DLLs.  It ought to work right out of the box; if it doesn't, get out your C compiler and fix it yourself :D
 
In the Windows build, the libraries are provided as DLLs.  It ought to work right out of the box; if it doesn't, get out your C compiler and fix it yourself :D
 +
(There were some DLL Hell issues for a while, but I ''think'' they're fixed... for now...)
  
 
===Running===
 
===Running===
Line 33: Line 42:
 
| -n, --no-confirm 
 
| -n, --no-confirm 
 
|Don't pop up confirmation windows for non-undoable actions.
 
|Don't pop up confirmation windows for non-undoable actions.
 +
|-
 +
| -i, --no-full-3d
 +
|Use the simpler version of the Isometric view (no rotation) - should probably work better on slow machines
 +
|-
 +
| -h, --no-help
 +
|Don't run the key-help through the console at startup (can still get key-help by pressing {{key|h}})
 
|-
 
|-
 
| -x=''<small>number</small>''
 
| -x=''<small>number</small>''
|X-Size of world (default=max=64)
+
|X-Size of world (default=96, max=2048)
 
|-
 
|-
 
| -y=''<small>number</small>''
 
| -y=''<small>number</small>''
|Y-Size of world (default=max=64)
+
|Y-Size of world (default=96, max=2048)
 
|-
 
|-
 
| -z=''<small>number</small>''
 
| -z=''<small>number</small>''
|Z-Size of world (default=24)
+
|Z-Size of world (default=24, max=256)
 
|-
 
|-
 
| -z0=''<small>number</small>''
 
| -z0=''<small>number</small>''
Line 48: Line 63:
  
 
===The Basics===
 
===The Basics===
DF Designer has two modes, ''Edit'' (top-down slice) and ''Isometric'' (view only).  You can switch between these modes with the keys {{key|e}} and {{key|i}} respectively.
+
DF Designer has two modes, ''Edit'' (top-down slice) and ''Isometric'' (view only).  You can switch between these modes with the keys {{key|e}} and {{key|i}} respectively, or toggle with {{key|v}}.
  
You do your actual building in Edit mode.  To edit a tile in any way, you move your cursor over it (you should see a little yellow box around the tile you're currently hovering over), and then left-click.  You can also click-and-drag, thus allowing you to designate several tiles.  To choose /what/ to build, press one of the designation keys (press {{key|h}} for a listing).  You can see which tool is currently selected from the icon below the map (although some of the images aren't done yet, so you just get a placeholder).
+
You do your actual building in Edit mode.  To edit a tile in any way, you move your cursor over it (you should see a little yellow box around the tile you're currently hovering over), and then left-click.  You can also click-and-drag, thus allowing you to designate several tiles.  To choose /what/ to build, press one of the designation keys (press {{key|h}} for a listing).  You can see which tool is currently selected from the icon below the menu.  You can also select tools using the menu system (menus 2 and 3).
 +
Isometric mode is actually a misnomer; it renders in 3D and you can rotate the view in both azimuth ({{key|[}} and {{key|]}}) and elevation ({{key|{}} and {{key|<nowiki>}</nowiki>}}).
  
 
===In more detail===
 
===In more detail===
Line 60: Line 76:
  
 
Load and Save with {{key|l}} and {{key|s}}.  Suggested extension, ".dfd", though it's up to you.
 
Load and Save with {{key|l}} and {{key|s}}.  Suggested extension, ".dfd", though it's up to you.
 +
 +
Edit has two submodes, COLOURS and DF-TILES, two methods of displaying what's in each tile.  Select them with {{key|c}} and {{key|x}} respectively.
  
 
DF Designer doesn't implement anything near the full ontology of buildings and constructions in DF; however, as the versions go by, it should increase.
 
DF Designer doesn't implement anything near the full ontology of buildings and constructions in DF; however, as the versions go by, it should increase.
 
'Objects' - beds, chairs, tables, and other stuff - don't appear in Isometric mode right now, because I haven't done any models or anything like that for them yet.
 
'Objects' - beds, chairs, tables, and other stuff - don't appear in Isometric mode right now, because I haven't done any models or anything like that for them yet.
  
"Shadowing" is DF Designer's way of showing you what's on nearby levels, in Edit mode; fainter versions of the z-levels above and below are superimposed upon the current level.  You can toggle shadowing by pressing {{key|m}}.
+
"Shadowing" is DF Designer's way of showing you what's on nearby levels, in Edit--COLOURS mode; fainter versions of the z-levels above and below are superimposed upon the current level.  You can toggle shadowing from the View menu (4,5 Shadow).
 +
 
 +
"Semislice" allows you to choose whether the slice in Isometric mode cuts above or below the floors.  You can toggle semislice from the View menu (4,5 Shadow).
 +
You might notice that shadowing and semislice both use the same menu button.  In fact, they are controlled together; whenever one is turned on, the other is turned off.  Since only one has any effect at once (they affect different modes), this shouldn't matter.
  
"Semislice" allows you to choose whether the slice in Isometric mode cuts above or below the floors.  You can toggle semislice by pressing {{key|m}}.
+
There's a minimap for working with big maps (you scroll around with the cursor keys); to see the minimap you have to turn off the console - press {{key|?}}.
You might notice that shadowing and semislice both use the same key.  In fact, they are controlled together; whenever one is turned on, the other is turned off.  Since only one has any effect at once (they affect different modes), this saves a letter on the keyboard (which is just as well as we're going to run out soon at this rate).
 
  
  
Line 73: Line 93:
  
 
===Export Floor Map===
 
===Export Floor Map===
Pressing {{key|x}} will export a floor map.  Note: Remember not to export the floor map over the top of the map save; use a different filename!  (Suggestion: append '.txt' for the floor map).  DF Designer doesn't have a function to import from floor-maps; you don't want to lose your map save, right?
+
Menu item 1,4 (Export) will export a floor map.  Note: Remember not to export the floor map over the top of the map save; use a different filename!  (Suggestion: append '.txt' for the floor map).  DF Designer doesn't have a function to import from floor-maps; you don't want to lose your map save, right?
  
 
Cunning features of the floor map include condensing of series of identical Z-levels.
 
Cunning features of the floor map include condensing of series of identical Z-levels.
 +
 +
===Quickfort Export===
 +
Menu item 1,5 (QF-Export) will export the current z-slice as a [[Utilities#Quickfort|Quickfort]] .csv file.  This feature (internally called 'yxport') is still a bit hacky, and you may have to manually tweak the exported .csv files to make them work (eg. large regions of floor are built one tile at a time, which causes access problems).
  
 
==Screenshots==
 
==Screenshots==
Line 82: Line 105:
 
Image:Dfd_05_edit.png|Editing mode in DFD 0.5
 
Image:Dfd_05_edit.png|Editing mode in DFD 0.5
 
Image:Dfd_05_iso.png|Isometric (View) mode in DFD 0.5
 
Image:Dfd_05_iso.png|Isometric (View) mode in DFD 0.5
 +
Image:Dfd_0_11_tiles.png|DF-TILES editing mode in DFD 0.11
 +
Image:Dfd_0_15_newgui.png|The newgui branch, while still experimental
 +
Image:Dfd_0_16.png|After the newgui merge
 
</gallery>
 
</gallery>

Latest revision as of 01:40, 6 January 2011

DF Designer, by soundnfury, is a fort layout and building planning tool. It enables you to work out your designs before you start to build, and even see how they look in 3-D. It's written in C with SDL, and started out as a Linux project. However, it has since been ported to Windows and OSX (see below). The source code is freely available under the GPL. Since DF Designer does not 'talk to' Dwarf Fortress, it is version-independent.

Download 0.16.3 from DFFD

Port (of 0.16.3) for Windows users Note: The Windows port is not 'officially' supported; updates may lag.

0.12 for Intel Mac Even less 'official'; HebaruSan compiled it, ask him for help and updates. I don't have a Mac and can't test on one.

Forum thread

Tutorial/walkthrough

git repository

User's Manual[edit]

aka, "How the hell do I work this thing?"

System Requirements[edit]

DFD uses about 7MB of RAM for the default map size; the maximum map size takes 2GB.

The 3-D view is executed on CPU (not GPU) so might be slow on older or low-end machines.

The Minimap will really crawl on large maps.

Compiling (Linux)[edit]

You will (probably) need libsdl1.2-dev, SDL_image, and SDL_ttf. Working out precisely what is needed, and where to put it, is left as an exercise for the reader ;)

Then, run make. If there's an error about symbolic links, make should ignore that and so can you.

For Windows[edit]

In the Windows build, the libraries are provided as DLLs. It ought to work right out of the box; if it doesn't, get out your C compiler and fix it yourself :D (There were some DLL Hell issues for a while, but I think they're fixed... for now...)

Running[edit]

To start DF Designer, run './designer' or double-click on the executable (symlink). Command-line options:

-n, --no-confirm  Don't pop up confirmation windows for non-undoable actions.
-i, --no-full-3d Use the simpler version of the Isometric view (no rotation) - should probably work better on slow machines
-h, --no-help Don't run the key-help through the console at startup (can still get key-help by pressing h)
-x=number X-Size of world (default=96, max=2048)
-y=number Y-Size of world (default=96, max=2048)
-z=number Z-Size of world (default=24, max=256)
-z0=number Ground Z-level (default=13)

The Basics[edit]

DF Designer has two modes, Edit (top-down slice) and Isometric (view only). You can switch between these modes with the keys e and i respectively, or toggle with v.

You do your actual building in Edit mode. To edit a tile in any way, you move your cursor over it (you should see a little yellow box around the tile you're currently hovering over), and then left-click. You can also click-and-drag, thus allowing you to designate several tiles. To choose /what/ to build, press one of the designation keys (press h for a listing). You can see which tool is currently selected from the icon below the menu. You can also select tools using the menu system (menus 2 and 3). Isometric mode is actually a misnomer; it renders in 3D and you can rotate the view in both azimuth ([ and ]) and elevation ({ and }).

In more detail[edit]

To find out which key does what, press h, and some help will scroll up that fancy console on the left.

You can designate rectangular areas by right-clicking twice. Beware, though, because you can't undo (yet).

You can also do designations by pressing Ctrl- * where * is any designation key. So, for example, Ctrl-b places a bed, as well as selecting bed as the current tool; b on its own would just select bed, and not actually place one until you left-clicked.

Load and Save with l and s. Suggested extension, ".dfd", though it's up to you.

Edit has two submodes, COLOURS and DF-TILES, two methods of displaying what's in each tile. Select them with c and x respectively.

DF Designer doesn't implement anything near the full ontology of buildings and constructions in DF; however, as the versions go by, it should increase. 'Objects' - beds, chairs, tables, and other stuff - don't appear in Isometric mode right now, because I haven't done any models or anything like that for them yet.

"Shadowing" is DF Designer's way of showing you what's on nearby levels, in Edit--COLOURS mode; fainter versions of the z-levels above and below are superimposed upon the current level. You can toggle shadowing from the View menu (4,5 Shadow).

"Semislice" allows you to choose whether the slice in Isometric mode cuts above or below the floors. You can toggle semislice from the View menu (4,5 Shadow). You might notice that shadowing and semislice both use the same menu button. In fact, they are controlled together; whenever one is turned on, the other is turned off. Since only one has any effect at once (they affect different modes), this shouldn't matter.

There's a minimap for working with big maps (you scroll around with the cursor keys); to see the minimap you have to turn off the console - press ?.


That's basically it. You might wonder what the rules are for placing things on top of other things, and whether what was there before stays there; answer: it's all ad-hoc. Just try stuff; after all, you can always get back to what you had before (though if you've put lots of work in, you might want to save first, because there's no 'undo' feature yet).

Export Floor Map[edit]

Menu item 1,4 (Export) will export a floor map. Note: Remember not to export the floor map over the top of the map save; use a different filename! (Suggestion: append '.txt' for the floor map). DF Designer doesn't have a function to import from floor-maps; you don't want to lose your map save, right?

Cunning features of the floor map include condensing of series of identical Z-levels.

Quickfort Export[edit]

Menu item 1,5 (QF-Export) will export the current z-slice as a Quickfort .csv file. This feature (internally called 'yxport') is still a bit hacky, and you may have to manually tweak the exported .csv files to make them work (eg. large regions of floor are built one tile at a time, which causes access problems).

Screenshots[edit]