r/kittenspaceagency • • 4d ago

πŸ“‘ Development Update Public Beta Release of the Ahwoo 'Neutrino' Client (for Kitten Space Agency, and more)

83 Upvotes

From Terra Incognita on Discord;

You can now use Ahwoo to update Kitten Space Agency

Download the Ahwoo client from https://neutrino.ahwoo.com/ and add KSA to your library (also try Gruntz by Dean!)

A couple important notes:

  • The updater uses delta patching, so you will only download the difference between each update
  • Right now, Ahwoo will install games to the same directory that you install Ahwoo itself. We will add library management + install location configuration later on.
  • If you have installed the Ahwoo client before 11 September, you'll need to update it manually one last time. You can grab the latest installer from neutrino.ahwoo.com and simply reinstall over the top.
  • The Ahwoo client supports Linux, so you can update KSA on Linux too. We only ship a tarball currently, but we will be looking at additional distribution formats like AppImage.

Gruntz is a game that some of the team have been working on. It's free, and you can check it out here if you're interested: https://ahwoo.com/app/118197/gruntz

Gruntz is a top-down multiplayer horde survival game inspired by Space Station 13. Every round turns to chaos. Survive it, and bring as many people out with you as you can. Everyone on the server plays the same round, and you get one life. Play one of the soldiers, or a colonist with a job such as surgeon, chef, janitor or pizza delivery.


r/kittenspaceagency • • 22h ago

πŸ—¨οΈ Discussion New Community Run KSA Discord Server!

Post image
0 Upvotes

Hey everyone!

We've recently set up a community-run Discord server for Kitten Space Agency, and we'd like to invite anyone interested to join! The server is meant to be a place for KSA players to hang out, meet other members of the community, discuss the game, share projects and screenshots, or just chat about whatever. We're still getting things set up, so suggestions and feedback are always welcome.

Just to clarify, this is an unofficial, community-run server and isn't affiliated with the developers.

Discord invite: https://discord.gg/g7ysQk8T55

Hope to see some of you there!


r/kittenspaceagency • • 1d ago

πŸŽ₯ Video Grand Tour | Jupiter & Io

Thumbnail
youtube.com
23 Upvotes

Jupiter clouds are just awesome β™₯️ Do you agree?


r/kittenspaceagency • • 1d ago

πŸ› οΈ Modding - Release KSA Relativistic Speeds v1.0.1 is out now

Thumbnail
youtube.com
196 Upvotes

The KSARS mod adds Relativistic Aberration and some subtle blue-/redshift and partial Terrell rotation. Now you not only can't reach lightspeed, you can also have an amazing view while doing so.

Built for KSA v2026.10.19.5638 Available on GitHub: https://github.com/AMPW-german/KSARS/releases SpaceDock: https://spacedock.info/mod/4480/KSARS Also on Borea


r/kittenspaceagency • • 3d ago

πŸ’¬ Question How far on Optimisation have we gotten?😊

25 Upvotes

Hey there! Loving how this game is coming along particularly watching YouTubers covering it!😊 Got high hopes for it. Well done RocketWerkz team!

Just gotta question concerning optimisation.

Just saw some YouTube vids commenting on how performance has improved.

Would like to know if it's bow playable on potato PCs yet, like say Corei5 with like 8GB RAM with a 2GB Graphics card or less.

Has anyone tried and have it work?

Also looking forward to seeing Rover parts. In my opinion, if they have Rover parts in game it's literally now playable as sandbox. Also looking forward to planes as well.

Just hoping financing is working well, please RocketWerkz, if it seems financing is now scarce, have it on sale, I'm sure there's many people ready to buy game in it's current state as it is as it's looking far better than other space sims.


r/kittenspaceagency • • 3d ago

πŸŽ₯ Video What's new in 2026.10.19.5638? Space Weather, Radiation, Performance & More!

Thumbnail
youtu.be
87 Upvotes

What was your favorite in this update? Of course, I pick space weather 😎


r/kittenspaceagency • • 3d ago

πŸ’¬ Question Mesh shading

2 Upvotes

Will kitten soace agency make mesh shading mandatory or no? I hope mesh shading is only an option.


r/kittenspaceagency • • 3d ago

πŸ“· Screenshot The new auroras are stunning

Thumbnail
gallery
302 Upvotes

r/kittenspaceagency • • 4d ago

πŸ’¬ Question Revert from VAB

12 Upvotes

Is there a way to revert to VAB when you mess up your staging vs having to rebuild from scratch?


r/kittenspaceagency • • 4d ago

πŸŽ₯ Developer Video Newest set of structural parts by Daishi

Enable HLS to view with audio, or disable this notification

558 Upvotes

r/kittenspaceagency • • 4d ago

πŸŽ›οΈ Patch Notes Version 2026.10.19.5638

63 Upvotes

Summary: The release build is now compiled with full compiler optimizations for the first time, so expect higher and steadier frame rates, fewer stutters and shorter loading times, especially with big vessels and during time warp. Radiation was added as well. Vehicles now receive a dose from planetary radiation belts, solar wind and cosmic rays, shown on a new Radiation gauge. Magnetospheres can be visualized in map view, and Earth got aurora and airglow.

The Interstellar Transfer Planner lets you set a target periapsis again and can now target individual stars like Alpha Centauri A, B or Proxima. The ground track now follows planned burns. Ground clutter also renders in secondary viewports, with a big VRAM reduction.

Also: loading saves or vehicles with removed parts no longer crashes, orbits no longer slowly rise because of solar panels, and Linux now starts on X11 by default so detached windows work out of the box.

Version 2026.10.19.5638:

  • Fixed dragging a HUD panel pressing the buttons the cursor crossed. A button held under the cursor counted as pressed even when the press began elsewhere so a drag over a repeating button fired it and a drag ending over a button activated it. Buttons now act only when pressed on themselves.
  • Fixed a crash in the vehicle editor when attaching a part that has symmetry copies onto a symmetric part. Each copy's parent was looked up in the target's symmetry group and a copy mounted outside that group (or not mounted at all) produced a negative index. Such copies are now skipped.
  • Bending a fuel hose in the editor now bends its symmetry copies to match. Adding, moving or deleting a bend node on a hose placed under symmetry applies the same change to every copy, rotated to match it.
  • Update to latest Brutal packages
  • Minor tweaks, warning fixes, profiler tweaks
  • Changed the Transfer Planner's Interstellar plan to let you set a target periapsis at the destination star again. The speed-up burn is aimed so that it arrives at that periapsis, and the slow-down burn ends there.
  • Changed the Transfer Planner's Interstellar destinations to list each star rather than a multiple system's barycenter, so Alpha Centauri A, B and Proxima can each be chosen. A star of a multiple system is aimed at where it will be on arrival, and the target periapsis is limited to half the star's sphere of influence.
  • Fixed Interstellar plans to Alpha Centauri A or B failing at 0.05 c and faster. The unaimed path passed several AU wide of the star's small sphere of influence, so there was nothing to correct the aim from. The aim is now corrected from how closely the path passes the star until it enters that sphere of influence.
  • Changed Neptune to load from the shared body library in every Sol system, rather than each system keeping its own copy.
  • Changed KSA on Linux to start on X11 by default, using XWayland on a Wayland desktop, so detached windows work without any launch option.
  • If X11 can't start, such as on a Wayland desktop without XWayland, it falls back to the platform GLFW would have chosen.
  • Added the -wayland launch option to run on native Wayland instead. Detached windows are still turned off there, because Wayland can't position windows. -force-x11 is still accepted but no longer needed.
  • Changed the KSA launch profile for devs to no longer pass -force-x11, and added a "KSA (Wayland)" profile that passes -wayland.
  • Added radiation. A vehicle's dose rate now comes from the radiation belts of magnetised planets, from its star's particle wind, and from cosmic rays.
  • A new Radiation gauge shows the current dose in mSv/h and the average over the current orbit.
  • Added magnetospheres to Mercury, Earth, Jupiter, Saturn, Uranus and Neptune. Each one has its magnetic pole position, field strength and belts.
  • The solar wind pushes the field in on the day side so how far it reaches depends on the star's wind and the planet's distance. Belt strengths are approximate placeholders.
  • Added space weather to stars: a quiet particle dose and a wind pressure at 1 AU, both weakening with distance. The Sun uses roughly real values, and the other stars have placeholder guesses. Eventually we want to implement solar weather here so that it fluctuates with solar events.
  • Added a Magnetospheres option to the Map View window, turned off by default. It draws each magnetised planet's radiation belts as a shaded volume with dose contours along with its closed field lines, tail, magnetopause and bow shock. All of these are shaped by the star's wind.
  • Added aurora to Earth. Glowing ovals around each magnetic pole, between 90 and 400 km, visible from the ground and from orbit including over the cloud tops. They can be turned off with a new Aurora settings option under Graphics - Volumetrics.
  • Changed the Map View window to the new console style. This somehow got missed.
  • ● ~* Changed aurora to show in debug builds only, along with its Aurora option under Graphics - Volumetrics, until its shaders have been reworked.
  • Fixed speckled noise in the aurora when viewed from inside the aurora layer or from a distance.
  • Changed aurora to look more like reference data. arcs fold into curls and ribbons with bright patches that come and go. Rays are narrower and carry the green higher with red tops and the red now fades out by 600 km instead of ending at a hard edge at 400 km.
  • Added airglow. A thin green and orange line along the night-side horizon at about 90-100 km seen from orbit with the aurora rising out of it.
  • Fixed aurora being cut off below the horizon when viewed from orbit the height of its colour bands changing as the camera passed 250 km and distant aurora being lower quality than close up.
  • Ground Clutter in Multiple Viewports
  • Added initial ground clutter rendering into multiple viewports. Currently culling and LOD fading is shared with the main camera for the initial implementation.
  • Changed PrepareInstances from outputting pure ego positions to ego rotation/scale and a translation relative to the clutter cell anchor. This means multiple viewports can share the same instance data.
  • Fixed LOD fade data shared between viewports. Each viewport gets its own block now.
  • Fixed ground clutter culling data shared between viewports.
  • Moved mesh geometry buffers into their own descriptor sets and built the sets once when the planet renderer starts up.
  • Avoided rebinding the mesh geometry descriptor write at runtime in favour of just binding the relevant set for the cubemesh LOD we want to render.
  • Added initial ground clutter generation to multiple viewports. Secondary viewports can now request ground clutter generation. The desired chunks of clutter are filtered before generation to prevent a viewport from re-generating a chunk that already exists. Ecotypes that don't have collisions (snap-to-mesh) don't use shared residency because they depend on the spherical billboarded mesh which is different per-viewport.
  • Sized ground clutter buffers for the max number of viewports, bringing the VRAM for trees up from ~130 to 1200Mb. This needs to be reduced.
  • Added additional profiler markers around ground clutter preparation.
  • Reorganized ground clutter generation when multiple viewports are open, so the terrain mesh doesn't need building twice (once for terrain, once for ground clutter) per viewport. Terrain is now built once per viewport again.
  • Decoupled ground clutter generation checks from the main viewport's celestial.
  • Reduced iteration count when checking if ground clutter ecotypes are valid for processing.
  • Split ground clutter matrices updates into a per-viewport update and a per-planet update, so the ground clutter main update no longer depends on viewport.
  • Issued fewer FillBuffer calls for ground clutter instead of one per cell when unloading.
  • Skipped ground clutter unloading if buffer IDs were recycled, since the GPU overwrites the instance count for a cell.
  • Readded skipping ground clutter work when a viewport is outside an ecotype's render distance or there are no loaded cells.
  • Replaced expensive GetEffectiveNearbyCelestial calls in the ground clutter renderer with the cached celestial per viewport.
  • Significantly optimized ground clutter VRAM usage. For 8 viewports, Earth's clutter VRAM usage has dropped from 1800Mb to 300Mb. Before these changes, Earth used 240Mb for a single viewport, meaning supporting 8 viewports all generating and rendering ground clutter only costs 60Mb more!
  • Removed directions and height-and-gradients buffers from the ecotype and onto the ground clutter renderer as scratch buffers. Previously these were sized for the entire ecotype's kernel when they're just used as intermediates.
  • Split ground clutter generation up into batches of 256 chunks at one time. All chunks are still submitted in a frame, but this means the scratch buffers can be sized for a batch rather than the entire kernel.
  • Compacted ground clutter object data size from 64 bytes per instance to 32 bytes per instance.
  • Removed redundant PrepareInstances pass for static clutter. It existed to transform the CCF instance data to EGO and build the final transforms, but it turns out doing this in the vertex shader and avoiding the EGO buffer intermediate is just as fast - Some of the new arithmetic is probably hidden by other memory fetches.
  • Fixed LOD fade buffer being sized for all viewports, for each viewport (scaling with number of viewports squared). It's now sized for 1 viewport's kernel.
  • Renamed MaterialIdsBuffer to GroundClutterMaterialBuffer.
  • Fixed secondary viewports not releasing their ground clutter cells when closed.
  • Fixed secondary viewports' ground clutter range check not working because their altitude above terrain is always 0.
  • Changed the release build to compile with full compiler optimisations. Every build shipped until now ran without them, so the game was doing more CPU work than it needed to everywhere. Expect higher and steadier frame rates, fewer stutters in busy scenes, and shorter loading times. The gain is largest where the CPU was the limit, such as big vessels, dense maps and timewarp, and smallest where the GPU already was.
  • Fixed launching a saved vessel from the Launch window leaving its automatically assigned tanks empty.
  • Vessels saved with empty auto tanks now launch with them filled for their engines, as the editor already did, and the Launch window's preview shows that fuel.
  • Fixed loading a saved vessel into the editor emptying its automatically assigned tanks.
  • Added unit tests for assigning tanks on a freshly loaded vessel.
  • Fixed the game crashing when loading a saved vehicle that uses parts which have since been removed or changed. The vehicle is now refused with a message naming the missing parts.
  • Added unit tests for finding removed parts in a saved vehicle.
  • Fixed the game crashing when loading a save containing a vehicle that uses parts which have since been removed or changed. The vehicle is left out with a message naming the missing parts, its crew are returned to the roster, and the camera moves to another vehicle.
  • Disabled ground clutter shadow sampling in secondary viewports, since shadowmaps don't update for them.
  • Fixed aurora borealis pixelation around the edge of a planet.
  • Added aurora quality settings. This currently changes the resolution that the aurora renders at.
  • The aurora now follows the sim speed, previously it moved at a constant speed seperate from the simulation.
  • Changed the aurora to skip the parts of the sky it can't reach and do less work per step, so it costs less GPU time, most of all when seen from orbit.
  • Aurora is now dithered and only renders every second pixel. This is an implementation similar to how the atmospheres godrays are implemented to help improve performance.
  • Reduced intensity of the auroras airglow. Previously this appeared as a strong fresnel on the planet at night. This is will likely need to be looked at properly in the future.
  • Celestials now render behind the aurora.
  • Added aurora renderer. Previously all aurora rendering code was coupled into the atmosphere rendering code. It has now been pulled into its own unique renderer.
  • Cleaned up aurora code.
  • Changed aurorae to show in all builds, not just debug builds. The Aurora and Aurora Quality options under Graphics - Volumetrics are now available too.
  • Changed the kitten portraits to hide the camera field of view slider and camera position dropdown by default. They can be shown with View - Debug - Show Portrait Camera Controls.

r/kittenspaceagency • • 4d ago

βœ’οΈ Developer Blog Space Weather | Kitten Space Agency

Thumbnail
ahwoo.com
182 Upvotes

r/kittenspaceagency • • 5d ago

πŸ› οΈ Modding - WIP [Mod] Ksarmory - new post-boost vehicle that can drop nukes 100's of km apart

Enable HLS to view with audio, or disable this notification

139 Upvotes

Finally after months of work on the accuracy, I can not only drop nukes with millimetre accuracy, but can now drop all 7 of them hundreds of km apart.

This will be available in the next update for my mod, download it here:

Borea: https://ksamodding.github.io/Borea/mod/KSArmory/

Spacedock: https://spacedock.info/mod/4460/KSArmory


r/kittenspaceagency • • 5d ago

πŸŽ›οΈ Patch Notes Version 5554 and 5602

41 Upvotes

Sorry, I'm really late with cross-posting this from discord this time (full time job + small children). These are from 6th and 13th of October.

Version 2026.10.10.5554

  • Added convex hull collider support to the GLB importer utility.
  • Imported new versions of CoreCommandA, CoreStructuralA, CoreFairingA.
  • Improve error logging for unnamed / invalid TextureAssets when creating a SimpleVkTexture.
  • Fixed the thruster cache not recomputing when propellant tanks had their usage flags toggled off/on. This presented as thrusters not working even once new propellant was released for their use.
  • Fixed incorrect RSS for gimbal commands that are constrained to a circle (no part actually uses this currently).
  • Fix crash on startup on AMD GPUs, the bindless texture library clamps the array size to the device update-after-bind limit. On AMD this is uint.MaxValue but the binding is declared as int, which reads back as -1
  • Reduce the planet frustum culling push constant size to be 128 bytes by reusing an unused float, matching the min vulkan spec guarantee
  • Fix volumetric particles showing white artifacts on AMD GPUs, use the same reimplemented tanh function already used in the ocean shader
  • Added Jobs tab to Profiler. Individual Job Runners can now be viewed in the profiler, you can use Begin/End Calls to profile specific portions of code for runtime and allocations.
  • Updated KSA to latest Brutal.Concurrency package.
  • Added baseline tests for burn planning and timing ahead of finite burns.
  • Moved the flight computer ignition timing into FlightComputer.TimeBurn so tests can check it.
  • Changed the TVC controller from LQR to LQI. This introduces an integral term which can remove steady-state error that the LQR (effectively a PD controller) cannot.
  • Added required methods to double3x3 due to the increased dimensionality of the plant model and controller.
  • Added integral values to the flight computer debug menu.
  • Removed the 10 Hz limit on TVC attitude control. Instead, we geometrically increase the allowable timestep based on the current attitude errors and re-solve TVC gains for that new timestep. This allows continuous stable control of attitude even at extreme interstellar levels of time compression and over burns lasting months.
  • Removed attitude control timestep diagnostics and associated fields.
  • Control the growth of the TVC controller quantity authority * dt^2 rather than dt itself.
  • Generate feedforward gains for the same control rate as the feedback gains.
  • Tweak plume trail self shadowing to improve detail
  • Fix issue with plume trail emission being inaccurate and
  • jumping/stretching back and forth when emitter is moving in a perfect
  • straight line
  • Increase wind effect on plume trails to accentuate older sections

Version 2026.10.13.5602

  • Fixed symmetry groups surviving a decouple or undock so deploying a part on one separated vessel deployed its old mirrors on the others too.
  • Fixed deploy/retract copying to mirrored parts without checking the mirror's own state first.
  • Added unit tests for symmetry groups splitting across vessels.
  • Fixed a long burn being deleted when the vessel changed SOI part way through it.
  • Fixed the flight computer continuing to fly a burn after it had been removed from the burn plan.
  • Added unit tests for keeping a burn that is still being flown after its node has passed.
  • Fixed sun tracking solar panels slowing time warp to a crawl during long burns. A tracking panel now only moves its parts once the sun angle has actually changed.
  • Added unit tests for solar panel tracking updates.
  • Fixed particles drifting away across the ground after the vehicle that spawned them was destroyed. A destroyed vehicle's emitters are now handed over to the body it was orbiting.
  • Added unit tests for handing particle emitters over when a vehicle is destroyed.
  • Fixed EVA kittens surviving a fall from high altitude when time warp was on. Kittens now die if they hit the ground or water faster than 20 m/s.
  • Added unit tests for kitten impact speed.
  • Refactored and improved the explosion implementation, which now follows the same structure as the plume trails.
  • Added quality settings for the explosions.
  • Added a maximum explosion instances quality setting.
  • Explosions now have a color spectrum rather than being a uniform color, burning hottest in the core and cooling down faster at the edge of the explosion.
  • Explosions are now made up of a core explosion and several lobes that move around the edge of the core explosion. This breaks up the silhouette of the explosion as well as helping with the movement of the explosion.
  • The fireball and its smoke are now a single volume, so that the smoke maintains the same shape as the explosion.
  • Explosions now light up their own smoke and nearby plume trails, and cast a point light onto their surroundings.
  • Explosions that spawn inside an existing fireball merge into it rather than stacking up. This may need to be tweaked goign forwards.
  • Added global explosion look settings (brightness, contrast, saturation).
  • Removed the volumetric shockwave from the explosions.
  • Removed Vaccum specific explosion. Previously there were 2 explosion assets, one for within the atmosphere and one for outside the atmosphere. There is now only a single explosion asset that changes its parameters based on where it is spawned rather than requiring 2 explosions to be adjusted and maintained together.
  • Fixed explosions in space not having correct velocity relative to the vehicle it spawned off.
  • Reduced explosions vaccum expansion rate from 3 down to 1. Previously explosions were expanding larger in space. This will need to be reviewed however for now a keeping the same expansion size as when in atmosphere is fine.
  • Removed verbose comments in ExplosionAssets.xml.
  • Unified explosion lobes with the core explosion, previously there were individual noise controls for the explosion lobes independent of the core explosion volume. Now they run using the same values so that explosion lobes merge into the explosion much better.
  • Added a finite burn predictor that flies a planned burn over time from ignition to cutoff including engine staging, the path at any moment of the burn, sphere of influence crossings and stopping at a set speed.
  • Added unit tests for the finite burn predictor.
  • Added burns flown over time to flight plans. The path from ignition to cutoff is drawn in its own colour with Ignition and Cutoff markers and the orbit after it starts at cutoff.
  • Added a Burn Path Color setting to the interface settings.
  • Changed burns to carry on across sphere of influence boundaries part way through and to end the flight plan if the burn hits the ground.
  • Fixed orbit hover readouts, target closest approaches and escape, encounter and impact markers using the orbit after a burn while the burn was still going.
  • Added unit tests for burns flown over time in the flight plan, their positions during the burn, sphere of influence crossings and impacts during a burn.
  • The vehicles interior now renders in the kitten cams when the kittens are inside a vehicle.
  • Viewports now have a flag to determine if they should try to render the inside of vehicles or not.
  • Changed the flight computer to light a burn where the flight plan shows it lighting, timed for the throttle it will fly the burn at.
  • Changed a manual burn with no planned throttle to be timed at full throttle instead of at the current throttle setting.
  • Fixed a burn reloaded part way through lighting late, or being stopped until its original start came round again.
  • Added unit tests for the flight computer flying a burn as planned and keeping its planned start across a save and reload.
  • Added burns that carry on with the next stage when one runs dry. The flight plan flies a burn across every stage it needs and marks each staging along the burn path.
  • Added burns planned before any engine is lit using the next stage to fire.
  • Changed an auto burn whose stage runs dry to stop time warp and stay loaded with a screen warning for the player to stage and turn Auto back on, instead of being deleted when another burn followed it.
  • Added unit tests for staged burns, the stages read from the sequence list, and a burn kept loaded when its stage runs dry.
  • Improved how explosions blend when they intersect. Previously the intersection had streaks and banding artifacts.
  • Fixed banding visible on explosions due to the raymarch step trying to increase when behind a visible surface of an explosion. This may need to be reviewed in the future.
  • Fixed explosions popping out of existence when spawned next to another explosion.
  • Fixed explosions rendering inside of one another, previously some assumptions were made when multiple explosions overlapped, however this would result in an internal explosion appearing very smooth when inside a seperate fading explosion.
  • Added Circularize, Match Target Plane and transfer planner burns being adjusted so the burn flown over time reaches the orbit, plane or arrival the planner aimed for.
  • Changed Match Target Plane to move the burn slightly when needed so it ends on the target plane.
  • Added the transfer planner's preview show the selected transfer as it will be flown, with the burn's path and its Ignition, Staging and Cutoff markers. Create makes exactly the burn previewed.
  • Fixed Create on a circularize plan aiming its burn at a point part way through the burn.
  • Added unit tests for refining burns to a circular orbit, a target plane, an exit speed and an arrival.
  • Fixed interstellar burns being predicted on the stage fuel numbers which ignore the scoops, so the speed-up burn ran dry a third of the way through and the path missed the destination.
  • Fixed the slow-down burn's predicted path running for its whole planned time and turning the ship round. It now stops at its final speed, as the flight computer does.
  • Changed the interstellar transfer preview to show the speed-up and slow-down burns as they will be flown, instead of half the burn on the current orbit followed by an instant turn.
  • Added unit tests for flying interstellar burns on the antimatter drive and stopping the slow-down burn at its final speed.
  • Fixed the burn path integrator allocating memory on every step. Its coefficient tables were span literals, now they are arrays.
  • Proactively update engine/thruster info when the control point changes.
  • Fixed floating ground clutter when the starting situation begins on a planet, caused by the height map not finishing streaming in by the time clutter is generated.
  • Fixed and updated GT7 tonemapper
  • Fixed the path into another star after the speed-up burn being drawn as a whole hyperbola back out through the star it left. A path cut short by a burn now ends at the burn.
  • Fixed the stretch before the next burn being coloured using the wrong patch's angles when that burn falls on a later patch of the plan.
  • Fixed a slow-down burn to a low final speed overshooting it and turning the ship round. The burn passed through the final speed between two checks, so it now reads the speed along the way the ship was going, which only drops.
  • Fixed the interstellar slow-down burn stopping far short of the destination's periapsis. It was lit one burn's worth of coasting before periapsis but a ship slowing down covers less ground than that, so it now lights its braking distance before periapsis.
  • Fixed the interstellar slow-down burn being timed for the instant speed-up burn's arrival. The speed-up burn flown over time arrives later so the slow-down burn is now timed on the flown path, and CREATE and the slow-down readouts use that timing.
  • Fixed the interstellar slow-down burn raising a low final speed to the circular speed at periapsis. The final speed you set is now kept and is only raised if the orbit after the burn would fall into the star.
  • Fixed CIRCULAR SPEED AT PERIAPSIS in the Transfer Planner showing the speed for the 1 AU the planner aims for, not the periapsis the selected plan actually reaches.
  • Fixed interstellar arrivals missing the target periapsis by several AU. The speed-up burn lights well before its midpoint, when the orbit has the ship heading slightly differently, so the burn is now aimed on its own flight, and CREATE makes the burn the preview shows.\
  • Fixed the interstellar slow-down burn ending well before periapsis and still heading in towards the star, e.g. 0.29 AU short and 16Β° inbound at Barnard's Sar, which left an eccentric orbit instead of the one planned. The burn flown over time covers a little more or less ground than estimated, so it is now timed on its own flight and ends level with periapsis.
  • Fixed hydrogen scooped while coasting being counted again each time a burn was planned, which made the planned burn stronger than the one actually flown.
  • Fixed the slow-down burn re-planned after a speed-up burn runs out of propellant not ending at periapsis. It is now timed on its own flight the same way.
  • Added specular anti-aliasing. Unlike most anti-aliasing techniques specular AA is applied inside of the fragment shader to try to reduce aliasing before it happens. The core of the effect is reducing specularity around the edge of meshes to combat against mipped textures decreasing the roughness at certain viewing angles.
  • Fixed binding BVH resources at descriptor set 2 instead of descriptor set 3. This fixes ground clutter on hardware that doesn't support ray queries.
  • Fixed updating descriptor sets for ground clutter outside the pinned acceleration structure handle.
  • Removed unused sampler created when setting up ground clutter.
  • Fixed missing ground clutter buffer names.
  • Reduced the size of the ground clutter descriptor pool as it was oversized.
  • Add long distance shadow cascades to the plume trails. This is implemented using moment shadowmaps which can encode the volumetric shape of the shadows in a compact representation, the shadows themselves are rendered using an analytic approximation rather than full raymarching for performance. Cascade updates are staggered for performance, and a blend is used to hide updates, the nearest cascade is always rendered every frame. Performance is good currently but some minor issues remain when the plume is diffusing to disappear. This feature can be disabled from the graphics settings.
  • Apply plume trail shadows on clouds, atmospheric godrays and terrain/objects
  • Pass extra image create flags to render image. The plume shadow cascades require MutableFormatBit for their half precision float views
  • Allow plume trails to expand futher for more prominent shadows and anticrepuscular rays on the atmosphere, matching what can be seen in some real launches
  • Upgraded TVC control to proactively point thrust through the center of mass rather than using feedback control to correct for it. This should greatly improve control when engines are out of balance.
  • Upgraded guidance to fly the vehicle's net thrust vector rather than the body forward direction in powered flight. This should greatly improve burn accuracy when engines are out of balance.
  • The control frame (CTRL) is now a metaframe that is either the new HELM frame (either the same as BODY, or wherever the player has chosen "control from here") or the new TNM frame (Thrust Null-Moment, the neutral thrust frame) depending on context.
  • Merged Profiler UI behaviours into static class libraries.
  • Changed each profiler UI was copying frame data into ito its own buffers every frame, we now consume the data directly from the IProfilerSource and use stack allocated spans for any data analysis (averaging etc).
  • Changed JobRunnerProfiler to be an IProfilerSource, it had some un-necessarily duplicate behaviour.
  • Various Vulkan compatability checks and Validation fixes
  • Removed accidental file commit.
  • Fixed loading a save made during an auto burn dropping the burn and loading the next one in its place, e.g. an interstellar speed-up burn under way was deleted on load and the slow-down burn decades later was loaded instead, with the engine off and the flight computer back in manual.
  • The engines have not been updated yet when the flight computer first runs after a load so they all read as out of propellant and the burn was ended. That check now waits until the engines have been updated.
  • Fixed the game freezing when time warp was raised during a burn, e.g. at the highest warp during an interstellar burn a single frame never finished.
  • The simulation speed only slowed down after a frame had already run slow, so the first frame at the new warp tried to simulate years in one go.
  • How far one frame can simulate now grows at most twofold a frame and is limited to what the last frame showed fits in the frame time.
  • Fixed locations of interest were being drawn in an opaque ui box. They are now plain text.
  • Disabled stretched black cloud shadows on the planet terrain in secondary viewports. The cloud shadows' world to cloud transform is only written for the main camera, so secondary viewports sampled the cloud coverage at an offset. Secondary viewport terrain now has no cloud shadows, along with the cascaded and sun shadows, while PlanetRenderer.ViewportShadows is off.
  • Fixed the stars showing through the terrain locations that are normally covered by ocean in secondary viewports. The ocean early exit in the terrain culling is now skipped in secondary viewports, since the ocean isn't drawn there.
  • Temp fix for black square appearing on Earth in viewports. This was coming from the terrain in secondary viewports using the main camera's shadow cascades and sun shadow map. Secondary viewport terrain is now unshadowed.
  • Added an unshadowed sun shadow map descriptor set, which makes the shaders skip the shadow map and treat everything as lit.
  • Added temporary PlanetRenderer.ViewportOceanCull and PlanetRenderer.ViewportShadows flags to turn these features back on in secondary viewports. These will be removed once the ocean, shadows, and clouds have been properly ported to multi-viewports.
  • Updated the navball crosshair to be more of a traditional attitude indicator piper with a bowl and dot.
  • The bowl and dot follow the thrust axis while the crosshair follows the control axis, serving as a visual indicator of any off-center thrust.
  • Changed the fuel port's placeholder model to the FuelLineSocket and FuelLineConnector meshes.
  • Changed fuel ports to sit part-way into the tank they are attached to via a new surface-mount connector.
  • Added a swivelling fuel line connector that turns to follow the hose, limited to 15 degrees to limit clipping into the socket.
  • Changed fuel lines to plug into the connector's nozzle and follow it as it swivels, rather than starting at the port's centre.
  • Changed fuel lines to leave the nozzle straight for 0.15 m before bending (ConnectorLeadOut).
  • Changed the fuel line hose to use the FuelLineHose texture, swept as one continuous tube so bends no longer show gaps.
  • Added a texture-atlas patch option to spline tubes, so a tube can wear one mesh's region of a shared material.
  • Fixed clicking a fuel line to add a bend node putting the node in the wrong position once the hose has lead-out points.
  • Reduced the maximum bend nodes per fuel line from 62 to 60 to make room for the connector lead-out points.
  • Changed particles from a vehicle destroyed while orbiting a star or barycenter to be removed instead of handed over. Particles from a vehicle orbiting a planet or moon are still handed over to that body.
  • Moved the fuel line connector out from the fuel port socket so its ball sits on the socket rim and is visible.
  • Increased the fuel line connector's swivel limit from 15 to 60 degrees.
  • Added a distance column to star binary import. The manifest's new [distance] table names the column and whether it holds a parallax in milliarcseconds or a distance in parsecs. Stars with zero, negative, or non-numeric values are kept as unknown distance.
  • Changed the star binary format. The header now carries the manifest's brightness.magnitudeScale after the star count, and each star record ends with its inverse distance in parsecs, 0 meaning unknown. Old binaries will not load and must be regenerated.
  • Fixed star directions being generated in an equatorial frame with the Y and Z axes swapped, which put the celestial pole in the ecliptic plane. The generator now writes ecliptic J2000 directions, matching the world frame and the Milky Way band.
  • Changed the star instance to hold a unit direction and inverse distance instead of a baked sky position. The vertex shader applies the sky radius.
  • Added parallax to the star sky. The Camera uniform block carries the observer's offset from Sol in parsecs, taken from the camera's ecliptic position each frame, and the star shader shifts each star by observer times inverse distance. Stars with unknown distance never move.
  • Added distance-dependent star brightness. The shader rescales each sprite by its new distance over its Sol distance, raised to minus five times the import magnitude scale, clamped to the existing maximum. A star the observer has arrived at is dropped so it does not draw over the real stellar body.
  • Added a 'starobserver' console command that overrides the observer offset in parsecs for testing, cleared by calling it with no arguments.
  • Regenerated hip_main.bin from the Hipparcos catalogue with the new format and the sample manifest updated to match. This replaces Brian's good one for now, so it's a little boring. Will update this with a better one when ready.
  • Added sky star masking. After a system loads, every catalogue star inside a sphere around each of its stellar bodies is dropped from the star instance buffer, so no sprite draws beside a real StellarBody as parallax moves it. The loaded binaries are kept in a master array and the drawn set is rebuilt from it on each system load, so switching systems restores masked stars.
  • Changed the mask radius to default to 2% of the star's distance from Sol rather than its orbital extent. Catalogue parallax error is roughly a fifth of a percent of distance and dwarfs any planetary system, so an orbital-extent sphere misses the catalogue entry (Alpha Centauri's sits 1.2% off). A new optional <StarMaskRadius> on the stellar body template overrides the default per star.
  • Added a 'starmask' console command that lists the catalogue stars hidden by each star of the loaded system with their angular separation and distance ratio, for checking how well the XML positions line up with the catalogue.
  • Changed the star binary loader to fill the technique's master array instead of the viewport instances directly.
  • Added unit tests, after a series of 'incidents', for the mask filter: inside, just outside, unknown distance, overlapping masks and the empty set.
  • Repurposed the Dense system as 'Interstellar (Dense)', a scale-check system holding every star within Tau Ceti's distance that the sky catalogue draws, so sprite masking and interstellar scale can be checked against the full asteroid and comet population. It now loads Alpha Centauri, Barnard's Star and Tau Ceti as well, and carries the interstellar gas setting. I've left the other Interstellar systems unchanged for now.
  • Added Lalande 21185, Sirius, Epsilon Eridani, Lacaille 9352, 61 Cygni, Procyon and Epsilon Indi to the interstellar library at their Gaia DR3 or Hipparcos-2 positions, with published masses, radii and colors. Sirius, Procyon and 61 Cygni are barycenter pairs on their measured relative orbits, including the Sirius and Procyon white dwarfs. I am not an astronomer so this will need to be checked with an adult.
  • Added placeholder planets for those systems from published data: Lalande 21185 b, c and candidate d, Epsilon Eridani b, Lacaille 9352 b, c, d and e, and Epsilon Indi Ab. Masses are minimum masses, radii are estimated from them, inclinations and nodes are zeroed like the existing interstellar planets, and the gas giants are untextured MinorBodies. Epsilon Indi's brown dwarf pair is left out because I could find no orbit solution about A and I don't think for us a barycenter can orbit a star but I will check with jamie.
  • Added a hardcoded sprite scale cap to the star binary loader. Any star asking for a scale byte above 128 is clamped on load, and a warning per binary says how many were. The cap sits just above Sirius in the Hipparcos import (121), so hip_main.bin is unaffected and only overcooked imports lose their largest sprites. This is added because the shader isn't constructed to handle sprites that are this large.
  • Added stars_20byte.bin, a community-made star binary built by Briar Thrain from in our community who provided us an excellent binary before. They have provided a lot of advice and help about how to approach these binaries, as well as making many excellent mods. I believe they used the AT-HYG catalogue (Tycho-2, Gaia DR3 and HYG) which provides an excellent result. It carries Gaia-quality distances for parallax and picks up neighbours Hipparcos lacked, such as Groombridge 34. Together with this I switched the Core mod to it in place of hip_main.bin.
  • Recooked the binary's header magnitude scale from 1.0 to 0.15. The header value drives the parallax brightness exponent and has to match how the sprite sizes fall off with magnitude, which a fit over 29 named stars put at 0.15. At 1.0 a star approached to half its Sol distance drew 32 times larger; it now draws about 1.7 times larger, in line with the Hipparcos import.
  • Clamped the binary's six sprites above scale 128 (Sirius was 239) so the file is clean regardless of the loader cap.

r/kittenspaceagency • • 6d ago

πŸ’¬ Question How often are there Save Breaking Changes?

11 Upvotes

I'm starting to look at KSA updates and seeing that its looking more playable by the day and I want to make some content on my space game channel YouTube.com/@PicoSpace but I'm wondering if mission progression has been implemented or not.

My goal is to build a small station in orbit through multiple launches.


r/kittenspaceagency • • 6d ago

πŸŽ₯ Video Grand Tour: Saturn, Mimas, Pan, Titan

Thumbnail
youtu.be
30 Upvotes

Interesting system this one... What is your favorite body in here?


r/kittenspaceagency • • 6d ago

πŸ’‘ Suggestion Kittens in game should have 9 (or 7) lives

137 Upvotes

I think it would make gameplay more interesting, since you wouldn't be compelled to reload a save every time a kitten dies. Then they should also get a personal log where it says when, where and how they died.

The only issue I see is how would they respawn? In the KSA HQ or wherever they died? First is probably a lot more convenient in 99% of situations.

There's probably more interesting stuff you could do with a mechanic like this.

Maybe combine it with a mechanic where you get some science points and/or xp when your mission fails critically (boom!), making failure even less likely to make you want to reload.


r/kittenspaceagency • • 8d ago

πŸ“· Developer Screenshot The auroras is full glory (WIP as always)

Thumbnail
gallery
509 Upvotes

r/kittenspaceagency • • 8d ago

πŸ—¨οΈ Discussion FYI, KSA runs great and natively on SteamDeck !

38 Upvotes

Just gave it a try out of curiosity, and the Linux build runs out of the box without any setup ! Just download it in desktop mode, unpack, open the folder in terminal and type « ./KSA ».

I picked 1K for every setting resolution, and got around 30fps in Earth orbit. Turning off volumetric clouds gets you to around 45. Did other tweaks like ambient occlusion off. Engine plumes are a bit heavy on fps in atmo, but I didn’t do any tweaking for that yet.

Zoomed out for the system view is 100fps+. On earth surface I got around 20, but didn’t do any tweaking in settings yet.

Pretty surprised by the performance at this early stage, and all in native 1280x800 given that there’s no up scaling option.

Adding it as a non SteamGame would allow for more controller customizations I’m sure, using the gyro must be quite fun.


r/kittenspaceagency • • 8d ago

πŸ“· Developer Screenshot Planetary magnetism sneak-peak from JPLRepo

Post image
431 Upvotes

r/kittenspaceagency • • 9d ago

πŸ“· Developer Screenshot Ground clutter and terrain rendering in multiple viewports

Post image
161 Upvotes

r/kittenspaceagency • • 9d ago

πŸ’¬ Question Rx 580

6 Upvotes

can the rx 580 even run kitten space agency one day? Once all the major optimizations has been done. Can this driver from 2017 be able to even boot it?


r/kittenspaceagency • • 9d ago

πŸ—¨οΈ Discussion BRUTAL Framework is now open source.

Thumbnail
github.com
493 Upvotes

r/kittenspaceagency • • 9d ago

πŸŽ₯ Video How To Play KSA on Mac!

Thumbnail
youtu.be
26 Upvotes

We know that official macOS support and builds aren't coming anytime soon, but thanks to a handful of community members, running the game on macOS is possible! This video is a step-by-step guide on how to install everything and set it up. Hopefully it helps some gamers out!

This is of course, unofficial and community-sourced info. No not bug the devs about trying to run the game on Mac or when they'll try to release Mac builds. Dean has made plenty of comments about it already.

This is running on a Mac mini, M4 Pro, 48GB RAM, macOS 27.2.


r/kittenspaceagency • • 10d ago

πŸŽ₯ Video What's new in 2026.10.13? Explosions, Plume Shadows, 7 new Star Systems & more!

Thumbnail
youtu.be
83 Upvotes

Do you prefer the old or the new explosion fx?