ED Forums

ED Forums (https://forums.eagle.ru/index.php)
-   Missions and Campaigns (https://forums.eagle.ru/forumdisplay.php?f=165)
-   -   Dynamic Campaign Engine (https://forums.eagle.ru/showthread.php?t=153020)

MBot 11-22-2015 12:49 PM

Dynamic Campaign Engine
 
1 Attachment(s)
https://forums.eagle.ru/attachment.p...1&d=1492436523

Screaming Eagle


https://forums.eagle.ru/attachment.p...1&d=1485122038

Desert Tiger 76


https://forums.eagle.ru/attachment.p...1&d=1485471240

Desert Fishbed 76


https://forums.eagle.ru/attachment.p...1&d=1513897278

Wild Weasel


***** original post *****

With this thread I would like to present the project I am currently working on: A modular dynamic campaign system for DCS which I am simply calling Dynamic Campaign Engine.

Some might be aware of my Guardians of the Caucasus dynamic campaign for the MiG-21 which I have released about a year ago. This campaign was very specifically tailored to the MiG-21 and purposely limited in scope in order to keep it manageable. With DCE I would now like to step up to the next level and provide a framework that can inherently manage a large variety of aircraft tasks and aircraft eras. I expect DCE to be able to run campaigns from modern times back to Korea (and possibly even WWII, though because of personal lack of interest I am not spending any extra time on that).

The Guardians campaign had several annoying limitations and workarounds due to the approach of generating mission content within running DCS missions. Shortly after release of Guardians it became clear to me that a more advanced DC system must be an independent program outside of DCS that can write complete .miz mission files from scratch. DCE is such a program. It is written in LUA and runs outside of DCS. It is still using the LUA interpreter supplied by DCS, but this is simply a convenience (why should I bother to set up my own LUA interpreter if there is one in the DCS installation ready for use). This approach remedies most of the limitations of the Guardians-system:

-Time and weather of the next mission no longer need to be adjusted manually.
-Briefings are now displayed as ordinary briefings instead of text output.
-Missions can be quit directly without any F10 actions required.
-Complete text debriefings are shown after the mission has been quit.
-Players can be assigned mission specific waypoints and loadouts.
-Because of above, players can play any mission type available to their aircraft (air-air, air-ground).


DCE running a campaign will work as follows:
1. Somewhere you have your campaign folder. Within is your next mission. For example it is called 'Test Campaign Mission 1.miz'. You simply play it in DCS as any other regular single mission.
2. After you are done playing, you end it with Esc.
3. A Notepad file will open automatically, showing a detailed debriefing:

http://forums.eagle.ru/attachment.ph...1&d=1448199485
(concept demo only, not an actual debriefing)

4. A command box will open asking you to accept the mission results. Accepting will proceed the campaign, not accepting will be as if you didn't play the last mission.
5. If you accepted, the mission 'Test Campaign Mission 1.miz' will be gone and 'Test Campaign Mission 2.miz' is now ready for you. This happens automatically while you are within DCS.
6. The next mission will have time advanced by a certain amount (as defined by the campaign designer), updated weather, updated order of battles depending on the kills and losses of the last mission and new task for all available aircraft (friend and foe).

The cornerstone of DCE is the automatically generated Air Tasking Order. The ATO will assign available aircraft to available targets in a sensible way taking into account a multitude of factors. I will go into more depth of the ATO in a subsequent post.

It is important to note that DCE is not a specific campaign but a framework to run campaigns on. This means that a campaign designer still has to invest some time into setting up a campaign, such as developing the overall scenario, defining all ground targets, setting up all air defenses, defining all involved aviation units, setting up victory conditions, defining special events, writing background texts etc. DCE will then play out what the campaign designer came up with. So whether a campaign will be fun to play will also depend a lot on how it will be set up.

A word on ground war and moving front line. DCE will not have it initially. Some people will instinctively associate a dynamic campaign with an ongoing ground war. I do not think this is the case, as the basis of a DC must be persistent damage and an ATO making aircraft do stuff. Historically several massive air campaigns have been fought without a ground war ongoing (Battle of Britain, Linebacker, 90% of Desert Storm). Therefore I think it is sensible to concentrate on the air war first (which includes air-ground against air defenses and ground targets) before looking at a dynamic ground war. I am not saying this will never happen. The way DCE is set up it should be very easy to insert a ground war module. Writing such a module will be a massive undertaking though, which basically is creating a strategy game from scratch. So I think this time is currently better spent on stuff in the air until this is really solid. DCE will be perfectly suited to run campaigns like F/A-18s doing carrier air strikes in the Strait of Hormuz against Iranian installations ashore.

So where is DCE currently at? I laid some groundwork last January and started working on it in earnest in October. So I am now about 2 months into development. The basic framework is set up and the ATO is already very solid. But there is still a lot of work ahead. I will use this thread to post some development updates as I go along.

NeilWillis 11-22-2015 01:10 PM

Excellent work!

Silver_Dragon 11-22-2015 01:43 PM

Great work MBot

Can be see in the future some type of integration of your old script (ASW Course and others) on the Dynamic Campaign Engine?

MBot 11-22-2015 01:56 PM

Let's talk about the Air Tasking Order a bit. As mentioned, the ATO is the centerpiece of DCE. It will assign available aircraft (which depend on the losses in previous missions) to available targets (which depend on targets struck in previous missions). The ATO will put together packages of multiple flights including SEAD and fighter escorts if applicable and create sensible flight plans. Here are some of the factors which will affect the ATO:

-Mission priority: High priority missions are more likely to be flown

-Threat level. The risk to strike a target is calculated for each potential mission, which includes a threat avoiding route, how many threats cannot be avoided and how dangerous these threats are. Safe missions are more likely to be flown.

-Escorts: The availability of SEAD or fighter escorts can reduce the threat level of a mission and make a mission more likely.

-Route profile: The campaign designer can assign an altitude profile for a certain loadout (for example, F-16 on precision strike with GBU-24 should always attack high) or let the ATO decide on the most efficient option (high-high, high-low, low-low). Altitude affects routing around threats and therefore threat level and likeliness of a mission.

-Time of day: During night, some air defense systems are ignored for threat avoidance (MANPADS don't see at night). This means that during day the ATO might plan a strike at hight altitude with a SEAD escort to punch through some SA-6 because it is safer, while at night the same mission would be planned at low level without SEAD escort, avoiding the SA-6 and passing through blind SHORAD (freeing the SEAD escort aircraft to do another mission on their own).

-Aircraft proficiency: Each aircraft-task-loadout combination has a proficiency value. So an F-15 with an escort task with AMRAAMS should be very good, while an F-15 with an anti-ship task with guns only should be horrible. The better an aircraft with a loadout is suited for a specific mission, the more likely the ATO will asign it.

-Loadout firepower: Loadouts with more bang are more likely to be selected by the ATO. But if a target is out of range, the ATO will select a loadout with less firepower but sufficient range.


The overall calculation which missions will be flown and which aircraft are assigned is quite complex as you can imagine. This is further complicated by the fact that some aircraft are multirole. Should a F-16 be a SEAD escort for some B-52, do a strike mission on its own or better be on CAP? This will require a lot of testing to polish, but I think I have a pretty solid system so far.

The campaign designer has the job to assign a list of possible tasks for each aviation unit defined in the campaign. Since this is unit specific and not aircraft type specific, it will be possible for example to have a the 1st Squadron with F-16 doing CAP, sweep and escort only, while the 2nd Squadron with F-16 is doing SEAD and ground attack.

Furthermore the campaign designer must then define loadouts for each aircraft-task combination, where he can define key properties such as night capability, firepower value, proficiency, altitude profiles, cruise speeds, range etc.

Setting this up for each campaign will be a lot of work initially, but it is also an extremely flexible system. It will allow for example to set up that a F-117 unit will only fly at night or that a MiG-21 unit will only fly ground attack at day and intercepts at night.


Next I will talk about flight routes and threat avoidance.

EAKMotorsports 11-22-2015 01:59 PM

cool

MBot 11-22-2015 02:03 PM

Quote:

Originally Posted by Silver_Dragon (Post 2562915)
Can be see in the future some type of integration of your old script (ASW Course and others) on the Dynamic Campaign Engine?

In principle yes. Generic scripts can easily be added when defining a new campaign and will then be run in each campaign mission. Many scripts require some configuration though (which units are to be affected etc.) which might prove difficult to do automatically in each campaign mission. Close integration deep within the DCE code might be required to do so.

MBot 11-22-2015 02:40 PM

6 Attachment(s)
As mentioned, the ATO tries to create flight plans that route around threats. Let's have look at some quick and dirty examples. The setup is a MiG-21 unit at Krymsk airbase and a single test target. A high-low flight profile is the enforced. This is what the ATO comes up with.

http://forums.eagle.ru/attachment.ph...1&d=1448205633

The threat is a single Hawk site between the airbase and the target. Notice that flight route is routing around only as far as required at low altitude. These are the WP altitudes that the ATO set up:
1: 6000 MSL
2-9: 100 AGL
10: 6000 MSL

As we can see, the route goes to cruise altitude until the high altitude engagement area of the Hawk is reached, then descends to low level. The cruise portion is very short due to the short distances involved.


http://forums.eagle.ru/attachment.ph...1&d=1448205633

With this setup, the Hawk low altitude engagement area cannot be avoided to strike the target. This would most likely trigger a SEAD escort if one is available, or a less dangerous target would be selected if one was available.


http://forums.eagle.ru/attachment.ph...1&d=1448205633

Some low altitude Avengers are added to the mix.


http://forums.eagle.ru/attachment.ph...1&d=1448205633

The route is extended to the west to avoid these Avengers.


http://forums.eagle.ru/attachment.ph...1&d=1448205633

Low altitude attack on target defended by Avengers. Safest ingress possible is selected, egress doesn't look to bad either.

http://forums.eagle.ru/attachment.ph...1&d=1448205633

Different layout of Avengers makes an ingress from S-E the better option. Egress is not quite optimal here, I guess to the S-W would be better. Something to tweak.


Remember, all these routes are generates automatically by the ATO.

Home Fries 11-22-2015 03:37 PM

Looks awesome, Mbot.

Two questions regarding the ATO:

One: regarding aircraft capabilities: is NVG availablility factored into the score for night tasking (e.g. assigning a NVG-less F-15C to a low level escort at night)?

Two: will the ATO generator also plan for cruise missile attacks in a mission (e.g. use a Tomahawk launched from the Ticonderoga to take out some of those pesky SAMs)?

coldViPer 11-22-2015 03:41 PM

Impressive, keep up the good work! DC is what we really need. Still flying and enjoying Guardians of the Caucasus :thumbup:

MBot 11-22-2015 04:01 PM

Quote:

Originally Posted by Home Fries (Post 2563013)
One: regarding aircraft capabilities: is NVG availablility factored into the score for night tasking (e.g. assigning a NVG-less F-15C to a low level escort at night)?

Yes, but it will be completely up to the campaign designer to manually set this up (e.g. decide which aircraft-task-loadout combination is night capable*). The ATO will then plan according to what it is being told is possible. Whether the aircraft really has the capability is on a different page and the responsibility of the mission designer. So if I for example tell the ATO that the Fw-190 is capable of night precision strikes, the ATO will assign them to such missions which will most likely result in complete failures.

*This is quite situation dependent. For example in Desert Storm F-111 have been almost exclusively flown at night, while of course the aircraft is perfectly able to operate at day. So it's up to the campaign designer to decide what he wants.


Quote:

Two: will the ATO generator also plan for cruise missile attacks in a mission (e.g. use a Tomahawk launched from the Ticonderoga to take out some of those pesky SAMs)?
Not yet, as the ATO currently only manages aircraft. Once the air stuff is done, I will probably write a naval module (*cough* Hornet *cough* Tomcat) so this is will be a good idea to look at then.


All times are GMT. The time now is 08:58 AM.

Powered by vBulletin®.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.