GPN11:Gamejam:MagnetoPong

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


+++ 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! :)

DownloadLink: MagnetoPong Binary: MagnetoPong bin 64bit MagnetoPong bin 32 bit

Im Folgenden unser Readme mit Installationsanleitung sowie eine Erklärung der Steuerung.


Perequisites

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)


Licence:

Creative Commons by-nc-sa

= credits to the authors, only non-commercial use, added code falls under same licence http://creativecommons.org/licenses/by-nc-sa/3.0/

Authors:

Chaostreff Tübingen 2011 (on GPN 11 Karlsruhe 2011)


How to play the game

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