Alpha 10 - iteration #08: Special Rules for the Common Core Done + Dynamic Starting Locations (WIP)

I finished to fully implement the two backstory's special rules that automatically add, and reject, technosciences and fundamental researches during the initialization of the common core of the player's faction.

I'm actually working on the starting locations.
For reminder, the starting location of the player's colony will be dynamically set during the setup of each new game, according to which faction of allegiance is chosen.
I expand actually the possible outcomes by adding options on what is added in the list of starting locations. Before it, there was only one option; to enter the full location of one orbital object (planet and asteroid), which is pretty limited because imagine that a planetary system having 80 orbital objects (a possible case if one has many asteroids) and there are 50 of them set as possible starting locations.
So I implementing a new parameter to set the scope of one entry in the XML data, and the possible options are the following:
  • Single: it indicates a single location (a single orbital object) that will be included in the list of starting locations.
  • Asteroids: it indicates that only all the asteroids of the system are included in the list of starting locations.
  • Planets: it indicates that only all the TELLURIC planets of the system are included in the list of starting locations.
  • SSI: it indicates a single location, formed by one Stabilized Space Infrastructure (space station, standford torus, and so on... BUT not a space megastructure), that will be included in the list of starting locations.
  • All: it indicates that all the orbital objects (excluding the gaseous planets) of the system are included in the list of starting locations.
These options allow to set a bigger range of starting locations without to have to set one entry by orbital object. It will be even more relevant when there will be more star systems than the only one FARC currently possess.


So yes, it is again a "little bit" of work, but it is a needed one.

Thanks for your interest.

Alpha 10 - iteration #08: New Game Setup - Under the Hood Coding + Dynamic Generation + Knowledge Base

I continue to re-enable and update the code to commit and process a new game.
In the process I also implement the new features, especially the effects of the backstories' special rules.
The two ones I actually implementing automatically add, and reject, technosciences and fundamental researches during the initialization of the common core of the player's faction.
The common core itself is already implemented since a previous iteration and, as reminder, it initializes and generates the technosciences and fundamental researches that are discovered and/or mastered at the start of a new game. It takes into the account of the setup of the technological trees, and the orientation of each research domain, of the chosen faction of allegiance and introduces certain variations.

Once done I will push further into re-enabling the legacy code and will link and add the dynamic generation for the starting location, and the setup of the starting population, space units and equipment.

Finally I will work on the Colonization Phase System to link the generation of the CPS objectives (which the code is already done) to the setup of a new game, and complete the rest of the CPS code for the management of the objectives and the user's interface of this system.

That's all for now. It takes far more time than planned, because as said previously it touches many parts of the code other than only the setup of a new game.

Meanwhile I also pushed the filling of the knowledge base; you can see the details of the last changes here.

Thanks again a lot for your interest in this slow project, and have a great day :)

Alpha 10 - iteration #08: New Game Setup Interface (finally) Done + Screenshot

During my job breaks I finally completed the interface to setup a new game.

Here is the final screenshot of the Equipment tab with the completed part:


The Game Options tab will stay empty for now and will be filled, over the time of the development, when a relevant option will be needed to be added.

Tonight I will re-enable and update the code that process a new game, as said at the end of the previous post.

Stay tuned.

Alpha 10 - iteration #08: New Game Setup Interface Nearly Done + Screenshots

I'm finally not far to complete the interface, to setup a new game; the last tab, Equipment, is nearly done.
It seems long for just a not pretty UI, but it also involving a good portion of code that touches the CPS, the space units, and the data structures for the factions of allegiance and the entities of the game.

I decided to make some screenshots to show the progress so far.
This one is displayed by default. It is color coded to inform the player how to use the interface to display the informations about the faction of allegiance, the selected expedtion and the backstory:

Once a backstory is selected, the History tab display the excerpts accordingly:
Here's, the Colonization tab display the Colonization Phase parameters of the selected backstory:
The Population tab display the parameters that will setup the population of the expedition:
Finally the Equipment tab, which is yet incomplete, that display the full list of starting space units and equipment available to the expedition:
In the screenshot above, only the list of the starting space units is fully displayed for the Magellan Unity. I have to make and complete code to display the starting equipment, in a same manner.

I'll try to complete the interface tomorrow night; there are a bit less of data to display for the equipment, so it should be faster to code.

Once done, I will continue to re-enable and update the code to commit and process a new game, including the ones to continue a previously saved game and also to load a game file.

Thanks for your interest!

CPS: Colonization Phase System 

Alpha 10 - iteration #08: New Game Setup UI + CPS Progress

The History tab (which contains informations about the selected faction of allegiance, expedition and backstory) is done and the Colonization tab is in progress.
The Colonization tab, in the interface to setup a new game, contains every basic informations for the settings of the CPS, related to the selected backstory: with the viablity threshold score to reach, for the three faction's status, the granted line of credit (if any), and the backstory's special rules (if any)
Most of the code is a copy/paste from the previous version of the interface, excepted for some refactorings, the display of the special rules, and heavy modifications in functions calling due to the changes of the CPS code (see below).

In the same time I finally started to rewrite the code of the CPS, outside of the generation of its objectives since it is already done, in a clearer and less messy manner.
I decided to start again from the beginning, including only pertinent old code from the previous version and rewrite many parts of it.
The rationale is that since the CPS objectives have been undergoing major changes, it is better to do it again than trying to patch the code here in here. Of course if parts of the previous version of the code is mostly compatible, I reintegrate it.
Some functions are also  out of place and needs to be cleaned up, a few are already.

So for TL;DR the ongoing coding of the interface to setup a new game occurs in the same time as for the CPS, since the two are linked together.

That's all for this post. I will make a new one when the interface will be completed and I will include some screenshots of it.

CPS: Colonization Phase System 

Alpha 10 - iteration #08: Generation of the Objectives Done

As the title says, the code is finally complete...
I reviewed it so normally there shouldn't be any error but of course I will test it once all is in place.

So now the work left is on the interface to setup a new game (which I already started to code a part of it in 2017) and on the code to initialize all the data of a new game.

Better late than never they say :)

Thanks for your interest!

Good resolution for this new year concerning the Dev of FARC

I know, new year's resolutions aren't often followed. But I decided to code and/or working-implementing assets a bit each day of the week, even if I can only for 1 hour and of course commits when relevant.

Particularly since the next step of the development, the Iterations #09 and #10, that will finally complete this alpha 10 is pretty loaded in work to do.

So if I want to achieve even a basic game it is important that I take it a bit more seriously.

Anyway enough rant and back to work, and as usual thanks for your interest.