Maintenance for the week of November 18:
[IN PROGRESS] PlayStation®: EU megaserver for maintenance – November 19, 23:00 UTC (6:00PM EST) - November 20, 17:00 UTC (12:00PM EST) https://forums.elderscrollsonline.com/en/discussion/668861

Campaign Performance

  • Sallington
    Sallington
    ✭✭✭✭✭
    ✭✭✭✭
    @ZOS_BrianWheeler

    This is EXACTLY the thing I love reading from devs. I think I speak for a lot of people when I say posts like that mean a lot, and we really appreciate the time and effort you put into the communication.

    Also, I'm actually excited to see the impact of those changes. Fingers crossed!
    Edited by Sallington on 6 April 2016 16:52
    Daggerfall Covenant
    Sallington - Templar - Stormproof - Prefect II
    Cobham - Sorcerer - Stormproof - First Sergeant II
    Shallington - NightBlade - Lieutenant |
    Balmorah - Templar - Sergeant ||
  • myrrrorb14_ESO
    myrrrorb14_ESO
    ✭✭✭✭✭
    Lettigall wrote: »
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    Is AOE cap removal also should be on to do list? By not calculating who gets full damage, who 50% and who 25% wouldn't take away a lot of stress from server?

    Without caps, the server would then have to do all the calculations for damaging each individual enemy in that area. So still sorts into enemies, then calculates damage then factors in all the various resistances. All at once...

    Maybe it would be an improvement, but it still sounds like a lot of calculations to me. Especially in your bigger battles.
  • Zheg
    Zheg
    ✭✭✭✭✭
    ✭✭✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    Performance drops even when players are standing still and not casting anything. Last patch we could ride to a keep and gauge number of defenders based on ping spikes, even if they were in stealth and not casting anything. Further evidence demonstrating this was your cake event. Sure there were a handful of abilities, but barely any compared to pvp. The crippling performance loss was due to total bodies.

    Is this factored into your performance increase work? All I've heard is skill improvements over the past year or so, but I don't see how that would affect the crippling performance loss from the scenarios I described above.

    Also, I'll accept if you want to keep this thread performance only, but we need to hear you speak up on the broken combat and balance decisions made for the TG patch. The pvp playerbase is in large agreement on many of these points, and some of these issues are directly related to performance because they encourage stupid numbers at single objectives. You were even warned beforehand that these exact scenarios would happen.

    When casuals, streamers, and large group players all agree on something being a problem, you've done effed up.
  • Elsonso
    Elsonso
    ✭✭✭✭✭
    ✭✭✭✭✭
    Zheg wrote: »

    Performance drops even when players are standing still and not casting anything. Last patch we could ride to a keep and gauge number of defenders based on ping spikes, even if they were in stealth and not casting anything. Further evidence demonstrating this was your cake event. Sure there were a handful of abilities, but barely any compared to pvp. The crippling performance loss was due to total bodies.

    He did not touch on the whole issue of how people know that the spell was cast. That would be making sure that everyone within the visual range of the effect can see it, and it not only applies to casting abilities, but characters that move, effects that are present on the characters, visibility of stealthed characters, getting line of sight, and probably a whole lot more.

    I have to think that this is a lot like Step 2, and am wondering whether they are addressing that, too.

    ESO Plus: No
    PC NA/EU: @Elsonso
    XBox EU/NA: @ElsonsoJannus
    X/Twitter: ElsonsoJannus
  • Ghost-Shot
    Ghost-Shot
    ✭✭✭✭✭
    ✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    @ZOS_BrianWheeler

    Thank you for the detailed post Brian, these really mean a lot to us. Perhaps you could pass that message on to @Wrobel, would love some insight on the balance direction for update 10. My main question regarding performance is basically what Zheg already asked, do you have any plans to address the lag created just by masses of people that aren't really related to abilites?
  • _Chaos
    _Chaos
    ✭✭✭✭✭
    @ZOS_BrianWheeler
    You have successfully proved me wrong and made me look like a jackas. And I'm so very thankful for that! Much appreciated to see you step up to the plate and tell us what's going on. I'd also like to add to what Zheg said, that it's beyond how the skills are calculated, it's when large groups of players are within a certain range. e.g. We start sieging and latency skyrockets, now we know there's either enemies hiding somewhere in the keep, or in stealth about to bomb us. It seems to be within a certain proximity to other players, because you can't feel those groups when they're on the other side of the map, but rather when they're within ~750m or so.

    Is there any way you could push to get a larger team dedicated to these changes, and have them implemented before the next major update?

    @Wrobel That means you need to allocate more human labour towards this project. Pretty please? It would definitely change perceptions of you within this community and I think that's best for not only yourself, but the community as a whole, and the longevity of the game.

    Again, Brian, thanks for your time. Sorry for the hostile tone of my previous posts. o:)
    'Chaos
  • Bashev
    Bashev
    ✭✭✭✭✭
    ✭✭
    @ZOS_BrianWheeler thanks for the update. So it looks like that the main issue are the healing skills and the buff skills because then you have to check a lot of variables. Probably the next step will be reducing their range or making them work only for groups?
    Because I can!
  • timidobserver
    timidobserver
    ✭✭✭✭✭
    ✭✭✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    @ZOS_BrianWheeler
    1. What level of impact/improvement are you expecting from this change?

    2. Are there any other Cyrodiil lag improvements that you can discuss?
    V16 Uriel Stormblessed EP Magicka Templar(main)
    V16 Derelict Vagabond EP Stamina DK
    V16 Redacted Ep Stam Sorc
    V16 Insolent EP Magicka Sorc(retired)
    V16 Jed I Nyte EP Stamina NB(retired)

  • Taonnor
    Taonnor
    ✭✭✭✭✭
    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    Hi,

    now you got me. This is my element. :smile: I addressed this point in my thread Myth AoE Cap. I called it "Cyrodiil Zone Splitting". This principe is like indexing from databases. The main goal of that zone splitting is to reduce the possible list targets to search for an ability. This should be have a positive effect on your first step.

    Again, sry for my english. But i hope you understand me @ZOS_BrianWheeler .

    Every object in cyrodiil, which can be hit by your ability (In your case the closest friendly target in 2463m area) have an additional item "zoneIndex". Now you need 2 calls. First you need to know, which zones your ability hit. In best case 1 zone in worst case 4 zones. Second, you use your call on all potential objects in the affected zones, instead off in complete Cyrodiil. Now you have a much much shorter list, instead of you search on complete cyrodiil.

    The second architecture trick now you can do is to give every "Zone" in Cyrodiil his own server ressources, like own "instances". I think this is the longer implementation step, but that should be end in better performance in the not affected zones. For example there is a large fight in Chalmann and a smaller one in Alessia. Each keep zone have its own server ressources, so you have no lags in Alessia and a bit more lags in Chalmann. At the moment the entire Cyrodiil instance is affected by large fights in one corner, so an entire campaign is unplayable.

    In DAoC they did this trick too, but there was one little disadvantage in vanilla DAoC. Every time you hit a zone border you had a little lag spike like a stutter. With New Frontiers there was no stuttering on zone change. So it is possible.

    To illustrate what i mean i have made a little picture. In PAINT! :smiley:

    UVeNORy.jpg

    I have created 3 examples.

    1. The yellow circle at nickels hits 2 zones. So the first call needs only to search all objects in zone 21 and 22.
    2. The green circle at farragut hits 4 zones. The first call needs to search all objects in zone 12, 13, 19 and 20.
    3. The orange circle at dragonclaw hits 1 zone. The first call needs only to search all objects in zone 4.

    I know, these circles are much much larger as normal AoE... But i can show you what i mean.

    2 Points i will explain:
    1. On this map is a large battle with hundrets players at Nickels. In zones 21 and 22 are lags. In Farragut and Dragonclaw are no lags, because there are not so large battles.
    2. The call of an AoE effect from a player in Nickels not needs to check if a player or "deer" in Farragut is in range of that radius. Or the call of a Templer ability in Dragonclaw not need to check for all objects in Cyrodiil in a 28m radius.


    @ZOS_BrianWheeler i hope you understand me. One question at least. Did you discussed about these technique? What is your opinion on this?
    Edited by Taonnor on 6 April 2016 22:31
    Guild

    Gildenleiter von Lux Dei (EU/AD). Offizieller Gildenspotlight für ESOTU!
    Guild leader of Lux Dei (EU/AD). Official Guild Spotlight for ESOTU!

    Addons & Guides

    ESOUI Author Portal: Taonnor
    Addons: Taos AP Session, Taos Group Tools

    Myth AoE Cap: DE Mythos AoE Cap // EN Myth AoE Cap

    What should i change in ESO: DE [DGR] Was würde ich an ESO verändern - "Der große Rundumschlag" // EN [TWS] What should i change in ESO – „The sweeping statement“

    Charakters

    Taonnor Annare, Sorcerer
    Thao Annare, Nightblade
  • forzajuve212
    forzajuve212
    ✭✭✭✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    Thank you so much for responding Brian, this is the type of feedback we like to see!
  • Rune_Relic
    Rune_Relic
    ✭✭✭✭✭
    Thanks for the update @ZOS_BrianWheeler
    Anything that can be exploited will be exploited
  • Forztr
    Forztr
    ✭✭✭✭
    I'd love to hear @ZOS_BrainWheeler give the same explanation he gave for honor the dead to caltrops, which is a huge AOE which persists in the world for a lengthy period of time, applies damage and a slow, also adds extra polygons to render and can be visually stacked but the effects don't, but they can be overlapped. Servers must love it when that skill gets cast and now it's so easy to get the battlefield is basically a crapet of the stuff.

    I think they'd have got more bang for their buck removing Caltrops than they got from making rapids and purge group mates only in addition to the other nerfs those skills got. The nerfs I don't mind but group mates only is a real kick in the wotsits quality of life wise for casual players in BWB. Riding past some level 15 on his slow horse and not being able to give him a speed boost as I zoom by sucks for both of us. He sees me zoom off into the distance and I feel forced to run in an organised group if I want to play a support role.
  • WalkingLegacy
    WalkingLegacy
    ✭✭✭✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    Brian,

    When this doesn't work either are you guys going to look into a different scenario with the anti-bot/hack in Cyrodiil?
  • Lava_Croft
    Lava_Croft
    ✭✭✭✭✭
    ✭✭✭✭
    Zheg wrote: »
    We have been making incrimental changes to how the server handles abilities and items in combat as well as adjusting some back end work regarding how abilities prioritize their targets. The bulk of these changes will be coming in the next major update.

    Are you making incremental changes to the poorly envisioned balance and mechanic changes you and wrobel are responsible for that drove a meta encouraging everyone to fight at a single location? Are either of you going to address what a miserable sh3t show pvp has become, even outside of all of the performance issues? Performance is hard and you aren't able to solve it, we all get that by now. For the meta and balance you guys don't get to use that excuse; you made a ton of changes and gave us the worst meta yet (impressive btw), and haven't said a word about it in a month. Not even a "sorry you guys have to play in a terrible meta AND put up with terrible performance while we continue our on-the-job training for running an mmo".

    This is the first and only post from either of you in about 3 weeks I believe. In what world is it a sound business decision to completely drop off the radar like that when pvp is in the state that it currently is in? None of us have any idea what your or wrobel's thoughts are on the state of balance and combat, nor on what's coming in DB. Have you really not learned your lesson yet? We need to know what wrobel is doing BEFORE it's finalized in a PTS patch so we can tell you how bad it is with enough time for it to actually be fixed/removed rather than waiting for the next quarterly patch.
    Guess the best thing to do is just to keep quoting messages like this. @ZOS_BrianWheeler, @Wrobel, please read, please think, please reply.
    Edited by Lava_Croft on 7 April 2016 07:51
  • Enodoc
    Enodoc
    ✭✭✭✭✭
    ✭✭✭✭✭
    Forztr wrote: »
    now it's so easy to get the battlefield is basically a crapet of the stuff
    You probably didn't intend to write that, but I think it's accurate anyway :stuck_out_tongue_winking_eye:
    Edited by Enodoc on 7 April 2016 08:14
    UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
    Join us on Discord - discord.gg/uesp
  • Docmandu
    Docmandu
    ✭✭✭✭✭
    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).
    Taonnor wrote: »
    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    Hi,

    now you got me. This is my element. :smile: I addressed this point in my thread Myth AoE Cap. I called it "Cyrodiil Zone Splitting". This principe is like indexing from databases. The main goal of that zone splitting is to reduce the possible list targets to search for an ability. This should be have a positive effect on your first step.

    ....

    and it's posts like this why devs don't make posts like the one Wheeler did... do you really think they are morons and don't know all this stuff?!
    Edited by Docmandu on 7 April 2016 10:28
  • Enodoc
    Enodoc
    ✭✭✭✭✭
    ✭✭✭✭✭
    Docmandu wrote: »
    Taonnor wrote: »
    I called it "Cyrodiil Zone Splitting". This principe is like indexing from databases. The main goal of that zone splitting is to reduce the possible list targets to search for an ability.
    and it's posts like this why devs don't make posts like the one Wheeler did... do you really think they are morons and don't know all this stuff?!
    Wasn't that sort of thing what this bit of ESO Live was all about?
    bHyfB5R.jpg
    UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
    Join us on Discord - discord.gg/uesp
  • Farorin
    Farorin
    ✭✭✭✭✭
    Thank you @ZOS_BrianWheeler I would say the majority of us are very happy with your forum updates, explanations, and positive communication.
  • ZOS_BrianWheeler
    ZOS_BrianWheeler
    PvP & Combat Lead
    In terms of "why are we lagging out when no one is doing anything around us?":

    All things that happen in a zone will effect that zone, so in the case of a battle going on at Glademist where tons of server checks are being initiated, it can (and does) effect what is happening across the map at Bloodmayne. That's how the entire game functions where server processes of a zone are handled and effect the entire zone.

    We believe the changes being made to these sorting/requirement changes will help more than other changes have in the past, but that also doesn't mean we believe it's a silver bullet. Each time we peel back a layer of optimizations, we find more we can change to make Cyrodiil perform better. There haven't been discussions about the anti-bot/hack code yet as we continue to have our engineers bang on the combat code.

    We are focusing on that aspect the most because of evidence seen with our Non-Veteran Campaign populations vs. Veteran Campaign populations when paired with performance graphs. Looking at Blackwater Blade vs. Scourge on Xbox for example, we see that Blackwater Blade actually has a higher population than Scourge but Blackwater performs better than Scourge. It's this information that has been pointing us to abilities that Non-Veteran players don't have access to via morphs, item abilities, magicka/health/stam regeneration and more.
    Wheeler
    ESO PVP Lead & Combat Lead
    Staff Post
  • _Chaos
    _Chaos
    ✭✭✭✭✭
    @ZOS_BrianWheeler

    Thanks again Brian. My one last question is:

    Why are you discussing combat/skill mechanics and not @Wrobel ?
    Do you have any power on the teams heading these changes, or can you just merely request the changes be made?
    'Chaos
  • Bfish22090
    Bfish22090
    ✭✭✭✭✭
    _Chaos wrote: »
    @ZOS_BrianWheeler

    Thanks again Brian. My one last question is:

    Why are you discussing combat/skill mechanics and not @Wrobel ?
    Do you have any power on the teams heading these changes, or can you just merely request the changes be made?

    maybe he can remove phoenix from the game?
  • Bashev
    Bashev
    ✭✭✭✭✭
    ✭✭
    In terms of "why are we lagging out when no one is doing anything around us?":

    All things that happen in a zone will effect that zone, so in the case of a battle going on at Glademist where tons of server checks are being initiated, it can (and does) effect what is happening across the map at Bloodmayne. That's how the entire game functions where server processes of a zone are handled and effect the entire zone.

    We believe the changes being made to these sorting/requirement changes will help more than other changes have in the past, but that also doesn't mean we believe it's a silver bullet. Each time we peel back a layer of optimizations, we find more we can change to make Cyrodiil perform better. There haven't been discussions about the anti-bot/hack code yet as we continue to have our engineers bang on the combat code.

    We are focusing on that aspect the most because of evidence seen with our Non-Veteran Campaign populations vs. Veteran Campaign populations when paired with performance graphs. Looking at Blackwater Blade vs. Scourge on Xbox for example, we see that Blackwater Blade actually has a higher population than Scourge but Blackwater performs better than Scourge. It's this information that has been pointing us to abilities that Non-Veteran players don't have access to via morphs, item abilities, magicka/health/stam regeneration and more.

    @ZOS_BrianWheeler what happened with Paul Sage's post about splinting in Cyrodiil?
    Hello everyone,

    Our Cyrodiil performance is something we are very aware of. Performance drags when there are numerous players in the same place at the same time. This is why performance in Cyrodiil is fine for much of the day, but gets worse during more popular times. We are currently investigating ways in which we can reduce the spike of performance loss. We added in some features for Update 6 which we hoped would help, but ultimately did not. This is not a situation where we can just add more hardware. Player population in a given area hurts the performance and the more people that are in one area, the more performance is going to be hurt.

    Actively, we are looking at changing the behavior of the players to remove incentives for large groups to stay in the same area. We want to do this by providing larger incentives for Alliances to split up and take on multiple-challenges in Cyrodiil. We’ll continue to work on this. We are also asked by players if there is anything they can do to help. In this situation, the best thing you can do is split off to different objectives when you notice performance going down. Cyrodiil is a big place with lots of different things to do. And thank you for asking.

    @ZOS_BrianWheeler if what you say is true and a fight in Galdemist can affect performance in Bloodmayne do you plan to divide the keeps with some gates as in IC districts? It will break the immersion but who from the pvp players care for the immersion. We just want lag free server.
    Because I can!
  • Elsterchen
    Elsterchen
    ✭✭✭✭✭
    Abilities work on several stages when fired off whether hitting several players in an area, or checking an area to hit just 1 or 2 players. For explaining how this functions in real world terms, let's use Honor the Dead as our example because its a single target ability that has an Area (Radius) of 28 meters.

    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    2 - The server then checks any requirements Honor the Dead has, and begins sorting that list to find the legitimate target to apply the ability to. In this case, the ability needs to find the closest friendly target in that 2463m Area, that is not full health, and apply a heal to that target. This is accomplished by having a unique requirement made specifically for Honor the Dead. The list generated by the server on the Ability cast can be 2 people or 100 people ...it just depends on how many players are in that Area as noted by the ability before it sorts out who to apply the ability effects to.

    3 - The server then fires the heal after picking the legitimate target from step number 2 after sorting the list of players according to the ability requirement to apply that heal.

    Step number 2 is what we're in the process of changing to be less intensive on the server. Currently each requirement for abilities like Honor the Dead have unique hand crafted requirement lists. The same goes for many other abilities in the game. This includes checking things like lowest health, highest health, distance from target (nearest or furthest), etc. What we are changing is making these requirement not be individually unique, but remaking them as universal server rules which are far less intensive on the server.

    As you can imagine, this is no small task to double check abilities in both PVE, PVP both generated from monsters and players. We are working to get all scenarios tested and confirmed that functionality of abilities are not effected and working as fast as we can to get this out to you all and appreciate your patience.

    @ZOS_BrianWheeler @everyone

    Ty Brian. That is a highly appriciated and informative update.

    I am not sure if i ask too much or if this would complicate matters even further... but imho: Step number 2 would also be a perfect working step to additionally consider balancing changes. I know and appriciate the steps that have been taken to accquire balance already, however, if you are working on "customizing" calculation processes already it might be worth to additionally think about balancing issues in terms of "optimizing the number of calculation processes" as a whole.

    Please note: i am not saying any ability should have a mirror abilty for any given skill/class etc.

    Adding to this, I know nothing of programming ... really I admit i am a really bad skrip kiddy (at best). But, from an analytical point of view (I fear to use the term "mathematical" - as i am just expressing an idea here, no calculations or formulars written out ) you could not only customize on variables like range and target number but also on base dmg, bonus dmg, buff dmg ... as all of these variables can be expressed in form of a vector within the function calculating the dmg output.

    This would not only allow for a cut down on calculation processes whilst keeping a high variation of possible outcomes (dmg dealt is still scaling to scaled variables affecting the ability), but would additionally allow to address balancing issues in small steps (following a "one number up or down" rule adressing the numbers included in the vector).

    Well, i hope my idea is understandable to everyone. What do you think?

  • Skorol007
    Skorol007
    ✭✭✭
    @FENGRUSH
    "but that also doesn't mean we believe it's a silver bullet"

  • Enodoc
    Enodoc
    ✭✭✭✭✭
    ✭✭✭✭✭
    Bashev wrote: »
    In terms of "why are we lagging out when no one is doing anything around us?":

    All things that happen in a zone will effect that zone, so in the case of a battle going on at Glademist where tons of server checks are being initiated, it can (and does) effect what is happening across the map at Bloodmayne. That's how the entire game functions where server processes of a zone are handled and effect the entire zone.
    ZOS_BrianWheeler if what you say is true and a fight in Galdemist can affect performance in Bloodmayne do you plan to divide the keeps with some gates as in IC districts? It will break the immersion but who from the pvp players care for the immersion. We just want lag free server.
    From what I can guess of the way things seem to work, I don't think that would help. In the same way that a battle at Glade affects performance at Bloodmayne, a large battle in the Memorial District would affect performance in the Temple District regardless of the gates between them, because all the districts exist in the same "Imperial City" worldspace.

    To improve performance from this angle, Cyrodiil would need to be split up in the same way that Imperial City and Imperial Sewers are separate (different worldspaces), rather than the way Memorial District is separated from Temple District (different part of the same worldspace).
    UESP: The Unofficial Elder Scrolls Pages - A collaborative source for all knowledge on the Elder Scrolls series since 1995
    Join us on Discord - discord.gg/uesp
  • Taonnor
    Taonnor
    ✭✭✭✭✭
    In terms of "why are we lagging out when no one is doing anything around us?":

    All things that happen in a zone will effect that zone, so in the case of a battle going on at Glademist where tons of server checks are being initiated, it can (and does) effect what is happening across the map at Bloodmayne. That's how the entire game functions where server processes of a zone are handled and effect the entire zone.

    We believe the changes being made to these sorting/requirement changes will help more than other changes have in the past, but that also doesn't mean we believe it's a silver bullet. Each time we peel back a layer of optimizations, we find more we can change to make Cyrodiil perform better. There haven't been discussions about the anti-bot/hack code yet as we continue to have our engineers bang on the combat code.

    We are focusing on that aspect the most because of evidence seen with our Non-Veteran Campaign populations vs. Veteran Campaign populations when paired with performance graphs. Looking at Blackwater Blade vs. Scourge on Xbox for example, we see that Blackwater Blade actually has a higher population than Scourge but Blackwater performs better than Scourge. It's this information that has been pointing us to abilities that Non-Veteran players don't have access to via morphs, item abilities, magicka/health/stam regeneration and more.

    @ZOS_BrianWheeler Ok, that is a way, but not the holy silver bullet as you say. But is it possible to split Cyrodiil into zones, like i described posts before? And if yes or it is already a long term goal for you, did you know around the time for that large backend change?
    Taonnor wrote: »
    1 - Upon casting Honor the Dead, the server checks the radius around the Templar (area) as defined by the ability...in this case 28m Radius (an Area of 2463 meters) and gets a list of ALL players in that area (friend or foe).

    Hi,

    now you got me. This is my element. :smile: I addressed this point in my thread Myth AoE Cap. I called it "Cyrodiil Zone Splitting". This principe is like indexing from databases. The main goal of that zone splitting is to reduce the possible list targets to search for an ability. This should be have a positive effect on your first step.

    Again, sry for my english. But i hope you understand me @ZOS_BrianWheeler .

    Every object in cyrodiil, which can be hit by your ability (In your case the closest friendly target in 2463m area) have an additional item "zoneIndex". Now you need 2 calls. First you need to know, which zones your ability hit. In best case 1 zone in worst case 4 zones. Second, you use your call on all potential objects in the affected zones, instead off in complete Cyrodiil. Now you have a much much shorter list, instead of you search on complete cyrodiil.

    The second architecture trick now you can do is to give every "Zone" in Cyrodiil his own server ressources, like own "instances". I think this is the longer implementation step, but that should be end in better performance in the not affected zones. For example there is a large fight in Chalmann and a smaller one in Alessia. Each keep zone have its own server ressources, so you have no lags in Alessia and a bit more lags in Chalmann. At the moment the entire Cyrodiil instance is affected by large fights in one corner, so an entire campaign is unplayable.

    In DAoC they did this trick too, but there was one little disadvantage in vanilla DAoC. Every time you hit a zone border you had a little lag spike like a stutter. With New Frontiers there was no stuttering on zone change. So it is possible.

    To illustrate what i mean i have made a little picture. In PAINT! :smiley:

    UVeNORy.jpg

    I have created 3 examples.

    1. The yellow circle at nickels hits 2 zones. So the first call needs only to search all objects in zone 21 and 22.
    2. The green circle at farragut hits 4 zones. The first call needs to search all objects in zone 12, 13, 19 and 20.
    3. The orange circle at dragonclaw hits 1 zone. The first call needs only to search all objects in zone 4.

    I know, these circles are much much larger as normal AoE... But i can show you what i mean.

    2 Points i will explain:
    1. On this map is a large battle with hundrets players at Nickels. In zones 21 and 22 are lags. In Farragut and Dragonclaw are no lags, because there are not so large battles.
    2. The call of an AoE effect from a player in Nickels not needs to check if a player or "deer" in Farragut is in range of that radius. Or the call of a Templer ability in Dragonclaw not need to check for all objects in Cyrodiil in a 28m radius.


    @ZOS_BrianWheeler i hope you understand me. One question at least. Did you discussed about these technique? What is your opinion on this?
    Guild

    Gildenleiter von Lux Dei (EU/AD). Offizieller Gildenspotlight für ESOTU!
    Guild leader of Lux Dei (EU/AD). Official Guild Spotlight for ESOTU!

    Addons & Guides

    ESOUI Author Portal: Taonnor
    Addons: Taos AP Session, Taos Group Tools

    Myth AoE Cap: DE Mythos AoE Cap // EN Myth AoE Cap

    What should i change in ESO: DE [DGR] Was würde ich an ESO verändern - "Der große Rundumschlag" // EN [TWS] What should i change in ESO – „The sweeping statement“

    Charakters

    Taonnor Annare, Sorcerer
    Thao Annare, Nightblade
  • Elsonso
    Elsonso
    ✭✭✭✭✭
    ✭✭✭✭✭
    Bashev wrote: »
    @ZOS_BrianWheeler what happened with Paul Sage's post about spliting up in Cyrodiil?


    @ZOS_BrianWheeler if what you say is true and a fight in Galdemist can affect performance in Bloodmayne do you plan to divide the keeps with some gates as in IC districts? It will break the immersion but who from the pvp players care for the immersion. We just want lag free server.

    Sage and Wheeler are talking about different things.

    Sage is talking about performance due to server impacts in the immediate area occupied by the character. In this sense, spreading out reduces lag because there are fewer characters in the immediate area that they server needs to worry about. This is what Wheeler was talking about with the earlier example where they are optimizing the lists of people that AoE skills target. This is to handle a lot of people in the immediate vicinity better.

    What Wheeler is talking about with zones is a wider issue where the server is processing everyone who is in that Campaign, not just the people in the immediate vicinity. So, if the server gets bogged down due to players in one part of the zone, it causes lag for everyone because the server is busy with those players and does not have enough time for everyone else. It works this way because everyone in a Campaign is on the same server. Breaking Cyrodiil into smaller zones, as that screen shot floating around suggests, would only work for this sort of lag if the Campaign was spread across multiple servers. If they are not doing this already, it is not a simple request.
    ESO Plus: No
    PC NA/EU: @Elsonso
    XBox EU/NA: @ElsonsoJannus
    X/Twitter: ElsonsoJannus
  • Orpheaus
    Orpheaus
    ✭✭✭
    [/quote]

    Hi,

    now you got me. This is my element. :smile: I addressed this point in my thread Myth AoE Cap. I called it "Cyrodiil Zone Splitting". This principe is like indexing from databases. The main goal of that zone splitting is to reduce the possible list targets to search for an ability. This should be have a positive effect on your first step.

    Again, sry for my english. But i hope you understand me @ZOS_BrianWheeler .

    Every object in cyrodiil, which can be hit by your ability (In your case the closest friendly target in 2463m area) have an additional item "zoneIndex". Now you need 2 calls. First you need to know, which zones your ability hit. In best case 1 zone in worst case 4 zones. Second, you use your call on all potential objects in the affected zones, instead off in complete Cyrodiil. Now you have a much much shorter list, instead of you search on complete cyrodiil.

    The second architecture trick now you can do is to give every "Zone" in Cyrodiil his own server ressources, like own "instances". I think this is the longer implementation step, but that should be end in better performance in the not affected zones. For example there is a large fight in Chalmann and a smaller one in Alessia. Each keep zone have its own server ressources, so you have no lags in Alessia and a bit more lags in Chalmann. At the moment the entire Cyrodiil instance is affected by large fights in one corner, so an entire campaign is unplayable.

    In DAoC they did this trick too, but there was one little disadvantage in vanilla DAoC. Every time you hit a zone border you had a little lag spike like a stutter. With New Frontiers there was no stuttering on zone change. So it is possible.

    To illustrate what i mean i have made a little picture. In PAINT! :smiley:

    UVeNORy.jpg

    I have created 3 examples.

    1. The yellow circle at nickels hits 2 zones. So the first call needs only to search all objects in zone 21 and 22.
    2. The green circle at farragut hits 4 zones. The first call needs to search all objects in zone 12, 13, 19 and 20.
    3. The orange circle at dragonclaw hits 1 zone. The first call needs only to search all objects in zone 4.

    I know, these circles are much much larger as normal AoE... But i can show you what i mean.

    2 Points i will explain:
    1. On this map is a large battle with hundrets players at Nickels. In zones 21 and 22 are lags. In Farragut and Dragonclaw are no lags, because there are not so large battles.
    2. The call of an AoE effect from a player in Nickels not needs to check if a player or "deer" in Farragut is in range of that radius. Or the call of a Templer ability in Dragonclaw not need to check for all objects in Cyrodiil in a 28m radius.


    @ZOS_BrianWheeler i hope you understand me. One question at least. Did you discussed about these technique? What is your opinion on this?[/quote]

    I have played a few games with zoning and while it theoretically seems better. It can often lead to massive lag spikes on zone lines as well as straight up crashes when trying to enter a zone where there's a large number of players fighting. I'm sure this CAN be avoided but I would be cautious about implementing this
  • Alcast
    Alcast
    Class Representative
    No ETA
    No Silver Bullet
    https://alcasthq.com - Alcasthq.com Builds & Guides
    https://eso-hub.com - ESO-Hub.com Sets, Skills, Guides & News
    https://dwemerautomaton.com - Discord, Telegram & Twitch Command Bot



  • Ichnaea
    Ichnaea
    ✭✭✭✭
    We have been making incrimental changes to how the server handles abilities and items in combat as well as adjusting some back end work regarding how abilities prioritize their targets. The bulk of these changes will be coming in the next major update.

    How about instead of paying for this garbage:

    http://youtube.com/watch?v=aYQLhqooh0E
    http://youtube.com/watch?v=e28x79kpmMI

    You fix cyro now...and not with the next DLC. I'm sorry but people can't wait any longer. I've already given up.
    Edited by Ichnaea on 7 April 2016 21:38
    AD
    Mishi - V16 Wood Elf Nightblade
    Zach Vane - V16 Imperial Nightblade
    Clara Bonny - V16 Breton Templar
    Sherman Bradley - V16 Imperial Templar
    One Knight Standard - V16 Imperial Dragonknight
    Unemployed Merlin - V16 High Elf Sorcerer
    Ice Hinged Mice Elf - V16 Dunmer Dragonknight
Sign In or Register to comment.