Lets Beef - Battle Rap Forums

Lets Beef - Battle Rap Forums (https://www.letsbeef.com/forums/index.php)
-   General Talk (https://www.letsbeef.com/forums/forumdisplay.php?f=80)
-   -   Elo Ranking System + Matchmaking (https://www.letsbeef.com/forums/showthread.php?t=160589)

Godbody 03-28-2017 10:07 AM

Elo Ranking System + Matchmaking
 
This has come up before, and I'm sure a lot of you gamers and chess players already know what this Elo system is, but I think this would be a dope addition to LB as its one of the only ways to have an actual skill based ranking system

For those of you that don't know what the Elo ranking system is, it's a ranking system where you get placed in a tier, and the criteria for earning that tier is winning/losing.

The tiers are Bronze, Silver, Gold, Platinum, and Diamond for example.

Everyone starts with a blank rank, & each person does 10 qualifying battles that'll place them in a tier.

If you win 1 out of 10 battles you're placed in Bronze
If you win 3 out of 10 battles you're placed in Silver
If you win 5 out of 10 battles you're placed in Gold (since it's the middle)
If you win 7 out of 10 battles you're placed in Platinum
If you win 9 out of 10 battles you're placed in Diamond

And you can add tiers higher than Diamond. If you win 10/10 your rank is 'Elite' or something

So now you're thinking "What if a scrub battles nothing but scrubs, wins 10/10 battles and gets the highest rank?" Well that's where matchmaking comes into play. I was wondering how LB could incorporate this, then I realized we've done blind battles on here which is pretty much matchmaking done manually. Matchmaking makes it so your 10 opponents are random, and it'll match you based on your skill once everyone qualifies

So let's say everyone qualifies and the breakdown is this

LB has:

3 Bronze battler
5 Silver battlers
10 Gold battlers
6 Platinum battlers
3 Diamond battlers

If you're a Platinum battler and you use the matchmaking system, it'll only put you against other Platinum battlers. If there aren't any active platinum battlers it'll place you against Diamond or Gold battlers, but never Bronze or Silver since the skill gap is too wide. I'm sure you can code an if/then/else statement so that you're not matched against inactive battlers

ie; If ___username___ hasn't battled in ____days_____ then bla
ie; If ___username___ HAS battled in ___days___ then "We've found a possible match"

also you lose your rank if you keep losing battles, and your rank goes up if you keep winning. So someone that qualified in the Platinum tier can ascend to the Diamond tier if they win a few battles. But if they constantly lose, they'll go down to Gold.


@X what you think about this? @Nicholas @Rant

J u s T C 03-28-2017 11:24 AM

Pointless because you don't have the userbase to pull it off plus this isn't a game where raw mechanical skill, knowledge on the latest metas from balance patches and partying up vs solos take president over knowing who you're VSing. Theres a reason people here prefer to pre arrange battles\have 3 days notice from tourneys ect. Plus most people prefer to pick their opponents spontainiously to get themselves motivated rather than have ELO RNG dictate they face *insert name* For the tenth time this week because the site doesn't have the numbers to support an ELO MM.
Which ever way you want to slice it, it wont work.

Mindless 03-28-2017 11:42 AM

Quote:

Originally Posted by Indianapolis Jones (Post 1122924)
Pointless because you don't have the userbase to pull it off plus this isn't a game where raw mechanical skill, knowledge on the latest metas from balance patches and partying up vs solos take president over knowing who you're VSing. Theres a reason people here prefer to pre arrange battles\have 3 days notice from tourneys ect. Plus most people prefer to pick their opponents spontainiously to get themselves motivated rather than have ELO RNG dictate they face *insert name* For the tenth time this week because the site doesn't have the numbers to support an ELO MM.
Which ever way you want to slice it, it wont work.

I've actually been working on a system off and on in my spare time writing pseudo code to try and figure out a good way to do the ranking system and I think it addresses this problem.

My method involves assigning a points to users that they gain or lose according to whether they win or lose. How many points the winner takes from the loser ranges on factors from the difference in estimated skill level, current rank and w/l record. Basically it works by having a range of 0-N where N is the cap of the maximum amount of points that can be taken. A user facing another with a much lower skill level than them would gain nothing from the win but an increase in w/l. Basically it would nerf someone like @Bnas from doing his goofy shit and being able to crack the top 100 because at a certain point you gain nothing from battling people that much lower than you. Also, the more you do it the faster it nets you nothing because your w/l goes up. I'll post it below but it's unfinished and a mess at this point.

Keep in mind this is pseudocode (Written with p5.JavaScript syntax for the most part):

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 {
    ELOAdded = MaxEloChange - (pointSubtraction)
    }
    if Winner was not predicted {
    ELOAdded = UnderDogWin
    UnderDogWin() {
    //Determine the amount of points added to the winner based on the amount of difference between the two.
    //Probably by using the PredictionScore.
        }   
    }
    }
}


J u s T C 03-28-2017 12:09 PM

Quote:

Originally Posted by Mindless (Post 1122931)
I've actually been working on a system off and on in my spare time writing pseudo code to try and figure out a good way to do the ranking system and I think it addresses this problem.

My method involves assigning a points to users that they gain or lose according to whether they win or lose. How many points the winner takes from the loser ranges on factors from the difference in estimated skill level, current rank and w/l record. Basically it works by having a range of 0-N where N is the cap of the maximum amount of points that can be taken. A user facing another with a much lower skill level than them would gain nothing from the win but an increase in w/l. Basically it would nerf someone like @Bnas from doing his goofy shit and being able to crack the top 100 because at a certain point you gain nothing from battling people that much lower than you. Also, the more you do it the faster it nets you nothing because your w/l goes up. I'll post it below but it's unfinished and a mess at this point.

Keep in mind this is pseudocode (Written with p5.JavaScript syntax for the most part):

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 {
    ELOAdded = MaxEloChange - (pointSubtraction)
    }
    if Winner was not predicted {
    ELOAdded = UnderDogWin
    UnderDogWin() {
    //Determine the amount of points added to the winner based on the amount of difference between the two.
    //Probably by using the PredictionScore.
        }   
    }
    }
}


Is this with an automated MM system or pick your battles in mind?

ILLoKWENT 03-28-2017 01:07 PM

lmao.. goldmic already had a ratings system in place years ago, ive been bringing that idea up for a long time.. for each profile, a person is given a +/- followed by a designated points, corresponding to how strong the opponent ia based on opponents, and rank.. so a strong battler will see a weak battlers points as +5/-35 meaning if he keeps battling scrubs, hell only gain 5 points toward his rating, but if he loses ,he could lose 35... if a strong battler faces one thats his level, hed see +15/-15.. etc.etc. this will encourage battlers to challenge stronger opponents to move up quicker..dunno how the point system is now, but at least with this in place, you can visually see what points youd gain, or lost against certain opponents

Nicholas 03-28-2017 01:31 PM

Quote:

Originally Posted by ILLoKWENT (Post 1122936)
lmao.. goldmic already had a ratings system in place years ago, ive been bringing that idea up for a long time.. for each profile, a person is given a +/- followed by a designated points, corresponding to how strong the opponent ia based on opponents, and rank.. so a strong battler will see a weak battlers points as +5/-35 meaning if he keeps battling scrubs, hell only gain 5 points toward his rating, but if he loses ,he could lose 35... if a strong battler faces one thats his level, hed see +15/-15.. etc.etc. this will encourage battlers to challenge stronger opponents to move up quicker..dunno how the point system is now, but at least with this in place, you can visually see what points youd gain, or lost against certain opponents

This sounds better than the original suggestion. I don't like the idea of forced match-ups and I don't think suggested match-ups would even be acknowledged. The problem is, what do you guys do now? Delete all previous points? That seems unfair.

Rant 03-28-2017 01:49 PM

I love the idea of an ELO style rating system.

Mindless 03-28-2017 02:31 PM

Quote:

Originally Posted by Indianapolis Jones (Post 1122932)
Is this with an automated MM system or pick your battles in mind?

You would pick your own battles. It's kind of based on the way that RPG stats are gained in that you can only level up by facing opponents with stats that are equal to or higher than your own. Basically we're applying the law of diminishing returns to battling. The difference is that someone low ranked doesn't risk as much facing someone much higher than them.

Quote:

Originally Posted by ILLoKWENT (Post 1122936)
lmao.. goldmic already had a ratings system in place years ago, ive been bringing that idea up for a long time.. for each profile, a person is given a +/- followed by a designated points, corresponding to how strong the opponent ia based on opponents, and rank.. so a strong battler will see a weak battlers points as +5/-35 meaning if he keeps battling scrubs, hell only gain 5 points toward his rating, but if he loses ,he could lose 35... if a strong battler faces one thats his level, hed see +15/-15.. etc.etc. this will encourage battlers to challenge stronger opponents to move up quicker..dunno how the point system is now, but at least with this in place, you can visually see what points youd gain, or lost against certain opponents

I kind of like this but I think that's too much information to give. IMO, the only information anyone should have on anyone is their current rank, w/l and ESL. If you give people too much insight into the system they figure out a way to game it and use it in ways it wasn't intended. Also, what would a weak battler see on the page of a strong battler? What's the cap on point loss?

Quote:

Originally Posted by Nicholas (Post 1122941)
This sounds better than the original suggestion. I don't like the idea of forced match-ups and I don't think suggested match-ups would even be acknowledged. The problem is, what do you guys do now? Delete all previous points? That seems unfair.

Freeze the current rankings and put them somewhere and say "This is our old ranking system". Then you restart everyone at zero.

Also, forced match-ups is lame unless it's voluntary. What I mean by that is, for the general system it's bad. If it were it's own system it could be fun though. I don't see it ever happening though.

Student 03-28-2017 03:08 PM

I mean...it's points based on votes based on VP which is better then just straight wins.

It's why @UNKNOWN ARTIST w/ 282 wins & 5 losses is #24 of all time (combined: 4687 points, 287 battles) vs. @The Real Deal w/ 470 wins & 309 losses is #68 of all time (combined 3475 points, 779 battles).

With a difference of 1,212 points and 492 battles you can clearly see why battling shitty opponents doesn't mean you're better.

I'm not sure what my point was but basically it's working as well as it could be.

Side note: If you guys are collectively tired of Bnas being #1 of all time you can battle him, spit the tooley hard and lower his points and with enough big battles (lots of voters) he could eventually has less points then Mayneak and get bumped down. Of course this only works if he stopped battling or battles less scrubs and more high caliber opponents.

J u s T C 03-28-2017 03:36 PM

Or we could just do what we shoulda done the thousandth time we perma banned him.... Perma ban him. And erase his account for good measure. Just fking do it and stick to it ffs. He's owed no right/goodwill.

Nicholas 03-28-2017 03:41 PM

Quote:

Originally Posted by Indianapolis Jones (Post 1122951)
Or we could just do what we shoulda done the thousandth time we perma banned him.... Perma ban him. And erase his account for good measure. Just fking do it and stick to it ffs. He's owed no right/goodwill.

Wrong thread? Lol

Esso 03-28-2017 03:57 PM

I like aspects of it...eventually snipers not being rewarded with rankings points for beating up on noobs and scrubs would be ideal. Taking everyone's current rankings away may hurt some of the membership, as some active folks still put stock in all that. If you start from zero, for quite a while, battlers who are significantly more active and accumulate wins will be assigned a higher ranking regardless of quality of opponent even though it would probably catch up with them eventually....most of the best battlers on this site seem to embrace quality over quantity so the rankings may never stop skewing towards activity>actual skill.

ILLoKWENT 03-29-2017 12:58 AM

Quote:

Originally Posted by Mindless (Post 1122947)
You would pick your own battles. It's kind of based on the way that RPG stats are gained in that you can only level up by facing opponents with stats that are equal to or higher than your own. Basically we're applying the law of diminishing returns to battling. The difference is that someone low ranked doesn't risk as much facing someone much higher than them.



I kind of like this but I think that's too much information to give. IMO, the only information anyone should have on anyone is their current rank, w/l and ESL. If you give people too much insight into the system they figure out a way to game it and use it in ways it wasn't intended. Also, what would a weak battler see on the page of a strong battler? What's the cap on point loss?



Freeze the current rankings and put them somewhere and say "This is our old ranking system". Then you restart everyone at zero.

Also, forced match-ups is lame unless it's voluntary. What I mean by that is, for the general system it's bad. If it were it's own system it could be fun though. I don't see it ever happening though.

on goldmic ,a weak battler ex.. mc gay would see UA with a +60/-5, or +35/-5...... . UA would see the exact opposite.. so if he battled mc gay and lost, he would lose 60 points and drop in rating. . if UA saw RULES profile then it would be +15/-15..

Godbody 03-29-2017 08:20 AM

Quote:

Originally Posted by Indianapolis Jones (Post 1122924)
Pointless because you don't have the userbase to pull it off plus this isn't a game where raw mechanical skill, knowledge on the latest metas from balance patches and partying up vs solos take president over knowing who you're VSing. Theres a reason people here prefer to pre arrange battles\have 3 days notice from tourneys ect. Plus most people prefer to pick their opponents spontainiously to get themselves motivated rather than have ELO RNG dictate they face *insert name* For the tenth time this week because the site doesn't have the numbers to support an ELO MM.
Which ever way you want to slice it, it wont work.


It's essentially blind battles based on tiers. It'll work. I'm not saying LB scrap opens/personals and rely solely on matchmaking. THAT wouldn't work, because of course we don't have enough users.

As far as metas and partying up..what are you talking about? this is Letsbeef not Xbox. none of that shit is pertinent or relevant unless you're suggesting matchmaking supports 2v2,4v4, etc. Which is why we have crew battling

ELO is better than a points system because points are there for show, and while the amount of points you lose/gain differs based on who you battle, the whole point is you battle whoever the fuck you want anyway. Which is similar to the points system LB already has

on ELO you're not battling whoever the fuck you want and getting variable amounts of points from 10 to 200. You're battling nearly equally skilled battlers everytime, and you'll have to beat 3 or 4 dudes at your skill level to go up a tier. Shit sounds accurate af to me. Moreso than points, because again, you can beat on noobs and all types of shit to exploit that system

J u s T C 03-29-2017 08:46 AM

Quote:

Originally Posted by Godbody (Post 1123005)

As far as metas and partying up..what are you talking about? this is Letsbeef not Xbox. none of that shit is pertinent or relevant unless you're suggesting matchmaking supports 2v2,4v4, etc. Which is why we have crew battling

Thats my point. I'm saying LB isn't a game with these factors. On L.B a big part is Knowing who your opponent is. On games you dont need to know because all you need is to know your party members strengths/weaknesses/tendancies along with your own raw skill. Thats why ELO RNG MM is a none factor. On L.B it's a hinderance fora big part of it's nature, The personal side. You game because you wanna game. You battle because you wanna clown that PARTICULAR guy low rating/Talking shit about you (A lot of the time) it's more emotion based.

EtH 03-29-2017 10:07 AM

This is alright if you want Letsbeef to continue having the numbers that it currently does. But almost always, the reason numbers on the site were huge were because people liked to focus on trying to get #1 of the month, or #1 all time, and that kept them around.

Godbody 03-29-2017 12:08 PM

Quote:

Originally Posted by Schnerch Party (Post 1123010)
This is alright if you want Letsbeef to continue having the numbers that it currently does. But almost always, the reason numbers on the site were huge were because people liked to focus on trying to get #1 of the month, or #1 all time, and that kept them around.

#1 rank for the month & #1 all time dont mean shit and haven't meant shit for a while. Noobs occupy the Top 10 all the time and when it actually meant shit, it was cuz you got an emcee item as a prize. Plus we can still keep the LB points system and have ELO ranks seperate. Most games I play that have ELO ranks actually have 2 ranks. A linear rank from lvl 1 to 100 (for casuals), and a hidden, 'TrueSkill' rank which is the ELO rank and is used in competitive playlists. LB could do the exact same thing. Add a new ranking system that's apart from the old joint.

Points systems are based on QUANTITY. Sure they're based on quality too, since you get more points for beating better battlers. But if you go 100-0 from battling noobs you could end up #1 & you're gaming the shit out of the points system that way. You can't game ELO from battling noobs, because ELO wouldn't let you battle niggas outside of your skill range. ELO systems are based on QUALITY. You'd have to battle similarly skilled/ranked battlers to go up in rank. If you're a Platinum/Diamond battler, with an ELO system, Letsbeef wouldn't permit you to battle a Bronze/Silver battler since the skill gap is too wide. Ya'll talking about points that I can poke 100 holes in, exploit, and game the fuck out of...vs a widely regarded ELO system that works on understandable logic and is utilized by a shit ton of games

ya'll starting to understand how the shit would work now?

EtH 03-29-2017 12:14 PM

Quote:

Originally Posted by Godbody (Post 1123024)
#1 and #2 dont mean shit and haven't meant shit for a while. Noobs occupy the Top 10 all the time and when it actually meant shit, it was cuz you got an emcee item as a prize. Plus we can still keep the LB points system and have ELO ranks seperate. Most games I play that have ELO ranks actually have 2 ranks. A linear rank from lvl 1 to 100 (for casuals), and a hidden, 'TrueSkill' rank which is the ELO rank and is used in competitive playlists. LB could do the exact same thing. Add a new ranking system that's apart from the old joint.

And if we implement the currency system I suggested, you'll still be able to get all the emcee items and attain virtually w/e there is to be attained on LB. So combining that with matchmaking makes the Top 10 of the month shit useless.

Points systems are based on QUANTITY. Sure they're based on quality too, since you get more points for beating better battlers. But if you go 100-0 from battling noobs you're gaming the shit of the points system

ELO systems are based on QUALITY. You'd have to battle similarly skilled/ranked battlers to go up in rank, because the ELO system wouldn't allow a Platinum or Diamond battler to battle a Bronze or Silver battler.

ya'll starting to understand how the shit would work now?

"When it actually meant shit". During the site's height of activity it was H Nigga, Cash One, Real Rugger Rell, bestmceva and those guys in the top 10. I never ACTUALLY meant anything, it just helped activity big time.

LB needs quantity, not quality.

lllllllllllll 03-29-2017 12:36 PM

We need a wrestling format. :)

ILLoKWENT 03-29-2017 01:59 PM

if battling noobs is such a huge problem , then make a parameter based on the persons record, which prevents him from battling someone with an extremely lopsided record? again, a program cant determine a text or audio battlers skill set.like in chess

Mindless 03-29-2017 02:21 PM

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)
   
    }   
    }
  }
}


Godbody 03-30-2017 10:06 AM

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

Mindless 03-30-2017 05:57 PM

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.

Godbody 03-30-2017 07:34 PM

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

Mindless 03-31-2017 01:48 AM

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.

NOBLE 04-01-2017 11:23 AM

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.

Godbody 02-22-2019 09:52 AM

Bumped b/c relevant now

joan of arc 02-22-2019 11:53 AM

Quote:

Originally Posted by NOBLE (Post 1123227)
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.


All times are GMT -4. The time now is 12:49 PM.

Powered by vBulletin
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.