Original Post — Direct link
almost 6 years ago - /u/RiotTony - Direct link

Originally posted by VisAnalysis

This is interesting content (that Riot doesn’t have to publish) so it’s weird to me that so far these comments are just complaining about things.

It’s cool that they clearly take a lot of time to tell us anecdotes about things that happen under the hood, and as a coding hobbyist it’s fun to hear about some unexpected challenges, since anyone who codes, even as a team with QA, has done things than this or worse.

Kudos to the writer — this was written in a grear ELI5 sort of way. Could you (Or anyone) comment on why the Swain problem showed on a mid-spec machine but not the low-spec ones you tested on?

We don't test every skin of every champion on every spec machine on every game map or game type. There are just too many combinations there to do in a reasonable time with QA team. Even PBE doesn't catch every combination, which is why we need to keep an eye on live games and player reports for outliers. In this case, the Swain slow down wasn't flagged as an issue with our internal testing, or even on PBE. Either it wasn't noticeable enough (the impact would depend on screen resolution as well as GPU type and even the CPU could mitigate the GPU slowdown if it was slow enough) or it was deemed within the acceptible bounds of perf degradation or it wasn't seen.

So, to your question, it should have showed up in testing. If I was able to test on a min spec machine myself, it would have shown up. But my development machine is not min-spec (I do need to be able to compile the game), its more mid-spec and even on that machine it only showed up when I was running two game clients that were hammering the GPU as well as a server to really start to load the machine down. *Then* I could see the issue. So the problem wasn't that it only showed up on a mid-spec machine, it was that it only showed up on min-spec machines and when triaging the issue we didn't use min-spec machines (its actually pretty difficult to run the tools we need to triage a min-spec bug. The CPU and memory costs of the basic tools will often make it at best painful, and at worst impossible to debug min-spec machines.)

Hope that helps

almost 6 years ago - /u/RiotTony - Direct link

Originally posted by thiswasonceeasy

I would be interested in knowing a little more about the game engine itself. I remember reading in the past that it doesn't use a major engine such as Unreal, Cryengine, or Unity and that it was developed in-house. Is this true? And if so, I'd be interested in how the dev tools were developed and what features they have.

You are correct. We don't use one of the major commercial engines, we've rolled our own. This allows us to be more flexible - if we need something we can add it. We get to decide what the most important features are and what needs support. We also have had to build all of our tools (the game related ones at least. We still use 3rd party tools like Maya etc for art and audio and whatnot) - so our tools are customised to do what League needs: Creating particle effects, linking them to spells, dealing with game logic to name just a couple.

We are constantly iterating on our engine and tools so that we can more quickly and efficiently add new content. Of course, adding new content and features has a cost in terms of performance and memory, hence this eternal battle for framerate.