Original Post
Hi all, I'm beginning to think about different weather systems (WS) in my game (a multiplayer RPG), and I've come to the conclusion that I'll need to do something in the global scale in order to have a decent system which allows for synchronized weather across all connected clients. Some requirements: - The WS must be compact and not issue a large CPU demand. - The WS doesn't need fine placement, but players in relatively the same area (e.g. within earshot/view) should be seeing the same weather effects. - The WS only controls temperature, wind, and precipitation. It does not control humidity, pressure, visibility, or other factors commonly found on the weather channel. The idea is to 'fake it' rather than to have a climatically-accurate system. - The global time of year (e.g. all areas on the map display the same types of weather influenced by factors) determines the type of precipitation available (e.g. snow during winter, rain during rest of the year, electrical storm during summer). The system is mainly representative of a Temperate climate. Some ideas: I *could* create a geographically-global list of "weather front" objects, each exposing features such as: - position and velocity. - cloud coverage (e.g. affecting how bright/dark the game is drawn during daytime). This will generally only vary from "0%" to "100%" in increments of 10%. - rain/snow amount and velocity - presence and frequency of lightning and thunder effects - accumulated precipitation. As the weather front moves over the map, it accumulates water and velocity depending on the terrain type over which it traverses. When it reaches a breaking point, a cloud-burst takes effect, and again depending on its temperature, one of snowfall, rain-shower, or thunderstorm occurs. When a cloudburst occurs, after its duration, the front disappears. There's still a lot that is unfinished here (how do fronts form? what happens if they collide?), but I'm wondering if anyone has come across this sort of concept before, or how they went about implementing it?