There are a few things that you must know before beginning this tutorial. First, you have to at least know how to some-what work the World Editor. Also, know what variables are, they arent used much in this tutorial but they are very important overall. THIS TUTORIAL IS WORTHLESS IF TOU DONT HAVE THE WORLD EDITOR OR WC3:TFT!
First, Terrain
First off, open up Warcraft III World Editor and create a map similar to the one in the picture below. It doesnt matter how big it is it merely serves as a way to limit the placements of towers. As long as you have an area for spawning and an area for the exit it should be fine. For now, just do what i have done. The rock textures at the top and bottom of the path are unbuildable forcing the player to build elsewhere (so that the players dont build on the areas needed for enemy movement manipulation). To get to the tools to accomplish this task you must select the "Terrain Palette" menu option on the Palette window. Then simply select the same buttons as i have below and build your terrain.
Second, Regions
The next most important thing for a TD is its regions. Although it is possible to make a good td without regions, it takes a lot of advanced triggering not necessary for beginners. So we will create two rather small regions to represent the coordinates for the spawning and exiting of the enemies we will be spawning later. So select the "Region Palette" on the Palette window and create the regions as i have in the image below. The top region is the "Enemy Spawn" and the bottom region is the "Enemy Exit".
Third, Units
Ok, next, open the "Object Editor" window (the toolbar button that looks like a helmet). Once in the window, select the "New Custom Unit" button, which also looks like a helmet. A window will appear, like the one in the picture below, where you select the unit to base your custom unit on. We are first going to create our enemy and as you can see i have selected the Undead Ghoul which will be great for a target unit to kill. After selected the Ghoul's image and choosing a new name for the custom unit, press ok and your custom unit will be created.
Once the unit is created you will see lines upon lines of information about your new unit such as its name, model, attack damage, icon, movement speed and more. For this unit we will change the bare minimum. Search the lines and lines of info on your unit and find and change the following.
The next unit is going to be our attacking tower, which is to build by a peasant we will create next. So again click on the "New Custom Unit" button and select Human Peasant, name him and press ok. Then change the following.
Our last two units are towers; one to build and the other an upgrade. So create a new Human Gaurd Tower and name it "Defending Tower 1". This serves as our basic defensive tower. Find and change the following.
Next, copy the "Defending Tower 1" and paste it in the same place. Then change the following, be sure to select the pasted unit not the copied one.
Now that we have created a tree of towers, although a small one, we must link the upgrades together. Its quite obvious that Defending Tower 1 would upgrade to Defending Tower 2 so lets do it. Select Defending Tower 1 and find and change "Techtree - Upgrades To" to "Defending Tower 2". There. Thats all, now DT1 can upgrade to Dt2 for 99 gold. Now for us to even be able to upgrade the DT1s in the first place they must be able to be built. Select the "Defensive Builder 1" and find and change "Techtree - Structures Built" to "Defensive Tower 1". Now DT1s can be built and upgraded. The unit screen should look similar to the picture below.
Fourth, Triggers
The backbone to any TD is its triggers, without them what kind of TD would you have?! Seriously. Anyways, click the toolbar button that looks like an "a", this will take you to the Trigger Editor window. Once inside, delete the "Map Initialization" trigger and create a new one "Init" like in the picture below. To create a new trigger, select the button that looks like a piece of paper with a folded edge.
The "Init" trigger gives Player 1 (Red) 50 gold at the start of the map. Next create a folder called "Enemy Spawn" which will hold all of the triggers for the movement and life of the enemies we will have spawn soon. Now create a trigger within that new folder called "Spawn Enemies", look at the picture below for reference.
What this trigger does is create an "Undead Enemy 1" at the center of the "Enemy Spawn" region every 2 seconds. Next create another trigger called "Move Enemies" which of course will give the newly spawned enemies a command to move from the "Enemy Spawn" region to the "Enemy Exit" region where they will steal one of your "lives". Look at the picture below to see what to do.
Create another trigger labeled "Remove Enemies" which removes the unit once it enters "Enemy Exit". Look below.
To add the effect of "lives" you must create a variable. Im assuming that you know what one is so i will not go into detail. To create a variable select the toolbar button that looks like an "X" and once inside that window press the green "x" to create the variable. Look at the picture below as a reference.
Then add the actions.
And last but not least, to add income, once an enemy is killed Player 1 (Red) gets 2 gold. Look below and see the "Dead Enemies" trigger.
Test Time
It's time to run the map, your TD, as basic as it is, is ready to go! I hope you can use this basic TD as a reference to grow and learn more about WC3. Thanks.