0

May 18, 2012 AT 4:21 pm

HOW TO – Arduino Side Scroller Game “Asteroid Runner”

For this project I used:

One of the most interesting parts of writing this game was learning how the LCD display scrolls.  My first approach was:

  1. Scroll the display left one column
  2. Draw new asteroids in column 15

Unfortunately, this resulted in a single asteroid scrolling from the right to the left only to appear again a short while later and repeat the animation.  After reading the documentation for the HD44780U, I saw that the scrolling was actually moving the display over a buffer which is 40 columns wide.  This meant I had to keep track of where in the buffer the LCD display was currently located and then:

  1. Draw new asteroids in the column one to the right of the rightmost displayed column
  2. Scroll the display left one column

The full source code is available on github so you can try your hand at successfully navigating a spaceship through an asteroid field.


Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!


Maker Business — Alibaba to invest $15b in tech, set up research labs around the world

Wearables — Hand beading mimicry

Electronics — Trigger happy oscilloscope?

Biohacking — Biohacking: Visioneer – AI Glasses to Assist the Visually Impaired

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



2 Comments

  1. I think a piezo speaker and larger playing field needs to be used to attract interest.

  2. I’ll try to follow up on the piezo speaker idea – I like the idea of having some old school bleeps and bloops for gaming!

Sorry, the comment form is closed at this time.