SPACE INVADERS
By : Les Johnson
October 2003
Introduction
After many weeks of taking an hour here and there out of my
schedule to work on it, I'm happy to say my Space
Invaders game is now ready. (see also revision description)
It is developed on a PROTON
Develoment board using a Graphic LCD. This version uses the LCDWRITE and
PLOT commands to produce the graphics Which allows smooth movements on a pixel
by pixel basis.
Three (seperate) buttons control left,
right and fire. It also has 3 independent sound channels. The sound interrupt is
the only piece of ASM in the program, but the game itself is written purely
using BASIC.
BUTTON CONNECTIONS
Because of the 3 channel sound, the game requires an 8MHz crystal, but it will run (somewhat slower) using a 4MHz crystal.
SOUND CHANNEL CONNECTIONS
Some pictures
ADDITIONS AND CONTRIBUTIONS
This game has triggered the imagination of some users. In this section, you will find here their 'best' improvements. We would like to thank them. It shows that sharing projects is useful.
Olivier
ADDING SCORE By : Mark Rodgers (January 2004)
After building my own Proton board I used the Space Invaders Game written by Les to test it. I have made a very small addition to this prog by adding a high score routine that is stored in the onboard eeprom.
All the instructions are in the attached High_Score.bas file.
I have had a play with this great game for a couple of days and done some
little tweeks in order to learn a bit more about how to write code a little
better. It will now only work on an 18F452 as it is too big for anything else
and I can not get any sound as I have no idea how to set the registers. The
download is the full updated code and should run on a Proton Development Board.
: Download
full program
Conclusion
I hope you enjoy the game, and I mainly hope
that I inspire you to create your own masterpiece.
I fancy writing a
Pacman game next, then a 3D space
shoot-em-up.
Have you checked out the Pong
game in the samples folder of PROTON plus?
Les
October 2003
(Last revision: OdB 19/01/04)