Riot Pls

By Banksy & ScuttleChris

TL;DR: Riot Pls is a new experimental blog to talk about the priorities and values that influence what we’re doing, what we’re not doing, and why.

That’s a pretty good TL;DR for something this long and it definitely doesn’t encapsulate all the content within, but we still hope you’ll read it. Just do it!


But first, a foreword…

Through the years, we’ve been consistently surprised - sometimes overwhelmed - by the passion of the community around us, and this is one of those times. You’d think we’d have acclimatized by now.

So here’s where we’re at: rather than just running around putting out fires with our engineers, we’ve started working on things that set us up for cool, sustainable (hopefully fire-proof) projects in the future. But as we made this shift, we also became anxious that you wouldn’t understand how much behind-the-scenes work we had (and have) to do to get there, so we slowed our conversations. We convinced ourselves we needed to get things ‘right’ before we could have a conversation, or that you didn’t want to hear about progress that you couldn’t see or touch, only results.

Up front: this won’t be a dev blog about results. In fact, for anyone hoping to get a pile of new content promises, that’s not the plan. What we’re experimenting with here is a quarterly blog update - Riot Pls - on what we’re prioritizing, what we’re not prioritizing, and the why behind both. This first one might come off as a bit fluffy because we’re trying to recalibrate how we talk; we’ll be highlighting our current realities and priorities while also establishing our commitment to share updates more frequently - even if they might be disappointing - because you care and because we built League of Legends together.

So between this and some newly ramped efforts on ongoing updates like behind-the-scenes stories, dev blogs, patch notes, live streams, Q&As, and Rioters themselves on the boards and social media, our commitment is to keep you more informed. This should be the start of that.


Let’s kick things off with a landscape

For a game like League, we’re not delivering on features at a fast enough rate. We agree. No excuse intended - and we’ve said this before - but we’re deep, deep in the weeds with all of our developers (engineers, designers, artists, etc) cleaning up the ‘tech debt’ we’ve picked up over the past six years. When we first started working on League, our optimistic target was to support 20,000 players and, in the years before launch, we built a scrappy platform to do just that. It goes without saying that now we need a very, very different architecture to support 67+ million players, and the act of revamping that work without tipping everything over is what we’re talking about when we say we’re paying off our tech debt.

The way we see it, there are two ‘pipelines’ of stuff we can get done: our foundational stuff and… well, everything else. When it comes to our foundations, we’re tackling an extensive, focused plan to pay off our tech debt, with groups of teams working on our back end service stack, our global deployment tools, our build pipeline and our server network infrastructure. We have another group taking on automated testing systems and our internal developer tool kits. These things take time - imagine rebuilding the foundations of a house while everyone’s still living inside - but this is necessary work to renovate for the future. Still, we’re going to get better at highlighting what’s behind the curtain: the joys of removing spaghetti code interdependencies, the times when we’re buying so many servers it takes days just to break down the shipping boxes, or the challenge that comes when a single block of code goes into the wild (despite normal behavior internally and on the PBE), gets hit by millions of players, and behaves in a way that... well... let’s just say nature never intended.

Our other pipeline - the ‘everything else’ - is the stuff we know as players. Whether it’s the new Summoner’s Rift, seasonal changes every year (often to the jungle…), Champion Mastery, Friend Finder, URF mode, the Harrowing, Shurima and Ascension, new champs, more champion updates more often, more esports, new HUD improvements, upgrades to player reform and rewards, or the new Bilgewater: Burning Tides event, the above are the areas we can develop new things in, and we haven’t stopped trying to grow here.

We have passionate teams working hard on both sides of the fence; one just happens to be delivering high-visibility content while the other has to tackle much, much larger challenges - like building dedicated ISP networks for League players - under the hood. We need to be proactive about communicating both.


So what's this mean?

Ultimately the above ‘state of the game’ feeds into our current prioritization for League of Legends. How we choose our work can be fairly straightforward:


Pay off our tech debt

League is a constantly evolving experience that we’re committed to improving and supporting. That means building out systems that can be worked on by hundreds of developers at a time; creating tech and processes so that we can efficiently roll out updates to thousands of servers in 12 different regions; and creating a hardware and software architecture that can support millions of players at once. This isn’t an easy task, nor will it be accomplished quickly, so in the meantime...


Pick the right projects that we hope players love

Just because we have a lot of fundamentals to rebuild doesn’t mean we should shut down everything else. With things like the new HUD, new skins at a higher quality bar, new champions and champion updates, and an ever-growing esports scene to support, we’re going to keep delivering – and improving on delivering - where we can, unless it comes at the cost of our first priority (if animators could build better developer tools, we’d be first in line!).


Here's what we're not working on

We always have to make tough decisions when it comes to picking features that players (including us!) want and expect. Below are a couple of your big asks that we’ve put to the side – and why:


Replays (for now)

Well, this one was our bad. Not only did we promise replays at the launch of League of Legends because we thought it was needed to get esports off the ground (maybe not), but by showing them on the PBE we set the expectation that they’d be on the way Soon™. We backed off replays because the technical demands (server loads, backward compatibility, network stability) were so high that we knew it would be hard to do them ‘right.’ These days we also know that with our above priorities, replays just can’t be a consideration until we clean up a lot of those systems. In the meantime, we're huge fans of the alternatives that the passionate community of developers outside of Riot have created, and we're looking into ways to highlight (and support) those good folks.


Sandbox Mode

We’ve heard a number of player requests for a Sandbox Mode, with two main reasons: the first is trying out new content – which is something we value too. We want players to know what they’re getting and to be happy with the things they’re unlocking (we may investigate other ways to do this). The second is that players want to practice very specific skills without the constraints of a regular game. For this point, our stance is that sandbox mode is not the way to go. We want to make sure we’re clear: playing games of League of Legends should be the unequivocal best way for a player to improve. While there are very real skills one can develop in a hyperbolic time chamber, we never want that to be an expectation added onto an already high barrier to entry. On an individual level, we know this isn’t always true – some just want a space to practice flashing over walls without having to wait at least 3.6 minutes in between – but when that benefit is weighed against the risk of Sandbox mode ‘grinding’ becoming an expectation, we just can’t accept the tradeoff. We never want to see a day when a player wants to improve at League and their first obligation is to hop into a Sandbox. We do want to support your ability to grow in mastery, and there may be other avenues to do so, but not this.


Here's what we are focused on

While we continue to improve the global network, eradicate spaghetti code, build better tools for League developers, and polish other parts of the League experience (and figure out ways to tell you stories about those things), we’ve got a few teams and projects we’ll tell you about now:


Updating the client

Almost a year ago, we launched an updated patcher and client landing page. With those, we wrote a short post. At the bottom of that post, it read:

“We have a vision for what the future could hold for the client and we’re looking forward to sharing our plans with you a bit further down the road!”

Then a bit further down the road came and went and… radio silence.

We didn’t forget about our promise and we have been working on a large update for the existing client - we expect to begin player testing during the Season 2016 launch. After this, once it's ready to launch, you can expect more reliability, more responsiveness, and less buggy experiences (that’s our big focus and we’re making absolutely sure we can deliver here before moving forward). Ultimately, we want you to fight the player, not the game, so the updated client is oriented around getting you and your friends into League with minimal friction. We’re also building it in a new tech framework and architecture so Riot teams around the world can develop, deliver, and support more client features more effectively.


Scratching that competitive itch

We’ve been working on some improvements to competitive system that we want to roll out for the 2016 season. Front and center to these changes, however, is getting all of ranked play onto the teambuilder mode. You’ll be able to pick 2 positions - including ‘fill’ - to ensure you’re playing in the position you can contribute the most in. ‘Feed’ will probably not be an option, (sorry!).


Making League better with friends

We’re exploring a whole bunch of features to help you connect and play with new and existing friends online, even when your skill levels are pretty different. We also know that you can’t play with only your friends every game and, in those cases, we’ll continue working with you to build a better community.


Getting on that content train

Like we mentioned above, where we can sprint we want to keep going:


Seasonal seasons of seasons

We couldn’t think of a better title. Anyway, we want the season start to be an exciting time for game changes, but we’re also hoping to follow that up with some meaningful midseason changes as well. Instead of just focusing on a chaotic preseason, in a few months you’ll hear the plan for Season 2016, which is the collaborative work of a lot of teams working on League.


Events

We just wrapped up Bilgewater: Burning Tides so it’s pretty easy to convey our intent here. Not all events will be this big, but from Bilgewater to Worlds to April Fools, we want to deliver content that keeps League fresh and gives you new ways to engage.


Storytelling

Lore means different things to different players, but we know many of you are looking for a story that has Runeterra actually changing over time. Again, we want to do this more frequently. Events like Bilgewater will help us tap into our potential, and we’re experimenting with other ways to bring you story, like comics, videos, novellas, and other things not comics or videos or novellas (did you like the Amumu music video?).


Higher quality updates

We’re still trying to push the envelope with each new champion we release and not only are we improving with each skin we put out but we’re exploring other ways for you to customize your League experience in Season 2016.


What's next?

From now on, you shouldn’t be surprised by our work - you should know what areas we’re prioritizing and why we’re doing it. This also means we’ll be experimenting with different forms of communication and transparency. Communicating more about the bigger picture also means you’ll be hearing about stuff before it’s fully baked - so expect some details missing and some differences along the way. We’ll repeat again – this dev blog isn’t about ‘results’ or new content, it’s about resetting our conversations so we can talk, and develop, iteratively.

Thanks for reading this epically long post. We’re excited about all of the things and we hope you are too.

Banksy & ScuttleChris

1 year ago