Bio

Resume

Blog

DMA


Works

Solo projects

Group projects

Science projects

Coding projects


Links

del.icio.us

sixpli







Human Pong

This is a little interactive game inspired in the classic game of Pong from the early 70s. The idea here is to control the raquets with the spatial position of the human players. Each raquet is controlled by two players, in such a way that the game has a collaborative component: each player controls one of the endpoints of the raquet. If the two players go too far away from each other, then the raquet becames "transparent" and the ball cannot bounce on it.

This work was done at the cheLA (the Centro Hipermediático Experimental LatinoAmericano), using the the MLD system available at CheLA for position tracking.

Thanks to Juan Pablo Ferlat, Paulino Estela and Vanesa Quiroz.

Video (click to download/play)
Video screenshot

Implementation

The game was implemented using Processing, and involved a server and a client components. The machine running the MLD hardware would send the (x,y) tracking data over the serial port. This serial output was read by another machine that converted it into TCP packets that were then retransmitted over the local network. This conversion was handled by the MLDServerTCP program. The client application listened for the packets with the tracking information, and use them to control de raquets and generate the graphics of the game. Click on the links below to download the source code of all these programs:

MLDServerTCP

MLDPong1 (first working version of the game client)

MLDPong2 (much improved version the game client, but wasn't tested)

One complication came from the fact that the image was projected from a side wall, not from the ceiling, so there was a significant distortion. This distortion was corrected by a glsl shader that compensated the perspective deformation of the projection.