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.
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.
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.
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.
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.
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.
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.
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.
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
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 !
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.
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
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 ?
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.
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.
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.
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?