Greedy Goblin

Friday, January 20, 2017

0/12/0 Nunu mid

First an important update about the research on League of Legends rigging: I made a pretty dumb mistake. As I refined the algorithm to separate games into "Easy Win", "Fair" and "Exploit or sure loss" types I didn't update the old classifications. I mean if I had a game that I wrongfully classified "Exploit" than the win or loss result polluted the new Exploit results. If I lost that game it's not because Exploit mode doesn't work but because that game wasn't to be exploited. Realizing that, I collected such old games into a "Mistake" column and the rest of the data cleared up wonderfully. Obviously most "Mistakes" are lost, since playing a fair game in Exploit mode is throwing the game, while playing normally a game that is to be exploited is 25% winrate. No, the Mistakes are not from the prison weekend, they are mostly from the earliest data when I used a very primitive method compared to the recent.

I also recognized another "Easy win" criteria, applying that the games classified "Easy Win" doubled. Luckily no "Mistake" type here, since Easy wins were played very similarly to fair games, I simply moved them. Now that they are separated, I can design different playstyles for them to increase winrates. Since the latest formula, there are no longer "internal scales" that triggered the damn dodging that set me back. I mean I no longer able to guess the outcome of the game within a class. With that:

With the new formulas (which will make perfect sense with definitions) the ratios of the games make more sense: most games are fair, and there are an equal amount of games where you get a free win boosting buyers and necessary loss when you lose to buyers. You can increase your winrate by winning some "sure lost" games. Without the exploit, that bar would be the opposite of the Easy win. For clarity: the classification formula uses only objective variables from op.gg data. Not like it means anything without definitions, but there are 4 types (A,B,C,D) and
  • Easy win is coming if (D - C > 1) or ((D > 0) and (A - B > 1))
  • Exploit mode is needed if (B - A/2 - C/2 - D > -1) or (A > 2)
If both flags are true, Easy win is stronger. You probably guessed that D are the buyers. For those who claim I "cherry pick" data and move losses to "mistakes", that's obviously true. I refined the formulas to pinpoint wins. However - unless I change them again - there will be no more "mistakes", so if I was fitting to historical random noise, the future will be random noise. So the real test is the how the formula performs from this point.

However the post is about this wonderful specimen. He has 5 games in this season and he lost 4. One of the losses were on my team, where he picked mid nunu and managed to reach 0/12/0 which must be a record. His items are were also pretty interesting. His complete resistance to advices and his insistance that he's a platinum smurf who will carry the game are kind of normal in League of Legends.

What is absolutely not normal is having this useless idiot placed in a game with and against Silver players. He is definitely Bronze 5 and will find his place after enough losses. However until it happens, he'll guarantee defeat to any team that is cursed with his presence. No, he isn't a boosted buyer. Then the matchmaker would simply place him into Bronze 5 teams where he can win. He is a tool in the hand of the matchmaker to give a free win to the other team. Since he is unranked, there is plausible deniability of purposeful misplacement. I mean if one team is full gold, the other is 4 gold, 1 bronze 5, it's clear that the matchmaker is rigged. But if he is unranked, it's a honest placement mistake. Of course it's not. It would be trivial to demand 10 normal games before playing ranked to assess an approximate placement (for him: Bronze 15).

Since LoL is a free game, there are bunch of kids who play a few games and quit. During their short stay they can be used to rig games. Against them even the exploit mode has limited power. Not to mention it's pretty hard to properly identify them due to them having no data to evaluate. He can be a platinum smurf as far as I know before the game. Riot - having much more data, including the data from leveling games - can surely identify if he is a smurf or a moron who will pick Nunu mid and reaches 0/12/0.

15 comments:

Anonymous said...

"Since LoL is a free game, there are bunch of kids who play a few games and quit. During their short stay they can be used to rig games."
That would be a terrible way of treating new players and an almost guarantee that newcomers fail to make the transition into paying customer.

Anonymous said...

You can't tell from 5 games, which only one you observed, that he's definitely Bronze V material. With such limited sample, he still can end up in Platinum after all.

Having an account "ranked ready" is not a task for a day, they are not as disposable as you try to depict.

Gevlon said...

@Dobablo: you might don't know, but there are "levels" in LoL. You start on level one and you grind first botmatches and then low level PvP to get levels. Every level you get rune slots, summoner spells and masteries. Only after reaching lvl 30 you open up all your abilities. You can greatly speed up this process by spending money. Without money it's a very slow process. So by the time you reach lvl 30, Riot can very accurately determine if you are willing to pay or not. There is no downside for Riot to use these people for game rigging.

@Anon: there is no other explanation for 0/12/0 than "irredeemable moron". A redeemable newbie would have listened to respectful and helpful advice. I can't provide chat, but since the game was clearly lost, we spent most time trying to educate this disaster and got only insults. He will never learn because he is sure that he is a perfect snowflake the way he is.

Skeddar said...

Well, according to his prior placements he is usually Bronze 1 - Silver 5. Also, since he didn't fail that horribly in his other games, I suppose he just wanted to try something new and at minute 10, when he sold all his items and bought new stupid ones, he gave up on the game and went full troll-mode.

But that's just my assumption from looking at the op.gg data.

Your statistics and graphics remember me a bit of a magic show - you wait for either a trick or an explanation what the trick shall be or how it'll work. But till now we only have a mage who waves his hat around. Did you set yourself a new temporary deadline when you'll reveal at least some of your unpublished data?

Anonymous said...

A few points:

1) I admit I do find your data intriguing and I look forward to seeing your final results. I was skeptical at first, but I believe you may indeed be seeing some evidence of rigging here. I still think you went into this experiment biased, and I wish you would be a little more thorough...But you have uncovered an interesting pattern and I look forward to seeing the final results.

2) Assuming we accept both your premise that the game is rigged *and* your premise that you are a good representation of the "average" non-paying but non-awful player from the matchmaker's perspective...Your data still seems to indicate that at your proper ELO ranking you will enjoy approximately a 50% win rate simply playing normally, exactly as if the system wasn't rigged at all. The only difference is that instead of 100% fair/competitive games you'll have 50% fair/competitive games, 25% easy massive wins, and 25% utter defeats. Have you taken a step back to admire the way that they've rigged the game *without* altering win percentages for the average player? Because that is actually pretty impressive. It is also a genius strategy because they could simply make the claim that rather than rigging it was done intentionally to add "variety" and "unpredictability" to the game, while still keeping it "fair for everybody".

3) Since by your own data you, as an "average" player can't experience the game being "rigged" in your favour - is it possible for you to start at least 1 additional LoL account to run parallel testing as a type D player? I assume you are already one type, but that leaves 3 other types you are not collecting any data for. Honestly I suspect there are enough people in the "non-desirable" categories that your win/loss rate might not shift much in those categories - but if the game is truly rigged then surely you would see a large, statistically significant increase in "easy win" games, as well as an expected win percentage significantly higher than 50% even with only normal gameplay. Much like your World of Tanks experiment - the evidence of rigging would be much more convincing if you actually showed data from both a normal player *and* a player with an unfair advantage due to the rigging.

4) I hope you appreciate the irony that their choice to rig the games (and not in your favour) has allowed you to develop a play strategy to win *more* games than if it were simply a fair game...

Smokeman said...

Wait... so "Only after reaching lvl 30 you open up all your abilities."

I've never played the game so I didn't know that, I was aghast at Riot for just letting clowns in off the street with 5 games under their belt totally stink up the ranked games like this. But there's an entire vetting process as you get to level 30. Riot knows everything they need to know at that point.

Possible scenario: Professional levelers rapidly grind up to level 30 and then sell the account on some web site. Slack jawed morons who can't be assed to level up themselves buy them and proceed to suck horribly.

Which lends itself to your hypothesis perfectly. Riot doesn't want these clowns in the game, and would be glad to use them like disposable trash. At the same time, they have rigging to do, and need disposable trash to get it done. And these guys would be easy to spot, too. Fast, no cash leveling, then an IP change and crap play.

Anonymous said...

@Smokeman and also @Gevlon

There are level 30 accounts that have not played a single normal game.
Account leveling bots are a pandemic in aram, I had games with just 2 humans in it.
I assume situation is even worse in coop vs ai.

So there is a possibility of having such botted accounts to be level 30 without a single normal game played.

Though I believe that's not the case for our morons, as their game history probably shows normals.

Anonymous said...

@Anonymous

Your 2) assumes having 50% of your games decided by someone's whim is ok, which is not ok with me.
Your 2) there will be 50% of fair games, while we see they do not reach 50% from the data.
Your 2) goes out of scope when claiming it is "fair for everybody" when you only proven it's "fair" to "average player". Players above average are getting all the hits and players below average enjoy most of the benefits here.

So whatever they want to call it, as above average player, I'm disgusted.

Smokeman said...

I'm sure you've seen this, I'm not even sure when it was posted, it could have been ages ago.

(They're talking about smurfing)
"WookieeCookie: Agreed! That’s why we can’t endorse it. Instead of trying to restrict or prevent smurfs, various teams across Riot try to minimize issues caused by smurfing. For example, one of the teams that works on meta-game systems developed pretty good detection methods that quickly separate new players from experienced smurf accounts in the early levels. Within a few matches, smurf accounts only end up playing against other smurf accounts."

Bam, right there. Straight from the horse's mouth, they juke the match maker. They even have teams that work on meta-game systems.

Basil said...

Since you're at a bit of a turning point anyways, could I recommend that you find a way to blind your data? Have a friend perform the same experiment you're doing using a paid account. I'd recommend doing it yourself, but I suspect they would internally link accounts you create if there were some sort of unfair matchmaking algorithm.

maxim said...

You are accusing Riot of a lot, but time and time again the worst you manage to actually prove is maybe a bit of a negligence in handling the matchmaker.

I can think of a few situations where i would deliberately not fix this particular hole in the matchmaker out of fear to break something else. The more if-then crutches (like the one required to catch that newbie and not put him on a higher lvl team) you insert in your program that circumvent the core formula, the more costly and hard-to-catch bugs you are bound to get.

I can also think of a few situations where i would notice this particular hole in the matchmaker, create a developer ticket for it, assign some priority to it, put it in priority-sorted queue and then just never get around to fixing it, because there are always higher priority tasks present.

You can prove Riot's capability to rig games all you want, but that was never in question. Any dev is capable of rigging a game. The process of designing a game itself is rigging it towards certain outcomes that not all people might like.
What you need to prove is design intent, which you have so far fallen short of.

Technically, you could accumulate enough points of data to the point where intent becomes undeniable. However, to this end you'd need Eve-scale spreadsheets with hundreds if not thousands of points supporting your claims.

Esteban said...

Basil and Maxim bring up good points: do you actually have to play the game yourself, or can you analyse data from others' games?

Can't imagine it's especially hard to code something that would scrape relevant records from that op.gg site that Syncaine's been using to track your progress. Or use an API, if one is available.

That's an infinitely larger data pool than anything you can generate personally - unless your math depends on observations you make yourself while playing.

Anonymous said...

@ the other anonymous guy (yes, it is a bit silly arguing this anonymously, oh well):

" Anonymous said...
@Anonymous

Your 2) assumes having 50% of your games decided by someone's whim is ok, which is not ok with me.
Your 2) there will be 50% of fair games, while we see they do not reach 50% from the data.
Your 2) goes out of scope when claiming it is "fair for everybody" when you only proven it's "fair" to "average player". Players above average are getting all the hits and players below average enjoy most of the benefits here.

So whatever they want to call it, as above average player, I'm disgusted."

1) The games are not "being decided by someone's whim, they are decided by the random number generator within the match maker at a predictable, fixed rate...

2) Gevlon's data isn't actually directly applicable to this discussion at all - this isn't what he is trying to prove, and he is intentionally playing abnormally in games in order to win games he isn't supposed to win. As such his win/loss ratios are irrelevant. However I took the 50% fair games, 25% easy win games, 25% massive loss games from his text - so I assume he does have numbers indicating that is in fact the match distribution. As such, as I said, *at your proper ELO level* you will end up with approximately a 50% win rate, which is the entire point of the ELO system - to match you with players at your own level so you win and lose even numbers of games.

3) You clearly don't even understand what we are discussing here. "Average Player" refers to someone who isn't actively paying riot or doing whatever else it takes to become Gevlon's mysterious "Type D" player who gets games rigged in their favour. You can't be "above average" - because that just means you get put into a higher than average ELO bracket exactly as you should be and you compete against other players at your own skill level - thus making you "average" at that level. The only way you could be "above average" for your correct ELO ranking is if you are the undisputed #1 ranked player in the entire world, so there is nobody else who can give you a challenging game... And I think we all know you aren't.


So you can feel free to be "disgusted" all you like - the point remains that you are not winning or losing any more games under this system than you would be winning/losing under an entirely "fair" system.

Though frankly if you are unsatisfied with a 50% win rate you should be glad the system is rigged, since it will allow you to become a "Type D" player or use Gevlon's system to exploit the system to win more than 50% of your games.

Gevlon said...

@Esteban: the Exploit mode is needed for my analysis and only I can play it.

Anonymous said...

So far not convinced. It's no use for you write that they would treat paying players differently if you cannot even determine who is paying and who not. It used to be quite reliably possible before the boxes, but now it's just a guessing game.

Same as I would claim that they give unfair advantage to everyone who lives in Berlin just because of one the Riot developers comes from Germany.