SC2Mapster Forums

Development > Data

[Video] Experience Orbs [Updated]

    #1 Sep 26, 2010 at 19:13 UTC - 0 likes

    So, I wanted to see if I could replicate the experience orb system of Fable / Fable 2, and for about 20-45 minutes of work, I think I've come pretty close. Obviously there's some fine tuning to be done since the orbs currently only add health, but these are minor changes to the effect in the editor. :) Thought I'd throw up a short video since I think it's kind of cool.

    I'm going to continue work on it to create larger orbs, as well as 2 other variations (3 total: general XP, spell/skills XP and melee/general attack XP) They should each have their own color, and will probably add points to a real array, to be spent later on skills/upgrades. :)

    Updated Features:

    • 3 types of Orbs: General, Attack and Spell, large and small
    • Orbs are generated based on type of attack which kills the unit; Melee/Ranged attacks generate red Orbs, Spells generate blue Orbs, and both generate green Orbs
    • Kills have a 1/6 chance of generating large Orbs
    • Experience is updated in real time, just above the UI.
    • Holding Spacebar draws the Orbs towards the unit
    • Entering within range of the Orbs automatically draws them towards you, for those hectic battles :)

    See screenshots below and feel free to download and try the map! Feedback?

    Last edited Sep 27, 2010 by QMJ3
    Name Size MD5
    Orbs_Test.SC2Map 58.1 KiB 9d67c32460ac...
    • ss_orbs1.jpg
      XP updates in the bottom left
    • ss_orbs2.jpg
      orbs generate random size/height
    #2 Sep 26, 2010 at 22:53 UTC - 0 likes

    @QMJ3: Go

    I like how this looks, care to post the map? www.speedyshare.com I don't mind if its messay c0de

    #3 Sep 26, 2010 at 22:58 UTC - 0 likes

    Look awesome, glad to help you with that.

    #4 Sep 26, 2010 at 23:25 UTC - 0 likes

    @crutex: Go

    I'll post the map when I update... right now I'm making it a little more comprehensive... 6 different orbs, 2 sizes, one for spell experience, one for regular attack experience and one for general experience. And actually for that video, the triggers were extremely simplistic... there was only 3. lol

    • Trigger 1 handles if a unit dies, create the orb (making sure to have the condition that the dying unit must != orbs).
    • Trigger 2 handles the keypress down, issue order to orb move towards unit.
    • Trigger 3 handles the keypress up, issue order stop to orb.

    Done. :) Of course there was a bit more Data Editing to make the orbs act like "powerups" but it was all very simple... I just attached the Life +25 powerup effect to the orbs.

    @progammer: Go

    Yeah thanks man, I'll credit you in the map if I can make use of it. :)

    #5 Sep 26, 2010 at 23:54 UTC - 0 likes
    Quote from QMJ3: Go

    @crutex: Go

    I'll post the map when I update... right now I'm making it a little more comprehensive... 6 different orbs, 2 sizes, one for spell experience, one for regular attack experience and one for general experience. And actually for that video, the triggers were extremely simplistic... there was only 3. lol Trigger 1 handles if a unit dies, create the orb (making sure to have the condition that the dying unit must != orbs). Trigger 2 handles the keypress down, issue order to orb move towards unit. Trigger 3 handles the keypress up, issue order stop to orb.

    Done. :) Of course there was a bit more Data Editing to make the orbs act like "powerups" but it was all very simple... I just attached the Life +25 powerup effect to the orbs.

    @progammer: Go

    Yeah thanks man, I'll credit you in the map if I can make use of it. :)

    Hmm so is there a way to have the orbs gravitate to you when you get within range, without triggers? Or is triggers the proper way to do that? Did you make the orb model yourself?

    Last edited Sep 26, 2010 by crutex
    #6 Sep 27, 2010 at 01:15 UTC - 0 likes

    @crutex: Go

    The orbs are what programmer helped with. I duplicated the Sphere unit and changed it's scale and tint depending on what it does (ie: small and large amount of experience, green for general experience, blue for spell experience, red for attack experience).

    And that's a brilliant idea, I don't know why I didn't think of it! I'm not sure if that would be possible in the Data Editor, but it seems easy enough in a trigger... if Hero Unit enters within 3.0 range of orb, issue order move towards Hero. Simple!

    EDIT: I just created a trigger to do have the orbs gravitate towards the hero when you're within proximity, it looks like this:

    + Draw Orbs.Range
        Events
            Unit - Any Unit Enters a distance of 2.5 from Jim Raynor (Sniper) [28.59, 14.02]
        Local Variables
        Conditions
            Or
                Conditions
                    (Unit type of (Triggering unit)) == XP Orb (lg)
                    (Unit type of (Triggering unit)) == XP Orb (sm)
                    (Unit type of (Triggering unit)) == Attack Orb (lg)
                    (Unit type of (Triggering unit)) == Attack Orb (sm)
                    (Unit type of (Triggering unit)) == Spell Orb (lg)
                    (Unit type of (Triggering unit)) == Spell Orb (sm)
        Actions
            Unit - Order (Triggering unit) to ( Move targeting Jim Raynor (Sniper) [28.59, 14.02]) (Replace Existing Orders)
    
    Last edited Sep 27, 2010 by QMJ3
    #7 Sep 27, 2010 at 01:26 UTC - 0 likes

    @QMJ3: Go

    Did you also add some kind of light to the model? Seems to illuminate the area around it a bit, kinda like the glass orbs that will be found in Diablo 3 http://www.diablowiki.net/Health_Globe

    #8 Sep 27, 2010 at 01:51 UTC - 0 likes

    @crutex: Go

    Nope, that's the sphere model in SC2. I'm using a white team color and changing the tint color of the 3 different types of orbs.

    #9 Sep 27, 2010 at 02:59 UTC - 0 likes

    I feel like you could make the units drop them by a chance effect instead of trigger. I am too n00b to figure that out at this point.

    #10 Sep 27, 2010 at 03:04 UTC - 0 likes

    @crutex: Go

    They are generated somewhat randomly. :) All kills grant experience at this point, as they would in any RPG... therefore all kills drop orbs. However each kill currently has a 1/6 chance of generating a large orb which adds double experience. This can be easily changed. I've also added the "within range" trigger.

    Check out the original post for updated video.

    #11 Sep 27, 2010 at 03:06 UTC - 0 likes

    @QMJ3: Go

    Mm yes I know this I just feel it's better to do it === without triggers ===. Looks good :D btw do your things not make it to the center of your unit? Mine are picking up about 0.5 unit away from muh guy. Mm think I figured it out: it was the Auto Cast range on the linked Ability.

    Last edited Sep 27, 2010 by crutex
    #12 Sep 27, 2010 at 03:12 UTC - 0 likes

    @crutex: Go

    Oh sorry I must have skimmed your last post, I'm pretty certain it would be possible to generate Orbs randomly through the Data Editor, unfortunately that's beyond my skillset... check out OneTwo's YouTube page, he might have a tutorial for generating random item drops.

    I've set my range to 0.5 to remove the orbs and apply the experience so no, they don't make it to the absolute center, but if you're having trouble with that try messing with the Orbs collision / movement radius.

    #13 Sep 27, 2010 at 03:51 UTC - 0 likes

    @QMJ3: Go

    Final question. Have you gotten it to pick up while following you while your unit is running? Mine seems to stop when he gets near the unit even though Deceleration is 0 and the top speed is much higher. It causes it to sometimes not catch up to the unit.

    #14 Sep 27, 2010 at 04:27 UTC - 0 likes

    @crutex: Go

    Nope, I haven't had any issues with that... PM your map, I'll see if I can figure it out.

    #15 Sep 27, 2010 at 09:16 UTC - 0 likes

    It would be great if they would accelerate towards you and not just move towards you in a linear motion. I think that can easily be changed in the data editor.

    Last edited Sep 27, 2010 by Pfaeff
    #16 Sep 27, 2010 at 12:26 UTC - 0 likes

    @QMJ3: Go

    Oh I see, you are doing all the powerup effects with triggers. :( But thanks for sharing the concept and map :D

    #17 Sep 27, 2010 at 20:10 UTC - 0 likes

    Hey... long time lurker... first time poster (i think)...

    I saw this and had to chip in :)

    I remember making something (more or less) identical to this in Warcraft 3... using dummy units and the Shadow Fragment model... Damn that was a long time a go... nice work on this, brings back some memories...

    I agree with what Pfaeff says... they should accelerate towards you - instead of moving in a linear fashion - it is hard to tell though, the youtube video doesnt give a 100% true representation :)

    I used something like MoveDistance = 1, then MoveDistance = MoveDistance + MoveDistance - so it accelerated pretty damn quick...

    +respect

    #18 Sep 28, 2010 at 00:14 UTC - 0 likes

    Hey, I was the guy that responded to your YouTube video. I'll attach my map and show you what I did.

    I was goofing off in the editor (you'll see its not a very fun map to play ;) ) and tried to implement this system as smoothly as possible. At first I used triggers, but due to the number of units I had being killed I started to get threading errors. So I moved to a completely triggerless system (contrary to what I said in the YouTube comment, it's been a while since I played with the map)

    In my system, there are two units (like yours). The Hero we'll call him, and the Loot. When my Hero kills an enemy, I use the Data editor's Loot function to spawn loot. Loot can spawn an item, unit, etc. In this case it spawns a unit. The percentages are handled with a Loot Set I believe it's called. If I recommend anything at all it's that you remove the spawn orbs triggers and adopt this loot function, that's basically what it's there for. So the dropped loot is fruit in my case and is a separate unit, like yours. It moves to the target, like yours. My fruit has an autocast spell that is guaranteed to cast on the Hero when it is in range. The Effect of this spell is an Issue Order effect that affects the Caster. So when the hero is in range, the fruit casts, and consequently orders itself to Move to the hero. There's probably an easier way to do this but I never looked into it (autocast Move?).

    The second part of the system is when the hero "picks up" the fruit. The Hero has a hidden autocast command called pickUp with an autocast range of 0.5. The command is just a damage spell, the hero effectively "kills" the fruit and gets its Kill Resource. You could implement a trigger here to add attribute points or whatever.

    In my map you'll notice that most fruit is automatically attracted to the hero... I think just due to the small space and amount of enemies, most enemies that die are within the autocast range. Play around with it, manually place fruit far away to test the ranges. I do like your implementation of the Spacebar attract method. You might be able to set up a validator through triggers that the autocast checks before it Moves toward the hero.

    There's definitely room to expand on both of our implementations. You could add a finite life behavior (like the MULE) to the loot so that it expires after X seconds without being picked up.

    Feel free to use anything you want, this is basically a learning map I made weeks ago. I've got no problem helping others who have the persistence to actually get their done (unlike myself ;) ) Let me know if you've got any questions I'll check up on this periodically. Good luck!

    Name Size MD5
    Critter_Commandos.SC2Map 163.9 KiB aa4514e99fe7...
    #19 Sep 28, 2010 at 17:36 UTC - 0 likes

    I wonder if you can tweak it so it can use different options for users to adjust to:

    1) Orbs as a item - Unit interact directly to acquire (simply walk into it)
    2) Orbs remotely taken - Unit comes within vicinity to acquire
    3) Orbs are unit owned when created - Unit(s) that can acquire the orb from the start no matter the distance or interaction. This is a automated one.

    Number 3 is where you can have a sniper kill things and the orbs will fly off to him automatically.

    Orbs should be allowed to be set to give multiple options:
    - Healths
    - Shields
    - Energy
    - Custom (Ammo for guns, batteries/energy for machinery)
    - Experience/Currency (It should be used a lot for currency, as it makes sense and works best in RPGs, just have the money flow out so anyone can grab them with option 1 orb type)

    You can implement this into team play maps for having orbs be a unit's "resource"...

    The unit can gather orbs by killing enemies, and it can pass on orbs to allies. A unit that dies drop all it's orbs.

    This function can work in CTF maps, where the goal is to hoard as much orbs as possible, just make it possible for one team to steal another teams' orbs by interacting with the "point" too.

    Orbs as experience could work in a cool map idea I just thought up:

    Soul Wars - Players control heroes, of which on a map full of hostile mobs, must kill and gather "souls" to powerup... The catch is death reverts you to Lv1 and you drop all your souls at the area. It is PVP and PVE mixed in.

    Last edited Sep 28, 2010 by dra6o0n
    #20 Sep 29, 2010 at 21:49 UTC - 0 likes

    @t1du: Go

    That looks great! When I get some spare time I'll revamp the system to be less trigger-dependent and do it all through Data Editing. I think that would make it a lot less prone to errors and weird glitches.

    @dra6o0n: Go

    lol You've got a lot of great ideas here, next time I'm working on the system I'll try to implement these and re-release the map. Maybe I can create inactive functions that just need to be turned on in order for a user to modify the system. ie: an inactive "resources" function which, when turned on, gives resources instead of XP to whomever collects the Orbs (or health, or shields, or energy, etc etc).

    Feel free to implement any of those ideas in your own maps though. I'd love to see it on Battle.net :)

    Last edited Sep 29, 2010 by QMJ3

You must login to post a comment. Don't have an account? Register to get one!