DCS liberation - Part 1

Goals

  • Custom Campaign using map editor and yaml
  • Custom Faction to mimic Contractor
  • Custom Squadrons and air wing
  • Fix - no squadron for aircraft <x> in campaign

Storyline

I am going to make a fictional campaign where a group of revolutionaries with some Chinese backing have landed on Guam. They have managed to seize some AA assets and armor. This group would be limited to old export gear from the soviets and or Chinese export aircraft. They are pushing north to Anderson airforce base. If they can capture the airbase they will push <TBD> (Note can i put them on a separate island? i don't see why not except that there is no 'ground' path or 'frontline' if i do this. )    

Custom Campaign

Custom campaigns · dcs-liberation/dcs_liberation Wiki
DCS World single-player liberation dynamic campaign. - Custom campaigns · dcs-liberation/dcs_liberation Wiki

Copy Existing campaign

For this example I'll be using the marianas map, the "barrigada" mission. Copy both of these files into this same campaigns directory and rename them. I'm calling mine "marianas_guam_revolution"

The descriptor file (YAML)

This used to be a JSON file, it has the human readable text we need to modify.


name: Marianas - Guam - Revolution
theater: MarianaIslands
authors: cazubris
description:

The objective of this campaign is the capture of Guam. Blue side, having landed their forces on the beaches of Agat, controls Antonio B. Won Pat airfield and are pushing towards the enemy stronghold of Mount Barrigada.


miz: marianas_guam_barrigada.miz
performance: 2
version: "9.0"

Change description, name and author. The 'theater' options are Caucasus, Persian Gulf, Nevada, Normandy, Syria or The Channel. The mission file is also listed, currently this points to the old .miz file, we need to change this to match the new .miz created in step 1. (marianas_guam_revolution.miz)

Add in the following details to the yaml
recommended_player_faction: USA 2005
recommended_enemy_faction: Russia 2010
recommended_start_date: 2004-01-07
performance: 2

These values get used as recommendations when creating the campaign, that 'performance: 2' line is 0-3 , it is the green/yellow/orange warning from Liberation that says "this scenario is not performance friendly..."

Custom Faction

As with most modifications start with an existing file and rebuild it. In this case grab a file from here
C:\users\<your username>\Saved Games\DCS.openbeta\Liberation\Factions\
I'll be copying libya_2011.json and renaming it guam_revolution.json.  Open in notepad++ or whatever text editor you're using for this. Also open the NATO Desert Storm json file as well. The NATO file has nearly all bluefor assets and is a good example of a faction that lacks a specific nation.

Edit the faction info as you wish , in my case i don't think revolutionaries would have access to an awacs or tanking, so i am going to delete. Most of the rest is a cut and paste from other faction files. Syntax - Be careful if pasting to note the "," characters , each list should end with no comma.  For instance
{[ 'A10C' , "F-14b"]}  opposed to {['A10C', "F-14b",]}

{
"country": "Guam Liberdad",
"name": "Guam Revolutionaries",
"authors": "cazubris",
"description": "

Revolutionaries on guam that have stolen AA and chinese backing

",
"aircrafts": [
"FC-1 Fierce Dragon",
"IL-76MD",
"J-11A Flanker-L",
"J-7B",
"Mi-8MTV2 Hip",
"MiG-21bis Fishbed-N",
"H-6J Badger"
],
"frontline_units": [
"BMP-1",
"BRDM-2",
"ZSU-23-4 Shilka"
],
"artillery_units": [
"BM-21 Grad"
],
"logistics_units": [
"LUV UAZ-469 Jeep",
"Truck Ural-375"
],
"infantry_units": [
"Insurgent AK-74",
"Paratrooper RPG-16",
"Mortar 2B11 120mm"
],
"air_defenses": [
"ColdWarFlakGenerator",
"SA2Generator",
"SA3Generator"
],
"ewrs": [
"FlatFaceGenerator",
"TinShieldGenerator"
],
"aircraft_carrier": [],
"helicopter_carrier": [],
"helicopter_carrier_names": [],
"missiles": [
"ScudGenerator"
],
"missiles_group_count": 1,
"destroyers": [],
"cruisers": [],
"requirements": {},
"carrier_names": [],
"navy_generators": [],
"has_jtac": true,
"jtac_unit": "MQ-9 Reaper"
"doctrine": "coldwar"
}

Custom Squadron

Let's go and make a custom mig21 squadron for our revolutionaries. This is probably the only plane they would be able to afford and train in prior to storming the island.  Copy one of the existing files here D:\dcs_liberation_5.0.0\dcs_liberation\resources\squadrons\Mig-21   and rename it GR_fighting_carabaos.yaml . If you don't know what a Carabao is , its the unofficial national animal of Guam!

I couldn't think up any traditional Guamese names so i used fictional names from "Back to the future" and the chip chipperson podcast to populate my pilot lists. The completed yaml shown here

'''python

name: GRFS-001
nickname: The Fighting Carabaos
country: Guam Liberdad
role: Air Superiority Fighter
aircraft: MiG-21bis Fishbed-N
bases:
carrier: false
shore: true
lha: false
livery: "Syria (1)"
mission_types:

  • BAI
  • BARCAP
  • CAS
  • DEAD
  • OCA/Aircraft
  • OCA/Runway
  • Strike
    pilots:
  • Biff Tannen
  • Marty McFly
  • Doc Brown
  • George McFly
    players:
  • Joey Bagofdonuts
  • Jimmy TheFoot
    '''

Keep in mind for now the blufor group will stay as is but i did create a custom harrier squadron. In a later section, I'll address the lack of F18 squadrons, a problem that is annoying many users of Liberation.

Adding Squadrons to Campaign

Take a look at the basic setup in the campaign yaml file we have now.

I created a new harrier squadron D:\dcs_liberation_5.0.0\dcs_liberation\resources\squadrons\AV-8BNA\VMA-621.yaml nicknamed "Old Gravy Legs".  I want to add them as an option to the Blue LHA (Tarawa) section.

'''yaml
Blue LHA:
- primary: Strike
secondary: any
aircraft:
- VMA-621
- primary: BAI
secondary: air-to-ground
aircraft:
- VMA-214
- VMA-223
- VMA-621
- primary: CAS
secondary: air-to-ground
aircraft:
- VMA-214
- VMA-223
- VMA-621
- primary: CAS
secondary: air-to-ground
aircraft:
- VMA-214
- VMA-223
- VMA-621
- primary: OCA/Aircraft
secondary: air-to-ground
aircraft:
- VMA-621
- primary: OCA/Runway
secondary: air-to-ground
aircraft:
- VMA-621
'''

If you look closely i added the OCA primary options and to each primary mission type, I added an 'aircraft' section. In the aircraft section, I specify the squadrons I want to be assigned. On most carriers, there is a squadron that focuses on air to ground more than air to air, another for EW, etc. So for SEAD perhaps only 1 squadron is meant to have expertise in that mission type. This is up to the author.

Rather than specifying a specific squadron, we can instead list an aircraft type.  For instance i will assign only Mig 21's for BARCAP missions on the redfor team out of Anderson AFB.

Andersen AFB

6:
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-21bis Fishbed-N
- primary: BARCAP
secondary: air-to-air
aircraft:
- MiG-21bis Fishbed-N
- primary: Strike
secondary: any
aircraft:
- GRFS-001

Also note that for the "Strike roll" i specify squadron, for BARCAP i specify aircraft. Lets take a look at the bluefor carrier options. The biggest complaint i have seen with Liberation 5.0 is that people create a carrier campaign and then see only F14's available. They may own the F18 or have installed the A4 community mod but neither aircraft show up during the creation of the campaign.   If you're not sure what am talking about take a look at this  

Notice no A4, no FA18 squadrons available and this is using the USA 2005 faction. We fix this by adding the F18 or F18 squadrons to the campaign file.

'''yaml
squadrons:
Blue CV:
- primary: BARCAP
secondary: air-to-air
- primary: BARCAP
secondary: any
- primary: Strike
secondary: any
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: SEAD
secondary: air-to-ground
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: DEAD
secondary: air-to-ground
aircraft:
- F/A-18C Hornet (Lot 20)
- primary: BAI
secondary: air-to-ground
- primary: CAS
secondary: air-to-ground
- primary: Refueling
aircraft:
- S-3B Tanker
- primary: AEW&C
aircraft:
- E-2C Hawkeye
'''

At this point we have enough to start a campaign that uses F18's , F14's, harriers, my custom squadrons and even custom pilots. (Note i did not create a custom livery but this is not hard to add)

What's in Part 2 ...

short answer - the mission editor