Jump to content

Reaction Times and Normal Distributions


SqueezeTheorem

Recommended Posts

I'm back to OSRS and OSBot after a long hiatus. When I left, I was planning a rather ambitious script that would auto mule, set up new accounts automatically, etc. 

I have another slightly less ambitious and more realistic plan this time around, but I'll spare the details for another post. The point is, I want to make a script with a low banrate. So, I put a lot of thought into how to make a script more human-like in relevant ways. One question that came to mind was "If you plot human reaction times in RuneScape on a graph, does it look like a normal distribution?" So, I wrote a small Java application to track the milliseconds between clicks when I spam clicked for a particular activity in game. Lo and behold, the time between clicks appears to be a normal-ish distribution. 

The x axis represents milliseconds, and the y axis represents the number of times that particular delay happened. So, if the black dot in the middle is, say, 125 ms, then that was the most frequent delay length (mode). 

normal.thumb.png.803c991246d11c713a615ee3e5630792.png

Edit: More data
img1.png.f26c0e4c47204deb0c8784f4095e5ccc.png

Because I'm paranoid, I adjusted the the default size of this graph and hid the axis tick marks, but my experiment confirmed my suspicions that human reaction times would follow a normal distribution. 

My motivation for this scripts behave in a way that too consistent and too perfect. They make zero mistakes (when well written), their reaction times are predictable (typically following an even distribution), take the same path over and over again, etc.

My aim here is to create an API built on top of OSBot that allows for more human-like behavior in areas that other MMOs typically use to catch bots. I know for a fact that other titles have used reaction times and analysis of player pathing to catch bots, and so I'm starting there first. I'll be gathering more data and updating this post, or creating a new one with more information that I uncover.

Edited by SqueezeTheorem
Link to comment
Share on other sites

I should clarify that I don't expect control of reaction times by itself to be the best anti ban technique there is. I have a few other techniques in mind I've not seen widely implemented that I'd like to try.

 

As far as I know from the research into other games I've done, reaction times, pathing, session length, and a few other things bots perform in very rigid fashion are the biggest giveaway to bot detection systems. 

 

Reaction times are just one piece of that puzzle. OSBot's API supports predefined paths and the A* pathfinding algorithm, which is great, but over many trips back and forth, a bot ends up revealing itself. 

 

A low-ban script that involves movement would need some kind of pathing that's more dynamic than A* or predefined paths, and that's what I'd like to attempt working on next.

 

The end goal is to emulate human behavior extremely well for one particular task, and not tasks in general. 

Edited by SqueezeTheorem
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...