Unity of Command II

Unity of Command II

Not enough ratings
Scenario Editor Guide
By Daniel_efc and 1 collaborators
Complete guide on how to create scenarios
2
2
2
   
Award
Favorite
Favorited
Unfavorite
1. CREATING A NEW SCENARIO
NOTE: FIRST REVISION. THERE ARE SOME ROUGH EDGES


Click the Scenario Editor under the Tools heading in the main menu.

Click Standalone Scenario under the New Scenario heading to enter the Create New Scenario screen. Here will need to fill out the following fields:

1.1 Scenario Name (directory name)


Note that this is the directory name - no capital letters and no spaces. You will name your scenario later. We will call our scenario directory in this guide:
kursk_test_2

1.2 UV (comma separated)


Your scenario will be centered on these coordinates on the map. To find the right coordinates, load up an existing scenario that takes place in the rough vicinity of where you want your scenario to be located. Once in the scenario press "Z" to toggle on the UV coordinates. Make a note of the appropriate coordinates and enter these into this field. For our test scenario we will be using the coordinates for Kursk which are:
329,167

Here is a list of useful locations:

Europe map:
  • 265,275 (Athens)
  • 416,294 (Baghdad)
  • 437,231 (Baku)
  • 240,319 (Benghazi)
  • 294,207 (Chisinau)
  • 208,142 (Copenhagen)
  • 256,303 (Damascus)
  • 305,327 (El Alamein)
  • 401,217 (Grozny)
  • 332,180 (Kharkiv)
  • 329,167 (Kursk)
  • 300,180 (Kyiv)
  • 290,111 (Leningrad)
  • 265,187 (Lviv)
  • 150, 227 (Marseille)
  • 282,157 (Minsk)
  • 329,135 (Moscow)
  • 206,110 (Oslo)
  • 142, 183 (Paris)
  • 249,241 (Pristina)
  • 263,135 (Riga)
  • 193, 243 (Rome)
  • 356,197 (Rostov)
  • 173, 169 (Ruhr Area)
  • 327,219 (Sevastopol)
  • 201, 277 (Sicily)
  • 303,148 (Smolensk)
  • 381,179 (Stalingrad)
  • 236,116 (Stockholm)
  • 173, 190 (Strasbourg)
  • 267,319 (Tobruk)
  • 190,311 (Tripoli)
  • 168,286 (Tunisia)
  • 248,170 (Warsaw)
  • 218,217 (Zagreb)
Normandy map:
  • 42,42 (Normandy)
Crimea map:
  • 71,43 (Crimea)
Stalingrad map:
  • 29,29 (central part of map)
Malta map:
  • 50,42 (Malta)
East Africa map:
  • 48,30 (Keren)
  • 48,59 (Addis Ababa)
  • 97,87 (Mogadishu)
El Alamein map:
  • 39,19 (El Alamein)
1.3 Faction 1


This is the player/player 1 faction. There are three factions to chose from: Axis, Allies and Soviet. We will be playing the Axis vs. Soviets in this case so we enter:
Axis

1.4 Faction 2


This is the AI/player 2 faction. Enter:
Soviet

1.5 Map


Make sure you chose the right map or your co-ordinates will be wrong. Europe_10 is the main map of Europe and North Africa and it will be selected by default. This is also the map we need for our current "Kursk Test" scenario.


Once everything is filled out correctly, press OK to proceed to the editor
2. BASIC SCENARIO PROPERTIES
Click Edit scenario properties or press [Enter]



TIP: the scenario editor has extensive tooltips for quick on-the-spot help.

2.1 Scenario Name


Here you can enter your desired scenario name. We are going to call ours
Kursk Test

2.2 Briefing Date (localized)


Here you can enter the date which will be shown in the scenario briefing. Note that this is meant for the briefing and does not affect the actual date the scenario will take place.

2.3 Date (year-month-day)


Here you enter the actual date that the scenario starts on. eg: "1943-7-5".

2.4 Phase 0 deployment


Check this box to give player 1 a battle prep phase.

2.5 Trucks allies/axis (comma separated)


Here you can enter the number of trucks each player has in their pool. If you want to give the player 1 (Axis in this scenario) 3 trucks from the first turn simply enter "3" (this includes the prep phase if applicable). If you want to give 4 trucks on turn one and 2 additional trucks on turn three enter: "4, 0, 2"

2.6 Number of Turns


Here you can enter the total number of turns your scenario will last on classic (and hard) difficulty. Playing on normal or easy will add 2 and 5 turns respectively.

2.7 Days per turn


Enter how many days pass for each turn (1-4)

2.8 Turn sequence


Here you can alter which faction is "player 1". (NOTE: not entirely sure this works, use with caution)

2.9 Weather hint:


Here you decide what the weather will be for the duration of the scenario. Note that weather will not show while inside the editor.

2.10 Playable area hex array:


Ignore this field.

2.11 Command Authorities


Here you can set the higher HQ mentioned in each factions briefing. These are purely cosmetic for standalone scenarios.

2.12 Scenario Variants


These will not be explained in this guide. Might be added later if there is a demand.

2.13 Upload to Steam Workshop


When you wish to upload your scenario to the steam workshop simply press this button.

2.14 Example


The Screenshot below contains the desired inputs for our "Kursk Test" scenario
  • it starts on July 5th 1943
  • the player gets a battle prep phase
  • the player gets one truck on turn 1 and one truck on turn 3
  • the AI/player2 gets 4 trucks on turn 6
  • the scenario lasts 12 turns and each turn lasts one day
  • the weather is always 100% dry
  • OKH and STAVKA are the respective command authorities

When you have entered your desired values click OK or press [Enter]

3. PLAYABLE AREA AND HEX OWNERSHIP


Chapter contents:
  • 3.1 Setting the playable area
  • 3.2 Painting Hex Ownership
3.1 Setting the playable area


A scenario is initially a simple 10*10 rectangle centered on the UV coordinates entered when it was created. To alter the shape and size of your scenario click Set playable area.



Now you can shape your scenario by placing points on the map in a counterclockwise fashion. Simply left click on the map to place the first point.

Note that:
  • these points must be placed in a counterclockwise fashion
  • you must be able to draw a straight line of hexes between points. A legal hex will turn the mouse cursor into a blue circle. An illegal hex will be turn the mouse cursor into a red triangle. (Clicking an illegal hex wont do anything)
  • for a final point to be legal the mouse cursor must turn into a green circle. This will happen when there are straight lines of hexes between the cursor location, the last set point and the first set point.
  • if at any time you regret a point you can undo it by pressing [CTRL+Z].
  • to exit the Set playable area state without keeping any changes, press [ESC] or click [RMB].
  • you can always alter the playable area again later on if need be
  • it is heavily advised to save and reload your scenario after changing the playable area!



After you place your final point, hit [Enter] and the playable area will be changed using the set points. Try shaping the playable area roughly as seen in the screenshot below.



3.2 Painting Hex Ownership


Now that your scenario has its desired shape you can draw an initial front line. The area of the map without fog of war is player 1's territory (Axis in this case). To start altering which player owns which hexes click Paint hex ownership or press [3].


You can now assign hexes to each player as you please by simply clicking on the map.

Note that:
  • by default you will be setting hexes as player 1 - press [space] to toggle to player 2.
  • when you want to change the ownership of large areas you can simply hold down the left mouse button to "draw" on the map.
  • press [ESC] or click [RMB] when you are done

Below is an example of a fictional frontline which includes a pocket of Axis territory within a bulge near Kursk.

4. ADDING AND EDITING HQs


Chapter contents:
  • 4.1 Adding a new HQ
  • 4.2 Placing an HQ
  • 4.3 Editing an HQ
4.1 Adding a new HQ


Click Edit campaign properties or press [CTRL+Enter].



First fill out the HQ name brief and HQ name super brief fields. Note that the super brief name can only have three characters. After this select the nationality of your new HQ.

When you are done click Add campaign HQ and then click OK or press [Enter].

In this example we are adding a German HQ named: "PzAOK 4" with the super brief name "4Pz"



4.2 Placing an HQ


To place the newly added HQ click Place campaign HQ or press [2]. Then click the German flag in the lower bar and select the HQ [LMB] and finally place it on the map [LMB].



Note that:
  • an HQ can only be placed within friendly territory
  • no units can be placed on the map before an HQ has been placed


4.3 Editing an HQ


Select the newly placed HQ on the map and click Edit Selected Entity or press [Enter]. This will open up the details for the selected HQ.



4.3.1 HQ naming boxes


Here you can edit the name of the HQ. Note that the super_brief name only supports three characters. In this example we will name the HQ as follows:
  • brief: PzAOK4
  • super_brief: Pz4
  • full: 4. Panzerarmee
4.3.2 HQ XP


Here you can give your HQ some additional XP points. Not entirely sure how stable this is - use with caution.
4.3.3 HQ max Command Points


Here you can set how many CPs your HQ has (3-9). In this case we will set it to 9.
4.3.4 En Route


If you want your HQ to arrive later during the scenario, check this box and enter the turn the HQ should arrive in the "Turn Delay" field below. Note that if you set the HQ to "En Route" it will disappear from the map once you press OK. To find it again, press [2] and click to expand the "En Route" list in the lower bar. Note that HQs can only be deployed at friendly rail supply sources and ports - there is no way to customize this.

Leave this box unchecked in this example.
4.3.5 HQ type


Clicking this button will reveal a list of possible pre-set HQ templates from the game. In this example we are going to use the "ger_hq_dlc3_pzg" template. We will be altering its values a little later.
4.3.6 Force Pool


Here you can add steps and specialists to the HQ's forcepool. NOTE that adding items to the HQ force pool will undo any other unsaved changes made to the HQ. So do this last AFTER saving your other edits. Skip ahead to 4.3.7 for now.

In this example we want to give the HQ five German infantry steps on turn 2.

First set
  • Nationality: German
  • Equipment/Spec: infantry

Then enter:
  • Delay: 2
  • Quantity: 5

Finally click Add to Force Pool.

If you wish to delete additions made to the force pool, click Delete from Force Pool and then click on the item you wish to delete from the list that appears.

4.3.7 HQ Branches


Here you set what level the different branches in the HQ are at. In this example we will set it up as follows:
  • Engineering level: 2
  • Logistics: 1
  • Operations: 3
  • Force Pool: 3
  • Intel: 1

NOTE: do NOT alter the the suppression values - this will bug out the scenario. They always need to be set to "0".

4.3.8 General


By clicking this a list of available generals will appear. [LMB] to select. In this example we will chose Von Manstein.
4.3.9 Open YAML


This will open up the HQ's .yml file in Windows. Here you can alter the branch lay outs and cost of actions for this specific HQ. In fact you can edit all the values the HQ has in this file. I won't go into details as it is fairly self explanatory. But feel free to ask questions regarding this matter in forums. Remember to save any changes before jumping back into the game.

NOTE: any edits made in the .yml files in windows should be done separately from in game edits or they will overwrite each other.

For easy editing I recommend using Notepad++ (it's free)

4.3.10 Finalizing


Approve all your edits by clicking OK or by pressing [Enter]. Open up the HQ edit window again and make sure your changes have been saved. Then jump back to 4.3.6 to add a few steps to the force pool.
5. ADDING AND EDITING UNITS


Chapter contents:
  • 5.1 Adding a new unit
  • 5.2 Placing and editing new units
5.1 Adding a new unit


Click Edit campaign properties or press [CTRL+Enter].



5.1.1 Unit name:


To name a new unit fill out the Unit name field. In this example we will be calling our unit "167. ID".
5.1.2 Unit type:


Click the Unit type: button. This will bring up the list of unit types. There are many pages of unit types in the game, you can scroll through them by hovering the cursor over the list and using [mousewheel].

In this example we are looking for the standard German infantry division from the base game. This unit type is called "ger_inf_42". Find ger_inf_42 in the list using mousewheel and then click on it.



Finally click Add campaign unit

Now you can easily add several German infantry divisions by simply typing in a new name and clicking Add campaign unit - rinse and repeat. In this example add the 9. and 320. German IDs.

When you are done, click OK or Cancel or press [Esc]

5.2 Placing and editing new units


Click Place campaign unit or press [1].



Click on the German flag on the bottom bar. This brings up the list of available German units. Here you will now see the 9, 167 and 320. IDs. To place the 9. ID on the map simply click on its name and then click on the map. (NOTE that you CANNOT place a unit on the map if there is no friendly HQ).

5.2.1 Setting unit strength


Select the 9.ID on the map. Use [Mousewheel] to give the unit active steps. Use [CTRL+mousewheel] to suppress steps. Try giving the 9.ID seven steps: five active and two suppressed.

When you are done, make sure the the 9.ID is still selected on the map and click Edit Selected Entity or press [Enter]



5.2.2 Unit name fields


Here you can rename the unit if you wish. Note that the "Unit name_full" field doesn't do anything.
5.2.3 Entrenched:


This sets the level of entrenchment for the unit.
  • 0 = not entrenched
  • 1 = dug in
  • 2 = fortified

5.2.4 Level:


Here you can set the level of veterancy for your unit to either:
  • green
  • regular
  • veteran
  • elite
5.2.5 Defense:


Here you can select a defensive flag if you wish your unit to start out the scenario with either:
  • - (none)
  • rear_guard
  • elastic_defense (counter attack)
  • no_retreat
5.2.6 Supply dump


Check this box to add a supply dump/over supply to the unit.
5.2.7 Motorized


Check this box to motorize the unit (only applicable to infantry).
5.2.8 En Route


If you want your unit to arrive later during the scenario, check this box and enter the turn the unit should arrive in the "Turn Delay" field below. Then enter the UV coordinates where you want the unit to be able to deploy. (ie. "328,175 328,176 327,175")

TIP: you can turn on the UV coordinates in the editor by pressing [Z] or [CTRL+SHIFT+F2]

Note that if you set the unit to "En Route" it will disappear from the map once you press OK. To find it again, press [1] and click to expand the "En Route" list in the lower bar.

TIP: don't set a unit to En Route before you have finished editing its values.

5.2.9 XP:


Here you can manually set the precise XPlevel of the unit (0-399)
  • 0-99 = green
  • 100-199 = regular
  • 200-299 = veteran
  • 300-399 = elite

Set the unit's XP to 220.

5.2.10 HQ:


Here you can chose which HQ the unit should be attached to. In the current example we only have the PzAOK 4 HQ. Note that when a unit is placed on the map it is automatically attached to the nearest HQ of the same nationality. If there is no HQ of the same nationality, the unit will attach itself to the nearest HQ of the same faction.

5.2.11 Specialist 1,2,3:


Here you can add specialist(s) to the unit. You can only add as many specialists as the unit type allows. In this example we are using the base game German infantry which can only accommodate one specialist. Give the unit a "leFH 18 (ger_towed_arty_42)". This is the basic towed German Artillery.



NOTE: there is no scroll feature in this pop out and as such you will have to add certain specs through the scenario's unit .yml file. See 5.2.12. for info on unit .yml files.

TIP: you can find the game's specialists in the '...data/entities_types/specialists' folder.

5.2.12 Open YAML:


Click this to open the unit's .yml file. In this file you can edit all of the unit's values



  • act_st = number of active steps
  • entr = entrenchment level (0-2)
  • hq_id = id of the HQ that the unit is attached to
  • id = unit id
  • name_brief = localization string of the unit's name
  • specs = specialists attached to the unit - eg. "ger_towed_arty_42"
  • sup_st = number of suppressed steps
  • uv = UV coordinates of unit's location [x, y]
  • xp = unit's xp level (0-399)
6. SUPPLY SOURCES AND HUBS


Chapter contents:
  • 6.1 Adding supply sources
  • 6.2 Adding a supply hub
  • 6.3 Setting supply disruption
6.1 Adding supply sources



Click Place supply sources or press [5].



You can now place a new player 1 supply source by simply clicking on the map. Press [space] to toggle between players, if you wish to place a player 2 supply source.

There are 5 types of supply sources. The game decides what type the supply source will be when you add it to the map.
  • rail source - any source placed on a rail line
  • truck source - any source placed on hex that is not a rail line. Note that you can [click+drag] a truck supply source on to a rail line if you don't want supply to travel infinitely along the a rail line.
  • port source - any source placed in a city hex that borders the sea
  • airfield source - any source placed on a hex with an airfield
  • beach source - any source placed on a sea hex that borders land. Note that beach supply will only land supplies on 'sandy' beaches.
Try placing sources as seen in the screenshot below. Notice that you can place sources on the first line of hexes outside the playable area.



6.2 Adding a supply hub


Click Place supply hubs or press [6].
  • to add a supply hub click anywhere on the map.
  • to add multiple supply hubs to the same hex simply click on it multiple times
  • to remove a (single) supply hub [Click+SHIFT] on the hub you wish to subtract
  • press and hold [V] to view player 1's supply view.
  • press and hold [B] to view player 2's supply view.



6.3 Setting supply disruption



In Windows go to the location of your scenario's folder:


find these lines in the main.yml file:

- supply_value: 100 trucks: [] - supply_value: 100 trucks: []supply:

The top number is player 1's supply value and the bottom is player 2's. In our Kursk Test scenario we want 20% supply disruption for the Axis (player 1) and so we set their supply value to 80. We don't want any disruption for the Soviets so we leave that value at 100.



NOTE: setting supply disruption in a campaign works differently.
7. ADDING THEATER ASSETS
Click Edit Theater Assets.



In this window you can give each player the following theater assets:
  • Air Supply
  • Air Attack
  • Saturation Strike (Axis and Allies only)
  • Long Range Recon
  • Naval Bombardment
  • Flying Artillery (Axis only)
  • Precision Bombing (Axis only)

The fields on the left are for player 1 and the fields on the right are for player 2. In the first field you set uses per per turn and the in the second field you can set total uses.

In our example scenario we want to give the following theater assets:
  • player 1 (Axis) 2 Air Supply per turn - 4 total uses
  • player 1 (Axis) 1 Flying Artillery per turn - 1 total use
  • player 2 (Soviet) 1 Air attack per turn - unlimited uses (leave field empty)
8. ADDING PRE-POSITIONED ASSETS


Chapter contents:
  • 8.1 Naval defensive fire
  • 8.2 Naval landings
  • 8.3 Airborne drops
8.1 Naval defensive fire


Since boats require water, your humble guide author now realizes he should have chosen a different location for the test scenario ;) Thus we are going to create a second demonstration scenario. Let's call it "overlord_for_beginners" and center it on "34,27" on the normandy_2 map and play as Allies vs. Axis.



8.1.1 Placing and editing battleships


Click Place BBs or press [7]. Click on a sea hex that doesn't border the coastline to place a battleship.



Click on the ship to select it. If you wish you can rotate the ship while it is selected using [mousewheel].

Press [Enter] while the ship is selected to bring up its details.



Press the Nationality: button to bring up the list of possible nationalities for the ship. Select a nationality and press [Enter] to activate the change.

8.1.2 Defining Hexes for defensive bombardment


Next we want to set which hexes get naval defensive fire. Press [Z] to toggle on the UV-grid and press [H] to toggle on the Hexgrid. Then type in the relevant UV coordinates in the Target uvs: field as seen in the screenshot where we have set hexes 32,29 and 33,29.



8.1.3 Setting turn limits and time-outs


  • In the [Turn:] field you can set which turn the ship will appear
  • In the [Timeout:] field you can set how many turns the ship will be active for after appearing.

Let's say we want the ship to appear on turn 6 and stick around for 3 turns:
  • Turn: 6
  • Timeout: 3
8.2 Setting up naval invasions


Click Place LCIs or press [8]. Now place one or more landingcraft at least 1 hex from the shoreline.

We will also need a unit to put into our craft, and the unit will need an HQ.
  • place one or more landingcraft
  • create an American HQ
  • create an American unit (note that only infantry can be put into landing craft)
  • place the HQ and the unit on the map.



8.2.1 Moving units onto landing craft


Select the unit and press [enter]. Note the unit ID in the upper left corner of the edit window.



Next, select the landing craft and press [Enter]. Then enter the unit ID into the Unit ID: field. Click OK or press [Enter] twice to confirm. The unit now "jumps" from its location and into the landing craft. Finally make sure that the LCI has the right nationality set - or at least a nationality from the right faction.



TIP: units cannot be edited while inside landing craft and they cannot be removed from landing craft either. As such it is recommended to make any edits to units before putting them into their landing craft.

TIP 2: you can turn delay and time out LCIs in a similar fashion to naval defensive fire

8.2.2 Setting landing hexes


Select the landing craft and press [Enter]. Then enter the desired hex UV coordinates into the Target uvs: field. See example below. When you are done, confirm your changes.



8.3 Setting up airborne drops


Click Place para planes or press [9].

Click on the map to place a transport plane for your paratroopers. The rest of the process is the same as for putting troops onto naval landing craft (See chapter 8.2), except no landing hexes need be defined .

TIP: some nation's planes have multiple skins for immersion purposes.
9. ADDING OBJECTIVES


Chapter contents:
  • Placing and naming objectives
  • Editing a primary objective
  • Editing a bonus objective
9.1 Placing and naming objectives


Click Place objectives or press [4]. Then click on the map to add an empty objective. Once it is placed you can "drag and drop" it to any location within the playable area. In our Kursk test scenario we want to set the city of Kursk as an objective. Drag the objective to this location and then press [Enter] to bring up the objective details.



In the objective's detail window, fill out the objective's name in the name_brief: field. Note that the name_full: field doesn't do anything. Press [Enter] twice or click OK to apply the name.



9.2 Editing a primary objective


When an objective is placed on the map it is automatically set as a primary objective. So "Kursk" is now a primary objective and all that is missing is a turn limit. To set a turn limit simply enter the desired turn into the Turns: field in the objective's details window. We will set Kursk to turn 11 in this example.



Press [Enter] twice or click OK to confirm.

9.3 Editing a bonus objective


Place another objective on the map and open the objective's details window. To change the objective into a bonus, un-check the Primary box.


9.3.1 Model types


Next we will have to chose the bonus objective's model type. Click on the Model: Take and Hold button to view the available model types.



Note that some model types remove the objective from the map when set, since they are not a "location". If you wish to find them in the editor later: open any on-map objective and use the Next objective button to browse through each of your objectives.

Also note that some objectives have limited reward types. But more on this below. For now set this objective to Model: Take and let's call it "Airfield". Confirm these changes by pressing [Enter] twice or clicking OK.


9.3.2 Reward types


Open up the Airfield objective again and click the Reward: Token button. This will display a list of possible rewards for this objective. Note that any objective that can be lost by the player is limited to the following rewards:
  • token
  • supply
  • prestige
The editor keeps track of this and will not allow you to chose an "illegal" reward type. However, since this is a "take" objective and it cannot be lost/failed once taken, it can have any type of reward.

Set the Airfield objective to Reward:Card.

Next, click the Card: None button to chose a card. Let's go with air_attack_axis... this is an airfield after all.

Finally, let's set the turn limit to "7" - and you guessed it: press [Enter] twice to confirm or click OK.

10. ACTIVATING FORTS
To Activate a fort press CTRL+9 - this will make any possible forts glow orange on the map. Note that there are currently no forts in the Kursk area and you cannot place new forts in the scenario editor.

To activate a fort simply click on it on the map. To turn in it into ruins click on it again. And to deactivate it click it once more.
11. AI HINTS - BASIC


Chapter contents:
  • 11.1 Introduction
  • 11.2 Setting and naming an AI hint
  • 11.3 Hint types/tasks

11.1 Introduction


The AI in Unity of Command 2 was designed to be defensive and harassing. My first piece of advice when creating a scenario in UoC2 is to not touch the AI until you have tested the scenario first. Furthermore, always keep in mind that fiddling excessively with too many AI hints can backfire as each input creates a crack in the AI's own logic and reduces the number of units it has to work with to complete its organically set tasks.

11.1.2 What is an AI hint


An AI hint is a tool for scenario designers to alter the AI's organic behavior. AI hints are placed on hexes and give's the AI additional task(s) to complete in or around those hexes. However, the AI will also always attempt to carry out it's organically set tasks. Which set of tasks the AI will prioritize will depend on a multitude of factors. Not all of which will be explained here - they simply require experience and "getting to know the AI".


11.1.3 The AI's general behavior


in oversimplified terms, the AI's main goals are to:
  • prevent the player from taking objectives
The AI will do so in several ways: blowing bridges, placing units in bottlenecks, placing units on the objectives themselves, creating a coherent front line blocking the way etc etc...
  • kill exposed/weak enemy units
The AI will attempt to kill or damage enemy units if it sees an opening to do so without risking too many losses to its own units. We call these attacks "opportunistic attacks".
  • cut player supply
If the AI thinks there is an opportunity to cut (one of) the player's main supply lines it will attempt to do so. It mostly only does this if it can be achieved with one unit - but it will be very diligent if this is the case.
  • retaking (primary) objectives
The AI will accept relatively heavy losses in an attempt to retake a primary objective. It will also re-take secondary objectives, but only at very low cost. It will always re-take an empty objective.
  • keep own supply safe
The AI will try to keep its own supply lines safe from being cut in one turn. This task is of lower priority compared to most other tasks.
  • keep units in good defensive positions in place, even if cut off
The AI will prefer to place units in good defensive terrain - mostly along the player's route of advance or on the front line. If such units are surrounded the AI tends to keep them in place. High priority task
  • reconnect cut off units with the supply system
Medium-high priority task.

How well the AI performs is usually heavily connected to how many units it has. Too few units will often cause the AI to attempt to carry out too many things at once - and consequently doing none of them well. Also, keep in mind that the AI is working under the same constraints as the player. So if the AI's HQ can't blow bridges - then the AI can't blow bridges. If the AI has bad HQ intel levels it will tend to get stuck in player zones of control as it moves into unseen player units. If it has access to low cost feint attacks it will carry out many feints before attacking player units. etc etc.

11.2 Setting and naming an AI hint


Click Edit AI hints or press [g]. Then press the hex just below the Kursk objective on the map. This will bring up the AI hints window. In this window you can:
  • delete existing hints in the hex
  • set which tasks to activate for the hint
  • activate/de-activate the hint from turn x to turn y
  • name the hint
  • activate/de-activate hints on specific difficulty levels
Lets start by naming our hint "test" in the Hint description: field.


Press [Enter] or click OK to confirm. The hex now has a red triangle on it. This marks that there is a hint in the hex. You will also notice that our two objectives also have red triangles. This is because every objective comes with an automated "DEFAULT" type hint. These can be overruled or replaced if need be, but more on that later.

Note that only one hint can be active at a time within a hex. However, this one hint can be heavily customized by combining any number of tasks within a single hint. And this is what we will cover next.

11.3 Hint types/tasks


The hint we just placed has no tasks associated with it, which essentially means it does nothing. Click on the hint to re-open the hint's window. Notice the following list of tasks that can be activated for the hint. (See the tool tips for simplified descriptors.)
  • Place
the AI will put the strongest possible unit into this hex and shuffle in stronger units if possible. Very high priority task.
  • Move Empty
the AI will put any available unit into this hex if possible and keep it there if there are no higher priority tasks nearby. High priority task
  • Static
any AI unit in this hex will remain if there are no higher priority tasks . This hint is rather weak and will often be overruled by other things.
  • Frontline
the AI will create a front line of units between this hex and player. Medium priority task
  • On Way
the AI will identify bottlenecks between this hex and the player and block them (bridges, mountain passes etc) Medium/high priority task.
  • Beam
the AI will move units towards this hex if they have no higher priority tasks. This means that it will move units this way even if it takes several turns to arrive. This is useful because usually the AI only "thinks one turn ahead", so if a hint is out of immediate movement range it might not react to it. Medium priority task.
  • Capture
This will make the AI attempt to re-take this hex through movement only (it won't attack a player unit in the hex). High priority task.
  • Conquer
The AI will attempt to re-take this hex if it can do so without excessive losses. High priority task.
  • Attack
The AI will attempt to re-take this hex with almost no regard for losses. This task is rather low priority though - combine it with "Conquer" for the best results (most aggressive stance of the AI). Medium priority task.
  • Kill
The AI will attack enemy units in this hex if it can do so without excessive losses. - but it will not move its own units into the hex. Good for areas with clear terrain - ie. the AI will take advantage of a player unit being exposed without exposing its own unit in the very same hex afterwards.
  • Wait
The AI will do nothing with a unit in this hex. Not even dig in. This hint is rather weak and will often be overruled by other nearby tasks. Medium priority task.
  • Full Static
The AI will keep units in this hex still. It overrules all other tasks. It may attack bordering weak units (nut not move) and it may dig in. Very high priority task

You activate a task by checking the box next to it. Let's:
  • activate "Place", "Conquer" and "Attack" for this hint. Press
  • set the hint to be active from turn 1 to 2
  • deactivate the hint on easy by un-checking the "Easy" box.



Press [Enter] or click OK to confirm. The AI will now attempt to place as strong a unit as possible on the hex and it will attack the hex very aggressively if the player takes it. However it will only do these thing on turns 1 and 2. On easy it won't pay any special attention to the hex at all.
12. AI HINTS - ADVANCED


Chapter contents:
  • 12.1 Setting up multiple hints on one hex
  • 12.2 Overriding DEFAULT hints
  • 12.3 Setting up an AI offensive'
  • 12.4 Advanced AI tips

12.1 Setting multiple hints on one hex


Click Edit AI hints or press [g]. Click on the hint we placed south of Kursk. Then click the Edit hint: button and select the New Hint option. This will add a second hint on the hex which you can now edit. Let's call the second hint "test_2", give it the "Place" task, activate it on turn 3 to 4 and disable it on easy. Confirm your changes when you are done.



This hex now has two hints on it. On turn 1 to 2 the AI will place its strongest available unit and counterattack the hex if thrown out. On turn 3 to 4 it will still maintain its strongest available unit on hex. But it will no longer counterattack if thrown out. On easy the AI will pay no attention to the hex.

12.2.1 Overriding DEFAULT hints

Sometimes you may wish for the AI to ignore or behave in a special way on an objective. As mentioned earlier, objectives (and supply sources) have "DEFAULT" hints set on them automatically.

Click Edit AI hints or press [g]. This time select the hint on Kursk. In the hint window click the Edit hint: button and select the DEFAULT hint. You will see that all the edit options are greyed. DEFAULT hints cannot be edited.



Now click the Delete Hint button. The DEFAULT hint will not be displayed an as option for deletion. DEFAULT hints cannot be deleted.

However, DEFAULT hints can be by-passed by setting a second hint in the same hex. If you want the AI to ignore the objective, simply set an 'empty' hint in the hex. Let's do this now: In the hint window click the Edit hint: button and select the New hint: option. Give this hint a name - but don't give it any tasks. Have the hint last until turn 4. Disable the hint on easy. Confirm when done.



The AI will now ignore the Kursk objective until turn 4, except when playing on easy. On turn 5 the AI will revert back to the DEFAULT hint on the Kursk hex.

12.3 Setting up an AI offensive


Disclaimer: this is probably the most challenging thing one can do in UoC2. If the AI doesn't have overwhelming force it becomes even more tricky. Instead of explaining this in detail I will showcase an example from the Stalingrad campaign (WARNING: SPOILERS).

Load up the disaster_on_the_volga scenario in the editor (you will need to own the Stalingrad campaign to do so - if you don't, then just follow the screenshots).

The plan we wanted to give the AI was the historical strategy that the Soviet's used to encircle Stalingrad. This was an enormous - and staggered - offensive.



Go to the area shown in the screenshot below and open up the AI hints in the editor.



As you can see there are a massive amount of hints all over the place. We will now attempt to explain which types of hints have been placed where and why.

First here is a partial overview of which hints have been placed where in the Kletskaya sector.



We will go through these in "chunks" and turn by turn.

TURN 1




The blue hints are weak spots identified during testing. The AI would leave these hexes open and expose itself to having its supply cut. Thus we added the "move_empty" task to the hint to make the AI keep a unit here.

Note that in general the AI is not very good at guarding its rear when given so many offensive hints. So it will often need helping hints at weak spots in its rear - thus ensuring that the player can't just yeet the entire front's supply without at least meeting opposition.

The green hints are the main offensive. The ones at the back are there to make the AI pursue immediately if the player just runs away. (Note that in general, most of the hints in the whole sector have no expiration turn and as such the AI will take them again if the player counter attacks later.)

The yellow hint is a "main target". It will draw anything and everything the AI can spare until it is taken. After it is taken, it has been identified as another weak spot and so we want to keep it guarded. + On turn 3 we predict that the front has moved on and so we weaken the priority with the orange hint that activates on that turn. This will release any super unit on the hex and replace it with whatever is available nearby, (if the AI thinks the super unit is needed elsewhere).

The pink hints are there to ensure the AI will take this area if the player leaves it empty. But no attacks will be used by the AI. ie. if ANY enemy is present these hexes will be left alone. (Until turn 5, where these hints are replaced with more aggressive ones!)

TURN 2




The turquoise hints continue our main offensive. We have added less hints on this turn since turn 1 was overly ambitious (on purpose).

The white hint is another identified weak spot that we set to be guarded once taken.



The orange hints continue our main offensive. We are still not adding as many on turn 1 as testing shows the AI struggling to keep up.

The red and pink hints are important. They make sure that the AI isn't leaving any units dithering in its rear! They bring unit forward (Beam task) and makes a proper front (Front Line task). Specially the "Beam" task should be sprinkled on relevant locations throughout a bigger offensive that "goes deep".

2.4 Advanced AI tips



TIP: the AI will tend to keep units that dig in static "forever". If this causes issues for you, it can be countered by removing the entrenchment capability from the relevant HQ.

TIP: since attacking weaker units is part of the AI's general behavior: any AI offensive is greatly helped if the player has many units that are much weaker than the AI's. The above is a perfect example. Most of those Romanian units are so weak that it triggers opportunistic AI attacks even if there is no hint present. This leaves an offensive smelling much less 'deterministic' to the player.

TIP: customize your HQs!
  • Don't like that the AI is using rear guard? Just remove it from the relevant HQ.
  • Do you wan't the AI to launch a bunch of feint attacks all the time? Set the price to 1 and remove a bunch of the HQ's other capabilities if need be.
  • etc etc...


TIP: don't bash your head against the AI! Accept non-perfect AI behavior. Working with this AI is like herding cats ;) You cannot control every move and you must accept much of the AI's behavior "as is". Unless some AI quirk is catastrophically stupid - just leave it alone - specially if you are new to the editor. It takes times and lots of trial and error to really get to know the AI.

Finally: Remember, you aren't trying to beat the player - you are trying to challenge the player!
13. BRIEFINGS


Chapter contents:
  • 13.1 Adding briefings
  • 13.2 Adding localization support

13.1 Adding briefings



In Windows go to your scenario's folder:

C:/Users/username/AppData/Local/.uoc2/_packages/kursk_test_2/data/scenarios/kursk_test_2.usc/scenarios/kursk_test_2

Open up locale.yml


-----------
Here you can enter your briefings in the format seen below


13.2 Adding localization support



Ping me with a comment if there is a need for this. It's simple, but clunky to explain :)

14. HOTKEYS
This is not a complete list. But rather the hotkeys I personally find the most useful after many many thousands of hours of editing scenarios ;D
  • [DELETE] to delete any selected entity
  • [T] hold for terrain view
  • [Z] toggle UV-grid
  • [H] toggle hexgrid
  • [V] hold for player 1 supply view
  • [B] hold for player 2 supply view
  • [TAB] to cycle through entities stacked on top of each other (units, HQs, supply sources, objectives)
  • [CTRL+S] save
  • [CTRL+Q] quit
  • [CTRL+V] copy from clipboard (you cannot copy to clipboard in game, but you can paste plain text from outside the game. This comes in useful when naming many units or for special characters)
15. TIPS, TRICKS AND QUIRKS


Chapter contents:
  • 15.1 Expanding playable area beyond available map
  • 15.2 Setting camera start localtion
  • 15.3 Defining HQ x's (corps, army, army group)
  • 15.4 Overriding difficulty setting altering turn limits and scenario length
  • 15.5 Forcing a scenario to continue after all objectives are taken

15.1 Expanding playable area beyond available map


If you want the playable area to expand beyond the available map borders:

  • enlarge the playable area as much as possible in the direction of unavailable map you want to utilize
  • save [CTRL+S] and quit [CTRL+Q]
  • load up scenario again

The available map area has now been increased and you can expand the playable area further.

15.2 Setting camera start localtion


Go to the location of the map where you would like the camera to be when the scenario starts. Then click Set start camera position. Note that you cannot set camera zoom level or rotation.



15.3 Defining HQ x's (corps, army, army group)


Go to:
Users\username\AppData\Local\.uoc2\_packages\kursk_test_2\data\scenarios\kursk_test_2.usc
Open up the hq.yml and find the following line:
number_of_xs: 4
You can change this value to 3 (Corps) or 5 (Army Group)

15.4 Overriding difficulty setting altering turn limits and scenario length



Go to:
Users/username/AppData/Local/.uoc2/_packages/kursk_test_2/data/scenarios/kursk_test_2.usc/scenarios/kursk_test_2
Open up the main.yml and find the following line:
flags: []
Change the line to:
flags: [no_length_modification]

15.5 Forcing scenario to continue after all objectives are taken


Go to:
Users/username/AppData/Local/.uoc2/_packages/kursk_test_2/data/scenarios/kursk_test_2.usc/scenarios/kursk_test_2
Open up the main.yml and find the following line:
flags: []
Change the line to:
flags: [no_early_ending]

Note that 15.4 and 15.5 can be combined by entering:
flags: [no_early_ending, no_length_modification]
7 Comments
Bounty >~< 23 Mar, 2024 @ 4:37am 
when I set the playable area it says repeated playable are positions, how can I fix this
Daniel_efc  [author] 16 Feb, 2023 @ 6:36am 
@Matt

* you can delete your scenarios in the wip folder.

* you can rename a scenario in the editor (press enter)

* you can't rename the scenario's file folder

Cheers :)
MT_Richardson 10 Feb, 2023 @ 2:04pm 
Where can I go to delete or rename scenarios I've created? I've ended up with a bunch of false starts and duplicate names. Tomislav mentioned on Facebook that I can find it in my saved games, but I can't find those.
Democracy Enjoyer (#FixTF2) 21 Jan, 2023 @ 7:31pm 
I cant agree more, i was so lost on what to do and this has worked perfectly. Thanks so much
EgoVermin 20 Jan, 2023 @ 2:10pm 
Holy cow those hint explanation sections are fantastic, its great to have a proper guide after all this time! Brilliant!
I myself am working on another guide as well, a fair bit more serious than my last, hopefully I'll find the time to finish it before the end of the month...
Daniel_efc  [author] 13 Jan, 2023 @ 8:45am 
Thanks @EgoVermin!

And yea... better late than never right? ;) (I started this guide 3 years ago. Just never had the time to finish it.)
---------------
Most of the AI section has just been added. The guide will probably be completed on Monday or during the weekend.

Cheers!
EgoVermin 12 Jan, 2023 @ 3:31pm 
It's fantastic to see you guys make an official scenario guide, even if I've already figured out a lot of it through sheer trial and error! XD The list of cities with their exact coordinates is a fantastic resource, thank you!