Inspiration
Going into the project, we wanted to tackle the beach idea with an interactive, fun game for the users to enjoy. We took inspiration from games such as Kinect on the Xbox 360, Osu!, and Wii Sports, with a simple sports game that the user has to move to interact with, providing an immersive experience.
What it does
This solo HTML file program provides an easy way to start a game with access to a webcam and no other equipment needed, providing alternative controls with mouse and keyboard. The program abstracts all of the input via MediaPipe into position and hand count, then runs different game interactions based on the data. Feedback is constantly provided to the user to keep them engaged and informed.
How we built it
We used MediaPipe for the computer vision input, Sketchfab for the 3d models, YouTube for the background music and crowd ambience, VS Code for general editing, and Claude for general UI and development/backtesting.
Challenges we ran into
User input: We had to decide what to use for input between full-body capture, leaning, and hand signs. We settled on a general and generous reading of hand positions reflected on the screen.
Camera angles: We decided between first person, third person, and different methods of POV-switching to avoid disorienting the players. We settled on smooth camera switches and giving visual cues with character designs, background, and explicit information on the top-right information box.
Variance: Balls that are out of reach or constantly show up in the same spot aren't engaging. We balanced variance by allowing the CPU to give a variety of serves and giving the main three actions (set, spike, dig) generally show up in the same region of the screen (upper or lower).
Feedback: Disorienting camera switches can mislead players if not enough feedback is given. We use explicit instructions and implicit background objects and sounds to keep the player engaged and informed on what stage of the game they are in.
Accomplishments that we're proud of
As a first-time hackathon project, a complete, functional application is a win. On top of that, we got to explore new technologies, overcome different challenges, and improve as engineers (and a singular (1) biology major).
What we learned
We learned a lot about how accessible development and computer vision can be. We learned through our failed ideas and attempts about the different aspects of designing a program and the importance of planning. Also, we got the opportunity to learn how to tweak minor changes in sensitivity and how small changes can affect a larger program.
What's next for NET-Working
We had a lot of features we wanted to implement but did not get to. Our next ideas include a local 1v1 mode, a leaderboard and scores, and online play in ranked/tournament style. We also wanted to improve the UI, character models, and animations.
Built With
- claude
- html
- javascript
- mediapipe
Log in or sign up for Devpost to join the conversation.