Jump to content

[1.8+] Kerbal Health 1.6.4 (2023-01-20)


garwel
 Share

Recommended Posts

4 hours ago, Daniel Prates said:

@garwel would it be possible to have a message appear on-screen when  a kerbal gets an illness?

Similar to what happens in 'DangIt'. There, when a part fail, time compression will come to a halt and a message will appear on-screen ("a photovoltaic panel has failed etc.")

In Kerbal Health compression will stop, but you have to go inside the mod info screen to assess if someone has fallen sick. Its a bit awkward to deal with, specially so if you are monitoring a long trip, because time compression can halt for many other reasons. I had the idea to ask you this when doing a long-term station presence. I wanted my little guys to stay there for an year. So i time compressed. Then TC stops, I check KH monitor, and ... nothing. TC halted for another unknown reason. Then again. Then again. Then again and again and again. In the 10th time or so, time compress stopped and I was ready to ignore it... out of intuition I checked the KH monitor and, voilá, a kerbal had SEPSIS. So you see, it is bad to rely solely on TC stopping to know that a disease happened. A warning would be much appreciated. 

Actually, you should be getting messages every time a kerbal changes their health condition. It may not happen for the kerbals in KSC (check your settings for that). If you are sure you aren't receiving such messages, it is most likely a bug. I will appreciate your log file with Debug Mode enabled in the mod settings.

4 hours ago, Daniel Prates said:

Another question. In  DangIt you will only have fails when you are watching a loaded vessel, one of those things that happen because of how KSP works. Failures do not happen in craft being run in the background. Is it the same with KH? I will only get sick kerbals if I am following the loaded craft before my eyes? 

Kerbal Health applies health conditions and events regardless of whether the kerbal is loaded or not.

Link to comment
Share on other sites

4 minutes ago, garwel said:

Actually, you should be getting messages every time a kerbal changes their health condition. It may not happen for the kerbals in KSC (check your settings for that). If you are sure you aren't receiving such messages, it is most likely a bug. I will appreciate your log file with Debug Mode enabled in the mod settings.

Kerbal Health applies health conditions and events regardless of whether the kerbal is loaded or not.

Ok thanks. Let me get those logs then.

Link to comment
Share on other sites

Hey @garwel its worse than I though. The kerbal I mentioned, who got sepsis? Well I brought him back to KSC, and when he finished healing... he disappeared! KH removed him from, well, everywhere. Even the astrounaut complex. He does not compute as 'dead' anywhere. Just... vanished.

I am unistalling and installing again to see what happens (EDIT: did so. No change). In the meanwhile, would you please explain me how  to extract the logs you want?

EDIT 2: DAAAMMMNN! I know what happened. KH turned him into a tourist, according to my savegame persistent file. Also turned his status to 'dead', though the astronaut complex does nor register him as dead (probably because he was listed as a tourist). EDIT 3: I am aware that mods that change kerbals to tourists can conflict with KH. I have none of those though. 

So here is the question Garwel: if I recover a kerbal when he is on the 'red' (very sick), is it possible that he will die even though being recovered to KSC? Medics saying 'we did our best but were not able so save him' and all?!

 

Edited by Daniel Prates
Link to comment
Share on other sites

On 1/20/2017 at 2:04 PM, garwel said:
  • Connected (having a working CommNet connection to home): +0.5 HP/day
  • Home (in Kerbin's low atmosphere): +2 HP/day
  • KSC (kerbal is recuperating at KSC, i.e. available): +4 HP/day

are these really the only way to heal kerbals? Because if i want to travel far, (like grannus or kerbol from beyond home) I dont think 50-150 days is enough to make it to there and back. Or do i have to make a mothership for kerbals to heal?

Edited by Drupegod02
Link to comment
Share on other sites

@Drupegod02 The answer to your question mostly or surely lies here. After understanding this (from the opening post), a little mandatory playtesting:

On 1/20/2017 at 3:04 PM, garwel said:

Health Recuperation

Certain parts (such as the Cupola) provide Recuperation bonuses. If a kerbal receives, say, a 1% recuperation bonus, he/she will recover 1% of their lacking health (i.e. of the difference between their current HP and the maximum HP) every day. This change works in parallel with the normal health factors above.

Example: A 5-star kerbal (maximum HP = 150) currently has 70 Health Points and is in a vessel that gives him 2% recuperation. The vessel has 10 units of living space and he has connection and he has a crewmate. Therefore he recovers (150 - 70) x 2% = 1.6 HP per day and loses also (0.5 + 3 x 2 / 10 + 1 - 0.5) = 1.6 HP per day. It means that the marginal change balances out the "normal" change and his health will stay around 70 HP (47%) until the situation changes.

As you see, this mechanics may allow some kerbals to stay relatively healthy indefinitely. It may look cheaty, but the point is that: (1) there should be a way to design long-term missions without spamming crew space, (2) it requires a lot of heavy parts and therefore still difficult, (3) the balanced health level is usually far from 100% and may fall lower if circumstances change (e.g., new crew arrives and fills the station), (4) these bonuses require a lot of EC, (5) radiation still keeps mounting...

The GitHub wiki for this mod also exists and will be very helpful.

Link to comment
Share on other sites

On 7/15/2020 at 2:37 AM, Daniel Prates said:

Hey @garwel its worse than I though. The kerbal I mentioned, who got sepsis? Well I brought him back to KSC, and when he finished healing... he disappeared! KH removed him from, well, everywhere. Even the astrounaut complex. He does not compute as 'dead' anywhere. Just... vanished.

I am unistalling and installing again to see what happens (EDIT: did so. No change). In the meanwhile, would you please explain me how  to extract the logs you want?

EDIT 2: DAAAMMMNN! I know what happened. KH turned him into a tourist, according to my savegame persistent file. Also turned his status to 'dead', though the astronaut complex does nor register him as dead (probably because he was listed as a tourist). EDIT 3: I am aware that mods that change kerbals to tourists can conflict with KH. I have none of those though. 

So here is the question Garwel: if I recover a kerbal when he is on the 'red' (very sick), is it possible that he will die even though being recovered to KSC? Medics saying 'we did our best but were not able so save him' and all?!

 

I need the KSP.log file from your KSP install folder. Did you enable Debug Mode in Kerbal Health settings? It will be very helpful if you have.

PS: I'm sorry for your astronaut. 

Link to comment
Share on other sites

On 7/19/2020 at 3:13 AM, garwel said:

I need the KSP.log file from your KSP install folder. Did you enable Debug Mode in Kerbal Health settings? It will be very helpful if you have.

PS: I'm sorry for your astronaut. 

@garwel nevermind. The notifications are there indeed, but they appear only in the notifications gizmo, which (and this is KSP's fault) is not a good way to send warnings. It is easy to miss the discrete green flashing warning.

What I had in mind is the warning appearing across the screen, in the upper middle, in yellow  letters - same as the game uses to show timecompresson rate, quicksave messages, and other warnings. As I said before, DangIt uses that system and it is great, there is no way you will miss the warning. Could you do it?

As for the astronaut: I have noticed that time compression and other extremes can really mess things up when a mod is dealing with changing the "persistent" file. What I guess happened is, the sick kerbal was returned to KSC, near death - I saw him in the astronaut complex - and I TCed to speed up his healing. Changing the persistent file, when he healed, during TC must have gone wrong ans his status was changed to both "inactive = true", "tourist" and "status=dead".

So maybe I'll take it easy with TC when a kerbal is sick. Kerbal Health clearly doesn't handle TC well.

Edited by Daniel Prates
Link to comment
Share on other sites

I'm building a Jool vessel (actually a massive rover,) and I'm noticing that the habitat modules for KPBS have living space that is ~40% of the crew capacity for the modules. Looking around, it seems that there are parts with 1 living space per crew capacity (which, after thinking about it, is probably anything controlled by the following patch in General.cfg:)

@PART[*]:HAS[#CrewCapacity[>0],!MODULE[ModuleKerbalHealth],!MODULE[KerbalSeat]]:FINAL
{
	MODULE
	{
		name = ModuleKerbalHealth
		space = #$../CrewCapacity$
		complexity = 1
	}
}

Is the lack of living space in the dedicated habitat modules a config mistake, or are things balanced around a 40% ratio of living space?

(and if it's the latter, the patch above should probably set things to 0.4 * CrewCapacity instead as a default - otherwise it makes more sense for me to put a "Size 2 Crew Cabin" on my rover instead of any "real" habitation modules :D)

Link to comment
Share on other sites

6 hours ago, etmoonshade said:

I'm building a Jool vessel (actually a massive rover,) and I'm noticing that the habitat modules for KPBS have living space that is ~40% of the crew capacity for the modules. Looking around, it seems that there are parts with 1 living space per crew capacity (which, after thinking about it, is probably anything controlled by the following patch in General.cfg:)

@PART[*]:HAS[#CrewCapacity[>0],!MODULE[ModuleKerbalHealth],!MODULE[KerbalSeat]]:FINAL
{
	MODULE
	{
		name = ModuleKerbalHealth
		space = #$../CrewCapacity$
		complexity = 1
	}
}

Is the lack of living space in the dedicated habitat modules a config mistake, or are things balanced around a 40% ratio of living space?

(and if it's the latter, the patch above should probably set things to 0.4 * CrewCapacity instead as a default - otherwise it makes more sense for me to put a "Size 2 Crew Cabin" on my rover instead of any "real" habitation modules :D)

I use a rather complex formula for Living Space, which takes into account part's mass, cost, crew capacity, special features (e.g. a science lab or a command module), among other things. On average, stock parts that don't have other health modules provide approximately 1 Living Space per 1 Crew Capacity. The patch that you cite uses it as a benchmark to fix all crewable parts that I haven't patched manually.

KPBS has a different balance, its parts are in general quite cheap for their stats, so it is compensated by giving them less Living Space. Perhaps, some of the new parts aren't in the current patch, so they have been given default values, which make them a bit overpowered. I'll fix it when I have another update pass.

Link to comment
Share on other sites

29 minutes ago, garwel said:

I use a rather complex formula for Living Space, which takes into account part's mass, cost, crew capacity, special features (e.g. a science lab or a command module), among other things. On average, stock parts that don't have other health modules provide approximately 1 Living Space per 1 Crew Capacity. The patch that you cite uses it as a benchmark to fix all crewable parts that I haven't patched manually.

KPBS has a different balance, its parts are in general quite cheap for their stats, so it is compensated by giving them less Living Space. Perhaps, some of the new parts aren't in the current patch, so they have been given default values, which make them a bit overpowered. I'll fix it when I have another update pass.

Fair enough - "not a bug" then. :D

I should note, the "crew cabin" is from an entirely different mod. KPBS seems like it's been fairly static for hab parts since the start, or at least I didn't find anything that (apparently) triggered the general patch.

Edit: For the record, my general complaint was that something that was marked "habitation" was actually a lot worse for habitation than say, something designed as an aircraft fuselage. I tend to go for realism or fun over game balance most of the time though - otherwise, I wouldn't use stuff like KSPI-E (which is also where most of my mass and cost come from. I could spam 20 KPBS hab modules - or anything else - and not really notice compared to the 2500t mass of the fuel tank :P)

No big deal though, and thanks for explaining the logic you use - it's easy enough for me to tweak the MM patch and put them to values that I agree with.

Edited by etmoonshade
Link to comment
Share on other sites

  • 5 weeks later...
On 7/3/2020 at 1:50 PM, TheSurvivorGuy said:

I've been encountering a glitch with this mod. Whenever I take a ship with a lander attached to it, uncouple the lander, land, and return to the ship to dock, every now and then when I enter physics range of the mothership, the Kerbals in the lander go from whatever health they were at, usually quite high, to 0%.

Finally, someone else reporting this.
HerbalHealth has been sporadically freaking out like this when entering physics range for rather a long time now, at least since 1.3.6 / KSP 1.7.3, but I've never managed to grab a clean-ish a log with debug enabled, or reproduce it in a minimal modset.
I've mentioned it here before, but since nobody else has I had assumed it was some unholy interaction.

Here's a probably-not-very-useful log without KH debug anyway, I'll enable debug in hopes of catching it again next time I'm doing some landings.

 

 

Edited by steve_v
Link to comment
Share on other sites

Hi @garwel,

first of all I'd like to say that I absolutely love this mod - already from only reading about its features and doing some testing with it :D. In my opinion, the way it offers an alternative to both Kerbalism and Crew R&R is just great. What's more, I am deeply impressed by your dedication for this mod, providing updates and adding new features regularly and also, providing compatibility patches for a large amount of mods. I find the latter especially noteworthy, since I have the impression, that the way things usually go, is that mods that add parts provide patches to ensure compatibility with other mods like life-support mods, and not the other way around.

So, it's a great mod and looking at the download numbers in CKAN, I believe it would definitely deserve to be much more well-known.

I have actually started to do a little bit of testing with this mod like a year ago or so and back then I have noticed a few things that I wanted to tell you or ask you about, but I somehow didn't get around to it. Now I have given it a look again and have noticed that some of the things I encountered back then, have already been fixed in the meantime ;). Still, there are a few things, I'd like to ask about:

1) It looks to me like if you launch a vessel with a Kerbal assigned to an external command seat, KH will not classify the Kerbal as on EVA. On one hand, this means they will not lose HP for being on EVA, but on the other hand, if the vessel does not have any other crew compartments, the Kerbal will lose a huge amount of HP because of the lack of living space. Instead, if you launch a Kerbal in a vessel, let them EVA and sit in an external command seat, they are still classified as on EVA, so I believe that is what should happen when you launch them in an external command seat as well.

2) I was a little surprised when I noticed that bolting to a command pod another command pod with the same amount of shielding reduces the radiation exposure Kerbals get. According to the wiki, the amount of shielding you need for a certain exposure to radiation increases with the power 2/3 of the vessel's crew capacity. This absolutely makes sense when you assume that the vessel has the form of a sphere (or any other geometric object for that matter), so that its surface area is of the order (volume)^(2/3). However, I believe that in practice you much more often have the case that X times more crew capacity on your vessel means that you have X times more parts that can house crew, which all have roughly the same amount of surface area, so in total you end up with X times (and not X^(2/3) times) more surface area. For this reason I think I would rather choose a linear scaling (or maybe a scaling with an exponent closer to 1 than 2/3). So, I'd like to suggest to maybe consider changing the exponent. However I don't want this to look like I ask/expect you to do so. I totally understand it if you want to keep it at 2/3 and I love your mod no matter how you decide :D.

3) I have a question about the amount of living space some of the habitats (especially in SSPXR and KPBS mods, but applies for instance also to the stock Hitchhiker container) have: Usually they have considerably less living space per crew capacity than command modules, even although in many cases their models and interiors look more spacious. Instead, they often have a special module that reduces the HP loss due to living space for a certain number of Kerbals by a certain percentage. I however have the impression that, in order for these modules to pay off and allow for long-duration space flights, one also has to add an (ideally uncrewed) crew compartment with a high base living space to the vessel. For this reason I might want to write my own configs with living space values that seem fitting to me, but before I do that, I wanted to ask whether, when designing the current configs, you have had some specific design/balacing considerations in mind, which I may not have understood.

Thanks in advance for giving these things a look, and thanks a lot for this awesome mod! I might do some more testing on it in the near future and if still I notice something else, I'll let you know. ;)

Link to comment
Share on other sites

Hi @Kerbolox. Kerbal Health is my favorite project and I plan to continue supporting and developing it for a long time.

On 8/27/2020 at 11:32 PM, Kerbolox said:

1) It looks to me like if you launch a vessel with a Kerbal assigned to an external command seat, KH will not classify the Kerbal as on EVA. On one hand, this means they will not lose HP for being on EVA, but on the other hand, if the vessel does not have any other crew compartments, the Kerbal will lose a huge amount of HP because of the lack of living space. Instead, if you launch a Kerbal in a vessel, let them EVA and sit in an external command seat, they are still classified as on EVA, so I believe that is what should happen when you launch them in an external command seat as well.

It must be a bug. Thanks for the report, I will investigate it and fix it.

On 8/27/2020 at 11:32 PM, Kerbolox said:

2) I was a little surprised when I noticed that bolting to a command pod another command pod with the same amount of shielding reduces the radiation exposure Kerbals get. According to the wiki, the amount of shielding you need for a certain exposure to radiation increases with the power 2/3 of the vessel's crew capacity. This absolutely makes sense when you assume that the vessel has the form of a sphere (or any other geometric object for that matter), so that its surface area is of the order (volume)^(2/3). However, I believe that in practice you much more often have the case that X times more crew capacity on your vessel means that you have X times more parts that can house crew, which all have roughly the same amount of surface area, so in total you end up with X times (and not X^(2/3) times) more surface area. For this reason I think I would rather choose a linear scaling (or maybe a scaling with an exponent closer to 1 than 2/3). So, I'd like to suggest to maybe consider changing the exponent. However I don't want this to look like I ask/expect you to do so. I totally understand it if you want to keep it at 2/3 and I love your mod no matter how you decide :D.

Well, of course actual vessels are not usually spherical, but their parts may be (see Onion etc.). So, for a one-part vessel, using the exponent of 2/3 is the right approach. When you combine several parts, even in an anisotropic fashion (e.g. by staking them on top of each other), they still affect one another. Consider this example:

[part1][part2]  <<<<<< (sun)

In this case in real life, when your crew is located in part1, solar radiation will have to first travel through part2's shielding and then part1's shielding, so shielding width will in fact be doubled. It will change depending on the orientation of the craft (which Kerbal Health doesn't take into account), but overall, you crew will be better protected compared to a one-part vessel. So I think that it's fair to still apply the formula for a spherical vessel. In theory, we could look at the actual location of every part and do some incredible amount of math to simulate radiation, but it would fry most computers (at least mine, for sure) while making things less predictable for the player.

On 8/27/2020 at 11:32 PM, Kerbolox said:

3) I have a question about the amount of living space some of the habitats (especially in SSPXR and KPBS mods, but applies for instance also to the stock Hitchhiker container) have: Usually they have considerably less living space per crew capacity than command modules, even although in many cases their models and interiors look more spacious. Instead, they often have a special module that reduces the HP loss due to living space for a certain number of Kerbals by a certain percentage. I however have the impression that, in order for these modules to pay off and allow for long-duration space flights, one also has to add an (ideally uncrewed) crew compartment with a high base living space to the vessel. For this reason I might want to write my own configs with living space values that seem fitting to me, but before I do that, I wanted to ask whether, when designing the current configs, you have had some specific design/balacing considerations in mind, which I may not have understood.

Yes, the idea is that most crewed parts either provide space or "comforts", so you need to combine both for optimal effect. As of now, command pods are considered the 1st type (because you usually have at least one command pod on a crewed vessel, and it would be weird not to have living space in a simple spacecraft) while Hitchhiker-like parts are considered 2nd type. I'm not entirely happy with this arrangement: some parts may become unnecessary or used in a counter-intuitive way (e.g. I don't want the player to have to spam command pods). I'm going to eventually rebalance all of this to enable/enforce a more complex and smart ship design, but I haven't come up with a clear idea yet.

Link to comment
Share on other sites

On 8/23/2020 at 4:04 AM, garwel said:

log with Debug Mode on.

Here.

Pretty much the same as ever: fly station, undock lander, land, eva, launch & return to physics range of station, splat.

A save/reload before entering physics range seems to prevent it, at least until the next landing. Switching craft clears it up post-bork too.

Ed. So far, only happening if there are kerbals on both craft when returning.

Edited by steve_v
Link to comment
Share on other sites

Kerbal Health 1.4.5

  • Compiled for KSP 1.10.1. Should be compatible with KSP 1.8+
  • Fixed: NRE on rollout of a new vessel
  • Fixed: When launching kerbal in an external seat, he/she didn't count as being on EVA
  • Fixed: NRE, game freezing and sometimes death of kerbals in some loading situations
  • Fixed: Localized some missing strings
  • Minor code improvement and optimization

Download here

Link to comment
Share on other sites

3 hours ago, garwel said:

Kerbal Health 1.4.5

Update installed in existing game, now unable to exit R&D building.

[ERR 22:15:31.156] Exception handling event onGUIRnDComplexDespawn in class RDSceneSpawner:System.InvalidCastException: Specified cast is not valid.
  at KerbalHealth.KerbalHealthStatus.get_MaxHP () [0x00069] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthStatus.get_MarginalChange () [0x00000] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthStatus.HealthChangePerDay () [0x004e5] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthStatus.Update (System.Double interval) [0x00165] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthList.Update (System.Double interval) [0x0001b] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthScenario.UpdateKerbals (System.Boolean forced) [0x003ca] in <9ed5380de297434582116086f445d991>:0 
  at KerbalHealth.KerbalHealthScenario.OnSave (ConfigNode node) [0x0001f] in <9ed5380de297434582116086f445d991>:0 
  at ScenarioModule.Save (ConfigNode node) [0x000a6] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ProtoScenarioModule..ctor (ScenarioModule module) [0x0003c] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ScenarioRunner.UpdateModules () [0x00055] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ScenarioRunner.GetUpdatedProtoModules () [0x00005] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at Game.Updated (GameScenes startSceneOverride) [0x000a7] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene) [0x00045] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode) [0x00000] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at KSP.UI.Screens.RDSceneSpawner.onRDDespawn () [0x0000a] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at EventVoid.Fire () [0x00127] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 

[EXC 22:15:31.172] InvalidCastException: Specified cast is not valid.
	KerbalHealth.KerbalHealthStatus.get_MaxHP () (at <9ed5380de297434582116086f445d991>:0)
	KerbalHealth.KerbalHealthStatus.get_MarginalChange () (at <9ed5380de297434582116086f445d991>:0)
	KerbalHealth.KerbalHealthStatus.HealthChangePerDay () (at <9ed5380de297434582116086f445d991>:0)
	KerbalHealth.KerbalHealthStatus.Update (System.Double interval) (at <9ed5380de297434582116086f445d991>:0)
	KerbalHealth.KerbalHealthList.Update (System.Double interval) (at <9ed5380de297434582116086f445d991>:0)
	KerbalHealth.KerbalHealthScenario.UpdateKerbals (System.Boolean forced) (at <9ed5380de297434582116086f445d991>:0)

Full log.

Link to comment
Share on other sites

On 9/1/2020 at 9:38 AM, garwel said:

Hi @Kerbolox. Kerbal Health is my favorite project and I plan to continue supporting and developing it for a long time.

Hey @garwel, thanks for the reply. Cool, it is really awesome to hear that!

On 9/1/2020 at 9:38 AM, garwel said:

It must be a bug. Thanks for the report, I will investigate it and fix it.

Thank you for giving it a look!

On 9/1/2020 at 9:38 AM, garwel said:

Well, of course actual vessels are not usually spherical, but their parts may be (see Onion etc.). So, for a one-part vessel, using the exponent of 2/3 is the right approach. When you combine several parts, even in an anisotropic fashion (e.g. by staking them on top of each other), they still affect one another. Consider this example:

[part1][part2]  <<<<<< (sun)

In this case in real life, when your crew is located in part1, solar radiation will have to first travel through part2's shielding and then part1's shielding, so shielding width will in fact be doubled. It will change depending on the orientation of the craft (which Kerbal Health doesn't take into account), but overall, you crew will be better protected compared to a one-part vessel. So I think that it's fair to still apply the formula for a spherical vessel. In theory, we could look at the actual location of every part and do some incredible amount of math to simulate radiation, but it would fry most computers (at least mine, for sure) while making things less predictable for the player.

Thank you for the explanation! Yes, I agree that I haven't really thought that through. In fact, the surface of a vessel is not the main factor to determine by how much radiation it is getting hit. Instead, you'd much more care about its cross-section area with respect to a certain direction... what I mean is, take a plane in space (for example the one perpendicular to the incoming radiation from the sun), project the vessel onto this plane (so that it becomes flat) and measure the area of that projection. Then, to avoid having to account for the current orientation of the vessel, you could average over all the possible orientations the craft can have (or, alternatively, assume that it is getting hit by radiation uniformly from all directions). Now that I think about it, it looks like a really interesting mathematical problem to understand how the geometry of the vessel affects this average and the way it scales with the vessel's volume :D. For a large vessel that extends into all directions of space, a volume^(2/3) - law sure looks like the right thing to me.
And then there is of course another effect, which is of physical nature, namely that not all the radiation is getting blocked by the occluding part, but a small fraction of it could still hit parts behind it.

I agree with you that coding all of these effects would be much too complicated, especially for your Kerbal Health mod, since I consider it to be one of its strengths that it offers a very nice balance between simplicity of the underlying mechanics/maths and the depth of gameplay and realism it adds to the game. I really like it when you calculate radiation by a simple rule of thumb that yields reasonnable results. And now that I take parts occluding each other into account, I understand that your volume^(2/3) - law is a good choice.

On 9/1/2020 at 9:38 AM, garwel said:

Yes, the idea is that most crewed parts either provide space or "comforts", so you need to combine both for optimal effect. As of now, command pods are considered the 1st type (because you usually have at least one command pod on a crewed vessel, and it would be weird not to have living space in a simple spacecraft) while Hitchhiker-like parts are considered 2nd type. I'm not entirely happy with this arrangement: some parts may become unnecessary or used in a counter-intuitive way (e.g. I don't want the player to have to spam command pods). I'm going to eventually rebalance all of this to enable/enforce a more complex and smart ship design, but I haven't come up with a clear idea yet.

Ah okay, I understand your idea. Thanks for explaining! When I was doing some testing before, I usually ended up adding uncrewed Mk3 Crew Cabins to the vessel because they offer the highest base living space. Then I got annoyed a little because these Cabins don't really fit most space craft designs :D :P Now I think that, before I give a closer look at these configs, I'll play around a little more with command pods to see whether I can design some vessels that look fitting to me and end up having living space / comfort values that I like. From a realism perspective, though, I think I am still a little more into the idea of crew compartments (especially the modded ones I have mentioned) providing both living space and comforts, because that would make sense for me from how their models and interiors look like. However, I can't say how much that would hurt gameplay...
In any case, I am looking forward to seeing what ideas you will come up with when you eventually start working on the task of rebalancing the parts :D.

Link to comment
Share on other sites

3 hours ago, steve_v said:

Update installed in existing game, now unable to exit R&D building.

Damn. Thanks, I'm looking at it.

Ok, @steve_v, I think I fixed the bug; it was with calculating quirks' effects on max HP (or more specifically, on how I tried to optimize that calculation).

Can I ask you to test it for me? You need to download the new DLL here (click the Download button), replace the one in your GameData\KerbalHealth folder and see if things are ok now.

Edited by garwel
Link to comment
Share on other sites

1 hour ago, garwel said:

Can I ask you to test it for me?

Different, but, uhh, arguably not fixed. Again exiting R&D, constant stream of:

[LOG 02:32:33.506] [KerbalHealth] KerbalHealthScenario.OnSave
[ERR 02:32:33.515] Exception handling event onGUIRnDComplexDespawn in class RDSceneSpawner:System.InvalidCastException: Specified cast is not valid.
  at KerbalHealth.KerbalHealthStatus.get_ExhaustionStart () [0x0003d] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at KerbalHealth.KerbalHealthStatus.get_ExhaustionStartHP () [0x00000] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at KerbalHealth.KerbalHealthStatus.Update (System.Double interval) [0x00354] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at KerbalHealth.KerbalHealthList.Update (System.Double interval) [0x0001b] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at KerbalHealth.KerbalHealthScenario.UpdateKerbals (System.Boolean forced) [0x003ca] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at KerbalHealth.KerbalHealthScenario.OnSave (ConfigNode node) [0x0001f] in <5e040da14d844cf7904e8ad2c94d5cc8>:0 
  at ScenarioModule.Save (ConfigNode node) [0x000a6] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ProtoScenarioModule..ctor (ScenarioModule module) [0x0003c] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ScenarioRunner.UpdateModules () [0x00055] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at ScenarioRunner.GetUpdatedProtoModules () [0x00005] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at Game.Updated (GameScenes startSceneOverride) [0x000a7] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode, GameScenes startScene) [0x00045] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at GamePersistence.SaveGame (System.String saveFileName, System.String saveFolder, SaveMode saveMode) [0x00000] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at KSP.UI.Screens.RDSceneSpawner.onRDDespawn () [0x0000a] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0 
  at EventVoid.Fire () [0x00127] in <948fceea813942b7ac6b6d1b2dc2d0a3>:0

 

Booting clean install and double-checking md5sums of DLLs now...

Ed. Yep, def had the right DLL. Not seeing this in a fresh save though, 1.4.5 release is fine too. This seems to be specific to my main save (because it has KH 1.4.3/1.4.4 data?).
Further testing will have to wait unfortunately, it's 3am here. Tomorrow I shall eviscerate my save of all KH data and see what happens...

Edited by steve_v
Link to comment
Share on other sites

@steve_v, thanks for the feedback. I was being too hasty and missed two other places where the same issue arose. The bug only affected kerbals with quirks, so you wouldn't notice it until you had progressed into the game. I think I fixed it now, and will release a hot fix in a few minutes.

Link to comment
Share on other sites

Actually, I found more bugs as I tested it, so here you go. Sorry about the bumpy release.

Kerbal Health 1.4.6

  • Compiled for KSP 1.10.1
  • Fixed: Freezing the game when you had kerbals with quirks
  • Fixed: Stress factor calculations could corrupt health level
  • Fixed: Possible NRE for kerbals frozen with DeepFreeze

Download here

Link to comment
Share on other sites

11 hours ago, garwel said:

Actually, I found more bugs as I tested it, so here you go.

Looking good so far.
 

11 hours ago, garwel said:

Sorry about the bumpy release.

Eh, It happens. This is why we test things.

Link to comment
Share on other sites

I use this mod purely as a mod for cosmic radiation. It looks great but adds a bunch of head and back pain.

In short, this mod ... makes all effectively shielded manned capsules unplayable with their standard launch vehicles, they have to be enlarged using TweakScale.

So on the example of 7K-L1 "Probe" from the Tantares mod.
Soyuz 7K-L1
Weight 10528 kg of them:
1. Dry weight of the structure: ~ 3380 kg
2. Radiation shield: ~ 4150 kg
3. Fuel: ~ 2820 kg
4. Supplies of food, water, oxygen: ~ 110 kg
The ship itself weighs only 3.8 tons (with fuel and standard protection). In low lunar orbit, the radiation dose for the crew is 6.4k bananas per day. But with shielding up to 11 bananas a day (an absolutely safe dose), the 7K-L1 rises to 10.5 tons.
As you can see, for protection against radiation, protection with a mass was required even more than the 7K-L1 itself weighed in the stock state.
Based on this, I needed an artificially enlarged "Proton" with a mass of ~ 300 tons.
Without the Kerbal Heath mod and shielding, the standard Proton with a mass of 150 tons would be enough for me.
*** For my personal shielding, I use an initial heat shield which, depending on the size, can give different RadShield HP. And yes, because of this, the number of parts grows by + 15-20 pieces, especially if the case is small and it is impossible to integrate a large shield with a large amount of RadShield HP into it.

Spoiler

834e66e2f2fc6f54389c3bae952b9722.png
e077a668575e382e249d7d16d145288e.png
 

Despite all this, Kerbal Health is the best mod for this kind of thing.
ps. I play at a "hard level" where the shielding efficiency is half that of "normal".

Edited by OOM
Link to comment
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.

 Share

×
×
  • Create New...