World of Warcraft

Third party plugins and open libraries for the famous game

I am an experienced developer and one of the most prominent creators of addons for World of Warcraft, the most renowned and influential MMORPG of all time. My software, which boasts 3 million monthly downloads and a total above 300 million downloads, is distributed through Overwolf.

What are Addons

Addons are essentially in-game applications that can alter the appearance or functionality of the game. In World of Warcraft, this type of software is officially supported by the game developer, but is restricted to rendering on the user interface layer, through a mostly-2D focused API, and reading files from a restricted set of formats on startup. Both limitations present interesting challenges from a technical standpoint, but particularly the latter, as it makes creativity in precomputation and compression more relevant than they otherwise would be.

My Work

I began creating addons for World of Warcraft in middle school to teach myself programming, computer graphics, data management, UI design and computer science in general. But I quickly became one of the most popular developers in the community.

When I started, the majority of addons were not very complex and the market far from profitable. For instance, my addon Scrap was the first junk seller to have an actual interface (others were configured using the command line) and the first addon to have in-game tutorials. This latter became a common practice of the game developer, which now provides tutorials for new interface elements it incorporates. Bagnon, another addon of mine, is so popular that the developer felt compelled to implement a barebones competitor, given how essential it had become.

Design and development has mostly been a single man job, with the exception of occasional colaborations with artists, translators and other developers for purposes such as localization, software compatibility or contribution to common libraries. I have also created successful development tools, libraries and frameworks. These range from specific-purpose libraries, to a unit-testing framework or a build system.