Developer's Area

The following is a log of project progress and developments.

23rd June 2008

In an attempt to kick-start development again, and inspired by Kyderdog's Mac OS X mock-up the file format for WarFoundry was changed slightly. The original data files were basic XML files that contained names, stats, descriptions and other game data. The new data files formats are based on Zip files and will allow for a greater variety of features.

Work has also been done on a more flexible file loading system that allows loading from multiple locations and in multiple formats.

28th February 2008

A lot of the past month has been taken up with extending the code that run's my wife's website. Some progress has been made on the library and GUI code, though.

The back end now has the beginnings of a workable requirements system for items that are added to units (e.g. equipment). The previous requirements code was based on whether a unit or other item could be added to an army.

Statistics for a unit are now easier to access, with both numeric and statistic title indexing. This allows you to, for example, get the "Movement" of a Games Workshop unit by passing its letter value of "M" or to get the Weapon Skill by passing "WS" while also allowing you to easily map "third column is balistic skill".

The Game System data file has been simplified. Earlier versions included "game system units" and "game system equipment" that was generic to everyone (e.g. magic items in Warhammer 4th/5th edition, siege equipment, common allies for all races and so on). This has now been replaced with a specific ID for the "system default race".

Units have been expanded so that they have a "base number". This is the initial number of troops that come with the unit at a specific cost and is used by some game systems to purchase the core of a unit at an equivalent of nine points per model and subsequent additional models for ten points per model.

The GTK# interface unit tabs that let you see the details of a unit, and I have finally managed to get Visual Studio to run correctly and migrated some of the System.Windows.Froms code over to using the updated API.

23rd January 2008

Rework of requirements for units (e.g. minimum/maximum number, requirement to have a minimum number of some other unit, etc) completed.

Previous records

The following are records from the original 'Features' page. These have now been archived here for historic reasons.

October to December 2007

Development slowed to a crawl. Large amounts of re-working were started in December. Much more work was put in to the GTK interface.

September 2007

With a wedding and a honeymoon in September then coding was a bit slower. There were some developments, though.

  • [Add]: Display of important points/percentages/choices information in tree. What information is show depends on the system type
  • [Add]: Translations that can contain replacable elements
  • [Change]: Improve application data path creation so that it is more consistant cross-platform
  • [Change]: Start moving code to a better structured Factory system
  • [Change]: Start reducing static references within GUI for army details
  • [Change]: Restructure internal storing of units in an army to help facilitate the important points/percentages/choices information

August 2007

Having created the basic functionality for army building of fixed-equipment armies, the next step was modification of units.

  • [Add]: Add and remove normal equipment from a unit
  • [Add]: Swap alternative required equipment of a unit (e.g. swap swords for great-swords, where the unit must have one or the other)
  • [Fix]: Correct undo and redo behaviour so that undoing, performing a new action, undoing the new action and redoing correctly redoes the new action rather than the one originally undone
  • [Add]: Start development on a GTK# GUI using MonoDevelop under Linux for compatability

July 2007

As listed in the forum for the System.Windows.Forms (Microsoft .Net) version:

  • [Add]: Switch current game system
  • [Add]: Create new army
  • [Add]: Add and remove units from army
  • [Add]: Change size and name of units in army
  • [Add]: Load army from and save army to file
  • [Add]: Undo and redo actions