[WIP] more realistic walking bot/Anti-waypoints

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
Blyad
Posts: 49
Joined: Fri Oct 07, 2011 3:16 am

[WIP] more realistic walking bot/Anti-waypoints

#1 Post by Blyad » Thu Dec 22, 2011 3:53 pm

rock lisa and admin have developed an amazing bot, my only complaint is... it looks like a bot, 90 snap turns, detecting mobs off camera etc.

my goal is to correct its most obvious flaw to other players. running perfectly straight lines. many players right mouse click to turn giving a more fluid movement style, real players get ADHD and hop around a little bit while farming. for lack of a better term i call it a "floating" bot


im currently working on a relatively simple script that while moving from waypoint to waypoint will randomly press VK_E and VK_Q and hold them down for short periods of time to give the bot a "manually walking" look. and inserting a simple jump mid stride every now and then.

this works fine, however it obviously wanders out of range, into objects a straight line would avoid etc,

i had a idea i would like to pick your brains about, for lack of a better term i call it Anti-Waypoints, however it would simply be a second set of waypoints that act as a perimeter or barrier in which a wander bot or "floating bot" would roam around in a loosly guided waypoint system or in true wander mode. never getting within the circle or perimeter of the anti-waypoints around it.


how much actual code would it take simply tell the bot "wander mode here, but not past here here and here" ?

intrested to hear what you think on the subject.

User avatar
Administrator
Site Admin
Posts: 5307
Joined: Sat Jan 05, 2008 4:21 pm

Re: [WIP] more realistic walking bot/Anti-waypoints

#2 Post by Administrator » Thu Dec 22, 2011 5:09 pm

That would take a lot of work. It is simple enough to set bounds to where it is acceptable to try and walk to, but you would have to create hundreds of these zones for each area. So, it is a good idea, but nobody wants to put the time and effort into it when you can just create a waypoint list easily enough.

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: [WIP] more realistic walking bot/Anti-waypoints

#3 Post by rock5 » Thu Dec 22, 2011 10:35 pm

I don't think doing sharp 90 degrees or even 180 looks bottish. You can whip around real quick with a mouse. Communication with the server is not instantanious so it wont look like you just did a smooth turn with your mouse to other players, it will look like you instantly turned. Just like what a bot looks like.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: [WIP] more realistic walking bot/Anti-waypoints

#4 Post by kanta » Thu Dec 22, 2011 11:13 pm

To be honest, when I'm farming certain mobs such as dog meat farming, I don't really turn my character to look around. I just turn the camera holding the left mouse button and when one appears add in holding down the right mouse button to begin moving. Doing this, I'm sure, looks like I'm doing 90 - 180 degree quick turns. Or while I'm moving around either short or long distance, I sometimes use the WSAD keys while turning the camera with the left mouse button and suddenly change direction via combining the right mouse button switching direction in mid stride. So all in all, the bot doesn't really move any differently than I do naturally.

The up side to what I believe you are saying is that it would give the bot a bit of leeway in randomizing the path with boundaries to avoid getting stuck on objects like setting the wander deviation normally does. My only worry is that it may randomize so much that it appears your character is drunk.

Varanas Guard: "Ok, I need you to extend your arms and touch your nose now."
character: "Honestly sir, I haven't had a drop of Nobody's Rum!"
Scout/Knight/Rogue 70/66/66

Blyad
Posts: 49
Joined: Fri Oct 07, 2011 3:16 am

Re: [WIP] more realistic walking bot/Anti-waypoints

#5 Post by Blyad » Fri Dec 23, 2011 8:10 am

you bot have valid points. my key concern is players who use the right mouse button to turn, allso often hold it down while holding VK_W which gives a character a slight sway or bend in there walking rather than a very sharp straight line to the next waypoint like they used click to move, personally i know very few players who turn to target with the right mouse button and then allso click to move as there primary method of travel.

allso the bot allready has waypoint deviation however using it can lead to getting stuck on walls, fences, large rocks, or generally everything in RoM.

imagine if you could draw boundaries around every obsticale so the bot still had waypoint deviation but you could tell the bot its not allowed within say 50 range of the boundaries. you could keep your bot from EVER getting stuck again.

it would allso function to have your bot de-agro or stop chasing mobs who cross/get to close to the boundaries.

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: [WIP] more realistic walking bot/Anti-waypoints

#6 Post by kanta » Fri Dec 23, 2011 11:37 am

Blyad wrote:imagine if you could draw boundaries around every obsticale so the bot still had waypoint deviation but you could tell the bot its not allowed within say 50 range of the boundaries. you could keep your bot from EVER getting stuck again.
We think alike. I mentioned this in another post but I don't think the idea was accepted. Second to last post in this thread: http://www.solarstrike.net/phpBB3/viewt ... 0&start=20 I think I understand the fault in my thinking on that post now though. I pulled up an object list in rombot and it did not come up with any of the fences/rocks/etc so they would not be detectable that way. There would need to be a whole lot of manual boundary values typed in. I think the concern is that with a database of all these objects and the bot having to compare paths, it may slow down movement or possibly even cause waypoint bypassing because the bot is thinking about obstacles while it should be paying attention to the upcoming waypoint coordinates.
Scout/Knight/Rogue 70/66/66

Blyad
Posts: 49
Joined: Fri Oct 07, 2011 3:16 am

Re: [WIP] more realistic walking bot/Anti-waypoints

#7 Post by Blyad » Fri Dec 23, 2011 12:14 pm

my thinking for this project is every waypoint file would have an optional second set of waypoints that would function extremely similar to the existing waypoints and would not effect them.

you would simply map out waypoints as if they built a fence. for example (excuse the worst ASCII diagrams ever.

Code: Select all

  1____2
 |        |
 |        T
 |_____|
 4         3
this is your boundary waypoints your actual waypoints would obviously function within this box, lets say for arguments sake near the line between waypoint 2 and 3 there is a tree your bot often gets stuck on.('T' marks the tree) however there are mobs you wish to kill near 2 and 3 and your sick of getting stuck.

Code: Select all

1____2
|       /
|    3 \ T
|_____\
5         4
the boundary waypoints would deter the bot from attempting to walk through the tree as the tree is outside of the boundaries.

now because the last boundary allways loops to the first boundary (just like normal waypoints) any shape or sized polygon is possiable, so fencing off just about anything without interfering with your waypoints is very simple, and a simple debug check that would be like:

Code: Select all

"Waypoint #69 is outside of the defined boundaries, please edit your boundaries/waypoints and try again /cast back to shell"
this is something i would love to do myself however, regardless how well documented the API for the bot is on the Wiki, there's very little info available about an extensive modification such as this, any and all advice would be appriated.

onewhoknows
Posts: 11
Joined: Sat Nov 19, 2011 9:34 pm

Re: [WIP] more realistic walking bot/Anti-waypoints

#8 Post by onewhoknows » Sun Dec 25, 2011 12:14 pm

Cool idea - couple thoughts:

1. The angle of turn doesn't really attract attention. More attention is paid to the path used.

2. The exclusion to this is the "ticking turn" - where the character stand in one spot, and turns slightly, as if checking each degree on the compass dial.


3. Forget selecting targets off camera - one of the things I looked at was which targets were selected in relation to others. Why are you going after a mob 50m away when there is one only 15m away? Some times so close that you run right by it almost running over the one mob to get the other.

I never used tab for killing mobs - does tab select the closest mob? When I played I always went for the closest mob to maximize my run time per kill ratio :D


Man, A true wandering script would maybe remove the path method of identifying - but even then eventually that would form the pattern - a pattern of not going beyond a certain point, always maintaining the same distance away from objects.

Good luck with it :D

Blyad
Posts: 49
Joined: Fri Oct 07, 2011 3:16 am

Re: [WIP] more realistic walking bot/Anti-waypoints

#9 Post by Blyad » Sun Dec 25, 2011 4:38 pm

as it as been said many many times, it's not GM's that come figure out if your botting it's other players making complaints that lead to people getting banned.

my goal isnt to seem more random in my logs, but for my movements and targeting to seem more human to other players.


click to move players are the only people who walk straight lines from A to B then 180 degree turn on a dime to shoot a mob that spawned behind them and snap 90 degrees to the next target... again walking in a perfectly straight line.

the sharp ridged movement patterns is what gives other bots away to me, you can allways tell a bot from a skilled farmer just by watching them. which leads to reports.

if i saw a bot that appeared to be using the mouse right button to turn. and occassionally jumping 2-3 times like a bored ADHD kid waiting for stuff to kill to spawn. i would personally be far less likely to assume it's a bot, as for the killing mobs based on proximity, i would simply assume they double tapped tab and couldnt be F***ed to tap it again to get to the closer target, if i even gave it a second thought to begin with.


allso random idea. 90% of the time someone sees my bot, they sit and watch it for about 60-120 seconds before whispering saying "are you a bot?" or "im reporting you" is there a script to check if a player is within loading range and if they are there for X amount of time whisper them from a preset list of replys? something like "can i help you with something?" or "....problem?" "im farming here, mind switching channels?"

Budzer
Posts: 99
Joined: Fri Sep 23, 2011 12:44 am

Re: [WIP] more realistic walking bot/Anti-waypoints

#10 Post by Budzer » Sun Dec 25, 2011 9:28 pm

Well as for being reported there is always chance even if we're not botting.... I have myself few situation when other players find me cheating, when I was playing without, any.... Probably the funniest was when I was farming cerbers and other player said that I am using speedhack, as he can not run as fast as I am (I was without any buff, he had potion from housekeeper and DL title)... Well I was playing rouge and use time to time speed buff, during 5 min conversation he said he is playng rouge too, so no comment on that, as to the last moment he was claiming that I was using speed hack... So you can be reported even if you are not cheating.

Of course this shouldn't stop us to try.... I suppose there can be something change about waypoint, by simply adding (at least I think it would be simple, as I know nothing about programming :P ) new type of waypoint (like =travel), and at certain waypoint bot will use jump, will stop for Xs or will go XXX points from that waypoint to random direction. All of this should be used totally random, so sometimes bot will do nothing (it should be 50+% of cases), sometimes will jump during run, sometimes will go somewhere and sometimes will stop for random amount of time. Or as in your ex. press randomly "WSADEQ" for short period of time...
I suppose player making his own WP will know where he can use things like that, so bot shouldn't stuck because of using this function.

The next good thing to do would be simply making longer paths. Takes time, but would be worth it....

Another thing adding "optional waypoint" bot decide if go by this WP.

As for places where WP deviation and my idea can not be implemented (too many obstacles). Making (probably it wouldn;t be possible or I suppose hard to implement) some kind of or/or waypoint should do....


It would look something like this:

Code: Select all

	<!-- #  1 --><waypoint x="100" z="100" >	</waypoint>
	<!-- #  2 --><waypoint x="100" z="150" type="Optional">	</waypoint>
	<!-- #  3 --><waypoint x="200" z="200" type="Radnom">	</waypoint>
	<!-- #  4 --><waypoint "x="300" z="300"" or "x="305" z="300"" or "x="290" z="310"" or "x="300" z="325""  >	</waypoint>
So 1-st is normal, 2-nd can be randomly skipped, 3-rd would have after sometimes jump, sometimes additional random WP, sometimes presskey, sometimes pause and 4-th could go through randomly chosen path - for normal player it will be random for person creating WP it will not, so no obstacles problem.

All of this idea will require some kind of random number generator (or something like that), but this would probably be the easiest part.


As for sharp rotating. I personally moves in 3-4 different ways. First is of course only keyboard, second left mouse click for rotating and right to move forward, witch would look totally like bot... the only difference with ranged class, as I wouldn't stop as soon as mob is in my range. Next is right mouse click to rotate view, but I personally am using it only for fun (it simply doesn't fit me for playing). The last one would be combine of them all.
From my point of view there is nothing to change there.

kanta
Posts: 424
Joined: Thu Nov 11, 2010 4:08 pm

Re: [WIP] more realistic walking bot/Anti-waypoints

#11 Post by kanta » Mon Dec 26, 2011 7:11 pm

Blyad wrote:allso random idea. 90% of the time someone sees my bot, they sit and watch it for about 60-120 seconds before whispering saying "are you a bot?" or "im reporting you" is there a script to check if a player is within loading range and if they are there for X amount of time whisper them from a preset list of replys? something like "can i help you with something?" or "....problem?" "im farming here, mind switching channels?"
I believe Lisa coded in something like this in her GM detection. Maybe it'll help.

http://www.solarstrike.net/phpBB3/viewt ... =27&t=2516
Scout/Knight/Rogue 70/66/66

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot] and 1 guest