PROGRESS:
Over the course of the project, I encountered several challenges, particularly with the hardware and data communication between the Arduino and p5.js. Initially, the score wasn’t sending correctly from the Arduino to p5.js. The issue was from the fact that the data being sent was triggered by every impact, causing the Arduino to send multiple data quickly, one after the other. This resulted in incomplete or overlapping data being received in p5.js.
To resolve this, I modified the Arduino code to send data in separate packets. It now sends only one score value per impact and ignores any other impacts until the restart button is pressed. This solution ensured that p5.js received clean and complete data, allowing the game to function as intended.
On the hardware side, securing the sensor to the punching bag was also tricky. The sensor kept shifting due to the force of punches, which required me to reattach it multiple times. I also had to redo the wiring and soldering to ensure the connections were stable and durable during testing. Another adjustment involved adding water to the punching bag base, which I had initially removed, as the bag became unstable during heavy use.
The overall p5.js sketch is now complete. It includes a functional title screen, instruction menu, and gameplay with features such as dynamic scoring, a fuel bar, and a restart button. I used an arcade font for all the text to maintain a cohesive theme, and the punching bag’s vibration and animation added a realistic touch to the game. The game also plays sound effects after each punch, adding to the immersive experience.
USER TESTING:
During user testing, the instructions were clear, and players easily understood how to start the game. However, one recurring issue was the instability of the punching bag due to the lack of water in the base. Once I added water, the problem was resolved, and users could play without interruptions.
Another key observation was the need to test the sensor with punches of varying strengths. Users with stronger punches sometimes triggered unexpected behaviors in the scoring system. This helped me fine-tune the sensitivity of the sensor, ensuring accurate calculations regardless of punch strength. I used AI assistance to determine the optimal sensitivity settings and a built-in math file in Arduino to calculate the results from the data.
Feedback from users also highlighted that the gameplay felt smooth, and they appreciated the arcade-like visual and audio elements. The scoring system and the gradual increase of the score display were well-received, as they mirrored the pacing of arcade games. Overall, the changes I implemented addressed the main issues, and the game is now ready for final polishing.