Evil Invaders

By P. B. Cridland

Originally published in EUG #71

Evil Invaders is a space invaders clone for the BBC Micro. It started life as IJK Invaders back in 1982, and is a pretty fast-paced implementation of the game. The bombs dropped by the aliens are tricky to dodge, and by the end of each level the aliens are breaking the sound barrier with their horizontal movement. Despite the crude graphics, this game is fun to play.

I do not know whether the copy I found on a disc years later was a beta copy or the finished product, but it was a bit shabby either way, so I set about making some modifications to the game to smooth out all the rough edges. The end result was rather successful, and Chris Richardson of 8BS has now converted the BBC disc to SSD format.

Note that, in the game, both LSAIT and Imagen are aliases of mine (Imagen Tech is the IT in LSAIT), which explains the seemingly contradictory credits. David Mills (Lightning Software) was the other half of LSAIT and, as far as I can recall, he had nothing to do with this game so I have no idea why I used the name LSAIT in the intro screen.

I have no record of the exact modifications I made to the game, but the list below probably covers most of them:

  • Somewhat interesting space invaders-themed loader program
  • The ship disintegration effect on death fixed to work on a BBC Master
  • All the instructions appear if you press Y when prompted, and none when you press N, instead of half of them either way
  • The game now handles pressing escape to abort the game, instead of exiting back to the BASIC prompt
  • Addition of a classic mode configuration preset which resembles traditional space invaders, and modification of the default mode to my own preferences
  • Clean-up of the user interface
  • One or two other little bug fixes and changes, I think

The game has a number of customisation options; the new Classic mode is a configuration preset that looks like Amoeba Invaders/Super Invaders complete with the shields, as shown in the screenshot. However, by default these are turned off to get them out of the way.

The strange thing about the game is the way that it is implemented. IJK typically used BBC BASIC for their games. This game is composed of a strange BASIC/machine code hybrid – the BASIC code is followed in RAM by some machine code. The game loop is written in BASIC, but all the animation is dealt with in machine code for the extra speed. This made working on the code a little tricky, as I had to make sure I didn’t ever disturb the machine code block (which must be loaded into a fixed location of RAM – most BBC Micro machine code is non-relocatable). Oh well, it is all done now, so you can get to play with it and enjoy it.

This article and game recently appeared over at http://telcontar.net/Misc/EvilInvaders/.