Kitten Space Agency

182 readers
5 users here now

A community for the planned game with placeholder name Kitten Space Agency, developed by Rocketwerkz as the spiritual successor to Kerbal Space Program.

Rules:

Note:

Official KSA discord: https://discord.com/invite/kittenspaceagency/

founded 2 months ago
MODERATORS
1
26
What we know so far (sh.itjust.works)
submitted 2 months ago* (last edited 1 month ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

First of all, I can't be bothered linking every source, so I'll just list what I remember hearing from official sources, mostly Rocketwerkz CEO Dean Hall. I will update this post as more information becomes available.

  • Current status: Active development. Some semi-playable tests have been seen. According to the devs the first milestones have been reached: "universe simulator" and "yeeting around in the solar system". These are currently being refined. The next milestone is parts building (not to be confused with ship building) to allow for easy additions or modification of parts from which ships can later be built. The gitbot has recently reported many code changes related to parts.
  • Platform(s): Depends on the popularity of the end result. The main development target is windows, but some of the devs are on other platforms, so porting is highly possible, just not a priority. It is worth noting that Rocketwerkz' other games run fine via wine/proton. They have internal Linux builds, so while Linux is not supported officially, it's not directly unsupported either.
  • Engine: Developed in-house. The name is "Brutal framework". Highly flexible and purpose-built for KSA. Seems extremely efficient and optimized with great multithreading. The name comes from the fact that "it's quite brutal to use" (Citation by Dean Hall), in that you have pretty much raw access to Vulcan.
  • Modding: Confirmed and highly prioritized
  • Pricing/business model: Not set in stone, but Dean Hall has said on multiple occasions that he would like to have some sort of free access. This may or may not involve pay-what-you-like, freemium, or other models. Hall has expressed the desire to have the game funded via contributions, an distributedfor free via bittorrent. However, they will not be taking contributions before they have something playable.
  • Multiplayer: Confirmed
  • Early access: Unknown in the traditional sense. However, the intention is to have early playtests (free) available during 2025
  • Interstellar travel: Confirmed
  • Currently our real solar system is being used for everything, as it's easy to find assets for it and it's a known model they can test against. However, the intention is to have a smaller and more game-like system later.
  • Similar to KSP in how maneuver nodes work, but with more QoL feature such as automatic calculation of transfer orbits, porkchop charts, and movement of maneuver nodes to best fit for intercept. These have been seen in gameplay.
  • No Online-only or DRM. Dean Hall during a townhall livestream: "All my homies hate DRM"
  • Scripting and automation: "Absolutely! I'm a big fan of kOS". Not surprising, as Stationeers (also by Rocketwerkz) has an implementation of MIPS for this purpose.
  • Water buoyancy: "float and interact with water at minimum". They just started working on the graphical aspect of water, and the physical aspect is still not 100% determined.
  • Colonies: Unknown. Dean Halls doesn't want to say anything on this topic because "colonization can mean so many different things to different people."
2
 
 

From Gravhoek on Discord:

Here's a quick look at my most recent pass on the autopilot control panel. I'm already planning on making a few more changes in the next few days (specifically around burn execution), but you can see what's been done so far. This will also get a pass from Dean and his fancy new UI.

3
16
submitted 6 days ago* (last edited 6 days ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

.

4
 
 

From Linx on Discord:

A quick look at the detail heightmaps in action and how fast it is to make edits to the terrain. It's pretty satisfying to see the textures update to reflect the new context of the terrain. I spent longer than I should have playing around with this!

Detail heightmaps are per-biome so planets won't have the same one everywhere. Due to their tiling/repeating nature they won't be used in places where that becomes obvious; I'm thinking they'll be applied to slopes or cliffs to add some extra detail to stop them from looking lumpy. I'm also going to be looking into procedural elements! Procedural noise is great for adding non-repeating detail that also isn't limited by the resolution of a texture, but requires a lot of care so that different locations don't look "samey". The planets will still be mostly driven by heightmaps, but closer to the surface where the heightmap resolution becomes too low is where procedural elements shine - KSP uses this. Not sure how far down that rabbit hole we'll go as I've only recently started looking into it, but it's something I'm interested in.

I leave you with a fun fact: Minmus in KSP is entirely procedural. If you change the seed using a mod you get an entirely new version of the minty moon 😉

5
 
 

From Gravhoek on Discord:

For anyone interested in how RCS control works internally, I thought I would post a couple shots of its "brain" during a maneuver.

If you have some familiarity with how automatic controls work you've probably heard of PID - that's not how this controller works. The problem with PID is that it doesn't handle actuators (RCS jets, in our case) that have a "minimum impulse" very well. That is, you can't fire an RCS thruster for an infinitely small amount of time. In practice, this means every correction you make is always at least a slight overcorrection, which means you're going to have to accept a bit of "wobble" around your target.

To handle this without constantly firing back and forth and wasting fuel, you need what's called a "dead band" where you just coast and allow your pointing angle to drift away from your target angle a little bit. Then, when you get too far away, you make a small correction and drift back the other way. When you end up in this pulse-drift-pulse cycle around your target and the pulses are minimum pulses (meaning the smallest possible RCS firing time), this is called a "limit cycle", which we will see in this graph.

The graphs here display something called "phase space", which is a general term in control theory. For our purposes, it is a graph of two errors - error being the distance from your target state to your current state. The two errors we care about for each axis are angular error (the X axis) and angular rate error (the Y axis). Basically, how far you are from the target and how fast you are going relative to the target.

The big red dot on the graph is your current location in phase space. The lines on the graph are called switching lines - hence why this is called a "switching line controller". If you are below the lines, it means you need to increase your angular rate. If you are above the lines, it means you need to decrease your angular rate. Between the lines is the "dead band", where all thrusters are off. You can see the lines converge towards zero rate and zero angle at the center, which is why this controller guides the spacecraft to its pointing target.

The three images here show a complete maneuver.

  1. The initial angle offset where the red dots are far outside the lines.
  2. Mid maneuver where the red dots are inside the lines but we are rotating around towards the target. This is the coast phase where we are spinning but there are no thrusters firing.
  3. The "on target" phase where errors are close to zero.

Once you get close to the origin (zero rate, zero angle), the shape of the lines change into the squarish structure you can see on the zoomed picture. Here you can see several things more clearly:

  1. The yellow lines are the switching lines described before.
  2. The green line is the target line - when you are outside the switching line, you try and fire thrusters to hit this target line.
  3. The gray box shows the expected "limit cycle" - the path you expect to take if the spacecraft is doing the least amount of work possible to keep the target within the dead band.

In the video you can see what the limit cycle looks like in practice. Note that the thruster firings in pitch and yaw are slightly coupled (e.g. firing in yaw causes a small change to pitch rate). This is because the thruster pods on the Apollo CSM are slightly rotated around the vehicle, so e.g. the "yaw" thrusters are actually "mostly yaw and a little bit of pitch" thrusters.

Deadband Initial

Deadband Transition

Deadband Steady

Note: The referenced video doesn't want to embed. You can see it here.

6
 
 

From Gravhoek on Discord:

Celebrating finally getting my RCS controller committed! Here is a "solar marathon" while holding a nose forward attitude using RCS.

7
 
 

Posted by Dean Hall this morning.

.

.

.

.

8
 
 

From Blackrack on discord:

Atmosphere rendering improvements: Ozone and multiple scattering

As you've probably noticed in the last few videos, ozone is now supported. Unlike other atmospheric components, ozone only absorbs light (mainly green) instead of scattering it. This enhances the look of sunsets, as without ozone the atmosphere takes on a greenish hue.

The first screenshot compares a sunset without ozone on the left and with ozone on the right. The second screenshot shows the ozone layer from space which can be spotted as a distinct blue band, similar to this photo from the ISS.

Multiple scattering is also now implemented and can be seen on the third screenshot. It allows light to bounce several times in the atmosphere instead of just once. This can be subtle but helps with the realism of the atmosphere. It also works well with godrays, where objects block only the first light bounce, but the atmosphere can continue to receive light from the sky itself, softening the look of atmospheric shadows. The last screenshot shows a mountain casting a shadow on the atmosphere, with both ozone and multiple scattering, similar to this photo

Additional pictures:

.
. .

9
 
 

Loads of updates in the graphics area over the past couple of days. I'll post a summary to morrow, but this one was stunning enough to justify it's own post.

10
2
submitted 1 week ago* (last edited 1 week ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

From Gravhoek on Discord:

Here's what I've been working on since my aerobraking video ~1 week ago. This is our RCS attitude controller which can both null out rotation rates (detumble) and track pointing targets. Unlike in other space sims, our RCS thrusters have minimum firing times. This means spacecraft will use small pulses to steer themselves towards their targets, then "wobble" back and forth with the occasional thruster firing to keep themselves pointed in the same direction.

The extra special trick of KSA is this works at any time warp! In this video you can see the full timescale from 1x real time to 1 month/second of warp, with the controller holding its pointing targets and even transitioning between targets with perfect stability. No more sending your craft spinning into infinity if you time warp a bit too much!

When we eventually add reaction wheels and/or control moment gyros to the game, they will feel meaningfully different because they will be able to do very fine pointing without all the wobble (but won't be nearly as powerful as RCS).

11
 
 

Posted by Dean Hall today.

4k version available here

12
 
 

Posted by Dean Hall today

4k version available here

13
 
 

Published by Dean Hall today

4k version available here

14
 
 

Published by Dean Hall today

4k version available here

15
 
 

From Blackrack via Discord:

A look at a blue sunset on Mars. More refinements will be made to the atmospheric scattering model to better reproduce Mars's atmosphere. Unlike Earth’s sunsets, where Rayleigh scattering and wavelength-dependent extinction are responsible for the sunset color, Mars's sunsets are controlled by a different mechanism where the scattering angle itself is what changes based on the wavelength.

All pictures from the post:

.

.

.

.

16
18
submitted 1 week ago* (last edited 1 week ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

All of this is procedurally generated and will therefore scale to any resolution. This gif compression really doesn't do it justice.

17
8
submitted 2 weeks ago* (last edited 2 weeks ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

From Gravhoek on Discord:

While testing...other things, I captured this footage. This is 24 hours hanging over Hawaii (note that I turned clouds off so you can see the terrain better). I actually got into this orbit manually - even though it's obvious that geosynchronous orbits would work in KSA, it's still cool to see!

18
 
 

It's mostly stuff I've already covered in my posts, but I'd say it's still worth a watch because:

  • He's a generally good source of info, and a lot of t better at presenting objective facts than I ever will be.
  • Interest in his channel leads to interest in KSA, meaning (hopefully) more contributions to the game when it's time for that.
  • There's an interesting nugget of information about Nate Simpson
    Tap for spoilerof KSP2-fame (or infamy) (redacted due to coummunity rules)
    ...and what he's been up to lately in there. I for one hope he succeeds, as I feel he got severely shafted by Take2.
19
 
 

Multimonitor users rejoice!

From Dean Hall a.k.a. Rocket on Discord:

you can now pop out instruments onto any window or screen!

20
 
 

From Gravhoek via discord:

Aerobraking passes at 1 week/second time warp. There is no trickery here - we are simulating all of the parts outside of the atmosphere with Kepler, and all of the parts inside the atmosphere with full physics.

We'll see if it remains as efficient and flawless once they've implemented a more robust and realistic drag model instead of the current spherical placeholder.

21
 
 

We have your plan figured out buddy, you are going to fill a spaceship with empty boxes and objects placed precariously close to edges, lure all of earth's cats on and then send us to mars so dogs can rule earth.

Good luck herding us into the spaceship!

22
 
 

Gravhoek on discord:

I added a simple spherical drag model to our humble CSM. Here we are falling through Blackracks beautiful clouds at terminal velocity.

23
 
 
24
4
Camera modes demo (dreifir.com)
submitted 3 weeks ago* (last edited 3 weeks ago) by neidu3@sh.itjust.works to c/kittenspaceagency@sh.itjust.works
 
 

From Gravhoek on Discord:

Here are all the camera modes that are currently in the game. Each of them has their use, some more niche than others!

For those of you on mobile, the camera mode names can be a bit hard to see, but they are as follows, in order of appearance:

  • Parent
  • Stars
  • Chase
  • Surface
  • Orbit
  • (switched to map view, which seems to be a
25
 
 

Source: gitbot

gravhoek-rw

+ Added the ability for vehicles to collide with and rest on planetary surfaces. This is a very simple version to start which treats the vehicle as an analytic sphere and only collides directly in the radial direction. It also does not take the surface normal into account at the moment.
+ Added a symplectic Euler integrator which we use to resolve collision along with a scheme of sequential impulses.
* Major rework to vehicle state and update logic. We can now choose multiple different update methods within a single frame - for example, taking a Kepler step to the edge of the atmosphere, integrating with velocity Verlet to the surface, and resolving and impact with symplectic Euler.
* Added a minimum target framerate to prevent the FPS "death spiral" when there is too much work to get done in a single frame, so the target frame time increases exponentially each time. We will now scale back the time compression rate to try and fit within a reasonable frame rate.
+ Added a new Simulation tab to the game settings for various physics parameters.
* Adjusted celestial creation to be a full preorder traversal, meaning each celestial is fully baked before its children are instantiated.
* Lowered the minimum camera altitude to 0.5 meters.
+ Added some float3 extension methods and renamed DoubleVectorEx to Double3Ex.
+ Added a physics debug window.
* Changed the patched conics parent impact detector to use a direct calculation rather than a bisect search.
* Fixed attitude snapping using the wrong coordinate frame rates.
+ Fixed debug thruster arrows being drawn in the wrong location.
+ Added LC-39A to Earth landmarks.
view more: next ›