I found this map that I had done more than half the work for already (a year and a half ago, during the sc2 beta) and decided to go ahead and finish it. It's a Tower Defense (yes another one), but based off of one of my two favorites back in the StarCraft Brood War days. I don't remember the name of the original but one look at the map and you'll know which one I mean. While it's inspired by the classic sc1 TD, there are, of course, some changes.
I added:
7 total builders (a default one and 6 more that unlock as you play more)
13 total towers (6 normal ones, 1 starter that starts out really strong but has no upgrade and can't be sold, and 1 per unlocked builder - ex: changeling turning into its 8th tower)
38 total waves (39 on heroic)
4 difficulties (easy - 75% hp / normal - 100% hp / hard - 150% hp / and heroic - 150% hp and almost half of the income)
a camera zoom out/in feature
I still have several things I need to fix/get done before I work the math for enemies' health/armor/speed, but the list is steadily shrinking. I'll post some pics till then.
I'm REALLY bad with the data editor, however. If anyone would be willing to help me out with a few things, I would really appreciate it. Or if you'd like to help out with anything else, test it when the time comes, or just give feedback, feel free to! Just post here or PM me :)
I'm finishing up a Tower Defense but can't seem to figure out how to change a unit type's property (health specifically) in triggers! The map is playable with up to 6 people but I want to have the health scale with the number of players. I also have 3 difficulties (75%, 100%, and 150% hp) that I need this for.
ex.
1. Overlord
Easy 1p: 75 hp / Normal 1p: 100 hp / Hard 1p: 150 hp
Easy 2p: 150 hp / Normal 2p: 200 hp / Hard 2p: 300 hp
Easy 3p: 225 hp / Normal 3p: 300 hp / Hard 3p: 450 hp
Easy 4p: 300 hp / Normal 4p: 400 hp / Hard 4p: 600 hp
Easy 5p: 375 hp / Normal 5p: 500 hp / Hard 5p: 750 hp
Easy 6p: 450 hp / Normal 6p: 600 hp / Hard 6p: 900 hp
I've seen the difficulty variables, but have no idea how to use any of the difficulty triggers already in the editor, and couldn't find a tutorial for it
But is this just to find in which hex tile a click lies? Then I would just use a little math based on that point's coordinates to compute the hex tiles, don't mess with 500000 regions.
Yes. I never mess with coordinates, so have no idea how I could set this up..
you completely missed what I need. I know to set the point to a variable, and my point for destination IS the center of region x. But i need region x to be the CLOSEST region to the point variable that I'm moving
I still haven't figured out how to move a point to the center of the region it's in. I thought I remembered "closest (region, point, unit, etc)" things in the trigger but I don't see any of them now. I've looked through every point and region possibility under Move Point and I just don't see how
Why won't my dialog's title show up ON TOP OF its custom image? I set the image first, THEN the title, but its still an issue (see attached picture). The image i'm using is "assets\textures\ui_battlenet_tooltip_outline.dds"
How do you make a trigger for "kill all units of type (unit type) and owned by player (#)"?
I want each unit to have a health bar. I know to attach a dialog to the unit, and probably use a progress bar, but how do I link the dialog/progress bar to the unit's health?
What's the best way to set up unit variables when there's a lot of units on the map? The best way I can think of is to do 8 variables per player (one for each of the 8 units) and make it an array size 100 or something so big they'll never hit the max (the game uses small armies). I don't know if there's a better way for this though. The goal is to get each unit set to a unique variable/array, for stats and movement purposes
and of course, still need the movement/tick system stuff mentioned in the post above more than anything
thanks again for all the help
Ive looked around for images I could DL to use as dialog backgrounds, but I can't seem to find anything, nor do I know if there's any other ones than the 3 default/race ones already in the editor.. If you know of any, please post them here!
Also, I'm not sure how to fix this text issue. When buying units on my map-in-progress, it looks like the image below (with the recon moused over)
However the text is really small. I want to stretch it out vertically without having to increase the dialog size horizontally because then it'd be too big. And I also want to keep the stat numbers (when I add them) in a row, so I can't really increase the text size horizontally..
I tried making a beam but it wouldnt work (i probably did something wrong) but for now, i can do waypoints (or whatever it is where, in the normal game, if you right click, then shift-right click, the unit will go where you first clicked THEN where you shift-clicked, and it shows those lines). However I can't figure out how to make part of the movement system. What I've done so far is:
-if a unit is ordered to move, and showing replay = false, order the unit to halt (he doesn't even turn :D)
-set the target point for the order as a variable
-DONT KNOW HOW TO move that point to the center of the region it's in (I have 1 region in each hex)
-once that point is centered, i also DONT KNOW HOW to get the game to pick which hexes to order the unit through on its way to the targeted hex. I know one of the deciding factors is if there is already a unit or elevation on the hex, but other than that...
-But once both of those are figured out, I'll create a point int he center of each hex it moves through then as the replay plays out, order the unit to move
as for the tick system...
If I understand your explanation right, you're saying to have [number of ticks] = [number of units in game] x [greatest possible actions for one unit]? For example, a fighter plane with one of the buffs has 12 movement and 3 shots per turn, so [NumUnits]x15? I'm still pretty confused by your description, but once I know what to do in 1 tick, it'll be much easier. The main thing I need to avoid is something like (ex): 2 units, one with 6 movement, the other with 3. They take turns moving until both have moved 3, and then the unit with 6 movement moves its other 3. I need the unit with 6 to move 2 hexes every time the unit with 3 moves 1
(still need the 2 questions up top, but also)
Okay so I'm finally (mostly) done with less important stuff - dialogs, pre-game, assigning players to maps etc. Now it's time for the GAME game part of it! However I've already got lots of questions >.<
The game I'm working on is called BattleDex. It's already out there as an independent game but no one knows about it so I'm hitting two birds with one stone while I learn more about mapmaking. But here's the details:
Turn-based, but not like player 1 > p2 > p1 > etc. Instead BOTH players issue their orders at the same time (with a 2min timer) and hit a submit button when they're done. When both players are done, the game plays out that turn as a Replay and both players' units move and act at the same time. Once the replay's over, the next turn begins and players start giving their next orders.
The replay is set up as a 100-tick system. So for example if a unit has 3 movement, it will move once between ticks 1-33, 34-66, and 67-100. If it attacks twice per turn, it'll shoot once between 1-50, and 51-100.
3. I can't even begin to think of a good way to set up the tick system above though. Any ideas?
4. Also, when a unit is ordered to move, it looks like the attached picture (with the number being how many turns itll take to get there).
a. Is there any actor/doodad I could use to make those blue arrows, or whats the best way to do that?
b. How do you move a point to the center of a region it's in? I have a trigger set to where "WHEN a unit is ordered to move IF replay = false DO order triggering unit to stop and set the target of triggering order to a point variable." I also have a region in each hex. However I don't know how to move the point variable to the center of whichever region it's in
5. What's the best way to set up unit variables when there's a lot of units on the map? The best way I can think of is to do 8 variables per player (one for each of the 8 units) and make it an array size 100 or something so big they'll never hit the max (the game uses small armies). I don't know if there's a better way for this though. The goal is to get each unit set to a unique variable/array, for stats and movement purposes
About converting JPG to TGA, there are lots of online image editing tools that will allow you to upload any image, modify it, and save it to any format you want for free (JPG, TGA, PNG, GIF, whatever...). I use them occasionally, especially when I'm lazy about re-installing an image editing tool after a clean install of my OS... Some of these online tools are really really good.
1. Whats one of those sites? I've been wanting to convert several images without having to download anything
About the supply depot, you can use "any unit is selected" as the event, then add a condition "unit-type of triggering unit is supply depot" (and also "owner of triggering unit is player X", if needed).
This works perfectly, ty! I knew to set owner of unit, but forgot that what i was looking for was called the unit TYPE
About string vs text, as far as I know strings are mostly used for short text references (field values, names, IDs,...). Text, as the name says, contains text... of any length and format. So basically, if you want the name of a unit, use strings. If you want to describe an object, use text. You can use strings in a text, not vice-versa.
Makes sense! This'll help a lot for the stats window. Much easier to set 1 text than 1 string that's a combination of a tonnn of other strings
I'm quite surprised by the doodads limitation though, I thought it was higher than 10k... I'm also surprised some of the doodads you placed were removed without notice, I would have expected the editor to rather crash, or pop-up an error message when saving the map. Well, to be honest it's rare to see maps with 10k doodads anyway, I guess it will really lag if you use so much of them... You definitely need to optimize this, Zelda's ideas were not bad at all. Have you already searched in the forums for anything related to hexagonal tiles?
2. Yeah, I have, but little to no help. Is it possible to combine all of the doodads in one "map" into one actor, doodad, unit, or anything else?
Im pretty sure there's a way to make a custom unit (or maybe a custom doodad) out of many doodads.. I'll look into it
I could actually do the custom terrain idea. That'd also fix my poblem about doing elevation I believe. Is there a tutorial for importing custom terrain pictures/tilesets and would I be able to make them hexagons rather than squares or circles?
Still need to know about testing with multiple players
whats a good (free) program for converting jpg to tga?
When should I use a string vs text? Is text basically a string-constant?
How do you say the trigger event "Any Supply Depot is selected" without adding every supply depot on the map to a unit group? Or is that the only way?
To simulate 8 players, you can add units for each player in your map, then modify alliances between you and these players to "share control".
This will work for almost all the testing, however my map is set to have 8 players max, with 12 total "maps" (8 identical 1player maps and 4 different 1v1 maps). I have it set so that players choose which game type they play. So if 1 player selects 1v1, they have to wait until a 2nd player selects it, then the 2 are assigned to one of the 4 1v1 maps. But because of this, there's no way to make sure this trigger works right. Because the first half of it does, im 99% sure it's fine, but is there any way to test this without uploading it to bnet?
The manager shows my doodads at an even 10,000, so I'm assuming that's the limit. Since 9,600 of that 10k is the hex doodad (protoss energy line blue) is there any way to fix this? Could I combine a ton of doodads into one, or make a custom unit with the actor of several of them? (i know nothing about the data editor)
About your screenshot, did you modify the terrain height somehow? Did you create your map with random height enabled? If that's the case, I wouldn't worry. The doodads you use for your grid are flat, so if you put them on parts of terrain with slight height variations, the doodads won't show entirely, or won't show at all because they're kind of buried beneath the ground level. But it's still there. To prevent this from happening, modify the properties of each of your grid doodads (select them + press Enter) to make sure their height is >0 (0.1 or 0.2 should be high enough).
Nope, the missing doodads are gone for good, not just buried.
How do I test my map with 8 players rather than just me? Is there any way for me to play as 8 different guys while testing the map?
still need to know how to set a dialog button's rollover image
EDIT: nvm on this one, it's called the Hover image, not rollover image
Is there a max number of doodads a map can hold? I copied/pasted my single-player map's doodads (the hex grid and its foliage) 7 times and it looked fine. However the next time i opened my map, it looked like this:
0
I found this map that I had done more than half the work for already (a year and a half ago, during the sc2 beta) and decided to go ahead and finish it. It's a Tower Defense (yes another one), but based off of one of my two favorites back in the StarCraft Brood War days. I don't remember the name of the original but one look at the map and you'll know which one I mean. While it's inspired by the classic sc1 TD, there are, of course, some changes.
I added:
7 total builders (a default one and 6 more that unlock as you play more)
13 total towers (6 normal ones, 1 starter that starts out really strong but has no upgrade and can't be sold, and 1 per unlocked builder - ex: changeling turning into its 8th tower)
38 total waves (39 on heroic)
4 difficulties (easy - 75% hp / normal - 100% hp / hard - 150% hp / and heroic - 150% hp and almost half of the income)
a camera zoom out/in feature
I still have several things I need to fix/get done before I work the math for enemies' health/armor/speed, but the list is steadily shrinking. I'll post some pics till then.
I'm REALLY bad with the data editor, however. If anyone would be willing to help me out with a few things, I would really appreciate it. Or if you'd like to help out with anything else, test it when the time comes, or just give feedback, feel free to! Just post here or PM me :)
0
I'm finishing up a Tower Defense but can't seem to figure out how to change a unit type's property (health specifically) in triggers! The map is playable with up to 6 people but I want to have the health scale with the number of players. I also have 3 difficulties (75%, 100%, and 150% hp) that I need this for.
ex.
1. Overlord
Easy 1p: 75 hp / Normal 1p: 100 hp / Hard 1p: 150 hp
Easy 2p: 150 hp / Normal 2p: 200 hp / Hard 2p: 300 hp
Easy 3p: 225 hp / Normal 3p: 300 hp / Hard 3p: 450 hp
Easy 4p: 300 hp / Normal 4p: 400 hp / Hard 4p: 600 hp
Easy 5p: 375 hp / Normal 5p: 500 hp / Hard 5p: 750 hp
Easy 6p: 450 hp / Normal 6p: 600 hp / Hard 6p: 900 hp
I've seen the difficulty variables, but have no idea how to use any of the difficulty triggers already in the editor, and couldn't find a tutorial for it
0
Yes. I never mess with coordinates, so have no idea how I could set this up..
0
you completely missed what I need. I know to set the point to a variable, and my point for destination IS the center of region x. But i need region x to be the CLOSEST region to the point variable that I'm moving
0
I still haven't figured out how to move a point to the center of the region it's in. I thought I remembered "closest (region, point, unit, etc)" things in the trigger but I don't see any of them now. I've looked through every point and region possibility under Move Point and I just don't see how
0
just found this. Is there any playable version of it? Looks epic!
0
Why won't my dialog's title show up ON TOP OF its custom image? I set the image first, THEN the title, but its still an issue (see attached picture). The image i'm using is
"assets\textures\ui_battlenet_tooltip_outline.dds"
How do you make a trigger for "kill all units of type (unit type) and owned by player (#)"?
I want each unit to have a health bar. I know to attach a dialog to the unit, and probably use a progress bar, but how do I link the dialog/progress bar to the unit's health?
What's the best way to set up unit variables when there's a lot of units on the map? The best way I can think of is to do 8 variables per player (one for each of the 8 units) and make it an array size 100 or something so big they'll never hit the max (the game uses small armies). I don't know if there's a better way for this though. The goal is to get each unit set to a unique variable/array, for stats and movement purposes
and of course, still need the movement/tick system stuff mentioned in the post above more than anything
thanks again for all the help
0
believe it or not, i did actually search the tutorial forum as well as the other forums. Didn't find that one however, thanks a ton!
0
Ive looked around for images I could DL to use as dialog backgrounds, but I can't seem to find anything, nor do I know if there's any other ones than the 3 default/race ones already in the editor.. If you know of any, please post them here!
Also, I'm not sure how to fix this text issue. When buying units on my map-in-progress, it looks like the image below (with the recon moused over)
However the text is really small. I want to stretch it out vertically without having to increase the dialog size horizontally because then it'd be too big. And I also want to keep the stat numbers (when I add them) in a row, so I can't really increase the text size horizontally..
0
I ended up just downloading Gimp for images..
I tried making a beam but it wouldnt work (i probably did something wrong) but for now, i can do waypoints (or whatever it is where, in the normal game, if you right click, then shift-right click, the unit will go where you first clicked THEN where you shift-clicked, and it shows those lines). However I can't figure out how to make part of the movement system. What I've done so far is:
-if a unit is ordered to move, and showing replay = false, order the unit to halt (he doesn't even turn :D)
-set the target point for the order as a variable
-DONT KNOW HOW TO move that point to the center of the region it's in (I have 1 region in each hex)
-once that point is centered, i also DONT KNOW HOW to get the game to pick which hexes to order the unit through on its way to the targeted hex. I know one of the deciding factors is if there is already a unit or elevation on the hex, but other than that...
-But once both of those are figured out, I'll create a point int he center of each hex it moves through then as the replay plays out, order the unit to move
as for the tick system...
If I understand your explanation right, you're saying to have [number of ticks] = [number of units in game] x [greatest possible actions for one unit]? For example, a fighter plane with one of the buffs has 12 movement and 3 shots per turn, so [NumUnits]x15? I'm still pretty confused by your description, but once I know what to do in 1 tick, it'll be much easier. The main thing I need to avoid is something like (ex): 2 units, one with 6 movement, the other with 3. They take turns moving until both have moved 3, and then the unit with 6 movement moves its other 3. I need the unit with 6 to move 2 hexes every time the unit with 3 moves 1
0
(still need the 2 questions up top, but also)
Okay so I'm finally (mostly) done with less important stuff - dialogs, pre-game, assigning players to maps etc. Now it's time for the GAME game part of it! However I've already got lots of questions >.<
The game I'm working on is called BattleDex. It's already out there as an independent game but no one knows about it so I'm hitting two birds with one stone while I learn more about mapmaking. But here's the details:
Turn-based, but not like player 1 > p2 > p1 > etc. Instead BOTH players issue their orders at the same time (with a 2min timer) and hit a submit button when they're done. When both players are done, the game plays out that turn as a Replay and both players' units move and act at the same time. Once the replay's over, the next turn begins and players start giving their next orders.
The replay is set up as a 100-tick system. So for example if a unit has 3 movement, it will move once between ticks 1-33, 34-66, and 67-100. If it attacks twice per turn, it'll shoot once between 1-50, and 51-100.
3. I can't even begin to think of a good way to set up the tick system above though. Any ideas?
4. Also, when a unit is ordered to move, it looks like the attached picture (with the number being how many turns itll take to get there).
a. Is there any actor/doodad I could use to make those blue arrows, or whats the best way to do that?
b. How do you move a point to the center of a region it's in? I have a trigger set to where "WHEN a unit is ordered to move IF replay = false DO order triggering unit to stop and set the target of triggering order to a point variable." I also have a region in each hex. However I don't know how to move the point variable to the center of whichever region it's in
5. What's the best way to set up unit variables when there's a lot of units on the map? The best way I can think of is to do 8 variables per player (one for each of the 8 units) and make it an array size 100 or something so big they'll never hit the max (the game uses small armies). I don't know if there's a better way for this though. The goal is to get each unit set to a unique variable/array, for stats and movement purposes
0
1. Whats one of those sites? I've been wanting to convert several images without having to download anything
This works perfectly, ty! I knew to set owner of unit, but forgot that what i was looking for was called the unit TYPE
Makes sense! This'll help a lot for the stats window. Much easier to set 1 text than 1 string that's a combination of a tonnn of other strings
2. Yeah, I have, but little to no help. Is it possible to combine all of the doodads in one "map" into one actor, doodad, unit, or anything else?
0
Im pretty sure there's a way to make a custom unit (or maybe a custom doodad) out of many doodads.. I'll look into it
I could actually do the custom terrain idea. That'd also fix my poblem about doing elevation I believe. Is there a tutorial for importing custom terrain pictures/tilesets and would I be able to make them hexagons rather than squares or circles?
Still need to know about testing with multiple players
whats a good (free) program for converting jpg to tga?
When should I use a string vs text? Is text basically a string-constant?
How do you say the trigger event "Any Supply Depot is selected" without adding every supply depot on the map to a unit group? Or is that the only way?
0
This will work for almost all the testing, however my map is set to have 8 players max, with 12 total "maps" (8 identical 1player maps and 4 different 1v1 maps). I have it set so that players choose which game type they play. So if 1 player selects 1v1, they have to wait until a 2nd player selects it, then the 2 are assigned to one of the 4 1v1 maps. But because of this, there's no way to make sure this trigger works right. Because the first half of it does, im 99% sure it's fine, but is there any way to test this without uploading it to bnet?
The manager shows my doodads at an even 10,000, so I'm assuming that's the limit. Since 9,600 of that 10k is the hex doodad (protoss energy line blue) is there any way to fix this? Could I combine a ton of doodads into one, or make a custom unit with the actor of several of them? (i know nothing about the data editor)
Nope, the missing doodads are gone for good, not just buried.
0
How do I test my map with 8 players rather than just me? Is there any way for me to play as 8 different guys while testing the map?
still need to know how to set a dialog button's rollover image
EDIT: nvm on this one, it's called the Hover image, not rollover image
Is there a max number of doodads a map can hold? I copied/pasted my single-player map's doodads (the hex grid and its foliage) 7 times and it looked fine. However the next time i opened my map, it looked like this: