The Workshop

Third party plugins and open libraries for World of Warcraft

I am one of the most prominent creators of addons for World of Warcraft, the most popular MMO (massively multiplayer online game) of all time. This software, which boasts 3 million monthly downloads and over 300 million total install, is distributed through Overwolf.

What are Addons

Addons are essentially in-game applications that can alter the functionality or appearance of game's client. 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 accidentaly became one of the most we;l-known developers within this gaming 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.