First Thoughts
This is my recommendation if you want to make a new innovative map that everyone wants to play......
-Don't make something that has been done before!
(Example) A Maul such as Wintermaul.
(Why Not?) It has been overused so many times before, and these days you rarely see a maul anymore because everyone has played it and gotten bored of it.
-Make something new that features nice qualities, and effects.
(Example) Element TD.
(Why?) It features a new system to make towers and fuse elements to upgrade towers. Its hard to get bored of because there are so many possibilities!
-Make something that you created on your own and didn't steal then edit.
(Why??) I know its a lot faster just taking a already made map with levels, and such, but then you don't get the experience of working with triggers, and finding out ways to make a great TD!
-Always protect your map so people can't steal it!
When you protect your map people won't be able to take it apart and recreate a ripped off version of it!
-Always go to
www.hiveworkshop.com if your stuck on something that you don't know how to do.
(Why?) Hiveworkshop includes many great tutorials on helping you with specific details on triggering, terraining, and editing!
_________________________________________________________________
Map Start
Step 1:Go to trigger editor. Click on the Initialization folder, and delete it. Make a new folder called Game Start, and make a new trigger called Game Start. Make the Trigger like this

Game Start

Events:

Map Initialization

Conditions:

None

Actions:

Melee Game - Use melee time of day (for all players)
You can also make sounds, and text for the start of your map to do that make a trigger like this.

Game Welcome

Events:

Elapsed Time is 0.10 seconds

Conditions:

None

Actions:

Game - Display to (All Players) the text: Whatever you want to say
Then go to the sound editor and pick out a cool sound that you want to play when you do make a trigger like this.

Game sound

Events:

Elapsed Time is 0.10 seconds

Conditions:

None

Actions:

Sound - Stop Music immediately

Sound - Play Whatever Sound you like
And you have created a good start to your TD.
_________________________________________________________________
Pathing
Alright kids lets start your TD! Its extremely simple. I'll guide you through simple steps!
Step 1:Make a basic, or complex area where creeps pass through and towers are placed! You shouldn't need help on this step just use your imagination!
Step 2:Now lets work on pathing for the creeps to go.
Go Layer then Regions. You will see a region palette on your top right side of the world editor. Click add region. Then make a region for where the creeps will spawn. Call it whatever you like I prefer creepspawn.
Step 3:Now make a region for every turn you have and just name them things like Path 2, Path 3, Path 4 and so on. This will be the route that the creeps will take to get to the end.
Step 4:Now make an end region where you will lose a life when a creep enters there. Call it whatever you like. Then Make a region surrounding the whole area where Player 1(Red) Plays, or where every player plays and name it Whole Red, or Whole Players.
Step 5(Triggering):Get ready for some really easy triggering I'll guide you through every step just incase. First lets just say my Td has 4 turns in it so it will have 6 regions. Start, T1, T2, T3, T4, End. This will be the triggering. Yours will probably be simpler but you will understand the concept easily!

Trigger1:StarttoT1

Events:

Unit - Unit Enters Region(Start)

Conditions:

NONE

Actions:

Unit - Order (Entering unit) to Move To (Center of T1)

T1toT2

Events:

Unit - Unit Enters Region(T1)

Conditions:

None

Actions:

Unit - Order (Entering unit) to Move To (Center of T2)

T2toT3

Events:

Unit - Unit Enters Region(T2)

Conditions:

None

Actions:

Unit - Order (Entering unit) to Move To (Center of T3)

T3toT4

Events:

Unit - Unit Enters Region(T3)

Conditions:

None

Actions:

Unit - Order (Entering unit) To Move To (Center of T4)

T4toEnd

Events:

Unit - Unit Enters Region(T4)

Conditions:

None

Actions:

Unit - Order (Entering unit) To Move To (Center of End)
Step 6:All you have to do is that concept to connect all of your regions and you got the pathing completely correct! Well now that you've made pathing you probably want to test how it works right? O.K.!
Make a new trigger titled Test Level. And make it exactly like this!

Trigger2:Test Level

Events:

Time - Elapsed Time is 1.00 seconds

Conditions:

NONE

Actions:

Unit - Create 40 Footman for Player 12 (Brown) at (Center of Start Region)(Facing 0.00 degrees)
Step 7:Now test the map. If it doesn't work then recheck your work for any mistakes, and try again. If it did work than you got pathing easily down Good Job!
_________________________________________________________________
Lives
Step 1: Go to trigger editor, then go to variables. Its the yellow X. You will see a little box that should contain 3 categories. Variable Name, Variable Type, and Initial Value. Click on new variable its the green X. Set the Variable name to RedLives, and set the variable type to Integer. Make the initial value the amount of lives you want Red to start with, and then press Ok.
Step 2:Now lets setup a leaderboard containing the value of RedLives. Do this trigger Exactly!

Trigger3:Lives Leaderboard

Events:

Time - Elapsed game time is 0.30 seconds

Conditions:

Absolutely None!

Actions:

Leaderboard - Create a leaderboard for (All players) titled Player Lives

Leaderboard - Add Player 1 (Red) to (Last created leaderboard) with label Lives and value RedLives

Leaderboard - Show (Last created leaderboard)
Step 3: Now that you have created a leaderboard you probably want to see the lives value change. Well then make this trigger!

Trigger4:Lives Lost Red

Events:

Unit - A unit enters End Region

Conditions:

(Owner of (Entering unit)) Equal to Player 12 (Brown)

Actions:

Set RedLives = (RedLives - 1)

Unit - Remove (Entering unit) from the game

Leaderboard - Change the value for Player 1 (Red) in (Last created leaderboard) to RedLives

Game - Display to Player Group-Player 1 (Red) the text: 1 Life Lost!

Trigger - Run RedDefeat (checking conditions)
The Red Defeat Trigger....

Trigger5:RedDefeat

Events:

None

Conditions:

Lives less than or equal to 0

Actions:

Unit Group - Pick every unit in (Units in Whole Red Region) and do (Unit - Remove (Picked unit) from the game)

Game - Defeat Player 1 (Red) with the message: You Lose!

Yay! Horray! You made a lives system, and a pathing system for Player 1(Red)!!!!
_________________________________________________________________
A time to Think and Discuss
Alright, now that you have finished making the terrain, pathing, and the lives feature its time to take a break and think about how you are going to continue your Tower Defense. Ask your self these following questions.
Question #1:
How successful do I want my Tower Defense to be?
Answer #1:
Well I'd recommend that you aim for the most successful possible because when you aim high you have a less chance of hitting low. As you now think that your TD can be really successful you need to know that you need really smooth, long, and nice triggering features. I'll provide you with that, but you need to work hard to earn a good Tower Defense.
Question #2:
How long am I willing to work on this Tower Defense?
Answer #2:
The answer is simple.... as long as you can. Don't work on it all day though you need to take breaks, go outside, hang out with friends. Thats where you can really get your ideas from... looking outside. There's plenty that nature provides us, and creativity is definitely one of them.
Final Question:
This isn't really a question but an answer. Don't think that you can't get help on your map. Ask your friends on Warcraft 3 or go to hiveworkshop if your stuck at any time. Of course this tutorial should provide you with all your TD needs there may be more, and that's a good thing. Now its time to resume work on what we have so far. Lets begin....
_________________________________________________________________
Levels!
Step 1:Finally you get to make your own levels right? Well before that we there's one thing that you have to make. Its a trigger that allows players to see the whole map. Its very important for a TD. Make a new folder, name it Visibility. Make a new Trigger and name it Visibility. Now do this.

Trigger6:Visibility

Events:

Time - Elapsed game time is 0.10 seconds

Conditions:

None

Actions:

Visibility - Disable Fog of War

Visibility - Disable Black Mask
Step 2:Alright now that you disabled the Fog of War, and the Black Mask its time to make a starting time for the beginning of the TD.
In the beginning you need to give people more time than in-between levels. So lets make a separate beginning timer. Make a new folder named TD Timers, and then make a new Trigger named beginning timer. Now go to variables, and make a new variable. Make the Variable name TDtimer, make the variable type a timer. Then press O.K.Now make a new variable. Name it Level. Make it an integer. And Make it equal to 0. Now make a trigger like this.

First timer

Events:

Time - Elapsed game time is 0.10 seconds

Conditions:

None

Actions:

Countdown Timer - Start TDTimer as a repeating timer that will expire in 1.00 seconds

Set BeginningTimer = (Last started timer)

Countdown Timer - Create a timer window for (Last started timer) with title First timer in...
Step 3:Now that you have your TDtimer you have to make the timer repeat for the rest of the game. Do this trigger.

Continuous Timer

Events:

Timer - TDTimer expires

Conditions:

None

Actions:

Countdown Timer - Destroy (Last created Timer Window)

Wait until ((All units of (Units owned by Player 12 (Brown)) are dead)Equal to True), checking every 1.00 seconds

Countdown Timer - Start TDTimer as a Repeating timer that will expire in 30.00 seconds

Set Level = (Level + 1)

Set TDTimer = (Last started timer)

Countdown Timer - Create a timer window for (Last started timer) with title Enemy Wave in...
Step 3: Alright now that you have the timer done, I will inform to you what it does. You see when you made a variable named level it equaled 0. But now every time that timer expires it will add 1 to the level variable so you will get a continuous flow of levels, but levels won't start until one levels creeps are all killed. Isn't that great? Of course it is.
Step 4:Delete your test level you don't need it anymore. Now lets make a couple of level triggers so you can understand how it works. Make a new folder named Levels. Then make a new trigger named level 1. Now make it like this.

Level 1

Events:

Time - TDTimer Expires

Conditions:

Level is equal to 1

Actions:

Unit - Create 15 Level1Units for Player 12 (Brown) at (Center of Start Region)
Of course you have to make a unit for level 1. Most likely you want to make it weak, and then the units will get stronger and stronger after each level. Lets now make level 2.

Level 2

Events:

Time - TDTimer Expires

Conditions:

Level is equal to 2

Actions:

Unit - Create 15 Level2Units for Player 12 (Brown) at (Center of Start Region)
Lets now make level 3 and after making level 3 you will probably be able to make all the rest of the levels on your own.

Level 3

Events:

Time - TDTimer Expires

Conditions:

Level is equal to 3

Actions:

Unit - Create 15 Level3Units for Player 12 (Brown) at (Center of Start Region)
There I showed you now how to make your first 3 levels remember to make different units for each one, and continue this level thing for as long as you would like. You can work on it whenever you want, but for now lets not make anymore levels and lets work on the next part of your TD.
_________________________________________________________________
Making Towers
Step 1:Alright now we are going to make some towers I'll show you how. Open up your object editor. Click on the new custom unit box. Make the Base units Race Human, and Melee. then choose the Guard Tower and press O.K.
Step 2:Alright on the top there's a thing called Abilities - Normal, remove all those abilities from it. Now change the icon and model file to whatever you would like. Then if you want change the tinting colors. Change the damage, and damage type, and change who it attacks to either ground enemy air, ground enemy, or air enemy so your tower can't attack other players towers. Change the Build time to 1 for Fast build, almost everyone in TD likes fastbuild on towers. Change the gold cost, and lumber cost. Remove Lumber Mill from the techtree requirements. Change the name and both basic and extended tooltips. And that's how to make a tower!
Step 3:Now lets make a guy that builds the towers. Go to object editor, then make a new object again. Keep it at human and melee. And pick peasant for the builder. Now for the Abilities remove Harvest(Gold and Lumber), and Call to Arms(Peasant), but DON'T REMOVE REPAIR. Change the icon and model if you would like. Make the Attack type None, and make the damage 0. So he can't attack. Go back to abilities and add invulnerability to him so he can't be destroyed. Then make his move speed 500, and move type fly. Change his fly height somewhere between 300-500. Remove all the upgrades used and structures built, and add your towers. Change his name and both tooltips.
Step 4:Now lets place the builder that you made on the map. Go to Layer and then Units. Go to human then custom. Then place the builder on the map. After you did you can continue making towers levels, and other features that you like.
_________________________________________________________________
Importing Models
Step 1:Importing models is an important thing to do in a TD, it can make your towers or creeps look better than before. To get a model first go to
www.hiveworkshop.com and go the the Models page.
Step 2:Find a good model that suites what you are trying to make.
Step 3:Download the model and save it to a folder you will remember.
Step 4:Go on World editor and go to import manager. Click the Import File button and find the .mdx file of your downloaded model, and import it.
Step 5:Add the model to your selected unit, it will appear blank at first, but when you close and open world editor your model will fully load to your map.
Final Step:Don't get to many models because the more you have the longer it will take for your map to load!
_________________________________________________________________
Final Tips
-Don't Make certain Races/Towers overpowered
-Never make cheats to your game
-Protect your game
-Get help when needed
-Test your game all the time
-Focus and try not to make mistakes
-Make different types of levels like: Armored, Hero, Air, Ground, Multiplying ETC.
-Have fun!