End of Blogspot - Sticky Post to The Main Site

I finalized the main site appearance and exported all the blogger posts to the Wordpress site.
So from now on I will post only on my website, so please update your link to farcolony.com.

I will let this post indefinitely here as a sticky, in the case where people stumble on the blogger site first.

I will make and publish a dev post for the development work on the 0.6.16 once this one is published.

So TL:DR;  updated your RSS / bookmarks to farcolony.com!

Sorry for the convenience and have a good night!

FARC 0.6.15.1075 Alpha 10 - iteration#08 Release + Upcoming/Future Development

Nearly 20 months since the start of this iteration (January 1st 2017) The Alpha 10 / Iteration #08 is released.

Details
The alpha 10 [0.6.15.1075]it#08 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 you take the manual way, please delete any previous version of FARC before.

Setup is here: FARColony-full-alpha_10it08-0.6.15.1075.exe.

Manual archive is here: FARColony-full-alpha_10it08-0.6.15.1075.7z.

Working Dates & Lines of Code
From 2017-01-23 to 2018-09-16
Lines of Code: 110,952 (+8,691 lines)

This release is the biggest one in term of code since the Universe Generator which was about +18K lines... in 2013.

What's Next?
First, note that the game has a memory leak with the 3D that I will fix in the next subreleases. The game is usable as it but don't setup new games over new games and so on please, thanks!

Tomorrow I will publish a post about what's next since the development of this game is far to be completed. The Upcoming versions will be about to complete the basic elements of the game including:
  • The addition of all the rest of factions of allegiance (8, including the one already in the game)
  • The addition of other star and planetary systems.
  • The addition of far more infrastructures.
  • The implementation of the Weather and Geophysics System (WEAGES) including effects of it in the game (like how it can affect the structural integrity of infrastructures).It will be the only real new feature until the completion of the alpha 10.
  • The addition of a more complete set of products.
  • A full implementation of orbits and a better interface to manage space units on them.
    Space units themselves will be managed in 2D but will continue to uses the 3D for missions calculations purpose.
  • Multiple updates of the Universal Management Interface (UMI).
  • Full implementation of the races and ethnic group in FAR Colony. A good part of it is implemented but many systems don't take it into account yet and the interface isn't updated yet to shows it.
  • A more updated Knowledge Base including the information for any system and asset (faction of allegiance, infrastructure, CSM event, meme, policy, product) present in the game.
Additionally to it there will be other additions that I will judge relevant without being qualified as new features.

FYI: it gets stuck on the alpha 10 because I developped the game with more holes than Swiss Cheese and a skeletal amount of assets. So my mission is to complete the parts already in the game and pump the amount of assets until it's acceptably playable, it's why I fleshing out anything I can.

The goal is to provide a playable, version of FARC in a basic package.
 
If I can achieve it before the start of the next century I will then continue the development by pushing further and implementing less basic, but yet considered core, game features. Until one day, before Thanatos calls me if possible, I will finally complete the core modules of this game.

What I call core modules are (no specific order):

  • complete design of space units, including an in-game designer (the first core module that I will work on, once the alpha 10 is considered done).
  • unified combat system (UCS).
  • foreign relations system.
  • global communications system (GLOCS), that will manage uncertainty and a certain fog of war.
  • commerce and trading system (CTS).
  • management of megaprojects.
  • memetic engineering/war system.
  • world and historical events system (WHES).
  • emigration/immigration system.
  • biospheres (implementation of fauna/flora and their interactions, uses and events).
So all the upcoming releases will be about completing the final iteration of this alpha 10 and finally move on to implementing these core modules.

Meanwhile I also started to create a budget to upgrade my main / biggest / commercial (and evil for the open source community) third party development tool that I currently uses. It will then allows me to upgrade the environment development (Delphi) and finally be able to push FARC to 64 bits and use Delphi native parallel code when needed.I don't need 10K to do it but I don't have an extended budget.
Anyway I will inform you all when I will upgrade my IDE and upgrade the build of FARC to 64 bits.
Until that the game stays 32 bits.

Changes

  •  3D
    • [DONE] fix: when a new or loaded game is processed, the 3D view update correctly, before it frozen. It was a problem due to the overhaul of the setup and process of a new game.
    • [DONE] fix: when a new game is processed or loaded, and that the current player's view target is a satellite, the 3d view now correctly focus on the satellite and not its root planet. 
    • [DONE] implementation of HUDsprites as buttons for ending the turn by one tick, hour, standard day, week or month. Events depending on custom buttons are also implemented.
  • Colonization Phase System (CPS)
    • [DONE] full audit, including refactoring of all the code of the CPS.
    • [DONE] the code of the objectives is now in its proper unit under the CPS hierarchy. Same for the data and user's interface.
    • [DONE] creation of a specific unit for CPS data.
    • [DONE] the Viability Objectives are now renamed CPS Objectives.
    • [DONE] creation of a new CPS Objective data structure that replace totally the old TFCRcpsdFactionViabilityObjective structure. It contains the maximum use of an objective, its matrix of SPM weights and specific data, according to the type of objective.
    • [DONE] addition of 3 data structures, for each player's faction status (economic, social, space & military) to store into the CPSO structure to indicate the weights in relation with the SPM items. This new structure is loaded through a new XML file.
    • [DONE] these 3 data structures are loaded by default (ie regardless if the CPS will be use or not) after the data of the non-player factions.
    • [DONE] creation of a new in-game CPS Objective data structure that replace totally the old TFCRcpsdViabilityObjective.
    • [DONE] the CPSOs are now selected dynamically, with a semi-random system that take into account the SPM setting of the faction of allegiance and the backstory chosen by the player.
    • [DONE] CPSOs can now have a linked variable (a sort of primary variable) and a set of secondary variables.
    • [DONE] the method that keep the time progression is now re-enabled but also extended to integrate fully the trigger of the end of the phase. Useless related code, in the Time Flow System, has been removed.
    • [DONE] the status weights of the selected backstory are now stored into the CPS' data structure for further uses, like the initialization of the objectives and the update of their scores. 
    • [DONE] the CPS now can keep track if a product, used by an objective, is updated. In the positive case, the linked scores are calculated. 
    • [DONE] added a root code to test if a CPS objective must monitoring the energetic changes, and make the respective calls to update the score(s). 
    • [DONE] added a root code to test if a CPS objective must monitoring the changes in the line of credit, and make the respective calls to update the score(s).
    • [DONE] added a root code to test if a CPS objective must monitoring the changes in the size of the population, and make the respective calls to update the score(s).
    • [DONE] the system update certain objectives over the time, when their design request it. It is the case for PROVIRSRC which needs to keep track when its next period will end.
    • [DONE] the end of phase is now fully re-enabled and its report is fully completed including; the results, the outcomes and the performances with each objective.
    • CPS Objectives:
      • [DONE] Provide A#Resource for #Period (PROVIRSRC): special initialization of the objective with its rules, calculations and specific data.
      • [DONE] Ensures the Survivability of the Population (ASURPOP): special initialization of the objective with its rules, calculations and specific data.
      • [DONE] Be Energy Efficient (ENERGEFF): special initialization of the objective with its rules, calculations and specific data.
      • [DONE] Keeps the Usage of Line of Credit at Lowest (KEEPLOC): special initialization of the objective with its rules, calculations and specific data.
      • [DONE] Keeps Alive #Percent of the Population at End Of Year (KEEPALIVE): special initialization of the objective with its rules, calculations and specific data.
  • Colony Simulation Model (CSM)
    • Colony Management
      • [DONE] for now, the deployment of equipment and infrastructures will stay hardcoded, and so will be the same for any set colony. The Starting equipment will only be taken into consideration only when the design and full in-game data structure of space units will be implemented.
    • Energy Update
      • [DONE] each time the power grid of a colony is updated directly, the CSM calls the CPS to see if one of the 3 energy data is used by an existing CPS objective.
    • Events
      • Oxygen Production Overload :
        • [DONE] the test of the event takes now into the account the life support system of the colony. The event will only trigger if there is population in excess of the life support systems (or simpler; above the population capacity of the colony) additionally to the excess of the oxygen production (via the colony's production matrix).
      • Uprising
        • [DONE] the over time modifier for the Economic & Industrial Output (EIout), for the level 5 (critical), is now at 0 instead of -10% / week, since EIout is already at -100% when this event is triggered at this level. 
    • Reserves
      • [DONE] each time a reserve is updated directly, the CSM calls the CPS to see if the reserve is used by a current CPS objective. 
      • [DONE] the amount of population that consume a certain type of reserve each standard day is now stored in memory and updated each time the population change.
    • Storage
      • [DONE] each time that a product is updated, the CSM calls the CPS to see if the product is used by a current CPS objective.
      • [DONE] each time that a reserve is updated (and used), the CSM calls the CPS to see if the reserve is used by a current CPS objective.
  • Entities
    • [DONE] addition of a data structure that contains group of space units. It will by the standard unit that will compose the future fleets in the game.
  • Factions
    • Expeditions & Backstories
      • [DONE] the data from each backstory/ex-colonization modes (line of credit (already the case), population settings, basic list of common core of technologies) can now be set dynamically with pre-defined ranges of values.
        The equipment given to the expedition will be able to vary in volume, but not in nature, proportionally to the total population.
        Thus it allows to have some variations at each new game even if the same faction of allegiance and backstory is chosen.
      • [DONE] the old equipment list is now separated into two lists: starting space units and starting equipment.
      • [DONE] add a Death Tolerance data (usable at any time in the game) that can be useful for AI behavior and other game systems' rules.
      • [DONE] a data, Death Tolerance Modifier, is added to any backstory. This modifier indicates the tolerance in regard of accidental / health / crime death in the colony. It can be used for certain parts of the game, like certain CPS objectives.
      • Special Rules: 
        • [DONE] Automatic CPS Objectives
        • [DONE] Automatic Rejection of CPS Objectives
        • [DONE] Automatic Technosciences / Fundamental Researches
        • [DONE] Automatic Rejection of Technosciences / Fundamental Researches
        • [DONE] Preferred Starting Location - Orbital Object Type: can specify the type of orbital object (Planet or Asteroid) for the starting location.
        • [DONE] Preferred Starting Location - Ecosphere: can specify the type of planet's ecosphere (Earthlike, non-Earthlike, Space) for the starting location.
      • Colonization Phase System:
        • [DONE] the colonization modes are now replaced by expedition's backstories. It is now linked to a small portion of text putting in context the motivations and history of the colonists that will settle a new  colony.         The data structure is mostly overhauled.
        • [DONE] the deprecated Viability Objectives are completely removed from the factions' XML file and in the code that loading it.
      • Population Settings:
        • [DONE] the entire details of the population of the future player's colony is implemented.
      • Starting Space Units:
        • [DONE] the data structure that contains the starting space units is now a bit expanded with the base variance, for dynamically setup the amount, the attitude and physical status. So location around a same orbital object can vary, and a space unit can even start the game damaged.
        • [DONE] the starting space units have now a specific data to define if one of them start out of control or not.
        • [DONE] the status of the power grid of starting space units is in its own data and separated of the physical states.
        • [DONE] the name can be either a specified one, generated, or created from the design name and the index number of the space unit in the data structure.
      • Starting Equipment:
        • [DONE] the data structure that contains the starting equipment is now a bit expanded with the base variance, for dynamically setup the amount, and the Hauled by Class, which indicate which class of space unit (among those in the starting space units list) carry the equipment. There is no precise allocation because of the dynamic side of during the setup of a new game.
      • Starting Locations Override:
        • [DONE] now each backstory can have their own starting location list, that override the faction of allegiance's starting location list. It isn't taken into the account to select one yet, but will be implemented in the future.
    • Starting Locations
      • [DONE] the starting locations can now be a satellite. It will be useful for future developments.
      • [DONE] add a parameter, for the starting locations, which stipulate the scope used for randomness for an actual entry.
                          If Single, it indicates a single location (a single orbital object) that will be included in the list of starting locations.
                          If Asteroids, it indicates that only all the asteroids of the system are included in the list of starting locations.
                          If Planets, it indicates that only all the TELLURIC planets of the system are included in the list of starting locations.
                          If Planets-NoSat, it indicates that only all the TELLURIC planets of the system are included in the list of starting locations, BUt it excludes the satellites.
                          If 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.
                          If All, it indicates that all the orbital objects (excluding the gaseous planets) of the system are included in the list of starting locations.
    • Language System
      • [DONE] a skeleton of language system is implemented, and a list of the general words is added in the data structure.
      • [DONE] for now generic words, and articles are supported.
      • [DONE] basic general rules for naming the space units are implemented.
  • Faction / Magellan Unity
    • New Expedition
      • Autonomous Remote Colony:
        • New Backstories:
          • [DONE] Seed of the Unity.
    • Language System:
      • [DONE] expansion of the data by 258 generic words, including their articles rules.
  • Game Saving/Loading
    • [DONE] prevent useless full cycles of data injections, from the databases. 
    • [DONE] fix a bug that prevented to save the 11 development levels of the stored products for the colonies.
  • Graphics
    • [DONE] creation of icons, which will populate HUDsprites, for the different turns.
    • [DONE] creation of icons for the "end of next colonization mission(s)" event button, to end the turns until the next colonization mission(s) is/are finished to be processed.
  • Infrastructures (database)
    • [DONE] adjustment into the determination of infrastructure levels (IL). For reminder, IL encompass grossly the size of an infrastructure into one readable data that is used, among other things, to determine the size of the settlements.
      Now it is calculated with one universal formula based on the design of each infrastructure. So no more guessing.
    • [DONE] the old surface, volume, base power, volume of materials, required staff, any custom effect and function's data aren't by level no more but by size index of infrastructure.
    • [DONE] add new sets of data to indicate the minimum size of settlement allowed to an infrastructure to be converted/assembled or built, for each index of size of infrastructure. These replace the min/max level. These applies to the following types of settlements: Surface, Space-Based, Subterranean, Lava Tube and Asteroid. 
    • [DONE] add an infrastructure level, by index of size available for an infrastructure.  
    • [DONE] the data to indicate the range of settlements is deprecated since the new data for min/max settlement's sizes do the job. 
    • [DONE] the height data (by index of size) is now implemented in the database. The rationale is; this data is required for the new methods to calculate assembling/building durations.
    • [DONE] the flag for OPEN infrastructure is now properly implemented, since it can affect build time now.
    • Data Addons and Modifications
      • [DONE] Multipurpose Depot:
        • dimensions and base power consumed are completely reworked and there are no more than 3 size levels now.
        • this infrastructure now uses Colonists as staff: 3, 4 or 6 colonists respectively. There were no staff prerequisite before.
        • the calculations for the different storage values are also completely redone. The Gas storage type is removed from the custom effects of this infrastructure.
      • [DONE] Pressurized Tanks Array => Pressurized Tanks Array - Gas: total overhaul of the data. Gas storage only.
      • [DONE] Pressurized Tanks Array - Liquid: new infrastructure for liquid storage.
  • Infrastructures (in-game)
    • Assembling
      • [DONE] full overhaul of the formulas to calculate the assembling duration. It is more rational and also takes into account the Region Environment Modifier for CAB now.
    • Building
      • [DONE] full overhaul of the formulas to calculate the building duration. It is more rational now. It also takes into account if the infrastructure's environment is OPEN.
  • Interface - About
    • [DONE] fix a crash when the About window is called, due to a bad design in its XML file and in its code.
    • [DONE] the general content has some updates, like the websites and the years.
  • Interface - Action Menu
    • [DONE] fix: the menu display correctly the Colonization Mission for the space units with docked FCP-80. It wasn't anymore the case since the last changes.
  •  Interface - Colonization Phase System (CPS)
    • [DONE] the old panel used to display the list of each objective and their score is now totally deprecated.
    • [DONE] the list of objectives is now displayed in the OpenGL view. It includes the score of each objectives and also specific data, if they have any.
  • Interface - General
    • [DONE] a more clearer font, for the main texts, now replace the previous one. Many text adjustments were necessary to make it right.
    • [DONE] increased the alphablend value of the secondary window for a better readability.
    • [DONE] it is now impossible to end a turn via the keyboard, if the basic OpenGL buttons to end turns aren't displayed. Prevent to end a turn when it shouldn't be possible. 
    • [DONE] the linking from the elements of interface + 3D hud items is now completely flushed up. Since not all the elements, like the informations about the infrastructures and CSM events, aren't yet in the Knowledge Base, any link open the introduction page for now.
  • Interface - Help Panel 
    • Knowledge Base
      • [DONE] the current encyclopedia interface is replaced by the entire interface of the Knowledge Base website, since its presentation, linking and web interface will always be better than what I will never do in the game, including research in the base, keywords and so on.
  • Interface - Mission Setup
    • Colonization
      • [DONE] a deprecated string, for the element used to set a name for the new colony, has been corrected. The information to validate the name is now displayed as a hint.
  • Interface  - New Game Setup
    • [DONE] the window and its components are now intialized and called in proper and centralized routines. It follows the same pattern developped with the Orbital Object Panel and its children.
    • [DONE] the window is set to a bigger size than before.
    • [DONE] the colonization mode is now replaced by the expedition's backstory.
    • [DONE] a new set of interface elements are set to chose the Faction of Allegiance, expedition and backstory. It replace the Colonization Modes and the List of Factions.
    • [DONE] the faction data pad is now reworked. Five tabs now exists: History, Colonization, Population, Equipment and Game Options.
    • [DONE] the History data sheet, of the faction data pad, is reworked. It shows now an excerpt of the selected faction of allegiance, an excerpt of the selected expedition and the list of possible origins of the selected backstory.
    • [DONE] the Colonization data sheet, of the faction data pad, is reworked. It shows, like for the previous version, information about the viability threshold and the line of credit but, it also show now information about special rules, if the selected backstory use any.
    • [DONE] the Population data sheet, of the faction data pad, is added. It shows information about the population size class, and the distribution of it among the races and each category.
    • [DONE] the Equipment data sheet, of the faction data pad, is added. It shows information about the dynamic settings of the equipment of the expedition.
    • [DONE] the enabling / disabling of the Proceed button takes now also into account if a backstory is selected or not.
    • [DONE] the game name is limited now to 20 characters. Thus, it putting it in accordance with the setting of the data.
    • [DONE] the player can now set its own faction's name.
  • Interface - Orbital Object
    • [DONE] fix: the initialization of the region's zones, on the surface of the orbital object, are now correctly initialized at the start of a game.
    • [DONE] the color of the selector, on the surface of the orbital object, has been changed for a better readability. In the future I'll see to adjust a bit the color of it according to the tone of the displayed surface map. 
      • Colony
        • Energy:
          • [DONE] fix: if more than 100% of energy is used, it is now displayed.
  • Interface - Settlement Panel
    • [DONE] fix: _Requirements_SwitchText / upinavEnvironmentIncompatible; forgot to call the proper FCFdTFiles_UIStr_Get to display the environments in plain text.
    • [DONE] fix/mod: import the description of all the infrastructures in the game from the old encyclopedia XLM file to the ui.xml.
    • [DONE] fix/mod: for the configuration of a build, the size index-to build combo box didn't updated the display of build duration. It is the case now.
    • [DONE] fix: update the display when an infrastructure in conversion/assembling/building is completed and enter into the transitory delay.
    • [DONE] fix: present infrastructures: retrieve correctly the description of a selected infrastructure.
    • [DONE] fix: change status texts when it is in Conversion/Assembling/Building by better ones.
    • [DONE] fix: the "Encyclopedia" link is better aligned.
    • [DONE] fix: the size of the panel is a bit taller by default and the interface elements for the description and size index (for the configuration of a Building of an infrastructure) are better relocated.
  • Messages
    • [DONE] Colonization: fix; name and full location are fully stored into the data structure of the message. Since a space unit can be remove by the end of the mission, if it is a colonization pod, it induced some errors in the informations of the message.
  • Misc
    • [DONE] fix: setup a new game or loading one, over an existing and running one, doesn't crash FARC anymore. Correct initialization of data, for the Orbital Object Panel, prevent that.
    • [DONE] fix: FARC didn't appeared in the alt-tab under Windows 10, Application.MainFormOnTaskBar has been activated to fix this problem.
  • Missions
    • [DONE] suppression of a useless data structure, used partly for calculations of a mission, that mixed with another data structure used to setup the future task for the Task Subsystem.
    • Colonization
      • [DONE] the setup of the mission is fully fixed. There were problems with trip time calculations due to boggus deltaV given to docked space units.
      • [DONE] fix the case when the colony isn't founded yet, and only one carried colonization vessel is selected for the mission. The trip time dosen't update and it can create a bug. 
      • [DONE] fix: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
        For ex.: the enumeration of the three first types is; setSurface -> setSpaceBasedSurface -> setSubterranean. If Space-Based surface isn't part of the list of the combo box, the selection will be wrong.
    • Missions / Interplanetary Transit
      • [DONE] the mission is fully disabled and will be under a full review before to be re-enabled in the future. 
    • Missions / Landing
      • [DONE] fixed: the calculations were bogus due to the fact that the procedure didn't taken into account of docked space units (when they are used) and mixed data between the mother vessel and its docked ones.
  • Names and Designations Generator
    • [DONE] the ability for any faction to generate names for the space units is implemented. It is based on the use of generic words assembling names of variable size, and there are articles, specific to the cultural background of a faction, that can be used according to a predetermined set of simple rules for each word.
  • New Game Setup
    • [DONE] prevent useless full cycles of data injections, from the databases.
    • [DONE] the code has now its own specific units (core and interface).
    • [DONE] all the data about the setup of a new game are now grouped into a proper data structure.
    • [DONE] the starting location is now randomely chosen from a list. It isn't very relevant for now since there is only one faction of allegiance and one starting location, but it will be once additional stellar systems are added.
    • [DONE] the player can now have a name for its own faction. It isn't much, but it is one step more for player's immersion.
    • [DONE] the size of the population of the future player's colony is calculated before even the colony is founded. It is required since the dynamic generation of starting equipment and space units depends on it.
    • [DONE] the starting space units are generated, based on the size in population of the expedition.
    • [DONE] the starting equipment is generated, based on the size in population of the expedition.
    • [DONE] each starting equipment is transfered in the cargo of the available space units, according to the rules.
    • [DONE] the Socio-Political Matrix is now also initialized for non-player's factions. 
  • Population
    • [DONE] the data structures of the multiracial and multiethnic populations are implemented, tus to be in accordance to the new system of Expeditions and Backstories. For now only the baseline humans are used in the game, but at least the data structures are implemented for the future alpha 11 development.
    • [DONE] the human race is implemented (in fact modified from the previous and unique population data structure) including the baseline, genemods and posthumans.
    • [DONE] the clone race is implemented.
    • [DONE] the artificial intelligence race is implemented including the non-sentient AIs, sentient AIs and artilect AIs.
    • [DONE] add the rules considering how the reserves are used in a colony, according to which races and ethnic groups are present in it.
    • [DONE] each time the population of a colony is modified, the use of reserves is checked, since it can changes other the time. Also, the amount of population that consume a certain type of reserve each standard day is calculated.
    • [DONE] the core management routine that manage the fluctuations of the population in a colony takes now into consideration all the races and ethnical groups.
    • [DONE] add a new category of population for the Sentient Artificial Intelligences; Commoner.
    • [DONE] each time the population of a colony is modified and it is a sentient race / ethnic group, the code call the CPS to see if the change in the population is used by a current CPS objective.
  • Production System
    • [DONE] an Environment Resources Class List (ERCL) can be generated to list all the possible resources that the regions of an orbital object can produce.
    • Energy Equilibrium Rules
      • [DONE] add a link to test if a CPS objective uses the changes of energy.
      • [DONE] the interface is now updated, because the CSM/Energy code doesn't update it for all the cases w/EE rules.
    • Reserves
      • [DONE] Oxygen Overload: the calculations for the percent of people not supported for the Oxygen Production Overload CSM event now takes into account the global life systems support of a colony. Additionally it also now takes the reserveOxygen_consumption data of a colony instead of population. I forgot to update this code after the last changes. A more detailed version will be implemented when the life support systems of the space units will be implemented.
    • Reserves Consumption
      • [DONE] each time the process of reserve consumption is enforced, the system call the CPS to see if a reserve is used by a current CPS objective.
      • [DONE] the consumption of reserves takes now the specific pre-calculated data for the amounts by standard day
      • [DONE] the consumption of oxygen takes now into account the life support systems of the colony. Only the excess population takes into the reserves.
  • Products
    • [DONE] Multipurpose Depot: the now deprecated levels of infrastructure are removed. For the rest, the volume/unit for each level is adjusted by the new values.
    • [DONE] Pressurized Tanks Array: the now deprecated levels of infrastructure are removed. The rest is removed in exchange of Pressurized Tanks Array - Gas and a second one with Liquid. Total remake of the data.
    • Addition of Equipments
      • [DONE] Pressurized Tanks Array - Liquid: *3 for each size index.
  • Research & Development system (RDS):
    • Common Core
      • [DONE] The special rules Automatic Technosciences / Fundamental Researches and Automatic Rejection of Technosciences / Fundamental Researches, are processed for the common core of the player's faction.
  • Settlements
    • [DONE] adjustements to determine the size, and the progression of it, for all the types of settlements. Calculations are 100% in-line with the new way to determine the infrastructure level.
  • Socio-Political Matrix (SPM)
    • [DONE] the process of memes and policies over the time is completely disabled until a mass audit is done on this specific part, after the current version is released.
  • Space Units (in-game)
    • [DONE] the current status enum series is now split in to two series of enum; one to indicate the attitude of a SPU, an other to indicate its physical state.
    • [DONE] the attitude, encompass nearly all of the old status and indicate in an abstracted way the current attitude of a SPU, like being in low orbit for example.
    • [DONE] the three possible orbits, that will be fully implemented in the future, are added in a data level. These three orbits are low, geosynchronous and gravitational limit.
    • [DONE] the physical status is pretty obvious and indicate, on an abstracted way, the level of damage of a space unit in plain text, like Damaged or Dead Wreck. It also contains the state of the power grid.
    • [DONE] the denomination of the expanded attitudes is implemented, and the XML for user's interface texts is expanded.
    • [DONE] a specific data is added to specify if the attitude is out of control or not. It then unload useless attitudes in the enumerator.
    • [DONE] a useless data, the tokenId, and all its dependencies are removed.
    • [DONE] the length of the name of a space unit is expanded to an unified custom name constant.
    • [DONE] add two new data; the physical state and a switch to indicate if the power grid is enabled/disabled.
    • [DONE] the array of the docked space units is optimized of a useless sub-record.
    • [DONE] add a very basic sub-data structure to indicate the cargo of a space unit with its detailed list of items.
    • [DONE] addition of functions to load the cargo of one spacecraft or a group of space units.
    • [DONE] add an independent data structure that represent a group of space units, which is the smallest type of formation that a fleet can contain. For now it is used to load the starting equipment that is generated.
    • [DONE] dock/docking is replace by better terms of carry/carrying. That really specify space units carried INSIDE another one. There will be a docking ability, but nothing to do with it.
    • [DONE] releasing a carried spacecraft: fix; set default attitude / deltaV and 3D velocity, to the released ship, which are equals to the mothership's data.
    • [DONE] removing of a spacecraft from the database; fix the code for docked SPUs.
  • Time Flow System
    • [DONE] the realtime portion is removed entirely. FARC will stay turn-based but with more option of turns, like the possibility of events end of turn; for example when a colonization mission is set it is possible to process the time flow until the first Colonization Mission is done.
    • End of Turn Events Framework
      • [DONE] a basic framework for events buttons is now implemented. It can now "popup" special end turns button linked to special events that can occur over a game.
      • [DONE] addition of the event "End of Next Colonization Mission(s)".
    • Tasks Subsystem
      • [DONE] complete application of modifications in the data structures of the tasks, according to the updates to mission and space units. Include a cleanup of the data structures themselves.
      • [DONE] fix: prevent a division by zero, in FCMgTS_TaskToProcess_TransfertToInProcess->Colonization Mission, during the calculation of acceleration by tick. 
      • [DONE] code optimizations for the process of the tasks, the process of the turns during colonization missions have less lags. Useless / Redundant data have been also removed.
      • [DONE] the code to cleanup the terminated tasks is now multithreaded.
  • Updater
    • [DONE] the basic framework is fully working.

Notice: Ongoing Work On Main Site + Replacement of the Blog

There is an ongoing work on my main site (farcolony.com) with a good but complex theme I bought and installed today to make the site presentable and modern.

When it will be out of Work-In-Progress I will stop to post news on Blogger and will continue to post updates to the main site.

This way, anything will be, finally, on the same website (the blog post, knowledge base, game files and online updater files). After all I paying host and domains for something hehe :)

I know that means that people will read on Wordpress (I have personally nothing against it) but I will include the full shebang of sharing methods, and of obviously RSS is supported.

Of course when I will switch completely, I will inform you via a last post on this blog.

The Sunday release is planned as usual, it will be on PM, EST time.

That's all, have a great Friday!

Pre-Release Information + Online Updater

Here is a small post to inform you that the 0.6.15 version will be released on Sunday 16th.

At seven days it would have been 20 months since the previous release.

The online updater will stay basic, but functional and at least it's working. It will be useful if you want to download the "non-official" updates that I will upload. Only updates that will not break the game will be uploaded, so don't expect nightly things.

The next releases, after the upcoming one, will also be available via the updater. So even if you plan to simply wait for the next date you will be able to update the game without having to download the .exe installer or the .7z version of this package.
One more choice, even a crude one, is always better.

Anyway I will continue until the 16 to update a bit the updater with explicative texts and disclaimer and will make the package on Sunday. The configuration of the .exe installer is already done since yesterday night.

Of course after that, the development of FARC will continue, it is far to be completed, even in its basic configuration. But since August 2009 you know the drill of patience.

Thanks for your interest and have a good day, cheers!

Five out of SIX Pre-Release Stages Done

  • Colony Simulation Model (CSM) / Events / Uprising: 
    • [New: DONE] the over time modifier for the Economic & Industrial Output (EIout), for the level 5 (critical), is now at 0 instead of -10% / week, since EIout is already at -100% when this event is triggered at this level.
  • Interface - Settlement Panel:
    • [NOT DEV => DONE] fix: update the display when an infrastructure in conversion/assembling/building is completed and enter into the transitory delay.
    • [New: DONE] fix: present infrastructures: retrieve correctly the description of a selected infrastructure.
    • [New: DONE] fix: change status texts when it is in Conversion/Assembling/Building by better ones.
    • [New: DONE] fix: the "Encyclopedia" link is better aligned.
    • [New: DONE] fix: the size of the panel is a bit taller by default and the interface elements for the description and size index (for the configuration of a Building of an infrastructure) are better relocated.
  • Missions / Colonization:
    • [NOT DEV => DONE] fix the case when the colony isn't founded yet, and only one carried colonization vessel is selected for the mission. The trip time dosen't update and it can create a bug.
    • [NOT DEV => DONE] fix: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
      For ex.: the enumeration of the three first types is; setSurface -> setSpaceBasedSurface -> setSubterranean. If Space-Based surface isn't part of the list of the combo box, the selection will be wrong. 
Here is the updated list of pre-release stages:
  1. to adjust the Oxygen Production Overload by taking into account the population in excess of the life support system of a colony.
  2. to adjust the infrastructure levels in the database, the size of discovered resource spots (in line with IL) and also adjust how the size of a settlement is determined (also in line with the new IL).
  3. to finalize the implementation of the offline version of the knowledge base in the game. It is already here but a I need to remake the linking between the data and the explanations in the KB. That implies also to remove the old code of the previous encyclopedia.
  4. to fix a major bug in the Colonization Mission, in the case when only one carried colonization vessel is selected for the mission. The trip time doesn't update and it can create a bug. 
  5. to fix a bug again for the Colonization Mission: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
  6. FINALLY... to complete a presentable interface of the online updater that will display basic information like the version and build available, the last changes and buttons to let the player decide which action to take.
There were "a bit" more bugs to fix than the planned two, along some stuff to adjust hehe, but the whole is done now.
So now it is time to expand the interface of the online updater and that will be done.

I will post again when the stage 6 is done, before the release post. Yep, RELEASE :)

Have a good night (for those in EST and before) and a great Tuesday!

Knowledge Base Update

The updates that follows are uploaded in the online version of the Knowledge Base at wiki.farcolony.com  and also will be included, in an offline/in-game version, in the upcoming release.

2018-09-04/05.
  • Factions of Allegiance / MUN: completion of the links.
  • Mechanics:
    • Colony Simulation Model (CSM): complete topic added.
    • Colony Simulation Model (CSM) / Colony Data: complete topic added.
    • Colony Simulation Model (CSM) / Colony Data / Cohesion: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Tension: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Security: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Instruction: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Health: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Colony Level: topic added.
    • Colony Simulation Model (CSM) / Colony Data / Economic & Industrial Output (EIout): topic added.
    • Colony Simulation Model (CSM) / Population: topic added.
    • Colony Simulation Model (CSM) / Population Growth System (PGS): topic added.
    • Colony Simulation Model (CSM) / Instruction & Training System (ITS): topic added.
    • Colony Simulation Model (CSM) / Events: complete topic added.
    • Colony Simulation Model (CSM) / CSM Phase: topic added.
  • Annex - CMS Events: complete topic added.
    • Colony Established: complete topic added.
    • Social Disorder: complete topic added.
    • Uprising: complete topic added.
    • Unrest: complete topic added.

Three out of SIX Pre-Release Stages Done + Screenshot

  • Infrastructures (database):
    • [New: DONE] the height data (by index of size) is now implemented in the database. The rationale is; this data is required for the new methods to calculate assembling/building durations.
    • [New: DONE] the flag for OPEN infrastructure is now properly implemented, since it can affect build time now.
  • Infrastructures (in-game) / Assembling: 
    • [New: DONE] full overhaul of the formulas to calculate the assembling duration. It is more rational and also takes into account the Region Environment Modifier for CAB now.
  • Infrastructures (in-game) / Building: 
    • [New: DONE] full overhaul of the formulas to calculate the building duration. It is more rational now. It also takes into account if the infrastructure's environment is OPEN.
  • Interface - Help Panel / Knowledge Base:
    • [WIP => DONE] the current encyclopedia interface is replaced by the entire interface of the Knowledge Base website, since its presentation, linking and web interface will always be better than what I will never do in the game, including research in the base, keywords and so on.
  • Interface - General:
    • [New: DONE] the linking from the elements of interface + 3D hud items is now completely flushed up. Since not all the elements, like the informations about the infrastructures and CSM events, aren't yet in the Knowledge Base, any link open the introduction page for now.
  • Interface - Settlement Panel:
    • [New: DONE] fix/mod: import the description of all the infrastructures in the game from the old encyclopedia XLM file to the ui.xml.
    • [New: DONE] fix/mod: for the configuration of a build, the size index-to build combo box didn't updated the display of build duration. It is the case now.
    • [NOT DEV] fix: update the display when an infrastructure in conversion/assembling/building is completed and enter into the transitory delay.
Here is the updated list of pre-release stages:
  1. to adjust the Oxygen Production Overload by taking into account the population in excess of the life support system of a colony.
  2. to adjust the infrastructure levels in the database, the size of discovered resource spots (in line with IL) and also adjust how the size of a settlement is determined (also in line with the new IL).
  3. to finalize the implementation of the offline version of the knowledge base in the game. It is already here but a I need to remake the linking between the data and the explanations in the KB. That implies also to remove the old code of the previous encyclopedia.
  4. to fix a major bug in the Colonization Mission, in the case when only one carried colonization vessel is selected for the mission. The trip time doesn't update and it can create a bug. 
  5. to fix a bug again for the Colonization Mission: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
  6. FINALLY... to complete a presentable interface of the online updater that will display basic information like the version and build available, the last changes and buttons to let the player decide which action to take.
Here is the screenshot with the in-game Knowledge Base:



Nothing very fancy but it works.

So now it is time to finally wrap up the development of the game iself by fixing the three bugs left.
After that, I will work to expand the interface of the online updater and that will be done.

Perhaps I will update a bit the Knowledge Base, but anyway I can do it afterward.

I will post again when the stages 4 and 5 + the third bug are fixed.

Have a good night (for those in EST and before) and a great Tuesday!

Short Notice: Conversion / Assembling / Building of Infrastructures Updated & Fixed + Knowledge Base Integration

Sorry for the time without news, as usual anything takes more time.

Anyway, I had to totally fix the interface and code to assemble/build infrastructures. It was buggy, and for some reason, the build part was incomplete.
It is now fully working and of course all the last changes with infrastructure levels and size index are implemented.

I also reworked the formulas to calculate the assembling/building durations. It is a bit more realistic, or a bit more coherent at least. The old formulas were a stack of strange and convoluted elements...

Back to topic of the third step to complete, the old user's interface of the encyclopedia is now fully removed and the code is cleaned from FARC.
The web interface of the Knowledge Base is fully operational, since yesterday night, and I only have to complete the linking between the elements of interface in the game that were linked with the old encyclopedia.
As a reminder, even if this Base is a web structure, it is present in the game under its offline form, through a clone of the one located on wiki.farcolony.com.
I know, we are in 21st century, but FARC will stay a offline game (outside of its updater).

That's all, I hope to complete the changes tonight after my job, or tomorrow.

Two out of SIX Pre-Release Stages Done

  • Infrastructures (database):
    • [WIP => DONE] adjustment into the determination of infrastructure levels (IL). For reminder, IL encompass grossly the size of an infrastructure into one readable data that is used, among other things, to determine the size of the settlements. Now it is calculated with one universal formula based on the design of each infrastructure. So no more guessing.
    • [WIP => DONE] add new sets of data to indicate the minimum size of settlement allowed to an infrastructure to be converted/assembled or built, for each index of size of infrastructure. These replace the min/max level. These applies to the following types of settlements: Surface, Space-Based, Subterranean, Lava Tube and Asteroid.
    • [New: DONE] add an infrastructure level, by index of size available for an infrastructure. 
    • [New: DONE] the data to indicate the range of settlements is deprecated since the new data for min/max settlement's sizes do the job.
  • Infrastructures (database) / Data Addons and Modifications:
    • [New: DONE] Multipurpose Depot:
      • dimensions and base power consumed are completely reworked and there are no more than 3 size levels now.
      • this infrastructure now uses Colonists as staff: 3, 4 or 6 colonists respectively. There were no staff prerequisite before.
      • the calculations for the different storage values are also completely redone. The Gas storage type is removed from the custom effects of this infrastructure.
    • [New: DONE] Pressurized Tanks Array => Pressurized Tanks Array - Gas: total overhaul of the data. Gas storage only.
    • [New: DONE] Pressurized Tanks Array - Liquid: new infrastructure for liquid storage.
  • Missions / Colonization:
    • [NOT DEV] fix: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
      For ex.: the enumeration of the three first types is; setSurface -> setSpaceBasedSurface -> setSubterranean. If Space-Based surface isn't part of the list of the combo box, the selection will be wrong.
  • Products:
    • [New: DONE] Multipurpose Depot: the now deprecated levels of infrastructure are removed. For the rest, the volume/unit for each level is adjusted by the new values.
    • [New: DONE] Pressurized Tanks Array: the now deprecated levels of infrastructure are removed. The rest is removed in exchange of Pressurized Tanks Array - Gas and a second one with Liquid. Total remake of the data.
  • Products / Addition of Equipments:
    • [New: DONE] Pressurized Tanks Array - Liquid: *3 for each size index.
  • Settlements:
    • [WIP => DONE] adjustements to determine the size, and the progression of it, for all the types of settlements. Calculations are 100% in-line with the new way to determine the infrastructure level.
Here is the updated list of pre-release stages:
  1. to adjust the Oxygen Production Overload by taking into account the population in excess of the life support system of a colony.
  2. to adjust the infrastructure levels in the database, the size of discovered resource spots (in line with IL) and also adjust how the size of a settlement is determined (also in line with the new IL).
  3. to finalize the implementation of the offline version of the knowledge base in the game. It is already here but a I need to remake the linking between the data and the explanations in the KB. That implies also to remove the old code of the previous encyclopedia.
  4. to fix a major bug in the Colonization Mission, in the case when only one carried colonization vessel is selected for the mission. The trip time doesn't update and it can create a bug. 
  5. to fix a bug again for the Colonization Mission: during the setup of the mission, if the list of types of settlements isn't continuous regarding the data vs what is available in the combo box, the type of settlement committed in the task will be wrong.
  6. FINALLY... to complete a presentable interface of the online updater that will display basic information like the version and build available, the last changes and buttons to let the player decide which action to take.
Yes, it is now six steps, since I discovered a new bug between the types of settlement available with the interface In the future and the one committed in the mission's data itself. It's not a big work to do, but must be done.

The work on the new Infrastructure Levels was a bit meaty, I add to redo all the basic data of the infrastructures already in the game. But it is past now.
There will be some secondary adjustments for the interface of the Conversion/Assembling/Building system, even if most of it is modified now.

So... two items out of six done, tomorrow I will work on the next one; the completion of the interface for the offline Knowledge Base.

That's all for now, good night and have a great tomorrow!

One out of Five Pre-Release Stage Done + Discussion on Life Support Systems

  • Colony Simulation Model (CSM) / Events / Oxygen Production Overload:
    • [NOT DEV => DONE] the test of the event takes now into the account the life support system of the colony. The event will only trigger if there is population in excess of the life support systems (or simpler; above the population capacity of the colony) additionally to the excess of the oxygen production (via the colony's production matrix).
  • Infrastructures (database):
    • [NOT DEV => WIP] adjustment into the determination of infrastructure levels (IL). For reminder, IL encompass grossly the size of an infrastructure into one readable data that is used, among other things, to determine the size of the settlements. Now it is calculated with one universal formula based on the design of each infrastructure. So no more guessing.
    • [New: DONE] the old surface, volume, base power, volume of materials, required staff, any custom effect and function's data aren't by level no more but by size index of infrastructure. 
    • [New: WIP] add new sets of data to indicate the minimum size of settlement allowed to an infrastructure to be converted/assembled or built, for each index of size of infrastructure. These replace the min/max level. These applies to the following types of settlements: Surface, Space-Based, Subterranean, Lava Tube and Asteroid.
  • Production System / Reserves:
    • [New: DONE] Oxygen Overload: the calculations for the percent of people not supported for the Oxygen Production Overload CSM event now takes into account the global life systems support of a colony. Additionally it also now takes the reserveOxygen_consumption data of a colony instead of population. I forgot to update this code after the last changes. A more detailed version will be implemented when the life support systems of the space units will be implemented.
  • Settlements:
    • [NOT DEV => WIP] adjustements to determine the size, and the progression of it, for all the types of settlements. Calculations are 100% in-line with the new way to determine the infrastructure level.
Here is the updated list of pre-release stages:
  1. to adjust the Oxygen Production Overload by taking into account the population in excess of the life support system of a colony.
  2. [WIP] to adjust the infrastructure levels in the database, the size of discovered resource spots (in line with IL) and also adjust how the size of a settlement is determined (also in line with the new IL).
  3. to finalize the implementation of the offline version of the knowledge base in the game. It is already here but a I need to remake the linking between the data and the explanations in the KB. That implies also to remove the old code of the previous encyclopedia.
  4. to fix a major bug in the Colonization Mission, in the case when only one carried colonization vessel is selected for the mission. The trip time dosen't update and it can create a bug. 
  5. FINALLY... to complete a presentable interface of the online updater that will display basic information like the version and build available, the last changes and buttons to let the player decide which action to take.
In the future, when the entire data of the design of the space units will be implemented, the rules and specifications of life support systems will be also used for the colonies and will affect how oxygen, food and water are produced.
For now and to simplify, I take the basis that any pressurized Housing infrastructure converted/assembled or built in restricted or space environments will cover daily oxygen consumption for the amount of population. Water and food are always consumed (if there are entities that consumes these reserves).

Also in the future any activity and replenishment of third party units, outside of the settlements of a colony (ie. vehicles, space units, armies and so on), will consume oxygen and/or food and/or water, depending of the life support systems equipping these units.

So for example; a space colony even equipped with a high level life support system for the oxygen of its Housing infrastructure will have some stress on its related reserve by the activities and units the colony will support.

Nothing is free in the Universe, and all has consequences.

As a reminder, the final implementation of the internal structures, design and equipment modules of the space units will occur once this alpha 10 is declared done (in at least one or two years, according to my snail pace). So with all the main factions of allegiance, more assets, more planetary systems and so on...

I working actually on the new changes with Infrastructure Levels and Settlement Sizes. It takes a bit of time since I had to modify all the infrastructures already in the game. But this part is done tonight.
I must now to code the new data format and make it works with the lists of infrastructures and the building system.

As a reminder; now the levels of infrastructures and the way the size of settlements evolve are now in line each other and the process is more logical.

So that's all, and thanks for your interest!

Short Notice: Release Month Confirmation, day To Be Determined

Since the previous post, it isn't of any surprises that the release of this version will occur this month in August.

I can't say yet when it will exactly be, since some work on the interface of the updater is needed, but my ballpark figure is 2 weeks top. The rest of the points to complete (see the previous post) are nothing to implement and fix.

Anyway, back to (my real job's) work.

Dev Update: Colonization Phase System DONE (Main Objective of this iteration DONE) + Screenshot

  • 3D:
    • [New: DONE] implementation of HUDsprites as buttons for ending the turn by one tick, hour, standard day, week or month. Events depending on custom buttons are also implemented.
  • Colonization Phase System (CPS):
    • [WIP => DONE] the system update certain objectives over the time, when their design request it. It is the case for PROVIRSRC which needs to keep track when its next period will end.
    • [WIP => DONE] the end of phase is now fully re-enabled and its report is fully completed including; the results, the outcomes/implications and the performances with each objective.
  • Graphics:
    • [New: DONE] creation of icons, which will populate HUDsprites, for the different turns.
    • [New: DONE] creation of icons for the "end of next colonization mission(s)" event button, to end the turns until the next colonization mission(s) is/are finished to be processed.
  • Interface / Colonization Phase System (CPS):
    • [WIP => DONE]  the list of objectives is now displayed in the OpenGL view. It includes the score of each objectives and also specific data, if they have any.
  • Interface / General:
    • [New: DONE] it is now impossible to end a turn via the keyboard, if the basic OpenGL buttons to end turns aren't displayed. Prevent to end a turn when it shouldn't be possible.
  • Time Flow System (TFS):
    • [WIP => DONE] the realtime portion is removed entirely. FARC will stay turn-based but with more option of turns, like the possibility of events end of turn; for example when a colonization mission is set it is possible to process the time flow until the first Colonization Mission is done.
  • Time Flow System (TFS) / End of Turn Events Framework:
    • [NOT DEV => DONE] a basic framework for events buttons is now implemented. It can now "popup" special end turns button linked to special events that can occur over a game.
    • [New: DONE] addition of the event "End of Next Colonization Mission(s)".
So ends the development of the Phase of Colonization, it was a real pleasure, really... hehe.

Anyway here's a screenshot of the final report:



A lot of texts and nothing fancy but, hey, it is informative :)

"BUT!  No release yet?" you would say.
Not yet, there are five things to complete:
  1. to adjust the Oxygen Production Overload by taking into account the population in excess of the life support system of a colony.
  2. to adjust the infrastructure levels in the database, the size of discovered resource spots (in line with IL) and also adjust how the size of a settlement is determined (also in line with the new IL)
  3. to finalize the implementation of the offline version of the knowledge base in the game. It is already here but a I need to remake the linking between the data and the explanations in the KB. That implies also to remove the old code of the previous encyclopedia.
  4. to fix a major bug in the Colonization Mission, in the case when only one carried colonization vessel is selected for the mission. The trip time dosen't update and it can create a bug. 
  5. FINALLY... to complete a presentable interface of the online updater that will display basic information like the version and build available, the last changes and buttons to let the player decide which action to take.
And it will be the time to release this "thing" .

Many of the points don't constititute a big deal, outside of the online updater, and should be completed fast.

So that's all, and thanks for your interest.

Screenshots of the end of Colonization Phase Report (WIP)

Please, just bear in mind that not all texts are complete (like for the Semi-Dependent case), and some needs to be localized, but it is nearly done.
One screenshot by outcome, from the worst to the best case.







As said yesterday it will be done today (night) or before the end of this weekend.

Short Notice: Interface for the Report of the End of Colonization Phase Complete (not done yet)

The interface for the report of the end of the Colonization Phase is complete with all its elements.
My current work is into creating texts to explain why and where the player have failed, in the case the colony isn't viable, and how to avoid such outcome the next time.
This last part is explained for each failed objective.

So it takes some time to complete bits of explanations, especially with my bad English but it will be done before the end of the weekend.

I must also localize certain texts of the interface, they are hardcoded for now, but it is not much to do.

So yes I will really complete it perhaps tonight, tomorrow or this weekend, but the finish line is here, even for a snail dev like me.

Tomorrow, I will post screenshots of the WIP (or if done) to show it in case of fully independence, semi-dependence or when the colony isn't viable.

The funny part is that by default the player can finish the phase with a good score by doing.. nothing. Yes... outside to set up colonization missions to create and populate the colony, you just have to accelerate the process of the turns monthly and in no time the phase is finished with a fairly good score.

It is certain that since the equipment for the colony are yet hardcoded, because without the space unit designs and storage implemented I cannot process yet the starting equipment of a colony, and because there aren't challenges and variations, it is a pretty straightforward path, and a boring one in term of gameplay.The hardcoded equipment and products are VERY generous.
In a normal game, the colony will not have enough reserve of oxygen, food and water to pass the full year without any stress.

That will start to change when the weather and geophysical system will be implemented during the phase of completion of this alpha 10 (after this upcoming release) since it will affect anything like the infrastructures, inhabitants, planetary surveys and so on.

But at least the gears are in place, I must populate the workload now.

That's all. Tomorrow I will post some screenshots (I'm at work right now so it isn't possible).

Short Notice + Screenshots: Full Completion of End Turn Button + End Turn Event Framework

I finally completed the graphics, implementation and behavior of the basic End Turn buttons.

I also completed the framework to manage event-based turn buttons, and also made the graphic and implementation of the first one, Colonization.
Event-based turn buttons allows the player to process the time until a type of event is called.
In the case of the Colonization event, clicking to such button will process time until that one turn has at least one Colonization Mission fully completed.

Here are three screenshots of these "beauties":



Now it's time to complete the CPS end report and this iteration is done.

Edit: I have updated the Gallery page with the full screenshot above and another one with the CPS objectives.

Short Notice; End of CPS Report and End-Of-Turn Buttons

Sorry for the lack of news since June 17, I just committed code, these past days, without posting anything and made a fair amount of work for my side job (nothing to do w/ FARC dev).

I will work this weekend to complete the end report of the CPS Phase and I will try to finish my work on the interface for the OpenGL buttons to end the turns.
I already created (ugly) graphics to make some buttons to end turns by tick (10min) / hour / standard day / week / month and they nearly all working.
I will also create a few additional buttons for the special end-of-turn, like the one to process the turns until the completion of the next Colonization mission (if any).

Anyway don't worry, I will post some screenshots and explanations when it will be done.

After that, well, the main topic will be finished. I will work on the online updater to finally complete its development (as a reminder; it is working since a while but needs some informative interface elements) and in the end I will take an additional week to fix certain tagged bugs.

And that will be the time to finally release it.

Edit: I also finished the OpenGL interface to display the objectives and their data

Thanks and have a great Summer!

Dev Update: CPS Objectives [FULL DONE] + Factions' Death Tolerance

  • Colonization Phase System (CPS):
    • [New: DONE] added a root code to test if a CPS objective must monitoring the energetic changes, and make the respective calls to update the score(s). 
    • [New: DONE] added a root code to test if a CPS objective must monitoring the changes in the line of credit, and make the respective calls to update the score(s).
    • [New: DONE] added a root code to test if a CPS objective must monitoring the changes in the size of the population, and make the respective calls to update the score(s).
  • Colonization Phase System (CPS) / Objectives:
    • [WIP => DONE] Ensures the Survivability of the Population (ASURPOP): special initialization of the objective with its rules, calculations and specific data.
    • [NOT DEV => DONE] Be Energy Efficient (ENERGEFF): special initialization of the objective with its rules, calculations and specific data.
    • [NOT DEV => DONE] Keeps the Usage of Line of Credit at Lowest (KEEPLOC): special initialization of the objective with its rules, calculations and specific data.
    • [NOT DEV => DONE] Keeps Alive #Percent of the Population at End Of Year (KEEPALIVE): special initialization of the objective with its rules, calculations and specific data.
  • Colony Simulation Model (CSM) / Energy Update:
    • [New: DONE] each time the power grid of a colony is updated directly, the CSM calls the CPS to see if one of the 3 energy data is used by an existing CPS objective.
  • Factions:
    • [New: DONE] add a Death Tolerance data (usable at any time in the game) that can be useful for AI behavior and other game systems' rules.
  • Factions / Expeditions & Backstories:
    • [New: DONE] a data, Death Tolerance Modifier, is added to any backstory. This modifier indicates the tolerance in regard of accidental / health / crime death in the colony. It can be used for certain parts of the game, like certain CPS objectives.
  • Missions / Colonization:
    • [NOT DEV] fix the case when the colony isn't founded yet, and only one carried colonization vessel is selected for the mission. The trip time dosen't update and it can create a bug.
  • New Game Setup:
    • [New: DONE] the Socio-Political Matrix is now also initialized for non-player's factions.
  • Population:
    • [New: DONE] each time the population of a colony is modified and it is a sentient race / ethnic group, the code call the CPS to see if the change in the population is used by a current CPS objective.
  • Production System / Energy Equilibrium Rules:
    • [New: DONE] add a link to test if a CPS objective uses the changes of energy.
    • [New: DONE] the interface is now updated, because the CSM/Energy code doesn't update it for all the cases w/EE rules.
  • Socio-Political Matrix (SPM):
    • [New: DONE] the process of memes and policies over the time is completely disabled until a mass audit is done on this specific part, after the current version is released.
  • Time Flow System (TFS) / Tasks Subsystem:
    • [New: DONE] code optimizations for the process of the tasks, the process of the turns during colonization missions have less lags. Useless / Redundant data have been also removed.
    • [New: DONE] the code to cleanup the terminated tasks is now multithreaded.
I haven't implemented all the objectives planned from the start, since some of them like Reachs a Certain Quality of Life depends on data that aren't fully used / implemented in the game yet.
But anyway, five objectives are fully implemented and they constitute the conclusion to this part.

Now I must update and finalize the interface that display the objectives.

Once this part done I will, at last, do the last part of this version; working on a report for the end of the colonization phase. One already "exist", somehow, since it is just a panel with nearly nothing in it, so it is due to a good update.

That's finally all, tomorrow is back to work, but the dev continues.

New Inclusion: Parallel Programming in FARC (very modest steps for now)

I just finished a little experiment to implement parallel / multithreaded code in FAR Colony, by using the free and opensource Omnithread library (because standard low level multithreading in Delphi is a complex nightmare), and after much reading and failure I finally understood (at a very basic level) how it works and succeeded to finally transform a bit of the code.
Even with this framework you need to understood the process of tasks, pooling, and not to mess up with the main thread, but it is far easier to dev than using the barebone multithreading in Delphi.
The newer versions of the IDE, than the one I using, have already parallel coding in standard for some years now, which is pretty simple to use from what I seen. But with my 2009 version, well, it's ever the barebone pleasure or taking a framework...or upgrade which isn't yet for now.

I tested parallelism for the cleanup of the tasks (the ones used to process the space units' missions) and it works pretty well.

Of course FARC doesn't process 10,000 tasks (yet) to have parallelism totally meaningful, but better to have it now than be sorry hehe.
So in the end, I will put multithreading into small parts of the game here and here over the time. For now it is a very modest step, but a fun one. In the other way I must be precautious to not going to fast with it; multithreading can bring its bag of bugs and defects, and I really don't need it.

I know, the game would also need to pass into 64 bits, but it is a planned process, I just need to continue to stack a bit of money beforehand hehe.

That's all, not much of a big news but since I passed some hours on it I wanted to share this update.

The week report is always planned for Sunday.

Thanks and have a great weekend!

Short Notice: Report for the End of Full-Time @ Sunday 17

I will publish a dev update post during AM or PM @ Sunday 17 with all the work I did this week.

Many things have progressed, and I completed some objectives but not all of them yet.  I hope it will be the case on Sunday, that would be a cool thing to push one step further toward the release, but we will see. I haven't did nothing this Monday, and only started to dev on Tuesday morning because of real life stuff...and things hehe.

I have about 3 days left of full time dev work, so this is enough ranting, let's back to dev.

Thanks and have a good day!

Short Term Full-Time Notice

From Monday I starting a week of holidays. So I will work full time (8 hrs min) on FARC Monday-to-Friday, in the hope to complete the implementation of a good bunch, if not all, of the objectives.

I did  not much in the dev of the game this weekend outside of pushing the finalization of the entire tech trees, on the design side.

That's all, have a great week!

Dev Update: Expansion of Population with Reserves (DONE)

  • Colony Simulation Model / Events / Oxygen Production Overload:
    • [NOT DEV] the test of the event takes now into the account the life support system of the colony. The event will only trigger if there is population in excess of the life support systems (or simpler; above the population capacity of the colony) additionally to the excess of the oxygen production (via the colony's production matrix).
  • Colony Simulation Model / Reserves:
    • [WIP => DONE] each time a reserve is updated directly, the CSM calls the CPS to see if the reserve is used by a current CPS objective. 
    • [New: DONE] the amount of population that consume a certain type of reserve each standard day is now stored in memory and updated each time the population change.
  • Population:
    • [WIP => DONE] add the rules considering how the reserves are used in a colony, according to which races and ethnic groups are present in it.
    • [WIP => DONE] each time the population of a colony is modified, the use of reserves is checked, since it can changes other the time. Also, the amount of population that consume a certain type of reserve each standard day is calculated.
    • [New: DONE] the core management routine that manage the fluctuations of the population in a colony takes now into consideration all the races and ethnical groups.
    • [New: DONE] add a new category of population for the Sentient Artificial Intelligences; Commoner.
  • Production System / Reserves Consumption (reserves segment):
    • [New: DONE] each time the process of reserve consumption is enforced, the system call the CPS to see if a reserve is used by a current CPS objective.
    • [New: DONE] the consumption of reserves takes now the specific pre-calculated data for the amounts by standard day
    • [New: DONE] the consumption of oxygen takes now into account the life support systems of the colony. Only the excess population takes into the reserves.
Another stack of side work done. The addition / removal of population takes now into account all the current races (humans, clones, AIs) and ethnic groups a colony can have.

Also the calculation of the consumption of the three reserves (oxygen, food, water) also support these races and started to take the most exotic of them (like the poshumans) in the calculations.

All this work is necessary for the CPS objective Ensures the Survivability of the Population, since it takes the states of the reserves, and how they are used, for its scores.

So tomorrow night I will finally resume the development of this objective (all the calculations for it are already fully done by design) and complete it ASAP.

The two next ones, Be Energy Efficient, and Keep the Usage of Line of Credit Low, are pretty simple and doesn't requires any side job.

That's all, thanks for your everlasting interest.