Missile Command in Snap!

Years (/decades) ago I used to love playing Missile Command and when the BBC Micro came out - I wrote an emulator that mixed BBC Basic and 6502 assembler (to speed up moving the missiles and explosions)

Last year, I thought - lets try making this in Snap! and see if the 1000s of increase in computing power mean I don't have to resort to hand coding again :slight_smile:

image

So, its got to the stage of being usable/playable

I haven't done scoring yet and haven't got the AI drones in it so far.

I've made it deliberately get too fast so that games don't last too long and people can just see how far they can get

But I intend it to eventually work the same as the original as much as possible

You can use the 1 2 or 3 keys to launch from the 3 bases or simply point and click with the mouse

(Debugging stuff that's active:- r resets level/speed to start conditions, s/x control speed, d/c control level)

Fantastic recreation, @cymplecy! Keep us posted on the progress. I'd love to see it when it's finished!

We didn't have the BBC micro where I'm from, but I did have an MSX2 computer, and that's where I began to program. It also ran a BASIC interpreter and no OS, and I also had a similar game to Missile Command (I believe it was called Missile Attack).

I didn't know much about programming back then (I think I was 8 when that computer landed on our home) so I've been recently having a lot of fun exploring retro game programming techniques that I was too young to understand back then. There also was no one to explain them to me and nowhere to read about them, so learning about these now feels like uncovering the secrets of my childhood :slight_smile:

I keep marveling at the creativity and cleverness of the programmers of that time. I don't think we'll ever see such a burst of algorithmic creativity ever again.

And now I come to the tricky part - programming the AI in the smart bombs - I never got as far as doing that on my BBC Micro :slight_smile:

Here is my not-so-smart start :slight_smile: