r/kittenspaceagency • u/MgbH1R0 • 1d ago
r/kittenspaceagency • u/irasponsibly • Nov 15 '25
ποΈ Sub Meta Read Before Posting! KSA Public Pre-Alpha and You - Bug Reports, "Can I Run It", and More
Kitten Space Agency now has a Public pre-alpha build available. At time of writing, the current version of the game is 2025.11.4.2791, aka Build 2791, available from ahwoo.com.
Downloads and Contribution
Ahwoo is a company set up by Dean Hall to handle the distribution of and contributions for KSP.
Downloading the game requires an Ahwoo account, which is the same Ahwoo account used for the official KSA Forums. Login with Discord is an option, but not required. The game is free to download, and there is the option of sending a contribution, but it is not required.
What's the game like?
From Dean;
The current build is more than a tech demo but less than a game, deliberate as we have focused on the foundational technology to deliver the game to the future. What you can do is play around with this foundation, primarily controlling the loaded rockets and seeing how the orbital physics and basic collisions work
If you're expecting to design rockets and build space stations... you're a bit early. This isn't like playing KSP in 0.17, where it's a game that's just a bit janky and unpolished - there's no ship building, no docking, the UI is janky and kinda awful, no explosions, and not much to do. If any of those are what you want, wait out.
How do I report bugs?
Submit any bug reports on the Kitten Space Agency Bug Report forum, not here.
Can I run the game?
Hard to know - try! It's free. You probably need a mid-range somewhat-modern system for the game to run, but no guarantee anything older won't work. Some people have been able to run the game on integrated graphics.
Known Issues
From Dean;
We are tracking issues with older cards, especially AMD 5000 and 6000 series. Expect other weird edge case issues around GPUs and such. The technology we are using (BRUTAL) is brand new; and this is a huge ask for any engineering team to work through. Much of the work you would get for "free" with an engine is oriented to try solve a lot of these issues, and so we have to work through the various different platform and GPU idiosyncrasies. We also have not optimized our GPU handling, so cards that don't have a lot of VRAM may run into issues. The settings default to the highest level, when you boot the game.
Most notable is the "earth turned into a giant white sphere" bug. The first thing to try is to run the game with "Earth Only" and all the settings turned down.
Linux and Mac?
There is no official Linux or Mac support. Do not ask for official ports yet, we're early days. The developers know we'd like it, and they'll make the decisions down the line. If you want support for linux, there's a handful of threads on the KSA Forums you can try for help;
- Troubleshooting KSA Pre-Alpha on Linux - some tips and troubleshooting advice.
- One True Linux Thread - compilation of configs and hardware that has or hasn't worked for people.
There's also a Linux chat in the discord server. Generally speaking - run the game under Wine with whatever tool you prefer (Bottles, Lutris, Protontricks, or just raw command line), you'll need to install DotNet Desktop 9 and maybe the Vulkan SDK, and that should work.
I've seen reports of users running the game on Intel (x64) Macs, not sure about the newer ARM64 Macs. There's at least one forum thread, too.
This Subreddit
These have been rolled into the actual subreddit rules instead of just being here - they all still functionally apply, though.
The same "posting rules" still apply;
Please avoid posting questions that you can find an answer to in the FAQ, or with a search of the subreddit.Please don't post and ask if your computer can run the game. Try it yourself, comment here, look in the forums.
Please avoid questions that are too early to have answers"Will the game have xyz" - see (1) and (2).Discord or Forum SupportWe have nothing to do with the Discord server (other than copying stuff from it) - don't ask us, contact the Discord moderators or ask on their forums.I have written "I am not affiliated with Rocketwerkz" in every place imagineable and I still get people messaging me for a job.
Hype-posting or "I'm so excited!"I've allowed a few through, but keep it to a simmer.
"I don't like cats"It's all been said! Unless and until we get any sort of news about it, it's all been said before.Here's every post on the topic so far.
Please avoid posting about game storefronts, "The game should be on Steam/EGS/GOG" etc.It's a settled topic for now - Dean has made his intentions clear, and members of the community have made their wishes clear.Unless he makes a new announcement on the topic, it's all been said before.Here's every post on the topic so far.
No pictures of your actual cat.It's a game about cats, allowing pictures of actual cats is the slipperiest of slopes.If you have a cat pic at the end of a gallery of other pictures (the 'cat tax') that's fine, but don't just slap on cat pictures to a text post for some attention.
Links to login-gated sites are blocked. This includes Twitter, Instagram, and Facebook.Reddit doesn't seem to mind Discord direct links - previously it blocked them and wouldn't let me approve the comment.
If you have feedback about the subreddit - let me know. I'm trying to thread a fine line between "keep it related to the game" and not stifling every bit of fun anyone tries to have. I have the Ultimate Downvote (removing a post) and I try not to over-use that power.
r/kittenspaceagency • u/irasponsibly • Oct 30 '25
π‘ Development Update 2025-10-30 Development Update - Dev Recap Year One
From Dean in Discord:
Development Recap One Year One
Did an interview with ShadowZone (which you can view on their patreon now, please remember independent journalism isn't free. Support your favorite content creators wherever you can), made me realize that a lot has happened in the last year, and this was also a good chance to cover off on the massive amount of work that is ongoing. Over the past year the vast majority of our work has been into "core" architecture. Specifically simulation and rendering, especially to allow both to run independently.
Rendering
As part of rendering we have had to develop our pipelines. This involves some very complicated decisions, such as what file formats to use through to how we want to 'talk' to the GPU. The underlying software (BRUTAL Framework) has also undergone a lot of changes through this process as well. One primary other point of help has been Felipe who attends not just KSA steering, but is also using BRUTAL funded by the studio for another project. Felipe has been able to help us drive new approaches for rendering along with a lot of evolutionary work from the "Enterprise" team (who maintain BRUTAL). You will see commits starting now for the latest update to BRUTAL, which brings a change in approach that extends options for the future along with some other niche new uses of Vulkan (Graphics API). The enterprise team, along with Morrow, are also bringing in a new approach to our rendering that is more cleaned up and scalable. Things like "bindless" will be thrown around, which Felipe has been using to great effect.
Spherical Billboarding
All this technical work is then pushed even further by Blackrack and Linx. It really does absolutely blow me away with how the team are "feeding" off each other, where ideas are spawning other ideas like cascading success. The ultimate of this is our approach to planet rendering, which we call "spherical billboarding". Billboarding is a useful tool for rendering objects at a distance as "cards", that is a 2D image on a quad that always faces the player. When the game boots, we generate libraries of spheres that are subdivided in different ways. At close distances, the spheres have their subdivision densely packed around the "reference vertex". At a distance, the subdivision is spread more evenly. The aim of this is to give an even distribution of quad density. However, this gets extremely complex as the reference vertex needs to be oriented to the player, but also snapped so you don't get vertex swimming. This means that a lot of transforms need to be done to do texture stuff.
Additionally Linx and Blackrack have done some tremendous innovation in how world authoring happens. Linx has managed to extract better terrain from a reduction in reliance on the heightmap (the texture) and instead doing work "realtime" to calculate erosion and such. You can see this work in the latest screenshots, when coupled with Blackrack's work - is tremendous. This work is beyond that which you see in rendering for engines even like Unreal 5, with the team able to go to the absolute cutting edge papers for implementation of features. It is hard to overstate, from my perspective, just how exciting it is to watch these folks work.
The good news here is that I consider Spherical Billboarding entirely proved as a technological approach. All our imprecision issues were solved, and our asset pipeline together with the texture changes have proven we are going to be able to deliver the quality and scale we want, within even the existing toolset. Work will begin soon from a content perspective to start delivering a custom system utilizing this toolset.
Vessels and Parts
This work has been in development now for some time, and you are starting to see this scafold actually get used. I actually just switched over the default vessel to our "New Gemini", that is made out of parts using Daishi's custom Gemini parts. Morrow has been building an entire rendering pipeline to support this, especially at scale. This also clips heavily into Dan's work with clustered lighting (shadows). This "architecture first" approach for parts is absolutely vital. We focused on the hardest parts of part scale - the rendering. The other elements (collision, resources, etc...) are certainly complex - but their structures don't involve coordination with the GPU so don't have quite the same OS gate that the rendering does. If we don't get the rendering of the parts right, we simply cannot achieve scale. So this has been a huge focus. I would argue that the work is now speaking for itself, the art is exceptional and it is looking exceptional in game.
From here you will see this continuing to expand out, with the part functionality incrementally improving. Once we have a critical mass of part "implementations", we will use these as usecases for refactoring and applying an overall consistent data approach to the parts. We've tended to find this "middle outwards" approach to technical design more robust, even if it sometimes takes longer. This is because instead of imaginary usecases defining the architecture (often resulting in overconfidence), we wait till we have a few actual usecases before sitting down and coming up with the overall architecture, and then going through a small degree of refactor. This might seem somewhat odd; but the studio has found enormous success so far with this approach.
Kittens
The animation pipeline has been a huge success, although this approach was reliant on the updated version of BRUTAL which KSA has just been ported too. Now the work begins to get the showcase in BRUTAL for the kittens, actually into the game itself. The first pass will allow you to push a button, and a kitten will appear in EVA that you can move around. This will ensure, as a final approval, that the kitten looks right in the lighting and materials. It will allow us to all do a real sea-trial of the animation system and confirm that it all works to the standard we want. Not to mention, it's going to be really awesome to be able to move a Kitten around in EVA.
Public Build Release/Contributions
This is "imminent". The build is considered acceptable by the team, although I did "no-go" it at the last steering. I want a little more time, as this is a short week for us here in New Zealand, we had a lot of people out sick, and we had a lot of new technology go in this week. So we will see where the build is at, at the steering next week. That would mean, everything going to plan, the build would be fully public from next week at the earliest. This would also open up contributions to the project, for the first time. The aim for this, hopefully, will be to secure the future for the project. We'd be able to establish if the projects mission would work: making the game completely free and API independent. It would also confirm whether the project can get more ambitious with it's hiring, that is hire more people, and keep the existing staff paid more (hint: not me, I mean our amazing stuff). I think we already pay very well, but I would like to be able to ensure our staff are paid really well for their future. I think they're doing some of the best work I've seen.
Summary
The project has kind of been a victim of its own success over the past year. Technology wise much has worked so well that we have then ended up leaning into it more. This has made fully public builds more complex, with more moving parts to achieve. Finally we are almost there. I expected a lot more trouble along the way, especially technically. This should not be read as to mean it has been smooth sailing, nor that it will continue to be. We have hired really good people, we've equiped them well with technology. We've divided responsibilities up and put trust in the people. We've also consistently forced a focus on first principles actively fighting arguments of "but this is how we do it in video games". For a project like this I think that is critically important.
Overall, regardless of what happens with this game in future and out industry as a whole - I can say the last year has been my favorite year in my whole career. I'm absolutely honored to be working with such a talented team. I think, largely, their work speaks for itself.
r/kittenspaceagency • u/panic_in_the_galaxy • 22h ago
ποΈ Patch Notes Version 2026.7.8.4980 (Summary in the comments)
- Added Hud dropdown to file bar. This now contains tools for hud management including new layouts feature as well as the toggles for enabling/disabling gauges that were previously found in the View dropdown.
- Added save any arrangement of gauges as a HudLayout, using the Save Current Layout Button in the Hud dropdown, you may check one layout as your default.
- Added Hotkeys for selecting and cycling layouts.
- Added Layout Config Window for managing saved layouts and their hotkeys.
- HudLayouts are serialized in same location as Saves/Vehicles etc in the HUDLayouts folder.
- Fixed default vehicles missing propellants after tank XML rework.
- Made the 'Rocket' first stage have T/W > 1 when teleported to Earth.
- Added screenshot capabilities
- Fixed the odd camera zoom/jump that could happen when decopuling or docking vehicles.
- Fixed the console duplicate command not properly duplicating vehicles.
- Updated PartTree.Serialize() so that it serializes all important parts of the tree, not just the parts list.
- Fixed vehicle data being left in a bad spot after docking. This would present as parts not highlighting when hovered and the center of mass not being correct.
- Hoisted the decision of whether to recompute derived data after part tree operations up to the top of the part system API rather than having it buried and implicitly chosen in several places.
- Added RCS toggle to Engine Control Gauge Canvas.
- Updated FlightComputer to respect RCS toggle when orienting the vessel.
- Added new texture category 'TerrainHeight' for terrain textures that affect height calculations. These no longer get downmipped or downsampled by the terrain texture max size setting. This will cause increased VRAM usage for people who were previously setting these textures to be resized. This change is intended to avoid the misalignment between the rendered and collided with terrain.
- Modified some CPU sampling of terrain textures to more accurately align with GPU sampling to help with rendered terrain and terrain collision alignment.
- Changed Where RCSMode was being evaluated by the flight computer as it was doing a number of needless RCS calculations when RCS was disabled.
- Fixed a new vehicle's attitude reference from becoming corrupted after undocking.
- Store vehicle names on Control modules. This is the name we will use for undocked vehicles, if available.
- Fixed a couple of insidious frame errors lurking in the code for making part connections and moving part trees around in ASMB.
- Consolidated the 4x copies of code for moving the root part and all of its children into a single place.
- Changed the cascaded shadow filter to a specialization constant instead of being apart of the uniform data.
- Fixed an edge-case where ThrustVectorControl would not be used despite RCS being disabled, if the vessel had lots of rcs thrusters and limited tvc. Introduced in commit ef37582b.
- Converted cascaded shadows to manual rendering instead of multi-view rendering. MVR did not have the ability for us to curate what we render to each cascade. This is preparing for ground clutter culling for shadows.
- Prevented freshly-decoupled vehicles from colliding with each other until they are out of contact to avoid them getting stuck inside each other.
- Gave vehicles with no defined mass a total mass based on a density, not a hardcoded value. This should help prevent massless parts from becoming inadvertent airships.
- Removed physics constants from the game settings menu and made them internal constants to prevent them from getting "stuck" to the values when players first launched the game.
- Fixed per-sequence delta-v/TWR/Isp lumping the entire reachable fuel supply into the sequence that first ignites the engines, leaving later decouple sequences blank.
- Each sequence's burn now ends at the next staging event that drops tanks out of its fuel supply.
- Known limitation: the estimate is availability-based, not a time simulation, so designs where engines drain separate tanks simultaneously (parallel boosters without fuel lines, solid+liquid first
- stages) attribute all of a tank's fuel to the earlier sequence instead of splitting it by burn time β crossfed and serial designs are exact.
- Fixing this requires an event-driven fuel-flow time simulation, planned for a later date.
- Fixed the sequence-performance simulation draining tanks in a fixed nearest-first order regardless of each engine's fuel flow rule. It now consumes in the same order the engine actually drains in flight. * Changed the default fuel flow rule for engines from nearest-to-furtherest to furtherest-to-nearest by stage.
- Added persistence for the engine Fuel Flow rule: a rule picked in the flow-rule dropdown (editor or flight part window) is now saved with the vehicle and restored on load, instead of silently resetting to the default.
- Changed Reworked the burn UI to be integrated into the gauge canvas system.
- Added support for plus symbol in Gauges.glsl.
- Added Creating a burn now automatically selects that burn is the current active burn for editing.
- Added Lcontrol/LShift act as modifiers when clicking -/+ buttons on burn editor window they will modify the mul value by 0.1/10.
- Enabled the non uniform extension for terrain and ground clutter shaders that use indirection to obtain the texture array IDs. This should fix issues with terrain flickering on some devices.
- Removed unnecessary debug log spam.
- Fixed Imgui Input fields in new Burn Edit Window impinged slightly on '-' button.
- Fixed the burn edit window could be "disabled" in the same way as the other gauge canvasses, this was un-intuitive as the enable/disable feature is primarily linked to whether a node is selected.
- Added AlwaysEnabled flag to GaugeCanvases for canvases that rely of gameplay state for their enabled behaviour.
- Added Delete pill button to burn gizmos, the pill button appears when a burn gizmo is hovered and stays active until the mouse position moves out of the hysteresis range.
- Update Brutal.Monitor to the latest package
- Fixed per-sequence delta-v/TWR/Isp attributing a whole tank's fuel to whichever sequence ignites first when engines drain separate tanks simultaneously (parallel boosters without fuel lines, solid+liquid first stages).
- Replaced the availability-based truncation with an event-driven fuel-flow time simulation.
- Split CullInstances.comp into two mains depending on whether shadow culling is enabled or not.
- Added per-cascade shadow culling for ground clutter, improving forest rendering performance on Earth.
- Moved ground clutter draw command ownership from ecotype data to view resources.
- Added a GPU marker for ground clutter cascade index when drawing.
- Instead of forbidding all collision between newly-decoupled vehicles that spawn with interpenetrating colliders, reject only the contacts which would prevent them from pushing away from the parent vehicle. This helps prevent the collision avoidance system from becoming a permanent state of affairs where vehicles aren't able to get away from each other.
- Decrease penetration recovery velocity from 5 m/s to 1.5 m/s now that we don't get embedded in hillsides.
- Removed the dropdown-based fuel line creation controls (two part pickers + "Add Line") from the vehicle Resources window; existing links are still listed there with their enabled toggle, flow-direction cycle button, and delete button.
- Added Velocity Markers to navball Prograde/Retrograde, Normal/AntiNormal, In/Out Target Prograde/Retrogade and Burn. These are drawn from the Navball frag shader using sdf equations for pixel perfect scaling at any resolution.
- Added NavballMarkers.glsl this contains all the functions required to draw the Navball markers.
- Improved mouse hover logic over extreme hyperbolic orbits.
- Added a way to switch which vehicle is the active build target in the Vehicle Editor: a "Switch Vehicle" button, and a "Make Vehicle Root" option on any unattached vehicle's part menu.
- Added a save prompt on exiting the editor when any vehicle with unsaved changes would otherwise be discarded β lets you save each one before continuing, whether it's an unattached vehicle sitting in the build area or a brand-new vehicle you built from scratch
- and didn't launch.
- Fixed the vehicle picker mislabeling whichever vehicle was currently focused as the "Existing Vehicle" instead of the one actually loaded from the original save.
- Added Destroy button next to vehicles in the manifest. Destroy is gated behind a confirmation pop-up.
- First pass on texture streaming functionality. This is enabled by default and can be toggled off via the startup config. The texture streaming will attempt to stream textures as they're needed and maintain a VRAM cache of textures ready to go on the GPU. This only affects large terrain related textures for now. This is early/experimental work and will be refined as we find issues.
- Added KeyBinding for ToggleRCS. Defaulted to R.
- Fixed texture streaming auto budget calculating incorrectly.
- Fixed a sigificant error in velocity verlet integration where stale position values were being used to compute environmental parameters like gravitation and drag. At high time warp under physics this could result in adding significant orbital energy.
- Properly handle edge cases where we need to apply atmospheric forces in the CCI frame.
- Start flight computer roll in the "ANY" mode to stop unnecessary roll actuation unless specifically requested.
r/kittenspaceagency • u/NoVacation6177 • 19h ago
π¬ Question Mac support.
Will this be advalable on Mac?
r/kittenspaceagency • u/panic_in_the_galaxy • 2d ago
π₯ Developer Video Plume Stress test by blackrack
Enable HLS to view with audio, or disable this notification
r/kittenspaceagency • u/SodaPopin5ki • 2d ago
π· Screenshot Landing plume on Mars
First time doing a full mission from Earth to the KSA Duna analog. Did a little lithobraking, and bounced away from the "initial landing zone" where the exhaust plume ended. Got a great view of it.
r/kittenspaceagency • u/SodaPopin5ki • 5d ago
π₯ Video Chasing the Dream!
Enable HLS to view with audio, or disable this notification
Or at least chasing a rocket a few minutes after launch.
Edit: forgot to mention, I used Tomservo's / u/as-gt3 Flexo to make 4.5m tanks.
r/kittenspaceagency • u/ferriematthew • 4d ago
π¬ Question When are parachutes planned?
As far as I know the game doesn't have parachutes or the need for parachutes yet.
r/kittenspaceagency • u/SodaPopin5ki • 5d ago
π₯ Video Aerobraking over Mars
Enable HLS to view with audio, or disable this notification
I didn't expect to see the exhaust plume. Sort of a pseudo re-entry trail for now.
r/kittenspaceagency • u/as-gt3 • 5d ago
π₯ Video gatOS, purrTTY and Flexo feature test
Putting together all my complementary tools and mods for a bit of fun!
Flexo for a few customized stock parts:
- the sm tank footings have huge tank volumes and weight 200t ea with fuel (prevents the structure from moving when engines fire)
- truss cubes get connectors on all faces
- custom button part made by two clinders and simple metallic textures with an animation using the ksa part animation system
purrTTY for the in-world terminal surface, gatOS for the game data and control integration from the terminal TUI program
r/kittenspaceagency • u/SOCSChamp • 4d ago
π¬ Question Silly question: how to use SRBs?
I apologize for my ignorance, I've searched this sub, the key bindings, and fiddled with this for about 30 minutes now. On the newest version, adding SRBs, the thrust assembly and segments, there doesn't seem to be a way to actually fire them. There are no options for the part, no item to put in staging, nothing happens when I try to ignite engines.
Ive seen people posting videos of using them, is there something im missing here?β
r/kittenspaceagency • u/Senior_Special5579 • 5d ago
π¬ Question Is there any plan to publish the KSA API documentation and sample source code on the wiki?
I really want to port some of my favorite mods to KSA (BD Armory), but I lack the documentation to reference and convert the source code to be compatible with the KSA engine. Currently, the wiki documentation for these mods is quite limited.
r/kittenspaceagency • u/Single-Tooth-827 • 5d ago
π¬ Question Will KSA be available for mac
i am currently on macbook air m1, will ksa be available for mac or more importantly, can my mac handle it?
r/kittenspaceagency • u/VegetableBuilding764 • 6d ago
π‘ Suggestion Idea for N-Body simulation
Iβve been thinking about this for a while because itβs kind of a bit of a difficulty I doubt adding N-Body simulation would be infeasible, but Iβm sure there will be a lot of players who really wouldnβt want it and a bunch who would
I think the best solution is to make it a toggleable option in settings in a similar way to how when you start a save in KSP, you can go into the difficulty settings and select certain parameters. It would be great if you could turn on or off N-Body simulation when you started a new save
I think this would satisfy both groups of players and hopefully wouldnβt be infeasible to implement although honestly, I donβt really know too much about that
r/kittenspaceagency • u/YellowEasterEgg • 7d ago
π¬ Question How is this sustainable?
I have a question regarding the long term funding and business model of Kitten Space Agency.
From what I understand, the recent community funding milestone of 200k only represent a very small fraction of the overall development costs. Dean Hall has also stated on several occasions that the intention is not to sell the game in the traditional sense and that it should ultimately be accessible to everyone.
This raises a few questions for me:
Is RocketWerkz financing the majority of the development internally, or are there external investors or partners involved?
What is the long term business model that will allow the project to remain financially sustainable?
I'm not asking this as criticism. I'm genuinely interested in understanding how such an ambitious project is being financed and how the team plans to sustain development over the long term. If anyone has links to interviews, official statements, or other reliable sources, I'd appreciate it.
r/kittenspaceagency • u/panic_in_the_galaxy • 7d ago
βοΈ Developer Blog New HudLayout Feature coming soon
From Matty (Programmer) on discord:
New HudLayout Feature coming soon:
- You can save any arrangement of gauges as a HudLayout, using the Save Current Layout Button. Layouts are saved in UV space.
- Additionally you can assign one as your default layout.
- Keypad 0-9 are hot keys for switching layouts and tilde is the select default layout key.
- A new layouts window for managing saved layouts. Here you can re-assign hot keys, delete layouts and change default.
- Layouts are serialized in the HudLayouts folder next to Vehicles and saves. Each layout gets its own folder with an xml file and a toml meta data.
Comment by me: The feature is already commited and will be in the next build.
r/kittenspaceagency • u/panic_in_the_galaxy • 7d ago
ποΈ Patch Notes Version 2026.7.6.4939 (Summary in the comments)
- Added new Sequence UI layout.
- Added Sequence UI code is now shared across editor and flight, items can now be re-sequenced during flight. When in flight the amber highlight sequence shows the sequence that will fire when spce-bar is pressed.
- Added fuel indicator bars for engines in sequence view when in flight.
- Changed When in flight, Sequence window is now positioned above nav ball on the left side of screen.
- Changed Perigee/appogee readout has been moved to the top right of screen.
- Added new particle updater called GrowOnSpawn. This can be used to prevent particles from suddenly appearing, instead they will start small and grow up to their base size. This can be used along side ShrinkOverLifetime or GrowOverLifetime.
- Volumetric ice particles now use the GrowOnSpawn particle updater.
- Added initial screenspace renderer for particles. This now replaces the previous volumetric renderer which was rendering volumetrics in a fragment shader on spherical meshes. Instead we run a compute shader to calculate the volumetric contribution in screenspace, reducing large performance drops when inside a cluster of volumetric particles.
- Cleaned up screenspace particle modlibrary ids.
- Fixed broken downscale depth for screenspace particles.
- Added explicit ModelMatrix particle updater. Previously the current particles scale was tied directly to the render data. Because the render data held only a model matrix and not a decomposed set of position, rotation and scale data. If multiple particle updaters wanted to edit the particles scale they would generally have to edit it directly on the render datas model matrix. Instead there is now a proper scale that is tied to the particle update state which gets edited directly, then the model matrix updater build the model matrix at the end. This encourages particle updaters to not touch the rendering data directly and just use the shared particle state data instead.
- Changed Grouped parts in a sequence are now expanded or collapsed by right clicking on the grouped parts.
- Add experimental volumetric plume trail rendering.
- Trails are disabled by default and can be enabled using the Trails option
- under Game Settings > Volumetrics.
- The system tracks individual trail segments and uses a spatial acceleration
- structure to sample only relevant segments while raymarching. Empty space is
- skipped efficiently, and the sampling rate adapts to the radius and density
- of nearby plume sections.
- Current limitations:
- Trails are currently added to all main engines for testing. They will be
- assigned more selectively in the future, including to solid rocket
- boosters when added.
- Emitters currently release trail material based on movement rather than
- forcefully exhausting gas. This can look unnatural when a vehicle is
- stationary or moving slowly (such as a low TWR vehicle struggling to
- launch .Plumes currently look best above ~20 m/s. Stationary and
- low-speed exhaust will be improved in the future.
- Trail sections currently use basic expansion, diffusion, time-based
- dissolution and a pseudo-wind drift, you can watch plumes morph over
- time.
- Trails do not yet cast shadows. They do receive shadows from clouds, which
- helps integrate them into the scene.
- Occlusion against existing engine plume effects and other transparent
- particles is not yet handled correctly.
- Very thin, distant plumes can become unstable when processed by the
- upscaling system. This will be addressed by improving the upscaling method
- or increasing the apparent width of distant trails.
- Ground-contact smoke and vapor are not yet emitted, so launches currently
- lack the larger ground-level plume effects planned for this system.
- Simplify complex trails in the background once expanded plume sections are
- large enough to contain the original smaller segments.
- Add a system that dynamically merges nearby volumetric trail emitters on the
- same vehicle into a single larger plume, reducing the number of trails that
- must be tracked and rendered. Merged plumes can split dynamically when
- emitters move apart.
- Add basic plume expansion, diffusion, time-based dissolution and a
- basic wind drift. You can watch plumes moreph over time.
- Use the cloud upscaling system for volumetric trails.
- Integrate volumetric trails with clouds, allowing clouds to occlude trails
- and trails to occlude clouds behind them. Occlusion with existing engine
- plume effects and other transparent particles is not yet supported correctly.
- Sample the cloud shadow volume when rendering plume trails. Trails receive
- cloud shadows but do not yet cast their own shadows.
- Add noise anti-tiling to plume trails using an extension of the simplex
- anti-tiling method.
- Stabilize 3D plume trail noise in CCF space using the split-precision method
- used by planetary rings, rather than passing positional offsets from the CPU.
- Stabilize cloud and trail upscaling motion vectors by tracking average
- density.
- Expose additional cloud and trail upscaling quality settings.
- Add a debug line renderer for volumetric trails.
- Add a debug sample-count visualization mode for volumetric trails.
- Add trail debugging parameters and controls through the "plumes" command and
- the View > Debug > View Plumes menu.
- Add separate repeat-sampler targets to compute pipelines.
- Apply the time-decomposition technique used by planetary rings to the ocean,
- preventing ocean animation time from looping after some time.
- Added preliminary ground clutter shadow culling. Before, ground clutter shadow depth was rendered based on the instances visible in the main camera - now depends on whether they're in the frustum of any shadow cascade. Atm the shadow frustum does not extend back towards the sun so looking away from long shadows will still cull the instances behind the camera.
- Fixed bounding sphere radius calculation and LOD selection.
- Updated the ground clutter LOD screen sizes to work with the fixed logic.
- Optimized ground clutter colour render pass by removing alpha-cutout and alpha-to-coverage logic, which is already done in the depth pre-pass. This should restore early-z and may improve performance slightly on older hardware.
- Split ground clutter culling into 'prepare' and 'cull'. Prepare transforms the instances to ego space and passes through instance colour, culling is now separate and can be performed per-view (main camera, shadows, etc).
- Added ClutterViewResources and moved LOD, reordering and draw command generation there.
- Removed Evaluate.comp as it was replaced by the prepare and culling shaders.
- Removed BuildDispatchCommands.comp.
- Removed render buffer from GrowOnSpawn particle updater as it is no longer used.
- GrowOverLifetime no longer edits the emitters extra data. This was previously setup to reduce the particles density overtime. This now only handles the one task for increasing the particle scale, density is handled in the screenspace renderer.
- Added FuelPort module (MaxLength, anchor point) and a Fuel Port part (placeholder art reusing the quarter-tank mesh).
- Added fuel line tube visuals between ports with flow-direction arrowheads, rendered in editor and flight (grey = enabled, dark red = disabled).
- Added fuel line rows to the part UI: enabled checkbox, flow-direction cycle button, delete, endpoint hover highlighting.
- Added fuel-line crossings to the fuel flow overlay, routed tank -> port -> port -> tank, shown only for links the engine actually drains through.
- Added symmetry fan-out for port links: linking one booster of a symmetric set replicates the line per sibling, including ports placed individually on already-symmetric boosters (matched by template + mount distance).
- Added Fuel Flow rule dropdown for engine cores to the editor part UI (was flight-only); flow rule now survives resource-manager rebuilds in both editor and flight instead of resetting to the controller default.
- Changed GenericMesh shader: instance color rgb now tints albedo and alpha is a self-lit fraction, so fuel-line tubes are visible in the editor (editor enclosure box unchanged).
- Fixed tanks fed through a fuel line not auto-filling with propellant: engine consumers are now offered to link-fed tanks across stage boundaries, matching what the engine can actually drain (daisy chains included).
- Fixed tank-less fuel ports not opening the stage bypass: link endpoints resolve to the part the port is mounted on for marking, receiver stage checks, and chaining.
- Fixed fuel flow visualization silently turning off after any staging/sequence/fuel-line edit (toggle now carried across manager recreation), and it now deliberately turns off for all engines/thrusters when leaving the editor to flight.
- Fixed gizmo lines/spheres never rendering in the vehicle editor (fuel-line pairing preview draws through these).
- WIP code clean up of VehicleEditor.cs removed un-used fields, removed descriptive/verboise comments, Split out several large functions in to more easliy digestable sub functions.
- Changed Visual rework of inflight sequencing UI to make it more readable.
- Added Active sequence title bar is now highlighted in green.
- Fixed sequences that had only decouplers could show flicking tiny deltaV and Thrust-to-Weight values.
- Fixed some incosistant colouring of objects in the sequence window.
- Added tank-to-tank fuel pump transfer in flight: every tank row in a part window now has In/Out buttons ahead of its fill bar. Tanks set to Out drain into every tank set to In on the same vehicle at 100 L/s per draining tank, matching propellants only. Arming requires the part window to stay open β closing it (or decoupling the part away) stops the transfer automatically. Transfer state is never saved; loaded games start with no transfer running.
- Added empty-tank adoption: an empty tank set to In adopts the propellant mix of the tank feeding it (moles created then depleted, so no fuel is conjured), letting transfers fill a tank that starts empty or repurpose one drained of something else. Non-empty tanks keep the strict matching rule so propellants can't be mixed. The adopted mix is marked manually assigned so automatic reconfiguration won't undo it.
- Added electrical cost to fuel transfer: 20 W per draining tank while fuel is actually moving, drained from the vehicle's batteries. Partial charge slows the flow proportionally; no charge stalls it. Armed-but-idle pairs (dry source, full receivers) draw nothing.
- Added "Fuel transfer requires electrical power" alert: a persistent on-screen warning (same family as "No propellant for active engines") that shows while an armed transfer could move fuel but the batteries are empty, and clears itself when power returns or the transfer is disarmed.
- Changed transfer In/Out buttons render green when armed and powered, yellow when armed without electrical power (updates live if the batteries drain mid-transfer).
- Updated CorePropulsion A Assets
- Imported CorePropulsion C Assets (Larger SRBs). The parts can be found under the 'Booster' EditorTag. Their engine game data is not yet configured.
- Fixed the in-flight Sequences window never appearing on Linux with multiple monitors.
- The window's screen anchor was captured once on its first draw,
- but on X11 the first frames render before the window manager has placed the OS window
- (a hidden GLFW window reports position 0,0), so when a save loads straight into flight the window was pinned
- at desktop coordinates no monitor displays and stayed there, clipped outside the game window.
- Anchored windows pinned to the main viewport now detect when they've ended up
- entirely off the game window and re-run their anchor (also self-heals when the game
- window is moved to another monitor mid-session).
- Anchor placement now uses ImGuiCond.Always since ImGui silently ignores a repeated ImGuiCond.
- NB - the one-shot behaviour is unchanged, gated by _anchorApplied.
- Changed Sequence.TankMatchesMix removed; tank/mix substance matching now lives on Tank as HoldsMixSubstances, shared by the sequence fuel bars and tank mix assignment.
- Fixed vehicle editor Save/Load menu writing empty vehicle saves: Overwrite looked up a universe vehicle by the save's name (never present in the editor) and serialized nothing, it now saves the tree being edited.
- Fixed saving in the editor using the vehicle's stale part tree instead of the live editing tree (the two only re-sync on editor exit), and New refusing to save a vehicle built from the main menu that had never been launched.
- Changed New/Overwrite in the Vehicle Saves window to offer the same choices: the vehicle being edited (labelled "(Existing Vehicle)" when there is one) plus any unattached trees - selection popup only when there is more than one option.
- Imported CoreFuelTank B Assets (bay parts). Not yet configured as fuel tanks.
- Fixed engines and thrusters could still be switched on/off from the part window on a vehicle with no control module (e.g. after decoupling them away): the Active checkboxes, the Decouple menu item, and the staging key are now locked out without a control module, matching the flight computer lockout (disabled controls + "No vehicle control module." tooltip, staging shows the standard lockout alert). Editor unaffected.
- Updated CoreServiceModule A Assets. This removes the old service module Parts. Internal storage connectors now available but not yet configured.
- THE REMOVAL OF THE OLD SERVICE MODULE PARTS BREAKS OLD SAVES THAT ARE USING THEM
- Changed fuel flow overlay drain-order numbers to render 4x bigger (and centered on their tank) as they were difficult to read.
- Fixed a fuel line into a booster only granting the engine access to the single tank it plugs into: the whole same-stage stack feeding that tank is now drainable (flow overlay, drain orders, and tank auto-fill all include it).
- Fixed fuel crossfeed being able to cross a decoupler into a different stage (e.g. a core engine reaching its radial boosters through the decouplers, bypassing the fuel line): fuel now only crosses a decoupler within the engine's own stage β different-stage tanks behind a decoupler require a fuel line.
- Updated CoreElectrical A Assets and CoreStructural A Assets.
- Changed In flight Sequence UI is now integrated with the GaugeCanvas System. The Imgui UI is drawn on top of a gaugeCanvas dressing.
- Fixed AtM/Vac toggle button not working on sequence window when in flight.
- Fixed a padding issue with the Navball Canvas that left a dead space above the navball.
- Screenspace volumetric particles now sample from a generated worley noise texture, similar to how the plume trail and clouds do.
- Fixed screenspace particle distortion when multiple volumetric particles are aligned in a row.
- Fixed screenspace volumetric particle shadow banding. Previously for high density volumetrics this would results in clear outlines for where particles started and stopped relative to their screenspace tile.
- Added explicit opacity value to particles. Previously opacity related values were getting packed into the emitters extra data. This has now been promoted to a core particle value allowing it to be specifically checked instead of packing it.
- Fixed loading a vehicle in the vehicle editor left every engine unable to see its fuel (empty resource manager graphs, zero dV) until a part was edited: the resource managers were built before the saved tank contents were applied and never rebuilt.
- Improved screenspace particle clustering to fix premature culling.
- Maximum particle count for screenspace particles is now fed directly by the particle data buffers allocated particle count.
- Added graphics setting to toggle screenspace particles on and off. This is currently disabled by default as the particles are heavily WIP and need improvements to their performance.
- Fixed ImGui EndRegion getting called incorrectly if particle settings are off.
- Fixed Sibling connector definitions got stomped in an asset reimport. This is because the were errantly authored in the CoreStructuralAAssets.xml file which is auto-generated. The definition has been moved to CoreStructuralAGameData.xml and re-expressed as a <SymmetryGroup> element.
- Animating Parts now update their colliders correctly. This should allow landing legs to work but could use some more work on aligning the legs to the surface correctly.
- Fixed random crash "Nullable object must have a value" in CelestialSystem.OnDrawUi: the nearest-orbit-point hover marker was read on the render thread while a background job could null it mid-frame.
- Fixed nearest-orbit-point hover detection never registering for non-controlled vehicles and celestials: the orbit scan wrote its result to dead local variables instead of the fields the renderer reads.
- Assorted screenspace particle performance improvements.
- Removed dangling references to dev propellant files in mod.toml.
- Fixed role affinity for tanks which were intended to feed thrusters.
- Moved all tank game data out of the PartGameData mega-file and into the fuel tank file.
- Converted volume units to display in liters, which gives a helpful intermediate unit between the old cm^3 (mL) and m^3 (kL).
- Grouped tank volume sliders by configuration.
- Minor tweak to ground impact particle settings.
- Changed the tank-to-tank fuel-line connection max distance up to 100m apart.
- Fixed fuel lines could be connected between two fuel ports mounted on the same part (a part linked to itself); pairing now rejects it with an alert and the preview line shows red.
- Added quick fuel port placement: while connecting a fuel line, clicking a part that has no fuel port spawns one at the clicked spot and completes the line to it. The preview line tracks the cursor's surface point on port-less parts.
- Changed fuel-line pairing to respect the editor's symmetry inheritance toggle: with inheritance off, connecting two ports links only the clicked pair instead of fanning out across the symmetry set. * Fixed fuel drain ordering for asparagus staging: tanks order by fuel-line crossings first and in-stack position second, with each crossing restarting the count. Mirrored booster chains now share order numbers and a stack two lines away empties before the stack one line away.
- Fixed the resource flow graph anchoring fuel-line crossings to the wrong tank depending on the order parts were placed (drain-order numbers could differ between mirrored copies).
- Changed the resource flow graph's drain-order computation to reuse scratch buffers across rebuilds instead of allocating fresh collections on every staging edit, decouple, or fuel-line change (no behavior change, garbage reduction only).
- Added a warning when a fuel line is connected to a donor tank that's empty or holds a different propellant than the receiver: the line still completes (the situation can resolve itself later), but a heads-up flashes so it isn't mistaken for a bug when nothing flows.
- Added a per-tank propellant-use toggle (editor tank controls and the in-flight part context menu): disabling a tank walls its propellant off from engines, thrusters, fuel-line crossfeed, and manual tank-to-tank transfer, while the tank stays fillable and still receives automatic mix assignment. The state persists through save/load and follows symmetry siblings in the editor.
- Changed the fuel-flow visualization to color by actual carried flow: routes that genuinely deliver fuel stay green even when they pass through a disabled tank, while branches carrying nothing turn yellow with a cross at the midpoint.
- A disabled tank shows its drain-order number crossed out in yellow. A disabled fuel-line donor that is only relaying daisy-chained fuel still reads green.
- Added a green highlight on the engine or thruster whose fuel flow is being visualized, matching the flow-line colors; any other highlight reason (staging, resources, sequences) still shows red and takes priority.
- Added feedback when a fuel transfer stalls because the source tank has propellant use disabled: the transfer buttons turn yellow and a persistent alert explains why nothing is moving.
- Fixed the default-loaded rocket entering the vehicle editor with unassigned tanks and an incorrect fuel-flow display until the first edit forced a rebuild; tank auto-assignment now runs on editor entry (mid-mission vehicles eep their drained levels β only genuinely unconfigured tanks are assigned).
- Fixed toggling the flow display from the editor's per-part "Visualize Fuel Flow" button not highlighting the engine/thruster part.
r/kittenspaceagency • u/Crazy-Illustrator890 • 6d ago
π¬ Question Will we get probe cores?
Are probe cores (Satellite busses) planned, will they be modular, and will we get boiler plates?
r/kittenspaceagency • u/panic_in_the_galaxy • 8d ago
π· Developer Screenshot More images of plumes by blackrack
r/kittenspaceagency • u/panic_in_the_galaxy • 9d ago
βοΈ Developer Blog Fuel lines will be in the next version
r/kittenspaceagency • u/panic_in_the_galaxy • 9d ago
π· Developer Screenshot Plumes drifting over time and dynamically merging and splitting
From blackrack on discord:
A basic implementation of plumes drifting over time
Visualization of plume merging: Individual emitters emit individual plumes, but to maintain performance, the plumes are merged into a single large plume when they expand, the lines in the first image show where the individual plume stop and the composite plume starts.
r/kittenspaceagency • u/Spiritual-Advice8138 • 11d ago
π¬ Question Physics range question.
I seen on a note (that I can not find any more) and thought I head a YT say that there is a now going to be a Physics range now for when physics loads and unloads. Sorry if this is not true. but could some one confirm?
If so what is the plan to avoid kraken strikes on load?
For those that don't know this is a major issue for KSP.
r/kittenspaceagency • u/panic_in_the_galaxy • 12d ago
ποΈ Patch Notes Version 2026.7.5.4892
TLDR in the comments.
- Changed the ground clutter render resources to use the SimpleGraphicsPipeline abstraction in preparation for multi-material support and render techniques.
- Added a dummy tree model with 2 primitives to test ground clutter multi-material rendering in the future.
- Added ground clutter material buffer and replaced all texture bindings with it. Ground clutter receives its material via gl_DrawID and a material buffer ID offset passed in via push constant, since the materials are global to the ground clutter renderer and the draws are local to each ecotype. In the future this will reduce the number of pipeline rebinds required when rendering ground clutter, since they'll only then need to be changed when the render technique changes.
- Updated ground clutter colour, depth and shadow shaders to support the material buffer.
- Added primitive material IDs to MeshReference to track which materials apply to which primitives. Could probably handle it better in the future if materials are ever actually loaded from the gltf, otherwise this avoids losing info about which material goes where.
- Updated how materials are applied to ground clutter: Rather than defining one material per ecotype, all unique materials that can appear on any mesh in the ecotype should be defined. Then each object LOD (individual mesh / glb file) lists references to the ecotype materials that appear on that mesh matching the order of materials in whatever program was used to create them.
- Added validation checks for XML ground clutter materials.
- Fixed rebuilding the renderer causing a crash since the changes to how ground clutter pipelines are built.
- Added multi-material support to the ground clutter renderer.
- Sorted ground clutter primitives by pipeline. This means the renderer can batch all primitives using the same pipeline into one DrawIndexedIndirect call.
- Added a debug tree ecotype to Earth, disabled in XML. It contains two primitives: Leaves and trunk, with a material for each.
- Increased lateral distance to sample the terrain for central difference normals from 5 to 15 to reduce precision error.
- Increased scratch buffer size by the minimum alignment.
- Aligned the scratch buffer device address up to the next scratch buffer offset alignment. This should fix a validation error on AMD.
- Implemented a pre-pass for collision detection between vehicles. At high time warp, this prevents Bepu from generating tons of spurious speculative contacts and dropping into expensive collision detection mode. In-game, this presented as 'hitching' (often quite severe) when time warp is very high and you had vehicles in crossing orbits.
- Vehicles set to "ignite" no longer prevent the vehicle from going on-rails if there is no propellant available. This was a tremendous cause of slow performance after discarding stages.
- Added a fast path for ocean-bound vehicles to go into the floating (on-rails) state when far away from the camera to avoid pointless buoyancy simulation.
- Fixed vehicles not being able to go into the "bottomed" state properly when on the sea bed.
- Added an alert for "no active engines".
- Fixed vehicle angular velocity becoming corrupted when transitioning between CCI and CCF coordinate frames.
- Added in-flight dV/TWR/Isp readouts to the staging window. SequencePerformance is now recomputed every tick for controlled vehicles from the VehicleUpdateTask worker (while the window is open), evaluated at the vehicle's true ambient pressure.
- Added Isp to the sequence performance readout (header row in editor + flight, and the Delta-V debug window). Effective Isp = net thrust / (mass flow Β· g0), consistent with the dV formula.
- The active sequence in flight reads as a live instrument: Isp and dV derive from the actual current exhaust velocity (per-nozzle thrust/mass flow at real ambient pressure and throttle) and TWR from the thrust actually being delivered β an honest 0.00 on throttle cut. With no engines ignited (or after shutdown) all three fall back to max thrust at the current ambient pressure, advertising the sequence's capability. Non-active sequences (and
- the editor) keep their static user selected Vac/Atm estimates.
- Fixed EVA kittens spawning at the door part's position, where their collision hull intersected the vehicle and physics kicked them into a spin. Kittens now spawn just outside the door: pushed along the full-part-origin-through-door direction by the kitten's own collision radius plus a small safety margin. This is still temporary as later we will add a ladder/spawn point to the model.
- Added a collider to KittenBackPackPart (0.35m sphere covering the MMU pack and RCS nozzles). Without one the kitten fell back to the default 2x2x2m bounding-box collision shape, which dwarfed the actual kitten and collided with everything nearby.
- Added GlintShininess, AtmosphereAttenuation and GlintFadeInPixelSize to
- DistantGlintSettings (XML + editor sliders + DoubleReference round-trip +
- clamps on load).
- ComputeGlintAngleDegrees now folds body-up roll around the camera view axis
- into the pose angle. The forward-only term degenerated face-on, so a ring of
- identically-oriented-but-rolled vehicles all sampled the same curve position
- and glinted in unison; adding roll keeps them distinct.
- Added ComputeGlintAtmosphereTransmittance: mean cameraβvehicle transmittance
- through the camera's nearby atmospheric body, reusing the sun-lighting
- analytic model. ComputeGlintMultiplier fades the glint toward GLINT_MIN by
- this transmittance, scaled by AtmosphereAttenuation (0 = ignore, 1 = full),
- so glints dim correctly when viewed from a planet surface.
- (Currently disabled) Glinting vehicles now fade their sprite in at max(SPRITE_END,
- GlintFadeInPixelSize) instead of SPRITE_END, so the glint can appear at the
- apparent size where the vehicle's shape stops being discernible. SPRITE_END
- stays as the floor so the slider can't defer the sprite past the plain path.
- This feature is currently disabled as the fading between mesh and sprite looks
- very bad.
- Removed the hard-coded GLINT_SHININESS constant; the exponent is now driven
- by DistantGlintSettings.GlintShininess.
- Replaced the magic 0.25 in the alignmentβspec lerp with a named
- GLINT_MIN_ALIGNMENT_SPEC constant.
- Added an optional xGridStep parameter to CubicHermiteSplineEditor.EditSpline
- / DrawGridLines. Angle-keyed glint curves pass 45Β° so X labels sit on fixed
- equal intervals instead of the zoom-dependent power-of-two step.
- Fixed missing and/or miscolored initial points in near-planet danger trajectory visualization.
- Fix glints popping when fading in due to WIP code for making the glints fade in sooner. Glints still fade in too late, which is being worked on.
- Fixed several O(nΒ²)-class performance issues when decoupling parts from a vehicle: Vehicle.Split's staging tail and PartTree.ResetStaging are now bulk-guarded (previously every SetStage rebuilt every resource manager β one full rebuild per part); part and module removal during a subtree transfer is single-pass instead of a linear List.Remove per item; the module-state transfer resolves its reflection once per module type as a cached delegate
- instead of MethodInfo.Invoke per part; RemoveSpentSequences batches its removals; and ProcessTree membership checks are O(1) set lookups instead of linear scans.
- The split-off vehicle is now configured once instead of twice: body-frame normalization happens before the vehicle is created, so the constructor computes mass properties and builds the Bepu collision compound against final geometry, eliminating a redundant full reconfigure (and a collision-compound teardown/rebuild) per decouple.
- Fixed module swap-removal leaving stale indices in the id-lookup dictionary (lookups could return the wrong module after parts were removed), and re-adding a previously removed module no longer throws.
- Fixed rolling resistance to use the inverse inertia, not the inverse mass.
- Ramp resistance to zero as the body stops rolling to avoid "holding up" bodies against the force of gravity.
- Increased rolling resistance overall to promote bodies settling down faster.
- Animations are now sampled in local space and then collectively transformed into TRS space. Previously we were transforming each pose into TRS.
- Added a rotation specific sampler. There are usages where we only want to use the rotations from a sampled pose, however we are sampling the entire pose, and then throwing 2/3rds of it away. Now we are able to only sample the rotations if we want.
- The kittens blink animation is no longer always sampling, previously it was always sampling even if it wasn't used for anything.
- Set the vehicle editor's axes gizmo to match the vehicle ASMB frame orientation.
- Fixed out-of-frame-order particle updates which show up as a large offset in CCF.
- Add rotating-frame ficticious forces to particles to avoid them drifting away from vehicles at orbital speeds.
- Integrate particle positions with velocity verlet to quash error at orbital speeds.
- Restored kinematic measurement calcluations while bodies are in contact with one another.
- Fixed alpha-to-coverage not working with MSAA enabled following the ground clutter renderer changes.
- Added AlphaToCoverageEnable bool to SimplePipelineCreator. Technically owned by the multisample state, but the way SPC is set up means it's either enabled for the entire render pass or not at all. This allows A2C to be enabled only for pipelines that require it.
- Decoupling - More performance improvements. collapsed the ~3 derived-data rebuilds per split to 1 β the part transfer skips cache recomputes the follow-up vehicle reconfigure redoes anyway.
- Fixed Part.Disconnect leaking guard depth on early exit, permanently suppressing cache resets.
- Double buffering of the sequences to avoid racing and the UI display.
- Significantly decreased the size of terrain patches to cut down on terrain sampling costs.
- Added Fuel lines functionality. Player-defined one/two-way fuel crossings between parts (across decouplers or unconnected parts).
- Added scaffolding UI in the Resources window pending dedicated fuel-port parts.
- Fixed flow visualization turning off on any staging/sequence/fuel-line edit.
- Fixed target track burn gizmos for normal/outward being on the wrong plots.
- !THIS BREAKS SAVED GAMES AND SAVED VEHICLES!
- Created new versions of Gemini7 and Rocket.
- Created the ThermoToolkit project to help compute thermodynamic properties of volatile substances (ones which are expected to change phase during the game) and reactions (combustion, decomposition, etc.) for propulsion and other processes. This should be shipped with the game and available to modders.
- Added many new data fields to substances.
- Refactored combustion processes into several sub-categories of a new concept: Reactions. The main takeaway from this is that processes no longer hardcode an O/F mixture ratio, and we can support thermal rockets (like arcjets, solar thermal, nuclear thermal) in the future.
- Added many new potential propellants and new reactions, notably methalox, monopropellant hydrazine, and APCP.
- Replaced pre-configured prop tank combustion processes with an affinity, which can be Engine or Thruster (or both) at the moment. Unless overridden by the player, prop tanks will try and fill themselves with the most sensible propellant mixture.
- Added many new structural materials to use in present and future calculations (aluminums, steels, inconel, carbon fiber, etc.).
- Removed dead PartTemplate.Tank field.
- Removed Nepetalactone, Actinidine, the LR91 Dev engine, and its associated exhaust configuration.
- Added trees to Earth. Currently 5.5km render distance, and quite demanding with shadows enabled at the moment. They have no distribution so they spawn everywhere in grass/grass mountains, including at launch sites and underwater. Disable ground clutter to turn off the trees.
- Reverted subsurface scattering implementation to the reference, which depends on the view direction.
- Changed how double-sided normals are handled - the normal is still flipped, but it is then biased toward the view direction.
- Refactored intermediate shaders involved in ground clutter reordering and dispatch command generation to use SimpleComputePipeline.
- Fixed alpha-to-coverage state not updating when rebuilding the ground clutter pipelines.
- Added debug GPU markers for ground clutter stages (colour, depth, shadow depth) as well as marker per-ecotype. For ex, grass will appear separately to trees in NSight now. Should make debugging ground clutter rendering easier.
- Enabled distance fade dithering on the trees.
- Added alpha-to-coverage support for the distance fade dithering. With MSAA enabled, the trees will fade out more smoothly depending on MSAA level.
- Wrapped activation input application in bulk change guards to prevent repeated reconfigurations when dropping multiple stages.
- Fixed gemini7's engine not being active on game start.
r/kittenspaceagency • u/superbirdjb • 12d ago
π οΈ Modding - Release KSA Modding Society, a Discord for KSA modding
The server's been around since KSA launched in November, now at 550 members. We've got dedicated channels for mod releases, WIP (work in progress), help and troubleshooting, and a modding wiki at https://ksamodding.wiki
We also just released a CKAN fork with KSA support https://www.reddit.com/r/kittenspaceagency/comments/1umlgo6/ckan_for_ksa_early_beta_test_build, so you can install and manage mods without doing it manually, it's still in beta but it's working.
A few of the RocketWerkz devs and Ahwoo staff are in the server too which has been useful for modding questions, and other questions.
If you're making mods or just want to follow what's being built, feel free to join :)