One of the most interesting parts of writing this game was learning how the LCD display scrolls. My first approach was:
Scroll the display left one column
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:
Draw new asteroids in the column one to the right of the rightmost displayed column
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.
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.
I think a piezo speaker and larger playing field needs to be used to attract interest.
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!