The Re-Making of Snake

Gabriele Tazzari
YNAP Tech
Published in
8 min readSep 10, 2018

Working in the innovation field is not just a technological challenge, but also a creative one. In the last 20 years I’ve seen the market changing massively and not just in terms of technology’s availability and power, but the whole building process. Tools and learning have been re-shaped by an emerging ecosystem of rapid prototyping platforms, which is why I’ve started to tinker with these platforms to better understand how to a) make use of them and b) consider the opportunities they present.

My first experience with Arduino, an open source hardware and software project for building digital devices, was back in 2014, when I used it in a few demo projects. Then the following year, I had the opportunity to try and showcase the Particle platform (a fully-integrated IoT platform) using Photon, a WiFi enabled, cloud-based IoT device. It was simpler to manage and could handle large amounts of data with big data support by design. Having the ability to upload your code without wires and collect data from the device on the cloud was a huge step forward and a significant step in making sense of the IoT revolution.

Of course, this doesn’t mean you can build hardware like an iPhone on your own, but you can quickly design or proof very complex ideas and products with limited resources — it just simplifies the design process so it’s not only affordable, but also largely accessible. This new wave of building platforms is leading the way for a new generation of start-ups, especially where prototyping is vital in demonstrating the value of an idea. The whole market wants to re-define accessibility to ideas, promoting a way of working where the sharing of research, experiments and innovation will be more common.

While gaining an understanding and exposing myself to the art of ‘making’, I ended up finding a new perspective and concept of making for self-training purposes, not just for the enterprise.

Making is a wonderful way to express individual creative potential. The interesting thing about it is the mix of multidisciplinary experiences you go through during the ‘making’ journey. It ends up not just about the project, but enhancing self-confidence — using your “can do” attitude and to create something special.

When an idea becomes a life project

The idea of building a handheld ‘vintage style’ videogame came about as a way to play with new hardware and also involve my kids in my work. After looking at a brand-new LED matrix display on Adafruit, an open-source hardware company based in NY, I thought it would be cool to play Snake on that flashy thing as a fun side project at home! I knew I had very little time to dedicate to this, but the best thing about it was that there was no rush to get it finished. The first step was to choose the tools. My natural selection for the main processor unit was an Arduino UNO — a versatile platform with immense support in the open source and hardware community.

I connected the 8x8Matrix LED display to it and started theinitial tests the blue glowing display came alive. . The next step was to build the game’s software. I actually developed the core of this software after an intercontinental flight while suffering from jet lag — so there are benefits that come with not being able to sleep!

Finally, I placed the device on the desk and took the first video of the game playing random moves.

Considering controllers

The next phase was to build 4 buttons which served as a ‘command board’ to direct the snake.

My kids loved the buttons and started testing the game. During that time, I found the proper speed and made some programmatic changes to make it more reliable and fun. For example, I introduced a tiny delay once you change the snake direction to allow more room for thought and strategy while playing.

I wanted to have something more compact, so switched from the buttons to a tiny joystick to save space. Using a joystick proved a simpler circuit that saved me lots of additional connections.

Next was making the game portable, like the old Nintendo Game&Watch. I suddenly realised I needed to get rid of the Arduino board as this as a base was too large to carry around. This posed a significant challenge, as I needed to get a Central Processing Unit (CPU) and program it so all the information fitted into a single chip.

ATMega 328P Micro Controller Unit Chip

The CPU is the ATMega328P, and I managed to pick up a couple on Amazon for less than $5. It wasn’t until after several attempts to program them without luck that I realised the CPU came with a pre-installed bootloader that needed a 16Mhz crystal to be operated. The crystal is a key electronic component responsible for generating the proper square wave that serves as the clock.

Ta dah! The moment of being able to run your program on a bare chip was a truly magical one. Then I started assembling the first prototype on a generic proto-board — a simple flat board the size of a credit card with multiple holes to host all your components. To do so, I needed to solder all the objects on the board, including the display, processor and joystick. After a few stumbling blocks, the first time I saw it come alive on a proto-board was a great feeling. Clearly a stubborn sense of determination, something close to an obsessive persistency, was a key ingredient in the recipe.

A new-found respect for battery life

Knowing that kids tend to forget to switch things off and batteries drain easily, battery life was definitely the next challenge… my project was growing in complexity.

Energy management is a Zen art of balance. After trying a couple of circuits I found googling around the community, I couldn’t find any that would switch off the device completely.

My power circuit should have been capable of switch-off after 20s of inactivity using a simple button to turn the game back on. But it turned out my initial circuit was too simple, and I just had to add a couple of transistors to make it turn off properly and save energy.

Adding a power source was an interesting milestone, and a key element when considering user-centric behaviour.

Looking at the final result, I wanted to create a small case to protect it — the perfect job for a 3D printer. I had worked with 3D printers for a few innovation workshops. They’re great fun, but also a trial and error process, especially when you need to retrofit something you already have. I used a 3D design site called Tinkercad, a simple and easy to use tool for people like me not advance in 3D modelling. It took me a few iterations to hit the right box sizing, but I got there in the end.

Battling the frustration

Looking at the experience in hindsight, like any creative project, it was very much a cycle of micro challenges. Frustration has been a constant presence along the way, with little but powerful fuel provided by few moments of success to keep me going.

While I learnt a lot from the experience, what I found more interesting is the ability to see your idea adapt from its initial concept through a flexible design flow that leaves you with a slightly different final product than you had in mind. This process of making also sparked a few other project ideas to create learning experiences for students.

Why we should all think about the creative process more

This kind of project is a good way to test your level of determination (or obstinacy), and realise the strategies you put in place to overcome obstacles.

Obstacles are unexpected, in time and context, and the temptation to give up is naturally always there. But your best companion is the community of people that have tried a similar task before you and who share their experience. Bury yourself in websites , forums and blogs to learn about the specific language domain used, as its these keywords which will unlock your questions.

It’s also a good idea to keep in touch with old friends — have that go-to person to discuss what you’re doing in real life. Knowledge transfer is a great experience, and will often help you discover new ways to manage each challenge. When I’m at work I often share my thoughts and challenges with co-workers — it’s the best way to improve collaboration and discover new ways of solving problems.

Most of the problems you’re facing are common, so finding good structured resources through magazines like Make Zine or great makers’ YouTube channels are really useful (and often entertaining!).

Finally remember to keep fun at the centre — unleashing your creativity and adding a personal touch will make your project feel particularly special.

Three years ago, I introduced showcasing as a mandatory activity for my team to help remove the ‘PowerPoint addiction’ we all fall victim to. Building a stronger use-case for why you’re doing something is just another way to switch from intuition to rational thinking, and ultimately it yields better results.

--

--