Links people who are developing bots might find usefull menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 16
  1. #1
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Links people who are developing bots might find usefull

    Link, links and more LINKS!
    Well it seems to me there is a certain lack of links for people who just started developing bots like me, note though: most of these links does not include any code at all but is rather theoretical stuff instead and yes many of these links have been posted before but are scatered around the site...

    Path finding:

    Game/AI: Fixing Pathfinding Once and For All

    Amit’s A* Pages

    Tanis - Articles - Path finding in C#

    recastnavigation - Project Hosting on Google Code

    MPQNav Public Blog


    Behavior:

    http://www.behaviorengineering.org/d...tation-1.0.pdf

    http://www.behaviorengineering.org/d...aresubmit2.pdf

    Behavior Trees for Next-Gen Game AI— AiGameDev.com
    Version that does not req. a free signup is in 3 parts (first version includes slides to make it easier to understand):
    Behavior Trees for Next-Gen Game AI (Video, Part 1)— AiGameDev.com
    Behavior Trees for Next-Gen Game AI (Video, Part 2)— AiGameDev.com
    Game AI for Developers — AiGameDev.com

    My Liner Notes for Spore/Spore Behavior Tree Docs - Chris Hecker's Website

    Brainiac Designer

    http://www.mmowned.com/forums/c/2327...your-bots.html

    On Finite State Machines and Reusability— AiGameDev.com

    The Gist of Hierarchical FSM— AiGameDev.com


    Injection/Hooking:

    EasyHook - The reinvention of Windows API Hooking

    http://www.mmowned.com/forums/wow-me...r-library.html

    Detours - Microsoft Research


    Programming languages:

    Getting Started with C# — Developer.com

    C# Station: C# Tutorial Lesson 01 - Getting Started

    How Do I in C#

    Cprogramming.com: How to Get Started with C++

    C++ Language Tutorial


    Marshaling:

    http://www.codeproject.com/KB/cs/marshaling-1.aspx

    http://www.codeproject.com/KB/cs/marshaling-2.aspx

    http://www.codeproject.com/KB/cs/marshaling-3.aspx


    Misc:

    How to find stuff

    http://www.mmowned.com/forums/wow-me...ple-stuff.html


    Okay this list is far from done, therefor if people post links in this thread i'll add them... Maybe we'll end up with a post that could help people(including me) before they ask a stupid question and get a kick in the bawls of Apoc/Cypher
    Last edited by !@^^@!; 03-19-2010 at 06:14 AM.

    Links people who are developing bots might find usefull
  2. #2
    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've been wanting for a while now to do a piece on the difference between planners and scripted behavior (hardcode/FSM/BT's) for bot AI. I'd highly recommend that folks dig into this a bit if they want their bot to be more "clever." A true planner is a beautiful thing, but quite heavy just for a game bot (Apoc didn't you say you wrote a GOAP a while back?). A BT is probably the least "scripted" of the scripted behaviors family -- you still need to plan out in advance all of the logic paths, but the individual components are composable and easily changed.

    The one tech that I really wouldn't recommend anyone spend a lot of time on for game AI is FSM's -- they've fallen out of fashion in the game design world, for a reason.
    Don't believe everything you think.

  3. #3
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yep FSM's seems like the way you only might go the first time because it's simpler to bruteforce to work...
    But depending on how dynamic you want your bot to be i think a behavior tree is a little overkill for example a bot that use breadcrumb pathing and just grids would be ideal for a FSM because it's not complex enough to justify a behavior tree... While a quest bot could push a behavior tree to it's limits and give a awesome result...

    I really find these forms of AI very interresting because the amount of dynamic within your rules is truely awesome

  4. #4
    Screamer2010's Avatar Private
    Reputation
    1
    Join Date
    Feb 2010
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Cool, Thanks for the excellent info

  5. #5
    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've been wanting for a while now to do a piece on the difference between planners and scripted behavior (hardcode/FSM/BT's) for bot AI. I'd highly recommend that folks dig into this a bit if they want their bot to be more "clever." A true planner is a beautiful thing, but quite heavy just for a game bot (Apoc didn't you say you wrote a GOAP a while back?). A BT is probably the least "scripted" of the scripted behaviors family -- you still need to plan out in advance all of the logic paths, but the individual components are composable and easily changed.

    The one tech that I really wouldn't recommend anyone spend a lot of time on for game AI is FSM's -- they've fallen out of fashion in the game design world, for a reason.
    Didn't we just talk about this yesterday? Here is a link to some good GOAP information: Goal-Oriented Action Planning (GOAP). The source code is a bit over-the-top as it is for the actual F.E.A.R. implementation which is specific to their data information for characters, but some of the papers should be sufficient to start people down the right path of proper goal and action class designs. A* is A*... what's new?

  6. #6
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by nitrogrlie View Post
    Didn't we just talk about this yesterday? Here is a link to some good GOAP information: Goal-Oriented Action Planning (GOAP). The source code is a bit over-the-top as it is for the actual F.E.A.R. implementation which is specific to their data information for characters, but some of the papers should be sufficient to start people down the right path of proper goal and action class designs. A* is A*... what's new?
    Due to the fact that we're forced into a reactive AI system, GOAP is way over the top as far as deciding which AI path to take.

    You would literally need to implement every possible change which would be a giant pain in the ass. Not to mention; a world 'state' system to determine what's actually going on, and what we 'want' to happen is near impossible with certain aspects of WoW. (PvP mainly)

    You can only plan so far ahead when writing logic for your bot. The rest is mostly reacting to events.

  7. #7
    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 Apoc View Post
    Due to the fact that we're forced into a reactive AI system, GOAP is way over the top as far as deciding which AI path to take.

    You would literally need to implement every possible change which would be a giant pain in the ass. Not to mention; a world 'state' system to determine what's actually going on, and what we 'want' to happen is near impossible with certain aspects of WoW. (PvP mainly)

    You can only plan so far ahead when writing logic for your bot. The rest is mostly reacting to events.
    Right, but there is more than one way to "react" to an event... hence a goal and multiple actions that could satisfy it under different trigger conditions. Currently I'm ignore "pathing" all together for movement. I just want to put together a 2v2 arena decision system. I started with a FSM but problem is that it gets complicated fairly fast... especially when I start dealing with fuzzy predictive logic. For example, things I'm considering doing is stuff like predicting location vectors for my arena opponents to determine the probability that they will run out of LOS within the next GCD to determine if I should take preventative actions. Another thing is that I would like to have a better spell/action system in place that better maximizes my selection of abilities to use. For example, I detect that the opposing warlock is casting a 2.0 second spell, since my GCD is 1.12 (after spell haste considerations) I decide that I can get a Dmg spell of before I need to cast the interrupt spell. I understand a world-state system "could" be very large dependent on what you monitor, but it could also be very simple. E.g. only track opponents and friendly position, facing, current casting, current trinket use, health, target, power, cooldowns. From those few states you could infer distance, reason action (i.e. if they both target you chances are they are going to burst you), monitor spell-casts and take preventative action.

  8. #8
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Or, you could use a BT and get the same effect with far better performance, and far less code. (Thus; easier to maintain and expand)

  9. #9
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nitrogrlie, im just starting to getting into botting and behavior but to me it sounds like a behavior tree consisting of other behavior tree's would be the optimal solution for you as it support that there is more than one way to react to a condition with selectors and lots and lots of conditions.
    If you haven't watched the movie on aigamedev i linked in the first post i would highly recommend it because it shows how behavior tree's are a middle ground between FSM, planners and scripts

    -edit- beat to it by apoc, DAMN U! (btw now that i have you attention, is it possible to get a nick change? can't edit/change or even see my profile because of the chars)
    Last edited by !@^^@!; 02-18-2010 at 04:31 PM.

  10. #10
    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)

  11. #11
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    fine thats one way to go but the fine little profile button i have doesn't work at least :<

  12. #12
    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)
    So, yes, my intent at one point was to use BT, but sadly my implementation made it become too rigid and it essentially became a FSM.

    So on a related note, is anyone aware of publicly accessible code that provides a baseline BT library for C++? I scanned through the Game::AI++ source release and while it is applicable it is also very much over-the-top for a bot implementation. If no one knows of one I might write my own and potentially release it for everyone, but if one exists, why reinvent the wheel?

  13. #13
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think Game:Ai++ is the only c++ code that is public atm and yes the code from Aigamedev is overkill for botting so i would recomend you to watch Behavior Trees for Next-Gen Game AI&mdash; AiGameDev.com (need a free signup) and just pause once a while and implement the features you think could be of use, like i did

  14. #14
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The AIGD BT implementation is actually incredibly well written. (It's written by one of the guys on the forefront of BTs)

    It may be a bit 'over the top' to you now, but you'll realize just how nice it is to have a robust base to work from.

  15. #15
    !@^^@!'s Avatar Active Member
    Reputation
    23
    Join Date
    Feb 2007
    Posts
    155
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Added links to a good codeproject article about marshaling

Page 1 of 2 12 LastLast

Similar Threads

  1. Let's all say THANKS to people who develop free bots for us!!!
    By thesikaleon in forum Pokemon GO Chat
    Replies: 4
    Last Post: 08-13-2016, 12:19 PM
  2. [Tol Barad] Annoy people who are trying to get honor at bridge!
    By munccu in forum World of Warcraft Exploits
    Replies: 20
    Last Post: 01-05-2011, 01:48 PM
  3. How can you make guards that attack people who are PvP-ing ?
    By Wheeze201 in forum World of Warcraft Emulator Servers
    Replies: 7
    Last Post: 12-31-2007, 07:24 AM
All times are GMT -5. The time now is 07:44 AM. 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