Weather

Started by Forest Junkie, December 04, 2007, 07:50:44 AM

Quote from: Dakkon Black on December 05, 2007, 03:48:27 AM
Yep, every time the weather kicks up a mage is eating children.

it is not that often man, i heard they only do it on nekrete mornings and only if lirathu is high in the sky and jihae is not up.  what are the chances really?
some of my posts are serious stuff

The problem with blaming magickers is that it only works IC.  We're looking for an OOC, code fix to a problem... the problem being that the weather is beautiful when the game is freshly started and seems to steadily worsen and rarely improves.
Quote from: MalifaxisWe need to listen to spawnloser.
Quote from: Reiterationspawnloser knows all

Quote from: SpoonA magicker is kind of like a mousetrap, the fear is the cheese. But this cheese has an AK47.

Quote from: spawnloser on December 05, 2007, 05:10:08 AM
The problem with blaming magickers is that it only works IC.  We're looking for an OOC, code fix to a problem... the problem being that the weather is beautiful when the game is freshly started and seems to steadily worsen and rarely improves.

=(

I blame Sanvean  ;D

We should all make it a point to send chocolates and tropical fruit baskets to her house as a sacrifice whenever the weather on Zalanthas becomes abominable in the hopes of appeasing the weather goddess!
Quote from: MorgenesYa..what Bushranger said...that's the ticket.

Quote from: Ghost on December 05, 2007, 12:17:04 AM
I am not sure if you can formulate that.  You can put some nonlinear harmonic function that will not be easy to predict, but still, I doubt you can make chaos by a simple equation you are putting down (I have not seen chaos theory at all so maybe I am wrong though)
Chaos just means it's deterministic but aperiodic ("exponential growth in perturbations").  You can get the effect with nonlinear ODEs...though I suspect that, in difference equations, you'd have bandwidth problems that would turn it into something periodic (though perhaps with a very long period).

I built one of these once: http://en.wikipedia.org/wiki/Chua's_circuit.  It was...strange.

dX     [ -a ,  a , 0 ]     [ f(x) ]
-- ==  [  1 , -1 , 1 ]*X + [  0   ]
dt     [  0 , -b , 0 ]     [  0   ]

where f(x) is a nonlinear resistance.  Purdie pictures: http://www.cmp.caltech.edu/~mcc/chaos_new/Chua.html
The sword is sharp, the spear is long,
The arrow swift, the Gate is strong.
The heart is bold that looks on gold;
The dwarves no more shall suffer wrong.

Hmm... what I see there is a 3 D ODE that is dependent on another function f(x) on the x direction.   If there was no f(x)The solution could be of the form

X = T*exp(Ct), where T is a 3x3 matrix its coefficients could be determined easily.  To solve it fully, f(x) should be known, and its solution will be added to the output, but if it is nonlinear it will give a hard time.  As long as you know what f(x) does though, you will have a solution and it is still predictable, no?  Did you plot the outcome?  What is f(x) in terms of x?

For weather problem, we have only one parameter, that is t, time.  Putting a nonlinear function (such as tlogt) somewhere inside will still make it nonlinear.  And then putting that nonlinearity inside a periodic function (such as sine) will give a "aperiodic" or as you put it periodic maybe but the period of the function will go nearly infinity.

Why I picked sine as a function is, the weather function should not converge or diverge as time changes.  So a harmonic function seems like a good pick.  It will have a maximum and a minimum value and it will fluctuate in between.  Put a complicated nonlinear, nonrepeatitive equation inside and it will have infinitely large period.
Hmm... Now I think of it, a random function needs to be put inside as well, otherwise, even though it is not periodic, after each reboot it will follow the same routine as the previous reboot.
sin[tlnt + t^2 + 1/t + random(t)].  The random function could be the last 3 digits (seconds) of ginka's clock.

I think that would work, if there was a way to code it.
some of my posts are serious stuff

I don't know why I just read all of that.

It was the equivalent of me reading something like the Chinese written language.

Quote from: Ghost on December 05, 2007, 11:08:19 AM
For weather problem, we have only one parameter, that is t, time. 

Not just time, but location too.  We've seen the new rooms with the nice (x,y,z) coordinates, and where you are on the map (including altitude) should weigh in on the local weather conditions. 

Also, with time, I hope it would depend on both the season and the time of day (i.e. cooler at night)

I believe staff has said in the future reboots should have little noticeable effects on shop inventory and I hope the same would be true for weather.  If the weather function is based on the game clock and the room coordinates, it won't matter if the game reboots.
"No live organism can continue for long to exist sanely under conditions of absolute reality; even larks and katydids are supposed, by some, to dream." - Shirley Jackson, The Haunting of Hill House

Let me just add that one of the things I hate about the current weather code is the abrupt, dramatic change in weather as you move from one zone to the next zone.  Yes this could be realistic in certain situations, but it can be jarring when it happens so predictably.  I'm hoping the new mapping system will make that a thing of the past.
"No live organism can continue for long to exist sanely under conditions of absolute reality; even larks and katydids are supposed, by some, to dream." - Shirley Jackson, The Haunting of Hill House

Quote from: flurry on December 05, 2007, 12:44:07 PM

Not just time, but location too.  We've seen the new rooms with the nice (x,y,z) coordinates, and where you are on the map (including altitude) should weigh in on the local weather conditions. 

True.  Hmm, it can be done by charts.  For each zone you may have a weather chart say Red desert: 0-10 no wind, 10-30 slow wind, 30-60 gale, 60-90 sandstorm, 90-100 worst sandstorm

Whereas for Tuluk: 0-30 no wind, 30-60 slow wind, 60-85 gale, 85-98 sandstorm, 98-100 worst sandstorm.

For day and night different charts can be applied.  Then your weather function
weather = 100*sine (nonlinear function of time with a random function addition)     ............. The sine output is giving between (-1, 1) so the charts should be adjusted properly.

Then a do loop or if loop (I know nothing about coding so bear with me) whichever is applicable can be put into a loop for checking for weather and then putting it IG.
A random time function could also be added to determine when to take the value of the weather function and put it to the game.  So the weather changes may look more random.

A little more addition:  The game may check the "next" weather change and save it, then when the time of weather change comes the weather function puts the saved value and checks for what the weather is going to be next time.  This way, the weather changes will not be just sudden changes, but the game can give weather change echoes before the change happens.

Like: First hour, the weather is nice, the game checks for the next weather change and sees it is going to be a sandstorm.  Then after half the time to the next weather change, the game might throw a few pre-determined weather change echo to describe the shift from nice weather to the sandstorm.  That way you will see a sandstorm coming with time.

I don't know how location change can be applied though.
some of my posts are serious stuff

Weather should also take into account:
- existing weather in the zone
- weather in other zones bounding this zone

I also think weather needs to be a collection of variables, not just a function of how stormy it is. You'd want to determine:
- wind speed
- wind direction
- temperature ...

Possibly even things like barometric pressure. (Do we have a meteorologist in the house?)
subdue thread
release thread pit

Would it be possible to generate wind speed and visibility levels by first generating heat and humidity indexes for the various regions, perhaps based on the time of the year?

That is, wouldn't variations in heat and humidity cause wind, and could the code model weather in this way?

You begin moving silently toward your victim.

Quote from: Jherlen on December 05, 2007, 02:17:52 PM
Weather should also take into account:
- existing weather in the zone
- weather in other zones bounding this zone

Existing weather could be added I guess, but for that your entire equation should be rewamped.  Still, though, Zalanthan weather is too chaotic in nature, so I am not sure if the weather change should take into account how it is currently.  It could jump from a soft breeze to a storm, no?

Quote from: Jherlen on December 05, 2007, 02:17:52 PMI also think weather needs to be a collection of variables, not just a function of how stormy it is. You'd want to determine:
- wind speed
- wind direction
- temperature ...

I agree.  Though I think wind direction in the current game does not have any effect (I might be wrong.  I just have not seen its effect)  Temperature needs a different chart, it does not need a nonlinear function I guess.  Some constant (different for day and night) + a random dice roll could make a temperature output.  I am not sure if Zalanthas has climates, if it does the constant could be affected by those parameters too.
Wind speed:  I guess it is linearly dependent on the storm?  The weather output could be summed with a dice roll, and different charts for different regions can be implemented.

Weather being affected by nearby regions:  I am not sure how, but if ginka could determine the neighbors of a region, it looks a little big to me. If it could be done, a region could average the weather effects of neighbors, and then add it to the weather function.
One problem with that though:  Imagine one region has storm, the nearby got affected and has a storm too.  So two regions, suddenly dominating their regions and the entire known world could have bad weather if the parameters are not set right.  And once such a hazard happens, if the weather change time for different regions is different, then the good/bad weather could stay for a long time.
some of my posts are serious stuff

Quote from: Ghost on December 05, 2007, 03:07:39 PM
Weather being affected by nearby regions:  I am not sure how, but if ginka could determine the neighbors of a region, it looks a little big to me. If it could be done, a region could average the weather effects of neighbors, and then add it to the weather function.
One problem with that though:  Imagine one region has storm, the nearby got affected and has a storm too.  So two regions, suddenly dominating their regions and the entire known world could have bad weather if the parameters are not set right.  And once such a hazard happens, if the weather change time for different regions is different, then the good/bad weather could stay for a long time.
Yeah, very true, otherwise we'd get runaway sandstorms like we see now. You'd need to apply some sort of negative feedback in order to make sure that bad weather can't last forever, and the worse weather gets, the more likely it is that it will get better.
subdue thread
release thread pit

December 05, 2007, 10:38:39 PM #39 Last Edit: December 05, 2007, 11:14:51 PM by lurkus ignoramus
Would it be possible for a system to work like this:


?
  • Every dawn (or perhaps middle of the night) each region rolls daily high and low temperature and humidity from a season/month based range.
  • Temperature and humidity increase to reach the 'high' at early afternoon and decrease to the 'low' before dawn.
  • Wind is generated by regional differences in temperature and humidity.
  • Visibility is determined by wind, terrain, and humidity.


I think this would allow for the frequency of storms to be loosely plotted, as the regions temp and humidity ranges could be balanced to provide appropriate weather patterns based on season, etc?[/list]

You begin moving silently toward your victim.

Quote
I built one of these once: http://en.wikipedia.org/wiki/Chua's_circuit.  It was...strange.


dX     [ -a ,  a , 0 ]     [ f(x) ]
-- ==  [  1 , -1 , 1 ]*X + [  0   ]
dt     [  0 , -b , 0 ]     [  0   ]


where f(x) is a nonlinear resistance.  Purdie pictures: http://www.cmp.caltech.edu/~mcc/chaos_new/Chua.html

I'm curious, how does one of these circuits sound?

What's the approx. price for materials?


You begin moving silently toward your victim.

Quote from: lurkus ignoramus on December 05, 2007, 10:38:39 PM
Would it be possible for a system to work like this:




  • Temperature increases to reach the 'high' temperature at mid-day and decreases to the 'low' by the middle of the night.
  • Moisture deceases to reach the 'low' humidity at mid-day and increases to the 'high' humidity by the middle of the night.
Just a note for future reference :  Temperature reaches its highest somewhere between midday and dusk and falls to its lowest just before dawn.  Humidity is highest when it is hottest and lowest when it is coolest.
Any questions, comments, or condemnations to an eternity of fiery torment?

Waving a hammer, the irate, seething crafter says, in rage-accented sirihish :
"Be impressed.  Now!"

December 05, 2007, 11:06:52 PM #42 Last Edit: December 05, 2007, 11:13:25 PM by lurkus ignoramus
Ach!

Details aside, would it work?

My reasoning for more humidity at night was for things like dew collection, but that would work in the opposite manner from what I was thinking (ie:  the less humid the air was the less water it could hold, so more would collect on the ground)?

Does humidity increase or decrease the amount of particulates (silt) that can float in the air?

You begin moving silently toward your victim.

Quote from: lurkie
What's the approx. price for materials?

Depends on how lazy you are.  If you want to build a circuit all yourself, a few dollars should be enough.

If you want to buy some parts that are already built in and working and just connecting them, it depends on how complicated the parts you are buying.

I wanted to make a tazer once, the price list I had was about 20-30 dollars or so if I remember it right.  I was only buying the power supply part, the rest I would build myself.  Though the more you have to make it work, the higher the possibility it will drive you crazy with errors and such until you get it right.
some of my posts are serious stuff

Mmm... Capacitors... Stun gun circuits are fun!  Ever try to make a HERF emitter?

Is it going to be worth the trouble to build this thing for a noise / music application?

Doesn't it seem like a great idea to put chaos circuitry in instruments for noise bands?

You begin moving silently toward your victim.

Quote from: Jherlen on December 05, 2007, 02:17:52 PM
Weather should also take into account:
- existing weather in the zone
- weather in other zones bounding this zone

I also think weather needs to be a collection of variables, not just a function of how stormy it is. You'd want to determine:
- wind speed
- wind direction
- temperature ...

Possibly even things like barometric pressure. (Do we have a meteorologist in the house?)
My problem with this is that I don't want weather tied to zones at all.  That isn't realistic.  When you cross an arbitrary line drawn on a map in the real world, do you go from "It is a warm night.  The sky is clear." to "It is exceptionally hot.  There is a stinging sandstorm ripping at your skin." ?  Weather should work in such a way that it can move, like storms actually do.  It should be room-based instead of zone-based, though it should of course include a big selection of rooms.
Quote from: MalifaxisWe need to listen to spawnloser.
Quote from: Reiterationspawnloser knows all

Quote from: SpoonA magicker is kind of like a mousetrap, the fear is the cheese. But this cheese has an AK47.

Could each region's temp and humidity be tied to the center of the region, and normalize as the approach borders with other regions?

Is there there a better way to have areas of more or less moisture content, like salt marshes, effect not just it's own weather patterns, but the weather of the areas around it, etc?

You begin moving silently toward your victim.

Quote from: spawnloser on December 05, 2007, 11:49:58 PM
Quote from: Jherlen on December 05, 2007, 02:17:52 PM
Weather should also take into account:
- existing weather in the zone
- weather in other zones bounding this zone

I also think weather needs to be a collection of variables, not just a function of how stormy it is. You'd want to determine:
- wind speed
- wind direction
- temperature ...

Possibly even things like barometric pressure. (Do we have a meteorologist in the house?)
My problem with this is that I don't want weather tied to zones at all.  That isn't realistic.  When you cross an arbitrary line drawn on a map in the real world, do you go from "It is a warm night.  The sky is clear." to "It is exceptionally hot.  There is a stinging sandstorm ripping at your skin." ?  Weather should work in such a way that it can move, like storms actually do.  It should be room-based instead of zone-based, though it should of course include a big selection of rooms.
Well a zone is really just 'a big selection of rooms', right? ;) Anyway, you can group the rooms however you like, or just average their weather data over a certain area. The reason you want to take weather in nearby zones (however you define them to be) into account is so the weather CAN move. A storm in zone 1, with winds blowing toward zone 2, should gradually pass out of zone 1 and into zone 2 instead.
subdue thread
release thread pit

I'd like the 'big selection of rooms' to be mutable, however, rather than always have the same arbitrary lines drawn.  I am not opposed in any way for weather to be something that is a gradual shift as you move through it, rather than it go from one extreme to the next just because you've moved one room.
Quote from: MalifaxisWe need to listen to spawnloser.
Quote from: Reiterationspawnloser knows all

Quote from: SpoonA magicker is kind of like a mousetrap, the fear is the cheese. But this cheese has an AK47.

The problem with removing zones from the calculation of weather is that they are a convenient way of simulating the unique conditions of an area without tabulating the weather conditions for each room.  I might suggest making zones typically smaller, so as to allow a more gradual shift as you move from one side of the map to another.  As things stand, most zones are comparatively huge.  It only makes sense that weather would shift drastically between them.
Any questions, comments, or condemnations to an eternity of fiery torment?

Waving a hammer, the irate, seething crafter says, in rage-accented sirihish :
"Be impressed.  Now!"