I wasted again some real life time because I'm looking for a new appartment... excuses excuses... but the interface to setup a new game is ongoing and I finally fixed and completed the rules to generates CPS objectives dynamically, and I coded part of it during my breaks at my work.
The rules were already done but I failed in the logic of some steps, I was probably tired the day I did the mistakes...for sure!
That mean when the interface work is done, the generation of CPS objectives will be done too.
Since it was a fork of the code I will have just to merge it into the root tree and complete procedures and functions names.
I don't do GitHub commits for now because I want to complete the rework of the interface first.
I will commit the whole once done, and commit the merged code of the objectives too.
The interface element to select the faction of allegiance, expedition and backstory is now done and working. It's a very simple tree which has the merit to see the options available.
Of course the options above are... pitiful at best, but it will be populated when I will add new factions and their expeditions / backstories in 2018 with the last phase of fleshing out this alpha 10.
The Proceed and Cancel buttons are also reinstated.
Now I'm working on the faction datapad, which looked like this on the screenshot below:
It will have now five tabs:
History: will contain the descriptive texts on the selected backstory and will also contain an excerpt about the selected faction of allegiance.
Colonization: will contain the detailed informations about the special rules of the selected backstory and it's CPS data; i.e. the viability thresholds and the line of credit (if any).
Population: will contain the data about the settings of the population for the selected backstory including the size classes and the partitioning between each race, ethnic group and category.
Equipment: will contain the details of the starting space units and equipment.
Game Options: will contain any option linked to a game (ie not application based). It will be empty for the release but will be populated over the time.
Once this part is done I will work on the initialization and process of a new game, according the settings via the interface above, and will also implement all the dynamic generation of the data and the colonization objectives.