pin(gpong)ball
A customizable projected pinball machine with physical and digital parts, allowing players to set up their own digital pinball machine with real physics.
Client: Parsons School of Design
Year: 2020
Roles: Designer & Creative Technologist

pin(gpong)ball, 2020
A customizable projected pinball machine with physical and digital parts. Players place physical objects on a play surface, and the system projects digital pinball gameplay around them — real physics, real bumpers, real time.
How It Works
Shaped plastic pieces are placed on the projected playfield. A camera uses contour detection (OpenCV in openFrameworks) to identify each piece by its unique area value, then turns those contours into Box2D colliders. Cartoon-style bumpers overlay the physical pieces, giving each object personality. The result: a pinball table you can reconfigure by moving physical things around.
Pieces are detected by unique area values, with range assignment to handle changing light conditions. I also integrated simple Lego-based controllers with buttons attached.
Build Story
Built mostly in a hotel room during quarantine after a flight from NYC — the laser-cut shapes were actually leftovers from the Circular Rhythm Machine project, repurposed as pinball bumpers and targets.
Technical Stack
- OpenFrameworks (C++) with ofxBox2d for real-time physics
- ofxCV + ofKinect for contour detection and object tracking
- ofArduino (StandardFirmata) for hardware experiments
- Projected display over physical play surface
Links
Advisors
Kyle Li, Michael Wolf