 |
Lunar Magic is a level editor I created for Super Mario World (SNES). During its 25 year span of being the primary level editor for this classic game, it's inspired the creation of countless modifications of SMW by fans and casual players alike. It wasn't originally intended to be a long term project, but things turned out otherwise...
I began looking into making an editor for SMW shortly after releasing the SoM VWF patch, mostly on a whim to see how hard it would be. I started out in February 2000 by figuring out the compression format for the graphics 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.
Then came 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.
On September 24 of 2000 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.
For the rest of the ROM hacking community though, its release came as a bit of a shock. Up until that point, Mario hacking had mainly focused on the NES games like Mario 2 and 3. SMW's formats weren't documented, and most people hadn't even been aware that an editor for it was being built. News of it spread quickly, and Acmlm's general ROM hacking forum in particular was quickly flooded with posts on Lunar Magic and SMW hacking. SMW soon got it's own forum section there, which is where most of the newly birthed SMW hacking community would gather for several years.
As for Lunar Magic, there were indeed a few revisions and fixes to be done. 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 for 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 slowing 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 (our own hack of SMW), 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. Private dev builds of LM were updated for DW:TLC 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.
A few days after DW:TLC was released, LM version 1.60 was also released in September of 2003 with the features that had been used to make the hack. There were a few minor bug fix releases over the next 2 years, but this was followed by a long 4 year period of inactivity since I figured (once again) that the program was complete and that I could move on to other things.
This lasted up until September of 2009, when version 1.64 was released to address various small issues that had been noticed by people over the years. By this point the SMW community using the editor had grown considerably, and a new site called SMW Central had been created, which is where most people had moved on to from Acmlm's forum. I was then approached by smkdan about the possibility of including an ASM enhancement in LM for SMW that he was considering making, which would rearrange VRAM to allow increasing the number of graphics tiles that levels could use. I agreed, and while I was at it I decided to add several other things of my own like 4x more Map16 and an ExAnimation rewrite, which was released as version 1.70 in April of 2010.
And since one thing just kept leading on to another, there have now been numerous other improvements to the program over the years, such as SA-1 patch support and layer 3 editing. One of the largest was inclusion of a patch by Vitor Vilela to allow changing the height of horizontal levels to allow for more dynamic level dimensions for version 3.00 in December of 2018.
Looking back, I'd say it's pretty cool that modifying SMW is still going strong after all this time. This has become one of the most popular Mario games to edit out there. So I'd like to express my thanks to Nintendo, for creating a game that so many people have spent untold hours playing, editing and just generally having lots of 16-bit fun with. ^^
|
 |