World of Warcraft Classic: How To Revive The History
World of Warcraft Classic is a long-awaited project that has been actively discussed by players from all over the world for a long time. But only the developers themselves can tell what it means to bring WoW Classic back to life. Blizzard developers Brian Birmingham, Omar Gonzalez and the game director Ion Hazzikostas let us know more about the whole process and their own experience at BlizzCon 2018.
To find the material pieces.
Creating the game is a very complicated process. To make it easier and understandable, they named three key concepts: the database, art resources and the source code.
The database data is the characteristics of creatures and items, places and locations of spawn, and everything that is associated with the data in the game world.
Resources or art assets include all aspects created by artists and designers, like sound effects, movement mechanics of characters, their appearance and what not.
The source code covers the entire range of parameters related to the display of the game, the processing of input data and the interaction between players.
We had to find out how the current source code differs from its “original classic” version. Turned out the first piece of the source code dates back to 1997, even before the development of World of Warcraft.
Classic gameplay in the modern world
Although we already had a working version of the game, we still had to solve several problems. Game support technologies have come a long way since its launch: cloud support, integration with Blizzard Battle.net application, support service functions. Besides lots of problems and vulnerabilities were fixed.
We decided that art resources and data should stay as they are, but to change the code. Now it was necessary to find out how compatible the resources and data from the classic version with the code from the modern client. It took us a while but we developed a concept how to finally solve compatibility problems and get a working version. This gave us confidence that we can build Blizzard’s quality on a modern platform.
From prototype to demo version
Databases, source code and art resources are a kind of building material, which in various combinations creates what the players can see – terrain, elements of the gameplay, animation, lighting. All these things are also required to let different elements interact with each other in many different ways.
Fortunately, WoW modern editor is able to transform the data, and we were able to do this with the landscape data using the version of the editor for Battle for Azeroth. The editor is able to load the terrain of old formats and convert them to new ones to export them to a modern engine. This corrected problems with the placement of fires and the appearance of trees, as well as other problems.
Another issue we faced was the storage and merging of data. World of Warcraft always has several updates in development at the same time, and they are all at different stages. For 14 years, updates went on a fixed schedule. If we simply updated the current version of the game to the classic version, it would overwrite current data and cause problems for Battle for Azeroth.
To avoid this, we improved our software with new tricks, getting the opportunity to release the classic version without affecting the current version of the game. We copied original 1.12.1 data into a new project, and upgraded our software to distinguish them, and now all updates for the classic version do not interact with updates for the main game. It may seem to be easy but, however, it was more difficult to teach our software to make the necessary edits automatically.
Classic models and animation
We had to spend quite a lot of time to restore the classic models, and in the process of work we found that many models were damaged. In some cases, textures were missing, and we had to search and figure out how these or other elements should look and fix them in the system.
We also restored the original animation: the animation system is connected with the code, so we had to make changes to both the data and the code to bring the animation back to 1.12.1.
To Restore Class System
We got a good progress, converting the data into the code, but some systems simply do not have a modern equivalent. Probably Hunter is the most complicated class. The pet’s happiness level and loyalty system were eliminated, as well as pet training and the ability to use two types of weapons (ranged and melee). This is exactly the case when converting old data to a new system will not help, because there is just nothing similar in the new system. Here we had to revive the old code. The recovery process went well, though some players were very surprised that now you have to buy ammo and feed your pets.
But not only hunters were that difficult. Rogue combo points had also to be changed at the code level, because the modern system is well working of how to gain and spend combo points, but knows nothing how to lose them when the target changes. Besides we had to consider old formulas to calculate damage. In this case, we used the code of the old formulas, including critical hits and crushing blows. Their chance to occur is also modified by the difference between the target’s defense indicator and the attacker’s weapon skills. That’s right, weapon skills are back.
User interface and lighting
The character screen is an excellent example of that user interface we had to restore, including screen effects and background lighting. We do work on it to be as close as possible to the original one.
Another example is Elwynn Forest. In the history of Warcraft there was a period when we changed the balance of lighting, artists had to go through all the zones and improve the lighting. Now we had to roll back all these changes to get authenticity. First of all, we brought back the old lighting data. Then we made a few more edits to the formula for calculating the distance and the fog formula, and also slightly corrected the shadows – so the lighting became even more similar to the original one.
Is the game ready yet?
Considering the amount of work, you might wonder how far the project is or if it wasn’t just that easier to update the client.
Through the past year, we had lots of challenges that helped us to recognize the difference between the current results and what we want to receive. Looking at World of Warcraft, it is easy to notice the differences of the game in its current state from the classic version. If we just updated the original client, we would have to identify a lot of minor issues that could turn out to be exploits and crashes, and more serious things that would show up only when millions of players playing at once. And that’s not all.
The work has not been completed yet, and we have to improve a number of gaming opportunities in large cities, such as banks and auctions. We have to test dungeons and raids and make sure that all bosses abilities function correctly, and to check all PvP systems.
Philosophy and future plans
In the World of Warcraft Classic, we would like to restore authentic experience important to old-school players. The performance of the game has increased, as well as the hardware, but the game should still be the same as in 2006.
Many decisions were quite simple to make. Obviously, we cannot keep Dungeon Finder, cross-realm groups, the system of achievements, unified auctions and, of course, flying.
Other things were not so clear. Originally there was 8 debuff limit on any one target. Later the limit went to 16, and then it was completely removed. These changes have seriously affected the balance of the classes and the strategies used by players. To avoid modifying the data in version 1.12.1, we made a limit of 16 debuff in World of Warcraft Classic.
In-game mail is now delivered instantly between members of one guild, but originally it took an hour, same as sending letters to any unknown players. Instant delivery made the life easier and convenient, but decreased the social interaction between players when you have to meet the other player to trade things faster. Therefore, we returned that delay. Other lesser improvements remained in game.
In the past, players had to write a ticket and wait for the GM’s help, if someone looted wrong item in a group. Currently players have some time to exchange loot with each other. We decided to keep this advantage in WoW Classic to save players’ time and nerves.
Content release plan
Patch 1.12.1 is the foundation to be used at the launch, but we want to release the adventures players are waiting for. We have scheduled four additional stage:
- Stage 1: Molten Core, Onyxia, Dire Maul, Kazzak, Azuregos.
- Stage 2: Blackwing Lair, Battlegrounds and PvP rewards, Zul’Gurub.
- Stage 3: Ahn’Qiraj, Tier 0.5, Silithus content, Green Dragons.
- Stage 4: Naxxramas raid, Scourge invasion.
Our plans may still change, but we would like to give you an idea of our future plans, though there are lots of work ahead still.