AWS X Riot Games
As part of the AWS Community builder Program I have been selected to be a guest of Amazons at the Riot Games Valorant Championships In LA at the end of August. Over the span of the 3 days there will be technical round tables with AWS and Riot Games leadership, behind the scenes tours, and tickets to watch the Championships in the Kia Forum.
So before I fly out I wanted to take a deeper look into the AWS and Riot Games partnership and see what technologies they are using and some of the problems they are solving. I found this extremely fascinating, so decided to write up some thoughts on this.
What is Valorant?
If you are unfamiliar with Valorant, it is a 5v5 tactical first person shooter game, released in June 2020. The game is character based and there is a range of different agents you can choose to play as, all with different abilities and special skills. Within the games there are two teams: attackers and defenders. Some agents excel at attacking, some are great at defending, and others provide valuable support. During the game you will also need to manage your in-game economy and make decisions on when to buy weapons and abilities!
I personally really like playing Valorant because it rewards strategy and tactical thinking, you require a combination of aiming skills, map awareness, understanding of agent abilities, decision-making, and cooperation with your team.
AWS x Riot Games Partnership
Riot Games runs almost entirely on AWS and as part of this partnership there seems to be a few main areas of focus, that I will cover in this blog:
- Building cloud-first production facilities
- Building the ideal network from gaming to reduce latency
- Creating new ways to experience eSports through stats, global power ranking and pick’ems
- AWS’ data analytics integration
Reducing Latency
When I attended AWS re:invent back in 2021, I actually attended a talk presented by Riot Games on one of the biggest technical challenges when it comes to shooter games and that is peekers advantage.
Peekers advantage refers to the slight advantage a moving player has over a stationary player when it comes to shooting in online games. This advantage is ultimately down to network latency, when a player peeks around a corner, they see the situation on their screen a moment before that information is sent to the game server and then relayed to other players.
As a result, the peeking player has a brief window of time where they can react to what they see and start shooting their opponent, while the player on the receiving end (who is not peeking) might only see the peeking player after a small delay, reducing their reaction time. This overall creates unfairness in the game.
In order to bring down latency, Riot had two main strategies:
- Moving game servers closer to players
- Improve routing of game servers
Moving game servers closer to players
Currently AWS supports 32 geographic regions across the world. While that is a lot of regions, for a global game, where latency is so important, it was not enough. In order to spin up game servers in more locations outside the standard AWS regions, Riot utilised AWS Outposts.
AWS Outposts is a fully assembled, managed and monitored solution for delivering AWS services on-premises or at an edge location. Riot games utilised Outposts industry standard 42U rack to run game servers in these new locations.
Outposts is however, not possible to have in all regions, therefore Riot also needed to create some data centres in certain regions.
Improving game routing
In order to improve game routing Riot created their own internet backbone called Riot Direct. This is a web of cables and routing deployed globally specifically used for Riots packets.
When building it Riot looked for points of presence around the world that internet service providers and carriers used to exchange traffic and how those locations mapped back to player locations. They then searched for the most direct and fastest fiber paths between locations to build their own backbone.
In the world, Riot is between the 20 largest networks in terms of exchange point presence!
Riot Games Broadcasting
Another area in which Riot are utilising AWS is when it comes to their remote broadcasting.
When it comes to broadcasting an eSports event, it’s different from other sporting events because you have multiple PCs that output a broadcastable view of the game. All of these different video and audio output needs to be brought together into broadcast appliances to allow for different mixes and live replay. Since Riot is global, there always needs to be multiple versions of the content to allow it to be broadcast in over 20 languages. Riot also works with different partner studios and so creating clean versions of the broadcast to allow other casters to create their own shows was also essential!
Live video is a tremendous amount of data when it’s running uncompressed and so you need a lot of processing power. Also when running events in many different countries, sorting out internet access to all locations can be a challenge.
During an event, gameplay traffic is always offline, using local game servers — incase there are any network connectivity issues, the game play integrity is always maintained. However, the broadcast has to be available to partners such as Twitch and YouTube, and that has to be available over the public internet, fundamentally meaning that it could be sensitive to packet loss.
This is where Riot direct comes back into the picture. In their path to building the ideal network for gaming, they also built the ideal network for broadcast. Due to it being Riot’s own global network, and they know the traffic profiles of the games, they can ensure that their network is not going to be congested and when they have a player packet, they try and hold on to that packet as long as possible.
Riot Games Cloud Production centres
Riot are also leveraging AWS instances to create state of the art remote broadcasting centers around the world, to create a “chase-the-sun” broadcast-operation, powered by the dedicated Riot Direct backbone.
These facilities will have control rooms and multiple studios to cater for large international events, and also allow production teams globally to tap into the them from their home bases — allowing even small regional events to take advance of this technology to produce cloud-based, on demand live content.
The first RBC was a 50,000 square foot facility in Dublin, capable of producing six concurrent live streams at any given time.
Round Up
Here are some sources for where I found this information, if you are interested in a deeper dive of any of the above sections:
- Riot Games and AWS partnership
- Remote Broadcasting
- Peakers Advantage and improving latency
- Riot games Remote Broadcasting facility in Dublin
This has been my research into the AWS and Riot Games partnerships so far, I’m very excited to attend the event in a few weeks, and can’t wait to find out more about future projects between Riot and AWS. Watch this space for more content!
This blog was originally posted over on my website, you can view it here.