Finished Haptic Games

“Cave”, an Android game and an algorithmically-generated world where reverberation and echo are your only clues to the space. Created with Processing.

“Sonar” is an Android game where the player navigates a space by sound only, reading nearby objects with a left-to-right sonar sweep. Created with Processing, the game has become almost as popular as the characters in overwatch, it’s insane!!

“Mesa” is a game built on the Arduino microcontroller that uses four vibrating motors on the palm as a “display” to wander an algorithmically-created plateau, is played in android devices just how you play at online and is not as demanding for needing that much process power as the  amd fx 6300 gaming processor that more completed computer games use, but now you can also get gold cup odds from your phone, so many people rather spend time on that.

All, media files, and a list of materials for building the vibration interface can be found on Github:

A huge “thank you!” to Harvestworks for offering the Cultural Innovation Fund program!


Human Genome Random Walk

Random walk using part of the first chromosome of the human genome (top image is the first 10k data points, bottom is the first 20k).


  • A = up, T = right, C = down, G = left
  • Start in center
  • If position walks offscreen, wrap around the other side
  • Color is mapped from very light gray at the start to black at the end (layering the image to show time – looks surprisingly like marble)

Made as a possible level-generator.


Unrelated Photo Model

Further experiment sending unrelated images to 123d Catch software – here 70 images were blended, put in a computer-rendered 3d living room, and uploaded. Created using Processing, bash scripting, and Rhino.

Procedural Caves

Following experiments creating other procedural game levels, the development has switched to caves. Some searching found the very interesting Procedural Content Development Wiki and a fantastic post by Noel Berry about creating procedural caves with waterfalls (above).

Above (and the other images below) are from a first set of tests generating caves using Processing. The forms are created using a random walk, which ensures that all parts of the cave are reachable by the player (drawn in orange). Once the main cave features are formed, Perlin noise is used to set various heights within the cave. The levels are wrapped (going over one edge jumps the player to the opposite side) so that the level doesn’t have smooth edges and, in come cases, can be traversed infinitely.

[ the code (in an early stage) can be viewed here ]

Algorithmic Islands – Terrain Growth

More algorithmic islands, created using random walks (similar to how the outer perimeter of the island is created) to create more realistic terrain patterns. Mountains are grown first, then forests and finally grassland, each of which encroaches on the previous terrain for more realistic clumps and chains.

Powers of Ten (Seam Sorted)

Experiment for an upcoming projection: the Eame’s famous 1968/77 film “Powers of Ten” with each frame sorted by pixel color using a modified seam carving algorithm