Inspiration
For this project our inspiration came from the retro Legend of Zelda games, with the very basic 4-directional input for movement as well as a very pixelated style of animation/combat. So we decided to implement something similar, except with Joe Miner (Missouri S&T's mascot). Our motive was to implement motion control into a Wii-Nunchuk and make the nunchuk look like a pickaxe that the player can swing in real life.
What it does
Joe Miner can move, swing, and collect points! The game itself is quite simple: Hit as many trees and ores as you can to rack up as many points as possible. A player only has 45 seconds to hit as many trees as they possibly can, and the highest score, like always, wins. In the hardware perspective, the analog stick works with consistency by connecting the controller to the computer (using Bluetooth). Motion Control is still a huge work in progress but some results have been seen.
How we built it
Miner Quest: Adventure was built using Java in IntelliJ IDE. The software components all rest within the IDE, starting from basic movement all the way to designing hitboxes and damage components. The hardware consists of an ESP32, 6V battery pack, toggle switch, the Wii Nunchuk, and standard PERF board material. The pickaxe handle is PVC pipe. The pickaxe head was made with rolled EVA foam inserted and taped into a T joint.
Challenges we ran into
We ran into a variety of challenges throughout this competition. From the software side, it became apparently clear that 1.5 days was not enough time to code a fantasy game involving S&T lore and Joe Miner. The original plan was to include monsters that resembled Starships, as well as include a final boss that would require an entirely different projectile-based battle system. Albeit these elements were certainly doable, it was actually extremely difficult to execute all of these ideas within a day and a half, so we stuck with something simple to get main functionalities working (almost like a beta test). In the hardware perspective, the number one issue was the motion control, which is still an ongoing thing. The motion control tends to work 70% of the time in recognizing input (within the terminal using debugging statements), however the motion of the "swing" still fails to be recognized in game, making it a problem with rendering and interfacing of code.
Accomplishments that we're proud of
Rohit: In the software side, I am extremely proud of the amount of work I've accomplished in making a standardized game system. I am a huge fan of retro games, starting from the early days of Pokémon Red, so making something simple yet effective within this type of genre was actually really rewarding for me.
Dylan: I am really proud of getting Bluetooth to work on the ESP32 board, as well as getting the button mapping to work from the joystick to the ESP32 (properly key binding WASD on a joystick with the ESP32 board using Bluetooth). I am also extremely proud of the pickaxe, as it looks real.
What we learned
We both learned extensively about our respective fields of study after Rohit was tasked with coding and Dylan was tasked with figuring out the connection of the Arduino board and motion control. We both figured out how to effectively debug code as well as some extremely valuable experience in coding as a whole, because we both did not rely on ChatGPT 100% when it came to the final product.
What's next for Miner Quest: Adventure
Motion control will be perfected. Where there is a will, there is a way. On top of that, we also plan to implement a mining and inventory-based system, of which will be a preamble to a more-refined battle system (hopefully involving the starships). Who knows, maybe one day Joe Miner will have to save the Chancellor from the evil AI overlord himself.
Log in or sign up for Devpost to join the conversation.