13.04.2017, 12:47
Hey there!
I've kind of retired from the SA:MP community, but a recent development in my real-life interests and education sort of pulled me back for one last neat little script
In the past few months I've been getting to know a lot more about Machine- and Deep Learning. It's a field in computer science which, in a nutshell, covers the way computers can learn (from data) how to solve a problem without being explicitly programmed.
You come across this technology daily without you really noticing. For example, ****** refines your search results by learning from large amounts of (user surfing and web) data. I won't bother you with much of the details, but I'll go ahead and give a shot at explaining how this technology can be useful in SA:MP.
Just before I retired I wrote up a rather cpu-heavy bit of code that does several measurements every time you shoot a bullet. Mostly geometry/compare distance in a vector-space.
Two videos of the current method: https://www.youtube.com/watch?v=e2c57yGn6HY and https://www.youtube.com/watch?v=wNPCDz50Wdk
There's also too many false positives because of sync issues and the algorithm not being programmed to really recognize false positives.
So I was thinking about it this morning and thought: I think there's a fair chance this rather complex problem (recognizing an aimbotter) can be solved with a Machine Learning approach.
(It is a complex problem because there's quite a lot of variables the algorithm has to look at to judge whether or not someone is cheating. These variables co-relate in a way no one can really pin-point because of its multi-dimensionality.)
So! To get to the point of this thread. While I'm coding up the model architecture, I need some data to train my model on (ML terminology ).
What I will basically need is A LOT of shooting battle data. I believe around 20 minutes is enough with about 10 players, in which 5 use aimbot and 5 do not use aimbot. This data includes for example:
These are some 'features' I came up with how we can recognize an aimbotter. I'd really like to hear what you guys think could also help distinguish a valid shooter from a cheater.
Hopefully, the program will notice that the values taken from a cheater are much different than from a non-cheater.
For example: the data-points to the left represent valid shooters, the data-points on the right represent cheaters.
I'd really like to make this for the whole SA:MP community.
I'm eager to hear what you guys think.
I've kind of retired from the SA:MP community, but a recent development in my real-life interests and education sort of pulled me back for one last neat little script
In the past few months I've been getting to know a lot more about Machine- and Deep Learning. It's a field in computer science which, in a nutshell, covers the way computers can learn (from data) how to solve a problem without being explicitly programmed.
You come across this technology daily without you really noticing. For example, ****** refines your search results by learning from large amounts of (user surfing and web) data. I won't bother you with much of the details, but I'll go ahead and give a shot at explaining how this technology can be useful in SA:MP.
Just before I retired I wrote up a rather cpu-heavy bit of code that does several measurements every time you shoot a bullet. Mostly geometry/compare distance in a vector-space.
Two videos of the current method: https://www.youtube.com/watch?v=e2c57yGn6HY and https://www.youtube.com/watch?v=wNPCDz50Wdk
There's also too many false positives because of sync issues and the algorithm not being programmed to really recognize false positives.
So I was thinking about it this morning and thought: I think there's a fair chance this rather complex problem (recognizing an aimbotter) can be solved with a Machine Learning approach.
(It is a complex problem because there's quite a lot of variables the algorithm has to look at to judge whether or not someone is cheating. These variables co-relate in a way no one can really pin-point because of its multi-dimensionality.)
So! To get to the point of this thread. While I'm coding up the model architecture, I need some data to train my model on (ML terminology ).
What I will basically need is A LOT of shooting battle data. I believe around 20 minutes is enough with about 10 players, in which 5 use aimbot and 5 do not use aimbot. This data includes for example:
- Walk/run speed
- Hit/miss ratio
- Body part variance (e.g. how many times you hit the chest compared to the arm/head).
- Number of bullets shot.
- How long it takes to kill the target.
These are some 'features' I came up with how we can recognize an aimbotter. I'd really like to hear what you guys think could also help distinguish a valid shooter from a cheater.
Hopefully, the program will notice that the values taken from a cheater are much different than from a non-cheater.
For example: the data-points to the left represent valid shooters, the data-points on the right represent cheaters.
I'd really like to make this for the whole SA:MP community.
I'm eager to hear what you guys think.