Posts by RiotLtRandolph

Superspick

Gotta be careful calling it a bug when it’s been present forever, it’s basically a feature at this point.

TL;DR making it easier to get the "right" behavior for VFX in fog of war is something we'd like to do, but it hasn't risen to the top of the list.

"it's basically a feature at this point"

This is one of the challenging things about making changes in a system like this. Reworking the way VFX decide whether they're visible to people is on the list of things that engineering would love to do. It's certainly not intuitive for designers to get it to behave the way they want. But to take just one example, there are a lot of opinions both within Riot and among players about whether or not Nunu ult should be visible to enemies if he's in brush. Setting up ambushes with R is a significant part of the fun and skill expression of the champion, but it can also feel really cheap to be blasted by an ult you couldn't see. So if I were to write code that magically made every case easy to set up and completely intuitive, there are still a bunch of design decisions about what the intended behavior ...

Read more
RiotLtRandolph

Close. Actually the parabola part didn't play a part. What actually occurred is that, when you're dashing to another unit (for reasons I cannot fathom) you arrive at a random short distance from them. If you started your dash at a closer distance than that random short distance, but not exactly on top of them, some funny math happens.

In order to smooth the arrival (again, for reasons that I cannot fathom), the two distances are divided by each other to come up with a speed scaling factor. Unfortunately, that can lead to dividing a larger number by a smaller number. Sometimes a much smaller number. So for a single frame of simulation, Lee (or Irelia, Jax, Yuumi, etc.) could report that they're going hyperspeed. Like cross Summoner's Rift in a tenth of a second fast.

Then, in the area trigger/missile collision, we ask "hey, where were you last frame" so we can do "capsule collision" (pretty standard game collision technique). In order to compute that, Lee says, "Well, I'm going super ridiculously fast, so apparently I was waaaaaaay the fuck over there."

The fix was to take the min of the scaling factor (from dividing the distances) and 1, to make sure that we're not blowing our speed way out of proportion.

The key for me to debug it was when our QA pointed out to me that it always was behind the dashing unit. Thus I rescripted Caitlyn trap to spawn like 50 traps in a circle around where she casts it, and encircled Lee as he repeatedly dashed at blue buff. The bug would happen every 20 seconds or so, letting me set breakpoints and figure out where the bogus values were coming from.

VeryExtraSpicyCheese

It wasn't random, the dash (and all others previous to season 4) were coded linearly in the xy plane, but Lee's dash followed the target like a parabola if the target moved. In order to make it appear that Lee was curving he had to travel in a straight line over and over updating every time the server ticked over, and there was a chance that he could be hit by skillshots in that path. This "bug fix" changed dash tracking to be able to curve without starting a new path.

Close. Actually the parabola part didn't play a part. What actually occurred is that, when you're dashing to another unit (for reasons I cannot fathom) you arrive at a random short distance from them. If you started your dash at a closer distance than that random short distance, but not exactly on top of them, some funny math happens.

In order to smooth the arrival (again, for reasons that I cannot fathom), the two distances are divided by each other to come up with a speed scaling factor. Unfortunately, that can lead to dividing a larger number by a smaller number. Sometimes a much smaller number. So for a single frame of simulation, Lee (or Irelia, Jax, Yuumi, etc.) could report that they're going hyperspeed. Like cross Summoner's Rift in a tenth of a second fast.

Then, in the area trigger/missile collision, we ask "hey, where were you last frame" so we can do "capsule collision" (pretty standard game collision technique). In order to compute that, Lee says, "Well, I'm going super...

Read more
Nickolas_Phage

They already did, a year or two ago.

Couple thoughts to share.

  1. Yeah we've been standardizing the way we implement lines, using https://nexus.leagueoflegends.com/en-us/2017/08/tech-giving-champions-context/ That doesn't mean that all the old lines are in the CAC, but new champions are implemented that way.

  2. Even while we've had the CAC, we've also had a bunch of lines per champion that are manually hooked up in some clever ways, using server scripts, or triggered by the planets aligning in some specific way. Those clever ways are much more likely to break and not be noticed, as the code and scripts change.

  3. When a category of lines from the CAC breaks, it's easy to notice, easy to fix, and obviously high priority. But when a specific line on a specific champion from a specific situation breaks, those are no longer true.

So we're definitely doing our best to make VO in league much less fragile moving forward, by implementing most/all lines in the CAC moving forward. I'm not personally involved in identifying and prioriti...

Read more

Since spectator has a bunch of its own visibility rules, the death realm is a big visibility system puzzle, and engineering bandwidth was tight, we decided not to do a spectator-facing version of "seeing into" the death realm. So spectator will always show Summoner's Rift. The spectator will see a ghostly version of whoever's in the death realm. This is not the same as the wisps that players in Summoner's Rift see. The spectator ghosts will animate, cast spells, and you can see the effects from those spells. Whereas the wisps that players in SR see just move around (so you can position appropriately).

Read more
VahlokWasTaken

I'm guessing you can see it in spectator mode as ghostly outlines or something of the sort. Maybe even something similar to the shimmer that you see when you hit an invisible champion.

Yeah, basically. We explored whether we could get it as a toggleable view to show either SR or the death realm in spectator. But the engineering timeline has been pretty tight, so we've just focused on making the gameplay work as intended.

My first main was Nasus, which I really like for learning the game since he makes you focus on last hitting so much. It's a great skill on which to get really focused practice.