The bleep-bloop of an 8-bit rendition of Korobeiniki. The frantic spin of a T-tetromino as it rapidly approaches a gap it’s too wide for. These digital fragments can have a Proustian effect on anyone who’s ever owned a GameBoy and it’s the power of small, interactive experiences that we wanted to explore in our next project.
You might be familiar with Arduino – a tiny computer that can add a ‘smart’ element to all manner of DIY projects – from our past attempt to make a tea-round administering robot. Alongside its hardware, Arduino also makes open-source software that powers many other products. One of these is Arduboy, a credit card-sized game system that makes programming GameBoy-style games simple and fast.
When the Arduboy arrives it comes preloaded with a game and a whole library of others that can be downloaded and installed in its place. Like the platform itself, the games are all open-source, giving users the opportunity to examine and edit code to create any game they like. But to learn as much as we could, we decided to build a game completely from scratch.
We wanted to make something rich enough to be properly considered ‘a game’ whilst being simple enough that it’s accessible to a wider audience of non-games playing people in the office. If we could make something that people could play, and then explain how it’s done, then this could easily become something that our clients the idea would have the potential to be something we could offer to clients.
With the Earnest Labs ‘spaceman’ as our inspiration, we came up with a simple idea: you fly around in space collecting individual items, each worth 1 point, and at the end of a set time limit you are given your score. This is a simple and effective way to create the high-score-hunting and office-beefing we were after.
Making the spaceman avatar was surprisingly complicated. First, scaling the artwork down to only 16×24 pixels meant we had to strip out almost all detail whilst somehow still retaining the character’s essential recognisability.
Second, once we had settled on the head in an outlined helmet being the only detail, we had to work out how to implement it. The screen on the Arduboy is black and white, which means that, at any given moment, a pixel is simply on or off. Every individual image used in the game is a ‘sprite’ which can only be one block of colour, meaning that details such as black lines on a white image have to be their own separate sprites which are then layered to create a full image.
With the spaceman deconstructed and then reconstructed in the code, we moved onto the background and the items. Compared to the sprites, these were much more straightforward.
We created a start screen, complete with Labs logo, added some sound fx and we were good to go (though we later removed the sound fx, as the constant bleep of success proved to be quite the annoyance for anyone within earshot who wasn’t playing the game themselves).
We’d made a simple game and, in the process, designed assets, connected them to a control scheme, and set up a timing and scoring system. As well as getting the game into people’s hands we also wanted to share our experiences.
We also held an Arduboy game-building workshop internally with live examples at every point of our development journey, from moving a white box around a plain screen to tapping to increase a counter up to the finished product itself.
Expanding our knowledge of the Arduino programming language and building our own simple proof-of-concept was a great way to find out how effective the Arduboy can be as a fun way to engage internal and external audiences.
You can drop us a line any time if you’d like to try and topple our high score…