Making your own Overthrow campaign

From Overthrow
Revision as of 00:58, 7 June 2019 by Overthrow (talk | contribs) (Versioning)

Jump to: navigation, search

It is entirely possible to make your own version of Overthrow for whatever map you want (vanilla or modded) and using any assets, weapons, vehicles you want. This article will guide you in how to do that.

And yes, we give you permission to upload your created campaigns to the Steam Workshop. We recommend and support it. Just make "Overthrow" a required dependancy and if possible please use the naming convention of "Overthrow: <Map Name>". If you are creating a different version of a vanilla overthrow map then add something in brackets to discern it. (for example "Overthrow: Tanoa (RHS edition)".

The base Overthrow mod will always include campaigns for every vanilla + DLC map (but not community DLC), however you are free to make your own flavoured versions of them if you want, using whatever assets from whatever mods you want (dont forget to add them as dependancies if you upload to steam workshop)

Any updates to the main mod will be backwards-compatible with your custom mission. Any vars that are added will be defined as a "base var" and not required by missions, but can be overridden by you later.

Which Map?

Most maps are fine. However the following is recommended:

  • At least one airfield (for NATO HQ + scrambling jets)
  • Plenty of enterable houses (for player homes)
  • Plenty of military bases (however you can add your own + buildings/towers/etc to the mission file)

The Basics

Overthrow is designed to be a platform, much like "ALiVE", however requires a little bit of basic SQF knowledge unlike ALiVE (for now). All the logic is in compiled functions and the mission just needs to define a bunch of markers + variables and then call OT_fnc_initOverthrow. The easiest way to create your own is:

  1. Unpack the Overthrow PBO somewhere on your hard drive
  2. Copy the overthrow_main\campaign\missions\OverthrowMpLivonia.Enoch folder into your My Documents/Arma 3/Saved/mpmissions folder
  3. Rename the folder to OverthrowMp<mapname>.<mapname>
  4. Open Arma 3 (with Overthrow/ACE/CBA mods loaded) and go into the editor
  5. Load your renamed folder in the editor
  6. Move/create markers and edit the sqf files as required (see below for more info)
  7. Click "play in multiplayer" to test
  8. You do not need to restart Arma when SQF files are changed, just exit to editor and click Play again

Pro-tip: We recommend copying the Livonia mission because that is the best current example of a "third-party" campaign that doesnt require any config changes. It also includes more commenting in places to help you generate your campaign.

Mod or Mission?

You can make your campaign either a mod OR a mission. Creating a mod will give you some further options, including being able to have multiple missions/campaigns, defining your own Overthrow "Jobs" or overriding Arma 3/ACE configs. Some experience in creating Arma 3 mods might be required.

Players

In the editor you will see the 32 players and their groups, select them and drag them to somewhere out of the way where they will be safe as people load in. A small island or something is good. If you want more (or less) player slots then just go ahead and copy them, but not "bigboss" (the host). Currently each player works best in their own group (for recruiting/squads) but feel free to experiment with that if you like.

Markers

The mission requires a few markers with special names to work. You add these in the Arma 3 editor.

Regions

These are called "island_1", "island_2" etc. and affect how NATO responds to QRFs as well as fast-travel. NATO will not send ground vehicles between regions unless those regions are defined as "connected" in the vars (see below). You can also not fast-travel between regions unless connected or travelling to an airfield. Use any type of "area" marker (rectangle, circle). Set "opacity" to 0 so they are not shown on the map. If there are no "islands" on your map or you don't want any regions, you still need to define "island_1" and make it cover the whole map.

Checkpoints

These are any markers named "control_1", "control_2" etc. NATO checkpoints will spawn here. They must be point markers (ie triangle, not an area/box) and must be on or close to a road. Set the "opacity" to 0 so they don't show on the map.

Ports

Not required, however players may complain if there isnt a port and you won't be able to import/export. Landlocked maps can still have a "port" (just a building) where import/export occurs. Just place any kind of point marker and call it "port_1", "port_2" etc. You can have as many as you want. The closest town to the port will need to be controlled by the resistance to unlock illegal export/import

Vars

In the mission folder you will see a bunch of sqf files, these are how you define what assets NATO use, where towns/bases/businesses are and more.

initVar.sqf

The main file, in here you can define what faction "NATO" is (can be any BLUFOR faction you want, this requirement may change later) as well as what vehicles spawn at bases, are used in QRFs etc. These should be pretty self-explanatory and there are comments explaining some of them, Feel free to ask us what they do in #support on discord as well.

data/objectives.sqf

The location, name and priority of each NATO base. Best way to get a location is to find bases and right-click the ground in editor. The flag will be placed at that exact location and vehicles/static weapons will spawn around it, so pick somewhere with a bit of room.

Format is: [pos, name, priority]

(Higher priority = more garrisoned troops, larger QRF, more chance of counter-attack)

This file also contains:

  • OT_NATO_HQ: The name of the base that is NATOs "HQ". This base should be an airfield and will get a much stronger garrison.
  • OT_NATO_priority: A list of bases, radio towers and towns that NATO considers "high priority". Priority bases will get a larger "restricted area", more garrison etc.
  • OT_NATO_Navy_HQ: Where boats can spawn, can be blank for no boats
  • OT_NATO_JetPos: Where scrambling jets should spawn (on a taxiway at NATO HQ)
  • OT_NATO_JetDir: Direction for jets on spawn (ideally facing the way they will taxi)
  • OT_NATO_JetLandPos: A position where jets will go to before landing, should be a fair distance out and in the direction of the runway

Pro-tip: If you want to test your jet scrambling positions, just run [player, getpos player] spawn OT_fnc_NATOScrambleJet (you can make sure it taxis correctly using Zeus)

data/airports.sqf

The location, name and priority of each NATO airfield.

Format is: [pos, name, priority]

(Higher priority = more garrisoned troops, larger QRF, more chance of counter-attack)

data/comms.sqf

The location and name of each radio tower.

Format is: [pos, name]

data/towns.sqf

The location and name of each town. Population of towns is detected at game start according to how many houses are in the area. Population can be tweaked using the OT_populationMultiplier variable in initVar.sqf if they are too high/low

Format is: [pos, name]

data/economy.sqf

The location, name and input/output of each business on the map.

Format is: [pos, name, input, output]

If there is no input, that business will just generate the output.

If there is no output, that business will generate money according to the input.

If there is no output, or input, that business will just generate money.

This file also contains the Factory position (there can be only one factory atm), where vehicles from the factory should spawn, what direction they should be at spawn, and which "regions" are connected (see above).

Pro-tip: Input and output can be any inventory item (including weapons, but not vehicles). Just provide any valid arma 3 class name from CfgWeapons.

data/names.sqf

A list of first names and last names that is used to generate civilian names.

Versioning

In initVar.sqf are 3 variables to allow you to update the mission without losing save compatability. When a number increases, Overthrow will initialize that section again on next load.

  • OT_economyVersion: Add to this number if any businesses are added/removed from economy.sqf
  • OT_NATOversion: Add to this number if any bases/airfields are added/removed in objectives.sqf and airports.sqf
  • OT_CRIMversion: Not used atm but may be in future