I've started work on the new race data file. The old system used a text file with ugly structure, and the rest of the data (ship sizes and styles, as well as starting system/planet stuff) are hard-coded.
The new system uses a xml file that will be flexible in allowing you to specify different stuff for a race. I've created new xml files for each race, and is now in process of phasing out the text files. The xml files have everything, I just need to modify the game's code to use that.
So far I've modified it to load in the race's name, description, and some of its attributes. Here's a screenshot of the Zero People in the race selection using the XML data:
Now, for the starting system(s) for your race, I think I've worked out a good system (pun not intended). The race will have an element named "StartInfo" that contains all the starting information for that race. It have "System" elements, one for each starting system (it's possible to have more than one system, the game will try and make sure that the race's systems are near each other, not scattered randomly across the galaxy). In the "System" element, there is an attribute "override" that is either "True" or "False". If True, then the system's randomly generated planets will be discarded, and it will load in the planets. If False, then it will randomly replace a planet with a planet in the data. If not enough planets in the system, it will add more planets.
In the System element, there are two types of elements: "Planet" and "Ship". Planet have "type" attribute for type of planet, and "owned" dictating whether or not that planet is owned by that race. Ship have "size", "style", and "name" attributes, as well as "Equipment" elements that tells the game what the ship have.
All in all, this should allow users to create custom campaigns (maybe a zombie race that starts on 25 systems and a lot of junk ships, and you start with only one planet and a couple of ships and your mission is to eradicate all the zombies? :) ), or simply just follow the classic 4X game setup (1 planet per race, along with 2 scout ships and a colony ship)
This system will also be similar to how events will be done in the game. More on that later when I actually get to it.