Dev Update: Generation of Starting Equipment DONE + Framework for Space Units Fleets (with some Details)

  • Entities:
    • [New: 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.
  • New Game Setup:
    • >[WIP=> DONE] the starting equipment is generated, based on the size in population of the expedition.
    • [WIP=> DONE] each starting equipment is transfered in the cargo of the available space units, according to the rules.
  • Space Units (in-game):
    • [New:DONE] addition of functions to load the cargo of one spacecraft or a group of space units.
Finally the generation of the starting equipment is fully done.
A skeleton of data structure for the fleets have been implemented, it was necessary to be in accordance with the functions to load the cargo of space units.

In clear, there will be fleets in FARC, as for any space strategy game around, with specific functions that will define the overall organization (with organization slots) of them and will modelize the range of possible missions / strategies and tactics available.

The following is a work-in-progress, since it is a future feature, so take it is subject to changes.

The two basic types of fleet will be Task Group and Task Force.

The Task Group is a functional civilian fleet composed of 3 organization slots:
  • Manager & Coordinator Group (the core command)
  • Workers Group (the core working process, like haulers for example) 
  • Assistants Group (any spacecraft that doesn't fit as Workers but can act in assistance for them, like for a Fleet Logistic/Replenishment spacecraft for example).
The Task Force is a militarized fleet (yes there will be blood, tears and wars too in FARC) composed of 6 organization slots:
  • Core Command Group (part of the C3i group; Command and Control. The rest is assumed by another group)
  • Main Strike Group (the main combat group)
  • Escort Group (any defense spacecraft, acting only in reaction against any agression)
  • Orbital Assault Group (any spacecraft specialized into orbital planetary strike)
  • Battlefield Area Specialists Group (Electronic Warfare, Recon and other specializations not fitting in any other group. It includes the rest of C3i: Communication and Intelligence)
  • Support and Logistic Group (Replenishment, Rearming, Repairing)
See the groups like "mini-fleets" inside a fleet. Yes, convoluted things are so crunchy on the morning hehe.

That's all, a lot of work ahead as usual.
Now I continue to re-enable the rest of the process of a new game, which should be faster since it isn't linked to the backstories, so it is mainly to uncomment the code and verify it.
It includes the initialization of the Socio-Political Matrix, of the common core for the research & development, the Colonization Phase System, and finally the user's interface.

Thanks for your interest!

Dev Update: Small Fix + Space Unit's Cargo Done + One Screenshot of Some Generated Data

  • Game Saving/Loading:
    • [New: DONE] fix a bug that prevented to save the 11 development levels of the stored products for the colonies.
  • Space Units (in-game):
    • [WIP=> DONE] add a very basic sub-data structure to indicate the cargo of a space unit with its detailed list of items.
I working actually to implement the rules to spread the starting products through the cargos of all available space units of a specified design. Each starting equipment has a data "hauledByClass" to specify which design of spacecraft will haul which equipment.

For now, and since the designs aren't implemented yet, there is no test to avoid a cargo to be overcapacited. But that will be taken into the account in the future.

Normally I should finish to implement the generation of starting equipment tomorrow (or today since it's 1:20AM yet...) during the night (EST time), and I will continue to re-enable the initialization of the the player and non-player's factions.

As a small bonus, here's a screenshot of the debug output console of the game to show you a small part of the data that are generated:



As specified in a previous post, the starting population will vary according to a certain range set by the faction of allegiance, expedition and backstory, the player will chose of.

In this example the future player's colony would start with 481 entities (mostly humans and few artificial intelligences) and 34 space units. The number of space units, as for the starting equipment, stay proportional to the size of the population at the start of a game.

Following the population you can see the naming of all these spacecrafts, using the dynamic generation according to the parameters of the faction's language, which is in the case of Magellan Unity a mix of English, German and a little bit of Italian, Spanish, and Eastern European languages.

The "_spaceUnits[Count3 + Count2]" entries are all docked space units, and in this case they are all FCP-80s which are the big and robust landers that will carry the entire population of the player's colony. They will serve as colonization shelters once landed and converted as basic infrastructures.

The space units, starting from the spacecraft's name "Eon Polaris" are all haulers (of Aspen 2 design) those will carry the entire equipment of the colony, and there are nine of them.

The lines after these haulers are the debug messages during the generation of the starting equipments.

That's all, back to dev tomorrow after... well... the day job.

Dev Update: Starting Space Units Done + WIP Starting Equipment + Space Units Cargo

  • Factions / Magellan Unity / Language System:
    • [New: DONE] expansion of the data by 258 generic words, including their articles rules.
  • New Game Setup:
    • [WIP=> DONE] the starting space units are generated, based on the size in population of the expedition.
    • [NOT DEV=> WIP] the starting equipment is generated, based on the size in population of the expedition.
    • [New: WIP] each starting equipment is transfered in the cargo of the available space units, according to the rules.
  • Space Units (in-game):
    • [New: WIP] add a very basic sub-data structure to indicate the cargo of a space unit with its detailed list of items.
The generation of starting space units is now fully completed and I started the generation of starting equipment.
One requisite of this sub-system  is that the generated equipment goes in the cargo of the starting space units, so I expanded a little bit their data structure with a cargo data array to store all the items a spacecraft transport. In the future (after the full iteration cycle of the alpha 10 is done), when the design of the space units will be implemented, it will take into account the available cargo capacity a space unit has, but for now there is no limit programmed, but the whole stay a bit coherent.

I also put a few changes and refinement for the generation of space unit's names.

That's it for now.

Dev Update: Faction's Language System + Naming of Starting Space Units = DONE

  • Factions / Expeditions & Backstories / Starting Space Units:
    • [New: 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.
  • Factions / Language System:
    • [WIP=> DONE] a skeleton of language system is implemented, and a list of the general words is added in the data structure.
    • [New: DONE] for now generic words, and articles are supported.
    • [New: DONE] basic general rules for naming the space units are implemented.
I finally finished the basic language system of the factions, and the generation of the names of starting space units is fully completed.
By this way now, the game will be able to generate names for the space units, but also colonies and (well later) characters. It will be based on the linguistic setup for each faction.
Of course in the future some factions, especially the minor ones, will have the possibility to access of the language system of one another faction and tus sharing a common language.

So now I'm back in the development of the rest of the generation of starting space units, and starting equipment...

... at the FTL speed of a snail as usual :)

Dev Page Update: Faction's Language System

  • Factions:
    • [New: WIP] a skeleton of language system is implemented, and a list of the general words is added in the data structure.
In the future, the game will be able to generate names for space units and colonies with a pseudo-random method with a specific database of words, and first names and surnames (for the future characters).
A database of syllabus will be also implemented for me, when I using FARC in debug mode, and will allow me to generate words based on a specific faction.

For now it isn't much but the system will set names for the starting space units, of a backstory, that requires some.

The whole data for the language will be located in the XML file of the factions.

I know that is not a big deal of gameplay, but it adds some flavor.

I continue to develop the generation of starting space unit, and starting equipment, stay tuned.

Edit: I also completely reformatted the Dev Page and removed the highlightings which became a bit "heavy" for the eyes...

Dev Page Update: Population, Starting Space Units and Equipment

  • New Game Setup:
    • [New: 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. 
    • [New: WIP] the starting space units are generated, based on the size in population of the expedition.
    • [New: NOT DEV] the starting equipment is generated, based on the size in population of the expedition.
  • Space Units (in-game):
    • [New: DONE] a useless data, the tokenId, and all its dependencies are removed. 
    • [New: DONE] the length of the name of a space unit is expanded to an unified custom name constant.
    • [WIP=> DONE] add two new data; the physical state and a switch to indicate if the power grid is enabled/disabled.
    • [New: DONE] the array of the docked space units is optimized of a useless sub-record.

Dev Page Update + Starting Locations Bug + Time Flow System Initialized + Entities

I will now post the last changes in the Development page each time it is done.
The history of the last 4 changes is displayed on the top of the page.

  • Interface - New Game Setup:
    • [New: DONE] the game name is limited now to 20 characters. Thus, it putting it in accordance with the setting of the data.
    • [New: DONE] the player can now set its own faction's name.
  • New Game Setup:
    • [New: 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.

For the rest, the starting locations has a bug, just a logical one where I forgot to apply the scopes of the generation when the rule Preferred Starting Location - Orbital Object Type isn't present.
The bug isn't fixed yet but will be after I finished to rework the Colonization Phase System (CPS).

I also re-enabled the initialization of the Time Flow System (system that manages the hybrid realtime / turn-based subsystems).

I started to re-enable the code that initializes the entities of the game (the player and non-player factions). It is where most of the work, beside the CPS, is focused since I completely remove the old code and finally integrates the backstories' data into these entities. Including the dynamic generation of the population and equipment.

That's all for now, back to work hehe.