Author: ruebe
Author Website: http://non.sense.ch/shared/rube-wip/

Requirements: Arma 2

Version: 2014-04-19

Short description: The RUBE weather module is a pseudo-scientific weather machine consisting of three main components

Date: 2012-03-29 12:42


Comments: (1)
Rating:



 



RUBE Weather Module

by
ruebe


Description:
The simulation of weather in this series has been lacking since forever. Actually I think the "weather engine" hasn't been touched since ofp 1.0 (ok, rainbows have been added at some point, but that's it).
Sure, we have the most basic components of weather to play with, such as overcast, fog, wind and rain. But it has always been only that; some components of weather (with some very simply constraints), but no coherent system of weather (or even seasons). But weather should be more than the sum of it's parts. And that's where the RUBE weather module steps in and tries to fill the gap (or at least illuminate and explore it a little).

Sure, there are already some weather modules/addons present. But they focus mostly on effects or worry about synchronisation in multiplayer games. None of them however solves the problem I was interested in to begin with: if weather shall be a crucial component in (strategical/tactical) decision making, then it needs to be forecastable. What weather can be expected for today and what for the next few days? Should we postpone that sniper-mission or rather strike now?

The RUBE weather module is a pseudo-scientific weather machine consisting of three main components:
  • A season model that defines the clima,
  • A weather generator which creates a forecast for n days and
  • A weather engine that executes todays weather.


Installation, Usage, examples and some ideas:
The RUBE weather module is part of the RUBE library which runs as script-version or as addon (as you like). For the weather module, the addon-version is actually quite convenient, since it offers the weather module as game-logic you can just drag onto the map and you're good to go. Random, seasonally fit weather.

I've thought about offering two such versions for the editor, one for random, seasonal weather, and one that would respect the editor's weather settings (overcast and fog). But I figured that if you wanna have more control, then you wanna get full control and thus you'll just manipulate the forecast data as you need it. So you'd manually launch the weather engine anyway...

For detailed instructions how to use this and how it works please visit the release topic.


Included files:
RUBE.pbo


FAQ:
Does this work for multiplayer missions too? And if not, are you going to do something about it?
    No, the RUBE weather module will not work for your multiplayer missions. And there are no plans to do that.
    But feel free to write your own client variant of a weather engine, that is multiplayer-proof. Let the server generate the forecast, and then come up with some client version of the weather engine.

But I'm not sure anyway, if it would be such a good idea to have player-centric weather clients for a multiplayer match. Sure, wind speeds differ indeed from place to place, but still... Maybe you'd better drop that idea, if you're going to do this.
Any plans of adding new season models?
    Sure. And you may help if you'd like to see good defaults for your preferred maps/worlds. If you come up with a good one, just drop me a note.

What about humidity? Air saturation and that kind of thing?
    Yeah, humidity is currently not really modeled/simulated. We work with the entity (or concept) "precipitation" and that's it.
    Humidity, where needed, get's approximated at times though: in the generator by mixing the given precipitation data (probability and intensity) and for the lapse rate humidity is approximated by the overcast or by the precipitation (=fully saturated) if there is any.
    Granted, that's quite lame and as soon as I gain a better understanding and maybe a vision about how "humidity" could be wired with the other weather components, this might get improved. Maybe. On the other hand this would probably require a completely different concept/design altogether, starting with a new structure/type of a season model and.... ahhh screw this.

Are you dumbass actually aware of the fact that the scales in arma-town are completely off? Height above sea-level my ass! (I've heared elevationOffset got introduced at some point, hrhr) The question..? Uhm, do I really have to repeat the part with the dumbass?
    Yeah, at some point (have you ever seen bushes pushed to the ground, because the wind speeds were a tiny wee bit too high?) it actually dawned on me what dumbass I am and that one can not simply apply real-world math to the arma universe. Scales are different/skewed here. Btw. has anyone reliable information about this? I can vaguely remember reading something about this somewhere...
    Anyway, some further tweaks might be needed in this regard. And remember that it's only pseudo-science we're doing here, with the goal to get something that resembles actual weather, physics and everything.

Do you really think it's a good idea to burn that much cpu cycles for _this_?!
    Hell yeah! Of course. Though, functions constantly called by the weather engine might indeed need some optimization (you tell me!). All these b├ęzier-curves could indeed hurt a little. We'll see if I need to simplify them or maybe even build a lookup-table or something.

Where are the friggin screenshots already?!
    You may find some over here. But since I run this on a shitty machine, those screenshots aren't nice or anything. Sure, you may recognize some pixels and stuff...
    Maybe some of you guys would be kind enough to make some exquisite shots of the weather module in action and post them in here? Maybe.

...?
    Just read (and mess with) the code, now would you? :P And drop me a note if you think something is wrong or could be improved. I never claimed that I've got much clue about weather...
    (Pretty much everything is commented and there are even some ASCII-illustrations in there for you illiterates out there.. though, now that I think about it, I might have already spoilered too much... sorry.)


Changelog:
v2014-04-19
updated the RUBE library, which now shouldn't try to load the BIS function library a second time

v2012-03-27
- Season Model: added failsafe model (prague) as default for unknown worlds.
- Fixed script-version
- Season Model: three new season models added:
    - model: arauca (Columbia)
    class: Tropical rainforest climate (Af)
    - model: kano (Nigeria)
    class: Tropical wet and dry or savanna climate (Aw)
    - model: oulu (Finland)
    class: Continental Subarctic or Boreal (taiga) climates (Dfc, Dwc, Dsc)
- defaults have been set for some of the community made islands:
    - lingor -> arauca
    - isladuala -> kano
    - tropica -> kano
    - thirsk/w -> oulu
    - namalsk -> prague
    - sbrodj -> prague
    - fallujah -> kandahar

v120220
- based on todays data only, creating noticeable uncontinuity at 24:00 -> 00:01
- Weather Engine: faster removal of particle-effects without intensity. (once dropped to zero/below threshold, particle sources were only removed at the end of a full cycle.
- Weather Engine Interface: new constant 'enable-auto-advance-forecast', which was only accessible from within the running weather engine's state machine.
- Weather Engine Interface: new command 'hard-reset-weather-engine' to reset without smooth transition/full cycle to the new forecast data.
- Forecast Report: new function 'RUBE_weatherCreateForecast' to calculate the data for a forecast report.
- Forecast Report: revised script 'fn_weatherReport.sqf' which enables/attaches forecast reports on objects ships with required/optional tagged parameters now.
- Weather Engine Demo Script/Mission:
* runs now whether the weather module has been placed onto the
* demonstrates different co-existing forecast reports.


Forum topic:
- BI forums



- Arma 2




Enable javascript to be able to download from Armaholic please!



Tags: Forecast,   Weather