One Hour One Life Forums

a multiplayer game of parenting and civilization building

You are not logged in.

#26 2019-02-08 03:18:58

GreatShawn
Member
Registered: 2018-09-08
Posts: 381

Re: How should clothes work heat-wise?

Guys I just learned the basics of C++, no need to overwhelm me with all these geek code and stuff.

And Btw Jason did you post this due to my email?

Offline

#27 2019-02-08 03:42:41

gnahc
Member
Registered: 2019-02-06
Posts: 3

Re: How should clothes work heat-wise?

From my experience most of the time people want clothing because its aesthetically pleasing to them - not for any need for heat.  Easy fix for that is provide some sort of relatively cheap clothing that people can easily make that does nothing except appearance (same as most sorts of real life clothing (excluding coats) - people don't wear them to stay warm or dry they wear them because its the social norm).  Personally if it was just balance changes to clothing, Id say balance them to always push the player towards the middle of the heat scale even more.  Micromanaging stuff constantly may be fun for some people but personally its not for me (and besides if your hot in a desert irl you don't usually strip nude haha). The buildup to get good effective clothing should be the complex and click intensive part like how the rest of the game is balanced.  Perhaps some clothing could increase heat/insulation still (aka coats and hats for winter biomes) but pants and shirts? That's nudist colony talk. 

As some side notes
I agree with some earlier comments that buildings need buffs. Even though the tutorial states there are benefits, the large majority of the time bases only survive in good temperature areas anyways due to the huge amount of food required for bad temperatures.  Making a building for temperature reasons isn't worth the effort in most bases.

Also as a eve chainer, I wish there was a pants/bottom half clothing option that was permanent.  I can acquire a permanent option for every other clothing spot except pants ? (even if the clothing is there for appearance only - looking at you fish boots). Eve chainers have to look at the longer term options given that a night of sleeping irl can effectively destroy anything with a time limit.

Also clothing food storage (aka fruit boots) are the best and i wish there was more of them. They are actually my favorite piece of clothing (even if aprons and backpacks are better)

Last edited by gnahc (2019-02-08 03:44:15)

Offline

#28 2019-02-08 06:55:26

ryanb
Member
Registered: 2018-03-08
Posts: 217
Website

Re: How should clothes work heat-wise?

Thank you for working on the temperature system and asking for feedback. Here is what I would love to see.

1. Clothing always being good outside. Even if it isn’t in the proper biome, at least make it better than standing naked.

2. Floors and walls always being good no matter the biome, moving the temperature closer to normal the better the materials.

3. Jungle and desert are too good. Please nerf them by making them hotter so they are not as close to perfect temp.

4. Temperature is too important. The game can swing from too hard to too easy just based on the biome you are in. If biomes were nearly equally bad then this might not be as critical.

Last edited by ryanb (2019-02-08 06:56:12)


One Hour One Life Crafting Reference
https://onetech.info/

Offline

#29 2019-02-08 07:16:57

betame
Member
Registered: 2018-08-04
Posts: 202

Re: How should clothes work heat-wise?

interested, but unavailable for comment rn
best wishes

Last edited by betame (2019-02-08 07:25:26)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#30 2019-02-08 09:04:48

crimeo
Member
Registered: 2019-02-08
Posts: 3

Re: How should clothes work heat-wise?

Buildings: These should push you closer to 0.5 temperature, always, simple as that. Adding heat makes them not just tedious, but actively harmful since most towns are built in warm places. And unrealistic anyway -- buildings in hot sunny places are cooler than outside in real life. In game, simply pushing you toward 0.5 would make them fun, motivating, and all around great and an important goal. Easy peasy.

Clothing: 1) Make climate zones MUCH MUCH MUCH larger in terms of temperature, so that my whole life will tend to be lived in roughly the same temp range if outdoors. 2) Then all you have to do is add some new types of clothes that are warm weather like flowing robes and things, and it becomes a matter of clothing being beneficial in both warm and cold environs, but picking the right kind (Like linen robes are better than naked in hot, rabbit fur is better than naked in cold)

Since the climate would not change quickly, and since buildings push toward 0.5, you'd never have to micromanage clothing (very unfun), yet clothing and buildings could both still very much matter for survival.

Offline

#31 2019-02-08 12:06:54

pein
Member
Registered: 2018-03-31
Posts: 4,337

Re: How should clothes work heat-wise?

you want unique system, i get it, but it wont make sense gameplay wise
people don't want complex lothign system, yes, its set it and forget it
msot people don't even pick up shoes, most of them don't even get other clothes than they had at birth, i don't say is a good thing, but that's just how it is, we can recognize higher skilled people if they made clothes themselves
but generally that aspect goes out of window once people die and others scavenge and get geared as baby

in most games clothes are upgrades, in this game are upgrades and downgrades based on situation
now with mosquitoes is hard capped pretty bad
also clothes are protection and style too
even in desert you wear clothes against the sun, so generally clothes should be good every case

you could have one set of low level hot set as furs, and one set of cooling clothing like silk

drop the rest of them either by giving them absolute value toward middle, like wool needs a lot of prep, so maybe it should warm you when cold, cool you when hot

clothing tiers would be nice
lowest tier pure cosmetic so people arent naked
middle tier hot or cold to adapt to location
highest tier thermoregulating clothes which are good in any condition

now i could imagine a city panel tracking population and tracking how much of the population is clothed and give bonus based on that?
often times i see too many shoes around cause people don't even see it or people die outside camp, behind tree etc and clothing is lost

if you put down clothing people will take it, and doesn't worth begging to give them back, it wont happen

we also need some animal domestication and leather tanning, making different backpacks or other kind of storage
farmers, leather clothes, wool backpacks, i don't know

generally clothing should be basic and accessible, like we got straw hats, its easy to make from straw and needle yarn
then make a bread to use up the wheat too
we would need some cheap option for pants
or we would need rabbit domestication
or kill cows for the hide, maybe beavers or bear skin pieces

sure go ahead and make one set for heat increase, one for decrease,  but not all of them for just heat management, its tedious to swap clothes all the time, and no reason to drop them, like jackets can be opened when hot and closed when cold or pulovers can be hanged around your waist when too hot

maybe some form of clothing storage, which still allows personal equipment
you hand up your hat and no one can take it but you until you are alive

i cant really imagine how to make rooms useful, one way would be a minimal requirement of size, enclosement and some extra items to upgrade it to give functions
like a kitchen would need extra firewood and then would activate a placeable spot for an upgraded oven
people would need to hoard up some resources and the 3x3 room could be selected from some menu

one upgrade for rooms could be thermoregulation, absolute middle temperature inside in cost of charcoal stored for central heating (or cooling)

one way to deny griefing would be a doormat, which could be attached to doors and would block 6 tiles around it to build anything
that would stop door griefing
also doors should stop animals too r we need to put pen type entrances near it which is manageable but not ideal

rooms with functions like oxygen not included had, it was sleep bonus with beds and paintings, food bonus with tables and lights and this kidn of things, also the room size had to be bigger than x*y
now in ohol i can imagine some temporary yum bonus, or block hunger for fixed period of time
without some mood or hp bar we wont get much more options

also needs some form of menu or helper to place down blueprints, like a 5x5 pen and show the resources needed and then when all is there then just click one each to set it up, this tile based system is too complex for most people

squares are fine as any other form is just wasting resources anyway


https://onehouronelife.com/forums/viewtopic.php?id=7986 livestock pens 4.0
https://onehouronelife.com/forums/viewtopic.php?id=4411 maxi guide

Playing OHOL optimally is like cosplaying a cactus: stand still and don't waste the water.

Offline

#32 2019-02-08 15:04:35

breezeknight
Member
Registered: 2018-04-02
Posts: 813

Re: How should clothes work heat-wise?

ryanb wrote:

Thank you for working on the temperature system and asking for feedback. Here is what I would love to see.

1. Clothing always being good outside. Even if it isn’t in the proper biome, at least make it better than standing naked.

2. Floors and walls always being good no matter the biome, moving the temperature closer to normal the better the materials.

3. Jungle and desert are too good. Please nerf them by making them hotter so they are not as close to perfect temp.

4. Temperature is too important. The game can swing from too hard to too easy just based on the biome you are in. If biomes were nearly equally bad then this might not be as critical.

second that !!!



gnahc wrote:

From my experience most of the time people want clothing because its aesthetically pleasing to them - not for any need for heat.  Easy fix for that is provide some sort of relatively cheap clothing that people can easily make that does nothing except appearance (same as most sorts of real life clothing (excluding coats) - people don't wear them to stay warm or dry they wear them because its the social norm).  Personally if it was just balance changes to clothing, Id say balance them to always push the player towards the middle of the heat scale even more.  Micromanaging stuff constantly may be fun for some people but personally its not for me (and besides if your hot in a desert irl you don't usually strip nude haha). The buildup to get good effective clothing should be the complex and click intensive part like how the rest of the game is balanced.  Perhaps some clothing could increase heat/insulation still (aka coats and hats for winter biomes) but pants and shirts? That's nudist colony talk.

if some old clothed guy drops dead middle in a town, all his stuff is gone in SECONDS, cause everybody wants some clothing, even if they live in a desert, even if it means death from overheating lol

also
Fortnite is popular (also) because they have cosmetic clothing, that should tell something wink

Last edited by breezeknight (2019-02-08 15:12:57)

Offline

#33 2019-02-08 19:50:58

Lily
Member
Registered: 2018-03-29
Posts: 416

Re: How should clothes work heat-wise?

If you want people to take clothing off and put it on while changing terrains, then you need to put in coat racks, hat racks, places to put our shoes and all that. Because throwing clothing all over the floor is silly. Also, you should put in underwear and underclothing. That way rather than strip naked, you just take off the top layer of clothing. I know we don't really have layers of clothing but we should.

No matter how hot it is outside, people don't strip down totally naked. If you had light weight clothing that was good for hot areas, then you could put a fur coat on when going into the snow zone, and take it off when you come back.

Currently you wear full clothes, then strip down naked, and leave your stuff on the floor then someone comes by and steals it all and it is just silly.

Offline

#34 2019-02-08 21:25:52

Dodge
Member
Registered: 2018-08-27
Posts: 2,467

Re: How should clothes work heat-wise?

Clothes should be part of the tech tree and something needed for a village to survive, right now we use desert and jungle edges as replacement for clothes but it's OP, problem is clothes are not good enough to survive in a green/swamp/plaine so it's the only way to have a village succeed and not burn trough food.

Only problem with nerfing desert and hot biome borders is it makes eve runs even harder, but what if eve clothes (seal skin, mouflon hide etc) would give almost perfect temp in colder biomes (or at least much better than now) but at the same time decay in a couple of generations, this would make clothes a neccessity but at the same time not too hard to get and if the village doesn't advance soon enough in tech or does the right thing it runs out of clothes and dies out.

After the eve clothes, we have the rabbit clothes but they also are not good enough to survive in colder biomes atm, a full rabbit gear should give perfect temp in colder biomes and since they decay it requires work to get them and more advanced tech than eve camps (snares and later ball of thread from sheeps to really give clothes to the whole village), then comes the next tier of clothes that requires more advanced tech but that could give the advantage of decaying slower or more easily accessible than hunting rabbits (or both) while still giving the advantage of perfect or near perfect temp

Every new tier of clothing could give advantages over the previous tier making them part of the techtree and something actually required for the survival of a village and not just purely aesthetic

Also mosquitoes make clothes deadly since it's impossible to remove them when bit, on top of that mosquitoes are bugged (like other wildlife) and are out of biome in greenland,swamp,prairie etc. Which makes warm clothes actually deadly and a bad thing instead or something that improves survival

I never wear sealskin coat or clothes too hot, if i get bit i know i will die unless someone is around to feed and even then they pratically have to feed one berry per second

Offline

#35 2019-02-08 22:32:02

Léonard
Member
Registered: 2019-01-05
Posts: 205

Re: How should clothes work heat-wise?

CrazyEddie wrote:

Just cranking up the nakedness penalty to make the benefits bigger isn't going to help.

Just to be clear, when Jason said "increase the benefit", I thought that meant just that.
Not "make the status quo for nakedness even worse than it already is so that people have an annoying urge to make full set of clothes".
Some people already have a hard enough time finding food in the wilderness and Eve camps struggle enough as it is.
Let's not crank it up even more.

I'm saying this because I hear the next update will make living on desert edges unviable.
I'm not completely sure myself, I've seen the changes but I'm unfamiliar with the temperature code in general.
Maybe living in the middle of the desert will still be way better than neutral biomes but edges won't average like they do anymore?

Uncle Gus wrote:

This way you can warm up next to a fire quickly, and cool down slowly as you move about. The same concept could be used in reverse, so that standing in a cold place allows you to cool down quickly, and then walking about in the desert you warm up slowly.

This would be fine as long as being naked stays somewhat viable in the game (as stated above).
I don't want another DST where you have to go to the nearest (anti)fire every 30 seconds if you didn't make stupidly expansive clothes beforehand.
That wouldn't fit in this game at all.

CrazyEddie wrote:

All the more reason that simulation is probably the wrong approach (besides, it seems to consume an awful lot of server resources, even after scaling it back from once every server step to once every X seconds). Perhaps you might start with the desired gameplay and reason from there, rather starting with a physics model.

I agree, the whole heat simulation thing seems overkill.
Why even bother calculating per tiles when only the players matter?
Unless you intended to use temperature for other gameplay elements but it's hard to imagine what.

CrazyEddie wrote:

The obstacles to use are high: clothing is expensive, transitions between hot and cold environments are frequent, dressing and undressing is tedious (meaning both time-consuming and uninteresting), and clothing storage is a nightmare.

I also agree on that too. Glad people are seeing the same problems with clothing.

Dodge wrote:

but what if eve clothes (seal skin, mouflon hide etc) would give almost perfect temp in colder biomes (or at least much better than now) but at the same time decay in a couple of generations, this would make clothes a neccessity but at the same time not too hard to get and if the village doesn't advance soon enough in tech or does the right thing it runs out of clothes and dies out.

After the eve clothes, we have the rabbit clothes but they also are not good enough to survive in colder biomes atm, a full rabbit gear should give perfect temp in colder biomes and since they decay it requires work to get them and more advanced tech than eve camps (snares and later ball of thread from sheeps to really give clothes to the whole village), then comes the next tier of clothes that requires more advanced tech but that could give the advantage of decaying slower or more easily accessible than hunting rabbits (or both) while still giving the advantage of perfect or near perfect temp

Every new tier of clothing could give advantages over the previous tier making them part of the techtree and something actually required for the survival of a village and not just purely aesthetic

I have seen a lot of good suggestions and problems pointed out in this thread. Lots of feedback.
This suggests something which I think is interesting: tiers of technology.
I still remember how the official trailer for the game clearly suggested civilization will go through tiers of technology by showing first the usual game structures then roads/cars and finally atomic powered structures.
Why can't that apply to clothing as well? Especially since Jason apparently wants it to be that important.

I find simply using skin as first tier an excellent idea.
A next tier would absolutely be welcome too.
As was already suggested a bunch of times, using the loom to mass produce clothing would be just awesome.
The mass producing part is important because as I said I still won't wear clothes if they get stolen the second I leave them on the ground. That's nonsense and is frustrating.

I've given up on making sure I have a backpack every lives already. This is way too repetitive and also just not fun at all. Why must I catch 5 rabbits every lives and painfully wait for them to get trapped (reminder that one minute is one year, why do I even have to wait..) if I want to carry more than one item in one go.
I just don't get why Jason wants clothing to be SO HARD. You're trying to tell me we can make planes but we aren't smart enough to use a loom properly?

I also found Ferna's post very good.
Making clothes beneficial in deserts by protecting from the sun is a great idea.
If Jason was looking to make clothing intuitive and satisfying, this is where to look.
Having clothing be as painful to make as it is currently is hardly something I would consider intuitive and satisfying.

Offline

#36 2019-02-09 09:54:15

JonySky
Member
From: Catalunya
Registered: 2018-05-13
Posts: 686
Website

Re: How should clothes work heat-wise?

clothes and buildings are currently useless, as written above does not make sense to raise a child in an exact coordinate to have the correct temperature
This simple example shows that clothing and buildings are not currently needed

this takes away all the sense of building a nursery, or houses to perform various tasks such as baking

It also takes away the sense to craftear shoes, pants, hats, etc ...
In many lives I have seen dead wolves without skinning because it has no advantage to have a wolf hat ... just like bear rugs.

I have read some comments and I really like the written ideas, and I would add that age should also be a condition to wear more or less clothes

For example, a baby needs to be warm because in his early years he is not able to regulate his own temperature

a grandfather should also take certain precautions to avoid getting sick

I think that age should also force you to change clothes

although I do not think that by entering a building you should take off your hat ... I see that tedious

Last edited by JonySky (2019-02-09 09:55:01)

Offline

#37 2019-02-09 12:31:28

pein
Member
Registered: 2018-03-31
Posts: 4,337

Re: How should clothes work heat-wise?

ok so what about a two tier clothing?
each clothing would have protection and heat, and some kinda anti shame bonus
you got 5 body parts technically (we could have stacked shoes and the pair of shoes would be same part, bit silly to have one shoe only, while i like the reverse shoes)
so first off you would have a modifier of 1 on each body part
this would be increased to 1.1 if you got any sort of clothing on it
food bars are essentially health bars, so protection would mean that you are more likely to survive in any clothing than naked
this is true irl too, you wear some sort of shoes to protect you from stepping in water on or animals, you got pants to cover your sensitive areas, a hat to protect your head and hair
so basically having clothing would increase your food bars, it would still go down if you dont eat, but you could store more food in your body
this is a good game element too, as you would be born naked, you make some basic clothing, like a skirt of leaves, everyone in camp wears that, it signals that you arent completely on the start of the game
also it requires the skill to do so

so basically a system where  wearing clothing makes you "bigger" and healthier
this would be around 25% bonus, so instead of 20 food bars, 25 bars, with each combo the bonus would grow up to 30 bars
this is an example, technically imagine game talks inches, i talk centimeters, the numbers can be tweaked
also the food values, so a pie would still give 75% fullness just would happen to be 24 instead of 16 bars

this would mean that you still benefit from temperature and managing food, but you are capped until you wear clothing and its always a benefit to do so

clothing also should be more client side thing, you could still give clothes to others, but they have to put them on themself
and that is locked until death or replaced(maybe give back something else when replaced) instead of putting down cause your hot and a toddler walks away telling you to fuck off

other option to have a basic clothing, like underwear, t-shirt, socks and headband which are placeholders for pants, shirts, shoes and hats
it means you got them but you dont use them currently
this whole take off and on is tedious clickign every time you swap locations, could be automatic, like you strip off in hot area, and dress up in cold
or if you really want some decisions, then a 4 part inventory where clicking parts dresses you up and down and you hang your clothing on yourself (really storing clothing, and going back and forth for it isnt that good ideea for same reason, others steal it)
but could be a private locker thing where you can put down clothes and others cant access it, if you want to drop your clothes, then you drop it outside a locker- this wardrobe/locker thing should also be basic stuff
maybe we could even wash clothes to maintain them, unwashed would look more dark and raggy and washed would look better, give more bonus

for example Tim has pants, Tina has skirt, once Tim equips pants, its locked to his characters, others cant wear it until unlocking by Tim himself
Tina cant swap to pants intentionally or accidentally
Rosa, their mom washes the clothes, so they strip off, they got underpants in meantime, signalling that they had pants, just currently not on them
this keeps the food bars but not the heat or other bonuses (we could have some sort of shame buff/debuff for pants and chest clothign maybe, speed buff for shoes or protection to animals or weapons?)
this would be locked until Tim is around the pants, like lets say 50 tiles radius, and alive, if you go outside of radius or die, the clothes are up for grab.

this would mean that you want extra food bars, you make the clothing, this increases your survival rate

im really not fan of the inheritance and gifting clothes, this part of game would be a good signal that hey im naked so im a noob, hey im clothed so im not that dumb, yeah its nice to get others furs and stuff, but at least assemble clothing for yourself
also makes no sense to wear your granmas clothes for another 60 years, people will die, so its ok that you take clothes, but maybe limit this by either a timer on the vulture mode, like you grab a pack you need to wait 30 sec to grab other clothes, or by a "will" where you signal which clothing goes to who and cant be one person everything, you could still go around it, but at least not gearing a tiny shit in front of the naked adolescents who work their ass off.

with all that, buffing and all, making full clothes still takes like 20 min, even more sometimes, so this takes away a lot of time, so i think it should be easier to make some sort of basic clothing, almost instant if you know how
for example some kind of glue like resin from tees and leafs would make a 30 min decaying leaf skirt
different skins for chest
sandals from swamp tree using some tendrils
and a half coconut shell on your head

this would give you the bonus, temporarily on your food bars so you could store a bit more food and use higher tech foods more efficiently

but if you want temperature bonus and look more decent, you got to spend more time on it

so my point: basic clothing should be basic, just a bit of exploration, grab something from each biome, combine, done. activate bonus for a short time, enjoy benefits of bigger food bar.  everyone would need to do this every life, so shouldnt take longer than 5 minutes. the 30 min decay would be decent, people could make it before 14 and choose to live their life without it after 44 or do again  or upgrade it. basic is basic, looks dumb, like a little tribal person in a fur(i think is fine to have naked chest at that stage so this part can be harder), with a leaf skirt, sandals and a headband.

average clothing the current one , you need resources, you get temperature buff, higher decay timers.
i strongly disagree with gearing and scavenging others with no limit to have any purpose of value on clothing. right now a mom gears the first dumb girl up to full then has nothing for the next 9 kids and people arent famous of controlling themselves.


top tier clothing: last much longer, has thermo regulating abilities and looks better.

any case, i would like to see some sort of inventory with activated items, a bottom layer of clothes, like basic underwear and socks when deactivated, and the normal clothing when activated, this rush for clothes has negative effect on people, stealing furs, fleece and clothes form others isnt a good mechanic. you still got to activate items to have effect, and keep an eye on heat bar and you still need to take off hat when you enter a room.

this brings up a good bonsu for rooms: inside an enclosed space, all items could be active, even if you didnt made any yet, so keeping babies inside a room would give them higher chances of surviving first few years. the room has to be minimum 3x3 in size and have a closeable door (which brings up the low level door question, like a boulder on a cave or something)

washing clothes could reset decay timer and would be a good job for the moms who tend to their kids.

temperature on clothes would work on top of all this, so having all basic would be better than having one single seal skin jacket for food bars but lower inpact on losing food bars as a bsic set would be colder.
i think a system like this wouldnt be overwhelmingly tedious like dropping clothes, risking to be stolen, then taking back on each time you cross the desert and swamp border.

you could still give clothes one at a time to others or materials for clothes, but no gearing and spoiling some and ignoring all others.

what jason generally ends up is, that low tiers are less annoying, and more effective on time, so makes high tiers just a cosmetic upgrade, technology should make life easier and more enjoyable
we need another risk lategame, where we shouldnt worry about food that much, rather some moral meter which needs aoe decorations to improve people life (some sort of speed bonus or extra buffs would be nice)

Last edited by pein (2019-02-09 12:34:09)


https://onehouronelife.com/forums/viewtopic.php?id=7986 livestock pens 4.0
https://onehouronelife.com/forums/viewtopic.php?id=4411 maxi guide

Playing OHOL optimally is like cosplaying a cactus: stand still and don't waste the water.

Offline

#38 2019-02-09 13:20:33

betame
Member
Registered: 2018-08-04
Posts: 202

Re: How should clothes work heat-wise?

Looking over commits, they look like good steps. But then again, scaling back to a super simple calculation might still be the right answer.

I love how Jason's distilled insulation to a 0~1 scale (rather than 0~inf like physics constants), and adding multiplicatively helps that all make sense and be internally consistent. It was also important to keep clothing insulation separate so it doesn't trap in the biome's sunshine. I'm also glad that the c cycles don't start with 0s or leave 0s on the edges anymore.

I'm not sure if the heat changes are finished, or if it works nicely yet. I think a major challenge will be making buildings keep in heat since the heatmap range is smaller than some buildings.


For whatever its worth [because this type of modeling might not be what the game needs], here's a python script I made for fun a while back thinking about how I'd try to model OHOL-style heat with computational physics***. I think it's similar the v197 commits so far which appear to use a transient model, but Gauss-Seidel might get envHeat quicker.
*** http://www.mhhe.com/engcs/mech/holman/g … lech_3.pdf
Textbook page 93: Gauss-Seidel Iteration for finite element analysis of steady state heat transfer.

#This is a finite element analysis using Gauss-Seidel Iterative Method, as seen at http://www.mhhe.com/engcs/mech/holman/graphics/samplech_3.pdf
#modeling any layout of a plate of heat-generating elements insulated on one side, and with a constant temperature matrix on the other 5 sides
#The model allows the user to adjust each element's themal resistance in the two isometric planes seperately


#####PARAMETER SECTION
mapLen = 10 #map range to consider
hdxInv = .1 #(0.01-inf+) constant to mess with air resistivivity Rdx = 1/(h*dx)
sigmaEpsilon = .2 #(->0) plays with biome's temperature regulation; smaller means more regulated ~ wherever it's used may be a neat place to add sheltering effects of floors/clothes
numCycles = 60 #(mapLen-inf+) set max cycles / calculation time limit. Recommended minimum is mapLen/2

'''
suggested object data (proportions; units don't matter)

biome temp (5/700 F) (range ~-2-1.5 --absolute zero to water boiling)
desert 0.7 or .8
ideal  0.5 #this is the targetTemp! assumed to be ~70F
neut   0.2 or.3
ice    0.0

obj heat (1/100 Watts), (range -inf-inf+)
player ~1 #quick google
coals  2.5 #small personal space heater
fire   5
slow   10
fast   15 #best small space heater

obj thermal resistivity (1/k...), (range 0.01-inf+)
air     .1
clothes (look up weighted rValue, multiply up to a good range)
wall   100


floor*** #reduce r by a factor? create sheltering coeff?
'''

##derive essential variables
mapA = mapLen*mapLen
mapLenLessOne = mapLen-1 
numNeighbors = 4 #corners aren't needed for model to work; cuts calculation time 
neighborJump = [mapLen,1,-1,mapLen*-1]
playerIndex = round(0.25+mapLenLessOne/2)*(1+mapLen)  #making ceil() out of dumb python rounding
##


'''DATA INPUT'''
#server gathers tBiome,q,k
'''manual data entry'''
biomeTemp = .2 #set from above
tBiome = [biomeTemp]*mapA #biome natural temperature grid
#for i in range(0,60):
#    tBiome[i] = 0.2 #part other biome


q = [0]*mapA #heat generation grid
playerQ = .5 #data choice
q[playerIndex] += playerQ
q[35] += 10 #fire

r = [hdxInv]*mapA #insulation for each square, big numbers are typical for walls
#r[playerIndex] += .1 #clothing insulates from all surroundings, but never completely

#for j in [6,16,26,36,46,56,66,76,86,96]: #wall
#   r[j] += 100
'''end manual data section'''

'''prepare some values for itteration'''
k = [0]*mapA #will be conductivity, 1/r
kSum = [0]*mapA #dummy var
kSumInv = [0]*mapA #will be value used in each itteration, based on equation
tOld = [0]*mapA #initialize as tBiome
tNew = [0]*mapA #same. !make sure edges are tBiome and are never destroyed in itterations!
for y in range(0,mapLen):
    for x in range(0,mapLen):
        j = y*mapLen+x
        k[j] = 1/r[j]
        tOld[j] = tBiome[j]
        tNew[j] = tBiome[j]
for y in range(1,mapLenLessOne):
    for x in range(1,mapLenLessOne):
        j = y*mapLen+x
        for n in range(0,numNeighbors):
            nj = j+neighborJump[n]
            kSum[j] += 1/(r[nj]+r[j])
        kSum[j] += 1/(sigmaEpsilon+r[j])
        kSumInv[j] = 1/kSum[j]

delta = 0 

'''Gauss-Seidel Iteration'''
for c in range(0,numCycles):
    for y in range(1,mapLenLessOne):
        for x in range(1,mapLenLessOne):
            j = y * mapLen + x
            #biome temp regulating
            #shelter coeff = k[j] --or some new object variable?
            #T^4 model jumps too much for iterative approach ???maybe not???
            deltaBiome = (1/(sigmaEpsilon+r[j]))*tBiome[j]#*k[j] #*shelterCoeff?
            for n in range(0,numNeighbors):
                nj = j+neighborJump[n]
                delta += tOld[nj]*(1/(r[nj]+r[j]))
                
            tNew[j] = (q[j] + deltaBiome + delta)*kSumInv[j]
            delta -= delta

            tOld[j] = tNew[j]
    
#indent to see convergent approach to solution
playerTemp = tNew[playerIndex] #note targetTemp = 0.5, and temperatures are modeled around this
print('playerTemp =', playerTemp)

for y in range(1,mapLenLessOne):
    for x in range(1,mapLenLessOne):
        j = y*mapLen+x
        print('{0:5.4f}'.format(tNew[j]),end='  ')
    print()

'''exact same foodDecrementTimeSeconds calculation, rewritten'''
if playerTemp>1:
    playerTemp = 1
if playerTemp<0:
    playerTemp = 0
    
maxFDS = 20
minFDS = 2

uncomfortable = abs(playerTemp-0.5)
FDTS = maxFDS*(1-2*uncomfortable) + minFDS
foodPerHour = 3600/FDTS
print('FDTS =', FDTS)
print('foodPerHour =', foodPerHour)


'''Planned improvements:
obviously adjust object values and parameters to liking
decide what floors do. probably increase sigmaEpsilon, decrease k. by a factor?
move player to a special cell so standing on a fire doesn't put it inside the clothing'''

Last edited by betame (2019-02-09 17:04:11)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#39 2019-02-09 16:08:08

betame
Member
Registered: 2018-08-04
Posts: 202

Re: How should clothes work heat-wise?

If converging slowly is still a big holdup:

jasonrohrer wrote:

Settling again, but even more slowly.  That 40% jump is awful.

Not that I'm really going to be adjusting the number of steps simulated in the future (though I have in the past), but the fact that it is so sensitive the the number of steps simulated is troubling, especially for the "naked in a biome" test.  Intuitively, that should just be a fixed temperature that doesn't vary with length of simulation.

What I said about things going to infinity above is not currently true, because the edges of the simulation grid are held at 0.00, they absorb more and more heat as the heat in the middle builds up (greater heat differential means more heat moves there per step).  I'm pretty sure all possible grids settle eventually at finite values because of this, but the way they blow up during early steps makes them hard to reason about.

The issue seems to be that your model is for transient solutions. Each c cycle is a time step. The Wolfram source you'd linked has a slider for time steps which is essentially c cycles. So if you're using it to solve for envHeat (T_inf) when the temperature stops changing, you'd need c to go to infinity (or be sufficiently large).

Alternatively, Jacobi or Gauss-Seidel methods use each iteration to solve directly for envHeat (the steady-state solution). They converge quicker than transient models because each iteration no longer has to represent what's going on at each particular time step.

It'd be a little bit of work***, but converging quicker could mean less finicky if that's enough of a problem currently:

***I think this is how it would fit in to the server code
compared output and it checks out; still unsure if nWeights should be normalized to add up to 1.

    for( int c=0; c<numCycles; c++ ) {
                
        float tempHeatGrid[ HEAT_MAP_D * HEAT_MAP_D ];
        memcpy( tempHeatGrid, inPlayer->heatMap, 
                HEAT_MAP_D * HEAT_MAP_D * sizeof( float ) );
                
        for( int y=1; y<HEAT_MAP_D-1; y++ ) {
            for( int x=1; x<HEAT_MAP_D-1; x++ ) {
                int j = y * HEAT_MAP_D + x;
            
                float heatDelta = 0;
                float leakTotal = 0;
                //changed above, though could be solved outside of loop
                
                float centerLeak = 1 - rGrid[j];
                float centerOldHeat = tempHeatGrid[j];
                for( int n=0; n<numNeighbors; n++ ) {
                
                    int nx = x + ndx[n];
                    int ny = y + ndy[n];
                        
                    int nj = ny * HEAT_MAP_D + nx;
                        
                    float nLeak = 1 - rGrid[ nj ];
                    
                    heatDelta += nWeights[n]/totalNWeight * centerLeak * nLeak *
	                         tempHeatGrid[ nj ];
                    //changed above
                    leakTotal += nWeights[n]/totalNWeight * centerLeak * nLeak;
                    //changed above
	                    }

	//recent commit
	                // now 9th "neighbor" floor
	                float floorLeak = 1 - rFloorGrid[ j ];
	
	                // ground (under floor) always has heat of matching biome value
	                // (never gains or loses heat, infinite)
	                float groundHeat = biomeHeatGrid[ j ];
	
	                heatDelta += nWeights[8]/totalNWeight * centerLeak * floorLeak * 
	                     groundHeat;
                        //changed above
                        leakTotal += nWeights[8]/totalNWeight * centerLeak * floorLeak;
                        //changed above
        //recent commit
	
                inPlayer->heatMap[j] = (heatOutputGrid[j] + heatDelta) / leakTotal;
                //changed above;
                tempHeatGrid[j] = heatMap[j];
                //changed above;  updated values speed up convergence
                }
            }
        }

trying to think of ways to mimic shade; floors&clothes shelter from biome's heat.
maybe something like clothing reflecting back the effective solar radiation

//EDIT:
            heatDelta +=  nWeights[9]/totalNWeight * centerLeak * floorLeak * (clothingR[j] * -groundHeat)
            totalLeak += nWeights[9]/totalNWeight * centerLeak * floorLeak
         //OR:
            biomeHeatGrid[playerMapIndex] = biomeHeatGrid[playerMapIndex] * (1-clothingR)

also, there should be no need to cycle in the playerHeat calculation for clothing

//instead, solve directly for the  steady-state solution:
    float bodyHeat = 1
    //arbitrary bodyHeat; needs balancing
    playerHeat = (bodyHeat / (1-rCombine(clothingR,rAir))) + envPlayerHeat

If anyone wants the math behind it:
n are neighbors
q is the heat generation on the tile (i.e. body heat in the case above, or fires on the map)
nWeights I think need to be normalized so they add up to 1 ~unsure
TempChange of time step = (T_(t+1) - T_t) = Sum_n[nWeight*nLeak*centerLeak*(T_n-T_t)] + q

If you want to solve for T_t when the temperature is no longer changing, set the left side to 0.
0 = Sum_n[nWeight*nLeak*centerLeak*(T_n-T_t)] + q
then solve for T_t
T_t = ( Sum_n[nWeight*nLeak*centerLeak*T_n] + q ) / Sum_n[nWeight*nLeak*centerLeak]

It relates directly to the physical model, where
Leak = conductivity
Weight = shape factor
(and assuming the specific heat capacity is constant)

Last edited by betame (2019-02-13 03:22:46)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#40 2019-02-09 17:58:10

NoTruePunk
Member
Registered: 2019-01-25
Posts: 321

Re: How should clothes work heat-wise?

jasonrohrer wrote:

wearing a really thick coat does not keep you cool in the desert

We need heat moderators that will keep you warm in the cold, AND cool in the heat, like a Keffiyeh or a windbreaker.

Offline

#41 2019-02-09 20:28:35

Redram
Member
Registered: 2018-08-16
Posts: 113

Re: How should clothes work heat-wise?

pein wrote:

so basically a system where  wearing clothing makes you "bigger" and healthier

I like this idea but what if instead of hunger, it was the time till death?   So when you get wounded, the better your clothing the more time you have before you die of the wounds?  This makes clothes useful regardless of temperature.  It would represent that the clothes protect you a bit from the bear or wolf mauling, or the knife/arrow did not go as deep, or the snake bite did not go as deep and didn't get as much poison into you before you pulled it off.  For yellow fever, the clothing *reduces* the duration.  With the right balance maybe that makes clothing better than no clothing, even with the heat.

Offline

#42 2019-02-09 21:20:09

seth
Member
Registered: 2018-02-28
Posts: 93

Re: How should clothes work heat-wise?

I'm not sure if this has been mentioned yet, but I think part of the reason temperature get's a bit ignored by players is because you have to look at the meter to be aware of it.

I would be much more likely to adjust my playing if my player started shivering or sweating.

I recognize that would be a large amount of effort to pull that off well, but then the heat bar wouldn't feeling like a side mini-game, and would be more readily apparent and part of the roleplay..

Offline

#43 2019-02-09 21:36:15

fragilityh14
Member
Registered: 2018-03-21
Posts: 556

Re: How should clothes work heat-wise?

or i'm assuming we're getting leather soon, maybe pants and leather boots protect you from snakebite?

almost all of my random deaths are from animals, I'd really like to stop stepping on rattle snakes.


Also for the desert we should for sure get full robes that keep you cooler, it would also be more convenient having just one clothing item. and the garment could moderate you in general, because obviously that's still warmer than being naked in the arctic.


I'll tell you what I tell all my children: Make basket, always carry food.

Listen to your mom!

Offline

#44 2019-02-10 07:25:17

betame
Member
Registered: 2018-08-04
Posts: 202

Re: How should clothes work heat-wise?

I expect with the changes of the heat code will come some rebalancing.
For example, thinking about my suggestions above:
targetHeat = 0.5, an ideal biome should have heat ~0.5. 1 should be boiling, and 0 should be freezing
rValues will need to be sufficiently small; extreme stuff happens with perfect insulators (imagine a space heater in an ice chest)
All the values for r, heat output, nWeights, biomes, targetTemp, air, and body will need to be tweaked until it feels right;
we should always be more comfortable clothed, but take off a sweater in the desert, and add a coat in the winter.


Still, there's the problem of the heat map range being small. Biome edges won't spread more that 4 tiles, no matter how much tweaking of conductivity. Buildings' walls will cease to affect anything beyond that range.
I wish accessing memory wasn't the main bottleneck.

Last edited by betame (2019-02-10 11:26:20)


Morality is the interpretation of what is best for the well-being of humankind.
List of Guides | Resources per Food | Yum? | Temperature | Crafting Info: https://onetech.info

Offline

#45 2019-02-10 11:53:23

Glassius
Member
Registered: 2018-04-22
Posts: 326

Re: How should clothes work heat-wise?

Complicated, while still not complete computation for heat

You Jason made so complex computation to protect from only one element, air. In reality, clothes are protecting us from multiple elements, especially water and sun rays. This is why clothes can cool down. Desert clothes have drawback, as they filter from air. Is is bad, because during sweating you want air to flow around you body. But those clothes are loose, so this filtering is rather weak and minor comparing to other protection: from sunrays!

What is also missing, is heat capacity. Walls and floors are only filtering heat exchange for the air, but in reality they also heat up and cool down. This heat capacity is especially useful in environment with big daily temperature amplitudes, because building is warming interior during night and cooling it down at day. In the game there are no seasons nor day/night cycle (yet), so it would be simply just move temp to middle inside building.

Also, the great heat source is physical activity. Characters working constantly in desert could increase their temp to crazy levels. It would make colder biomes much more viable and desert a really death trap even to naked players, as they would need to rest to cool themselves down. This way, colder biomes would be much viable places to live.

Now imagine, you would introduce another complete and close to reality computations for sunray isolation, wind isolation, physical activity, animals (peasants were living together with animals in winters) beverages with ice, electrocnic machines and diesel engines in the future. It would be a nightmare. Because of amount of resources needed to calculate them, the game would become character temperature keeping simulation, instead of parenting and rebuilding civilization smile While usually I'm lacking immersion and real life feature in OHOL, I strongly advice here to abandon the beautiful algorithm you implemented and make a basic area filter, with wages determining how heat/cold sources in the area should affect you.

I guess the only reason to make so complex computation is to introduce the walls as an input for heat calculation. But still, it lacks environent protection. I think it would be much better to indroduce interior influence.

To much simplified temperature/calories burning computation

In reality human bodies have very limited abilities to keep temperature. Shivering, the most energy consumption state except of workout, increases metabolic rate only 5 times, while ingame this change is 8.6 times. Not so far from reality. But, during overheat our bodies almost do not increase metabolic rate. Only the heart beat rate and lung circulation may increase, to loose energy faster. Increasing metabolic rate greatly would increase also body temperature, which is nonsense for overheated body!

What is greatly increased during overheat is sweating, so increased food consumption can be treated in fact as increased water consumption. Even if it is just a justifying the lacks of game desing, like semi-scientific explanations for warp drives, lightsabers and the weight of Mjölnir. Because if so, why couldn't we just drink water from well? smile

In reality, we do not starve because of too cold or too hot, like in OHOL. This oversimplification allows players to min/max clothes and food. The cost of clothes is too damn high to take it into consideration. Like, during 10 lifetimes, I tried to get myself a complete set of wool cloth with fresh crafitng. I succeeded only once, because all the time I had to keep city alive, craft basic tools, like froe and shears, or there is already a shephard preventing me from my efforts. The only time I succeeded, was when compost/shephard guy crafted it for me, in exchange for smithing I did for him.

In reality we freeze to death or die to heat illness. If you Jason really want temperature to matter, introduce heat illness and freezing feature: let body cover with visible sweat, make character's skin color more red and reduce movement speed. When we hit the max temp, let us die. The same the other way: introduce visible shivering, make skin color pale and kill us if temperature heat the min. Of course, this would require also rebalance to little delay death of temperature. Or maybe not? smile Yellow fewer should introduce also shivering, body heat temperature and calories consumption increase. But, allow us to take clothes off.

Dynamic temperatures

No matter what, without day/night cycle or seasons, desert/jungle border will always be the best place to live, making clothes and buildings neglectable. Players suggested a fix to that in many ways:
1. Make biomes bigger and able to basic sustain. This would encourage players to move away from desert border
2. Remove ponds from deserts proximity
3. Make biome matter the farming efficiency, with water/soil/growing time management
4. Introduce basic protection for clothes and buildings, making them matter even in optimal temperature spot

More players reblance suggestions

1. In reality one sheep provides wool for 3-5 sweaters. Cashmere sweater is made from 3 goats and it is very expensice. In OHOL you need wool from 6 sheeps and it is extremally high. It also explains, why everyone is running naked, despite you saying a long time ago about police in blue sweaters: I gave you colored clothes? Make wool clothes much less costy!
2. Introduce more clothing, like linen.
3. Introduce domestic animals skinning and tanneries. Also for backpacks.

Offline

#46 2019-02-11 22:00:31

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: How should clothes work heat-wise?

A lot of great discussion here.

I do still worry that, as long as some biomes are hot and others cold, there will be ways to exploit that along biome boundaries.  Even if there's no blend of temperatures at boundaries, people can dance across boundaries.  And yes, I HATE that there is currently a "good spot" for the baby to stand (unless it is next to a fire---I do like that).

And someone else suggested that temp is separate from biome, and involves some kind of averaging of all biomes in a given radius.  This still suffers from the same problem, in that if you find a good spot that is situated between two biomes, you can find a temp-perfect area where no clothes or buildings are beneficial.  But yes, I do think it's dumb that natural temp can change so drastically in th middle of a town (though people are building on boundaries to exploit temperature blending, so they wouldn't have a boundary in the middle of town if that wasn't a factor).

As for why the green biome is cold....  in the original game at launch, all biomes were equally cold, and there were no biome temp effects, at all.  Everything was cold to make buildings/clothing/fire beneficial everywhere.  The next biome introduced was the arctic, and that was even colder.  Okay, clothes are REALLY needed there, and no one builds towns there.

The "laws of the land" from back in the day included "wear a full set of clothes, because otherwise you're wasting valuable food."

The introduction of the desert was the beginning of the temp exploits.  Jungle was even worse in this regard.  And yes, I agree that the mosquitoes don't offset it that well.  Though I do somewhat like the feeling of avoiding jungle when I'm navigating long distances.  Too troublesome to go in there.....

Unless we find a solution to the "perfect naked area" problem (on a boundary or blend point between biomes), I'm tempted to make all biomes cold, and some (like arctic) colder.


The general idea is that clothing should help, but not be sufficient.  Buildings should help, but not be sufficient.  Heating should help, but dissipate too much if not contained.

In order to have a perfect temp, clothing, buildings, and heating should be necessary.  Otherwise, you should be cold.

And I guess there should also be some penalty for "overdoing it," or some specialty clothing that is really only viable in the very coldest places.  Like the seal coat.  Maybe you'd wear that for a polar trip, but not generally hang out at home in one.  Also should be possible to overdo it with heat sources.  If you have a fire and a forge and an oven in your house all going at the same time, you should overheat in there, especially if you're wearing warm clothes on top of it all.


Also, when coming into the house, I do not want to encourage you to "strip down" completely.  That would be tedious.  But I would want you to take off your hat, or your polar coat.  Just one thing removed should be enough to regulate you down to perfect.


Maybe clothing alone produces no temp benefit? (In other words, there's no body heat to hold in?)  Maybe it only slows the loss of heat?  Or in general, insulates you from moving closer to your surrounding temp.  Like, maybe people in this game should be cold blooded.

So if you wear a warm coat into a very hot building (forge), it keeps you cool for a while, until you eventually heat up.  Then at that point, taking off the clothing will have no effect (nor will leaving it on), b/c you are at the same temp as the surrounding space.  If you walk out into the cold, however, having clothing on will keep you hot longer.

Likewise, if you are trying to warm up by a fire, keeping clothing on will slow down that process (same in real life, take coat off to warm up by fire).

Or maybe the body heat could be part of this model, but still, clothes hold that in AND slow heat transfer with surrounding env temperature.

Offline

#47 2019-02-11 22:11:58

Twisted
Member
Registered: 2018-10-12
Posts: 663

Re: How should clothes work heat-wise?

jasonrohrer wrote:

A lot of great discussion here.

And yes, I HATE that there is currently a "good spot" for the baby to stand (unless it is next to a fire---I do like that).


This probably wouldn't solve the biome jumping probem for adults, but what if babies & children were unaffected by biome temperatures - their base temperature is always cold, and they are warmer when held by their mother (in addition to fires, clothing, etc.) As they babies grow they get less and less temp benefit from being held by the mother, and more and more affected by the biome temperature. This would also be very flavorful, as taking care of babies and holding them would become more important. Right now the mom meta is to put the baby down in a good temp spot, and pick it up every minute to refresh it's food meter.

Offline

#48 2019-02-11 22:36:49

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: How should clothes work heat-wise?

Well, I do like it when people put clothing on their baby.

For a held baby, their temp doesn't matter, because they get infinite food for free, as long as they are held (each pick-up costs the mother 1 pip of food).

It seems good that people set their baby near a fire, or put clothes on them, etc., for the times they are not being held.


I'm pretty sure the most food-efficient way to currently raise a baby is either:

1.  Mother eats until full with huge YUM bonus, then stands in perfect temp while holding baby until baby grows up (spends 1 food on baby, the first time the baby is picked up).

2.  Someone else feeds mother while she holds baby the entire time (again, 1 food spent).

Offline

#49 2019-02-11 22:51:00

Twisted
Member
Registered: 2018-10-12
Posts: 663

Re: How should clothes work heat-wise?

jasonrohrer wrote:

I'm pretty sure the most food-efficient way to currently raise a baby is either:

1.  Mother eats until full with huge YUM bonus, then stands in perfect temp while holding baby until baby grows up (spends 1 food on baby, the first time the baby is picked up).

2.  Someone else feeds mother while she holds baby the entire time (again, 1 food spent).


Both of those are technically food-efficient in theory, but they both put the mother completely out of commission until the baby is old enough, which means it's a super inefficient way to raise a baby in practice. The work the mother can do in those few minutes is worth more than two or three pips of food spent feeding the child.

Offline

#50 2019-02-11 22:52:31

Greep
Member
Registered: 2018-12-16
Posts: 289

Re: How should clothes work heat-wise?

Regarding perfect temp spots, this is why I think the system should be simpler and temperature changes by grid change should just be instantaneous:  If you're in a desert and move right into glacier, you're now instantly freezing.  It doesn't make real world sense, but neither does taking one step and being in a jungle, then taking another and poking a penguin.


Likes sword based eve names.  Claymore, blades, sword.  Never understimate the blades!

Offline

Board footer

Powered by FluxBB