Airgoons
Vipergoons.jpg BMS.png
DCS.png

DCS Reference/Dynamic Weather: Difference between revisions

From Airgoons
Jump to navigation Jump to search
m ()
m ()
 
(38 intermediate revisions by the same user not shown)
Line 3: Line 3:


Much like [[DCS_Reference/Labels|custom labels]], [[Digital_Combat_Simulator|DCS']] weather system is a heavily obfuscated and largely opaque, but also very capable part of the simulation. The biggest problem with is that, while there is a dynamic weather tab in the mission editor, it exposes roughly none of the capabilities of the system and trying to use it via the editor relies entirely on random chance to create some desired effect using parameters that ''simply cannot'' produce them.
Much like [[DCS_Reference/Labels|custom labels]], [[Digital_Combat_Simulator|DCS']] weather system is a heavily obfuscated and largely opaque, but also very capable part of the simulation. The biggest problem with is that, while there is a dynamic weather tab in the mission editor, it exposes roughly none of the capabilities of the system and trying to use it via the editor relies entirely on random chance to create some desired effect using parameters that ''simply cannot'' produce them.
A complete lack of control combined with a being completely unfit for purpose is a great way to dissuade the aspiring mission maker from ever using the dynamic weather system, instead relying on the much more immediate and obvious static weather. This guide aims to demystify the capabilities of the dynamic weather available in DCS. With only a little bit of practice, situations like the one depicted at the top of the page: gentle snow falling in light breezes from heavy clouds, with clear skies on the horizon. This is a weather state that simply cannot be achieved through the use of the mission editor alone.


{{tocright}}
{{tocright}}


== Tools and workflow ==
A complete lack of control combined with a being completely unfit for purpose is a great way to dissuade the aspiring mission maker from ever using the dynamic weather system, instead relying on the much more immediate and obvious static weather. This guide aims to demystify the capabilities of the dynamic weather available in DCS. With only a little bit of practice, situations like the one depicted at the top of the page — gentle snow falling in light breezes from heavy clouds, with clear skies on the horizon — become a breeze to recreate. This is a weather state that simply cannot be achieved through the use of the mission editor alone.
To create good, deliberate dynamic weather systems, you ''absolutely'' need the following:
* A good zip manipulation tool — editing dynamic weather is almost entirely done by directly doing manual edits to the mission definition stored inside a .miz file, and those are simply zip files with a different name. You will need something that lets you seamlessly browse, extract, and add to the file structure of a zip file. Windows' own Explorer only goes half-way since it can only explicitly handle .zip files, not the exact same file with a different extension.
* [https://notepad-plus-plus.org/ Notepad++] or a similarly competent text editor. No, not notepad. Ideally, the editor would have zip-browsing functionality built in, but there are some actual advantages to separating the file extraction from the file editing.
* A conversion tool for angles and distances (Windows 10's built-in calculator does this well enough).
* Patience.
* Patience.
* Possibly the [[#Weather_editing_with_CombatFlite|CombatFlite package]] described at the end of this page.
* Patience.
 
You need these because the basic flow of weather creation is one of:
* Creating a dummy mission where you place trigger zones as a first approximation of the pressure fronts.
* Extracting the “mission” Lua file from the dummy .miz.
* Opening the mission file in your text editor of choice.
* Copying the trigger zone coordinates (and possibly sizes) to a weather parameters.
* Re-inserting the edited mission file into the .miz.
* Reload the mission.
* Preview, hate actual result.
* Start over.
 
In particular, the whole use of a dummy mission is an important step because tweaking weather patterns will require a lot of back-and-forth between editor and in-game, a lot of reloading of the mission, and a lot of placing otherwise pointless objects around the map to observe the weather effects in different areas. If this is done in a pre-existing mission, the processes of reloading and entering the mission will add up to a lot of time wasted on waiting, and you will also be manipulating a much more evolved and complex mission file where you risk breaking the entire mission because of a careless edit. Much better to do this in a preview dummy and then importing the weather alone, than ruining all the mission-making hard work that goes into creating a complete mission.
 
== General considerations ==
While dynamic weather can do a lot of very fancy things that you do not often see in DCS, getting into weather editing comes with a number of caveats and restrictions that one needs to be aware of before starting anything.
 
=== Prerequisites ===
The descriptions on this page assume that you are already familiar with the basics of the DCS mission editor: how to place units and static objects, how to create and manipulate trigger zones, and where to find your personal collection of mission (.miz) files.
 
For the sake of clarity, these will be referred to as .miz files from here on, as the main file where weather manipulation will happen is simply called “mission” — a lua file without the usual .lua extension. As such, to try to keep the confusion between a “mission file” and ''the'' “mission” file at a minimum, .miz files will be called just that, whereas the lua file will be called the ''mission'' file. Clear as mud.
 
The reader is also expected to already know how to use their zip and text editing tool, and in the case of Notepad++ how to set it to show Lua syntax — this helps in editing the ''mission'' file, but since it lacks the regular .lua extension, Notepad++ will not automatically apply the correct syntax highlighting.
 
=== Limitations ===
There are three main limitations of the dynamic weather system to be aware of:
* It works using elliptical (anti)cyclonic pressure systems that work best if they are kept to a reasonably small size. Making these systems large will spread out and weaken the effects, but will still display large pressure differences. Trying to get a significant weather effect requires ramping up the pressure difference to combat the weakening and spread, but that will also inherently mean that pressure will vary wildly and create ridiculous winds. Consequently, dynamic weather is far more suited for small (~100nm across) localised effects than something that covers the whole map — if that is what you want, static weather is usually a much better option.
* There is no currently known way of changing cloud layer altitude and thickness. Dynamic weather clouds will develop at roughly 8–10,000' MSL no matter what, which means you cannot really tune it to create, say, low-altitude clouds over Normandy, or high-altitude clouds over the Iranian or Navada highlands. The weather parameter names tease the ability to set a pressure system y-value to go along with the x- and z-axes, and while adding such a parameter does not crash anything, it also does not seem to have any effect whatsoever.
* There are numerous reports of syncing bugs in multiplayer (and some issues that even appear in SP maps). Most notably, cloud position is only something that happens client-side — an effect that equally holds true for static weather — so hiding from other players (and definitely from omniscient AI) underneath a cloud is far from guaranteed to work. The cloud might simply not be there on the other guy's screen. In addition, there are noticeable “spin-up” required before the weather effects fully kick in. This can be seen to some extent in single-player, where rain and snow might be whirling around at huge speeds, suggesting wind strengths and directions that are completely at odds with what smoke effects in the same area would show. This effect will usually settle down after a little while, and smoke and precipitation will agree on the local wind conditions after a minute or thereabouts. This simulation spin-up is most likely also the cause of reports where multiplayer weather outright does not show up for some player, especially when cycling through external views: they have presumably missed (or not fully waited for) the weather sim spin-up for their location, and therefore get nothing, at least visually.
 
=== Units ===
One of the more annoying and initially confusing things about editing weather in DCS is that different units are used for different parts of the UI, and you will need to know what units are used where to get the results you want. This is doubly true since the best method of manipulating weather is by using trigger zones as stand-in objects, which themselves cannot quite decide what units to use.
 
[[File:TriggerZone.png|thumb|right|The different units used in the trigger zone panels.]]


The long and short of it is this:
== An introduction to dynamic weather ==
* The trigger zone editing panel uses ''feet'' to denote its radius.
{{Main|DCS_Reference/Introduction_to_Dynamic_Weather|Introduction to Dynamic Weather}}
* The trigger zone list shows the radius in ''meters''.
The main shortfall of the dynamic weather system is, as mentioned, the lack of a UI. To compensate for this, mission designers who want to use dynamic weather will have to stock up on a number of external tools, and also be prepared to engage with a pretty long-winded iterative process of extracting and importing files from the .miz package that the mission editor creates.
* The trigger definitions in the mission file describe their radii in ''meters''.
* There is no way to directly see the size of pressure zones other than using the {{Key|RClick}} measure tool, which gives distances in ''nautical miles'' and angles in ''degrees''.
* Pressure zone definitions in the mission file describe their radii in ''meters''.
* Pressure zone rotations are expressed in ''radians'' (from -π to +π).
* Trigger and pressure zone coordinates in the mission file are expressed in ''meters''.
* Map coordinates an be changed to display in X/Y ''meters'' by pressing {{Key|LAlt}}{{Key|Y}} to cycle through the various coordinate modes.


For the most part, there is no need to worry about the coordinate display since copy-pasting them from trigger zones is the easiest way to precisely position pressure zones, and the mission editor already displays those positions readily enough.
Another way the lacklustre UI reveals itself is in the lack of cohesion in what units are used. To manipulate dynamic weather, you will need to do degree-to-radian conversions, nautical mile-to-feet-to-meter conversions, and lat/long-to-meter conversions. It also helps if you are familiar with how many Pascals go into a millimetre (or inch) of mercury.  


=== Performance and bugs ===
While there are external mission editing suites such as [[DCS_Reference/Dynamic_Weather_in_CombatFlite|CombatFlite]] that can circumvent some of these steps, you will still be bouncing back and forth between external tools and DCS itself to fine-tine and preview the results as they appear in-game. If you don't want that full package (and for some details, even if you do), you will need: a good zip manipulation tool, a unit conversion tool, a good text editor, and a lot of time and patience. You also need to already be familiar with the ins and outs of almost all mission editor tools.
Historically, there has been a lot of discussion of the performance impact of dynamic weather, especially in relation to the much simpler static weather alternative. Intuitively, static weather should be much easier to calculate, whereas dynamic weather requires constant checking against the weather parameters to figure out the local weather — exponentially so when multiple pressure fronts are used. This latter assumption in particular would be a strong argument against using multiple pressure systems to compensate for the previously mentioned issue with using dynamic weather mechanics over large areas.


However, [https://forums.mudspike.com/t/dcs-dynamic-weather-performance/7764 player testing] suggests that dynamic weather actually creates ''lesser'' performance issues than static weather, although this may simply be a matter of local graphical rendering of that weather than the weather simulation underneath. The jury is still out on the actual effects and (potential) performance impacts of the two methods, but the testing that has been done at least shows that intuition might not give the right answer.
One immediate consideration that always comes up when discussing the respective merits of static and dynamic weather is one of performance. Some testing has shown that it is not as clear-cut as one might expect, where static weather is “simple” and therefore less resource intensive. Rather, it seems like static weather may actually be easier to visually render client-side, and the jury is still out on the performance drain for the simulation as a whole (which matters more on the server end of things).


== Preparation ==
== Dynamic weather editing ==
{{Main|DCS_Reference/Editing_Dynamic_Weather|Editing Dynamic Weather}}
There is an immediately obvious way into working with the dynamic weather system: the eponymous tab in the weather control pane. However, even in this tab, most of the controls have nothing to do with ''dynamic'' weather, as such, and of the few that actually engage with the weather dynamics, only two are of any actual constructive use — the rest are, if anything, ''de''structive in that they can instantly wipe out a lot of work with no benefit in return.


=== DCS mission editor UI ===
The only two controls you want to use in the in-editor UI are the left-most box on the row labelled “systems quantity”, and the “pressure deviation” box. All other buttons and boxes — the “baric system” dropdown, the rightmost quantity box, and the “generate” button will all overwrite your work with randomised garbage, forcing you to reload the mission and try again.
 
[[File:MapsOptions.png|thumb|right|Setting up the mission editor display options for weather editing.]]
 
[[File:DynamicWeatherPane.png|thumb|right|DCS Dynamic Weather controls.]]


=== Wind flags ===
[[File:WindFlags.png|right|frameless|Mission editor wind indicators]]
[[File:WindFlags.png|right|frameless|Mission editor wind indicators]]


=== Using trigger zones to place pressure fronts ===
The more important part of the weather UI is actually the wind overlay that shows up on the map whenever the dynamic weather tab is open. This overlay shows a coarse (roughly one sample point per 125km) map over wind strengths and directions using a set of rounded flags.
 
<gallery>
ExtractMission.png|Extracting the &lsquo;''mission''&rsquo; file
MissionWeather.png|Editing the &lsquo;''mission''&rsquo; file.
EditedWeather.png|Manually edited weather.
DynamicRain.jpg|End result in-game.
</gallery>
 
=== Manipulating pressure fronts ===
[[File:DoubleZones.png|thumb|right|Creating multiple weather fronts.]]
 
=== Exporting the weather parameters ===
 
== Pressure front parameters ==
 
=== Location and size ===
 
=== Pressure excess ===
 
=== Shape ===
 
==== Ellipticity ====
 
==== Rotation ====
 
== Combinations ==
 
[[File:TwoFonts.jpg|800px|frameless]]


== Specific weather patterns ==
These flags are essentially arrows, with the round dot being the tip that points in the direction of the wind, and with the tail-end flag showing the strength using dashes and triangles. A half-dash is a 5kts wind; a full dash is 10kts; a triangle is 50kts. Add up the number of dashes and triangles to read the full wind value.


=== Cloud fronts ===
=== Manual weather editing ===
Most of the actual ''editing'' of weather happens outside of DCS, by extraction the &lsquo;''mission''&rsquo; Lua file from the .miz package you are working on and using a sensible text editor to manually adjust coordinates and sizes directly in that file.


=== Rain and snow ===
These values can be copied from trigger zones that you place as a sort of preview of the pressure systems you want to create, after which the mission file can be re-imported into the .miz file and the results can be previewed in the mission editor and in-game. Even in the simplest case, it is a fairly involved process and [[DCS_Reference/Editing_Dynamic_Weather|the full-length section]] on weather editing goes into more detail of the various steps involved.


=== Low winds ===
The circuitous process of editing weather, requiring a number of different &ldquo;scaffolding&rdquo; mission objects such as dummy trigger zones and the use of static objects to observe the effect, means that it the whole process is best done in a separate dummy mission. The good news is that once all that work is done, it is trivial to export the resulting weather setup and import it into any number of existing or future missions.


=== Long winds ===
== The technical details: pressure front parameters ==
{{Main|DCS_Reference/Pressure_Front_Parameters|Pressure Front Parameters}}


<gallery>
== Advanced dynamic weather editing ==
TriSnowParameters.png|Parameters for a calm snowy day.
{{Main|DCS_Reference/Advanced_Dynamic_Weather|Advanced Dynamic Weather}}
PatchySnow.jpg|Mission editor appearance.
</gallery>


== Weather editing with CombatFlite ==
== Weather editing simplified: CombatFlite ==
{{Main|DCS_Reference/Dynamic_Weather_in_CombatFlite|Dynamic Weather in CombatFlite}}


[https://www.combatflite.com/ CombatFlite]
{{DynWeatherTopics}}
[[Category:Reference|Dynamic Weather]]

Latest revision as of 17:03, 2 September 2019

Results may vary.

Much like custom labels, DCS' weather system is a heavily obfuscated and largely opaque, but also very capable part of the simulation. The biggest problem with is that, while there is a dynamic weather tab in the mission editor, it exposes roughly none of the capabilities of the system and trying to use it via the editor relies entirely on random chance to create some desired effect using parameters that simply cannot produce them.

A complete lack of control combined with a being completely unfit for purpose is a great way to dissuade the aspiring mission maker from ever using the dynamic weather system, instead relying on the much more immediate and obvious static weather. This guide aims to demystify the capabilities of the dynamic weather available in DCS. With only a little bit of practice, situations like the one depicted at the top of the page — gentle snow falling in light breezes from heavy clouds, with clear skies on the horizon — become a breeze to recreate. This is a weather state that simply cannot be achieved through the use of the mission editor alone.

An introduction to dynamic weather

Main article: Introduction to Dynamic Weather

The main shortfall of the dynamic weather system is, as mentioned, the lack of a UI. To compensate for this, mission designers who want to use dynamic weather will have to stock up on a number of external tools, and also be prepared to engage with a pretty long-winded iterative process of extracting and importing files from the .miz package that the mission editor creates.

Another way the lacklustre UI reveals itself is in the lack of cohesion in what units are used. To manipulate dynamic weather, you will need to do degree-to-radian conversions, nautical mile-to-feet-to-meter conversions, and lat/long-to-meter conversions. It also helps if you are familiar with how many Pascals go into a millimetre (or inch) of mercury.

While there are external mission editing suites such as CombatFlite that can circumvent some of these steps, you will still be bouncing back and forth between external tools and DCS itself to fine-tine and preview the results as they appear in-game. If you don't want that full package (and for some details, even if you do), you will need: a good zip manipulation tool, a unit conversion tool, a good text editor, and a lot of time and patience. You also need to already be familiar with the ins and outs of almost all mission editor tools.

One immediate consideration that always comes up when discussing the respective merits of static and dynamic weather is one of performance. Some testing has shown that it is not as clear-cut as one might expect, where static weather is “simple” and therefore less resource intensive. Rather, it seems like static weather may actually be easier to visually render client-side, and the jury is still out on the performance drain for the simulation as a whole (which matters more on the server end of things).

Dynamic weather editing

Main article: Editing Dynamic Weather

There is an immediately obvious way into working with the dynamic weather system: the eponymous tab in the weather control pane. However, even in this tab, most of the controls have nothing to do with dynamic weather, as such, and of the few that actually engage with the weather dynamics, only two are of any actual constructive use — the rest are, if anything, destructive in that they can instantly wipe out a lot of work with no benefit in return.

The only two controls you want to use in the in-editor UI are the left-most box on the row labelled “systems quantity”, and the “pressure deviation” box. All other buttons and boxes — the “baric system” dropdown, the rightmost quantity box, and the “generate” button will all overwrite your work with randomised garbage, forcing you to reload the mission and try again.

Wind flags

Mission editor wind indicators

The more important part of the weather UI is actually the wind overlay that shows up on the map whenever the dynamic weather tab is open. This overlay shows a coarse (roughly one sample point per 125km) map over wind strengths and directions using a set of rounded flags.

These flags are essentially arrows, with the round dot being the tip that points in the direction of the wind, and with the tail-end flag showing the strength using dashes and triangles. A half-dash is a 5kts wind; a full dash is 10kts; a triangle is 50kts. Add up the number of dashes and triangles to read the full wind value.

Manual weather editing

Most of the actual editing of weather happens outside of DCS, by extraction the ‘mission’ Lua file from the .miz package you are working on and using a sensible text editor to manually adjust coordinates and sizes directly in that file.

These values can be copied from trigger zones that you place as a sort of preview of the pressure systems you want to create, after which the mission file can be re-imported into the .miz file and the results can be previewed in the mission editor and in-game. Even in the simplest case, it is a fairly involved process and the full-length section on weather editing goes into more detail of the various steps involved.

The circuitous process of editing weather, requiring a number of different “scaffolding” mission objects such as dummy trigger zones and the use of static objects to observe the effect, means that it the whole process is best done in a separate dummy mission. The good news is that once all that work is done, it is trivial to export the resulting weather setup and import it into any number of existing or future missions.

The technical details: pressure front parameters

Main article: Pressure Front Parameters

Advanced dynamic weather editing

Main article: Advanced Dynamic Weather

Weather editing simplified: CombatFlite

Main article: Dynamic Weather in CombatFlite
Dynamic Weather topics
Introduction to Dynamic Weather · Editing Dynamic Weather · Pressure Front Parameters · Advanced Dynamic Weather · Dynamic Weather in CombatFlite