AoW_Hun7312
I'm a magic man, I've got magic hands.
- Reaction score
- 76
I've only seen one mazing tutorial on these forums, so I think I'll go ahead and make one too.
If you have not read Jindo's mazing tutorial, DO NOT read this one.. yet.
_________________________________
The Basics
001
1. Get a feel of your maze.
1a Does it have a good idea?
1b Is it original?
1c Does it even make any sense? (I've seen ALOT of mazes like this, most of the mazes with no real story line, was shit. Thought out maze > Rushed Map with absolutely NO meaning, and no story line.
1d Learn GUI. I recommend going to the tutorial index.
2. Have something OTHER then dodging creeps.
2a Something unique? Don't copy something out of another maze. I've seen lots of original ideas. One maze I played had a unique idea of memorization. You have to watch the circle of powers blink, then after its done, repeat the pattern.
2b A unique terrain, style, feel? Does the maze have something with its surrondings that other mazes do not?
_________________________________
Triggering
002
Triggering is a VERY important part of making a maze, you need triggers to make units patrol, gates open, units die, make units attack, basically the entire maze.
For making it so if a unit goes off the path, you eighter make a region, then put it in use with this trigger.
Just replace the Footman class with your unit type mazer.
OR you could go with this trigger, it checks the terrain under the unit every 0.03 seconds.
Test_Point is a Point variable
Test_Group is a Unit-Group variable.
Replace Sunken Ruins - Sand with your type of terrain that you do not want a mazer to enter.
The draw backs of each trigger; The region trigger requires MANY regions, usauly taking much time. The terrain checking trigger does not take alot of time, but if you cut a corner, or touch the border of any terrain, your dead.
Attack Ground Trigger.
Test_Point is again, a point variable, and 2.00 can be replaced. But you must edit the unit attack speed.
This, the trigger I am about to present, is the trigger EVERYONE wants in their mazes (I dont know why, I like it too tho )
Test Point's are point variables.
Test_Group is a unit type variable set in Map Initialization.
off set by 13.00 is just the speed. You can edit it to how high, and how low you want.
And of course there's the turning trigger.
Test_Point is a point variable.
You can delete the unneeded players.
For unit patrols use this,
Replace YourUnit with any unit you want to patrol. To have multiple units keep on patrolling paste Set Test_Point and Custom script on the same spots as last patrol.
Set
Unit
Custom
For patroling a unit to more then one spot, you would use this:
For that trigger you would need 3 regions, and one unit patrolling in them (3 would work)
If the unit entered one region, it would move to the next one, and enter the other one, moving to the next one etc.
To make a gate open, with an item, no matter where it is in the inventory, and how many you have, you would use this.
This would check the units inventory from 1-6 checking for the item of type (replaceable) and makes sure the gate is not open, so it does not remove all the items.
For killing a unit with collision you would give the unit you use permenant immolation, then remove the buff images. Then set the damage to 999999 or something. Then change the AoE to the size of the unit (estimate) then test repeatedly till when you die, you actually touch the unit.
_________________________________
Custom Script
003
Since I know that people will ask this, here's my breif description of the use of 'custom script'
_________________________________
The Path
004
The path for a maze is VERY important, with out an intresting, or a bit windy path, a maze is a bunch of good ideas, gone to waste, and is un-usable.
An example of a good maze path would be
If you choose a diagnal path, like grass, It would be wise to make the diagnol, a 2 squared path. As the terrain checking trigger would most likely kill any mazer that crosses it.
_________________________________
So, Your Out of Ideas?
005
What I do when I'm out of ideas is do what jindo told me to do (in his tutorial)
Breath in, Breath out. Now think of something. Anything. Slimy, squishy, crunchy, grass, path, steam rolling a tank over a chicken.
Now, this should give you a good idea. Maybe some thing that spawns rows of tanks that goes down a path, and you have to dodge them?
If you have not read Jindo's mazing tutorial, DO NOT read this one.. yet.
Index
1. The basics, if you decided to read ahead (Ctrl+f code is 001)
2. Triggering (Ctrl+f code is 002)
3. Custom Script (Ctrl+f code is 003)
4. The Path of the Maze (Ctrl+f code is 004)
5. Out of Ideas? (Ctrl+f code is 005)
Credits to this tutorial goes to Jindo, him, and his maze making tutorial helped me learn how to make mazes, and learn GUI (amazingly..)
2. Triggering (Ctrl+f code is 002)
3. Custom Script (Ctrl+f code is 003)
4. The Path of the Maze (Ctrl+f code is 004)
5. Out of Ideas? (Ctrl+f code is 005)
Credits to this tutorial goes to Jindo, him, and his maze making tutorial helped me learn how to make mazes, and learn GUI (amazingly..)
_________________________________
The Basics
001
1. Get a feel of your maze.
1a Does it have a good idea?
1b Is it original?
1c Does it even make any sense? (I've seen ALOT of mazes like this, most of the mazes with no real story line, was shit. Thought out maze > Rushed Map with absolutely NO meaning, and no story line.
1d Learn GUI. I recommend going to the tutorial index.
2. Have something OTHER then dodging creeps.
2a Something unique? Don't copy something out of another maze. I've seen lots of original ideas. One maze I played had a unique idea of memorization. You have to watch the circle of powers blink, then after its done, repeat the pattern.
2b A unique terrain, style, feel? Does the maze have something with its surrondings that other mazes do not?
_________________________________
Triggering
002
Triggering is a VERY important part of making a maze, you need triggers to make units patrol, gates open, units die, make units attack, basically the entire maze.
For making it so if a unit goes off the path, you eighter make a region, then put it in use with this trigger.
Code:
Sample Trigger
Events
Unit - A unit enters Test Region <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Footman
Actions
Unit - Kill (Triggering unit)
Just replace the Footman class with your unit type mazer.
OR you could go with this trigger, it checks the terrain under the unit every 0.03 seconds.
Code:
Kill
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in Test_Group and do (Actions)
Loop - Actions
Set Temp_Point1 = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at Test_Point) Equal to Sunken Ruins - Sand
Then - Actions
Unit - Kill (Picked unit)
Custom script: call RemoveLocation(udg_Test_Point)
Else - Actions
Custom script: call RemoveLocation(udg_Test_Point)
Test_Group is a Unit-Group variable.
Replace Sunken Ruins - Sand with your type of terrain that you do not want a mazer to enter.
The draw backs of each trigger; The region trigger requires MANY regions, usauly taking much time. The terrain checking trigger does not take alot of time, but if you cut a corner, or touch the border of any terrain, your dead.
Attack Ground Trigger.
Code:
Attack Ground
Events
Time - Every 2.00 seconds of game time
Conditions
Actions
Set Test_Point = (Center of attack ground 1 <gen>)
Unit - Order Rabbit Barfing Turtle 0013 <gen> to Attack Ground Test_Point
Custom script: call RemoveLocation(udg_Test_Point)
This, the trigger I am about to present, is the trigger EVERYONE wants in their mazes (I dont know why, I like it too tho )
Code:
Sliding
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in Test_Group and do (Actions)
Loop - Actions
Set Test_Point = (Position of (Picked unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at Test_Point) Equal to Sunken Ruins - Large Bricks
Then - Actions
Set Test_Point2 = (Test_Point offset by 13.00 towards (Facing of (Picked unit)) degrees)
Unit - Move (Picked unit) instantly to Test_Point2
Custom script: call RemoveLocation(udg_Test_Point2)
Else - Actions
Do nothing
Custom script: call RemoveLocation(udg_Test_Point)
Test Point's are point variables.
Test_Group is a unit type variable set in Map Initialization.
off set by 13.00 is just the speed. You can edit it to how high, and how low you want.
And of course there's the turning trigger.
Code:
Turning
Events
Unit - A unit owned by Player 1 (Red) Is issued an order targeting a point
Unit - A unit owned by Player 2 (Blue) Is issued an order targeting a point
Unit - A unit owned by Player 3 (Teal) Is issued an order targeting a point
Unit - A unit owned by Player 4 (Purple) Is issued an order targeting a point
Unit - A unit owned by Player 5 (Yellow) Is issued an order targeting a point
Unit - A unit owned by Player 6 (Orange) Is issued an order targeting a point
Unit - A unit owned by Player 7 (Green) Is issued an order targeting a point
Unit - A unit owned by Player 8 (Pink) Is issued an order targeting a point
Unit - A unit owned by Player 9 (Gray) Is issued an order targeting a point
Unit - A unit owned by Player 10 (Light Blue) Is issued an order targeting a point
Unit - A unit owned by Player 11 (Dark Green) Is issued an order targeting a point
Conditions
((Triggering unit) has an item of type Socks) Equal to True
Actions
Set Test_Point = (Target point of issued order)
Unit - Make (Triggering unit) face Test_Point over 0.00 seconds
Custom script: call RemoveLocation(udg_Test_Point)
Test_Point is a point variable.
You can delete the unneeded players.
For unit patrols use this,
Code:
Patrol
Events
Map initialization
Conditions
Actions
Set Temp_Point1 = (Center of Patrol 3 <gen>)
Unit - Order YourUnit <gen> to Patrol To Temp_Point1
Custom script: call RemoveLocation(udg_Temp_Point1)
Replace YourUnit with any unit you want to patrol. To have multiple units keep on patrolling paste Set Test_Point and Custom script on the same spots as last patrol.
Set
Unit
Custom
For patroling a unit to more then one spot, you would use this:
Code:
Patrol Multiple
Events
Map initialization
Conditions
Actions
Set Test_Point = (Center of (YouRegion))
Unit - Order (YourUnit) to Move To Test_Point
Custom script: call RemoveLocation(udg_Test_Point)
Code:
Patrol Multiple 2
Events
Unit - A unit enters Destination Of Issued Move <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Unit Entering
Actions
Set Test_Point = (Center of (Next Move))
Unit - Order (Your Unit) to Move To (Center of (Test_Point))
Custom script: call RemoveLocation(udg_Test_Point)
Code:
Patrol Go Back To Beginning
Events
Unit - A unit enters Destination Of Issued Move <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Unit Entering
Actions
Set Test_Point = (Center of (Beginning Region))
Unit - Order (Your Unit) to Move To (Center of (Test_Point))
Custom script: call RemoveLocation(udg_Test_Point)
Code:
Repeat
Events
Unit - A unit enters Beginning <gen>
Conditions
(Unit-type of (Triggering unit)) Equal to Unit Entering
Actions
Set Test_Point = (Center of (Next Move))
Unit - Order (Your Unit) to Move To (Center of (Test_Point))
Custom script: call RemoveLocation(udg_Test_Point)
For that trigger you would need 3 regions, and one unit patrolling in them (3 would work)
If the unit entered one region, it would move to the next one, and enter the other one, moving to the next one etc.
To make a gate open, with an item, no matter where it is in the inventory, and how many you have, you would use this.
Code:
Open Gate1
Events
Unit - A unit enters Gate1 <gen>
Conditions
Actions
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Item-type of (Item carried by (Triggering unit) in slot (Integer A))) Equal to Sacred Relic
(Massive Ruined Gate (Vertical) 0000 <gen> is alive) Equal to True
Then - Actions
Item - Remove (Item carried by (Triggering unit) in slot (Integer A))
Destructible - Open Massive Ruined Gate (Vertical) 0000 <gen>
Trigger - Turn off (This trigger)
Else - Actions
Do nothing
This would check the units inventory from 1-6 checking for the item of type (replaceable) and makes sure the gate is not open, so it does not remove all the items.
For killing a unit with collision you would give the unit you use permenant immolation, then remove the buff images. Then set the damage to 999999 or something. Then change the AoE to the size of the unit (estimate) then test repeatedly till when you die, you actually touch the unit.
_________________________________
Custom Script
003
Since I know that people will ask this, here's my breif description of the use of 'custom script'
Leak: Noun.
A leak is anything in WE that is not removed after use, if it has no other use.
Things that have generally no use, after it is used are; points, unit-groups, and special effects. These are removed in GUI within 'Custom Scripts' , or for special effects blizzard's already made GUI action.
For unit groups you would use Custom script: call DestroyGroup(udg_Unit_Group)
replacing Unit_Group with the name of your unit group variable.
For points you would use Custom script: call RemoveLocation(udg_Temp_Point) replacing Temp_Point with the name of your point variable.
For special effects you would use the action Special Effect - Destroy (Last created special effect)
If you do not clear up the leaks, it leads to lag, server splits, and on other cases FATAL errors
There are also leaks, that I do not want to list.
_________________________________
The Path
004
The path for a maze is VERY important, with out an intresting, or a bit windy path, a maze is a bunch of good ideas, gone to waste, and is un-usable.
An example of a good maze path would be
If you choose a diagnal path, like grass, It would be wise to make the diagnol, a 2 squared path. As the terrain checking trigger would most likely kill any mazer that crosses it.
_________________________________
So, Your Out of Ideas?
005
What I do when I'm out of ideas is do what jindo told me to do (in his tutorial)
Breath in, Breath out. Now think of something. Anything. Slimy, squishy, crunchy, grass, path, steam rolling a tank over a chicken.
Now, this should give you a good idea. Maybe some thing that spawns rows of tanks that goes down a path, and you have to dodge them?
____________________________________
Almost Complete
Status: Almost Complete
Almost Complete
Status: Almost Complete