aus dem Wiki des Entropia e.V., CCC Karlsruhe

MagnetoPong 1.png

Ein Entry vom Chaostreff Tübingen 2011 beim GPN11:Gamejam. ClanLib, OpenNi, C++.

MagnetoPong. Wir, der Chaostreff Tübingen, wollten mal was mit der Kinect machen und haben dementsprechend das Thema Magnetismus mit Pong und der Kinectsteuerung gekreuzt. Wie einige GPN-Besucher schon bemerkt haben, ist seit Samstag Nachmittag das Spielen bereits eröffnet. Programmiersprache ist C++, gestartet wurde Donnerstag Abend mit einem mehrstündigen Installationsbattle .. und soviel Code ist es nicht geworden. Viel Spaß beim Spielen und Erweitern! :)

  • License: Creative Commons by-nc-sa
  • Authors: Chaostreff Tübingen 2011 (on GPN11 Karlsruhe 2011).


How to compile


  • Using Kinect: OpenNi with modules: Nite, Sensorkinect
  • C++ lib for gaming purposes: ClanLib version 2.2
  • Using our "make": scons (requires Python 2.7))

Tested on Mint 10, Arch, Fedora 15 64 bit (Repository may contain outdated ClanLib), (Windows 7 OpenNI works, rest has compiling problems)

Not running on OpenSuse 11.3 + old graphic card (outdated python in the repos, OpenGL >2.0 needed)

How to play

MagnetoPong in Action

Get the system running in a not so bright room since sunlight reduces the Kinect`s vision.

Position yourself in the range of the Kinect. Form a psi-like shape so that the Kinect starts to take your measurements. A psi-like shape means you stand straight, face the Kinect and hold your hands up like in the western "Hands up!" Wait till the calibration is finished and a human-like shape appears in the game. (If the calibration seemingly takes too long depending on the abilities of your computer, move a little bit so that the Kinect may understand you as a human to be calibrated.)

The first player will be "right" and plays on the right side, the second player will be "left" etc.

Hand Control

The "right player controls the position of his ball-shaped pole with the right hand relative to the right shoulder and uses the left elbow angle to control its status. The pole`s status is shown as a corona around the players magnet. An elbow angle from 180° to 90° results in a turquoise south pole. An angle below 90° moves the pole towards the north and the angle of nearly 0°C results in a red marked north pole. The "left" player controls the position of his ball-shaped pole in the game with the left hand and uses the right hand to control the pole`s status.

The ball

Besides these two controllable poles in the game, the ball that needs to be moved in MagnetoPong is also a pole. It is initialized each time as an ideal south or north pole (indicated by its color) and needs to be moved to the others player`s field end.

Special move

There is a booster for each player in the game. If the booster is charged (see color bar in the respective player`s corner) the player can "boost" its pole`s might proportional to the distance she/he moves the body up. So jumping up is one possibility to start the boost. Bending knees and then jumping up covers a bigger distance and increases the boost.

Who will find the easter egg?

Calibration of the screen

The game can measure the length of each player`s arm radius to recalibrate the game display. This is done automatically when you stretch your ball moving arm to the left, to the right and back to the left while not moving your shoulder part. Basically the game measures the angle of your elbow here (near 180° degrees) and maps the size of the box to the distance your leading arm can stretch.

Have fun and don't twist your ankles or punch your adversary while playing! :D