• 🏆 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!

[Miscellanous / Other] [RPG/AoS] The Dragon Age

Status
Not open for further replies.
Level 1
Joined
Mar 1, 2016
Messages
3
Hi all. It's a map I've been working on, tentatively called "The Dragon Age".

The object of the game will be to fight through several "AoS" style lanes vs the AI, gaining levels by completing objectives, taking over enemy strongholds in order to advance and such. It will be possible to lose the game by having the enemy push and overwhelm your HQ. It'll be a game for 4 players, wherein an allied AI controls allied fodder...er units.

Right now I've got 10/12 heroes more or less finished, as well as a hero pick system in place. The map itself is currently just a testing ground for abilities against vanilla enemy units.

If you'd like to take a look, I'm including the map. Hint: type !bigpower to gain a few upgrades for the two summonable companions (in the finished product, these will be gained by leveling, currently the test heroes are all on max level - 20).

Most of the abilities I've used have been inspired by DA: O. Some of them work just like they do in that game, others are similar to varying degrees.

Feedback would be appreciated! =)

I can't say when a fully playable beta will be ready - still haven't even touched the terraining and such. I've always been more interested in making heroes. =D
 

Attachments

  • Alpha1.w3x
    251 KB · Views: 81
Level 8
Joined
Jan 28, 2016
Messages
486
Before I get into it, I'd like to say hello and welcome to The Hive! :grin:

Now I've never played Dragon Age so I have no idea how these Heroes relate to it. Even so, I liked the feel of what you got at the moment and the direction your trying to take with this. The innate abilities are a nice touch; I didn't realise that they were until I got about halfway through the Heroes! The classes are pretty neat as well as it can add another layer to the roles each Hero plays rather than using the attributes, such as your Arcane Warrior. I might have to return to review these Heroes in depth in the near future but from what I've tried so far they seem to work quite well conceptually and in the end, it's still a work-in-progress so you can always adjust things later on.

My only issue with the Heroes are the toggled spells. They have the same icons for when they're on and off (except Arcane Warrior's Q), which caught me off guard each time. I know there's only 4 of them in total and probably won't make a huge difference in gameplay but I feel that they just need an 'off' icon. That's just my two cents on that.

The major issue however is with your triggers. This is a bit of a read so I put it in a spoiler.
  • Rapid Fire
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rapid Fire
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Real((Level of Rapid Fire for (Triggering unit)))) Equal to 1.00
        • Then - Actions
          • Unit - Create 1 Nothing for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
          • Unit - Add Rapid Fire Dummy to (Last created unit)
          • Unit - Set level of Rapid Fire Dummy for (Last created unit) to 1
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Orc Shaman - Bloodlust (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Real((Level of Rapid Fire for (Triggering unit)))) Equal to 2.00
        • Then - Actions
          • Unit - Create 1 Nothing for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
          • Unit - Add Rapid Fire Dummy to (Last created unit)
          • Unit - Set level of Rapid Fire Dummy for (Last created unit) to 2
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Orc Shaman - Bloodlust (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Real((Level of Rapid Fire for (Triggering unit)))) Equal to 3.00
        • Then - Actions
          • Unit - Create 1 Nothing for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
          • Unit - Add Rapid Fire Dummy to (Last created unit)
          • Unit - Set level of Rapid Fire Dummy for (Last created unit) to 3
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Orc Shaman - Bloodlust (Triggering unit)
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Real((Level of Rapid Fire for (Triggering unit)))) Equal to 4.00
        • Then - Actions
          • Unit - Create 1 Nothing for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
          • Unit - Add Rapid Fire Dummy to (Last created unit)
          • Unit - Set level of Rapid Fire Dummy for (Last created unit) to 4
          • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
          • Unit - Order (Last created unit) to Orc Shaman - Bloodlust (Triggering unit)
        • Else - Actions
          • Do nothing
There's a few things here that can be done to make you trigger more efficient and improve performance. For starters, never use the action "Do nothing" as it literally does nothing (but still calls a function while the map is compiled: function DoNothing takes nothing returns nothing). Secondly, leaks. Each ITE here leaks a location when you create your dummy unit. For more on clearing leaks, check this out. And lastly, efficiency (though there is probably a technical programming term for this). All your ITEs can be removed and replaced with only one set of actions where you can set the level of the Rapid Fire Dummy ability to the correct level in that action. The trigger below should explain it.


  • Rapid Fire Edit
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Rapid Fire
    • Actions
      • Set Caster = (Triggering unit)
      • Set Point = (Position of Caster)
      • Unit - Create 1 Nothing for (Owner of Caster) at Point facing Default building facing degrees
      • Unit - Add Rapid Fire Dummy to (Last created unit)
      • Unit - Set level of Rapid Fire Dummy for (Last created unit) to (Level of Rapid Fire for Caster)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Orc Shaman - Bloodlust Caster
      • Set Caster = No unit
      • Custom script: call RemoveLocation(udg_Point)
This way you won't need 4 ITEs or create the same dummy ability 4 times; instead give the one ability 4 levels and through the use of the "Set level..." action, set it to the current level of Rapid Fire. This method should also reduce load time and free up a lot of space in you map as you'll have less spells to load.

I haven't gone through your dummy units in detail but from what I can gather, you could take a similar approach to most of your dummy units. Instead of giving them the abilities in the Object Editor, you could add them via triggers.


So that's my take on you test map so far. I enjoy the subtle yet effective approach to your Heroes and their designs. And I hope I didn't come across too harsh but I wanted to give you some useful advice and insight in creating more efficient triggers for your spells. Good luck! :grin:
 
Level 1
Joined
Mar 1, 2016
Messages
3
Wow, thanks for the analysis! I really appreciate it. =D

This map is and has been a "learn-in-progress" for me. You can see I did some triggers that do the same thing differently, more efficiently, as I figured out better methods. Like using 1 dummy with 1 ability and setting levels (take a look at Second Wind, for example - did it much more efficiently than the rage ability found on two Reavers).

I didn't know that about Do Nothing. Ha! Good to know. Same for the dummy units leaking. :/

The heroes are supposed to resemble Dragon Age builds you can do for characters (I used it for inspiration, but a good few abilities actually work quite similarly to their counterparts).

As for a class breakdown:

Warriors are mainly tanks, their stats and abilities tweaked to fit separate niches. The dual weapon will do the most single target damage but is relatively less tanky, the two-hander has good "spike damage" and aoe-handling, the shield guy is the best damage sponge and the axe man is sort of a mashup (I feel his abilities synergize quite well despite that - AoE damage that costs him HP and hampers mana regen, but he regains mana by killing and his damage increases as he loses HP, plus Second Wind to restore HP once kills have been amassed).

Mages are sort of thematical - the Creationist heals like a bastard but has little offense, Primal nukes everything to dust but runs out of mana or health quickly, the Entropist is plain ridiculous (a squishy mage who is a tank if things die fast enough, lmao) and the Spirit mage does a bit of everything, mostly disables, but shines at no particular role.

Arcane Warrior and Ranger are special classes. AW is a warrior/mage mixup, Ranger is very versatile. I plan to make a melee rogue (Assassin) and something else, still undecided. I intended these classes for potential games with less than 4 players, the AW becoming a self-sufficient front line, but they still function normally in full games.

As for the abilities needing off icons, I couldn't agree more. But I find it very jarring when an icon doesn't "belong" - hard to find something similar enough that conveys the idea of "this is now active", like vanilla DH's Immolation for instance. Axeman's D ability uses Blight Aura passive icon for this purpose, which is still quite similar. I tried to use special effects to make it obvious to players when an ability is active (you can see the Arcane Warrior's weapon glow, for example).

And yeah, every Q is an innate ability. I designed them with automatic scaling in mind, so as to prevent them becoming useless.

Thanks again for taking a look! I'm really happy someone got to play around with the map. =)

Balance is also very important to me, so feedback on that is doubly appreciated.

PS: Most "normal" classes gain a special boost when they max an ability, usually it improves more than on levels 2/3, sometimes it adds an extra something. =D
 
Status
Not open for further replies.
Top