1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Custom Race Creation: Advanced Mechanics

Discussion in 'General Mapping Tutorials' started by Alok, Sep 29, 2016.

  1. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    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:
    AI Editor
    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:
    www.hiveworkshop.com/threads/testing-grounds-the-map-for-the-overview-and-testing-of-all-units-buildings-and-their-abilities.286574/
    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.

    3. Roles
    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.

    5. Variety
    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.

    7. Balance
    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.



    Unit customisation:


    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):
    Screenshot_2.png
    Screenshot_1.png
    This may look too complex to you now, but it's not that complex. However, it's important to take all of these factors written in the table into account when creating units and abilities for your race. Remember, you want to create a complex environment for your race with as many as possible "things" which have their corresponding "counter-things" and with various unit roles, just like the four base races have, and even improvise and create something completely new, something unique, although you should take care not to disturb the balance. Now we will move onto explaining the table and everything else that should be known and taken into account:

    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.
    Ability-related columns: Abilities, AbilType, Target, Range, Ranged, Melee
    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.
    Example: Bloodlust
    debuff Negative effects which stay on a unit for a certain time.
    Example: Curse
    dispel Removes buffs and/or debuffs.
    Example: Dispel Magic
    invisble Makes units invisible.
    Example: Invisibility
    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.
    Example: Cyclone
    aura An ability that passively affects all units around the bearer.
    Example: Brilliance Aura
    damage Deals damage.
    Example: Firebolt
    heal Regenerates health.
    Example: Heal
    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
    demana Drains mana.
    Example: Feedback
    manareg Regenerates mana.
    Example: Spirit Touch
    control Takes control of the enemy unit.
    Example: Possession
    siege Affects specifically buildings.
    Example: Corrosive Breath
    antiair Affects specifically air units.
    Example: Web
    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.
    Example: Metamorphosis
    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.
    Example: Rejuvenation
    speed Increases attack/movement speed, can be a sub-class of buff.
    Example: Bloodlust
    slow Decreases attack/movement speed, can be a sub-class of debuff.
    Example: Slow
    miss Makes the unit miss some of its attacks, can be a sub-class of debuff.
    Example: Curse
    evade Makes the unit evade some of the attacks against it, can be a sub-class of buff.
    Example: Evasion
    teleport Moves the unit(s) from one place to another in an instant.
    Example: Blink
    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.
    Example: Bloodlust
    attslow Decreases attack speed, a sub-class of slow.
    Example: 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.
    Example: Polymorph
    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.
    Example: Sleep
    defend Reduces the movement and/or attack speed in exchange for a defensive effect.
    Example: Defend
    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.
    Example: Pillage
    debuild Destroys/unsummons your own building usually for a partial resource refund.
    Example: Unsummon Building
    blight Creates blight.
    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.
    Example: Attack
    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.
    Example: Moonstone


    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.



    Unit examination:

    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:
    Screenshot_6.png
    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.
    Units and summoned units:
    Screenshot_5.png
    1st column Workers.
    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.
    5th column Healers.
    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!
     

    Attached Files:

    Last edited: Apr 6, 2017
  2. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    Aw man! You beat me to it... Obviously gonna post to subscribe, but I'm going back to read it & will Edit.

    //EDIT1// - OK, dang, yeah, you did (for the most part) do everything I wanted to do. Pooh.

    Well, for the most part I'm a huge fan; it's (almost) all there, and you really cover lots of good material. Mostly, I'd just say you should consider reformatting parts for clarity, ease-of-reading, and organization; take, for example, the "first row - headings" section; each of those sections could really be better put into a Table or something. Saves you words & marks it off.

    Also, I'd say the abilities (in your spreadsheet) should just be written all the way out. I'm also kinda worried about overlap; not that you have any, but that you *should* have some. How "similar" should an ability be to be combined on your chart? Critical Strike & Bash are pretty different in my mind, for example.

    Really good work collating all that information, though. And all those other tutorials. A great 'one-stop shop'.
     
    Last edited: Sep 29, 2016
  3. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    Thanks for the feedback, I'll see what I can do to improve it. The tutorial isn't finished yet, so I'll still make quite a few changes and also add the parts currently marked as Incoming.
    I'm gonna explain and write the full names in the post anyway. I may write them in the table too if I find it convenient.
    That table in no sense represents all the nuances of all abilities, it's there just like a rough estimate of their types.
     
  4. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    Reeeeeaaaally?

    Also of note: Spiked Carapace can reduce damage taken as well, actually.
     
  5. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    Yes, tested and confirmed.
    Yes, I know. Actually, many abilities in the table belong to multiple categories. For example, Defend can go into dmgred, and reflect categories too in addition to the defend category. As I wrote above:
    abilities can have more than one tag on them. If I had wanted them all to be "pure" abilities that belong only to one category, I would've put Spiked Barricades there instead. But then, not all of the fields have one of those "pure" abilities, like, for example, the defend and aura categories which I've already mentioned. That's just an examplar ability which has the quality of reflection, and which can take the reflect tag.
     
  6. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    Wow, cool. Not ultimately useful (except rarely), but cool.

    Oh sure. I just thought your example was a "pure" example. It's fine that it's not.
     
  7. PurgeandFire

    PurgeandFire

    Code Moderator

    Joined:
    Nov 11, 2006
    Messages:
    7,426
    Resources:
    18
    Icons:
    1
    Spells:
    4
    Tutorials:
    9
    JASS:
    4
    Resources:
    18
    This is a great guide! I love how comprehensive it is. And the fact that you center it around a set of principles makes it easier to learn and remember.

    I feel like this is a testament to just how well Warcraft 3 units were designed. I particularly liked that you mentioned how counters/weaknesses are significant and how each unit has a role, and should have some reason to be chosen over another (e.g. footman vs knight).

    If I were designing a race, I'd definitely check back on this. Great job. Approved.

    P.S. Regarding the screenshot for "units and summoned units - part 2", it is a bit difficult to tell the columns in that one. Might be better with an aerial camera (angle of attack set to 270). But I think people will get the gist, so you don't need to change it unless you really want to.
     
  8. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    Thank you very much.

    I might change the screenshots. I wanted to change them before because of some of the errors I made, but never got to it.
     
  9. MogulKahn

    MogulKahn

    Joined:
    Sep 24, 2009
    Messages:
    1,325
    Resources:
    0
    Resources:
    0
    Subscribing
     
  10. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    So have you more or less finished this? I've read through it IIRC, but I can't tell where you've edited in additional stuff.

    Also, you may want to consider 'cleaning up' those test map images; right now it only barely makes sense, even with the key. The first necessity should be getting it all in one image; simply zoom out in the WE sufficiently (we can all open the image in a new tab & then zoom in as we wish; and at this point, I think we all know the unit's silhouettes). I'd also suggest doing some terraining; all plain dirt with perhaps grass or rock making a line of grids // heck, what am I talking about. Just use the grid feature in WE; take a WE screenshot instead of an in-game one. Same deal, though; should be able to get it all in one, maaaaybe two images.
     
  11. Alok

    Alok

    Joined:
    Sep 6, 2015
    Messages:
    577
    Resources:
    17
    Models:
    6
    Icons:
    4
    Maps:
    3
    Tutorials:
    4
    Resources:
    17
    This is basically finished. I may add or change a thing or two here or there, but it is officially finished.
    I've changed the screenshots and updated the key accordingly, and made some other changes and additions.
     
  12. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,882
    Resources:
    1
    Models:
    1
    Resources:
    1
    Cool! I'll be sure to link to it in my comprehensive "race-making" guide.

    xD

    [​IMG]

    Noice; interesting choice, going completely top-down. Though, I should've been more specific; I think you could still benefit from some more space between the units (like, actually being able to differentiate them), whether that means "more than one square per section" and/or "more space between filled squares", i.e. buffer zones... But I'm probably just being picky.
     
  13. Warew0lf###(omega)

    Warew0lf###(omega)

    Joined:
    Sep 8, 2018
    Messages:
    14
    Resources:
    0
    Resources:
    0
    Coooool man! This would be so useful.