Published 2022-11-03

I felt like doing something easy (for me, specifically, since I've made platformers a lot in several engines). I tried to emphasize the feeling of a full adventure rather than any particularly innovative gameplay features. I also tried to minimize loading times as much as I could. The maps are loaded in from 2 other carts when the game starts up and so most of the map data is in the upper memory storage the entire time. This has the benefit that the code isn't minified, so a lot of it is readable (as much as my code would ever be anyway). The downside is that I had to be really picky about only using mechanics that could be coded simply.

The maps were made using Tiled map editor and using a separate script in standard Lua to convert to hexadecimal. From there, a cart for loading into memory was used for assembly. The map format is an RLE encoded terrain map along with a listing of game objects. This allowed me to put game objects on top of terrain more easily, such as the meta-objects that tell enemies when to turn around. Also it made the map sizes smaller. I think the average is about 700 bytes per map.

The music might be a bit uninspired. I made the world map theme using my normal music workflow and found it used a huge check of the space when converted. I don't mesh well with pico-8's music stuff, so I settled for just whatever I could dish out that didn't sound too terrible. It's mostly in a weird pentatonic scale (C,D,F,G,A) but with 2 tracks flattened to sound spooky (C,C#,E,F#,G#, and D# cause it fit a couple times).