An essay written and recorded on the occasion of finishing Super Thesis World. Transcript below.
~
How do you know when a project is finished? After countless hours passionately working away, where do we call it quits? Sometimes this question is easier to answer than other times. Perhaps there’s a deadline to meet, or an event, an exhibit or a performance. Maybe these are just convenient moments to start fresh, but there’s nothing wrong with that.
These circumstances ultimately manifest as constraints. And I would propose to you that hard constraints like these are extremely useful. They are beneficial to the process of making something. A project’s north star might be the goals we seek to achieve, but the constraints are the compass. Without it, we are lost at sea.
In April of 2024 I installed Lunar Magic for the first time, and began playing around in the program. If you aren’t familiar, this is a level editor for Super Mario World for the SNES. In other words, it allows for romhacking SMW. For over 19 years now, Lunar Magic has been the sole level editor for SMW, and I think it is safe to say it is an important catalyst for the SMW romhacking community growing so large.
Off I went, with little more of a plan than to just learn something new. And at the cost of sounding dumb, I love learning new things. Lunar Magic felt like a reasonable gesture. I battled with silly problems, lost sleep over confusing glitches, fought hard and won programming battles I should have never fussed with. I still don’t know which colors in the palette are for Mario without trial and error (and a lot of it). But, after over a year of on and off working, I’ve learned a lot and made some things I’m quite happy with.
Once I learned the basics of Lunar Magic, I mapped out all my ideas and a few constraints as best as I could. I wanted there to be 34 levels, I wrote out a few ideas for clever gameplay mechanics I could implement within the Mario framework, and kept track of those ‘ah ha’ moments that hit me in the middle of the night. I’m still using the same white text on green background Google doc to track the progress and sketch things out before I drop them into the game.
Why is this relevant? Well, if you’re watching this, the romhack is done. What you will find though, is there are not 34 levels. Without belaboring the point, a lot of my original ambition for the project is not present in the final game. And that’s okay. Several times during this project I changed the scope slightly. I lost my compass and made a new one. I reduced the ambition to match what I can reasonably give.
I made these changes for many reasons. Firstly, like I said, I bit off more than I could chew. I chose to prioritize what I had and made that better, rather than making the project larger for the sake of meeting a somewhat arbitrary goal. In other cases, I felt the goals I was chasing were simply beyond what I could reasonably expect to understand with the time I could commit. Also, Lunar Magic is not exactly transferable knowledge. Conceptually there is much to be said about game design, level creation, etc; but the hacky little programs, patches, and code insertion often felt like a black box to me.
But most of all, The project gave me everything I needed from it. And that, I would suggest, is one great answer to knowing when something is finished. This project no longer serves me the way it did at the beginning. I love this project, and I am so excited to see people play it. I’m even excited to maybe fix some bugs and improve some things (every project needs a small 1.1 update), but generally I am happy to be finished. I have other projects I want to pursue. Most notably (or topically) I want to learn how to make my own games from scratch. But I also hate leaving a project unfinished. So I reduced the scope of the romhack to suit my needs, and then I completed it. So now, It is time to move on, to the next project which will serve my current needs more wholly.