Why World of Warcraft: Classic is Deceptively Tough to Make

World of Warcraft: Classic, a feature that will allow us to play World of Warcraft the way it was back when it originally came out, was announced at this year's BlizzCon. And while I would have preferred them to bring back WoW circa Wrath of the Lich King, there are apparently still a lot of people who have fond memories of 40-man raids and getting Paladin gear for their Shamans. So, in order to figure out why this is a big deal, the folks at PC Gamer have put together this article that goes over the challenges involved in getting these new Classic servers up and running. Here's an excerpt:

World of Warcraft: Classic wasn't your traditional Blizzcon unveiling. With a quick two-minute trailer, Blizzard backpedaled on years of dismissal to finally offer fans an official, unblemished version of the world's most popular MMO as it existed in 2004. This is something they said they'd never do. A position that reiterated only a year ago with the infamous "you think you do, but you don't" smack-down and the heart-breaking shutdown of Nostalrius, the most popular emulated server at the time. Classic stands as one of the most profound about-faces in modern videogame history.

I don't think anyone is sure exactly how Blizzard intends to breathe life into the bones of World of Warcraft, however. As far as heartwarming, sure-thing announcements go, executive producer J. Allen Brack was quick to pump the brakes. "I am pleased, and also a little bit nervous to announce the development of a Classic server option for World of Warcraft," he said. "This is a larger endeavor than you might imagine, but we are committed to making an authentic Blizzard-quality Classic experience."

So if Nostalrius can get a vanilla version of Warcraft running with only a dozen developers and a fraction of the resources, why is Blizzard so cautious about World of Warcraft: Classic?

[...]

"It’s actually not as complicated as you might think to get a server up and running. There are a lot of readily available resources online that provide step-by-step procedures to this," they said to me. "There are also dedicated forums and communities that actively cooperate to better optimize and enhance the private server vanilla experience. From a practical point of view, it’s doable for many people even without a technical background."

The difference for Blizzard—and the likely source for a lot of Brack's anxieties—is that they don't intend to simply emulate an old, unscrubbed version of their game. Instead, Blizzard plans on importing the decade-old MMO infrastructure that World of Warcraft used to run on into the modern servers that host Azeroth today. It's something Brack touched on when he spoke to us a few weeks ago.

"We think we have a way to run the Classic servers on the modern technical infrastructure. The infrastructure is how we spin up instances and continents, how the database works. It’s those core fundamental pieces, and running two MMOs of that size is a daunting problem. But now we think we have a way to have the old WoW version work on the modern infrastructure and feel really good."

As you might expect, dragging a bunch of ancient assets into tech that's been iterated on several times over is a pretty complicated equation. Today Jimb Esser is making indie games at Dashing Strike Studios, but in the past he was the lead engineer at Cryptic, most famous for the adored and ill-fated City of Heroes. While he doesn't have an intimate knowledge of Blizzard's network, he is one of the foremost authorities on mass-market server tech during the initial MMO boom.

Esser notes that the technology used to power games during the vanilla Warcraft era has changed "immensely," noting specifically that City of Heroes ran on a number of small, isolated servers, instead of one unified "shardless" realm that games use today. The radical difference between those two systems can cause a huge issue in translation if you're trying to build an authentic historical resting place for an antiquated game.

"It's technically infeasible to retrofit an old code-base to use a totally different database paradigm—the modern, efficient, scalable databases all require very different assumptions in your code," he says. "At Cryptic we actually built our own database from scratch for our second generation of MMOs, allowing for giant, shardless games that couldn't work on the old technology."

Esser also mentions that the way engineers have handled server upkeep has changed drastically over the past 10 years. "In 2003, if we wanted to increase the number of physical instances we were running on, we'd call our publisher, wait three months for the hardware to arrive, have their network operations team set things up, add the IP addresses to a bunch of configuration files, and restart all of the shards," he says. "Now, it's a couple lines of code talking to an Amazon Web Services API, or something similar." Esser's fear is that once you've imported the old tech onto the new systems, you'll still have to slog through all the exacting, hands-on management that was left behind when George Bush was still president.

"You really, really don't want to start running some set of old software that requires a ton of manual configuration and maintenance and doesn't understand the new systems—it will just rot and break and require lots of manual maintenance," he says. "Presumably at some point in WoW's development they changed the server code to use newer systems, but it's probably not something easily portable to the old code-base, so they'd just have to do it again from scratch."