
Kelsi Davis starts up the ancient rig in a quiet corner of her gaming setup, and the world of Azeroth comes to life, not through Blizzard’s official launch tool, but through WoWee, her own creation. This native C++ client revives the good old days of Vanilla, The Burning Crusade, and Wrath of the Lich King by using a custom OpenGL renderer she created from scratch, avoiding any proprietary code or assets provided by the business. To get started, simply provide your own WoW game data from a legitimate installation on a legal copy of the game, and WoWee will handle the rest.
Kelsi started developing WoWee as a personal project to learn about game engines. Since 2004, World of Warcraft has attracted millions of gamers each month, but she wanted a client that would function flawlessly on Linux, without the need to launch Wine or Proton. WoWee connects you to private servers such as AzerothCore, TrinityCore, and even Turtle WoW. For log ins, she used the SRP6a protocol with some old-school RC4 packet encryption to match up to the 3.3.5a build, for that authentic feel. Once logged in, you can navigate about using the traditional WASD keys, perform spells, loot corpses, and barter with vendors.
As you explore the globe, lanscapes load in chunks, employing a technique known as texture splatting to provide you with all the luscious grassy field and rocky peak detail, as well as water that ripples and throws up reflections and refractions as you’d expect. The skies rotate nicely dependent on server time, and the moon phases correspond to the story. You get the White Lady every 30 days and the Blue Child every 27 days. To top it all off, the clouds glide by, lens flares capture the light, and there are some excellent weather variations from rain to snow with particle effects. Then there’s the buildings, which all render lovely and pretty as WMOs, and the characters as skinned M2 models on the GPU.
The combat is quick and efficient, with auto-attacks swinging, spells triggering with cooldowns, and targeting locks on foes or allies. You get 23 inventory slots and a 16-slot backpack. Of course, you may flip through your spellbooks, slide skills onto the action bars, and check your quest log for any outstanding tasks. When you’re with pals, you may establish groups, have chat bubbles appear, and use the minimap to keep track of everything.
The loading screens use Blizzard-style art to keep everything looking nice and pretty, and the in-game settings allow you to alter graphics as needed. The assets are all derived from the extracted MPQ files, which are unpacked into a Data folder using a script, with a lovely manifest.json indexing the entire thing, allowing you to simply lookup everything you need. The overlay layers allow you to share files between expansions without having any duplicates. Then there are formats like BLP textures, ADT maps, and DBC databases, which load smoothly and asynchronously. There is no need for StormLib at runtime; everything is handled before you extract anything. If you need to conduct any development work, there are several useful debug tools for spwaning entities, changing wireframes, and cycling weather for testing.

Blizzard’s anti-cheat technology, known as Warden, is a big obstacle for any player attempting to construct a custom client. Davis has found a way to imitate it, however, by using the Unicorn Engine to run x86 code on any platform, rather than relying on Wine. This means that connections remain active to servers that enforce checks, even those that perform all “checkups.” Under the hood, the networking code employs non-blocking TCP and processes opcodes in real time for movement, combat, and UI updates. To top it all off, they’re using OpenGL 3.3 with GLSL shaders and even including some post-processing features like HDR tonemapping and shadows.

WoWee is designed to be extremely lightweight, so you won’t need a bunch of extras. You’ll need SDL2 for Windows input and SDL2 for Windows, GLEW for OpenGL, GLM for math, OpenSSL for encryption, ImGui for menus, and FFmpeg for audio. If you’re using Ubuntu, it turns out you only need one apt command to install all of the required dependencies. Clone the repository, add the ImGui submodule, then run cmake and make, and you should be ready to go. That being said, it’s worth mentioning that WoWee is currently being developed largely on Linux, and while it hasn’t been tested on Windows or macOS yet, you might be able to get it operating there as well. The fact that WoWee is MIT licensed must make it more accessible to contributors, but at the end of the day, Davis is the driving force behind the 649 commits so far.
[Source]





