Not logged inOpenClonk Forum
Up Topic Development / Developer's Corner / Removing temperatures and seasons from the engine
- - By Marky [de] Date 2017-11-24 07:00
I want to start a discussion about temperatures and seasons in the engine, for future releases (possibly in the far future).
In previous titles the temperature and season added a variety to settlement scenarios, with snow being an obstacle, lakes freezing (depending on the scenario this is a opportunity or an obstruction).
Nowadays I feel that we have specialized scenarios where you always want the same season/temperature, such as races or arena melees. Ideally I don't want to make a setting that prevents water from freezing or ice from melting in those scenarios.
Then we have (mostly external) scenarios where temperature plays a major role, such as the arctic pack, clonk mars. Those packs usually create their own systems for temperature, because the engine simulation is insufficient.
Then we have our own stuff that tries to simulate temperatures in script, such as the fire system and the rules for boiling lava, etc.
Wouldn't it make sense to decouple the engine stuff or implement it in a different way? For example I'd like to be able to freeze water with a cold object locally, or melt ice/boil water with a hot object locally.
Parent - - By Sven2 [us] Date 2017-11-24 08:06
Seasons could probably be scripted. The engine implementation is really annoying and unclear.

Temperature is used in the landscape scan, which might be too expensive to run in script on large maps. Parts of it could be scripted (e.g. you would remove SetTemperature, and add something like SetMaterialConversionMode("Ice", "Water", conversion speed), which would be engine implemented. Personally, I never had the need for it. What is the use case of the more complex system?
Parent - - By Marky [de] Date 2017-11-24 12:20
Yes, it really depends on what the scenario wants to do. We can rephrase the discussion to "change the implementation" of course.

In the arctic pack you had a global temperature and the clonk could warm up in structures. Falling into water made you cool down faster. Here, the only object that changes (its) temperature is the clonk.

In Clonk Mars there is a grid of temperature points for coordinate specific temperature. It is a sort of thermodynamics simulation, where ground, liquids, sky, and living beings change temperature at different rates. So, in a tunnel deep down you'd freeze, and near lava it gets hot. This is also influenced by sun radiation during the day.

Then, as I said, the fire system also uses some kind of temperature threshold for incinersting objects, and that isn't in the engine either. As a result we have several separate temperature systems.
Parent - By Anonymous [us] Date 2017-11-24 20:18
Local temperature is potentially cool. It could also influence the lighting system, so an area with lots of fire around glows red-ish.

But in that case, it would probably have to be in the engine.
Reply
Parent - - By Clonkonaut Date 2017-11-24 11:36
As Sven pointed out, it is probably not a good idea to stuff everything in script especially if it's better (/faster) done in the engine. If in the end a material conversion system isn't called 'seasons' and 'temperature' anymore, I don't really care.

I agree that we don't use seasons anymore and are usually turned off in scenarios (personally, I usually set the temperature to the maximum if I don't want snow). I'd opt for a less annoying default. Currently, if you just create a new scenario in the editor, the climate will be temperate and the season autumn, you start editing in your water and after a few minute see it freezing and remember to set the temperature. But even then, if I remember correctly, the editor doesn't save SetClimate/SetTemperature, so it might just screw you over.
Reply
Parent - By Marky [de] Date 2017-11-24 12:24
Yep, that's what happens most of the time to me, too. This shows the flaw: most of the time you don't care about temperature in a scenario, but if temperature is important for your scenario then most of the time the existing system is not powerful enough. In the meantime we pester people with annoying defaults.
Parent - - By K-Pone [de] Date 2017-11-24 16:21
Removing temperature will probably break ~every Hot Ice variant
Parent - By Maikel Date 2017-11-24 16:23
Yay! That makes me in favor of the change!

More seriously: I am not opposed to changes here, cause the current system is painful. As long as we don't loose speed and don't make the new system more complex or obfuscated.
Parent - - By Marky [de] Date 2017-11-24 16:31
I don't even know what that is. I guess a scenario that has you fighting on melting ice platforms?

The thread title was chosen with a provocative intonation, yes. I don't want to break that scenario, so of course we would need to change everything in such a way that it still works.

The question is: Do you want to bother people with temperature settings if they don't care for that?
Do you want to consciously decide that HotIce needs temperature settings, and possibly even control how the melting occurs?
Parent - By K-Pone [de] Date 2017-11-24 17:21

>I don't even know what that is. I guess a scenario that has you fighting on melting ice platforms?


The original version: yes. There are some variants that use other materials or textures than ice, but the way it works is pretty much the same. You simply have some ice platforms that melt away over the time and you try to kill your opponents with a grenade launcher with infinite ammo (at least that's the mode that is mostly played as of now).

>I don't want to break that scenario, so of course we would need to change everything in such a way that it still works.


Maybe there is a better way to solve this, even without temperature as an engine feature. I bet in hot ice you could also do this via script without producing too much lag as the map is not that big.

>Do you want to consciously decide that HotIce needs temperature settings, and possibly even control how the melting occurs?


Hot Ice requires melting or at least self destroying landscape in some way. We recently had one round that didn't have melting landscape, which resulted in players camping on high spots that are too far from each other to be able to hit the other player with the grenade launcher (except for a lucky shot with the launcher boosting the grenade with the windbag).
Parent - - By Fulgen [at] Date 2017-11-25 09:29
If it gets replaced by a system where temperature can be set for specific areas, yes. Otherwise, we just remove useful stuff.
Parent - - By Marky Date 2017-11-25 10:00
I am actually questioning the usefulness of the current system. What difference is 10° vs 20° vs 80° in the game? Same for the negative range. During gameplay you only care whether it is above or below 0.
Sure, the material properties have some options for temperature based conversion, but are those actually outside of water/ice/lava?

Local temperature is good and might become more important if it ties in with objects.
Parent - By Fulgen [at] Date 2017-11-25 10:26
Just because it hasn't been used yet does not mean it won't ever by used.
Up Topic Development / Developer's Corner / Removing temperatures and seasons from the engine

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill