This is the first in a series of posts where I'll go into the technical details of how I got this whole game to fit into Pico-8's limitations.
Initially I made this game at the standard Pico-8 resolution of 128x128 (is there another option? Yes, apparently...) We need to stick to 8x8 size sprites, or we will very quickly run out of tile space in Pico-8. Because of this sprite size, when running at 128x128 everything feels small and zoomed out compared to the original game. And the levels feel unusually open and I don’t know what to do with all the space.
Also, I soon realised I will quickly run out of Pico-8 map space! Check out how much a couple screens take up of the whole space, and that’s even without using tile tabs 3 and 4 of course, to max out the available map space. The above screenshot is the height of the whole map area (with a little bit clipped off the bottom) and each of the red boxes is one screen’s worth of map space.
Fortunately, around the same time, I stumbled upon this absolutely amazing 64x64 “LOWREZ challenge” at Itch.io, and I highly recommend you check out the entries! (links above) They are adorable, and it’s just amazing how much gameplay you can fit into such a small area. It makes you imagine what kind of handheld games we might’ve had in the old days if a device were designed with this size screen.
And this got me thinking “...What if I compacted Alex Kidd into 64x64? Would it still play right? Would that give me the level space I need? Can Pico-8 even do that?? This is so crazy it just might work…”
This magical poke triggers a hidden 64x64 scale mode of Pico-8, something I learned after asking about it on the forums. So if you ever want to enter the lowrez jam yourself, you can use Pico-8 :) Now, when I did the math of how many “screens” of level space the game would require, it was starting to seem more feasible.
Not only that, but now each tile has to really justify its existence on screen, so now I was putting more thought into laying out the levels for the most interesting challenges within that small space. (The truth is, I still had enough room to get lazy in a lot of areas!)
However, the levels would still feel to short. So I came up with a way of creating levels out of indexes of screens, allowing me to string together a list of screen numbers and repeat and mix & match screens in different orders to create the illusion of a longer level. I’ll write more about this in the next blog post.