Alpha 10 -iteration #05: Some Details about the Changes

There are some changes into the data concerning the infrastructures and the production matrix of each colony.

I simplified the process on how the production modes (PM) are managed.

As a reminder; each production infrastructure, like a factory, can have one or more than one production mode. These modes act like a sort of template to define the production of products, based on arrays of specific data. A PM can have in output one or more than one products, according to the specificities of the mode itself.
The colonies have a production matrix (called CPM or Colony Production Matrix) that, for the sake of simplicity, regroup the production flow of all the PMs that are enabled for a colony.

Until now, these PM could have been disabled/enabled individually, and the input requirements were based unto what was available in the CPM.
That generated three problems:
  1. since it was planned that the player could enable/disable PMs himself/herself that wasn't, in the context of a game, something realistically bearable. Just imagine if the player had to browse a group of 500 factories for one colony, to disable one PM...
  2. the input requirements couldn't technically take into account the special case when a PM had more than one input product spread through multiples others linked PMs. Imagine the nightmare to code the requirement test to see if the PM has enough material to run one 1 hour (in game time) production run. 
  3. the products stored into a colony's reserves weren't simply taken into account... don't ask me why I even coded the system this way. It is one the weird mystery when you are back working on an old part of the code you haven't seen for more than one year...
So now, I overhaul how these PMs are managed to put their output requirement related to the colony's reserves and not the CPM.
PMs since yesterday cannot be enabled / disabled individually anymore, it is now at the level of the infrastructure itself, so in clear; if a production infrastructure is enabled, its PMs are considered enabled.
And even if one PM haven't enough resources in input for one production run, but have some,  a prorata will be calculated related to the lowest input value. Of course these tests will be done globally at the level of the CPM and not for each infrastructures.

I don't know if this post is clear but yep, in short simplify the processes :)
I also do that because it would be impossible to inform the player clearly of why he/she doesn't have a full production for such and such product.
By this new way, it is now possible and with even by a detailed form with ratios in %.

Anyway a small update, there is a lot of work under the hood yet before to finally update the interface...

Stay tuned.

Alpha 10 -iteration #05: Short Term Dev Plan

Here is my plan for the near future, and I will stick on it:
  1. full code audit of the units of the system of production:
    there isn't much to add, excepted the level system for the products, but I will add it later. So it will (or is, since I began yesterday night) only code audit / optimizations and a cleanup in its locations.
  2. afterward I will work on the interface itself; in first I will improve the lists of infrastructures and the interface to setup assembling/building of new infrastructures. There is absolutely no return of information to the player for this part for now, so it is time far past due.
  3. beside that, at my work and during my breaks I working to finally complete the overhaul of the modifiers of the Socio-Political Matrix memes and policies; a part I haven't finished for the previous iteration, better late than sorry :)
That's it for now.  I prefer to reduce my posts to small announces now, instead to declare a lot of stuff that I will not fulfill in time at the release date.

Stay tuned.

Alpha 10 - iteration#04 Release

(NB: now the release post is made in 4 sections: Details, What's Missing?, What's Next? and Changes. It will be also the case for the next release posts)
Details
The alpha 10 [0.6.9.1016]it#04 is finally released.

FARC is bundled in two flavors: manually, with 7z archives and semi-automated with setup files.

These two ways doesn't requires that FARC is previously installed.

If it is installed and you use the setup file, please bear in mind that it will update correctly only from the alpha 10-iteration 01, not from the alpha 10 or any other alpha before.
If it isn't the case, just remove any previous version of FARC before to install this one.

If you take the manual way, please delete any previous version of FARC before.

Setup is here: FARColony-full-alpha_10it04-0.6.9.1016.exe.

Manual archive is here: FARColony-full-alpha_10it04-0.6.9.1016.7z.

Cumulative patch for the Manual archive of FARC alpha 10 (released before this first iteration update) is here: FARColony-cumulativepatch-alpha_10it04-0.6.9.1016.7z.
To apply the patch unpack into your install dir and overwrite anything.


What's Missing?
As usual I wasn't able to put anything I wanted in this iteration.
What's missing is mainly a goodstack of custom effects for the memes and policies.
OK it isn't very relevant for this first part of the game where the player has only a very limited range of action with his/her faction.
Also only one new policy is added instead of the 2 policies and 3 memes I should have put in it. They will be in the next releases.
Part of the code audit concerning the SPM haven't been processed too.


What's Next?
The iteration #05 will be about updating and code auditing the production system.
In this iteration you will see more visible changes because a big part of this one is about updating and expanding the user's interface, which lack of any informations about the infrastructures, the assembling/building setup, and also why an infrastructure is unvailable to build; for now the list simply hide the not available entries, which is pretty limited.

So unsurprisingly I don't follow entirely my initial plan here, since I taken too much time. I prefer to focus to flesh up the existing systems, and pass the assets iterations for now.

But I keep the 10 iterations plan setup, it is just the order of the next ones that will change a bit.

Changes

  • 3D:
    • HUD click is reinstated and normally stable now. Clicking on one element, pop up the encyclopedia and display the definition of the clicked element. Only a few element are clickable for now.
    • the fonts sizing for any HUD object is now 100% compliant with the dynamic and static font sizing system.
  • Encyclopedia:
    • new topics:
      • The Universe. Will contains informations on how the stellar systems, the stars and their eventual orbital objects are generated.
      • new entries:
        • The Universe:
          • Albedo.  
          • Orbit Distance.
          • Orbit Eccentricity.
          • Star Temperature.
        • Glossary:
          • Astronomical Unit.
  • Entities:
    • addition of an array of data concerning which star systems an entity controls.
  • Infrastructures:
    • the custom effect, concerning the Power & Organization Center, was badly set for the basic ones. So, in this case, the first player's colony was equipped with a Primary POC through his/her colonization shelters. Which is wrong, since this type of infrastructure must provide a basic POC, not a primary one.
  • Interface - Colony Panel: 
    • The type of Power & Organization Center, the colony is equipped of, is now displayed into the left part of the panel, under the Location.
  • Interface - General:
    • the SPM is now fully compliant with the centralized core data display.
    • the code that display data into the frame of the main 3D view is changed to update HUD elements in the 3D view. 
    • the control state, of the current star is now displayed into the 3D view. It indicate if the star, and its possible orbital objects, is not controlled, controlled or contested, and by which factions.
    • a bug has been fixed which prevented correct update of the texts in the main interface. I haven't paid attention to that and I'm sorry.
  • Interface - Unified Management Interface:
    • Faction Tab:
      • the faction level is now correctly updated.
    • Policies Enforcement Tab:
      • in the case when the player's faction status isn't at the correct minimal level to enforce a policy, the explanation text now is displayed correctly for any SOC policy. It wasn't the case before.
  • Misc:
    • full code audit (refactoring, code cleanup, optimizations, bug fixing like the one which concern the decimal setting) of the following units:
      • farc_spm_data
      • [partial] farc_csm_core.
      • [partial] farc_csm_events.
  • Player:
    • the player's faction name is now stored into a specific data.
  • Socio-Political Matrix (SPM):
    • [partial] massive code audit, refactoring and relocation. (partial)
    • the faction levels are fully implemented, including the completion of the rules to determine of which level a faction is.
    • rules about the control of a star systems has been fully designed and implemented. 
    • [partial] during the core phase processing, in case when a requirements test pass and the policy has UC cost/upkeep and the entity has not enough UC to pays it, the entity lose the policy. 
    • [partial] during the core phase processing, SPMi requirements tests for the player's faction depends now of the faction's status. If it is of the responsibility of the player's allegiance faction, it this this last that will test the requirements.
    • complete overhaul of the entire matrix of influence between any SPM item (memes and policies).
    • complete overhaul of the basic modifiers of the policies/memes.
    • Colonization Phase System (CPS):
      • the rules, for each faction's status and each of their levels, were been cleaned, expanded and completed. At least for this stage of the game.
    • new policies ( total = 24 ):
      • Emotions Erasing.
    • Universe:
      • addition of data to store the star systems control state and faction. These data are save and loaded into saved game files.