Jump to content

[1.12.x] SystemHeat - a replacement for the CoreHeat system (October 9)


Nertea

Recommended Posts

Hmmm, not sure if this is supposed to go under Kerbal Atomics or this topic, but I used the Stubber engine on a craft to go to Eve, but when I get there all enriched uranium has 'evaporated' (no waste was generated and deposited in the engine's storage). So now the engines aren't functioning anymore.

So do fission engines burn through enriched uranium at ALL times, even in interplanetary space? Kind of limits their usability if you need to bring extra tanks of enriched uranium on long journeys. Or are there other mechanics at work here?

Link to comment
Share on other sites

1 hour ago, umph7 said:

Hmmm, not sure if this is supposed to go under Kerbal Atomics or this topic, but I used the Stubber engine on a craft to go to Eve, but when I get there all enriched uranium has 'evaporated' (no waste was generated and deposited in the engine's storage). So now the engines aren't functioning anymore.

So do fission engines burn through enriched uranium at ALL times, even in interplanetary space? Kind of limits their usability if you need to bring extra tanks of enriched uranium on long journeys. Or are there other mechanics at work here?

So I guess you left the reactor on the whole time? It looks like there might be a bug where fission reactors that don't produce any electricity (like the Stubber) don't correctly add the transmuted depleted fuel to their store. 

 

 

Edited by Nertea
Link to comment
Share on other sites

17 hours ago, Nertea said:

So I guess you left the reactor on the whole time?

Ah yes, that was the cause. I assumed the fuel of an engine-reactor wouldn't deplete when not in use. I've bound the "toggle reactor" function to the same action group as activating the engines now.

Would it be possible for a QoL feature to have a "hibernate/shut down during warp" toggle like the probe cores? When performing an escape or insertion burn (in deep gravity wells) over multiple burns, it's easy to forget you're running reactors needlessly.

 

Really liking the entire mod suite so far, Systemheat makes me think about what radiators to take with me, and I'm using other radiators for once!

Link to comment
Share on other sites

49 minutes ago, umph7 said:

Would it be possible for a QoL feature to have a "hibernate/shut down during warp" toggle like the probe cores? When performing an escape or insertion burn (in deep gravity wells) over multiple burns, it's easy to forget you're running reactors needlessly.

Yes I can look into this. This existed in NFE but I wasn't aware whether anyone used it. 

Link to comment
Share on other sites

System Heat 0.3.3

  • Fixed fission reactor Manual mode showing both on and off buttons at game start
  • Fixed fission reactors still generating power/working when they were full of waste
  • Fixed fission reactors that didn't generate electricity not generating waste
  • Added emergency shutdown message to fission reactors when safety temp is exceeded.
  • Added Hibernate On Warp control to fission reactors: if activated, an enabled reactor will turn off when the ship goes on rails. It will reactivate when the ship goes off rails.
  • Fixed a bug in loop integration that could cause strange behaviour below norminal temperatures
Link to comment
Share on other sites

Does this play well with KSPI-E? Or I guess more specifically it would be the other way around: has anyone any experience as to whether or not KSPI-E plays well with this new heat system? Sorry if this was asked already, I only read through half of the 10 pages.

PS

@Nertea personal message: Huge fan of your work, KSP wouldn’t be the same without it, I certainly wouldn’t be anywhere near my 550+ hrs gametime just using stock mechanics/parts. If you ask me, Squad should be sending you a royalty check on the regulars to acknowledge your extensive contributions. Your time and effort -and you- are appreciated. 

I have spoken. 

Link to comment
Share on other sites

Hi,

Love the idea for this mod, and thanks for taking the time to implement it. I'd love to use it in my next game!

Unfortunately I've discovered that every nuclear reactor/engine in-game is launching with 50% core health. The lifetime is correct, but because the core health is always 50%, it seems that the engine output (ISP, thrust) is always capped at 50% because the core health is always 50% when launching. I've tried multiple nuclear reactors and engines and they're all the same. I've tried adding two huge heat radiators onto a basic craft before even launching - same result. 

I've tried a fresh sandbox game with just the Near Future mods and SystemHeat, the result is the same. 

Any idea what might be causing this?

 

EDIT: Apologies, I just realised this is in the dev thread so I probably shouldn't be using the mod just yet. The UI/overlays look fantastic by the way!

Edited by Kielm
Link to comment
Share on other sites

On a hunch, I reinstalled Far Future Technologies (which comes with SystemHeat 0.3.2) and core health works fine in that version, so I think it's probably just the latest fix that borked it. 

Hope that helps narrow it down.

Link to comment
Share on other sites

37 minutes ago, Kielm said:

Hi,

Love the idea for this mod, and thanks for taking the time to implement it. I'd love to use it in my next game!

Unfortunately I've discovered that every nuclear reactor/engine in-game is launching with 50% core health. The lifetime is correct, but because the core health is always 50%, it seems that the engine output (ISP, thrust) is always capped at 50% because the core health is always 50% when launching. I've tried multiple nuclear reactors and engines and they're all the same. I've tried adding two huge heat radiators onto a basic craft before even launching - same result. 

I've tried a fresh sandbox game with just the Near Future mods and SystemHeat, the result is the same. 

Any idea what might be causing this?

 

EDIT: Apologies, I just realised this is in the dev thread so I probably shouldn't be using the mod just yet. The UI/overlays look fantastic by the way!

Nah you can use it, I just want people to think a bit before using it so it's staying here.

Looks like I left a debugging/test thing for the repair system in there. 

1 hour ago, alexv86 said:

Does this play well with KSPI-E? Or I guess more specifically it would be the other way around: has anyone any experience as to whether or not KSPI-E plays well with this new heat system? Sorry if this was asked already, I only read through half of the 10 pages.

PS

@Nertea personal message: Huge fan of your work, KSP wouldn’t be the same without it, I certainly wouldn’t be anywhere near my 550+ hrs gametime just using stock mechanics/parts. If you ask me, Squad should be sending you a royalty check on the regulars to acknowledge your extensive contributions. Your time and effort -and you- are appreciated. 

I have spoken. 

Thanks! It probably plays fine with KSPI-E, but:

  • Obviously now you have two competing heat systems
  • I think KSPIE patches some of my parts, those patches might screw up
Link to comment
Share on other sites

SystemHeat 0.3.4

  • Fixed fission reactors always starting at 50% health
  • Fixed uncooled fission reactors always instantly melting down during first load sequence
  • Fixed EVA kerbals losing all their carried fuel in containers when storing, no matter what capacity is remaining in the target container
Link to comment
Share on other sites

So yeah, i'm also getting the same error with ModManager/GenericConverters.cfg that a couple other people have reported. Took a look in the MM.log and this seems to be the relevant culpirt:

 

[LOG 09:47:22.976] Applying update Mk2Expansion/Patches/M2X_RPM_ASET/@PART[*]:HAS[@INTERNAL[RPM_RavenCockpit]]:NEEDS[ASET]:Final to Mk2Expansion/Parts/Command/Raven/part.cfg/PART[M2X_RavenCockpit]
[LOG 09:47:22.992] Applying update RealPlume/GlobalSettings/@SmokeScreen:FINAL to SmokeScreen/SmokeScreen.cfg/SmokeScreen
[LOG 09:47:23.021] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to FarFutureTechnologies/Parts/Resources/fft-antimatter-factory-1.cfg/PART[fft-antimatter-factory-1]
[LOG 09:47:23.049] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to PlanetaryBaseInc/ModSupport/Parts/OSE Workshop/OSE_Converter.cfg/PART[KKAOSS_OSEConverter]
[LOG 09:47:23.051] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to RationalResourcesParts/Parts/Boxes/B_blue_flat.cfg/PART[rr_boxblue_flat]
[LOG 09:47:23.052] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to RationalResourcesParts/Parts/Boxes/B_red_flat.cfg/PART[rr_boxred_flat]
[LOG 09:47:23.079] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to UniversalStorage2/Parts/Processors/Sabatier.cfg/PART[USSabatier]
[WRN 09:47:23.080] Cannot find key ConverterName in MODULE
[ERR 09:47:23.080] Error - Cannot parse variable search when inserting new key moduleID = #$ConverterName$
[LOG 09:47:23.089] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to DeepSky/00DeepSky/Parts/Intakes/Intake_Mk2.cfg/PART[ds00_intmk2]
[LOG 09:47:23.090] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to DeepSky/00DeepSky/Parts/Intakes/Intake_mount.cfg/PART[ds00_intrbm]
[LOG 09:47:23.115] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to NearFuturePropulsion/Parts/Resources/cryoseperator-25/cryoseperator-25.cfg/PART[cryoseperator-25]
[LOG 09:47:23.118] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to PlanetaryBaseInc/BaseSystem/Parts/Resources/Drill_g.cfg/PART[KKAOSS_drill]
[LOG 09:47:23.280] Applying update zFinal_FilterExtensions/zzz_AddClassDescriptionsToAntennas/@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[<500000],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL to UniversalStorage2/Parts/Utility/EVAExtender.cfg/PART[USEVAX]

Here's the link to the full MM.log if you'd find it useful.

I'd note that i'm using a pile of RR's extra patches, including some that mess with converters, but given that theres only one error in the log, i'm inclined to think that the issue is more on the Universal Storage part than anything else.

Oh, and the first time i got this error, i didn't have Kerbalism installed.

Edited by ussdefiant
Link to comment
Share on other sites

2 hours ago, ussdefiant said:

So yeah, i'm also getting the same error with ModManager/GenericConverters.cfg that a couple other people have reported. Took a look in the MM.log and this seems to be the relevant culpirt:

 


[LOG 09:47:22.976] Applying update Mk2Expansion/Patches/M2X_RPM_ASET/@PART[*]:HAS[@INTERNAL[RPM_RavenCockpit]]:NEEDS[ASET]:Final to Mk2Expansion/Parts/Command/Raven/part.cfg/PART[M2X_RavenCockpit]
[LOG 09:47:22.992] Applying update RealPlume/GlobalSettings/@SmokeScreen:FINAL to SmokeScreen/SmokeScreen.cfg/SmokeScreen
[LOG 09:47:23.021] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to FarFutureTechnologies/Parts/Resources/fft-antimatter-factory-1.cfg/PART[fft-antimatter-factory-1]
[LOG 09:47:23.049] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to PlanetaryBaseInc/ModSupport/Parts/OSE Workshop/OSE_Converter.cfg/PART[KKAOSS_OSEConverter]
[LOG 09:47:23.051] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to RationalResourcesParts/Parts/Boxes/B_blue_flat.cfg/PART[rr_boxblue_flat]
[LOG 09:47:23.052] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to RationalResourcesParts/Parts/Boxes/B_red_flat.cfg/PART[rr_boxred_flat]
[LOG 09:47:23.079] Applying update SystemHeatConverters/genericConverters/@PART[*]:HAS[@MODULE[ModuleResourceConverter]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to UniversalStorage2/Parts/Processors/Sabatier.cfg/PART[USSabatier]
[WRN 09:47:23.080] Cannot find key ConverterName in MODULE
[ERR 09:47:23.080] Error - Cannot parse variable search when inserting new key moduleID = #$ConverterName$
[LOG 09:47:23.089] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to DeepSky/00DeepSky/Parts/Intakes/Intake_Mk2.cfg/PART[ds00_intmk2]
[LOG 09:47:23.090] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to DeepSky/00DeepSky/Parts/Intakes/Intake_mount.cfg/PART[ds00_intrbm]
[LOG 09:47:23.115] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to NearFuturePropulsion/Parts/Resources/cryoseperator-25/cryoseperator-25.cfg/PART[cryoseperator-25]
[LOG 09:47:23.118] Applying update SystemHeatHarvesters/genericHarvesters/@PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[@INPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]]]:FINAL to PlanetaryBaseInc/BaseSystem/Parts/Resources/Drill_g.cfg/PART[KKAOSS_drill]
[LOG 09:47:23.280] Applying update zFinal_FilterExtensions/zzz_AddClassDescriptionsToAntennas/@PART[*]:HAS[@MODULE[ModuleDataTransmitter]:HAS[#antennaPower[<500000],#antennaType[DIRECT]]]:NEEDS[!RemoteTech]:FINAL to UniversalStorage2/Parts/Utility/EVAExtender.cfg/PART[USEVAX]

Here's the link to the full MM.log if you'd find it useful.

I'd note that i'm using a pile of RR's extra patches, including some that mess with converters, but given that theres only one error in the log, i'm inclined to think that the issue is more on the Universal Storage part than anything else.

Oh, and the first time i got this error, i didn't have Kerbalism installed.

The US2 Sabatier's converter has a 'converterName' key and not a 'ConverterName' key. Since module manager is case sensitive, this causes an error. I'll make a post about it in the US2 thread.

Link to comment
Share on other sites

1 hour ago, TBenz said:

The US2 Sabatier's converter has a 'converterName' key and not a 'ConverterName' key. Since module manager is case sensitive, this causes an error. I'll make a post about it in the US2 thread.

thanks. I finaly updated to 1.11 and could not reproduce... of course I dont have US installed...

Link to comment
Share on other sites

1 hour ago, Saul Retav said:

I'm running 2 Convert-O-Tron 250s on the same craft and heat output is 0 kW. Could it be that this doesn't work with MKS? :/

It absolutely won't work with MKS.

Edited by Nertea
Link to comment
Share on other sites

8 minutes ago, Maple Kerman said:

Is there a SystemHeat tutorial anywhere?
I feel like people would find one quite useful, especially if they're having trouble working with reactor and engine heat loops in their own saves.

Have a look at the Gameplay section of the wiki  and let me know if it helps.

Edited by Nertea
Link to comment
Share on other sites

Most aspects of this mod seem to be working well. I'm enjoying the "more but lighter" radiator changes. Two notes:
I caused problems for myself when I docked two ships with loops on the same loop ID. Even after undocking, changing loop IDs, and redocking, they were put back on the same loop. I haven't tested this rigorously.
I haven't seen radiator emissives glowing. Are they working for anybody else?

Link to comment
Share on other sites

17 hours ago, danfarnsy said:

Most aspects of this mod seem to be working well. I'm enjoying the "more but lighter" radiator changes. Two notes:
I caused problems for myself when I docked two ships with loops on the same loop ID. Even after undocking, changing loop IDs, and redocking, they were put back on the same loop. I haven't tested this rigorously.
I haven't seen radiator emissives glowing. Are they working for anybody else?

No radiator emissive support right now.

I'll look at the Loop ID thing when I can.

Link to comment
Share on other sites

On 1/7/2021 at 5:45 PM, Nertea said:

It absolutely won't work with MKS.

I really like Far Future and installed SystemHeat as it's a hard dependency. I'm glad I did as it's a quality rework of the heat system. 

I also really like MKS, which presents me with a little bit of a problem getting the two to work together. For now, I'm using both heat systems, which does work, but it doesn't work very well. Is there a technical limitation on using SystemHeat on the MKS heat producing parts? I would totally understand if there was, as a lot of the USI mods use heavily customised modules that generate heat. If there's no technical limitation then I'm happy to take a look at doing some MM patches for MKS. 

Link to comment
Share on other sites

  

3 hours ago, Kielm said:

I really like Far Future and installed SystemHeat as it's a hard dependency. I'm glad I did as it's a quality rework of the heat system. 

I also really like MKS, which presents me with a little bit of a problem getting the two to work together. For now, I'm using both heat systems, which does work, but it doesn't work very well. Is there a technical limitation on using SystemHeat on the MKS heat producing parts? I would totally understand if there was, as a lot of the USI mods use heavily customised modules that generate heat. If there's no technical limitation then I'm happy to take a look at doing some MM patches for MKS. 

MKS support is complicated

There's two things - technical and gameplay - that need to be considered.

  • Technical: all MKS modules have their own implementation in software. As I don't expect MKS to take SH integration into its own codebase, you would need to build 'mirrors' of the modules in SH that include features like converter slots and swapping.  That's a lot of work and very hard to maintain, as well as not likely not reverse-compatible with existing MKS saves. 
  • Gameplay: MKS modules have their own 'way' of working. They operate like stock converters in that they have a pattern where they modulate their effectiveness according to temperature and don't have SH styles of hard cutoffs. There's also a whole set of efficiency and general MKS mechanics you'd have to look at . Overall, you'd have to develop a technical SH implementation of the MKS converters, as per the first bullet, and validate that works with the rest of MKS gameplay, which is nontrivial. That would include busy work like assigning relevant fluxes and temperatures to a whole swath of MKS parts. Now you basically own support for all of MKS' converters.  

So to address this SH does preserve all basic stock heat functions of the radiators so it at least can be used alongside mods that use the stock heat system. 

A thought I had in the past would be to hack up the core heat module, so it acts as a mediator between the two systems. Somehow disable core heat consumption and stuff so old stock radiators can't pull from it, and have the heat module transmit its fluxes to SH. SH would then do simulation and push the SH temperatures back into the core module, and other mods using the Core Heat system would be none the wiser about which system was doing the heat integration. I didn't do this because:

  • This would result in some pretty gnarly UX problems as the, e.g. MKS modules would still be 'talking' CoreHeat and that might be bad for the player's understanding.
  • CoreHeat might still try to do some of its stranger mechanics with the values pushed into it by SH, resulting in explosions and the like, which is really the whole point of SH. 
  • CoreHeat internals are difficult for modders to work with at all.

Other than those it would probably work.

Generally, it's not impossible, but definitely a lot of work for limited gain. I'd rather spend the dev-hours on useful roadmap things, like atmospheric convection modeling for radiators.

Edited by Nertea
Link to comment
Share on other sites

That makes sense - I vaguely recalled seeing heat mechanics wrapped inside USI converter modules and figured that would be the reason for avoiding them entirely. 

Thank you for your detailed explanation, it was very informative!

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.

×
×
  • Create New...