Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Interactive animation software
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Punch Me If You Can

Interactive animation software

Source Code Repository

Punch Me Server

Android Client

Kinect Adapter Client

Wii Remote Adapter Client

iOS Client


  • a photo being displayed on the screen.
  • the user stands in front of the screen and punch, the photo image being distorted and manipulated
  • the user can also hold different devices and punch (we have implemented Android, iPhone, WiiRemote clients)

System Components

Punch Me Server (ruby event machine on thin) listens for TCP packet and send out PUNCH message to web page thru Web Socket (faye). Project Page


Display Module

  • when the system receives a PUNCH message, image shakes
  • when the system receives a PUNCH message, colourful firework displayed
  • when the system receives a PUNCH message, image is broken into pieces
  • when the system receives a PUNCH message, damage is accumulated and display as HP bar
  • client devices can submit new photo thru TCP and replace the default one

Motion Detection Clients

  • Kinect (OpenNI and NITE), Android, iPhone, WiiRemote (wiigee and bluecove)
  • Detect PUSH and SWIPE gesture
  • sends out PUNCH TCP messages to server

Setup Kinect Libraries on Mac

If you are using Mac 10.8

Follow the steps in the Usage and Install setcion:

append --devel for all the brew install command

If the brew install sensor-kinect fails,

  1. download the binary

  2. compile and install

    sudo ./
  3. link the niReg

    you should see the following error when you manually compile and install sensor-kinect:

    registering module 'libXnDeviceSensorV2KM.dylib' with OpenNI..../ line 111: /usr/bin/niReg: No such file or directory

    link the command line niReg so that the manual install can run:

    sudo ln -s /usr/local/bin/niReg /usr/bin/niReg

    The main reason for doing this is because the niReg is setup when you brew install openni, so the path that the (of sensor-kinect) expecting does not match.

  4. After installing everything, run the sample in:


Team member

Something went wrong with that request. Please try again.