Back to Work

13

Pong Steps

Cover image for Pong Steps

About this project

Pong Steps reimagines Pong as an immersive, rhythmic experience, blending music, dance, and movement into an unconventional game controller. Drawing inspiration from Dance Dance Revolution, the controller challenges players to interact through a dance mat that operates on unexpected mechanics. Instead of traditional pressure pads or capacitive touch sensors, ultrasonic distance sensors detect player movements, creating an element of surprise and intrigue. Players must step or wave their feet over specific areas of the mat to move the Pong paddle—three zones correspond to upward movement, and three to downward movement.

To amplify the experience and make it more challenging, the active sensor zones are randomized during gameplay. This forces players to remain agile and responsive, fostering a dynamic interplay between movement and strategy. The mat not only breaks conventional notions of what a game controller can be but also transforms Pong into a high-energy dance experience.

Thematically, the controller celebrates the intersection of music, dance, and gaming, with auditory cues integrated into every action. Each paddle movement is accompanied by a “BEEP” or “BOOP” from the onboard buzzer, creating a “rhythmic” soundtrack for gameplay. This auditory feedback enhances the physicality of the experience, turning it into a playful, full-body performance.

Experience Video

Controller being used in play during the Pong Day Tournament
How to Interact with the Controller
The Controller Paired and ready to start playing
Single controller Tile, with sensor. Lit up and active.

Development Gallery

First Cardboard mock up to proof out concept and test sensor code and interactions
Wiring and randomiser test to ensure connections and sensors were working
Light Tube brightness and alignment test
Pre-paint mockup test to make sure all the components fit together before final fabrication

Code narrative

Pong Steps utilizes ultrasonic distance sensors as the primary input method to detect player inputs. The distance from the sensor is obtained by calculating the time delay of the ultrasonic wave, this distance is then used to determines which sensor position the player has stepped on the mat’s surface.

The sensors with the help of pre-defined distance thresholds based on size of the tiles is set up in the Arduino Code and determine what value to send over bluetooth to the P5.js sketch.

The code also incorporates six LED light strips to indicate the active play zone. The LED are randomized with the help of a random number generator function in such a way that only one sensor per group (up or down) is randomly activated at any given time. The active zones are periodically randomized using a random number generator function.

When a sensor in the “up” group is triggered, the Arduino sends a value of “1” via Bluetooth to move the paddle upward in the Pong game. Similarly, when a sensor in the “down” group is triggered, the paddle moves downward and sends a value of “2”. If nothing is triggered a value of “0” is sent.

Circuit Diagram

Links