Sunday, January 22, 2012

Dwarves & Holes is now on IndieDB!

The approval process finished successfully!!! I am so excited! Dwarves & Holes is now on IndieDB!

And it was about time! I've been planning to do so for ages. Things will pretty much stay the same for this blog, but the more interesting news will be mirrored on IndieDB. Snapshots will be uploaded there from now on. I think you can download without creating an account. And things should be safer than ever because i'm sure they also have their assortment of antivirus tools in order to protect their own site and customers.

So Monday's snapshot 3 is on schedule. I still need to do some packaging work. Actually, now that I am on IndieDB I'll make sure that things receive just one extra coat of polish! Also people there don't know anything about my project or its history so I'll write a few tutorials to bring everybody up to speed. I'll post the content of the first tutorial here after the break. You will see that extra layer of polish I was talking about with the launcher.

So you have downloaded one of our snapshots? Now what? If you are a first time user this small little tutorial will guide you through the process of installing and configuring your game.

Currently we are releasing our snapshots as simple ZIP archives. No installation is required, just unzip the archive at a location of your choosing. Only 32bit Windows builds are included in the release right now. After you have unzipped with the tool of your choice, you will have a new folder called "Dwarves & Holes".

Windows Vista and Windows 7 users that are running with UAC (User Account Control) should take care to unzip into a location where their user has read and write access without needing administrator's privileges, in case the game needs to save data. Example of bad locations: C:\Windows, C:\Program Files. Good locations are inside you user's folder or any other location where you were never asked for permission in order to write to that folder.

In your "Dwarves & Holes" folder you will find three folders:
  • bin: this is the home for the game's executables. In the "win32" folder you will find the files that you need. "dheditor.exe" is your game launcher, so you might wish to create a shortcut to it on your desktop. Since every week a new snapshot is released you will have more and more reasons to launch the game. "dh.exe" is the main executable of the game. You can use this to boot it up and skip the launcher if you so desire.
  • content: this folder is the home for your content packs/mods. Dwarves & Holes has been designed from the ground up with mod support in mind. Every content pack or mod (collectively called mods from now on) has its own subfolder here.
  • data: this folder contains generic resources and is also the home of your configuration file.

So you could just boot up "dh.exe" and pray for the best. But for first time users and for every new snapshot it is recommended that you launch "dheditor.exe" at least once and check the configuration to make sure that it is up to date and no new interesting configuration options have been added that you might want to check out. Let's check out the launcher:

It has the following options:
  • Launch game: pretty self explanatory! Press the button to launch the game!
  • Launch editor: since Dwarves & Holes was designed to be instantly modable we needed to provide a tool that would facilitate this. We don't like having to edit obscure text files. So we created the editor. The editor is almost as old as the now discontinued 2D version of the game and while it has stood up to the test of time quite remarkably, the current version is a little bit behind. Please give us some time to fix it up! Until then you can still play around with it, but to make sure it causes no harm the editor is currently set to read only mode. This means that you can do what you wish to it as it won't save the changes to disk and thus it can't cause any harm. A detailed tutorial on how to use the editor will be posted in the future, but for now a screenshot will do:

  • Options: here you can configure the game. The rest of this tutorial will cover the options.
  • Exit: another  self explanatory option. Click it to be on your way to more productive activities.

So there is one final piece to the puzzle: the options dialog. Let's see it:

It does not have that many options right now but we'll add more as we see fit. Here is a rundown of the available options:
  • Rendering engine: this controls the back end used for rendering. Under Windows you can choose between  DirectX 9 or OpenGL. OpenGL versions at least 1.4 and prior are not supported. Under Linux only OpenGL will be supported. The game is also capable of running in software mode but this is not recommended. Depending on your system setup either DirectX or OpenGL may run better. If you are experiencing issues with one, it does not hurt to try the other.
  • Screen Width: this controls the width of the game window. If you are running in full screen mode you must specify a resolution supported by your monitor and GPU. In the future a list with all the supported modes will be used instead of an editable field, but right now you'll just have to edit it manually.
  • Screen height: this controls the height of the game's window. The same notice from screen width regarding full screen mode applies here too so please make sure you provide a valid value.
  • Colors: this controls the number of colors available for rendering and your two choices are 16 bit colors or 32 bit colors. 32  bit is the default and there are very few practical reasons to reduce it to 16.
  • LOD quality: this option controls how aggressive the level of detail switcher is. The game is optimized to run at a steady 60 or more frames per second on setups that are compatible or better than the target hardware and the "high" LOD options has been designed as the perfect compromise for this goal. So "high" is actually normal. You should ot reduce this option. But if you are experiencing framerate issues you may be forced to. The "medium" LOD option (that is more like low) has better performance while slightly reducing quality. Some popup may be present and rarely the engine might be forced to use a low level of detail mesh in plain sight rather than in the distance because it has computed that it needs to do so in order to improve performance. Setting LOD to medium may be a good way to improve your performance if you are having such issues. Setting LOD to "low" is not recommended. This is actually super low mode! It greatly reduces visual quality, popin is prevalent and use of low detail meshes in plain sight is common. But it has the best performance and may be of use to people who are running on machines that do not meet the requirements.
  • Fullscreen: this controls if the game launches in a window or fullscreen. You should adjust your screen width and screen height options to a supported resolution before turning on fullscreen mode.
  • Vertical synchronization: this options forces screen updates to be synchronized with screen refresh rates. It also causes your maximum framerate to be locked. This option is on by default and it is recommended to be left on. This is not a game that benefits from higher framerate. You should have the same experience at any framerate that is 60 or above. Even running at 40 FPS should have almost zero impact on you experience. So keeping the maximum framerate capped to your refresh rate makes the game work a little less hard, keeping your CPU and GPU load under control, preserving battery life and general power consumption.

Expect more options in the near future! Texture downscaling for weaker GPUs and antialiasing options will be the first new options that will become available.

And stay tuned for further tutorials explaining the game mechanics, interface and editor use!


  1. Nice. Also, is this the next step towards Desura?

    1. Maybe. I am not worried about it right now but publishing on Desura seems fairly painless.

      I don't want to worry right now too much about politics or money, but I do want at least creation mode to remain free, especially if I can get a DF import going.

    2. DF import? Seems legally sticky, since there's no real way to do it without either modifying and/or reverse engineering DF.

    3. Well there are two possibilities: either use DFHack or just figure out the save game format. I think it is not encrypted. Or even create a custom tileset and use image recognition :P.

      So I don't think I'll have more legal troubles than Stonesense and other visualizers.

      And I would like to import from Minecraft too if possible.

    4. The differences is that Stonesense and other visualizers aren't being set up to compete with Dwarf Fortress. Your project is.

      (Side note: I think it's a great idea, I just think that this is something you should consider, just in case)

    5. Well I want an importer. Worst case scenario: it is problematic so I never release it. But I'll still use it for my own enjoyment :P. In winter 2010/2011 I decided that I want to have first person 3D view. Back then it was less ambitions and i only wanted it for bedrooms.

  2. Just my opinion, but I think you could choose a better name...

    1. I agree. But I have spent the last few months trying to come up with a name I like. No luck yet!

      I am terrible at naming things...

      Except for pets: I named my cat Marian! Best cat name ever!

    2. I agree that "Dwarves & Holes" has a potential to be soooooo badly interpreted :p

      Run a naming contest? ;)

    3. Well it comes from you having a bunch of dwarves and them digging holes. If they don't dig they don't uncover all the fun stuff. So it's not just about the holes, it is also about what you put in the holes.

      OK, maybe you are right :).

  3. Congrats! Looking forward trying it :)

  4. Call it 3DF! :) (not really serious, although it's not really that far off the mark)

    Although DF / Dwarves?! / A Game of Dwarves have the good ones already.

    Perhaps something playing off mountains / tunnels without the word dwarf in the title at all?