Developer's Area

This area of the site contains information and resources for people wishing to develop their own interfaces for WarFoundry, add additional functionality to WarFoundry, or create their own data file format for WarFoundry. Being open source (LGPL) means that any of this is possible.

There are two main sides that 'developers' (that is 'people who are not just users who only create armies') can be involved in - user data/game data/translations and source code development. The data and translations need no programming knowledge, only a working understanding of XML (HTML would give a good basis). Source code development for most of the core components requires knowledge of C#, but plugins and interfaces can coded in any of the .Net languages.

User data, game data and translations

The various data files used by WarFoundry should need nothing more than a simple text editor, such as Notepad, TextPad, gEdit or Kate, and a Zip creation program. Additional features may need a graphics package, but are not yet implemented.

Details of the WarFoundry file format (the outer Zip-based wrapper part) will be available soon. Each outer wrapper will be able to contain a variety of data, including game data and images. Full details have not yet been finalised, but progress is being made on useful features.

If you want to create new data files (new game systems or new armies in those systems) or if you want to understand the content of existing files then you will need the data document definition manual. This will be made available once the data document formats are finalised. Alternatively, for a more technical approach then there will be full XML document type definitions available. Details will be available in our document definitions section.

The other area that will probably always need contributions is translations. All of the official GUIs will be fully translatable, with a default English translation where a local translation does not exist. By making it translatable, WarFoundry should be more useful to a wider range of people. Translations are also in XML format, but in a much simpler format that should not need any prior XML experience, only an example to work from.

Source code development

The core of the WarFoundry API is written in C#, with official user interfaces using System.Windows.Forms for Windows and GTK# predominantly for Linux (although it can be used on Windows and Mac OS X). Due to the fact that all .Net languages compile down to common byte-code, additional plugins or interface should be able to be written in one of a number of .Net languages.

As both the back-end library and the official front-ends will be released under the LGPL, any developer with the right tools will be able to work on them. Source code will be available from this site, and a full source control system may eventually be set up when sufficient developers join. Before then any changes will have to be submitted as patches that will then be incorporated in to the source code.

Documentation about the design and use of the WarFoundry API, as well as MonoDoc generated documentation, will be available when it is closer to being finalised.