January 17, 2016

Alpha 10 - iteration#06: Dev Resuming (post sickness)

Just a small post to say that I've been sick these last days. Nothing of a big fuzz, but enough to prevent focusing to dev.
I resumed the dev since today.

Thanks.

January 10, 2016

Alpha 10 - iteration#06: Audit + Interface

I began the full audit of the code for the Resources Survey. I will also (finally) implement the automation options.

Beside that I also updating a bit the interface in general and continuing to expand the encyclopedia.

The first thing I made with the general interface is to replace the two main fonts by something more readable (but always using open source licenses).

So here are the results (before on right, after on the left):








Nothing much special but it's a start.

Next post: at the end the the Resources Survey audit and expansion.

Stay tuned.

January 2, 2016

Alpha 10 - iteration#05 Release [WARNING: Long Post do to the Changes list]

Details
The alpha 10 [0.6.10.1023]it#05 is 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_10it05-0.6.10.1023.exe.

Manual archive is here: FARColony-full-alpha_10it05-0.6.10.1023.7z.

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


Working Dates
From 2015-10-03 to 2016-01-01

What's Missing?
As usual I wasn't able to put anything I wanted in this iteration.
  • the interface of the Colony Panel hasn't been updated as planned.
  • I haven't put the new policies and memes yet.
  • Part of the code audit concerning the SPM haven't been processed.
  • As usual, the automation of the resource survey isn't implemented yet.
What's Next?
The iteration #06 will be about adding assets (infrastructure, products, and the missing SPM items), updating / expanding the interface of the Colony Panel, expanding the encyclopedia and completing the resources survey code.

Changes


  • Colonies:
    • Production Matrix / linked production modes:
      • they doesn't have anymore a switch to indicate of a production mode is individually disabled or not, since it is determined at the infrastructure level.
      • each linked production mode can now have multiple inputs and outputs. The system is now open to any situation.
      • the code of the data structure is entirely redone.
    • Storage:
      • code for storage creation is centralized into a nested procedure.
      • stored units by development level are now correctly initialized.
      • the type of storage, a stored product uses, is now recorded into the sub-data structure.
  • Colony Simulation Model (CSM):
    • fixed a crash when a new game is loaded and the Colony Panel is called, due to missing 0 values for some CSM events into the encyclopedia.
    • the Colony Panel is now correctly updated, if needed, for each data updated.
    • Events Management:
      • fix: prevent a crash, into FCMcsmE_UnrestSDisorderUprising_FindAndReplaceBy, by disallowing the creation of a "None" event. Range error in a logic test.
      • fix: put correct stop fade when a modifier has full recovered at 0 or beyond of it in on session. The Recovery Process continued well beyond the null values.
    • Cohesion:
      • the cap of this value is now also made in FCMgCSM_ColonyData_Upd.
    • Tension:
      • the cap of the value of this data is now made according to the specifications in the design document. It wasn't the case and triggered errors.
  • Encyclopedia:
    • multiple completion and corrections of entries with the French language. Include also some for the English language.
    • New Formats (special text formatting, with sometimes inclusion of databases' data into the description:
      • Energy Mode.
    • New Topics:
      • Annex - Technosciences and Theories.
      • Annex - Energy Generation Modes.
    • New Entries:
      • CPS:
        • System Description.
        • The Colonization Viability Score (CVS).
      • Annex - Energy Generation Modes:
        • Nuclear Fission.
        • Photon Energy.
  • Game Saving/Loading:
    • prevent a 'None' colony event to be loaded in game and creating a crash with the Colony Panel.
    • fixed a bug concerning the initialization of the production matrix during a load. This created a bug if the first item of such matrix was created. 
    • fixed the 3d view freeze when a game was loaded from the Load Saved Game window, and no previous game was already loaded or initialized.
  • Help Panel / Encyclopedia:
    • the dropdown of the encylopedia's Topic List button is now a bit larger.
    • implementation of the Energy Generation Mode entry format, in the encyclopedia.
  • Infrastructures (database):
    • for the production mode Water Recovery, the roof and trap area are now stored by level.
    • hydrosphere requirements hrWaterAmmoniaLiquid and hrMethaneLiquid are merged into hrWaterAmmoniaMethaneLiquid.
    • hydrosphere requirement hrWaterLiquid_IceSheet become hrWaterAmmoniaMethaneLiquid_IceSheet.
    • the required technoscience, for each infrastructure, is now stored into the data structure and is loaded from the related XML database.
    • technosciences, for any custom effect that requires one, are now stored too. Include XML implementation.
    • Infrastructures - Addons and Modifications:
      • Humidity Trap:
        • according to the change in requirement of the production mode Rain Recovery, the type of hydrosphere required for the infrastructure is now liquid water, ammonia and methane.
      • Mining Site:
        • some corrections.
  • Infrastructures (in-game):
    • data about linked items and production modes, in a colony's production matrix, are completely removed. The input data for each production mode are taken, if relevant, from the colony's storage.
    • production modes cannot be disabled individually.
    • assembled infrastructures now store the development level, which is the same than the one used to manufacture their respective infrastructure kits. It will be used into calculations related to the affect list of the required technoscience.
    • built infrastructures now store the development level, which is the one that was effective at the time the building began. It will be used into calculations related to the affect list of the required technoscience.
    • development levels are also recorded for each custom effect an infrastructure can have, if it is relevant.
    • production infrastructures can have multiple resource survey spots linked to them.
    • Staff Members:
      • required staff test fix: take in account RTSapplyAssignment, it wasn't even considered.
      • required staff test fix: don't assign population if the requirement is at zero. It is possible, especially for the lower levels of an infrastructure, that the staff requirement is at 0.
    • Building:
      • new fix; added the case of an infrastructure that hasn't any tech requirement. This case wasn't implemented and raised a crash during a test with a zero tech infrastructure.
  • Interface - Colony Panel: 
    • correction by updating correctly the items indexed into FCWM_CDPinfoText. It hasn't been done after the local political structure has been implemented in the iteration #04.
    • Infrastructures:
      • the requirements on how to display available infrastructures has been expanded related to the changes with the hydrosphere requirements. Some bug fixes have been applied too.
      • the mining site is now correctly displayed in the available list of infrastructures when resource spots are surveyed.
  • Interface - General:
    • (x) fix for the messages box: put FCVdmIsMessageBoxExpanded for each type of message. Its previous global position prevented the title of the selected message to be displayed when the message box wasn't expanded.
  • Interface - Surface Panel:
    • the behavior of the selectors, for the colonization mission, is now full fixed and completed.
    • the behavior of the selectors, for the general use, is now fully fixed and completed.
    • the display, of the resources surveys and also the resource spots, has been expanded and fully fixed.
    • if a region is selected and the mouse is moved outside of the surface, the data of the selected region are now correctly displayed. The only the case it happened before was when the mouse was moved above the display of the region's data.
    • the display of resource spots support now the four types of ore. For now they use the same icon. Additionally, the text is now fully localized.
    • the texts for an existing resources survey is now localized and no more hardcoded.
  • Misc:
    • full code audit (refactoring, code cleanup, optimizations, bug fixing like the one which concern the decimal setting) of the following units:
      • farc_prod_core.
      • farc_prod_data.
      • farc_prod_energmodes.
      • farc_prod_func.
      • farc_prod_prodmodes.
      • farc_prod_resourcespots
      • farc_prod_seg1energy.
      • farc_prod_seg2itemsprod.
      • farc_prod_seg3rvesconsum.
      • farc_prod_seg5cabqueueproc.
  • Missions:
    • Colonization:
      • the Distance to Atmosphere Entry is correctly displayed when the Mission panel is triggered.
  • Production System: 
    • complete overhaul of the pre-iteration #05 system with the following changes:
      • a production mode cannot be individually disabled or enabled, since it is now determined at the infrastructure level.
      • each production mode can now have multiple inputs and outputs. The system is now open to any situation.
      • complete overhaul of the creation and update of entries into a colony's production matrix.
      • complete overhaul of the process of the production segment.
    • Energy Equilibrium Rules:
      • fix: not isShortageMode; put better logic into infrastructure enabling regarding the differential of energy generation / consumption.
    • Energy Generation Modes:
      • Nuclear Fission:
        • full completion of the calculation for the power output.
        • technological development level is now taken into account.
      • Photon Energy:
        • efficiency is now removed as a fixed value and is now dependend to the technological development level.
        • full completion of the calculation for the power output.
    • Production Modes:
      • Rain Recovery:
        • Water Recovery is renammed into Rain Recovery.
        • The production mode now adapt to the type of hydrosphere were it operates, either in a liquid/ice sheet water, water/ammonia or methane.
        • as a resulting of the above change, the requirements for such production mode, and so to any infrastructure that uses it, is that the hydrosphere must be liquid water, ammonia or methane.
      • Resource Mining: 
        • all the code is fully re-enabled and expanded in accordance to the multiple outputs changes.
        • fix by correcting an omission into the calculations of the energy consumption; a SQRT() to apply to the required staff type of Colonists.
    • fix a search of a resource spot by settlement; the requirement rstOreFields correctly include now all non icy ore fields.
  • Products:
    • Methane (CH4)
      • its storage type pass to liquid.
      • its mass / unit pass to 0.423.
    • Nuclear Fission Reactor:
      • technoscience requirement added.
  • Socio-Political Matrix (SPM):
    • the matrix in the XML file has been totally audited and the basic modifiers, of the SPM items, are reworked at 100%.
  • Space Units (in-game):
    • entities' ones; an array is added to indicate the basic development levels for technosciences used into a space unit when it has been built. Notes were been added for expansion into the 0.7.0.

December 26, 2015

Alpha 10 -iteration #05: Energy Equilibrium Rules fixed

OK, I do an additional post before the pre-release one.

The Energy Equilibrium Rules (EER) are now completely fixed, and all works flawlessly.
I tested it by building a mining site, without assembling any nuclear reactors.



The energy consumption jumped to 123% use and incidentally the stored reserves began to be depleted.



Arrived at zero percent of energy reserves and during the production cycle, the EER quicked in and disabled the Mining Site to recover the overload. the process is entirely automated.



A special icon in yellow indicates that the infrastructure is disabled by the EER, due to some particularities compared to a standard disabled infrastructure.
As long as there's isn't enough generated power to support the Mining Site, the infrastructure will stay in this state.

So two Nuclear Reactors have been put in assembling:



Once done, the EER put back online the Mining Site and it resumes its ore mining.



You can always say; "why not put a condition about power requirements to lock or unlock the access to the player to build such infrastructure?"

There will be such test implemented in the near future, but BUT, incidents during the game can happen like; let's take the colony in this final state and just imagine if one or the two nuclear reactor are disabled or destroyed for any reason (event, attack/combat, riot and so on), the EER will be useful in this case.

So that's it, the bugs previously announced are fixed.

So now I resume the update of the interface. In fact, some time ago, I started to try to fix the selector and region selection of the surface panel, but not completed the fix yet.
I will also update the Colony Panel for the production, I have 6 days left but 4 to 5 days to work full time on it.

Stay tuned.