garwel

[1.7.3] Kerbal Health 1.3.7 (2019-07-16)

Recommended Posts

14 hours ago, OwenM said:

Would you like a basic (Noob!) 3D model for a part?

(sorry if already posted)

 

 

 

 

 

*Click* opens 3D model software.

I don't see the part or the link. But in any case I don't plan to add any parts in this mod in any foreseeable future; I want to balance it against different mods instead.

Share this post


Link to post
Share on other sites

Just discovered this mod, and I'm looking forward to trying it out (as soon as I have a working computer again.) At first glance it looks like using this in conjunction with Snacks will provide a modular alternative to all-in-one life-support mods like USI-LS or Kerbalism.

Share this post


Link to post
Share on other sites
11 hours ago, PocketBrotector said:

Just discovered this mod, and I'm looking forward to trying it out (as soon as I have a working computer again.) At first glance it looks like using this in conjunction with Snacks will provide a modular alternative to all-in-one life-support mods like USI-LS or Kerbalism.

Please share your experience with me. I haven't played with Snacks, so I wonder how it works together with KH.

Share this post


Link to post
Share on other sites
4 hours ago, garwel said:

Please share your experience with me. I haven't played with Snacks, so I wonder how it works together with KH.

From the manuals it sounds like they should dovetail nicely. Snacks gives reasons to bring along crew cabins (recycle waste back into Snacks) and establish bases with science labs (convert Ore to Snacks), which will supplement KH's incentives to bring along crew cabins (reduce crowdedness) and cupolas (restore lost health). 

One caveat is that Snacks gives an option to make kerbals pass out if they miss a meal, which might not play nicely with KH's consequence management. 

The more I think about it, the more I like the HP mechanic. The other life support mods I've seen work on the basis of "here's a bunch of timers - if any of them reach zero, bad stuff happens." Health points, on the other hand, could unify everything so it can be managed together (if hooks into other life support mods provided HP penalties for states like Starvation, Dehydration, and Suffocation). A healthy veteran should be able to survive temporary disaster ("Do you really want to go outside without your helmet, Dave?") but an inexperienced recruit that's suffering from the combination of psychological isolation, microgravity-induced bone-density loss, and a random case of the Eeloonian Plague would be only one missed snack away from total collapse.

Share this post


Link to post
Share on other sites
21 minutes ago, PocketBrotector said:

The more I think about it, the more I like the HP mechanic. The other life support mods I've seen work on the basis of "here's a bunch of timers - if any of them reach zero, bad stuff happens." Health points, on the other hand, could unify everything so it can be managed together (if hooks into other life support mods provided HP penalties for states like Starvation, Dehydration, and Suffocation). A healthy veteran should be able to survive temporary disaster ("Do you really want to go outside without your helmet, Dave?") but an inexperienced recruit that's suffering from the combination of psychological isolation, microgravity-induced bone-density loss, and a random case of the Eeloonian Plague would be only one missed snack away from total collapse.

Yes, my design decision #1 was to get rid of the timers. HP reflects health more accurately: basically, as a resource that you can spend, lose, conserve or restore. So your every action has consequences: travel in a very tight capsule for too long and you may not have enough health for prolonged, exhausting EVAs; however you can have a big station where the kerbal can restore her health and return to duty; you should give the astronauts time to recuperate after hard flights and plan for contingencies, etc.

Edited by garwel

Share this post


Link to post
Share on other sites
9 hours ago, PocketBrotector said:

From the manuals it sounds like they should dovetail nicely. Snacks gives reasons to bring along crew cabins (recycle waste back into Snacks) and establish bases with science labs (convert Ore to Snacks), which will supplement KH's incentives to bring along crew cabins (reduce crowdedness) and cupolas (restore lost health). 

One caveat is that Snacks gives an option to make kerbals pass out if they miss a meal, which might not play nicely with KH's consequence management. 

The more I think about it, the more I like the HP mechanic. The other life support mods I've seen work on the basis of "here's a bunch of timers - if any of them reach zero, bad stuff happens." Health points, on the other hand, could unify everything so it can be managed together (if hooks into other life support mods provided HP penalties for states like Starvation, Dehydration, and Suffocation). A healthy veteran should be able to survive temporary disaster ("Do you really want to go outside without your helmet, Dave?") but an inexperienced recruit that's suffering from the combination of psychological isolation, microgravity-induced bone-density loss, and a random case of the Eeloonian Plague would be only one missed snack away from total collapse.

Well, I use USI LS, and one thing it has is that if you are out of supplies, you have 15 "starving" days to obtain more before you Die.

I don't know how is programmed Snacks, but maybe it could be possible a patch to remove the "death" when out of snacks and, instead, lose health (at a velocity that your kerbal will be dead if didn't find Snacks in 15 kerbal days). Even a similar thing could being included for the others life support mods...

Now I'm curious about that, if I found some free time, I will take a look at the Snacks code, to see if a patch for something like that is even possible.

Share this post


Link to post
Share on other sites
12 hours ago, GonDragon said:

I don't know how is programmed Snacks, but maybe it could be possible a patch to remove the "death" when out of snacks and, instead, lose health (at a velocity that your kerbal will be dead if didn't find Snacks in 15 kerbal days). Even a similar thing could being included for the others life support mods...

With Snacks, you get a penalty every time a kerbal misses a meal. The penalties are configurable but mostly "soft" (rep, funds, or science); KerbalHealth could make the consequences "harder" by deducting ~10 HP with each missed meal.

With TAC-LS, kerbals die a fixed time after they run out of any given resource: 360 hours for food (equivalent to ~2 HP per day), 36 hours for water (equivalent to ~15 HP per day), and 2 hours for air (equivalent to 300 HP per day). 

With USI-LS, there's a built-in "grace period" of 15 days, then kerbals go unconscious. The grace period is a deliberate choice so that players can go on short excursions to the Mun before they have to worry about Supplies (unlike Snacks and TAC-LS, command pods and crew cabins don't come with built-in life support resource storage). So you could either keep the grace period, followed by HP penalties of ~30 per day; or abandon the grace period and reduce starvation penalties to ~5 HP per day, to approximate the same overall survivability.

If we wanted to get fancy, we could think about diminishing returns for starvation, so that hungry kerbals quickly become incompetent (unconscious and/or tourist) but take a long time to actually perish. (That would be a mechanic borrowed from, of all games, The Sims: characters start complaining and refusing to do useful work as soon as they begin missing meals, but the Hunger motive depletes more slowly at lower levels, which leaves more time for the pizza delivery guy to arrive before anyone actually starves to death. :cool:) A happy medium between the "mild" penalty of indefinite unconsciousness-until-rescue and the "hardcore" penalty of sudden-death: life support mismanagement is survivable, but only if you can execute a daringly fast/expensive resupply or rescue mission!

Share this post


Link to post
Share on other sites
On 5/20/2017 at 4:03 AM, garwel said:

I don't see the part or the link. But in any case I don't plan to add any parts in this mod in any foreseeable future; I want to balance it against different mods instead.

I was just asking whether you wanted me to make one. If you don't, that's fine, I'll concentrate on my mod

Share this post


Link to post
Share on other sites

just a note about EC usage...

 

if I have TAC life support installed it is already setup to require EC per Kerbal.  then when this mod is installed that EC usage goes into over drive. 

 

you could make a Patch that detects if TAC is installed, and removes the EC per Kerbal, to avoid this double hit to the EC required for a kerbal's life support.

 

 

Share this post


Link to post
Share on other sites
13 hours ago, Bit Fiddler said:

just a note about EC usage...

 

if I have TAC life support installed it is already setup to require EC per Kerbal.  then when this mod is installed that EC usage goes into over drive. 

 

you could make a Patch that detects if TAC is installed, and removes the EC per Kerbal, to avoid this double hit to the EC required for a kerbal's life support.

I'll look into it.

Share this post


Link to post
Share on other sites
On 5/23/2017 at 1:56 AM, PocketBrotector said:

With Snacks, you get a penalty every time a kerbal misses a meal. The penalties are configurable but mostly "soft" (rep, funds, or science); KerbalHealth could make the consequences "harder" by deducting ~10 HP with each missed meal.

With TAC-LS, kerbals die a fixed time after they run out of any given resource: 360 hours for food (equivalent to ~2 HP per day), 36 hours for water (equivalent to ~15 HP per day), and 2 hours for air (equivalent to 300 HP per day). 

With USI-LS, there's a built-in "grace period" of 15 days, then kerbals go unconscious. The grace period is a deliberate choice so that players can go on short excursions to the Mun before they have to worry about Supplies (unlike Snacks and TAC-LS, command pods and crew cabins don't come with built-in life support resource storage). So you could either keep the grace period, followed by HP penalties of ~30 per day; or abandon the grace period and reduce starvation penalties to ~5 HP per day, to approximate the same overall survivability.

If we wanted to get fancy, we could think about diminishing returns for starvation, so that hungry kerbals quickly become incompetent (unconscious and/or tourist) but take a long time to actually perish. (That would be a mechanic borrowed from, of all games, The Sims: characters start complaining and refusing to do useful work as soon as they begin missing meals, but the Hunger motive depletes more slowly at lower levels, which leaves more time for the pizza delivery guy to arrive before anyone actually starves to death. :cool:) A happy medium between the "mild" penalty of indefinite unconsciousness-until-rescue and the "hardcore" penalty of sudden-death: life support mismanagement is survivable, but only if you can execute a daringly fast/expensive resupply or rescue mission!

The idea of replacing hard grace periods in life support mods with health penalties is definitely interesting. But it can require quite a bit of tinkering with KH's code: it needs to determine which mods are installed, auto adjust its own settings and, possibly, those mods' settings too, check presence of various types of supplies (including on unloaded vessels), and probably interact with the LS mods (to check grace periods, kerbals' status, settings, etc.). Since there are at least four popular life support systems (USI LS, TAC-LS, Kerbalism, Snacks) and they all handle things differently, it can be quite a chore. So I guess it'll have to wait until after I release 1.0, which isn't soon.

On the other hand, anyone can fine tune Kerbal Health's parameters to adjust it for your preferred life support mod or your play style. As of now, its settings are somewhat close to USI-LS in that you normally have 12 to 14 days until your kerbals get exhausted. But you can easily increase or decrease it by playing with various sliders in the difficulty settings. I'll be doing that too in next releases.

Share this post


Link to post
Share on other sites

Kerbal Health 0.6.0

  • KSP 1.3.0 release (not compatible with 1.2.*)

  • Added: Sickness mechanics. Kerbals can now become sick (randomly, mean time to happen = 100 days) and start losing health (5 HP/day). This condition goes on its own (MTTH = 10 days).

  • Added: Update interval now varies depending on time warp, to provide best accuracy and performance

  • Added: You can now specify a custom resource to be used by ModuleKerbalHealth (needs testing, see wiki for details)

  • Changed: Crowded factor now drains -5 HP/day for a cramped vessel (was -6)

  • Changed: Home factor adds +2 HP/day (instead of +5) and only works at altitude 18 km; Home factor now affects kerbals on EVA

  • Changed: Feel Bad event renamed to Accident

  • Changed: Stock Cupola now affects 2 kerbals instead of one

  • Changed: Min/max values for some factors in Difficulty Settings

  • Fixed: Bugs with unloaded/unpacked kerbals and kerbals on EVA (hopefully, need test!)

  • Fixed: Part module info is not displayed any more when Kerbal Health is disabled

Note: As of releasing 0.6.0, Module Manager hasn't been updated for KSP 1.3.0 yet. It means that part modules (e.g. for Cupola or Hitchhiker) will not work and some of the changes in this release havn't been tested. Please wait for the new Module Manager before running KH in your main save.

Share this post


Link to post
Share on other sites

does this imply support for 1.2.2 is over?  the new version either can't, or won't, ever be compiled against 1.2.2?

 

no big deal, just asking as I have far to many mods to switch to 1.3 any time soon.   so I will be remaining on 1.2.2 and the latest version of the mods I have for quite some time, until all or at least the majority of the mods I use being released for 1.3

Share this post


Link to post
Share on other sites
Just now, Bit Fiddler said:

does this imply support for 1.2.2 is over?  the new version either can't, or won't, ever be compiled against 1.2.2?

 

no big deal, just asking as I have far to many mods to switch to 1.3 any time soon.   so I will be remaining on 1.2.2 and the latest version of the mods I have for quite some time, until all or at least the majority of the mods I use being released for 1.3

Generally, I only plan to support the latest KSP version, so yes. But if enough people ask for it, I can try to make one last 1.2.2 release (it requires some small code changes), but without further support.

Share this post


Link to post
Share on other sites

well what ever...  no pressure I am happy with it as it is.   I can wait for the switch 1.3 for the new features.

Share this post


Link to post
Share on other sites
On ‎23‎/‎05‎/‎2017 at 5:56 PM, garwel said:

I'll look into it.

Oooh, this please. LAter game it's not really an issue for me - NUCLEAR POWERED EVERYTHING, but early on I can see it causing some "interesting" problems

Share this post


Link to post
Share on other sites

I believe that kerbal health is causing my game to freeze on load. It happens when it tries to load the cupola. 

Here is the relevant section of the KSP.log:

 

[LOG 12:34:40.790] PartLoader: Compiling Part 'Squad/Parts/Command/cupola/cupola/cupola'
[LOG 12:34:40.825] PartLoader: Part 'Squad/Parts/Command/cupola/cupola/cupola' has no database record. Creating.
[LOG 12:34:40.830] DragCubeSystem: Creating drag cubes for part 'cupola'
[EXC 12:34:40.856] NullReferenceException: Object reference not set to an instance of an object
	KerbalHealth.Core.get_ModEnabled ()
	KerbalHealth.ModuleKerbalHealth.GetInfo ()
	PartLoader.CompilePartInfo (.AvailablePart newPartInfo, .Part part)
	PartLoader+<CompileParts>c__Iterator66.MoveNext ()
	UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)

MM version 2.8.0

Share this post


Link to post
Share on other sites
12 hours ago, garwel said:

Generally, I only plan to support the latest KSP version, so yes. But if enough people ask for it, I can try to make one last 1.2.2 release (it requires some small code changes), but without further support.

I had to remove your mod from my serie's install for the 1.2.2 bug. If yoy plan to update the 1.2.2 release to work as expected, I'll be happy. But this is not a request, just a suggestion.

Share this post


Link to post
Share on other sites

 

1 hour ago, Errol said:

I believe that kerbal health is causing my game to freeze on load. It happens when it tries to load the cupola. 

Here is the relevant section of the KSP.log:

 


[LOG 12:34:40.790] PartLoader: Compiling Part 'Squad/Parts/Command/cupola/cupola/cupola'
[LOG 12:34:40.825] PartLoader: Part 'Squad/Parts/Command/cupola/cupola/cupola' has no database record. Creating.
[LOG 12:34:40.830] DragCubeSystem: Creating drag cubes for part 'cupola'
[EXC 12:34:40.856] NullReferenceException: Object reference not set to an instance of an object
	KerbalHealth.Core.get_ModEnabled ()
	KerbalHealth.ModuleKerbalHealth.GetInfo ()
	PartLoader.CompilePartInfo (.AvailablePart newPartInfo, .Part part)
	PartLoader+<CompileParts>c__Iterator66.MoveNext ()
	UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress)

MM version 2.8.0

Thank you for the report. I found the issue, it was KSP caching too much data, too early. Will release a fix soon.

Share this post


Link to post
Share on other sites

Kerbal Health 0.6.1

  • Added: Kerbals on missions can catch infection from their crewmates
  • Added: Incubation period when the kerbal is contagious but shows no signs of the sickness
  • Added: Scientists and Medics help cure sickness much sooner (when enough are present)
  • Added: Kerbals have temporary immunity from sickness after recovering from it
  • Added: Mobile Processing Lab halves effects of sickness
  • Changed: Events settings are now defined through average periods/duration instead of daily chance (should be more convenient)
  • Changed: Part module info is again displayed even if KH is disabled
  • Fixed: Freeze on loading screen

Download here

In this version, I implemented a rather complex and realistic sickness system with contagion, incubation periods, immunity, risk of epidemics, and actual treatment of diseases by specialists. Let me know how you find it and if it requires rebalancing.

Edited by garwel

Share this post


Link to post
Share on other sites
2 hours ago, Nansuchao said:

I had to remove your mod from my serie's install for the 1.2.2 bug. If yoy plan to update the 1.2.2 release to work as expected, I'll be happy. But this is not a request, just a suggestion.

I will post an (unsupported) version for KSP 1.2.2 as soon as I see that 0.6 series is more or less stable.

Edited by garwel

Share this post


Link to post
Share on other sites
On 5/26/2017 at 3:32 PM, garwel said:

In this version, I implemented a rather complex and realistic sickness system with contagion, incubation periods, immunity, risk of epidemics, and actual treatment of diseases by specialists. Let me know how you find it and if it requires rebalancing.

Interesting! In real life there are extensive countermeasures taken to minimize the risk that astronauts will become ill, but if it makes for more compelling gameplay we can assume Kerbals are sloppier.

Unrelated question: if I have more than one part with that applies multipliers to a particular health factor, how do they stack? Additively, multiplicatively, or not at all? I.e. how do I calculate Crowdedness if I have more than one crew cabin present? This will largely determine how difficult it is to build long-duration vessels such as interplanetary transfer vehicles.

Share this post


Link to post
Share on other sites
17 hours ago, PocketBrotector said:

Interesting! In real life there are extensive countermeasures taken to minimize the risk that astronauts will become ill, but if it makes for more compelling gameplay we can assume Kerbals are sloppier.

Unrelated question: if I have more than one part with that applies multipliers to a particular health factor, how do they stack? Additively, multiplicatively, or not at all? I.e. how do I calculate Crowdedness if I have more than one crew cabin present? This will largely determine how difficult it is to build long-duration vessels such as interplanetary transfer vehicles.

Given that kerbals will often launch vehicles without any pre-flight testing or even a calculated trajectory, I'm sure they may not notice a virus or two in astronaut's blood. This doesn't happen often though, on average, your chance to unwittingly send an infected kerbal on a mission is around 3%.

Multipliers interact in a rather logical way. If they have the same multiplier (e.g. 50%, as most default configurations have), their crew capacities stack. So, for instance, a Hitchhiker (50% to Crowded for up to 4 kerbals) and a Cupola (50% to Crowded for up to 2 kerbals) on the same vessel give a 50% multiplier to Crowded for 6 kerbals. If their multipliers are different, the resulting multiplier will be something in between. You will see the actual estimated HP effect in Health Report in the Editor.

So yes, you can definitely put together a number of hitchhikers and/or crew cabins to have a bonus to Crowded factor for your entire crew. But for very long flights, you'll also need to use parts that provide a marginal health bonus such as the Cupola or many MKS parts. Coupled with generally good health management, it will allow your kerbals to stabilize their HP at some level for the entire mission. Again, it should show in the Health Report, such as "→40 HP (33%)" (it means that the kerbal's health will stabilize at around 40 HP level).

Edited by garwel

Share this post


Link to post
Share on other sites

I released Kerbal Health 0.5.3 as the last KSP 1.2.2-compatible version. It has the same features and bug fixes as KH 0.6.1 (+ one minor enhancement). I am now ceasing support for KSP 1.2.2.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.