Bots and Quick Commands




In Update 1.9.4 we have added a system for issuing quick commands to bots. You can now request air support and cover. Let’s discuss how this mechanic works.

Every target in the bot’s vision range has a threat value. It depends on a whole set of parameters that define how dangerous it is to the allied team.

When a player presses a quick command key, the target’s threat ratio is changed depending on the type of command, and thus the bots’ behavior towards it changes. It’s important to note that a bot won’t change its target to the one set by a player unless the new target has a threat ratio more than 30% higher than its current target. So, when a bot is already engaged in a dogfight or evading enemy fire, it will not react to the command immediately.

“Coordinated Attack on Target” command

When a player selects an enemy aircraft as a target and presses “Coordinated attack on target” (F2 by default), the target’s threat ratio is significantly raised. The server then checks if the target has been chosen by at least one bot and, if so the bot closest to it sends a confirmation message to the player’s chat. In the case that all the bots are engaged in combat at the moment and the increased threat ratio is still insufficient for them to switch targets, the player receives an “order declined” message instead.

“Engaging Target” command

Selecting an enemy aircraft and pressing “Engaging target” command key (F3 or T by default) will reduce the target’s threat ratio to a minimum. This works only if the target is inside a circle with a radius of 150% of the shooting range of a most far-reaching armament on the player’s warplane. So you cannot use this command to choose and reserve a target for yourself straight from the moment of the first enemy detection in a battle, the bots will ignore the command until you get into an approach and attack range. Keep in mind that the command also only works for aerial targets.

“Engaging Target” lasts until:

  • The player selects another enemy aircraft and presses “Engaging Target” again;
  • 11 seconds pass and the target hasn’t been destroyed. So if you are in a prolonged dogfight with an enemy but still want to score the kill yourself, repeat the command. In general we’d recommend that you use it only at the very moment when you are ready to deliver a killing blow. If the kill is delayed you can cause a situation when the bots leave the target and start flying towards another one, then the threat ratio reverts to normal and they might choose to come back, thus losing time and tactical advantage.

Only the closest bot to the player will send a confirmation in chat, but in fact, all of the bots will ignore the player’s target. We are just avoiding spam by having one bot speak for them all.

Keep in mind that the “Engaging Target” command will not work if there is only one enemy left, in this case, the bots are unable to pick another target instead. We are working on tuning the mechanic so that finishing off the last enemy won’t turn into a race against the bots.

“Cover Me” and “Clear my Tail!” commands

At the moment “Cover me” (F4) and “Clear my tail!” (F7) commands are essentially the same and work as a request for urgent assistance for when you are under attack by an enemy. We deliberately removed a possibility to ‘assign’ a bot to yourself as an ad hoc formation, so that attack aircraft pilots who often fly away from the main team force would not drag the bots away from teammates and weaken the team. These commands are not for backup in attack (use “Coordinated Attack on Target”), but to request assistance in dire situations.

These two commands work somewhat differently than others. When the server receives them, it assesses whether the player’s aircraft is in real danger. It uses two approaches for that.

First approach is based on a threat system. It assembles a list of enemy aircraft that might be considered dangerous to the player. It includes all the enemies that are aiming at the player’s aircraft from the rear hemisphere at a distance up to 150% of their maximum shooting range and thus pose an immediate threat. The targets are removed from the list 5 seconds after they stop aiming at the player.

The second approach considers all enemy aircraft a threat to the player if they are in his rear hemisphere at a distance of a maneuver fight. This distance is calculated for every aircraft individually based on its maximum speed and maneuverability.

Additionally the system considers whether an enemy has already attacked the player’s aircraft or not. If they did — their threat ratio is further increased and they become higher priority to the bots.

Once the command is issued, the bots analyze the disposition based on the first approach and choose enemies that are aiming at the player, prioritizing those that have already shot at him. If there are no such targets on the list, the second system kicks in and the bots check the player’s rear hemisphere and pick a target that is either engaged in a turn fight with the player or which might quickly turn around and attack him.

Keep in mind that if all the bots are busy dealing with their own targets at the moment the command is issued they will most probably ignore it until they are free. If the threat assessment system finds several targets that pose danger to the player then each of them can be assigned to different bots that are currently free.

In conclusion, we’d like to emphasize that the current quick command system is not aimed at strategic battle control (assigning bot wingmen for escort, focusing attack on a single front etc.), but for solving immediate situations that emerge during battles. Our aim is to make the bots behave like players as much as possible. We are continually working to expand this mechanic, and over time, the bots will become smarter and smarter.