game development

World Of Warcraft: Remastered Project

Date

2022

Category

Game Dev

01 . About

The World Of Warcraft: Remastered Project started after I finished Elden Ring and wished there to be an actual single-player World Of Warcraft action-adventure game. I knew actually making a game like that, even as a non-profit fan game was out of the question, which is why I instead opted for making it into a video (series).
Making a video instead let me cut corners where needed to bring the project to life without it taking up months of work. In its current state all of Kalimdor, the Eastern Kingdoms and Northrend are ingame and mostly working. Some areas, like the Crossroads in the Barrens received extra care.
After I posted the video on reddit it rose quickly up in the r/wow and r/wowclassic subreddit. From there it was picked up by gaming news sites like IGN Hungary, Gamesradar and Gamerant, among others.

Disclaimer: I did not create the art assets (models, textures, shader) seen in this project, except for the few assets showcased on the 3D modeling project page.

02 . Description

A lot of the time spent in this project was used to make the massive amount of assets exported through the wow.export tool work with Unreal Engine 5. While I was able to export the WoW landscape in chunks, with all their corresponding static meshes (except foliage) I could not do it in one go. With Blender as an intermediary between wow.export and Unreal Engine I started importing about 100 landscape chunks (of 1.500 chunks total) at a time into Unreal Engine. This led to a lot of duplicate static meshes, on top of the already high amount of duplicates. Another problem was that every single static mesh was imported with a default material with roughness set to 0.5 leading to the world looking like it was made out of rubber. To automate fixing these problems and more I built an Editor Utility, which removed the duplicates, let me create Material Instances from the Master Materials I created and saved me at least weeks of work.
All the while and mostly during importing downtimes I created new models for the Crossroads area using mostly kitbashing. I tried to conserve the look of the original models as best I could while smoothing out hard low poly sections or even remaking them. For details I took inspiration from the beautiful (if dated) textures and kitbashed or built models from the details in them to give everything more depth.
Using textures from newer WoW expansions worked pretty well sometimes but more often than not there was a clear style clash which I wanted to avoid, so instead I tried to AI upscale the textures. I also wanted to add more depth and at first used Photoshop to create normal and height maps, until later when I found a neat tool called Materialize which could create full PBR Materials from a single diffuse texture. However, as this was a time consuming manual process I only created PBR textures for the Crossroads area.
One massive upside of using Unreal Engine 5 was its new World Partition feature which I made use of to support the huge map that is the World Of Warcraft. Sadly though I ran into a lot of annoying problems which were made worse because of the very scarce UE5 documentation. HLODs (hierarchical level of detail) are still not working properly which severely sours looking from atop mountains down the valleys below. It's also the reason for the pop-in issues in some shots. Unfortunately, as far as I can tell HLODs are broken for many people, which is why I stopped trying to fix them and I am instead waiting for an engine update.
Unreal Engine's Lumen system made creating the lighting a blast. I put a lot of time into tweaking the lighting, post processing effects and especially volumetric fog, to get something that is both cinematic looking but still playable. This is also why there is no depth of field or motion blur during gameplay. There were some caveats though. Using Lumen with a day/night cycle, as well as frequently going from indoors to outdoors areas, makes it really challenging to achieve all-around well looking lighting that also feels good to play in. In the end I opted for deactivating AutoExposure, even though it can help make the lighting look especially cinematic during all times of day, to get a more playable game.

StoryExtended
Next Project
Pixels Please YouTube
Prev Project