- Sep 6, 2015
Custom Race Creation: Advanced Mechanics
Making video games is like a science. Everything needs to be planned and well thought-out in order for the game to be fun and challenging, and the mechanics behind a seemingly simple game can actually be very complex and thouroughly thought-out.
This tutorial will deal with the advanced mechanics of custom race creation. It will try to cover everything that has not been covered in other custom race creation tutorials, as well as some additional things. In other words, it will deal with those mechanics that give flavour and strategic complexity to a custom race, so it feels like one of the four base races.
It's time to get racist.
Table of contents:
- The list of useful links
- Main principles of custom race creation
- Unit customisation
- The importance of these mechanics
- Unit examination
- AI - common issues
First of all, the list of useful links:
Custom race design tutorials:
Race creators - Guidliness for making a custom Race
How to: Create a Full-working Custom Race
Design Guide for a Fifth Race - Wc3C.net
AI editor tutorials:
Tutorial: The WC3 AI Editor - Wc3C.net
The AI Editor - Wc3C.net
Custom race implementation:
Creating a Difficulty Settings Dialog for your map | Warcraft III World Editor Tutorials Map Making Help Blog (can be used for choosing a race too)
How to: Create a Full-working Custom Race
Custom Race System - Wc3C.net
Blizz-Like Melee Settings For Extra Races 2.5
Other useful tutorials/posts:
Unit classifications and target types
Abilities - Guide
Base abilities for custom spells cast by melee-game AI units
The Unit Editor Fields
List of Hidden Material Within the World Editor
Custom Pathing Maps
AI - Basics and Triggers | The Helper
How to make a Campaign AI - Wc3C.net
Official Warcraft 3 strategy guide:
Mojo StormStout's Warcraft III Strategy Guide
Testing Grounds - the map for the overview and testing of all units/buildings and their abilities:
This map contains, if not all, then almost all units, heroes and buildings present in the game, and some enemy units for combat testing. It is used for the overview and testing of the units, heroes and buildings and their abilities, and for numerous other purposes utilised by map makers, players and others. It can also be useful for giving you ideas about what units and abilities you should use in your map and off which units/abilities to base them. The map can also be found attached at the end of this post.
Main principles of custom race creation:
1. Blizzard's maxim - "Easy to learn, hard to master."
When creating a custom race you shouldn't make overly complex abilities, units, buildings, etc, but you should go with simple concepts that have depth when combined with other things and that have an element of tactical use in them. When you look at the four base races, none of their abilities have lengthy texts with thousands of effects, but all of them become complex when put into a big picture and have an element of strategy. This doesn't mean you can't create complex abilities and other things, but this is how the four base races were made and it's highly recommended.
2. "Thing" and "counter-thing"
When you look at how the melee games function, you'll see that they are full of things that counter certain other things and that they are basically based on this system. For example, you have buffs/debuffs and dispels, spellcasters and magic-immune units, buildings and siege units/abilities, flying units and anti-air abilities, invisible units and invisibility detectors, the system of armour and attack types (magic attacks counter heavy armour, fortified armour counters piercing attacks, etc.), etc. So, you see, they are full of these things and they come in many categories, which will be discussed later in this tutorial. The success of your army is partially guided by these things, and of which roles you composed it.
Guided by the rule of "thing" and "counter-thing", each unit should have its role - its purpose. What is meant by this is that it should have it's strengths, something that it's useful for, and weaknesses. For example - Dryad is good versus spellcasters, but has weak stats; Mountain Giant's role is to tank, but its weaknesses are that it can't attack air units, that it's slow and that it is the most expensive unit in the game; Priest is a healer, but it can't attack well, and is killed fast; etc. So, you see, each unit has its role in your army and its strengths and weaknesses. No unit you make should have an "good for everything" role and be without a weakness, otherwise what's the point of all the other units? Not even the most powerful units, like Chimaeras and Frost Wyrms, are without a weakness. Also, no two units should have the completely same role. Basically, all units you make should always be useful for something and have a weakness. An example of this are Footman and Knight - their roles are basically the same and Knight is generally more powerful, but Footman still has Defend and is much cheaper/faster to train.
4. Easy control
When you take a look at the four base races, you see that many of their abilities are autocast or passive. This is because, if they weren't, you would have to break your keyboard and mouse by clicking every ability each time it should be cast and targeting it. Heroes usually have one passive ability and all of their abilities aren't always targetable. On the other hand, units' abilities are usually very simple to control. The ones that should be cast constantly, that have low cooldown and little mana cost are usually auto-cast. The normal, clickable, abilities are usually abilities that don't need to be clicked much - untargetable abilities, abilities that stay active, or the abilities that have high cooldown or mana cost, and that need to be specially targeted, otherwise they would go to waste if they were auto-cast. Units also have a lot of passive abilities to ease the control, and not all of them have useable abilities. They usually don't have summon abilities (except Necromancer) and targeted single-target and aoe damage abilities, since, unlike heroes, you can summon a lot of those units and casting those abilities with a lot of them would be overpowered, and would also require a lot of clicking.
The custom race units should have as many roles, "things" which have their corresponding "counter-things", different armour and weapon types, and different types of everything as possible. No two spells should be the same or extremely similar. No two units should have the same ability or two extremely similar abilities, unless it's a racial trait or a certain state ability, like Spell Immunity and Resistant Skin. The variation and the complex strategic environment of the race are what makes it have that "flavour" and depth the four base races have. The more, the better. However, don't overdo it, and if you improvise and create something new for your race, be sure it's balanced.
6. Meaningful and reasonable techtree
The race's techtree should be carefully planned, as any imbalances in it will make your race less playable and more or less powerful than other races. How to create such a techtree can be seen in the custom race design tutorials that have been listed above, but you don't need to follow that exact pattern as long as you keep an eye out for balance. But balance isn't the only thing that should be taken into account when constructing a tecthtree. Your techtree should also grant your race a feeling of progression, freedom of choice, customisation and specialisation. So, for example, at the start of each game you would choose which progression curve to follow up to which units and specialise in them. Unit upgrades play a big part here. This freedom of choice also adds a valuable strategic aspect to your race. Another thing you should keep an eye out for are the units'/upgrades'/buildings' gold/lumber/food costs and build times. They should be set according to the units'/buildings'/upgrades' merits, or in other words, their power and usefulness, and the race's economy, or in other words, resource gathering rate and methods.
This is a very important aspect, especially if your race can be played with/versus other races. You should carefully test and calculate everything. It isn't easy to make a whole race completely balanced, but give your best. If your race isn't balanced, playing it wouldn't feel nice and right and it would feel strategically impaired.
Now that we have covered the main principles of race creation, we can move on to designing the units and their abilities. This is the Table that we will be using for that (the document will also be attached in at the end of this post):
First row - headings:
|Abilities||The various types of abilities found in the game. One ability can have more than one tag. For example, Brilliance Aura is +aura +mot (mana over time). One important thing about abilities is that by ticking "Allow negative values in the Object Editor" in the Preferences of your World Editor, you can enter negative numbers into the effects of some abilities and thus create new custom abilities. For example by entering a negative value into Brilliance Aura, you can make it drain mana instead of regenerating it, so it would change its ability type tags into +aura +dmot (decrease mana over time).|
|Armor||These are armour types. For the table about the effects of armour and attack types, look here: Warcraft III - Basics -> Armor and Weapon Types. There, you also have other explanations about them. The Divine armour type isn't mentioned there - only the Chaos attack deals full damage to it, while other attack types deal almost no damage. Melee, siege and mechanical units usually have Heavy armour, ranged Medium, spellcasters are Unarmored, while flying units usually have Light armour. Each armour type is better or worse versus the attack types. For example, the Fortified armour of buildings takes very little damage from Piercing attacks. This system is in place to encourage unit counters and unit mixing in combat. You should have varied armour and attack types in your custom race units. The armour and attack types should also fit the units' weapons/missiles and model armour somehow.|
|Attack||The attack types. Consult the link above under "Armor", for their effects and explanations. Melee units and ranged with glaives usually have Normal attack, ranged Piercing, siege Siege, and spellcasters Magic, while the only unit in the four melee races that has Chaos attack is the Infernal summoned by Dreadlord's ultimate ability. Each attack type is better or worse versus the armour types. For example, Normal attacks of melee units are powerful versus the Medium armour of ranged units. This system is in place to encourage unit counters and unit mixing in combat. You should have varied armour and attack types in your custom race units. The armour and attack types should also fit the units' weapons/missiles and model armour somehow.|
|Range||Basic types of range arranged from close to long. Pretty self-explanatory by themselves. An important thing to mention here are the formation ranks. Formation ranks control in what order your units move and stand. It is manipulated via Stats - Formation Rank in the Object Editor. Each unit has its own place in the formation, and the places range from the frontmost (0) to the backmost (4). The frontmost units should logically be normal melee units, who usually also serve as tanks, and they take the number 0 (Example: Footman). Next, there are low-range ranged units, and they take the number 1 (Example: Spell Breaker). Note that Huntress is 0, though, since it's a tank and Night Elves don't have other tank units at start. Next, there is the number 2, which is reserved for normal ranged units, spellcasters (no matter if they are melee or not) and flying units (also doesn't matter if they are melee or not)(Example: Archer). After that, we have the number 3 that is reserved for ground mechanical units (Example: Demolisher). The number 3 isn't only reserved for long-range mechanical siege units, but, for example, Siege Engine and Obsidian Statue also have that rank number. Finally, the number 4 is reserved for workers, although Owl Scout has that rank number too (Example: Peon). Note that there are some irregularities when it comes to summoned units, and that wards always have the rank number 0, since they can't move (at least not voluntarily). Heroes follow the same pattern as units - the melee ones are rank 0 and the ranged ones are rank 2.|
|Ranged||Ranged ranges (excluding siege) - a sub-class of Range. Low is, for example, Huntress, Normal is Archer without the range upgrade, and high is Archer with the range upgrade.|
|Melee||Melee ranges - a sub-class of Range. Normal is, for example, Footman, and medium is Mountain Giant with a War Club (250 range). Medium-range melee units can attack from behind the melee units and thus take less melee spots around the unit and can faster acquire their target.|
|Class||Unit classifications. Manipulated through Stats - Unit Classification in the Object Editor. For their explanations, look here: Unit classifications and target types. Those which are not explained there: Neutral - appears in the Unit Palette only if you choose Neutral Passive; Suicidal - cannot be loaded into a transport; Walkable - units can walk over it/go through it, has no collision; Tree - still unknown (cannot be targeted by tree-targeting abilities, wood cannot be extracted from it by attacking); Giant - still unknown (can be devoured, can be loaded onto a transport, units have footstep sounds even without it (only certain models have those sounds)); Workers will also flee when attacked if their Stats - Can Flee is set to True; Suicidal will also try to blow themselves up when near the enemy buildings if they have an ability based off the Kaboom! ability. Note also that Worker units usually also have a defensive purpose - Peons can go into Burrows to give them an attack and can Pillage, Wisps can Detonate, Peasants can turn into Militia, Acolytes can be Sacrificed to become Shades.|
|MovType||Movement type. Manipulated through Movement - Type in the Object Editor. Mounted units have the Horse type, the ones on foot have Foot, Lich hero has Hover (if you put Hover on a foot unit, it won't lose its footsteps), flying have Fly, floating have Float, the ones that move both on ground and in water have Amphibious (swimming animations required). Horse, Foot and Hover movement types are for the units that can move only on the ground.|
|Speed||Unit speed, pretty self-explanatory. Workers are usually Slow, Ancients are Very Slow, Grunts are Average, Raiders are Fast, the Raiders with Bloodlust on are Very Fast.|
|Role||Unit combat roles. Examples: Tank - Mountain Giant, Ranged - Archer, Anti-air - Hippogryph (these units' attacks that can target only air units usually have very high damage), Caster - Sorceress, Healer - Priest, Scout - Shade, Siege - Meat Wagon. An important thing to mention here is that Casters don't take weapon and armour upgrades, they have their own special three-tier caster upgrades, which are set up differently from other upgrades - they also require Text - Caster Upgrade Names and Tips and Art - Caster Upgrade Art to be set in the unit's properties and Stats - Class to be set to Caster in the properties of the caster upgrade in the Object Editor. The three-tier weapon and armour upgrades also need their Stats - Class to be set to either Armor, Melee, Ranged or Artillery. Other upgrades' Stats - Class should be set to None.|
|AttSpeed||Unit attack speed. Examples: Acolyte - Slow, Abomination - Average, Ghoul - Fast, Ghoul with Bloodlust - Very Fast, Acolyte with Slow - Very Slow.|
|AbilType||Ability types, pretty self-explanatory.|
|Buildings||Building types. Examples: Hall - Keep, Food - Farm, Upgrade - Blacksmith, Factory - Barracks, Tower - Guard Tower, Altar - Altar of Kings, Mine - Haunted Gold Mine. Note that Towers should be able to be used offensively too, in addition to defensively.|
|AIBuildP||AI building placement type, manipulated via Pathing - AI Placement Type. Controls how and where the AI should build buildings. Gold mine buildings should be Resource, unit-training buildings (except the ones that only train flying units, they should be None) and altars should be Factory, town halls should be Hall, towers should be General, other buildings None.|
|Target||Target types. Controls what a unit is targeted as, which targets a unit can target with its attack(s), and which targets an ability can target. These are manipulated via Combat - Targeted As, Combat - Attack # - Targets Allowed in the Object Editor of units, or Stats - Targets Allowed of abilities. They are pretty self-explanatory.|
|Weapon||Weapon types. These are manipulated via Combat - Attack # - Weapon Type. Examples: Footman has Normal, Rifleman has Instant, Mortar Team has Artillery, upgraded Glaive Thrower has Artillery (Line), Archer has Missile, upgraded Huntress has Missile (Bounce), upgraded Gryphon Rider has Missile (Line), rooted Ancient Protector has Missile (Splash). Here's what they do:|
Quoted from: The Unit Editor Fields. Note that the units with the Missile weapon types will miss 25% of their attacks if attacking the units that are on higher ground than they are.
|Attacks||The attacks the unit uses. Manipulated via Combat - Attacks Enabled in the Object Editor. It can be Attack 1 Only, Attack 2 Only, Both or None. Which attacks are enabled can be changed in-game via upgrades.|
|Death||What the unit does when it dies. Raise controls whether it can be raised, for example, via Raise Dead, or resurrected or not, Decay controls if its corpse will be there decaying after it dies. Examples: flying units and raised units Can't Raise, Do Not Decay, heroes, buildings and mechanical units Can't Raise, Do Decay, normal units Can Raise, Do Decay. There are probably no units that Can Raise, Don't Decay, since if they don't decay they can't be raised.|
|Collision||Collision size can be very important for a unit. It is manipulated via Pathing - Collision Size in the Object Editor and it should usually fit its size. Depending on the collision size, the unit may or may not be able to fit through tight spaces, and thus be able to escape the surrounding enemy troops which are trying to trap it between them, for example, or to more or less successfully block enemy troops from passing by it, or even block your own troops. Examples: Big collision size - Huntress, Small collision size - Archer. Buildings can have Small or Big collision size too, but their collision size is also affected by Pathing - Pathing Map. Pathing map is the green square you see before you place the building after you've selected it in the Build menu. Factory (that produce ground units), Altar and Hall-type buildings should have a really Big pathing map that surpasses the model size, since some space needs to be left for the units trained in them to exit the building, move freely around it and not to get stuck, and other buildings usually have Smaller pathing maps. The pathing map should also fit the actual size of the building model, otherwise the buildings could overlap and it wouldn't look good, if it is too small, and if it's too big, the base may require really much space to be built. If you want to create your own custom pathing maps, take a look at this tutorial: Custom Pathing Maps.|
|Regen||Health regeneration types. Manipulated via Stats - Hit Point Regeneration Type. It can be either None, Always, Only while on Blight, Only during the day, and Only during the night. Night Elf units, Blood Elf Archer campaign unit and Medivh have Only during the night, Undead units have Only while on Blight, while others usually have Always. Mechanical units don't regenerate health. Heroes always regenerate. Here, it can be seen that the environment can also be used on a strategic level when designing a race.|
|Sight||How far a unit/building can see under certain circumstances. Manipulated via Stats - Sight Radius (Day) and (Night). A unit can either see more at night, more at day, always the same or it can be blind (0 sight radius). Units and buildings usually have less sight radius at night than they do at day. That's why it's better to scout at day and move troops at night. However, the Ultravision upgrade and the Glyph of Ultravision power-up item grant units the same night vision as their day vision. The Moonstone item can change day into night, and its ability can also be set to change the time of day to any time. Scouting and flying units usually have higher sight radius than other units. Towers usually have much higher day sight radius than other buildings. Blind units cannot be seen by the controlling player in the fog of war. Creep huts and tents are, for example, blind units.|
Unit-related columns: Armor, Attack, Range, Ranged, Melee, Class, MovType, Speed, Role, AttSpeed, Target, Weapon, Attacks, Death, Collision, Regen, Sight
Building-related columns: Armor, Buildings, AIBuildP, Target, Death, Collision, Sight (For towers also: Attack, Range, Ranged, Melee, AttSpeed, Weapon, Attacks)
Further explanation of ability types (the Abilities column of the table):
|buff||Positive effects which benefit a unit and stay on it for a certain time.|
|debuff||Negative effects which stay on a unit for a certain time.|
|dispel||Removes buffs and/or debuffs.|
Example: Dispel Magic
|invisble||Makes units invisible.|
|detect||Detects invisible units.|
Example: Dust of Appearance
|invulner||Makes units invulnerable.|
Example: Divine Shield
|resist||Makes the unit resist certain spells, and reduces the duration of negative spells.|
Example: Resistant Skin
|immune||Makes the unit immune to all spells.|
Example: Spell Immunity
|disable||Stops the unit from performing any action for a certain amount of time.|
|aura||An ability that passively affects all units around the bearer.|
Example: Brilliance Aura
|resurrect||Brings a dead unit back to life.|
Example: Ancestral Spirit
|summon||Summons a unit to fight for you.|
Example: Summon Water Elemental
|desumm||Damages summoned units specifically.|
Example: Devour Magic
Example: Spirit Touch
|control||Takes control of the enemy unit.|
|siege||Affects specifically buildings.|
Example: Corrosive Breath
|antiair||Affects specifically air units.|
|attmod||Attack modifier - affects unit's attacks.|
Example: Envenomed Spears
|scouting||Used to scout and spy on the enemy.|
Example: Sentry Ward
|transform||Transforms the unit into some other unit or form. These abilities have a very useful strategic aspect, as they add a new role to a unit which can be used to adapt the unit to different situations, and you need to plan which of the unit forms to use, when and how.|
|shapesh||Permanent transform, a sub-class of transform.|
Example: Bear Form
|dot||Damage over time, a sub-class of damage.|
Example: Envenomed Spears
|hot||Heals over time, a sub-class of heal.|
|speed||Increases attack/movement speed, can be a sub-class of buff.|
|slow||Decreases attack/movement speed, can be a sub-class of debuff.|
|miss||Makes the unit miss some of its attacks, can be a sub-class of debuff.|
|evade||Makes the unit evade some of the attacks against it, can be a sub-class of buff.|
|teleport||Moves the unit(s) from one place to another in an instant.|
|critbash||Attmod abilities with a percentage chance to be activated. A sub-class of attmod. Critical Strike and Bash are basically the same abilities - they are based off the same ability. If you give damage multiplier to Bash, it will show red numbers just like Crit does, and if you set Stats - Duration of Crit above 0, it stuns just like Bash does.|
|aoe||An ability that affects all units in a targeted area.|
Example: Flame Strike
|mot||Manareg over time, a sub-class of manareg.|
Example: Clarity Potion
|dmot||Demana over time, a sub-class of demana.|
Example: Siphon Mana
|channel||An ability which the caster channels for a certain amount of time.|
Example: Life Drain
|armor||Increases armour, can be a sub-class of buff.|
Example: Devotion Aura
|dearmor||Reduces armour, can be a sub-class of debuff.|
Example: Faerie Fire
|attspeed||Increases attack speed, a sub-class of speed.|
|attslow||Decreases attack speed, a sub-class of slow.|
|stun||A disable that cannot be dispelled, a sub-class of disable. Achieved by adding one of the Stunned buffs to an ability and increasing its Stats - Duration to the wanted stun duration.|
Example: Hurl Boulder
|polyhex||Transforms an enemy into a critter that can move, but can't do anything else. A sub-class of disable.|
|sleep||Puts the unit to sleep. The unit can be awaken by attacking it. Setting its Data - Stun Duration will make the unit be invulnerable for a set time. The invulnerability cannot be dispelled. A sub-class of disable.|
|defend||Reduces the movement and/or attack speed in exchange for a defensive effect.|
|reflect||Reflects damage back to the attacker or deflects it.|
Example: Spiked Barricades
|call||Calls units to the building for a defensive purpose.|
Example: Battle Stations
|pillage||Steals resources by attacking buildings. How much is gained depends on the cost of the building.|
|debuild||Destroys/unsummons your own building usually for a partial resource refund.|
Example: Unsummon Building
Example: Sacrificial Skull
|deblight||Removes blight, usually when a non-undead building is built on blight.|
Example: Blight Dispel Small
|sacrifice||Sacrifices a unit for a beneficial effect.|
Example: Dark Ritual
|corpse||Any ability that has anything to do with corpses.|
Example: Exhume Corpses
|dmgred||Reduces received damage.|
Example: Hardened Skin
|magred||Reduces received magic damage.|
Example: Elune's Grace
|command||Basic commands that most units have, and certain more specific ones, like Build, Select User, Load and Unload.|
|spec||Specialised abilities which only affect certain types of units or which only work in certain situations.|
Examples: Death Coil, Shadowmeld
|misc||Miscellaneous abilities that don't fall under any other category.|
The importance of these mechanics:
These advanced mechanics are not only useful for the reasons mentioned in the seven main principles of custom race creation (see above), but also for other things.
For example, if your race doesn't have any healing method, its units become useless after being significantly damaged, and you can only kill them then to free up food to make new ones, since the passive health regeneration is negligible. Another good example would be Town Portal Scroll. If there weren't for it, players wouldn't be able to defend their base while on attack, and they would be discouraged from attacking and behave much more passively and defensively.
When the race's units are lacking some of the more important mechanics or roles, they are usually compensated for in the race's items, summoned units, transforms and/or wards.
The ability types in the table are listed roughly from the most common in the four base races, to the more specific ones, with the two lines representing more important divisions.
Ultimately, it depends on the type of your map and your own liking what you will do and won't do.
Now, when the unit/ability customisation has been covered, we can take a look at how the four base races of Warcraft 3 are structured. In these screenshots the units of each race are arranged into columns based on certain traits they share, though they don't need to be strictly limited to those traits:
Heroes and wards:
|1st column||Heroes with healing abilities. Not strictly limited only to the role of healing.|
|2nd column||Ranged damage-based heroes. Not strictly limited only to that role.|
|3rd column||Manipulative melee (except Blood Mage) damage-based heroes. Not strictly limited only to that role.|
|4th column||Tanks. Not strictly limited only to that role.|
|2nd column||Invulnerable and invisible units. Good for scouting.|
|3rd column||Casters with debuff abilities. Not strictly limited to that role.|
|4th column||Magic/attack immune/resistant units. Obsidian Destroyer and Faerie Dragon also fit here.|
|6th column||High-end melee units - good tanks. Infernal can fit here too.|
|7th column||Siege units.|
|8th column||Normal melee units. Huntress fits here because she has really low range and can tank.|
|9th column||Normal ranged units.|
|10th column||Normal flying units. Phoenix fits here too.|
|11th column||Flying casters - they mostly rely on their abilities.|
|12th column||Anti-air flying units. Excellent scouts. Dragonhawk Rider and Troll Batrider also fit here as they have anti-air abilities.|
AI - common issues:
- AI doesn't attack properly: Look at this tutorial - Tutorial: The WC3 AI Editor - Wc3C.net - under "IV. Attacking Tab" how to properly set up the AI attacking. Also make sure you have no workers in your attack groups and that "Have No Mercy" is ticked in the AI properties.
- AI makes extra buildings: If that happens with upgrading buildings, take a look at this in order to fix it: [Solved] - AI builds additional lower upgrade level buildings after they have been upgraded. The problem is that AI doesn't detect the upgraded buildings as another version of the unapgraded ones, and it builds extra unapgraded buildings, because they are in the building queue too.
- AI gets stuck somewhere along the building queue: Check if the units in the building queue don't surpass the food limit at any point, and add extra food buildings where necessary. If you have units that transform, you might want to leave some extra food space, since the AI doesn't detect transformed units as another version of the base unit, and builds extra untransformed units, because they are in the building queue still. You could also try adding the transformed unit to the Techtree - Dependency Equivalents of the untransformed unit. This hasn't been proven to work, though, and if it works, it works only for units, and not for buildings. Another thing that can cause this problem is if you didn't take into account the requirements for something to be built. If all the requirements aren't built/researched before, the AI won't be able to build/research that thing and it will not be able to progress further down the building queue. Finally, this issue can also occur when there is no space for the AI to build buildings.
- AI lags the game: That can happen if the AI attack route is blocked by something. Try unclogging the attack routes on your map, or creating a normal ground attack route if none such exist. However, if you want to improvise, there is no easy workaround for this problem. For more info see: AI lags the game when it doesn't have a proper attack route.
And that's it. Enjoy!