Riot Games Engineering

engineering.riotgames.com · Company blog · on HN since 2015

Riot Games' engineering team writes about building and running League of Legends, covering testing, networking, graphics, client architecture and messaging.

What HN saysHN commenters recommend it as an engineering blog with good detail and excellent content. They single out the automated testing post and the messaging service post.
70HN people shared it
21linked it in comments
72stories submitted
2.8Kstory points
8 years agolast shared
2015people per year2026

Most-shared posts

  1. 1
    The Riot Games Engineering Tech Blog
    7 people · 3 points · first shared 2015 · discussion on HN
  2. 2
    Automated Testing for League of Legends
    6 people · 248 points · first shared 2016 · 74 comments on HN
  3. 3
    Fixing the Internet for Real Time Applications, Part II
    6 people · 103 points · first shared 2016 · 20 comments on HN
  4. 4
    Fixing the Internet for Real Time Applications: Part I
    5 people · 15 points · first shared 2015 · discussion on HN
  5. 5
    Under the Hood of the League Client's Hextech UI
    5 people · 9 points · first shared 2017 · discussion on HN
  6. 6
    Random Acts of Optimization
    4 people · 310 points · first shared 2015 · 125 comments on HN
  7. 7
    A trip down the League of Legends graphics pipeline
    4 people · 265 points · first shared 2017 · 111 comments on HN
  8. 8
    THE ARCHITECTURE OF THE LEAGUE CLIENT UPDATE
    4 people · 13 points · first shared 2016 · discussion on HN
  9. 9
    Riot Games Messaging Service
    3 people · 216 points · first shared 2017 · 36 comments on HN
  10. 10
    League of Legends Chat Service Architecture
    3 people · 141 points · first shared 2015 · 81 comments on HN
  11. 11
    The Evolution OF Security At Riot Games
    3 people · 11 points · first shared 2017 · discussion on HN
  12. 12
    A Taxonomy of Technical Debt
    2 people · 720 points · first shared 2018 · 113 comments on HN
  13. 13
    Determinism in League of Legends: Unified Clock
    2 people · 60 points · first shared 2017 · 21 comments on HN
  14. 14
    Moving Mountains of Data to AWS [video]
    2 people · 14 points · first shared 2015 · 1 comments on HN
  15. 15
    Profiling: The Case of the Missing Milliseconds
    2 people · 13 points · first shared 2018 · discussion on HN

What HN people wrote when they linked it

dmpress · 2018-02-10
Riot Games has an engineering blog that goes into some good details: https://engineering.riotgames.com/ Disclaimer: Riot Games Engineer :-)
smnscu · 2018-02-09
> They don't do QA, and their 'deploy process' takes everything down for hours. This reminded me of this classic: https://engineering.riotgames.com/news/automated-testing-league-legend…
speps · 2017-10-23
What about https://www.riotgames.com ? More so because they have an engineering blog, which is very interesting : https://engineering.riotgames.com/
jkchu · 2017-04-21
Glad you mentioned Riot Games. I stumbled on their dev blog this year and found their content to be excellent. I personally really enjoyed their post about their messaging service: https://engineering.riotgames.com/news/riot-messaging-service
flohofwoe · 2017-04-21
RiotGames: https://engineering.riotgames.com/ Autodesk Stingray (formerly Bitsquid): http://bitsquid.blogspot.de/
TeMPOraL · 2017-03-03
Totally this. Reminds me of the footer of Riot Games Engineering blog[0]. The content they post is very good and interesting, and I don't doubt it must be a pretty cool company to work at, but that office photo at the bottom literally describes hell for me. I would spend my whole day there waiting for my anxiety to cause a heart attack. [0] - https://engineering.riotgames.com/
Senlaar · 2015-10-14
Thanks for posting this! I help to produce the blog at Riot and I really hope the tech community finds it useful. In case anyone's interested, we just posted new content this week - an overview of our RFC process, and the continuation of a Docker&Jenkins tutorial: http://engineering.riotgames.com
jlees · 2016-04-01
Riot Games - Los Angeles, CA / St. Louis, MO - Onsite - Full-Time - Software Engineer We make the game League of Legends, which by various metrics is the most played PC game in the world. That means we have some really fun problems that come with operating at scale, worldwide, 24/7. We're hiring for a bunch of things (http://riotgames.com/careers) in a few locations worldwide, but I wanted to specifically plug my team, Service Availability. We basically manage all the 'behind the scenes' stuff from data centers to backend microservices. It feels like a tech startup within a game company -- many of our engineers have tech-industry backgrounds (Google, Amazon, Netflix, MS etc). Engineering blog: https://engineering.riotgames.com/ We're solving problems from the infrastructure layer up, making it easy for developers internally to launch and operate services worldwide, regardless of the underlying hardware/cloud. e.g. building a Docker-based cluster, deployment and build tools, microservice frameworks and interoperability standards, monitoring, logging, and other developer-experience type features. We're also working on services that use that stack to deliver awesome new things to players, e.g. the Riot API. We write a lot of Go, which I'm really excited about. Our culture is also really interesting, especially for a games company. We've got some Fortune awards etc, but the TLDR is: we have work-life balance, we are focused around personal growth, individuals are very…
ggregoire · 2018-06-04
What does that mean for games like League of Legends running on OpenGL? (https://engineering.riotgames.com/news/trip-down-lol-graphics-pipeline…
rakoo · 2018-04-22
Most ironically, Google is using it for their Cloud Messaging solution (https://developers.google.com/cloud-messaging/ccs and https://firebase.google.com/docs/cloud-messaging/server#choose for the replacement) to allow applications to talk with a backend.. The advantages over HTTP are multiple: better battery life, bidirectional communication, asynchronicity. Riot Games is also using it for the messaging part of League of Legends (https://engineering.riotgames.com/news/chat-service-architecture-proto… XMPP is also used by military organisations such as NATO (https://www.isode.com/solutions/military-xmpp.html) The sad truth about XMPP is that it just works, but it has a very bad publicity because there's just no marketing around it, and it's never used directly by users. So it suffers from that wrong image that is just completely outdated.
JasonSage · 2018-04-20
Reminds me a lot of the League Client architecture that Riot wrote about: https://engineering.riotgames.com/news/under-hood-league-client%E2%80%… Every component of the client is independently built, tested, versioned, and registers itself with the main process on startup. I think didn't grok the nature of "register" vs "require" and the subtle implications of containment vs requirement until now.
Pulcinella · 2018-01-05
taspeotis · 2017-07-19
Hi, this article [1] isn't quite what you're after but you might be interested in it anyway. [1] https://engineering.riotgames.com/news/automated-testing-league-legend…
woodrowbarlow · 2017-04-21
i've never been interested in video game development but one day i saw an article they posted giving a technical overview of their graphics pipeline [1] and i couldn't stop reading. [1] https://engineering.riotgames.com/news/trip-down-lol-graphics-pipeline
cyunker · 2017-03-01
FWIW, here's a earlier post about chat architecture and talks a bit more about how it uses Erlang. https://engineering.riotgames.com/news/chat-service-architecture-serve…
ClassyJacket · 2016-11-22
And about making improvements to network architecture. https://engineering.riotgames.com/news/fixing-internet-real-time-appli… Honestly at this point, this Riot should probably give up and change their name. It didn't occur to me this could be about a different Riot.
slantview · 2016-10-31
stefs · 2016-04-27
coincidentally i re-read the post about the riot games league of legends automated testing infrastructure yesterday. it's fascinating (and honestly, i'm even a bit envious!). in case you haven't read it yet: https://engineering.riotgames.com/news/automated-testing-league-legend… guess it's down to the value of competitive multiplayer. e-sports are the focus of games like LOL (or, i guess, CS), instead of throw-away gaming. the division won't have international competitions in 3 years - and that's ok with ubi soft. because they'll have a couple of new games out by then and players will have bought those instead of still playing the division.
aardshark · 2016-04-04
I don't know if you're familiar with Riot Games' infrastructure investments, but I figure it might interest you. They're essentially building their own low-latency network across the US. It's really impressive. https://engineering.riotgames.com/news/fixing-internet-real-time-appli…
nickpsecurity · 2016-07-21
There's a lot of flak over poor comparison to photos and self-promotion. However, his overall point is still true: just putting a little effort in upfront with assumption you will succeed can prevent these problems. My baseline for evaluating this is "Did they do at least as well as someone who spent 30 seconds on Google?" Short version: doing better wouldn't have required a ton of thinking. Here's what 30 seconds Googling "highly-scalable chat architecture" gave me: http://highscalability.com/blog/2014/10/13/how-league-of-legends-scale… https://engineering.riotgames.com/news/chat-service-architecture-serve… http://doc.akka.io/docs/akka/1.3.1/scala/tutorial-chat-server.html Note: Like to have seen numbers for field-test of the above in the article. Yet, it would've gotten someone thinking. http://lsirpeople.epfl.ch/nbonvin/dl.php?f=chat-report.pdf http://doc.utwente.nl/68325/1/imp-pasm.pdf Previous times doing this for web services led me to highscalability.com with many architectures to imitate with fairly mature software components available. At this point, the common ones should practically have templates for "enter metrics expected here" then click to deploy.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close