• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Fortress TD v1.3

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
Fortress TD v1.3 is now a stable version!

A simple but strategic TD that only available for only 1 player.
Build your towers at a strategic location to prevent the enemies from approaching the Fortress.

With only 20 waves of enemies but enemies have variety of abilities and types or armor

Type -dmgc or -armor to check the damage constants (the percentage of damage dealt to armor from various of attack type) or armor constants (the percentage of damage received from attack type) respectively.
Research your upgrades appropriately to defend the Fortress and be wise on the upgrades as resources granted is not that much that you can research each and every upgrades available.

It's that easy? Try the Hard Mode!

spawnpreview.jpg


castlepreview.jpg


creeplane.jpg


Well, I'm not good in describe. Please don't mind.


Changelog v1.3
- Added Mana Shield ability to enemies
- Turns off the collision of units
- Removed Reveal ability from Fortress
- Added Magic Sentry ability to towers (reveals invisible units)
- Display the enemy unit that going to appear for 15 seconds
- Changed the team color for enemies to blue
- Explode Fortress when defeated
- Removed the display of Portal in minimap
- Unbuildable terrain around Portal increases

Changelog v1.2
- Added Power Tower and Haste Tower
- Added 10 new waves of enemies
- Added Dark Aura to enemies
- Reincarnation removed
- Interval between each enemy release is reduced
- Added map preview
- Fixed Chaos Tower Tech position
- Fixed Cannon Tower upgrade description
- Increases the cost of Energy Tower by 6
- Reduce the damage dealt of Energy Tower to 14-15
- Reduce the stun duration of Energy Bomb
- Increases the cooldown of Energy Bomb by 10 seconds
- Reduce the damage dealt from Siege attack to Light armor by 50%
- Reduce the damage dealt from Pierce attack to Heavy armor by 50%
- Increases the hit points of Level 18 enemies by 5
- Hard mode handicap change from 150% to 125%
- Unbuildable terrain around Portal

Changelog v1.1
- Added Blink to the Worker
- Added Loading Screen
- Whole map is now revealed
- Added Reincarnation ability to Level 9 and Level 11 enemies
- Remove the count tower system
- Enemies Info in "Map Info" now updated
- Increases the hp of Level 18 by 3
- Lower down the hp of Level 19 by 50
- Added a warning message to last wave
- Improved the description of the "Upgrades" in the Fortress
- Reduce the Cannon Tower cost by 2
- Improved the Lightning Tower range by 50.
- Rebalance the damage of Frost Tower to 8-10
- Fixed Energy Tower
- Reduce the cost of Energy Tower by 2


It's the same person of the author and me (Dark Heng and Jay the Editor). I prefer to use Dark Heng when in-game.

Please do rate and comment. Thanks! ^^

Keywords:
Fortress TD
Contents

Fortress TD v1.3 (Map)

Reviews
00:45, 9th Jan 2011 ap0calypse: Rejected If I can't approve it, I'll reject it ^^ Good luck with your multi-player TD, I hope it's going to be better than this :D

Moderator

M

Moderator

00:45, 9th Jan 2011
ap0calypse: Rejected

If I can't approve it, I'll reject it ^^
Good luck with your multi-player TD, I hope it's going to be better than this :D
 
Level 19
Joined
Apr 10, 2010
Messages
2,789
Ok ive played your map and it seems to have some errors. In wave 7 a tank unit (Infernal Destroyer) popped out when it is supposed to be murlocs. And try increasing your fortress life. Seems too few. I'd give this map a 3/5. Its good but still can be improved. And maybe too difficult. And please dont blame me if this review sucks. Its my first time =D.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
For another map preview, first create a 256x256 OR 128x128 .tga-file (you can create .tga files with most picture editors, like the free paint.net).
Then import that file in the map and rename the path to:
- "war3mapPreview.tga" (if you want to keep the regular minimap in-game).
- "war3mapMap.tga" (the in-game minimap will also look like this custom preview).


Would you mind sending me the unprotected version?
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Yay, my entire comment lost due to server hiccup.
I'll try to rewrite it (it'll be shorter though).

I started out on the difficulty 'normal', which should give the best experience for an avarage TD-player.
There are 2 basic strategies for TD's which look like this:
- Strategy 1: build a cannon tower and upgrade it if possible.
- Strategy 2: build an arrow tower and upgrade it if possible.

Since your game features waves in a timed interval (instead of spawning all at once), I picked the second strategy.
There are no money-upgrades, so instead I just massed them (bottom-right corner).
This worked out fine... I used level 1-3 (6 gems) to upgrade them twice.
Then I saved gems until level 8 for the chaos tower (note that I only built arrow towers in the meanwhile, not a single other tower).
Now I slowly started creating chaos towers at the bottom-left corner.
Somewhere between level 10 and 20 I had the chance to research and build the aura towers, which I placed somewhere in the middle.
After level 22 I started replacing a few arrow towers with chaos towers.
At level 25, I researched stun- and frost towers (I expected some kind of boss, so those seemed useful).
After level 29, I sold all arrow towers and build chaos towers instead.
Well, apparently wave 30 isn't a boss... well, frost-towers kinda suck against waves like this, but those stun-towers sure did their job.

I haven't lost a single life from the first try, but I believe that's because of my obsession with chaos towers (or anything that has to do with chaos).

The difficulty was pretty good... I bet 'hard' would be more challenging (obviously), yet still possible - exactly how it needs to be.
I found the frost towers rather lame though... they didn't do much, just stood there freezing all enemies one by one (I prefer splash frost, but that could be overpowered in your map).

Bugs/notes/whatever:
  • The quest-log says wave 15 has evasion and wave 16 is invis while it's the other way around (could be that it says that wave 15 is invis and 16 has evasion, I don't know anymore... either way: they should be switched).
  • You've cleaned the leaks (good job), but why did you convert the move-triggers to JASS?
  • You have to show a warning for the divine-level, this warning should be displayed AT LEAST 5 levels before the wave starts.
    If I weren't that obsessed with chaos towers, I wouldn't have seen those divine monsters and I would've lost 25 lives (nothing else can really damage them and spells aren't strong enough).
  • You often use a few If/Then/Elses (ITE's) after eachother, which is good, but can be improved by combining them (example shown below).
  • The HP of the fortress should be equivalent to your lives left (just for aesthetics).
  • The terrain is pretty weak (the end is typical maul-style: a big building which ends in water).
  • I'm lucky I built at the bottom instead of the top (I didn't like those archways :X), because who knew creeps would get +5 armor if they go through that field? That's a severe handicap if you build at the top.
  • The pathing can be improved (lower the collision size, or make all units flying and the flying units wards - which solves everything :D).

I think I had more in my previous comment (the one I lost), but this is really all I can think of... :/

Your trigger:

  • Actions
    • -------- -------------------------------------------------------------------------------------------------------------- --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Entered chat string) Equal to -dmgc
      • Then - Actions
        • Game - Display to (All players) for 12.00 seconds the text: |cffffcc00Type the ...
      • Else - Actions
    • -------- -------------------------------------------------------------------------------------------------------------- --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Entered chat string) Equal to -armor
      • Then - Actions
        • Game - Display to (All players) for 12.00 seconds the text: |cffffcc00Type the ...
      • Else - Actions
    • -------- -------------------------------------------------------------------------------------------------------------- --------
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Entered chat string) Equal to -clear
      • Then - Actions
        • Cinematic - Clear the screen of text messages for (All players)
      • Else - Actions
    • -------- -------------------------------------------------------------------------------------------------------------- --------
This is a fine trigger: you succesfully combined commands, I like that, but it can be improved.

Combined:
  • Actions
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • (Entered chat string) Equal to -dmgc
      • Then - Actions
        • Game - Display to (All players) for 12.00 seconds the text: |cffffcc00Type the ...
      • Else - Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Entered chat string) Equal to -armor
          • Then - Actions
            • Game - Display to (All players) for 12.00 seconds the text: |cffffcc00Type the ...
          • Else - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • (Entered chat string) Equal to -clear
              • Then - Actions
                • Cinematic - Clear the screen of text messages for (All players)
              • Else - Actions
Okay, it looks worse than your version, I'll admit that.
But it is more efficient.

Why? Then you'll have to project yourself in the mind of a computer:

Let's say you type 'dmgc', in your version, a computer would think like this:
Did he type -dmgc? Yay! Let's do some actions.
Did he type -armor? Nope...
Did he type -clear? Nope...

In the combined version, he'd just think:
Did he type -dmgc? Yay! Let's do some actions!

And that's it.
Okay, it's a very minor detail (pleonasm, I know, shh :X), but anything that helps is a step in the right direction.


Unfortunately, I cannot approve this.
Why? Because it is way too simple. It looks like something in my test-folder, made in 30-40 minutes (I do only have 5 towers and 5 waves though, but it's just a test-map :D).
There just isn't enough to do... there aren't that much towers/upgrades, no extra games to do when you're just waiting for those creeps to die.
Also, perhaps you could make the first 5 waves slightly easier and the later ones slightly more difficult? I noticed that the earlier levels took me far more effort than the later ones.

For your multi-player TD, I suggest you use this spawn system as a base, it's a pretty good one (though 'standard' for modern TD's).
You might want to rework it to support multiple players, but how much trouble can that cause? :D
I also advice you to pay more attention to the gameplay, players need to have something to do instead of just... you know, waiting it out.
That's about it... I can't think of anything else.
 
Level 12
Joined
Aug 12, 2008
Messages
349
Thanks >< even though you can't approve it. This make me to have more spirits on creating even challenging TD. :D Actually I don't expect this map to being approve though. XD

You've cleaned the leaks (good job), but why did you convert the move-triggers to JASS?
Well actually I just trying to see how does the trigger looks like when in JASS. I want to learn it but just don't know. Too many things to learn and I don't know where to start.

The terrain is pretty weak (the end is typical maul-style: a big building which ends in water).
Hmm.. I try to make it to more natural but it seems to be more worst than this one so I use this one instead. I still don't have any idea on how to improve my terrain x.x Any tutorials? :D

I'm lucky I built at the bottom instead of the top (I didn't like those archways :X), because who knew creeps would get +5 armor if they go through that field? That's a severe handicap if you build at the top.
I got listed this in the Map Info (F9) but it seems it's not attractive to attract player to take a look on it. I wonder how can I make it to give them (the player) to know about it?

The pathing can be improved (lower the collision size, or make all units flying and the flying units wards - which solves everything :D).
Hmm.. I turn off the collision on version 1.3. By the way, what means by the "all units flying and the flying units wards"?

I also advice you to pay more attention to the gameplay, players need to have something to do instead of just... you know, waiting it out.
Hmm.. I just can't think of something else that can be do during playing TD... ><

Thanks for everything. Hope you don't mind for asking you so many questions. >< I will surely give credits to you in my next map :p
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
Well actually I just trying to see how does the trigger looks like when in JASS. I want to learn it but just don't know. Too many things to learn and I don't know where to start.
That's right: the hardest part about JASS is actually starting it.
It took me a lot of effort (and I mean A LOT: I had been triggering in GUI for 6 years and suddenly I wanted to go trigger in JASS).
The good thing is that once you know JASS, it's just... so much easier, it's a real relief to know that language.

I actually learned it by converting big-ass triggers to JASS and then trying to remove all BJ's, making it as efficient as possible etc.
And then I immediately went to vJASS, but that's because I already knew a few things from C++.

Hmm.. I try to make it to more natural but it seems to be more worst than this one so I use this one instead. I still don't have any idea on how to improve my terrain x.x Any tutorials? :D
I haven't found any real good tutorials for terraining, because it's mostly what you personally want to create.
There are some really good basic tutorials though, but I don't think the only one who can help you with more advanced terraining is yourself.

Hints:
  • When you start a map, begin with "Initial water level: Shallow water" so you're able to create more realistic water.
  • Never use blizzard cliffs unless you really have to (melee maps still must contain some cliffs).
  • Start with a base tileset and then gradually add more different tilesets (not too random).
  • Stay away from cinematic doodads!
  • Place environmental doodads everywhere you think they fit (not too much though, and not randomly).
  • If you really want to terrain, get the UTM.

I got listed this in the Map Info (F9) but it seems it's not attractive to attract player to take a look on it. I wonder how can I make it to give them (the player) to know about it?
I read it, just not at the start :|
Why did you even add that +5 armor zone? :p

Hmm.. I turn off the collision on version 1.3. By the way, what means by the "all units flying and the flying units wards"?
It's just a 'trick' I use:
If you make all ground-units flying, they will be able to fly over eachother and won't collide.
If you set the "Combat - targeted as" to "ward" of all air-units, then you still have air-units without the buggy ground (they look like air since they fly and can only be targeted by all towers which have "ward" as a valid target).

Don't forget to switch all towers' "combat - attack X - targets" value.
 
Level 12
Joined
Aug 12, 2008
Messages
349
I actually learned it by converting big-ass triggers to JASS and then trying to remove all BJ's, making it as efficient as possible etc.
And then I immediately went to vJASS, but that's because I already knew a few things from C++.
6 years?! That's a long time... By the way, what's the difference between JASS and vJASS?

Place environmental doodads everywhere you think they fit (not too much though, and not randomly).
Hmm.. why don't want randomly? Isn't that make it more natural?

Why did you even add that +5 armor zone? :p
Just to make it more interesting ><
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
6 years?! That's a long time... By the way, what's the difference between JASS and vJASS?
vJASS allows more freedom in your coding.
A very common use of vJASS is private functions., I'll explain this so you'll understand:
Almost every spell has a function called "GetDamage" (it exists so people can easily change the damage a spell does without having to know JASS).
The problem is that if you import 2 or more spells, the editor will start complaining since you can only have 1 of the same function.
With vJASS, you can just add "private" in front of the function and the editor won't complain ^^

It also enables structs (pretty hard to explain structs... but they're extremely useful), libraries (also hard to explain :D) and more.

And if you REAAALLY want to go deep: there is no difference.
vJASS is regular JASS - technically there is nothing new in vJASS.
Why? That's simple: if there WAS anything new, regular warcraft wouldn't be able to run it.
Then what did you say before about structs etc? Well, it uses a compiler that changes your entire vJASS-code to regular JASS which warcraft can understand - that's the power of vJASS :D

Okay, I confused you: sorry.

Hmm.. why don't want randomly? Isn't that make it more natural?
With random I mean more like "oh look, I should place something here *randomly clicks a doodad and places it*, there I fixed it".

Just to make it more interesting ><
Haha :p
Okay ^^ Well, you can make a floating text or a game message to warn players? :D
 
Top