Anchor Time for Controllers — VALORANT

Samarth Goyal
5 min readOct 15, 2022

--

With the introduction of CHAMBER in the game, the meta has shifted drastically with him being the most picked sentinel, this raises the question about who would be the new anchor, and, indirectly the answer comes out to be the CONTROLLERS.
The “Smokers” are holding the helm to be the new anchors of sites, trying their best to keep the attackers at bay and making sure they keep the site empty at all times, and even if they have to make the rotations they are supposed to be the last ones doing so.
Now, all this seems very theoretical until you are someone with a coding/analysis background, and like talking with numbers, so the engineer inside me decided to try and measure how much time an Indian Valorant Pro can anchor a site.

I did my analysis on the matches that took place in The Esports Club’s Challengers Series 9 or so as to say a #VCTOffSeason Official Tourney.
The matches selected were BO1’s in the group stage, wherein 4/8 were Indian teams.
Run It Back is one of the boons to the Valorant Community, which not only holds the stats but also the 2D replays of all the matches, which are beneficial for the post-match analysis of any/all kinds.
All the data was scraped from the same website and then modeled by me using Power Query Editor(as per comfort) in PowerBI to model it according to the requirements.
To create the dataset, instead of sweating over making the scrapper myself, I used the web scraper made by a friend of mine, @TheJoaquiGamer on Twitter.

Language used: Python
Libraries used: OpenCV, matplotlib, numpy, pandas
(you can read about the use of libraries on google)
Features used: Contours, image plot, scatter plot, pandas data query.

BIND was the choice of map, as it was the second most played map in the whole Group Stage and also because it has 2 different distinct sites and no MID, making it easy to track rotations.

Bind Minimap — Valorant
Bind Minimap — Valorant

Now, we declare two rectangular contours to determine the site rotations, of course, we can make the contours super strict running along the boundary lines of both sites individually, but I decided to keep them loose since the position data is scraped from time instances, and is not very precise.
And this is what the Contours look like on the map:

Bind Minimap with Countors — Valorant
Bind Minimap with Countors — Valorant

And this is what the dataset looks like:

locationDataset — Valorant
locationDataset — Valorant

Now, the final task is just to run through the rounds and check if the person started on a particular site and is still present in the same site at the end of the round or has rotated to a different site in the middle of the round.
And when we try to plot the time of the anchor of the person, we get the following graph(s):

RNT blackhawk_siteAnchorTime — Valorant
RNT blackhawk_siteAnchorTime — Valorant

To analyze the graph obtained, we use the 2D replay feature of RIB along with this plot to figure things out.
Since RNT (Revenant Esports) uses a double controller setup, their Anchor time was expected to be high, as is clearly visible from the plot as BlackHawk had the highest anchor time amongst the 5 of the Indian controller. He was mostly the last person to rotate whenever the condition required, which lead to his high peaks, the valleys tho are because of the fact that he engaged in fights in the A site (favorite for GE [Global Esports]), and hence ended up giving up his life in some engages. but overall he was glued to the A site until either the timer was burnt out or the B site was up for retake.

RNT Logi_siteAnchorTime — Valorant
RNT Logi_siteAnchorTime — Valorant

This is a curious and interesting case, as it is clearly visible, the anchor time for RNT Logi rises as more and more rounds pass, which proves to be the perfect example or adaptation. In the initial rounds, whenever GE hit the A site or shows presence over at the A site, it is always Logi as a controller anchoring the B site who rotates, and not Skye present with him, but after the 17th round, they switch things up, and finally, it is their Skye making the rotations and not the controller (Logi — Viper), which leads to his substantial increase is the anchor time thereafter.

Similarly, the anchor time for other players can be calculated too and used to analyze or predict when the person might rotate over to the other site.

Even tho the rotation times and analysis all make sense and support the 2D recap, they are all highly dependent on the data scaper which only records the data when a kill has occurred or some major activity takes place in the game, I still don't have a way to get the location of every individual at every instance of time, which would majorly enhance the model.

Also, even though the anchor time is obtained, it does not makes sense to increase or decrease anchor time based on how long the round has passed, as some slow-paced team on attack may lead to greater anchor time for the controller while other fast-paced times may decrease this time substantially.

To solve this one and only MAJOR problem in the analysis, I do have something in mind that I would be sure to apply in the next iteration.

If you want to connect, here is my Twitter.
If you want the ugly code, here is my Github.

--

--