Improvements to the Temperature System

Discussion in 'Mechanics' started by CoxTH, Dec 8, 2013.

  1. CoxTH

    CoxTH Space Penguin Leader

    When I built a house I realized something rather odd after I finished it:
    I was losing temperature even though I was in a house! It was on a forest planet.

    So my suggestion is:
    Make the game recognize closed areas and tweak the temperature system accordingly so one heat source per room is enough. And I know that camping fires emit much more heat, but come on, who puts a camping fire in his house?! Maybe the system could be tweaked in order to recognize different kinds of materials so you lose heat faster when in a stone building compared to a wooden building, provided that these buildings aren't heated properly.
     
    Lollipopz likes this.
  2. Andreyq.o

    Andreyq.o Intergalactic Tourist

    That does not make sense to me. If the game recognize closed places as warm, imagine you will explore a cold cave, and when you close it, you stay warmer? I think no matter the house, if there is no fire, there will be no warm.
     
  3. CoxTH

    CoxTH Space Penguin Leader

    That's why I suggested the game to recognize different environments:
    A wooden house stays warmer than a one made of stone or metal, for example.
    In a cave that's mainly a "stony" environment you would lose heat, just as usual.
     
  4. Andreyq.o

    Andreyq.o Intergalactic Tourist

    I dont know how would they do that. What if its a house mixed with metal and wood?
     
  5. Lollipopz

    Lollipopz Subatomic Cosmonaut

    Seems like a great idea. Someone told me to dig into the ground if my temperature is getting low, but I haven't tested it yet.
     
  6. CoxTH

    CoxTH Space Penguin Leader

    Of course this would be quite a challenge, but maybe you could assign every block some kind of "heat value" and they would take the average value of all blocks within some radius around you.
     
  7. dwefa

    dwefa Astral Cartographer

    I think having the insulation value based on the blocks around you sounds like a pain in the ass, it may be simpler if it detected the closed area as a 'house' (dependent on having a bed and entrances with doors like in terraria) with a limit in size of course would be better.
     
  8. CoxTH

    CoxTH Space Penguin Leader

    The problem I see with this method is that building larger rooms would be rendered almost impossible, since they wouldn't be recognized as a house once they exceed a certain size.
     
  9. dwefa

    dwefa Astral Cartographer

    Ok what about a heater that would heat up x blocks of a closed space ? This way it is prohibitively difficult to heat a dungeon.
     
  10. Avarus

    Avarus Lucky Number 13

    Perhaps instead of using existing tiles to insulate your house, why not add an actual insulation block? Make it to where it has to be made using the wool spinner, using like 5 or 10 plant fibres per block. Yes, it would make walls 3 tiles thick minimum to use this system, but isn't that somewhat realistic? Just an idea. Thanks for your time
     
  11. CoxTH

    CoxTH Space Penguin Leader

    That's actually quite a nice idea! (Both of them)
     
  12. dwefa

    dwefa Astral Cartographer

    Insulation would be cool , but two problems i see are houses are going to take even longer and it may ruin the visual aesthetic of the house. But some solutions to that may be that insulation is only a half block , or insulation is a 'treatment' you give blocks where you basically spray down the walls of your house with the matter manipulator and it is insulated !
     
  13. KridOCaign

    KridOCaign Void-Bound Voyager

    Step 1: Detect enclosed spaces.
    Step 2: Count the number of tiles inside the space.
    Step 3: Add the total heat value of all sources inside the space.
    Step 4: Divide the total heat value by the number of tiles inside the space.
    Step 5: Add planet's base heat.
    Step 6: Treat the entire space as that heat value, but let the heat sources 'aura' of heat keep going.
    You now have a first-order approximation of heating with almost no CPU time cost.

    Things like insulation and heat loss are complicated, and could be added later.
     
  14. Avarus

    Avarus Lucky Number 13

    Or perhaps add something (like the furnace) where you would add the tile into it, along with the required material (perhaps the plant fibres?) and it would create a completely new tile with new mechanics. Perhaps you would combine plant fibres and wood tiles to create an Insulated Wooden Tile. Then, they could implement a system that detects a closed off area and any insulated tiles would only retain heat from an interior area, (prerequisites being a closed off room and a back wall). Let me know what ya think! Thanks
     
  15. dwefa

    dwefa Astral Cartographer

    This is a nice simple idea, question though , would the system then query every closed space to calculate the heat value ? If so is this computationally intensive ?
     
  16. Avarus

    Avarus Lucky Number 13

    Thats why I personally think having a dedicated insulated tile and a way to make it would be a good idea. Perhaps use that system with the dedicated insulated tile system, and go from there.
     
  17. CoxTH

    CoxTH Space Penguin Leader

    In my opinion it's only necessary to check if the room the player currently is in is closed. That would probably make the whole thing less CPU-intensive.
     
  18. KridOCaign

    KridOCaign Void-Bound Voyager

    You only need to calculate the heat value of spaces that are both enclosed and contain a heat source, and only need to do so when the enclosed space is created.

    Aside from towns/dungeons (which can be pre-calculated) players can't enter an enclosed area without breaking a wall.
    Because of that you only need to detect if a space is enclosed if a block that bridges a gap between other blocks is placed or removed. You can skip determining what's enclosed or not until players actually come in contact with it.

    Multi-player. Players can be on both sides,
    Also, if somebody adds a wall with a door in the middle of their house you don't want to have one side be detected as closed and the other not.
     
  19. Avarus

    Avarus Lucky Number 13

    Didnt think of that... Do you think things like windows or open doors would effect the heat rating in the closed structure?

    Another idea... what about fireplaces... Must be placed indoors (game wouldnt let you place it outside) and it would be specially designed to heat a room. What do you guys think?
     
  20. dwefa

    dwefa Astral Cartographer

    Well I think that system would be excellent then ! top pick IMO
     

Share This Page