Yay!  Milestone passed! menu

Shout-Out

User Tag List

Page 6 of 7 FirstFirst ... 234567 LastLast
Results 76 to 90 of 103
  1. #76
    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)
    Originally Posted by namreeb View Post
    Don't mind him. That is Apoc-eeze for he doesn't understand what you're saying.
    At least his made sense within context. All I am doing is rolling sixes.

    [ame="http://www.youtube.com/watch?v=e5TxzDY_sEk"]http://www.youtube.com/watch?v=e5TxzDY_sEk[/ame]
    Last edited by EmilyStrange; 12-17-2009 at 02:17 PM. Reason: Added link

    Yay!  Milestone passed!
  2. #77
    klufas's Avatar Active Member
    Reputation
    20
    Join Date
    Aug 2007
    Posts
    25
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is a fantastic thread, I'm getting a lot of ideas out of this, thank you in advance for anything I use in my personal projects, at the very least you have inspired me.

  3. #78
    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)
    Originally Posted by Apoc View Post
    Actually; I understand all of it. But I have my own methods for communication between 'clients'. So I won't bother to make it any more 'confusing' than it is already.
    Apoc knows almost everything. He's the guy I've stolen most of the code that I use that's not my own home-grown crap from.

    Currently attempting to re-do health/dps trend lines without stealing MORE of Apoc's code
    Don't believe everything you think.

  4. #79
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    It was a joke

    He and I were discussing that very topic last night, actually.

  5. #80
    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)
    Originally Posted by EmilyStrange View Post
    @amadmonk: I apologise if I took your words to heart a little more than I should have.

    Designing true emergent behaviour, without signaling, i.e. message passing between bots, and making it as efficient as possible, is damn difficult to do on anything more complex than a few trivial examples, e.g. boids, herds, FPS bots, etc.

    The moment you add in signaling between cohesive units, i.e. groups of bots, you get a huge boost in capability and efficiency. But many would then argue, endlessly, far worse than any in-process/out-of-process argument on these forums, that the emergent behaviour is no longer "pure." And many of those arguers will go to extreme lengths to find "pure" examples in nature where emergent behaviour exists without signaling -- there are a few identified cases, but they exist (mostly) in isolation, usually at species interaction boundaries.

    Single centralized AI? Or emergent behaviour with signaling? Or coordinated cohesive groups, i.e. dynamic centralization of AI within a cohesive group of autonomous units that only exists for the duration of the group or the duration of the event, e.g. a fight? There is no one best solution, only solutions that are "different."

    With regard to injection or memory reading/writing, or whatever we're calling it today, I, personally, cannot see much difference between the two. Both techniques get the job done, though I would say that injection is probably a marginally better solution if you want to interact at a more fundamental level with the game client, e.g. drawing stuff directly on the game client's screen or invoking certain (destructive) functionality of the game client.
    So, to call my AI emergent might be a misnomer, because there IS inter-bot communication and decision-making. I believe that you're pointing out that design vs. emergent behavior can be considered a spectrum, and I concur; likely my architecture is simply more towards the "emergent" pole of that spectrum than yours is. I would wager that even your bot has some behaviors that a bot can/does do purely without reference to any other bot, which would of course produce some level of emergent behavior. It's just that my design *relies* upon the "wisdom of crowds" to be effective *most* of the time, and only overrides that in certain cases. I find that this makes the programming much easier for the common cases (not terribly difficult fights, etc.), and only requires me to special case the truly special cases.

    WRT injection, what ultimately decided me against being out of process was the time delay on ReadProcessMemory, for movement. I simply couldn't get fine-grained enough behavior to move smoothly out of process. Of course, once I injected, a lot of other possibilities opened up, especially the case you mention -- state-destructive functionality where a simple read/react loop won't work.
    Don't believe everything you think.

  6. #81
    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)
    Originally Posted by nitrogrlie View Post
    That's all good and dandy for what I would call an assist-bot setup (either human with helpers or 1 smart bot assisted by numerous smart bots) but I would argue that you need more centralized control for bots that required coordinated efforts.

    For example, IMHO, if I were to write bots for Arena PvP, the coordination of CC-chains, target switches, dispel/interrupt rotations, etc. could not "effectively" be achieved without a centralized AI algorithm. I quoted effectively because I mean it from a do-ability perspective as well as a performance perspective.

    Let's explore one of these coordination efforts a bit further: CC-chains. So you enter an arena and your bots makes individual decisions, rather then group decision from a centralized source. You have coded logic for which targets are the "CC" targets in specific team setups so each individual bot knows it. The question then is which bot cast the spell to CC? How is that information shared so two+ bots don't try to CC at the same time and offset the effects effectively wasting them? The answer is that they could share what they each will do as individuals to all the other individuals and each bot would have logic routines for handling information it is provided from others. It is essentially the same as humans sharing information over Ventrillo saying "I've got the next interrupt on Target XYZ". The other way to do this, is to have a single centralized intelligence that knows what's need to be done and instructs each bot what his next (or next few) actions should be. I feel like this solution is better as it removes the necessity of extra code for handling inter-bot communication, removes complexity from the design, results in faster execution (due to less code and any lag introduced in inter-bot communication). Just my thoughts.
    I think I may have misrepresented my bot as purely emergent (or, to avoid over-use of the word, just a swarm of independent AI's). It's not. I use a messaging channel to make group decisions, and shared code (everyone is running the same code or potentially the same code) to make sure that everyone reacts "correctly" to the shared decisions coming over the messaging channel.

    What I DON'T try to do is micromanage every interaction and encounter from a top-down perspective. As you say, some special-case behavior requires coordination, but the truth is that 99% of WoW is just button-mashing, sadly. An independent AI can easily do better than a button-mashing human monkey
    Don't believe everything you think.

  7. #82
    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)
    Originally Posted by namreeb View Post
    It was a joke

    He and I were discussing that very topic last night, actually.
    Ah, apologies. I don't always "get" sarcasm over the intertubes very well!
    Don't believe everything you think.

  8. #83
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by amadmonk View Post
    Ah, apologies. I don't always "get" sarcasm over the intertubes very well!
    Incidentally, at the risk of hijacking the thread.. we were discussing that topic in the context of target selection for a grind bot. My proposal was to score nearby potential targets with a ratio of the time required to kill them and the approximate XP we would earn ourselves for it. The required time figure would include travel time, because a lower level mob that is significantly closer may in fact be optimal (it may be overwhelmingly optimal, or it may be very much NOT optimal, I have no idea )

  9. #84
    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)
    Well, that's not a bad idea, that would make a grind bot a good deal more effective. Once in a while you might come up with a sub-optimal scoring, but who cares if it's only once in a while, right? My bot relies on "mostly right most of the time," not always right

    Also, save yourself the hassle if you run into griefers: make sure you don't decide to burn down tagged mobs. I had some asshat following me around tagging everything I wanted to fight for a while, and my bot was (stupidly) earning him a bunch of free XP. Fixed that right quick!
    Don't believe everything you think.

  10. #85
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Absolutely. In a scenario such a this where we are dealing with an environment meant to challenge actual people, doing it right "most of the time" (and, more specifically, more often than a person would) is let's say 95% perfect. To get that other 5% would be an exponential scale of development time investment. "Good enough" can still be really, really good.

  11. #86
    nitrogrlie's Avatar Member
    Reputation
    11
    Join Date
    Oct 2009
    Posts
    81
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by amadmonk View Post
    As you say, some special-case behavior requires coordination, but the truth is that 99% of WoW is just button-mashing, sadly. An independent AI can easily do better than a button-mashing human monkey
    Right, hence I'm interested in creating PvP Bots b/c PvE (to me, I don't want to belittle other people's efforts) is a solved issue primarily because of its scripted nature. And it's not Blizzard's fault, there is no other way to make a game that appeals to a large audience and presents a challenge to the geniuses amongst that crowd. PvE, at least how I see it in Blizzard's eyes, is difficult primarily because of coordination of a large number of people, as well as having good situation awareness and response time. Bots, solve both of these issues because they are software constructs that do what they are told to. A bot will always be faster than a human and more organized. A bot will never be late, never be drunk, never err in what he was told (aka programmed) to do. So as long as the instructions given to a bot are adequate to his mission, there is no way he can fail. Otherwise, there is no hope for humans to beat an encounter that bots cannot.

    PvP is a different animal. Mainly because it adds the element of "randomness". Your bots no longer encounter events that are scripted because they are going against humans, whom are unpredictable, and oftentimes irrational. The challenge there is creating a AI construct that is able to handle such things (whether through emergent behavior or complicated micro-managed rulesets). Figuring out that AI construct is what I find "enjoyable" and "fun". I don't particularly care for WoW, but it does provide the largest exposure to human-interaction in any MMO to test my algorithms against. I see this as a learning experience and have no desire to sell the bot or make money of it in any way, but rather to learn from the effort. I would gladly make it an open-source project if not for the fact that most-likely Blizzard would not appreciate my sentiment and reasons for doing it and instead start banning which would annoy me and cause me to have to develop more code to circumvent their detection routines which would take up more of my limited time. It's easier just to keep it private so I don't have to worry about that or others sharing it publicly.

  12. #87
    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)
    Originally Posted by nitrogrlie View Post
    Right, hence I'm interested in creating PvP Bots b/c PvE (to me, I don't want to belittle other people's efforts) is a solved issue primarily because of its scripted nature. And it's not Blizzard's fault, there is no other way to make a game that appeals to a large audience and presents a challenge to the geniuses amongst that crowd. PvE, at least how I see it in Blizzard's eyes, is difficult primarily because of coordination of a large number of people, as well as having good situation awareness and response time. Bots, solve both of these issues because they are software constructs that do what they are told to. A bot will always be faster than a human and more organized. A bot will never be late, never be drunk, never err in what he was told (aka programmed) to do. So as long as the instructions given to a bot are adequate to his mission, there is no way he can fail. Otherwise, there is no hope for humans to beat an encounter that bots cannot.

    PvP is a different animal. Mainly because it adds the element of "randomness". Your bots no longer encounter events that are scripted because they are going against humans, whom are unpredictable, and oftentimes irrational. The challenge there is creating a AI construct that is able to handle such things (whether through emergent behavior or complicated micro-managed rulesets). Figuring out that AI construct is what I find "enjoyable" and "fun". I don't particularly care for WoW, but it does provide the largest exposure to human-interaction in any MMO to test my algorithms against. I see this as a learning experience and have no desire to sell the bot or make money of it in any way, but rather to learn from the effort. I would gladly make it an open-source project if not for the fact that most-likely Blizzard would not appreciate my sentiment and reasons for doing it and instead start banning which would annoy me and cause me to have to develop more code to circumvent their detection routines which would take up more of my limited time. It's easier just to keep it private so I don't have to worry about that or others sharing it publicly.
    I agree 100%. If I could solve navigation, I might consider running some of my bots in PVP to see how effective scripted behavior is against human opponents, or if they would require some form of machine learning (which is a whole other, fascinating topic...)

    Unfortunately, running PVP bots also offers the biggest chance to be banned (NPC's don't petition GM's when you perfectly killshot them every time), so I haven't really had a chance. I suspect my scripting as it stands would fare poorly, but the opportunity to learn from my mistakes would be golden.

    It would be nice to have a good (IE as similar to Blizzard's as possible) emulator server to run tests on so that I could take out the ban-fear completely. If it were public, it would be even better, since we could pit bots against each other and run them in groups and so forth.

    Hmmm... wonder how much it would cost MMOwned to run a "good" emulator server and maybe have a subscription-based buy-in.
    Don't believe everything you think.

  13. #88
    nitrogrlie's Avatar Member
    Reputation
    11
    Join Date
    Oct 2009
    Posts
    81
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by amadmonk View Post
    I agree 100%. If I could solve navigation, I might consider running some of my bots in PVP to see how effective scripted behavior is against human opponents, or if they would require some form of machine learning (which is a whole other, fascinating topic...)

    Unfortunately, running PVP bots also offers the biggest chance to be banned (NPC's don't petition GM's when you perfectly killshot them every time), so I haven't really had a chance. I suspect my scripting as it stands would fare poorly, but the opportunity to learn from my mistakes would be golden.

    It would be nice to have a good (IE as similar to Blizzard's as possible) emulator server to run tests on so that I could take out the ban-fear completely. If it were public, it would be even better, since we could pit bots against each other and run them in groups and so forth.

    Hmmm... wonder how much it would cost MMOwned to run a "good" emulator server and maybe have a subscription-based buy-in.
    A few notes:

    a) regarding navigation - I don't think that's very difficult to do in Arenas because they are so small. Instead of parsing ADT and WMO files you could just create regions representing areas. A rectangle for a bridge, same for ramps to it, circles for columns, etc. and label a region as accessible from A,B,C (e.g. to get to the bridge region you need to go through ramp A,B,C or D) or "obstacle sufficiently high to break LOS", etc. You are confined to such a small space that this is feasible.
    b) regarding banning - sure, it is, but your bots would be "imperfect" enough probably (in the beginning at least) that I doubt people would notice. You could add variances to their behavior and motion too. Plus, I personally don't really care about being banned too much. I see it as, if blizzard really doesn't want my money for multiple accounts that I'm paying, then who cares. There is a bunch of other projects I want to get around to also.
    c) regarding emulation servers - they will never be good enough, way too many shortcuts in code for that. I used to actually be a developer of MaNGOS some time back and while the servers generally work there is a lot of things that don't.

  14. #89
    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)
    Originally Posted by nitrogrlie View Post
    Bots, solve both of these issues because they are software constructs that do what they are told to.
    Yeah, um... no. You've obviously never played in a group with my bots. "I said heal you dumb paladin! WTF! Why are you drinking? Why? Hello!?"

  15. #90
    nitrogrlie's Avatar Member
    Reputation
    11
    Join Date
    Oct 2009
    Posts
    81
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by EmilyStrange View Post
    Yeah, um... no. You've obviously never played in a group with my bots. "I said heal you dumb paladin! WTF! Why are you drinking? Why? Hello!?"
    Originally Posted by nitrogrlie
    So as long as the instructions given to a bot are adequate to his mission, there is no way he can fail
    :P Finding bugs like that is fun too, but in reality, that's not the bots fault, it's operator (aka developer/programmer) error

Page 6 of 7 FirstFirst ... 234567 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 09:40 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search