Yay!  Milestone passed! menu

User Tag List

Page 3 of 7 FirstFirst 1234567 LastLast
Results 31 to 45 of 103
  1. #31
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by miceiken View Post
    but brag posts with no proof is better?
    amadmonk doesn't need proof. If he says he's done it then I believe him.

    Yay!  Milestone passed!
  2. #32
    flo8464's Avatar Active Member
    Reputation
    30
    Join Date
    Apr 2009
    Posts
    434
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    So I'm happy with my bot's logic, but the performance isn't what I'd hoped. I'm losing 30fps due to overhead of all the behavior loops I run every frame. Today at work, I came up with a new architecture that, I think, should reduce my fps drop to near zero if I can make it work (a mostly event-driven scheduler, rather than recalculating everything every frame; it SHOULD work as long as the events give me enough data, and good enough quality data...)
    You do behaviour loops every frame?
    Why not just every 5-10 frames? Should be enough to create a smooth AI.
    Hey, it compiles! Ship it!

  3. #33
    Apoc's Avatar Angry Penguin
    Reputation
    1387
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/12
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by flo8464 View Post
    You do behaviour loops every frame?
    Why not just every 5-10 frames? Should be enough to create a smooth AI.
    There's really no extra overhead by doing it every frame. Plus; it's more responsive if you do it on a per-frame basis.

  4. #34
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I did some profiling, and I think that the bulk of the overhead is coming from my threat list updating. I think I may be doing too many iterations of the object list per frame.

    Most of my behavior is behavior tree-driven, so it shouldn't bog down the frame rate, but that stuff is still per frame. Going to profile it and see if it improves things by reducing my number of iterations.

    The only reason I wanted a high-resolution threat list update was to make sure my pet holds aggro, but I think that per-frame is probably excessive for that.

    Edit: NICE! By rate-limiting my threat list scan to once per second, I gained 15fps and lost nothing in terms of combat responsiveness. Knuth was right -- profile, THEN optimize...
    Last edited by amadmonk; 12-10-2009 at 03:08 PM.
    Don't believe everything you think.

  5. #35
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's a short fraps that shows my bot soloing about 6-8 mobs and then looting them.

    [ame="http://www.youtube.com/watch?v=SSOPW7Frn-k"]YouTube- WoW 2009-12-10 11-18-29-35.avi[/ame]

    It's crappy-quality video, intentionally, but you can see me soloing a crapton of mobs, cursing them all, draining soul from a couple, then (when they're all dead), looting them and even (extra credit bonus) creating a healthstone that I used earlier. I guess it's possible that I could be controlling the thing, but honestly I don't think I could solo this many mobs AND keep aggro off me. You'll note in the video that I only get hit a couple of times; that's because my bot intentionally uses the pet's aggro generating abilities to pull mobs off me when it detects I have aggro.

    Here's one with about ten mobs at once. During this one, the bot decides at one point to use a healthstone -- and then replenishes it later. He drains souls whenever possible, and then when combat is over, cleans excess shards out of the bags. Basically speaking, as long as there are no elites (or, not many elites ) and no cliffs (my nemesis, right now!), I can just plunk this guy down in the middle of a bunch of hostiles and leave him alone for hours.

    [ame="http://www.youtube.com/watch?v=qMwqWaluCkE"]YouTube- WoW 2009-12-10 18-19-34-04.avi[/ame]

    I added in auto-sell-junk and auto-repair code shortly after this video. I'd fraps it, but it's fairly boring to watch. If I could figure out how to get him to auto-mail auction items to my auction mule and (the biggy) auto navigate from the fight point to the mailbox, I could have a 24/7 loot farmer going.

    Anyone have any good waypoint code I can nab? I like nav-meshes, but... way too much overhead, and I've avoided opening the MPQ's so far, don't want to break my winning streak...
    Last edited by amadmonk; 12-12-2009 at 01:47 AM.
    Don't believe everything you think.

  6. #36
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1356
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Apoc View Post
    There's really no extra overhead by doing it every frame. Plus; it's more responsive if you do it on a per-frame basis.
    That's an impossibility. The extra overhead may be negligible, but it's still there.

  7. #37
    miceiken's Avatar Contributor Authenticator enabled
    Reputation
    208
    Join Date
    Dec 2007
    Posts
    401
    Thanks G/R
    7/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Really nice amadmonk! Do you have some sort of mousedriver to handle looting, or injection? Or doesn't it work in background?

  8. #38
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm pretty sure that he's fully injected.

  9. #39
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It's injected. I can run it completely minimized and do other stuff.

    Now that I've rate-limited my behavior loops (do I REALLY need to scan threat 60 times a second? ) it doesn't hardly impact my performance at all, and it should be no problem to run a full group of 5 farming heroics.

    I had a bot almost this advanced doing packet reads, but keeping the packet structures up to date and doing movement by keystroke injection was a major PITA. Now that I've switched to my current scripting language/native combo bot, development cycles are WAY faster.

    I want to make a recorder/playback sandbox so I can unit test various behavior routines, next... I'm having a hard time fine-tuning the cutoff point between when to heal the pet vs. when to heal the player (of course, when I say "a hard time," what I mean is that when soloing more than ten mobs at once, things get a bit iffy, but still... I'm a perfectionist).

    Cypher, I have no idea what I'm going to do with all my time once WoW finally dies.

    OT: anyone have a working ground-click method for things like the Death Knight D&D ability? Need that to get my DK tank working so I can get my full group heroic farming working.

    Edit: NM, apparently the new CTM with flags 1 works just dandy. Sweet...
    Last edited by amadmonk; 12-12-2009 at 03:10 AM.
    Don't believe everything you think.

  10. #40
    EmilyStrange's Avatar Active Member
    Reputation
    34
    Join Date
    Jul 2009
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just use CTM? It's what I use on mages and hunters when casting AoE like Blizzard or Volley. Or is the DK spell different somehow?

    Edit: NVM. Just re-read your post and saw that you ARE using CTM.

  11. #41
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yup, DK tank is working well. I now have a DK Tank, DK DPS, Paladin Heal, Paladin Tank, and Lock DPS routine all working fairly well. I have to work on Shammy Heals & Shammy DPS, and I think I'll be set to farm heroics.

    I also bought a bottle of beer that has a picture of Rasputin on it, so I'm happy.
    Don't believe everything you think.

  12. #42
    adaephon's Avatar Active Member
    Reputation
    76
    Join Date
    May 2009
    Posts
    167
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by amadmonk View Post
    I also bought a bottle of beer that has a picture of Rasputin on it, so I'm happy.
    Surely you can show us a pic of that without your account being banned?

  13. #43
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sadly, the girlfriend recycled it :P
    Don't believe everything you think.

  14. #44
    EmilyStrange's Avatar Active Member
    Reputation
    34
    Join Date
    Jul 2009
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I am expecting a comment along the lines of "Surely, you can show us a picture of her without getting banned?" any momeeenttttt.... now!

    Also, we believe your claims about the bot, but not the claims about the bottle of beer with a picture of Rasputin on it. Pictures, or it didn't happen. Just like that time at band camp...
    Last edited by EmilyStrange; 12-14-2009 at 05:02 PM.

  15. #45
    amadmonk's Avatar Active Member
    Reputation
    124
    Join Date
    Apr 2008
    Posts
    772
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    God, now I'll have to get some MORE Old Rasputin Imperial Stout! Oh, the horrors!

    Off topic (or wait, back ON topic), I successfully ran the group of three (80 tank, 80 healer, 70-ish undergeared dps) through Nexus, mostly on autopilot.

    I made a few discoveries: first, my monte-carlo style target selection doesn't work as well in instances. In order to beat the Anomalus encounter, I had to create the concept of an "encounter" for my bot, which was a set of special-case target-selection rules. And then, for the Keristrasza encounter, I had to add a generic per-tick hook to allow my bots to jump to get rid of the stacking cold debuff.

    It took about 5 wipes to tune my Anomalus encounter, and I discovered a bug in my code. Right now, I'm only recording a monster as "unfriendly" if it's an NPC who's targeting a friendly unit (under the assumption that that means aggro). The problem w/Anomalus is that the Chaotic Rifts -- which you MUST kill quickly if you want to beat the encounter -- never target the players. So, they never get on my "unfriendly" list. So my bot was just killing everything ELSE, while the rifts piled up, dumping more and more mobs and more and more dps until they eventually overwhelmed even my over-matched and over-geared tank and healer.

    I fixed that by adding an "encounter" object (which I currently poll for -- note to self: too much polling going on -- by looking for key mobs in the "unfriendlies" list). In the encounter for Anomalus, I just auto-fixate on any Chaotic Rifts within a certain radius (I had to add a Z-axis component too, or the bot was picking up weird random non-encounter mobs), and kill them first. Then I worry about the boss.

    Once I changed the logic like this, Anomalus was a BREEZE. Went down easy and the healer never got below 90% mana.

    Keristrasza was easier. Since I already had the encounter concept, I just extended it beyond simple target selection to a generic per-tick action. In the per-tick, I checked for the frost debuff, and if present (and I'm not casting, and I haven't done it for a few seconds), I jump. It made the encounter a BREEZE, although the group of hopping bots was fairly amusing to watch.

    I think these encounter logics should scale to heroics, once I have the group makeup.

    To come: a threat manager, and (I give in) trend lines on health/mana to predict occurrences. Also, I'm going to need to add in a "stay out of the fire" routine.
    Don't believe everything you think.

Page 3 of 7 FirstFirst 1234567 LastLast

Similar Threads

  1. Ultimate Gold Guide <User and Pass>
    By janzi9 in forum World of Warcraft General
    Replies: 16
    Last Post: 12-16-2006, 07:58 PM
  2. Yet another website to go to to pass the time
    By KOLOSSAL in forum World of Warcraft General
    Replies: 1
    Last Post: 10-07-2006, 02:51 AM
  3. instance in deadwind pass
    By jason in forum World of Warcraft General
    Replies: 5
    Last Post: 07-29-2006, 05:10 AM
  4. Pass through WSG Fence (Alliance Only) - Video
    By Matt in forum World of Warcraft Exploits
    Replies: 11
    Last Post: 07-04-2006, 09:11 PM
All times are GMT -5. The time now is 07:38 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search