Life Support

Life Support: Air, Water, Food and a Clean Cabin
Kittens now need to breathe, drink and eat. Every seated kitten uses oxygen, water, meals and CO₂ scrubber canisters.

This is tier 1 of life support: everything is carried from launch and nothing is recycled yet. Recyclers, greenhouses and living off the land will come in later tiers.

Life support has been done plenty of times before in KSP mods and in other survival games, including our own Stationeers.

So before writing any code I did a lot of research going through what worked, what didn't, and what players said about it.

All that research told me that Life Support boils down to the following rules:
  • Life support should be a limit on mission length and not a chore.
  • Every failure should be explained and its cause on screen and available to the player.
  • Penalties need a reward. Recyclers, greenhouses and living off the land are unlocks that make longer missions possible, not just add extra costs.
Key Design considerations:
  • Time warp and background simulation are the core problems in existing mods and games.
  • Punishment versus planning. Life support is about planning, not punishment.
  • More detailed life support simluation does not equal more gameplay depth.
  • Fully closed loops remove the time pressure.
  • Health, stress and habitation mechanics overlap.
  • Forecasting and player information decides whether life support feels fair.
NOTE: I expect life support - along with a lot of gameplay systems will eventually be togglable via gameplay difficulty settings in different gameplay modes. But right now, we do not have gameplay difficulty settings or gameplay modes. So this feature, along with any others are on by default and cannot be disabled.

The rates, loadouts and UI shown here are by no means final. The numbers are real human ones for now and will get balanced once there's more to do on a long mission.

What a kitten needs​

For now kittens use real human rates taken from NASA's Baseline Values and Assumptions Document (BVAD) for an 82 kg reference crew member. We can retune them later.
SupplyPer kitten per dayWhere it's kept
Air (oxygen)0.895 kgTanks with the Air role
Water3.2 kgTanks with the Water role, drawn in 0.5 L units
Food3 meals, 0.8 kgHabitat storage
CO₂ scrubbing1 canister per 1.5 kitten-daysHabitat storage
The water figure covers drinking (2.0 kg), food preparation (0.5 kg) and hygiene (0.7 kg).

Meals and scrubber canisters are Apollo and Gemini era: about 0.27 kg a meal, and LiOH canisters of 2.3 kg rated for 1.5 kitten-days each.

Oxygen is a gas now​

Tanks can now hold gases, so oxygen is stored as high-pressure gas. A tank's rated pressure is worked out from its wall:shape, thickness and the wall material's strength at its storage temperature with a safety factor of 2.

The capsule's small 0.175 m aluminium bottle holds 5.4 kg of oxygen at 203 bar. The part window shows each gas tank's pressure and rated pressure.

Want more air or water on your vehicle? Tick Air or Water under Role Affinity on any existing tank and it fills with oxygen or water. Air and Water each need a tank to themselves, so ticking one clears the other boxes. A tank that only the crew draw from shows Supply Use instead of Propellant Use.

01a19fe5-d765-7b08-bd74-87cd5c726d74

Habitats​

Any part kittens can sit in or move through now has a habitat. A habitat has a habitable volume which is the space the kittens live in and a storage volume where meals and scrubber canisters are stowed. That's how real spacecraft did it: Apollo had a LiOH locker in the cabin and the ISS keeps its food in bags.

The two crewed parts are loaded so all four supplies run out together after three days:
PartKittensCabinStorageTanksLasts
Medium capsule21.4 m³0.042 m³
18 meals, 4 canisters
5.4 kg O₂
19.2 L water
3 days
Lander Cans11.76 m³0.021 m³
9 meals, 2 canisters
Half the capsule's3 days
Older saves pick up the new supplies too. A capsule's new tanks load full in a save made before life support existed.

Packing light​

Select a crewed part in the editor and its part window has a Habitat Storage section with a Meals slider and a CO₂ Canisters slider, each from empty up to what the storage holds.

01a19fe5-fd13-74e5-9209-fdebfa403478

Carrying more: supply lockers​

As mentioned a crewed part's storage can only store three days life support resources for the capsule's two kittens.

There's a new Life Support category in the editor's part picker with two supply lockers that fit into a service module's bays:
PartStorageHoldsFor two kittens
SL-M1 Supply Locker0.021 m³9 meals, 2 canisters1.5 days
SL-M2 Supply Locker0.105 m³45 meals, 10 canisters7.5 days
To make that work, every service module now has a habitat of its own. It stores nothing and adds no living space but kittens can pass through it. So a service module under a capsule joins the capsule's zone. A locker in its bays joins the same zone and its meals and canisters go into the crew's pantry.

The lockers borrow the bay tank models for now, so a locker and a bay tank look the same until they get models of their own.

01a19fe6-2660-7be0-9b3f-fe826bca68ca

Zones and hatches​

Life support doesn't run per vessel, it runs per habitat zone.

PArts that have Habitats attached directly to each other form one zone. Put anything else between them and you have two zones with two separate pantries. Crew passages and service modules carry an empty habitat, so they join zones together.
  • Food and scrubber canisters come from the zone's own habitats. One zone can't eat another zone's meals.
  • Air and water come from any Air or Water tank the vessel's plumbing reaches, so zones on one vessel share tanks.
  • Scrubbing is per zone, not per kitten. The zone's crew wears down the installed canister, and when it's spent a stowed one is swapped in.
Docking ports now have a hatch. Docked port menus have Open Hatch and Close Hatch, and both ports of a pair open and close together. With the hatches open two docked vessels' habitats become one zone and share one pantry.

Close them and the zone splits again. Hatches are closed by default and automatically close when you dock or undock and are persisted in save games.

01a19fe6-3dc3-7a63-a514-6f8f597e6723


01a19fed-c0c3-757f-bdae-f2d28a61288a

Habitat Zones window​

The new Habitat Zones window is available in the vehicle editor and flight. (shortcut Shift+F6). Each zone lists:
  • Total habitable volume and volume per kitten.
  • Storage, meals and canisters.
  • Which kittens are in it and how long its supplies last.
  • A warning for a crewed zone with no storage, meals or canisters, so you catch it on the pad and not in orbit.
Tick a zone's Highlight box, or Highlight all zones, and its parts are tinted by how it's doing: green when it's fine, yellow with less than a day left, red with less than an hour left or once something has run out. Hovering a zone in the list tints it too.

01a19fef-20e7-7c78-84ff-993eefa99fbf

Moving between seats​

Until now a kitten could only change seats in flight by going out on EVA through one door and climbing back in through another. Now there's a SEAT button beside EVA on each crew portrait and a Move button beside each kitten in the Habitat Zones window.

Either one lists the empty seats in the kitten's zone including a docked vessel's seats through an open hatch. While the menu is open the kitten's current seat is marked in the world with a green dot and an arrow points to whichever seat you're hovering the mouse cursor over.

01a19fe6-73c3-7161-a0ca-261827e4e0f6


Crew portrait SEAT menu open, with the arrow from the current seat to the hovered oneKnowing how long you have

Life support UI information​

Life support reads as one line: days left and what runs out first.

It shows in the same places delta-v already does, plus a few more:
  • Editor: a LIFE SUPPORT row under TOTAL dV in the sequence footer with the crew it assumes underneath ("2 kittens assigned", or every seat filled when nobody is assigned yet).
  • Resources gauge: four rows pinned under a LIFE SUPPORT divider, for Air, Water, Food and CO₂ Scrubber, with each how much time of each is left.
  • Universe Manifest: a life support column so you can check vessels you aren't flying.
  • Transfer Planner: a warning under the delta-v when the trip takes longer than your supplies last.
  • Part window: a crewed part shows its zone the kittens in it and the time left for each supply.
The information you see in the vehicle editor and in flight use exactly the same calculations so the figure you plan with is the figure you fly with.

01a19fe6-8735-7a75-a616-f3c190158154


01a19fec-dd01-7285-8140-f35c34674ae2


As supplies run down the warnings escalate through four states:
StateWhenWhat happens
OKMore than 1 day leftNothing
Low1 day leftAlert, warp drops to 1×, and a "Life support low" line while you're flying that vessel
Critical1 hour leftAlert, warp drops to 1× again
OutA supply runs outAlert, warp stops
The thresholds are fixed times rather than a percentage. I chose this because 10% sounds sensible until you notice it's 7 hours on a 3-day capsule but 73 days on a 2-year ship.

Alerts cover every crewed vessel not just the one you're flying. Vessels not being controlled by the player also consume life support resources and will run out too.

Consumption is linear. So a vessel's supplies are worked out in one step however long the warp step is and the warp step is cut short at the next warning or run-out.

What about performance? I hear people saying​

It's also cheap. With 121 crewed vessels in orbit the stress test for all of them costs about 0.06 ms of main thread a frame and frame time and sim rate didn't change measurably.

What happens when we runs out?​

Yes, kittens will DIE and there's no setting to turn it off. IT is expected once we start building game modes and difficulty settings that a lot of these settings and options will be introduced then.

Yes they will die, but it isn't instant.

From the moment a supply runs out each kitten climbs a ladder for that supply, with hours to weeks between the rungs:
RungNo oxygenNo CO₂ scrubberNo waterNo foodEffect on the kitten
Degraded3.5 h2.5 h1 day14 daysRefuses to go on EVA
Incapacitated6 h5.5 h3 days30 daysCan't move seats. If every kitten aboard is incapacitated and there's no probe core, the vessel can't be flown
Death9 h8 h7 days45 daysDies, with an alert naming what ran out
The oxygen and CO₂ hours come from how fast cabin air goes bad: CO₂ above about 10% is fatal, and so is oxygen below about 10%. The table is for 2 m³ of cabin per kitten.

The hours scale with each zone's habitable volume so a cramped cabin goes bad faster, while water and food don't scale. The capsule gives its two kittens 0.7 m³ each so without oxygen they're degraded 1.2 hours after it runs out, incapacitated at 2.1 hours and dead at 3.2.

Every kitten keeps its own life support status and countdown clocks and takes them wherever it goes. It counts down against the zone's supplies for the zone that it is currently inside.

So one zone running dry doesn't hurt the kittens in the next zone.

Resupply stops the countdown clocks and the clock then runs back down at the rate it went up. A kitten on EVA recovers too, because the suit supplies everything, and so does a kitten back home. Only death is permanent.

Reaching a rung raises an alert, such as "Juquartz is incapacitated: no oxygen", and drops warp to 1×. Warp lands exactly on each rung so it can't carry you past one.

Losing control​

A crewed pod needs someone awake to fly it. When every kitten aboard is incapacitated, manual controls, staging, engines and burns lock out, and an alert says the vessel is out of control.

Hover a greyed-out control and it tells you why.

A vehicle with a probe core keeps flying the vessel so it doubles as a backup pilot.

Seeing how each kitten is doing​

  • Crew portrait: now has a line under the radiation doses, "Degraded: no oxygen" in amber or "Incapacitated: no CO₂ scrubber" in red. Hover it for each supply's clock: "No oxygen for 4h, incapacitated in 2h", or after resupply "Has oxygen again, recovered in 3h".
  • Kitten Roster: now has a Condition column with the same text and tooltip so you can check kittens on vessels you aren't flying.
  • Memorial tab: now has a Cause of Death column for every way a kitten can die: no oxygen, CO₂ scrubber, water or food, radiation, a ground or ocean impact, a collision, g-force, aerodynamic or hydrodynamic forces, a fall on EVA, or an abandoned vessel. It's saved with the game. Kittens lost before this update show it blank.
01a19fed-4a3e-7ab2-861d-8f2d9ff3fe12


01a19fed-6d1c-79d9-ab27-04e235f63d4c


01a19fe6-9f82-707a-99a6-e03dc8cdbd30

Carry it or recycle it​

Real spacecraft either carry everything they need (an open loop) or recycle some of it (a closed loop). Apollo carried everything. The ISS recycles air and water but still gets its food from cargo ships. Which one makes sense comes down to mission length.

A NASA Ames study (Jones, 2016) put numbers on it:
ApproachMass
Carry everything~9.3 kg per crew-day
ISS-style recycling~730 kg up front
+ 0.2 kg per crew-day
Recycling pays for itself after about 80 days. You'd want a spare system that far from home and every spare pushes the break-even out: about 180 days with two systems, 240 with three and 300 with four. Real programmes have moved along that curve:
ProgrammeApproach
ApolloFully open: everything carried
ISSAir and water partly closed, food carried, cargo resupply
GatewayMostly open, for 30-day crew stays
Mars transitClosed, and it has to survive a year with no crew aboard
Even the best loops leak. The ISS gets back 98% of its water since a brine processor was added in 2023, but only about half its oxygen, because the reactor that turns CO₂ back into water vents methane, and with it hydrogen.

Leaky loops are good for gameplay: a recycler buys you time but never makes a ship last forever.

Growing your own food closes the loop further but it's fragile. China's Lunar Palace 1 ran 370 days at 98.2% closure, with all of its oxygen and water and 73% of its food recycled. Biosphere 2 went the other way: oxygen fell below 14.5%, crops failed and the crew lost 16% of their body weight.

So KSA's tiers follow the real progression. Tier 1 is Apollo: carry it all. Each tier after that closes part of the loop and makes longer missions possible. Short trips will keep carrying everything, and long ones will need the hardware.

What's next​

NextWhat it addsWaiting on
Supply transferMove meals and canisters between habitats, and across an open hatch to a docked vessel. Moving gas between tanks for docking resupplyTier 1 finished
Tier 2: recyclingRegenerable CO₂ scrubbers that run on power, and water recovery at rising rates. Losing power starts to matter for airPower design
Tier 3: oxygenOxygen from electrolysis and CO₂ reductionTier 2
Tier 4: greenhousesGrow part of your food, at a high power and light costTier 3
Tier 5: ISRUWater from ice, oxygen from CO₂ atmospheres, using what's on the groundTier 4
Locker modelsProper models for the supply lockers in place of the borrowed bay tanksArt
Living spaceCabin volume per kitten as a comfort level. Cramped kittens work slower, comfortable ones a bit faster. It's a modifier, never a death timer.Science and repair to affect
ModdingRates, meal and canister sizes and the ladder moved into content data, so mods can make life support gentler or harsherTier 1 finished. Most likely ends up as difficulty settings
 

Enjoyed this update?

Support the team behind Kitten Space Agency to keep updates like this coming.
For future consideration once different difficulties are introduced: I believe that incapacitated level should be a default maximum when running out of LS in whatever the equivalent of "normal" difficulty is, and death being an additional option to toggle.
Why?
"Planning, not punishment". While I agree, I suppose it's worth pointing out that as players, we'd be singlehandedly maintaining the entire space agency, without having dozens of people and months of planning and calculations. Kitten death would be a punishment because mishaps, accidents and miscalculations happen with nobody to crosscheck the data. Run out of fuel on the way back from a moon? If not on a collision course there's a chance for potential rescue mission, as we've done countless times in the [REDACTED]. But if said rescue mission cannot be done in a timely manner because, let's say, the trajectory of the stranded ship isn't great, then one may just give up because there will be nobody to rescue by the time the second vessel arrives. Not great deal of fun, and could happen for a plethora of reasons, not necessarily related to planning.

I know kittens are expendable, as bad as it sounds, but a death in space (due to suffocation or starvation) is bad for PR and morale. And sad. At least more sad than seeing them go in a big fireball.

Make it an option.

Just (a bit more than) two cents to the gameplay system I generally support.
 
Back
Top