Alpha 9/10: Completion / Data-Driven Coding

The alpha 9 is finally done, it was really nothing since it follow the same time flow process, excepted that it's processed turn by turn or tick by tick.

I also began the development of the alpha 10 well before this blog post date, at my work, by implementing the data structures of the research domains and fields, including also the technosciences. So for now I should be OK for this first semester. I don't know why I taken so much time with the alpha 9, for not much to do in final.

So in clear, it is now possible to switch in realtime and turn by turn when the player want it during the game.
It doesn't change anything to the game system, at least the part already here, and that's a good thing.

I have a good stack of design work to do considering the technosciences themselves. Not all will be put in the alpha, don't wait to have the ability to play with more than 200 tech right now, but small steps small steps. The RDS itself is done on paper.

So that's all for now, some hundred of XML lines to keep us warm for this too long end of winter :)

Alpha 10: Shortcuts Keys in the Help Panel

Beside what I coding actually, I overhauling the keyboard shortcuts too and in the same time I cleaning up the help panel. Now the keys will be displayed by icons, as you can see in the screenshot below:

It's not much but it's less a chore to read than before. This part is in 3 columns (only one is displayed in the screenshot for now) and will be populated with all the rest of the shortcut keys.

I don't know if the overhaul of the presentation of the encyclopedia (with trees) will be done at the release of the alpha 10, but who know. I prefer to complete the main features I announced in this merged alpha 8/9/10 before doing secondary works.

Stay tuned :)

Alpha 10: Research & Development - Research Fields, Domains of Research and Technology Levels

As I said into previous posts, the research & development system is a dynamic one, meaning that the player (and incidentally the AIs) will not follow a fixed tech tree but will have access or not, depending on many factor, to the technosciences.

This dynamic layer is based on research fields in which a faction generate knowledge and so research points. There are finally 20 of these fields grouped into 8 domains of research, for an easier management, here is the list:

  • Aerospace Engineering [Fields: Aerospace Technics, Space Architecture and Space Drives]
  • Astro-Engineering [Fields: Astrophysics and Space Engineering]
  • Biosciences [Fields: Biotechnologies, Medicine and Neuroscience]
  • Culture [Fields: Communication, Entertainment and Memetic Engineering]
  • Ecosciences [Fields: Ecology and Planetology]
  • Industrial Technologies [Fields: Automation, Computing, Industrial Technics and Materials]
  • Nanotechnology [Fields: Mechanical Nanotechnology, Molecular Nanotechnology and Nanomaterials]
  • Physics [Fields: Energy, Nuclear Physics, Particles Physics]

Note: This list is completely final.

By generating knowledge over time, a faction can trigger the access to science and technology breakthroughs called technosciences. The system isn't totally random but is based on a probability based on many factors; this part will be seen in more details in a future post. It also keeps track on what is already discovered to prevent to lose certain coherence.

Research domains use the mean knowledge generated by their research fields to trigger the discovery of theories. Theories doesn't unlock the access to new products and equipments but affect the progress of each research fields depending on a domain that trigger a theory and can also, eventually, affect research fields of other domains.

The research fields trigger the discovery technosciences that must be mastered to be used practically in game, by the access of new equipment, infrastructures and so on.

These fields and domains thus constitute the backbone of the dynamic layer of this system. The player and AI will not manage directly them because they are dependent on how are setups the colonies and additionally if there are also space units that generate knowledge.

Technology levels are used in FARC, as for many strategy games and tabletop sci-fi RPGs, to classify a particular age of knowledge and advancement. This data affect directly the theories and technosciences and is used to indicate the level of complexity of each of them. It is not the only data since a second one, the inner difficulty, exists too.

The list and description of each technology level is below:

  • TL 1 - Industrial Age
  • TL 2 - Robotic Age
  • TL 3 - Information Age (our current real stage)
  • TL 4 - Cyber Age (with practical fusion)
  • TL 5 - Interplanetary Age
  • TL 6 - Transhumanism Age ( including pro-evolution )
  • TL 7 - Singularity Age (sentient AI - first FTL)
  • TL 8 - Interstellar Age
  • TL 9 - Nano-Age (used directly at big scale)
  • TL 10 - Unification Age ( unified theory - nanoswarms )
  • TL 11 - Enlightement Age ( 2nd FTL - matter compilers, interstellar arks, generation ships )
  • TL 12 - Megatech/Quantum Age ( utility fog, non destructive uploading, space megatech )
  • TL 13 - Transcendence Age ( 2nd singularity - ultra tech(by action of ultrasentient AIs) - 3rd FTL )
  • TL 14 - Kardashev Age ( mega astroengineering - Dyson Sphere - Dynamic Orbital Ring)
  • TL 15 - Galactic Age
  • TL 16 - AI Gods Age ( 3rd singularity to AI gods )
  • TL 17 - Dimensional Age
  • TL 18 - Infinity Age     
At the start of the game, the major factions are between a TL 6 and TL 7.
It cans sound a bit convoluted, and perhaps a bit over the head of the game, but we will see.
Obviously the TL18 means the end of the game when a faction reaches it.

That's all for now as a little part of presentation of what will come with the alpha 10. I hope I've been clear, I know that my English is far from perfect.

Stay tuned for upcoming updates :)

Alpha 9/10 Dev Status: Some Words on the Turn-Based Subsystem

I began the dev of the last phase of the turn-based subsystem which is the process of the turn itself.
The realtime one has been a bit overhauled; speed ratings now replace the old description. So it is possible to play in real time in 1x, 2x, 5x and 10x the standard time. I also modified a bit the pausing and of course updated the interface.
Since I also want to overhaul totally the keyboard shortcuts, as said in a previous post, I begin with the game flow; there are now only two acceleration keys: < and >, the same as for Kerbal Space Program in fact. The pausing of the game is always made by the Pause key. It will be possible to reset the speed by hitting Enter.

Concerning the turns, a standard one is equivalent to one tick, or 10 minutes of game time. The additional thing is that it will be possible to make an end of turn far longer than that. The possible turns, their respective equivalence in game time and what system they directly affect are the following:
  • Tactical Turn: equivalent to one tick or 10 minutes of game time. The smallest time unit in FARC. Useful mainly for the upcoming combat system.
  • Industrial Turn: equivalent to 6 ticks or 1 hour of game time. This turn is called Industrial because the production system (including the infrastructures) is updated hourly.
  • Upkeep Turn: equivalent to 144 ticks or one standard day of game time (24 hours). Concern systems like the one which mange colonies' reserves and the Planetary Survey one.
  • Colonial Turn: equivalent to 1008 ticks or one week (7 standard days). Useful for the Colony Simulation Model (CSM)
  • Historic Turn: equivalent to 4032/4320/4464 tick or one month (days varies according to the current month). Useful for the Socio-Political Matrix system (SPM)
So how it will work? By two means:
  1. By using shortcuts; enter is the standard key to end a turn and can be associated with Shift, Control, and Alt to use directly a specific type of end of turn. So Enter for a Tactical turn, Shift+Enter for an Industrial turn, Control + Enter for an Upkeep turn, Alt + Enter for a Colonial turn and Control + Space for a Historic turn.
    Optionally it will be possible to change the type of turn that the Enter key will trigger by using the same keys than for the real time acceleration, thus < and >.
  2. By the mouse, if you prefer this way; it will be possible to invoke a panel containing all the button to trigger the type of turn you will want to trigger

That finally conclude this post, sorry again for the delay and stay tuned.