Jump to content
FORUMS
Sign in to follow this  
Starym

Ahn'Qiraj Stress Test Developer In-depth Comments, New Stress Test

Recommended Posts

50219-ahnqiraj-stress-test-shenanigans-g
 

We have some comments from the Classic devs on how the stress test for the opening of the Ahn'Qiraj gates went and what they learned from it. First and foremost they are very thankful for all the support the testers gave and noted that the experience was very much like the gate openings back in Vanilla. There's a lot of improvement to be done, especially with game code optimizations to handle so many players in the same area. They go into a lot more detail below, so definitely give it a read.

We also found out that there's another stress test scheduled for Thursday, June 25th, so if you want to see some crazy stuff like the gargantuan Lethon and all manner of bosses running around Silithus, you should probably mark the date.

Blizzard LogoStress Test Details (source)

Hey Everybody!

I want to personally thank everyone who came out to help with our stress test yesterday. We had the whole WoW Classic team in there, and we really enjoyed our interactions with all of you.

Here are a few more details about the test.

What we saw

A lot of people asked during the test if performance is going to be that bad in the live game, while some joked that they thought it was ready, and we should ship it. Or maybe they weren’t joking? After all, the experience in our stress test yesterday was pretty similar to the original AQ gate opening in 2006. We had a ton of lag, some server crashes, and when players gave up and the population dwindled, the event finally completed. We are planning to do better than that, but we won’t be able to eliminate the lag entirely.

I especially want to thank all of the players who were stuck at the end of flight paths, because we found and fixed the issue with that. As with many issues, once we found the root cause it was easy to fix and turned out to be contributing to other problems, too. So to all of you who saw a geometry salad at the end of your flight: thank you; you made this better for everybody.

If you hung around until about 5:00 p.m. PDT, our test conditions changed to a point where the lag you were seeing was close to what we expect to see in the live game. We have no choice but to make a trade-off between server lag and population density. The more people, the more lag, and eventually, with too many players in the same area, the lag gets so bad that the server thinks it’s deadlocked (a fancy computer science word for “stuck and can’t recover”), and it restarts.

A restart because the server thinks it’s deadlocked is a crash, but it presents a special challenge. Other kinds of crashes happen when a program is trying to do something really bad, so we find the bad thing, and fix it, and that’s it. Deadlocks are more challenging because there’s no single problem, just a lot of jobs getting further and further behind. There are still improvements that we can make to address this.

Population density

Our first problem is one of exponential scaling. Imagine a Blizzard that hits 10 players, which applies an aura to each of them, slowing their movement (you talented Improved Blizzard for the slow, right?). For each player that gets the slow aura, we also have to send a message to all nearby players to notify them that the aura was applied. That means a total of 100 messages. 10 affected players sending 10 messages each (one to the person who cast Blizzard, and nine to the other players affected by the Blizzard.

If there are 20 players present for the Blizzard to hit, that’s four times as many messages. If it hits 40 players, that’s 1600 messages. Doubling the players multiplies the work by four. Going from 10 players in an area to 100 players in an area takes us from 100 messages to 10,000 messages for that one spell. We already have powerful hardware in place, so this is a matter of understanding how many players we can support without deadlocking, which was a big goal for the stress test, and we got some very good data because of how many of you joined us.

Optimizing code

This is something we’ve been doing since 2004, and over the last few months we’ve been optimizing code with this specific event in mind. Here are some recent examples.

First, let’s consider the slow aura. What if we didn’t send all the aura update messages immediately? If you hit 100 people with Blizzard, do you really need to know at that exact second that each one of them has the slowing aura applied to them? The server knows right away, of course, so the aura has its effect, and is slowing their movement, but if you didn’t see the aura on them for a second or two, would that be okay? If it means the server doesn’t crash, our answer is yes, so we allowed the aura messages to be delayed. This also has an additional benefit, because if another aura update occurs while this first is waiting to be sent, we can combine those messages and send fewer messages overall. That results in fewer packets on the wire, and less work for the server.

Another code optimization we tested yesterday had to do with facing. That’s a piece of information about which direction each player is pointed. What if we slow or stop updating facing messages once the population reaches a certain threshold? It turns out that the cost is small: players appear to pop around a bit when moving. When an area is overcrowded, players already pop around a bit while moving, so this can be a huge performance win that has no visible effect. In fact, I think I saw players popping around less severely with this optimization than I would have seen if it wasn’t present.

We also improved the performance of deciding who to send messages to. When thousands of players gather in an area, merely deciding who needs to know about your aura updates and which direction you’re moving is a lot of work, so we improved that as well.

Moving players

Once we’ve addressed the previous issues, we have to consider this. When AQ first opened in 2006, we had GMs manually teleporting people out of the zone to allow the event to progress. Later, designers built automatic systems to teleport players out. Today, we have automatic teleports that perform very well, and we use them to control the zone so that it caps at a number of players that we think is still playable. Silithus will definitely be laggy, but we’d rather teleport players out than have it crash.

This event spans a lot of southern Kalimdor, so being unable to get into Silithus doesn’t actually mean you missed the event. There are Anubisath and Silithid to kill in Tanaris, Thousand Needles, Ferelas, and The Barrens for the entire 10 hours following the ringing of the gong.

Once more

Yesterday’s test gave us a pretty good idea of what these limits should be, and how we recover from a crash, but we’d like to know more, so we’re going to set up for another test on Thursday, June 25, at the same time (3:00 p.m. PDT). We’ll try to complete it more quickly this time, since there should hopefully be less investigation, and fewer disruptions.

I hope to see you all there.


P.S. Lethon says he really enjoyed your spirits with a side of mushrooms.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Staff
      We have some details on difficulty tuning coming with this week's maintenance in Season of Discovery, with specific changes coming to individual Heat levels and bosses!
      Molten Core (Source)
      We’re working on a series of hotfixes to adjust Molten Core, and we don’t expect to get these changes implemented until some hours have passed after weekly maintenance tomorrow morning.
      Ragnaros no longer submerges twice on Heat 1. Baron Geddon now casts Armageddon at 5% on Heat 1 (was 10%). Baron Geddon now casts 2 Living Bombs at a time on Heat 2 (was 3 casts). Living Bomb no longer leaves Living Fallout pools on Heat 1. Flamewaker Protectors now cast Dominante Mind much less frequently. We’re maximized the cast and recast times of several dispel mechanics. We’ll let you know when these changes go live tomorrow afternoon.
    • By Staff
      Blizzard have announced there was an issue with non-boss mobs in Molten Core not having the correct immunities in the first few minutes of the raid's launch. A hotfix has been deployed, but players that entered the raid in that period can also resolve the issue by soft resetting the instance or switching Hear level. 
      Molten Core (Source)
      About 5 minutes after Molten Core opened, we deployed a hotfix to correct immunities on non-boss enemies. Players who zoned in during the first few minutes can expect to find boss adds that have unexpected immunities.
      If you wish to, a soft reset of the instance should result in the non-boss enemies spawning correctly. Also, quickly swapping to a different Heat level and back to your original Heat level at the Hydraxian NPC near the entrance will reset the boss add immunities without needing an instance reset.
      Thank you!
    • By Staff
      The new Molten Core and Onyxia's Lair are now live in SoD Phase 4! 
      (Source)
      It's time to put on your fire resist gear to face Onyxia in her lair and Ragnaros, the fire lord, in the Molten Core.
      World Bosses Now Live
      Experience Lord Kazzak and Azuregos as brand-new instanced versions of these encounters. These encounters can be experienced with up to 40 players but will be tuned as 20-player content, making them both pick-up-group-friendly with 40 players, but also giving players the option to maximize their rewards by attempting them with 20-players.
      Onyxia's Lair and Molten Core Now Live

      Experience Molten core as a 20-player dungeon with 10 classic bosses (+1,) revamped loot, redesigned Tier 1 sets, and more. Players will also be able to turn up the heat with a new variable difficulty mechanic allowing players to earn more rewards from undertaking a higher difficulty. Don’t forget your fire resist gear! You are going to need it. We’ll be adding one more surprise to this classic raid dungeon for intrepid adventurers to discover.
      Onyxia will also be adjusted to accommodate 40 or fewer players along with some additional loot adjustments.
      New Raid Lockout interval
      Raid lockouts for Season of Discovery Phase 4 raids will occur regularly once a week for Molten Core and two times a week on static reset days for Onyxia’s Lair, Lord Kazzak, and Azuregos. Players in North America will have their resets for these bosses on Tuesdays and Saturdays, in Europe, on Wednesdays and Sundays, and in Asia on Thursdays and Mondays.
      Gather your allies and go forth to battle!
    • By Staff
      Blizzard will be increasing the drop rate for Librams of Resilience in BRD and BRS, as well as Burning Essence rates from the Dark Coffer with a hotfix today. They also explained some of the fire resistance numbers found in today's Molten Core post, pointing out that those listed were fully buffed.
      (Source)
      We agree, actually. We are sending a hotfix very soon to add a chance for Librams of Resilence to drop from certain Blackrock Depths and Blackrock Spire bosses, and increase the liklihood you get Burning Essence from the Dark Coffer in Blackrock Depths. This should help make these items a bit more available, but still require the same process and ceremony to complete the arcanum.
      I want to also take this opportunity to also clarify that the fire resistance numbers listed in the blog post are fully buffed. So that ~100 fire resistance breakpoint for Blistering/Heat 2 only requires you to have ~40 unbuffed if you have a shaman or paladin in your group. For many classes that is a single item and the new +20 Fire Resist cloak enchant from Hydraxian Waterlords reputation. For Molten/Heat 3 you’ll need to do a bit more prep and that is intended, but as alluded in my previous post, Heat 2 should be very approachable for almost anyone.
    • By Staff
      Blizzard have detailed the changes coming to Molten Core in Phase 4 of Season of Discovery, from the new Heat mechanic to the new boss behind it (with no unique loot)! The raid opens tomorrow, July 25th, at 1 PM PDT/10 PM CET! 
      Molten Core (Source)
      The temperature rises with the release of Molten Core on 25 July, at 21:00 BST. Season of Discovery is presented with a unique challenge, as a new “Heat” mechanic is introduced in the Molten Core, which is not to be taken lightly.
      When you first zone into Molten Core, speak with a Hydraxian Waterlords NPC at the entrance to choose one of three different Heat levels—Sweltering, Blistering, or Molten—with an increase in difficulty at each level.
      If things get too hot to handle, you can swap Heat levels anytime. Simply speak with the NPC at the entrance to the Molten Core while not in combat. You will also have another opportunity to swap Heat level again with NPCs that spawn after using Aqual Quintessence to douse boss runes.
      Sweltering Heat – Level 1 The easiest of the three modes is designed to be approachable to almost all groups. Sweltering Heat is for those visiting the Molten Core who are less prepared to handle the Heat—fewer consumables, fewer fire resist buffs, etc. Blistering Heat – Level 2 A normal mode that requires more coordination and basic preparation. For those who have a moderate amount of consumables, enchants, buffs, nominal fire resistance, etc., Blistering Heat should be a breeze. Gear rewards for Blistering Heat are the same as Sweltering Heat, with an additional drop for most bosses. Recommended Fire Resistance: +96 or higher Molten Heat – Level 3 The Heat turns up in Molten Heat for skilled groups prepared to face the fire. The rewards for Molten Heat are the same as Blistering Heat, with a few additional items available from later in the Raid, along with unique weapon cosmetics. Recommended Fire Resistance: +226 or higher Can You Handle the Heat?
      With each heat level comes increased difficulty with additional mechanics, damage, and an increased requirement for “fire resistance.” In original World of Warcraft, Resistance was often an inconsistent statistic. Sometimes, you would fully resist all damage; sometimes, you would resist none, even with the maximum fire resistance being worn. Resistances still work this way; however, once you get to Blistering Heat or Molten Heat, those difficulties will require a certain amount of fire resistance to progress consistently, and the required amount will increase between Blistering and Molten Heat levels. This is an additional layer to the usual “have some resist gear and hope it saves your healers some mana” mechanic from the original WoW. Some mechanics could leave you burnt to a crisp if you don't meet the required Fire Resistance requirements.
      We point this out because the need for resistance and resistance fights has long been contentious in World of Warcraft. While it’s an iconic part of WoW, it’s easy to see in hindsight that it’s not always a great feeling to be incentivized to NOT wear your best gear for appropriate fights. We recognize this, and that’s part of why we felt it important to explain the intended design of this mechanic. One of the most fun and iconic things about Classic is preparation (or, at times, over-preparation) for challenges, and the base game heavily rewards players for that preparation. We want to use fire resistance to play up that aspect of raid preparation and promote healthy and satisfying gear progression as you gear up within Molten Core.
      When you first enter the Molten Core and want to tackle Blistering or Molten Heat difficulty, you may need to wear sub-optimal pieces of gear simply to survive. Fairly quickly, however, more and more gear will drop in the raid that is optimal for you to be wearing, including tier sets, which you will notice all already have a certain amount of fire resistance. The idea here is that as you obtain items you want to wear, they convey much of the same benefit as the less powerful pieces of fire resistance you may have farmed or crafted before your first trips into Molten Core. The eventual goal of this gear progression is to allow you to succeed on the highest difficulty level primarily by using your tier set, appropriate group or raid buffs and consumables, and good group coordination.
      A New Boss Heats Things Up
      Lastly, the Molten Core raid will have an additional not-yet-known bonus boss. When Molten Core releases, this bonus boss will only be available for Molten Heat, requiring players to clear every boss before gaining access. This boss is an optional challenge that groups can work towards over time.
      We do not wish to gate exclusive rewards behind this challenging content. Because this boss will be tricky and require progression through the rest of Molten Core on the highest difficulty, the boss will NOT drop unique or exclusive loot. Instead, he will drop tier gear tokens and a chance at a few other exciting items, but all gear can be obtained elsewhere in the Molten Core.
      We hope to see a wide variety of groups attempt Molten Heat difficulty, have a satisfying progression, and not feel like they are missing out on exclusive power-impacting gear if they aren’t able to clear every boss on Molten Heat each week. Like many things in Season of Discovery, this is an experiment—we hope to use lessons we learn from this boss and the Heat system and apply those lessons to future Classic Raid tiers and potential future content.
      We hope this helps set the groundwork for what to expect going into the Molten Core and also helps illustrate our intentions for resistance fights and Raid difficulty with this raid tier. We want to emulate the feeling of gear progression from original WoW as much as possible, with the added benefit of more powerful, bespoke gear for a wider variety of playstyles within each class.
      We look forward to seeing you beat the heat in Molten Core and Onyxia!
×
×
  • Create New...