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

 

Added / Modified @October 17:

  • 3D:
    • [WIP => DONE] all the code to load / generate 3D space units in the main view is removed.
    • [New: 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).
  • FARC Universe Generator (FUG):
    • [New: DONE] remove the radius switch for geosynchronous orbits. It is irrelevant by the nature of the formula used.
    • [New: DONE] low orbit calculations are now totally independent from geosynchronous orbit calculations. It uses now a simple proportional calculation.
    • [New: 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.
    • [New: DONE] fix: prevent the case when a geosynchronous orbit is lower than the low orbit. No geosynchronous orbit exists in this case.
    • [New: DONE] fix: prevent a diameter of zero for asteroids.
    • [New: DONE] fix: mass calculation; prevent a zero value (especially for asteroids) to be returned.
    • [New: DONE] fix: escape velocity calculation; prevent a zero value to be returned.
    • [New: DONE] calculate the deltaV for low and geosynchronous orbits.
  • Interface / Action Menu:
    • [WIP => 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.
  •  Missions / Colonization:
    • [WIP => DONE] change how the CMC_baseDistance is determined, since there is no more 3D presence of space units.
    • [WIP => DONE] take into account if the space unit(s) are in low or geosynchronous orbits.
  • Universe:
    • [WIP => 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).
    • [WIP => DONE] all the low orbit data are recalculated and updated with correct values (see FUG additions).
    • [New: DONE] satellite ‘satEpsilonEri8-5’ is removed, because it is unusable for exploration / colonization purpose in the game.
    • [New: DONE] add two data, each for one each type of orbit, to indicate the deltaV used at these orbits.

Added / Modified @October 9:

  • 3D:
    • [New: DONE] fix: clicking many time on the view doesn’t freeze/break FARC anymore.
    • [New: DONE] the code to orbit space units in 3D is deprecated and removed.
    • [New: WIP] all the code to load / generate 3D space units in the main view is removed.
  • Factions / Expeditions & Backstories / Starting Space Units:
    • [New: DONE] modifiy the enumerations to specify generic attitude for space units starting in orbit.
  • FARC Universe Generator (FUG):
    • [New: 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.
    • [New: 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…
  • Graphics:
    • [NOT DEV => 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.
  •  Missions / Colonization:
    • [New: WIP] change how the CMC_baseDistance is determined, since there is no more 3D presence of space units.
    • [New: WIP] take into account if the space unit(s) are in low or geosynchronous orbits.
  • Space Units (in-game):
    • [NOT DEV => DONE] expand location/attitude to the 2 types of orbits. All possible types of orbits, for any type of surface, are implemented.
  • Time Flow System (TFS) / Tasks Subsystem:
    • [New: DONE] cleanup of tasks in process: replace OTL lib threading code by the Parallel coding of the new Delphi.
  • Universe:
    • [New: WIP] 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).
    • [New: WIP] all the low orbit data are recalculated and updated with correct values (see FUG additions).

Added / Modified @September 25:

  • 3D:
    • [New: DONE] the OpenGL third-party framework GLScene is fully updated with 9 years of updates.
    • [New: 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.
  • Interface – General:
    • [New: DONE] mass update of the third-party addon, TMS Components Pack, used in most of the 2D interface of the game.
  • Misc:
    • [New: DONE] FAR Colony is now fully 64bits.
  • Music & Sound System (MSS):
    • [New: DONE] the BASS library is now initialized with the correct default device set on the host computer.

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).
  • 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.
  • 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.
  • Interface – Help & Knowledge Base
    • [DONE] creation of standard / hovered-selected icon for the orbits HUD button.
    • [DONE] the panel’s name “Help Panel” is modified to “Help & Knowledge Base”.
  • Interface – Orbits Panel
    • [WIP] full panel creation. It contains 2 lists, one for each orbit (low and geosynchronous).
  • Interface – Planetary List Panel
    • [NOT DEV] full panel creation. Tree list which contain the full list of orbital objects, in the current planetary system, and their possible satellites. Allow for a faster browsing.
  • 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.
  • 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.
  • 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.