Flashy Bird!

Product Hacking
  • Blends the mechanism of a squishy flashlight, whose energy dissolves in seconds, and the popular game Flappy Bird, creating a harmonious blend of retro arcade fun and traditional technology.
WORK TYPE
Individual work
Designing @UC Berkeley

TIME
Jan 2024 - Feb 2024
1 month
SKILLS
Physical Computing
Circuit Prototyping
3D Modeling
3D Printing
TOOLS
Arduino
Rhino 7

The Retro Collision - squishy flashlight x Flappy Bird

Flashy Bird! is a product hacking project, introducing a unique and immersive gaming experience by integrating a squishy flashlight's dynamic squeeze as the primary interaction mechanism.

The energy from the flashlight directly influences the bird's flight in the Flappy Bird arcade game, fostering a tangible connection between physical actions and on-screen adventure.

Creates a tangible connection between the user's actions and the tactile experience and the on-screen animations.

As the flashlight's energy dissolves in seconds, users can play with the art of timing and control to navigate through randomly generated barriers. Every squeeze becomes a thrilling and responsive gaming experience, bridging the gap between physical touch and digital play.

Discover

How do we perceive the old techniques that are no longer used?

This venture is inspired by the nostalgic and gratifying tactile feedback of squeezing a self-powered flashlight, a sensation ingrained in my memory since childhood. The joy of continually squeezing the handle, keeping the light alive, sparked the idea.

This interaction resonated with the simplicity of another popular game - Flappy Bird, sharing the mutual attribute of requiring continuous pressing to continue.

Define

By repurposing the intuitivity of the past,  this project aimed to create an innovative and engaging fusion of old-school satisfaction and modern gaming excitement.

Develop

The Conversation Across Time - Hacking into and connecting the flashlight to the microcontroller

The self-powered mechanism behind a squishy flashlight is a Dyno Torque, which uses the a gear chain inside to spin the the magnet. Then the copper wires below will generate current through the wire to power up its original LED.  Applying the rule that the resistance value will change according to the voltage of current, I hacked into the flashlight, removed its original LED light and connected to a potentiometer for transmitted data back to an Arduino board.

As for the digital display, the WS2812B LED matrix and the conversion algorithm was adopted. Since the matrix is basically an LED string placed in a snake pattern, it might have some difficulties when performing display moving across columns (e.g. the moving wall), I remapped the digit of the LED string into two arrays: the bird array and the wall array.

The control of "bird"

The bird, depicted by a dot, descends by one digit during each display refresh time unit. Upon detecting a pressing input, characterized by an instantaneous change in the resistance value, the dot elevates, ascending by two digits.

The randomly generated moving wall

To represent the bird, I utilized an array, and similarly, employed an array for the wall. Initiating the "gap" with a random function determined the starting index, and the wall's movement was then dynamically calculated, aligning with the snake pattern of the entire LED matrix.

Collision Detection

Players must avoid collisions, either by falling to the ground or hitting a wall, resulting in a Game Over with a :( face on the screen. Afterward, the arcade returns to an idle state, ready for the next game.

Evaluation & Speculation

Add the point-awarding system

Recognizing that the game currently only displays failures, feedback from users revealed a sense of frustration, especially among those unfamiliar with the game controls. To address this, implementing an awarding or passing system can serve as a motivational element, encouraging novice users to persist the challenge.

Maintain hand-held interaction

The flashlight's satisfying tactile feedback is a key feature, but its table-placed interaction can diminish this sensation. Transforming the design into a hand-held product enhances the tactile stimulation, amplifying the arcade experience.