All things Weather
Goto page 1, 2  Next
 
Post new topic   Reply to topic    mudlab.org Forum Index -> Design
View previous topic :: View next topic  
Author Message
Crystal



Joined: 03 Jul 2005
Posts: 5
Location: Maryland

PostPosted: Mon Dec 05, 2005 6:53 pm    Post subject: All things Weather Reply with quote

I hadn't seen a thread on this yet. If there is one, I apologize, I missed it.

We are in the process of redoing our weather system based on temperature and precipitation climates of certain areas. What we're having trouble figuring out what we want to do, is having weather move across areas.

Has anyone designed a system or have any input on a way for weather to move across various areas in a seamless way that is at least somewhat realistic?
Back to top
View user's profile Send private message Visit poster's website AIM Address
Author Message
Gromble



Joined: 08 Oct 2005
Posts: 23

PostPosted: Mon Dec 05, 2005 8:47 pm    Post subject: Reply with quote

Am wondering whether implementing global weather patterns falls under the category of "realistic, but questionable with respect to enhancing the user's experience"? Kind of like the old "hunger/thirst" code, though presumably not as detrimental.

Not saying it's a bad idea by any means, but am curious how you see it making the enivironment more enjoyable for your users? Do you envision massive weather systems having broad affects (sandstorms, hurricanes, etc)?
Back to top
View user's profile Send private message
Author Message
Crystal



Joined: 03 Jul 2005
Posts: 5
Location: Maryland

PostPosted: Mon Dec 05, 2005 9:36 pm    Post subject: Reply with quote

I was intending to have it be a little more interactive than your normal stock type weather. Nothing too intrusive, but with storms, weather that may affect terrain enough to deter herb gathering, etc.

I'm not entirely too concerned about weather moving over areas. It just made more sense than moving from one area with sunshine, to another with snow and clouds. But if it's something not worth implementing, then we just won't do it. I doubt it'd be something we'll be too concerned about for beta anyway.
Back to top
View user's profile Send private message Visit poster's website AIM Address
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Mon Dec 05, 2005 11:36 pm    Post subject: Reply with quote

I've implemented something like that, yes. It basically works by cross-referencing your X/Y position against some data tables, adjusts them based on the system clock (so that it swirls and moves), then smooths out the result. The result is a sort of scattered cloud layout, with lighter clouds on the outside and heavier clouds in the middle, eg:

Code:
         ..oooo..
         ..oo....
         ....
             ..
   ..  ..  ..oo..
 ..oo..oo..ooOO..          ....
 ..oo..oo..OO@@oo..      ..oo..  ..
 ........oo@@@@OOoo..  ..oooo..  ..
       ..OO@@OOOOoo..  ..oo..
       ..OOOOooooX...  ....
       ..oooo....      ..
         ....oo..
         ..oo....
         ....


Where "@" is thunderstorm, "O" is rain, "o" is heavy clouds, "." is light clouds and " " is clear sky (and "X" is the viewer).

The drawback of this system is that the weather has no respect for geographical location, which can result in undesirable behaviour (such as rain clouds gathering over deserts). I suppose you could use the terrain type to adjust the cloud density, but it's not really something I've put a great deal of effort into.

Quote:
Not saying it's a bad idea by any means, but am curious how you see it making the enivironment more enjoyable for your users?


I originally created the feature by accident, when experimenting with ideas for generating worlds on the fly. It didn't really do what I wanted, but I realised it would make a rather nice weather system - and as I needed something to pad out descriptions anyway, I thought "why not?". Besides which, a traditional weather system would have looked silly in my mud.

Such a weather system can provide the basis for a whole range of weather-oriented skills, spells and powers. Muds which utilise ships could also use the system to add a number of related gameplay options. The weather could also include a supernatural touch - perhaps it represents a proximity to certain planes of existence, maybe magical hurricanes can be harvested for their power, or leave behind a trail of residual energy.

But even if you didn't add any of those things, a weather system can still help make the world feel more immersive, in much the same way as seasons, day and night, etc. While such features may not directly enhance the users enjoyment, your game is going to look pretty shallow if you simply leave them out.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Alayla



Joined: 11 May 2005
Posts: 88
Location: Prague

PostPosted: Tue Dec 06, 2005 1:25 am    Post subject: Reply with quote

Quote:
The drawback of this system is that the weather has no respect for geographical location, which can result in undesirable behaviour (such as rain clouds gathering over deserts). I suppose you could use the terrain type to adjust the cloud density, but it's not really something I've put a great deal of effort into.


Yeah, it's always raining on my tropical island. Sad

Anyway, I created this brief design doc when we were discussing the weather system for GW2. KaVir calls it "your funny algorithm", and it probably won't be much use to you if your mud doesn't use some sort of coordinate system, but as it is, it's just rotting there in my folder.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Spazmatic



Joined: 18 May 2005
Posts: 76
Location: Pittsburgh, PA

PostPosted: Tue Dec 06, 2005 2:27 am    Post subject: Reply with quote

It might be possible to build a very complex system based on the latest in meteorological theories. This seems almost surely a waste of time. Not only would it take forever, it'd probably perform poorly at giving the illusion of real weather (this second assumption comes from firsthand experience with atmospheric science students and weather projects).

However, you're not trying to predict REAL weather patterns (right?), but instead to give the illusion of real weather.

Once, very long ago, I helped brainstorm a simple solution for a friend taking a simulations course. Let me warn you now: my knowledge of this only goes part way down the process, and it's really ad hoc. But cool and pretty effective.

The basic premise is to use swarm theory (more properly and correctly known as multi agent systems). You're going to model elements of weather as very basic, fairly dumb systems, hoping that their group behavior will be more reasonable. We originally started with clouds, but he said he'd made the elements more complex - so I'm thinking things like high pressure, low pressure, and a few types of weather systems. However, I'll stick with clouds to make things simple.

If you have one cloud, alone, it roams the world according to a Markov network. Each point in the world (however large you want to make it) has a probability distribution that governs where the cloud will go next. This roughly models (okay, very roughly) jetstreams and the like, and helps keep weather somewhat sane (as in clouds don't pour rain on tropical islands very much). However, it's extremely ad hoc and theoretically hides a gazillion hidden processes.

Now, the multi agent aspect. These clouds also have a tendency to cluster. Think of it as a magnetic pull - the clouds draw each other together. You can adjust the maximum distance at which they pull, and how much they pull. But, in essence, while a few clouds may roam out of the cloud front, most of them will stay together. Also, once one or two clouds break off, the probability of more breaking off increases (more pull that way), so you're more likely to see fronts break into solid chunks rather than having just one cloud meander off.

This is more or less where my part stops (I digged up some multi agent system literature, but I'm lazy now). After this, he added the stuff I talked about, and did a lot of tweaking... and supposedly played with the clustering aspect of the multi agent system a bit more. However, the Markov network stayed.

The results were good though (after his additions). He actually built a map of the US, and his grid size was some fraction of a latitudinal degree and some fraction of a longitudinal degree. He then plugged in some database of real weather statistics to compute the probabilities. With additions, he ran this by some atmospheric sciences professors, and 80% of the time they couldn't pick out a real weather sequence from a generated one, which is pretty decent!
Back to top
View user's profile Send private message
Author Message
Kelson



Joined: 18 May 2005
Posts: 71
Location: SC

PostPosted: Tue Dec 06, 2005 2:29 am    Post subject: Reply with quote

I don't have very long to reply right now, but look into Perlin Noise. In particular, this thread from forever ago on mudconnector may be relevant:
http://www.mudconnector.com/discuss/discuss.cgi?mode=MSG&area=adv_code&message=10961#10961

Check the screenshots.zip file (only file up in that post still working) for the weather pictures then move between them from 0 to 30 to see the shifting weather patterns.

- Kelson
(The Perlin one...)
Back to top
View user's profile Send private message Send e-mail AIM Address
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Tue Dec 06, 2005 8:27 am    Post subject: Re: All things Weather Reply with quote

Crystal wrote:

Has anyone designed a system or have any input on a way for weather to move across various areas in a seamless way that is at least somewhat realistic?


Do it the easy way. Cheat by stealing free weather data from earth. Have a weather daemon that issues a http request to one of the dozens of public meteriological sites. Most support queries by location and will return temperature, cloud cover, precipitation, and wind speed. Find locations on earth which are geographically similar and proximate to areas in you world.
Back to top
View user's profile Send private message Visit poster's website
Author Message
shasarak



Joined: 29 Jun 2005
Posts: 134
Location: Emily's Shop

PostPosted: Tue Dec 06, 2005 9:30 am    Post subject: Reply with quote

The key to this, I think, is making weather have an effect on the game that is not merely cosmetic. Maybe you have a race adapted for underground living - they may be at a disadvantage on bright, sunny days. Druids who have a "call lightning" offensive spell might receive significant bonuses if it is raining, and even larger bonuses if it is thundering, while fire spells may fizzle and cause half damage on wet days. Grendel and other water-living NPCs may roam farther from their river lairs if it is raining heavily and they don't dehydrate. Players might need to buy blankets and furs to keep warm if there's a blizzard. Tracks might be much easier to follow if it has been snowing recently, or if the ground is muddy. Outdoor markets might only be held if the weather is fine. Trees might be uprooted in storms and reveal a hidden tunnel entrance under the roots. Lycanthropes might be able to avoid transforming under a full moon if it is sufficiently cloudy. Horses might be startled by a clap of thunder and bolt. Maybe there really is a pot of gold at the end of the rainbow? Ships might sink in storms, or one might encounter an "airy spirit" at the heart of the tempest:

Quote:
I boarded the king's ship; now on the beak,
Now in the waist, the deck, in every cabin,
I flamed amazement: sometime I'd divide,
And burn in many places; on the topmast,
The yards and bowsprit, would I flame distinctly,
Then meet and join. Jove's lightnings, the precursors
O' the dreadful thunder-claps, more momentary
And sight-outrunning were not; the fire and cracks
Of sulphurous roaring the most mighty Neptune
Seem to besiege and make his bold waves tremble,
Yea, his dread trident shake.
Back to top
View user's profile Send private message
Author Message
KaVir



Joined: 11 May 2005
Posts: 565
Location: Munich

PostPosted: Tue Dec 06, 2005 10:14 am    Post subject: Re: All things Weather Reply with quote

Tyche wrote:
Do it the easy way. Cheat by stealing free weather data from earth. Have a weather daemon that issues a http request to one of the dozens of public meteriological sites.


I could see this providing a really nice touch for a modern day Earth theme - for example a World of Darkness mud where the weather in the city was actually the same as the weather in the real-world city of the same name.

However I'm not sure that such detail is worthwhile for most fantasy muds - you could just use generated data to get pretty much the same results. And perhaps more importantly, pulling in external data would prevent the players or admin from making long-term changes to the weather.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Atyreus



Joined: 15 Jun 2005
Posts: 5

PostPosted: Tue Dec 06, 2005 6:03 pm    Post subject: Reply with quote

I use a fairly simple system that provides what would be from a player's perspective realistic results.

Every area (or zone or whatever you want to call it) within my mud is part of a particular weather track. Currently I only have three weather tracks (a northern track, a southern coastal track, and an eastern desert track), but the system is designed so that I can conceivably have as many tracks as I need. You can think of each track as being essentially an array of areas.

Weather is generated separately for each track and each track at any time is keeping record of the current weather across the track and the upcoming weather for about the next three to four days. The weather starts in the first area of any track, and moves along that track until it has reached the last area at a speed determined by that particular track.

For example, if we had areas X, Y and Z in track A, and it was moving at a rate of one area every two hours, you might have a situation in which it grows cloudy in area X at 8am and begins to rain at 9:30. At approximately 10am, the clouds would reach area Y, at 11:30 it would begin to rain at area Y, at 12 noon the clouds would reach area Z, and at 1:30pm it would begin to rain in area Z -- by which time, perhaps, it may have just stopped raining in area X.

It's quite basic, but it does create the illusion of weather moving across the lands. A character standing outside could look up at the sky and see dark clouds gathering in the west and figure out that a heavy cloak might soon be useful. A character with the appropriate abilities could foretell upcoming weather that hasn't even reached the first area in a particular track.

Precipitation is determined by a fairly simple method as well. Each track has a percentage chance of weather (that is, anything other than a clear day). This base percentage is then modified by a bonus for the time of the year. In the event of weather, each track has a set of numbers that determine the percentage for each category (from scattered clouds through violent storm). These percentages are also modified by the time of year. Thus, in the spring you may have a much higher rate of precipitation, but in the summer you may have a much higher chance of heavy downpours or violent storms. This also allows for, say, tropical regions with monsoon seasons or for desert regions that get almost no rainfall, but get what rainfall they do in sudden heavy bursts.

Whether precipitation is rain or snow depends upon the temperature of the area in question (or the room if it has a temperature which overrides the general area temperature). Each area has a range of temperatures that are determined by a combinination of base temperature for the week of the year in question, the temperature of the previous day, and a random number. This creates temperatures which usually track upwards and downwards fairly smoothly, but which can on occasion change fairly suddenly. Unlike the real world, fronts have no impact on temperatures, but the randomness of the system creates enough occurances of the temperature getting either warmer or cooler with a change in the weather to give the player an illusion of a system that is much more complicated than it really is.
Back to top
View user's profile Send private message Visit poster's website
Author Message
Vopisk



Joined: 22 Aug 2005
Posts: 99
Location: Golden Valley, Arizona, USA

PostPosted: Wed Dec 07, 2005 2:42 am    Post subject: Reply with quote

I've thought a lot about weather systems in the past, so I figured I'd throw in my two cents here.

I think that both camps in this general discussion have merit, so the key is to find the nice, common ground that we can all enjoy. First and foremost, you have the realistic people. The plain fact of the matter here is that even meteorologists cannot accurately predict the weather, and weather patterns are in large part the basis and foundation of chaos theory. So, to face the ugly truth, no weather system can be "realistic" in any game. The key for realism fans is to come as close as possible to simulated reality.

I believe that the key factors that people who support the realism camp are looking for in an ideal weather system is persistent weather, impact upon the world and in general behave the way "real" weather does. To address the first point, it completely breaks immersion when I'm wandering around an old area/room based system and go instantaneously from bright, clear day to the middle of a blizzard, especially if the climate of the room that I'm in doesn't support EVER having a blizzard, even a freak one.

Secondly, if there is a torrential downpour, why is it so far-fetched to believe that rooms would begin to flood or perhaps climbing that rocky crag just became that much more difficult and even the master climber now has a chance of slipping and falling to his doom on the slick rock?


And finally, in acting the way that real weather does, it's not hard to fudge in weather "systems" and have them move across the game world, remaining the same and developing rainfall and perhaps wind gusts among other things on a psuedo-realistic fashion. Giving rooms/coordinates certain variables such as barometric pressure, temperature, humidity, etc... can all be used to affect the weather and can also be changed based upon the weather.

Now on to the "other" side. On this side we have the people who support at least in large part, a completely random system. The most common reasons for implementing these systems that I personally have heard/read about is: "It's easier". Plain and simple, however, to delve further into this idea and split the hairs, there are those that would argue that players will not see all your nifty, hard-working code, nor the hours that went into making it, and therefore, your people will not worship you as a God for making this weather system, therefore why make it at all? Or the others that see weather as providing absolutely no game benefit whatsoever.

It is my personal opinion that these people are lazy, not meant as a flame, or to start a flame war, but I personally view weather as an integral part in the creation of any "world". Whether your weather system is going into a storm-tracking simulation, a video game or a text-based game, weather can add many subtle layers of ambience to the game and can also allow for random game events that don't have to be hard-coded or scripted necessarily.

It is certainly simple and it does work to re-roll a number every tick and see what the weather is going to be like for that next tick (and yes, the system here can get quite in-depth, only allowing a % slide upon the weather scale to make weather systems change gradually). However, to me this system means nothing when I get the message, "You are surrounded by a torrential downpour and lightning forks through the skies" and nothing happens but a slightly larger scrollback buffer.

If it's a downpour and I'm out in it, then I should get wet, the temperature should drop (risking hypothermia if I'm not properly attired) and travel should become more taxing in the case that I'm blazing a path through the wildlands (city travel would obviously not apply, unless there were only dirt roads and no sidewalks). To continue on the point and I'm sure directly to where everyone knows I'm going, if I'm wandering around in the middle of this monsoon, with lightning forking through the skies and I'm wearing a set of full plate armor, I should become a bright and shining target to receive a lightning strike. But once again, this is my bias towards realism speaking.

The key is to once again find that middle ground, the place between not wasting effort or devoting years of your life to making the ultimate weather system, but at the same time, providing a consistent and reactive weather system to the players at large. The weather system might be something often overlooked in text-based games but I think that this is more a matter of people not mentioning anything about it because no one's done anything really revolutionary in the field. Even if you do write a full-fledged weather simulator and plug it into your game, people still might not mention anything about your "uber l33t weather system" but it is my humble opinion that it will increase the game experience for the players across the board.

As others have mentioned and I will not digress to reiterate here, there are many nifty things that you can do with a more realistic system and the only way these deter or impact gameplay negatively is in the case that you're making a game that focuses on nothing but monster bashing and point accumulating. And if this is the case, you're probably not reading this one way or another.

In conclusion I apologize for this obscenely long post, and for any toes or feelings I may have trod on in writing it. But that's my two cents, something to chew on.

Vopisk[/i]
Back to top
View user's profile Send private message AIM Address MSN Messenger
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Wed Dec 07, 2005 10:46 am    Post subject: Re: All things Weather Reply with quote

KaVir wrote:
Tyche wrote:
Do it the easy way. Cheat by stealing free weather data from earth. Have a weather daemon that issues a http request to one of the dozens of public meteriological sites.


I could see this providing a really nice touch for a modern day Earth theme - for example a World of Darkness mud where the weather in the city was actually the same as the weather in the real-world city of the same name.

However I'm not sure that such detail is worthwhile for most fantasy muds - you could just use generated data to get pretty much the same results. And perhaps more importantly, pulling in external data would prevent the players or admin from making long-term changes to the weather.


Wind speed and direction, temperature, cloud cover, precipitation is probably the minimum data one would want to merely describe the weather to a player. Wind chill, heat index, humidity, barometric pressure, dew point may or may not be overkill depending on what you'd like to implement in the game in terms of the weather. The possibilities for fun and interesting game effects and probems to overcome are practically endless. I'd have trouble naming a fantasy novel where the characters' adversaries didn't include the weather, whether natural or fantastic. I'd have trouble naming a mud where they do... maybe Harshlands?

Oceanic weather information on wave height, swell and seas, I would think be pretty important to doing a ship based game in order to give it the proper thematic feel and danger. Muds I've seen which feature ships appear to treat the whole idea like spaceships moving around in vacuum.

Whether data is generated or sampled should have no bearing on players influencing the weather. In both cases it's a baseline that one can override or alter for a time and return to. Change your algorthim or change your sample for "long-term" effects. Obviously using earth as a source would not be very useful for a hard sci-fi game, but maybe for sci-fantasy, like Dune and Star Wars, which tends to revolve around human inhabitable worlds anyway.

Some prefer low fantasy, high fantasy, or superhero/diety level games. I'd consider the desire to have long-term weather changes or effects to indicate a pretty super high-powered game. Like Sauron or Shai'tan level versus the more localized weather control of your high-fantasy powered player wizard. Even Voldemort appears to be able to muster only a limited but uncomfortable regional sort of weather control over England
Back to top
View user's profile Send private message Visit poster's website
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Wed Dec 07, 2005 11:11 am    Post subject: Reply with quote

Vopisk wrote:

...so the key is to find the nice, common ground that we can all enjoy.


Just a meta observation:

Most definately not. If this forum was the design forum for FooMud and we were all working together on FooMud, I would agree. The point of discussions like these is to spout opinions, ideas, implementations, defend them, evangelize them, bang the table, fire machine gun criticism at others ideas and implementations until they leak like sieves or show themselves as battleships, or praise ideas and implementations you like.
Agreement or consensus on anything is simply not the point nor goal. Ideally everyone walks away and implements something marvelous and different. And they've gained something from it either from reinforcement, epiphany, or critique.

BTW, I agree that weather can play a very prominent, fun and interesting role in a mud. And to a large extent it's practically ignored on many games. I think it's magnitudes more worthwhile area to pursue than say defecation. Wink
Back to top
View user's profile Send private message Visit poster's website
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Wed Dec 07, 2005 11:21 am    Post subject: Reply with quote

Alayla wrote:

Anyway, I created this brief design doc when we were discussing the weather system for GW2.


What's the reason for the predicitibility goal?
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Design All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign