1. This forum is obsolete and read-only. Feel free to contact us at support.keenswh.com

New Ship Mechanic: Heat

Discussion in 'Suggestions and Feedback' started by Deathslayer, Aug 30, 2015.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    I originally posted this over on the Space Engineers subreddit, but thought I'd copy it over here for more exposure.

    So whilst Space Engineers does a good job (for the most part) of simulating the engineering tasks required to create and maintain spacecraft, there's currently a single major missing element that I think, if implemented correctly, could add a lot to the game: heat.

    Your ship is currently generating a fair bit of power to fuel the thrusters, refineries, assemblers, life support, weapons, etc. Obviously, none of these will be 100% efficient - some of the energy being provided to them will be wasted in the form of excess heat being output. The exact amount of heat output would vary depending on the efficiency of the object (lights would output a low percentage, whilst a refinery would output a high percentage) but would largely be dependant on the amount of power being consumed by the device.

    Now, in space, heat is a fairly large problem. If you have too much heat build up, it can begin to damage the systems of the ship/station, not to mention the people inside. The exact amount of heat a ship could build up would largely depend on its size: a larger ship would have a much higher mass to balance the heat over, meaning it would take a lot longer to reach a critical temperature than a smaller ship. Temperature would be displayed on the side-panel, and in red if dangerous.

    With no atmosphere, the heat cannot simply convect away from the ship - instead, it must be radiated away. There could be two types of radiators: radiator arrays, and radiator grilles.

    Here is an example of the radiators arrays found on the ISS:

    [​IMG]

    They are large, can disperse a lot of heat, and are generally good at their job. The problem is, they're also vulnerable, and so wouldn't be suitable for your general combat ship.

    Instead, smaller or battle-orientated ships would instead use radiator grilles - smaller, flatter radiators partially concealed by armour. Here's an example on the back of the Cobra MK III, from Elite: Dangerous (the glowing lines):

    [​IMG]

    These would be far less efficient at removing heat, but could be easily added to the armoured hull of a warship, and would present far less of a target and be far more sturdy than a radiator array.


    So, what's the point of this? Isn't it just something else to annoy us?

    Heat could be used for ship detection. Whilst ships can be potentially awkward to see against the black of space, heat is a glowing beacon, as the radiation output can be fairly easily picked up by monitoring equipment. This would allow for a large range of new blocks with various purposes. A few examples could be:

    • EM Detector. A block similar to the Ore Detector, that marks high-temperature energy sources on your HUD. Very useful for keeping track of your opponent.
    • Thermal cameras. An alternative to the regular camera, this would display objects based on the thermal energy radiating from it. Asteroids would be nearly invisible, but hot ships would glow brightly. Just don't turn the camera towards the sun...
    • Thermal turrets. Either a seperate block, or a toggle on turrets, this could allow them to switch to thermal targeting, increasing their effective targeting range.


    But what if I don't want to be seen or targeted easily?

    Simple. You reduce the heat your ship emits. If you aren't radiating a lot of heat, you won't show up on thermal. You can sneak up on an enemy, slip past thermal turrets, or go unseen on thermal camera.

    There are two ways to reduce your heat signature:

    1. Produce less heat. The easier solution, turn off all high-power devices. Those refineries can wait until you've finished being sneaky. If you turn intertial dampeners off, you can turn off your thrusters too, and drift past the target without being spotted.
    2. Close your radiators. A potentially dangerous, but more effective solution, is to stop radiating heat altogether. Radiator arrays could fold up, whilst the grilles could close, preventing heat escaping your hull. This would nearly completely remove your heat signature, but risks the build up of heat within your hull, damaging your ship. You couldn't keep them closed for too long, or things would start going badly wrong.

    Of course, you could (and should) use a combination of the above for better effect.


    Other Heat Suggestions

    From Irontorch:
    Heat Vents. Heat ice into steam/water which can then be vented out the ship. Would be a far more efficient way of removing heat, but an expensive one.

    From Griclav:
    Heat Sinks. An insulated block that contains a pre-cooled fluid (such as liquid oxygen) that can be used to absorb heat at a higher rate than your hull, and be jetisonned when ready, releasing a large amount of heat all at once. Useful for when being stealthy (at the price of revealing your presence, but not location) or for confusing thermal turrets. I'm not sure on the thermodynamic viability of this, but I think if you cool the liquid in advance (generating a lot of heat in the process, which can be radiated away) then use it to absorb heat later when stealthing (less heat than it cost to cool it), then it doesn't violate any laws of thermodynamics. Note that it would draw heat away less effectively the warmer it gets.

    From Wikipedia:
    Liquid Droplet Radiator. A concept currently being refined for future use on high-power, long-voyage spaceflight, this involves using the heat pumped from the rest of the ship to evaporate a liquid, which is sprayed into space (similar to the Heat Vents idea above). The major difference though, is that the liquid, after spending a few seconds in vacuum, is then collected onto a cooler condensation plate, and pulled back into the ship. This is a far more efficient use of the coolant (though you lose less heat than simply venting it altogether), and with the right liquid the percentage loss from evaporation can be minimised to be negligible, even over long periods of time.

    From voston:
    Computer-Isolated Heat Damage. Due to the high heat capacitance of metals, damage would largely be isolated to computers - if your ship gets too hot, blocks with computers will slowly lose them, until they cease to function (falling below the blue line).
    Fires. If your computers start to break, this could cause fires to start in the high-oxygen environment of your ship's interior. If left unchecked, fires can spread and cause further damage to blocks, breaking vital components or breaking through doors. This could be stopped by venting compartments of their oxygen, or by installing smoke detectors and fire extinguishers (or using a hand-held one manually).


    TL;DR & FAQ

    • Ships generate heat based on power usage.
    • Hull temperature increases based on heat generation, and size of ship.
    • High temperatures cause damage to the ship and anyone onboard.
    • Radiators can be used to disperse heat away from the ship.
    • Radiator arrays are large and efficient, but weak. Grilles are small and inefficient, but strong.
    • Heat can be detected by radar, turrets, or thermal cameras.
    • Closing radiators or shutting down systems allows you to sneak by unnoticed.

    Q: Won't it be incredibly annoying to have to redesign our ships around heat?

    A: Less annoying than designing around oxygen. Any flat surface would be eligible for placing a radiator on, and ideally it would be balanced so that you wouldn't need too many to disperse sufficient heat: 4-6 per large reactor's worth of heat, for example. It would be even less of a concern for stations, or non-combat ships, as they can use the larger radiator arrays to greater effect.

    Q: Wouldn't the hull also radiate heat?

    A: Yes, but at a greatly decreased rate. If it were computationally viable, then the external surface area of the ship could be calculated when the grid changes (like with oxygen), and that could be used for passive heat dispersal. If this route is taken, perhaps heat-shielded plating could become a thing, to reduce your ships passive heat signature (someone with more knowledge of material physics could give a better idea of a suitable material to use).

    Q: Won't the sun also heat up our ship?

    A: As with above, if the route of ship surface-area is taken (and isn't too computationally expensive; could re-use calculations from shadow processing), then this could also be a reasonable mechanic. Things like painting your ship white could help reduce the heat gained from the sun, at the cost of increased optical visibility.

    Q: What about on planets?

    A: If your ship is in-atmosphere, heat can be convected away from the hull, all but removing heat concerns.

    Q: Can this be used with programming blocks?

    A: Yes!. Ship temperature could be retrieved from the ship itself, and could be used to automatically shut down systems if in danger. Equally, the EM Detector could allow retrieval of a list of objects it sees, and their relative angular coordinates. Heat-seeking missiles, anyone?

    Q: What if I don't want to worry about heat?

    A: Simple: heat could be an option in the game settings, similar to oxygen.




    Personally, I feel like this would be a great addition to the game, and would fit nicely with the engineering mechanics we have currently (power management, oxygen management, thrust/weight ratio).

    Anyone got any thoughts or suggestions to add?
     
    Last edited: Sep 11, 2015
    • Like Like x 14
  2. Coldfinger

    Coldfinger Trainee Engineer

    Messages:
    54
    Been suggested like a million times already, I believe.

    Ideas are cheap, implementations are not. Unless you can code this, why bother?
     
  3. Aracus

    Aracus Senior Engineer

    Messages:
    1,931
    @Coldfinger Because the game is in alpha/early Access/active Development with developers that actually listens to the community(even if the communication is sketchy at best)
    Also, this is the suggestion section, I imagine or exists for a reason so don't go stomping on toes, be a good sport! If you don't like it, say so, argue/discuss about it but don't just hate on ideas for being put forth(even if they have been suggested before)

    I wouldn't want to play with this, too many complications for my taste, but as an optional feature I really don't mind and this is mostly well thought out. You should go search for the other heat suggestions and compare notes!
     
  4. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    Suggestions can always benefit from extended discussion from multiple angles. And isn't the exact point of a suggestions forum to suggest things?

    Thanks for the support. With regards to complications, at the simplest level you'd get by simply by dotting some radiators around the outside of your hull, and not have to worry about it from then on unless you wanted to use some of the extended mechanics, such as stealth or reducing the targeting distances of your opponent. The most I'd imagine for regular use, is the need for a few ice-powered vents to cool off after a rapid expenditure of power - something like jumping the ship numerous times or fighting an intense battle.

    I've had a look around since posting, and the only other extended heat suggestion I could find shared a few similarities, such as ice vents and radiators, but missed out on a few other things I'd suggested such as the EM detectors or thermal turrets. I'd welcome any joint discussion from anyone that's put more thought into it - at the end of the day, I'd simply like to see the best possible version of this concept in the game.
     
    • Like Like x 1
  5. Scya

    Scya Apprentice Engineer

    Messages:
    266
    It's true this feature has been suggested many times already, but in this threat is the idea suggested nice, clear and i like it.
    Heat is one of the biggest problems in space so i would love to manage it in this game.
     
    • Like Like x 2
  6. PsicoPato

    PsicoPato Senior Engineer

    Messages:
    1,097
    Loved this idea. +1
     
  7. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    Thanks for the support guys.

    After searching around a bit, I stumbled upon another concept called Liquid Droplet Radiators. These spray a heated liquid into space to cool it, before collecting it again on a condensation plate. Less heat-efficient than simply venting it altogether, but you save nearly all the fluid in the process. I've added it into the "other suggestions" section.
     
  8. A_Person

    A_Person Trainee Engineer

    Messages:
    58
    Could be very fun to weaponise as well since any object in the path of the radiated heat would absorb a portion of the radiation, and thus platforms with large reactor arrays and lots of thrusters could be used to generate a lot of excess heat, which when disperssed directionally using radiators facing a particular way, you could effectively create a thermal death ray, melting any ship that comes within range (since the energy reduces by the square of the distance) that is infront of the radiators, causing it to overheat, and well, die :p
     
  9. Captain Broadstairs

    Captain Broadstairs Apprentice Engineer

    Messages:
    469
    I would like this feature , it would add in a survival element that is more focused around the ship/station and not just on the player character
     
    • Like Like x 4
  10. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    For the sake of ease of computation, I hadn't actually considered the heat really "going anywhere", just like oxygen simply disappears from the ship when a door is opened into vacuum. Having to calculate the direction that the heat is going could potentially be quite expensive.

    That still doesn't mean it couldn't be weaponised though. In fact, taking weapon fire would transfer a fair amount of heat to a ship (think of all the heat coming off those missiles), and I'd imagine mods could easily modify the amount of heat transferred on impact. A heat death-ray could well be a viable weapon, if, of course, your ship could withstand the heat generated by firing such a gun.

    This is what I had in mind - something else to actually take into consideration when building an overpowered reactor-filled box of doom: can the ship handle it? Like you need more thrusters and gyros the larger your ship gets, radiators would be required to balance your ship the more powerful it gets.
     
  11. A_Person

    A_Person Trainee Engineer

    Messages:
    58
    well, there would have to be SOME way of detecting where the heat goes - otherwise people would end up protecting radiators by hiding them inside their ship - and radiating the heat back into your own ship really isn't gonna help it cool off
     
  12. Captain Broadstairs

    Captain Broadstairs Apprentice Engineer

    Messages:
    469
    And also at the same time making a box of doom very visible to thermal cameras , so it will give other players who aren't as offensively armed the option to disengage.

    Perhaps their placement box could be very very tall, 1x1x10 for instance, that would make it impractical to cover up?
     
  13. A_Person

    A_Person Trainee Engineer

    Messages:
    58
    or maybe it would just be easier that radiators had a area of effect around them (like thrusters do when firing) and the more surface blocks from the same ship are in that area (calculated via a flood fill whenever the grid changes, similarly to oxygen), the lower the efficiency of the radiators, to the point where hiding it in a room (unless it was like really, REALLY massive) would drop the transfer rate to effectively 0% due to the reabsorption of the radiation.
     
  14. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    My concept for this (programatically speaking) would be to use a 3d flood-fill (as you mentioned). Start at the bounding box of the ship, and spread out and mark all vacuum blocks (this way excluding any large cavities inside): any block surface touching this marked vacuum area will become eligible for radiation. You could further narrow it down by removing any surface without a direct line-of-sight to the bounding box of the ship (by marking an exposure value with the spread of the flood fill, perhaps - I'll have a think about this later), and base the radiation efficiency upon the percentage of the surface's "view" to outside (so a radiator with a wall on one side would only be ~50% efficient). If you work in a purely cube-based system, this could be fairly cheap to compute.

    This could be an interesting idea for having ships in close proximity. A "bubble" could be watched around a radiator (not too large due to the inverse square law of radiation), and any non-same-grid block that passed inside it could begin to gain heat. Would make you think twice before packing ships into a tight area.
     
  15. Ronin1973

    Ronin1973 Master Engineer

    Messages:
    4,964
    Well laid out proposal. But as someone mentioned earlier, that's a lot of coding and reworking.

    Ask Santa for something simple and cheap and he's more likely to bring it.
     
  16. Two

    Two Apprentice Engineer

    Messages:
    300
    Kerbal Space has a heat system added to the game because people wanted it. Then it got nerved into oblivion, because people realized it is annoying 99% of the time, and fun only under very rare conditions. The whole heat calculation however takes a lot of CPU cycles, which slows down the game noticeably.

    So in the end a heat system is 99% annoying and causes the game to lag even more. I don't see even the slightest reason to add that.
     
  17. KissSh0t

    KissSh0t Master Engineer

    Messages:
    3,782
    This suggestion and the re-entry heating effects in Kerbal Space Program are both two very separate and different things.
     
  18. Two

    Two Apprentice Engineer

    Messages:
    300
    KSP has not only re-entry heating, actually all components generate heat which is then spread across the ship and needs to be radiated away. This was a major change in 1.04. This is most noticeable with the big engines, which can potentially melt down your ship during ascent already.
     
  19. KissSh0t

    KissSh0t Master Engineer

    Messages:
    3,782
    Cool!!! I didn't know that... that would certainly make designing a good space ship challenging.

    I haven't played KSP for over a year.. I blame the removal of the ability to build kraken drives..... *__*
     
    • Like Like x 1
  20. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    If big suggestions are never made, we may never see big features added - it would become a game purely consisting of lots of small pieces that don't really interact. Nothing like oxygen, planets or jump drives would exist - those were all suggested dozens of times before being added to the game. All I'm trying to do is create a well-structured discussion for the devs to see and hopefully draw inspiration from.

    I fully agree that with a game like Space Engineers (which strives to be realistic but will happily eschew realism for the sake of interesting gameplay - see propellantless thrusters, artificial gravity) a mechanic like heat would have to be very carefully balanced. SE also has the advantage of being set 60 years in the future, so some liberties can be taken with regards to the technology involved - reactors could be more efficient than present-day incarnations for example, and output less heat. At the end of the day, the game should be fun, and whilst I believe having something to keep your eye on (similar to a hunger system, only inverse) around your ship would make things a lot more interesting, it would get old fast if you had to shut down your systems every few minutes to prevent your ship melting.

    Regarding CPU usage, the way I envisioned it wouldn't be expensive to calculate at all. Your ship would have a simple "hull temperature" value - every game tick, heat addition (power generation & usage) and heat dispersal (radiators, vents) would be added up and cancelled out against each other. The resultant thermal energy change (positive or negative) would be divided by the ship's mass, and the hull temperature value decreased appropriately. Even without knowing the ins and outs of the game code, this should only take a handful of calculations, and is very similar to the way the game currently calculates power consumption anyway.

    A few things that'd be more complicated would be things like ship surface area, or radiator exposure, but these can be calculated only when the ship's grid changes, in a fashion similar to oxygen, so also shouldn't cause any problems.
     
    • Like Like x 1
  21. Ronin1973

    Ronin1973 Master Engineer

    Messages:
    4,964
    There are no "hulls" in Space Engineers. There is nothing that is defined as the "outside" of a ship. You could create a thermal map and have heat transferred through blocks. But it would just propagate through every block on the grid and build up. You could build a radiator block that attracts heat and dissipates it. But you wouldn't have to locate it outside of the ship. Again, there's no way to determine the outside of the ship. They aren't ships. They are a collection of blocks linked together in a grid or lattice work.

    In order to implement this idea to work, would be a complete overhaul. The benefit would be slight and the cost would be huge.

    You can't compare this to oxygen. For oxygen to work we need only define what's an enclosed and sealed space. Defining what is the interior of a ship versus what's the exterior would be difficult indeed.
     
  22. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    I said "hull" to simplify things. Realistically, it would be every block in your ship, throughout which the heat is evenly distributed. Whilst a per-block-heat system would work, the idea of having heat attracted towards radiators isn't great, as any sensible design would use active heat transferral rather than passive (in the form of pipes of a coolant being pumped around the ship, towards the radiator). This would, for the most part, result in a relatively even distribution of heat. For the sake of argument, this coolant would flow through the existing ducting that already evidently exists within blocks for the purpose of electrical cabling.

    With regards to the definition of "exterior", there is most definitely a way to determine the outside of the ship, and I actually discussed this in an earlier post: it's trivial to determine whether a block is exterior or not. In fact, you provided an alternative solution in your post: if you can easily determine what's an enclosed and sealed space (as the game already does for oxygen), then any space that isn't an enclosed and sealed space must be a non-interior space, and thus any block touching this is an exterior block. If a radiator is marked as exterior, then the radiator functions.

    This does bring into play a potential exploit: you build a large enclosed cavity, fill it with radiators, and make a hole in the side leading to vacuum. The solution to this would be to ensure line-of-sight between a radiator and the bounding box of the ship (as anything beyond the bounding box must be empty vacuum). This also lets you define efficiency of the radiator as its radial exposure to space, dependant on the percentage of potential bounding-box "block" faces it has line-of-sight to (as any route blocked would cause radiation to be absorbed back into the ship). This could be calculated rapidly through raycasting (drawing a line from radiator to the center of each of the bounding-box block-faces, and seeing if they hit anything), which is a fairly cheap operation to perform. Doubtless, you could perform numerous operations to easily reduce the number of block faces you'd have to scan (such as removing anything on the opposite side of the radiator, to start with).

    As I mentioned before this only needs to be calculated when the ship's grid changes anyway, so would be practically unnoticable performance-wise.
     
  23. Two

    Two Apprentice Engineer

    Messages:
    300
    Let's assume the technical implementation was possible and wouldn't be a major issue, then still the question stands: will this add more fun to the game, or will it just be another mechanic that is fun only for 5 minutes and then it will just annoy you all day, because you can't build the ship you want to because of heat?

    My guess is the later.
     
  24. Ronin1973

    Ronin1973 Master Engineer

    Messages:
    4,964
    Not every interior area is sealed. Your idea sounds like a ton of work for very little results. Heat management isn't very desired. However food and water are. I'd rather give up CPU and server cycles to that than heat management.

    Even with food and water, I can't see players opting for giving the character bathroom breaks except in a mod.
     
  25. Deathslayer

    Deathslayer Trainee Engineer

    Messages:
    16
    That's part of the challenge of engineering. It's not any different than not being able to make the ship you want because it'll weigh too much for its thrusters, or because it couldn't fit enough reactors for the power it requires, or because, with planets coming, it can't accelerate fast enough to break orbit. I see it as one of those mechanics you could simply bypass by throwing a pile of radiators on your ship if you weren't interested (like there's currently no need to actually oxygenate your ship), or choose to experiment with and come up with an efficient and interesting solution. As with the other engineering solutions, you gain benefits from not only handling it, but handling it well - reduced heat signature, and all the suggested utilities that would come from that.

    Indeed - you could have an area cut off from the outside by an open door, which would be an example of the potential exploit I covered.

    As a number of people have stated, a lot of people have suggested heat in one way or another before, and I've received fair support for it both here and elsewhere - I simply wanted to try and cover all bases and suggest an implementation that would be computationally viable, mechanically sound, and not more hassle than it's worth - hence all the potential benefits for reducing your heat. It doesn't have to replace any other anticipated update, or even be prioritised over it - I just simply believe it would be an interesting and beneficial addition.

    Offtopic, food's also a fair suggestion, and one that I also wouldn't mind seeing. It wouldn't be unreasonable to add (for example, "oxygen farms" could become hydroponics pods that you fuel with the "organic matter" material they added for planets and sunlight, and it outputs food and oxygen), and you could consume it from medbays, dedicated terminals, or your inventory. I'd hope that our suits would have sufficient waste-disposal units in them to handle food though - having to stop playing at regular intervals to visit a bathroom wouldn't be too great.
     
  26. Aryeonos

    Aryeonos Trainee Engineer

    Messages:
    38
    I agree, this game is kinda ~meh about those kinds of important things. I mean, there isn't even torque implimented in the game, or really anything that feels survivaly and not just space mining. Not that I don't love the game to death, but we can always hold the things we love to a higher standard. I would be overjoyed to have the heat mechanic in the game.
     
    • Like Like x 1
  27. Coldfinger

    Coldfinger Trainee Engineer

    Messages:
    54
    >>Again, there's no way to determine the outside of the ship. They aren't ships. They are a collection of blocks linked together in a grid or lattice work.<<

    Stop and think about that, Ronin1973. At the very least, the outside blocks are the ones you'd get to first when moving in from the sides of the lattice.

    So there is a very easy way of determining the 'outside' of a ship.
     
  28. Two

    Two Apprentice Engineer

    Messages:
    300
    It is very easy to determine in and outside. Use the same calculation done for air blocks, and if it is not leaking it is inside, otherwise it's outside.
     
  29. voston

    voston Trainee Engineer

    Messages:
    11
    I do not know if you could implement the heat mechanic to effect the entire ship but you could design it so that only blocks containing computers would be damaged. (as the closed circuits would be effected by the heat but items such as steel plates would not be damaged until the temperature reached 3,000-4,000 degrees at which point you astronaut would be ash and the atmosphere would be burned away.) also I would like to see fire in your rooms with oxygen if the temp was to high burning all the atmosphere and injuring the players inside you could also have it make the blocks look scorched and have it do damage to all non-armor blocks in the room (possibly destroying doors allowing the fire to spread unopposed creating a issue that would be long lasting and force players to extinguish the flames giving a purpose to drain your air from the room and to have your resources such as oxygen tanks protected from enemy attacks as a burning oxygen tank would be liable to explode.)
     
  30. Tristavius

    Tristavius Senior Engineer

    Messages:
    1,368
    Yes, yes a hundred times yes, it would add a superb extra mechanic to build around, probably the biggest extra design consideration since Oxygen.

    I think however this may need to wait until some solution is provided on large grids for sub-block, be that being able to breakdown a large cube into multiple parts or via adding multiple parts into one block... having all those heat conveyors (and massive 2.5m ones at that) would be a huge use of space when it feels like for smaller ships, we've kind of reached saturation point.

    The liquid droplet radiator is also used in the Mass Effect series as a coolant method - hot liquid is ejected near the front of the vessel and collected again near the stern (made somewhat easier and sleeker under that lore by mass effect fields though!) Heat is in fact one of the biggest limiting factors to combat in the ME series - a ship is battle with all systems running at max generates an enormous amount of heat, enough to eventually cook the crew. Many of the methods of dispersal are ineffective in a fire fight, or expensive and limited in numbers (ejecting heat sink block for example). If a battle isn't resolved by a certain point chances are one or other side (or likely even both) will need to back off to cool down.
     
Thread Status:
This last post in this thread was made more than 31 days old.