• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Basics of a Tower Defense

Note: This tutorial will explain you the very basics of making a TD. This is in no way geared towards experienced modders but is made for the beginners within Warcraft III modding.


What is a TD?

TD stands for Tower Defense and is a genre of maps developed for the Warcraft III engine. In a TD your goal is to build towers to prevent creeps of reaching a certain destination.


So.. How do I create one?

A good way of starting on a TD is to firstly make the terrain you find fitting for your map and then determine the lanes and setting up the pathing system (the creeps movement).


Uhh right, so how do I do that?

To get the creeps to move from 1 place to another you will need to make regions at the desired locations and then trigger the movement like this (the Trigger Editor is located inbetween the Terrain Editor and the Sound Editor):


  • Movement Region 1
    • Events
      • Unit - A unit enters Spawn Region
    • Conditions
      • None
    • Actions
      • Unit - Order (Entering unit) to Move To (Center of Region1)
  • Movement Region 2
    • Events
      • Unit - A unit enters Region1
    • Conditions
      • None
    • Actions
      • Unit - Order (Entering unit) to Move To (Center of Region2)
  • Movement Region 3
    • Events
      • Unit - A unit enters Region2
    • Conditions
      • None
    • Actions
      • Unit - Order (Entering unit) to Move To (Center of Region3)
  • Movement Region 4
    • Events
      • Unit - A unit enters Region3
    • Conditions
      • None
    • Actions
      • Unit - Order (Entering unit) to Move To (Center of Region4)
  • Movement Region 5
    • Events
      • Unit - A unit enters Region4
    • Conditions
      • None
    • Actions
      • Unit - Order (Entering unit) to Move To (Center of End Region)
pathing3gp.jpg


Ok done, now what?

Next is the actual trigger that spawns the "waves" as the levels of units is often called. It can be done like this:


  • Wave 1
    • Events
      • Time - Elapsed game time is 30.00 seconds
    • Conditions
      • None
    • Actions
      • Unit - Create 40 Footman for Player 12 (Brown) at (Center of Spawn Region) facing 0.00 degrees)


Right, so the regions and spawning is made, now what's next?

Next on the list should be finding out what to make of builders, towers and making the creeps, this is done within the Object Editor which is located inbetwen the Sound Editor and the Campaign Editor. You can also make triggered abilities for the towers but if you need help from this tutorial I suggest you wait with that untill a later time.


Right-o, I have made some towers, a builder and all the creeps, now what?

Adding the "lives" function is something that almost every td has, atleast it is only a few which doesent, so that is also included in here. Now I will show how you create the basic Leaderboard and putting in the lives function. Before you make the actual Leaderboard you have to make a variable like this one shown below to set the lives initial value.


lives8vi.jpg

Now when that is done you can move on to creating the Leaderboard and setting up everything that has to with lives and updating the Leaderboard.


  • Setup Leaderboard
    • Events
      • Time - Elapsed game time is 0.10 seconds
    • Conditions
      • None
    • Actions
      • Leaderboard - Create a leaderboard for (All players) titled Lives
      • Leaderboard - Add Player 1 (Red) to (Last created leaderboard) with label Lives and value Lives
      • Leaderboard - Change the color of all labels for (Last created leaderboard) to (0.00%, 100.00%, 0.00%) with 0.00% transparency
      • Leaderboard - Show (Last created leaderboard)
  • Life Lost
    • Events
      • Unit - A unit enters End Region
    • Conditions
      • (Owner of (Entering unit)) Equal to Player 12 (Brown)
    • Actions
      • Set Lives = (Lives - 1)
      • Unit - Remove (Entering unit) from the game
      • Leaderboard - Change the value for Player 1 (Red) in (Last created leaderboard) to Lives
      • Game - Display to Lives the text: (( + ((Name of (Entering unit)) + has reached the end! )) + ((String(Lives)) + chances left))
      • Trigger - Run Defeat (checking conditions)
  • Defeat Trigger
    • Events
      • None (it is a trigger that is run by the 'Life Lost' trigger)
    • Conditions
      • Lives Less than or equal to 0
    • Actions
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Unit - Remove (Picked unit) from the game)
      • Game - Defeat Player 1 (Red) with the message: Defeat!

Leaderboard made, is there anything more?

Most td maps (atleast the decent ones) has it so you are able to sell your towers so here I will show a way it can be done.


  • Tower Selling
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Sell Tower
    • Actions
      • Player - Add ((Point-value of (Casting unit)) / xxx) to (Owner of (Casting unit)) Current gold
      • Unit - Remove (Casting unit) from the game

Ability done, what's next?

Once you have succesfully made the Tower Selling ability I think you are covered in with the basic triggers, now you only need to make so you win once last wave of units have been defeated. Good luck with your td map! :)
 
Last edited by a moderator:

Ralle

Owner
Level 77
Joined
Oct 6, 2004
Messages
10,101
Tower Defence Tips

by Darkdraak

Invulnerable Towers
Can towers receive damage? if not make the towers invulnerable.

Screwed Up Moving
Remember that blocked units that dont have an order or a target for an attack will automatically try to return to their creation point, most problems can be avoided by changing collision size and disabling the units ability to flee.

Helpful Terrain
It's also helpful for players if you use the terrain to mark points and paths for the creaps.

Varying Towers
Its good to make a huge variaty of towers, make some aura towers, towers that can slow etc.

Make a New Terrain
Think up an innovative system or terrain, don't make another wintermaul rip-off.


BALLANCE!
When the map is working test many times to balance things out, and dont forget a tower can be to expensive at the cost of 11 and to cheap at 10, in this case make it 10 and tune down the attack.

Humor
Make some jokes in the map or "cheats" (cheats dont give advantage (never make real cheats they waste the game) but do some fun thing like, make cows fly over the map)

Play Modes
Add some different modes (advanced) it makes a game better replayable, add different difficulties (making the hardest one impossible) and some modes like rush (no interval between spawns) normal or chaos (towers tend to break down randomly) in case of different teams, make a all work together mode and a versus modus.

Ask for Help
Also important, never be afraid to ask for help, but dont ask before trying everything.
 
Last edited by a moderator:
Level 12
Joined
Mar 30, 2013
Messages
665
*suck*

Didnt understand so much of this sort of ''basic td''
Like when the Life Lost trigger
Game display ........... How can any beginner find that sort of trigger? all those numbers...

And at the last one Sell tower

Is it a Unit, item or ability????
You need to say that like: Now create for example an item and do that and that because it is gonna be in the triggers.
 
if you're a beginner, your first step should be to familiarize yourself with the basics of the editor... reading out these genre tutorials come after you already know the basic how-to of the editor... and possibly practice on yourself first before trying out an actual project

Like when the Life Lost trigger
Game display ........... How can any beginner find that sort of trigger?

Uhm, all of those are on the drop down boxes for action selection...

And at the last one Sell tower

Is it a Unit, item or ability????

Really? If you read the trigger he posted it uses Begins Casting an Ability

Seriously, do everyone a favor and familiarize yourself first with the editor...
 
Level 12
Joined
Mar 30, 2013
Messages
665
iv'e familar with the editor for years, so i know quite enought of the basics.
And the ''unit, item or ability . i saw it some minuts after, but i was about to change that when the internett just jumped out as normaly...
But still, he didnt write about what ability to choose and how to edit the ability to make it an sell ability...
Seriously, im not gonna do you a favor to familarize about the editor, when i know enough of it... And its the some trigger problems i got you probly talk about the whole editor.....
 
Level 4
Joined
Feb 26, 2015
Messages
70
  • Game - Display to Lives the text: (( + ((Name of (Entering unit)) + has reached the end! )) + ((String(Lives)) + chances left))
"Display to lives"; Isn't that wrong? Isn't it suppose to be display to player(Red)?

also you should add updating the lives on the leaderboard, for beginners
 
Last edited:
Top