WoWdot

One Godot client for Vanilla, Turtle and Wrath of the Lich King.

WoWGD login screen

No capture yet. Profile screenshots will appear here as they are added.

Northshire Valley running in the Godot editor

WoWGD

Vanilla, 1.12.1 (5875) · tested with vMaNGOS and mangoszero · Playable · Benchmarks and screenshots vs benilla

What's in

Login
account, realm list, character create and select
World
streaming terrain, buildings, water, sky, weather, music
Characters
customisation, gear on the model, mounts, portraits
Movement
run, jump, swim, taxi, boats and zeppelins between continents, other players moving and riding
Zoning
continents, dungeons, portals
Death
release, corpse run, spirit healer
Combat
targeting, casts, cooldowns, auras, combat log
HUD
action bars, unit frames, cast bar, minimap, tooltips
Chat
say, party, guild, raid, whisper, channels, /who, emotes
Panels
character, bags, spellbook, talents, quests, map, options
NPCs
gossip, quests, vendors, trainers, flight, bank, auctioneer
Groups
invites, party frames, loot rolls, master loot, ready checks, pings
Items
bags, bank, equipping, stacks
Objects
chests, doors, levers, chairs, herbs, ore
Mail
inbox, attachments, sending, returning
Auction house
browse, bid, buyout, post
Social
trade, duels, friends, guild, charters, tabards, inspect, honor
PvP
battleground queue, scoreboard, team blips on the map
Pets
taming, pet bar, happiness, stable
Effects
particles, ribbon trails, spell visuals, missiles, cinematic flyovers
Scenery
ground clutter, footprints, wakes and splashes, the distant horizon

Left to implement

  • Battleground matches, which cannot be tested without four players a side.
  • The looking for group browser.

Then the content tools: spells, creatures, items, quests and maps authored in Godot.

Install

  1. Copy the zip's files into your own 1.12.1 client folder, next to its Data folder.
  2. Run WoWGD.exe or WoWGD.x86_64.
  3. Enter your server's realmlist and log in.

If the realm refuses the login, the server needs StrictVersionCheck = 0 in realmd.conf: that check wants a hash of the stock game executable, which WoWGD does not ship.

WotLK profile

Wrath of the Lich King, 3.3.5a (12340) · AzerothCore · In development

Vanilla, Turtle and WotLK share one Godot project and runtime tree. WotLK protocol, data tables, models and terrain are integrated; its profile-specific UI is not yet selected by the runtime, so this profile remains in development.

Done so far

  • Login. SRP6 against the authserver, the realm list, the header cipher and the WotLK auth session.
  • Characters. The character list, creating and deleting.
  • World. Entering a WotLK map, with the player's stats read in the WotLK layout.
  • Movement. Walking is sent, the server keeps the position across a relog, and a GM teleport lands.
  • Large packets. The world socket takes the longer header AzerothCore uses above 32 KB.
  • Chat. Lines go out and come back in the WotLK layout.
  • Models. M2 version 264, whose geometry lives in the .skin file beside the model.
  • Terrain. Azeroth and Northrend tiles, with their water.
  • Shared screens. The current runtime uses the common UI while the WotLK UI resolver is unfinished.

Next

  • The data the HUD and tooltips read: update fields and Spell columns.
  • Animations, which version 264 moved into .anim files, hundreds per model.
  • The packets still parsed in the 1.12 layout.
  • Connect the WotLK FrameXML scenes and profile overrides through the UI resolver.

Too early to play, so there is nothing to download yet.

The wowdot extension

One C++ GDExtension for all profiles

wowdot opens your MPQ archives, decodes the DBC tables, BLP textures, M2 and WMO models and ADT terrain, and speaks the game's network protocol. GDScript builds the interface, the world and combat on top of it.

Your data, your install

WoWdot ships no Blizzard code, archives or extracted assets.

The client reads your MPQ archives and talks to whatever server you point it at.

Open source

WoWdot is MIT licensed. The source is on GitHub at bearlikelion/WoWGD.

Every release zip carries the LICENSE and NOTICE.md the source ships under.

About

Made by Mark Arneman (bearlikelion)

Hi! I'm Mark and I make games.

I wanted to explore the possibilities of creating my own MMORPG, by diving deeper into the Godot game engine, and to understand how a game like World of Warcraft works under the hood.

This is an educational project, built for its own sake rather than as a product.

Thanks to