Jump to content
FORUMS
Sign in to follow this  
Stan

Dev Watercooler: WoW Classic Development

Recommended Posts

dzwWlAu.jpg

Blizzard released a new Dev Watercooler today with information about the ongoing WoW: Classic development. Classic servers will run on Patch 1.12: Drums of War, because it represents the most complete version of the classic experience. Devs are hard at work to make the modern client compatible with the classic data.

Blizzard LogoBlizzard (Source)

Greetings! Development of World of Warcraft Classic is underway, and we’re very excited to share some of the challenges and solutions we’re working on. As we mentioned last BlizzCon, the process of restoring the classic game is not straightforward, and it’s important to us to take the time and effort to get it right—this includes poring over numerous game versions, data, and code; meticulously scrutinizing all the changes we’ve made over the years. Rest assured: The WoW Classic team is hard at work making it a reality, and we’re at a point in development where we’re ready to share some of the things we’ve been working on.

WOW CLASSIC: FIRST PROTOTYPE

The first—and among the most important—decision we had to make was which version of the game to focus on. As many of you have noted, the classic period was two years long and full of changes. Core features like Battlegrounds were introduced in patches after WoW’s original launch, and class design similarly changed over time. After careful consideration, we decided on Patch 1.12: Drums of War as our foundation, because it represents the most complete version of the classic experience.

Once we had our starting point, we began taking stock of what we had in the source code and what we could make available, which included restoring the original development database from archival backups. After stitching various key pieces together, we had a locally rebuilt version of Patch 1.12 running internally. The team could create characters and do basic questing and leveling—and dying, which we did many times. For testing purposes. Obviously.

Our initial runs exposed a few (expected) issues: the game sometimes crashed, didn’t recognize our modern video cards, and was incompatible with our current login system. That first pass also couldn’t support any of our modern security and anti-cheating capabilities. Clearly we had a lot of work to do to make WoW Classic live up to the Blizzard standard of quality, and deliver the experience players want.

THE PATH FORWARD: SECOND PROTOTYPE

Speaking of engineering, World of Warcraft is a very data-driven game, which means the basic code is flexible and the specific way it behaves is controlled by information contained in databases. Things like quests, monsters, items, and the rules for how these all interact are defined by the designers and artists in data.

So we asked ourselves, would it still be possible to deliver an authentic classic experience if we took our modern code, with all its back-end improvements and changes, and used it to process the Patch 1.12 game data? While that might seem counterintuitive, this would inherently include classic systems like skill ranks, old quests and terrain, talents, and so on, while later features like Transmog and Achievements would effectively not exist because they were entirely absent from the data. After weeks of R&D, experimentation, and prototyping, we were confident we could deliver the classic WoW content and gameplay without sacrificing the literally millions of hours put in to back-end development over the past 13 years.

While our initial effort helped us determine the experience we wanted to provide, this second prototype really defined how we’d get there. Starting from a modern architecture—with all its security and stability changes—means the team’s efforts can be focused on pursuing an authentic classic experience. Any differences in behavior between our development builds and the patch 1.12 reference can be systematically cataloged and corrected, while still operating from a foundation that’s stable and secure.

DIGGING IN

So what does it take to recreate an authentic classic experience with modern engineering? Let’s start by categorizing the different types of game data that make up WoW:

  • Table data: This kind of information is almost always represented as numbers. How many hit points a creature has, the amount of Strength an item grants, or where and when certain creatures spawn, are all examples of the numerical data we store in our databases. We can also store and enforce relationships between different pieces of data.
  • File data: This is often very dense data like 3D models, textures, animations and terrain. Our user interface is built up from XML and Lua files. Many of the art files do not use the same file formats that commercial art tools spit out. Our build pipeline takes these raw art files and translates them into something optimized for our game to read and process.
  • Lua scripts: Some features are driven by Lua scripts written by designers, allowing them to easily define custom behaviors for server-side logic without requiring deep engineering knowledge.

HOW ENGINEERING HAS CHANGED

One challenge we face is that all the classic data is in the original format used at launch, but that format has changed substantially in the intervening years. Major work needs to be done in this area to make the modern client compatible with the classic data.

For example, spells could originally only perform three actions on the spell’s target. In table form, that looked something like this:

ID

Name

Effect One

Effect Two

Effect Three

Aura One

Aura Two

Effect Damage One

Aura Damage One

Aura Damage Two

1

Fireball

Deal Damage

Apply Aura

Nothing

Nothing

Deal Damage Periodically

30

Nothing

3

2

Frost Bolt

Deal Damage

Apply Aura

Nothing

Nothing

Slow

20

Nothing

Nothing

As you can see, there is a lot of space taken up by ‘Nothing’. Over the course of WoW’s lifetime, we’ve improved our data design and normalized much of our database data. Today, that same data would be separated out like this:

Table Name: Spell

ID

Name

1

Fireball

2

Frostbolt

Table Name: Spell Effect

ID

SpellID

Effect

Damage

1

1

Damage

30

2

2

Damage

25

Table Name: Spell Aura

ID

SpellID

Aura

Damage

1

1

Deal Damage Periodically

3

2

2

Slow

Nothing

In this form, there is much less wasted space and spells are no longer limited to three effects. But before we can load any database data, we need to transform the old data layout into the new one. This is not limited to spells, as almost every game system (including items, creatures, player characters, spawning, AI, and more) has had its database layout altered over the years.

LOOKING AHEAD

All the work we’re doing will ultimately allow us to recreate an authentic classic experience on a platform that is much more optimized and stable, helping us avoid latency and stability issues. Additional modern improvements will include modern anti-cheat/botting detection, customer service and Battle.net integration, and similar conveniences that do not affect the core gameplay experience.

We are looking forward to the challenges ahead and share your passion for the classic game; every code check-in data conversion we make brings WoW Classic closer to providing that authentic experience you—and we—want. Thanks for joining us on this journey.

  • Like 3

Share this post


Link to post
Share on other sites

Huge fan of this information. It makes me feel like the time line is even further away though.  Still cool to see behind the scenes things they've learned and things they are yet to discover. Never even realized how their coding of spells has changed so drastically, even on things like frostbolt or fireball that are original spells.

  • Like 1

Share this post


Link to post
Share on other sites

This is exactly what I was hoping they would be doing: take 8.0 and turn it into 1.12. Curious as to whether or not they will use sharding and maybe even a single mega-server since it would help massively with fluctuating server populations. 

Share this post


Link to post
Share on other sites

This information is the difference between console and PC developers; Gettin' all gangster with the engineering.

I just want my Windfury Totem back, daddy

Edited by Abom

Share this post


Link to post
Share on other sites

This is great information and really shows the difference between producing a stable professional product and hacking together a kludge that private servers are.

  • Like 1

Share this post


Link to post
Share on other sites

I can't believe it's taking so long, if all they had to do is change frostbolt and fireball.  I can see it's a complex change, but maybe just release WoW Classic without mages for now?

(omfg I'm just kidding, please stop hitting me.)

  • Thanks 1
  • Haha 2

Share this post


Link to post
Share on other sites

It was obvious that they can't just boot the 1.12 server from backup and then implement it. Too many legacy code and bugs.

And supporting two different code bases really sucks. So, what they came up with is the obvious solution - just use the base of the game, but scale it to 1.12 content. This way they can implement future stability/backend patches to the Vanilla server as well, greatly reducing the time and effort required to support it.

However, while just booting the 1.12 server may have taken like a week, the current project is huge. I will not be surprised if it takes them 2 years or more. It's just a ridiculous amount of work.

It gives me hope that we may see TBC and Wrath though. While Vanilla could take quite a bit of work to roll back due to the Cata rework, TBC and Wrath are pretty much unchanged in their current version on live.

Edited by ionix
  • Like 1

Share this post


Link to post
Share on other sites

Think that having "past WoW" at our fingertips becomes much more possible once Classic (and its lessons) are finished. Looking forward to a lot of nostalgia (and new WoW content!) for the next few years :)

Share this post


Link to post
Share on other sites
On 6/16/2018 at 11:02 AM, ionix said:

It gives me hope that we may see TBC and Wrath though. While Vanilla could take quite a bit of work to roll back due to the Cata rework, TBC and Wrath are pretty much unchanged in their current version on live.

Mechanically they are, several bosses, other than tuning the numbers, had changes to become soloable. Rolling it back wouldn't be that easy. I guess like Vanilla, it might require some reverse engineering of sorts, since game is running on a different structure. Anyway, that's unlikely, as it might split playerbase way too much, and it might have ended with dead servers.

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Staff
      Blizzard responded to some unclear issues around the Slayer Hero Talent tree, clarifying Bladestorm-related issues. You can check out the Slayer Hero talent tree here. 
      Slayer (Source)
      Hello. We’d like to answer a couple of questions we’ve seen for Slayer:
      The brief Bladestorm from Frenetic Flurry will fit in the GCD from the ability that triggered it, the intent is that it should not impact your rotation. The ability to use Pummel and Storm Bolt while Bladestorming applies during all Bladestorms, not just the one triggered from Frenetic Flurry.
      Likewise, all Bladestorm damage events will trigger Overwhelming Blades, including Frenetic Flurry and the additional ticks from Imminent Demise.
      Thanks for the feedback, keep it coming!
    • By Stan
      In a Media & Society class, the professor decided to show their students the iconic Leeroy Jenkins video, which is nearing its 19th anniversary on May 11.
      A Reddit user, MineChris395, shared an interesting story about how their professor used the video to illustrate the growing influence of video games and their emergence as a form of viral media.
      The professor took the opportunity to explain how video gaming aligns with historical media trends, emphasizing the vast market gaming occupies today and its potential future growth.
      You can watch the video below in glorious 420p.
      The class was engaging and filled with laughter, as students enjoyed both the humor of the video and the insightful discussion on the impact of gaming in the media landscape, according to the OP.
      Source: Reddit
    • By Stan
      Dragonflight Season 4 is set to launch in just a few weeks, and we're checking out the rewards that will be removed when it kicks off. 
      Season 4 is just a few weeks away, and although Blizzard hasn't set a concrete release date for the newest Dragonflight season yet, there are certain achievements and rewards that will vanish once it kicks off. Let's take a closer look!
      Mythic+ Category
      Dragonflight Keystone Master: Season Three
      First, the Season 3 KSM achievement that requires players to obtain a Mythic+ Rating of at least 2,000 is going away, and with it, players will no longer be able to earn Verdant Armoredon.

      Dragonflight Keystone Hero: Season Three
      While this achievement does not come with any notable rewards, you can no longer earn it come Season 4.
      Mythic Dungeon Portals
      With Season 4, the dungeon rotation is getting a shake-up, meaning some dungeon teleports will become unattainable, unless they make a comeback in a later season. To secure these teleports, you'll need to complete a Mythic +20 or higher keystone dungeon within the time limit in Season 3.
      Keystone Hero: Atal'Dazar Keystone Hero: Black Rook Hold Keystone Hero: Darkheart Thicket Keystone Hero: The Everbloom Keystone Hero: Throne of the Tides Keystone Hero: Waycrest Manor Raids Category
      Two achievements are going away with the launch of Season 4:
      Ahead of the Curve: Fyrakk the Blazing
      The Amirdrassil AoTC achievement will be removed with Season 4. You must defeat Fyrakk on Heroic Difficulty or higher to get it.
      Cutting Edge: Fyrakk the Blazing
      The achievement to defeat Fyrakk on Mythic Difficulty is going away too.
      PvP Category
      The Season 3 Elite PvP transmog gear will no longer be obtainable when Season 4 starts.
      Gladiator: Dragonflight Season 3
      Verdant Gladiator's Slitherdrake, the Season 3 gladiator mount will no longer be obtainable when Season 4 starts. To get the mount you must win 50 games as a Gladiator in Dragonflight Season 3 in 3v3.

      Verdant Gladiator: Dragonflight Season 3
      The "Verdant Gladiator" title is going away in Season 4. You must end Dragonflight PvP Season 3 in the top 0.1% of the 3v3 arena ladder to get it.
      Verdant Legend: Dragonflight Season 3
      The "Verdant Legend" title from the Solo Shuffle ladder is going away in Season 4.
    • By Starym
      The final week of 10.2.5 has (almost) passed and we also have the results of last week's class tuning to check out as well! Tomorrow's 10.2.6 isn't looking to bring too many class changes (if any), but we can't be sure since we don't even know what the patch is. Season 4 isn't starting yet so we'll be hanging out in Amirdrassil for a few more weeks at least, so let's see how things are shaping up.
      Note: We are using Normalized scores instead of raw DPS for the Warcraft Logs rankings. The u.gg rankings at the bottom are raw DPS. Normalized scores take into account the outlier boss fights where certain specs could stack massive DPS (due to the nature of the fight, whether it's AoE spam or something else), which would then affect their overall score for the whole raid.
      Mythic
      Overall Damage 95th Percentile
      We're seeing some big changes around the top, but they're not at all tuning-related! The DKs have joined forces, but it's the non-Fyr'alath-wielding one that's taken the lead, as Frost moves into 2nd, while Unholy takes 3rd. Fury and Retribution move down to make room for the red ones, and we do see the first results of the tuning right after them.
      Frost took its buffs and moved a colossal 16 spots up into 6th, bumping fellow Mage Arcane down one in the process. Elemental takes down Shadow for 9th, using its 3% buff to move up 8 spots, and the Priest closes out the top 10, sitting in a Shaman sandwich. Marksmanship and Survival stick together and use their 3% buffs to move out of the bottom. They land in 13th and 14th, with Survival making a much bigger leap, gaining 10 spots and escaping the bottom 3. Speaking of the bottom, we see Beast Mastery drop down to the final 3 as Survival escapes, joined by Affliction, which showcases the huge difference in the raw DPS and points-based rankings, as the Warlock spec is No.1 in the raw DPS ones below!

      95th percentile Mythic data by Warcraft Logs.
      Overall Damage All Percentiles
      The generalist bracket is more stable and slower moving, as usual, so there isn't that much to see at the top. Down in 6th we do see a big change, as Survival uses it's buff to make an 11-spot leap, just past Unholy. Arcane loses two spots to the Hunter and DK, landing just above a stable Fire and Frost DK. Frost Mage's buffs haven't had a big impact here yet, but the spec does move out of the bottom 3, gaining 4 spots and moving up. Marksmanship moves towards the middle of the pack, buffs in hand, and finds itself gaining 6 spots. This opens up the bottom 3, and it seems there must always be a Hunter at the bottom, with Beast Mastery taking its place there, joined by Feral.
      All percentiles Mythic data by Warcraft Logs.
      Boss Only Damage All Percentiles
      Survival is on the move here as well, gaining 8 spots and moving into 7th, as everything above it remains stable. Elemental also makes a move using its 3% buff, closing out the top 10 and gaining 7 spots.
      All percentiles Mythic data by Warcraft Logs.
      Heroic
      Overall Damage All Percentiles
      We go down to 8th to see the first change in Heroic, as Shadow moves 4 spots up, just ahead of Survival, which gains 9 spots in 9th.

      All percentiles Heroic data by Warcraft Logs.
      U.GG Raw DPS Rankings
      U.gg's rankings are based on actual DPS taken from Warcraft Logs data, focusing on the top players and span the past two weeks. This chart is for Mythic only.
      We're not going to be seeing quite as many drastic changes here, as the raw DPS chart tracks the past two weeks, but there's still plenty to see. Affliction ends the patch at the very top, pretty much the opposite of its position in the points-based rankings. Fury manages to push into 2nd, bumping the Rogue down to 3rd. Unholy makes some more moves and gains two in 9th, joining up with its fellow DK. We do see Frost Mage starting to make its buffed move up, gaining 4 spots to get out of the bottom 3, where it leaves Feral to take its place.
      Mythic chart by u.gg.
       
      Meanwhile, if you're looking for more information you can check out our Dragonflight class guides, Amirdrassil boss guides, the raid DPS tier list, as well as more data from Warcraft Logs here.
    • By Staff
      This week's highlights include the launch of Patch 10.2.6, the Hearthstone anniversary event continues through Friday, and more.
      Additionally, Blizzard is set to unveil a content creator event on March 21st, with new Twitch Drops following on March 22nd.
      For further information, take a look at the official blog post linked below.
      (Source)
      Each week we’ll look ahead to what’s in store for World of Warcraft, share the latest news, and keep you in the know byte by byte. Content update 10.2.6 arrives March 19.
      The 10.2.6 Content Update Arrives March 19
      Mark your calendar for March 19 when the 10.2.6 content update goes live with a bold, new, limited-time event. You won't want to miss out on the fun. It's important to note that Dragonflight season 4 will go live several weeks after the release of the 10.2.6 content update. For heroes working toward the Amirdrassil Feats of Strength, you'll need to obtain Ahead of the Curve: Fyrakk the Blazing before Season 4 begins, and the achievement is no longer available to earn.
      Hearthstone’s Anniversary Event in World of Warcraft Extended to March 22
      Join in Hearthstone’s 10-year anniversary celebration beginning March 11. Players can log into Hearthstone to collect a new Fiery Hearthsteed mount in World of Warcraft for free!*
      Players can also seek out special “Hearthstone” matches in capital cities from March 11 to March 22. Stick around long enough and you’ll face a special encounter where you can defeat iconic minions to add to your deck and earn other fun new Hearthstone-themed rewards! Learn more about collecting the Fiery Hearthsteed and the in-game events in our latest article.
      Visit the Hearthstone official site to learn more about the full slate of festivities.
      * No additional purchase necessary for the Fiery Hearthsteed mount. Limited-time offer only available to those who login to Hearthstone between March 11 and May 14. Mount not available in World of Warcraft® Classic games. 
      News and Events This Week
      Stay on top of all the upcoming news and in-game activities right here.
      March 17 (Event) Un’Goro Madness Micro Holiday (March 17 – March 19)
      The dinosaurs in Un’Goro are getting restless. Time to go pay them a visit! March 19 (Article and Event) Content Update 10.2.6 Reveal and Now Live (Article) New Twitch Drop Revealed (Event) PvP Brawl: Shado-Pan Showdown (March 19 – March 26) (Event) Battleground Bonus Event (March 19 – March 26)
      While this event is active, random Battlegrounds will award Honor at an increased rate. Glory awaits in the fields of battle! March 20 (Event) The Trial of Style Returns (March 20 – March 26)
      Dust off those pauldrons and compete in a fashion competition of Azerothian proportions! Speak to a transmogrifier in any major city to participate in the Trial of Style! March 21 (Article) New Content Creator Event Announced March 22 (Article) Blues News (Event) New Twitch Drop Now Live Stay tuned to the official World of Warcraft news site as we journey through the week together.
×
×
  • Create New...