• ⚠️ Mod Release Rules now apply to this board.

    All mods must include a license, source code (for executable mods), and proper attribution.

    Read the full rules here before posting.

Visual Real Atmospheres

Brimfyr

New Member
Messages
2
Reaction score
3

Real Atmospheres​


An atmosphere realism overhaul for Kitten Space Agency, packaged as a StarMap mod. It replaces atmospheric tints with composition-derived scattering, dust optics, methane absorption and layered hazes, and adds clouds to several worlds.

No game files are modified and no admin rights are needed. At launch, the mod builds patched shadow copies of Core content in the mods folder and redirects the game's reads into them. These copies are rebuilt from the current game files every launch. If an update changes an XML anchor, that patch is skipped, leaving the stock appearance. Shader changes can break compilation, so check the release's tested KSA build.

Download​

Borea
SpaceDock
GitHub

What it changes​


Mars​


  • Composition-derived Rayleigh scattering: faint blue scattering based on Mars's 95% CO₂ atmosphere at 6.1 mbar.
  • Dust-driven sky colour: Mie coefficients for Martian dust provide the red-heavy scattering spectrum, with a 9 km well-mixed scale height.
  • Blue sunsets from dust optics: an exact per-angle Mie phase function for feldspar and hematite dust, following Level 2 of Schneegans et al. (2024), replaces the Henyey–Greenstein approximation. A 361-sample lookup table and a capped, double-exponential dust profile produce the blue sun halo and control the sunset glow.
  • Water-ice cirrus: polar hoods and equatorial wisps at 22–29 km, rendered in 2D and volumetrically from an 8k source map.
mars-orbit.jpg
mars-north-pole.jpg
mars-surface-dust.jpg
mars-clouds.jpg
mars-sunset.jpg

Venus​


  • Dense CO₂ Rayleigh scattering at 53 times Earth's surface density, plus a low-altitude blue-selective absorber, creates an increasingly murky yellow descent to a dark, Venera-like surface through multiple scattering and aerial perspective.
  • The low-altitude absorber models sub-cloud murk. Venus's separate, real unknown UV absorber at the cloud tops is represented by the cloud texture's dark markings.
venus-orbit.jpg
venus-surface.jpg

Jupiter​


  • Hydrogen/helium Rayleigh scattering at 0.31 times Earth's strength and a 25 km scale height gives a thin, Juno-style blue limb above the clouds.
  • Rescaled cloud decks: the lower deck spans −25 to +15 km; the main deck starts at 15 km with storm structures 10–96 km tall. Density, raymarching and orbit transitions are adjusted to preserve opacity and detail.
jupiter-low.jpg

Saturn​


  • A faint blue limb, thin haze and pale-gold methane chromophore, with a physically derived 52 km scale height.
  • Volumetric banded clouds: coverage and colour come from Saturn's own map. Brighter regions build taller clouds, placing pale bands about 37 km above dark ones.
  • Sharper surface map: 2048 pixels per cubemap face, up from stock 1024.
saturn-low.jpg

Uranus & Neptune​


  • Methane absorption drives Uranus's pale cyan and Neptune's deeper blue. Uranus's thicker photochemical haze mutes the colour; Neptune's clearer atmosphere lets it show. Both gain a thin blue Rayleigh limb and gentle haze.
  • Volumetric clouds: banding, colour and cloud height follow each planet's map. Neptune's white wisps rise roughly 26 km above dark lanes; Uranus's structure is subtler.
  • Sharper surface maps: 2048 pixels per cubemap face, up from stock 512.
uranus-low.jpg
neptune-low.jpg

Titan​


  • Stratified upper haze: layers are built into the scattering medium, so they affect limb glow and transmittance. A per-pixel march adds broken, undulating, region-varying detail above the smooth lower tholin haze.
  • Animated layers: haze slowly rotates around Titan's spin axis and reshapes over time. Animation follows simulation time, freezing when paused and speeding up with time warp.
  • Detached haze: two subtle, 2 km-thick layers at 290 km and 230 km use SpaceEngine-generated maps to create irregular limb strips inspired by Cassini imagery.
titan-orbit.jpg
titan-terminator.jpg
titan-hazes.jpg

Triton & Pluto​


  • Composition-derived nitrogen Rayleigh scattering: Triton uses Voyager's 1.5 Pa at 38 K and a 14.8 km scale height; Pluto uses New Horizons' 1.0 Pa at 40 K and a 19.2 km scale height. Both remain nearly invisible at the game's fixed exposure.
  • Forward-scattering tholin haze: Pluto's particles produce roughly 1900 times more brightness forward than backward, revealing the New Horizons-style blue ring when viewed from behind the planet. Triton's smaller particles give a subtler effect, roughly 40 times brighter forward than backward.
  • Stratified haze bands: irregularly spaced, broken layers drift, form and dissipate with simulation time, visible in the forward-scattered crescent.
  • Triton condensate clouds: patchy nitrogen-ice wisps at 4–6.5 km.
triton-orbit.jpg
pluto-hazes.jpg

Install​


Requires StarMap. Release archives include the tested game build in their names: RealAtmospheres-v<version>-ksa<build>.zip.

With a mod manager​


In Borea, install Real Atmospheres from the mod list. Borea installs StarMap, unpacks the mod into the active instance and enables it. Managers keep mods, manifest.toml, settings.toml, saves and logs in their own instance folders rather than the default Documents location.

By hand​


  1. Install StarMap and run the game once through StarMap.Loader.exe.
  2. Extract the release into Documents\My Games\Kitten Space Agency\mods\, giving you mods\RealAtmospheres\RealAtmospheres.dll. The folder must be named exactly RealAtmospheres: KSA uses the folder name as the mod ID.
  3. Launch once so KSA discovers the mod, then close the game. New mods are added to Documents\My Games\Kitten Space Agency\manifest.toml disabled. Set its entry to:

    Code
    [[mods]]
    id = "RealAtmospheres"
    enabled = true
  4. Launch through StarMap. The log shows found mod 'RealAtmospheres' when the mod is active.

To uninstall, delete the RealAtmospheres folder and the _RealSharedShadow folder beside it. KSA removes the manifest entry automatically.

How it works​


Before the game's Main, the mod applies anchored text transforms to fresh copies of stock shaders and XML. Shader copies live under the mod's ShadowContent\Core\Shaders\; astronomical and Sol system XML copies live in mods\_RealSharedShadow\Core\. The transforms are idempotent, allowing existing hand patches to pass through unchanged.

Harmony redirects asset, system and shader reads to these copies. Shader includes follow the shadow tree, while mod textures use absolute paths into assets\. Game access is through reflection.

Building from source​


deploy.ps1 builds the .NET 10 class library and installs it into your mods folder. package.ps1 [-Version x.y.z] [-GameBuild vYYYY.M.D.NNNN] builds a release zip in dist\. Both ship only the assets in release-files.txt. Set StarMapDir to your StarMap folder; the project references StarMap.API.dll and 0Harmony.dll.

Credits​


Shipped textures are derived from the following sources, converted into cubemaps, cloud masks or flowmaps by this repository's scripts:

  • SpaceEngine: Mars cirrus, Titan upper/lower haze and Triton cloud maps.
  • JCP-JohnCarlo: Saturn's texture map, used for its diffuse map, cloud mask and flowmap.
  • Askaniy: Uranus and Neptune texture maps, used for their diffuse maps, cloud masks and flowmaps.
  • Kitten Space Agency: Jupiter uses the game's own textures.

MarsDustPhaseLut.glsl is computed by make_mars_phase_lut.py using Mie scattering, rather than derived from an image.

The Mars, Titan and Triton masks come from our own SpaceEngine PRO exports: Produced in part with SpaceEngine PRO © Cosmographic Software LLC. See CREDITS.md for the origin and terms of every shipped file.
 

Attachments

  • icon.png
    icon.png
    164.6 KB · Views: 0
Last edited:
Back
Top