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

System Heat [0.6.0]
Replacing KSP's Core Heat system

I make some mods that interact with the various KSP heat systems to delivery gameplay. You might have heard of them. As a result, I've become knowledgeable about the three two loosely coupled systems (Part and Core) that exist in the game along with most of the headaches and challenges that come along with them. The challenge I've faced in the past is that these systems don't work very well for the gameplay that I want to work with, which is developing gameplay based on system level heat mechanics. In stock, this system is the 'core heat' mechanic, which drives drills, converters, and radiators. In my mods it also drives reactors and some engines. However, the core heat system is....

  • Inflexible, andprone to breakage when pushed (weird temperature spikes, nonsensical values)
  • Confusing, with no ingame tools to help players design ships beyond a KSPedia page
  • Simplistic, having little to no impact on ship design beyond enforcing the need to stick some poorly documented number of radiators on a ship

A little while ago I declared that I hated it and that I would write something to replace it and provide something more aligned with my goals and hopefully better in every way. Enter SystemHeat, my current code baby.

Project Goals

  • Create a coherent vision for the system-level heat mechanics in KSP
  • Design a fairly simple but deep system built around designing ships to manage heat
  • Provide better tools and visualizations to help players with those designs
  • Make something that maybe other modders can hook onto to do cool things

Ok so, moving on to the thing that has been designed. Please note that this is not a great representation of spacecraft thermodynamics, it's abstracted.

Gameplay Concept

Besides building a system that is stable and extensible without the show-stopping bugs of Core Heat,I want to represent a couple of design challenges that come up in spacecraft design. Spacecraft usually have to deal with a number of different thermal systems for different purposes, due to the varying heat generation requirements of various things on them. Humans make heat, electricity makes heat, nuclear engines make heat... and they tend to do so at different rates and in different ways. You usually can't just put 50 Thermal Control System (large) parts on the ship and you're all happy.

The SystemHeat concept will basically take this and run with it. Allocating your heat producing parts correctly between your radiators will be important, as well as making sure you don't do stuff like pipe your reactor exhaust into your life support system. Fun times!

Heat Loops

In this mod, all parts that interact with the system are part of an abstractHeat Loop. This represents the flow of coolant through a set of systems that produce heat and consume heat. Producers might include reactors, life support processors, ISRUs, drills and that kind of thing. Radiators would be consumers (effectively the only one at this point).

Each part that produces heat does so with an Output Temperature and an Output Flux. The Output Temperaturethis is the temperature of the insides of the part (say, a nuclear reactor core) - any coolant coming out of the part will be at that temperature. The Output Flux is the rate heat is produced by the part. Parts have different temperatures and fluxes depending on their nature - a nuclear reactor has a pretty high Output Temperatureanda highOutput Flux, a drill might have a lower Output Flux and a lower Output Temperature.

Similarly, parts that consume heat have special properties. They specifically consume heat with an Input Flux - a bigger, better radiator is likely able to handle a higher input flux.

When parts are connected into aHeat Loop , the members of the loop contribute their Input/Output Flux and Output Temperatureinto it. If all the fluxes going into the loop are positive, it heats up and increases its Loop Temperature. If the flux is negative, it cools down. If the Loop Temperature gets too high, systems in the loop will be negatively affected, in proportion to how different the Loop Temperature is to their Output Temperature.

Your job, as the spacecraft engineer, is to construct Heat Loops such that they are well-balanced and basically don't heat up and . There can be several different Heat Loops on a vessel with different parts assigned to them (though a part can currently only belong to one loop at a time).

Documentation

I am expanding theGitHub wikiwith what I hope is solid documentation. Currently the basic gameplay is covered.

Part Types

I'll be supporting and reworking the heat mechanics of the following parts:

  • Converters: porting stock converters to this new system, cleaning up how they behave at high and low temperatures but otherwise unchanged.
  • Drills: porting stock drills to this system.
  • Radiators:somewhat importantly, radiators will have maximum loop temperatures they support. Basic stock radiators will be fairly low temperature and therefore pretty ineffective at cooling high temperature things.
  • Engines: supporting engines that can interact with the SystemHeat system to be cooled and such.
  • Fission Reactors: reactors that produce heat from fissioning of fissile materials.
  • Fusion Reactors: reactors that produce waste heat from fusing light materials.
  • Cryogenic tanks: tanks that slowly heat up without some form of cooling.

Interfaces

You'll need to be able to visualize things to do this! I really hate planning stuff by opening a bajillion PAWs, even if that's how Squad likes it done. So let's ensure there's a nice thermal overlay for you to design your craft. See below (click for more)

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

Downloads

Please note that the package download only affects radiators immediately and is fully reverse compatible. However, it contains several Extra packages to do affect stock parts. These may affect your save - they won't break anything but ships flying with hot parts may not work.

Frequently Asked Questions

Q: Can I add this to a save in progress?
A:Yes, if you use the base mod. However, if you use any of the Extra packages to adjust existing converters, reactors, and such, your existing vessels might overheat as the balance is different and the gameplay paradigms are not identical.

Dependencies (Required and Bundled)

  • Module Manager

Licensing

  • All code and cfgs are distributed under theMIT License
  • All art assets (textures, models, animations) are distributed under a All Rights Reserved License.
  • All bundled mods are distributed under their own licenses.

Download
Mirrors


Primary (GitHub)

Edited by Nertea

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

References

Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated:

Views: 6614

Rating: 4.1 / 5 (52 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.