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
- 1The Riot Games Engineering Tech Blog7 people · 3 points · first shared 2015 · discussion on HN
- 2Automated Testing for League of Legends6 people · 248 points · first shared 2016 · 74 comments on HN
- 3Fixing the Internet for Real Time Applications, Part II6 people · 103 points · first shared 2016 · 20 comments on HN
- 4Fixing the Internet for Real Time Applications: Part I5 people · 15 points · first shared 2015 · discussion on HN
- 5Under the Hood of the League Client's Hextech UI5 people · 9 points · first shared 2017 · discussion on HN
- 6Random Acts of Optimization4 people · 310 points · first shared 2015 · 125 comments on HN
- 7A trip down the League of Legends graphics pipeline4 people · 265 points · first shared 2017 · 111 comments on HN
- 8THE ARCHITECTURE OF THE LEAGUE CLIENT UPDATE4 people · 13 points · first shared 2016 · discussion on HN
- 9Riot Games Messaging Service3 people · 216 points · first shared 2017 · 36 comments on HN
- 10League of Legends Chat Service Architecture3 people · 141 points · first shared 2015 · 81 comments on HN
- 11The Evolution OF Security At Riot Games3 people · 11 points · first shared 2017 · discussion on HN
- 12A Taxonomy of Technical Debt2 people · 720 points · first shared 2018 · 113 comments on HN
- 13Determinism in League of Legends: Unified Clock2 people · 60 points · first shared 2017 · 21 comments on HN
- 14Moving Mountains of Data to AWS [video]2 people · 14 points · first shared 2015 · 1 comments on HN
- 15Profiling: The Case of the Missing Milliseconds2 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
Related:
Automated testing for League of Legends
https://engineering.riotgames.com/news/automated-testing-league-legend…
And the HN discussion
https://news.ycombinator.com/item?id=11601278
soccerdave · 2017-08-23
Yes, it was Riot Games
https://engineering.riotgames.com/news/fixing-internet-real-time-appli…
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
Riot Games built their own backbone as well.
http://engineering.riotgames.com/news/fixing-internet-real-time-applic…
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.