2013-02-14 Better defense: spread out more, concealed better, and covering the avenues of approach (Arma2OA/CO, IronFront) Zoom

The past couple of weeks have been spent improving the AI's defense in PlannedAssault's missions, and now the results are hard to spot!


As the first screen shot makes clear (can you spot the two concealed and spread out M1036 TOW HMMWVs?), attacking a position becomes a lot more interesting when it is properly defended. With PlannedAssault-generated missions now offering stronger defense for Arma2OA/CO and Iron Front missions, I'd like to explain the changes.

Two TOW vehicles spread out amidst trees and buildings (Arma2)

Planner input: the position to defend

Planner analysis: likely threat avenues of approach

The improvements in defense mainly come from a combination of terrain and threat analysis (as performed during mission planning, by PlannedAssault) and better position selection (as performed by a new script during as part of the mission itself), as follows:

  1. In the mission planner, the position to defend, and the likely position of hostile forces are analyzed.
  2. In the mission planner, the defensive position is partitioned in 'pizza slice' sectors. Potential threat avenues of approaches are generated, and analyzed for traversing a defensive sector's front or area.
  3. Finally, the mission planner selects the key sectors to defend based on expected threat movement. The defending forces are assigned to those sectors in a way that best matches the expected threat type for the sector. Sectors likely to be used by hostile (armored) vehicles are preferably defended by tanks or units with an 'heavy AT' capability. Sectors likely to be used by hostile infantry are preferably defended by IFVs and infantry.

Planner analysis: chosen sectors and allocated forces

Generated mission: sectors and threat avenue of approach

In game: candidate vehicle positions in Keiler's sector

  1. During the generated mission, the defenders each are ordered to move into their sectors. For each sector, the mission planner has included in the mission a list of positions representing the likely threat avenues of approach (see the black dots in image #4). Once the defending unit arrives in his sector, he will use this list of positions to pick the most suited defensive positions.
  2. As soon as the defending unit arrives in sector, a newly developed script is triggered. This script first generates number of candidate positions inside the sector that are suited to hosting the unit's vehicles/men: empty positions for vehicles near houses/trees, and bush / forest edge positions for infantry.
  3. This script then tests each of the candidate position for having lines-of-fire onto the threat avenue of approach positions, and for being placed central and deep in the sector. The most suited candidate position then is selected, neighboring positions are culled, and the next best position is selected for the next vehicle. Rinse and repeat. This yields nicely spread out positions in the sector.

In game: chosen vehicle positions from the candidates: spread out...

In game: the result, one of the Keiler group vehicles positioned

In game: the result (continued): another vehicle from Keiler's group

  1. This script finally sends each vehicle to its individual battle position and orders it to orient itself towards the threat avenue of approach. Image #7 shows the result: a hard to spot Bundeswehr Jaguar tank destroyer positioned near and in front of houses. He has a good view at the road where hostile forces are expected, while at these hostile forces will have troubles spotting him. (The pink floating ghost HMMWV is a debugging marker I use to be able to easily spot assigned vehicle positions - you won't see it in generated missions).
  2. Image #8 shows a second vehicle from the same Jaguar tank destroyer platoon being positioned 50m east wards, covering the second incoming road in the platoon's sector. (Again, the pink floating HMMWV is a debugging marker to facilitate spotting the Jaguar, and isn't shown in generated missions).

AAVP platoon spreading out to cover two access roads (A2CO)

Better positioned defenders: the attacker's perspective... (A2CO)

Dangerous crossing: road sections covered by Milan gunner (A2CO)

Once positioned, a defending group will remain in position until (a) triggered to fall back to a 'GUARDED_BY' trigger position or (b) engaged by an enemy. It retains its traditional dynamic (GUARD) defensive behavior.

With these changes, defenders will occupy better positions offering more visibility and lines-of-fire into potential threat avenue of approaches, while occupying less conspicuous positions and spreading out vehicles better. Also, static vehicles with anti-tank capabilities will keep their crew fighting for longer after being hit.


Please remember, this is still Arma2's AI, which means some things cannot be controlled from my new defensive positioning script. In particular, armored vehicles cannot be told to face a specific direction with their hull and turret, and they risk being recalled into 'formation' if the group's lead vehicle is late moving into position...


However, the script is effective most of the time, an improvement over the vanilla defensive behavior, and a gap filler until the time Arma's AI receives an understanding of battle positions like Steel Beasts does.


Key ingredients in the defensive positioning script are the selectBestPlaces, findEmptyPosition, lineIntersects and terrainIntersect(ASL) commands. They are the reason this improvement is implemented for Arma2:OA, Arma2:CO and IronFront but not for Arma, JCOVE, and VBS2 1.x.

I should be able to make this work for VBS2 2.0 as soon as BI Simulations releases the VBS2 2.0 upgrade for my PE license.



2013-02-13 More Cold War and Afghan War Units for your Missions Zoom

With this update, PlannedAssault expands its support for generating Cold War era missions. The Arma2CO unit database received significant additions for you to use in your missions:

  • new US Army Chinook CH-47D and FIA freedom fighters from the Cold War Rearmed 2 project (CWR2). Pachira defined the FIA squads, sections, and platoons.
  • a huge range of Soviet infantry and armor for the European and Afghanistan theaters from Vilas' P85 Soviet pack, including 'Panamka' units for the Soviet Afghan wars and large caliber self-propelled guns (2S3 Gvozik 122mm, 2S5 Akatsiya 152mm, and 2S7 Pion 203mm).
  • artic variants of UK SAS and Royal Marines soldiers as wells as new sniper units of the CWR2: British Armed Forces Expansion
  • the Sukhoi Su-15TM 'Flagon' intercepter aircraft by Citizensnip

Troubles are brewing in Schwemlitz (Arma2)

Cold War Sukhoi Su-15 Flagon over Schwemlitz (Arma2)

Schwemlitz being invaded (Arma2)

Soviet infantry with PK and 6B2 vests (Vilas' P85) (Arma2)

Two CWR2 Chinook CH-47Ds inserting cold-war infantry (Arma2)

CWR2 US Army infantry and armor attacking Schwemlitz (Arma2)

What better map for Cold War era missions than the actual terrain where NATO prepared to fight Warsaw Pact forces? Falcon & Lancer have recreated real-life's Schwemlitz and its surroundings. Schwemlitz is small village in Northwestern Germany, in the former NATO NORTHAG sector, between the form inner-German border and Uelzen (along the WL-191 road).

The Schwemlitz world stands out because of its details, and of its realistic recreation of small hamlets and farms, with houses and sheds placed and connected together with garden paths and drive ways. See the screen shots on this page.

Three 2S7 Pion self-propelled 203mm guns firing a mission (Arma2)

P85 Soviet artillery crew in Afghanistan (Arma2)

Soviet infantry with 'Panamka' hats being inserted in Takistan (Arma2)

Several hooded Cold War Spetsnaz soldiers from Vilas' P85 (Arma2)

Soviet AT-4 Spigot anti-tank missile launcher (Arma2)

CWR2's UK Royal Marines in artic outfit (Arma2)


2013-01-05 Planning in and for 2013 Zoom

Happy New Year! What better way to start the year than by "planning". With "planning" both referring to my plans for 2013 and "automated planning".

Planning in Games Workshop, June 2013 in Rome

For me, PlannedAssault is more than a mission generator (even though I use it a lot myself just to create missions). PlannedAssault started out and still is my test-bed for (automated) planning techniques for problems typical in combat games and simulations. Today, few game use planning techniques, and those that do (F.E.A.R., for example) often use automated planning for single characters and relatively short-term objectives.

However, over 15,000 missions (thus over 30,000 battle plans) generated here by PlannedAssault indicate that automated planning also is suited to (game) content generation and more complex problems.


To promote and discuss planning techniques for games, I'll be participating in the 3rd International 'Planning in Games' workshop, June 11, in Rome, Italy. The workshop is part of the 23rd International Conference on Automated Planning and Scheduling, the conference for academics and other specialists to discuss advances in automated planning.

So, if you're working on planning yourself and want to explore the needs and opportunities of planning in games, or if you're working on games and are considering planning techniques, this is the workshop to participate in! Submit a proposal / position paper for the workshop before March 23, 2013.

One of my illustrations for the AI Wisdom book

'Collected Wisdom of Game AI Professionals' book cover

Another of my illustrations for the AI Wisdom book

Some further promotion and sharing of ideas on planning is done in my (long) chapter in the book game AI book 'Collected Wisdom of Game AI Professionals', edited by Steve Rabin. The book is scheduled to appear in May 2013.


p.s. Jomni, at his blog, wrote a nice and clear post on how easy it was for him to create an Iron Front mission using PlannedAssault. Have a look !

2012-12-23 Iron Front: honorable mentions in mission making competition, 1.05 patch, D-Day DLC, improvements Zoom

Hurrah! I participated in the December 2012 "Iron Front Mission Maker Competition 2012" with a PlannedAssault generated mission with surprising results. I received honorable mentions, a free D-Day DLC for Iron Front, and the opportunity to include the mission in the next Iron Front patch. Not bad for a computer generated mission, is it? And congrulations to the three winners!

Here at PlannedAssault you now have the same means available as I used to create and submit my entry. The mission I submitted was unedited, straight from PlannedAssault. I've now been asked to edit it slightly to support translations (to German and Russian), and to replace Waffen-SS by Stormtroopers.

Waffen-SS infantry mounting Tigers (IF44)

Soviet Lend-lease M4A2 Sherman destroyed near Gagolin bridge (IF44)

StuG-IIIs carrying infantry (IF44)

This week, I've updated PlannedAssault's support for Iron Front with the following. First, the Tiger Ausf.E tank and the StuG-III capability to transport infantry have been added (as introduced in Iron Front's patch 1.05). Second, I've added the Baranow Gagolin area centered around the ponton bridge across the Wisla river. Although crossing bridges isn't one of the Arma2 AI's strenghts, AI units are able to cross the pontoon bridge, albeit slowly and with some losses.

Third, I've added support for SofD's improved explosion effects, one of the few available add-ons for Iron Front. You can select it from the optional add-ons when creating a mission.

Fourth, since all of Iron Front's Wehrmacht tanks were designed with destructible body parts (notably the skirts and fenders, additional armor plating on the turret, and spare track links on the hull), I've added a script that makes those tanks drop a couple of parts at the mission's start, to reflect wear and tear from transport and combat, and scarcity of spare parts.

US Ranger squad advancing from the beach (IF44)

A P-47D Thunderbolt over Normandy's coast (IF44)

US tanks and infantry advancing (IF44)

Furthermore, I've added support for the new units and terrain from the D-Day DLC for Iron Front. The DLC offers US units, two additional Lend-lease vehicles for the Red Army (the M3 White halftrack and the M4A2 Sherman) and almost all of Omaha beach (beaches Dog White through Fox Red and the corresponding in-land area).

For the US Army I've added all units to the PlannedAssault unit database. I've also defined Ranger squads (see screen shot) with the 2nd Ranger Battailon orange diamond markings on the back of the helmets and blue emblems on the upper left arm. The game solely features the diamond with vertical 'officer' stripe, and lacks the NCO and private variants, so all units currently have the 'officer' stripe behind the ranger marking.

For mission generation, solely the in-land terrain is available. This is because PlannedAssault today doesn't support amphibious landings, and the Iron Front / Arma2 AI vehicles struggle to navigate the beach's obstacles.

Mark IV and Tiger E tanks showing wear (IF44)

The ponton bridge near Gagolin (IF44)

Tiger Ausf.E engaging distant threats (IF44)

Finally, I've fixed a number of bugs that arose from planning missions for Iron Front. Unique to Iron Front is that virtually every tank is also able to transport infantry, which generates way more options for the planner to consider. In some cases, the planner hit its limit (1600 steps) and aborted without an explanation. This is now fixed, both with an explicit message and smarter pruning of bad transporter & cargo combinations.

Another bug caused mission planning to fail when static weapons (such as anti-tank guns) were being placed close to the objective to defend. This has also been fixed.