Jump to content

Reaction Times and Normal Distributions


Recommended Posts

Posted (edited)

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
Posted (edited)

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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