Inspiration

The inspiration for Jeremy's Revenge stems from a personal struggle with joint hypermobility and recurring injuries. As a college rec volleyball player, wrist and ankle strains are a frequent obstacle, and, the subsequent physical therapy, while necessary, is often monotonous and difficult to track. We wanted to transform the "chore" of rehabilitation into an engaging experience that resonates with anyone who has ever felt the boredom of a stress ball or repetitive wrist rotations.

What it does

Jeremy’s Revenge is a hardware and software duo. Users interact with a custom-built wheel controller to navigate a digital game where they must dodge attacks from an evil cat named Jeremy. Unlike traditional games, the win condition depends on smooth, slow, and stable motion. To survive, users must hold specific angles for set durations. This directly mimics the controlled movements required in clinical wrist therapy.

How we built it

We utilized an Arduino equipped with an MMA7660 accelerometer and a series of tactile buttons and LEDs. The controller itself is housed in a sustainable and "lo-fi" cardboard enclosure. Communication is handled via UDP over WiFi. This allows the controller to send real-time orientation data to a laptop. The game logic translates these raw accelerometer values into movement. This requires the player to maintain precise physical positioning to progress.

Challenges we ran into

One of our biggest hurdles was handling the sensitivity of the inputs. Initially, holding a button would trigger multiple actions per second. This is known as the "machine gun" effect. We overcame this by implementing State Change Detection in our code. This ensures only the initial press is registered. We also had to find the right balance between game difficulty and therapeutic value. We wanted to make sure the dodging mechanics were fun without causing overexertion.

Accomplishments that we're proud of

We are particularly proud of creating a functional and wireless medical tool using everyday materials like cardboard. Bridging the gap between a breadboard of electronics and a playable game was a massive milestone. We successfully turned a dry medical exercise into a narrative-driven battle that actually makes you want to do your therapy.

What we learned

This project taught us the complexities of Human-Computer Interaction (HCI). We learned that hardware is only as good as the software's ability to interpret it. On the technical side, we gained deep experience in WiFi UDP communication and managing latencies. We also learned the importance of debouncing physical inputs to ensure a smooth user experience.

In addition, neither of us know much about user design, so experimenting in that area was extremely interesting. We did our best to understand cohesiveness in running designs, and specifically how to freehand pixel sprites for animation. It was a very rewarding process for us as beginner designers, and we'll continue to implement new types of design aspects in our projects.

What's next for Jeremy's Revenge

  • Data Persistence: Developing a system to save session scores and stability metrics to track recovery over time.

  • Difficulty Scaling: Implementing an adaptive AI that adjusts Jeremy’s attack speed based on the user's improving range of motion.

  • Mobile Integration: Moving beyond the laptop to make the platform even more portable for athletes on the go.

Built With

Share this project:

Updates