Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

[Advanced Mechanics] Does Dota 2 use dummy units?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Advanced Mechanics] Does Dota 2 use dummy units?

    For those not aware, in DotA 1 a lot of spells used "dummy units" for certain abilities to work. I'll refer you to this excellent read for more detail.

    So my question is: Does Dota 2 use dummy units, or are the spells coded in a manner unique to Dota 2 and Source so that the WC3 engine limitations are avoided?
    Last edited by Snows; 09-21-2012, 02:57 PM.

  • #2
    Very improbable. Though uses a lot of buff/debuff mechanics...

    Comment


    • #3
      Why would they use dummy units

      Comment


      • #4
        They won't use dummy units in the sense that WC3 uses them. WC3's dummy units is a rather crude method to go about things, but due to the simplicity of the editor (which is a large reason for it's popularity) it was the only valid method.
        What you'll see in modern games is much closer to SC2's Actor system. Very similar, probably.

        What you'll see in SC2's actor system for one is that a lot more work has been put on the data side of things, and less on the triggering.
        In WC3, basically everything had to be done via triggers, because it was impossible to do most things through the data side. On SC2 however you posses the ability to move a LOT of it to the data side.
        Turning it into data basically means the dummy 'units' act for themselves. Imagine casting a spell, this spell will, by itself, spawn an actor that, by itself, does what it was created to do.
        In WC3, you cast a spell. It then has to go through a list of triggers, to find one that triggers from what you just cast. This trigger will then create the dummy and tell the dummy what it has to do. Needless to say this is a lot less efficient.
        Not even mentioning that a dummy takes up significantly more resources than an actor. The actors are far more focused, they can literally only do what they were called to do. They usually won't even have a place on the map, just a function. The dummy units on the other hand can do a lot of things, but we just actively prevent it from doing so. And of course, it also always has a place on the map, regardless of how insignificant it's function may be.

        In the case of DotA for example, I would not at all be surprised if a skilled data editor in SC2 (and I mean skilled, the data editor is pretty complex when dealing with abilities and not making it look shit) could turn around 60% of all triggers in DotA into Data.


        I don't know the exact system that Valve will be using, but it'll for sure be more similar to SC2's system than WC3's ancient workaround system.
        Last edited by Arxos; 09-21-2012, 05:39 PM.

        Comment


        • #5
          Lets take the enigma example from your link:

          -Enigma casts Midnight Pulse at a target location.
          -A dummy unit is spawned.
          -The dummy unit is given the Death and Decay ability.
          -The dummy unit is ordered to cast Death and Decay at the target location.
          -Death and Decay is being channeled by the dummy unit.
          -Death takes its toll and the dummy unit dies.

          In Dota2 i'd guess it would work somehow similar:
          -Enigma casts Midnight Pulse
          -Midnight Pulse object gets spawned and loops his damage ability
          -heroes moving into it get damaged by the object
          -After lifetime is over, object gets destroyed

          When you code a game like dota2 you can easily simplify that concept for a spell.
          In wc3 dota you might need a dummy unit which then casts a spell and dies after a certain time.
          In dota2 you could just have the spell to be an object with an area and a desired effect that gets put
          on every hero which collides with the spells bounding box. And you directly bind it to the hero with a few functions.
          "Dummy units" are basically the way of using an object oriented programming style in the wc3 engine.
          But when you have full access to the source you can just replace the dummy units by actual objects who can do
          what you whant them to do in a more direct and efficient way

          Comment

          Working...
          X