|
03-29-2017, 02:21 PM
|
Join Date: May 2006
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
|
I'm starting to get the feeling that pULSE doesn't understand that Elo rankings use a points system.
Also, you can use a points system to limit people reaching number 1 battling noobs by limiting the number of points someone receives beating someone to a scale based on the battling users levels. It's really simple actually.
EDIT- Pseudocode again but modified.
Code:
var maxEstimatedSkill = 10;
var ELOPoints = NumberOfRegisteredUsers;
var MaxEloChange = 32;
//W-L expressed as decimal
var winLoss = 0;
//I'm not sure how exactly to express a mathematical formula
//for determining exactly how to remove the number of points taken
var pointSubtraction;
var User1 = {
//All numbers in here are random. I didn't feel like writing some actual code in
//a spreadsheet to distribute the ELO points amongst the current user count
//(139,421) randomly and then sorting it. This should do well enough to express what
//I'm getting at.
currentRank: 35,
EstimatedSkill: 7,
CurrentEloPoints: 15000,
winLoss = 75.3
}
var User2 = {
currentRank: 1000,
EstimatedSkill: 7,
CurrentEloPoints: 1200,
winLoss = 25.2
}
function Battle() {
Predict = {
User1PredictionScore = user1.CurrentEloPoints + (user1.currentRank + user1.EstimatedSkill + user1.winLoss);
User2PredictionScore = user2.CurrentEloPoints + (user2.currentRank + user2.EstimatedSkill + user2.winLoss);
if (User1PredictionScore > User2PredictionScore) prediction = User1 wins;
if (User2PredictionScore > User1PredictionScore) prediction = User2 wins;
if (User1PredictionScore == User2PredictionScore) prediction = CoinFlip; //do nothing
}
DetermineWinner = {
if (user1VoteTally > greater than user2VoteTally) {
user1 wins} else {
user2 wins
}
}
Winner = Result
DetermineRankChange = {
if Winner was predicted {
pointModifier = WinnerPredictionScore - LoserPredictionScore;
pointSubtraction = map(pointModifier, 0, 139421, 0, 32)
ELOAdded = MaxEloChange - (pointSubtraction)
}
if Winner was not predicted {
ELOAdded = UnderDogWin
UnderDogWin() {
pointModifier = WinnerPredictionScore - LoserPredictionScore;
pointSubtraction = map(pointModifier, 0, 139421, 0, 32)
ELOAdded = MaxEloChange - (pointSubtraction)
}
}
}
}
__________________
Quote:
Originally Posted by Krhyme Killz
lol...hava nagila nigga
|
Last edited by Mindless; 03-29-2017 at 02:24 PM.
|
03-29-2017, 02:21 PM
|
#21
|
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
Join Date: May 2006
Voted:
95
audio / 718
text
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
|
I'm starting to get the feeling that pULSE doesn't understand that Elo rankings use a points system.
Also, you can use a points system to limit people reaching number 1 battling noobs by limiting the number of points someone receives beating someone to a scale based on the battling users levels. It's really simple actually.
EDIT- Pseudocode again but modified.
Code:
var maxEstimatedSkill = 10;
var ELOPoints = NumberOfRegisteredUsers;
var MaxEloChange = 32;
//W-L expressed as decimal
var winLoss = 0;
//I'm not sure how exactly to express a mathematical formula
//for determining exactly how to remove the number of points taken
var pointSubtraction;
var User1 = {
//All numbers in here are random. I didn't feel like writing some actual code in
//a spreadsheet to distribute the ELO points amongst the current user count
//(139,421) randomly and then sorting it. This should do well enough to express what
//I'm getting at.
currentRank: 35,
EstimatedSkill: 7,
CurrentEloPoints: 15000,
winLoss = 75.3
}
var User2 = {
currentRank: 1000,
EstimatedSkill: 7,
CurrentEloPoints: 1200,
winLoss = 25.2
}
function Battle() {
Predict = {
User1PredictionScore = user1.CurrentEloPoints + (user1.currentRank + user1.EstimatedSkill + user1.winLoss);
User2PredictionScore = user2.CurrentEloPoints + (user2.currentRank + user2.EstimatedSkill + user2.winLoss);
if (User1PredictionScore > User2PredictionScore) prediction = User1 wins;
if (User2PredictionScore > User1PredictionScore) prediction = User2 wins;
if (User1PredictionScore == User2PredictionScore) prediction = CoinFlip; //do nothing
}
DetermineWinner = {
if (user1VoteTally > greater than user2VoteTally) {
user1 wins} else {
user2 wins
}
}
Winner = Result
DetermineRankChange = {
if Winner was predicted {
pointModifier = WinnerPredictionScore - LoserPredictionScore;
pointSubtraction = map(pointModifier, 0, 139421, 0, 32)
ELOAdded = MaxEloChange - (pointSubtraction)
}
if Winner was not predicted {
ELOAdded = UnderDogWin
UnderDogWin() {
pointModifier = WinnerPredictionScore - LoserPredictionScore;
pointSubtraction = map(pointModifier, 0, 139421, 0, 32)
ELOAdded = MaxEloChange - (pointSubtraction)
}
}
}
}
__________________
Quote:
Originally Posted by Krhyme Killz
lol...hava nagila nigga
|
Last edited by Mindless; 03-29-2017 at 02:24 PM.
|
Offline
|
|
03-30-2017, 10:06 AM
|
Join Date: Aug 2010
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
|
You're not understanding the basic premise of my entire argument
ELO hides the points values, all those calculations are done in the coding and on the user's end, they receive a tiered ranking. That's what they see. It's much harder to 'game' an ELO ranking system, when all the numerical data, values, etc are buried in the code and we get a tier in it's place.
If you know how many points you have, and you start figuring out how many points you get per win on avg against noobs, you can just battle 100 noobs and game the points system. You can't game ELO because it'll put you against equally skilled battlers, so LB would restrict you from battling shitty ass noobs, because logically, they'd be a few tiers lower than you. The only way to game this system is if, let's say, a GREAT battler purposely loses most of their qualifying matches to end up in the lowest tier. And then goes on a winning streak because they're Bronze when they belong in Diamond or some shit. And there's really no incentive to lose your qualifying matches and purposely tank your account, because people value their win/loss records on this site lol
|
03-30-2017, 10:06 AM
|
#22
|
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
Join Date: Aug 2010
Voted:
111
audio / 86
text
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
|
You're not understanding the basic premise of my entire argument
ELO hides the points values, all those calculations are done in the coding and on the user's end, they receive a tiered ranking. That's what they see. It's much harder to 'game' an ELO ranking system, when all the numerical data, values, etc are buried in the code and we get a tier in it's place.
If you know how many points you have, and you start figuring out how many points you get per win on avg against noobs, you can just battle 100 noobs and game the points system. You can't game ELO because it'll put you against equally skilled battlers, so LB would restrict you from battling shitty ass noobs, because logically, they'd be a few tiers lower than you. The only way to game this system is if, let's say, a GREAT battler purposely loses most of their qualifying matches to end up in the lowest tier. And then goes on a winning streak because they're Bronze when they belong in Diamond or some shit. And there's really no incentive to lose your qualifying matches and purposely tank your account, because people value their win/loss records on this site lol
|
Offline
|
|
03-30-2017, 05:57 PM
|
Join Date: May 2006
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
|
A) You don't have to tell users how many points they have.
B) They don't have to know exactly the way that points or added or subtracted in the system.
C) Even if they did they still wouldn't be able to game the system battling noobs because of the addition of the law of diminishing returns. They might get higher up than they were before but if they never battled anyone but noobs they wouldn't increase anything but their w/l record. Their points would stagnate and they would never increase rank.
D) I'm pretty sure they could just make a new account to battle noobs and get a new, better w/l. That's what people do in CSGO, which has an Elo style ranking system.
It's kind of coming across like you just don't like ideas that aren't exactly the one you're proposing. 'Cause what I'm proposing is very similar to what you're proposing except I'm giving a lot of detail on how a system like that would work instead of just vague generalities and an insistence on forcing people to battle people they might not want to battle.
__________________
Quote:
Originally Posted by Krhyme Killz
lol...hava nagila nigga
|
|
03-30-2017, 05:57 PM
|
#23
|
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
Join Date: May 2006
Voted:
95
audio / 718
text
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
|
A) You don't have to tell users how many points they have.
B) They don't have to know exactly the way that points or added or subtracted in the system.
C) Even if they did they still wouldn't be able to game the system battling noobs because of the addition of the law of diminishing returns. They might get higher up than they were before but if they never battled anyone but noobs they wouldn't increase anything but their w/l record. Their points would stagnate and they would never increase rank.
D) I'm pretty sure they could just make a new account to battle noobs and get a new, better w/l. That's what people do in CSGO, which has an Elo style ranking system.
It's kind of coming across like you just don't like ideas that aren't exactly the one you're proposing. 'Cause what I'm proposing is very similar to what you're proposing except I'm giving a lot of detail on how a system like that would work instead of just vague generalities and an insistence on forcing people to battle people they might not want to battle.
|
Offline
|
|
03-30-2017, 07:34 PM
|
Join Date: Aug 2010
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
|
You're proposing a system similar to what LB already has, and LB's system has been getting gamed for years. LB runs on a points system that's based on the rank of the person you battle and all types of shit. Problem is, the person they're battling has a linear rank, not a skill based rank. So if #5,000 all time battles #1 all time and wins, they'll get more points than if #1 beat them. But the #1 dude isn't #1 because of skill, he's #1 because he did 600 battles.
The idea is solid but a rank gives you something to look forward to grinding. I have no incentive to grind in order to go up in rank if we're working with your proposed points system where values are hidden from the user and I have nothing to show for my rank. That's my entire point and you missed it a 2nd time b. And that law of diminishing returns is BS. You won't go up a lot by battling noobs, but if you battle 100 noobs I guarantee that'll make a huge difference in where you stand. Whereas an Elo system wouldn't even let you battle noobs because of the difference in tiers (which represents a difference in skill level) therefore talk of sniping noobs, diminishing returns, etc is absolutely irrelevant when we talk an Elo system, because it would literally prohibit you from battling noobs
|
03-30-2017, 07:34 PM
|
#24
|
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
Join Date: Aug 2010
Voted:
111
audio / 86
text
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
|
You're proposing a system similar to what LB already has, and LB's system has been getting gamed for years. LB runs on a points system that's based on the rank of the person you battle and all types of shit. Problem is, the person they're battling has a linear rank, not a skill based rank. So if #5,000 all time battles #1 all time and wins, they'll get more points than if #1 beat them. But the #1 dude isn't #1 because of skill, he's #1 because he did 600 battles.
The idea is solid but a rank gives you something to look forward to grinding. I have no incentive to grind in order to go up in rank if we're working with your proposed points system where values are hidden from the user and I have nothing to show for my rank. That's my entire point and you missed it a 2nd time b. And that law of diminishing returns is BS. You won't go up a lot by battling noobs, but if you battle 100 noobs I guarantee that'll make a huge difference in where you stand. Whereas an Elo system wouldn't even let you battle noobs because of the difference in tiers (which represents a difference in skill level) therefore talk of sniping noobs, diminishing returns, etc is absolutely irrelevant when we talk an Elo system, because it would literally prohibit you from battling noobs
|
Offline
|
|
03-31-2017, 01:48 AM
|
Join Date: May 2006
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
|
The only difference between my system and yours is that:
A) It doesn't limit who's allowed to battle who.
B) Doesn't add a bunch of code for a matchmaking system. We already have random battling. All you have to do is drop an open.
C) Only gives a number rank instead of a class and a number rank.
Did you bother to look at the pseudo code I posted? It's based on the ELO system which, again, uses points to determine classes. My formula is a simplified one based on the Estimated Skill Level of the battler (Something we already have that can be modified and is based on the ratings battlers get in battles.), as well as their current rank, w/l record and EloPoints (Which would determine their class if there were classes in the system) to determine how points are distributed to battlers who win. Which is exactly what an Elo system does.
Also, you must not understand what I'm saying if you don't get the law of diminishing returns. So I'll use your class names in my example so you can get it.
A person signs up for LB and is bronze. He battles bronze battlers and wins enough to become silver. He continues to battle bronze battlers. His w/l ratio goes up but as it does the number of points he gains from battling bronze battlers goes down because with every win the points value of taking on those bronze battlers decreases. Why? Because of this part of the algorithm after the part that makes a prediction about which battler will win based on a score created from the users stats:
Code:
DetermineRankChange = {
if Winner was predicted {
pointModifier = LoserPredictionScore - WinnerPredictionScore;
pointSubtraction = map(pointModifier, 0, currentUserCount, 0, 32)
ELOAdded = MaxEloChange - pointSubtraction
}
If bronze sniper has a prediction score of 100 and new person has a prediction score of 3 the amount of points they would get would be 0 after we map the point modifier (-97) to the maximum point change range. (Mapping, in case you don't know is assigning one range of numbers to another. An example would be to assign 0-100 to 0-10 by having one represent ten, two twenty, three thirty, and so on and so forth.)
So, let's assume he does what you say and battles a hundred bronze level battlers. We set the max change at a range of -32 through 32 points. In my system, and I'm not going to extrapolate exactly here but, I don't think he gets past maybe 20 or 30 wins before it starts to not do anything significant for him and because he'd have started with 1 point, by the time he hits that amount he's still not moved up the rankings but a few spots.
__________________
Quote:
Originally Posted by Krhyme Killz
lol...hava nagila nigga
|
Last edited by Mindless; 03-31-2017 at 01:54 AM.
|
03-31-2017, 01:48 AM
|
#25
|
Ranked Audio Record 3 Won / 1 Lost
Ranked Text Record 34 Won / 6 Lost
Exclusive Text Record 1 Won / 1 Lost
Join Date: May 2006
Voted:
95
audio / 718
text
Posts: 6,580
Mentioned: 713 Post(s)
Tagged: 56 Thread(s)
|
The only difference between my system and yours is that:
A) It doesn't limit who's allowed to battle who.
B) Doesn't add a bunch of code for a matchmaking system. We already have random battling. All you have to do is drop an open.
C) Only gives a number rank instead of a class and a number rank.
Did you bother to look at the pseudo code I posted? It's based on the ELO system which, again, uses points to determine classes. My formula is a simplified one based on the Estimated Skill Level of the battler (Something we already have that can be modified and is based on the ratings battlers get in battles.), as well as their current rank, w/l record and EloPoints (Which would determine their class if there were classes in the system) to determine how points are distributed to battlers who win. Which is exactly what an Elo system does.
Also, you must not understand what I'm saying if you don't get the law of diminishing returns. So I'll use your class names in my example so you can get it.
A person signs up for LB and is bronze. He battles bronze battlers and wins enough to become silver. He continues to battle bronze battlers. His w/l ratio goes up but as it does the number of points he gains from battling bronze battlers goes down because with every win the points value of taking on those bronze battlers decreases. Why? Because of this part of the algorithm after the part that makes a prediction about which battler will win based on a score created from the users stats:
Code:
DetermineRankChange = {
if Winner was predicted {
pointModifier = LoserPredictionScore - WinnerPredictionScore;
pointSubtraction = map(pointModifier, 0, currentUserCount, 0, 32)
ELOAdded = MaxEloChange - pointSubtraction
}
If bronze sniper has a prediction score of 100 and new person has a prediction score of 3 the amount of points they would get would be 0 after we map the point modifier (-97) to the maximum point change range. (Mapping, in case you don't know is assigning one range of numbers to another. An example would be to assign 0-100 to 0-10 by having one represent ten, two twenty, three thirty, and so on and so forth.)
So, let's assume he does what you say and battles a hundred bronze level battlers. We set the max change at a range of -32 through 32 points. In my system, and I'm not going to extrapolate exactly here but, I don't think he gets past maybe 20 or 30 wins before it starts to not do anything significant for him and because he'd have started with 1 point, by the time he hits that amount he's still not moved up the rankings but a few spots.
Last edited by Mindless; 03-31-2017 at 01:54 AM.
|
Offline
|
|
04-01-2017, 11:23 AM
|
Join Date: May 2011
Posts: 6,102
Mentioned: 3628 Post(s)
Tagged: 76 Thread(s)
Ranked Audio Record 4 Won / 0 Lost
Ranked Text Record 30 Won / 8 Lost
|
https://en.wikipedia.org/wiki/Glicko_rating_system
---------- Post added at 11:23 AM ---------- Previous post was at 11:17 AM ----------
Most chess federations don't use the plain ELO system anymore. They use improved algorithms like Glicko. Glicko is ELO but adds an RD (ratings deviation.) For example, two people can both have an ELO of 1700, but they get different RD's based on the number of total games they have played to reach that ELO (experience) as well as the ELO and RD of their opponents. So a 1700 vs 1700 won't necessarily be a +15/-15 scenario, but one may stand to gain or lose more points than the other because of their RD. Someone who has reached 1700 by beating noobs would lose a lot more points against an opponent who is more solidly 1700.
|
04-01-2017, 11:23 AM
|
#26
|
Hall Of Famer
Ranked Audio Record 4 Won / 0 Lost
Ranked Text Record 30 Won / 8 Lost
Join Date: May 2011
Voted:
407
audio / 1061
text
Posts: 6,102
Mentioned: 3628 Post(s)
Tagged: 76 Thread(s)
|
https://en.wikipedia.org/wiki/Glicko_rating_system
---------- Post added at 11:23 AM ---------- Previous post was at 11:17 AM ----------
Most chess federations don't use the plain ELO system anymore. They use improved algorithms like Glicko. Glicko is ELO but adds an RD (ratings deviation.) For example, two people can both have an ELO of 1700, but they get different RD's based on the number of total games they have played to reach that ELO (experience) as well as the ELO and RD of their opponents. So a 1700 vs 1700 won't necessarily be a +15/-15 scenario, but one may stand to gain or lose more points than the other because of their RD. Someone who has reached 1700 by beating noobs would lose a lot more points against an opponent who is more solidly 1700.
|
Offline
|
|
02-22-2019, 09:52 AM
|
Join Date: Aug 2010
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
|
Bumped b/c relevant now
|
02-22-2019, 09:52 AM
|
#27
|
Ranked Audio Record 57 Won / 5 Lost
Ranked Text Record 22 Won / 5 Lost
Join Date: Aug 2010
Voted:
111
audio / 86
text
Posts: 6,808
Mentioned: 867 Post(s)
Tagged: 14 Thread(s)
|
Bumped b/c relevant now
|
Offline
|
|
02-22-2019, 11:53 AM
|
Posts: n/a
Mentioned: Post(s)
Tagged: Thread(s)
|
Quote:
Originally Posted by NOBLE
https://en.wikipedia.org/wiki/Glicko_rating_system
---------- Post added at 11:23 AM ---------- Previous post was at 11:17 AM ----------
Most chess federations don't use the plain ELO system anymore. They use improved algorithms like Glicko. Glicko is ELO but adds an RD (ratings deviation.) For example, two people can both have an ELO of 1700, but they get different RD's based on the number of total games they have played to reach that ELO (experience) as well as the ELO and RD of their opponents. So a 1700 vs 1700 won't necessarily be a +15/-15 scenario, but one may stand to gain or lose more points than the other because of their RD. Someone who has reached 1700 by beating noobs would lose a lot more points against an opponent who is more solidly 1700.
|
this is what i've been proposing. i even made some possible tiers and a possible numbers system. i really loved reading through this thread, lot's of great ideas in here.
|
02-22-2019, 11:53 AM
|
#28
|
Guest
Voted:
0 audio / 0 text
Posts: n/a
Mentioned: Post(s)
Tagged: Thread(s)
|
Quote:
Originally Posted by NOBLE
https://en.wikipedia.org/wiki/Glicko_rating_system
---------- Post added at 11:23 AM ---------- Previous post was at 11:17 AM ----------
Most chess federations don't use the plain ELO system anymore. They use improved algorithms like Glicko. Glicko is ELO but adds an RD (ratings deviation.) For example, two people can both have an ELO of 1700, but they get different RD's based on the number of total games they have played to reach that ELO (experience) as well as the ELO and RD of their opponents. So a 1700 vs 1700 won't necessarily be a +15/-15 scenario, but one may stand to gain or lose more points than the other because of their RD. Someone who has reached 1700 by beating noobs would lose a lot more points against an opponent who is more solidly 1700.
|
this is what i've been proposing. i even made some possible tiers and a possible numbers system. i really loved reading through this thread, lot's of great ideas in here.
|
|
|
Thread Tools |
|
Display |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 05:12 PM.
|
|
|