Inspiration

With the theme of the hackathon being retro technology, we thought about retro gaming. While in the mood for wanting to implement hardware and stray from a traditional software engineering project. This also was the perfect opportunity to bring awareness about mental health through the medium of retro games. The final idea came to create a controller with an Arduino that could connect to a Raspberry Pi and run retro games focused on raising awareness about mental health issues; as for the custom game we developed, it was made to help inform/educate players about panic attacks and how to handle them properly.

What it does

The custom controller made with an Arduino uno features a joystick, 5 buttons, and an accelerometer for user inputs, this is then fed to a HID which translates that raw input to keystrokes, allowing support for any retro game that could run on a Raspberry Pi, including the game we developed. For the game, it addresses the issue of panic attacks and brings awareness to how panic attacks can be dealt with.

How we built it

The controller was assembled with an Arduino Uno and Arduino Micro, using parts from various kits including a Grover Starter Kit Plus. A Raspberry Pi was set up and booted onto a monitor for display and use. For the game, it was developed with LOVE, a Lua game engine similar to Python's PyGame.

Challenges we ran into

It was difficult finding a game engine to develop a custom game; our first considerations were to modify an existing game to submit for the Education track. After many hours, we were able to learn about LOVE and worked tirelessly to learn the Lua language and LOVE to develop the game. For the controller, many setbacks occurred, including accelerometer drivers that were struggling to communicate with the Arduino board. And the bootloader for the arduino micro becomming corrupted, causing a large delay on getting the HID to communicate properly with the raspberry pi

Accomplishments that we're proud of

Being able to finish the entire system, from the custom controller to the custom game, is an amazing accomplishment we achieved despite the setbacks and delays we had. Furthermore, we are satisfied with having made a successful hardware project that we were all passionate about.

What we learned

We learned what we were capable of, with being able to build things from scratch and to pick up new technologies fast enough for swift development. We also learned more about Lua and LOVE, two fun technologies that were great to work with. There were also the other game frameworks and engines we looked into on the way, including the pvsneslib library that can make custom SNES games.

What's next for P64

We wish to incorporate stronger support for RetroPie, an emulator that runs on Raspbian. With that, we could add more games that are supported by our custom controller, so we can design a fully-functional retro game console. As for the game, we would want to implement more levels to address different mental health issues including depression. In addition, there are so many kinds of additional inputs that we could incorporate into the control and our custom games for increased engagement and accessibility.

Share this project:

Updates