The League engine in most significant ways is not the same engine that League shipped with. The collection of tools and systems that make up what could be considered the engine has had multiple renderers, VFx pipeline has been near completely replaced, UI tooling and its underlying tech has been completely replaced, audio systems, all complex game data has been supplanted into a new structure, localization systems has been replaced, and so on and so forth. The engine does have shortcomings, but it's also VERY good at the things it does do. Which is all optimized towards League and, now, TFT.
Most of the issues described are *not* Engine level issues. Weird, niche, and complex bugs also tend to not be an engine issue. Instead, generally, it's almost always a content issue of some kind. Or, they're issues that is so incredibly specific to League interactions that there really isn't a generalized solution within another engine. That is, the cost to "do good" is the same in the League engine as it is elsewhere.
Instead, almost all the issues tend to be "content issues" of some kind. Which is generally more about a tool not existing at the time they were made rather than something fundamentally wrong with the content. Effectively, the content needs to be returned to and updated in some way. OR, it's a different kind of self-imposed limitation on the content itself.
A couple illustrative examples based on some of the content in this thread:
- Nidalee spear: Missile needs to be updated to follow ground height. There's some VFx considerations that need to happen to make this look good and not just snap around weirdly.
- "No more Elemental Lux!": This is due to League game client memory cost (note: Not the League client, but the client that the game is actively played in). That League can run on some fairly low spec machines is fairly significant to a large segment of the playerbase who otherwise couldn't play higher demand games, especially for regions without PC cafes (such as NA). In order to ensure we always stay within that budget, we operate in a kind of dance between setting strict budget for groups of content (such as the max cost of a single skin) and then optimizing down various systems so that we can increase those budgets at a later point.
Perhaps the biggest issues are more related to spell and script complexity than anything else. Again, not an engine layer issue. These are also things that we're constantly rewriting and updating, but it's an ongoing process. You can kind of infer some progress with various large content interactions suddenly resolving, or very specific interactions coming into being. Viego forced the rewrite of many passives. Sylas forced the update of many spells. Scaling icons in tooltips forced the rewrite of how nearly every spell in the game calculates its values. UltBook has been steadily forcing the rewrite of some fairly niche systems + their accompanying spells. (e.g. Annie R --> Pet system now updated to support multiple pets)