Hey gamers. We’re Ezra “Riot Phlox” Lynn and Riot GalaxySmash, the game designer and QA engineer on Neeko’s midscope. And we’re here to tell you some stories from her development process.
We know that Neeko’s midscope was a long time coming, and part of that (actually a lot of it) was because of her new passive and the bugs that it introduced. But we’re not just here to talk about bugs, we’re here to talk about Neeko. So without further ado, here’s the story of Neeko’s Midscope.
Sometime early last year I got to thinking of Neeko. She’s a goofy little lizard-gal for the girlies who everyone seemed to love outside of League of Legends, but nobody wanted to play in League (except a handful of hardcore mains). Usually champion popularity is fairly correlated with gameplay popularity, but not for Neeko. It was a fun little challenge to think about, but other work had my attention and I had no clue what to do. What I did know, though, was that Neeko was failing to live up to her fantasy as a trickster.
I wanted Neeko to feel like one of the premier tricksters in League of Legends. But trickery is a weird concept for game design. The easy solution is to give her a mechanical bonus, like some sort of damage buff for hitting someone while disguised. In that case, she’s not going to disguise to trick people, she’s going to disguise to get some extra damage. But at the time I didn’t have any other ideas, so I shelved her.
A few weeks later in the wee hours of the night (just before April Fools) I woke up in a sweat and had a thought, “What if Neeko could turn into anything?”
It was probably a stupid idea, but I wrote it down and passed back out. The next morning I woke up and saw “Neekp [sic] can turn into anything.”
Morning me and 3am delirious me agreed. Neeko should be able to turn into anything.
That’s where this whole midscope began, that little kernel of excitement around what this character could be. She wasn’t a true trickster at the time, but could she be?
One of the best parts of design is seeing your ideas turned into a playable thing. But it’s also the jankiest. Neeko’s first prototype was terrible—maybe the worst prototype in existence. It barely functioned.
Half the units she turned into were untargetable and very illegal (like ward debris, Jarvan flags, Syndra balls, Kled R, etc.). Any unit she turned into that had already died was cleaned up by the “garbage collector”—meaning she would play her transformation VFX, inherit the unit’s stats, but would remain looking like Neeko. It wasn’t clean, but it was fun. This was a direction we could actually take Neeko! ...Maybe. It was worth a shot.
Do you all remember April Fools 2022 where you could turn into random units? Surprise! That was us testing Neeko’s passive to see if you were excited about that kind of transformation. Turns out you all liked it as much as we did, so I started playing around with just how far we could push it.
The passive was very conservative with what it let you do: It had long cooldowns, it broke on any damage, it barely let you do much at all. So I took away essentially every single rule it had, in order to see what it truly needed. In the end, to really preserve her trickery most of those rules needed to go. I mean, why should a trickster be found out when they’re hit by damage? If Neeko wants to tank 14 Caitlyn auto-attacks, let her! She should be able to commit to the bit, even at a cost.
At this point her passive was handed off to engineering and I was left to figure out the rest of the kit. Which, I want to shout out the engineers for making this passive a reality because it needed a lot of engineering support to turn my idea into something that worked (thank you Riot Kïpp <3).
I felt like her Q and E are fun and enjoyable spells that work well with a mage’s kit, but her W really felt like a space we could make truly tricky.
The clone sometimes tricks people, but half the time you’re fighting against it to do anything. The first thing I tried was mirrored movement, whenever you moved the clone moved along its sent path mirrored to your movement. I dredged up my high school pre-calc vector skills to get it all to work and came up very short (stay in school kids). So I summoned yet another engineer (Summoner’s Rift tech lead Chris “Riot Chris Woods” Woods) and a member of the Game Analysis Team (QA lead Dave “Riot Weeknd” Park) to save me (and all of you) from my math.
Unfortunately the mirrored clone movement did not work... at all. But it was goofy as heck to do some kind of backwards Vel’Kozian mathematical analysis of your pathing. The tests were worth it, because we learned that it was cool for the clone to have real movement that actually could be used to trick people.
As a deranged Shaco main, my next thought was, “What if you have full control over it?” And that was that. It worked like a charm. Neeko could actually move the clone where she wanted it to go and the only limit to how well you could juke someone was how much your 200 IQ (or in my case 200+ years of design experience) brain could handle.
After that it was all about sharpening that fantasy, and so in came the recall baits and double dance at opponents gameplay. This character should be the most tricky champ, and so she came to be.
The last piece of the Neeko puzzle was her ult. Frankly, the old spell had too much counterplay. I know we tend to not remove counterplay in League, but let’s be honest... Outside of a Neeko ARAM snowball Freljordian Baja Blast pentakill, when’s the last time her ultimate honestly felt like it did something satisfying? When she flashed over a wall with R prepped and two people flashed the crashdown and one person walked out and then you realize that your Zhonya’s is on cooldown and you die? The spell was too unreliable. It never really worked in her favor.
So I thought about knockups. The animations all lined up. The spell still had 1.5s of warning. You still had to let a squishy little lizard get into melee range. The change went a long way toward making it feel like a reasonable spell, but I wasn’t satisfied yet. I wanted to see what we could do.
I tested a bunch of stuff like Neeko spawning four clones when the ult landed with movement that mirrored yours (you may have seen this). It did trick people… by filling the teamfight full of Neekos so you couldn’t tell what was going on.
I tested a version where it turned Neeko invisible, and almost tested a version where it disguised everyone in the ult (enemy or ally) randomly as someone else. But ultimately it felt more and more like the spell didn’t need trickery. The changes to her W and passive were enough.
And then it was done! Or well, not done. Then it was time to fix bugs.
One thing we’ve learned from Neeko’s development is that she is definitely a tomato. Not because she says so, but because she attracts so, so many bugs. Bugs are common of course, especially when we’re doing midscopes, but Neeko’s case is fairly unique.
Neeko’s changes are fairly unique in that while they are simple on the surface, the technical changes to make them possible introduced a LOT of possibilities for bugs. The good news is that many of these bugs are absolutely hilarious. The bad news is that if they happen in your Ranked games, they’re probably game-breaking.
As you can imagine, allowing Neeko to disguise herself as (almost) anything had some… interesting side effects. Like Riot Phlox said, Neeko was transforming into way more than we wanted: Ward debris, invisible minions, old legacy minions that no one could recognize, all that fun stuff.
Understanding why that happens requires some amount of technical knowledge on how League works, but to simplify—a LOT of our game is minions. This is a pretty well known fact, but I think when people hear this they think we just transform those little guys that run down mid lane into whatever we want, but that’s not quite right.
A “minion” in the context of our game is basically just a unit, or a basis for which we can build a lot of things off of. We can alter the properties of this “minion” to match whatever we want. Sometimes we get some of those properties wrong, and you’ve got some funny bugs like Gnar being able to use his E to bounce off Diana Q or Recommended Jungle Pathing creep-blocking your camps during your clear. The reason League was created this way is because it's a pretty handy way to keep our game uniform and simplify things for anyone wanting to create stuff.
All that’s to say, when we first allowed Neeko to transform into anything, that included “minions.” Not the cute guys defending you to their death, but those invisible things that serve as the building block for our game. So yeah, you can imagine the amount of bugs we ran across and all of the work that it took to turn Neeko into an organic tomato that attracted all sorts of bugs, into a GMO tomato that’s a little more bug resistant.
Thanks for reading through and we really hope you all enjoy playing Neeko! We can't wait to see what kinds of trickery you all do with her. Be chaotic, chameleons.