Search Unity

World of Warcraft Emulation in Unity3D

Discussion in 'Made With Unity' started by Glader, Jun 18, 2020.

  1. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    Hello guys, I especially love World of Warcraft and doing emulation related work for WoW! When it comes to clientside emulation I use Unity3D because I'm passionate about Unity3D too. Today I'm going to post a demo video related to my Unity3D WoW emulation work.

    Here is a technical demo of using a Unity3D client to connect to a 3.3.5 (WOTLK) World of Warcraft server and playing alongside normal 3.3.5 clients!



    I have no interest in amateur legal debates so please don't post or ask questions related to that.

    I am however interested in answering anyone's technical questions when it comes to developing or emulating MMORPGs. Especially specific to games like World of Warcraft, ask away ^,^.
     
    Last edited: Jun 18, 2020
    Selzier, silvematt and mgear like this.
  2. pcrigs12

    pcrigs12

    Joined:
    Jun 19, 2020
    Posts:
    2
    How did you get started with the development of this emulator? Its fascinating to see such a project, I am to very passionate about wow and would love to try for myselft at a project like this ( at a much smaller scale),

    I think you are doing a great job and I'm waiting for more of your updates
     
  3. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    I originally got into network game emulation when Pokemon Go came out. HTTP-based games, like Pokemon Go, are good canidates for learning reverse engineering. It's a very easy protocol to learn and there are great tools around it. As for World of Warcraft emulation, abit later I started to tinker around with https://github.com/trinitycore/trinitycore which is an opensource World of Warcraft server emulator. I recommend the 3.3.5 (WOTLK) branch! A good place to start there is to set it up and tinker around with creature and boss scripts and then slowly branch out.

    I invested a lot of time into studying the WoW packets and protocol and writing libraries and tooling around it which ended up leading to this client emulator project. Emulation is a tough niche to get into I think but it's very rewarding because you get to see how real billion dollar game software functions. I always tell people that if they want to learn to make an MMORPG then take a look at the technical aspects behind WoW!

    I'm not sure I'll post updates, since this was just a technical demo and this forum is for complete products or tech demos. Updates would belong in a WIP forum thread. However, I can post that today I was able to spawn GameObjects (think interactable WoW objects that aren't creatures/NPCs) and load their models. As seen here:
     
  4. pcrigs12

    pcrigs12

    Joined:
    Jun 19, 2020
    Posts:
    2
    Thanks for the reply, I really apreciate it, I also follow you on your YT channel to see updates, I'll try to see reverse engineering on simpler games as pokemon go as you said.
    I tinkered some time ago with trinity, but I only did changes to the database, this time I'll try to branch out and do more things.
    Thanks for the insight, it was really interesting!
     
    Glader likes this.
  5. Selzier

    Selzier

    Joined:
    Sep 23, 2014
    Posts:
    652
    Awesome project! Is the source on your github by chance? I have forked wow-export and rewritten the ADTExporter so it will export WoW Terrain, splatmaps, and 3d models directly into Unity: