Devblog: AI-controlled tanks

An AI-controlled tank is pretty much like a normal player tank, with some basic differences:

  • AI tanks have a fixed crew level of 1 for all crew members
  • AI tanks are not totally bound to the game physics
  • AI tanks have unlimited ammo and always use the default ammo type

The most notable thing here are the changed physics for AI tanks. Unlike players, AI tanks will completely ignore incoming collisions for performance reasons. However, they still will avoid collisions with other tanks and map objects on their path, so they won’t ram you or other AI tanks away.


npcfight.jpg


Speaking of their path, let’s go a bit into detail about their pathfinding system. In general, AI tanks can calculate a path from any point to any other point of the map, giving them full flexibility and a huge load of options. The AI has full access to the map, so it can see any map object or other terrain collisions like water. Because of this, it can calculate a path to a specific position even through smaller passages or corridors, all in realtime and from anywhere on the map.


To define the target position, the AI uses a simple priority system. Every map has multiple points of interest by default. AI tanks will try to reach them and start fighting there. To be more specific: the AI will try to take control of a small pass or of another important position at the beginning of the battle. If no enemies show up there, it will either drive straight to the capture zone, or it will start hunting down any leftover tanks from the enemy team.


The priority queue can be paused if there are enemy tanks nearby. The AI will go into battle mode then and ignore other objectives to start fighting instead. The combat system is really simple: try to attack the enemy (from the side or back if possible), angle the own hull towards the enemy, drive around him if the own speed is higher and change the own position if the enemy is too hard to hit or impossible to penetrate.

The AI can get out of combat mode again if the enemy is escaping and faster than the own tank, the capture zone is getting into a critical state or if the enemy has been destroyed.


Of course not every aspect of this is good (or even perfect) yet. But keep in mind that this is the first version of this feature and that it will be improved with future updates, just like the rest of the game.


Also note that the shown changes are not final yet. They may still get reworked or completely abandoned at any time without further notice.

The Devblog series is here to inform you about the latest development plans for the game.