Riot Messaging Service

Hey there! My name is Michal 0xDEADB33F Ptaszek, and I’m a software architect at Riot. Today I would like to talk about communication. But not the kind of communication you’re probably thinking of. I want to talk about the other, more exciting kind of communication: LoL players communicating with chat servers during a tense game; authentication servers communicating with the LoL client on login; microservices that route state changes between clients in the middle of the night - you know, that kind of communication.   

Full Story
Posted by Michal Ptaszek

Under the hood of the League Client’s Hextech UI

Hi! I’m Jules Glegg, a Software Architect working on the League client update. We’ve been fielding a lot of questions about how the updated client’s Javascript/HTML/CSS works, and there’s a huge amount to cover there. I’m here to give a very broad overview of the most interesting parts of our UI architecture - we won’t get to cover every bolt and weld in this post alone, but we should get a good feel for the general shape of things.

If you see something you want to know more about, drop a comment and let us know! For now though, let’s dive in.

Full Story
Posted by Jules Glegg


A Trip Down The LoL Graphics Pipeline

Hi, I’m Tony Albrecht and I’m one of the engineers on the new Render Strike Team under the Sustainability Initiative in League of Legends. The team has been tasked with making improvements to the League rendering engine, and we’re excited to get our hands dirty. In this article, I’ll provide a run-down on how the engine currently works - hopefully this will be the foundation on top of which I can later discuss the changes we make.

Full Story
Posted by Tony Albrecht

Elementalist Lux: 10 Skins in 30 Megabytes

With the current scale of a game like League of Legends, it can be hard to remember the humble beginnings: a small group of developers too busy shipping a game and putting out fires to think about fine tuning systems, pipelines, and processes. And while we’ve changed a lot, our priorities remain the same: we’ll always put player experience before tech and process. Sometimes that leads to tech debt, and as we grow, it's important that we look for ways to improve the quality of our work as well as the way we work. Not every step forward has to be revolutionary.

Full Story
Posted by Eric Friedman & Scott DeFreitas

Debugging Titles: Part II

In my last article, we discussed a problem with titles: they poorly describe the many ways an engineer can develop their career. In response, we developed a system we call Masteries comprised of six attributes that, when combined, create a more well-rounded perspective on an engineer’s capabilities and growth path. In this second article, we’ll explore how we designed the levels and attributes, including the “minimum bar” we expect for engineers at Riot.

Full Story
Posted by Mike Seavers

Running Online Services at Riot: Part II

Our names are Kyle Allan and Carl Quinn, and we work on the infrastructure team here at Riot. Welcome to the second blog post in our multi-part series describing in detail how we deploy and operate backend features around the globe. In this post, we are going to dive into the first core component of the deployment ecosystem: container scheduling.

Full Story
Posted by Kyle Allan and Carl Quinn


Debugging Titles: Part I

What makes a Senior Engineer a Senior Engineer? When you ask that question, you’ll get a lot of different answers. Some think it’s writing excellent code. Some think it involves leadership. Others believe it requires the ability to mentor others or be product-minded. As we’ll discuss later in the article, everyone is probably right. But if everyone is right, the path to Senior Engineer is murky and unclear, not to mention really hard. How do I become an amazing programmer, and an amazing leader, and an amazing mentor, and more?

Full Story
Posted by Mike Seavers

Introducing Leadership Content

My name is Mike Seavers and I’m the product owner for the Engineering Operations group here at Riot. We formed EngOps to help manage, grow, and support our Engineering discipline. Those responsibilities include operating this tech blog, and we’ve been overwhelmed with the response over its first year - so first and foremost, I want to thank you for reading and providing us with feedback to help us improve.

Full Story
Posted by Mike Seavers