 |
Lunar Magic is a level editor I created for Super Mario World (SNES). It's the first and, as far as I know, the only level editor available for this game. I began looking into making an editor for it shortly after releasing the SoM VWF patch, mostly on a whim to see how hard it would be. It wasn't intended to be a long term project, but things would turn out otherwise...
I started out in February 2000 by documenting the compression format for the GFX and building the necessary decompression and recompression tools. I went on to decode the level layout data, which required disassembling a fair portion of the ROM's ASM code. Then I reused the old GUI for the unfinished prototype of the Sailor Moon Map Editor to begin constructing the level editor. I implemented the drag/drop support I had originally planned for SMRPG's editor, and rewrote the GFX routines to handle Mario World's format. This was done sometime in mid-summer.
I then began implementing an "Add Object" GUI, without which editing Mario Levels would become an exercise in extreme tediousness. I also created the MWL format, put in layer 2 support, and added a bunch of other dialogs and what-nots that were essential to changing the properties of a level. Which was finished sometime in mid-August.
By then of course I was horrified by the sheer amount of time it had taken to build the silly program, but I was more horrified still to realize that the whole thing would be a waste if I didn't put in the sprite support to finish it off. So I put in sprite support, as well as an "Add Sprites" GUI and a couple small ASM ROM modifications. I quickly wrapped up most of the loose ends by early September.
In late September it was finally released to the public for the first time. At that point I thought my job was pretty much complete, other than perhaps for a few minor revisions that could be added as needed.
Well, there were indeed a few revisions and fixes. And then a few more. And then some extra ASM enhancements to the game. And then a few more of those too. Before I knew it it was already September 2001, a full year since Lunar Magic had first been released. In that time I had added extra graphics, 4bpp support, custom palettes, clipboard support, extended animated tiles, bypass dialogs, Japanese ROM support, layer 2 editing of the overworld, and all sorts of other minor enhancements.
By the end of 2001, the overworld editor had full layer 1 support, making it possible to redesign the level layout and overworld paths of SMW. In early 2002, text editing for the overworld level names, the castle event sequences, and the message boxes had also been implemented. But by mid-2002, Lunar Magic's development finally began winding down.
After releasing version 1.51 in September 2002, there was a long period where I was busy with other things. Development on the program slowed to a crawl. This was also around the same time that I and Zero-G started working on Demo World TLC, but it also stalled early in 2003. It wasn't until mid-2003 that we started trying to get it done in time for LM's next release. LM was updated to allow for far more ExGFX files, and a new feature was added for level-specific tile and palette animation. The overworld was also finally finished off with animation and a sprite editing mode.
So a few days after DWTLC was released, LM version 1.60 was also released in September of 2003. There have been a few minor bug fix releases since then, but the program is pretty much finished.
Looking back, I'd say the whole project was a real blast to work on. Although I think if I had known in advance how much time and energy it would end up consuming, I'd of died of a heart attack long before I even started. ^^
|
 |