This tutorial will ONLY be covering #1. Automatically spawning waves that go kill each other. The next parts will come in the near future.
Deep Breath...Here we go..
Fire up the galaxy editor and create a new map. Make sure to use campagin dependencies so we have access to all the new units.
1- Do the terrain first. You'll need it so you can place points and regions later on. I'm going to be using 2 lanes in my map. I'm not going to cover this part because all you really need is some sort of base for both teams and a cliff to divide the lanes.
2- Starcraft 2 supports 14 players (not including neutral and hostile). We need to use 2 of those slots for the computers, leaving 12 spots for players. This means the max number of players is 6 on each team. I'll be using only 5 per team for my relatively small map. Go to map >> Player properties.Set player's 1 through 10 to 'user controlled' and set player 11 and 12 to computers.
3- Hit Ok. Plop in some photon cannons in each base for some defense and throw in a nexus at each one also. Set their owners to players 11 and 12. Its also important to make sure you have some sort of sturdy tower/cannon in each lane to take care of any lucky computer units that survive.
Getting to the good stuff
Now we need to use the trigger editor to set up our automatic spawning. Press F6 to open the trigger editor.
4- Delete the actions in the default trigger. Add in the action "text message" and type in something like "Welcome to my awesome DOTA map. Game starts in 30 seconds". We'll add more to this trigger later. For now, right click in the left side of the editor and choose "new variable". Name it "Spawning_Active" and set it to a boolean with the default value as true. We use this to turn spawning off if we want. Most DOTA maps give the players 30 seconds or so to prepare before the spawning starts.
5- Create a new trigger called "Periodic Spawn". Create the event "periodic event" and set the time to whatever you want. Remember to choose game time so faster games aren't messed up. For conditions, press 'new condition' and hit OK. Click on the "(" symbol on the far left of the bottom part of the trigger window. Click the 'variable' button and then choose our "Spawning Active" variable. Hit ok, and then press 'value 2' (it shows up in the trigger window after you hit ok). Check off true and then hit ok. Basically what this does is every X amount of seconds, our actions will happen ONLY IF spawning active is set to true.
6- Before we continue jump back to the terrain editor, press P for points, and then create 2 points where you want the units to spawn for each side. Also create 2 points, one in the middle of each lane connecting the bases. We'll see why later.
7- Now we can go back to our trigger and add the action 'create units with default facing'. click 'unit' and set it to whatever you feel like (its got to be a ground unit or it will bypass the lanes). I picked the zealot since its a relatively weak unit. Change the player to whatever player is your "west side" player (remember map properties? We're creating these units for the computers). Then set the point to the west spawn point. You can set the number of units spawned to something like 3 if you want.
8- Add the action "issue order to unit group", click on 'unit group', press the the 'function bubble' to select it, and set the unit group to last create units. Click the "(" before 'ability command' and choose order targeting point. Then set the order to attack, and the either of the points in the middle of the lanes.
9- Copy those 2 actions and change the new issue order to unit group to send the units to the other point in the middle of the lanes. What we did is make it so it spawns a squad of units and sends them to one lane, creates a second squad, and then sends them to the bottom lane.
10- Copy all 4 of those actions. Then change the players and points in the spawning actions to work for the East side.
11- Take a quick break and test the map to make sure everything is working. The 2 sides should spawn 2 squads of units and send them out evenly in each lane. (don't forget you will need to place some observers for player 1 so you can see whats going on)
12- Make 2 large regions around each of the points in the middle of the lanes. Create a trigger called "direct lane 1 units". For event, put unit enters region, set the region to the one you just made for the first lane. Then for actions, put in the action "if then else". Under If, put in 'owner of unit = 11'. Under then, put 'issue order to unit'. set the unit to 'triggering unit', the order to attack, and the point to the enemy spawn location. Copy the entire If/then action and in the duplicate, change player 11 to 12 and switch the points.
13- Now copy that entire trigger. In the duplicate trigger, name it 'direct lane 2' and change the region in the event to your 2nd region.
Wait..What the heck did I just do
Units are ordered to attack the middle of either lane. When they get there, they are ordered to attack the enemy base. If we just ordered them to attack the base from the start, they would all use the same lane to attack.
Thats it for now!
That concludes part 1 of the tutorial. Its the simple yet very important basis for all tug of war and DOTA maps. The next tutorial will cover how to actually build your heroes with abilities and levels. Dont't forget to go rate the review at the top of the thread to let me know How I'm doing.
Annnd...If you feel like it, I have a totally un-related 5 part beginners guide to the starcraft 2 galaxy editor. Look in my signature right below this.
random fact for this tutorial- Didja know that when snakes are born with two heads, they fight each other for food....talk about sibling rivalry. Heh...sort of ....I should stop typing now....
Nice tutorial. Are you going to do one on the balancing aspect of tug maps? You know, how to set up unit spawns and towers so that the game is endless, while no player interfers.
Lol....I used to have a zealot but now I got photoshop so I made that for myself lol...
@Obatztrara: Go
I added in a quick note about placing towers in the tutorial (I might add something later to make towers go for creeps first and extra damage to heroes or something. No matter what one side will always start to win just because of whoever randomly wins the first fight. Thats what the towers are for- to clean up any extra enemies that should be dead. :)
Anyway...The bit about heroes should be out in a few days (I have final exams to study for..In fact, I should probably be doing that instead posting on sc2mapster lol)
Hey, I've followed your tutorial and it works perfectly, just one thing. I have a siege tank above a ramp, but the AI doesn't seem smart enough to go up the ramp to attack the siege tank. They just bypass it and go straight towards the opponents CC.
I tried using pointers but this will just make the AI go up the ramp unnecessary, even when there's no units.
Is there anyway that points and regions can solve this? Making the AI go up the ramp only when there are units attacking them from the ramp
Edit: Found out how to do it. Used Damage source
But now the units just stay on the ramp and not move.
Though seams i have issues with it at the point 11 and on. To me seams, that they changed the command in the editor ( or i really over looked something )
Also an interesting bug, the spawn units do star go twoards the point, but dosen't matter how many, some just stops half way twoards the point.
What i plan to make is a 3 Tier type creep wave.
-Tier 1 Fighters ( right at the start )
-Tier 2 Bombers ( 5 mins into the game )
-Tier 3 Light capital ships ( 10 mins into the game )
I think the rest be easy once i can get the fighters working =)
I've seen a lot of requests on how to make DoTA style maps (otherwise known as tug maps). Stuff you will learn how to do in this tutorial series:
TABLE OF CONTENTS:
1-Automatic Waves with lanes << Thats what I'm talking about RIGHT NOW!!!!
2- Hero abilities/levels << [http://forums.sc2mapster.com/resources/tutorials/16087-complete-noobs-guide-to-dota-style-maps-part-2/]
3- Hero selection/Team Selection [http://forums.sc2mapster.com/resources/tutorials/16117-complete-noobs-guide-to-dota-style-maps-part-3/]
4- Polishing Up [http://forums.sc2mapster.com/resources/tutorials/17011-complete-noobs-guide-to-dota-style-maps-part-4/#p2]
This tutorial will ONLY be covering #1. Automatically spawning waves that go kill each other. The next parts will come in the near future.
Deep Breath...Here we go..
Fire up the galaxy editor and create a new map. Make sure to use campagin dependencies so we have access to all the new units.
1- Do the terrain first. You'll need it so you can place points and regions later on. I'm going to be using 2 lanes in my map. I'm not going to cover this part because all you really need is some sort of base for both teams and a cliff to divide the lanes.
2- Starcraft 2 supports 14 players (not including neutral and hostile). We need to use 2 of those slots for the computers, leaving 12 spots for players. This means the max number of players is 6 on each team. I'll be using only 5 per team for my relatively small map. Go to map >> Player properties.Set player's 1 through 10 to 'user controlled' and set player 11 and 12 to computers.
3- Hit Ok. Plop in some photon cannons in each base for some defense and throw in a nexus at each one also. Set their owners to players 11 and 12. Its also important to make sure you have some sort of sturdy tower/cannon in each lane to take care of any lucky computer units that survive.
Getting to the good stuff
Now we need to use the trigger editor to set up our automatic spawning. Press F6 to open the trigger editor.
4- Delete the actions in the default trigger. Add in the action "text message" and type in something like "Welcome to my awesome DOTA map. Game starts in 30 seconds". We'll add more to this trigger later. For now, right click in the left side of the editor and choose "new variable". Name it "Spawning_Active" and set it to a boolean with the default value as true. We use this to turn spawning off if we want. Most DOTA maps give the players 30 seconds or so to prepare before the spawning starts.
5- Create a new trigger called "Periodic Spawn". Create the event "periodic event" and set the time to whatever you want. Remember to choose game time so faster games aren't messed up. For conditions, press 'new condition' and hit OK. Click on the "(" symbol on the far left of the bottom part of the trigger window. Click the 'variable' button and then choose our "Spawning Active" variable. Hit ok, and then press 'value 2' (it shows up in the trigger window after you hit ok). Check off true and then hit ok. Basically what this does is every X amount of seconds, our actions will happen ONLY IF spawning active is set to true.
6- Before we continue jump back to the terrain editor, press P for points, and then create 2 points where you want the units to spawn for each side. Also create 2 points, one in the middle of each lane connecting the bases. We'll see why later.
7- Now we can go back to our trigger and add the action 'create units with default facing'. click 'unit' and set it to whatever you feel like (its got to be a ground unit or it will bypass the lanes). I picked the zealot since its a relatively weak unit. Change the player to whatever player is your "west side" player (remember map properties? We're creating these units for the computers). Then set the point to the west spawn point. You can set the number of units spawned to something like 3 if you want.
8- Add the action "issue order to unit group", click on 'unit group', press the the 'function bubble' to select it, and set the unit group to last create units. Click the "(" before 'ability command' and choose order targeting point. Then set the order to attack, and the either of the points in the middle of the lanes.
9- Copy those 2 actions and change the new issue order to unit group to send the units to the other point in the middle of the lanes. What we did is make it so it spawns a squad of units and sends them to one lane, creates a second squad, and then sends them to the bottom lane.
10- Copy all 4 of those actions. Then change the players and points in the spawning actions to work for the East side.
11- Take a quick break and test the map to make sure everything is working. The 2 sides should spawn 2 squads of units and send them out evenly in each lane. (don't forget you will need to place some observers for player 1 so you can see whats going on)
12- Make 2 large regions around each of the points in the middle of the lanes. Create a trigger called "direct lane 1 units". For event, put unit enters region, set the region to the one you just made for the first lane. Then for actions, put in the action "if then else". Under If, put in 'owner of unit = 11'. Under then, put 'issue order to unit'. set the unit to 'triggering unit', the order to attack, and the point to the enemy spawn location. Copy the entire If/then action and in the duplicate, change player 11 to 12 and switch the points.
13- Now copy that entire trigger. In the duplicate trigger, name it 'direct lane 2' and change the region in the event to your 2nd region.
Wait..What the heck did I just do
Units are ordered to attack the middle of either lane. When they get there, they are ordered to attack the enemy base. If we just ordered them to attack the base from the start, they would all use the same lane to attack.
Thats it for now!
That concludes part 1 of the tutorial. Its the simple yet very important basis for all tug of war and DOTA maps. The next tutorial will cover how to actually build your heroes with abilities and levels. Dont't forget to go rate the review at the top of the thread to let me know How I'm doing.
Annnd...If you feel like it, I have a totally un-related 5 part beginners guide to the starcraft 2 galaxy editor. Look in my signature right below this.
random fact for this tutorial- Didja know that when snakes are born with two heads, they fight each other for food....talk about sibling rivalry. Heh...sort of ....I should stop typing now....
Reserved for space
let me know how I can improve, ask questions, comments etc.
I can't take you seriously with that portrait man. I'm sorry...
Good work anyway. :D
@StatusQ3: Go
Nice tutorial. Are you going to do one on the balancing aspect of tug maps? You know, how to set up unit spawns and towers so that the game is endless, while no player interfers.
@StatusQ3: Go
Lol....I used to have a zealot but now I got photoshop so I made that for myself lol...
@Obatztrara: Go I added in a quick note about placing towers in the tutorial (I might add something later to make towers go for creeps first and extra damage to heroes or something. No matter what one side will always start to win just because of whoever randomly wins the first fight. Thats what the towers are for- to clean up any extra enemies that should be dead. :)
Anyway...The bit about heroes should be out in a few days (I have final exams to study for..In fact, I should probably be doing that instead posting on sc2mapster lol)
part 2 of tutorial = done
I get to step 12, and the "if then else" isn't letting me changes the values. Any ideas of why this would happen?
Never mind I found that I can add the conditions and actions in manually, I think I was supposed to learn this from step 7 and 8.
Good to know you figured it out :D
!!! somebody voted a thumbs down on the tutorial... >.< I'm gunna find you. (kidding)
Hey, I've followed your tutorial and it works perfectly, just one thing. I have a siege tank above a ramp, but the AI doesn't seem smart enough to go up the ramp to attack the siege tank. They just bypass it and go straight towards the opponents CC.
I tried using pointers but this will just make the AI go up the ramp unnecessary, even when there's no units.
Is there anyway that points and regions can solve this? Making the AI go up the ramp only when there are units attacking them from the ramp
Edit: Found out how to do it. Used Damage source
But now the units just stay on the ramp and not move.
Brilliant Tutorial!
Though seams i have issues with it at the point 11 and on. To me seams, that they changed the command in the editor ( or i really over looked something )
Also an interesting bug, the spawn units do star go twoards the point, but dosen't matter how many, some just stops half way twoards the point.
What i plan to make is a 3 Tier type creep wave. -Tier 1 Fighters ( right at the start ) -Tier 2 Bombers ( 5 mins into the game ) -Tier 3 Light capital ships ( 10 mins into the game )
I think the rest be easy once i can get the fighters working =)
Heya, can you share us the last version of your map please ?
So we can use it directly as model for testing etc. :)
Thank you very much!
@YurneroSoloMid: Go
Here ya go, glad I still have it archived :P
Hey, super late post, but I've been following this guide and it's been great!
The links for parts 2, 3, and 4 appear to be broken. Is there another place to find them?
the search : http://www.sc2mapster.com/forums/resources/tutorials/16087-complete-noobs-guide-to-dota-style-maps-part-2/
http://www.sc2mapster.com/forums/resources/tutorials/16117-complete-noobs-guide-to-dota-style-maps-part-3/
http://www.sc2mapster.com/forums/resources/tutorials/17011-complete-noobs-guide-to-dota-style-maps-part-4/
This tutorial was excellent until i couldn't find the attack ability for step 8. (Issue order action). Is simply not there. Whats wrong?
Ok. Nevermind i found i had to add it at the (.
You can also read this dota 2 guide and find out a lot of other useful information.