Development

Development

FAR Colony is developed on my free time since 2009, meaning that schedule of updates is pretty irregular. Because of that I decided, some time ago at about the start of the alpha 10, to stop adding half-implemented features and working on the completion of what is already in the game.
Then it is why the current alpha 10 has so many iterations, and it will finally reach its term when the iteration number 10 will be done, I hope next year. The goal is to provide a playable basis, if somehow barren, to expand on it.

In this page is displayed the list of features, changes and fixes of the current iteration. Before this, I was posting small status about what is done and/or in progress, but the problem is that such information is lost in the void, like ancient deep space lights.The items in the list below can be have one color among 3, meaning different status:

  • [NOT DEV] Feature, change and bugfix not worked yet.
  • [WIP] Feature, change and bugfix partially done (work-in-progress)
  • [DONE] Feature, change and bugfix completed. Will be present at the time of the release.

===//TEMPLATE

Added / Modified @XX NN:

  • NN:
    • [WIP => DONE] X.
    • [NOT DEV => DONE] X.
    • [NOT DEV => WIP] X.
    • [New: DONE] X.
    • [New: WIP] X.
    • [NOT DEV] X.

===//END-TEMPLATE

Alpha 10 – Final Iteration Development

  • 3D
    • [DONE] fix: pre-generate the satellites in the same manner as the non-sattelites are pre-generated. It prevents a big memory leak when the scene is refresh with a new set of data.
    • [DONE] add an icon to serve as HUD button to display the orbits panel.
    • [DONE] when an asteroids belt is focused, certains useless parts of information are hidden now.
    • [DONE] the OpenGL third-party framework GLScene is fully updated with 9 years of updates.
    • [DONE] custom objects aren’t loaded anymore via the old lib3ds.dll but directly now via the framework. The dll and code dependencies are removed and modified.
    • [DONE] fix: clicking many time on the view doesn’t freeze/break FARC anymore.
    • [DONE] the code to orbit space units in 3D is deprecated and removed.
    • [DONE] all the code to load / generate 3D space units in the main view is removed.
    • [DONE] complete calculation of 3D coordinates of space units (even if there are no more 3D objects) when those are on low and geosynchronous orbits. Before there were given through the 3D objects presents in the main view, but now the positions are extrapolated by calculating their position on orbit (variable in low orbit, fixed and depending of the locked range of latitudes in geosynchronous orbit).
    • [DONE] the hints for the following HUD buttons are implemented: all the end-of-turn buttons + the orbits button.
    • [DONE] fix: focus view to a non-satellite orbital object; force to set a zero selection of satellite, to prevent any possible bug.
    • [DONE] fix: focus view to a satellite orbital object; bring back the use of the satellite index #, it was deactivated for no reason…
    • [DONE] the FCGLSHUDcolplyr HUD button is refactored Local Surface and behave like a button the player can access to.
    • [DONE] addition of a HUD button, with its complete behavior to open the Population panel.
    • [DONE] addition of a HUD button, with its complete behavior to open the Settlements panel.
    • [DONE] addition of a HUD button, with its complete behavior to open the Industry panel.
    • [DONE] addition of a HUD button, with its complete behavior to open the CSM Events panel.
    • [DONE] addition of a HUD button, with its complete behavior to browse the satellites (if any) of a focused orbital object.
  • Factions
    • Expeditions & Backstories
      • Starting Space Units:
        • [DONE] modifiy the enumerations to specify generic attitude for space units starting in orbit.
  • FARC Universe Generator (FUG)
    • [WIP] changes in the calculations of the Main Travel Distance for the regions of an orbital object. The reason was that calculation of polar (north-south) distance was biased and not reflected 100% reality.
    • [DONE] remove the GravSphereCoef, used for low orbit. It is ridiculous and useless. Don’t ask me why I used such synthetic modifier in the calculation of the low orbit.
    • [DONE] remove the radius switch for geosynchronous orbits. It is irrelevant by the nature of the formula used.
    • [DONE] low orbit calculations are now totally independent from geosynchronous orbit calculations. It uses now a simple proportional calculation.
    • [DONE] when an orbital object has a rotation period of zero (no rotation / like tidally locked), no geosynchronous orbit can exists, then no calculations are made for it. Such orbital object has only a low orbit.
    • [DONE] fix: prevent the case when a geosynchronous orbit is lower than the low orbit. No geosynchronous orbit exists in this case.
    • [DONE] fix: prevent a diameter of zero for asteroids.
    • [DONE] fix: mass calculation; prevent a zero value (especially for asteroids) to be returned.
    • [DONE] fix: escape velocity calculation; prevent a zero value to be returned.
    • [DONE] calculate the deltaV for low and geosynchronous orbits.
  • Graphics
    • [DONE] creation of standard / hovered-selected icon for the orbits HUD button.
    • [DONE] creation of stylized surfaces with their regions to show the configuration of ranges of latitudes and longitudes, and how latitudes are linked to each other in a 360 degrees orbit. There are English and French versions of these pictures.
    • [DONE] the icons for the capabilities of the space units are loaded in advance when the graphics of the game are initialized.
    • [DONE] import/modification of two icons to illustrate the content of the Star Systems Browser.
    • [DONE] import/modification of 24 icons to illustrate the local surface HUD button when there is no colony and when there is one.
    • [DONE] import/modification of 4 icons to illustrate the Population, Settlements, Industry, and CSM Events HUD buttons.
    • [DONE] creation of 1 icon to illustrate the Satellites Browsing HUD button.
  • Interface – Action Menu
    • [DONE] this element of interface is completely removed since it isn’t really satisfying. Its functions are being replaced by the the Planetary System List and a few OpenGL HUD buttons.
  • Interface – General
    • [DONE] mass update of the third-party addon, TMS Components Pack, used in most of the 2D interface of the game.
    • [DONE] addition of a dynamic popup menu for the space units.
    • [DONE] CTRL + W now close the current panel (no more the escape key).
    • [DONE] new shortcut key B to display/hide the Star Systems Browser.
    • [DONE] full modifications/additions of shortcut keys.
  • Interface – Help & Knowledge Base
    • [DONE] the panel’s name “Help Panel” is modified to “Help & Knowledge Base”.
      • Keys List
        • [WIP] the full list of shortcuts keys present in  the game is updated and final.
  • Interface – HTML Hints
    • [DONE] full parallelization of the core process of interconnection of hints. Since they grow over the time I implement them, I decided to connection to the right hint for the right element of interface in parallel. I hope it will speed up the process, especially when there will be more bigger in the future.
  • Interface – Mission Setup
    • Colonization
      • [DONE] fix the location of the Orbital Object panel regarding the location of the Mission Setup panel.
      • [DONE] the bring- to-front of the Mission Setup and Orbital Object panels is fully fixed.
  • Interface – Orbits Panel
    • [DONE] full panel creation. It contains 2 lists, one for each orbit (low and geosynchronous). Lists creation is made in parallel code to speed up the process.
    • [DONE] a picture of the surface of the selected orbital object, containing the full setup of latitudes and longitudes ranges, is displayed.
    • [DONE] right clicking on a space unit shows the popup menu to acces certain data and set a mission.
    • [DONE] the ex Docked Panel / Carrying List Panel is removed and the list itself is fully integrated into the Orbits Panel and its popup menu. A duplicate is created for geosynchronous orbit too. Parallel code is used to build the list.
    • [DONE] basic implementation of the basic data sheet for the selected space unit. It includes the display of the capabilities of the space unit (if any), the same infos than those displayed in the 3D view before the removal of the 3D space units.
  • Interface – Star Systems Browser

    • [DONE] full window creation, including a HTML Tree list which contain the full list of star systems with their stars, orbital objects and their possible satellites.
  • Misc
    • [DONE] FAR Colony is now fully 64bits.
  • Missions
    • [DONE] change how the CMC_baseDistance is determined, since there is no more 3D presence of space units.
    • [DONE] take into account if the space unit(s) are in low or geosynchronous orbits.
  • Music & Sound System (MSS)
    • [DONE] the BASS library is now initialized with the correct default device set on the host computer.
  • New Game Setup
    • [DONE] establish a better logic for the FCVogldIs3DViewAfterRenderProcess boolean.
    • [DONE] fix: fix a crash when a new game is proceed during an actual play.
  • Space Units (in-game)
    • [DONE] expand location/attitude to the 2 types of orbits. All possible types of orbits, for any type of surface, are implemented.
    • [DONE] the location of a space unit use now the unified space location data structure for easier processing when needed.
    • [DONE] the code to remove space unit(s) is now fully fixed and operational.
  • Time Flow System (TFS)
    • Tasks Subsystem
      • [DONE] cleanup of tasks in process: replace OTL lib threading code by the Parallel coding of the new Delphi.
  • Universe
    • [DONE] overhaul of the data to list the space units in orbit, for each orbital object. Now it support fully the low and geosynchronous orbits, and the maximum number of space units in an orbit is no more limited (dynamic array).
    • [DONE] all the low orbit data are recalculated and updated with correct values (see FUG additions).
    • [DONE] satellite ‘satEpsilonEri8-5’ is removed, because it is unusable for exploration / colonization purpose in the game.
    • [DONE] add two data, each for one each type of orbit, to indicate the deltaV used at these orbits.

Hits: 0