Maintenance for the week of April 13:
• PC/Mac: No maintenance – April 13

A Cyrodiil improvement that shouldn’t be to hard...

xxthir13enxx
xxthir13enxx
✭✭✭✭✭
I’ve asked for this in the past...
It really should be a simple fix...
That would Solve so many headaches.

Zos could you Pretty Please Remove the upgrade/degrade animations on the Walls!?

This constant animation causes unnecessary LoadScreens that are Catastrophic to Gameplay!

All for What exactly?
It’s a waste of coding and server load

Just leave the Walls at Max hp and lvl

We the players don’t select which Keep/Castle/Fort to attack based on its strength of walls...We Don’t Care!

We Do Care when we suddenly die due to an unnecessary Loadscreen middle of Combat cause the Walls suddenly decided to Upgrade or Degrade...

K thx bye
  • Alucardo
    Alucardo
    ✭✭✭✭✭
    ✭✭✭✭✭
    I don't know how much impact this would have overall, but I imagine it would at least make things better. There's no real point to flashy wall animations when you're usually stuck in a loading screen anyway.
  • worrallj
    worrallj
    ✭✭✭✭✭
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.
  • Alucardo
    Alucardo
    ✭✭✭✭✭
    ✭✭✭✭✭
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    You're very right, but I still think it's important to take out everything that isn't needed to increase performance by even a small amount.
  • jadarock
    jadarock
    ✭✭✭✭✭
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    You are absolutely wrong it straight up ruins good fights. Its unnecessary and no good player wants to wipe the opponents in that manner . Period.
  • jadarock
    jadarock
    ✭✭✭✭✭
    Alucardo wrote: »
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    You're very right, but I still think it's important to take out everything that isn't needed to increase performance by even a small amount.

    No I cant tell you how many times load screens influence a fights outcome. The upgrade downgrade needs to go its unhealthy for the game how it works now
  • Thevampirenight
    Thevampirenight
    ✭✭✭✭✭
    ✭✭
    What they need to address is the issues that Fengrush brought up and I think hes correct about them being the true reason for the lag in Cyrodiil.
    They need to deal with those stacking heal/buffs and make it so you just benefit from one instead of like 20 at the same time. So they need to address cross healing and until they do it might not much get better.
    PC NA
    Please add Fangs to Vampires.
  • Nord_Raseri
    Nord_Raseri
    ✭✭✭✭✭
    Long loadscreen every time a keep flips made me take a break from cyro. More annoying than the lag, health dysyncs, and inability t use skills/swap bars.(IMO)
    Veit ég aðég hékk vindga meiði á nætr allar níu, geiri undaðr og gefinn Oðni, sjálfr sjálfum mér, á þeim meiði er manngi veit hvers hann af rótum rennr.
  • Alucardo
    Alucardo
    ✭✭✭✭✭
    ✭✭✭✭✭
    jadarock wrote: »
    Alucardo wrote: »
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    You're very right, but I still think it's important to take out everything that isn't needed to increase performance by even a small amount.

    No I cant tell you how many times load screens influence a fights outcome. The upgrade downgrade needs to go its unhealthy for the game how it works now

    I wasn't saying it doesn't, because it absolutely does. It's such a cheap death when the keep flips or gets repaired and you get killed in a loading screen. I've had them last up to a full minute.
  • chris25602
    chris25602
    ✭✭✭
    cyro is so screwed not even a dozen fixes like this would truly fix it. Yet we(I) keep running crews, joining a rando zerg when waiting for our guild, pvDoor the map on off hours. cyro keeps churning no matter how *** up it is.
  • eKsDee
    eKsDee
    ✭✭✭✭✭
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    It wouldn't fix lag, but it would likely fix at least some of the spontaneous load screens you get when a keep flips or upgrades.

    Load screens are usually used to hide major map changes or asset loads, and so are usually indicative of something nearby changing in a major way that required a client-side map state update, ie keep flipped alliances and all the banners and such switched, or keep upgraded and all the walls needed to be updated with the new upgraded models.

    The proper solution would be to investigate why such a change unnecessarily fired a load screen (it didn't need to, as keep state updates can be done while the player is still playing, load screens not occurring every time is evidence of that), but this would at least remove a potential cause of some of the load screens near keeps.
    What they need to address is the issues that Fengrush brought up and I think hes correct about them being the true reason for the lag in Cyrodiil.
    They need to deal with those stacking heal/buffs and make it so you just benefit from one instead of like 20 at the same time. So they need to address cross healing and until they do it might not much get better.

    Bingo. When simulating the state of and interactions between objects in a virtual world (ie players and NPC's in a game world), performance bottlenecks usually aren't caused by the simulation of individual objects (ie the number of players), rather the interactions between objects and how they scale.

    If we assumed that every player in Cyrodiil was doing nothing but standing around idly, then the server is basically just keeping track of the state of each player, ie if they've moved, what are their stats, what bar are they on, and all of the more primitive information about them such as their character and account ID's, etc.

    The server is pretty much just doing some data tracking, which is not all that slow, and the overhead of all this data tracking is constant, it scales to the amount of players, and the amount of players alone.

    Since we can very clearly see that lag gets significantly worse as players clump up, and since we know that the data tracking overhead only scales with the amount of players, we can safely say that the problem is not the amount of players in the map, but the amount of players in a given area, which leaves us with interactions.

    And, if you look at how much work the server actually has to do in player-player or even player-NPC interactions, you can start to see why they really slow down the more players interact with each other.

    In the case of AoE's, I won't go too far into detail, but it roughly works as follows.

    Before I break it down, I do want to say that this is making some rather large assumptions about how optimized this AoE function is. I'm assuming that there's a rather large optimization put into place, where the map is divided into a large grid and players are sorted into lists within each grid cell, and I'm also assuming that each step in the function is ordered from fastest to slowest, to ensure that the slower steps don't run any more than what's necessary.

    First, we need a list of players who are within the AoE that may possibly receive our AoE effect(s):
    1. Figure out which grid cells intersect the AoE, and grab all players within every grid cell that intersects the AoE, putting them into a single list, leaving players that obviously can't be in the AoE out of the list
    2. Start looping over the list
    3. Grab next player from the list
    4. Check if the current player is inside of the AoE (moderately fast), and if they're not in the AoE, remove the player from the list, and go back to step 3
    5. If we're calculating a damage AoE, skip to step 6. If we're calculating an AoE heal, check if the current player is already at max health. If we're calculating an AoE buff/debuff, check if the current player already has the buff/debuff. If either of the two conditions earlier were true, remove the player from the list, and go back to step 3
    6. Check if the caster can see the current player by tracing a ray from the caster to the player (this can be very slow), and if the caster can't see the player, remove the player from the list, and go back to step 3
    7. If there's still more players we need to loop over in the list, go back to step 3, else, end the loop.

    We now have a list of players who are within the AoE, that may possibly receive our AoE effect(s), but we still have the actual effect(s) to do.

    Before we start them, we then need to sort the list.

    If the list is for an AoE smart heal, we need to sort the list from lowest to highest health. There are multiple sorting algorithms documented online, so I won't cover the sorting, and chances are Zenimax are probably just using some sorting library that is fairly optimized already, but sorting is moderately fast, but does scale with the amount of players needing to be sorted.

    If the list is for an AoE regular heal, AoE buff or a damage AoE, I assume the list gets sorted from closest to farthest from the caster. This is a bit slower than even sorting from lowest to highest health, since there's a bit more work needing to be done to figure out the distance between two 3D points, but it's still moderately fast, scaling with the amount of players.

    Then, we need to grab the players that the AoE can affect, and discard the rest, so we basically grab the first n players of the list, where n is the AoE target limit of the effect.

    Finally, we loop over the list, grabbing each player of the list just like above, and we then call whichever function performs the actual effect (dealing damage, healing, applying a buff/debuff) on each player. This function call happens for each player, so say for a damage AoE with a target limit of 6 targets, the deal-damage function is called 6 times, which can potentially be slow if the function itself is slow.

    Now, with all of that, think of what the server is doing for 50+ friendly targets that can take AoE heals and buffs, on top of potentially 100+ enemy targets that can take AoE damage and debuffs. And this also happens each tick, for ground effects.

    Think of that, and you can start to see why AoE's might possibly be a performance drain on the servers.
    Edited by eKsDee on May 2, 2020 9:33AM
  • Shardaxx
    Shardaxx
    ✭✭✭✭✭
    Totally agree. Going into a load screen because the corners of the Keep are rebuilding themselves is ridiculous, and just adds more loading screens to a game that already has too many random ones popping up!
    PS4 - Europe - Shardaxx - Wood Elf Nightblade - Aldmeri Dominion
  • xXMeowMeowXx
    xXMeowMeowXx
    ✭✭✭✭✭
    Alucardo wrote: »
    worrallj wrote: »
    Seems to me this would prevent a fraction of a thousandth of a percent of "lag deaths" in cyrodiil. A wall animation is nothing compared to a Zerg of 50 players.

    You're very right, but I still think it's important to take out everything that isn't needed to increase performance by even a small amount.

    Until they fully commit to fixing the games performance, I don’t see anything that would be a beneficial fix.

    Tbh I never remembered when Cyro was this bad.

    Simply the performance is broken in PvP and needs proper attention and resources put towards it. Just tired of the them cutting corners.

    Having skills not even working when you play solo or with one other player 2 v X is really sad.
  • worrallj
    worrallj
    ✭✭✭✭✭
    To be honest I've never had this happen. Sounds like there's a number of you though.

    I get lots of very brief load screens, like 10 in a row, that each last less than second, when riding from one keep to the next. It stops your horse in his tracks. Pretty annoying but doesn't actually mess much with gameplay.

    But skills not working and desynchs when the zergs get too big is the thing that kills it for me.
  • Shardaxx
    Shardaxx
    ✭✭✭✭✭
    worrallj wrote: »
    I get lots of very brief load screens, like 10 in a row, that each last less than second, when riding from one keep to the next. It stops your horse in his tracks. Pretty annoying but doesn't actually mess much with gameplay.
    That's true, its annoying but not game breaking like the other issues, but the crazy thing is, this never used to happen! For the first 3 years or so, you could ride full speed around the entire map and not have a single loading screen. Then at some point, I forget which patch it was, it all went wrong. The lag increased, the loading screens popped up, people started crashing and freezing, and its never been properly fixed since.
    PS4 - Europe - Shardaxx - Wood Elf Nightblade - Aldmeri Dominion
  • MartiniDaniels
    MartiniDaniels
    ✭✭✭✭✭
    ✭✭✭✭✭
    This happens not only because of walls, but even door repair / flip may cause this. I don't think animation is root cause
  • Mortiis13
    Mortiis13
    ✭✭✭✭
    The only problem I have with the wall animation are those 1 second blackscreen u get (100% on wall/door repairs)
  • xxthir13enxx
    xxthir13enxx
    ✭✭✭✭✭
    Yes there are Many other things that need to be fixed in Cyrodiil

    This however is something that seems like it should be a relative simple fix and would remove a tremendous headache that we deal with for no reason
  • Pinja
    Pinja
    ✭✭✭✭
    Good job pointing this out.
    These client side load screens don't always get you, but they're there.
    It's that extra corner wall that really does it.

    +@eKsDee nice wright up, it isn't perfect but gives a grasp of the concept. Problem is there's more than one angle to the problem as you'd guess. When players clump, except in the case of an AoE calculation, It's mostly all render and client lag with your CPU trying to generate all the pieces. The server handles calculations for the entire server regardless of distance. If you want to factor in more calculations imagine the plethora of them it takes to work the mind of an NPC, yeah there kinda brain dead patterns but they add up. What the meeting of players does do is heighten the chance more abilities will be activated, and thus more calculations.
    But you dismissed something simple the more players on a server, the more abilities that can be cast on a server. So while the number of players on the map may not directly be an issue (especially if there all in load screens,) the number of players in combat is. Which runs up the numbers the more players you have on a server.
    Not that I don't recognize what @FENGRUSH said about Hots, Dots, & Buffs (I haven't seen his direct statement,) but those aspects are apart of the flow & diversity of the game. Could they be phased out, they partially were when they nerfed Dots, but I'd rather fix the game than change the gameplay if possible.
    I made a post saying they should partition Cyrodiil to make it work.
    A small game change yes but not game breaking.
    Edited by Pinja on May 3, 2020 10:48AM
    Pinja for Dual Wands.
    Pinja's three server solutions:
  • TineaCruris
    TineaCruris
    ✭✭✭✭✭
    I don't know how much impact it would have on performance, but the upgrade/downgrade could be done WITHOUT the animation changes and physical changes that are being made to the keep and that are causing the issues. They could just change the XP of the walls/doors/npc's with the same schedule, and not do the animation BS that is causing the problems.

    So, they don't have to pick one or the other, they could resolve the issue and keep the same system of "reinforcement" of the keeps on the same schedule based of resources owned and just not have the animations that mess things up.
  • validifyedneb18_ESO
    validifyedneb18_ESO
    ✭✭✭✭✭
    Loadscreens, their lack of progress bar, and the consant worry that they may be one of the fabled "infinite loading screens" is quite possibly the single worst thing about ESO.
    EU: Magden, Magknight, Stamsorc(*2), Magsorc
    NA: Magplar, Magden, PotatoBlade
Sign In or Register to comment.