Daniele -> Armored Brigade Dev Diary #1 - Artificial Intelligence (7/16/2018 1:42:04 PM)
By Veitikka Studios
The Armored Brigade artificial intelligence (AI) is fully dynamic, which means that it can handle any scenario within the game parameters, without a need for any scripting from the scenario designer.
This approach has been the basic foundation of the game. I've always found the procedurally generated game content fascinating, and that can be seen in the design philosophy of Armored Brigade.
In Armored Brigade, there's an undefined number of maps, units, environmental conditions, and so on.
The system must build a readable representation, process the input and then produce output that creates a credible impression of intelligence that behaves in a realistic, unpredictable and challenging manner. That's quite a challenge indeed. A "chess AI", where you have a finite number of possible states, is out of the question.
Even if warfare of this era can be considered symmetric, the highly lethal long range weapon systems and the great variety of units in the game can make the battles very erratic.
The general rule is "if you can see it, you can kill it". There are no "front lines", and in the game it's common that a unit can hit another unit from the other side of the map.
In Armored Brigade, there are three mission types: advance, defend and meeting engagement.
From the AI perspective, the advance and meeting engagement missions share the same basic characteristics, as the AI is trying to occupy objective locations it doesn't own in the beginning of the scenario.
In a meeting engagement the player has the same goal, and both sides are maneuvering their formations, whereas when one side is defending the situation is usually more static. To make the battles less predictable, Armored Brigade features "dummy objectives", that can appear in different locations for both sides. There's never a guarantee that the opposing side will be heading to that exact spot on the map.
This way the player is less tempted to stack his units on a single objective, and the AI plan becomes more a mystery.
Obviously, computer software doesn't "see" or process information like we humans do. What we still have is 0 and 1 binaries. Armored Brigade uses a common technique called "influence mapping" to help the AI to construct a representation of the situation. The basic idea is quite close to image processing, and is easy to mimic in image editors. For example, we may have a game map and we want to know which areas are dangerous. We know locations of a few enemy units, and consider them to be dangerous, so we want to keep distance to them. If it was an image, we could mark the area around each enemy with the red color. When we combine the dangerous areas in a 2D grid we get an easy-to-read input data for the AI to use. If in one location we have several enemies and their zones of influence overlap, we can see that this area is especially dangerous and should be avoided.
The pathfinding algorithm can find the safest route around them, because we know (or think we know) which areas are perfectly safe, which ones are somewhat dangerous and which ones are the most dangerous areas. This is just a simple example, but this method allows us to combine a large amount of varied data. In Armored Brigade, if we want the AI to find a valley with closed terrain, e.g. forest, then we read the terrain elevation data and combine it with the terrain cover and concealment data.
We can identify high trafficability zones, open or closed terrain, forward or reverse slopes etc. The AI finds the best approaches to the objectives and the spots where it can ambush the player. When the AI is advancing, it organizes most of its units into "main efforts". They are sort of task forces that consist of different types of platoons, companies and sections. For example, such a group could have a mechanized infantry platoon, tank platoon, HQ, anti-air section and mortar section. The AI tries to distribute its assets evenly between the groups. One important element is the scenario "force type" setting. The available options are 'armored', 'mechanized' and 'infantry'. These function as behavior templates for the AI.
If the force type is 'infantry' then infantry units usually lead and tanks follow, supporting the advance. The infantry advances dismounted, even if they have transports available. This is very important for the scenario designer to consider. The infantry force favors closed and covered terrain. The other force types, 'armored' and 'mechanized', favor open terrain. Low elevation is generally considered good when advancing towards the objectives, even if it's common for water obstacles to be located in depressions. The main efforts advance in an organized and synchronized manner. When they meet bottlenecks, such as water and bridges, the AI knows to change the formation shape so it's easier to pass them.
Most of the assets that are not included in the main efforts are assigned to "supporting efforts". They operate in a more autonomous way and flank or distract the player. They may be able to draw the player's attention from where the main efforts are coming. After capturing an objective, the AI may assign a formation to guard it against counterattacks. All units don't move even when the AI is advancing; for example the static anti-air and mortar units. This must be considered so that they're not easily detected by the player. Such units may be placed to a distance from the player, behind hills or hidden in covered terrain.
When defending, the AI conducts defence in depth. Terrain elevation plays an important role. The AI uses influence mapping to determine forward slopes and reverse slopes. Reverse slope defence is a common and very effective tactic, because when you cross a hill you may be spotted from far away, and if you try to go around the hill then you expose your weaker side armor. The AI recognizes closed terrain and open terrain and estimates which spots suit the different units best. It can be the best to place anti-tank units in closed terrain. The AI can conduct ambushes by letting the player come close and then opening fire simultaneously with all units in the formation. Recon, tank, anti-air and other units can benefit from having plenty of open space around them. When the player captures an objective, the AI may counterattack.
The AI can use mechanized recon units to scout the player rear areas. Even when defending, the AI conducts counter-recon to harass the player's recon units and forward detachments, and to locate hidden units as targets for artillery and close air support aircraft. The AI synchronizes artillery smoke with the main efforts. In addition to using vehicle smoke generators to cover the advance, the artillery is used to create smoke screens. At night the AI uses illumination flares, and can concentrate them where muzzle flashes are detected. The flashes are easy to detect in low light conditions and can be seen from long distances. In some cases the AI can try to disturb obstacle breaching with artillery strikes and even to close the breach with artillery mines.
There's a 'developer mode' available for the scenario designers who want to test how the dynamic AI behaves. When the mode is enabled the designer can see all the AI units and main effort paths. An Armored Brigade scenario never plays the same twice, and this may be a challenge for the designer.