Sat 10 Feb 2007
I have had an interest in simulating weather systems for a while. And have given a lot of thought to what makes a weather system ‘random’ and how to achieve this in a programmatic way for usage in a “game-world” to have a true weather system. I have done some additions (much reprogramming actually) to a fla file that was created on another site. I woke up this morning after half-sleeping thinking about this and hacked this out, using a base from the original fla file, I played around and worked on randomization and such and wrapped this up in about an hour.
The idea being that you have two “attractors” which represent low pressure systems, and two repelling spots, which represent the high pressure systems. The little lines represent clouds or weather of some kind.
You can drag the high and low pressure systems around to see how they interact, and they also move randomly by themselves.
In a full blown system (not a flash mock up) these high and low pressure systems would have destination points randomly selected and migrate slowly towards them.
If you sit and watch this for a while you will see that just by moving the points around there are some very interesting interactions with them and you can effectively create “jet-streams” where the clouds prefer to travel, and that a move of one high or low pressure spots will change the entire way the weather system moves.
One of the things is that in games, or in any simulation, weather is never really a factor and is not accurately represented (sometimes it is randomly introduced). I think this is a huge part of a game world that is being and has always been overlooked.
For a non-mockup of this, I would/plan to, have a random number of high and low pressure systems (with at least three) and each would have a pre-defined lifetime and fluctuating strength of attract/repulse. The number of clouds/weather would also not be pre-set and would change (as per seasons) and could be modified based on speed and possibly combine in strength based on if they are pushed together, vrs these which do not combine. I would also implement curling about the systems also to better represent actual cloud systems, in this mockup the clouds do not have lifetimes either, they are permanent, each should have a randomly determined lifespan and intensity. However, this would enter into some computational complexity that would take a lot of processing power for each iteration.