Hello, world! What a long, strange trip it’s been. Some things have held constant since the beginning of Riot engineering: we still hold the player experience above all else, we still focus on constantly improving ourselves and our technology, and we still love to play games. But other things have dramatically changed for our team: we no longer fit in 500 square-feet, we now serve players all over the world, and supporting 1,000 concurrent players is no longer our biggest challenge.
Some games of League of Legends I know I’ll love even before the loading screen appears. Take last night, for instance. I logged in to find a couple of fellow Rioters available to play, and while we queued together in a pre-game lobby we had a great discussion that led to smart role choices and an intentional team composition. That connection and strategic communication doesn’t guarantee victory — we lost — but win or lose that’s my favorite way to start.
Greetings, skill-shot savvy summoners, Brian "Penrif" Bossé here to talk to you about some new technical underpinnings behind missiles. We've been rolling out a new implementation of missiles in the past few months (as mentioned in recent patch notes). If we did our jobs right, you didn't notice the change while playing.
League of Legends has more than 125 champions, each with their own set of unique animations. (One of my faves? Sion’s dance, shown below—just one of his 38 animations.) These movements help to bring the champions to life: from determined movement to powerful spell casting to tragic deaths. (I see that last one too often.) As we’ve continued to introduce and rework champions, the total amount of animation data has become a larger burden on resources like run-time memory, patch sizes, and storage space.
“We want to do what?!” I exclaimed, the first time I heard we wanted to start up our own merchandise store. We’d launch multiple ecommerce sites. With international shipping support. In 13 languages. All at the same time. It sounded crazy.
OF COURSE I WAS IN.
Containers have taken over the world, and I, for one, welcome our new containerized overlords.
In this first tutorial in the Docker series, you’ll learn:
-
What we’re trying to accomplish at Riot
-
Basic setup for Docker
-
Basic Docker Pull Commands
-
How to run Docker Containers as Daemons
-
Basic Jenkins configuration options
In this tutorial, you’ll learn:
Hey, everyone! Marty and Jonathan here from Riot's Infrastructure Security and Service Availability engineering teams. We support all of Riot’s servers, and obsess over their uptime, security, and maintainability. Last November, we spoke at Amazon's re:Invent conference about our work leveraging AWS to support the many teams that contribute to the League ecosystem. AWS hosts many League sites, including leagueoflegends.com and our merch store, and must fulfill requests from millions of players daily.
League of Legends players collectively send millions of messages every day. They're asking friends to duo-queue, suggesting a team comp on the champ select screen, and thanking opponents for a good game. On July 21st of this year (I picked a day at random), players forged 1.7 million new friendships in the game—that’s a lot of love! And each time players send a message they trigger a number of operations on the back-end technology that powers Riot chat.