League of Legends

League of Legends Dev Tracker




20 Mar

Comment

In games where I feel close to tilting I often drag the chat window entirely off the screen. Muteall can help, as well.

Comment

How do you feel about your next game? Are you dreading a potential 14th loss, or has your descent merely removed the perception of importance surrounding any individual game and allowed you to ascend to a season-level perception, similar to how falling in a black hole allowed Carl's Jr. spokesman Matthew McConaughey to perceive a dimension beyond time and space?

Comment

Originally posted by sab39

So that means we're getting Star Guardian Urgot right?

no


17 Mar

Comment

Originally posted by marco_rennmaus

Wrong. If Schalke wins ties are going to be broken by looking against the results a team had vs. the other teams with the tie.

If Misfits wins their game, there is going to be a tiebreaker game between S04 and ROC. (Thanks to u/Timbolt for the correction)

Tiebreaker if MSF loses their game:

Place Team Standings
5 H2K 3 - 1
6 Schalke 04 2 - 2
7 ROCCAT 1 - 3

Tiebreaker if MSF wins their game:

Place Team Standings
5 H2K 4 - 2
6 ROCCAT 3 - 3
6 Schalke 04 3 - 3
8 Misfits 2 - 4

The bottom scenario is correct, the top one would have S04 at 2-2

Comment

Originally posted by Scatter5D

If S04 loses to FNC you guys go to playoffs as 6th seed

Correct, a tie at 8 wins between ROC, H2K and MSF means we apply "mini-standings" for those 3 teams where only their H2Hs count. That would result in

3-1 H2K

2-2 ROC

1-3 MSF

Therefore H2K would be 5th, ROC 6th.

Comment

Originally posted by [deleted]

Look guys we have new Cactopus.

we are all cactopi, on the inside.


16 Mar

Comment

Originally posted by Creath

I believe it. Riot's growth as a company is honestly incredible. It's hard to believe that 8 years-ish ago Riot was just a startup working on "the next DoTA".

You guys have come a long way!

Comment

Originally posted by Creath

But, from a DevOps perspective, shouldn't there be monitoring instrumentation in place to detect these kinds of failures?

I feel like whether or not a Riot employee personally noticed the downtime should be irrelevant. If you've only found out your store is down because Mike in Design was trying to buy the new Lulu skin, something has already gone very wrong.

You're not wrong. This was a long, long time ago.

Comment

Originally posted by krazerrr

I'm actually realizing this exact same thing at work! Workarounds are great for devs to bypass shitty workflow, but when your clients do it you have to be aware it exists and fix it, not ignore it 😅

I think there's an old story at Riot about the in-game store being totally broken and no one realizing it because no one used the store (because of having unlocked accounts).

You really can't improve things for players if you're pretending you aren't one.


15 Mar

Comment

Originally posted by sab39

Where Sivir?

you have to watch until the end

Comment

Originally posted by X_mLg_n0sc0p3r_X

Slightly off-topic, but does anyone remember another /dev post somewhat like this that went over the production of Camille's login theme? I've searched everywhere but I haven't been able to find it. Does anyone know where it went? It should have been released within the last year or so. Thanks in advance

Comment

Originally posted by [deleted]

% of time spent on the 'enemy' side of the river

correct. How much time the player spent on the enemy side of the map in the early-game (0-15 minutes)


14 Mar

Comment

Originally posted by Yulwei138967

I just hope noone on broadcast will use KP% to mesure ADCs anymore. Having a high KP just means ur team is unable to crate kills outside of teamfights. I bet Pray has pretty low KP. Thats not because he is bad but because Khan Bdd and Peanut get stuff done on the other side of the map.

I agree that KP for ADCs is not really a performance metric, but a lot of stats aren't. If your ADC has a high KP it can mean that the team plays around him a lot or, as you said, that the team gets kills mainly through team fights. I would say those can still be interesting insights, don't you think?

Comment

Originally posted by RighteousArrow

So what is the point of this post? Did you see people somewhere saying that rekkless will NOT have the best stats? Whenever I checked fnc's postmatch discussions I never saw anyone saying any other eu adc is better. So why did you have to post this and even with the word CLEARLY in the title like it's some sort of surprise.

Also people here are aware he is a good adc but they're talking shit mainly because of your fanboy shitpost.

While it is true that is expected that he has the best stats, it is actually quite rare, even for the best players, to be this dominant across the boards (in terms of stats).

Comment

Originally posted by xCavas

I mean its really good but not as impressive as I initially thought.

Hans Sama, Upset, Samux & Sheriff all have 0 isolated deaths too, which is basicly half the league...

Upset is actually the only other ADC with 0 IsoD.

Comment

Originally posted by [deleted]

Who is the #1 in the respective stats where Rekless is #2?

Here are a few:

D@15: Samux has 0!

DMG/M: Upset with 697

KP: Sherrif at 83.8%

FWD: Hans Sama with 39.6%

Comment

Originally posted by LoLFirestorm

Will league ever get multithreaded without a complete game and graphics engine rework?
I'm no programmer but I believe the stuff like UI which is not super time sensitive down to tenths of a milisecond could be executed on a separate core just fine with some work and as far as I'm aware this doesn't take place right now.
My current system is very much an edge case but it's absolutely hilarious to me that I can run Doom 2016 at ultra settings and get 100-120FPS with dips to 80 and on the very same machine league will hover in 60-80 range after leaving the fountain and dip as low as 30 in super lategame teamfights. This is at a mix of medium and high settings btw but these seem to make basically no difference when the bottleneck is on the CPU side like in my case (I'm still running a Phenom II after all these years but I got myself an RX 480 before the mining boom).
I don't think it's alright that even proffesional streamers running pretty beastly builds and encoding o...

Read more

League is already partially multithreaded, although I'll be the first to admit that it could make far better use of more threads. It is something that we are working on - engine rework is ongoing, but with the game changing constantly, this is like rebuilding an airplane engine while its flying. We have to be very careful that we don't break anything as we go.

You have correctly surmised that the main performance issue is a CPU bottleneck - in a team fight we're dealing with a lot of particles, and this can be costly. In fact, there is a break down of the rendering pipeline here which will g...

Read more
Comment

Originally posted by C0ldSn4p

/u/RiotTony : Actually you can inline virtual function if you statically force the call of a precise function implementation

Here is a code sample:

// Compile with: icpc -std=c++11 -O2 main.cpp 
#include <stdio.h>

class Base {
  public:
    virtual int foo() {return 42;}
};


class Child : public Base {
  public:
    int foo() {return 69;}
};

void bar(Child c) {
  printf("%d", c.Child::foo());
}

void bar2(Child c) {
  printf("%d", c.Base::foo());
}

int main(){
  Child c;
  bar(c);
  bar2(c);
}

If you run it you will get the output 6942 showing that first foo from the child was called and the foo from the base (despite using a child object). Also if you look at the assembly (-S option at compilation) you can see in the method bar and bar2 that the values 42 and 69 are hardcoded proving that the correct foo methods were inlined despite being virtual one.

Ofc this is a very specific use case but still, vir...

Read more

Yeah, there are ways around the virtual overhead, but the benefit of virtuals are that you don't need to know what it is that you're calling a given function on. Most use cases are just that - a collection of objects that are similar, but different enough to warrant different implementations of some of their parts. Another way to mitigate the cost of virtuals is to sort them by type. In that case you have far fewer I and D cache misses as you're usually calling the same functions. Modern HW is smart enough to predict the repeated branches.

Comment

Originally posted by [deleted]

If Im looking to work for Riot someday, how much of this sort of thing should I know, as far as this sort of code optimization and assembly? Im a CS major but honestly it feels like they never teach anything about practical real world software development :/

Depends on what you want to do there. If you want to do performance optimisation, then yeah, you'll should know it or be able to learn it on the job. But most of an engineers work is much higher level than this. Having said that, every engineer should be able to measure the performance of their code and understand how to speed it up if needed.

If your CS major isn't teaching yourself anything useful, you can always teach yourself. There is so much information out there for budding programmers and the best way to learn is to do. Build systems, write code for yourself. The more you code, the better you get.

Comment

Originally posted by velrak

Am i understanding that image right and rendering the HUD takes about the same amount of time as the entire rest of the graphics? That seems crazy

There is a surprising amount of work going on in there: scaling, compositing, updating, animating - lots of triangles, lots of textures. That was not a release build either, so there is some extra work going on in there that doesn't happen in LIVE builds.

I agree though, it is a considerable portion of the frame and while some work has been done since that screen shot to improve that, there is more that we should be able to do to in the future.