TFT Dev Drop: September 2021
A new set, mechanic, and lab? Oh my! Discover everything coming to TFT in the latest Dev Drop.
The skins in Your Shop are specially picked for you long before you hit that button! We actually dive into the details behind how your offers are selected and personalized in the Tech Blog article Stocking Your Shop with Data Science—check it out if you’d like to know more.
Riot Aryeila, Senior Editor
Bilgewater itself is just one (large and grimy!) city, nestled away in the Serpent Isles. Since the population of paylangi outsiders is crammed in pretty tightly in their wooden shanties, there’s not much room for plants and wildlife—but wild tropical blooms definitely sprout up wherever they can, especially among the ruins of the older Buhru architecture. I imagine you might see particularly colorful lily or lotus flowers, as well as far less pleasant specimens like flytraps, or worse...
But Bilgewater is a thriving port, and you can usually buy pretty much anything you want, if you have enough coin. I’m not going to actually use the words “black market florist,” but I bet you could find someone in Bilgewater who could hook you up with whatever you’re looking for, even if it takes weeks or months to arrive. Roses from Noxus? Dried spirit blossoms from Ionia? Hop vines from Demacia? All this and more can be yours, for the right price.
But such things are generally considered pretty frivolous to the average citizen, and it’s probably only the wealthiest ship captains who could ever hope to maintain anything as ostentatious as a garden, in their private residences high, high up above the quays, wharves, and carving bays.
Riot Scathlocke, Narrative Editorial Director
The logic for ARAM’s Champ Select is in a service we call TeamBuilder. The TeamBuilder server knows what champ every player has rolled, what’s on the bench, etc., for both teams. TeamBuilder prevents any player from rolling a champion that someone else has rolled.
The League client’s Champ Select UI obediently gives you the champion that TeamBuilder tells it to give you. And when you click “Reroll,” the client tells TeamBuilder that you requested a reroll. TeamBuilder determines what champ you rolled, and tells the client, which displays it to you.
In other words, the whole Champ Select process is server-authoritative. TeamBuilder is in charge. And every roll, reroll, trade, bench swap, and lock-in is transactional. That means it is impossible for two players to, say, reroll the same champion at the same time; TeamBuilder will carefully process one reroll, then the other.
As for whether it is “totally random,” that depends on what you mean. Everytime you roll or reroll, the champion you get is randomly drawn from the set of available champions that you could roll at that moment, but that set is not random. In set-math terminology, it is:
((A ∪ C ∪ O) \ R) \ D
Where A is the set of 65 always-free-to-play ARAM champs, C is the current free-to-play rotation of champs, O is the set of champs you own, R is the set of champs that have been rolled by players on both teams so far, and D is the (hopefully empty) set of disabled champs. In simpler terms… You will always receive a random champion that isn’t already on a team or bench.
The initial 10 rolls follow this process too; at the start of Champ Select, TeamBuilder simply does this once for each player, to determine everyone’s initial champion.
Notably, champs that appeared in previous games, or even queue-dodged champ selects, have no effect on any of this whatsoever. That means it is entirely possible to get a streak of the same champ in different games, or a streak of champs you really like, or a streak of champs you really don’t like. When that happens, it can feel like it is not random, even though it is.
So, when your mouse hovers hesitantly above the reroll button, all I can say is, “Good luck!”
Riot Mojibake, Senior Software Engineer