Riot Games Has No Idea How to Make Software
I’ve finally given up on Riot Games. I was never a huge fan of League of Legends anyway; I came from Dota 2, which is much better balanced. I only every really enjoyed ARAMs for this reason – might as well make random chaos, if the game isn’t balanced anyway. TFT has had some solid points in time, but the same issues plague that game. A few builds simply dominate, and that just gets tiring, even more so than a game that’s more dynamic like LoL. In any case, I’ve been writing software my whole life, and I have to say: they are doing it wrong.
Riot's inability to balance the game aside, they have a few areas to improve on, which they seemingly are never going to.
Riot loves loves loves to over-complicate their game. While I understand they want to keep it fresh, the level of complexity they continue to march towards has no end in sight. Champions, items, buffs, and map objectives are already a lot to juggle. Each one of those things adds an exponential amount of complexity. This is not what you aim for when creating software, even if you have 200 years of experience…
Adding to your product is fine, software is a living thing, it should change over time. But what they build is dependency hell. Item x gives y stat, which effects champion z in one way and others in another, but if they have buff a, they no longer need item b, but rune c lets you break the rules of the game by going beyond the cap of stat d. STOP. Just stop.
Adding surface area is great, but when everything effects everything, it’s very difficult to maintain, which Riot loves to march towards. Dependencies are fine, but you want to keep them as shallow as possible, ideally non-circular. If you look at traditional software, you work your way out, you don’t pile on top, for the most part. I made property management software for awhile, there isn’t a single screen that lets you handle all of your accounting, handling paying bills, message renters, purchase insurance, etc. They all have their own places, but more importantly, they only roll into 2 dependencies: the user and the bank account. Riot does the opposite, they want to mash everything together and make everything a dependency on everything. Normal software is like building a series of roads, Riot seemingly aims to create the largest tangled set of headphones cables it can.
There's no way they can bring order to a warehouse of tangled headphone wires. They just aren't that smart and they never will be.
My last two observations are related: the insistence to make large sweeping changes and the refusal to (usually) make small tweaks. These points and the my last do relate to the new “mythic” item system. It was a huge change and it added another level of complexity.
What happened in this patch? New item icons, removing items, adding items, a new tier of items, and changing items. That’s way too much on the user. Why couldn’t they have updated the icons a month prior to give players the chance to get used to them first? But no change the whole thing at once. Why?! Be nice to people, for fucks sake. There’s a ton of change at once, and you had to confuse people with icon changes on top of it. Very wise. I guess they get away with it because their user base is mostly made up of 13 year olds that will put up with it.
Typical patches that are least a few weeks apart introduce a new character or / or a laundry list of character and item changes. Oof. Okay, let’s start with the characters. They all have strengths, weaknesses, and counters. Every time one is added, it adds more complexity. I think they have enough. They should probably just stop. They love making the new champion the best and most broken thing you have ever seen before, too. It’s like they are competing with themselves to break the record of brokenness.
The more typical patches with champion and item changes are way too long. They change like 30 things at a time, instead of rolling them out slowly. Changing a single attribute on a single item effects many many dimensions of the game, so changing a boat load at once is simply ignorant. It seems like they measure something and have goals in mind, but their approach is far from scientific. Measure. One. Variable. At. A. Time. It’s so unbelievably easy. Change, test, change, test, change test. It will also get them into habit of making changes more quickly, which is often desperately needed. When a new champion is released and dumpsters everything, people shouldn’t have to wait 2 weeks for a patch that semi-resolves it, which is usually followed up with one or more two rounds of patches. God.
Riot, you are not smarter than industry standards, stop acting like it. Your arrogance is showing.
If you want your 13 year old user base to broaden to 10-30 years old, follow standard practices. Frequent and steady change wins the race, but what do I know. I only have 30 years experience, compared to your 200. Maybe I’m doing it wrong though. I should be more like you and rack up sexual harassment and gender discrimination lawsuits, and maybe I could build up my own 13 year old army.