More ailments stacks visible

I agree for more visible stacks will be awesome, as 15 stacks feel a little bit too low for stuff like poison or frostbite. Just taking example from Guild Wars 2, they have those ailments like bleed stacks displayed up to 99+, so I just wondering why do Last Epoch sticking with 15 visible stacks.

The computation seems a bit weird here. Aren’t the stacks are already applying even without the stack display? It sounds kind of weird saying changing display of 15 to 16 require double computation than changing 14 to 15. I am not sure how their code works, but computational works doubled sound really weird to me as a programmer.

I was wondering this myself…

until I guessed that maybe the Ailment stacks are applied as entirely separate hits/second on a target with their own damage,duration and rate… not just one “X stacks applied each second”… LIke 15 invisible bleed mobs hitting the target with different damange numbers and durations vs 1 invisible mob hitting for 15x the damage.

Pretty sure summing up 15+ separate stack entities would computationally be far more resource hungry than just how returning how many stacks of a single entity are being applied… and considering that there is probably a limit on the number of computations per tick that the game engine can handle to remain within a certain performance window…

Honestly.,… I am guessing here… I have no idea how EHG is doing it to say for sure…

That is exactly how it works. Should I link the post where I explain this again?

Scrolling is hard on the fingers…

Don’t you have a phone? Scrolling’s easy on phones.

Nah… am old school… I seldon use my phone for web browsing and most definitely not commenting on forums… sure you have noticed my penchant for being excessively verbose…

Even given some expensive step for each individual ailment stack, summing them up should be a strictly linear scaling. Scaling significantly with the stack size is in itself super odd, but 2^N is wild. If that’s for real the algorithm is weird and wrong. It’s just not something that can possibly fall within the scope of a justifiable requirement or a limitation of the data structure.

2^N does seem excessive and perhaps just saying “Doubleish” has opened a bigger can of worms than it shoud… Wonder if @EHG_Mike is up for explaining it in more depth?

“Everyone has a phone, right?” - ActiBlizz

1 Like

Again? I’m pretty sure he explained it on discord which I then paraphrased in the above link. I’m sure he has better things to do.

Maybe he doesnt need to explain it in more detail… This is purely out of interest and well outside the realms of the game.

The doubling of required system resources on a single increment like that described is generally an abnormal/unusual thing in the programming world so it would be interesting to understand why that could be the case with this particular implementation… maybe its just how Unity works, maybe its a particular side effect of the way ailments are implemented… maybe its related to something else that has nothing to with ailments themselves but impacts on the performance based on the addition of this to the UI.

We would love to be able to give the full ailment stack counts. We can’t do it without compromising the performance of the game. I know this seems like a trivial system. It’s something that people were very confused about why we didn’t have it at all for a long time. This has been on our feature request list for years. The 15 stack limit is the only way we have been able to get the performance we need to not cause major problems.

If we find a way to increase the visible stack count, we will.

7 Likes

Was my description of it reasonable?

I probably shouldn’t have brought numbers into it. I was really just trying to make it easier to relate to. In some circumstances it can be way worse than others and we have to design it with the worst case scenario in mind. Putting those numbers to it doesn’t really answer why it’s like that.

3 Likes

I assume it has to do with getting a list of all Ailments and checking each one individually?
So the limit is there to not have to go through 40+ checks every X seconds?
Also assume that this is the reason more rare effects without synergy (like Future Strike) are excluded, because they cost the same resource as e.g. Ignite or Bleed, without being as useful for information.

With the last conversion bug I’m assuming that Ailments in Last Epoch are all the same base code and they just have a type(Bleed, Ignite,…) as parameter rather than them all being separate effects/scripts in nicely organised lists of which you could just get a length. Atleast, that’s what my ancient knowledge of coding and OOP classes make me think of.

What last conversion bug?

There was a conversion not happening in euhm … Swarmblade or Spriggan, I believe?
Only noticed it being referenced during a stream earlier this week, have yet to hunt for it myself, but it would be something that is harder to catch during testing than having to replace a function call.

Again, based on my general understanding of programming such systems, but structurally, it makes the most sense for future adaptability to do it like that.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.