Dynamic Campaign Engine - ED Forums


Thread Tools Display Modes
Old 11-22-2015, 01:49 PM   #1
Join Date: Nov 2004
Posts: 3,287
Default Dynamic Campaign Engine

Screaming Eagle

Desert Tiger 76

Desert Fishbed 76

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:

(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.
Attached Thumbnails
Click image for larger version

Name:	debrief.jpg
Views:	40144
Size:	335.3 KB
ID:	128002  

Last edited by MBot; 12-21-2017 at 11:38 PM.
MBot is offline   Reply With Quote
Old 11-22-2015, 02:10 PM   #2
Join Date: Jun 2013
Location: United Kingdom
Posts: 4,757

Excellent work!
NeilWillis is offline   Reply With Quote
Old 11-22-2015, 02:43 PM   #3
ED Translator
Silver_Dragon's Avatar
Join Date: Apr 2005
Posts: 6,765
Send a message via MSN to Silver_Dragon

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?
More news to the front
Wishlist: ED / 3rd Party Campaings
My Rig: Intel I-5 750 2.67Ghz / Packard Bell FMP55 / 16 GB DDR3 RAM / GTX-1080 8 GB RAM / HD 1Tb/2Tb / Warthog / 2 MDF / TFPR

DCS: Roadmap (unofficial):https://forums.eagle.ru/showthread.php?t=116893
DCS: List of Vacant models: https://forums.eagle.ru/showthread.p...91#post4076891
21Squad DCS: World News: https://www.facebook.com/21Squad-219508958071000/
Silver_Dragon Youtube
Silver_Dragon is offline   Reply With Quote
Old 11-22-2015, 02:56 PM   #4
Join Date: Nov 2004
Posts: 3,287

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.
MBot is offline   Reply With Quote
Old 11-22-2015, 02:59 PM   #5
Join Date: May 2007
Location: Curitiba, Parana - Brazil
Posts: 210

Intel® Core™ i5-2500k CPU@4.20GHz 64 bit operation System Windows 10+ Pro
NVIDIA GeForce GTX 1060 - Memory: 16.0 GB - 500gb ssd samsung - Samsung 27"SyncMaster TA550 monitors - TM Hotas Warthog
Trackir4 - TM Rudder Pedals.
EAKMotorsports is offline   Reply With Quote
Old 11-22-2015, 03:03 PM   #6
Join Date: Nov 2004
Posts: 3,287

Originally Posted by Silver_Dragon View Post
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 is offline   Reply With Quote
Old 11-22-2015, 03:40 PM   #7
Join Date: Nov 2004
Posts: 3,287

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.

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.

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.

Some low altitude Avengers are added to the mix.

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

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

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.
Attached Thumbnails
Click image for larger version

Name:	Screen_151122_160953.jpg
Views:	39034
Size:	343.1 KB
ID:	128020   Click image for larger version

Name:	Screen_151122_161058.jpg
Views:	38882
Size:	339.2 KB
ID:	128021   Click image for larger version

Name:	Screen_151122_161420.jpg
Views:	38961
Size:	350.1 KB
ID:	128022  

Click image for larger version

Name:	Screen_151122_161453.jpg
Views:	38769
Size:	350.6 KB
ID:	128023   Click image for larger version

Name:	Screen_151122_161607.jpg
Views:	38813
Size:	325.5 KB
ID:	128024   Click image for larger version

Name:	Screen_151122_161802.jpg
Views:	38545
Size:	345.1 KB
ID:	128025  

MBot is offline   Reply With Quote
Old 11-22-2015, 04:37 PM   #8
Home Fries
Senior Member
Home Fries's Avatar
Join Date: Nov 2012
Location: Greater Washington DC Area
Posts: 2,726

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)?
-Home Fries
Fear the Bolts!

The average naval aviator, despite the sometimes swaggering exterior, is very much capable of such feelings as love, affection, intimacy, and caring.
These feelings just don't involve anyone else.

My DCS Files and Skins
My DCS TARGET Profile for Cougar or Warthog and MFDs
Home Fries is offline   Reply With Quote
Old 11-22-2015, 04:41 PM   #9
coldViPer's Avatar
Join Date: Jul 2014
Location: Finland
Posts: 235

Impressive, keep up the good work! DC is what we really need. Still flying and enjoying Guardians of the Caucasus
Win 10 64bit * Asrock Z68-PRO3 * Asus GTX 1070TI 8Gb * 32GB DDR3 1600MHz * Core i5 2500K @ 4,5GHz * Kingston HyperX 120Gb SSD + Samsung 850 EVO 512Gb SSD * FullHD 49" + 16" LCD export
coldViPer is offline   Reply With Quote
Old 11-22-2015, 05:01 PM   #10
Join Date: Nov 2004
Posts: 3,287

Originally Posted by Home Fries View Post
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.

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.
MBot is offline   Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 09:14 PM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.