• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Tower Defense] -Not Yet Named Tower Defense-

Status
Not open for further replies.
Level 10
Joined
Feb 22, 2008
Messages
619
I haven't been on this site in a while, so please forgive and make me aware of any major format flaws.

There are a few special things about this Tower Defense map, including but not limited to;
  • The map is different every time you play. Rather than having the same path, a new maze is generated for you.
  • The defense is more geared towards clever, kind of, puzzles, rather than simply slowing, stunning and dealing damage to different kinds of units with your towers. This includes towers which do things such as act as teleporters, operable gates, and the such like.
  • It is one of the kinds of maps where instead of having an unalterable path, your defense and the path that the mobs walk on are one in the same.

This map is in early alpha and the triggers and units are pretty ugly. So far I've finished the maze generation (which was the least menial and most difficult task), camera angles, some UI (for example, placing and deleting towers and walls, maze generation speed to not crash slow computers, etc.), and I've worked on a couple of towers.

I'm posting this map here looking for some help from the community to get it going again, rather than to present a finished or almost finished project. I was unsure whether to post it here or in the World Editor Help Zone (please move if necessary).

Some things I'd like help with for the map are;
  • Cleaning up triggers, fixing leaks and getting rid of useless bits.
  • Some tasks I can't figure out a good way to do, for example making the map more strictly grid-based (not allowing for towers to be placed on the diagonals).
  • Probably the most substantial step, getting help creating the various tower and unit types.

I've got tower concepts pretty much nailed down, so mostly I want help with actually creating them in the editor. The units I've thought about less, so I'd love some input and help with anyone who has experience with that kind of unit design.

Please try out the map and see what you think. It's nowhere near playable, but you can get a good idea of where I'm going with it (I think).
If you do try it, you'll notice that after the map is finished generating, units come from a spawn point and hit the spot in the middle. That's something I've barely even gotten around to addressing, but they're supposed to walk into the center and disappear and subsequently reduce the health of the spot in the middle by 1.

If you do decide to try to help at all but have questions about what some triggers are supposed to do, feel free to ask. Some of them are pretty weird and jumbled and probably not made very well.

If you're not going to help, feel free to tell me why, but I don't want this to become a map-bashing thread. I'd love PMs with specific questions, too. It'd be great if it could be kept clean, with maximal constructive criticism and minimal flaming. Thanks :wink:

EDIT:
The "maze_generate_pre-alpha_experimental" contains some stuff I'm trying out to change the way the map generates mazes. Check it out if you want to, but everything I've mentioned above is related to the default map at the moment.
 

Attachments

  • maze_generate_pre-alpha.w3x
    59 KB · Views: 60
  • maze_generate_pre-alpha_experimental.w3x
    73 KB · Views: 39
Last edited:
Level 25
Joined
Jul 10, 2006
Messages
3,315
Haven't had a look yet, but an idea for:
Some tasks I can't figure out a good way to do, for example making the map more strictly grid-based (not allowing for towers to be placed on the diagonals).

When a build order is given, store the coordinates of the target location. Convert to integer and use modulo (with 128) to check if it is on the yellow grid.

EDIT: Had a look at your code, and you have quite a lot of memory leaks. Take a look here on how to fix them: http://www.hiveworkshop.com/forums/triggers-scripts-269/things-leak-35124/ (EDIT: I see you are aware of them)

Such a slow maze generator is not a good idea. You should use an algorithm to generate the maze using coordinates and lists instead of units and groups, it would get done instantly on any computer capable of running warcraft.

In terms of game balance, the ability to place walls can be over-powered. You also need to address the possibility of paths being blocked off, trapping the creeps in a section.
 
Level 10
Joined
Feb 22, 2008
Messages
619
When a build order is given, store the coordinates of the target location. Convert to integer and use modulo (with 128) to check if it is on the yellow grid.
Interesting, I'll see if I can manage to do that. If not, I'll get back to you with a PM? I'll see if I can work on it tonight (didn't expect such fast replies).

Such a slow maze generator is not a good idea. You should use an algorithm to generate the maze using coordinates and lists instead of units and groups, it would get done instantly on any computer capable of running warcraft.
Yeah, you're right, it's pretty slow. I tried to use as many variables as I could. Have any more specific suggestions when you say coordinates and lists? I'll see if I can figure what you mean when I work on the grid placement system.

In terms of game balance, the ability to place walls can be over-powered. You also need to address the possibility of paths being blocked off, trapping the creeps in a section.
You're right, it can, but that's the main idea of this game. Most of the towers will be things that, for example, redirect units. Towers which actually kill will be expensive, so you'll have to manage them really well. I think I can find a way to balance this out. Hopefully, since it's pretty central to the concept of the map.
 
Level 25
Joined
Jul 10, 2006
Messages
3,315
A tower defense that doesn't focus 100% of killing things? Now I'm interested :)

Feel free to PM/VM me or create a thread in the WEHZ/T&S with any issues you're having.

On the grid placement:
Store each grid location's state (wall/notwall/etc) in a hashtable using the grid coordinates (converted to integer and divided by 128).
When comparing the states of two adjacent blocks, you look at this value in the hashtable.

Usually, the way to generate such a path would be to use a recursive function of some sort, but unfortunately we can't do that in GUI.

To bypass this, we can save each "border location" (where to generate next) in an array list.
BorderId = BorderId + 1
BorderX[BorderId] = x of loc1
BorderY[BorderId] = y of loc1

BorderId = BorderId + 1
BorderX[BorderId] = x of loc2
BorderY[BorderId] = y of loc2
etc

Then we loop from 1 to BorderId in each iteration, and reset BorderId so that we can repopulate this list.
 
Seems pretty neat. I was saddened that I couldn't do anything once the maze was generated. :p

This map looks like it has pretty nice potential, and I like the camera options. Since this game is not your-everyday-tower-defense, you should add some hints or guidance in the first spawns (and make the first spawns really easy to kill). Some TD's jump right into the action, but that can be really frustrating and can turn one off from the game. I know you haven't implemented the waves yet, but it is just a tip for when you do. :)

Anyway, I look forward to the map. Good luck on it!
 
Level 10
Joined
Feb 22, 2008
Messages
619
This map looks like it has pretty nice potential, and I like the camera options. Since this game is not your-everyday-tower-defense, you should add some hints or guidance in the first spawns (and make the first spawns really easy to kill). Some TD's jump right into the action, but that can be really frustrating and can turn one off from the game. I know you haven't implemented the waves yet, but it is just a tip for when you do. :)

I'm glad you like the camera options, they were a bit of a flavourful fling. Though, with that input, I may integrate them into the game a little deeper with some UI buttons.
You're totally right about the learning curve aspect. I hate TDs that are impossible to play unless you've played every iteration that came before it. Do you have any specific suggestions to make it easier in the beginning? What do you think about a tutorial mode?
I'll try to follow your advice and make the tips as clear as possible. Maybe I'll PM you about them at a future date and you can tell me what you think?
 
Status
Not open for further replies.
Top