2013-07-15 Web UI changes, Planning in Games workshop slides Zoom

This update introduces a small change to the web UI. The "Continue" button which allows you to advance to the next screen when editing a mission has been moved from the bottom of the screen to a tab on the side. For tall screens, two new "Continue" tabs are shown, reducing the amount of mouse movement required.

Old 'continue' button placement

New 'continue' button placement

Title slide from Planning in Games 2013 workshop, Rome

My slides from the 'Planning in Games' workshop invited talk are available here and discuss PlannedAssault's design. The workshop was part of the 2013 International Conference on Automated Planning Systems (ICAPS), took place in Rome, Italy, and was great fun.

Prior failures and rejected ideas slide

Dealing with combinatorics in attack planning slide

Planner performance slice: handling larger number of units nicely




2013-04-15 Getting better at generating missions, CWR2 beta units and Project 82 Pucara units Zoom

"Cannot find maneuver space to execute a coordinated attack...". If PlannedAssault fails to generate a mission, it most frequently is for this "lack of maneuver space" reason. In case of eight 4-tank platoons being asked to attack through a single valley in Takistan, it's hard to blame the mission planner. However, in some other cases, the planner wasn't seeing all the options available.

Form-up position candidates for unit Hotel

Checking form-up positions for crossing routes

CWR2's M2A2 Bradley in combat (Arma2)

I've just updated the planner behind PlannedAssault with a new set of algorithms to identify and select the most promising form-up positions and avenues of attack. The new approach takes into account more candidate form-up positions which also have higher quality. It balances multiple prongs in a joint attack better. This improvement applies to all supported games and simulators, from Arma1 to Arma3, Iron Front and any VBS.

And, most important, it is better at finding maneuver space. It is successful more often based on off-line runs against 100s of your missions.


In the first two images above, you'll get a glimpse of the new approach. The image on the left shows potential form-up positions for combat unit Hotel and its transport (not shown), along with course avenues-of-approach to the objective. The image in the center illustrates a sanity check performed when picking form-up positions for multiple units; when a combination of form-up positions leads to units crossing each other towards the form-up, this combination is rejected.

Column of CWR2's new T-64s and BRMD-2s (Arma2)

A CWR2 OH-58/AH-64 hunter killer team (Arma2)

CWR2 SAS engaging P82 Pucara with Stinger (Arma2)

This update also brings a few new (Cold War era) units to the unit database. Ready for inclusion in your mission are new additions to the Cold War Rearmed 2 (CWR2) add-on: the M2A2 Bradley IFV, the OH-58 Kiowa scout helicopter, and Warsaw Pact T-64 tanks and the BRDM-2 family of recon/HQ vehicles.


Also new is the Argentine FMA IA-58A Pucara by Foxtrot, which combines nicely with the CWR2 UK forces.





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-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 !