Tom Ellis on WoW Classic Recent Patches
Senior Game Producer Tom Ellis shared on Twitter why Classic needs regular code merges even when there is no content: These patches bring Classic closer to Mainline to avoid code rot and long term stability issues; although odd new bugs can still surface!
Originally Posted by Tom Ellis
What is going on with these Classic patches with no content, but new bugs? Fair question, without seeing under the hood this probably seems like madness. Let me shed a little light.

Classic sucks. Aight, wait for that to get screenshotted, and lets move on! Classic sucks to deal with from a Live Ops/Server/Code point of view, because Classic is by design an "older" version of the game its not under constant development and doesn't receive a constant feed of update patches, it often sits around for long periods of time, while it's doing that it's code is getting *old*. We would frequently run into issues where Classic versions of the game would hit crashes and bugs that we had fixed in Mainline long ago. When things would go wrong in Classic, engineers would have to travel back in time to re-read how the old code was doing things vs the new hotness they were used to working with and debugging more often.

The way to fix this, is by having Classic flavours of WoW in the merge chain so if we fix code in mainline, it gets merged and fixed in Classic. We've been careful and gun-shy around this because well, there's a whole crap ton of Wow flavours around these days and a lot of code going in everywhere, we don't want to constantly be having to re-QA the entire game constantly just in case something merged into Mainline broke something in a Classic flavor. But, that leads to the above mentioned code rot, so as part of a deal that Server & Live Ops made with the Classic team, we're pushing them to more frequently "suck in" new code and get them back in parity with Mainline so that we're not constantly juggling 2, 3 or 4 different versions of our codebase on Live.

The side effect for you is you're going to see more of these content-empty patches and sometimes (but hopefully not too much!) these odd bugs to appear that are the result of some new merged code not playing nicely with some Classic content. We're going to get better at this whole process the more we do it and Classic QA will get better and better at finding the things we missed, and Engineering will get better about not setting Classic up the bomb as our versions get more closely aligned.

But yep, if you wondered why we keep patching things for no reason, heres our reason!



World of Warcraft Extended Maintenance - November 4, 2025
Blizzard has announced an extended maintenance for all World of Warcraft game versions, lasting approximately 8 hours from 7:00 AM PT until 3:00 PM PT. European realms will also have an 8-hour maintenance on Wednesday, from 3:00 AM CET until 11:00 AM CET.

This article was originally published in forum thread: Tom Ellis on WoW Classic Recent Patches, World of Warcraft Extended Maintenance started by Lumy View original post
Comments 20 Comments
  1. Unforgivenn's Avatar
    Oh boy. 8 hours maintenance. Why? Getting reaey for beta?


    Hope they dont extend it too much
  1. Stickiler's Avatar
    Quote Originally Posted by Unforgivenn View Post
    Oh boy. 8 hours maintenance. Why? Getting reaey for beta?


    Hope they dont extend it too much
    Also releasing a new phase of Legion Remix, which usually involves a longer maintenance.
  1. heerobya's Avatar
    Love the tech explanation, makes a lot of sense (if you know anything about game and software dev that is)
  1. Flaks's Avatar
    Sounds like a lot of words to say you fired all your QA and now are getting the fruits of your labor Tom Ellis.
  1. Redwyrm's Avatar
    More like Blizzard was trying to avoid reinventing the wheel when it came to Classic. So instead of building the code from the ground up and doing to "right", they took the old code and have been placing band aids as things broke. I can see both sides to this approach.

    Classic is a busted old bicycle that worked fine as a busted old bicycle. But once you start tinkering around with it the spokes are going start coming off.
  1. ceheci7742's Avatar
    nevertheless Blizzard devs managed to patch out the world pvp on Timeless Island and all upcoming fun associated with it

    > if you know anything about game and software dev that is

    I bet Blizzard classic devs are doing as little work as possible below the bare minimum, and were dragging their feet on this codebase merge and delaying until the whole thing falled apart, meantime all this work is presented to Microsoft as a hard engineering effort and paid accordingly $$$$$$

    and our subscriptions for months in advance cover up their every F of theirs starting with disastrous MoP launch
  1. Relapses's Avatar
    Quote Originally Posted by Redwyrm View Post
    More like Blizzard was trying to avoid reinventing the wheel when it came to Classic. So instead of building the code from the ground up and doing to "right", they took the old code and have been placing band aids as things broke. I can see both sides to this approach.

    Classic is a busted old bicycle that worked fine as a busted old bicycle. But once you start tinkering around with it the spokes are going start coming off.
    Rebuilding Classic WoW from the ground up was never on the table. It was always going the emulation route. The breakthrough which made it possible was Blizzard figuring out how to get the game emulated on a somewhat modern Legion fork of the game's main code.
  1. Schintus's Avatar
    As someone who maintains an older codebase for a PaaS, I know what they mean by code rot. It's not easy, because the new code could've been 95% different than the old code.
  1. vian's Avatar
    Quote Originally Posted by Relapses View Post
    Rebuilding Classic WoW from the ground up was never on the table. It was always going the emulation route. The breakthrough which made it possible was Blizzard figuring out how to get the game emulated on a somewhat modern Legion fork of the game's main code.
    Im curious where you got that information.
  1. Relapses's Avatar
    Quote Originally Posted by vian View Post
    Im curious where you got that information.
    J. Allen Brack himself from a 2017 interview where he talked about why they decided to do Classic when they did.

    Article here: https://www.pcgamer.com/this-is-how-...a-wow-servers/

    Specifically: "We think we have a way to run the Classic servers on the modern technical infrastructure," Brack says. "The infrastructure is how we spin up instances and continents, how the database works. It’s those core fundamental pieces, and running two MMOs of that size is a daunting problem. But now we think we have a way to have the old WoW version work on the modern infrastructure and feel really good."
  1. vian's Avatar
    Quote Originally Posted by Relapses View Post
    J. Allen Brack himself from a 2017 interview where he talked about why they decided to do Classic when they did.

    Article here: https://www.pcgamer.com/this-is-how-...a-wow-servers/
    Oh I remember that one!
    Always thought he was talking out of his ass though, as usual.
    Sure don't miss that guy.
  1. Nussa's Avatar
    That code excuse is actually infuriating to me.
    So basically the new generation of developer is so humbummed in his hothouse that if we has to work his ass off a little extra without the supporting CI/CD pipeline crap that's everywhere he's got to be looked out for instead of the customer? Give me a break.
    Hire more people for fucks sake and make the product good, not the dev life super smooth. I'm going to be honest when I say this. I despise these people. I know how they are, I know how they work, I know what it looks like, because I'm adjacent to it in my own damn worklife and it's infuriating to see how little they really need to do, and how much they get paid for doing it.
    The reality is, in a team of 10, there's often 2 good people who are indeed worth the effort of doing all this for but the other 8 are shitheads who deserve nothing but a fire under their ass to get them moving and working harder.
    And it's barely ever about the code automation stuff. Just pure lazyness and not knowing how to actually program stuff without a thousand stupid libraries included.

    My /2cents.
  1. Yrelen's Avatar
    Quote Originally Posted by Nussa View Post
    Just pure lazyness and not knowing how to actually program stuff without a thousand stupid libraries included.

    My /2cents.
    Yep. I work at a small IT company. We are making software and hardware for CNC machining. For example, creating machines that make drones that can fertilize, spray, and harvest the fields without human interaction.

    80% of developers are just a bloat at most of the IT companies. I think it is partly the fault of universities.
    Too many languages, too many systems, and too many overlapping standards for no reason, along with an insane amount of paperwork for "reporting, documenting".
    But most of all, people who hire developers are part of the lazy, unqualified developers or not even developers...
    The peak performers are working in security and at banks. Talented people will be grabbed after a few semesters. The leftovers are what these companies get.
  1. Biomega's Avatar
    Quote Originally Posted by Nussa View Post
    Hire more people for fucks sake and make the product good, not the dev life super smooth.
    That's not how businesses work, though. They don't just spend money for reasons like that, they spend money because they think it'll make them more money at some point (the details and time frame depending on the specific context).

    We don't know the specific numbers involved. It may well have been economically more beneficial to not hire more people but delay the product instead. Just like it's often more beneficial to squeeze your existing employees rather than hire more people, even if it means three people in the community quit and you maybe settle a lawsuit with someone for a $15,000 nuisance payout. Which is about where the consequences of this usually fall, i.e. fuck all.

    Quote Originally Posted by Nussa View Post
    I'm going to be honest when I say this. I despise these people. I know how they are, I know how they work, I know what it looks like, because I'm adjacent to it in my own damn worklife and it's infuriating to see how little they really need to do, and how much they get paid for doing it.
    I believe you, and I'm sure Blizzard is a rotten corporate abomination from top to bottom, but that's just reality in that kind of industry and not specific to Blizzard. It's not like there aren't exceptions to this, of course, but by and large most/almost all big AAA devs and publishers work kind of like that. Insane inefficiencies, ridiculous workloads, "competitive salaries" meaning "your food competes with your rent", all that. And of course some stuff from the other side, people gaming the corpo life to slack off etc. It sucks, but it's reality.
  1. PenguinChan's Avatar
    MMO-Champ immediately jumping to conclusions and forgetting Blizzard is a corporation will never not fucking amuse me. They set it up this way because it's far cheaper to integrate things into a modern infrastructure that requires a lot less maintenance work due to running on the same backends. Jeez, I wonder why they did this vs running an entirely older separate branch of the engine and backends.

    Hmm.
  1. Futuredanish's Avatar
    When Blizzard gets rid of QA, the players become the QA
  1. zenocide's Avatar
    Quote Originally Posted by Nussa View Post
    That code excuse is actually infuriating to me.
    So basically the new generation of developer is so humbummed in his hothouse that if we has to work his ass off a little extra without the supporting CI/CD pipeline crap that's everywhere he's got to be looked out for instead of the customer? Give me a break.
    Hire more people for fucks sake and make the product good, not the dev life super smooth. I'm going to be honest when I say this. I despise these people. I know how they are, I know how they work, I know what it looks like, because I'm adjacent to it in my own damn worklife and it's infuriating to see how little they really need to do, and how much they get paid for doing it.
    The reality is, in a team of 10, there's often 2 good people who are indeed worth the effort of doing all this for but the other 8 are shitheads who deserve nothing but a fire under their ass to get them moving and working harder.
    And it's barely ever about the code automation stuff. Just pure lazyness and not knowing how to actually program stuff without a thousand stupid libraries included.

    My /2cents.
    You clearly never had to deal with legacy code in a modern infrastructure...
    Honestly Classic shouldn't have existed.. But it's known WoW gamer base is a whiny bunch.
  1. furydeath's Avatar
    Maybe if they had more than one person working on it and not everyone on the China server
  1. vincink's Avatar
    Quote Originally Posted by Nussa View Post
    That code excuse is actually infuriating to me.
    So basically the new generation of developer is so humbummed in his hothouse that if we has to work his ass off a little extra without the supporting CI/CD pipeline crap that's everywhere he's got to be looked out for instead of the customer? Give me a break.
    Having worked in software development for decades, this is truly disappointing to read. Software isn't like a light switch, with only a few components. Software is like a metropolis-- a huge city with many systems, sub-systems, sub-sub-systems, etc, that no single developer can fully understand end to end. Working with one version of software whose complexity is equivalent to a metropolis is impossible; having two separate versions of the same software increases in the complexity of the entire product not linearly but exponentially. Now imagine a "new generation of developer" trying to understand the exponential complexity of two separate versions of the same software. Most software worth its weight in gold builds a library of knowledge over its life that is equivalent to the sum of all of Oxford's libraries.

    You're asking developers to become gods when you say this, much as you might pretend you're not saying this.

    Quote Originally Posted by Nussa View Post
    Hire more people for fucks sake and make the product good, not the dev life super smooth. I'm going to be honest when I say this. I despise these people. I know how they are, I know how they work, I know what it looks like, because I'm adjacent to it in my own damn worklife and it's infuriating to see how little they really need to do, and how much they get paid for doing it.
    More people exponentially increases the communication channels. Humans are terrible at communicating information. Adding another person may theoretically create a "bigger bucket" to hold more water, but it also adds more holes to said bucket. Information leaks rapidly in human communication and is subsequently lost. Do you use SharePoint at your place of employment? Or some equivalent knowledge repository? Microsoft intended that to be the solution for leaky and lost information. What it's turned into is a black hole. Even with AI agents that cull through it, the context of the original information is gone. No AI can restore that, and context is what brings value to information. Not the information itself.

    Quote Originally Posted by Nussa View Post
    The reality is, in a team of 10, there's often 2 good people who are indeed worth the effort of doing all this for but the other 8 are shitheads who deserve nothing but a fire under their ass to get them moving and working harder.
    And it's barely ever about the code automation stuff. Just pure lazyness and not knowing how to actually program stuff without a thousand stupid libraries included.

    My /2cents.
    Hiring skilled people in bulk and expecting a 100% increase in productivity is foolish and is the mistake there in that scenario. Sounds like whoever demanded more labor did not have work ready for three-quarters of the hired labor force. The best decision there is to keep the 2, fire the 8, hire 3 young, motivated developers as apprentices and train them up over the course of a few years so that they become a solid experts. Repeat. Apprenticing is the best model we have for transferring information, wisdom, and skills. Have a look at Canada's civil engineering history from roughly the late 1960s to 2020 to see how eliminating apprenticing nearly cost the entire nation of Canada its electrical grid. It's a great and humbling lesson in how to ensure knowledge, wisdom, and skill is sustained and increased over generations, and how to hire the right amount of people and keep them motivated (i.e., stave off laziness).

    Quote Originally Posted by Futuredanish View Post
    When Blizzard gets rid of QA, the players become the QA
    I'll let you in on a secret: since computer systems first appeared in the 1930s, the user has always been a tester. It cannot be any other way. Whoever uses software (or hardware, for that matter) is exercising it, and based on the user's unique input they are effectively testing the software, even if that's not their intent or desire. The QA department is simply a bunch of testers with some specialized skills and tools for testing software. And they have never been charged with the mission to find every possible defect in software. That is impossible.
  1. Nussa's Avatar
    Quote Originally Posted by vincink View Post
    Having worked in software development for decades, this is truly disappointing to read. Software isn't like a light switch, with only a few components. Software is like a metropolis-- a huge city with many systems, sub-systems, sub-sub-systems, etc, that no single developer can fully understand end to end. Working with one version of software whose complexity is equivalent to a metropolis is impossible; having two separate versions of the same software increases in the complexity of the entire product not linearly but exponentially. Now imagine a "new generation of developer" trying to understand the exponential complexity of two separate versions of the same software. Most software worth its weight in gold builds a library of knowledge over its life that is equivalent to the sum of all of Oxford's libraries.

    You're asking developers to become gods when you say this, much as you might pretend you're not saying this.


    More people exponentially increases the communication channels. Humans are terrible at communicating information. Adding another person may theoretically create a "bigger bucket" to hold more water, but it also adds more holes to said bucket. Information leaks rapidly in human communication and is subsequently lost. Do you use SharePoint at your place of employment? Or some equivalent knowledge repository? Microsoft intended that to be the solution for leaky and lost information. What it's turned into is a black hole. Even with AI agents that cull through it, the context of the original information is gone. No AI can restore that, and context is what brings value to information. Not the information itself.


    Hiring skilled people in bulk and expecting a 100% increase in productivity is foolish and is the mistake there in that scenario. Sounds like whoever demanded more labor did not have work ready for three-quarters of the hired labor force. The best decision there is to keep the 2, fire the 8, hire 3 young, motivated developers as apprentices and train them up over the course of a few years so that they become a solid experts. Repeat. Apprenticing is the best model we have for transferring information, wisdom, and skills. Have a look at Canada's civil engineering history from roughly the late 1960s to 2020 to see how eliminating apprenticing nearly cost the entire nation of Canada its electrical grid. It's a great and humbling lesson in how to ensure knowledge, wisdom, and skill is sustained and increased over generations, and how to hire the right amount of people and keep them motivated (i.e., stave off laziness).


    I'll let you in on a secret: since computer systems first appeared in the 1930s, the user has always been a tester. It cannot be any other way. Whoever uses software (or hardware, for that matter) is exercising it, and based on the user's unique input they are effectively testing the software, even if that's not their intent or desire. The QA department is simply a bunch of testers with some specialized skills and tools for testing software. And they have never been charged with the mission to find every possible defect in software. That is impossible.
    This is very fair and appreciated criticism to what I posted earlier.
    I thank you for it.

    I was in a place of anger at the time of writing my original post.

    My infuriating bit was more intended towards the software bloat found in most if not all software projects. I particularly hate the amount of garbage introduced into systems by people who don't really know what they are doing. That was the gist.
    Point being, specifically the introduction of libraries in codebases that DO NOT need said libraries but instead could use 2 or 3 functions written from scratch and made as an importable module specific to the project instead of importing entire frameworks and introducing problems that would've not existed at all had it not been done.

    I listen to Primeagen a lot and he has also brought up examples of code pieces where size mattered for example and after having written the small bits of code that was really needed to achieve something, watch an apprentice or some newbie bring back the entire external framework because he didn't understand or was lazy or just stupid/whatever to get the same functionality. Usually cuz hurr durr google or some other twat was using it. Yes, I know internal communication problems may be a factor here but are they really? When you look at the code and see some function called that isn't in your library, wouldn't you be interested to know where it's coming from?
    But no, he needs it fast and in comes the whole library again... This is the part that infuriates me and makes me angry at the developers..
    And that example from my POV is pervasive, it's everywhere.

    And then the bit of catering to this folk is another angrying matter.

Site Navigation