|
|
#1 |
|
I MUST BREAK YOU
Official Map Reviewer
|
NOTE: You have been redirected in order for our attachments to be made available to you. This will only last two minutes; these measures where taken to avoid hotlinking and bandwidth theft. To avoid these restrictions Log in or Register 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): Note: I will use Player 12 (Brown) as the "bad guys". Also some of these triggers can cause leaks, if you wish to know how to fix this then go here: http://www.wc3campaigns.net/showthread.php?t=80072 Movement Region 1 Trigger: Movement Region 2 Trigger: Movement Region 3 Trigger: Movement Region 4 Trigger: Movement Region 5 Trigger: Note: This tutorial is mostly counting for none-mazing TD's. If you try to do a mazing TD with the same pathing system that I have done in the screenshot above this then the creeps will simply run past the towers, to prevent this from happening have the area being walled in or raised. 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 Trigger: In the above trigger it will spawn 40 Footmen instantly, if you do not want this to happen but want them spawning 1 at a time you can do it like this: Wave 1 Trigger: ![]() Actions
![]() ![]() Unit - Create 1 Footman for Player 12 (Brown) at (Center of Spawn Region) facing 0.00 degrees
![]() ![]() Wait 1.00 seconds
![]() ![]() Unit - Create 1 Footman for Player 12 (Brown) at (Center of Spawn Region) facing 0.00 degrees
![]() ![]() Wait 1.00 seconds
![]() ![]() Unit - Create 1 Footman for Player 12 (Brown) at (Center of Spawn Region) facing 0.00 degrees
![]() ![]() Wait 1.00 seconds
![]() ![]() Unit - Create 1 Footman for Player 12 (Brown) at (Center of Spawn Region) facing 0.00 degreesetc... 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 does not, 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. 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. Note: The below triggers is for a Solo TD life system and is only setted up for Player 1 (Red). Setup Leaderboard Trigger: ![]() 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 Trigger: ![]() 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 Trigger: 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 Trigger: 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 it so you win once last wave of units have been defeated. Good luck with your TD map! :) |
|
|
|
| Sponsored Links - Login to hide this ad! |
|
|
|
|
#2 |
|
Baron Grunwald is.
Texturing Moderator
|
The pictures don't show.
__________________ |
|
|
|
|
|
#3 |
|
Intense™
Join Date: Jun 2003
Posts: 1,730
![]() ![]()
|
The way you're spawning units would cause memory leaks, maybe you should include an example that doesn't leak.
|
|
|
|
|
|
#4 |
|
Dark & Ominous
Project Leader: LoC
Join Date: Apr 2006
Posts: 1,456
![]() ![]() ![]()
|
there are still something missing which i think should be included, like countdown timers and variables which sets up the creep waves, even though it's the basics, Cause useing 'Time Elapsed' will not wait until a wave is defeated, players might battle 2 - 3 waves at the same time (depending of the difficulty).
anyway good tutorial ;) |
|
|
|
|
|
#5 | |
|
I MUST BREAK YOU
Official Map Reviewer
|
Quote:
This is something most TD maps does, usually it makes no difference. I also gave a link to emljr3's tutorial on how to deal with leaks so if people really want their td not to leak that small bit they can read up on how to fix it. @Olof - The pictures show here. |
|
|
|
|
|
|
#6 |
|
Map Dev *********
Respected User
|
That is deffinately NOT the way most TDs spawn creeps. The basic way to create a TD creep spawning trigger is having one trigger to set the waves types (if level equals 1 set CreepType = Footman) and then another trigger that spawns x CreepType at each spawn when each level begins.
An alternate way is setting all creep types on map init (set CreepType[1] = Footman, set CreepType[2] = Rifleman etc.) and then spawning CreepType[level] everytime the level starts. And i really think you should include anti leak actions, a spawning trigger with leaks just doesnt work well. |
|
|
|
|
|
#7 |
|
I MUST BREAK YOU
Official Map Reviewer
|
Fine I will update the tutorial with a better way of spawning creeps but if people want to fix leaks they still need to read another tutorial as I have actually never made a TD and leak fixing is not one of my strong sides.
__________________ |
|
|
|
|
|
#8 | ||
|
Dark & Ominous
Project Leader: LoC
Join Date: Apr 2006
Posts: 1,456
![]() ![]() ![]()
|
Quote:
yes you should do that, like i said :P Quote:
anyway yes please update the tutorial, it'll be easier for people to make a TD that way ;D Last edited by Archian : 06-11-2006 at 01:11 PM. |
||
|
|
|
|
|
#9 |
|
Map Dev *********
Respected User
|
Well just remove the points when spawning, you could leave the rest :)
|
|
|
|
|
|
#10 |
|
User
Join Date: Feb 2008
Posts: 4
|
Wow, thanks's helped me alot!
|
|
|
|
|
|
#12 |
|
User
|
I think of doing a Circle TD but if i want the to run in the circle i guess i shouldn't add any
End Region? |
|
|
|
![]() |
| Thread Tools | Search this Thread |
|
|
|
Donate |