Inspiration
Seeing as all of us had experience in both Arduino and game development, we decided to combine the two fields and create a custom game controller for a 2D platformer fighting game!
What it does
SteamPunch uses an Arduino wired to an ultrasonic sensor and and joystick to send player input to the PC's serial terminal. Using vendor IDs and product IDs of the Arduino device, it automatically connects to the correct port without need for manual configuration. These values are put into a Pygame program, and are converted to in-game movements. Whether your swinging your joystick to dodge enemies, or pulling your hand back to charge for an attack, SteamPunch will keep you on your feet in an immersive fighter experience!
How we built it
We used a combination of our own parts, as well as hardware borrowed from the MLH table to assemble the Arduino and sensor system. Using recycled materials such as plastic cups and scrap paper, we covered the board and wires with a Steampunk-styled controller. For the game itself, we coded everything in Pygame, a python library for creating games. The game logic was done by us from scratch, while the assets were taken from various non-copyrighted online sources.
Challenges we ran into
We initially planned to create the game in Unity, but had a hard time creating a communication line between the Arduino values and the Unity game. Eventually, we pivoted to Pygame due to our experience making games with it in the past. We also suffered from many minor problems along the way, from complicated game logic not doing what we wanted, to faulty hardware sending wrong signals to the computer. Through continuous trial and error however, we were able to overcome these challenges
Accomplishments that we're proud of
Although we have experience with Arduino, it was our first time communicating between the Arduino and an external software. The fact that we got it to work was extremely motivating throughout the rest of the hackathon. Overall as a group, we saw immense improvement from a hackathon we did from a month ago, and are excited to participate in more in the future!
What's next for SteamPunch
If we had more time, we would add more sensors to further increase the game's immersion, as well as more enemies and game features!

Log in or sign up for Devpost to join the conversation.