When I first found Pico-8 whilst searching the internet for game creation tools I was enthralled by the retro NES feel that the Pico-8 Virtual Console presented with its limited colour palette, 128×128 px display and beepy sound effects. I instantly had hundreds of ideas I wanted to create with this tool and started learning how to program in Lua and Pico-8’s own syntax.
One of the first games I created with Pico-8 was a space game in which you flew around in a cargo ship delivering boxes to various locations whilst avoiding enemies and space mines from blowing you to smithereens. It is currently at v1.5 and is still in development, however is mostly complete and playable online here.
My earliest version of this was an extremely simple and bare-bones game called “Space Explorers” in which you could fly a space ship around a single room with an asteroid in it. It would teleport the player to the other side of the room whenever they reached the edge so they just looped around the same room forever. It was boring and glitchy but I had made my first ‘video game’ and I was overwhelmed with joy to see my little space ship sprite be able to move around the screen.
NOTE: I initially intended “Space Explorers” to be about flying around a procedurally generated world and discovering its secrets, however it later evolved into “Space Delivery” and focused more on arcade style fun rather than free exploration.
Building upon my first prototype, I fixed the camera to the centre of the room and added the functionality to fly to different rooms in a Zelda-esque way. This added a whole new depth to the game and expanded the world by four times! Now you weren’t just stuck in the same room looping endlessly, but rather stuck in a 2×2 world that looped endlessly…
Despite still being stuck in a tiny world with nothing to do, I still found it enjoyable to fly over the asteroids and watch my ships shadow get cast down onto it like it was a real 3D object.
At this point in time I had no direction for where this game was headed. People often asked “What’s the point of the game?” or “How do I get a score?” with which I had no response. I did know, however, that I wanted my ship to be able to reach it’s shadow and land on the asteroids that you so frequently fly over in the game and so I added it in the next update.
I ended up just focusing on adding features that I thought were cool like being able to land your ship on asteroids before I knew the purpose of the game and let these features shape what the game was. This was possibly not the best approach to creating a game but for my first try, it was the easiest way for me to just make something that worked.
I also added sounds to this version of the game for flying and landing as well as text for when you’re taking off and landing to make it feel more alive however I removed the text in later versions as it caused screen clutter and felt unnecessary.
The next version came with the addition of a fuel bar that was implemented to add a sense of danger and risk to flying around the asteroids and required the player to periodically land on space rocks to refill the fuel bar. The punishment for running out of fuel… was death! Or at least it was in later versions, for now your ship simply spun out of control and exploded without losing any form of lives or HP.
To make the game feel more ‘gamey’ I also added in a simple start menu with an option to change the 1-bit colour palette to match your own personal preference. These alternate palettes do a good job of spicing up the otherwise bland B/W colours and helped add to it aesthetically.
This is all I’ve written about this game so far but expect to see future entries for v1.4 and v1.5 as well as posts on other games I’m currently working.