Yearning for my childhood favourites Desert-Strike, Jungle-Strike, Etcetera-Strike, I wanted to make a top-down helicopter shooter with the same satisfying sense of momentum found in that series (in particular how you would spin off after crashing into a building - sometimes I’d just crash and spin and crash and spin until I ran out of fuel it was that much fun).
I started work on this as soon as my Arduboy arrived: git shows my first commit logged in October 2016 with my final commit just 2 weeks after that. I stopped when I realised that there was a small bug in my approach: Arduboys aren’t PCs but I was coding as if they were. I ran out of RAM as soon as I tried to put more than about 3 mobile objects on screen at once.
I’ve been meaning to pick this up again so I’m posting this now in the hope that I’ll be embarrassed into getting on with it, starting with the urgent refactor in which, among other things, I will replace all floating-point variables with something less byte-hungry.
Other than getting the basic game to work, one interesting feature I’m hoping to implement is some kind of procedural level generation algorithm, to save on ROM space. At present, each background tile is selected by passing its x,y coordinates to a fast hashing algorithm, which returns a number which defines the tile type at that location. This means the road tiles, rocks, corpses, ammo crates etc. you see are arranged in the playfield pseudo-randomly: although the level is 256x128 tiles big in this demo (or in other words there are 32768 tiles), each tile will appear in the same place every time you fly past it.
Clearly, totally random tile arrangements do not make for a very compelling game, so I’ve made the tile manager an interface so that other people could potentially implement their own experimental level generation algorithms, once I open the project up for collaboration.
Anyway stay tuned.