MPQDraft has to be the most crazy project I’ve ever done, short of the oldest (that goes to MPQ2K). I assume most people don’t know or care about MPQDraft, so in a nutshell it is a program originally written by Justin Olbrantz to support the fan-driven StarCraft modding community. I subsequently wrote a Mac program that did the same and simply called it “MPQDraft Mac Edition”, or just MPQDraft to me.
As stated above, MPQDraft came about in the golden age of StarCraft modifications. It was designed to make it easy to load additional data into Blizzard games for modification assets (graphics, sounds, movies, maps, etc.). However, it eventually evolved into a generic framework for loading code modules inside target applications, one of those modules being the venerable MPQ loading plug-in. That made it a much more capable piece of technology which allowed fairly interesting hacks to be developed, such as MP3 playback in StarCraft (yes, that wasn’t a built-in feature of games back then).
On the Mac, this puts us in the Mac OS 9 era, and consequently in a time and age where CFM ruled the land, Warcraft 3 was pure hype and Mac OS X didn’t exist in the collective consciousness. And consequently the first MPQDraft Mac Edition version was designed to meet those conditions. This was only the beginning of a true software hacking saga.
Indeed, I think I must have re-written the program at least 5 times. Once to support Warcraft 3, which introduced a static Storm library model (Storm is Blizzard’s all-purpose utility and porting library. It was a shared library with StarCraft, Diablo 2 and early Warcraft 3 versions, but became static with later Warcraft 3 versions and The Frozen Throne). A second time to support Mac OS X. Yet another to introduce a new way of distributing patches. And so forth. I suppose that’s what you can expect with hacks.
In any case, MPQDraft is pretty much a dead project now, because the world’s attention is riveted on World of Warcraft, which has a thriving and officially supported modding community.
Nevertheless, I have created an MPQDraft project page in order to eventually distribute a final binary build for PowerPC, give more insights into this rather complex program, make the source code available to the world, and distribute the whitepaper I wrote on its methods and designs for WWDC 2005.
Feel free to browse.

No comments
Comments feed for this article
Trackback link
http://www.devklog.net/2006/01/20/the-mpqdraft-project/trackback/