Preparing for release is a challenging time. It is full of work: complete the development of many new systems, pass a large number of tests, and fix a huge number of emerging bugs, most of which are quite small. Some of the work listed below was done a few months ago, there was simply no separate blog post about it. But most was done in the past 2 weeks.

Some fixes and improvements of “exotic” video modes – cylindrical, fish eye and cubemap.

  • Fixed vertical seam line on video in the cylindrical/360 projection
  • Checkerboard pattern for the Fish eye and cylindrical projection modes
  • Various frame formats for 360 cubemap output
  • Optimized fish eye rendering: faces are cropped according to the chosen FOV
  • Cubemap projection now has several presets for faces arrangement, which can be used to capture 360 video directly to Youtube/Facebook/etc format. Such video format – six cubemap faces stitched together – in some respects is better than cylindrical projection. It eliminates artefacts near the poles and more rationally uses frame area, which could improve compression/resolution. One problem in SE remains though (aside from still non-solved issues with cutting of some particle effects on cube edges): post-processing like bloom, pseudo lens flares and even FXAA works after projection is done, and so may spread brightness to the neighbouring cube face. This results in seams in the resulting video when watching it on Youtube or a VR headset. Further work is needed, but for now users must disable all post-effects to eliminate those seams.

  • Separate MSAA settings for VR
  • Updated script command Screenshot: options to set the file name pattern, format and GUI capture
  • Support of DXT5-YCoCg compressed textures and BC4 compressed normal maps for space ships
  • Increased texture resolution of some planets (Earth, Mars, etc.) in the default installation (no addons)
  • The Map mode and the Chart mode play their own soundtrack
  • New parameters for Star and StarBarycenter in the star catalog: ForceSystemLum (force star particle to have lum/appmag provided in the star catalog, ignoring combined lum of components), Hidden (hide star particle and ignore attempts to select the system except from the scripts)
  • Displaying the file path and line number for all catalog object in the debug mode
  • The latter is extremely useful for fixing bugs with catalogs. In the debug mode, SE displays the file and line number of the last occurrence of the selected object among all catalog files (highlighted with a bar on the next screenshot).

  • Added parameter “humidity” to control vegetation coverage on planets with life
  • Now the vegetation/desert ratio on planets with life can be controlled with a single parameter. There are 6 other parameters, which I haven’t described before. They control the distribution of 3 biomes: forest, grass and desert (more accurately, steppe): climateDesertMin, climateDesertMax, climateForestMin, climateForestMax, climateGrassMin, climateGrassMax. These biomes have different detail texture sets in the biomes and palette preset config: Desert, Forest, Grass.

    Original Image Original
    Modified Image Modified
  • Jupiter-like polar cyclones on gas giants, and script/editor parameters to control them
  • Procedural gas giants with low axial tilt, like Jupiter, now have a lot of “small” cyclones generated near their poles. The new parameters cycloneOctaves2, cycloneMagn2, cycloneFreq2, and cycloneLatitude2 were added to control them. The cycloneLatitude2 parameter defines minimum latitude at which these cyclones start to appear.

  • Equatorial ridge on airless moons and planets
  • Equatorial ridge on small moons orbiting inside parent planet’s rings
  • Parameters venusMagn and venusFreq of the Surface tag control the global shape of asteroids
  • Reduced model radius of asteroids to make them more or less fit the mean radius specified in UI/catalogs
  • SE now generates Iapetus-like moons (and even planets): bodies which had a ring in the past, which fell to the surface and formed a giant ridge along the equator. In addition, small asteroid-like moons which orbit inside the rings of gas giants also have an equatorial ridge. Real life examples are Saturn’s moons Atlas, Pan and Daphnis. These moons were also updated by adding new parameters to their Surface tag: eqridgeMagn, eqridgeWidth, eqridgeModMagn, eqridgeModFreq.

  • Generation of hot gas giants on polar and retrograde orbits
  • In reality hot jupiters are often found in extremely inclined or even retrograde orbits around their parent stars.

  • Ability to create custom (mod) local database files for object descriptions
  • New field added to the object descriptions database – Franchise
  • Wiki displays info about object type: real, procedural or object form franchise
  • Characters ‘–’ (en dash, 0x96, Alt-0150) and ‘—’ (em dash, 0x97, Alt-0151) are added to fonts
  • Mod fans will like these additions. Now to add a description to planets of your Star Trek mod, you can just create a folder “locale” in the mod’s folder, then create there a file “any_name-loc-db.cfg”, where loc is your language, and put description code there. When you edit the description in the Wiki, it saves the changes to the same file from which it reads it, so editing is easy right in SE.

    Another thing is that the Wiki now displays which franchise (fictional book/movie/game universe) this object belongs to. For other objects it displays the text “Real object” or “Procedural (generated) object”. This can help avoid confusion among new SE users.

    Supporting long dash characters simplifies creating/editing descriptions. When copy-pasting some text from the Internet, these characters were displayed in SE as m and s – special SE characters for minutes and seconds. This was annoying and required replacing all long dashes with a short one. Now that’s not necessary.

    There are a lot of changes in the planet editor; this is due to the fact that I’m tweaking the procedural generator, and a convenient tool for modifying planets on-the-fly simplifies this (the planet editor was created for this purpose, it is still a debugging tool):

  • Option to link change of orbital period and semimajor axis (automatic re-computation if the other was changed)
  • Editing comet tail parameters
  • Editing procedural planetary rings parameters (these were also added to the planet script)
  • Preserving NO_DATA values of the planet parameters (fix for exporting weird values like -1.#IND)
  • Sliders display the NO_DATA value, and the slider handle is invisible in that case
  • To set NO_DATA value to the parameter, type anything but a number into slider’s input field
  • Editing surface and clouds glow map color and brightness
  • Editing aurora colors
  • Surface or clouds parameter TempMapMaxTemp to define which temperature in Kelvins corresponds to white pixels on the temperature map
  • Dense and bright corona for Wolf-Rayet stars (imitation of the powerful stellar wind)
  • More precise stellar data for all potentially habitable exoplanets
  • New catalog script parameters DistLy and RadiusLy to define the distance to object and its radius in light-years (instead of parsecs)
  • Map mode: checkbox to quickly hide procedural objects
  • Change of SE versioning scheme: 0.990.15.1451 (major, minor, build, revision)
  • Automatic cache wiping if current SE version differs from one read from the log file of the previous launch
  • The upcoming SE version now will have number 0.990 instead of (more precisely, 0.990.xx.yyyy, where xx will be the build number, and yyyy the revision number). Each new update on Steam will increase the build number, and each small patch will increase the revision number. Larger updates will increase the minor number (0.990 -> 0.991 -> 0.992 etc).

    Every update to the procedural generator modifies the universe, so saved locations may not work anymore. When such a change is pushed as an update, I will increase the minor number. The location code has the parameter “Version”, composed of the major and minor versions of SE it was saved with. It is compared with the current SE major and minor version, and if they don’t match SE shows a warning message (this was introduced in 0.980 or even earlier). Because build and revision numbers are not used in this check, all locations from the same minor version should work. I will try to keep this system, so users will always know if the location will work in some specific SE version. For example, locations from 0.990.15.1535 will work in 0.990.17.2465, but will not work in 0.991.10.3175.

    Some bugfixes and changes in the current beta:

  • Implemented search of nearest clusters and nebulae
  • Implemented rewind in the camera path editor
  • Fixed “nimbus-like” aurora on planets with thick atmospheres
  • Fixed Steam overlay on AMD graphics cards
  • Fixed crash on exporting planet textures when texture compression is enabled
  • Fixed clamping of gas giant mass to ~1.5 Jupiter masses
  • Fixed brown dwarf clouds brightness
  • Fixed specular spot visible from far distances on Solar System icy bodies
  • Fixed ocean bottom composition on Earth
  • Specifying both ocean and atmosphere composition is now required, if any (error message is logged)
  • Added ocean density and bottom composition as script parameters
  • Discuss this post on the forum.