Why autofill is a necessary evil in a world with role selection.

Lekarthion··2 votes·840 views

tl;dr at the bottom. This post is primarily in response to the sentiment that people are willing to wait 5 minutes to not have to deal with auto fill, so if that's you please read at least the tl;dr. Also, hoping that this is the right board for this as this is primarily going to be a discussion about queue times (and math).

With that out of the way, technically, I could just say "Look at DPS queues in an mmo" and be done with it, but that doesn't actually explain anything so instead I'm going to run through an extremely simplified queue to make the point before discussing how this simplified queue relates to the real world. For this simplified queue I am going to make the following assumptions:

  1. Each player queues for only one roll and will always get the roll they queue for (no auto fill).

  2. Whenever a full team of five people are in the queue, a game is immediately formed with each person at the front of their respective queue.

  3. Players enter queue for each roll at a constant rate. In particular, a support enters the queue once every 20 seconds, a mid enters the queue once every 10 seconds, and every other roll enters the queue at some time between these two (so that supports enter the queue most infrequently).

With these assumptions, we first have that every support gets a game as soon as they enter queue. Now, the first mid to enter after the queue opens has to wait 10 seconds for their queue to pop (they enter 10 seconds in and must wait an additional 10 seconds for the first support to enter), the second mid waits 20 seconds (they enter 20 seconds in and must wait an additional 20 seconds for the second support to enter), and in general the n th mid has to wait 10 n seconds to enter (the coefficient is 10 as that is the difference between the support and mid queue times). Now, after a 1 minute period, the 6th mid laner enters the queue and will wait 1 minute to enter the queue due to the above. In general, if you enter queue as a mid laner, your queue time will be equal to the amount of time the queue has been open. Now, the queue time will obviously vary depending on the exact numbers involved but the key point is that, in this queue, queue time for every roll but the least popular scales linearly with the amount of time the queue has been open.

Now, obviously, in a real world scenario queue times can't increase infinitely. In particular, players don't actually enter queues at fixed rates (the other two assumptions are somewhat simplified but close enough to the real world scenario that it doesn't significantly alter the result). In fact, since queue times themselves are a disincentive for joining a queue, the rate at which players enter queue for a specific roll will decrease as queue time for that roll increases. None the less, the primary conclusion still holds, namely, that

  • Without auto fill, queue time will increase with time as long as any other roll has people entering that queue at a slower rate.

While performing a realistic analysis of what would happen if you simply disabled auto fill but left the rest of the queue as is is more difficult than I'm going to bother with, I can go back to the initial comparison to DPS queues in an mmo to say that the queue time for popular rolls would likely hit somewhere between the 1 to 2 hour mark before stabilizing. This isn't to say that auto fill is perfect (certainly, if a team consists of only people who have been auto filled the system is failing at its purpose), but some sort of system to equalize the number of people queuing for rolls MUST exist in order for queue times to remain remotely reasonable (and, yes, not being able to queue for rolls is one such system).

As promised, tl;dr without an auto fill system queue times for popular rolls would increase dramatically, likely into the 1-2 hour range.

Edit 1: As Oleandervine below points out, you need to 10 players to form a game. Consequentially, assumption 2 should be changed to "When a full game of 10 players is formed, a game is immediately formed with the front two people of each queue." While this doesn't fundamentally change the point, it does mean that the first and second mid must wait for the second support, so that there's some minor fluctuation in queue time depending on whether you enter queue as an even or odd player to the queue.

7 Comments

Oleandervine2 votes

You're missing something - the queue has to fill 10 slots for a game, not just 5. A support will only IMMEDIALTEY get a game if there's another group that already has a support. If there isn't an opposing team available with a support, they will have to wait until the opposing team has a support as well. This will compound wait times EVEN more than your example because your example is running on an assumption that the enemy team is already full.

Lekarthion1 votes

Thanks for pointing this out, that is indeed an oversight. It doesn't fundamentally change the point or, even, the math (the 1st and 2nd mid both need to wait for the second support, so essentially the nth mid waits for 10n seconds for n even and 10n + 20 seconds for n odd) but may as well be accurate as long as I'm bothering with all the computations, so will edit the post.

Oleandervine1 votes

Just add it in the assumptions, and you're golden.

haaaaaaalp1 votes

That isn't how queue times work. You are assuming a factory line model which doesn't take into account that once a game finishes, most of the players from that game goes back into the queue.

Let's take your situation 1 with no autofill and everyone gets their primary role. The most popular role is mid with around 24% playerbase mid primary and the least popular is support or top depending on elo at around 16%. This means that for every 3 games support or top lane mains play, mid laners will rotate and sit out one game. Queue times for mid lane will average .5*[average pre-game time + average gametime] which would result in around 20-25 minutes under the current meta, a far cry from the hour queue times you bring up.

Now, take into consideration that everyone chooses 2 roles and not 1 and you will realize that queue times fall far below 10 minutes even without autofill.

Lekarthion1 votes

Situation 1 is an intentional oversimplification for purposes of illustration. I'm fairly certain that you can boil down a queue into a comparison of different rates of entry as there's not really a distinction between a new player logging in to join a queue and a player who finished a game and rejoined the queue. The primary argument is that as long as people are entering a queue faster than they're leaving a queue, the queue time will increase. If you could elaborate on why that argument either doesn't work or is irrelevant, I would be happy to hear it.

As for the reason I bring up hour queue times, it's simply that queues in MMO's are an existing model of a queue that allows role selection and doesn't attempt to adjust how many people queue for the different roles so it seemed a useful comparison point. Certainly, the two queues aren't 1-1 identical (League forces you to queue for two rolls and there are a total of five rolls rather than three), so it is possible that the examples are disparate enough to render it useless.

haaaaaaalp1 votes

{quoted}

Situation 1 is an intentional oversimplification for purposes of illustration. I'm fairly certain that you can boil down a queue into a comparison of different rates of entry as there's not really a distinction between a new player logging in to join a queue and a player who finished a game and rejoined the queue. The primary argument is that as long as people are entering a queue faster than they're leaving a queue, the queue time will increase. If you could elaborate on why that argument either doesn't work or is irrelevant, I would be happy to hear it.

As for the reason I bring up hour queue times, it's simply that queues in MMO's are an existing model of a queue that allows role selection and doesn't attempt to adjust how many people queue for the different roles so it seemed a useful comparison point. Certainly, the two queues aren't 1-1 identical (League forces you to queue for two rolls and there are a total of five rolls rather than three), so it is possible that the examples are disparate enough to render it useless.

Sure, I can expand a bit. Your model is based off of an assumption that every player will log on, wait as long as the queue takes, and then play exactly one game and leave. While this may work for an assembly line, it does not describe how people act. Instead, players will log on for a set amount of time, play as many games as the can during that set amount of time, then leave. This means that queue times for your model will instead follow a steady state model:

Queue time for position x = [[population of y]/[population of x - population of y]]*[average game time + pre-game lobby and loading] where population y is the population of the least popular role.

If we fill in 24% for population of mid players, 16% for population of support players, 27 minutes for average game duration, and 5 minutes for pre-game lobby and loading, you get queue times for mid to be around 16 minutes. Again, this is assuming only 1 role per player and queue times will be significantly less once you force every player to select two roles..

Just for reference, here is a graph that riot released showing the queue times with and without autofill: https://am-a.akamaihd.net/image?f=https://news-a.akamaihd.net/public/images/articles/2016/june/DQU/graph-queuetime.jpg?v=1

As you can see, the effects of autofill was actually very minimal on queue times for most of the population and queue times before autofill was added was nowhere near your estimations.

If you want to simplify the model, suppose a group of people gather in a park for pickup basketball at 6 pm every day. Each games last 5 minutes. Since most people aren't 7 feet tall, lets say that point guard is the most popular. There are 3 point guards, two sg, two sf, two pf, and two center. How long would the point guards have to wait on average to play? Well each point guard would sit out one out of every three games while everyone else plays every game. The amount of time the pg is waiting to play then becomes 1/3 the duration of an average game or 1.66 minutes in this model. Now lets say we doubled the population so there are 6 pg, two sg, two sf, two pf, and two c. Since we just double the number of games going on, queue times would act the same. We can actually just keep multiplying the number of players involved and as long as the ratio of each position and average game length doesn't change, the amount of wait time for point guards would stay the same.

Now lets say we had a very large park and there were 100 players with distribution being 24 pg, 22 sg, 20 sf, 18 pf, and 16 c. This would be more akin to the league ranked population although on a much smaller scale. How long would each position wait? Centers play every game (queue time zero), pf play 8 out of 9 games (queue time .55 minutes), sf 1 minute, sg 1.36 minutes, and pg 1.66 minutes. Again, we can expand this model to match the league population and you will see that the queue times for each position x simply becomes [average game time]*[[population of center]/[population x - population of center]].

Add in the pre-game pick/ban and loading time and you get the formula I showed earlier which would describe league queue times if there was no autofill and each player only had to select 1 role.

Marked Cards1 votes

Your explanation was exactly what i was thinking when i read the initial post. Thank you for being able to explain it in such a detailed fashion. i never could have done that. This subject has had me thinking for a long time now and i cant figure out the answer. I always want to say " RIOT just doesnt care about its player base." But can this really be true? There is no reason in my mind for the autofill system and i need a smart person to explain to me why it does. The player base clearly does not want it. The lower ELO's dont need it. And all the pro players and streamers dislike it and say they would rather wait longer than have it exist. Does RIOT somehow make more money by having more games play themselves out faster? IF more games are played.... are more skins sold or more boosts? There has to be a reason. I cant honestly belive that it comes down to "RIOT doesnt give a shit about its player base"

More from Gameplay