Been hacking around with the code from Linux Format and added in a few features. So we've now got a configurable alien setup where you can define the number of rows and the number of aliens in each row. I've set up a missile count so we start out at the number of rows plus 1, it also now removes a missile for each row you take out and checks to see if there are more missiles than aliens and removes them so there is always one less missile than there are aliens, until you get to one alien then obviously we keep that final missile in play.
The speeds and drops are now configurable and we've still got missile collision detection and a configurable number of lives. Still got a few more things I can do with it, and when I've done those I'll probably be able to think of a few more but this is a great project for cutting my teeth with Python.