Don't really care, there's always going to be people botting. Just probably not too many grinding honor kills as that'll hopefully be monitored heavily.
Well interaction. But its an interesting pathfinding problem I dont really know how to answer, hence its my angle that its a problem enough that it shifts possibility away from reality, as far as botting goes.
Ok, I'll try to write some concept "right out of my head". We can easily build depth map from any point with just some camera rotations. No "hardware" problem here as WoW accepts mouse events from WinAPI calls. So we have something like lidar image of the world around. Then bot moves some steps forward and "snapshots" everything around. Just don't forget to set maximum camera distance and don't move + rotate simultaneously. So after (e.g.) 30 seconds of walking you already have built a map of the world around. Most of the time WoW's journeys are held over surface, i.e. you need only two coordinates. I would just ignore caverns, towers and all the other such "3D" stuff. Then you can build a 2D navigational mesh (a lot of articles on that). Now, given nav. mesh you will get a navigational graph (just drop some nav. mesh nodes) that's well suited for pathfinding and you can use just WASD buttons (and sometimes rotate camera) to move your bot over the world. When you see that nav. graph has more then 1000 nodes - use contracted hierachies to optimize pathfinding.
Not an easy-to-build system, but not actually hard. Some weeks of developement and a dirty solution (proof-of-concept) will be done.
Any questions? :)
zuko3d Thanks for all the input. I work with the hardware side of AI and it's always fascinating to see what you guys are doing on the software side.
These new neural network techniques are very much black boxes and magic to a lot of people, myself included. They are capable of doing so many things so well that I think a lot of people write them off as being impossible magic creations. There's definitely a strong overestimation of how hard it is to set these things up for people who are familiar with programming them. There will always be bots. Just like spam. The only hope is that like spam, the detection techniques become good enough to at least catch most of them.
In regards to Blizzard's warden software scanning memory for bots, you could just move the bot off-system onto a 2nd computer. You could hook the output of the graphics card from one PC into a capture card on the second system, and the second system could run the machine vision software there and then feedback inputs through a USB port that looks like a keyboard to the 1st computer. Hell, you could probably just virtualize the whole thing and run both computers inside VM containers and pass video and USB commands between them as if they were physical machines. There are definitely ways to move the bot off the same operating system as the game client, and once you do this then there is nothing for the Warden to find.
Where there's a will, there's a way. Especially when it comes to making real money by selling warcraft gold on the internet.
Well interaction. But its an interesting pathfinding problem I dont really know how to answer, hence its my angle that its a problem enough that it shifts possibility away from reality, as far as botting goes.
Ok, I'll try to write some concept "right out of my head". We can easily build depth map from any point with just some camera rotations. No "hardware" problem here as WoW accepts mouse events from WinAPI calls. So we have something like lidar image of the world around. Then bot moves some steps forward and "snapshots" everything around. Just don't forget to set maximum camera distance and don't move + rotate simultaneously. So after (e.g.) 30 seconds of walking you already have built a map of the world around. Most of the time WoW's journeys are held over surface, i.e. you need only two coordinates. I would just ignore caverns, towers and all the other such "3D" stuff. Then you can build a 2D navigational mesh (a lot of articles on that). Now, given nav. mesh you will get a navigational graph (just drop some nav. mesh nodes) that's well suited for pathfinding and you can use just WASD buttons (and sometimes rotate camera) to move your bot over the world. When you see that nav. graph has more then 1000 nodes - use contracted hierachies to optimize pathfinding.
Not an easy-to-build system, but not actually hard. Some weeks of developement and a dirty solution (proof-of-concept) will be done.
Any questions? :)
Ok, I was not really familiar with NavMeshing things at all actually. But I guess I know understand depth+camera rotations replacing lidar and using that to create 2D nav meshes>nav graphs>collect nodes>optimize pathfinding with nodes in graph. But now even with hypothetical pathfinding based on a bot acting like a lidar from time to time, how to do have the bot move to a say herb node or a mob? Even if its capable of seeing the mob and the herb next to a tree with our camera angle lidar and 2d nav graph of the surroundings, we would now have to send a specific series of mouse clicks (with winAPI or really anything) to move the bot along our solved pathfinding solution for the mob/herb node onscreen. I guess I am having problems now connecting a pathfinding system with actual WoW movements via mousecalls/camera rotations.
Well interaction. But its an interesting pathfinding problem I dont really know how to answer, hence its my angle that its a problem enough that it shifts possibility away from reality, as far as botting goes.
Ok, I'll try to write some concept "right out of my head". We can easily build depth map from any point with just some camera rotations. No "hardware" problem here as WoW accepts mouse events from WinAPI calls. So we have something like lidar image of the world around. Then bot moves some steps forward and "snapshots" everything around. Just don't forget to set maximum camera distance and don't move + rotate simultaneously. So after (e.g.) 30 seconds of walking you already have built a map of the world around. Most of the time WoW's journeys are held over surface, i.e. you need only two coordinates. I would just ignore caverns, towers and all the other such "3D" stuff. Then you can build a 2D navigational mesh (a lot of articles on that). Now, given nav. mesh you will get a navigational graph (just drop some nav. mesh nodes) that's well suited for pathfinding and you can use just WASD buttons (and sometimes rotate camera) to move your bot over the world. When you see that nav. graph has more then 1000 nodes - use contracted hierachies to optimize pathfinding.
Not an easy-to-build system, but not actually hard. Some weeks of developement and a dirty solution (proof-of-concept) will be done.
Any questions? :)
I actually have a question
How would you calculate the depth for the depthmap you mentioned. I don’t see an inbuilt solution for that.
Happy to be corrected
Cheers
Randomguy
I dont usually write at those sites; but just created an account to reply this thread, as I saw many things posted that are simply not true.
I am a intermediate-level C# programmer; and legitimate wow-player since 2008, now playing at classic.
I always played as a priest, healing hardcore guilds; but I got really pissed when I simply had no gold to buy a flask to raid. (distilled wisdom). Then I decided to write a bot to grind stuff for me. I had no previous wow-bot-programming knowledge.
It took me 3 weeks from scratch to have a fully functional bot, that can walk following a list of waypoints of map coordinates, and kill mobs better than an average player, including looting and skinning.
So there is not any technical "impenetrable barrier" to any average programmer to write such program. From my (programmer) point of view, limitations are heuristic detection (e.g.Playing 48 hours nonstop), direct proccess detection (like an anti virus would), followed by banwaves, and legal persuit aginst companies that used to sell this kind of aid.
It's true that memory reading is not a reality anymore (as blizzard is using "shadowed" / random memory address ) since 2017, but a new generation of very efficient pixel-reading bots are the new reality.
Map coordinates, player location, player facing angle, player and target health and mana are available to any addon via lua code. The interface wow-bot now is made via addons, that draw a small multi coloured square (e.g 10x10 = 100 pixels) at player screen, and each pixel will carry colour code of 3x 255 (R-255-G-255-B-255): a single pixel at the screen for instance can carry player health at R,player mana at G, and player "facing" ate B, and another pixelwill carry X,Y coordinates and combat status. The bot software reads those pixel colors, and send the info to the bot itself, that will use that info to move the player and play.
LUA functions interface (addons) can supply a plethora of info that is more than enough to automate playing proccess: Player coordinates, Player "facing direction", player health, mana, combat status, moving speed, spell "isinrange", incorrect facing of the target after trying to cast stuff (e.g. you are facing the wrong way), target health, mana, cooldowns, etc. That is more than enough to make a fully functional virtual player (aka bot), without reading a single memory byte. Yet, detecting stuff (e.g. mobs) at the screen is way easier than complex visual machine stuff. You can simply read the red pixels from mobs target bars to know where mobs are, for example.
Its really simple to do, so there is no real challange. So whenever you guys think of "technical limitations" on botting, remember that there is no such thing. limitations are in fact from banning botters.