-
Notifications
You must be signed in to change notification settings - Fork 185
Custom campaigns (3.0)
Campaigns in DCS Liberation can be modified using the mission editor. Each campaign is defined by a JSON file to provide metadata, and a DCS mission file (.miz
file) to set up the theater.
The included campaigns can be modified, or new campaigns can be added to the resources/campaigns
directory of the Liberation install.
DCS Liberation must be restarted after campaign changes are made. Campaign changes only affect new games; ongoing campaigns will not be affected by changes to the campaign data.
If the campaign does not appear in the New Game wizard, there is likely an issue in the JSON file. Check the console window for errors.
Breaking campaign changes to do not get documented on the wiki immediately, but will always be listed in the notes next to CAMPAIGN_FORMAT_VERSION
in game/version.py.
The campaign uses a JSON file to describe some metadata. To create a new campaign, add a JSON file (such as mycampaign.json
) to resources\campaigns
.
This json file should contain a json object, with the following parameters :
-
name
: The name of the campaign that will be shown in the New Game wizard. -
theater
: The map for the campaign (either:Caucasus
,Persian Gulf
,Nevada
,Normandy
,Syria
orThe Channel
). -
authors
: The authors of the campaign that will be shown in the New Game wizard. -
description
: A description of the campaign that will be shown in the New Game wizard. -
version
: The version of the campaign format this campaign was built for. This supports a UI hint in the new game wizard to warn users about campaigns that were built for an incompatible version of the game.Note that this field is not the DCS Liberation version, but the version of the campaign file format. The latest version is defined by
CAMPAIGN_FORMAT_VERSION
in game/version.py.If
version
is not set or is"0"
, the campaign is from an unknown version of the game and will be marked as incompatible in the new game wizard. -
recommended_player_faction
: The recommended player faction (will be automatically selected by default on the faction selection page) -
recommended_enemy_faction
: The recommended enemy faction (will be automatically selected by default on the faction selection page) -
miz
: The name of the miz file (in the sameresources\campaigns
directory) that describes the campaign. -
performance
: How much performance your campaign need to run smoothly (3 for biggest scenarios that will have huge impact on game performance, 0 for the smallest, performance-friendly scenarios)
When creating a campaign it may be easiest to start with an existing campaign in the same theater and modify it to suit your needs. If starting from scratch, ensure that Combined Joint Task Forces Blue and Combined Joint Task Forces Red are assigned to the blue and red coalitions respectively, as these will be used to define many of the campaigns properties.
Control points are the spawn locations and (in most cases) the capturable positions in the campaign.
To make an airbase that starts controlled by blue, assign the airbase to the blue coalition in the mission editor. To make an airbase that starts controlled by red, assign the airbase to red.
To create a carrier, place a CVN-74 where you want it to be in the campaign. The carrier will be red if it belongs to CJTF Red and blue if it belongs to CJTF Blue.
To create an LHA, follow the same process but place an LHA-1.
Note that the presence of the carrier or LHA in the game will depend on the player's options and the faction's navy.
To create a point where aircraft from other theaters can be spawned into the mission in-air, place an F-15C. As with carriers and LHAs, use CJTF Red or Blue to assign the point to either faction.
The altitude of the unit is not currently relevant, as the spawn altitude of units in Liberation depends on the faction's doctrine and the unit type.
A FOB a a capturable point that can spawn ground units but not aircraft. A FOB is defined by placing a CP_SKP_11_ATC_Mobile_Command_Post. A CJTF Blue group will create a FOB that begins owned by blue and a CJTF Red group will begin owned by red.
The group name of the unit is used to name the FOB.
Inverting the campaign allows the player to play the campaign in reverse (starting from the North instead of the South, for example). This doesn't simply swap all of the control points, but swaps a number of control points as defined by the mission designer so that the player doesn't begin the campaign with most of the control points already captured.
To specify that an airbase should be owned by the player when the campaign is inverted, set the "unlimited aircraft" property of the warehouse. To specify the same for a carrier, LHA, or off-map spawn, set the "late activation" property of the group.
Supply routes are defined by placing a CJTF Blue M-113 at an airfield and defining a route to the connected control point. Front lines progress along supply routes, and supply routes also define road networks for ground unit transit.
The supply route will follow the waypoints of the vehicle group (not the path, so using on-road waypoints will not cause the front line to follow roads automatically), so waypoints should be placed at each location that the front line should turn to avoid terrain. The route beginning and end points will be used as the origin and destination endpoints for convoys, so each end point of the route should be placed on a road. The beginning and ending waypoints will associate with the nearest airfields when the campaign is generated.
New in DCS Liberation 3.0: The begin and end waypoints of the path defining the front line route define the origin and destination for convoy routes. Endpoints of the route should be placed on or near roads so that convoys can get moving quickly. If far from a road, units will move from their location off-road to the road one at a time until they have all reached the road.
Important: Care should be taken to route the frontline around exclusion zones. If the center of the frontline location lies in an exclusion zones, frontline units may not spawn correctly. You can view the exclusion zones in the Liberation UI by enabling the display option "Map Debug Mode"
New in DCS Liberation 3.0: Shipping lanes define routes for transporting units between control points via cargo ships.
To define a shipping lane, place a CJTF Blue Bulker Handy Wind. Shipping lanes should begin in port areas that are navigable by ships and have a route to another port area. DCS ships will not avoid driving into islands, so ensure that their waypoints plot a navigable route.
New in DCS Liberation 3.0: Random base defense generation is being removed. Replace the old base defense spawn locations with the desired number of fixed IADS and armor groups.
New in DCS Liberation 3.0: Random objective locations should no longer be used. The instructions below describe how to place fixed objectives. The contents below have changed significantly since 2.5 and should be read in full when converting campaigns.
Objective locations are automatically associated with their closest control point.
Strike targets are buildings that generate income for the owning coalition. These come in a variety of types depending on the faction:
- Power plants
- Ammo depots
- Fuel depots
- Warehouses
- FARPs
- Communications towers
- Oil derricks
- Bunkers
- Villages
- Army camps
To define a strike target location, place a Tech Combine structure. The unit may be either red or blue (the only difference is currently readability of the mission editor, but in the future will determine which coalition owns the objective).
Offshore strike targets generate income for the owning coalition.
To define an offshore strike target, place a CJTF Red Oil Platform.
Arbitrary map objects may be used as strike targets. These are the buildings/trees/scenery that are placed by the map developer (Eagle Dynamics, etc). Liberation uses trigger zones to define scenery as a strike target.
To define a map object strike target, right click the building in the mission editor and select "assign as...". This will create a trigger zone around the building. The name of this trigger zone will be used to identify the building in the Liberation UI. Do not modify the color (white) or the properties. This creates the individual building that will be a part of the objective group.
Create new circular trigger zone through the Mission Editor's sidebar, and give it the color of blue (0 Red
, 0 Green
, 255 Blue
; there is a shortcut button that is blue in case you do not want to type the RGB numbers in manually). Place this trigger zone such that it encloses each of the centers of the objective's white trigger zones. This defines the objective area (named, targetable group of buildings), whereas the white zones define the individual buildings of the objective location. Each group zone must have a unique name.
Create a property for the objective definition with the value field set to any of the entries listed in game/db.py : REWARDS
(listed below for convenience, but may be out of date). This must be the first property in the group zone. This field defines the category (objective type) of the group, which impacts income generation per building.
power
ware
fuel
ammo
farp
fob
comms
oil
derrick
Each structure will generate its own income, not each group. This means that large groups of structures will generate large amounts of income.
Note that factory
and ammo
have different behavior. See the documentation on factories and ammunition depots below.
Map Object Limitations:
- Objective group definitions (blue trigger zones) cannot overlap.
- The campaign creator must define objective type.
- No images for the various buildings in the Liberation UI, briefing, or kneeboard. Target identification will be difficult.
- Every blue trigger zone must have a unique name.
Factories are ground unit producing structures. Ground units may only originate from control points that have factories, so it is essential that each coalition have access to them. Units will form convoys to move between control points, and convoys may be interdicted to interrupt reinforcements. Destroyed factories will stop producing units. When a control point loses its last factory, it will no longer be a source for ground units.
Factories also generate $10M per turn for the owner.
Define factory locations with CJTF Blue Workshop A structures.
Recommendations for factory placement:
- Prefer back-line control points or major transit hubs (especially ports and large airports capable of fielding cargo planes) for factory locations. This allows units to reach their destinations more quickly.
- Avoid placing factories at control points that begin as the front line. Factories on the front line mean that convoys will not be formed and this removes a mission type for the player.
- Defend factories with IADS and (if accessible by the front line), armor groups.
Note that map objects (defined in the previous section) may be used as factories. Use the factory
category.
Ammunition Depots provide control over how many ground units are available to be deployed to the front line from it's closest control point. This directly effects how many ground units may be deployed on a front line.
Each control point has a free 15
deploy-able ground units available to it before ammunition depot buildings are required to raise the limit of how many ground units may be deployed. Each additional ammunition depot building raises the limit by 12
units.
Ammunition Depots are placed in a campaign using the Ammunition Depot
warehouse object to spawn the default template of one Ammunition Depot
and two Hangar B
s. Each ammunition depot template will raise the front line ground unit limit by 36
units.
Alternatively, scenery objectives may be used with the ammo
category to define an ammunition depot objective.
Recommendations for Ammunition Depot placement:
- Defend your ammunition depots with IADS and ground units.
Ships can be generated at airbases, carriers, and LHAs (but not off-map spawns). Ships will not be spawned if the player has disabled either player or enemy navies in the campaign generation options, or if the faction does not have naval units defined.
To define a ship location place a CJTF Red Arleigh Burke IIa.
Missile sites (scuds, V-2s, etc) can be generated at airbases and FOBs. Missile sites will only be spawned if the faction has them defined.
To define a missile site place a CJTF Red SSM SS-1C Scud-B.
Coastal defenses (silkworms) can be generated at airbases and FOBs. Coastal defenses will only be spawned if the faction has them defined.
To define a missile site place a CJTF Red AShM SS-N-2 Silkworm.
Armor groups are ground units that defend the assigned location. These groups will not move.
To define potential locations for garrison groups, place a (red or blue) MBT M1A2 Abrams.
IADS locations are automatically associated with the control point closest to them.
SAM locations are split into four types: long range, medium range, short range, and AAA. Each type of position will prefer to be filled by its exact type, but if the faction has no air defenses of that type available the generator will continue to downgrade the site until it finds a match. For example, a medium range SAM may be used in place of a long range SAM. Upgrades are not allowed.
Note that the exact type of SAM or EWR that will be placed depends on the faction definition. However, when designing a campaign with specific factions in mind (such as Syria defending on the Syria map), this allows the designer to see the coverage of the SAMs used by the intended faction. This way the designer can be sure that sufficient coverage will be present in the campaign when a faction using a specific type of SAM is used.
To define an EWR location, place a CJTF Red EWR 1L13.
Currently the only two long range SAM systems are the Patriot and the SA-10 (S-300). If the faction does not have either of those systems, the location will be downgraded to a compatible type.
To define a long range SAM location, place a CJTF Red unit of any of the following types:
- SAM Patriot LN M901
- SAM SA-10 S-300PS LN 5P85C
- SAM SA-10 S-300PS LN 5P85D
Medium range SAMs include most radar SAMs that do not qualify as long range SAMs. If the faction has no medium range SAMs available, the location will be downgraded to a compatible type.
To define a medium range SAM location, place a CJTF Red unit of any of the following types:
- SAM Hawk LN M192
- SAM SA-2 LN SM-90
- SAM SA-3 S-125 LN 5P73
Short range SAMs include IR SAMs and shorter range radar guided systems. If the faction has no short range SAMs available, the location will be downgraded to a compatible type.
To define a short range SAM location, place a CJTF Red unit of any of the following types:
- SAM Avenger (Stinger)
- SAM Rapier LN
- SAM SA-19 Tunguska "Grison"
- SAM SA-9 Strela 1 "Gaskin" TEL
AAA sites include self-propelled and static anti-air artillery systems. If the faction has no AAA available, the location will not be generated.
To define a AAA location, place a unit (red or blue) of any of the following types:
- AAA 8,8cm Flak 18
- SPAAA Vulcan M163
- SPAAA ZSU-23-4 Shilka "Gun Dish"
Objective type | Coalition | Unit types |
---|---|---|
EWR | Red | EWR 1L13 |
Long range SAM | Red | SAM Patriot LN M901 SAM SA-10 S-300PS LN 5P85C SAM SA-10 S-300PS LN 5P85D |
Medium range SAM | Red | SAM Hawk LN M192 SAM SA-2 LN SM-90 SAM SA-3 S-125 LN 5P73 |
Short range SAM | Red | SAM Avenger (Stinger) SAM Rapier LN SAM SA-19 Tunguska "Grison" SAM SA-9 Strela 1 "Gaskin" TEL |
AAA | Either | AAA 8,8cm Flak 18 SPAAA Vulcan M163 SPAAA ZSU-23-4 Shilka "Gun Dish" |
Factory | Blue | Workshop A |
Ammo Depot | Either | Ammunition depot |
Strike target | Either | Tech combine |
Offshore strike target | Red | Oil Platform |
Missile Sites | Red | SSM SS-1C Scud-B |
Coastal defenses | Red | AShM SS-N-2 Silkworm |
Ship | Red | Arleigh Burke IIa |
Armor group | Either | MBT M1A2 Abrams |
FOB | Either | Truck SKP-11 Mobile ATC |