Search This Blog

Friday, March 2, 2018

Troubleshooting Gnomoria

As you might have read from my earlier post about my favorite games, I have a fondness for Dwarf FortressGnomoria (available on Steam) is a game about gnomes who, much like the dwarves, start out with a cart and some dreams.  Gnomoria takes the Dwarf Fortress idea and simplifies it (greatly) and leaves us with a more managable "city" builder game.

Our intrepid dwarves gnomes take to task building farms, harvesting wood, and digging holes in the ground (across multiple z-levels).  Unlike DF, G comes with some rather nice graphics.  Personally I like the ASCII of DF though I also run with the Phoebus tileset, but that's a story for another time.

Anyway, I have played Gnomoria on occasion for several hours a go.

One day I did some cleaning up of my system.  I got rid of everything that was old and stale.

And when I reinstalled Gnomoria recently I found that it wouldn't start.  It launched and crashed almost immediately.  No logs, no dialog box, no anything that might give some clue as to what was going on.  Even the Internet was quiet about this.  Not surprising since Gnomoria has now gone to version 1.0 and no longer supported.  Or, rather, that's what it seems.

I was determined to fix this issue.  Since I knew I had just cleaned up a lot of old junk, perhaps that had something to do with it.  So I dusted off my old hat from my days as a tech support desk jockey and dove headfirst into the problem.

First things first.  I looked at the Gnomoria directory in the Steam install path.  No logs.  Nothing really except the game files.  Everything looked to be in order.

And then I saw it.  A folder named "XNA".  Wait a minute.  Was this game written (at least in part) using the now defunct Microsoft XNA Game Studio?  There in the folder was the .msi file to install the XNA redistributable.

These redistributables are essentially library files that contain the shared data that were used to create the game.  You see, a programmer can set their program to link as a static or dynamic executable.  Since static builds are generally larger than dynamically linked, we oftentimes will build our projects as dynamic.  Doing so leaves us a smaller distributable archive and requires the end user (the gamer) to already have (or willing to download) the dynamic libraries that we used during build time.

For convenience, Gnomoria included the installer for the XNA libraries.

I already had the latest XNA redistributable installed from my days of tinkering with XNA Game Studio.  During my cleanup, I removed it since I no longer was testing the XNA waters (and also since Microsoft killed it).

So I grabbed the latest XNA redist from Microsoft, installed, and Gnomoria is running once again.

No comments:

Post a Comment