Alpha 10 - iteration #08: The Limits of Random Generation vs the Existing Data

As usual the development takes more time because I have to push the test for certains objectives.

For example, Provide #Period A#Resource; a colony must provide a A#Resource for its faction of allegiance. A fixed volume of A#Resource is taken at a specified #Period.

The logic seems basic at first, we just need to know how much resources are available in the game, select one randomely and generate the rest of the objective's data.
Well not so fast... What happen is the player start on an icy asteroid and the objective ask him to provide uranium ore? That would certainly pose a problem. Same if water is asked and the player start on a liquid methane world, like the Saturn's satellite Titan.

Of course we can imagine to develop certains way of production and refining, but as a reminder these objectives are for the early game when the player has pretty limited manpower, infrastructures and usable technology.

For that purpose I creating a Environment Resources Class List  (sorry for the pompous name) that contains all the tests relative to the orbital object of destination for the players colony. It takes into account the following data: the orbital object type, its environment (Space, Restricted or Free), its atmosphere and its hydrosphere.
So in the end a custom list of resources is created and will be used if one iteration of the Provide #Period A#Resource objective is called.

There is a second objective, Reach a Capacity of Production, that can uses not only resources but also any of the other classes of products.
This one can be simpler because the list of possible products is based on strategic wants of the Factions of Allegiance.
Of course since again it target the early game, the products to produce can be resources, refined products or manufactured ones (on a crude level).
Normally a colony should be able to generate with more or less difficulty these products, and since a backstory can automatically reject certain objectives, the configuration of colonies that cannot doing basic industry shouldn't be concerned.

The designing and coding of all this requires certain documentation cross-over between the main document, the list of CPS objectives and the products. But it is doable.

All that to only generate objectives that can be plausible and not completely random to a failure.

Rest assured that the rest of the objectives doesn't requires such convoluted logic and are more easier to code than the two that have been exposed in this post.

So that's all for now, a lots of talk for sure :)

Alpha 10 - iteration #08: Dual Implementation: Dynamic Generation of CPS Objectives

After this mortuary pause, I started tonight to finally implement the code for the dynamic generation of CPS objectives, I already pushed some commits of it.The code is incomplete yet but all the design is done, so it is a question of working my fingers in ObjectPascal.

I will continue to work on the interface to setup a new game in same time.

Once these two are done I will rework the process of the data of a new game and re-enable some parts of the previous code.

One month and 22 days, yes we CAN.😒😉

Also a bit OT, I just seen that I removed my Google + account...
I did a removal of a "service" some times ago but... apparently I removed the whole account.
So yep, I remade the one I had but lost anything, that's... great.

Anyway thanks for your interest, stay tuned!


CPS: Colonization Phase System  

OT / Picture: Space Farewell to a Family Member

My father passed away today after fighting a cancer for about 8 months, so to stay a bit related to this blog I will post this picture below in his memory.
Copyright Jakub Grygier
http://www.notodoanimacion.es/2016/01/ilustraciones-y-showreel-del-artista.html
http://www.animalstudios.es/estudio/

And a tune, from Hammock:


FARC dev will resume tomorrow.

Take care.

Alpha 10 - iteration #08: Synchronous Development; New Game Setup and Generation of CPS Objectives

I wasted again some real life time because I'm looking for a new appartment... excuses excuses... but the interface to setup a new game is ongoing and I finally fixed and completed the rules to generates CPS objectives dynamically, and I coded part of it during my breaks at my work.
The rules were already done but I failed in the logic of some steps, I was probably tired the day I did the mistakes...for sure!

That mean when the interface work is done, the generation of CPS objectives will be done too.
Since it was a fork of the code I will have just to merge it into the root tree and complete procedures and functions names.

I don't do GitHub commits for now because I want to complete the rework of the interface first.
I will commit the whole once done, and commit the merged code of the objectives too.

CPS: Colonization Phase System 

Keep Alive and Dev Day Post

Sorry for the lack of news and commits for two weeks, I had some real life priorities to fulfill.

Today is a day off for me so I'll dev all day long and will start in 15 minutes.

Thanks for your interest and have a great Friday!

Alpha 10 - iteration #08: New Game Setup - Faction of Allegiance Interface Done, the Rest in WIP

The interface element to select the faction of allegiance, expedition and backstory is now done and working. It's a very simple tree which has the merit to see the options available.

Of course the options above are... pitiful at best, but it will be populated when I will add new factions and their expeditions / backstories in 2018 with the last phase of fleshing out this alpha 10.

The Proceed and Cancel buttons are also reinstated.

Now I'm working on the faction datapad, which looked like this on the screenshot below:
It will have now five tabs:
  • History: will contain the descriptive texts on the selected backstory and will also contain an excerpt about the selected faction of allegiance.
  • Colonization: will contain the detailed informations about the special rules of the selected backstory and it's CPS data; i.e. the viability thresholds and the line of credit (if any).
  • Population: will contain the data about the settings of the population for the selected backstory including the size classes and the partitioning between each race, ethnic group and category.
  • Equipment: will contain the details of the starting space units and equipment.
  • Game Options: will contain any option linked to a game (ie not application based). It will be empty for the release but will be populated over the time.
Once this part is done I will work on the initialization and process of a new game, according the settings via the interface above, and will also implement all the dynamic generation of the data and the colonization objectives.

The step one, described in this post, will be finally done after all of that.

Well, it's not a very meaty post but at least you know were the development is.

Thanks for your interest and stay tuned.

Alpha 10 - iteration #08: New Game Setup - Interface Overhaul Status

Just a small post to inform that the ovehaul is ongoing.
Many parts of the interface will be reused but the one that in under heavy changes is about the factions of allegiance, expedtions and backstories. The old interface with the Colonization Modes and the drop-down to select a faction is now removed, the whole will be replaced by a selection tree that will display in a hierarchical all the possible starting factions and backstories.

The tabbed panel that existed before, like in the screenshot below, will continue to exists with many modifications. For example the first tab will be about an introductive description that will display the multiple origins (if more than one available) for a selected backstory and also a data excerpt about the selected faction of allegiance. The second tab will be about all technical details, ie; special rules of the backstory and informations on the data for the colonization phase.

The rest of the interface, the cancel and proceed buttons and the flag, will stay the same. The window will be (and already is now) completely fixed for the keyboard and interface focus, as it is for the Orbital Object panel for example.

Here's a screenshot of the old interface to setup a new game:


I don't have one with the changes yet, since I prefer to complete entirely this step before.

That's it for now.