mistrbushido Posted November 21, 2019 Share Posted November 21, 2019 47 minutes ago, SilentBalloon said: Simulate the entire process frame by frame. T_A Ambient temperature t_B Body temperature T_H_i; T_C_j Hot/Cold sourse temperature d_H_i; d_C_j (if exists)Disdance between the hot/cold sourse and the character(<10) w_H_i; w_C_j = 2.1 for heat stones in the inventory;= 1 otherwise ramp(x) =x if x>0; =0 otherwise 1. The heat/cold source effect will be weakened due to the distance: t_H_i = T_H_i * (1 - (d_H_i/10)^2) t_C_j = 70 - (70 - T_C_j) * (1 - (d_C_j/10)^2) if the distance exists. Otherwise t_H_i = T_H_i and t_C_j = T_C_j. 2. Calculate: E = (T_A - t_B) + (∑ ramp(t_H_i - t_B) * w_H_i)+ (∑ -ramp(t_B - t_C_j) * w_C_j) The body temperature will rise when E > 0 and drop when E < 0 Okay, so in the case of only having a thermal stone as the heat source, we can calculate the steady state body temperature (E=0) by: T_B = (T_A + w_H*T_H) / (w_H + 1) where w_H = 2.1. At an ambient temperature of -20 degrees (T_A = -20) and holding a stage 5 thermal stone (T_H = 60), the body temperature is 34.19 degrees, which is what this graph shows: On 11/19/2019 at 10:29 PM, SilentBalloon said: Calculating for stage 4 thermal stone (T_H = 40), the body temperature is 20.65 degrees. This is great! Thanks for taking the time to explain all this. Link to comment Share on other sites More sharing options...
Rinkusan Posted November 21, 2019 Share Posted November 21, 2019 10 hours ago, SilentBalloon said: The ambient temperature is not so low in the early winter. The lower the ambient temperature is, the better the thermal stone performs. See https://dontstarve.fandom.com/wiki/Thermal_Stone. Simulate the entire process frame by frame. I'm confused now because you posted two contradicting images: one where the thermal stone is red 30 degrees above world temp, and another one where the thermal stone is red at 60 degrees in absolute temperature. Which one is the more accurate chart, and what exactly is your y axis (absolute temperature or delta temperature)? Could you explain what you mean by the thermal stone "doing better" at a lower ambient temperature? Also, I asked about your specific methodology because it isn't completely clear solely based on the graph what you're physically doing. Are you sitting next to a maxed fire while holding onto the thermal stone, and then running away from the fire and recording temperature data as soon as your body hits 50 degrees? Or are you heating yourself up to 50 degrees, and then immediately recording temperature data after running away from the fire? Link to comment Share on other sites More sharing options...
mistrbushido Posted November 21, 2019 Share Posted November 21, 2019 3 minutes ago, Rinkusan said: I'm confused now because you posted two contradicting images: one where the thermal stone is red 30 degrees above world temp, and another one where the thermal stone is red at 60 degrees in absolute temperature. Which one is the more accurate chart, and what exactly is your y axis (absolute temperature or delta temperature There are two temperatures that need to be distinguished: the internal temperature of the thermal stone, and the temperature that the thermal stone gives off as a heat source. The internal temperature is what’s shown on the graph and only determines what stage the stone is at. For each of the stages, the thermal stone emits a constant temperature (60 degrees for stage 5, and 40 degrees for stage 4). In other words, the temperature of the thermal stone is not the temperature that it emits. Link to comment Share on other sites More sharing options...
Rinkusan Posted November 22, 2019 Share Posted November 22, 2019 23 hours ago, mistrbushido said: The internal temperature is what’s shown on the graph and only determines what stage the stone is at. This is what I'm confused about because if what's plotted really is the stone's absolute internal temperature, why is it consistently at 40 degrees when a maximum fire heats you up to roughly 58 degrees give or take a few degrees? What I'm trying to say is that if what you're saying is true, it raises some questions about what exactly SilentBalloon is doing to generate that graph in the first place; also, it doesn't explain why I ended up with a higher starting temperature with a hot thermal stone in my inventory compared to not having a hot thermal stone in my inventory. If thermal stone color is the only thing that determines how much heat a thermal stone gives off, why does my maximum starting temperature increase every time I put my thermal stone in my inventory? Link to comment Share on other sites More sharing options...
mistrbushido Posted November 22, 2019 Share Posted November 22, 2019 30 minutes ago, Rinkusan said: This is what I'm confused about because if what's plotted really is the stone's absolute internal temperature, why is it consistently at 40 degrees when a maximum fire heats you up to roughly 58 degrees give or take a few degrees? What I'm trying to say is that if what you're saying is true, it raises some questions about what exactly SilentBalloon is doing to generate that graph in the first place; also, it doesn't explain why I ended up with a higher starting temperature with a hot thermal stone in my inventory compared to not having a hot thermal stone in my inventory. He decided to start the simulation with initial body temperature 50 degrees, and thermal stone temperature 40 degrees. Your initial temperatures would have been different. He provided the graphs to demonstrate the behavior of temperature decay over time with thermal stones, and not to emphasize exact timings. Rather than try to get the exact timing, you only really need to check the behavior over time. Check the steady state body temperatures for each stage to confirm that his description of thermal stones is correct (what i did above), and to check the slopes of the temperature decay to verify that he's using -30/(30+insulation) as the rate. The behaviors are consistent with what I observe in the game when I did my tests. I used a winter-only, day-only world where I get around -20 degrees ambient temperature all the time. 30 minutes ago, Rinkusan said: If thermal stone color is the only thing that determines how much heat a thermal stone gives off, why does my maximum starting temperature increase every time I put my thermal stone in my inventory? How the player receives the heat is slightly different depending on if the thermal stone is in the inventory or not. There is a constant w_H_i in the equations which equals 2.1 if the thermal stone is in the players inventory and 1 there it is not. Basically, it results in a higher target body temperature when the stone is in the inventory versus on the ground. Link to comment Share on other sites More sharing options...
Rinkusan Posted November 23, 2019 Share Posted November 23, 2019 10 hours ago, mistrbushido said: He decided to start the simulation with initial body temperature 50 degrees, and thermal stone temperature 40 degrees. Your initial temperatures would have been different. He provided the graphs to demonstrate the behavior of temperature decay over time with thermal stones, and not to emphasize exact timings. Ah, okay. So this is why I was asking how SilentBalloon got his data because I thought he was generating a graph based on doing an in-game experiment. What exactly is this simulation? Is it some kind of equation analysis program? Quote How the player receives the heat is slightly different depending on if the thermal stone is in the inventory or not. There is a constant w_H_i in the equations which equals 2.1 if the thermal stone is in the players inventory and 1 there it is not. Basically, it results in a higher target body temperature when the stone is in the inventory versus on the ground. Okay, that makes a LOT of sense now. I'm assuming you're referring to this equation: E = (T_A - t_B) + (∑ ramp(t_H_i - t_B) * w_H_i)+ (∑ -ramp(t_B - t_C_j) * w_C_j). So basically, the idea is that the thermal stone alone increases a particular coefficient so that E stays positive for slightly longer as your body temperature gets closer to the heat source, right? Also, just wondering, where did you and SilentBalloon find these equations? Link to comment Share on other sites More sharing options...
mistrbushido Posted November 23, 2019 Share Posted November 23, 2019 Just now, Rinkusan said: Ah, okay. So this is why I was asking how SilentBalloon got his data because I thought he was generating a graph based on doing an in-game experiment. What exactly is this simulation? Is it some kind of equation analysis program? It's just plotting an equation on x,y plane. temperature = rate*time. Simple algebra . Just now, Rinkusan said: Okay, that makes a LOT of sense now. I'm assuming you're referring to this equation: E = (T_A - t_B) + (∑ ramp(t_H_i - t_B) * w_H_i)+ (∑ -ramp(t_B - t_C_j) * w_C_j). So basically, the idea is that the thermal stone alone increases a particular coefficient so that E stays positive for slightly longer as your body temperature gets closer to the heat source, right? Yup. When you increase the w_H_i variable, you can see it increases E, so yes it stays positive for a bit longer. This means the thermal stone brings the player's body to a higher temperature when in the inventory as opposed to on the ground. This is true even when the thermal stone is the only heat source near the player. 10 minutes ago, Rinkusan said: Also, just wondering, where did you and SilentBalloon find these equations? I assume he pulled these from the game code. I didn't bother to check it myself since it describes what happens accurately. Link to comment Share on other sites More sharing options...
Rinkusan Posted November 23, 2019 Share Posted November 23, 2019 28 minutes ago, mistrbushido said: It's just plotting an equation on x,y plane. temperature = rate*time. Simple algebra . I assume he pulled these from the game code. I didn't bother to check it myself since it describes what happens accurately. Okay, gotcha. I was under the impression that he was doing an in-game experiment and collecting data instead of generating a graph based on equations within the game's code. Quote I assume he pulled these from the game code. I didn't bother to check it myself since it describes what happens accurately. Where exactly can you access the game code? Link to comment Share on other sites More sharing options...
mistrbushido Posted November 23, 2019 Share Posted November 23, 2019 Just now, Rinkusan said: Where exactly can you access the game code? There are .lua files in the Don't Starve Together directory. Mine is located here as an example Spoiler C:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together\data\databundles\scripts.zip\scripts The .lua files can be opened by a simple text editor like notepad or notepad++. If you want to look at how temperature works for example, there is a temperature.lua in scripts\components. Commonly you will encounter tuning variables (e.g. TUNING.SEG_TIME). These can be found in tuning.lua located in scripts. Link to comment Share on other sites More sharing options...
Rinkusan Posted November 23, 2019 Share Posted November 23, 2019 A bit off-topic, but a thought occurred; if Klei is leaving their entire code open for people to look at, doesn't that leave the potential for hackers to hack the game? Link to comment Share on other sites More sharing options...
mistrbushido Posted November 23, 2019 Share Posted November 23, 2019 39 minutes ago, Rinkusan said: A bit off-topic, but a thought occurred; if Klei is leaving their entire code open for people to look at, doesn't that leave the potential for hackers to hack the game? I think it's more about making it easier for modders to do what they do. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.