• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Crucible

Is the map playable and enjoyable

  • Yes

  • Well, kinda

  • No

  • Worst map I ever played


Results are only viewable after voting.
Status
Not open for further replies.
Level 2
Joined
Apr 7, 2016
Messages
15
Hello people! My name is DarkDez17 and I'm uploading this Alpha version of my map.
About gameplay: You choose your Hero, your allies choose their Heroes, everyone buys items and potions, the coolest person activates waves and you have to protect against 10 waves of enemies with a Boss in the end. After 10 waves you are able to do some stuff freely and start whenever you're ready. Yeah, well, and so on. Right now there're only 25 waves, but I intend to do much more.
Well, so, I really want to know your opinion if it's even playable atm. Please, check the map (It's in attached files) and tell me what do you think.
 

Attachments

  • Crucible 0.1 (Alpha).w3x
    1.2 MB · Views: 33
Level 8
Joined
Jan 28, 2016
Messages
486
I don't usually review maps but hey, I'll give this a go.

Obviously it's early days so I can't give a solid answer as to whether it's good or bad, only time will tell. It reminds me of Legion TD with the bosses every 10th wave but clearly using heroes rather than towers to defeat the creeps. It's definitely not the worst I've ever played and it has potential, but again, it's too early to judge.

As for the gameplay, I didn't get very far; I died at the second wave twice in a row. I assume this is because you're aiming for a multiplayer game rather than going solo against swarms of creeps, so you'd have teammates to help you out. Maybe in the future, it would be nice to add some sort of scaling on the creep waves based on the number of players in the game (Eg: number of creeps per wave = 10 + number of players x 2). Additionally, you might want to add some warnings about important moments such as when the next wave will start, when it's finished, etc. Just throwing some ideas around. Personally I like these types of maps (TD/wave clearing) but I guess the issue nowadays in map-making is, "What sets your map apart from the rest?"

You also might want to have a look at the threads below about leaks. Triggers in general are what I'm about (or should that be was?) and so I had a glance at a few of your spell triggers and noticed a lot of leaks, which will eventually slow down the map as the game goes on. It would be best to learn about preventing leaks to avoid having to go back afterwards and try to sort them out when there are too many triggers to go through. Trust me... been there, done that. I've also added an example of how to fix the leaks in one of your triggers; I'll leave the rest for you to learn from.

WC3 Memory Leak Guides:
  • Call of the Wild - Original
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • ((Ability being cast) Equal to Call of the Wild ) and ((Level of Nature's Gift for (Casting unit)) Greater than 0)
    • Actions
      • Set Druid = (Casting unit)
      • Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) has buff Nature's Gift ) Equal to True)) and do (Actions)
        • Loop - Actions
          • Special Effect - Create a special effect at (Position of (Picked unit)) using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
          • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (225.00 + (75.00 x (Real((Level of Nature's Gift for Druid))))))
  • Call of the Wild - Leaks Removed
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • And - All (Conditions) are true
        • Conditions
          • (Ability being cast) Equal to Call of the Wild
          • (Level of Nature's Gift for (Triggering unit)) Greater than 0
    • Actions
      • Set Druid = (Triggering unit)
      • Set TempLocation1 = (Position of Druid)
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units within 750.00 of TempLocation1) and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) has buff Nature's Gift ) Equal to True
            • Then - Actions
              • Set TempLocation2 = (Position of (Picked unit))
              • Special Effect - Create a special effect at TempLocation2 using Objects\Spawnmodels\NightElf\EntBirthTarget\EntBirthTarget.mdl
              • Special Effect - Destroy (Last created special effect)
              • Unit - Set life of (Picked unit) to ((Life of (Picked unit)) + (225.00 + (75.00 x (Real((Level of Nature's Gift for Druid))))))
              • Custom script: call RemoveLocation( udg_TempLocation2 )
            • Else - Actions
      • Custom script: call RemoveLocation( udg_TempLocation1 )
What I did:
  • Moved the trigger conditions from an 'And' to a 'multiple And' condition; it's the same thing but easier to edit if you need to.
  • Switched all references to Casting Unit to Triggering Unit (it's faster and apparently safer to use in most cases).
  • Created a location variable at the position of the Druid to use in the unit group action and to help remove the leak later on.
  • Used custom script (set bj_wantDestroyGroup = true) to remove the unit group leak.
  • Changed the unit group to only pick units within 750 range (slightly more than the aura AoE) to avoid filtering through all units on the map and improve performance. Also moved the condition into the If-Then-Else statement within the loop actions for some more performance improvements (and inherent leak IIRC; nothing major though).
  • Created another location variable for the leak in the special effect on the picked unit.
  • Destroyed the effect to remove the leak. Don't worry, most effects will still play even when immediately destroyed.
  • Used custom script (call RemoveLocation( udg_TempLocationX )) to remove both location leaks.
 
Status
Not open for further replies.
Top