SWARM is a motion-controlled mini-game
Processing JavaScript CSS HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
JavaScript
Processing
Readme
License
README.md
prepros.cfg

README.md

SWARM

SWARM is a motion-controlled mini-game. It was created by Nikolas Klein, Miguel Pawlowski, Florian Ludwig and Christoph Labacher within two weeks as part of a workshop by Prof. Dr. Franklin Hernández-Castro in spring 2014 at Hochschule für Gestaltung Schwäbisch Gmünd.

Video: www.vimeo.com/christophlabacher/swarm

There are two versions available: Processing and HTML5/JavaScript.

JavaScript version is a work in progress! It generally works but might not be completly functioning. For progress and to-do see issue-tracking.

Gameplay

A swarm of fireflies is flying through a cave. The user can alter its altitude by moving his right hand up or down. He has to, since the fireflies can get caught on the cave’s walls. Sometimes one has to navigate through narrow spaces – clenching a fist with your right hand focuses the swarm and makes it easier controllable for a short time. After a couple of seconds of being focused the fireflies are being spread apart.

Gameplay

Within the level there are six “Soundspots”. In order to activate one the user has to make a couple of fireflies pass through. Once activated, a layer of sound is starting to play. The aim is to complete the playing piece of music, by activating as many “Soundspots” as possible.

Gameplay

If the player manages to get through to the end of the level with a couple of fireflies left, he is shown his score: for every two “Soundspots” activated, there is one medal.

Technology

SWARM was developed within two weeks as part of a four week workshop. It was first written in Processing, later rewritten in JavaScript. A Leap Motion is used for tracking.

Processing

Collision Detection Collsion detection

To make the game run in Processing at an acceptable framerate we used Multi-Threading and a self-written performance-optimized collision detection algorithm (based on Geomerative).

Swarm Communication Communication within the swarm visualized

The swarm is created by a self-developed particle system with a small amount of swarm-intelligence (the particles are aware of each other and try to mimic one another’s movements.)

The gestures are based on the Leap Motion library for Processing but some of the detection (fist or not fist) is self-written. When no hands or only one hand is detected the game enters a pause-mode.

JavaScript

The JavaScript version was created after the Processing version was finished to tackle a lack of performance. The game was completely rewritten and partly restructured. The collision is this time using Paper.js as a base library. This version is still in development and does not support Leap Motion tracking yet!

Ideas

  • Change resolution for more awsomeness (Ultra widescreen)