AI (Artificial Intelligence) Engine


As a part of Virtual World Engine, AI Engine has been developed. This engine lets all units make their movements and actions to complete their mission tasks.

Here you can see in 3D attack of mechanized infantry as part of Command & Control simulator. This formation is led by Artificial Intelligence that is part of our Synthetic Environments solutions

Here you can see AI logic that is used for infantry behavior modelling. Infantry try to reach the mission task: attack. So, they move by bounds, and laying down after few steps, to be less targattable for enemy units. They try to optimize the ammunition as it is limited and shoot only when target is in shooting range and can be damaged by current weapon and ammunition type. When there is a hill slope, soldier don’t lay down in the grass, but sitting on his knee.

Mission tasks can be set either in mission editor or in real-time mode by a trainee (in case of Command & Control simulator) or training instructor.

Here you can see modelling of flight of airplane and helicopter due to their mission tasks and flight dynamics that is calculated due to mission points

Some examples of mission tasks:

  • Make march to a position for infantry
  • Attack a position for artillery
  • Attack by zone for mechanized infantry platoon
  • Visit a necessary point set for an airplane

In each timeframe necessary actions or movement positions are calculated for each simulated unit depending on their tasks or environment situations. After calculations an action or movement is modelled.

Main features of AI technology:

  • On each simulation step AI takes decision concerning the movement or action that should be made at the current step
  • Complex behaviour patterns are taken into account (like march of different combat arm formations from point A to point B with boarding of infantry into vehicles and overrunning a position)
  • Fire behavior modelling of each unit  depending on a  set of parameters, including line-of-sights checks to enemy units and types of weapons/ammunition and enemy units
  • Path finding for unit movements. Plenty of parameters are taken into account: trafficability, bypassing obstacles, shortest distance to target, march rules etc
  • Damage calculations. All bullets and shells are flown by their ballistics, calculation of which depends on lots of properties of weapon and ammunition. Damage depends on collision detection for a bullet or distance to target to shell.  Depending on the damage type calculation, elimination or immobilization of a unit can take place.
  • Entrenching of units. If units are entrenched, their damaging calculations are operated as for entrenched units.

Here you can see visualization of formation fight. Blue forces has the orders to attack, red forces – to defense. You can see giving real time orders for blue forces to attack with moving into position and you can see an order for red forces to march to new positions.
Under the map there is virtual world where each unit is modelled simultaneously and it acts due to mission tasks led by artificial intelligence.

Complex patterns

Complex patterns exist in AI engine.For example, march by mechanized infantry platoon. On march its vehicle (for example, infantry fighting vehicle) is calculated for each unit and then it moves to this machine and loads into it. After all units have been loaded into machines, the machines move in a certain order to  create march formations, and then move further holding this march formation. After a platoon arrives to a necessary position, infantry loads out from the vehicles and all machines and infantry move to their fight position that is calculated for each unit of the formation

Aircraft AI

Here you can see modelling of flight of airplane and helicopter due to their mission tasks and flight dynamics that is calculated due to mission points

As aircrafts have their own flight dynamics, it should be taken into account for a realistic movement. For completing aircrafts missions AI calculates trajectories of flight depending on aerodynamics and with terrain following.

For example, when the key mission points for a pursuit plane are defined in mission editor, the simulated pursuit plane will fly through these points and all complex flight trajectories of turnoffs with all necessary radiuses that depending on the parameters of the plane will be calculated by AI in three dimensional space. A wingman can also be virtually modelled to follow man-in-the-loop simulator.

Line-of-sight (LOS) checks

During a simulation process there are cases when visibility (or line-of-sight) checking is necessary. Can aunit see another unit with taking into account the relief and land type? Forest and building heights same to the heights of both units are taken into account  too. So, if with current relief and land types a current unit can see another unit, firing decision can be made, for example.
As visibility check is a popular operation for AI, this algorithm has very high performance. Visibility checks for tens of thousands of units are possible due to using GPU (graphical processor on video card) instead of CPU for physics processing. This is possible due to nVidia PhysX technology that we have used for physical calculations.

Trafficability check

Not all the machines can traffic through any land type. Some of the machines cannot pass through a bog, some of them can pass through a forest but with some types of trees, etc. AI takes into account land types and machine parameters for taking decision if some machine or soldier can pass through the current area or not.

Different types of machines can also go through different angles of relief. Depending on the machine parameters as defined in parameters editor AI can make decision if the current unit can pass through the current area or not.

Path finding

When AI resolves mission tasks for movement of a unit it solves the task about finding the path for movement without manual path finding.Lots of nuances are taken into account to find the best path: trafficability, bypassing of obstacles, shortest distance to a target, march rules etc.

Fire behaviour AI

Complex calculations of AI also exist for firing behaviour. For example, when on some timeframe a unit can see some enemy units by line-of-sight check, it chooses to fire or not to fire, and chooses the best target depending of its weapon type, enemy type, amount of its ammunition etc. Lots of rules are taken into account. For example, a soldier can not fire in an attack as he has to hold 1 ammunition box for submachine gun for extra situations etc.

Fire damage calculations

Ballistics of each bullet or shell is calculated by physics rules with taking into account the parameters of the bullet or shell in weapon and ammunition characteristics editor (part of characteristic editor) and environment conditions (wind, for example). PhysX engine controls if collisions have happened. In this case damage is processed. Depending on the place of damage a unit could be destroyed / immobilized (for machines) or killed / immobilized (for soldiers).

For splinter ammunition (like shell or grenades) damage is calculated if there was visibility between the exploding place and the unit. In this case damage is a probability function from the distance.
For all types of ammunition an armour type is included in calculations. So, the maximum reliability of damage calculations is reached, and a soldier with a gun cannot explode a tank, for example.