3 ms·
Even without considering the "boy's club" stuff, LoL never seemed to be very competently programmed back when I played it (admittedly I've hardly touched it sin
by HideousKojima 5y ago
Even without considering the "boy's club" stuff, LoL never seemed to be very competently programmed back when I played it (admittedly I've hardly touched it since ~2012). I wouldn't really trust them for engineering and programming expertise either, except maybe from whoever manages their servers/online infra.
- kayimbo 5y agoYou're not wrong. Their engineering seems incredibly incompetent. I've often postulated that they have like 500 junior developers and like 12 people with more than 5 years programming experience. There is probably like 2 people who keep the game engine running and when they quit the game will fall apart.
- HideousKojima 5y agoI think all the Riot employees on this thread are down voting us, sorry
- elithrar 5y agoNo, I down-voted each of you because your comments are anecdotal at best and don’t add to the discussion at all. Saying the game doesn’t appear to be “competently programmed” is analogous to the “coded badly” that gets thrown around, not taking into account that all successful consumer software has tech debt and inefficiencies. (I don’t work for Riot and have no affiliation with them)
- Kihashi 5y agoYou should look at some of their dev blogs. Their engineering team has done some pretty remarkable things, like re-writing the game server to be deterministic so they could better deal with problems that occur in pro play[1]. They've also talked a bit about the past and future of the game engine specifically [2]. They also have blogs talking about operations- taking the game from something written by 2 dudes in a dorm room to being one of the most played games in the world- how their stack has changed, how they're set up to do patches and rollbacks, how they do their internal testing and playtesting, etc. [1]: https://technology.riotgames.com/news/determinism-league-legends-introduction https://technology.riotgames.com/news/determinism-league-leg... [2]: https://technology.riotgames.com/news/future-leagues-engine https://technology.riotgames.com/news/future-leagues-engine
- tester34 5y agotheir networking staff seems to be very decent they pushed significant changes in backbone infrastructure in e.g EU https://technology.riotgames.com/news/fixing-internet-real-time-applications-part-i https://technology.riotgames.com/news/fixing-internet-real-t... https://technology.riotgames.com/news/fixing-internet-real-time-applications-part-ii https://technology.riotgames.com/news/fixing-internet-real-t... https://qz.com/790208/how-the-company-behind-league-of-legends-rebuilt-its-own-internet-backbone-so-that-its-faster-for-gamers/ https://qz.com/790208/how-the-company-behind-league-of-legen...
- danbolt 5y agoI don’t know much about League of Legends or its architecture, but I could imagine they were making tradeoffs at times for the product’s sake. I think they hint at this with `std::string` usage in their tech debt article. [1] It’s been said to death at this point, but technical shortcomings can be orthogonal to a video game’s success on the market. [1] https://technology.riotgames.com/news/taxonomy-tech-debt https://technology.riotgames.com/news/taxonomy-tech-debt
- bskrobisz 5y agoAs a prime example of this, I'd point to the horrifying source for VVVVVV, a darling indie game of its time: https://github.com/TerryCavanagh/vvvvvv https://github.com/TerryCavanagh/vvvvvv (my favorite piece: https://github.com/TerryCavanagh/VVVVVV/blob/master/desktop_version/src/Game.cpp https://github.com/TerryCavanagh/VVVVVV/blob/master/desktop_...) (There was also discussion about it on HN before as well, if one is interested: https://news.ycombinator.com/item?id=22011358 https://news.ycombinator.com/item?id=22011358) That said, refactoring for later gains might be wasted time if you have only a certain amount of scope planned for the rest of time, counter to the typical heuristic.
- hn8788 5y agoSome of their decisions didn't make any sense, even at the time. For example, each champion is coded separately for each team, there isn't just a single champion where they toggle a flag or something. That's led to bugs where champions are stronger depending on what team they're on. Skins work the same way; instead of just changing the appearance, every skin is a seperate hero in the code.
- jnwatson 5y agoYeah, I've gotten into it recently. Ignoring the nearly impossible problem of game balance, the actual software is not well engineered. The non-game client is chock full of bugs. They do have quite a legacy problem: 11 years is forever in computer game time, but still, with their resources you'd expect the big bugs to be fixed by now.