Arduino Asteroids on Hackvision

I implemented Asteroids for the Arduino-based Hackvision game platform. It turned out much better than I thought it would, and I've done a writeup about the game here: Asteroids Available for Hackvision | Project Lab. Enjoy!

Nice job!

This is really nice (takes me back to my childhood playing my Atari 2600); I should really pick up one of these boards (as if I had the time...)!

You need to make a quick mod - change the ship to an "A" symbol for "A"Tmega, and the asteroids to "chip symbols" with PIC written on them (or some variant); make the saucer enemy a varying "electrical disturbance" spark-like thing (shooting lightning bolts or something?) - call it "PICtaroids" or such...

I'm really enjoying seeing what is being made with the TVout library; I wish I had time to play with it myself...

/ah well, I'll live vicariously instead, I guess...

:slight_smile:

Great job on this sketch! Looks/sounds like the real thing, at least as far as I can remember. Makes me want to build an arcade machine with a tiny little Arduino inside. :slight_smile:

You need to make a quick mod - change the ship to an "A" symbol for "A"Tmega, and the asteroids to "chip symbols" with PIC written on them (or some variant); make the saucer enemy a varying "electrical disturbance" spark-like thing (shooting lightning bolts or something?) - call it "PICtaroids" or such...

Great idea, cr0sh - you should do it! C'mon, you can do this in 30min - and you'll have fun! Always make time for fun.

Dammit! I was just getting my highest score ever, on my third extra life, when...


MY SCORE WRAPPED AROUND! :astonished: :astonished: :astonished:

I think you should make the score an unsigned long XD

Stimmer, holy moly, you are GOOD. You are absolutely correct -- I will change score to be an unsigned long!!!
I chose unsigned int before I added the free life every 10000 points feature, so I didn't think anyone would roll it over -- thanks for the stress test.

UPDATE: the unsigned int won't roll over to 0 until 65535. My bug is that I'm displaying the unsigned int as an int. I used %d instead of %u in the call to sprintf.