“I needed something that would appeal to a large audience and was fun to play. So I took the good old gaming cliché, where the world gets invaded by aliens and you have to fight your way to the end boss, save the world and the human race,” Temmerman explained.
“With my minimal resolution of 16*90 pixels, I didn’t have much other choice than making it pixel-art style. The game has three modes: single-player, multiplayer brawling/fighting the aliens mode and an extra fighting mode where two players can battle with each other. Every mode has just one level, but since it is just a casual ‘play on your way to work’ kind of game, I thought it would be more then OK.”
“The screen/main Arduino is connected with the arcade box through a simple tx-rx serial line, which was fast enough to send the button commands. The arcade box is just some painted MDF with a steel frame inside and a steel plate on-top,” Temmerman continued. “[Meanwhile], the Arduino in the arcade box generates the sound and music and handles the raw button/joystick input.”
In terms of software, Temmerman says he cross-developed the game as a Cinder c++ – Arduino app. That way, he didn’t have to upload the sketch every time he wanted to test something.
“I didn’t use any external memory, so I had to store everything on the Arduino. I made a small app that generates c++ classes from bitmaps with some gamma correction for the LED screen. I used indexed colours to save some of that precious SRAM,” he noted.
“For driving the LEDS, I modified the Adafruit neopixel library, to support alpha-blending and make it a little bit faster for my specific case.I don’t really have much experience with generating sound and music, so the 8-bit sound was quite challenging. [Nevertheless], I’m happy with the result.”
Interested in learning more about the Atmel-Arduino powered video game for the masses? You can check out the project’s official page here.