DwarfCorp from Completely Fair Games is a single player tycoon/strategy game for PC. In the game, the player manages a corporate colony of dwarves. The dwarves must mine resources, build structures, and contend with the natives to survive.
To develop DwarfCorp, you need the following libraries. If you just want to play the game, download one of the packages on our releases page.
- The XNA 4.0 library (not included)
- Note: If you are running Windows 8 or higher, you will need to download MXA instead.
- XNA-FNA for cross-platform development (forked)
- LibNoise.NET (source code included)
- JSON.NET (source code included)
To build and run in the game on a windows PC, you must do the following:
- Download and install the XNA Game Studio 4.0 library (or MXA if you are running Windows 8 or higher)
- Download and install Visual Studio. The project files were created for Visual Studio Professional 2013. Earlier versions may not work. "Express" versions may also not work.
- Open
DwarfCorp.sln
in Visual Studio - Set
DwarfCorpXNA
as theStartUp
project. - Add references to
XNA
binaries to theDwarfCorpXNA
project. They may also need to be added to theDwarfCorpCore
project. - Build
LibNoise
andJson.Net
projects - Set the
DwarfCorpXNA
build mode toRelease
orDebug
- Build
DwarfCorpXNA
- I opened the solution but I don't see anything View->Solution Explorer
- I can't install xna on windows 10
- Install xna refresh https://mxa.codeplex.com/releases/view/618279
- (you may find that google marks this download as malware. We do not endorse this binary but we have a programmer using it and virustotal seems to find no malware scanning the file)
- I can't download from the mxa website because chrome says it's malware
- Use another browser or temporarily disable malware/phishing protection on chrome
- 'Unable to find manifest signing certificate in the certificate store'
- Project->DwarfCorpXNA properties-> Signing-> Create Test Certificate
- You can use whatever password you want
- 'Cannot find wrapper assembly for type library "Microsoft.Office.Core"'
I think this is error is caused if you don't have Microsoft Office.
- Remove broken Microsoft.Office.Core reference.
- In the Solution Explorer tab under DwarfCorpXNA expand References. Right click 'Microsoft.Office.Core' and select Remove
- Add working Microsoft.Office.Core reference.
- Project->Add Reference..->COM
- search "microsoft office" which should turn up 'Microsoft Office 15.0 Object Library'. Add that and press OK
- Remove broken Microsoft.Office.Core reference.
- 'Could not find file 'LumenWorks.Framework.IO.dll'
- Project->Manage NuGet Packages..->search for 'LumenWorks.Framework'
- This should turn up 'LumenWorks.Framework.IO'. Click Install. If given a prompt, just check DwarfCorpXNA.
- In the Solution Explorer tab under DwarfCorpXNA you will find LumenWorks.Framework.IO. Delete this file. Note: There will be reference to LumenWorks.Framework.IO under References. Do /not/ delete that reference.
- Open 'DwarfCorpFNA.sln' in Visual Studio
- Build for XNA first. This will create the content files needed by FNA. Do this from within DwarfCorpFNA.sln
- Set 'DwarfCorpFNA' as the 'StartUp' project.
- Build DwarfCorpFNA.
There are several projects under the main folder:
- DwarfCorpCore contains the core source code of the game, and is intended to be more-or-less platform independent. This is not to be compiled.
- DwarfCorpXNA contains source code for XNA builds of the game. Most source files here should just be symbolic links to DwarfCorpCore.
- DwarfCorpFNA Contains source code for the FNA build. Most of the files in here are symbolic links to DwarfCorpCore in a flat directory structure.
- DwarfCorpContent Contains images, sounds, music, and content configuration files for DwarfCorp. Most assets in this content project may not be redistributed.
- LibNoise Is a fork of LibNosie.NET noise generation library.
- JSON.NET Is a fork of the JSON.NET data serialization library.
- FNA is a fork of XNA-FNA.
The game is released under a modified MIT licensing agreement. That means all source code is free to use, modify and distribute. However, we have explicitly disallowed modification and redistribution of the following game content (which remains proprietary):
- Images/Textures
- 3D Models
- Sound Effects
- Music
No forks, binary redistributions, or other redistributions of this repository may include the proprietary game content. It is up to the redistributor to provide their own game content. "Source code" may also include raw text files, JSON library files, and XML configuration files (which are not considered proprietary "game content").
It's complicated. If you have a question about the licensing, raise an issue on the repository.