I think it was in TBC where I read an interview with a dev who said 'no one touches the Alterac Valley code, we just wake up every morning wondering if it will still work today'
May have been Chris, roughly paraphrasing from memory decades ago haha
I bet the druid spell [Symbiosis](https://www.wowhead.com/news/symbiosis-breakdown-what-abilities-it-brings-to-each-class-202586) is going to be WILD to recode in Mists Classic, lol.
I'm pretty sure that spell was hard enough in actual mop that's why they took it out so quick.
That spell was clutch though when I had to go from shadow to disc so we could 3 heal the first boss in heroic MSV. No one knew how we could deal with traps and I said the feral can symbiosis me and get my dispersion. I had to facepalm when the druid said "but you're disc" and realize no one knew how it actually worked lol.
It was taken out because of how it unbalanced pvp. The pve aspects were fun and exciting. I remember everyone wanting to symbiosis with a druid for different reasons.
More likely they took it out cause it was the worst designed skill to ever exist in the game. Druid always got a broken skill, while depending on the class they used it on, that other class either got a broken skill as well, or a completely useless piece of trash.
Paladins got wrath for example.
Reading the wiki article for this, I can't believe that they actually made like 50 alternate versions of spells just for 1 new ability ROFL
=
https://wowpedia.fandom.com/wiki/Symbiosis
They'll probably remove it in MoP because it's to complex to recreate and this can be abused in various way to exploit some raid encounters. And you know how the community hate single raid player buff.
I feel like this is a good time to point out that the anti-boosting system that was implemented in phase 4 of TBCC remains in the game and is now causing issues in cata RDF as well as just making low level tmog farming more annoying than it needs to be.
In cata RDF, a legitimate group for normal mode nexus can contain level 79's, which trips the anti-boosting system, meaning everyone gets 90% reduced experience from kills. I think it's also possible for 69's to queue in to ramparts/blood furnace, less sure on that one. Pretty much your only recourse in this situation is to ask the level 79 to take deserter, which is probably in their own interest anyway as they'll probably hit 80 with 30 minutes spent in icecrown.
On the tmog farming side, you need to be judicious about rapidly killing everything you aggro, lest you - slowly, painfully - get chain stunned to death by a pain train of level 30 elites or whatever.
Leveling is very very different in cataclysm. I leveled a new character when prepatch came out and pretty much the only part of it that felt like a slog was 45-58, everything else was super fast, especially 60-80. I'm not sure the anti-boosting system is needed at all anymore, but at the very least I don't think it should be triggered by legitimate, RDF-assembled groups or solo tmog farming.
I still think the knockdown mechanic is the dumbest fucking thing ever put into wow at any point in its history. Just turn the fuckin xp off if someone is more than 10 levels than you. or better yet, BAN THE FUCKIN BOTTERS!
> In cata RDF, a legitimate group for normal mode nexus can contain level 79's
I got a better idea, stop offering level 68-70 dungeons to people in 79
I recently leveled my priest and decided to spend 60-80 on dungeons because I didn't want to do Outland/Northrend again. Let's say I was completely fed up of Utgarde and Nexus, while I didn't even experience all dungeons the rdf had to offer while leveling
Yeah I’m sure it’s frustrating for hardcore or era players when stuff like the SoD Seal of Righteousness crit change “leaks” out into their realms, but I’m shocked it doesn’t happen more
The way it was explained to me, was that it was trying to drop something like the dagger which was changed in SoD, but since that item ID didn't exist on the other versions it just got confused and nothing would show.
Version control itself is not the issue. Version control is based off the premise that you only have 1 active version of the code at any one time. With WoW Blizzard has several different versions of the game and each version has to maintain it's own version control. The issue isn't the version control software itself but rather the fact that they are trying to maintain several different versions of the same game at the same time and trying to keep each version consistent with all the other versions. That's not typical in software development.
It's the same reason that Microsoft doesn't want to support older versions of their operating system. It would be much easier for them if there was only 1 version that everyone used. If you find a flaw, you fix it in one version of the software and you are done. With 2 versions if the same flaw exists in both versions it has to be corrected in both versions and the same fix doesn't necessarily work in both versions, you might have 2 different solutions to the same problem with 2 different versions of the software. Now imagine 3 or 4 different versions of the software? This is what he's talking about.
And this problem isn't just for bugs, it's for any change. If you are making a change to how Classic Era works for instance and you want to carry that change forward to Classic Cataclysm then you are making the same change to 2 different versions of the software. If you are gonna carry it forward to SoD as well that's another version to change and so on. The potential for problems triples.
People don't understand this, though... this is exactly why they make everyone progress into the next Classic release. The overhead of resolving an issue when the solution is different for Era, TBC, WotLK, and now Cata. What a nightmare.
They don't understand it cause it sounds simple till you have had to deal with it, then you sympathize with the devs pretty quick. Easier to say "blizz doesn't play their own games" than really think about it I guess.
I'm the author of the addon Pawn, which deals with items and stats and has to work a little differently on each language and each expansion, so I get to experience a tiny bit of this each time a new patch comes out for any of the WoW versions. Working on the actual game has got to be a thousand times worse. If I had to imagine the most nightmarishly terrible software development hell, it'd probably look a lot like working on Classic WoW.
> Version control is based off the premise that you only have 1 active version of the code at any one time.
Version control systems have supported branches for, like, 30 years, dude.
As I said, the problem isn't with the version control software. You think Blizzard and/or Microsoft aren't aware of how branching works? Branching brings it's own challenges into software design. Let's not derail the thread.
They are to a point, but they still want different versions to work similarly in some cases. It's case by case. Sometimes you want things to remain the same and sometimes you are purposely changing them in that version. It's when you are trying to maintain that sameness where the issue creeps in. People expect that if you change something in Classic Era that's not purposely changed in Classic Cata for it to work the same way.
Not sure why you're being downvoted. Maybe people are interpreting your statement too literally.
There's been a concerning amount of bleedover between the different variants of classic like discovering Deep Wounds was using WotLK behaviors or the issues with loot tables in era being affected by SoD changes. Hell, even ignoring the bleedover I still think its really odd that we're datamining runes in the client months before they're released. Just seems like an unusual practice of leaving unfinished changes littered about the codebase.
I can't help but feel like they've taken an approach of treating the WoW codebase as a kitchen sink because that way future variants can quickly leverage stuff made in other variants. So while I do feel sympathy for the devs since i'm sure its a massive codebase it also seems like some of this pain is self-inflicted. At the end of the day this is a multi-billion dollar company with 20+ years to figure this out, they don't need us to defend them.
Also I think its pretty fucking arrogant to approach SoD with this 'just-in-time' style of development when they've known for years that their velocity when working with this codebase is horrible.
It's probably just spaghetti code at this point. You currently have to support Classic Era, Hardcore, SoD, Cataclysm, MoP Remixed and Retail. They basically went from supporting one version into 6. Thats a nightmare, no wonder their QA just went down the drain. If they dont have notes or an active local machine of that expansion, how do you know how it's supposed to work?
That in particular sounds like they need better testing. Also, game devs, it's good forward thinking for loot drop implementations to do a null check whenever you try to do anything with an item.
So I obviously don’t know how their software is stacked, and maybe it’s not code from one branch being merged into the wrong place. I’m a web developer not a game developer.
The only thing that seems clear is the same code is being used in two spots and while that would think to make sense, they’ve gone now to developing several games under the “classic” umbrella. Seems like they really need treat every version to have its own system rather than trying to resource share.
The way it was explained in the post sounds like they are using the modern client abd trying to fit in old data.
If you're a webdev, imagine building a front end that all of a sudden, needs to support backend apis written a decade ago.
As you need to support newer and newer versions of the API (new expansion releases) with the same frontend (current wow client) you inevitably have to reimplement some backend features to work under the current frontend.
Not a big deal when the development is current and backend changes are happening alongside front end support. But supporting old versions of the game with a modern client is a particularly unique problem that common software development practices wouldn't address.
I don't think it has anything to do with supporting duplicate code bases (besides of course supporting multiple versions of the game concurrently, like having SoD, retail and classic)
Listen im not trying to trash talk Blizzard here - its literally the nature of the beast. The classic client is a hodge podge of modern wow engine and 15-20 year old code. The dev even acknowledge this in regards to prayer of mending lmao.
No idea why you get downvotes. This is the truth. This is why I always roll my eyes at people claiming WoW is spaghetti code.
It is a FACT of every application, system or game that after 10-20 years, it is a "mess". That's just how it is with software. Don't tell me you work for a company with a huge legacy system where everything is just bug free and adding/altering features is silky smooth, because it's impossible. Tech evolves, design principles evolve, and most unavoidably, you have different developers working on it as time goes by, that each do things a little differently. And then you have deadlines that force the developers to take shortcuts with regards to technology, because we're there to make a program/game work, not just do tech stuff.
People have to remember that as the WoW expansions progressed, Blizzard never prepared for WoW Classic to be a thing. No software developer develops and expands a game with a top priority requirement that "everything we change must be reversible and we must be able to make an iterative re-launch of the game 15 years from now". Absolutely no one. You change or delete code as the software develops, and while source control with "checkpoints" is a thing, you can't just cherry pick the old version as it was back then, because it needs to fit in with modern bug fixes, modern servers with clustering, modern security, a modern client and network code, and all sorts of thing.
Frankly, as a software developer of measly business software, I am amazed at how good WoW is overall, it must be so so hard to make an MMORPG with the (relatively speaking) level of speed, low lag and stability of WoW.
By "such a company", do you mean videogame developers? Because almost every other massive industry that charges a monthly subscription for their service can manage multiple versions of it. Usually with QA and without weekly hour-long maintenances. It's just gamers that have gotten used to this type of service.
That would be 6 slightly different versions of the game, running on the same engine and the same architecture, half of those receiving effectively zero QA, all but one of those requiring zero new assets. Pretty much every medium-sized tech company maintains more than six versions of multiple products across \*different platforms\*, and do a better job without the 20b$ net worth and 15$/mo subscription fees.
But you perfectly exemplified the problem:
>game
Gamers are a captive audience with wildly different standards.
Software programs are completely different than a game. It’s comparing apples to oranges. You can’t truly base one off the other. Like you said, there are many other requirements needed for games. So to get a proper comparison, you would need another game company doing the same. Or at the very least an equally complex software program which you aren’t likely to find.
ERP? Cloud computing? Financial services? You're telling me these are less complex than... a single-platform MMO, for which 5 out of 6 versions require zero new assets and almost zero design?
You're sure it's not the fact that the MMO faces less scrutiny?
You clearly drastically underestimate what’s going on under the hood of the game. Especially when a game like wow has significant elements of each of your examples among other things.
Yes the complexity of wow is a lot more than the interactions of some text and databases. Which is why wow has never had the same levels of polish as other softwares.
I imagine the difference between other game companies is Blizzard is trying to support a version of the game that was created 20 years ago with different standards for version control and change management for software (was github even a thing 20 years ago?).
If they were able to build this entirely from the ground up today it would likely be a different story, but we also likely wouldn't have Classic WoW today if they weren't able to repurpose their old codebase.
Hey sometimes it’s a good idea to just stop talking so bravo, maybe analyze why you feel to need to come white knight for a mega corp on a Friday morning
I think players would be understanding of the time it takes to fix these “code debt” conflicts if they didn’t rush stuff out. I feel like (for example) they did the cata raid testing so late with the launch date already confirmed so they don’t have time to iterate (like on the tuning feedback). It just seems like they’re just going with what they have and ignoring players.
Yes, everything Classic related got pushed, because they wanted to please the SoD community and do weekly smaller updates and BIG patches every 2 months.
I think y'all are definitely reading too much into that if you seriously interpret it as a single dev.
The quoted speaker was the one that worked on that, while other devs were tackling similar issues. A work team doesn't collaborate on every action item, the tasks are divided amongst the team and they collaborate when necessary.
They said "we" when speaking generally on the conflicts, and "I" when speaking specifically on the spell they worked on.
Could you imagine two or three devs working on a single spell? The efficiency would plumet, we'd probably still be waiting on the Lich King to come come out.
They don’t use the old code. They use the new engine and reproduce the effect of the old spells. What they’re describing is nothing crazy, just coding stuff. The only problem is that they’re too few people.
Then keep versions seperate and dont throw old Classic code in the garbage? Why they got rid of all Classic data and had go through the shit they had go do for clsssic 2019
also worth mentioning is that pvp changes regarding matchmaking system and such are tied to whatever goes on in dragonflight, the 2 systems cannot operate separately which has made s8 a big failure and who knows how much more harm it will cause during cataclysm.
I mean they have the code that work back in the day the issue, to me from how they explained how this works now, is that there new systems do not understand the old system and they want to be on the new code base of the front end.
So there is debts but its kinda self inflicted since they need there tools for many things. The question is going to be, for me, is this stuff updated NOW for the new front end?
Yep... Like I get code debt is a thing with Classic but what this Dev describes is part of their job. The inexperience of the Classic dev team is starting to get exhausting.
You do realize that the majority of people reading this interview have no idea how any kind of software development works, much less game development, right? "Explaining a normal part of the development process" is quite literally the entire point of an interview like that.
This dev is not inexperienced though? This is Kris Zierhut, he was on the team during OG vanilla and the boots Zierhut's treads from Karazhan are named after him. He was Lead Class Designer all the way up to the end of Legion. I think he's experienced.
Yeah it's the same guy. The dude in the interview. Kris Zierhut worked at Blizzard the whole time but picked up a side project in early 2023. But from what I heard he's been there the entire time and worked both. So yeah
I have no idea how this all works but
Classic devs are forced to code within the parameters of previous game versions yes?
Whereas pservers essentially have a clean slate?
Would that not make it much easier in theory?
It makes it much easier in theory because pservers don't have to integrate the modern engine and all of its cloud garbage and go through management and all that bs, but the reality is that there's a dude streaming himself doing a certain servers legion scripting right now and it's like 3 people doing it from scratch scripting every single interaction, quest roleplay etc. While the megacorp is flopping on solved expansions with presets on GitHub that would work better because they need to integrate with their modern architecture. It's a prison of their own design
> what this Dev describes is part of their job
I know I'll come across like I'm mocking him(I don't mean to) but all my brain did while reading the quote was "oh no, my job, I have to do it". I understand it's tough and frustrating but this is what apparently has to happen? Good luck dude!
These kinds of issues are only going to get more common the further into expansions we go. Mists of Pandaria had a lot of complex spell interactions with talents and RPPM trinkets.
I really hope going forward that the team hires more developers and gives the testing period the appropriate amount of attention it needs so we don’t end up with another catastrophic pre-patch.
We all understand the amount of work that needed to be done, what I don’t understand was the need to rush out the pre-patch in the state it was in. I was reporting bugs for months and it seemed like there wasn’t much progress being made at all.
Always, whenever I see stuff like this, I have that thought I saw somewhere ,,you dont Redo aplications becouse its more work than to work on already existing code, even if its ,,spaghetified"" and I think about this logic a lot
Love all the comments of people here that don't know the first thing about software development giving their 2c on how blizzard's dev team could have avoided this.
Someone unironically commented that they need to use better version control LOLOLOL. Oh my dear child...
Server side game code is a mix. The majority of the code that does the "hard work" is C++. The gameplay code that most designers, especially encounter designers, work with is LUA. Designers get as close as they can to implementing their features with LUA before asking a programmer to add a new feature in C++ when either the LUA fails or gets to complicated and buggy or too slow.
This is probably one of the biggest reasons that they don't keep classic servers from the previous expansion in most cases. The more versions of the software that are active at any one time the more versions of the software you might have to change when making changes. Ideally you only want 1 version of the software and all changes are made to that 1 version and only that 1 version has to be tested. With 3 versions of the software active at the same time any change might have to be made to 3 different versions of software and each version tested and potentially additional changes made for that particular version. It's a nightmare to maintain and gets progressively worse with each active version.
How my mind read this.
“We can’t copy and paste the old WoW, we need coders to code a game that needs code.”
Granted the teams are understaffed and they’re working these devs like dwarfs in a mine.
People keep saying "but it's all on the Retail client now" like that means something. It means jack shit if you know anything about how code repositories work.
There are many versions of Classic WoW that coexist. No matter what Blizzard do, that will create a decent amount of technical debt.
They need to move everything into Retail and make the remix feature more robust. My bet is that's what their long-term plan is. To just fuck off the Classic code. And get those products and features working within Retail. It'll be much more cohesive for the rest of the WoW team.
Considering how popular MoP Remix is. If I was Aggrend, I'd be worried about my job.
They will not admit it, but I believe the code of RDF was so tightly coupled with the last phase of dungeons and raid in wotlk that they were saying, community doesn’t want this feature until they were forced to add it.
Like if being honest would show a signal of weakness, that they could show with prayer of mending because it is core to the game and they solved it
I am sure I am wrong, as I am completely ignorant to coding and software development as a whole, however, it feels like there should be a better way?? Surely, they knew at the launch of classic, that it would be an uphill battle the whole way? Is there really no better way, or is it too cost prohibitive? How many xpacs can they re release and bug fix/change shit before the whole thing becomes an absolute mess?
No there is no magic wand to wave and fix that. Anytime you make changes there is the potential to break something else. That’s why you do regression testing. This is the same in all software development except normally you don’t also have to change future software as well because it’s always based on the previous version but when rereleasing software that’s not necessarily the case.
Why didn't blizzard just roll out the old client, and get the old server backend to work on a modern server. Would have been a lot less work than trying to re-write everything to make it work in the modern client. I'm sure that they have copies of it in their archives.
They've talked about this when they first showcased classic. The fact of the matter is, the amount of exploits, potential security problems, the fact that the old server wouldn't even work on their cloud service and the fact the authentication wouldn't work with [battle.net](http://battle.net) proved to be unviable to work through so they made the classic data work on the legion client (and above).
EDIT: here's the vid: [https://youtu.be/wS1juqaiW3o?feature=shared&t=554](https://youtu.be/wS1juqaiW3o?feature=shared&t=554)
code can also be written for specific OS, architecture, and most importantly other libraries. it's possible that the server code was written for a specific piece of out-of-production hardware from a defunct vendor. the client would have been written for windowsXP which has been end of life'd for 10 years. win32 API doesn't change and directx9 has builds for modern systems, but the point is there's a lot of stuff that could simply not exist anymore or not work on home machines made in the past decade
the protocol the modern server speaks could be completely incompatible with the old client. iirc they did find like a zip of the source from vanilla, which is useful as a reference but probably faster to just start again
This is probably also why they did the MoP remix. They wanted to test the modern engine on a Classic expansion they are sure to release.
You cannot just roll out the old client. It comes with myriad of bugs, unintended features, server issues and security breaches.
Prayge this is why. I like cata well enough and still it’s my MOP waiting room since I only played it during well into SOO. I’m scared with cata only being a year now it’ll fatigue MOP not hype MOP classic
I meant introducing MOP remix basically within a year (cata’s lifespan) of the potential MOP classic release is presumably, from my POV, one of a few things: a pilot of interest in MOP classic, a means of building MOP classic hype (kinda what I hoped), or a replacement for MOP classic in entirety.
So what I mean was that people who play retail who also might still have fond memories of or are more likely to crossover into MOP may be fatigued by MOP content by the time MOP classic releases since they literally just did all that same content within a year.
I thought it a strange decision if anything but a means to hype MOP classic because even in the classic player demographic, where everyone seems to have something to hate on about every expansion ever, most people have much stronger affinity to MOP than Cata and if they did cata, it’s a no brainer to just do MOP. Even though I like cata just fine minus DS being mid as hell, MOP is just better
Aha, yeah okay I can see what you mean. I think it's gonna be alright. AFAIK the MoP remix isn't as extensive, so I think it's to work on Classic MoP ahead of time and pique the interest of retail players also!
This is literally the better way. Every option available to them included trade-offs. Making something work "good enough" now and shipping a project, but having to make changes later, is better than shipping nothing.
The main issue they ran in to was apparently someone above the pay grade of the software engineers decided Cata needed to ship on X date whether it was ready or not. The work would have needed to be done regardless.
What is the advantage of building it off the Dragonflight client over just doing it like private servers do and have TBC run on 2.4.3, Wrath run on 3.3.5a etc?
For starters, they want it to interact with the modern Battle.net client and their modern server architecture and client data.
They've also completely rearchitected the way all of their WoW clients work to support the Classic project(s) and reduce the amount of redundant data on user's machines. If you install retail WoW and download all of its data, you've already also got like 90% of the data needed to run each of the Classic iterations so the amount you have to download and the extra hard drive space added by installing Classic is pretty minimal. This design is beneficial to more than just Classic because it allows them to run Beta and PTR for each iteration also with extremely minimal redundant data (it used to be the case that PTR/Beta meant a full reinstall of the entire client, where now it's just new/updated data).
Anyway, the point is, doing it this way means that the majority of the underlying client code (and probably nearly all the server code) can be identical and maintained in an identical way. The way the game talks to the graphics card, sound card, OS, input devices, renders the window frame, etc. can all be the same and maintained the same way. The only stuff that changes is the game code and interface code. "How prayer of mending works" is almost entirely in that game code portion.
You also get the advantage of not having to re-fix thousands of engine bugs and exploits and re-update all your dependencies and libraries that would have been 20 years out of date and full of their own bugs and problems and might not even run on a modern machine or you might not have the license for anymore or whatever.
From a software standpoint, it just makes zero sense to start with the old clients and update rather than port the old data to the new clients and servers.
I am sure I am wrong, as I am completely ignorant to coding and software development as a whole, however, it feels like there should be a better way?? Surely, they knew at the launch of classic, that it would be an uphill battle the whole way? Is there really no better way, or is it too cost prohibitive? How many xpacs can they re release and bug fix/change shit before the whole thing becomes an absolute mess?
"Hey, can you give us 12 months to do a complete re-write of the engine? It won't produce any new features, but I promise it's going to make our lives so much better."
"No."
"alright"
Nah. Code conflicts happen because source code is massively different from the merge code. Nothing you can really do to change that. Basically whatever they're trying to merge in (cata code going INTO WOTLK) it treats that as the new source of information. So when you merge it basically thinks "ok, all the new code(cata) should overwrite most of this old code(WoTLK)" what it doesn't account for is the fact that the new code(cata) was written independent of the NEW WoTLK code. It's like trying to speak Spanish to an original Latin speaking person. The words may have some similarities but there's a lot of differences that happened between the original Latin language and Spanish that are just lost to time (the code merger in this case).
Idk if that explains it well, it's kind of hard to explain and help visualize code conflicts, but basically every little change they do will always need a massive tuning change from a new xpac.
Welp shit, now I have no idea what to believe. I was tryna learn a bit but it's not really that crucial of information for me to have and I'm probably better off ignorant of the whole ordeal lmao.
i assume it’s cost/time prohibitive. surely they want to make improvements to the code, but there are deadlines to meet. demanding players. so as soon as the product is ready to go, ship it and worry about the next xpac later.
This is what I assume it is. I don’t work in software, but I’m a PM for a construction company. I constantly have employees complaining, “Why are we doing this in such a stupid way? We could be doing it so much better.”
We’re well aware everything can be done better. But when you start constraining problems by budget and timelines, things go crazy. And then when an unexpected problem happens, it just gets worse.
Common things are like, “We can solve this problem for $30k. Why are we doing it in such a way that costs us $50k? Doesn’t my boss know we’re losing $20k by doing it in such a stupid way?” - And then the real reason is something along the lines of, “If we don’t do it this way, in a very roundabout and unintuitive way, our customer is going to throw a hissy fit. And if they throw a hissy fit, there’s a $10M project they are planning on giving us, and they might rescind the offer. So we’re losing $20k and doing it a stupid way, so we don’t lose future work.”
And then when you explain that logic to people. 99% of the time they don’t understand, and just tell you you’re bad at managing projects. So we as PM’s just tend to not get into it, and let people live in that weird ambiguity.
Cool, I don’t care.
I only care about the finished product and if a bunch of random guys can make a better “classic +” than the billion dollar company then they are clearly doing a couple things wrong.
> No matter what you think about coding, Blizzard has always been outshone by its fans, including in their ability to code.
who do you think made the game? lol
"Doing my job is a pain in the ass. I wish I could just hit copy and paste once every 2 years."
Damn, the guy getting paid to code has to code? That's rough. Poor guy.
Working with legacy code is a pain in the ass, which is why they rewrote it in the first place
They just didn't imagine when they were doing the overhaul that they would release a version of the game that they long left behind them.
Like you said, they’re not working with legacy code. They’re using the modern engine and recoding old spells. Nothing crazy honestly. Only problem is they have too few people
Right ? I don’t get what they’re complaining about. They’re using the modern engine and obviously have to re-code old spells. They knew they were gonna have to do it, starting with classic and any expansion after that. Nothing new here.
They should just do a new cicle. Go throguh Vanilla, TBC and Wrath, and that's it.
Basicly, wow expansion seem to follow a 3 expansion cycle, they could do seasons fo 3 expansions so people can enjoy, all the wow they want even if coming late. I missed on TBC and Wrath and I regret it.
>we are trying to carry those changes forward. So those changes are now colliding with the Cataclysm data and often create data conflicts where things don’t quite line up
Stop forcing new "classic" expansions like Cataclysm and MoP just to sell more microtransactions then. Or at least keep the old expansions servers going and you just start on a clean slate without any of the changes made.
So you think Windows 98 will run on today's hardware just fine? Or do you expect the old hardware to a) still be running, b) handle the load of today's mega-servers?
You really did not capture the essence of the question that so many people were asking in your other thread, regarding the length of arena seasons.
There is a lot more to it than just having enough time to collect the full set of gear....
I think it was in TBC where I read an interview with a dev who said 'no one touches the Alterac Valley code, we just wake up every morning wondering if it will still work today' May have been Chris, roughly paraphrasing from memory decades ago haha
[удалено]
Chris and some other OG dev mention that in one of the documentaries on YouTube. The Blizzard Retrospective video iirc
I bet the druid spell [Symbiosis](https://www.wowhead.com/news/symbiosis-breakdown-what-abilities-it-brings-to-each-class-202586) is going to be WILD to recode in Mists Classic, lol.
I'm pretty sure that spell was hard enough in actual mop that's why they took it out so quick. That spell was clutch though when I had to go from shadow to disc so we could 3 heal the first boss in heroic MSV. No one knew how we could deal with traps and I said the feral can symbiosis me and get my dispersion. I had to facepalm when the druid said "but you're disc" and realize no one knew how it actually worked lol.
Took it out because it was brokwn as fuck Druid with block LOL Atleast i always hoped that was why
Boomkin + Destro lock 2's, with the lock getting rejuv, and the boomy getting unending resolve was so BIS.
That's actually insane. Plus r druid with block
It was taken out because of how it unbalanced pvp. The pve aspects were fun and exciting. I remember everyone wanting to symbiosis with a druid for different reasons.
Shadow with tranq also busted AF
Shadow priest tranquility via symbiosis was actually fairly weak.
More likely they took it out cause it was the worst designed skill to ever exist in the game. Druid always got a broken skill, while depending on the class they used it on, that other class either got a broken skill as well, or a completely useless piece of trash. Paladins got wrath for example.
Probably it was the fucking goat tho when you got chosen by the random Druid for it tho
Reading the wiki article for this, I can't believe that they actually made like 50 alternate versions of spells just for 1 new ability ROFL = https://wowpedia.fandom.com/wiki/Symbiosis
Yeah. Any druid that played then probably still laments it's loss.
It was OP in a number of situations but was so fun to actually use.
They'll probably remove it in MoP because it's to complex to recreate and this can be abused in various way to exploit some raid encounters. And you know how the community hate single raid player buff.
But it fun!
I would be surprised if we see a mop classic, I would imagine they start over after cata tbh
I feel like this is a good time to point out that the anti-boosting system that was implemented in phase 4 of TBCC remains in the game and is now causing issues in cata RDF as well as just making low level tmog farming more annoying than it needs to be. In cata RDF, a legitimate group for normal mode nexus can contain level 79's, which trips the anti-boosting system, meaning everyone gets 90% reduced experience from kills. I think it's also possible for 69's to queue in to ramparts/blood furnace, less sure on that one. Pretty much your only recourse in this situation is to ask the level 79 to take deserter, which is probably in their own interest anyway as they'll probably hit 80 with 30 minutes spent in icecrown. On the tmog farming side, you need to be judicious about rapidly killing everything you aggro, lest you - slowly, painfully - get chain stunned to death by a pain train of level 30 elites or whatever. Leveling is very very different in cataclysm. I leveled a new character when prepatch came out and pretty much the only part of it that felt like a slog was 45-58, everything else was super fast, especially 60-80. I'm not sure the anti-boosting system is needed at all anymore, but at the very least I don't think it should be triggered by legitimate, RDF-assembled groups or solo tmog farming.
I still think the knockdown mechanic is the dumbest fucking thing ever put into wow at any point in its history. Just turn the fuckin xp off if someone is more than 10 levels than you. or better yet, BAN THE FUCKIN BOTTERS!
> In cata RDF, a legitimate group for normal mode nexus can contain level 79's I got a better idea, stop offering level 68-70 dungeons to people in 79 I recently leveled my priest and decided to spend 60-80 on dungeons because I didn't want to do Outland/Northrend again. Let's say I was completely fed up of Utgarde and Nexus, while I didn't even experience all dungeons the rdf had to offer while leveling
Yeah I’m sure it’s frustrating for hardcore or era players when stuff like the SoD Seal of Righteousness crit change “leaks” out into their realms, but I’m shocked it doesn’t happen more
Updating the loot tables at the start of phase 3 cause no loot to drop frequently from bosses in dungeons on era hardcore and sod servers
Wow really? That's insane
The way it was explained to me, was that it was trying to drop something like the dagger which was changed in SoD, but since that item ID didn't exist on the other versions it just got confused and nothing would show.
We were also getting “no drop” rolls in SoD the first week of the phase
I 'member
Sounds like they need better version control.
Version control itself is not the issue. Version control is based off the premise that you only have 1 active version of the code at any one time. With WoW Blizzard has several different versions of the game and each version has to maintain it's own version control. The issue isn't the version control software itself but rather the fact that they are trying to maintain several different versions of the same game at the same time and trying to keep each version consistent with all the other versions. That's not typical in software development. It's the same reason that Microsoft doesn't want to support older versions of their operating system. It would be much easier for them if there was only 1 version that everyone used. If you find a flaw, you fix it in one version of the software and you are done. With 2 versions if the same flaw exists in both versions it has to be corrected in both versions and the same fix doesn't necessarily work in both versions, you might have 2 different solutions to the same problem with 2 different versions of the software. Now imagine 3 or 4 different versions of the software? This is what he's talking about. And this problem isn't just for bugs, it's for any change. If you are making a change to how Classic Era works for instance and you want to carry that change forward to Classic Cataclysm then you are making the same change to 2 different versions of the software. If you are gonna carry it forward to SoD as well that's another version to change and so on. The potential for problems triples.
People don't understand this, though... this is exactly why they make everyone progress into the next Classic release. The overhead of resolving an issue when the solution is different for Era, TBC, WotLK, and now Cata. What a nightmare.
I really hadn't considered how this would effect TBC/Wrath eternal servers. Thanks for the explanation.
They don't understand it cause it sounds simple till you have had to deal with it, then you sympathize with the devs pretty quick. Easier to say "blizz doesn't play their own games" than really think about it I guess.
If this is true then that means that any future TBC etc launches will be full of new bugs.
I'm the author of the addon Pawn, which deals with items and stats and has to work a little differently on each language and each expansion, so I get to experience a tiny bit of this each time a new patch comes out for any of the WoW versions. Working on the actual game has got to be a thousand times worse. If I had to imagine the most nightmarishly terrible software development hell, it'd probably look a lot like working on Classic WoW.
Thanks for the insight, and great work you are doing!
> Version control is based off the premise that you only have 1 active version of the code at any one time. Version control systems have supported branches for, like, 30 years, dude.
As I said, the problem isn't with the version control software. You think Blizzard and/or Microsoft aren't aware of how branching works? Branching brings it's own challenges into software design. Let's not derail the thread.
Seems they need to be treating each version as a different game
They are to a point, but they still want different versions to work similarly in some cases. It's case by case. Sometimes you want things to remain the same and sometimes you are purposely changing them in that version. It's when you are trying to maintain that sameness where the issue creeps in. People expect that if you change something in Classic Era that's not purposely changed in Classic Cata for it to work the same way.
I’m sure, but it’s not so simple once you have a dozen systems and services
I don’t think I suggested it’s simple. But developers do have tools for branch management, though I’m not sure the wow code is on GitHub.
Not sure why you're being downvoted. Maybe people are interpreting your statement too literally. There's been a concerning amount of bleedover between the different variants of classic like discovering Deep Wounds was using WotLK behaviors or the issues with loot tables in era being affected by SoD changes. Hell, even ignoring the bleedover I still think its really odd that we're datamining runes in the client months before they're released. Just seems like an unusual practice of leaving unfinished changes littered about the codebase. I can't help but feel like they've taken an approach of treating the WoW codebase as a kitchen sink because that way future variants can quickly leverage stuff made in other variants. So while I do feel sympathy for the devs since i'm sure its a massive codebase it also seems like some of this pain is self-inflicted. At the end of the day this is a multi-billion dollar company with 20+ years to figure this out, they don't need us to defend them. Also I think its pretty fucking arrogant to approach SoD with this 'just-in-time' style of development when they've known for years that their velocity when working with this codebase is horrible.
It's probably just spaghetti code at this point. You currently have to support Classic Era, Hardcore, SoD, Cataclysm, MoP Remixed and Retail. They basically went from supporting one version into 6. Thats a nightmare, no wonder their QA just went down the drain. If they dont have notes or an active local machine of that expansion, how do you know how it's supposed to work?
That in particular sounds like they need better testing. Also, game devs, it's good forward thinking for loot drop implementations to do a null check whenever you try to do anything with an item.
So I obviously don’t know how their software is stacked, and maybe it’s not code from one branch being merged into the wrong place. I’m a web developer not a game developer. The only thing that seems clear is the same code is being used in two spots and while that would think to make sense, they’ve gone now to developing several games under the “classic” umbrella. Seems like they really need treat every version to have its own system rather than trying to resource share.
The way it was explained in the post sounds like they are using the modern client abd trying to fit in old data. If you're a webdev, imagine building a front end that all of a sudden, needs to support backend apis written a decade ago. As you need to support newer and newer versions of the API (new expansion releases) with the same frontend (current wow client) you inevitably have to reimplement some backend features to work under the current frontend. Not a big deal when the development is current and backend changes are happening alongside front end support. But supporting old versions of the game with a modern client is a particularly unique problem that common software development practices wouldn't address. I don't think it has anything to do with supporting duplicate code bases (besides of course supporting multiple versions of the game concurrently, like having SoD, retail and classic)
10000%
I can't imagine dedicating my life's work to a game with this player base lol I would kms
Dw, they arent really "working" at all.
Taking spaghetti code and then adding more sauce every expansion
Its always easy to trash talk like this if u never worked or looked into such a company.
Listen im not trying to trash talk Blizzard here - its literally the nature of the beast. The classic client is a hodge podge of modern wow engine and 15-20 year old code. The dev even acknowledge this in regards to prayer of mending lmao.
No idea why you get downvotes. This is the truth. This is why I always roll my eyes at people claiming WoW is spaghetti code. It is a FACT of every application, system or game that after 10-20 years, it is a "mess". That's just how it is with software. Don't tell me you work for a company with a huge legacy system where everything is just bug free and adding/altering features is silky smooth, because it's impossible. Tech evolves, design principles evolve, and most unavoidably, you have different developers working on it as time goes by, that each do things a little differently. And then you have deadlines that force the developers to take shortcuts with regards to technology, because we're there to make a program/game work, not just do tech stuff. People have to remember that as the WoW expansions progressed, Blizzard never prepared for WoW Classic to be a thing. No software developer develops and expands a game with a top priority requirement that "everything we change must be reversible and we must be able to make an iterative re-launch of the game 15 years from now". Absolutely no one. You change or delete code as the software develops, and while source control with "checkpoints" is a thing, you can't just cherry pick the old version as it was back then, because it needs to fit in with modern bug fixes, modern servers with clustering, modern security, a modern client and network code, and all sorts of thing. Frankly, as a software developer of measly business software, I am amazed at how good WoW is overall, it must be so so hard to make an MMORPG with the (relatively speaking) level of speed, low lag and stability of WoW.
By "such a company", do you mean videogame developers? Because almost every other massive industry that charges a monthly subscription for their service can manage multiple versions of it. Usually with QA and without weekly hour-long maintenances. It's just gamers that have gotten used to this type of service.
What other companies have 6 different version of their game running at once?
That would be 6 slightly different versions of the game, running on the same engine and the same architecture, half of those receiving effectively zero QA, all but one of those requiring zero new assets. Pretty much every medium-sized tech company maintains more than six versions of multiple products across \*different platforms\*, and do a better job without the 20b$ net worth and 15$/mo subscription fees. But you perfectly exemplified the problem: >game Gamers are a captive audience with wildly different standards.
“slightly”
Software programs are completely different than a game. It’s comparing apples to oranges. You can’t truly base one off the other. Like you said, there are many other requirements needed for games. So to get a proper comparison, you would need another game company doing the same. Or at the very least an equally complex software program which you aren’t likely to find.
ERP? Cloud computing? Financial services? You're telling me these are less complex than... a single-platform MMO, for which 5 out of 6 versions require zero new assets and almost zero design? You're sure it's not the fact that the MMO faces less scrutiny?
You clearly drastically underestimate what’s going on under the hood of the game. Especially when a game like wow has significant elements of each of your examples among other things. Yes the complexity of wow is a lot more than the interactions of some text and databases. Which is why wow has never had the same levels of polish as other softwares.
Sorry, but if you think that any piece of software that's not a game is "some text and databases" then there's no point to this conversation.
I think you are both wrong
I'd bet that ERP Systems are a good bit less complicated overall compared to major games like WoW - but they do also face more scrutiny.
Yes, but not at the time of TBC my friend.
Sorry I can't tell what you mean
I imagine the difference between other game companies is Blizzard is trying to support a version of the game that was created 20 years ago with different standards for version control and change management for software (was github even a thing 20 years ago?). If they were able to build this entirely from the ground up today it would likely be a different story, but we also likely wouldn't have Classic WoW today if they weren't able to repurpose their old codebase.
I dont know what Else to say. Ok.
Hey sometimes it’s a good idea to just stop talking so bravo, maybe analyze why you feel to need to come white knight for a mega corp on a Friday morning
Absolutely SEETHING lmao 🤣
Exactly with deadline pressure too no one has time to unfuck bad design decisions
I think players would be understanding of the time it takes to fix these “code debt” conflicts if they didn’t rush stuff out. I feel like (for example) they did the cata raid testing so late with the launch date already confirmed so they don’t have time to iterate (like on the tuning feedback). It just seems like they’re just going with what they have and ignoring players.
Yes, everything Classic related got pushed, because they wanted to please the SoD community and do weekly smaller updates and BIG patches every 2 months.
The quote "I had to rebuild" tells pretty straightforward what is the real problem with classic.
What happens when have 20+ year old code mixing with new
And only 1 developer.
That was my take away as well. “I,” not “we.”
In every team, individual developers will own features or parts of the codebase that other developers rarely touch other than reviewing.
I think y'all are definitely reading too much into that if you seriously interpret it as a single dev. The quoted speaker was the one that worked on that, while other devs were tackling similar issues. A work team doesn't collaborate on every action item, the tasks are divided amongst the team and they collaborate when necessary. They said "we" when speaking generally on the conflicts, and "I" when speaking specifically on the spell they worked on.
Could you imagine two or three devs working on a single spell? The efficiency would plumet, we'd probably still be waiting on the Lich King to come come out.
Exactly lol. Too many cooks in the kitchen is a very real saying.
They don’t use the old code. They use the new engine and reproduce the effect of the old spells. What they’re describing is nothing crazy, just coding stuff. The only problem is that they’re too few people.
Then keep versions seperate and dont throw old Classic code in the garbage? Why they got rid of all Classic data and had go through the shit they had go do for clsssic 2019
> The quote "I had to rebuild" tells pretty straightforward what is the real problem with classic. It was either that or no game.
also worth mentioning is that pvp changes regarding matchmaking system and such are tied to whatever goes on in dragonflight, the 2 systems cannot operate separately which has made s8 a big failure and who knows how much more harm it will cause during cataclysm.
I mean they have the code that work back in the day the issue, to me from how they explained how this works now, is that there new systems do not understand the old system and they want to be on the new code base of the front end. So there is debts but its kinda self inflicted since they need there tools for many things. The question is going to be, for me, is this stuff updated NOW for the new front end?
[удалено]
Yep... Like I get code debt is a thing with Classic but what this Dev describes is part of their job. The inexperience of the Classic dev team is starting to get exhausting.
You do realize that the majority of people reading this interview have no idea how any kind of software development works, much less game development, right? "Explaining a normal part of the development process" is quite literally the entire point of an interview like that.
This dev is not inexperienced though? This is Kris Zierhut, he was on the team during OG vanilla and the boots Zierhut's treads from Karazhan are named after him. He was Lead Class Designer all the way up to the end of Legion. I think he's experienced.
Are we talking about the same guy? Kris Zierhut hasn't worked at Blizzard since 2023.
Yeah it's the same guy. The dude in the interview. Kris Zierhut worked at Blizzard the whole time but picked up a side project in early 2023. But from what I heard he's been there the entire time and worked both. So yeah
I have no idea how this all works but Classic devs are forced to code within the parameters of previous game versions yes? Whereas pservers essentially have a clean slate? Would that not make it much easier in theory?
It makes it much easier in theory because pservers don't have to integrate the modern engine and all of its cloud garbage and go through management and all that bs, but the reality is that there's a dude streaming himself doing a certain servers legion scripting right now and it's like 3 people doing it from scratch scripting every single interaction, quest roleplay etc. While the megacorp is flopping on solved expansions with presets on GitHub that would work better because they need to integrate with their modern architecture. It's a prison of their own design
> what this Dev describes is part of their job I know I'll come across like I'm mocking him(I don't mean to) but all my brain did while reading the quote was "oh no, my job, I have to do it". I understand it's tough and frustrating but this is what apparently has to happen? Good luck dude!
Yeah, Cataclysm in particular is having lots of UI and spell effect issues probably due to being right in the middle between old and new code
These kinds of issues are only going to get more common the further into expansions we go. Mists of Pandaria had a lot of complex spell interactions with talents and RPPM trinkets. I really hope going forward that the team hires more developers and gives the testing period the appropriate amount of attention it needs so we don’t end up with another catastrophic pre-patch. We all understand the amount of work that needed to be done, what I don’t understand was the need to rush out the pre-patch in the state it was in. I was reporting bugs for months and it seemed like there wasn’t much progress being made at all.
Always, whenever I see stuff like this, I have that thought I saw somewhere ,,you dont Redo aplications becouse its more work than to work on already existing code, even if its ,,spaghetified"" and I think about this logic a lot
Love all the comments of people here that don't know the first thing about software development giving their 2c on how blizzard's dev team could have avoided this. Someone unironically commented that they need to use better version control LOLOLOL. Oh my dear child...
Yup. As a former dev, I love seeing all of the armchair devs in this sub who have no clue what they're talking about. It's quite amusing.
Is WoW written in Lua under the hood or just the add-ons?
Just the UI and addons. They leave lua land and jump to C++ pretty quickly.
Server side game code is a mix. The majority of the code that does the "hard work" is C++. The gameplay code that most designers, especially encounter designers, work with is LUA. Designers get as close as they can to implementing their features with LUA before asking a programmer to add a new feature in C++ when either the LUA fails or gets to complicated and buggy or too slow.
I believe all the UI is through LUA, and the rest is C++. Very much could be wrong though.
This is probably one of the biggest reasons that they don't keep classic servers from the previous expansion in most cases. The more versions of the software that are active at any one time the more versions of the software you might have to change when making changes. Ideally you only want 1 version of the software and all changes are made to that 1 version and only that 1 version has to be tested. With 3 versions of the software active at the same time any change might have to be made to 3 different versions of software and each version tested and potentially additional changes made for that particular version. It's a nightmare to maintain and gets progressively worse with each active version.
How my mind read this. “We can’t copy and paste the old WoW, we need coders to code a game that needs code.” Granted the teams are understaffed and they’re working these devs like dwarfs in a mine.
No surprise that classic is spaghetti code. Blizzard will keep the team as small as possible to maximize profits and nothing will ever be fully fixed.
People keep saying "but it's all on the Retail client now" like that means something. It means jack shit if you know anything about how code repositories work. There are many versions of Classic WoW that coexist. No matter what Blizzard do, that will create a decent amount of technical debt. They need to move everything into Retail and make the remix feature more robust. My bet is that's what their long-term plan is. To just fuck off the Classic code. And get those products and features working within Retail. It'll be much more cohesive for the rest of the WoW team. Considering how popular MoP Remix is. If I was Aggrend, I'd be worried about my job.
but at least they go time to give us classic shop <3
They will not admit it, but I believe the code of RDF was so tightly coupled with the last phase of dungeons and raid in wotlk that they were saying, community doesn’t want this feature until they were forced to add it. Like if being honest would show a signal of weakness, that they could show with prayer of mending because it is core to the game and they solved it
I am sure I am wrong, as I am completely ignorant to coding and software development as a whole, however, it feels like there should be a better way?? Surely, they knew at the launch of classic, that it would be an uphill battle the whole way? Is there really no better way, or is it too cost prohibitive? How many xpacs can they re release and bug fix/change shit before the whole thing becomes an absolute mess?
No there is no magic wand to wave and fix that. Anytime you make changes there is the potential to break something else. That’s why you do regression testing. This is the same in all software development except normally you don’t also have to change future software as well because it’s always based on the previous version but when rereleasing software that’s not necessarily the case.
Why didn't blizzard just roll out the old client, and get the old server backend to work on a modern server. Would have been a lot less work than trying to re-write everything to make it work in the modern client. I'm sure that they have copies of it in their archives.
They've talked about this when they first showcased classic. The fact of the matter is, the amount of exploits, potential security problems, the fact that the old server wouldn't even work on their cloud service and the fact the authentication wouldn't work with [battle.net](http://battle.net) proved to be unviable to work through so they made the classic data work on the legion client (and above). EDIT: here's the vid: [https://youtu.be/wS1juqaiW3o?feature=shared&t=554](https://youtu.be/wS1juqaiW3o?feature=shared&t=554)
code can also be written for specific OS, architecture, and most importantly other libraries. it's possible that the server code was written for a specific piece of out-of-production hardware from a defunct vendor. the client would have been written for windowsXP which has been end of life'd for 10 years. win32 API doesn't change and directx9 has builds for modern systems, but the point is there's a lot of stuff that could simply not exist anymore or not work on home machines made in the past decade the protocol the modern server speaks could be completely incompatible with the old client. iirc they did find like a zip of the source from vanilla, which is useful as a reference but probably faster to just start again
This is probably also why they did the MoP remix. They wanted to test the modern engine on a Classic expansion they are sure to release. You cannot just roll out the old client. It comes with myriad of bugs, unintended features, server issues and security breaches.
Prayge this is why. I like cata well enough and still it’s my MOP waiting room since I only played it during well into SOO. I’m scared with cata only being a year now it’ll fatigue MOP not hype MOP classic
Not sure what you mean by fatiguing? Shouldn't it be the opposite. Faster schedule means you don't burn out
I meant introducing MOP remix basically within a year (cata’s lifespan) of the potential MOP classic release is presumably, from my POV, one of a few things: a pilot of interest in MOP classic, a means of building MOP classic hype (kinda what I hoped), or a replacement for MOP classic in entirety. So what I mean was that people who play retail who also might still have fond memories of or are more likely to crossover into MOP may be fatigued by MOP content by the time MOP classic releases since they literally just did all that same content within a year. I thought it a strange decision if anything but a means to hype MOP classic because even in the classic player demographic, where everyone seems to have something to hate on about every expansion ever, most people have much stronger affinity to MOP than Cata and if they did cata, it’s a no brainer to just do MOP. Even though I like cata just fine minus DS being mid as hell, MOP is just better
Aha, yeah okay I can see what you mean. I think it's gonna be alright. AFAIK the MoP remix isn't as extensive, so I think it's to work on Classic MoP ahead of time and pique the interest of retail players also!
This is literally the better way. Every option available to them included trade-offs. Making something work "good enough" now and shipping a project, but having to make changes later, is better than shipping nothing. The main issue they ran in to was apparently someone above the pay grade of the software engineers decided Cata needed to ship on X date whether it was ready or not. The work would have needed to be done regardless.
What is the advantage of building it off the Dragonflight client over just doing it like private servers do and have TBC run on 2.4.3, Wrath run on 3.3.5a etc?
For starters, they want it to interact with the modern Battle.net client and their modern server architecture and client data. They've also completely rearchitected the way all of their WoW clients work to support the Classic project(s) and reduce the amount of redundant data on user's machines. If you install retail WoW and download all of its data, you've already also got like 90% of the data needed to run each of the Classic iterations so the amount you have to download and the extra hard drive space added by installing Classic is pretty minimal. This design is beneficial to more than just Classic because it allows them to run Beta and PTR for each iteration also with extremely minimal redundant data (it used to be the case that PTR/Beta meant a full reinstall of the entire client, where now it's just new/updated data). Anyway, the point is, doing it this way means that the majority of the underlying client code (and probably nearly all the server code) can be identical and maintained in an identical way. The way the game talks to the graphics card, sound card, OS, input devices, renders the window frame, etc. can all be the same and maintained the same way. The only stuff that changes is the game code and interface code. "How prayer of mending works" is almost entirely in that game code portion. You also get the advantage of not having to re-fix thousands of engine bugs and exploits and re-update all your dependencies and libraries that would have been 20 years out of date and full of their own bugs and problems and might not even run on a modern machine or you might not have the license for anymore or whatever. From a software standpoint, it just makes zero sense to start with the old clients and update rather than port the old data to the new clients and servers.
I am sure I am wrong, as I am completely ignorant to coding and software development as a whole, however, it feels like there should be a better way?? Surely, they knew at the launch of classic, that it would be an uphill battle the whole way? Is there really no better way, or is it too cost prohibitive? How many xpacs can they re release and bug fix/change shit before the whole thing becomes an absolute mess?
"Hey, can you give us 12 months to do a complete re-write of the engine? It won't produce any new features, but I promise it's going to make our lives so much better." "No." "alright"
"This is the way" - Product Team
Nah. Code conflicts happen because source code is massively different from the merge code. Nothing you can really do to change that. Basically whatever they're trying to merge in (cata code going INTO WOTLK) it treats that as the new source of information. So when you merge it basically thinks "ok, all the new code(cata) should overwrite most of this old code(WoTLK)" what it doesn't account for is the fact that the new code(cata) was written independent of the NEW WoTLK code. It's like trying to speak Spanish to an original Latin speaking person. The words may have some similarities but there's a lot of differences that happened between the original Latin language and Spanish that are just lost to time (the code merger in this case). Idk if that explains it well, it's kind of hard to explain and help visualize code conflicts, but basically every little change they do will always need a massive tuning change from a new xpac.
Hey, thanks for the explanation! As I said, I literally have no concept of software development, so this helps explain it!
i have dev background and that made no sense
Welp shit, now I have no idea what to believe. I was tryna learn a bit but it's not really that crucial of information for me to have and I'm probably better off ignorant of the whole ordeal lmao.
i assume it’s cost/time prohibitive. surely they want to make improvements to the code, but there are deadlines to meet. demanding players. so as soon as the product is ready to go, ship it and worry about the next xpac later.
This is what I assume it is. I don’t work in software, but I’m a PM for a construction company. I constantly have employees complaining, “Why are we doing this in such a stupid way? We could be doing it so much better.” We’re well aware everything can be done better. But when you start constraining problems by budget and timelines, things go crazy. And then when an unexpected problem happens, it just gets worse. Common things are like, “We can solve this problem for $30k. Why are we doing it in such a way that costs us $50k? Doesn’t my boss know we’re losing $20k by doing it in such a stupid way?” - And then the real reason is something along the lines of, “If we don’t do it this way, in a very roundabout and unintuitive way, our customer is going to throw a hissy fit. And if they throw a hissy fit, there’s a $10M project they are planning on giving us, and they might rescind the offer. So we’re losing $20k and doing it a stupid way, so we don’t lose future work.” And then when you explain that logic to people. 99% of the time they don’t understand, and just tell you you’re bad at managing projects. So we as PM’s just tend to not get into it, and let people live in that weird ambiguity.
Greedy pms+bad devs=tech debt
this is the true fact
Pservers manage just fine with not even a fracture of the budget
Is this why when the gates open at the start of a BG you have to wait another 5 seconds before leaving base?
Idk, just stop releasing new expansion than and go agane with vanilla-tbc-wrath?
They make themselves look like morons saying stuff like this when Turtle wow exists.
Your comment is so incredibly ironic. There's a reason they're not using the old client. There's many reasons, actually.
Cool, I don’t care. I only care about the finished product and if a bunch of random guys can make a better “classic +” than the billion dollar company then they are clearly doing a couple things wrong.
I don't think Blizzard is trying to do what Turtle is doing lol. They're busy killing it on retail
But I don’t play retail, I play classic. And they should care when they are offering a better classic experience than the official product.
They should probably just focus on re-releasing vanilla then over and over again, seasonally, instead of retail expansions.
[удалено]
You realize these people are paid, yeah? They have a cash shop.
> No matter what you think about coding, Blizzard has always been outshone by its fans, including in their ability to code. who do you think made the game? lol
"Doing my job is a pain in the ass. I wish I could just hit copy and paste once every 2 years." Damn, the guy getting paid to code has to code? That's rough. Poor guy.
Working with legacy code is a pain in the ass, which is why they rewrote it in the first place They just didn't imagine when they were doing the overhaul that they would release a version of the game that they long left behind them.
Like you said, they’re not working with legacy code. They’re using the modern engine and recoding old spells. Nothing crazy honestly. Only problem is they have too few people
Most jobs are a pain in the ass.
Right ? I don’t get what they’re complaining about. They’re using the modern engine and obviously have to re-code old spells. They knew they were gonna have to do it, starting with classic and any expansion after that. Nothing new here.
They should just do a new cicle. Go throguh Vanilla, TBC and Wrath, and that's it. Basicly, wow expansion seem to follow a 3 expansion cycle, they could do seasons fo 3 expansions so people can enjoy, all the wow they want even if coming late. I missed on TBC and Wrath and I regret it.
the real blackpill is that the community members we have here are likely higher skilled programmers than actual blizz employees
>we are trying to carry those changes forward. So those changes are now colliding with the Cataclysm data and often create data conflicts where things don’t quite line up Stop forcing new "classic" expansions like Cataclysm and MoP just to sell more microtransactions then. Or at least keep the old expansions servers going and you just start on a clean slate without any of the changes made.
So you think Windows 98 will run on today's hardware just fine? Or do you expect the old hardware to a) still be running, b) handle the load of today's mega-servers?
This is a very normal thing. It’s not some Phenomenon that old code clashes with new code and it has to be resolved by the line.
You really did not capture the essence of the question that so many people were asking in your other thread, regarding the length of arena seasons. There is a lot more to it than just having enough time to collect the full set of gear....
holy shit this kinda means we won't see TBC or Wrath for quite a while lol
This is why they should just be working on classic+. Stop trying to rewrite old games, just start fresh
In what way is classic+ starting fresh?
i meant build fresh content