We all hate cheaters and we all hate smurfers at some point in our CS:GO career.
I would like to propose a way we can deal with both without banning or punishment.
The premise is to improve match making so it is more than capable to rank cheaters and smurfers with their bretheren or at least with players that can deal with them.
Match Making currently has an ELO score which I understand is the only (or primary) variable match making uses to determine which players can compete against each other. How about we add in a couple of extra variables which either roll into the ELO or modify it.
If we run all of the following algorithms on the client's machines, have them periodically sent during death or round buy (to reduce lag when playing) then collate them on the server and grab the media value we'll have a pretty good rating of how well a player is at all of the variables.
We can then start categorizing each player into groups, obviously when population is low the match making will have to stretch the groups a bit or prioritise the variables.
All clients that have the information about any players should be running the algorithims so lots of data can be generated to cross check.
1. Reaction
Record the time it takes when the player is visible to when the cursor is on a hit box, we can achieve this using the positions and rotations of players and the hitbox state of the targeted player.
2. Prediction
Record how often a player chooses the correct bomb site, if they goto bomb site A and there are at least 3 players within 50 meters of the site when the first enemy gets onsite then that's recorded.
Record how often a player is killed when camping, over the length of 5 seconds, record how far they moved, if they move less than 10 meters and get a kill, record it.
3. Experience
Record how often the cursor is at head height, raycast outwards, find the first wall then move backwards 10-20 meters along that line periodcally checking ground height, this will tell you how close they are to head height as they move around.
Record head shots vs body shots and general accuracy
4. Sixth Sense
Raycast multiple times in a circle from the cursor, if all the raycasts are hitting a wall record how long they look at the wall and how many players are currently visible, multiply these results if a kill is recorded within x seconds
Tell me about your ideas and problems with my algorithm so they can be refined.
I would like to propose a way we can deal with both without banning or punishment.
The premise is to improve match making so it is more than capable to rank cheaters and smurfers with their bretheren or at least with players that can deal with them.
Match Making currently has an ELO score which I understand is the only (or primary) variable match making uses to determine which players can compete against each other. How about we add in a couple of extra variables which either roll into the ELO or modify it.
If we run all of the following algorithms on the client's machines, have them periodically sent during death or round buy (to reduce lag when playing) then collate them on the server and grab the media value we'll have a pretty good rating of how well a player is at all of the variables.
We can then start categorizing each player into groups, obviously when population is low the match making will have to stretch the groups a bit or prioritise the variables.
All clients that have the information about any players should be running the algorithims so lots of data can be generated to cross check.
1. Reaction
Record the time it takes when the player is visible to when the cursor is on a hit box, we can achieve this using the positions and rotations of players and the hitbox state of the targeted player.
2. Prediction
Record how often a player chooses the correct bomb site, if they goto bomb site A and there are at least 3 players within 50 meters of the site when the first enemy gets onsite then that's recorded.
Record how often a player is killed when camping, over the length of 5 seconds, record how far they moved, if they move less than 10 meters and get a kill, record it.
3. Experience
Record how often the cursor is at head height, raycast outwards, find the first wall then move backwards 10-20 meters along that line periodcally checking ground height, this will tell you how close they are to head height as they move around.
Record head shots vs body shots and general accuracy
4. Sixth Sense
Raycast multiple times in a circle from the cursor, if all the raycasts are hitting a wall record how long they look at the wall and how many players are currently visible, multiply these results if a kill is recorded within x seconds
Tell me about your ideas and problems with my algorithm so they can be refined.
Algorithms to enhance match making and disempower smurfs and cheaters.
0 commentaires:
Enregistrer un commentaire