Programming for Super Mario World hacks
ROM hacking (Super Mario World to be exact) has been a major influence on my creative skills and output.
Along the way I picked up the assembly language of the SNES's processor (referred to as simply ASM in the Super Mario World hacking community), which was actually one of the first programming languages I learned! ASM is used to program custom resources for the game (blocks, sprites and patches), and knowing it goes a long way in making your hack stand out and bring some of your more complex ideas to life.
I've made quite a few resources this way — ranging from really simple tweaks in my early days to pretty large-scale projects in recent times — some of which I uploaded to SMW Central for others to use. (The submission dates on the site aren't always accurate since many of them were reuploaded years after they were made.)
A lot of these won't make sense if you're not familiar with SMW hacking, but I'm listing them here for the sake of completeness.
- Sticky Ground (2009)
- Resetting Made Easy (2009)
- Counter Digit "Fix" (2010)
- Get Hurt on Yoshi (2010)
- Play as Yoshi (2010)
- 16-bit Timer (2012)
- Custom initial BG positions (2013)
- DKCR Styled Sprite Status Bar (2013, 2018)
- Message Box Expansion (2013, 2018)
I also made a tool (written in Go) that converts images containing colored rectangles into palette files, which the level editor can insert into the game.