Black Star

This is a game I made in (less than) 48 hours for BitBitJam 2015, a retro compo to make a game for an old 8-bit or 16-bit platform (in this edition the time limit was 48 hours).

I targeted the ZX Spectrum 48K and the theme was Confronted Kingdoms. The result is Black Star, a Space Invaders type of game, that won in the “best platform use” category.

Menu screen In game screen

The compo requires the source code to be released, hoping that it will help others to learn and get into game development for the old machines.

Some comments about the source:

  • This is my first open source release of a ZX Spectrum game and I tried to document as much as I could, but I’m sure I’m using some tricks I learnt using Z88DK that may not make much sense in a different context and perhaps I failed to explain why.
  • I used the sprite support of SP1 library and I don’t think it is the best way to tackle this kind of game; but given the time restriction it was worth a try. It works surprisingly well, but I suspect there might be a bug either in SP1, balloc or my sprite management code that triggers randomly when over 25 (!) sprites are on screen. For the last version I uploaded to the compo I put a cap in the number of sprites and some people reported playing up to wave 21, so that might be fixed.
  • The ntropic (1-bit music) version I used is the original release of the engine (with variable speed per row), and some minor tweaks. 1tracker uses a version that implements global speed, so the songs need to be adapted in order to be used with my library.
  • As per requirement of the compo I included all the tools needed to compile and build the .tap file. Most of them were already released (open source or public domain), but some may include tweaks for this specific project.

Downloads

blackstar.zip (.tap file inside).

blackstar_src_jam.zip (complete source code, includes README.txt).

If you don’t have the hardware, you can still play it in an emulator.

Last updated Feb 2, 2024