SWARM is a motion-controlled mini-game about fireflies.


Within two weeks we created a motion-controlled mini-game: The player is challenged to use his hands in mid-air to control a swarm of fireflies. Apart from learning how to work with a Leap Motion we also learned a lot about designing for gesture-based systems.


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 the right hand focuses the swarm. It is then easier controllable for a short time, but after the a couple of seconds of being focused the fireflies are spread apart.

Within the level there are six “Soundspots”. To activate one of them 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.

When the players gets through to the end with a couple of fireflies left the game shows the score. For every two “Soundspots” activated, there is one medal.


Players quickly get used to navigating their hands in the open space without haptic feedback.

People playing the game are usually challenged by it’s need for multi-tasking: having to control an action with each hand is difficult. Navigating in the open space without haptic feedback takes some time to get used to as well. But once players get the hang of it, they usually become good at it quickly. They start focusing on the game instead of their own movements and forget that this game is controlled by such an unconventional interface. Age doesn’t seem to matter: Younger people might be a bit quicker at gaining a sense of space, but in the end everybody could control the game.


Every firefly is an autonomous agent, but is aware of the other fireflies’ movements.

We developed SWARM 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.

To make the game run in Processing at an acceptable framerate we used Multi-Threading and a self-written performance-optimized collision detection algorithm. The swarm is 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.) There are even dust particles flying around in light beams.


This is a student project created during two weeks in spring 2014 as part of a workshop by Prof. Dr. Franklin Hernández-Castro.

Team partners

Nikolas Klein
Florian Ludwig
Miguel Pawlowski


Processing and JavaScript Code
Product Video

Please note that this project is archived and this page is only kept for documentary purposes. For more current information please refer to my up-to-date website.